diff options
author | V3n3RiX <venerix@koprulu.sector> | 2022-02-02 01:39:05 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2022-02-02 01:39:05 +0000 |
commit | fcc5224904648a8e6eb528d7603154160a20022f (patch) | |
tree | 3bfce096b38a9cea8eed13fc70c1526c456e9abd /dev-libs/libgcrypt | |
parent | 2fd57282f0262ca084e05b0f2c63fbada395d02b (diff) |
gentoo resync : 02.02.2022
Diffstat (limited to 'dev-libs/libgcrypt')
-rw-r--r-- | dev-libs/libgcrypt/Manifest | 3 | ||||
-rw-r--r-- | dev-libs/libgcrypt/files/libgcrypt-1.9.4-arm-neon-compile-fix.patch | 44 | ||||
-rw-r--r-- | dev-libs/libgcrypt/libgcrypt-1.9.4.ebuild | 36 |
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) |