From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/botan/, dev-libs/botan/files/
Date: Mon, 31 Mar 2025 23:39:51 +0000 (UTC) [thread overview]
Message-ID: <1743464125.6c61b3da860312a8fa6ca55a7e96218fb0375135.sam@gentoo> (raw)
commit: 6c61b3da860312a8fa6ca55a7e96218fb0375135
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 31 23:35:25 2025 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Mar 31 23:35:25 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6c61b3da
dev-libs/botan: drop 3.1.1, 3.2.0-r1, 3.2.0-r2, 3.6.1
Bug: https://bugs.gentoo.org/925147
Signed-off-by: Sam James <sam <AT> gentoo.org>
dev-libs/botan/Manifest | 6 -
dev-libs/botan/botan-3.1.1.ebuild | 218 --------------
dev-libs/botan/botan-3.2.0-r1.ebuild | 229 ---------------
dev-libs/botan/botan-3.2.0-r2.ebuild | 229 ---------------
dev-libs/botan/botan-3.6.1.ebuild | 229 ---------------
dev-libs/botan/files/botan-3.2.0-ninja.patch | 20 --
dev-libs/botan/files/botan-3.6.1-boost-1.87.patch | 322 ---------------------
dev-libs/botan/files/botan-3.6.1-no-avx2.patch | 29 --
.../botan-3.6.1-tests-glibcxx_assertions.patch | 40 ---
9 files changed, 1322 deletions(-)
diff --git a/dev-libs/botan/Manifest b/dev-libs/botan/Manifest
index 3adbf0a5af95..eb22a4dff1c9 100644
--- a/dev-libs/botan/Manifest
+++ b/dev-libs/botan/Manifest
@@ -1,10 +1,4 @@
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
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);
-
-
next reply other threads:[~2025-03-31 23:39 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-31 23:39 Sam James [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-12-23 2:48 [gentoo-commits] repo/gentoo:master commit in: dev-libs/botan/, dev-libs/botan/files/ Sam James
2024-12-22 0:22 Sam James
2023-10-12 8:12 Sam James
2023-07-06 2:11 Sam James
2019-05-08 9:35 Alon Bar-Lev
2018-04-08 19:21 Alon Bar-Lev
2017-10-04 18:57 Alon Bar-Lev
2017-03-21 10:01 Alon Bar-Lev
2017-01-22 20:45 Alon Bar-Lev
2017-01-18 14:52 Alon Bar-Lev
2016-12-01 20:13 Alon Bar-Lev
2016-12-01 19:09 Alon Bar-Lev
2016-10-28 8:26 Alon Bar-Lev
2016-10-22 19:58 Alon Bar-Lev
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1743464125.6c61b3da860312a8fa6ca55a7e96218fb0375135.sam@gentoo \
--to=sam@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox