summaryrefslogtreecommitdiff
path: root/dev-libs/botan
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/botan')
-rw-r--r--dev-libs/botan/Manifest17
-rw-r--r--dev-libs/botan/botan-2.19.3-r2.ebuild203
-rw-r--r--dev-libs/botan/botan-3.1.1.ebuild218
-rw-r--r--dev-libs/botan/botan-3.2.0-r1.ebuild229
-rw-r--r--dev-libs/botan/botan-3.2.0-r2.ebuild229
-rw-r--r--dev-libs/botan/botan-3.6.1.ebuild229
-rw-r--r--dev-libs/botan/files/botan-3.2.0-ninja.patch20
-rw-r--r--dev-libs/botan/files/botan-3.6.1-boost-1.87.patch322
-rw-r--r--dev-libs/botan/files/botan-3.6.1-no-avx2.patch29
-rw-r--r--dev-libs/botan/files/botan-3.6.1-tests-glibcxx_assertions.patch40
10 files changed, 0 insertions, 1536 deletions
diff --git a/dev-libs/botan/Manifest b/dev-libs/botan/Manifest
index 33c06216a93a..633b06e98298 100644
--- a/dev-libs/botan/Manifest
+++ b/dev-libs/botan/Manifest
@@ -1,27 +1,10 @@
AUX botan-2.19.5-boost-1.87.patch 15481 BLAKE2B f1a03cb17ee5a56845cd3e469c64e4bb4c5a54c689c623e65e6fd15fbbf931ce5b42623ad96d579b072bc1a7f85cd19bfb75f2c596fbbe79b46f0aea867e3aec SHA512 b30882c312395b81563d21cdd87c67ba1ac74010995a5f4bd81ae26c855b984f7243e9a20bcf147b6c6ef7c613032d5302296a33004a76ca165f1ef767ffb569
AUX botan-2.19.5-cloudflare.patch 3012 BLAKE2B 066cd7a5d1e384ebd0596e2af0f00f98c9abd8d939e11a431530f98576dc5073399b00a0a2408bdc46315aa0f5b9850bdfb75d53162f3964b2ac076bc49b52c3 SHA512 fb9780ad3f004b1a5818d9d8ffad14378d9e587ed83454583dff48c977700276e72ba533f07a20aa8c18a88245dc97a76218ba8071922b7172aec2d7d064fa02
AUX botan-2.19.5-no-distutils.patch 2597 BLAKE2B 5d2cf7e89939abdbf97cb01f6364809782c504c22a613b0fb0fdd112beda35b7f824fb9756a5782b55de775926c4447f3cbf5cc2803844acdd115e6ac1db8cce SHA512 171400cffbefb1d6a50bd0cd134083c6e63efd439a9f0129152637dcc4d3ec00d06494e6d8d3a526a71198a2f3e3a87951e23bcf8f647b3e9e7e3e59c9370c98
-AUX botan-3.2.0-ninja.patch 575 BLAKE2B f75eb0a16fadfae6e0a1bb554262d8d902152c054fd97c19a1c4eda31a780138efd42ce05992896d16d98415c555a7cfa01b6dfa201c7e97ad971deab851e7b7 SHA512 ff9078ae1a43404680cf757da15bd17541f51f8de02a1a8d02f075676a1e35ff9a78adba0f3b84847634bc4904ed7b5824df6c708785865a4d01d4f9139e617b
-AUX botan-3.6.1-boost-1.87.patch 14585 BLAKE2B 175d0a7e0bd16fb1e8f1d2493ad41e6633ec32284704cfb182892acf35695adb38f142ebf557697a422b40b11a0b7842f9852b45022168ffa691ddd84f8334a3 SHA512 f4adea3772b7bff4304c3189f3be38c75c2a3ddcfeb451f7578e2f0e1487e2d1eedef0c7dd782a699cf966931a7ab32f0ca4079d9145b7c43495a6281bf68bea
-AUX botan-3.6.1-no-avx2.patch 797 BLAKE2B 9ac37defe0b3b8a280c13799019fb508e31b8237c1a86ffd34d2f7b4022acef1a30dc464b1dd25f6ede9a86a1d45b3fcfc644fe67ed4d7cf8b49292a6745ea96 SHA512 01b1a6912789a7e578fc54ab340f5eee52dc12bf596dbca502c227a6e713499ae17f5a8b1b74b215d796014baeb0cf93125ac8bbecec7fe3ab292b4114524bce
-AUX botan-3.6.1-tests-glibcxx_assertions.patch 1989 BLAKE2B 21ecc6ac95f228c648da3b14927392378691078a67a2aeebaac18895646c03d531bf98342f6a10d40ae5eefbe5e65b565cb62ea860f70a8875673a21164d36d5 SHA512 41a8fcb9a7c865aceb70393f0ccbf5ac8bd7387cd6ec99e4806dbe02a6b90ddb016914bc6f14a5ae742c4989bfd68a0e28ec36b06cc1cb065a27aa62c0cced0d
-DIST Botan-2.19.3.tar.xz 6105896 BLAKE2B 6d7778d9e9a101c76f35c65b0fb0201641cd91967ba934510f3836ee4b924d54cabdc760dd460997679250aa66e1d2a99369cd03f8fb9e7b2fe672d4b355215f SHA512 80012397e2aa7cc88a9536340ac9b770d1195fddda53b9d4cfde82318dd05f9d4f925bbdff773aba99883a701f4d30581e9d5c97e915fa80c3ca2acfa5a92110
-DIST Botan-2.19.3.tar.xz.asc 488 BLAKE2B cd86bf77306aad2956cced6ac4fb96081279af88743e87d8fe5437e72e9fa8db8aaf40d0b5cb9c5b3a85204cb7d63c3baa3054126ab4c9a2db527e6835a069d7 SHA512 9142f932c958138b4bac32f503a550e6c73b61612690a280dcb98efe8c367aa6bd3cd88b4ed4decec376bb87596a780a21bdcb01d4a3573a1c44fbeb0aa49d23
DIST Botan-2.19.5.tar.xz 6140148 BLAKE2B ab3a133a84c1beb2efd32fcb1746c13ec58cf24cf28cea43c93e9dd4b45c65a47225ff92139e34e1470cf150f839794e3bbd316df5e72a060f11d03141002b79 SHA512 323930fbabd833a6affd71f90835e4ca31a9632e346dee9c5f396aca898697d0f2993b860f739d02cdf49fa7fbb3a2d306c4790e5d5f39620b2dea284983669c
DIST Botan-2.19.5.tar.xz.asc 488 BLAKE2B 7d52f66f7495ccc249a58ec30206234a9ea4420bcc6e6412593a975bec1173afe55bbcd2c0cbe3859a3fdf547464d3d2949bc03dcb9dbd25c4d5c97589f48202 SHA512 3ba185cf077c109d183fff14270fa60c7be01fd87077e233e6473365111ba83d41448db6d5b5849fe1194c47e84cc2da91a0f75c30ea43538772f13138e472fa
-DIST Botan-3.1.1.tar.xz 8800368 BLAKE2B c31365e6bd4106f96a033e5f092c528c0185577f41d9a698d2630ece0f660f87f03e0775ebeb5c4d812819bbc6eb556b5ff15c16f243288ae73c8bf1fbb991ce SHA512 ed6bdadb910b0775245648140212953ed364aa26107f851e39ac5cb664d7f476c519a22cdad41f0e520796c4ebe453c56ca68a2178e39f815d445e9979333795
-DIST Botan-3.1.1.tar.xz.asc 488 BLAKE2B 9ac94473d90a26932e507cdb3f46d8381565deecff38a5a2f7fe043b33405071adf0baee4235dd94bb6d35fa3ffedca6192fb5f5d76030874a90a399d88f9744 SHA512 f52e8602a57f590150f6f49829e788910006e5113ab6e85c6efe73009b8db752b5f28b869c6265ef6dd3c2727c64c0182d125f02f92485485768416c618acdb9
-DIST Botan-3.2.0.tar.xz 8998204 BLAKE2B f21e7574af93ab3331607f4a4ecf1b2cbbc0db4b510ea8ad19a5286d46d3a8e37e13746d2d4751eb16a70fdc8371b4435b030ef0a17f1ab6dcd76bd81bb3a4fa SHA512 526cf71144584fef6e73f14f6aa1e2a7b03a92a3e51436287764bb61e742a94e02926bcc2aab038f08ef2169cb511152c8ecd71d51e06deb4875dc676875c2d9
-DIST Botan-3.2.0.tar.xz.asc 488 BLAKE2B f7bc716dd18eedf35928933e22c75de3d2731330dfdaf8a5048e8ad86e1f3896ea55294a64b7f82593af16dd2e4097a9ba68f25baa024e175b7334478bcf84a6 SHA512 3ee42ac73e1bd6cea0a2e9f468b88d67c02a4a69786c41ddf9fc7f94b6847be00e0f3f0f38f934ab599b8d6dd29006414294df8b371f5cf2422292f3dd176756
-DIST Botan-3.6.1.tar.xz 7581864 BLAKE2B 744eed158e021d26b9414b3a098e017e6e2c2160fc7fb6a0f24f6cbbb4b08501157108dedd7a71fc3645e27c86608a9ba5d18a11087adfd1c9b174ca3ce85b30 SHA512 06327c55bee5e0d2e142f81b997dd8a1ef98f61ef920b57f6eb4e80ebf6b3de1c62373b889d4a32e62509495792e0b46d5dcc82a6446266974b4d4ead8d9f287
-DIST Botan-3.6.1.tar.xz.asc 488 BLAKE2B 3538c941f707a182f86226dfdbb8222570671e0bce3ca61137a5d978c2b1f5e658ffc1168d7e73a1861210adfac8aa661124c9cbc4950973f7b1e2c3360aab90 SHA512 871c6d91368d8a080e704afb53b1339c6d06aa57aaa45f260bccf1cb1ed31c635587ba930f954ab55668a7ca13b89b2f2acba3c0f1723e3f7190c6ebe9dc2e0b
DIST Botan-3.7.1.tar.xz 8659408 BLAKE2B 3cd934bc738c0665c4a5b3ea4391402058ade2159a185ee257aa2746ef8aa29e59873fd0a95dbdf978ce950bab6c25a72975d73b5d17da898cb16bc04ae7b8ba SHA512 f9b5d793642e9f9e9f444de3a0851840b4ed1f5f82804ad60bb5ede62c5a90ea05cb41e8aefcf556caa15da1aaa78ba1fcb040df3365705e3fd9c6a12788b72e
DIST Botan-3.7.1.tar.xz.asc 488 BLAKE2B 6f00bf01f0f02e8cefd926e4b5f70feb8e689ef9286684e45c5d1139a686af649bf44950e7bfc6a9c881d1d233c1ab5d10ee0815e8119e0ffdc89ec62ec5089c SHA512 a3fc9958e606b0bc073287dc45cb4e2143ff3399a8891a4d51a0c25052d9eb395d97bd31eb97b13344a27186e32906a6411927211345f3ae06464acb73eaa3b6
-EBUILD botan-2.19.3-r2.ebuild 5084 BLAKE2B 4e38d5f419f00e83691cc0eabf70679ef9c2b3ca6583de89bdd629ff047b7ed2fb42e8a577b4352bd5702925de8df0c4c1694562d2fa7b37a3599e13af276da9 SHA512 018dc521bc66d71373865307debdf1bd556b8c663fde27a8e2abb1ab96ce783851024255d8059b0c0146f6ea33d8c43469e77d07996bf3c4ccc7b69a90c0c65a
EBUILD botan-2.19.5.ebuild 5224 BLAKE2B b24860c971aabe2a3eacfe3b617b0db00f991e2615785107b6fe8c7d5e85b5c16637b7afc2912c80c6d972d81f57831b3358e54dedce303d10471e34823feafd SHA512 3043e3d0b6ca928985e2265ac358b576dc1c8659d530b6a615a5b63528f8865d31409fb0d0585a83808175972284279697528bc38f2e53fc9b11be6a1fba7b27
-EBUILD botan-3.1.1.ebuild 5687 BLAKE2B 2a54f03f4c60f34a426306a440c961d8c670d353dc309eece4b89c251e280a3025faf8c46d76b5f3c2778678fb5302bffa4d13192b7c49b83ff2c4830bd53cf9 SHA512 039403784b9e5314fbf44491a075337e82b88a872965d9c4ec230c9e62b72d2758fb22c0270232faaf07c6de85bc6c9476986f5a264b5253cdb147f8d6c0fd09
-EBUILD botan-3.2.0-r1.ebuild 5949 BLAKE2B d3896126f123289ba540718729e96b72fb5c40527be15fe3b7921040210014efdb65748c4dc601130949bf48fced3864f746915ee9ada72f77d85120fbf85a10 SHA512 623175e58b1b045757ff939c05b1cc55357e0d32b76485027ab45179adc5278eb01f46bac5b944ebbb00e0fcb6963da4ae7202721546c306dc0355e7bb747161
-EBUILD botan-3.2.0-r2.ebuild 5974 BLAKE2B 0d13e2fd6b89cd5cd4254b0d4d109ce1df29f7e191df73c453786db9e2c134fc79a7faa592147c0bd780e1ea2e0d0c230b51402e028ea1b45f6fa188e20cd8a5 SHA512 d1ec5f53985ddcd8ef65439385a9fa4b33be4686e8fbcedf1c7c3b15eeb74dc635bf46bbba39195e6a5487297ac71e68b9442c129ab36d92c60b8d366dfde1f3
-EBUILD botan-3.6.1.ebuild 6065 BLAKE2B 3aabed0798a41be5fe48eba353bb5065ce43f609e5ff0a5c2e80e0c1f16e3b26ffb1a619144f0777cd3ee857de8c1205434494edf6fe96a3056a057949c95767 SHA512 2654262dc89039fb45b8548fc8643490b2a4d15c89b6c5ae25d85be8009313530e377ec2a3afc18a18ba07f7f82cf1203cba9ae0dd5699078ed04a6710f285eb
EBUILD botan-3.7.1.ebuild 5951 BLAKE2B 3522a96571d9fc66a5fe48830f4c186a459e41ebbbf50e9252813ef17cec49642c11eb161376c5cd855364dd5f30a160d50d203e53a90d2310af7ffef1f51214 SHA512 8c7b0cde78ad7ae6299d647e32c98f0b1bcd9c9c65c501b49c53d9370ed0c25ec128599075dc48a61471552668e119bc1419f9d696da6c5052d808af0d86003d
MISC metadata.xml 587 BLAKE2B 8d46466fee633fda0f81549a6e512e4ef5963eda31d7c882cee2fe2bfae8b0379509f046d0bdfdb1fe9481eea0585f1754753ed6b509c4f922b8fbf9ae089f39 SHA512 258e04098b9db5821a66e38d02ffb195b57378621fd2a549c8892744cf257be857ebf75c8e4a2f041cd267f07c2f1c3a5fca8df61db0538d8282507cf03a029d
diff --git a/dev-libs/botan/botan-2.19.3-r2.ebuild b/dev-libs/botan/botan-2.19.3-r2.ebuild
deleted file mode 100644
index 60b6a1a16cce..000000000000
--- a/dev-libs/botan/botan-2.19.3-r2.ebuild
+++ /dev/null
@@ -1,203 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/botan.asc
-inherit edo flag-o-matic multiprocessing python-r1 toolchain-funcs verify-sig
-
-MY_P="Botan-${PV}"
-DESCRIPTION="C++ crypto library"
-HOMEPAGE="https://botan.randombit.net/"
-SRC_URI="https://botan.randombit.net/releases/${MY_P}.tar.xz"
-SRC_URI+=" verify-sig? ( https://botan.randombit.net/releases/${MY_P}.tar.xz.asc )"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="BSD-2"
-# New major versions are parallel-installable
-SLOT="$(ver_cut 1)/$(ver_cut 1-2)" # soname version
-KEYWORDS="amd64 ~arm ~arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86 ~ppc-macos"
-IUSE="doc boost bzip2 lzma python static-libs sqlite test tools zlib"
-RESTRICT="!test? ( test )"
-
-CPU_USE=(
- cpu_flags_arm_{aes,neon}
- cpu_flags_ppc_altivec
- cpu_flags_x86_{aes,avx2,popcnt,rdrand,sha,sse2,ssse3,sse4_1,sse4_2}
-)
-
-IUSE+=" ${CPU_USE[@]}"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-# NOTE: Boost is needed at runtime too for the CLI tool.
-DEPEND="
- boost? ( dev-libs/boost:= )
- bzip2? ( >=app-arch/bzip2-1.0.5:= )
- lzma? ( app-arch/xz-utils:= )
- python? ( ${PYTHON_DEPS} )
- sqlite? ( dev-db/sqlite:3= )
- zlib? ( >=sys-libs/zlib-1.2.3:= )
-"
-RDEPEND="
- ${DEPEND}
- !<dev-libs/botan-3.0.0-r1:3[tools]
-"
-BDEPEND="
- ${PYTHON_DEPS}
- $(python_gen_any_dep '
- doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
- ')
- verify-sig? ( sec-keys/openpgp-keys-botan )
-"
-
-# NOTE: Considering patching Botan?
-# Please see upstream's guidance:
-# https://botan.randombit.net/handbook/packaging.html#minimize-distribution-patches
-
-python_check_deps() {
- use doc || return 0
- python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-src_configure() {
- python_setup
-
- local disable_modules=(
- $(usev !boost 'boost')
- )
-
- if [[ -z "${DISABLE_MODULES}" ]] ; then
- elog "Disabling module(s): ${disable_modules[@]}"
- fi
-
- local chostarch="${CHOST%%-*}"
-
- # Arch specific wrangling
- local myos=
- case ${CHOST} in
- *-darwin*)
- myos=darwin
- ;;
- *)
- myos=linux
-
- if [[ ${CHOST} == *hppa* ]] ; then
- chostarch=parisc
- elif [[ ${ABI} == sparc64 ]] ; then
- chostarch="sparc64"
- elif [[ ${ABI} == sparc32 ]] ; then
- chostarch="sparc32"
- fi
- ;;
- esac
-
- local pythonvers=()
- if use python ; then
- _append() {
- pythonvers+=( ${EPYTHON/python/} )
- }
-
- python_foreach_impl _append
- fi
-
- local myargs=(
- # Intrinsics
- # TODO: x86 RDSEED (new CPU_FLAGS_X86?)
- # TODO: POWER Crypto (new CPU_FLAGS_PPC?)
- $(usev !cpu_flags_arm_aes '--disable-armv8crypto')
- $(usev !cpu_flags_arm_neon '--disable-neon')
- $(usev !cpu_flags_ppc_altivec '--disable-altivec')
- $(usev !cpu_flags_x86_aes '--disable-aes-ni')
- $(usev !cpu_flags_x86_avx2 '--disable-avx2')
- $(usev !cpu_flags_x86_popcnt '--disable-bmi2')
- $(usev !cpu_flags_x86_rdrand '--disable-rdrand')
- $(usev !cpu_flags_x86_sha '--disable-sha-ni')
- $(usev !cpu_flags_x86_sse2 '--disable-sse2')
- $(usev !cpu_flags_x86_ssse3 '--disable-ssse3')
- $(usev !cpu_flags_x86_sse4_1 '--disable-sse4.1')
- $(usev !cpu_flags_x86_sse4_2 '--disable-sse4.2')
-
- # HPPA's GCC doesn't support SSP
- $(usev hppa '--without-stack-protector')
-
- $(use_with boost)
- $(use_with bzip2)
- $(use_with doc documentation)
- $(use_with doc sphinx)
- $(use_with lzma)
- $(use_enable static-libs static-library)
- $(use_with sqlite sqlite3)
- $(use_with zlib)
-
- --cpu=${chostarch}
- --docdir=share/doc
- --disable-modules=$(IFS=","; echo "${disable_modules[*]}")
- --distribution-info="Gentoo ${PVR}"
- --libdir="$(get_libdir)"
- # Avoid collisions between slots for tools (bug #905700)
- --program-suffix=$(ver_cut 1)
-
- # Don't install Python bindings automatically
- # (do it manually later in the right place)
- # bug #723096
- --no-install-python-module
-
- --os=${myos}
- --prefix="${EPREFIX}"/usr
- --with-endian="$(tc-endian)"
- --with-python-version=$(IFS=","; echo "${pythonvers[*]}")
- )
-
- local build_targets=(
- shared
- $(usev static-libs static)
- $(usev tools cli)
- $(usev test tests)
- )
-
- myargs+=(
- --build-targets=$(IFS=","; echo "${build_targets[*]}")
- )
-
- if use elibc_glibc && use kernel_linux ; then
- myargs+=(
- --with-os-features=getrandom,getentropy
- )
- fi
-
- tc-export AR CC CXX
-
- local sanitizers=()
- if is-flagq -fsanitize=address ; then
- sanitizers+=( address )
- fi
- if is-flagq -fsanitize=undefined ; then
- sanitizers+=( undefined )
- fi
- filter-flags '-fsanitize=*'
- myargs+=(
- --enable-sanitizers=$(IFS=","; echo "${sanitizers[*]}")
- )
-
- edo ${EPYTHON} configure.py --verbose "${myargs[@]}"
-}
-
-src_test() {
- LD_LIBRARY_PATH="${S}" edo ./botan-test$(ver_cut 1) --test-threads="$(makeopts_jobs)"
-}
-
-src_install() {
- default
-
- if [[ -d "${ED}"/usr/share/doc/${P} ]] ; then
- # --docdir in configure controls the parent directory unfortunately
- mv "${ED}"/usr/share/doc/${P} "${ED}"/usr/share/doc/${PF} || die
- fi
-
- # Manually install the Python bindings (bug #723096)
- if use python ; then
- python_foreach_impl python_domodule src/python/botan$(ver_cut 1).py
- fi
-}
diff --git a/dev-libs/botan/botan-3.1.1.ebuild b/dev-libs/botan/botan-3.1.1.ebuild
deleted file mode 100644
index 0c48886d9385..000000000000
--- a/dev-libs/botan/botan-3.1.1.ebuild
+++ /dev/null
@@ -1,218 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/botan.asc
-inherit edo flag-o-matic multiprocessing python-r1 toolchain-funcs verify-sig
-
-MY_P="Botan-${PV}"
-DESCRIPTION="C++ crypto library"
-HOMEPAGE="https://botan.randombit.net/"
-SRC_URI="https://botan.randombit.net/releases/${MY_P}.tar.xz"
-SRC_URI+=" verify-sig? ( https://botan.randombit.net/releases/${MY_P}.tar.xz.asc )"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="BSD-2"
-# New major versions are parallel-installable
-SLOT="$(ver_cut 1)/$(ver_cut 1-2)" # soname version
-KEYWORDS="amd64 ~arm ~arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~ppc-macos"
-IUSE="doc boost bzip2 lzma python static-libs sqlite test tools zlib"
-RESTRICT="!test? ( test )"
-
-CPU_USE=(
- cpu_flags_arm_{aes,neon}
- cpu_flags_ppc_altivec
- cpu_flags_x86_{aes,avx2,popcnt,rdrand,sha,sse2,ssse3,sse4_1,sse4_2}
-)
-
-IUSE+=" ${CPU_USE[@]}"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-# NOTE: Boost is needed at runtime too for the CLI tool.
-DEPEND="
- boost? ( dev-libs/boost:= )
- bzip2? ( >=app-arch/bzip2-1.0.5:= )
- lzma? ( app-arch/xz-utils:= )
- python? ( ${PYTHON_DEPS} )
- sqlite? ( dev-db/sqlite:3= )
- zlib? ( >=sys-libs/zlib-1.2.3:= )
-"
-RDEPEND="
- ${DEPEND}
- !<dev-libs/botan-2.19.3-r1:2[tools]
-"
-BDEPEND="
- ${PYTHON_DEPS}
- $(python_gen_any_dep '
- doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
- ')
- || ( >=sys-devel/gcc-11:* >=llvm-core/clang-14:* )
- verify-sig? ( sec-keys/openpgp-keys-botan )
-"
-
-# NOTE: Considering patching Botan?
-# Please see upstream's guidance:
-# https://botan.randombit.net/handbook/packaging.html#minimize-distribution-patches
-
-python_check_deps() {
- use doc || return 0
- python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- # bug #908958
- if tc-is-gcc && ver_test $(gcc-version) -lt 11 ; then
- eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
- eerror "Please upgrade GCC: emerge -v1 sys-devel/gcc"
- die "GCC version is too old to compile Botan!"
- elif tc-is-clang && ver_test $(clang-version) -lt 14 ; then
- eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
- eerror "Please upgrade Clang: emerge -v1 llvm-core/clang"
- die "Clang version is too old to compile Botan!"
- fi
-}
-
-src_configure() {
- tc-export AR CC CXX
- python_setup
-
- local disable_modules=(
- $(usev !boost 'boost')
- )
-
- if [[ -z "${DISABLE_MODULES}" ]] ; then
- elog "Disabling module(s): ${disable_modules[@]}"
- fi
-
- local chostarch="${CHOST%%-*}"
-
- # Arch specific wrangling
- local myos=
- case ${CHOST} in
- *-darwin*)
- myos=darwin
- ;;
- *)
- myos=linux
-
- if [[ ${CHOST} == *hppa* ]] ; then
- chostarch=parisc
- elif [[ ${ABI} == sparc64 ]] ; then
- chostarch="sparc64"
- elif [[ ${ABI} == sparc32 ]] ; then
- chostarch="sparc32"
- fi
- ;;
- esac
-
- local pythonvers=()
- if use python ; then
- _append() {
- pythonvers+=( ${EPYTHON/python/} )
- }
-
- python_foreach_impl _append
- fi
-
- local myargs=(
- # Intrinsics
- # TODO: x86 RDSEED (new CPU_FLAGS_X86?)
- # TODO: POWER Crypto (new CPU_FLAGS_PPC?)
- $(usev !cpu_flags_arm_aes '--disable-armv8crypto')
- $(usev !cpu_flags_arm_neon '--disable-neon')
- $(usev !cpu_flags_ppc_altivec '--disable-altivec')
- $(usev !cpu_flags_x86_aes '--disable-aes-ni')
- $(usev !cpu_flags_x86_avx2 '--disable-avx2')
- $(usev !cpu_flags_x86_popcnt '--disable-bmi2')
- $(usev !cpu_flags_x86_rdrand '--disable-rdrand')
- $(usev !cpu_flags_x86_sha '--disable-sha-ni')
- $(usev !cpu_flags_x86_sse2 '--disable-sse2')
- $(usev !cpu_flags_x86_ssse3 '--disable-ssse3')
- $(usev !cpu_flags_x86_sse4_1 '--disable-sse4.1')
- $(usev !cpu_flags_x86_sse4_2 '--disable-sse4.2')
-
- # HPPA's GCC doesn't support SSP
- $(usev hppa '--without-stack-protector')
-
- $(use_with boost)
- $(use_with bzip2)
- $(use_with doc documentation)
- $(use_with doc sphinx)
- $(use_with lzma)
- $(use_enable static-libs static-library)
- $(use_with sqlite sqlite3)
- $(use_with zlib)
-
- --cpu=${chostarch}
- --docdir=share/doc
- --disable-modules=$(IFS=","; echo "${disable_modules[*]}")
- --distribution-info="Gentoo ${PVR}"
- --libdir="$(get_libdir)"
- # Avoid collisions between slots for tools (bug #905700)
- --program-suffix=$(ver_cut 1)
-
- # Don't install Python bindings automatically
- # (do it manually later in the right place)
- # bug #723096
- --no-install-python-module
-
- --os=${myos}
- --prefix="${EPREFIX}"/usr
- --with-endian="$(tc-endian)"
- --with-python-version=$(IFS=","; echo "${pythonvers[*]}")
- )
-
- local build_targets=(
- shared
- $(usev static-libs static)
- $(usev tools cli)
- $(usev test tests)
- )
-
- myargs+=(
- --build-targets=$(IFS=","; echo "${build_targets[*]}")
- )
-
- if use elibc_glibc && use kernel_linux ; then
- myargs+=(
- --with-os-features=getrandom,getentropy
- )
- fi
-
- local sanitizers=()
- if is-flagq -fsanitize=address ; then
- sanitizers+=( address )
- fi
- if is-flagq -fsanitize=undefined ; then
- sanitizers+=( undefined )
- fi
- filter-flags '-fsanitize=*'
- myargs+=(
- --enable-sanitizers=$(IFS=","; echo "${sanitizers[*]}")
- )
-
- edo ${EPYTHON} configure.py --verbose "${myargs[@]}"
-}
-
-src_test() {
- LD_LIBRARY_PATH="${S}" edo ./botan-test$(ver_cut 1) --test-threads="$(makeopts_jobs)"
-}
-
-src_install() {
- default
-
- if [[ -d "${ED}"/usr/share/doc/${P} && ${P} != ${PF} ]] ; then
- # --docdir in configure controls the parent directory unfortunately
- mv "${ED}"/usr/share/doc/${P} "${ED}"/usr/share/doc/${PF} || die
- fi
-
- # Manually install the Python bindings (bug #723096)
- if use python ; then
- python_foreach_impl python_domodule src/python/botan$(ver_cut 1).py
- fi
-}
diff --git a/dev-libs/botan/botan-3.2.0-r1.ebuild b/dev-libs/botan/botan-3.2.0-r1.ebuild
deleted file mode 100644
index 612b0486a98a..000000000000
--- a/dev-libs/botan/botan-3.2.0-r1.ebuild
+++ /dev/null
@@ -1,229 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/botan.asc
-inherit edo flag-o-matic multiprocessing ninja-utils python-r1 toolchain-funcs verify-sig
-
-MY_P="Botan-${PV}"
-DESCRIPTION="C++ crypto library"
-HOMEPAGE="https://botan.randombit.net/"
-SRC_URI="https://botan.randombit.net/releases/${MY_P}.tar.xz"
-SRC_URI+=" verify-sig? ( https://botan.randombit.net/releases/${MY_P}.tar.xz.asc )"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="BSD-2"
-# New major versions are parallel-installable
-SLOT="$(ver_cut 1)/$(ver_cut 1-2)" # soname version
-KEYWORDS="amd64 ~arm ~arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-macos"
-IUSE="doc boost bzip2 lzma python static-libs sqlite test tools zlib"
-RESTRICT="!test? ( test )"
-
-CPU_USE=(
- cpu_flags_arm_{aes,neon,sha1,sha2}
- cpu_flags_ppc_altivec
- cpu_flags_x86_{aes,avx2,popcnt,rdrand,sha,sse2,ssse3,sse4_1,sse4_2}
-)
-
-IUSE+=" ${CPU_USE[@]}"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-# NOTE: Boost is needed at runtime too for the CLI tool.
-DEPEND="
- boost? ( dev-libs/boost:= )
- bzip2? ( >=app-arch/bzip2-1.0.5:= )
- lzma? ( app-arch/xz-utils:= )
- python? ( ${PYTHON_DEPS} )
- sqlite? ( dev-db/sqlite:3= )
- zlib? ( >=sys-libs/zlib-1.2.3:= )
-"
-RDEPEND="
- ${DEPEND}
- !<dev-libs/botan-2.19.3-r1:2[tools]
-"
-BDEPEND="
- ${PYTHON_DEPS}
- ${NINJA_DEPEND}
- $(python_gen_any_dep '
- doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
- ')
- || ( >=sys-devel/gcc-11:* >=llvm-core/clang-14:* )
- verify-sig? ( sec-keys/openpgp-keys-botan )
-"
-
-# NOTE: Considering patching Botan?
-# Please see upstream's guidance:
-# https://botan.randombit.net/handbook/packaging.html#minimize-distribution-patches
-PATCHES=(
- "${FILESDIR}"/${P}-ninja.patch
-)
-
-python_check_deps() {
- use doc || return 0
- python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- # bug #908958
- if tc-is-gcc && ver_test $(gcc-version) -lt 11 ; then
- eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
- eerror "Please upgrade GCC: emerge -v1 sys-devel/gcc"
- die "GCC version is too old to compile Botan!"
- elif tc-is-clang && ver_test $(clang-version) -lt 14 ; then
- eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
- eerror "Please upgrade Clang: emerge -v1 llvm-core/clang"
- die "Clang version is too old to compile Botan!"
- fi
-}
-
-src_configure() {
- tc-export AR CC CXX
- python_setup
-
- local disable_modules=(
- $(usev !boost 'boost')
- )
-
- if [[ -z "${DISABLE_MODULES}" ]] ; then
- elog "Disabling module(s): ${disable_modules[@]}"
- fi
-
- local chostarch="${CHOST%%-*}"
-
- # Arch specific wrangling
- local myos=
- case ${CHOST} in
- *-darwin*)
- myos=darwin
- ;;
- *)
- myos=linux
-
- if [[ ${CHOST} == *hppa* ]] ; then
- chostarch=parisc
- elif [[ ${ABI} == sparc64 ]] ; then
- chostarch="sparc64"
- elif [[ ${ABI} == sparc32 ]] ; then
- chostarch="sparc32"
- fi
- ;;
- esac
-
- local pythonvers=()
- if use python ; then
- _append() {
- pythonvers+=( ${EPYTHON/python/} )
- }
-
- python_foreach_impl _append
- fi
-
- local myargs=(
- # Intrinsics
- # TODO: x86 RDSEED (new CPU_FLAGS_X86?)
- # TODO: POWER Crypto (new CPU_FLAGS_PPC?)
- $(usev !cpu_flags_arm_aes '--disable-armv8crypto')
- $(usev !cpu_flags_arm_neon '--disable-neon')
- $(usev !cpu_flags_arm_sha1 '--disable-armv8crypto')
- $(usev !cpu_flags_arm_sha2 '--disable-armv8crypto')
- $(usev !cpu_flags_ppc_altivec '--disable-altivec')
- $(usev !cpu_flags_x86_aes '--disable-aes-ni')
- $(usev !cpu_flags_x86_avx2 '--disable-avx2')
- $(usev !cpu_flags_x86_popcnt '--disable-bmi2')
- $(usev !cpu_flags_x86_rdrand '--disable-rdrand')
- $(usev !cpu_flags_x86_sha '--disable-sha-ni')
- $(usev !cpu_flags_x86_sse2 '--disable-sse2')
- $(usev !cpu_flags_x86_ssse3 '--disable-ssse3')
- $(usev !cpu_flags_x86_sse4_1 '--disable-sse4.1')
- $(usev !cpu_flags_x86_sse4_2 '--disable-sse4.2')
-
- # HPPA's GCC doesn't support SSP
- $(usev hppa '--without-stack-protector')
-
- $(use_with boost)
- $(use_with bzip2)
- $(use_with doc documentation)
- $(use_with doc sphinx)
- $(use_with lzma)
- $(use_enable static-libs static-library)
- $(use_with sqlite sqlite3)
- $(use_with zlib)
-
- --build-tool=ninja
- --cpu=${chostarch}
- --docdir=share/doc
- --disable-modules=$(IFS=","; echo "${disable_modules[*]}")
- --distribution-info="Gentoo ${PVR}"
- --libdir="$(get_libdir)"
- # Avoid collisions between slots for tools (bug #905700)
- --program-suffix=$(ver_cut 1)
-
- # Don't install Python bindings automatically
- # (do it manually later in the right place)
- # bug #723096
- --no-install-python-module
-
- --os=${myos}
- --prefix="${EPREFIX}"/usr
- --with-endian="$(tc-endian)"
- --with-python-version=$(IFS=","; echo "${pythonvers[*]}")
- )
-
- local build_targets=(
- shared
- $(usev static-libs static)
- $(usev tools cli)
- $(usev test tests)
- )
-
- myargs+=(
- --build-targets=$(IFS=","; echo "${build_targets[*]}")
- )
-
- if use elibc_glibc && use kernel_linux ; then
- myargs+=(
- --with-os-features=getrandom,getentropy
- )
- fi
-
- local sanitizers=()
- if is-flagq -fsanitize=address ; then
- sanitizers+=( address )
- fi
- if is-flagq -fsanitize=undefined ; then
- sanitizers+=( undefined )
- fi
- filter-flags '-fsanitize=*'
- myargs+=(
- --enable-sanitizers=$(IFS=","; echo "${sanitizers[*]}")
- )
-
- edo ${EPYTHON} configure.py --verbose "${myargs[@]}"
-}
-
-src_compile() {
- eninja
-}
-
-src_test() {
- LD_LIBRARY_PATH="${S}" edo ./botan-test$(ver_cut 1) --test-threads="$(makeopts_jobs)"
-}
-
-src_install() {
- DESTDIR="${D}" eninja install
-
- if [[ -d "${ED}"/usr/share/doc/${P} && ${P} != ${PF} ]] ; then
- # --docdir in configure controls the parent directory unfortunately
- mv "${ED}"/usr/share/doc/${P} "${ED}"/usr/share/doc/${PF} || die
- fi
-
- # Manually install the Python bindings (bug #723096)
- if use python ; then
- python_foreach_impl python_domodule src/python/botan$(ver_cut 1).py
- fi
-}
diff --git a/dev-libs/botan/botan-3.2.0-r2.ebuild b/dev-libs/botan/botan-3.2.0-r2.ebuild
deleted file mode 100644
index a9b992551551..000000000000
--- a/dev-libs/botan/botan-3.2.0-r2.ebuild
+++ /dev/null
@@ -1,229 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/botan.asc
-inherit edo flag-o-matic multiprocessing ninja-utils python-r1 toolchain-funcs verify-sig
-
-MY_P="Botan-${PV}"
-DESCRIPTION="C++ crypto library"
-HOMEPAGE="https://botan.randombit.net/"
-SRC_URI="https://botan.randombit.net/releases/${MY_P}.tar.xz"
-SRC_URI+=" verify-sig? ( https://botan.randombit.net/releases/${MY_P}.tar.xz.asc )"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="BSD-2"
-# New major versions are parallel-installable
-SLOT="$(ver_cut 1)/$(ver_cut 1-2)" # soname version
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-macos"
-IUSE="doc boost bzip2 lzma python static-libs sqlite test tools zlib"
-RESTRICT="!test? ( test )"
-
-CPU_USE=(
- cpu_flags_arm_{aes,neon,sha1,sha2}
- cpu_flags_ppc_altivec
- cpu_flags_x86_{aes,avx2,popcnt,rdrand,sha,sse2,ssse3,sse4_1,sse4_2}
-)
-
-IUSE+=" ${CPU_USE[@]}"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-# NOTE: Boost is needed at runtime too for the CLI tool.
-DEPEND="
- boost? ( dev-libs/boost:= )
- bzip2? ( >=app-arch/bzip2-1.0.5:= )
- lzma? ( app-arch/xz-utils:= )
- python? ( ${PYTHON_DEPS} )
- sqlite? ( dev-db/sqlite:3= )
- zlib? ( >=sys-libs/zlib-1.2.3:= )
-"
-RDEPEND="
- ${DEPEND}
- !<dev-libs/botan-2.19.3-r1:2[tools]
-"
-BDEPEND="
- ${PYTHON_DEPS}
- ${NINJA_DEPEND}
- $(python_gen_any_dep '
- doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
- ')
- || ( >=sys-devel/gcc-11:* >=llvm-core/clang-14:* )
- verify-sig? ( sec-keys/openpgp-keys-botan )
-"
-
-# NOTE: Considering patching Botan?
-# Please see upstream's guidance:
-# https://botan.randombit.net/handbook/packaging.html#minimize-distribution-patches
-PATCHES=(
- "${FILESDIR}"/${P}-ninja.patch
-)
-
-python_check_deps() {
- use doc || return 0
- python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- # bug #908958
- if tc-is-gcc && ver_test $(gcc-version) -lt 11 ; then
- eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
- eerror "Please upgrade GCC: emerge -v1 sys-devel/gcc"
- die "GCC version is too old to compile Botan!"
- elif tc-is-clang && ver_test $(clang-version) -lt 14 ; then
- eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
- eerror "Please upgrade Clang: emerge -v1 llvm-core/clang"
- die "Clang version is too old to compile Botan!"
- fi
-}
-
-src_configure() {
- tc-export AR CC CXX
- python_setup
-
- local disable_modules=(
- $(usev !boost 'boost')
- )
-
- if [[ -z "${DISABLE_MODULES}" ]] ; then
- elog "Disabling module(s): ${disable_modules[@]}"
- fi
-
- local chostarch="${CHOST%%-*}"
-
- # Arch specific wrangling
- local myos=
- case ${CHOST} in
- *-darwin*)
- myos=darwin
- ;;
- *)
- myos=linux
-
- if [[ ${CHOST} == *hppa* ]] ; then
- chostarch=parisc
- elif [[ ${ABI} == sparc64 ]] ; then
- chostarch="sparc64"
- elif [[ ${ABI} == sparc32 ]] ; then
- chostarch="sparc32"
- fi
- ;;
- esac
-
- local pythonvers=()
- if use python ; then
- _append() {
- pythonvers+=( ${EPYTHON/python/} )
- }
-
- python_foreach_impl _append
- fi
-
- local myargs=(
- # Intrinsics
- # TODO: x86 RDSEED (new CPU_FLAGS_X86?)
- # TODO: POWER Crypto (new CPU_FLAGS_PPC?)
- $(usev !cpu_flags_arm_aes '--disable-armv8crypto')
- $(usev !cpu_flags_arm_neon '--disable-neon')
- $(usev !cpu_flags_arm_sha1 '--disable-armv8crypto')
- $(usev !cpu_flags_arm_sha2 '--disable-armv8crypto')
- $(usev !cpu_flags_ppc_altivec '--disable-altivec')
- $(usev !cpu_flags_x86_aes '--disable-aes-ni')
- $(usev !cpu_flags_x86_avx2 '--disable-avx2')
- $(usev !cpu_flags_x86_popcnt '--disable-bmi2')
- $(usev !cpu_flags_x86_rdrand '--disable-rdrand')
- $(usev !cpu_flags_x86_sha '--disable-sha-ni')
- $(usev !cpu_flags_x86_sse2 '--disable-sse2')
- $(usev !cpu_flags_x86_ssse3 '--disable-ssse3')
- $(usev !cpu_flags_x86_sse4_1 '--disable-sse4.1')
- $(usev !cpu_flags_x86_sse4_2 '--disable-sse4.2')
-
- # HPPA's GCC doesn't support SSP
- $(usev hppa '--without-stack-protector')
-
- $(use_with boost)
- $(use_with bzip2)
- $(use_with doc documentation)
- $(use_with doc sphinx)
- $(use_with lzma)
- $(use_enable static-libs static-library)
- $(use_with sqlite sqlite3)
- $(use_with zlib)
-
- --build-tool=ninja
- --cpu=${chostarch}
- --docdir=share/doc
- --disable-modules=$(IFS=","; echo "${disable_modules[*]}")
- --distribution-info="Gentoo ${PVR}"
- --libdir="$(get_libdir)"
- # Avoid collisions between slots for tools (bug #905700)
- --program-suffix=$(ver_cut 1)
-
- # Don't install Python bindings automatically
- # (do it manually later in the right place)
- # bug #723096
- --no-install-python-module
-
- --os=${myos}
- --prefix="${EPREFIX}"/usr
- --with-endian="$(tc-endian)"
- --with-python-version=$(IFS=","; echo "${pythonvers[*]}")
- )
-
- local build_targets=(
- shared
- $(usev static-libs static)
- $(usev tools cli)
- $(usev test tests)
- )
-
- myargs+=(
- --build-targets=$(IFS=","; echo "${build_targets[*]}")
- )
-
- if ( use elibc_glibc || use elibc_musl ) && use kernel_linux ; then
- myargs+=(
- --with-os-features=getrandom,getentropy
- )
- fi
-
- local sanitizers=()
- if is-flagq -fsanitize=address ; then
- sanitizers+=( address )
- fi
- if is-flagq -fsanitize=undefined ; then
- sanitizers+=( undefined )
- fi
- filter-flags '-fsanitize=*'
- myargs+=(
- --enable-sanitizers=$(IFS=","; echo "${sanitizers[*]}")
- )
-
- edo ${EPYTHON} configure.py --verbose "${myargs[@]}"
-}
-
-src_compile() {
- eninja
-}
-
-src_test() {
- LD_LIBRARY_PATH="${S}" edo ./botan-test$(ver_cut 1) --test-threads="$(makeopts_jobs)"
-}
-
-src_install() {
- DESTDIR="${D}" eninja install
-
- if [[ -d "${ED}"/usr/share/doc/${P} && ${P} != ${PF} ]] ; then
- # --docdir in configure controls the parent directory unfortunately
- mv "${ED}"/usr/share/doc/${P} "${ED}"/usr/share/doc/${PF} || die
- fi
-
- # Manually install the Python bindings (bug #723096)
- if use python ; then
- python_foreach_impl python_domodule src/python/botan$(ver_cut 1).py
- fi
-}
diff --git a/dev-libs/botan/botan-3.6.1.ebuild b/dev-libs/botan/botan-3.6.1.ebuild
deleted file mode 100644
index 052faed7a59a..000000000000
--- a/dev-libs/botan/botan-3.6.1.ebuild
+++ /dev/null
@@ -1,229 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/botan.asc
-inherit edo flag-o-matic multiprocessing ninja-utils python-r1 toolchain-funcs verify-sig
-
-MY_P="Botan-${PV}"
-DESCRIPTION="C++ crypto library"
-HOMEPAGE="https://botan.randombit.net/"
-SRC_URI="https://botan.randombit.net/releases/${MY_P}.tar.xz"
-SRC_URI+=" verify-sig? ( https://botan.randombit.net/releases/${MY_P}.tar.xz.asc )"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="BSD-2"
-# New major versions are parallel-installable
-SLOT="$(ver_cut 1)/$(ver_cut 1-2)" # soname version
-KEYWORDS="amd64 ~arm ~arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~ppc-macos"
-IUSE="doc boost bzip2 lzma python static-libs sqlite test tools zlib"
-CPU_USE=(
- cpu_flags_arm_{aes,neon,sha1,sha2}
- cpu_flags_ppc_altivec
- cpu_flags_x86_{aes,avx2,popcnt,rdrand,sha,sse2,ssse3,sse4_1,sse4_2}
-)
-IUSE+=" ${CPU_USE[@]}"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-# NOTE: Boost is needed at runtime too for the CLI tool.
-DEPEND="
- boost? ( dev-libs/boost:= )
- bzip2? ( >=app-arch/bzip2-1.0.5:= )
- lzma? ( app-arch/xz-utils:= )
- python? ( ${PYTHON_DEPS} )
- sqlite? ( dev-db/sqlite:3= )
- zlib? ( >=sys-libs/zlib-1.2.3:= )
-"
-RDEPEND="
- ${DEPEND}
- !<dev-libs/botan-2.19.3-r1:2[tools]
-"
-BDEPEND="
- ${PYTHON_DEPS}
- ${NINJA_DEPEND}
- $(python_gen_any_dep '
- doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
- ')
- || ( >=sys-devel/gcc-11:* >=llvm-core/clang-14:* )
- verify-sig? ( sec-keys/openpgp-keys-botan )
-"
-
-# NOTE: Considering patching Botan?
-# Please see upstream's guidance:
-# https://botan.randombit.net/handbook/packaging.html#minimize-distribution-patches
-
-PATCHES=(
- "${FILESDIR}"/${P}-boost-1.87.patch
- "${FILESDIR}"/${P}-tests-glibcxx_assertions.patch
- "${FILESDIR}"/${PN}-3.6.1-no-avx2.patch
-)
-
-python_check_deps() {
- use doc || return 0
- python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- # bug #908958
- if tc-is-gcc && ver_test $(gcc-version) -lt 11 ; then
- eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
- eerror "Please upgrade GCC: emerge -v1 sys-devel/gcc"
- die "GCC version is too old to compile Botan!"
- elif tc-is-clang && ver_test $(clang-version) -lt 14 ; then
- eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
- eerror "Please upgrade Clang: emerge -v1 llvm-core/clang"
- die "Clang version is too old to compile Botan!"
- fi
-}
-
-src_configure() {
- tc-export AR CC CXX
- python_setup
-
- local disable_modules=(
- $(usev !boost 'boost')
- )
-
- if [[ -z "${DISABLE_MODULES}" ]] ; then
- elog "Disabling module(s): ${disable_modules[@]}"
- fi
-
- local chostarch="${CHOST%%-*}"
-
- # Arch specific wrangling
- local myos=
- case ${CHOST} in
- *-darwin*)
- myos=darwin
- ;;
- *)
- myos=linux
-
- if [[ ${CHOST} == *hppa* ]] ; then
- chostarch=parisc
- elif [[ ${ABI} == sparc64 ]] ; then
- chostarch="sparc64"
- elif [[ ${ABI} == sparc32 ]] ; then
- chostarch="sparc32"
- fi
- ;;
- esac
-
- local pythonvers=()
- if use python ; then
- _append() {
- pythonvers+=( ${EPYTHON/python/} )
- }
-
- python_foreach_impl _append
- fi
-
- local myargs=(
- # Intrinsics
- # TODO: x86 RDSEED (new CPU_FLAGS_X86?)
- # TODO: POWER Crypto (new CPU_FLAGS_PPC?)
- $(usev !cpu_flags_arm_aes '--disable-armv8crypto')
- $(usev !cpu_flags_arm_neon '--disable-neon')
- $(usev !cpu_flags_arm_sha1 '--disable-armv8crypto')
- $(usev !cpu_flags_arm_sha2 '--disable-armv8crypto')
- $(usev !cpu_flags_ppc_altivec '--disable-altivec')
- $(usev !cpu_flags_x86_aes '--disable-aes-ni')
- $(usev !cpu_flags_x86_avx2 '--disable-avx2')
- $(usev !cpu_flags_x86_popcnt '--disable-bmi2')
- $(usev !cpu_flags_x86_rdrand '--disable-rdrand')
- $(usev !cpu_flags_x86_sha '--disable-sha-ni')
- $(usev !cpu_flags_x86_sse2 '--disable-sse2')
- $(usev !cpu_flags_x86_ssse3 '--disable-ssse3')
- $(usev !cpu_flags_x86_sse4_1 '--disable-sse4.1')
- $(usev !cpu_flags_x86_sse4_2 '--disable-sse4.2')
-
- # HPPA's GCC doesn't support SSP
- $(usev hppa '--without-stack-protector')
-
- $(use_with boost)
- $(use_with bzip2)
- $(use_with doc documentation)
- $(use_with doc sphinx)
- $(use_with lzma)
- $(use_enable static-libs static-library)
- $(use_with sqlite sqlite3)
- $(use_with zlib)
-
- --build-tool=ninja
- --cpu=${chostarch}
- --docdir=share/doc
- --disable-modules=$(IFS=","; echo "${disable_modules[*]}")
- --distribution-info="Gentoo ${PVR}"
- --libdir="$(get_libdir)"
- # Avoid collisions between slots for tools (bug #905700)
- --program-suffix=$(ver_cut 1)
-
- # Don't install Python bindings automatically
- # (do it manually later in the right place)
- # bug #723096
- --no-install-python-module
-
- --os=${myos}
- --prefix="${EPREFIX}"/usr
- --with-endian="$(tc-endian)"
- --with-python-version=$(IFS=","; echo "${pythonvers[*]}")
- )
-
- local build_targets=(
- shared
- $(usev static-libs static)
- $(usev tools cli)
- $(usev test tests)
- )
-
- myargs+=(
- --build-targets=$(IFS=","; echo "${build_targets[*]}")
- )
-
- if ( use elibc_glibc || use elibc_musl ) && use kernel_linux ; then
- myargs+=(
- --with-os-features=getrandom,getentropy
- )
- fi
-
- local sanitizers=()
- if is-flagq -fsanitize=address ; then
- sanitizers+=( address )
- fi
- if is-flagq -fsanitize=undefined ; then
- sanitizers+=( undefined )
- fi
- filter-flags '-fsanitize=*'
- myargs+=(
- --enable-sanitizers=$(IFS=","; echo "${sanitizers[*]}")
- )
-
- edo ${EPYTHON} configure.py --verbose "${myargs[@]}"
-}
-
-src_compile() {
- eninja
-}
-
-src_test() {
- LD_LIBRARY_PATH="${S}" edo ./botan-test$(ver_cut 1) --test-threads="$(makeopts_jobs)"
-}
-
-src_install() {
- DESTDIR="${D}" eninja install
-
- if [[ -d "${ED}"/usr/share/doc/${P} && ${P} != ${PF} ]] ; then
- # --docdir in configure controls the parent directory unfortunately
- mv "${ED}"/usr/share/doc/${P} "${ED}"/usr/share/doc/${PF} || die
- fi
-
- # Manually install the Python bindings (bug #723096)
- if use python ; then
- python_foreach_impl python_domodule src/python/botan$(ver_cut 1).py
- fi
-}
diff --git a/dev-libs/botan/files/botan-3.2.0-ninja.patch b/dev-libs/botan/files/botan-3.2.0-ninja.patch
deleted file mode 100644
index 826fc496fb31..000000000000
--- a/dev-libs/botan/files/botan-3.2.0-ninja.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-https://bugs.gentoo.org/915544
-https://github.com/randombit/botan/commit/a1a32558669a6751e39420b26930d477790509ce
-
-From a1a32558669a6751e39420b26930d477790509ce Mon Sep 17 00:00:00 2001
-From: Jack Lloyd <jack@randombit.net>
-Date: Wed, 11 Oct 2023 07:36:31 -0400
-Subject: [PATCH] Fix Ninja build to pass instruction set flags to the compiler
-
-Fixes #3750
---- a/src/build-data/ninja.in
-+++ b/src/build-data/ninja.in
-@@ -161,6 +161,7 @@ build tidy: tidy
-
- %{for lib_build_info}
- build %{obj}: compile_lib %{src}
-+ isa_flags = %{isa_flags}
- %{endfor}
-
- %{for cli_build_info}
-
diff --git a/dev-libs/botan/files/botan-3.6.1-boost-1.87.patch b/dev-libs/botan/files/botan-3.6.1-boost-1.87.patch
deleted file mode 100644
index eb42cad0567d..000000000000
--- a/dev-libs/botan/files/botan-3.6.1-boost-1.87.patch
+++ /dev/null
@@ -1,322 +0,0 @@
-https://bugs.gentoo.org/946389
-https://github.com/randombit/botan/pull/4484
-
-From 2a406beab449a2cb310fa543451a7087ca7b4b1a Mon Sep 17 00:00:00 2001
-From: q66 <q66@chimera-linux.org>
-Date: Sun, 15 Dec 2024 02:42:02 +0100
-Subject: [PATCH 1/2] Remove usage of deprecated asio API
-
-These were all finally dropped with boost 1.87, so this fixes
-build with boost 1.87.
---- a/src/cli/tls_proxy.cpp
-+++ b/src/cli/tls_proxy.cpp
-@@ -106,11 +106,11 @@ class tls_proxy_session final : public std::enable_shared_from_this<tls_proxy_se
-
- typedef std::shared_ptr<tls_proxy_session> pointer;
-
-- static pointer create(boost::asio::io_service& io,
-+ static pointer create(boost::asio::io_context& io,
- const std::shared_ptr<Botan::TLS::Session_Manager>& session_manager,
- const std::shared_ptr<Botan::Credentials_Manager>& credentials,
- const std::shared_ptr<Botan::TLS::Policy>& policy,
-- const tcp::resolver::iterator& endpoints) {
-+ const tcp::resolver::results_type& endpoints) {
- auto session = std::make_shared<tls_proxy_session>(io, endpoints);
-
- // Defer the setup of the TLS server to make use of
-@@ -144,7 +144,7 @@ class tls_proxy_session final : public std::enable_shared_from_this<tls_proxy_se
- }
- }
-
-- tls_proxy_session(boost::asio::io_service& io, tcp::resolver::iterator endpoints) :
-+ tls_proxy_session(boost::asio::io_context& io, tcp::resolver::results_type endpoints) :
- m_strand(io),
- m_server_endpoints(std::move(endpoints)),
- m_client_socket(io),
-@@ -287,7 +287,7 @@ class tls_proxy_session final : public std::enable_shared_from_this<tls_proxy_se
-
- void tls_session_activated() override {
- auto onConnect = [self = weak_from_this()](boost::system::error_code ec,
-- const tcp::resolver::iterator& /*endpoint*/) {
-+ tcp::resolver::results_type::iterator /*endpoint*/) {
- if(ec) {
- log_error("Server connection", ec);
- return;
-@@ -301,7 +301,7 @@ class tls_proxy_session final : public std::enable_shared_from_this<tls_proxy_se
- return;
- }
- };
-- async_connect(m_server_socket, m_server_endpoints, onConnect);
-+ async_connect(m_server_socket, m_server_endpoints.begin(), m_server_endpoints.end(), onConnect);
- }
-
- void tls_session_established(const Botan::TLS::Session_Summary& session) override {
-@@ -315,9 +315,9 @@ class tls_proxy_session final : public std::enable_shared_from_this<tls_proxy_se
- }
- }
-
-- boost::asio::io_service::strand m_strand;
-+ boost::asio::io_context::strand m_strand;
-
-- tcp::resolver::iterator m_server_endpoints;
-+ tcp::resolver::results_type m_server_endpoints;
-
- tcp::socket m_client_socket;
- tcp::socket m_server_socket;
-@@ -341,9 +341,9 @@ class tls_proxy_server final {
- public:
- typedef tls_proxy_session session;
-
-- tls_proxy_server(boost::asio::io_service& io,
-+ tls_proxy_server(boost::asio::io_context& io,
- unsigned short port,
-- tcp::resolver::iterator endpoints,
-+ tcp::resolver::results_type endpoints,
- std::shared_ptr<Botan::Credentials_Manager> creds,
- std::shared_ptr<Botan::TLS::Policy> policy,
- std::shared_ptr<Botan::TLS::Session_Manager> session_mgr,
-@@ -383,7 +383,7 @@ class tls_proxy_server final {
- }
-
- tcp::acceptor m_acceptor;
-- tcp::resolver::iterator m_server_endpoints;
-+ tcp::resolver::results_type m_server_endpoints;
-
- std::shared_ptr<Botan::Credentials_Manager> m_creds;
- std::shared_ptr<Botan::TLS::Policy> m_policy;
-@@ -429,10 +429,10 @@ class TLS_Proxy final : public Command {
-
- auto policy = load_tls_policy(get_arg("policy"));
-
-- boost::asio::io_service io;
-+ boost::asio::io_context io;
-
- tcp::resolver resolver(io);
-- auto server_endpoint_iterator = resolver.resolve({target, target_port});
-+ auto server_endpoint_iterator = resolver.resolve(target, target_port);
-
- std::shared_ptr<Botan::TLS::Session_Manager> session_mgr;
-
---- a/src/lib/utils/socket/socket.cpp
-+++ b/src/lib/utils/socket/socket.cpp
-@@ -46,20 +46,19 @@ class Asio_Socket final : public OS::Socket {
- public:
- Asio_Socket(std::string_view hostname, std::string_view service, std::chrono::milliseconds timeout) :
- m_timeout(timeout), m_timer(m_io), m_tcp(m_io) {
-- m_timer.expires_from_now(m_timeout);
-+ m_timer.expires_after(m_timeout);
- check_timeout();
-
- boost::asio::ip::tcp::resolver resolver(m_io);
-- boost::asio::ip::tcp::resolver::query query(std::string{hostname}, std::string{service});
-- boost::asio::ip::tcp::resolver::iterator dns_iter = resolver.resolve(query);
-+ boost::asio::ip::tcp::resolver::results_type dns_iter = resolver.resolve(std::string{hostname}, std::string{service});
-
- boost::system::error_code ec = boost::asio::error::would_block;
-
-- auto connect_cb = [&ec](const boost::system::error_code& e, const boost::asio::ip::tcp::resolver::iterator&) {
-+ auto connect_cb = [&ec](const boost::system::error_code& e, boost::asio::ip::tcp::resolver::results_type::iterator) {
- ec = e;
- };
-
-- boost::asio::async_connect(m_tcp, dns_iter, connect_cb);
-+ boost::asio::async_connect(m_tcp, dns_iter.begin(), dns_iter.end(), connect_cb);
-
- while(ec == boost::asio::error::would_block) {
- m_io.run_one();
-@@ -74,7 +73,7 @@ class Asio_Socket final : public OS::Socket {
- }
-
- void write(const uint8_t buf[], size_t len) override {
-- m_timer.expires_from_now(m_timeout);
-+ m_timer.expires_after(m_timeout);
-
- boost::system::error_code ec = boost::asio::error::would_block;
-
-@@ -90,7 +89,7 @@ class Asio_Socket final : public OS::Socket {
- }
-
- size_t read(uint8_t buf[], size_t len) override {
-- m_timer.expires_from_now(m_timeout);
-+ m_timer.expires_after(m_timeout);
-
- boost::system::error_code ec = boost::asio::error::would_block;
- size_t got = 0;
-@@ -116,7 +115,7 @@ class Asio_Socket final : public OS::Socket {
-
- private:
- void check_timeout() {
-- if(m_tcp.is_open() && m_timer.expires_at() < std::chrono::system_clock::now()) {
-+ if(m_tcp.is_open() && m_timer.expiry() < std::chrono::system_clock::now()) {
- boost::system::error_code err;
-
- // NOLINTNEXTLINE(bugprone-unused-return-value,cert-err33-c)
-@@ -127,7 +126,7 @@ class Asio_Socket final : public OS::Socket {
- }
-
- const std::chrono::milliseconds m_timeout;
-- boost::asio::io_service m_io;
-+ boost::asio::io_context m_io;
- boost::asio::system_timer m_timer;
- boost::asio::ip::tcp::socket m_tcp;
- };
---- a/src/lib/utils/socket/socket_udp.cpp
-+++ b/src/lib/utils/socket/socket_udp.cpp
-@@ -46,20 +46,19 @@ class Asio_SocketUDP final : public OS::SocketUDP {
- public:
- Asio_SocketUDP(std::string_view hostname, std::string_view service, std::chrono::microseconds timeout) :
- m_timeout(timeout), m_timer(m_io), m_udp(m_io) {
-- m_timer.expires_from_now(m_timeout);
-+ m_timer.expires_after(m_timeout);
- check_timeout();
-
- boost::asio::ip::udp::resolver resolver(m_io);
-- boost::asio::ip::udp::resolver::query query(std::string{hostname}, std::string{service});
-- boost::asio::ip::udp::resolver::iterator dns_iter = resolver.resolve(query);
-+ boost::asio::ip::udp::resolver::results_type dns_iter = resolver.resolve(std::string{hostname}, std::string{service});
-
- boost::system::error_code ec = boost::asio::error::would_block;
-
-- auto connect_cb = [&ec](const boost::system::error_code& e, const boost::asio::ip::udp::resolver::iterator&) {
-+ auto connect_cb = [&ec](const boost::system::error_code& e, boost::asio::ip::udp::resolver::results_type::iterator) {
- ec = e;
- };
-
-- boost::asio::async_connect(m_udp, dns_iter, connect_cb);
-+ boost::asio::async_connect(m_udp, dns_iter.begin(), dns_iter.end(), connect_cb);
-
- while(ec == boost::asio::error::would_block) {
- m_io.run_one();
-@@ -74,7 +73,7 @@ class Asio_SocketUDP final : public OS::SocketUDP {
- }
-
- void write(const uint8_t buf[], size_t len) override {
-- m_timer.expires_from_now(m_timeout);
-+ m_timer.expires_after(m_timeout);
-
- boost::system::error_code ec = boost::asio::error::would_block;
-
-@@ -90,7 +89,7 @@ class Asio_SocketUDP final : public OS::SocketUDP {
- }
-
- size_t read(uint8_t buf[], size_t len) override {
-- m_timer.expires_from_now(m_timeout);
-+ m_timer.expires_after(m_timeout);
-
- boost::system::error_code ec = boost::asio::error::would_block;
- size_t got = 0;
-@@ -116,7 +115,7 @@ class Asio_SocketUDP final : public OS::SocketUDP {
-
- private:
- void check_timeout() {
-- if(m_udp.is_open() && m_timer.expires_at() < std::chrono::system_clock::now()) {
-+ if(m_udp.is_open() && m_timer.expiry() < std::chrono::system_clock::now()) {
- boost::system::error_code err;
-
- // NOLINTNEXTLINE(bugprone-unused-return-value,cert-err33-c)
-@@ -127,7 +126,7 @@ class Asio_SocketUDP final : public OS::SocketUDP {
- }
-
- const std::chrono::microseconds m_timeout;
-- boost::asio::io_service m_io;
-+ boost::asio::io_context m_io;
- boost::asio::system_timer m_timer;
- boost::asio::ip::udp::socket m_udp;
- };
-
-From 3820f357017eacef1fcb5119582bc9789b88f6c2 Mon Sep 17 00:00:00 2001
-From: Jack Lloyd <jack@randombit.net>
-Date: Wed, 18 Dec 2024 17:10:34 -0500
-Subject: [PATCH 2/2] Address review comments
-
---- a/src/cli/tls_proxy.cpp
-+++ b/src/cli/tls_proxy.cpp
-@@ -287,7 +287,7 @@ class tls_proxy_session final : public std::enable_shared_from_this<tls_proxy_se
-
- void tls_session_activated() override {
- auto onConnect = [self = weak_from_this()](boost::system::error_code ec,
-- tcp::resolver::results_type::iterator /*endpoint*/) {
-+ const tcp::resolver::results_type::iterator& /*endpoint*/) {
- if(ec) {
- log_error("Server connection", ec);
- return;
---- a/src/examples/tls_stream_client.cpp
-+++ b/src/examples/tls_stream_client.cpp
-@@ -35,7 +35,7 @@ class Credentials_Manager : public Botan::Credentials_Manager {
- class client {
- public:
- client(boost::asio::io_context& io_context,
-- boost::asio::ip::tcp::resolver::iterator endpoint_iterator,
-+ const boost::asio::ip::tcp::resolver::results_type& endpoints,
- std::string_view host,
- const http::request<http::string_body>& req) :
- m_request(req),
-@@ -46,7 +46,8 @@ class client {
- host)),
- m_stream(io_context, m_ctx) {
- boost::asio::async_connect(m_stream.lowest_layer(),
-- std::move(endpoint_iterator),
-+ endpoints.begin(),
-+ endpoints.end(),
- boost::bind(&client::handle_connect, this, ap::error));
- }
-
-@@ -111,8 +112,7 @@ int main(int argc, char* argv[]) {
- boost::asio::io_context io_context;
-
- boost::asio::ip::tcp::resolver resolver(io_context);
-- boost::asio::ip::tcp::resolver::query query(host, port);
-- boost::asio::ip::tcp::resolver::iterator iterator = resolver.resolve(query);
-+ boost::asio::ip::tcp::resolver::results_type endpoints = resolver.resolve(host, port);
-
- http::request<http::string_body> req;
- req.version(11);
-@@ -121,7 +121,7 @@ int main(int argc, char* argv[]) {
- req.set(http::field::host, host);
- req.set(http::field::user_agent, Botan::version_string());
-
-- client c(io_context, iterator, host, req);
-+ client c(io_context, endpoints, host, req);
-
- io_context.run();
- } catch(std::exception& e) {
---- a/src/lib/utils/socket/socket.cpp
-+++ b/src/lib/utils/socket/socket.cpp
-@@ -50,13 +50,12 @@ class Asio_Socket final : public OS::Socket {
- check_timeout();
-
- boost::asio::ip::tcp::resolver resolver(m_io);
-- boost::asio::ip::tcp::resolver::results_type dns_iter = resolver.resolve(std::string{hostname}, std::string{service});
-+ boost::asio::ip::tcp::resolver::results_type dns_iter =
-+ resolver.resolve(std::string{hostname}, std::string{service});
-
- boost::system::error_code ec = boost::asio::error::would_block;
-
-- auto connect_cb = [&ec](const boost::system::error_code& e, boost::asio::ip::tcp::resolver::results_type::iterator) {
-- ec = e;
-- };
-+ auto connect_cb = [&ec](const boost::system::error_code& e, const auto&) { ec = e; };
-
- boost::asio::async_connect(m_tcp, dns_iter.begin(), dns_iter.end(), connect_cb);
-
---- a/src/lib/utils/socket/socket_udp.cpp
-+++ b/src/lib/utils/socket/socket_udp.cpp
-@@ -50,13 +50,13 @@ class Asio_SocketUDP final : public OS::SocketUDP {
- check_timeout();
-
- boost::asio::ip::udp::resolver resolver(m_io);
-- boost::asio::ip::udp::resolver::results_type dns_iter = resolver.resolve(std::string{hostname}, std::string{service});
-+ boost::asio::ip::udp::resolver::results_type dns_iter =
-+ resolver.resolve(std::string{hostname}, std::string{service});
-
- boost::system::error_code ec = boost::asio::error::would_block;
-
-- auto connect_cb = [&ec](const boost::system::error_code& e, boost::asio::ip::udp::resolver::results_type::iterator) {
-- ec = e;
-- };
-+ auto connect_cb = [&ec](const boost::system::error_code& e,
-+ const boost::asio::ip::udp::resolver::results_type::iterator&) { ec = e; };
-
- boost::asio::async_connect(m_udp, dns_iter.begin(), dns_iter.end(), connect_cb);
-
-
diff --git a/dev-libs/botan/files/botan-3.6.1-no-avx2.patch b/dev-libs/botan/files/botan-3.6.1-no-avx2.patch
deleted file mode 100644
index b72e23c5d6d9..000000000000
--- a/dev-libs/botan/files/botan-3.6.1-no-avx2.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-https://bugs.gentoo.org/946821
-https://github.com/randombit/botan/issues/4493
-https://github.com/randombit/botan/pull/4494
-
-From 07d0556e03c4a2f96c0e26073523b944b86cdfc5 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ren=C3=A9=20Meusel?= <rene.meusel@rohde-schwarz.com>
-Date: Mon, 23 Dec 2024 09:29:07 +0100
-Subject: [PATCH] FIX: SM4 GFNI needs AVX2
-
-closes #4493
----
- src/lib/block/sm4/sm4_gfni/info.txt | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/lib/block/sm4/sm4_gfni/info.txt b/src/lib/block/sm4/sm4_gfni/info.txt
-index 4c5867f9b72..1ec736e7cd4 100644
---- a/src/lib/block/sm4/sm4_gfni/info.txt
-+++ b/src/lib/block/sm4/sm4_gfni/info.txt
-@@ -7,6 +7,10 @@ name -> "SM4 GFNI"
- brief -> "SM4 using Intel GFNI"
- </module_info>
-
-+<requires>
-+simd_avx2
-+</requires>
-+
- <isa>
- gfni
- </isa>
diff --git a/dev-libs/botan/files/botan-3.6.1-tests-glibcxx_assertions.patch b/dev-libs/botan/files/botan-3.6.1-tests-glibcxx_assertions.patch
deleted file mode 100644
index 204adbc15825..000000000000
--- a/dev-libs/botan/files/botan-3.6.1-tests-glibcxx_assertions.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-https://github.com/randombit/botan/issues/4491
-https://github.com/randombit/botan/commit/3e0cb45cc94764e3ff221ceb141421a83eb27aef
-
-From 3e0cb45cc94764e3ff221ceb141421a83eb27aef Mon Sep 17 00:00:00 2001
-From: Jack Lloyd <jack@randombit.net>
-Date: Mon, 28 Oct 2024 18:13:52 -0400
-Subject: [PATCH] Workaround apparent libstdc++ bug in Ubuntu 24.04
-
-The iterator checks failed when we attempted to use first to extract
-ideal_granularity bytes out of dummy_buffer, but on testing it failed
-exactly when ideal_granularity was 256 bytes, the same size as
-dummy_buffer itself.
-
-Increase the size and add an assert that the buffer is large enough.
----
- src/tests/test_ffi.cpp | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/tests/test_ffi.cpp b/src/tests/test_ffi.cpp
-index 647e6ad10b..592435b142 100644
---- a/src/tests/test_ffi.cpp
-+++ b/src/tests/test_ffi.cpp
-@@ -1381,7 +1381,7 @@ class FFI_AEAD_Test final : public FFI_Test {
- std::vector<uint8_t> ciphertext(ideal_granularity * pt_multiplier + taglen);
- TEST_FFI_OK(botan_rng_get, (rng, plaintext.data(), plaintext.size()));
-
-- std::vector<uint8_t> dummy_buffer(256);
-+ std::vector<uint8_t> dummy_buffer(1024);
- TEST_FFI_OK(botan_rng_get, (rng, dummy_buffer.data(), dummy_buffer.size()));
- std::vector<uint8_t> dummy_buffer_reference = dummy_buffer;
-
-@@ -1405,6 +1405,7 @@ class FFI_AEAD_Test final : public FFI_Test {
- // input if there is no space in the output buffer. Even when
- // the cipher is a mode that won't produce any output until the
- // entire message is processed. Hence, give it some dummy buffer.
-+ BOTAN_ASSERT_NOMSG(dummy_buffer.size() > ideal_granularity);
- auto ct_chunk = (requires_entire_message) ? std::span(dummy_buffer).first(ideal_granularity)
- : ct_stuffer.first(ideal_granularity);
-
-