mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-15 00:46:58 +02:00
dev-libs/libgcrypt: Sync with Gentoo
It's from Gentoo commit ffdfc5126fd494794f7ab8bf52eb6767bae84df6.
This commit is contained in:
parent
fc567c8019
commit
a11e54b45c
@ -1,3 +1,6 @@
|
|||||||
DIST libgcrypt-1.8.7.tar.bz2 2985660 BLAKE2B cb2132b826f3f3af240e6c9ac5fd992808aa17ce64144d17452591a5b1e402564af82c021b58f5fd620ebeb5894ac9654835f6d8376ec05ee41fc02189dd6825 SHA512 6309d17624d8029848990d225d5924886c951cef691266c8e010fbbb7f678972cee70cbb91d370ad0bcdc8c8761402a090c2c853c9427ec79293624a59da5060
|
DIST libgcrypt-1.10.1.tar.bz2 3778457 BLAKE2B 46f30459891183b6d9ec18f1c7907fee0ad156c7dd75044f3db2b4d1c19dc6f30b2dfa6f85bc82adc9243aaba913e40fb6faf77d2226ca5a33897220d032437a SHA512 e5ca7966624fff16c3013795836a2c4377f0193dbb4ac5ad2b79654b1fa8992e17d83816569a402212dc8367a7980d4141f5d6ac282bae6b9f02186365b61f13
|
||||||
DIST libgcrypt-1.8.8.tar.bz2 2987685 BLAKE2B 7b590c06d91403f1bbfa108379b3747271e9c83acc5547a4d43ef9ada9b0b7c78654cdc24f6cd0db012d50628ae4ec9320dcb63a901ec2dadde6a7ed56dbed7e SHA512 9861f3b5da3cb013eb79efbf2859864f8c2c11b41484b051c981c45cc0bf1569202838226da10ebddeb7a7b7f39ebd3a95f107b9bf6f908074ccc9a51ea94db8
|
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 3239704 BLAKE2B b8244bc12a68955797b0c2b474ac5c95df1014231f7180a2ffa113e3aacedc98eed60ee1e4b30b032a5fcd6a04855ae07142c223906d5db9c28328a71e014f33 SHA512 d0e117ac73c94d70e9521ee1e6328691498cc8328f8c4e21338096908f5c04c7b838966eb63d59494565f4e19f506c07dab4f4d922150d75610d9f7b57abbf60
|
||||||
|
DIST libgcrypt-1.9.4.tar.bz2.sig 119 BLAKE2B 4012c22259a9fd56f9da6c87d60077cea0dbfef85d4d4ad1ff6a2375ddefafc4cd03ee9083d18e080c14c95887b495062af886732a9593bcf1b8f187d21073fe SHA512 4aee16449b4b50dac62bd80217e769f32f43fb7cd994402b7d9cffbb1934b2771041c8c0c41a63ced9c8d9408025f9c5608ffc7f00e5e9a9b92a07cb5118a98a
|
||||||
|
@ -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 <gniibe@fsij.org>
|
||||||
|
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 <gniibe@fsij.org>
|
||||||
|
---
|
||||||
|
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
|
||||||
|
|
@ -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])
|
||||||
|
|
||||||
|
|
@ -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 <gniibe@fsij.org>
|
||||||
|
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 <gniibe@fsij.org>
|
||||||
|
--- 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; \
|
@ -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
|
||||||
|
{
|
@ -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 <<EOF >>./mpi/sysdep.h
|
|
||||||
#if __STDC__
|
|
||||||
#define C_SYMBOL_NAME(name) _##name
|
|
@ -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 <sam@gentoo.org>
|
||||||
|
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
|
@ -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
|
@ -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) && \
|
170
sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.1-r2.ebuild
vendored
Normal file
170
sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.1-r2.ebuild
vendored
Normal file
@ -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
|
||||||
|
}
|
173
sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.1-r3.ebuild
vendored
Normal file
173
sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.1-r3.ebuild
vendored
Normal file
@ -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
|
||||||
|
}
|
171
sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild
vendored
Normal file
171
sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild
vendored
Normal file
@ -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
|
||||||
|
}
|
@ -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
|
|
||||||
}
|
|
@ -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
|
|
||||||
}
|
|
136
sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.9.4-r2.ebuild
vendored
Normal file
136
sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.9.4-r2.ebuild
vendored
Normal file
@ -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
|
||||||
|
}
|
@ -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
|
|
||||||
}
|
|
@ -1,10 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||||
<pkgmetadata>
|
<pkgmetadata>
|
||||||
<maintainer type="person">
|
|
||||||
<email>zlogene@gentoo.org</email>
|
|
||||||
<name>Mikle Kolyada</name>
|
|
||||||
</maintainer>
|
|
||||||
<maintainer type="project">
|
<maintainer type="project">
|
||||||
<email>base-system@gentoo.org</email>
|
<email>base-system@gentoo.org</email>
|
||||||
<name>Gentoo Base System</name>
|
<name>Gentoo Base System</name>
|
||||||
@ -14,6 +10,6 @@
|
|||||||
</upstream>
|
</upstream>
|
||||||
<use>
|
<use>
|
||||||
<flag name="asm">Enable assembly for optimization</flag>
|
<flag name="asm">Enable assembly for optimization</flag>
|
||||||
<flag name="o-flag-munging">Enable O-flag mangling during build</flag>
|
<flag name="getentropy">Use getentropy function to obtain randomness from the kernel</flag>
|
||||||
</use>
|
</use>
|
||||||
</pkgmetadata>
|
</pkgmetadata>
|
||||||
|
Loading…
Reference in New Issue
Block a user