summaryrefslogtreecommitdiff
path: root/dev-libs/libgcrypt
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-02-02 01:39:05 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-02-02 01:39:05 +0000
commitfcc5224904648a8e6eb528d7603154160a20022f (patch)
tree3bfce096b38a9cea8eed13fc70c1526c456e9abd /dev-libs/libgcrypt
parent2fd57282f0262ca084e05b0f2c63fbada395d02b (diff)
gentoo resync : 02.02.2022
Diffstat (limited to 'dev-libs/libgcrypt')
-rw-r--r--dev-libs/libgcrypt/Manifest3
-rw-r--r--dev-libs/libgcrypt/files/libgcrypt-1.9.4-arm-neon-compile-fix.patch44
-rw-r--r--dev-libs/libgcrypt/libgcrypt-1.9.4.ebuild36
3 files changed, 79 insertions, 4 deletions
diff --git a/dev-libs/libgcrypt/Manifest b/dev-libs/libgcrypt/Manifest
index d25b5f568165..0f43c2bbda72 100644
--- a/dev-libs/libgcrypt/Manifest
+++ b/dev-libs/libgcrypt/Manifest
@@ -1,4 +1,5 @@
AUX libgcrypt-1.6.1-uscore.patch 843 BLAKE2B a1023bf915e342dd52d07d4c497d3e514c8c4b6c621e4f8704c4841fd95d48773f0af850a456c6f80b80deed878be1334f08f8181f97dce64ed9e61f5cb1bae5 SHA512 971814ac34f17464a96fbc110fe995923d873981949a0126e50c206d39499d6146fd00414e837774e6932e4b491cc68c4147278d6216dda630fb876bc8f61791
+AUX libgcrypt-1.9.4-arm-neon-compile-fix.patch 1389 BLAKE2B 548fc764050f322786f3c0ec8f806a6a897987115db0cfd8a2a4f1ffc134a31e9069dca4e334a7a5288f5176ce8e2e8450dc2003c56915d5fdd4dc3c11012c0a SHA512 0b83ab2585502d65d1ccf36440f4a73aa9a9d3a8cb40375ca6a4e81fcc962040fb233df9a345c823281605c061b8ea0e509e0e16a5c3a32581a279e5904bbfd0
AUX libgcrypt-multilib-syspath.patch 588 BLAKE2B 6a8d30246263339571455df3c1cccfc9f38e50117cef34bc92ce37a296c3e31017c0190923ea992f51706c55a63c6f75b1d9fc7d8d40930707486f419e1795c4 SHA512 913c1a474aba50ec3589fb5a991f65204ba2cc28203b92353fdef8fb092350c3be814a57f29a26a2176627509a4f573f6db02ebdbcde3f04a2f1d632879293dc
AUX libgcrypt-powerpc-darwin.patch 444 BLAKE2B 37b95d21f0df07c5c06cd7e1e1efe73d02b9ac59dfe2a31d43b7a535bed356ff24095d528662d58a0cdc9c3eb25de50b5b5a4d9feb0ddb917a42f9332b33982e SHA512 2a2e7e84222f4672a70df827955bb8592e714580fecf6b5238e131038460169f9d80fd04d63d6e232f6fc448c04e0acf214993537ef22e297ea98a4d12c6ade5
DIST libgcrypt-1.8.7.tar.bz2 2985660 BLAKE2B cb2132b826f3f3af240e6c9ac5fd992808aa17ce64144d17452591a5b1e402564af82c021b58f5fd620ebeb5894ac9654835f6d8376ec05ee41fc02189dd6825 SHA512 6309d17624d8029848990d225d5924886c951cef691266c8e010fbbb7f678972cee70cbb91d370ad0bcdc8c8761402a090c2c853c9427ec79293624a59da5060
@@ -6,5 +7,5 @@ DIST libgcrypt-1.8.8.tar.bz2 2987685 BLAKE2B 7b590c06d91403f1bbfa108379b3747271e
DIST libgcrypt-1.9.4.tar.bz2 3239704 BLAKE2B b8244bc12a68955797b0c2b474ac5c95df1014231f7180a2ffa113e3aacedc98eed60ee1e4b30b032a5fcd6a04855ae07142c223906d5db9c28328a71e014f33 SHA512 d0e117ac73c94d70e9521ee1e6328691498cc8328f8c4e21338096908f5c04c7b838966eb63d59494565f4e19f506c07dab4f4d922150d75610d9f7b57abbf60
EBUILD libgcrypt-1.8.7.ebuild 2307 BLAKE2B 07fbec8932d2aa100e835463a98cae64451eac74ad8e0f9d96d642d7f7430bd4e778b82e6851c537f3e31a11b5acc52a396bb9c86cb21d81556417e0ee49e922 SHA512 8225fbe1f3154766235ae022bae1e0a31287ff6b27f6cd68b549724c13469ed32bd6387817b95bf6e2baa5a6b6be28b0914043b995cd1d0ffd258dfc200134a5
EBUILD libgcrypt-1.8.8.ebuild 2318 BLAKE2B 335fffac9a01ebe760a019fb668ce229f22ac6bc6aea38d2fd893fdda587d76895b0bf27146a32c4817d955eab4ac5ae9aa032a3157f9dcf3ae07a98599cc60e SHA512 eea978726cb25bb0c9de94b8617cabd3e5c28b20010ccfba2f4124a4609b655d496ea376d9d72bf07c031116433f74c03d69335950ce295d922ae83801a19ada
-EBUILD libgcrypt-1.9.4.ebuild 2844 BLAKE2B 53eb4fb610facb8455ddc557ac9333e1fcab61b2bfa8db28cf09ba9fa13b4b128dca92f0eaf43bc90745b3d533ad08e671ac5c6cdebcd5b6cffed1cc349de103 SHA512 77e9afc4fe1990ac2cf3d1ec96123a17f6327900d4565e16c98cf06027e397f3aca0b24bd56cee07a7a3f10d7ad5f6c914c9fb7ef3d0422dff91e0403816d217
+EBUILD libgcrypt-1.9.4.ebuild 4414 BLAKE2B a41923959d6ab0fc6a75c9c799cee492293b656628a50acec6c3692bccdddc1f7e4ec8b1a8764da64c69ccac4bea8f4d757f3b30cd1efb93eea98fcab236fa0d SHA512 344586cc5b6c373b920a53b7c3835da6c2e76108102d5b8569671510b2c1e38f5e12036b0256a07036ef335c02ed1ac5ae38fc2de99579dd421edbb173c49c54
MISC metadata.xml 597 BLAKE2B c16e58e302622a51420a94adf5a3f47bf16e49cf5c3e21f5c552d1f64a533aa9ad9a58ae15fb4a314bf7bc833706f0a35ca74305fe96e40a6f8a5b20a267e2c6 SHA512 0d5ea002080a6e0d656c2be39b725168a323ec9536ec85cf791d64d7f0dd8255e3dd541934866c61d61d19789860fc71b2f6fa11ffdfc9b83c8177773f451632
diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.9.4-arm-neon-compile-fix.patch b/dev-libs/libgcrypt/files/libgcrypt-1.9.4-arm-neon-compile-fix.patch
new file mode 100644
index 000000000000..a42b0e89008a
--- /dev/null
+++ b/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 <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
diff --git a/dev-libs/libgcrypt/libgcrypt-1.9.4.ebuild b/dev-libs/libgcrypt/libgcrypt-1.9.4.ebuild
index 544ba718baee..b921a352a0e5 100644
--- a/dev-libs/libgcrypt/libgcrypt-1.9.4.ebuild
+++ b/dev-libs/libgcrypt/libgcrypt-1.9.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,8 +11,22 @@ 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"
+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_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 o-flag-munging 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}"
@@ -21,6 +35,7 @@ BDEPEND="doc? ( virtual/texi2dvi )"
PATCHES=(
"${FILESDIR}"/${PN}-multilib-syspath.patch
"${FILESDIR}"/${PN}-powerpc-darwin.patch
+ "${FILESDIR}"/${PN}-1.9.4-arm-neon-compile-fix.patch
)
MULTILIB_CHOST_TOOLS=(
@@ -39,11 +54,26 @@ multilib_src_configure() {
# 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
+
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)