diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/Manifest index 5a23e33ec5..b32b0bd853 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/Manifest @@ -1,3 +1,6 @@ -DIST libgcrypt-1.8.7.tar.bz2 2985660 BLAKE2B cb2132b826f3f3af240e6c9ac5fd992808aa17ce64144d17452591a5b1e402564af82c021b58f5fd620ebeb5894ac9654835f6d8376ec05ee41fc02189dd6825 SHA512 6309d17624d8029848990d225d5924886c951cef691266c8e010fbbb7f678972cee70cbb91d370ad0bcdc8c8761402a090c2c853c9427ec79293624a59da5060 -DIST libgcrypt-1.8.8.tar.bz2 2987685 BLAKE2B 7b590c06d91403f1bbfa108379b3747271e9c83acc5547a4d43ef9ada9b0b7c78654cdc24f6cd0db012d50628ae4ec9320dcb63a901ec2dadde6a7ed56dbed7e SHA512 9861f3b5da3cb013eb79efbf2859864f8c2c11b41484b051c981c45cc0bf1569202838226da10ebddeb7a7b7f39ebd3a95f107b9bf6f908074ccc9a51ea94db8 +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.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/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.10-build-Allow-build-with-Oz.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.10-build-Allow-build-with-Oz.patch new file mode 100644 index 0000000000..c54499e15d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.10-build-Allow-build-with-Oz.patch @@ -0,0 +1,50 @@ +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/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.10.1-configure-clang16.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.10.1-configure-clang16.patch new file mode 100644 index 0000000000..fa80c999a3 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.10.1-configure-clang16.patch @@ -0,0 +1,134 @@ +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/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.10.1-fix-no-asm-hppa.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.10.1-fix-no-asm-hppa.patch new file mode 100644 index 0000000000..e665749db3 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.10.1-fix-no-asm-hppa.patch @@ -0,0 +1,35 @@ +https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commitdiff;h=c0692324fe8b3806eefc5017767917dca9cd94d0 +https://dev.gnupg.org/T5976 +https://bugs.gentoo.org/832871 + +From c0692324fe8b3806eefc5017767917dca9cd94d0 Mon Sep 17 00:00:00 2001 +From: NIIBE Yutaka +Date: Tue, 17 May 2022 10:44:55 +0900 +Subject: [PATCH] mpi: Allow building with --disable-asm for HPPA. + +* mpi/longlong.h [__hppa] (udiv_qrnnd): Only define +when assembler is enabled. + +-- + +GnuPG-bug-id: 5976 +Signed-off-by: NIIBE Yutaka +--- a/mpi/longlong.h ++++ b/mpi/longlong.h +@@ -430,14 +430,14 @@ extern UDItype __udiv_qrnnd (); + # define UMUL_TIME 40 + # define UDIV_TIME 80 + # endif +-# ifndef LONGLONG_STANDALONE ++# if !defined(LONGLONG_STANDALONE) && !defined(ASM_DISABLED) + # define udiv_qrnnd(q, r, n1, n0, d) \ + do { USItype __r; \ + (q) = __udiv_qrnnd (&__r, (n1), (n0), (d)); \ + (r) = __r; \ + } while (0) + extern USItype __udiv_qrnnd (); +-# endif /* !LONGLONG_STANDALONE */ ++# endif /* !LONGLONG_STANDALONE && !ASM_DISABLED */ + # define count_leading_zeros(count, x) \ + do { \ + USItype __tmp; \ diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.10.2-darwin.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.10.2-darwin.patch new file mode 100644 index 0000000000..6153f1840b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.10.2-darwin.patch @@ -0,0 +1,20 @@ +https://dev.gnupg.org/T6442 + +Patch as suggested by Werned in https://dev.gnupg.org/T6442#169396 + +--- a/random/rndgetentropy.c ++++ b/random/rndgetentropy.c +@@ -94,8 +94,13 @@ + * and might not be applicable on other FIPS modules not running + * RHEL kernel. + */ ++#ifdef GRND_RANDOM + nbytes = length < 32 ? length : 32; + ret = getrandom (buffer, nbytes, GRND_RANDOM); ++#else ++ ret = -1; ++ gpg_err_set_errno (ENOSYS); ++#endif + } + else + { diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.6.1-uscore.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.6.1-uscore.patch deleted file mode 100644 index 22bfac3104..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.6.1-uscore.patch +++ /dev/null @@ -1,26 +0,0 @@ -The version taken from GnuPG 1.4 assumes any cross-compiled package have -prefixed underscores, which is not the case; by using libtool's own macro, -we can avoid the whole issue. - ---- libgcrypt-1.6.1/configure.ac -+++ libgcrypt-1.6.1/configure.ac -@@ -1022,7 +1022,7 @@ - # Check whether underscores in symbols are required. This needs to be - # done before setting up the assembler stuff. - # --GNUPG_SYS_SYMBOL_UNDERSCORE() -+LT_SYS_SYMBOL_USCORE - - - ################################# ---- libgcrypt-1.6.1/mpi/config.links -+++ libgcrypt-1.6.1/mpi/config.links -@@ -362,7 +362,7 @@ - - # Make sysdep.h - echo '/* created by config.links - do not edit */' >./mpi/sysdep.h --if test x$ac_cv_sys_symbol_underscore = xyes; then -+if test x$sys_symbol_underscore = xyes; then - cat <>./mpi/sysdep.h - #if __STDC__ - #define C_SYMBOL_NAME(name) _##name diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.9.4-arm-neon-compile-fix.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.9.4-arm-neon-compile-fix.patch new file mode 100644 index 0000000000..a42b0e8900 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.9.4-arm-neon-compile-fix.patch @@ -0,0 +1,44 @@ +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/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.9.4-no-fgrep-libgcrypt-config.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.9.4-no-fgrep-libgcrypt-config.patch new file mode 100644 index 0000000000..738eac1631 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-1.9.4-no-fgrep-libgcrypt-config.patch @@ -0,0 +1,21 @@ +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/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-powerpc-darwin.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-powerpc-darwin.patch new file mode 100644 index 0000000000..f1c7cf9e95 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-powerpc-darwin.patch @@ -0,0 +1,16 @@ +Drop guard for CPU detection, configure won't get this wrong, and this +check fails on some PPC platforms where these guards aren't set (due to +different kernel/libc). + +--- a/src/hwf-ppc.c ++++ b/src/hwf-ppc.c +@@ -33,9 +33,6 @@ + #include "g10lib.h" + #include "hwf-common.h" + +-#if !defined (__powerpc__) && !defined (__powerpc64__) +-# error Module build for wrong CPU. +-#endif + + + #if defined(HAVE_SYS_AUXV_H) && defined(HAVE_ELF_AUX_INFO) && \ diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.1-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.1-r2.ebuild new file mode 100644 index 0000000000..fdaaf606e1 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.1-r2.ebuild @@ -0,0 +1,170 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/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 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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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") + # causes bus-errors on sparc64-solaris + $([[ ${CHOST} == sparcv9-*-solaris* ]] && 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_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/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.1-r3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.1-r3.ebuild new file mode 100644 index 0000000000..617627a993 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.1-r3.ebuild @@ -0,0 +1,173 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/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 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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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") + # causes bus-errors on sparc64-solaris + $([[ ${CHOST} == sparcv9-*-solaris* ]] && 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_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/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild new file mode 100644 index 0000000000..fa948f3360 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild @@ -0,0 +1,171 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/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 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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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 +} + +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") + # causes bus-errors on sparc64-solaris + $([[ ${CHOST} == sparcv9-*-solaris* ]] && 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_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/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.8.7.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.8.7.ebuild deleted file mode 100644 index 104cd442af..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.8.7.ebuild +++ /dev/null @@ -1,77 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools flag-o-matic multilib-minimal toolchain-funcs - -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" - -LICENSE="LGPL-2.1 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 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="doc o-flag-munging static-libs" - -RDEPEND=">=dev-libs/libgpg-error-1.25[${MULTILIB_USEDEP}]" -DEPEND="${RDEPEND}" -BDEPEND="doc? ( virtual/texi2dvi )" - -PATCHES=( - "${FILESDIR}"/${PN}-1.6.1-uscore.patch - "${FILESDIR}"/${PN}-multilib-syspath.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 - local myeconfargs=( - CC_FOR_BUILD="$(tc-getBUILD_CC)" - --enable-noexecstack - # required for sys-power/suspend[crypt], bug 751568 - $(use_enable static-libs static) - $(use_enable o-flag-munging O-flag-munging) - - # disabled due to various applications requiring privileges - # after libgcrypt drops them (bug #468616) - --without-capabilities - - # http://trac.videolan.org/vlc/ticket/620 - # causes bus-errors on sparc64-solaris - $([[ ${CHOST} == *86*-darwin* ]] && echo "--disable-asm") - $([[ ${CHOST} == sparcv9-*-solaris* ]] && echo "--disable-asm") - - GPG_ERROR_CONFIG="${EROOT}/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_install() { - emake DESTDIR="${D}" install - multilib_is_native_abi && use doc && dodoc doc/gcrypt.pdf -} - -multilib_src_install_all() { - default - find "${D}" -type f -name '*.la' -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.8.8.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.8.8.ebuild deleted file mode 100644 index 45f5a784c6..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.8.8.ebuild +++ /dev/null @@ -1,84 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools flag-o-matic multilib-minimal toolchain-funcs - -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" - -LICENSE="LGPL-2.1 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 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="doc o-flag-munging static-libs" - -RDEPEND=">=dev-libs/libgpg-error-1.25[${MULTILIB_USEDEP}]" -DEPEND="${RDEPEND}" -BDEPEND="doc? ( virtual/texi2dvi )" - -PATCHES=( - "${FILESDIR}"/${PN}-1.6.1-uscore.patch - "${FILESDIR}"/${PN}-multilib-syspath.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 - - local myeconfargs=( - CC_FOR_BUILD="$(tc-getBUILD_CC)" - - --enable-noexecstack - # disabled due to various applications requiring privileges - # after libgcrypt drops them (bug #468616) - --without-capabilities - - # required for sys-power/suspend[crypt], bug 751568 - $(use_enable static-libs static) - $(use_enable o-flag-munging O-flag-munging) - - # http://trac.videolan.org/vlc/ticket/620 - # causes bus-errors on sparc64-solaris - $([[ ${CHOST} == *86*-darwin* ]] && echo "--disable-asm") - $([[ ${CHOST} == sparcv9-*-solaris* ]] && 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_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/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.9.4-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.9.4-r2.ebuild new file mode 100644 index 0000000000..cd55a6e154 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.9.4-r2.ebuild @@ -0,0 +1,136 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/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 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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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") + # causes bus-errors on sparc64-solaris + $([[ ${CHOST} == sparcv9-*-solaris* ]] && 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_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/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.9.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.9.4.ebuild deleted file mode 100644 index 584154b6ff..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.9.4.ebuild +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools flag-o-matic multilib-minimal toolchain-funcs - -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" - -LICENSE="LGPL-2.1 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 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="+asm cpu_flags_arm_neon 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 o-flag-munging static-libs" - -RDEPEND=">=dev-libs/libgpg-error-1.25[${MULTILIB_USEDEP}]" -DEPEND="${RDEPEND}" -BDEPEND="doc? ( virtual/texi2dvi )" - -PATCHES=( - "${FILESDIR}"/${PN}-multilib-syspath.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 - local myeconfargs=( - CC_FOR_BUILD="$(tc-getBUILD_CC)" - - --enable-noexecstack - $(use_enable cpu_flags_arm_neon neon-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) - $(use_enable o-flag-munging O-flag-munging) - - # disabled due to various applications requiring privileges - # after libgcrypt drops them (bug #468616) - --without-capabilities - - # http://trac.videolan.org/vlc/ticket/620 - # causes bus-errors on sparc64-solaris - $([[ ${CHOST} == *86*-darwin* ]] && echo "--disable-asm") - $([[ ${CHOST} == sparcv9-*-solaris* ]] && 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_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/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/metadata.xml index afd8e678af..33d811c69f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/metadata.xml @@ -1,10 +1,6 @@ - - zlogene@gentoo.org - Mikle Kolyada - base-system@gentoo.org Gentoo Base System @@ -14,6 +10,6 @@ Enable assembly for optimization - Enable O-flag mangling during build + Use getentropy function to obtain randomness from the kernel