commit:     c9d0962b7e7a280a662a807f147327c133cc56fd
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 16 02:43:04 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Aug 16 03:57:40 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c9d0962b

net-libs/gnutls: add 3.8.7.1

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

 net-libs/gnutls/Manifest              |   2 +
 net-libs/gnutls/gnutls-3.8.7.1.ebuild | 161 ++++++++++++++++++++++++++++++++++
 2 files changed, 163 insertions(+)

diff --git a/net-libs/gnutls/Manifest b/net-libs/gnutls/Manifest
index 04048a4ca136..ec396df38fd3 100644
--- a/net-libs/gnutls/Manifest
+++ b/net-libs/gnutls/Manifest
@@ -10,3 +10,5 @@ DIST gnutls-3.8.5.tar.xz 6491504 BLAKE2B 
30ea0e213b426df896af7cddfc39a7c50fd3130
 DIST gnutls-3.8.5.tar.xz.sig 119 BLAKE2B 
62ff7b33fb80422774f8252f574560679b7dc4fa56fa680a4cf570320fa9692aa6f8b6a7e4683a684572287cfd22168f58679d2dc4cc507dc50269ed126990fd
 SHA512 
b0f7a8ec348765112cac75fd732e066adaa1595bb83024cfeff6633aba35277d8aceda145c733c3d95f1e0eb4d34fead2479abdb08d6041362094a235460fa67
 DIST gnutls-3.8.6.tar.xz 6517476 BLAKE2B 
58910e252231c02cfaa1183b38f3127f61aa991d266078bef8fb65709930a2d2dda1adad5fa32cdb203fda65955bcab9193ce71b5fba0b74e6a36a218bc0dd94
 SHA512 
58631c456dfb43f8cb6a1703ffa91c593a33357f37dc146e808d88692e19c7ac10aeabea40bee9952205be97e00648879e9f0fa80e670e8e695f8633ba726513
 DIST gnutls-3.8.6.tar.xz.sig 119 BLAKE2B 
044d0e31a5fa402daa73e88ce140f57e30cb143324c7cce1515a3bc6c444fe2f1fa2dd954dec69de09c7b4726766e17ec05410bbbbcf5b35dda1cb0f6452a0a5
 SHA512 
3f9552cdf5fa96184fbe394dd484fb55e6a3577d1e048aea373b82cda335ea0f174f2fb11926dc58532c1f950cd10a6a35bc36e9fe813a1259eae5c5364920b2
+DIST gnutls-3.8.7.1.tar.xz 6695404 BLAKE2B 
43334190ce1e45c5302b195f17d06e767d1bea7376278bfbc6ff181a2f57423ba5f334c00ae1833938c7a7a8d15cf607ac862e57435a756ccfa98527d469fd3a
 SHA512 
429cea78e227d838105791b28a18270c3d2418bfb951c322771e6323d5f712204d63d66a6606ce9604a92d236a8dd07d651232c717264472d27eb6de26ddc733
+DIST gnutls-3.8.7.1.tar.xz.sig 580 BLAKE2B 
ca627d7b3f089205c94f556bee9c06428ada9e0116bb50486dc7dd70f611ae744416d96b17452749d102ccd16bf7b400577b1886a7c8be55833c9e2fde85f9ae
 SHA512 
53ebdaa9775ae22f7eb5e7d6f5411ec667c9c880cea84e23651b6d1994fb1398c09d8efa39b21c96f8be29fa09c2436bdd732a061308956ca1650e3e1878ed57

