summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/libgcrypt')
-rw-r--r--dev-libs/libgcrypt/Manifest4
-rw-r--r--dev-libs/libgcrypt/files/libgcrypt-1.10-build-Allow-build-with-Oz.patch50
-rw-r--r--dev-libs/libgcrypt/files/libgcrypt-1.10.1-configure-clang16.patch134
-rw-r--r--dev-libs/libgcrypt/files/libgcrypt-1.9.4-arm-neon-compile-fix.patch44
-rw-r--r--dev-libs/libgcrypt/libgcrypt-1.10.1-r2.ebuild176
-rw-r--r--dev-libs/libgcrypt/libgcrypt-1.10.1-r3.ebuild179
-rw-r--r--dev-libs/libgcrypt/libgcrypt-1.10.3.ebuild180
-rw-r--r--dev-libs/libgcrypt/libgcrypt-1.9.4-r2.ebuild142
8 files changed, 0 insertions, 909 deletions
diff --git a/dev-libs/libgcrypt/Manifest b/dev-libs/libgcrypt/Manifest
index 3160e534cd66..2bbd8c896934 100644
--- a/dev-libs/libgcrypt/Manifest
+++ b/dev-libs/libgcrypt/Manifest
@@ -1,8 +1,4 @@
-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.10.3.tar.bz2 3783827 BLAKE2B 1a228e02820e886016eb55dee75936c4422a15fb4f95a2f9bcd1e4faac4015d4321c7c8d23f164eb08ece5d62935ab3b3d3104eabfdd22db997ab3e5689dfa6f SHA512 8a8d4c61a6622d8481ceb9edc88ec43f58da32e316f79f8d4775325a48f8936aaa9eb355923b39e2c267b784e9c390600daeb62e0c94f00e30bbadb0d8c0865d
DIST libgcrypt-1.10.3.tar.bz2.sig 238 BLAKE2B 216baebca91b2e940f60d70a4260b6b6b8221ef88cfb42b020bc7b3743a465ef2cf105316648ed1e689cbbf7d79da421aa9f08b5af21c5b862734cf01f377214 SHA512 73795781a458c334ec6daade1b86ae8b788dd5da0b7198b46b8e54a103c5ec4c65a5dd7e6a9d173d136889f24e7f5721992f59117334f39bd1c8a94e3b55a048
-DIST libgcrypt-1.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/dev-libs/libgcrypt/files/libgcrypt-1.10-build-Allow-build-with-Oz.patch b/dev-libs/libgcrypt/files/libgcrypt-1.10-build-Allow-build-with-Oz.patch
deleted file mode 100644
index c54499e15dba..000000000000
--- a/dev-libs/libgcrypt/files/libgcrypt-1.10-build-Allow-build-with-Oz.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-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
-
diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.10.1-configure-clang16.patch b/dev-libs/libgcrypt/files/libgcrypt-1.10.1-configure-clang16.patch
deleted file mode 100644
index fa80c999a3aa..000000000000
--- a/dev-libs/libgcrypt/files/libgcrypt-1.10.1-configure-clang16.patch
+++ /dev/null
@@ -1,134 +0,0 @@
-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/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
deleted file mode 100644
index a42b0e89008a..000000000000
--- a/dev-libs/libgcrypt/files/libgcrypt-1.9.4-arm-neon-compile-fix.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-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.10.1-r2.ebuild b/dev-libs/libgcrypt/libgcrypt-1.10.1-r2.ebuild
deleted file mode 100644
index 3a7388fc7e25..000000000000
--- a/dev-libs/libgcrypt/libgcrypt-1.10.1-r2.ebuild
+++ /dev/null
@@ -1,176 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
-inherit autotools flag-o-matic linux-info multilib-minimal toolchain-funcs verify-sig
-
-DESCRIPTION="General purpose crypto library based on the code used in GnuPG"
-HOMEPAGE="https://www.gnupg.org/"
-SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
-SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )"
-
-LICENSE="LGPL-2.1+ GPL-2+ MIT"
-SLOT="0/20" # subslot = soname major version
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="+asm cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 cpu_flags_ppc_vsx3 cpu_flags_x86_aes cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_padlock cpu_flags_x86_sha cpu_flags_x86_sse4_1 doc +getentropy static-libs"
-
-# Build system only has --disable-arm-crypto-support right now
-# If changing this, update src_configure logic too.
-# ARM CPUs seem to, right now, support all-or-nothing for crypto extensions,
-# but this looks like it might change in future. This is just a safety check
-# in case people somehow do have a CPU which only supports some. They must
-# for now disable them all if that's the case.
-REQUIRED_USE="
- cpu_flags_arm_aes? ( cpu_flags_arm_sha1 cpu_flags_arm_sha2 )
- cpu_flags_arm_sha1? ( cpu_flags_arm_aes cpu_flags_arm_sha2 )
- cpu_flags_arm_sha2? ( cpu_flags_arm_aes cpu_flags_arm_sha1 )
- cpu_flags_ppc_vsx3? ( cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 )
- cpu_flags_ppc_vsx2? ( cpu_flags_ppc_altivec )
-"
-
-RDEPEND=">=dev-libs/libgpg-error-1.25[${MULTILIB_USEDEP}]
- getentropy? (
- kernel_linux? (
- elibc_glibc? ( >=sys-libs/glibc-2.25 )
- elibc_musl? ( >=sys-libs/musl-1.1.20 )
- )
- )"
-DEPEND="${RDEPEND}"
-BDEPEND="doc? ( virtual/texi2dvi )
- verify-sig? ( sec-keys/openpgp-keys-gnupg )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-multilib-syspath.patch
- "${FILESDIR}"/${PN}-powerpc-darwin.patch
- "${FILESDIR}"/${PN}-1.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")
-
- $(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_test() {
- # t-secmem and t-sexp need mlock which requires extra privileges; nspawn
- # at least disallows that by default.
- local -x GCRYPT_IN_ASAN_TEST=1
-
- default
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
- multilib_is_native_abi && use doc && dodoc doc/gcrypt.pdf
-}
-
-multilib_src_install_all() {
- default
- find "${ED}" -type f -name '*.la' -delete || die
-}
diff --git a/dev-libs/libgcrypt/libgcrypt-1.10.1-r3.ebuild b/dev-libs/libgcrypt/libgcrypt-1.10.1-r3.ebuild
deleted file mode 100644
index f1b329ab792a..000000000000
--- a/dev-libs/libgcrypt/libgcrypt-1.10.1-r3.ebuild
+++ /dev/null
@@ -1,179 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
-inherit autotools flag-o-matic linux-info multilib-minimal toolchain-funcs verify-sig
-
-DESCRIPTION="General purpose crypto library based on the code used in GnuPG"
-HOMEPAGE="https://www.gnupg.org/"
-SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
-SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )"
-
-LICENSE="LGPL-2.1+ GPL-2+ MIT"
-SLOT="0/20" # subslot = soname major version
-KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="+asm cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 cpu_flags_ppc_vsx3 cpu_flags_x86_aes cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_padlock cpu_flags_x86_sha cpu_flags_x86_sse4_1 doc +getentropy static-libs"
-
-# Build system only has --disable-arm-crypto-support right now
-# If changing this, update src_configure logic too.
-# ARM CPUs seem to, right now, support all-or-nothing for crypto extensions,
-# but this looks like it might change in future. This is just a safety check
-# in case people somehow do have a CPU which only supports some. They must
-# for now disable them all if that's the case.
-REQUIRED_USE="
- cpu_flags_arm_aes? ( cpu_flags_arm_sha1 cpu_flags_arm_sha2 )
- cpu_flags_arm_sha1? ( cpu_flags_arm_aes cpu_flags_arm_sha2 )
- cpu_flags_arm_sha2? ( cpu_flags_arm_aes cpu_flags_arm_sha1 )
- cpu_flags_ppc_vsx3? ( cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 )
- cpu_flags_ppc_vsx2? ( cpu_flags_ppc_altivec )
-"
-
-RDEPEND=">=dev-libs/libgpg-error-1.25[${MULTILIB_USEDEP}]
- getentropy? (
- kernel_linux? (
- elibc_glibc? ( >=sys-libs/glibc-2.25 )
- elibc_musl? ( >=sys-libs/musl-1.1.20 )
- )
- )"
-DEPEND="${RDEPEND}"
-BDEPEND="doc? ( virtual/texi2dvi )
- verify-sig? ( sec-keys/openpgp-keys-gnupg )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-multilib-syspath.patch
- "${FILESDIR}"/${PN}-powerpc-darwin.patch
- "${FILESDIR}"/${PN}-1.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")
-
- $(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_test() {
- # t-secmem and t-sexp need mlock which requires extra privileges; nspawn
- # at least disallows that by default.
- local -x GCRYPT_IN_ASAN_TEST=1
-
- default
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
- multilib_is_native_abi && use doc && dodoc doc/gcrypt.pdf
-}
-
-multilib_src_install_all() {
- default
- find "${ED}" -type f -name '*.la' -delete || die
-}
diff --git a/dev-libs/libgcrypt/libgcrypt-1.10.3.ebuild b/dev-libs/libgcrypt/libgcrypt-1.10.3.ebuild
deleted file mode 100644
index 38219a2d1a3b..000000000000
--- a/dev-libs/libgcrypt/libgcrypt-1.10.3.ebuild
+++ /dev/null
@@ -1,180 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
-inherit autotools flag-o-matic linux-info multilib-minimal toolchain-funcs verify-sig
-
-DESCRIPTION="General purpose crypto library based on the code used in GnuPG"
-HOMEPAGE="https://www.gnupg.org/"
-SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
-SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )"
-
-LICENSE="LGPL-2.1+ GPL-2+ MIT"
-SLOT="0/20" # subslot = soname major version
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="+asm cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 cpu_flags_ppc_vsx3 cpu_flags_x86_aes cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_padlock cpu_flags_x86_sha cpu_flags_x86_sse4_1 doc +getentropy static-libs"
-
-# Build system only has --disable-arm-crypto-support right now
-# If changing this, update src_configure logic too.
-# ARM CPUs seem to, right now, support all-or-nothing for crypto extensions,
-# but this looks like it might change in future. This is just a safety check
-# in case people somehow do have a CPU which only supports some. They must
-# for now disable them all if that's the case.
-REQUIRED_USE="
- cpu_flags_arm_aes? ( cpu_flags_arm_sha1 cpu_flags_arm_sha2 )
- cpu_flags_arm_sha1? ( cpu_flags_arm_aes cpu_flags_arm_sha2 )
- cpu_flags_arm_sha2? ( cpu_flags_arm_aes cpu_flags_arm_sha1 )
- cpu_flags_ppc_vsx3? ( cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 )
- cpu_flags_ppc_vsx2? ( cpu_flags_ppc_altivec )
-"
-
-RDEPEND="
- >=dev-libs/libgpg-error-1.25[${MULTILIB_USEDEP}]
- getentropy? (
- kernel_linux? (
- elibc_glibc? ( >=sys-libs/glibc-2.25 )
- elibc_musl? ( >=sys-libs/musl-1.1.20 )
- )
- )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- doc? ( virtual/texi2dvi )
- verify-sig? ( sec-keys/openpgp-keys-gnupg )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-multilib-syspath.patch
- "${FILESDIR}"/${PN}-powerpc-darwin.patch
- "${FILESDIR}"/${PN}-1.9.4-no-fgrep-libgcrypt-config.patch
-)
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/libgcrypt-config
-)
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} == buildonly ]]; then
- return
- fi
- if use kernel_linux && use getentropy; then
- unset KV_FULL
- get_running_version
- if [[ -n ${KV_FULL} ]] && kernel_is -lt 3 17; then
- eerror "The getentropy function requires the getrandom syscall."
- eerror "This was introduced in Linux 3.17."
- eerror "Your system is currently running Linux ${KV_FULL}."
- eerror "Disable the 'getentropy' USE flag or upgrade your kernel."
- die "Kernel is too old for getentropy"
- fi
- fi
-}
-
-pkg_setup() {
- :
-}
-
-src_prepare() {
- default
- eautoreconf
-}
-
-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")
-
- $(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_test() {
- # t-secmem and t-sexp need mlock which requires extra privileges; nspawn
- # at least disallows that by default.
- local -x GCRYPT_IN_ASAN_TEST=1
-
- default
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
- multilib_is_native_abi && use doc && dodoc doc/gcrypt.pdf
-}
-
-multilib_src_install_all() {
- default
- find "${ED}" -type f -name '*.la' -delete || die
-}
diff --git a/dev-libs/libgcrypt/libgcrypt-1.9.4-r2.ebuild b/dev-libs/libgcrypt/libgcrypt-1.9.4-r2.ebuild
deleted file mode 100644
index 18c1f9495d87..000000000000
--- a/dev-libs/libgcrypt/libgcrypt-1.9.4-r2.ebuild
+++ /dev/null
@@ -1,142 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/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+ GPL-2+ 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 ~x64-solaris"
-IUSE="+asm cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 cpu_flags_ppc_vsx3 cpu_flags_x86_aes cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_padlock cpu_flags_x86_sha cpu_flags_x86_sse4_1 doc 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")
-
- $(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_test() {
- # t-secmem and t-sexp need mlock which requires extra privileges; nspawn
- # at least disallows that by default.
- local -x GCRYPT_IN_ASAN_TEST=1
-
- default
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
- multilib_is_native_abi && use doc && dodoc doc/gcrypt.pdf
-}
-
-multilib_src_install_all() {
- default
- find "${ED}" -type f -name '*.la' -delete || die
-}