summaryrefslogtreecommitdiff
path: root/dev-libs
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/Manifest.gzbin99513 -> 99506 bytes
-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
-rw-r--r--dev-libs/hyprland-protocols/Manifest2
-rw-r--r--dev-libs/hyprland-protocols/hyprland-protocols-0.6.2.ebuild25
-rw-r--r--dev-libs/libdbusmenu-qt/Manifest3
-rw-r--r--dev-libs/libdbusmenu-qt/files/libdbusmenu-qt-0.9.3_pre20160218-cmake4.patch11
-rw-r--r--dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.3_pre20160218-r3.ebuild9
-rw-r--r--dev-libs/libgpiod/Manifest4
-rw-r--r--dev-libs/libgpiod/libgpiod-2.2.1-r1.ebuild (renamed from dev-libs/libgpiod/libgpiod-2.2.1.ebuild)4
-rw-r--r--dev-libs/libgpiod/libgpiod-2.2.ebuild66
-rw-r--r--dev-libs/libinput/Manifest2
-rw-r--r--dev-libs/libinput/libinput-1.28.1.ebuild102
-rw-r--r--dev-libs/libltdl/Manifest2
-rw-r--r--dev-libs/libltdl/libltdl-2.4.7-r1.ebuild40
-rw-r--r--dev-libs/libwacom/Manifest2
-rw-r--r--dev-libs/libwacom/libwacom-2.15.0.ebuild61
25 files changed, 214 insertions, 1655 deletions
diff --git a/dev-libs/Manifest.gz b/dev-libs/Manifest.gz
index 8a1894ac7d79..7ef78b0ecccc 100644
--- a/dev-libs/Manifest.gz
+++ b/dev-libs/Manifest.gz
Binary files differ
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);
-
-
diff --git a/dev-libs/hyprland-protocols/Manifest b/dev-libs/hyprland-protocols/Manifest
index f793947fc8b9..d00f28df65ac 100644
--- a/dev-libs/hyprland-protocols/Manifest
+++ b/dev-libs/hyprland-protocols/Manifest
@@ -1,4 +1,6 @@
DIST hyprland-protocols-0.4.0.gh.tar.gz 8131 BLAKE2B 3187849ed4e460a06a6c88919972f1a8989f6aa2dff24209da5697dddbfcfb82898babdc275246942a9b6e79f922a58c4139870b5c68fc2d28288400cedfb80e SHA512 cc32cae0840c49a7f128150be99b3584d5e5eb417a321ae7c917a859715e263c199001f73e7642348e2ae670ed4fffeecab9649144920d90999f46e9bfb8f938
+DIST hyprland-protocols-0.6.2.gh.tar.gz 9887 BLAKE2B 2a23e9d0595f366d0fcda6e52a9e8140429c483731d7103e567818cf00f26decd60ef2c243abdb4b07663570ded9bc20d14c974dcad4e362f64b5b3f5b67e7dd SHA512 3d2da0e71c6fd4ea0c42b7f8c3fda98a20aae839d960a462bfd4b4c37a90e2dd48272c9734c91d48e7051367d070aca8e18d6211c75b94ade44f6d73003f37d4
EBUILD hyprland-protocols-0.4.0.ebuild 536 BLAKE2B 2d1f7559cd73c432e0a7309f064125c8715b1276d5274c9946d47779385c4085cdcc6f4a9eb72e2e67f8940fe52ea1776c2a3f057994de2f4ed9480840493434 SHA512 d8d279d26715cabfebc962258d3d0a96d8c9f2186e21ec9f2b9fb8c144e1db7005bf990849cda396064df6ec887851088fbcaf31a0099bd558b7a86ab7d2ceec
+EBUILD hyprland-protocols-0.6.2.ebuild 537 BLAKE2B 8bb07d370f67080f605584bc42b7b245a83f56ab0befc3f676539cc04f539b96dee94d918e62092e2db00a7ef6c27f433a66f88f37d6fb86ec9a23c59828005a SHA512 612ca25825c56bc4fcba8d743597a3e72dd034620acf3672e38621a30f0d59df207f859410ee66590fa21bd8fb437e7fcf6e51c1de87c7fce6b0989aa2643206
EBUILD hyprland-protocols-9999.ebuild 536 BLAKE2B 2d1f7559cd73c432e0a7309f064125c8715b1276d5274c9946d47779385c4085cdcc6f4a9eb72e2e67f8940fe52ea1776c2a3f057994de2f4ed9480840493434 SHA512 d8d279d26715cabfebc962258d3d0a96d8c9f2186e21ec9f2b9fb8c144e1db7005bf990849cda396064df6ec887851088fbcaf31a0099bd558b7a86ab7d2ceec
MISC metadata.xml 604 BLAKE2B f0c93ac496cc49bd5ec73419f13682a10887677d3f7cbb6ef57b8bc47e22f9f913ca3dda8daa1c2dff604fe23bd05a88ad7cdba775e7ff160180ca1279c15665 SHA512 8d4ef946ef20698a36843fc82858b324db4ecc76a0116ddf413b95b00afab16ead2daf8892600fafe6b857a169cde13354bfb4c566e132737db628db637eab2f
diff --git a/dev-libs/hyprland-protocols/hyprland-protocols-0.6.2.ebuild b/dev-libs/hyprland-protocols/hyprland-protocols-0.6.2.ebuild
new file mode 100644
index 000000000000..728d4c7bd85f
--- /dev/null
+++ b/dev-libs/hyprland-protocols/hyprland-protocols-0.6.2.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="Wayland protocol extensions for Hyprland"
+HOMEPAGE="https://github.com/hyprwm/hyprland-protocols"
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://github.com/hyprwm/${PN}.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/hyprwm/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+ KEYWORDS="~amd64 ~riscv"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+
+BDEPEND="
+ dev-util/wayland-scanner
+ virtual/pkgconfig
+"
diff --git a/dev-libs/libdbusmenu-qt/Manifest b/dev-libs/libdbusmenu-qt/Manifest
index 79d529ce9c68..bfa80401bee6 100644
--- a/dev-libs/libdbusmenu-qt/Manifest
+++ b/dev-libs/libdbusmenu-qt/Manifest
@@ -1,4 +1,5 @@
AUX libdbusmenu-qt-0.9.3_pre20160218-cmake.patch 7959 BLAKE2B feef71cd51c36607b60104d0ca24eadd269e79ad22a633625b1b855137f97b8da645e15b10a374911bb5e9ea33b71e17d9336211233f4f12155f3dfc5f28b685 SHA512 00db7fd1c5d90f03f0963abb413349043ef215cd7a9f41f78e4233ff53590a9b9854ad500b9899f7b344ce9853d8d8200abb31565fda855793e1edd6e76800c0
+AUX libdbusmenu-qt-0.9.3_pre20160218-cmake4.patch 354 BLAKE2B 5f67bc467073c7e878b3393dcf42a60e6b1d2d65a9735659dd879022e735c274c234c36a40500658a0e321974a716e3164613edac092513c7850bd983973c1e7 SHA512 4422daea7fe6045373b12c28e93c0bac978469f9da9ffc4ce3a5a1cb4ca263d8d6e4c276c500a57c36462b6f077bc395141b9becea43ecc5096d4b74005a96bb
DIST libdbusmenu-qt_0.9.3+16.04.20160218.orig.tar.gz 46438 BLAKE2B 66b1fa44f28b5f4d5fa09afa988ca793ae892a7aeab6290b1650876a992e27a15af5a6a999080aa4c499295e2fa3de768fe5f185b5df2af36b957766508c1804 SHA512 dfaba59cedd320e6a3b5a9c0a5e13fb9e0952224e39cdd6ee3b32b03d95ac850a533e2a73835a7c0ead93b2283b9c235472bacb84e3d761ebe9e9398345314a9
-EBUILD libdbusmenu-qt-0.9.3_pre20160218-r3.ebuild 824 BLAKE2B e9214205622288450e1a58911c8dbd86be7155c1514086522404f41eba39c3890844053824195ef1a7c156f749399e3f5762ee56d6c0cdd0741b323a84ed5e8e SHA512 ad2300b1b420c774732f53aefddad97114d9df5d662df157a2cf80b561a8569db685c061e15878565cb7a88aafac34fb7f7507d1cc44f35cf458f721610feb40
+EBUILD libdbusmenu-qt-0.9.3_pre20160218-r3.ebuild 840 BLAKE2B feaf3d695d7d6d3ba6669b3d2cef5e8cad8d34301a04dd97d7174f6a4adcf3a2fd4f947975227f5a19da2deea540059898667162ab1ef43e6bc014a204da63ea SHA512 6149256388ad7bcd730d8affac005c6129953002b77183b0b7eb4df2051f5bac420523c4c47b174591654d59364d913e0802fc92c259e2f8dd3dbd3f937dd3ba
MISC metadata.xml 242 BLAKE2B e47c432f681d2e25891ad2d50e4de125c926a8050308d1eda963e3c0e1dcc903c07104aa53e7694d617dc371d6129641230f8389a89899a3cea15ef99ad2c038 SHA512 5bf1b619b84d91ad35a836bcba1ee422b1961c9d0ad56bbe7369e752741f5aa27e48df48142835f313547772c2453fe174a586b01f1c4e74b692986a96d7a5d7
diff --git a/dev-libs/libdbusmenu-qt/files/libdbusmenu-qt-0.9.3_pre20160218-cmake4.patch b/dev-libs/libdbusmenu-qt/files/libdbusmenu-qt-0.9.3_pre20160218-cmake4.patch
new file mode 100644
index 000000000000..d9566acc8427
--- /dev/null
+++ b/dev-libs/libdbusmenu-qt/files/libdbusmenu-qt-0.9.3_pre20160218-cmake4.patch
@@ -0,0 +1,11 @@
+Fix build with cmake-4.
+
+--- a/CMakeLists.txt 2016-02-18 11:13:58.000000000 +0100
++++ b/CMakeLists.txt 2025-04-01 23:01:30.907019192 +0200
+@@ -1,5 +1,5 @@
++cmake_minimum_required(VERSION 3.5)
+ project(dbusmenu-qt)
+-cmake_minimum_required(VERSION 2.8.11)
+ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/modules")
+
+ # Build options
diff --git a/dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.3_pre20160218-r3.ebuild b/dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.3_pre20160218-r3.ebuild
index f309a0f7391e..1a68468ac6b1 100644
--- a/dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.3_pre20160218-r3.ebuild
+++ b/dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.3_pre20160218-r3.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
MY_PV=${PV/_pre/+16.04.}
inherit cmake
@@ -9,6 +9,7 @@ inherit cmake
DESCRIPTION="Library providing Qt implementation of DBusMenu specification"
HOMEPAGE="https://launchpad.net/libdbusmenu-qt/"
SRC_URI="https://launchpad.net/ubuntu/+archive/primary/+files/${PN}_${MY_PV}.orig.tar.gz"
+S="${WORKDIR}"/${PN}-${MY_PV}
LICENSE="LGPL-2"
SLOT="0"
@@ -23,9 +24,7 @@ DEPEND="
"
RDEPEND="${DEPEND}"
-S="${WORKDIR}"/${PN}-${MY_PV}
-
-PATCHES=( "${FILESDIR}/${P}-cmake.patch" )
+PATCHES=( "${FILESDIR}"/${P}-cmake{,4}.patch ) # bug 953018
src_prepare() {
cmake_src_prepare
diff --git a/dev-libs/libgpiod/Manifest b/dev-libs/libgpiod/Manifest
index 8b123a9ba948..330f3f75fde0 100644
--- a/dev-libs/libgpiod/Manifest
+++ b/dev-libs/libgpiod/Manifest
@@ -1,7 +1,5 @@
DIST libgpiod-1.6.4.tar.xz 334552 BLAKE2B 3bf52dab263638967e0f59c858e22f3d8ec1c9565ba1edd665dff580a883fbc6aa49a944e6df4da8fca9c2df873e222ed4e055c9792ee27d4562b3c2d0c65b79 SHA512 23ea27147039ae34505263dbfbb3ca9985fc671d26e489ccaf150543d4e853f709393f46a8a5a1e682fa91378163bd2db6c689159ef73c3a8d1eeea422eacda0
DIST libgpiod-2.2.1.tar.xz 505744 BLAKE2B 622d945fc002c9691ecce8fbb0df7350659244e3dbe5d014a032862b86527457bc3893172cbc4c4764d1f94d686602e85b56f2764014a031f6ad21c5f428999b SHA512 3be974ec11a46bb362dce105b22d2cd22b2282bb6bc3a43097d51ed86bd08334768a45d51f2ef1e99bd8c0f2c49462290c46d9b8e40ab0df66ff90e40d822f1a
-DIST libgpiod-2.2.tar.xz 499012 BLAKE2B 4d86027698eff325c677163e3be85e95fbb1bd44f5256afa940858675ec13ce3c4bf409b21144c8c2453681a7c7a6e9687a38e51cb970b8d7418ff44de165d12 SHA512 b06965b084e02e808eed3051c33b95874f90161a47ec16655d7b093156a4bf0af0d553c8778bde81eb0bd023c4109989c5893326321b54b61c6a2988d3fc8351
EBUILD libgpiod-1.6.4.ebuild 1175 BLAKE2B 89ff2b7a50822c55e91f248f74a4f1a4d526d809129dbd4870269861f83ba8c226cfb3cbb8b58ecd53b43db28ce521ebad7bbeaf66414efc62379ec5d934a4cd SHA512 9506ecad601726ad525fa5517234c9c855f031788df07023c23704dea29080b682133ab8cdddb3540ec772f67fd4d6b33720016716f2093186a54dc5dd6ac2f3
-EBUILD libgpiod-2.2.1.ebuild 1460 BLAKE2B ec6ec762a7f1f9c601caeed08fe3700aa5ce8de89d2cc7784d8cfb040f0257b60f3db9084073e87537a752dca9cc5e746e636e2a3f4ede54b635661ff1b02540 SHA512 6423cd6483b12028ecd2732ba20b1ebf4bfe302dfe3ed61d2b3642647cf90d3b09cdb4154c58db024d71d751b35a3e8acac9bf949191c9b4d5e43155b3e7ea94
-EBUILD libgpiod-2.2.ebuild 1460 BLAKE2B 07f06efc72436b5b71a85909e2856ed8dd36e971a1aa29419dbc6d44855fa4fec8500d1f2e786a62e437a72999f174bfc251f07a2d777c1fc18c7d8c487d23c6 SHA512 8900fa52d7b5a1ad3f631ab8701d1dc3927105415c8d12728352e5224e64c9d238726fab971b272c4bff46e1d588fdebe43a5fd57ece807378ff78c20414b526
+EBUILD libgpiod-2.2.1-r1.ebuild 1467 BLAKE2B f8463da8a10bc9a3599791086541511cdbd5b3117851f2aed37d0b599f973e761f75121de39d52e8c26397e02e6aea5617ca0348072d264fe1c5ef355084a0c6 SHA512 6273199f340cb3fca117ef3d0002cd158465e75400c3ff196e1132ca69125f9cec39f44cf7be058f558538c680982bf14e2ea43d7974f09a30e4724b85ce4c61
MISC metadata.xml 332 BLAKE2B 14e5a292a2b590adc7cb643ba4c58b997e5573719383e4b4f58583f992ebff4fbb1455c9a2e71665f739c112c9eb8311879f545f5b770d57d176d013e08e103d SHA512 45f341d7b87c774730451fb583b03347efe2f69188a38c8ad9690cf690d96d65c3d85c42c0b1d80e5a0a63ea749df879b2b71b7f44d124afeaeeb628e2fbec05
diff --git a/dev-libs/libgpiod/libgpiod-2.2.1.ebuild b/dev-libs/libgpiod/libgpiod-2.2.1-r1.ebuild
index 76257142385d..a6d1ce48a4e3 100644
--- a/dev-libs/libgpiod/libgpiod-2.2.1.ebuild
+++ b/dev-libs/libgpiod/libgpiod-2.2.1-r1.ebuild
@@ -13,7 +13,7 @@ LICENSE="LGPL-2.1"
# Reflects the ABI of libgpiod.so
SLOT="0/3"
KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-IUSE="+tools cxx python test"
+IUSE="+tools cxx python static-libs test"
RESTRICT="!test? ( test )"
# --enable-dbus #glib-2.80 masked
@@ -48,6 +48,7 @@ src_configure() {
$(use_enable cxx bindings-cxx)
$(use_enable test tests)
$(use_enable python bindings-python)
+ $(use_enable static-libs static)
--enable-examples
--disable-dbus
--disable-profiling
@@ -62,5 +63,4 @@ src_install() {
default
find "${D}" -name '*.la' -type f -delete || die
- find "${D}" -name "*.a" -delete || die
}
diff --git a/dev-libs/libgpiod/libgpiod-2.2.ebuild b/dev-libs/libgpiod/libgpiod-2.2.ebuild
deleted file mode 100644
index ad05cd403b56..000000000000
--- a/dev-libs/libgpiod/libgpiod-2.2.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools linux-info
-
-DESCRIPTION="C library and tools for interacting with the linux GPIO character device"
-HOMEPAGE="https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/"
-SRC_URI="https://mirrors.edge.kernel.org/pub/software/libs/libgpiod/${P}.tar.xz"
-
-LICENSE="LGPL-2.1"
-# Reflects the ABI of libgpiod.so
-SLOT="0/3"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-IUSE="+tools cxx python test"
-RESTRICT="!test? ( test )"
-
-# --enable-dbus #glib-2.80 masked
-# --enable-tests enable libgpiod tests [default=no]
-# --enable-bindings-cxx enable C++ bindings [default=no]
-# --enable-bindings-python
-# --enable-bindings-rust
-# --enable-bindings-glib
-DEPEND="
- test? (
- >=dev-libs/glib-2.50
- >=sys-apps/kmod-18
- >=sys-apps/util-linux-2.33.1
- >=virtual/libudev-215
- cxx? ( <dev-cpp/catch-3.5:0 )
- )
-"
-
-pkg_setup() {
- CONFIG_CHECK="~GPIO_CDEV_V1"
- linux-info_pkg_setup
-}
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- local myconf=(
- $(use_enable tools)
- $(use_enable cxx bindings-cxx)
- $(use_enable test tests)
- $(use_enable python bindings-python)
- --enable-examples
- --disable-dbus
- --disable-profiling
- --disable-bindings-rust
- --disable-bindings-glib
- )
-
- econf "${myconf[@]}"
-}
-
-src_install() {
- default
-
- find "${D}" -name '*.la' -type f -delete || die
- find "${D}" -name "*.a" -delete || die
-}
diff --git a/dev-libs/libinput/Manifest b/dev-libs/libinput/Manifest
index b34d6d3a1d71..10adbc7db2cf 100644
--- a/dev-libs/libinput/Manifest
+++ b/dev-libs/libinput/Manifest
@@ -1,5 +1,7 @@
DIST libinput-1.27.1.tar.bz2 844741 BLAKE2B 816977ea6fdc84c160523ad574801f818cdf9f8da5b0ebe30e04a71c2d1ebd15e1530cacf4d56893ef3e23fa14cd7bcd25b6ce6661adf291e8d7a9d4ab2b7752 SHA512 c8312000d7ce8c6f209b233177358c53dc830769cf2a80bd23ceebb408a0371de668846a5d1321b6ef803b3c17af5c0aba941ce5a2dc1fac6a0d5d791a13088b
DIST libinput-1.28.0.tar.bz2 863909 BLAKE2B 545e38f34be0ada14535f5928fa0863eedee5109f2aa191d780bdbfb4d67f81a1b6cb05ffdb39dc19d3f5e598e491acc4d1b91ddbf84ad69940c1988ff0d8f57 SHA512 2665fbfbf47f8ef329e387841ff9542b6191925d2fb46a19be64ef0b2e274db3b9ce8b42652ccdeb18c66e3a3c748ff576b313ecb8f7f6b4a01102bfb3e999e3
+DIST libinput-1.28.1.tar.bz2 864820 BLAKE2B fe245274951e8a010abfcd72722f8b5f96f9d879535374ee5180da56c575ca511c2007058a584d2b2336941f4242125876132a3bf398ccf2c855fb7a6ea69865 SHA512 354a91f2239da5e5bbb12bb7473bd1fb7adf69e6243e8da786ace9e80eda6c8f733620b5f1e20411c732fcfa4dedf5ccd2e722a78693e564a24771e80f1c72aa
EBUILD libinput-1.27.1.ebuild 2373 BLAKE2B c009882ac5c3bae6e7a06654658f56eddb7e09519b6a186ac1cef70f02933f10266411dfd31d8f684a018f970ad3a40d32915df5475daffbe0bf132fd632745a SHA512 c3ad9e952b1ab6fe2de559c4aab5254fa9ecb0fd65d863b620304fc0bc5b4a8b7020eb052b6a4d324c00d10b51a4f57d45b8692475fc22ce6c0541a6a8bb49a4
EBUILD libinput-1.28.0.ebuild 2380 BLAKE2B 979af13fca07832ef74589cd275a268f7a04f16d90576613a4c60ba4e3b540ca9ab6e597b1e73b88e1be67efd0168784a351bb49331001ffc78b4d4090bc3cd7 SHA512 1845cf1bc55e7a8c2aa707a85805dd5992a9105d6c311cbdf56392012360d96959ccfc87c71753e0dafc41aa973c5720ee2b441327d3541f1cfb31582090c44e
+EBUILD libinput-1.28.1.ebuild 2380 BLAKE2B 35fabdd52c867c388f9a4359c736cafc2fa08decf78c78807345a3ffbe73df7b0e6ae00e730bf2984eb9e298db078b6ed26e51e668e1fe29b9b8e6ff6bbc025d SHA512 ed7e9e95bb3d7f6dca11e632c37e47c1671fa2ed3d2ebc3c859d57f3d27ffaabd2bd28971c0d98a171d8a95079c891a0b2304456869d74633d95793adb728ce3
MISC metadata.xml 339 BLAKE2B c649f0ffaad1b1dc76c3d3184d95356b2925f642ff6b96c3eba0c31a1d96c3d9b741c1348f8ec90d02428c30a836872fe4e42e7ab5f5e5197f4a787f9147a1a8 SHA512 e9aeca6cc4451ab5b622f597f8debaecfdc672244e5e0b687ac294c20009ba42fb2ccc45e7016a2427312e1c768259005e0a7ff53026087570382652ec23cb60
diff --git a/dev-libs/libinput/libinput-1.28.1.ebuild b/dev-libs/libinput/libinput-1.28.1.ebuild
new file mode 100644
index 000000000000..8902fb6d6871
--- /dev/null
+++ b/dev-libs/libinput/libinput-1.28.1.ebuild
@@ -0,0 +1,102 @@
+# Copyright 2014-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit meson optfeature python-any-r1 udev
+
+DESCRIPTION="Library to handle input devices in Wayland"
+HOMEPAGE="https://www.freedesktop.org/wiki/Software/libinput/ https://gitlab.freedesktop.org/libinput/libinput"
+SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0/10"
+if [[ $(ver_cut 3) -lt 900 ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+IUSE="doc input_devices_wacom test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ input_devices_wacom? ( >=dev-libs/libwacom-2.15:= )
+ >=dev-libs/libevdev-1.9.902
+ >=sys-libs/mtdev-1.1
+ virtual/libudev:=
+ virtual/udev
+"
+DEPEND="
+ ${RDEPEND}
+ test? ( >=dev-libs/check-0.9.10 )
+"
+BDEPEND="
+ virtual/pkgconfig
+ doc? (
+ $(python_gen_any_dep '
+ dev-python/commonmark[${PYTHON_USEDEP}]
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-rtd-theme-0.2.4[${PYTHON_USEDEP}]
+ ')
+ >=app-text/doxygen-1.8.3
+ >=media-gfx/graphviz-2.38.0
+ )
+ test? (
+ $(python_gen_any_dep '
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ ')
+ )
+"
+# test? ( dev-debug/valgrind )
+
+python_check_deps() {
+ if use doc; then
+ python_has_version \
+ "dev-python/commonmark[${PYTHON_USEDEP}]" \
+ "dev-python/recommonmark[${PYTHON_USEDEP}]" \
+ "dev-python/sphinx[${PYTHON_USEDEP}]" \
+ ">=dev-python/sphinx-rtd-theme-0.2.4[${PYTHON_USEDEP}]" \
+ || return
+ fi
+ if use test; then
+ python_has_version \
+ "dev-python/pytest[${PYTHON_USEDEP}]" \
+ "dev-python/pytest-xdist[${PYTHON_USEDEP}]" \
+ || return
+ fi
+}
+
+src_prepare() {
+ default
+ sed "s@, '-Werror'@@" -i meson.build || die #744250
+}
+
+src_configure() {
+ # gui can be built but will not be installed
+ local emesonargs=(
+ -Ddebug-gui=false
+ $(meson_use doc documentation)
+ $(meson_use input_devices_wacom libwacom)
+ $(meson_use test tests)
+ -Dudev-dir="${EPREFIX}$(get_udevdir)"
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+ if use doc ; then
+ docinto html
+ dodoc -r "${BUILD_DIR}"/Documentation/.
+ fi
+}
+
+pkg_postinst() {
+ optfeature "measure and replay tools" dev-python/libevdev
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/dev-libs/libltdl/Manifest b/dev-libs/libltdl/Manifest
index 88723ae66341..8abe126a37c5 100644
--- a/dev-libs/libltdl/Manifest
+++ b/dev-libs/libltdl/Manifest
@@ -1,5 +1,3 @@
-DIST libtool-2.4.7.tar.xz 1016040 BLAKE2B 5e022586337637dd634bd40578ad944bec6e3b8de41f95d55777b90cc88cbc4badb3d76cbf0e638166ece1ea7de828e83590e1e6bac30c1e4b1c254a11a742f2 SHA512 47f4c6de40927254ff9ba452612c0702aea6f4edc7e797f0966c8c6bf0340d533598976cdba17f0bdc64545572e71cd319bbb587aa5f47cd2e7c1d96f873a3da
DIST libtool-2.5.4.tar.xz 1056924 BLAKE2B 47de3c49a690d44d7ddd5e3b5e4090c91dc5fbb9c40fc4a3963e150fb7329326ee3e21b8c149974726171c4b0380028e0efc7a369c4f04357eea46f69852e1cc SHA512 eed207094bcc444f4bfbb13710e395e062e3f1d312ca8b186ab0cbd22dc92ddef176a0b3ecd43e02676e37bd9e328791c59a38ef15846d4eae15da4f20315724
-EBUILD libltdl-2.4.7-r1.ebuild 1106 BLAKE2B e7829bd6d0b642806aa8823b9cb09551b690dc956d309cd29f1f67e312b682695c35e03314c842ee078e6ff20d3f8540e25b877f13bb1cc9be192d97e114e644 SHA512 4759faa380d42aeda3b4b22b0c8857da01b862b6b5da8c379bc6bfb4c8e591c65357aeb4b1e7c0c608d70abf5567ffdb33b47ac5527771199dc20e5e8f07cee7
EBUILD libltdl-2.5.4.ebuild 1260 BLAKE2B ce5a26f9f07977eb0189dab72e435af3946326f23fd874cc5c99537b65111eb1585f13e1d399afa4c6c8599cf14335e8458ae20a6d521286a97bbb026c2506fc SHA512 55580154458a2456ecc4a4706a2f20e81fa63860676ea5728cdc2287b094576dc862880854e5aaadd21c56464018a7b130b7b0dbd69eedf11c352089485e4253
MISC metadata.xml 331 BLAKE2B 4a4cfaad20b2f1c22b0b5ab23b4557e1bef50dbc49d0b7d821d4099e06bf488fdc6c7cb4a29431910d0e1b8cfb7c8b565cd3296afb30925a08389e023c777150 SHA512 9ca8e937181de31beb06558475dc8c10e61765d5280a882576a2d1e4e87fb750bc1c2e99aafdfffe343343797e0565814c0a5f8c18c7fba5b7fe9275100f2609
diff --git a/dev-libs/libltdl/libltdl-2.4.7-r1.ebuild b/dev-libs/libltdl/libltdl-2.4.7-r1.ebuild
deleted file mode 100644
index f780731c285b..000000000000
--- a/dev-libs/libltdl/libltdl-2.4.7-r1.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-# Please bump with dev-build/libtool.
-
-inherit multilib-minimal flag-o-matic
-
-MY_P="libtool-${PV}"
-
-DESCRIPTION="A shared library tool for developers"
-HOMEPAGE="https://www.gnu.org/software/libtool/"
-SRC_URI="mirror://gnu/libtool/${MY_P}.tar.xz"
-S="${WORKDIR}"/${MY_P}/libltdl
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="static-libs"
-# libltdl doesn't have a testsuite. Don't bother trying.
-RESTRICT="test"
-
-BDEPEND="app-arch/xz-utils"
-
-multilib_src_configure() {
- append-lfs-flags
- ECONF_SOURCE="${S}" \
- econf \
- --enable-ltdl-install \
- $(use_enable static-libs static)
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
-
- # While the libltdl.la file is not used directly, the m4 ltdl logic
- # keys off of its existence when searching for ltdl support. # bug #293921
- #use static-libs || find "${D}" -name libltdl.la -delete
-}
diff --git a/dev-libs/libwacom/Manifest b/dev-libs/libwacom/Manifest
index 8c6b33dd95fd..927627ececd9 100644
--- a/dev-libs/libwacom/Manifest
+++ b/dev-libs/libwacom/Manifest
@@ -1,5 +1,7 @@
DIST libwacom-2.13.0.tar.xz 154512 BLAKE2B 3b63231af2e92052fce3eed87aad7d465cf827dca82f034c7d3577036656b8b71de3b00a35e4f447ae653d01f498de2d960c87cfda4a5b9fa9cb0f79cfd22271 SHA512 c5d6a506b459d97d6865c478baa2a7d278c8fdab902b78a0447eb7a059272e89a669d9f2fa42d4efc9b724cb730a975081a1f8bbb8421b81632869c342fdeb5f
DIST libwacom-2.14.0.tar.xz 164228 BLAKE2B 8936343bbba4d9687bc124ed2fdc610dbee6090100b1a3a59f1cdade90f46b9744280567a650c2433a66d99528fed162405f994c27061c32575ca8441ff342bd SHA512 f2980d4728d3164be325a9a21cf0c27a7d8004c6812f9c1e730916259420b666cc2e5d6166acdb55542a8a35533291d1bd7284a58c2a194558a77215d1580f86
+DIST libwacom-2.15.0.tar.xz 174644 BLAKE2B c52c9eab66fb9cfc58ed78d09c0890a72a472e92ce96ba9095e10694e18e96afe0106c4877106e2dcb54f77076edb600deaef664082252488898b74826e150e2 SHA512 436bf92e8e7578f88272fe9d5cc94941cd44219a5e37ec3a6b7aa4d8f2546933adb55da892d0bd00233ef7dcdd390a997cb802f9c78817401cfd82cf266b99ca
EBUILD libwacom-2.13.0.ebuild 1285 BLAKE2B 24dbbf1f2d90758589bb558896a0bd912fc99c986d1cbfad63199b8d487f0468a0bbc1ca83c746e270daf95109321cdbf0511fe4388302e344baf6030e8bd94a SHA512 941609b713d1260534590cd3f81db27fe8346a62bd65374ae85f94866d995184e7c904d32353e3da24f473e5a6faa3380bd5972f95bc4c0b17c4782376a7078f
EBUILD libwacom-2.14.0.ebuild 1292 BLAKE2B d63d6878b0962833c79cda11b65ceaad7901c3f423e61c778c6c69a462f25f3465cd83c03c8eb75d25677be05854a60057a0a330cf4a2de113de3ee281affac3 SHA512 44530401433c6843cbd0cdf3d7f9de0bdf31dd747a92aa3aea153156c1f9a335d2818281edba31b644551b6fb7b00fba1d0afe6e2e710ed495573b39136f6141
+EBUILD libwacom-2.15.0.ebuild 1298 BLAKE2B 55356c5b69fe8892e0f2cadec4f41c1b957ce887090836fc2d8e1c107663f79c193e3521f49061e82989a454cea436f8dbc83f0901366ddbbe7d6377a56edd74 SHA512 9520b1affb6075fe3d2d2d1a9f201db5b3091d81050214fc310a8d89e4981b2504ff71e674eb538d5c9cb98648c91b9225362824555e1c7c4d2eafbed9af362e
MISC metadata.xml 313 BLAKE2B bee5263fa9309d84996574f86a17a4292e58a7eefc65159ecd0df578ccab24e39f4c050deaaabbcd33e5a86292af6c57c5b2c9eb2c9b6e3caeab86e5633cf3c7 SHA512 b1575775a9f633ffe2124bd5ebef65ab864ae697ed733f50e3028484d2d60ea827e5ac12305d57beedcdbe58d8699bbc7e67cb0c844041c7a56045cb91eae633
diff --git a/dev-libs/libwacom/libwacom-2.15.0.ebuild b/dev-libs/libwacom/libwacom-2.15.0.ebuild
new file mode 100644
index 000000000000..9781eb37ce3e
--- /dev/null
+++ b/dev-libs/libwacom/libwacom-2.15.0.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit meson python-any-r1 udev
+
+DESCRIPTION="Library for identifying Wacom tablets and their model-specific features"
+HOMEPAGE="https://github.com/linuxwacom/libwacom"
+SRC_URI="https://github.com/linuxwacom/${PN}/releases/download/${P}/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0/9" # libwacom SONAME
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/glib:2
+ dev-libs/libevdev
+ dev-libs/libgudev:=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ ${PYTHON_DEPS}
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+ test? (
+ $(python_gen_any_dep '
+ dev-python/libevdev[${PYTHON_USEDEP}]
+ dev-python/pyudev[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+python_check_deps() {
+ use test || return 0
+ python_has_version \
+ "dev-python/libevdev[${PYTHON_USEDEP}]" \
+ "dev-python/pyudev[${PYTHON_USEDEP}]" \
+ "dev-python/pytest[${PYTHON_USEDEP}]"
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_feature doc documentation)
+ $(meson_feature test tests)
+ -Dudev-dir=$(get_udevdir)
+ )
+ meson_src_configure
+}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}