diff --git a/net-libs/gnutls/gnutls-3.8.7.1.ebuild 
b/net-libs/gnutls/gnutls-3.8.7.1.ebuild
new file mode 100644
index 000000000000..7d5cb7b66fec
--- /dev/null
+++ b/net-libs/gnutls/gnutls-3.8.7.1.ebuild
@@ -0,0 +1,161 @@
+# 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/gnutls.asc
+inherit libtool multilib-minimal verify-sig flag-o-matic
+
+DESCRIPTION="A secure communications library implementing the SSL, TLS and 
DTLS protocols"
+HOMEPAGE="https://www.gnutls.org/";
+SRC_URI="mirror://gnupg/gnutls/v$(ver_cut 1-2)/${P}.tar.xz"
+SRC_URI+=" verify-sig? ( mirror://gnupg/gnutls/v$(ver_cut 1-2)/${P}.tar.xz.sig 
)"
+if [[ ${PV} == 3.8.7.1 ]] ; then
+       # Workaround for botched dist tarball
+       S="${WORKDIR}"/gnutls-3.8.7
+fi
+
+LICENSE="GPL-3 LGPL-2.1+"
+# As of 3.8.0, the C++ library is header-only, but we won't drop the subslot
+# component for it until libgnutls.so breaks ABI, to avoid pointless rebuilds.
+# Subslot format:
+# <libgnutls.so number>.<libgnutlsxx.so number>
+SLOT="0/30.30"
+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="brotli +cxx dane doc examples +idn nls +openssl pkcs11 seccomp sslv2 
sslv3 static-libs test test-full +tls-heartbeat tools zlib zstd"
+REQUIRED_USE="test-full? ( cxx dane doc examples idn nls openssl pkcs11 
seccomp tls-heartbeat tools )"
+RESTRICT="!test? ( test )"
+
+# >=nettle-3.10 as a workaround for bug #936011
+RDEPEND="
+       >=dev-libs/libtasn1-4.9:=[${MULTILIB_USEDEP}]
+       dev-libs/libunistring:=[${MULTILIB_USEDEP}]
+       >=dev-libs/nettle-3.10:=[gmp,${MULTILIB_USEDEP}]
+       >=dev-libs/gmp-5.1.3-r1:=[${MULTILIB_USEDEP}]
+       brotli? ( >=app-arch/brotli-1.0.0:=[${MULTILIB_USEDEP}] )
+       dane? ( >=net-dns/unbound-1.4.20:=[${MULTILIB_USEDEP}] )
+       nls? ( >=virtual/libintl-0-r1:=[${MULTILIB_USEDEP}] )
+       pkcs11? ( >=app-crypt/p11-kit-0.23.1[${MULTILIB_USEDEP}] )
+       idn? ( >=net-dns/libidn2-0.16-r1:=[${MULTILIB_USEDEP}] )
+       zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+       zstd? ( >=app-arch/zstd-1.3.0:=[${MULTILIB_USEDEP}] )
+"
+DEPEND="
+       ${RDEPEND}
+       test? (
+               seccomp? ( sys-libs/libseccomp )
+       )
+"
+BDEPEND="
+       dev-build/gtk-doc-am
+       >=virtual/pkgconfig-0-r1
+       doc? ( dev-util/gtk-doc )
+       nls? ( sys-devel/gettext )
+       test-full? (
+               app-crypt/dieharder
+               || ( sys-libs/libfaketime >=app-misc/datefudge-1.22 )
+               dev-libs/softhsm:2[-bindist(-)]
+               net-dialup/ppp
+               net-misc/socat
+       )
+       verify-sig? ( >=sec-keys/openpgp-keys-gnutls-20240415 )
+"
+
+DOCS=( README.md doc/certtool.cfg )
+
+HTML_DOCS=()
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+       # gnulib FPs
+       MIN
+       alignof
+       static_assert
+)
+
+src_prepare() {
+       default
+
+       # bug #520818
+       export TZ=UTC
+
+       use doc && HTML_DOCS+=( doc/gnutls.html )
+
+       # don't try to use system certificate store on macOS, it is
+       # confusingly ignoring our ca-certificates and more importantly
+       # fails to compile in certain configurations
+       sed -i -e 's/__APPLE__/__NO_APPLE__/' lib/system/certs.c || die
+
+       if [[ ${CHOST} == *-solaris* ]] ; then
+               # should be gone on next release, for gnulib memset_s breakage
+               append-cppflags -D__STDC_WANT_LIB_EXT1__=1
+               # alloca usage, similar
+               sed -i -e '$a#include <alloca.h>' config.h.in || die
+       fi
+
+       # Use sane .so versioning on FreeBSD.
+       elibtoolize
+}
+
+multilib_src_configure() {
+       LINGUAS="${LINGUAS//en/en@boldquot en@quot}"
+
+       local libconf=()
+
+       # TPM needs to be tested before being enabled
+       # Note that this may add a libltdl dep when enabled. Check configure.ac.
+       libconf+=(
+               --without-tpm
+               --without-tpm2
+       )
+
+       # hardware-accel is disabled on OSX because the asm files force
+       #   GNU-stack (as doesn't support that) and when that's removed ld
+       #   complains about duplicate symbols
+       [[ ${CHOST} == *-darwin* ]] && libconf+=( 
--disable-hardware-acceleration )
+
+       # -fanalyzer substantially slows down the build and isn't useful for
+       # us. It's useful for upstream as it's static analysis, but it's not
+       # useful when just getting something built.
+       export gl_cv_warn_c__fanalyzer=no
+
+       local myeconfargs=(
+               --disable-valgrind-tests
+               $(multilib_native_enable manpages)
+               $(multilib_native_use_enable doc gtk-doc)
+               $(multilib_native_use_enable doc)
+               $(multilib_native_use_enable seccomp seccomp-tests)
+               $(multilib_native_use_enable test tests)
+               $(multilib_native_use_enable test-full full-test-suite)
+               $(multilib_native_use_enable tools)
+               $(use_enable cxx)
+               $(use_enable dane libdane)
+               $(use_enable nls)
+               $(use_enable openssl openssl-compatibility)
+               $(use_enable sslv2 ssl2-support)
+               $(use_enable sslv3 ssl3-support)
+               $(use_enable static-libs static)
+               $(use_enable tls-heartbeat heartbeat-support)
+               $(use_with brotli)
+               $(use_with idn)
+               $(use_with pkcs11 p11-kit)
+               $(use_with zlib)
+               $(use_with zstd)
+               --disable-rpath
+               
--with-default-trust-store-file="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt
+               
--with-unbound-root-key-file="${EPREFIX}"/etc/dnssec/root-anchors.txt
+               --without-included-libtasn1
+               $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
+       )
+
+       ECONF_SOURCE="${S}" econf "${libconf[@]}" "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+       einstalldocs
+       find "${ED}" -type f -name '*.la' -delete || die
+
+       if use examples; then
+               docinto examples
+               dodoc doc/examples/*.c
+       fi
+}

Reply via email to