From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 9E311158041 for ; Mon, 4 Mar 2024 03:00:51 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 1343F2BC04C; Mon, 4 Mar 2024 03:00:50 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id BF1C92BC04C for ; Mon, 4 Mar 2024 03:00:49 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 868A933FE60 for ; Mon, 4 Mar 2024 03:00:48 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id EC6A811CC for ; Mon, 4 Mar 2024 03:00:46 +0000 (UTC) From: "Sam James" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" Message-ID: <1709521043.741aaf3c9b3093bb21c137f2dd1293ad3b21793b.sam@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/libgcrypt/files/, dev-libs/libgcrypt/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-libs/libgcrypt/Manifest dev-libs/libgcrypt/files/libgcrypt-1.10-build-Allow-build-with-Oz.patch dev-libs/libgcrypt/files/libgcrypt-1.10.1-configure-clang16.patch dev-libs/libgcrypt/files/libgcrypt-1.9.4-arm-neon-compile-fix.patch dev-libs/libgcrypt/libgcrypt-1.10.1-r2.ebuild dev-libs/libgcrypt/libgcrypt-1.10.1-r3.ebuild dev-libs/libgcrypt/libgcrypt-1.10.3.ebuild dev-libs/libgcrypt/libgcrypt-1.9.4-r2.ebuild X-VCS-Directories: dev-libs/libgcrypt/files/ dev-libs/libgcrypt/ X-VCS-Committer: sam X-VCS-Committer-Name: Sam James X-VCS-Revision: 741aaf3c9b3093bb21c137f2dd1293ad3b21793b X-VCS-Branch: master Date: Mon, 4 Mar 2024 03:00:46 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 2b8c26a6-0eb1-42dc-b306-5f4cc7ac6076 X-Archives-Hash: 3ba41fc4dc0219323d72a7faf896f5ac commit: 741aaf3c9b3093bb21c137f2dd1293ad3b21793b Author: Sam James gentoo org> AuthorDate: Mon Mar 4 02:57:23 2024 +0000 Commit: Sam James gentoo org> CommitDate: Mon Mar 4 02:57:23 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=741aaf3c dev-libs/libgcrypt: drop 1.9.4-r2, 1.10.1-r2, 1.10.1-r3, 1.10.3 Signed-off-by: Sam James gentoo.org> dev-libs/libgcrypt/Manifest | 4 - .../libgcrypt-1.10-build-Allow-build-with-Oz.patch | 50 ------ .../files/libgcrypt-1.10.1-configure-clang16.patch | 134 --------------- .../libgcrypt-1.9.4-arm-neon-compile-fix.patch | 44 ----- dev-libs/libgcrypt/libgcrypt-1.10.1-r2.ebuild | 176 -------------------- dev-libs/libgcrypt/libgcrypt-1.10.1-r3.ebuild | 179 -------------------- dev-libs/libgcrypt/libgcrypt-1.10.3.ebuild | 180 --------------------- dev-libs/libgcrypt/libgcrypt-1.9.4-r2.ebuild | 142 ---------------- 8 files changed, 909 deletions(-) diff --git a/dev-libs/libgcrypt/Manifest b/dev-libs/libgcrypt/Manifest index 3160e534cd66..2bbd8c896934 100644 --- a/dev-libs/libgcrypt/Manifest +++ b/dev-libs/libgcrypt/Manifest @@ -1,8 +1,4 @@ -DIST libgcrypt-1.10.1.tar.bz2 3778457 BLAKE2B 46f30459891183b6d9ec18f1c7907fee0ad156c7dd75044f3db2b4d1c19dc6f30b2dfa6f85bc82adc9243aaba913e40fb6faf77d2226ca5a33897220d032437a SHA512 e5ca7966624fff16c3013795836a2c4377f0193dbb4ac5ad2b79654b1fa8992e17d83816569a402212dc8367a7980d4141f5d6ac282bae6b9f02186365b61f13 -DIST libgcrypt-1.10.1.tar.bz2.sig 119 BLAKE2B 5261d7dbfd5d82b2d3fa2ebf864a9ef0c7c978dd66a71c078df7bbb3b63f5d85180e5f909f43a49712fc16c45f7aabaa6bc30ed82a39ffc9a5d483ea6a94d162 SHA512 b156ae05079776698bc95ba5a9e48e95de8f716aa1760ef4b2e7cb8518ccec660337fc7823f865bde870461800d472fd8e458d03a7095b6bb614f6dd96f796d8 DIST libgcrypt-1.10.2.tar.bz2 3795164 BLAKE2B c86b29648664aae3fb694b20ad258828d2cecbb09db2b83df00fbdebd5d74228c92015c50f659c250cb0768ccaef7949294d9b7cdcd47e1387b7dce81d35da19 SHA512 3a850baddfe8ffe8b3e96dc54af3fbb9e1dab204db1f06b9b90b8fbbfb7fb7276260cd1e61ba4dde5a662a2385385007478834e62e95f785d2e3d32652adb29e DIST libgcrypt-1.10.2.tar.bz2.sig 119 BLAKE2B 3753134a1ed1fd2bfd2c64f175c3745db02791359646b3f0229c80ce4ccedbb147ee889a6b8c4fe4bf7e9067d804ee18a8411cd347026cd1656ad1d4d5686bec SHA512 9350444a0bcfa49217815a831f2286ccea470311673257bd809eb5dedbe97d2a5543b0bc7fb752312df69adeb7ac5f064e433f2545a8bf3e494027986cd8020c DIST libgcrypt-1.10.3.tar.bz2 3783827 BLAKE2B 1a228e02820e886016eb55dee75936c4422a15fb4f95a2f9bcd1e4faac4015d4321c7c8d23f164eb08ece5d62935ab3b3d3104eabfdd22db997ab3e5689dfa6f SHA512 8a8d4c61a6622d8481ceb9edc88ec43f58da32e316f79f8d4775325a48f8936aaa9eb355923b39e2c267b784e9c390600daeb62e0c94f00e30bbadb0d8c0865d DIST libgcrypt-1.10.3.tar.bz2.sig 238 BLAKE2B 216baebca91b2e940f60d70a4260b6b6b8221ef88cfb42b020bc7b3743a465ef2cf105316648ed1e689cbbf7d79da421aa9f08b5af21c5b862734cf01f377214 SHA512 73795781a458c334ec6daade1b86ae8b788dd5da0b7198b46b8e54a103c5ec4c65a5dd7e6a9d173d136889f24e7f5721992f59117334f39bd1c8a94e3b55a048 -DIST libgcrypt-1.9.4.tar.bz2 3239704 BLAKE2B b8244bc12a68955797b0c2b474ac5c95df1014231f7180a2ffa113e3aacedc98eed60ee1e4b30b032a5fcd6a04855ae07142c223906d5db9c28328a71e014f33 SHA512 d0e117ac73c94d70e9521ee1e6328691498cc8328f8c4e21338096908f5c04c7b838966eb63d59494565f4e19f506c07dab4f4d922150d75610d9f7b57abbf60 -DIST libgcrypt-1.9.4.tar.bz2.sig 119 BLAKE2B 4012c22259a9fd56f9da6c87d60077cea0dbfef85d4d4ad1ff6a2375ddefafc4cd03ee9083d18e080c14c95887b495062af886732a9593bcf1b8f187d21073fe SHA512 4aee16449b4b50dac62bd80217e769f32f43fb7cd994402b7d9cffbb1934b2771041c8c0c41a63ced9c8d9408025f9c5608ffc7f00e5e9a9b92a07cb5118a98a diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.10-build-Allow-build-with-Oz.patch b/dev-libs/libgcrypt/files/libgcrypt-1.10-build-Allow-build-with-Oz.patch deleted file mode 100644 index c54499e15dba..000000000000 --- a/dev-libs/libgcrypt/files/libgcrypt-1.10-build-Allow-build-with-Oz.patch +++ /dev/null @@ -1,50 +0,0 @@ -https://bugs.gentoo.org/902765 -https://dev.gnupg.org/T6432 -https://dev.gnupg.org/rC7edf1abb9a0d892a80cbf7ab42f64b2720671ee9 - -From 7edf1abb9a0d892a80cbf7ab42f64b2720671ee9 Mon Sep 17 00:00:00 2001 -From: NIIBE Yutaka -Date: Mon, 3 Apr 2023 14:00:15 +0900 -Subject: [PATCH] build: Allow build with -Oz. - -* cipher/Makefile.am [ENABLE_O_FLAG_MUNGING]: Support -Oz. -* random/Makefile.am [ENABLE_O_FLAG_MUNGING]: Support -Oz. - --- - -GnuPG-bug-id: 6432 -Signed-off-by: NIIBE Yutaka ---- - cipher/Makefile.am | 2 +- - random/Makefile.am | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/cipher/Makefile.am b/cipher/Makefile.am -index cf1fbe85..e67b1ee2 100644 ---- a/cipher/Makefile.am -+++ b/cipher/Makefile.am -@@ -165,7 +165,7 @@ gost-s-box$(EXEEXT_FOR_BUILD): gost-s-box.c - - - if ENABLE_O_FLAG_MUNGING --o_flag_munging = sed -e 's/-O\([2-9sg][2-9sg]*\)/-O1/' -e 's/-Ofast/-O1/g' -+o_flag_munging = sed -e 's/-O\([2-9sgz][2-9sgz]*\)/-O1/' -e 's/-Ofast/-O1/g' - else - o_flag_munging = cat - endif -diff --git a/random/Makefile.am b/random/Makefile.am -index af978570..0c935a05 100644 ---- a/random/Makefile.am -+++ b/random/Makefile.am -@@ -56,7 +56,7 @@ jitterentropy-base.c jitterentropy.h jitterentropy-base-user.h - - # The rndjent module needs to be compiled without optimization. */ - if ENABLE_O_FLAG_MUNGING --o_flag_munging = sed -e 's/-O\([1-9sg][1-9sg]*\)/-O0/g' -e 's/-Ofast/-O0/g' -+o_flag_munging = sed -e 's/-O\([1-9sgz][1-9sgz]*\)/-O0/g' -e 's/-Ofast/-O0/g' - else - o_flag_munging = cat - endif --- -2.40.0 - diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.10.1-configure-clang16.patch b/dev-libs/libgcrypt/files/libgcrypt-1.10.1-configure-clang16.patch deleted file mode 100644 index fa80c999a3aa..000000000000 --- a/dev-libs/libgcrypt/files/libgcrypt-1.10.1-configure-clang16.patch +++ /dev/null @@ -1,134 +0,0 @@ -https://lists.gnupg.org/pipermail/gcrypt-devel/2022-December/005410.html - ---- a/configure.ac -+++ b/configure.ac -@@ -1211,7 +1211,8 @@ AC_CACHE_CHECK([whether GCC assembler is compatible for ARM assembly implementat - /* Test if '.type' and '.size' are supported. */ - ".size asmfunc,.-asmfunc;\n\t" - ".type asmfunc,%function;\n\t" -- );]], [ asmfunc(); ] )], -+ ); -+ void asmfunc(void);]], [ asmfunc(); ] )], - [gcry_cv_gcc_arm_platform_as_ok=yes]) - fi]) - if test "$gcry_cv_gcc_arm_platform_as_ok" = "yes" ; then -@@ -1238,7 +1239,8 @@ AC_CACHE_CHECK([whether GCC assembler is compatible for ARMv8/Aarch64 assembly i - "eor x0, x0, x30, ror #12;\n\t" - "add x0, x0, x30, asr #12;\n\t" - "eor v0.16b, v0.16b, v31.16b;\n\t" -- );]], [ asmfunc(); ] )], -+ ); -+ void asmfunc(void);]], [ asmfunc(); ] )], - [gcry_cv_gcc_aarch64_platform_as_ok=yes]) - fi]) - if test "$gcry_cv_gcc_aarch64_platform_as_ok" = "yes" ; then -@@ -1267,7 +1269,8 @@ AC_CACHE_CHECK([whether GCC assembler supports for CFI directives], - ".cfi_restore_state\n\t" - ".long 0\n\t" - ".cfi_endproc\n\t" -- );]])], -+ ); -+ void asmfunc(void)]])], - [gcry_cv_gcc_asm_cfi_directives=yes])]) - if test "$gcry_cv_gcc_asm_cfi_directives" = "yes" ; then - AC_DEFINE(HAVE_GCC_ASM_CFI_DIRECTIVES,1, -@@ -1666,7 +1669,8 @@ if test $amd64_as_feature_detection = yes; then - [gcry_cv_gcc_as_const_division_ok], - [gcry_cv_gcc_as_const_division_ok=no - AC_LINK_IFELSE([AC_LANG_PROGRAM( -- [[__asm__(".text\n\tfn:\n\t xorl \$(123456789/12345678), %ebp;\n\t");]], -+ [[__asm__(".text\n\tfn:\n\t xorl \$(123456789/12345678), %ebp;\n\t"); -+ void fn(void);]], - [fn();])], - [gcry_cv_gcc_as_const_division_ok=yes])]) - if test "$gcry_cv_gcc_as_const_division_ok" = "no" ; then -@@ -1679,7 +1683,8 @@ if test $amd64_as_feature_detection = yes; then - [gcry_cv_gcc_as_const_division_with_wadivide_ok], - [gcry_cv_gcc_as_const_division_with_wadivide_ok=no - AC_LINK_IFELSE([AC_LANG_PROGRAM( -- [[__asm__(".text\n\tfn:\n\t xorl \$(123456789/12345678), %ebp;\n\t");]], -+ [[__asm__(".text\n\tfn:\n\t xorl \$(123456789/12345678), %ebp;\n\t"); -+ void fn(void);]], - [fn();])], - [gcry_cv_gcc_as_const_division_with_wadivide_ok=yes])]) - if test "$gcry_cv_gcc_as_const_division_with_wadivide_ok" = "no" ; then -@@ -1715,7 +1720,8 @@ if test $amd64_as_feature_detection = yes; then - * and "-Wa,--divide" workaround failed, this causes assembly - * to be disable on this machine. */ - "xorl \$(123456789/12345678), %ebp;\n\t" -- );]], [ asmfunc(); ])], -+ ); -+ void asmfunc(void);]], [ asmfunc(); ])], - [gcry_cv_gcc_amd64_platform_as_ok=yes]) - fi]) - if test "$gcry_cv_gcc_amd64_platform_as_ok" = "yes" ; then -@@ -1734,7 +1740,8 @@ if test $amd64_as_feature_detection = yes; then - ".globl asmfunc\n\t" - "asmfunc:\n\t" - "xorq \$(1234), %rbp;\n\t" -- );]], [ asmfunc(); ])], -+ ); -+ void asmfunc(void);]], [ asmfunc(); ])], - [gcry_cv_gcc_win64_platform_as_ok=yes])]) - if test "$gcry_cv_gcc_win64_platform_as_ok" = "yes" ; then - AC_DEFINE(HAVE_COMPATIBLE_GCC_WIN64_PLATFORM_AS,1, -@@ -1767,7 +1774,8 @@ AC_CACHE_CHECK([whether GCC assembler is compatible for Intel syntax assembly im - "sub eax, [esp + 4];\n\t" - "add dword ptr [esp + eax], 0b10101;\n\t" - ".att_syntax prefix\n\t" -- );]], [ actest(); ])], -+ ); -+ void actest(void);]], [ actest(); ])], - [gcry_cv_gcc_platform_as_ok_for_intel_syntax=yes]) - fi]) - if test "$gcry_cv_gcc_platform_as_ok_for_intel_syntax" = "yes" ; then -@@ -1832,6 +1840,7 @@ AC_CACHE_CHECK([whether GCC inline assembler supports NEON instructions], - "vadd.u64 %q0, %q1;\n\t" - "vadd.s64 %d3, %d2, %d3;\n\t" - ); -+ void testfn(void); - ]], [ testfn(); ])], - [gcry_cv_gcc_inline_asm_neon=yes]) - fi]) -@@ -1879,6 +1888,7 @@ AC_CACHE_CHECK([whether GCC inline assembler supports AArch32 Crypto Extension i - - "vmull.p64 q0, d0, d0;\n\t" - ); -+ void testfn(void); - ]], [ testfn(); ])], - [gcry_cv_gcc_inline_asm_aarch32_crypto=yes]) - fi]) -@@ -1907,6 +1917,7 @@ AC_CACHE_CHECK([whether GCC inline assembler supports AArch64 NEON instructions] - "dup v0.8b, w0;\n\t" - "ld4 {v0.8b,v1.8b,v2.8b,v3.8b},[x0],\#32;\n\t" - ); -+ void testfn(void); - ]], [ testfn(); ])], - [gcry_cv_gcc_inline_asm_aarch64_neon=yes]) - fi]) -@@ -1955,6 +1966,7 @@ AC_CACHE_CHECK([whether GCC inline assembler supports AArch64 Crypto Extension i - "pmull v0.1q, v0.1d, v31.1d;\n\t" - "pmull2 v0.1q, v0.2d, v31.2d;\n\t" - ); -+ void testfn(void); - ]], [ testfn(); ])], - [gcry_cv_gcc_inline_asm_aarch64_crypto=yes]) - fi]) -@@ -2050,6 +2062,7 @@ AC_CACHE_CHECK([whether GCC inline assembler supports PowerPC AltiVec/VSX/crypto - "vshasigmad %v0, %v1, 0, 15;\n" - "vpmsumd %v11, %v11, %v11;\n" - ); -+ void testfn(void); - ]], [ testfn(); ] )], - [gcry_cv_gcc_inline_asm_ppc_altivec=yes]) - fi]) -@@ -2075,6 +2088,7 @@ AC_CACHE_CHECK([whether GCC inline assembler supports PowerISA 3.00 instructions - "testfn:\n" - "stxvb16x %r1,%v12,%v30;\n" - ); -+ void testfn(void); - ]], [ testfn(); ])], - [gcry_cv_gcc_inline_asm_ppc_arch_3_00=yes]) - fi]) - - diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.9.4-arm-neon-compile-fix.patch b/dev-libs/libgcrypt/files/libgcrypt-1.9.4-arm-neon-compile-fix.patch deleted file mode 100644 index a42b0e89008a..000000000000 --- a/dev-libs/libgcrypt/files/libgcrypt-1.9.4-arm-neon-compile-fix.patch +++ /dev/null @@ -1,44 +0,0 @@ -https://lists.gnupg.org/pipermail/gcrypt-devel/2022-January/005224.html - -From bc0b82ad8201a4d7bffa3cf0f5504b72c1011cb1 Mon Sep 17 00:00:00 2001 -From: Sam James -Date: Tue, 18 Jan 2022 12:44:22 +0000 -Subject: [PATCH] cipher/cipher-gcm: fix build failure on ARM NEON - -'features' is only defined when relevant CPU features are found, but -one of the uses below its definition checked for GCM_USE_ARM_NEON which -wasn't in the guard above it. - -i.e. We used to only define 'features' when: -- GCM_USE_INTEL_PCLMUL -- GCM_USE_ARM_PMULL -- GCM_USE_S390X_CRYPTO -- GCM_USE_PPC_VPMSUM -- GCM_USE_S390X_CRYPTO -- GCM_USE_PPC_VPMSUM -is set. - -We were missing GCM_USE_ARM_NEON so when we check for GCM_USE_ARM_NEON -below, it'd fail as features wasn't defined. - -Bug: https://bugs.gentoo.org/831397 ---- - cipher/cipher-gcm.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/cipher/cipher-gcm.c b/cipher/cipher-gcm.c -index a039c5e9..22834f35 100644 ---- a/cipher/cipher-gcm.c -+++ b/cipher/cipher-gcm.c -@@ -583,7 +583,8 @@ static void - setupM (gcry_cipher_hd_t c) - { - #if defined(GCM_USE_INTEL_PCLMUL) || defined(GCM_USE_ARM_PMULL) || \ -- defined(GCM_USE_S390X_CRYPTO) || defined(GCM_USE_PPC_VPMSUM) -+ defined(GCM_USE_ARM_NEON) || defined(GCM_USE_S390X_CRYPTO) || \ -+ defined(GCM_USE_PPC_VPMSUM) - unsigned int features = _gcry_get_hw_features (); - #endif - --- -2.34.1 diff --git a/dev-libs/libgcrypt/libgcrypt-1.10.1-r2.ebuild b/dev-libs/libgcrypt/libgcrypt-1.10.1-r2.ebuild deleted file mode 100644 index 3a7388fc7e25..000000000000 --- a/dev-libs/libgcrypt/libgcrypt-1.10.1-r2.ebuild +++ /dev/null @@ -1,176 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc -inherit autotools flag-o-matic linux-info multilib-minimal toolchain-funcs verify-sig - -DESCRIPTION="General purpose crypto library based on the code used in GnuPG" -HOMEPAGE="https://www.gnupg.org/" -SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2" -SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" - -LICENSE="LGPL-2.1+ GPL-2+ MIT" -SLOT="0/20" # subslot = soname major version -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="+asm cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 cpu_flags_ppc_vsx3 cpu_flags_x86_aes cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_padlock cpu_flags_x86_sha cpu_flags_x86_sse4_1 doc +getentropy static-libs" - -# Build system only has --disable-arm-crypto-support right now -# If changing this, update src_configure logic too. -# ARM CPUs seem to, right now, support all-or-nothing for crypto extensions, -# but this looks like it might change in future. This is just a safety check -# in case people somehow do have a CPU which only supports some. They must -# for now disable them all if that's the case. -REQUIRED_USE=" - cpu_flags_arm_aes? ( cpu_flags_arm_sha1 cpu_flags_arm_sha2 ) - cpu_flags_arm_sha1? ( cpu_flags_arm_aes cpu_flags_arm_sha2 ) - cpu_flags_arm_sha2? ( cpu_flags_arm_aes cpu_flags_arm_sha1 ) - cpu_flags_ppc_vsx3? ( cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 ) - cpu_flags_ppc_vsx2? ( cpu_flags_ppc_altivec ) -" - -RDEPEND=">=dev-libs/libgpg-error-1.25[${MULTILIB_USEDEP}] - getentropy? ( - kernel_linux? ( - elibc_glibc? ( >=sys-libs/glibc-2.25 ) - elibc_musl? ( >=sys-libs/musl-1.1.20 ) - ) - )" -DEPEND="${RDEPEND}" -BDEPEND="doc? ( virtual/texi2dvi ) - verify-sig? ( sec-keys/openpgp-keys-gnupg )" - -PATCHES=( - "${FILESDIR}"/${PN}-multilib-syspath.patch - "${FILESDIR}"/${PN}-powerpc-darwin.patch - "${FILESDIR}"/${PN}-1.10.1-fix-no-asm-hppa.patch - "${FILESDIR}"/${PN}-1.9.4-no-fgrep-libgcrypt-config.patch -) - -MULTILIB_CHOST_TOOLS=( - /usr/bin/libgcrypt-config -) - -pkg_pretend() { - if [[ ${MERGE_TYPE} == buildonly ]]; then - return - fi - if use kernel_linux && use getentropy; then - unset KV_FULL - get_running_version - if [[ -n ${KV_FULL} ]] && kernel_is -lt 3 17; then - eerror "The getentropy function requires the getrandom syscall." - eerror "This was introduced in Linux 3.17." - eerror "Your system is currently running Linux ${KV_FULL}." - eerror "Disable the 'getentropy' USE flag or upgrade your kernel." - die "Kernel is too old for getentropy" - fi - fi -} - -pkg_setup() { - : -} - -src_prepare() { - default - eautoreconf -} - -multilib_src_configure() { - if [[ ${CHOST} == *86*-solaris* ]] ; then - # ASM code uses GNU ELF syntax, divide in particular, we need to - # allow this via ASFLAGS, since we don't have a flag-o-matic - # function for that, we'll have to abuse cflags for this - append-cflags -Wa,--divide - fi - - if [[ ${CHOST} == powerpc* ]] ; then - # ./configure does a lot of automagic, prevent that - # generic ppc32+ppc64 altivec - use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec=no - use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec_cflags=no - # power8 vector extension, aka arch 2.07 ISA, also checked below via ppc-crypto-support - use cpu_flags_ppc_vsx2 || local -x gcry_cv_gcc_inline_asm_ppc_altivec=no - # power9 vector extension, aka arch 3.00 ISA - use cpu_flags_ppc_vsx3 || local -x gcry_cv_gcc_inline_asm_ppc_arch_3_00=no - fi - - # Workaround for GCC < 11.3 bug - # https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commitdiff;h=0b399721ce9709ae25f9d2050360c5ab2115ae29 - # https://dev.gnupg.org/T5581 - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102124 - if use arm64 && tc-is-gcc && (($(gcc-major-version) == 11)) && (($(gcc-minor-version) <= 2)) && (($(gcc-micro-version) == 0)) ; then - append-flags -fno-tree-loop-vectorize - fi - - # ideally we want !tc-ld-is-bfd for best future-proofing, but it needs - # https://github.com/gentoo/gentoo/pull/28355 - # mold needs this too but right now tc-ld-is-mold is also not available - if tc-ld-is-lld; then - append-ldflags -Wl,--undefined-version - fi - - local myeconfargs=( - CC_FOR_BUILD="$(tc-getBUILD_CC)" - - --enable-noexecstack - $(use_enable cpu_flags_arm_neon neon-support) - # See REQUIRED_USE comment above - $(use_enable cpu_flags_arm_aes arm-crypto-support) - $(use_enable cpu_flags_ppc_vsx2 ppc-crypto-support) - $(use_enable cpu_flags_x86_aes aesni-support) - $(use_enable cpu_flags_x86_avx avx-support) - $(use_enable cpu_flags_x86_avx2 avx2-support) - $(use_enable cpu_flags_x86_padlock padlock-support) - $(use_enable cpu_flags_x86_sha shaext-support) - $(use_enable cpu_flags_x86_sse4_1 sse41-support) - # required for sys-power/suspend[crypt], bug 751568 - $(use_enable static-libs static) - - # disabled due to various applications requiring privileges - # after libgcrypt drops them (bug #468616) - --without-capabilities - - # http://trac.videolan.org/vlc/ticket/620 - $([[ ${CHOST} == *86*-darwin* ]] && echo "--disable-asm") - - $(use asm || echo "--disable-asm") - - GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config" - ) - - if use kernel_linux; then - # --enable-random=getentropy requires getentropy/getrandom. - # --enable-random=linux enables legacy code that tries getrandom - # and falls back to reading /dev/random. - myeconfargs+=( --enable-random=$(usex getentropy getentropy linux) ) - fi - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" \ - $("${S}/configure" --help | grep -o -- '--without-.*-prefix') -} - -multilib_src_compile() { - default - multilib_is_native_abi && use doc && VARTEXFONTS="${T}/fonts" emake -C doc gcrypt.pdf -} - -multilib_src_test() { - # t-secmem and t-sexp need mlock which requires extra privileges; nspawn - # at least disallows that by default. - local -x GCRYPT_IN_ASAN_TEST=1 - - default -} - -multilib_src_install() { - emake DESTDIR="${D}" install - multilib_is_native_abi && use doc && dodoc doc/gcrypt.pdf -} - -multilib_src_install_all() { - default - find "${ED}" -type f -name '*.la' -delete || die -} diff --git a/dev-libs/libgcrypt/libgcrypt-1.10.1-r3.ebuild b/dev-libs/libgcrypt/libgcrypt-1.10.1-r3.ebuild deleted file mode 100644 index f1b329ab792a..000000000000 --- a/dev-libs/libgcrypt/libgcrypt-1.10.1-r3.ebuild +++ /dev/null @@ -1,179 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc -inherit autotools flag-o-matic linux-info multilib-minimal toolchain-funcs verify-sig - -DESCRIPTION="General purpose crypto library based on the code used in GnuPG" -HOMEPAGE="https://www.gnupg.org/" -SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2" -SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" - -LICENSE="LGPL-2.1+ GPL-2+ MIT" -SLOT="0/20" # subslot = soname major version -KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="+asm cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 cpu_flags_ppc_vsx3 cpu_flags_x86_aes cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_padlock cpu_flags_x86_sha cpu_flags_x86_sse4_1 doc +getentropy static-libs" - -# Build system only has --disable-arm-crypto-support right now -# If changing this, update src_configure logic too. -# ARM CPUs seem to, right now, support all-or-nothing for crypto extensions, -# but this looks like it might change in future. This is just a safety check -# in case people somehow do have a CPU which only supports some. They must -# for now disable them all if that's the case. -REQUIRED_USE=" - cpu_flags_arm_aes? ( cpu_flags_arm_sha1 cpu_flags_arm_sha2 ) - cpu_flags_arm_sha1? ( cpu_flags_arm_aes cpu_flags_arm_sha2 ) - cpu_flags_arm_sha2? ( cpu_flags_arm_aes cpu_flags_arm_sha1 ) - cpu_flags_ppc_vsx3? ( cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 ) - cpu_flags_ppc_vsx2? ( cpu_flags_ppc_altivec ) -" - -RDEPEND=">=dev-libs/libgpg-error-1.25[${MULTILIB_USEDEP}] - getentropy? ( - kernel_linux? ( - elibc_glibc? ( >=sys-libs/glibc-2.25 ) - elibc_musl? ( >=sys-libs/musl-1.1.20 ) - ) - )" -DEPEND="${RDEPEND}" -BDEPEND="doc? ( virtual/texi2dvi ) - verify-sig? ( sec-keys/openpgp-keys-gnupg )" - -PATCHES=( - "${FILESDIR}"/${PN}-multilib-syspath.patch - "${FILESDIR}"/${PN}-powerpc-darwin.patch - "${FILESDIR}"/${PN}-1.10.1-fix-no-asm-hppa.patch - "${FILESDIR}"/${PN}-1.9.4-no-fgrep-libgcrypt-config.patch - "${FILESDIR}"/${PN}-1.10.1-configure-clang16.patch - "${FILESDIR}"/libgcrypt-1.10-build-Allow-build-with-Oz.patch -) - -MULTILIB_CHOST_TOOLS=( - /usr/bin/libgcrypt-config -) - -pkg_pretend() { - if [[ ${MERGE_TYPE} == buildonly ]]; then - return - fi - if use kernel_linux && use getentropy; then - unset KV_FULL - get_running_version - if [[ -n ${KV_FULL} ]] && kernel_is -lt 3 17; then - eerror "The getentropy function requires the getrandom syscall." - eerror "This was introduced in Linux 3.17." - eerror "Your system is currently running Linux ${KV_FULL}." - eerror "Disable the 'getentropy' USE flag or upgrade your kernel." - die "Kernel is too old for getentropy" - fi - fi -} - -pkg_setup() { - : -} - -src_prepare() { - default - eautoreconf -} - -multilib_src_configure() { - if [[ ${CHOST} == *86*-solaris* ]] ; then - # ASM code uses GNU ELF syntax, divide in particular, we need to - # allow this via ASFLAGS, since we don't have a flag-o-matic - # function for that, we'll have to abuse cflags for this - append-cflags -Wa,--divide - fi - - if [[ ${CHOST} == powerpc* ]] ; then - # ./configure does a lot of automagic, prevent that - # generic ppc32+ppc64 altivec - use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec=no - use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec_cflags=no - # power8 vector extension, aka arch 2.07 ISA, also checked below via ppc-crypto-support - use cpu_flags_ppc_vsx2 || local -x gcry_cv_gcc_inline_asm_ppc_altivec=no - # power9 vector extension, aka arch 3.00 ISA - use cpu_flags_ppc_vsx3 || local -x gcry_cv_gcc_inline_asm_ppc_arch_3_00=no - fi - - # Workaround for GCC < 11.3 bug - # https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commitdiff;h=0b399721ce9709ae25f9d2050360c5ab2115ae29 - # https://dev.gnupg.org/T5581 - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102124 - if use arm64 && tc-is-gcc && (($(gcc-major-version) == 11)) && - (($(gcc-minor-version) <= 2)) && (($(gcc-micro-version) == 0)) ; then - append-flags -fno-tree-loop-vectorize - fi - - # ideally we want !tc-ld-is-bfd for best future-proofing, but it needs - # https://github.com/gentoo/gentoo/pull/28355 - # mold needs this too but right now tc-ld-is-mold is also not available - if tc-ld-is-lld; then - append-ldflags -Wl,--undefined-version - fi - - local myeconfargs=( - CC_FOR_BUILD="$(tc-getBUILD_CC)" - - --enable-noexecstack - $(use_enable cpu_flags_arm_neon neon-support) - # See REQUIRED_USE comment above - $(use_enable cpu_flags_arm_aes arm-crypto-support) - $(use_enable cpu_flags_ppc_vsx2 ppc-crypto-support) - $(use_enable cpu_flags_x86_aes aesni-support) - $(use_enable cpu_flags_x86_avx avx-support) - $(use_enable cpu_flags_x86_avx2 avx2-support) - $(use_enable cpu_flags_x86_padlock padlock-support) - $(use_enable cpu_flags_x86_sha shaext-support) - $(use_enable cpu_flags_x86_sse4_1 sse41-support) - # required for sys-power/suspend[crypt], bug 751568 - $(use_enable static-libs static) - - # disabled due to various applications requiring privileges - # after libgcrypt drops them (bug #468616) - --without-capabilities - - # http://trac.videolan.org/vlc/ticket/620 - $([[ ${CHOST} == *86*-darwin* ]] && echo "--disable-asm") - - $(use asm || echo "--disable-asm") - - GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config" - ) - - if use kernel_linux; then - # --enable-random=getentropy requires getentropy/getrandom. - # --enable-random=linux enables legacy code that tries getrandom - # and falls back to reading /dev/random. - myeconfargs+=( --enable-random=$(usex getentropy getentropy linux) ) - fi - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" \ - $("${S}/configure" --help | grep -o -- '--without-.*-prefix') -} - -multilib_src_compile() { - default - multilib_is_native_abi && use doc && VARTEXFONTS="${T}/fonts" emake -C doc gcrypt.pdf -} - -multilib_src_test() { - # t-secmem and t-sexp need mlock which requires extra privileges; nspawn - # at least disallows that by default. - local -x GCRYPT_IN_ASAN_TEST=1 - - default -} - -multilib_src_install() { - emake DESTDIR="${D}" install - multilib_is_native_abi && use doc && dodoc doc/gcrypt.pdf -} - -multilib_src_install_all() { - default - find "${ED}" -type f -name '*.la' -delete || die -} diff --git a/dev-libs/libgcrypt/libgcrypt-1.10.3.ebuild b/dev-libs/libgcrypt/libgcrypt-1.10.3.ebuild deleted file mode 100644 index 38219a2d1a3b..000000000000 --- a/dev-libs/libgcrypt/libgcrypt-1.10.3.ebuild +++ /dev/null @@ -1,180 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc -inherit autotools flag-o-matic linux-info multilib-minimal toolchain-funcs verify-sig - -DESCRIPTION="General purpose crypto library based on the code used in GnuPG" -HOMEPAGE="https://www.gnupg.org/" -SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2" -SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" - -LICENSE="LGPL-2.1+ GPL-2+ MIT" -SLOT="0/20" # subslot = soname major version -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="+asm cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 cpu_flags_ppc_vsx3 cpu_flags_x86_aes cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_padlock cpu_flags_x86_sha cpu_flags_x86_sse4_1 doc +getentropy static-libs" - -# Build system only has --disable-arm-crypto-support right now -# If changing this, update src_configure logic too. -# ARM CPUs seem to, right now, support all-or-nothing for crypto extensions, -# but this looks like it might change in future. This is just a safety check -# in case people somehow do have a CPU which only supports some. They must -# for now disable them all if that's the case. -REQUIRED_USE=" - cpu_flags_arm_aes? ( cpu_flags_arm_sha1 cpu_flags_arm_sha2 ) - cpu_flags_arm_sha1? ( cpu_flags_arm_aes cpu_flags_arm_sha2 ) - cpu_flags_arm_sha2? ( cpu_flags_arm_aes cpu_flags_arm_sha1 ) - cpu_flags_ppc_vsx3? ( cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 ) - cpu_flags_ppc_vsx2? ( cpu_flags_ppc_altivec ) -" - -RDEPEND=" - >=dev-libs/libgpg-error-1.25[${MULTILIB_USEDEP}] - getentropy? ( - kernel_linux? ( - elibc_glibc? ( >=sys-libs/glibc-2.25 ) - elibc_musl? ( >=sys-libs/musl-1.1.20 ) - ) - ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - doc? ( virtual/texi2dvi ) - verify-sig? ( sec-keys/openpgp-keys-gnupg ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-multilib-syspath.patch - "${FILESDIR}"/${PN}-powerpc-darwin.patch - "${FILESDIR}"/${PN}-1.9.4-no-fgrep-libgcrypt-config.patch -) - -MULTILIB_CHOST_TOOLS=( - /usr/bin/libgcrypt-config -) - -pkg_pretend() { - if [[ ${MERGE_TYPE} == buildonly ]]; then - return - fi - if use kernel_linux && use getentropy; then - unset KV_FULL - get_running_version - if [[ -n ${KV_FULL} ]] && kernel_is -lt 3 17; then - eerror "The getentropy function requires the getrandom syscall." - eerror "This was introduced in Linux 3.17." - eerror "Your system is currently running Linux ${KV_FULL}." - eerror "Disable the 'getentropy' USE flag or upgrade your kernel." - die "Kernel is too old for getentropy" - fi - fi -} - -pkg_setup() { - : -} - -src_prepare() { - default - eautoreconf -} - -multilib_src_configure() { - if [[ ${CHOST} == *86*-solaris* ]] ; then - # ASM code uses GNU ELF syntax, divide in particular, we need to - # allow this via ASFLAGS, since we don't have a flag-o-matic - # function for that, we'll have to abuse cflags for this - append-cflags -Wa,--divide - fi - - if [[ ${CHOST} == powerpc* ]] ; then - # ./configure does a lot of automagic, prevent that - # generic ppc32+ppc64 altivec - use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec=no - use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec_cflags=no - # power8 vector extension, aka arch 2.07 ISA, also checked below via ppc-crypto-support - use cpu_flags_ppc_vsx2 || local -x gcry_cv_gcc_inline_asm_ppc_altivec=no - # power9 vector extension, aka arch 3.00 ISA - use cpu_flags_ppc_vsx3 || local -x gcry_cv_gcc_inline_asm_ppc_arch_3_00=no - fi - - # Workaround for GCC < 11.3 bug - # https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commitdiff;h=0b399721ce9709ae25f9d2050360c5ab2115ae29 - # https://dev.gnupg.org/T5581 - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102124 - if use arm64 && tc-is-gcc && (($(gcc-major-version) == 11)) && - (($(gcc-minor-version) <= 2)) && (($(gcc-micro-version) == 0)) ; then - append-flags -fno-tree-loop-vectorize - fi - - # ideally we want !tc-ld-is-bfd for best future-proofing, but it needs - # https://github.com/gentoo/gentoo/pull/28355 - # mold needs this too but right now tc-ld-is-mold is also not available - if tc-ld-is-lld; then - append-ldflags -Wl,--undefined-version - fi - - local myeconfargs=( - CC_FOR_BUILD="$(tc-getBUILD_CC)" - - --enable-noexecstack - $(use_enable cpu_flags_arm_neon neon-support) - # See REQUIRED_USE comment above - $(use_enable cpu_flags_arm_aes arm-crypto-support) - $(use_enable cpu_flags_ppc_vsx2 ppc-crypto-support) - $(use_enable cpu_flags_x86_aes aesni-support) - $(use_enable cpu_flags_x86_avx avx-support) - $(use_enable cpu_flags_x86_avx2 avx2-support) - $(use_enable cpu_flags_x86_padlock padlock-support) - $(use_enable cpu_flags_x86_sha shaext-support) - $(use_enable cpu_flags_x86_sse4_1 sse41-support) - # required for sys-power/suspend[crypt], bug 751568 - $(use_enable static-libs static) - - # disabled due to various applications requiring privileges - # after libgcrypt drops them (bug #468616) - --without-capabilities - - # http://trac.videolan.org/vlc/ticket/620 - $([[ ${CHOST} == *86*-darwin* ]] && echo "--disable-asm") - - $(use asm || echo "--disable-asm") - - GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config" - ) - - if use kernel_linux; then - # --enable-random=getentropy requires getentropy/getrandom. - # --enable-random=linux enables legacy code that tries getrandom - # and falls back to reading /dev/random. - myeconfargs+=( --enable-random=$(usex getentropy getentropy linux) ) - fi - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" \ - $("${S}/configure" --help | grep -o -- '--without-.*-prefix') -} - -multilib_src_compile() { - default - multilib_is_native_abi && use doc && VARTEXFONTS="${T}/fonts" emake -C doc gcrypt.pdf -} - -multilib_src_test() { - # t-secmem and t-sexp need mlock which requires extra privileges; nspawn - # at least disallows that by default. - local -x GCRYPT_IN_ASAN_TEST=1 - - default -} - -multilib_src_install() { - emake DESTDIR="${D}" install - multilib_is_native_abi && use doc && dodoc doc/gcrypt.pdf -} - -multilib_src_install_all() { - default - find "${ED}" -type f -name '*.la' -delete || die -} diff --git a/dev-libs/libgcrypt/libgcrypt-1.9.4-r2.ebuild b/dev-libs/libgcrypt/libgcrypt-1.9.4-r2.ebuild deleted file mode 100644 index 18c1f9495d87..000000000000 --- a/dev-libs/libgcrypt/libgcrypt-1.9.4-r2.ebuild +++ /dev/null @@ -1,142 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc -inherit autotools flag-o-matic multilib-minimal toolchain-funcs verify-sig - -DESCRIPTION="General purpose crypto library based on the code used in GnuPG" -HOMEPAGE="https://www.gnupg.org/" -SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2" -SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" - -LICENSE="LGPL-2.1+ GPL-2+ MIT" -SLOT="0/20" # subslot = soname major version -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="+asm cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 cpu_flags_ppc_vsx3 cpu_flags_x86_aes cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_padlock cpu_flags_x86_sha cpu_flags_x86_sse4_1 doc static-libs" - -# Build system only has --disable-arm-crypto-support right now -# If changing this, update src_configure logic too. -# ARM CPUs seem to, right now, support all-or-nothing for crypto extensions, -# but this looks like it might change in future. This is just a safety check -# in case people somehow do have a CPU which only supports some. They must -# for now disable them all if that's the case. -REQUIRED_USE=" - cpu_flags_arm_aes? ( cpu_flags_arm_sha1 cpu_flags_arm_sha2 ) - cpu_flags_arm_sha1? ( cpu_flags_arm_aes cpu_flags_arm_sha2 ) - cpu_flags_arm_sha2? ( cpu_flags_arm_aes cpu_flags_arm_sha1 ) - cpu_flags_ppc_vsx3? ( cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 ) - cpu_flags_ppc_vsx2? ( cpu_flags_ppc_altivec ) -" - -RDEPEND=">=dev-libs/libgpg-error-1.25[${MULTILIB_USEDEP}]" -DEPEND="${RDEPEND}" -BDEPEND="doc? ( virtual/texi2dvi ) - verify-sig? ( sec-keys/openpgp-keys-gnupg )" - -PATCHES=( - "${FILESDIR}"/${PN}-multilib-syspath.patch - "${FILESDIR}"/${PN}-powerpc-darwin.patch - "${FILESDIR}"/${PN}-1.9.4-arm-neon-compile-fix.patch - "${FILESDIR}"/${PN}-1.9.4-no-fgrep-libgcrypt-config.patch -) - -MULTILIB_CHOST_TOOLS=( - /usr/bin/libgcrypt-config -) - -src_prepare() { - default - eautoreconf -} - -multilib_src_configure() { - if [[ ${CHOST} == *86*-solaris* ]] ; then - # ASM code uses GNU ELF syntax, divide in particular, we need to - # allow this via ASFLAGS, since we don't have a flag-o-matic - # function for that, we'll have to abuse cflags for this - append-cflags -Wa,--divide - fi - - if [[ ${CHOST} == powerpc* ]] ; then - # ./configure does a lot of automagic, prevent that - # generic ppc32+ppc64 altivec - use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec=no - use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec_cflags=no - # power8 vector extension, aka arch 2.07 ISA, also checked below via ppc-crypto-support - use cpu_flags_ppc_vsx2 || local -x gcry_cv_gcc_inline_asm_ppc_altivec=no - # power9 vector extension, aka arch 3.00 ISA - use cpu_flags_ppc_vsx3 || local -x gcry_cv_gcc_inline_asm_ppc_arch_3_00=no - fi - - # Workaround for GCC < 11.3 bug - # https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commitdiff;h=0b399721ce9709ae25f9d2050360c5ab2115ae29 - # https://dev.gnupg.org/T5581 - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102124 - if use arm64 && tc-is-gcc && (($(gcc-major-version) == 11)) && (($(gcc-minor-version) <= 2)) && (($(gcc-micro-version) == 0)) ; then - append-flags -fno-tree-loop-vectorize - fi - - # ideally we want !tc-ld-is-bfd for best future-proofing, but it needs - # https://github.com/gentoo/gentoo/pull/28355 - # mold needs this too but right now tc-ld-is-mold is also not available - if tc-ld-is-lld; then - append-ldflags -Wl,--undefined-version - fi - - local myeconfargs=( - CC_FOR_BUILD="$(tc-getBUILD_CC)" - - --enable-noexecstack - $(use_enable cpu_flags_arm_neon neon-support) - # See REQUIRED_USE comment above - $(use_enable cpu_flags_arm_aes arm-crypto-support) - $(use_enable cpu_flags_ppc_vsx2 ppc-crypto-support) - $(use_enable cpu_flags_x86_aes aesni-support) - $(use_enable cpu_flags_x86_avx avx-support) - $(use_enable cpu_flags_x86_avx2 avx2-support) - $(use_enable cpu_flags_x86_padlock padlock-support) - $(use_enable cpu_flags_x86_sha shaext-support) - $(use_enable cpu_flags_x86_sse4_1 sse41-support) - # required for sys-power/suspend[crypt], bug 751568 - $(use_enable static-libs static) - - # disabled due to various applications requiring privileges - # after libgcrypt drops them (bug #468616) - --without-capabilities - - # http://trac.videolan.org/vlc/ticket/620 - $([[ ${CHOST} == *86*-darwin* ]] && echo "--disable-asm") - - $(use asm || echo "--disable-asm") - - GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config" - ) - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" \ - $("${S}/configure" --help | grep -o -- '--without-.*-prefix') -} - -multilib_src_compile() { - default - multilib_is_native_abi && use doc && VARTEXFONTS="${T}/fonts" emake -C doc gcrypt.pdf -} - -multilib_src_test() { - # t-secmem and t-sexp need mlock which requires extra privileges; nspawn - # at least disallows that by default. - local -x GCRYPT_IN_ASAN_TEST=1 - - default -} - -multilib_src_install() { - emake DESTDIR="${D}" install - multilib_is_native_abi && use doc && dodoc doc/gcrypt.pdf -} - -multilib_src_install_all() { - default - find "${ED}" -type f -name '*.la' -delete || die -}