commit: 6d30fc9785db41de350b4eb9511dcd18408de08c Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Sat Jan 3 05:42:54 2026 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Sat Jan 3 05:44:20 2026 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6d30fc97
dev-libs/libgcrypt: drop versions Signed-off-by: Sam James <sam <AT> gentoo.org> dev-libs/libgcrypt/Manifest | 8 - .../libgcrypt/files/libgcrypt-1.10.3-hppa.patch | 110 ------ .../files/libgcrypt-1.10.3-x86-refactor.patch | 428 --------------------- .../libgcrypt/files/libgcrypt-1.10.3-x86.patch | 94 ----- .../libgcrypt/files/libgcrypt-1.11.0-arm.patch | 127 ------ .../files/libgcrypt-1.11.0-o-flag-munging.patch | 53 --- .../libgcrypt/files/libgcrypt-1.11.0-s390x.patch | 59 --- .../libgcrypt/files/libgcrypt-1.11.1-riscv.patch | 53 --- ...libgcrypt-1.9.4-no-fgrep-libgcrypt-config.patch | 21 - dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild | 177 --------- dev-libs/libgcrypt/libgcrypt-1.10.3-r1.ebuild | 175 --------- dev-libs/libgcrypt/libgcrypt-1.10.3-r2.ebuild | 181 --------- dev-libs/libgcrypt/libgcrypt-1.11.0-r1.ebuild | 175 --------- dev-libs/libgcrypt/libgcrypt-1.11.0-r2.ebuild | 182 --------- dev-libs/libgcrypt/libgcrypt-1.11.1.ebuild | 195 ---------- 15 files changed, 2038 deletions(-) diff --git a/dev-libs/libgcrypt/Manifest b/dev-libs/libgcrypt/Manifest index b815865a75dd..0326787e5286 100644 --- a/dev-libs/libgcrypt/Manifest +++ b/dev-libs/libgcrypt/Manifest @@ -1,10 +1,2 @@ -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.11.0.tar.bz2 4180345 BLAKE2B fe3f42480c0b9a0c50c24f4c54197404b4e1056d8baa9c0c07c671c9c05b90777580b4cbcde931b50ecb4dd93f5ddad89cea99aa36a35f86f796a003e3816f7d SHA512 8e093e69e3c45d30838625ca008e995556f0d5b272de1c003d44ef94633bcc0d0ef5d95e8725eb531bfafb4490ac273488633e0c801200d4666194f86c3e270e -DIST libgcrypt-1.11.0.tar.bz2.sig 119 BLAKE2B e64d59dae5556e2826f6d297988a3300c36d05aeecfe19544c5092b5f7b777b9b3f37c5ddcfcba5a916ae237cf981efdd9e3bdec482f7c36b12ac5c70f9d4c52 SHA512 8c5ceb50d70ccdedcc1ff4b31a65a07198567b85f582e3e67699cc3e5d012bebf7b1d4903652d11905a9cd845976ad7d3642474804777d0bdc46c6847d92fe38 -DIST libgcrypt-1.11.1.tar.bz2 4233557 BLAKE2B 6416c6a782665e8a8d1c7993d94e620c586cfb65f273bde3d609bd7ca729a92d7ac3e156dabea42c34dbe50af7ce9b16333f63115f968aebb2b4a6dd37d4b99c SHA512 85846d62ce785e4250a2bf8a2b13ec24837e48ab8e10d537ad4a18d650d2cca747f82fd1501feab47ad3114b9593b36c9fa7a892f48139e2a71ef61295a47678 -DIST libgcrypt-1.11.1.tar.bz2.sig 238 BLAKE2B fb625c167b6939eaf795858cbbb3b09787c92b53f94a328611e7dc3c565d623ecf0ccbaddc656cb98f617723147978184c8a7a1dd072fa6477eb06a6a873518c SHA512 832119acbc094346b5648520ac6991a90a944db80886c31001f49bc17c77bf1e2c26dc99180c25c0ef4de010b159fc7b7576b8d80fba284acebc6da1706067db DIST libgcrypt-1.11.2.tar.bz2 4237802 BLAKE2B 8ad2dd84e8ec2bddb5c008c6823a6d72b8f2d6237972966bc590be0d89bb6b50a5cbba1b42631d0950c4bea125a6d9a845fbf703b756a38088f66054712efa9c SHA512 b706cea602cc8f0896e57ce979643bf78974b05faec27c1b053b773c57d8b04250e30e95a4ef5899e1df981d01d8d08f0a36e10b5820a5ec4183e74c02e5f1f0 DIST libgcrypt-1.11.2.tar.bz2.sig 147 BLAKE2B 5126fa06a9a67b2b71711f76ecbf9f3596f300f97256378961768a2f3c3927321da649eb0df4ddfb653e4503712b8b3c363c252bcb83ca53c7eea89a3ac8d4d4 SHA512 73b1d6d53e2f9061f06628a0fe983919f745c1c92930fd6a9871a0a3a589878efe68ec48b4e17e3fd3c1e098bc38c38cc8895246cee25463377a8bfa8590b164 diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.10.3-hppa.patch b/dev-libs/libgcrypt/files/libgcrypt-1.10.3-hppa.patch deleted file mode 100644 index daa1bba9f439..000000000000 --- a/dev-libs/libgcrypt/files/libgcrypt-1.10.3-hppa.patch +++ /dev/null @@ -1,110 +0,0 @@ -https://bugs.gentoo.org/925284 -https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commit;h=75e9bcccb69a9dea67d90840bd295bbd1749cea3 - -From 75e9bcccb69a9dea67d90840bd295bbd1749cea3 Mon Sep 17 00:00:00 2001 -From: NIIBE Yutaka <[email protected]> -Date: Mon, 4 Mar 2024 09:00:59 +0900 -Subject: [PATCH] mpi: Fix ECC computation on hppa. - -* mpi/ec-inline.h [__hppa] (ADD4_LIMB32, SUB4_LIMB32): New. -* mpi/longlong.h [__hppa] (add_ssaaaa, sub_ddmmss): Add __CLOBBER_CC. - --- - -Cherry-pick master commit of: - b757f4130af987bdfc769b754b6e9e27882c349c - -GnuPG-bug-id: 7022 -Signed-off-by: NIIBE Yutaka <[email protected]> ---- - mpi/ec-inline.h | 40 ++++++++++++++++++++++++++++++++++++++++ - mpi/longlong.h | 12 ++++++------ - 2 files changed, 46 insertions(+), 6 deletions(-) - -diff --git a/mpi/ec-inline.h b/mpi/ec-inline.h -index 0ffdf8eb..c24d5352 100644 ---- a/mpi/ec-inline.h -+++ b/mpi/ec-inline.h -@@ -921,6 +921,46 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo) - - #endif /* HAVE_COMPATIBLE_GCC_ARM_PLATFORM_AS */ - -+#if defined (__hppa) && __GNUC__ >= 4 -+#define ADD4_LIMB32(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0) \ -+ __asm__ ("add %7,%11,%3\n\t" \ -+ "addc %6,%10,%2\n\t" \ -+ "addc %5,%9,%1\n\t" \ -+ "addc %4,%8,%0" \ -+ : "=r" (A3), \ -+ "=&r" (A2), \ -+ "=&r" (A1), \ -+ "=&r" (A0) \ -+ : "rM" ((mpi_limb_t)(B3)), \ -+ "rM" ((mpi_limb_t)(B2)), \ -+ "rM" ((mpi_limb_t)(B1)), \ -+ "rM" ((mpi_limb_t)(B0)), \ -+ "rM" ((mpi_limb_t)(C3)), \ -+ "rM" ((mpi_limb_t)(C2)), \ -+ "rM" ((mpi_limb_t)(C1)), \ -+ "rM" ((mpi_limb_t)(C0)) \ -+ : "cc") -+ -+#define SUB4_LIMB32(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0) \ -+ __asm__ ("sub %7,%11,%3\n\t" \ -+ "subb %6,%10,%2\n\t" \ -+ "subb %5,%9,%1\n\t" \ -+ "subb %4,%8,%0\n\t" \ -+ : "=r" (A3), \ -+ "=&r" (A2), \ -+ "=&r" (A1), \ -+ "=&r" (A0) \ -+ : "rM" ((mpi_limb_t)(B3)), \ -+ "rM" ((mpi_limb_t)(B2)), \ -+ "rM" ((mpi_limb_t)(B1)), \ -+ "rM" ((mpi_limb_t)(B0)), \ -+ "rM" ((mpi_limb_t)(C3)), \ -+ "rM" ((mpi_limb_t)(C2)), \ -+ "rM" ((mpi_limb_t)(C1)), \ -+ "rM" ((mpi_limb_t)(C0)) \ -+ : "cc") -+ -+#endif /* __hppa */ - - /* Common 32-bit arch addition/subtraction macros. */ - -diff --git a/mpi/longlong.h b/mpi/longlong.h -index c299534c..1ab70e7e 100644 ---- a/mpi/longlong.h -+++ b/mpi/longlong.h -@@ -394,23 +394,23 @@ extern UDItype __udiv_qrnnd (); - ***************************************/ - #if defined (__hppa) && W_TYPE_SIZE == 32 - # define add_ssaaaa(sh, sl, ah, al, bh, bl) \ -- __asm__ (" add %4,%5,%1\n" \ -- " addc %2,%3,%0" \ -+ __asm__ ("add %4,%5,%1\n\t" \ -+ "addc %2,%3,%0" \ - : "=r" ((USItype)(sh)), \ - "=&r" ((USItype)(sl)) \ - : "%rM" ((USItype)(ah)), \ - "rM" ((USItype)(bh)), \ - "%rM" ((USItype)(al)), \ -- "rM" ((USItype)(bl))) -+ "rM" ((USItype)(bl)) __CLOBBER_CC) - # define sub_ddmmss(sh, sl, ah, al, bh, bl) \ -- __asm__ (" sub %4,%5,%1\n" \ -- " subb %2,%3,%0" \ -+ __asm__ ("sub %4,%5,%1\n\t" \ -+ "subb %2,%3,%0" \ - : "=r" ((USItype)(sh)), \ - "=&r" ((USItype)(sl)) \ - : "rM" ((USItype)(ah)), \ - "rM" ((USItype)(bh)), \ - "rM" ((USItype)(al)), \ -- "rM" ((USItype)(bl))) -+ "rM" ((USItype)(bl)) __CLOBBER_CC) - # if defined (_PA_RISC1_1) - # define umul_ppmm(wh, wl, u, v) \ - do { \ --- -2.30.2 diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.10.3-x86-refactor.patch b/dev-libs/libgcrypt/files/libgcrypt-1.10.3-x86-refactor.patch deleted file mode 100644 index 527150671097..000000000000 --- a/dev-libs/libgcrypt/files/libgcrypt-1.10.3-x86-refactor.patch +++ /dev/null @@ -1,428 +0,0 @@ -https://bugs.gentoo.org/915060 -https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commit;h=07f0563d325c6589ca1560525d3b22291feec227 - -From 07f0563d325c6589ca1560525d3b22291feec227 Mon Sep 17 00:00:00 2001 -From: Jussi Kivilinna <[email protected]> -Date: Tue, 19 Dec 2023 20:23:47 +0200 -Subject: [PATCH] mpi/ec-inline: refactor i386 assembly to reduce register - usage - -* mpi/ec-inline.h [__i386__] (ADD2_LIMB32_CARRY_OUT) -(ADD2_LIMB32_CARRY_IN_OUT, ADD2_LIB32_CARRY_IN, SUB2_LIMB32_CARRY_OUT) -(SUB2_LIMB32_CARRY_IN_OUT, SUB2_LIB32_CARRY_IN, ADD8_LIMB32) -(ADD10_LIMB32, ADD14_LIMB32, SUB8_LIMB32, SUB10_LIMB32) -(SUB14_LIMB32): New. -[__i386__] (ADD4_LIMB32, ADD6_LIMB32, SUB4_LIMB32, SUB6_LIMB32): Rewrite -to use new *_CARRY_* macros. -[BYTES_PER_MPI_LIMB == 4] (ADD4_LIMB64): Use ADD8_LIMB32 if available. -[BYTES_PER_MPI_LIMB == 4] (ADD5_LIMB64): Use ADD10_LIMB32 if available. -[BYTES_PER_MPI_LIMB == 4] (ADD7_LIMB64): Use ADD14_LIMB32 if available. -[BYTES_PER_MPI_LIMB == 4] (SUB4_LIMB64): Use SUB8_LIMB32 if available. -[BYTES_PER_MPI_LIMB == 4] (SUB5_LIMB64): Use SUB10_LIMB32 if available. -[BYTES_PER_MPI_LIMB == 4] (SUB7_LIMB64): Use SUB14_LIMB32 if available. --- - -Cherry pick of master commit: - 956f1ed4ec6ead59dc56f574f943f1fe25dac723 - -This commit reduces number register operands and register pressure -at i386 assembly used in `ec-nist.c` NIST-P192, P224, P256, and P384. -Performance stays relatively same, with P192 being ~2% slower -than before and P384 being ~5% faster. - -GnuPG-bug-id: T6892 -Signed-off-by: Jussi Kivilinna <[email protected]> ---- - mpi/ec-inline.h | 327 +++++++++++++++++++++++++++++++++--------------- - 1 file changed, 229 insertions(+), 98 deletions(-) - -diff --git a/mpi/ec-inline.h b/mpi/ec-inline.h -index a07826e3..0ffdf8eb 100644 ---- a/mpi/ec-inline.h -+++ b/mpi/ec-inline.h -@@ -641,116 +641,192 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo) - /* i386 addition/subtraction helpers. */ - #if defined (__i386__) && defined(HAVE_CPU_ARCH_X86) && __GNUC__ >= 4 - --#define ADD4_LIMB32(a3, a2, a1, a0, b3, b2, b1, b0, c3, c2, c1, c0) \ -- __asm__ ("addl %11, %3\n" \ -- "adcl %10, %2\n" \ -- "adcl %9, %1\n" \ -- "adcl %8, %0\n" \ -- : "=r" (a3), \ -- "=&r" (a2), \ -+#define ADD2_LIMB32_CARRY_OUT(carry, a1, a0, b1, b0, c1, c0) \ -+ __asm__ ("addl %7, %2\n" \ -+ "adcl %6, %1\n" \ -+ "sbbl %0, %0\n" \ -+ : "=r" (carry), \ - "=&r" (a1), \ - "=&r" (a0) \ -- : "0" ((mpi_limb_t)(b3)), \ -- "1" ((mpi_limb_t)(b2)), \ -- "2" ((mpi_limb_t)(b1)), \ -- "3" ((mpi_limb_t)(b0)), \ -- "g" ((mpi_limb_t)(c3)), \ -- "g" ((mpi_limb_t)(c2)), \ -- "g" ((mpi_limb_t)(c1)), \ -- "g" ((mpi_limb_t)(c0)) \ -+ : "0" ((mpi_limb_t)(0)), \ -+ "1" ((mpi_limb_t)(b1)), \ -+ "2" ((mpi_limb_t)(b0)), \ -+ "re" ((mpi_limb_t)(c1)), \ -+ "re" ((mpi_limb_t)(c0)) \ - : "cc") - -+#define ADD2_LIMB32_CARRY_IN_OUT(a1, a0, b1, b0, c1, c0, carry) \ -+ __asm__ ("addl $1, %0\n" \ -+ "adcl %7, %2\n" \ -+ "adcl %6, %1\n" \ -+ "sbbl %0, %0\n" \ -+ : "=r" (carry), \ -+ "=&r" (a1), \ -+ "=&r" (a0) \ -+ : "0" ((mpi_limb_t)(carry)), \ -+ "1" ((mpi_limb_t)(b1)), \ -+ "2" ((mpi_limb_t)(b0)), \ -+ "re" ((mpi_limb_t)(c1)), \ -+ "re" ((mpi_limb_t)(c0)) \ -+ : "cc") -+ -+#define ADD2_LIMB32_CARRY_IN(a1, a0, b1, b0, c1, c0, carry) \ -+ __asm__ ("addl $1, %2\n" \ -+ "adcl %7, %1\n" \ -+ "adcl %6, %0\n" \ -+ : "=r" (a1), \ -+ "=&r" (a0), \ -+ "=&g" (carry) \ -+ : "0" ((mpi_limb_t)(b1)), \ -+ "1" ((mpi_limb_t)(b0)), \ -+ "2" ((mpi_limb_t)(carry)), \ -+ "re" ((mpi_limb_t)(c1)), \ -+ "re" ((mpi_limb_t)(c0)) \ -+ : "cc") -+ -+#define ADD4_LIMB32(a3, a2, a1, a0, b3, b2, b1, b0, c3, c2, c1, c0) do { \ -+ mpi_limb_t __carry4_32; \ -+ ADD2_LIMB32_CARRY_OUT(__carry4_32, a1, a0, b1, b0, c1, c0); \ -+ ADD2_LIMB32_CARRY_IN(a3, a2, b3, b2, c3, c2, __carry4_32); \ -+ } while (0) -+ - #define ADD6_LIMB32(a5, a4, a3, a2, a1, a0, b5, b4, b3, b2, b1, b0, \ - c5, c4, c3, c2, c1, c0) do { \ - mpi_limb_t __carry6_32; \ -- __asm__ ("addl %10, %3\n" \ -- "adcl %9, %2\n" \ -- "adcl %8, %1\n" \ -- "sbbl %0, %0\n" \ -- : "=r" (__carry6_32), \ -- "=&r" (a2), \ -- "=&r" (a1), \ -- "=&r" (a0) \ -- : "0" ((mpi_limb_t)(0)), \ -- "1" ((mpi_limb_t)(b2)), \ -- "2" ((mpi_limb_t)(b1)), \ -- "3" ((mpi_limb_t)(b0)), \ -- "g" ((mpi_limb_t)(c2)), \ -- "g" ((mpi_limb_t)(c1)), \ -- "g" ((mpi_limb_t)(c0)) \ -- : "cc"); \ -- __asm__ ("addl $1, %3\n" \ -- "adcl %10, %2\n" \ -- "adcl %9, %1\n" \ -- "adcl %8, %0\n" \ -- : "=r" (a5), \ -- "=&r" (a4), \ -- "=&r" (a3), \ -- "=&r" (__carry6_32) \ -- : "0" ((mpi_limb_t)(b5)), \ -- "1" ((mpi_limb_t)(b4)), \ -- "2" ((mpi_limb_t)(b3)), \ -- "3" ((mpi_limb_t)(__carry6_32)), \ -- "g" ((mpi_limb_t)(c5)), \ -- "g" ((mpi_limb_t)(c4)), \ -- "g" ((mpi_limb_t)(c3)) \ -- : "cc"); \ -+ ADD2_LIMB32_CARRY_OUT(__carry6_32, a1, a0, b1, b0, c1, c0); \ -+ ADD2_LIMB32_CARRY_IN_OUT(a3, a2, b3, b2, c3, c2, __carry6_32); \ -+ ADD2_LIMB32_CARRY_IN(a5, a4, b5, b4, c5, c4, __carry6_32); \ -+ } while (0) -+ -+#define ADD8_LIMB32(a7, a6, a5, a4, a3, a2, a1, a0, \ -+ b7, b6, b5, b4, b3, b2, b1, b0, \ -+ c7, c6, c5, c4, c3, c2, c1, c0) do { \ -+ mpi_limb_t __carry8_32; \ -+ ADD2_LIMB32_CARRY_OUT(__carry8_32, a1, a0, b1, b0, c1, c0); \ -+ ADD2_LIMB32_CARRY_IN_OUT(a3, a2, b3, b2, c3, c2, __carry8_32); \ -+ ADD2_LIMB32_CARRY_IN_OUT(a5, a4, b5, b4, c5, c4, __carry8_32); \ -+ ADD2_LIMB32_CARRY_IN(a7, a6, b7, b6, c7, c6, __carry8_32); \ - } while (0) - --#define SUB4_LIMB32(a3, a2, a1, a0, b3, b2, b1, b0, c3, c2, c1, c0) \ -- __asm__ ("subl %11, %3\n" \ -- "sbbl %10, %2\n" \ -- "sbbl %9, %1\n" \ -- "sbbl %8, %0\n" \ -- : "=r" (a3), \ -- "=&r" (a2), \ -+#define ADD10_LIMB32(a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, \ -+ b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, \ -+ c9, c8, c7, c6, c5, c4, c3, c2, c1, c0) do { \ -+ mpi_limb_t __carry10_32; \ -+ ADD2_LIMB32_CARRY_OUT(__carry10_32, a1, a0, b1, b0, c1, c0); \ -+ ADD2_LIMB32_CARRY_IN_OUT(a3, a2, b3, b2, c3, c2, __carry10_32); \ -+ ADD2_LIMB32_CARRY_IN_OUT(a5, a4, b5, b4, c5, c4, __carry10_32); \ -+ ADD2_LIMB32_CARRY_IN_OUT(a7, a6, b7, b6, c7, c6, __carry10_32); \ -+ ADD2_LIMB32_CARRY_IN(a9, a8, b9, b8, c9, c8, __carry10_32); \ -+ } while (0) -+ -+#define ADD14_LIMB32(a13, a12, a11, a10, a9, a8, a7, \ -+ a6, a5, a4, a3, a2, a1, a0, \ -+ b13, b12, b11, b10, b9, b8, b7, \ -+ b6, b5, b4, b3, b2, b1, b0, \ -+ c13, c12, c11, c10, c9, c8, c7, \ -+ c6, c5, c4, c3, c2, c1, c0) do { \ -+ mpi_limb_t __carry14_32; \ -+ ADD2_LIMB32_CARRY_OUT(__carry14_32, a1, a0, b1, b0, c1, c0); \ -+ ADD2_LIMB32_CARRY_IN_OUT(a3, a2, b3, b2, c3, c2, __carry14_32); \ -+ ADD2_LIMB32_CARRY_IN_OUT(a5, a4, b5, b4, c5, c4, __carry14_32); \ -+ ADD2_LIMB32_CARRY_IN_OUT(a7, a6, b7, b6, c7, c6, __carry14_32); \ -+ ADD2_LIMB32_CARRY_IN_OUT(a9, a8, b9, b8, c9, c8, __carry14_32); \ -+ ADD2_LIMB32_CARRY_IN_OUT(a11, a10, b11, b10, c11, c10, __carry14_32); \ -+ ADD2_LIMB32_CARRY_IN(a13, a12, b13, b12, c13, c12, __carry14_32); \ -+ } while (0) -+ -+#define SUB2_LIMB32_CARRY_OUT(carry, a1, a0, b1, b0, c1, c0) \ -+ __asm__ ("subl %7, %2\n" \ -+ "sbbl %6, %1\n" \ -+ "sbbl %0, %0\n" \ -+ : "=r" (carry), \ - "=&r" (a1), \ - "=&r" (a0) \ -- : "0" ((mpi_limb_t)(b3)), \ -- "1" ((mpi_limb_t)(b2)), \ -- "2" ((mpi_limb_t)(b1)), \ -- "3" ((mpi_limb_t)(b0)), \ -- "g" ((mpi_limb_t)(c3)), \ -- "g" ((mpi_limb_t)(c2)), \ -- "g" ((mpi_limb_t)(c1)), \ -- "g" ((mpi_limb_t)(c0)) \ -+ : "0" ((mpi_limb_t)(0)), \ -+ "1" ((mpi_limb_t)(b1)), \ -+ "2" ((mpi_limb_t)(b0)), \ -+ "re" ((mpi_limb_t)(c1)), \ -+ "re" ((mpi_limb_t)(c0)) \ -+ : "cc") -+ -+#define SUB2_LIMB32_CARRY_IN_OUT(a1, a0, b1, b0, c1, c0, carry) \ -+ __asm__ ("addl $1, %0\n" \ -+ "sbbl %7, %2\n" \ -+ "sbbl %6, %1\n" \ -+ "sbbl %0, %0\n" \ -+ : "=r" (carry), \ -+ "=&r" (a1), \ -+ "=&r" (a0) \ -+ : "0" ((mpi_limb_t)(carry)), \ -+ "1" ((mpi_limb_t)(b1)), \ -+ "2" ((mpi_limb_t)(b0)), \ -+ "re" ((mpi_limb_t)(c1)), \ -+ "re" ((mpi_limb_t)(c0)) \ -+ : "cc") -+ -+#define SUB2_LIMB32_CARRY_IN(a1, a0, b1, b0, c1, c0, carry) \ -+ __asm__ ("addl $1, %2\n" \ -+ "sbbl %7, %1\n" \ -+ "sbbl %6, %0\n" \ -+ : "=r" (a1), \ -+ "=&r" (a0), \ -+ "=&g" (carry) \ -+ : "0" ((mpi_limb_t)(b1)), \ -+ "1" ((mpi_limb_t)(b0)), \ -+ "2" ((mpi_limb_t)(carry)), \ -+ "re" ((mpi_limb_t)(c1)), \ -+ "re" ((mpi_limb_t)(c0)) \ - : "cc") - -+#define SUB4_LIMB32(a3, a2, a1, a0, b3, b2, b1, b0, c3, c2, c1, c0) do { \ -+ mpi_limb_t __carry4_32; \ -+ SUB2_LIMB32_CARRY_OUT(__carry4_32, a1, a0, b1, b0, c1, c0); \ -+ SUB2_LIMB32_CARRY_IN(a3, a2, b3, b2, c3, c2, __carry4_32); \ -+ } while (0) -+ - #define SUB6_LIMB32(a5, a4, a3, a2, a1, a0, b5, b4, b3, b2, b1, b0, \ - c5, c4, c3, c2, c1, c0) do { \ -- mpi_limb_t __borrow6_32; \ -- __asm__ ("subl %10, %3\n" \ -- "sbbl %9, %2\n" \ -- "sbbl %8, %1\n" \ -- "sbbl %0, %0\n" \ -- : "=r" (__borrow6_32), \ -- "=&r" (a2), \ -- "=&r" (a1), \ -- "=&r" (a0) \ -- : "0" ((mpi_limb_t)(0)), \ -- "1" ((mpi_limb_t)(b2)), \ -- "2" ((mpi_limb_t)(b1)), \ -- "3" ((mpi_limb_t)(b0)), \ -- "g" ((mpi_limb_t)(c2)), \ -- "g" ((mpi_limb_t)(c1)), \ -- "g" ((mpi_limb_t)(c0)) \ -- : "cc"); \ -- __asm__ ("addl $1, %3\n" \ -- "sbbl %10, %2\n" \ -- "sbbl %9, %1\n" \ -- "sbbl %8, %0\n" \ -- : "=r" (a5), \ -- "=&r" (a4), \ -- "=&r" (a3), \ -- "=&r" (__borrow6_32) \ -- : "0" ((mpi_limb_t)(b5)), \ -- "1" ((mpi_limb_t)(b4)), \ -- "2" ((mpi_limb_t)(b3)), \ -- "3" ((mpi_limb_t)(__borrow6_32)), \ -- "g" ((mpi_limb_t)(c5)), \ -- "g" ((mpi_limb_t)(c4)), \ -- "g" ((mpi_limb_t)(c3)) \ -- : "cc"); \ -+ mpi_limb_t __carry6_32; \ -+ SUB2_LIMB32_CARRY_OUT(__carry6_32, a1, a0, b1, b0, c1, c0); \ -+ SUB2_LIMB32_CARRY_IN_OUT(a3, a2, b3, b2, c3, c2, __carry6_32); \ -+ SUB2_LIMB32_CARRY_IN(a5, a4, b5, b4, c5, c4, __carry6_32); \ -+ } while (0) -+ -+#define SUB8_LIMB32(a7, a6, a5, a4, a3, a2, a1, a0, \ -+ b7, b6, b5, b4, b3, b2, b1, b0, \ -+ c7, c6, c5, c4, c3, c2, c1, c0) do { \ -+ mpi_limb_t __carry8_32; \ -+ SUB2_LIMB32_CARRY_OUT(__carry8_32, a1, a0, b1, b0, c1, c0); \ -+ SUB2_LIMB32_CARRY_IN_OUT(a3, a2, b3, b2, c3, c2, __carry8_32); \ -+ SUB2_LIMB32_CARRY_IN_OUT(a5, a4, b5, b4, c5, c4, __carry8_32); \ -+ SUB2_LIMB32_CARRY_IN(a7, a6, b7, b6, c7, c6, __carry8_32); \ -+ } while (0) -+ -+#define SUB10_LIMB32(a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, \ -+ b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, \ -+ c9, c8, c7, c6, c5, c4, c3, c2, c1, c0) do { \ -+ mpi_limb_t __carry10_32; \ -+ SUB2_LIMB32_CARRY_OUT(__carry10_32, a1, a0, b1, b0, c1, c0); \ -+ SUB2_LIMB32_CARRY_IN_OUT(a3, a2, b3, b2, c3, c2, __carry10_32); \ -+ SUB2_LIMB32_CARRY_IN_OUT(a5, a4, b5, b4, c5, c4, __carry10_32); \ -+ SUB2_LIMB32_CARRY_IN_OUT(a7, a6, b7, b6, c7, c6, __carry10_32); \ -+ SUB2_LIMB32_CARRY_IN(a9, a8, b9, b8, c9, c8, __carry10_32); \ -+ } while (0) -+ -+#define SUB14_LIMB32(a13, a12, a11, a10, a9, a8, a7, \ -+ a6, a5, a4, a3, a2, a1, a0, \ -+ b13, b12, b11, b10, b9, b8, b7, \ -+ b6, b5, b4, b3, b2, b1, b0, \ -+ c13, c12, c11, c10, c9, c8, c7, \ -+ c6, c5, c4, c3, c2, c1, c0) do { \ -+ mpi_limb_t __carry14_32; \ -+ SUB2_LIMB32_CARRY_OUT(__carry14_32, a1, a0, b1, b0, c1, c0); \ -+ SUB2_LIMB32_CARRY_IN_OUT(a3, a2, b3, b2, c3, c2, __carry14_32); \ -+ SUB2_LIMB32_CARRY_IN_OUT(a5, a4, b5, b4, c5, c4, __carry14_32); \ -+ SUB2_LIMB32_CARRY_IN_OUT(a7, a6, b7, b6, c7, c6, __carry14_32); \ -+ SUB2_LIMB32_CARRY_IN_OUT(a9, a8, b9, b8, c9, c8, __carry14_32); \ -+ SUB2_LIMB32_CARRY_IN_OUT(a11, a10, b11, b10, c11, c10, __carry14_32); \ -+ SUB2_LIMB32_CARRY_IN(a13, a12, b13, b12, c13, c12, __carry14_32); \ - } while (0) - - #endif /* __i386__ */ -@@ -820,7 +896,6 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo) - "Ir" ((mpi_limb_t)(C0)) \ - : "cc") - -- - #define SUB6_LIMB32(A5, A4, A3, A2, A1, A0, B5, B4, B3, B2, B1, B0, \ - C5, C4, C3, C2, C1, C0) do { \ - mpi_limb_t __borrow6_32; \ -@@ -875,7 +950,13 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo) - C2.hi, C2.lo, C1.hi, C1.lo, C0.hi, C0.lo) - #endif - --#if defined(ADD6_LIMB32) -+#if defined(ADD8_LIMB32) -+/* A[0..3] = B[0..3] + C[0..3] */ -+#define ADD4_LIMB64(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0) \ -+ ADD8_LIMB32(A3.hi, A3.lo, A2.hi, A2.lo, A1.hi, A1.lo, A0.hi, A0.lo, \ -+ B3.hi, B3.lo, B2.hi, B2.lo, B1.hi, B1.lo, B0.hi, B0.lo, \ -+ C3.hi, C3.lo, C2.hi, C2.lo, C1.hi, C1.lo, C0.hi, C0.lo) -+#elif defined(ADD6_LIMB32) - /* A[0..3] = B[0..3] + C[0..3] */ - #define ADD4_LIMB64(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0) do { \ - mpi_limb_t __carry4; \ -@@ -888,6 +969,28 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo) - } while (0) - #endif - -+#if defined(ADD10_LIMB32) -+/* A[0..4] = B[0..4] + C[0..4] */ -+#define ADD5_LIMB64(A4, A3, A2, A1, A0, B4, B3, B2, B1, B0, \ -+ C4, C3, C2, C1, C0) \ -+ ADD10_LIMB32(A4.hi, A4.lo, A3.hi, A3.lo, A2.hi, A2.lo, A1.hi, A1.lo, \ -+ A0.hi, A0.lo, B4.hi, B4.lo, B3.hi, B3.lo, B2.hi, B2.lo, \ -+ B1.hi, B1.lo, B0.hi, B0.lo, C4.hi, C4.lo, C3.hi, C3.lo, \ -+ C2.hi, C2.lo, C1.hi, C1.lo, C0.hi, C0.lo) -+#endif -+ -+#if defined(ADD14_LIMB32) -+/* A[0..6] = B[0..6] + C[0..6] */ -+#define ADD7_LIMB64(A6, A5, A4, A3, A2, A1, A0, B6, B5, B4, B3, B2, B1, B0, \ -+ C6, C5, C4, C3, C2, C1, C0) \ -+ ADD14_LIMB32(A6.hi, A6.lo, A5.hi, A5.lo, A4.hi, A4.lo, A3.hi, A3.lo, \ -+ A2.hi, A2.lo, A1.hi, A1.lo, A0.hi, A0.lo, B6.hi, B6.lo, \ -+ B5.hi, B5.lo, B4.hi, B4.lo, B3.hi, B3.lo, B2.hi, B2.lo, \ -+ B1.hi, B1.lo, B0.hi, B0.lo, C6.hi, C6.lo, C5.hi, C5.lo, \ -+ C4.hi, C4.lo, C3.hi, C3.lo, C2.hi, C2.lo, C1.hi, C1.lo, \ -+ C0.hi, C0.lo) -+#endif -+ - #if defined(SUB4_LIMB32) - /* A[0..1] = B[0..1] - C[0..1] */ - #define SUB2_LIMB64(A1, A0, B1, B0, C1, C0) \ -@@ -914,7 +1017,13 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo) - C2.hi, C2.lo, C1.hi, C1.lo, C0.hi, C0.lo) - #endif - --#if defined(SUB6_LIMB32) -+#if defined(SUB8_LIMB32) -+/* A[0..3] = B[0..3] - C[0..3] */ -+#define SUB4_LIMB64(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0) \ -+ SUB8_LIMB32(A3.hi, A3.lo, A2.hi, A2.lo, A1.hi, A1.lo, A0.hi, A0.lo, \ -+ B3.hi, B3.lo, B2.hi, B2.lo, B1.hi, B1.lo, B0.hi, B0.lo, \ -+ C3.hi, C3.lo, C2.hi, C2.lo, C1.hi, C1.lo, C0.hi, C0.lo) -+#elif defined(SUB6_LIMB32) - /* A[0..3] = B[0..3] - C[0..3] */ - #define SUB4_LIMB64(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0) do { \ - mpi_limb_t __borrow4; \ -@@ -927,6 +1036,28 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo) - } while (0) - #endif - -+#if defined(SUB10_LIMB32) -+/* A[0..4] = B[0..4] - C[0..4] */ -+#define SUB5_LIMB64(A4, A3, A2, A1, A0, B4, B3, B2, B1, B0, \ -+ C4, C3, C2, C1, C0) \ -+ SUB10_LIMB32(A4.hi, A4.lo, A3.hi, A3.lo, A2.hi, A2.lo, A1.hi, A1.lo, \ -+ A0.hi, A0.lo, B4.hi, B4.lo, B3.hi, B3.lo, B2.hi, B2.lo, \ -+ B1.hi, B1.lo, B0.hi, B0.lo, C4.hi, C4.lo, C3.hi, C3.lo, \ -+ C2.hi, C2.lo, C1.hi, C1.lo, C0.hi, C0.lo) -+#endif -+ -+#if defined(SUB14_LIMB32) -+/* A[0..6] = B[0..6] - C[0..6] */ -+#define SUB7_LIMB64(A6, A5, A4, A3, A2, A1, A0, B6, B5, B4, B3, B2, B1, B0, \ -+ C6, C5, C4, C3, C2, C1, C0) \ -+ SUB14_LIMB32(A6.hi, A6.lo, A5.hi, A5.lo, A4.hi, A4.lo, A3.hi, A3.lo, \ -+ A2.hi, A2.lo, A1.hi, A1.lo, A0.hi, A0.lo, B6.hi, B6.lo, \ -+ B5.hi, B5.lo, B4.hi, B4.lo, B3.hi, B3.lo, B2.hi, B2.lo, \ -+ B1.hi, B1.lo, B0.hi, B0.lo, C6.hi, C6.lo, C5.hi, C5.lo, \ -+ C4.hi, C4.lo, C3.hi, C3.lo, C2.hi, C2.lo, C1.hi, C1.lo, \ -+ C0.hi, C0.lo) -+#endif -+ - #endif /* BYTES_PER_MPI_LIMB == 4 */ - - --- -2.30.2 diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.10.3-x86.patch b/dev-libs/libgcrypt/files/libgcrypt-1.10.3-x86.patch deleted file mode 100644 index 51ea0047c4e4..000000000000 --- a/dev-libs/libgcrypt/files/libgcrypt-1.10.3-x86.patch +++ /dev/null @@ -1,94 +0,0 @@ -https://bugs.gentoo.org/915060 -https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commit;h=08b88b4012f7837736b8d29a3689ce3fff2a10c8 - -From 08b88b4012f7837736b8d29a3689ce3fff2a10c8 Mon Sep 17 00:00:00 2001 -From: Jussi Kivilinna <[email protected]> -Date: Sat, 16 Dec 2023 19:50:23 +0200 -Subject: [PATCH] mpi/ec-nist: fix for -Og build failure on i386 - -* mpi/ec-nist.c (_gcry_mpi_ec_nist256_mod) -(_gcry_mpi_ec_nist384_mod): Load p_mult constant with carry offset -to stack. --- - -Cherry pick master commit of: - 90097bd2f41c217dc5c666570e5680f432cf92d3 - -Patch fixes compilation error on i386 with -Og optimization level. - -In file included from ../../mpi/ec-nist.c:34: -../../mpi/ec-nist.c: In function '_gcry_mpi_ec_nist256_mod': -../../mpi/ec-inline.h:701:3: error: 'asm' operand has impossible constraints - 701 | __asm__ ("subl %11, %3\n" \ - | ^~~~~~~ -../../mpi/ec-inline.h:894:9: note: in expansion of macro 'SUB4_LIMB32' - 894 | SUB4_LIMB32(A1.hi, A1.lo, A0.hi, A0.lo, \ - | ^~~~~~~~~~~ -../../mpi/ec-inline.h:1009:5: note: in expansion of macro 'SUB2_LIMB64' - 1009 | SUB2_LIMB64(A4, A3, B4, B3, C4, C3); \ - | ^~~~~~~~~~~ -../../mpi/ec-nist.c:474:3: note: in expansion of macro 'SUB5_LIMB64' - 474 | SUB5_LIMB64 (s[4], s[3], s[2], s[1], s[0], - | ^~~~~~~~~~~ - -Appears that in problematic function, too many registers end up being -allocated for addressing and there is not enough register left for -asm input/output (4 registers needed for this block). Problem can be -workaround by reducing needed addressing registers by pushing -`p_mult[carry + ...]` values to stack. On other compiler flag levels -and architectures, compiler should be able to optimize away this -extra copying and have not effect on performance. - -GnuPG-bug-id: T6892 -Signed-off-by: Jussi Kivilinna <[email protected]> ---- - mpi/ec-nist.c | 23 ++++++++++++++++------- - 1 file changed, 16 insertions(+), 7 deletions(-) - -diff --git a/mpi/ec-nist.c b/mpi/ec-nist.c -index f792405c..559d02d9 100644 ---- a/mpi/ec-nist.c -+++ b/mpi/ec-nist.c -@@ -471,11 +471,15 @@ _gcry_mpi_ec_nist256_mod (gcry_mpi_t w, mpi_ec_t ctx) - - carry = LO32_LIMB64(s[4]); - -+ /* Load values to stack to ease register pressure on i386. */ -+ e[0] = p_mult[carry + 4][0]; -+ e[1] = p_mult[carry + 4][1]; -+ e[2] = p_mult[carry + 4][2]; -+ e[3] = p_mult[carry + 4][3]; -+ e[4] = p_mult[carry + 4][4]; - SUB5_LIMB64 (s[4], s[3], s[2], s[1], s[0], - s[4], s[3], s[2], s[1], s[0], -- p_mult[carry + 4][4], p_mult[carry + 4][3], -- p_mult[carry + 4][2], p_mult[carry + 4][1], -- p_mult[carry + 4][0]); -+ e[4], e[3], e[2], e[1], e[0]); - - /* Add 1*P */ - ADD5_LIMB64 (d[4], d[3], d[2], d[1], d[0], -@@ -749,12 +753,17 @@ _gcry_mpi_ec_nist384_mod (gcry_mpi_t w, mpi_ec_t ctx) - - carry = LO32_LIMB64(s[6]); - -+ /* Load values to stack to ease register pressure on i386. */ -+ x[0] = p_mult[carry + 3][0]; -+ x[1] = p_mult[carry + 3][1]; -+ x[2] = p_mult[carry + 3][2]; -+ x[3] = p_mult[carry + 3][3]; -+ x[4] = p_mult[carry + 3][4]; -+ x[5] = p_mult[carry + 3][5]; -+ x[6] = p_mult[carry + 3][6]; - SUB7_LIMB64 (s[6], s[5], s[4], s[3], s[2], s[1], s[0], - s[6], s[5], s[4], s[3], s[2], s[1], s[0], -- p_mult[carry + 3][6], p_mult[carry + 3][5], -- p_mult[carry + 3][4], p_mult[carry + 3][3], -- p_mult[carry + 3][2], p_mult[carry + 3][1], -- p_mult[carry + 3][0]); -+ x[6], x[5], x[4], x[3], x[2], x[1], x[0]); - - ADD7_LIMB64 (d[6], d[5], d[4], d[3], d[2], d[1], d[0], - s[6], s[5], s[4], s[3], s[2], s[1], s[0], --- -2.30.2 diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.11.0-arm.patch b/dev-libs/libgcrypt/files/libgcrypt-1.11.0-arm.patch deleted file mode 100644 index e288d9c5afd3..000000000000 --- a/dev-libs/libgcrypt/files/libgcrypt-1.11.0-arm.patch +++ /dev/null @@ -1,127 +0,0 @@ -https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commit;h=9c93b4607adcf9b3efd53aba43e2d33bf5aef9df - -From 9c93b4607adcf9b3efd53aba43e2d33bf5aef9df Mon Sep 17 00:00:00 2001 -From: Jussi Kivilinna <[email protected]> -Date: Sun, 4 Aug 2024 18:04:49 +0300 -Subject: [PATCH] mpi/ec-inline: reduce register pressure on 32-bit ARM - -* mpi/ec-inline.h [HAVE_COMPATIBLE_GCC_ARM_PLATFORM_AS] (ADD4_LIMB32) -(ADD6_LIMB32, SUB4_LIMB32, SUB6_LIMB32): Reuse input registers -as output (use just two unique operators). --- - -This fixes building ec-nist.c with GCC-14 on 32-bit ARM. - -GnuPG-bug-id: 7226 -Signed-off-by: Jussi Kivilinna <[email protected]> ---- a/mpi/ec-inline.h -+++ b/mpi/ec-inline.h -@@ -836,18 +836,18 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo) - #ifdef HAVE_COMPATIBLE_GCC_ARM_PLATFORM_AS - - #define ADD4_LIMB32(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0) \ -- __asm__ ("adds %3, %7, %11\n" \ -- "adcs %2, %6, %10\n" \ -- "adcs %1, %5, %9\n" \ -- "adc %0, %4, %8\n" \ -+ __asm__ ("adds %3, %3, %11\n" \ -+ "adcs %2, %2, %10\n" \ -+ "adcs %1, %1, %9\n" \ -+ "adc %0, %0, %8\n" \ - : "=r" (A3), \ - "=&r" (A2), \ - "=&r" (A1), \ - "=&r" (A0) \ -- : "r" ((mpi_limb_t)(B3)), \ -- "r" ((mpi_limb_t)(B2)), \ -- "r" ((mpi_limb_t)(B1)), \ -- "r" ((mpi_limb_t)(B0)), \ -+ : "0" ((mpi_limb_t)(B3)), \ -+ "1" ((mpi_limb_t)(B2)), \ -+ "2" ((mpi_limb_t)(B1)), \ -+ "3" ((mpi_limb_t)(B0)), \ - "Ir" ((mpi_limb_t)(C3)), \ - "Ir" ((mpi_limb_t)(C2)), \ - "Ir" ((mpi_limb_t)(C1)), \ -@@ -857,18 +857,18 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo) - #define ADD6_LIMB32(A5, A4, A3, A2, A1, A0, B5, B4, B3, B2, B1, B0, \ - C5, C4, C3, C2, C1, C0) do { \ - mpi_limb_t __carry6_32; \ -- __asm__ ("adds %3, %7, %10\n" \ -- "adcs %2, %6, %9\n" \ -- "adcs %1, %5, %8\n" \ -- "adc %0, %4, %4\n" \ -+ __asm__ ("adds %3, %3, %10\n" \ -+ "adcs %2, %2, %9\n" \ -+ "adcs %1, %1, %8\n" \ -+ "adc %0, %0, %0\n" \ - : "=r" (__carry6_32), \ - "=&r" (A2), \ - "=&r" (A1), \ - "=&r" (A0) \ -- : "r" ((mpi_limb_t)(0)), \ -- "r" ((mpi_limb_t)(B2)), \ -- "r" ((mpi_limb_t)(B1)), \ -- "r" ((mpi_limb_t)(B0)), \ -+ : "0" ((mpi_limb_t)(0)), \ -+ "1" ((mpi_limb_t)(B2)), \ -+ "2" ((mpi_limb_t)(B1)), \ -+ "3" ((mpi_limb_t)(B0)), \ - "Ir" ((mpi_limb_t)(C2)), \ - "Ir" ((mpi_limb_t)(C1)), \ - "Ir" ((mpi_limb_t)(C0)) \ -@@ -878,18 +878,18 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo) - } while (0) - - #define SUB4_LIMB32(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0) \ -- __asm__ ("subs %3, %7, %11\n" \ -- "sbcs %2, %6, %10\n" \ -- "sbcs %1, %5, %9\n" \ -- "sbc %0, %4, %8\n" \ -+ __asm__ ("subs %3, %3, %11\n" \ -+ "sbcs %2, %2, %10\n" \ -+ "sbcs %1, %1, %9\n" \ -+ "sbc %0, %0, %8\n" \ - : "=r" (A3), \ - "=&r" (A2), \ - "=&r" (A1), \ - "=&r" (A0) \ -- : "r" ((mpi_limb_t)(B3)), \ -- "r" ((mpi_limb_t)(B2)), \ -- "r" ((mpi_limb_t)(B1)), \ -- "r" ((mpi_limb_t)(B0)), \ -+ : "0" ((mpi_limb_t)(B3)), \ -+ "1" ((mpi_limb_t)(B2)), \ -+ "2" ((mpi_limb_t)(B1)), \ -+ "3" ((mpi_limb_t)(B0)), \ - "Ir" ((mpi_limb_t)(C3)), \ - "Ir" ((mpi_limb_t)(C2)), \ - "Ir" ((mpi_limb_t)(C1)), \ -@@ -899,18 +899,17 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo) - #define SUB6_LIMB32(A5, A4, A3, A2, A1, A0, B5, B4, B3, B2, B1, B0, \ - C5, C4, C3, C2, C1, C0) do { \ - mpi_limb_t __borrow6_32; \ -- __asm__ ("subs %3, %7, %10\n" \ -- "sbcs %2, %6, %9\n" \ -- "sbcs %1, %5, %8\n" \ -- "sbc %0, %4, %4\n" \ -+ __asm__ ("subs %3, %3, %9\n" \ -+ "sbcs %2, %2, %8\n" \ -+ "sbcs %1, %1, %7\n" \ -+ "sbc %0, %0, %0\n" \ - : "=r" (__borrow6_32), \ - "=&r" (A2), \ - "=&r" (A1), \ - "=&r" (A0) \ -- : "r" ((mpi_limb_t)(0)), \ -- "r" ((mpi_limb_t)(B2)), \ -- "r" ((mpi_limb_t)(B1)), \ -- "r" ((mpi_limb_t)(B0)), \ -+ : "1" ((mpi_limb_t)(B2)), \ -+ "2" ((mpi_limb_t)(B1)), \ -+ "3" ((mpi_limb_t)(B0)), \ - "Ir" ((mpi_limb_t)(C2)), \ - "Ir" ((mpi_limb_t)(C1)), \ - "Ir" ((mpi_limb_t)(C0)) \ --- -2.30.2 diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.11.0-o-flag-munging.patch b/dev-libs/libgcrypt/files/libgcrypt-1.11.0-o-flag-munging.patch deleted file mode 100644 index 161e4ad5c132..000000000000 --- a/dev-libs/libgcrypt/files/libgcrypt-1.11.0-o-flag-munging.patch +++ /dev/null @@ -1,53 +0,0 @@ -https://bugs.gentoo.org/934801 -https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=patch;h=e96df0c - -From e96df0c82e086bf348753d2d0fa37fa6191b4b14 Mon Sep 17 00:00:00 2001 -From: "simit.ghane" <[email protected]> -Date: Tue, 11 Jun 2024 07:22:28 +0530 -Subject: [PATCH] random:cipher: handle substitution in sed command - -* cipher/Makefile.am (o_flag_munging): Add 'g' flag for first sed -expression. -* random/Makefile.am (o_flag_munging): Likewise. --- - -It was there earlier and accidentally removed from -Makefile.am of cipher and random - -Signed-off-by: simit.ghane <[email protected]> -[jk: add changelog to commit message] -Signed-off-by: Jussi Kivilinna <[email protected]> ---- - 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 ea9014cc..149c9f21 100644 ---- a/cipher/Makefile.am -+++ b/cipher/Makefile.am -@@ -169,7 +169,7 @@ gost-s-box$(EXEEXT_FOR_BUILD): gost-s-box.c - - - if ENABLE_O_FLAG_MUNGING --o_flag_munging = sed -e 's/[[:blank:]]-O\([2-9sgz][2-9sgz]*\)/ -O1 /' -e 's/[[:blank:]]-Ofast/ -O1 /g' -+o_flag_munging = sed -e 's/[[:blank:]]-O\([2-9sgz][2-9sgz]*\)/ -O1 /g' -e 's/[[:blank:]]-Ofast/ -O1 /g' - else - o_flag_munging = cat - endif -diff --git a/random/Makefile.am b/random/Makefile.am -index c7100ef8..a42e4306 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/[[:blank:]]-O\([1-9sgz][1-9sgz]*\)/ -O0 /' -e 's/[[:blank:]]-Ofast/ -O0 /g' -+o_flag_munging = sed -e 's/[[:blank:]]-O\([1-9sgz][1-9sgz]*\)/ -O0 /g' -e 's/[[:blank:]]-Ofast/ -O0 /g' - else - o_flag_munging = cat - endif --- -2.30.2 - diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.11.0-s390x.patch b/dev-libs/libgcrypt/files/libgcrypt-1.11.0-s390x.patch deleted file mode 100644 index 6d306423df51..000000000000 --- a/dev-libs/libgcrypt/files/libgcrypt-1.11.0-s390x.patch +++ /dev/null @@ -1,59 +0,0 @@ -https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commit;h=2486d9b5ae015c1786cb84466a751da4bc0d7122 - -From 2486d9b5ae015c1786cb84466a751da4bc0d7122 Mon Sep 17 00:00:00 2001 -From: Jussi Kivilinna <[email protected]> -Date: Thu, 20 Jun 2024 20:10:09 +0300 -Subject: [PATCH] Disable SHA3 s390x acceleration for CSHAKE - -* cipher/keccak.c (keccak_final_s390x): Add assert check for -expected SHAKE suffix. -(_gcry_cshake_customize, cshake_hash_buffers): Disable s390x -acceleration when selecting CSHAKE suffix. --- - -Signed-off-by: Jussi Kivilinna <[email protected]> ---- a/cipher/keccak.c -+++ b/cipher/keccak.c -@@ -745,6 +745,8 @@ keccak_final_s390x (void *context) - } - else - { -+ gcry_assert(ctx->suffix == SHAKE_DELIMITED_SUFFIX); -+ - klmd_shake_execute (ctx->kimd_func, &ctx->state, NULL, 0, ctx->buf, - ctx->count); - ctx->count = 0; -@@ -1497,9 +1499,14 @@ _gcry_cshake_customize (void *context, struct gcry_cshake_customization *p) - /* No customization */ - return 0; - -+ ctx->suffix = CSHAKE_DELIMITED_SUFFIX; -+#ifdef USE_S390X_CRYPTO -+ /* CSHAKE suffix is not supported by s390x/kimd. */ -+ ctx->kimd_func = 0; -+#endif -+ - len_written = cshake_input_n (ctx, p->n, p->n_len); - cshake_input_s (ctx, p->s, p->s_len, len_written); -- ctx->suffix = CSHAKE_DELIMITED_SUFFIX; - return 0; - } - -@@ -1536,9 +1543,14 @@ cshake_hash_buffers (const gcry_md_spec_t *spec, void *outbuf, size_t nbytes, - size_t s_len = iov[1].len; - size_t len; - -+ ctx.suffix = CSHAKE_DELIMITED_SUFFIX; -+#ifdef USE_S390X_CRYPTO -+ /* CSHAKE suffix is not supported by s390x/kimd. */ -+ ctx.kimd_func = 0; -+#endif -+ - len = cshake_input_n (&ctx, n, n_len); - cshake_input_s (&ctx, s, s_len, len); -- ctx.suffix = CSHAKE_DELIMITED_SUFFIX; - } - iovcnt -= 2; - iov += 2; --- -2.30.2 diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.11.1-riscv.patch b/dev-libs/libgcrypt/files/libgcrypt-1.11.1-riscv.patch deleted file mode 100644 index 9cab5f78b139..000000000000 --- a/dev-libs/libgcrypt/files/libgcrypt-1.11.1-riscv.patch +++ /dev/null @@ -1,53 +0,0 @@ -https://bugs.gentoo.org/955813 -diff '--color=auto' --text --new-file --unified libgcrypt-1.11.1/cipher/simd-common-riscv.h libgcrypt/cipher/simd-common-riscv.h ---- a/cipher/simd-common-riscv.h 1970-01-01 08:00:00.000000000 +0800 -+++ b/cipher/simd-common-riscv.h 2025-05-13 08:06:01.221102266 +0800 -@@ -0,0 +1,48 @@ -+/* simd-common-riscv.h - Common macros for RISC-V vector code -+ * -+ * Copyright (C) 2025 Jussi Kivilinna <[email protected]> -+ * -+ * This file is part of Libgcrypt. -+ * -+ * Libgcrypt is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU Lesser General Public License as -+ * published by the Free Software Foundation; either version 2.1 of -+ * the License, or (at your option) any later version. -+ * -+ * Libgcrypt is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this program; if not, see <http://www.gnu.org/licenses/>. -+ */ -+ -+#ifndef GCRY_SIMD_COMMON_RISCV_H -+#define GCRY_SIMD_COMMON_RISCV_H -+ -+#include <config.h> -+ -+#define memory_barrier_with_vec(a) __asm__("" : "+vr"(a) :: "memory") -+ -+#define clear_vec_regs() __asm__ volatile("vsetvli zero, %0, e8, m1, ta, ma;\n" \ -+ "vmv.v.i v0, 0;\n" \ -+ "vmv.v.i v1, 0;\n" \ -+ "vmv2r.v v2, v0;\n" \ -+ "vmv4r.v v4, v0;\n" \ -+ "vmv8r.v v8, v0;\n" \ -+ "vmv8r.v v16, v0;\n" \ -+ "vmv8r.v v24, v0;\n" \ -+ : \ -+ : "r" (~0) \ -+ : "memory", "vl", "vtype", \ -+ "v0", "v1", "v2", "v3", \ -+ "v4", "v5", "v6", "v7", \ -+ "v8", "v9", "v10", "v11", \ -+ "v12", "v13", "v14", "v15", \ -+ "v16", "v17", "v18", "v19", \ -+ "v20", "v21", "v22", "v23", \ -+ "v24", "v25", "v26", "v27", \ -+ "v28", "v29", "v30", "v31") -+ -+#endif /* GCRY_SIMD_COMMON_RISCV_H */ diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.9.4-no-fgrep-libgcrypt-config.patch b/dev-libs/libgcrypt/files/libgcrypt-1.9.4-no-fgrep-libgcrypt-config.patch deleted file mode 100644 index 738eac1631b6..000000000000 --- a/dev-libs/libgcrypt/files/libgcrypt-1.9.4-no-fgrep-libgcrypt-config.patch +++ /dev/null @@ -1,21 +0,0 @@ -https://bugs.gentoo.org/868384 ---- a/src/libgcrypt-config.in -+++ b/src/libgcrypt-config.in -@@ -154,7 +154,7 @@ if test "$echo_cflags" = "yes"; then - - tmp="" - for i in $includes $cflags_final; do -- if echo "$tmp" | fgrep -v -- "$i" >/dev/null; then -+ if echo "$tmp" | grep -F -v -- "$i" >/dev/null; then - tmp="$tmp $i" - fi - done -@@ -178,7 +178,7 @@ if test "$echo_libs" = "yes"; then - - tmp="" - for i in $libdirs $libs_final; do -- if echo "$tmp" | fgrep -v -- "$i" >/dev/null; then -+ if echo "$tmp" | grep -F -v -- "$i" >/dev/null; then - tmp="$tmp $i" - fi - done diff --git a/dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild b/dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild deleted file mode 100644 index a2e177c9edcb..000000000000 --- a/dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild +++ /dev/null @@ -1,177 +0,0 @@ -# Copyright 1999-2025 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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-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 - "${FILESDIR}"/${P}-darwin.patch # upstream T6442 -) - -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 -} - -src_configure() { - # Sensitive to optimisation; parts of the codebase are built with - # -O0 already. Don't risk it with UB. - strip-flags - - multilib-minimal_src_configure -} - -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 - - # 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 - - $(use asm || echo "--disable-asm") - - GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config" - GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-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 - # Avoid running (very) expensive bench-slope test. On hppa, it - # takes at least 7 hours. - local -x GCRYPT_NO_BENCHMARKS=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-r1.ebuild b/dev-libs/libgcrypt/libgcrypt-1.10.3-r1.ebuild deleted file mode 100644 index 2aae0fac6525..000000000000 --- a/dev-libs/libgcrypt/libgcrypt-1.10.3-r1.ebuild +++ /dev/null @@ -1,175 +0,0 @@ -# Copyright 1999-2025 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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-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 -} - -src_configure() { - # Sensitive to optimisation; parts of the codebase are built with - # -O0 already. Don't risk it with UB. - strip-flags - - multilib-minimal_src_configure -} - -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 - - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) - - 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 - - $(use asm || echo "--disable-asm") - - GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config" - GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-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 - # Avoid running (very) expensive bench-slope test. On hppa, it - # takes at least 7 hours. - local -x GCRYPT_NO_BENCHMARKS=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-r2.ebuild b/dev-libs/libgcrypt/libgcrypt-1.10.3-r2.ebuild deleted file mode 100644 index 4cab8affabe8..000000000000 --- a/dev-libs/libgcrypt/libgcrypt-1.10.3-r2.ebuild +++ /dev/null @@ -1,181 +0,0 @@ -# Copyright 1999-2025 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 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-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 - "${FILESDIR}"/${PN}-1.10.3-x86.patch - "${FILESDIR}"/${PN}-1.10.3-x86-refactor.patch - "${FILESDIR}"/${PN}-1.10.3-hppa.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 -} - -src_configure() { - # Sensitive to optimisation; parts of the codebase are built with - # -O0 already. Don't risk it with UB. - strip-flags - - multilib-minimal_src_configure -} - -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 - - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) - - 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" - GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-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 - # Avoid running (very) expensive bench-slope test. On hppa, it - # takes at least 7 hours. - local -x GCRYPT_NO_BENCHMARKS=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.11.0-r1.ebuild b/dev-libs/libgcrypt/libgcrypt-1.11.0-r1.ebuild deleted file mode 100644 index 4aa44b3fe49c..000000000000 --- a/dev-libs/libgcrypt/libgcrypt-1.11.0-r1.ebuild +++ /dev/null @@ -1,175 +0,0 @@ -# Copyright 1999-2025 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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" -IUSE="+asm doc +getentropy static-libs" -IUSE+=" cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_arm_sve" -IUSE+=" cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 cpu_flags_ppc_vsx3" -IUSE+=" cpu_flags_x86_aes cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_avx512f cpu_flags_x86_padlock cpu_flags_x86_sha cpu_flags_x86_sse4_1" - -# 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.49[${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}"/${P}-s390x.patch - "${FILESDIR}"/${P}-o-flag-munging.patch - "${FILESDIR}"/${P}-arm.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 -} - -src_configure() { - # Sensitive to optimisation; parts of the codebase are built with - # -O0 already. Don't risk it with UB. - strip-flags - - multilib-minimal_src_configure -} - -multilib_src_configure() { - 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 - - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) - - 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_arm_sve sve-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_avx512f avx512-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 - - $(use asm || echo "--disable-asm") - - GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config" - GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-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 - # Avoid running (very) expensive bench-slope test. On hppa, it - # takes at least 7 hours. - local -x GCRYPT_NO_BENCHMARKS=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.11.0-r2.ebuild b/dev-libs/libgcrypt/libgcrypt-1.11.0-r2.ebuild deleted file mode 100644 index df762a0c6eb4..000000000000 --- a/dev-libs/libgcrypt/libgcrypt-1.11.0-r2.ebuild +++ /dev/null @@ -1,182 +0,0 @@ -# Copyright 1999-2025 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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" -IUSE="+asm doc +getentropy static-libs" -IUSE+=" cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_arm_sve" -IUSE+=" cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 cpu_flags_ppc_vsx3" -IUSE+=" cpu_flags_x86_aes cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_avx512f cpu_flags_x86_padlock cpu_flags_x86_sha cpu_flags_x86_sse4_1" - -# 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.49[${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}"/${P}-s390x.patch - "${FILESDIR}"/${P}-o-flag-munging.patch - "${FILESDIR}"/${P}-arm.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 -} - -src_configure() { - # Sensitive to optimisation; parts of the codebase are built with - # -O0 already. Don't risk it with UB. - strip-flags - - # Hardcodes the path to FGREP in libgcrypt-config - export ac_cv_path_SED="sed" - export ac_cv_path_EGREP="grep -E" - export ac_cv_path_EGREP_TRADITIONAL="grep -E" - export ac_cv_path_FGREP="grep -F" - export ac_cv_path_GREP="grep" - - multilib-minimal_src_configure -} - -multilib_src_configure() { - 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 - - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) - - 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_arm_sve sve-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_avx512f avx512-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 - - $(use asm || echo "--disable-asm") - - GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config" - GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-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 - # Avoid running (very) expensive bench-slope test. On hppa, it - # takes at least 7 hours. - local -x GCRYPT_NO_BENCHMARKS=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.11.1.ebuild b/dev-libs/libgcrypt/libgcrypt-1.11.1.ebuild deleted file mode 100644 index 56a09d21a6ad..000000000000 --- a/dev-libs/libgcrypt/libgcrypt-1.11.1.ebuild +++ /dev/null @@ -1,195 +0,0 @@ -# Copyright 1999-2025 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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" -IUSE="+asm doc +getentropy static-libs" -IUSE+=" cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_arm_sve" -IUSE+=" cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 cpu_flags_ppc_vsx3" -IUSE+=" cpu_flags_x86_aes cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_avx512f cpu_flags_x86_padlock cpu_flags_x86_sha cpu_flags_x86_sse4_1" - -# 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.49[${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.11.1-riscv.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 -} - -src_configure() { - # Sensitive to optimisation; parts of the codebase are built with - # -O0 already. Don't risk it with UB. - strip-flags - - # Temporary workaround for a build failure (known gcc issue): - # - # * https://bugs.gentoo.org/956605 - # * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110812 - # - use riscv && filter-lto - - # Temporary workaround for mfpmath=sse on x86 cauing issues when -msse is - # stripped as it's not clear cut on how to handle in flag-o-matic we can at - # least solve it the ebuild see https://bugs.gentoo.org/959349 - use x86 && filter-flags -mfpmath=sse - - # Temporary workaround for build failures with gcc-15, see bug 951267 - append-cflags -std=gnu17 - - # Hardcodes the path to FGREP in libgcrypt-config - export ac_cv_path_SED="sed" - export ac_cv_path_EGREP="grep -E" - export ac_cv_path_EGREP_TRADITIONAL="grep -E" - export ac_cv_path_FGREP="grep -F" - export ac_cv_path_GREP="grep" - - multilib-minimal_src_configure -} - -multilib_src_configure() { - 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 - - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) - - 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_arm_sve sve-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_avx512f avx512-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 - - $(use asm || echo "--disable-asm") - - GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config" - GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-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 - # Avoid running (very) expensive bench-slope test. On hppa, it - # takes at least 7 hours. - local -x GCRYPT_NO_BENCHMARKS=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 -}
