commit:     7fcaf377ac8f4add0ae23adffbb33bd067af9509
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 24 01:41:24 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jun 24 01:41:24 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7fcaf377

dev-libs/nettle: add 3.10

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-libs/nettle/Manifest           |  2 +
 dev-libs/nettle/nettle-3.10.ebuild | 99 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 101 insertions(+)

diff --git a/dev-libs/nettle/Manifest b/dev-libs/nettle/Manifest
index a2cbd22594c5..66e8fbf0537d 100644
--- a/dev-libs/nettle/Manifest
+++ b/dev-libs/nettle/Manifest
@@ -1,3 +1,5 @@
+DIST nettle-3.10.tar.gz 2640485 BLAKE2B 
edf0ba6375f06e2dd4b1e3ed4bab5f592ac04a36f748ce0461bbec32622eb3d5f96f89350926c24b5bbbf37dbe14a1ad64bba5df7cb7ad5987ec634573aabbb5
 SHA512 
18d5b904ce60514aa81b57bff2945e5f7f4366d4775e6a5ffc227b85be2def72b3d2159b983b75ac95a56d3167a2ef1a25b5dfc2fb6193f16a012935c36a7b34
+DIST nettle-3.10.tar.gz.sig 374 BLAKE2B 
9edebae1bc1941dfc19c3c3653f80ebf66e8aed974c99673a294ff6835145ca8265f5466829e27c5d0352e88a73e9a58fb017cdbad678705ae29cd27dd80fefe
 SHA512 
a56d46bfd545b0dff47ee6426e019afea024ebf40698018b8a4b7a25168ce615bbfe773894dc01ab246f7010ef6a7f1c248cf1f9c693f0f0dbaf27c33c7d216f
 DIST nettle-3.8.1.tar.gz 2406251 BLAKE2B 
22b4ec81645b579504356597ba87b637e46285682020c90e03ecaea386ac9b48eaf91ee76ae3b86b6060be355de20c320ab3b74958074ad23fc08ad9ab6a4cbb
 SHA512 
a405da3438d185d96917b03b00abb9ab43e04f58f770f657f716c25d64bb258ee170a71328e74736caa7121f50c0c89d3cc840c1201d2a92cfaf1357d24bdc6a
 DIST nettle-3.8.1.tar.gz.sig 374 BLAKE2B 
e2bfce4aaa1be114fb9bf8724f25db75c69c3b98538df46e9b1428ce615f7db3b9e9f9240d232fddac195db4568439b3f58989c20beca82aa6db79f4956db547
 SHA512 
978304b1faa5adc3b0d6ea7e9597af6154ad5d6e328913ac19184ece94771fdb2a7d5ce0af535ae8d28cb6ccd94fb3d4ef2613c0356df9e08b5d4c26ea646e09
 DIST nettle-3.9.1.tar.gz 2396741 BLAKE2B 
e3ceaefa19491e58f26b900beaf8b4e746feb2357c7677f5c050f257f4a23c304773446b6283a42a82cf9640e16522b8a71c47f137759f1df23cdeee4625d142
 SHA512 
5939c4b43cf9ff6c6272245b85f123c81f8f4e37089fa4f39a00a570016d837f6e706a33226e4bbfc531b02a55b2756ff312461225ed88de338a73069e031ced

diff --git a/dev-libs/nettle/nettle-3.10.ebuild 
b/dev-libs/nettle/nettle-3.10.ebuild
new file mode 100644
index 000000000000..b79aa1e683e3
--- /dev/null
+++ b/dev-libs/nettle/nettle-3.10.ebuild
@@ -0,0 +1,99 @@
+# 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/nettle.asc
+inherit multilib-build multilib-minimal toolchain-funcs verify-sig
+
+DESCRIPTION="Low-level cryptographic library"
+HOMEPAGE="https://www.lysator.liu.se/~nisse/nettle/ 
https://git.lysator.liu.se/nettle/nettle";
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${P}.tar.gz.sig )"
+
+LICENSE="|| ( LGPL-3 LGPL-2.1 )"
+# Subslot = libnettle - libhogweed soname version
+SLOT="0/8-6"
+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 doc +gmp static-libs 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_sha cpu_flags_x86_pclmul"
+# The arm64 crypto option controls AES, SHA1, and SHA2 usage.
+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 )
+"
+
+DEPEND="gmp? ( >=dev-libs/gmp-6.1:=[static-libs?,${MULTILIB_USEDEP}] )"
+RDEPEND="${DEPEND}"
+BDEPEND="
+       sys-devel/m4
+       doc? ( sys-apps/texinfo )
+       verify-sig? ( sec-keys/openpgp-keys-nettle )
+"
+
+MULTILIB_WRAPPED_HEADERS=(
+       /usr/include/nettle/version.h
+)
+
+DOCS=()
+HTML_DOCS=()
+
+src_prepare() {
+       default
+
+       # I do not see in config.sub reference to sunldsolaris.
+       # if someone complains readd
+       # -e 's/solaris\*)/sunldsolaris*)/' \
+       sed -e '/CFLAGS=/s: -ggdb3::' \
+               -i configure.ac configure || die
+
+       if use doc ; then
+               DOCS+=( nettle.pdf )
+               HTML_DOCS+=( nettle.html )
+       fi
+}
+
+multilib_src_configure() {
+       # We don't want to run Valgrind within ebuilds, it often gets
+       # confused by sandbox, etc.
+       export nettle_cv_prog_valgrind=no
+
+       # TODO: USE=debug w/ --enable-extra-asserts?
+       local myeconfargs=(
+               CC_FOR_BUILD="$(tc-getBUILD_CC)"
+
+               $(tc-is-static-only && echo --disable-shared)
+
+               # Intrinsics
+               $(use_enable cpu_flags_arm_neon arm-neon)
+               $(use_enable cpu_flags_arm_aes arm64-crypto)
+               $(use_enable cpu_flags_ppc_altivec power-altivec)
+               $(use_enable cpu_flags_ppc_vsx2 power-crypto-ext)
+               $(use_enable cpu_flags_ppc_vsx3 power9)
+               $(use_enable cpu_flags_x86_aes x86-aesni)
+               $(use_enable cpu_flags_x86_sha x86-sha-ni)
+               $(use_enable cpu_flags_x86_pclmul x86-pclmul)
+               $([[ ${CHOST} == *-solaris* ]] && echo 
'--disable-symbol-versions')
+               # TODO: cpu_flags_s390?
+               --disable-s390x-vf
+               --disable-s390x-msa
+
+               $(use_enable asm assembler)
+               $(multilib_native_use_enable doc documentation)
+               $(use_enable gmp public-key)
+               $(use_enable static-libs static)
+               --disable-fat
+
+               # openssl is just used for benchmarks (bug #427526)
+               --disable-openssl
+       )
+
+       # https://git.lysator.liu.se/nettle/nettle/-/issues/7
+       if use cpu_flags_ppc_altivec && ! tc-cpp-is-true "defined(__VSX__) && 
__VSX__ == 1" "${CPPFLAGS}" "${CFLAGS}" ; then
+               ewarn "cpu_flags_ppc_altivec is enabled, but nettle's asm 
requires >=P7."
+               ewarn "Disabling, sorry! See bug #920234."
+               myeconfargs+=( --disable-power-altivec )
+       fi
+
+       ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}

Reply via email to