summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-09-05 01:19:17 -0500
committerroot <root@alpha.trunkmasters.com>2026-09-05 01:19:17 -0500
commit58d5b6df48974566c90f6b21e09f15dddad2134b (patch)
tree64a109688cf729102ee3abd1bd72a49d9167dc04
parenteab7bf62d18e386cbf1b987181a08ae0525743f6 (diff)
downloadsrcux-58d5b6df48974566c90f6b21e09f15dddad2134b.tar.gz
srcux-58d5b6df48974566c90f6b21e09f15dddad2134b.tar.xz
srcux-58d5b6df48974566c90f6b21e09f15dddad2134b.zip
Adding metadata
-rw-r--r--app-arch/7zip/7zip-26.03.ebuild119
-rw-r--r--app-arch/7zip/Manifest2
-rw-r--r--app-containers/docker-buildx/Manifest1
-rw-r--r--app-containers/docker-buildx/docker-buildx-0.37.0.ebuild57
-rw-r--r--app-containers/docker-cli/Manifest1
-rw-r--r--app-containers/docker-cli/docker-cli-29.8.0.ebuild62
-rw-r--r--app-containers/docker-cli/metadata.xml4
-rw-r--r--app-containers/docker-compose/Manifest2
-rw-r--r--app-containers/docker-compose/docker-compose-5.5.1.ebuild55
-rw-r--r--app-containers/docker-compose/metadata.xml4
-rw-r--r--app-containers/docker-credential-helpers/Manifest1
-rw-r--r--app-containers/docker-credential-helpers/docker-credential-helpers-0.9.7.ebuild2
-rw-r--r--app-containers/docker-credential-helpers/docker-credential-helpers-0.9.9.ebuild55
-rw-r--r--app-containers/docker/Manifest1
-rw-r--r--app-containers/docker/docker-29.8.0.ebuild335
-rw-r--r--app-containers/docker/metadata.xml4
-rw-r--r--app-containers/slirp4netns/Manifest1
-rw-r--r--app-containers/slirp4netns/slirp4netns-1.3.5.ebuild40
-rw-r--r--app-crypt/pinentry/pinentry-1.3.3.ebuild2
-rw-r--r--app-doc/eclass-manpages/Manifest1
-rw-r--r--app-doc/eclass-manpages/eclass-manpages-20260904.ebuild42
-rw-r--r--app-doc/eclass-manpages/eclass-manpages-99999999.ebuild2
-rw-r--r--app-editors/nano/nano-9.2.ebuild2
-rw-r--r--app-emulation/wine-staging/Manifest4
-rw-r--r--app-emulation/wine-staging/wine-staging-11.12.ebuild253
-rw-r--r--app-emulation/wine-staging/wine-staging-11.13.ebuild253
-rw-r--r--app-emulation/wine-vanilla/Manifest3
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-11.13.ebuild214
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-11.17.ebuild (renamed from app-emulation/wine-vanilla/wine-vanilla-11.12.ebuild)6
-rw-r--r--app-misc/ca-certificates/ca-certificates-20260601.3.112.5.ebuild2
-rw-r--r--dev-build/ninja/files/ninja-1.13.2-big-endian-test.patch91
-rw-r--r--dev-build/ninja/ninja-1.13.2-r1.ebuild3
-rw-r--r--dev-db/etcd/Manifest4
-rw-r--r--dev-db/etcd/etcd-3.5.33.ebuild (renamed from dev-db/etcd/etcd-3.5.26.ebuild)13
-rw-r--r--dev-db/etcd/etcd-3.7.1.ebuild1
-rw-r--r--dev-db/postgis/postgis-3.3.10.ebuild2
-rw-r--r--dev-db/postgis/postgis-3.5.7.ebuild2
-rw-r--r--dev-lang/go/go-1.26.5.ebuild2
-rw-r--r--dev-lang/rust-bin/rust-bin-1.74.1-r102.ebuild4
-rw-r--r--dev-lang/rust-bin/rust-bin-1.75.0-r102.ebuild4
-rw-r--r--dev-lang/rust-bin/rust-bin-1.76.0-r101.ebuild4
-rw-r--r--dev-lang/rust-bin/rust-bin-1.77.1-r102.ebuild4
-rw-r--r--dev-lang/rust-bin/rust-bin-1.78.0-r102.ebuild4
-rw-r--r--dev-lang/rust-bin/rust-bin-1.79.0-r103.ebuild4
-rw-r--r--dev-lang/rust-bin/rust-bin-1.80.1-r103.ebuild4
-rw-r--r--dev-lang/rust-bin/rust-bin-1.81.0-r103.ebuild4
-rw-r--r--dev-lang/rust-bin/rust-bin-1.82.0-r103.ebuild4
-rw-r--r--dev-lang/rust-bin/rust-bin-1.83.0-r2.ebuild4
-rw-r--r--dev-lang/rust-bin/rust-bin-1.84.0-r2.ebuild4
-rw-r--r--dev-lang/rust-bin/rust-bin-1.84.1-r2.ebuild4
-rw-r--r--dev-lang/rust-bin/rust-bin-1.85.0-r1.ebuild4
-rw-r--r--dev-lang/rust-bin/rust-bin-1.85.1.ebuild4
-rw-r--r--dev-lang/rust-bin/rust-bin-1.86.0-r1.ebuild4
-rw-r--r--dev-lang/rust-bin/rust-bin-1.87.0.ebuild4
-rw-r--r--dev-lang/rust-bin/rust-bin-1.88.0.ebuild4
-rw-r--r--dev-lang/rust-bin/rust-bin-1.89.0.ebuild4
-rw-r--r--dev-lang/rust-bin/rust-bin-1.90.0.ebuild4
-rw-r--r--dev-lang/rust-bin/rust-bin-1.91.0.ebuild4
-rw-r--r--dev-lang/rust-bin/rust-bin-1.92.0.ebuild2
-rw-r--r--dev-lang/rust-bin/rust-bin-1.93.0.ebuild2
-rw-r--r--dev-lang/rust-bin/rust-bin-1.93.1.ebuild2
-rw-r--r--dev-lang/rust-bin/rust-bin-1.94.0.ebuild4
-rw-r--r--dev-lang/rust-bin/rust-bin-1.94.1.ebuild2
-rw-r--r--dev-lang/rust-bin/rust-bin-1.95.0.ebuild2
-rw-r--r--dev-lang/rust-bin/rust-bin-1.96.1.ebuild2
-rw-r--r--dev-lang/rust-bin/rust-bin-1.97.1.ebuild2
-rw-r--r--dev-lang/rust-bin/rust-bin-1.98.1.ebuild2
-rw-r--r--dev-lang/rust-bin/rust-bin-9999.ebuild4
-rw-r--r--dev-lang/rust/rust-1.74.1-r101.ebuild6
-rw-r--r--dev-lang/rust/rust-1.75.0-r101.ebuild6
-rw-r--r--dev-lang/rust/rust-1.76.0-r101.ebuild6
-rw-r--r--dev-lang/rust/rust-1.77.1-r101.ebuild6
-rw-r--r--dev-lang/rust/rust-1.78.0-r101.ebuild6
-rw-r--r--dev-lang/rust/rust-1.79.0-r101.ebuild6
-rw-r--r--dev-lang/rust/rust-1.80.1-r101.ebuild6
-rw-r--r--dev-lang/rust/rust-1.81.0-r101.ebuild6
-rw-r--r--dev-lang/rust/rust-1.82.0-r103.ebuild6
-rw-r--r--dev-lang/rust/rust-1.83.0-r3.ebuild6
-rw-r--r--dev-lang/rust/rust-1.84.0-r2.ebuild6
-rw-r--r--dev-lang/rust/rust-1.84.1-r2.ebuild6
-rw-r--r--dev-lang/rust/rust-1.85.0-r2.ebuild6
-rw-r--r--dev-lang/rust/rust-1.85.1-r1.ebuild6
-rw-r--r--dev-lang/rust/rust-1.86.0-r2.ebuild6
-rw-r--r--dev-lang/rust/rust-1.87.0-r1.ebuild6
-rw-r--r--dev-lang/rust/rust-1.88.0.ebuild6
-rw-r--r--dev-lang/rust/rust-1.89.0.ebuild6
-rw-r--r--dev-lang/rust/rust-1.90.0-r1.ebuild4
-rw-r--r--dev-lang/rust/rust-1.91.0.ebuild4
-rw-r--r--dev-lang/rust/rust-1.92.0_p1-r1.ebuild4
-rw-r--r--dev-lang/rust/rust-1.93.0.ebuild4
-rw-r--r--dev-lang/rust/rust-1.93.1.ebuild4
-rw-r--r--dev-lang/rust/rust-1.94.0.ebuild4
-rw-r--r--dev-lang/rust/rust-1.94.1.ebuild4
-rw-r--r--dev-lang/rust/rust-1.95.0.ebuild4
-rw-r--r--dev-lang/rust/rust-1.96.1.ebuild4
-rw-r--r--dev-lang/rust/rust-1.97.1.ebuild4
-rw-r--r--dev-lang/rust/rust-1.98.1.ebuild4
-rw-r--r--dev-lang/rust/rust-9999.ebuild4
-rw-r--r--dev-libs/jansson/jansson-2.15.1.ebuild2
-rw-r--r--dev-libs/libxml2/Manifest1
-rw-r--r--dev-libs/libxml2/libxml2-2.15.4.ebuild165
-rw-r--r--dev-python/alembic/Manifest1
-rw-r--r--dev-python/alembic/alembic-1.19.2.ebuild57
-rw-r--r--dev-python/boto3/Manifest9
-rw-r--r--dev-python/boto3/boto3-1.43.80.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.43.81.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.43.82.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.43.85.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.43.86.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.43.87.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.43.88.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.43.89.ebuild (renamed from dev-python/boto3/boto3-1.43.79.ebuild)0
-rw-r--r--dev-python/botocore/Manifest9
-rw-r--r--dev-python/botocore/botocore-1.43.80.ebuild67
-rw-r--r--dev-python/botocore/botocore-1.43.81.ebuild67
-rw-r--r--dev-python/botocore/botocore-1.43.82.ebuild67
-rw-r--r--dev-python/botocore/botocore-1.43.85.ebuild67
-rw-r--r--dev-python/botocore/botocore-1.43.86.ebuild67
-rw-r--r--dev-python/botocore/botocore-1.43.87.ebuild67
-rw-r--r--dev-python/botocore/botocore-1.43.88.ebuild67
-rw-r--r--dev-python/botocore/botocore-1.43.89.ebuild (renamed from dev-python/botocore/botocore-1.43.79.ebuild)0
-rw-r--r--dev-python/cachebox/Manifest10
-rw-r--r--dev-python/cachebox/cachebox-6.2.7.ebuild (renamed from dev-python/cachebox/cachebox-6.2.5.ebuild)12
-rw-r--r--dev-python/flask-caching/Manifest2
-rw-r--r--dev-python/flask-caching/flask-caching-2.5.1.ebuild41
-rw-r--r--dev-python/jupyter-builder/Manifest2
-rw-r--r--dev-python/jupyter-builder/jupyter-builder-1.2.3.ebuild (renamed from dev-python/jupyter-builder/jupyter-builder-1.2.1.ebuild)4
-rw-r--r--dev-python/pebble/Manifest2
-rw-r--r--dev-python/pebble/pebble-5.2.2.ebuild (renamed from dev-python/pebble/pebble-5.2.0.ebuild)2
-rw-r--r--dev-python/pypdf/Manifest4
-rw-r--r--dev-python/pypdf/pypdf-6.16.1.ebuild58
-rw-r--r--dev-python/pypdf/pypdf-6.17.0.ebuild (renamed from dev-python/pypdf/pypdf-6.16.0.ebuild)11
-rw-r--r--dev-python/securesystemslib/Manifest2
-rw-r--r--dev-python/securesystemslib/securesystemslib-1.5.1.ebuild44
-rw-r--r--dev-python/towncrier/Manifest2
-rw-r--r--dev-python/towncrier/towncrier-26.9.0.ebuild50
-rw-r--r--dev-python/ujson/Manifest4
-rw-r--r--dev-python/ujson/ujson-6.0.0.ebuild (renamed from dev-python/ujson/ujson-5.12.1.ebuild)2
-rw-r--r--dev-python/uv-build/Manifest1
-rw-r--r--dev-python/uv-build/uv-build-0.12.10.ebuild100
-rw-r--r--dev-python/uv/Manifest2
-rw-r--r--dev-python/uv/uv-0.12.10.ebuild151
-rw-r--r--dev-util/codex/Manifest4
-rw-r--r--dev-util/codex/codex-0.139.0.ebuild154
-rw-r--r--dev-util/codex/codex-0.149.0.ebuild157
-rw-r--r--dev-util/codex/codex-0.153.4.ebuild (renamed from dev-util/e/codex/codex-0.149.0.ebuild)5
-rw-r--r--dev-util/e/codex/Manifest19
-rw-r--r--dev-util/e/codex/codex-0.139.0.ebuild154
-rw-r--r--dev-util/e/codex/metadata.xml24
-rw-r--r--eclass/qt6-build.eclass12
-rw-r--r--gui-libs/egl-gbm/Manifest1
-rw-r--r--gui-libs/egl-gbm/egl-gbm-1.1.4.ebuild43
-rw-r--r--gui-libs/egl-wayland/Manifest1
-rw-r--r--gui-libs/egl-wayland/egl-wayland-1.1.22.ebuild47
-rw-r--r--gui-libs/egl-wayland2/Manifest1
-rw-r--r--gui-libs/egl-wayland2/egl-wayland2-1.0.2.ebuild44
-rw-r--r--gui-libs/egl-x11/Manifest2
-rw-r--r--gui-libs/egl-x11/egl-x11-1.0.6.ebuild (renamed from gui-libs/egl-x11/egl-x11-1.0.4.ebuild)2
-rw-r--r--media-libs/nvidia-vaapi-driver/Manifest1
-rw-r--r--media-libs/nvidia-vaapi-driver/nvidia-vaapi-driver-0.0.18.ebuild32
-rw-r--r--net-dns/bind/bind-9.18.38.ebuild9
-rw-r--r--net-dns/bind/bind-9.18.39.ebuild9
-rw-r--r--net-dns/bind/bind-9.18.42.ebuild9
-rw-r--r--net-dns/bind/bind-9.18.47.ebuild7
-rw-r--r--net-dns/bind/bind-9.18.48.ebuild7
-rw-r--r--net-dns/bind/bind-9.18.49.ebuild7
-rw-r--r--net-dns/bind/bind-9.20.21.ebuild7
-rw-r--r--net-dns/bind/bind-9.20.22.ebuild7
-rw-r--r--net-dns/bind/bind-9.20.23.ebuild7
-rw-r--r--net-dns/bind/bind-9.20.24.ebuild7
-rw-r--r--net-dns/bind/bind-9.20.26.ebuild7
-rw-r--r--net-dns/bind/bind-9.20.27.ebuild7
-rw-r--r--net-dns/dnssec-root/dnssec-root-20260528.ebuild2
-rw-r--r--net-dns/pdns-recursor/Manifest65
-rw-r--r--net-dns/pdns-recursor/pdns-recursor-5.4.6.ebuild (renamed from net-dns/pdns-recursor/pdns-recursor-5.3.10.ebuild)124
-rw-r--r--net-dns/pdns/Manifest1
-rw-r--r--net-dns/pdns/pdns-5.0.7.ebuild133
-rw-r--r--net-irc/znc-clientbuffer/znc-clientbuffer-1.0.53.ebuild2
-rw-r--r--net-misc/sb-hosts/Manifest2
-rw-r--r--net-misc/sb-hosts/sb-hosts-3.16.112.ebuild (renamed from net-misc/sb-hosts/sb-hosts-3.16.110.ebuild)0
-rw-r--r--net-vpn/derper/derper-1.102.2-r1.ebuild (renamed from net-vpn/derper/derper-1.102.2.ebuild)4
-rw-r--r--net-vpn/tailscale/tailscale-1.102.0.ebuild2
-rw-r--r--net-vpn/vopono/Manifest11
-rw-r--r--net-vpn/vopono/vopono-0.10.18.ebuild62
-rw-r--r--net-vpn/vopono/vopono-0.10.19.ebuild62
-rw-r--r--net-vpn/vopono/vopono-1.0.1.ebuild (renamed from net-vpn/vopono/vopono-0.10.21.ebuild)2
-rw-r--r--profiles/categories11
-rw-r--r--sci-libs/ogdi/files/ogdi-4.1.0-make.patch12
-rw-r--r--sci-libs/ogdi/ogdi-4.1.0-r2.ebuild1
-rw-r--r--sys-apps/logwatch/logwatch-7.15.ebuild2
-rw-r--r--sys-apps/shadow/shadow-4.20.0.ebuild2
-rw-r--r--sys-apps/util-linux/Manifest2
-rw-r--r--sys-apps/util-linux/files/util-linux-2.42.3-CVE-2026-78408.patch83
-rw-r--r--sys-apps/util-linux/files/util-linux-2.42.3-fileutils-warnings.patch64
-rw-r--r--sys-apps/util-linux/files/util-linux-2.42.3-libmount-fixup.patch114
-rw-r--r--sys-apps/util-linux/files/util-linux-2.42.3-libmount-include.patch38
-rw-r--r--sys-apps/util-linux/util-linux-2.42.3.ebuild504
-rw-r--r--sys-apps/xdg-desktop-portal/xdg-desktop-portal-1.20.4-r1.ebuild2
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-7.1.ebuild2
-rw-r--r--sys-fs/cryptsetup/cryptsetup-2.8.7.ebuild2
-rw-r--r--sys-process/htop/htop-3.5.3.ebuild2
-rw-r--r--sys-process/lsof/lsof-4.99.7.ebuild2
-rw-r--r--www-client/ungoogled-chromium/Manifest2
-rw-r--r--www-client/ungoogled-chromium/ungoogled-chromium-152.0.7977.82_p1.ebuild2622
204 files changed, 5440 insertions, 2790 deletions
diff --git a/app-arch/7zip/7zip-26.03.ebuild b/app-arch/7zip/7zip-26.03.ebuild
new file mode 100644
index 000000000000..b968faff9530
--- /dev/null
+++ b/app-arch/7zip/7zip-26.03.ebuild
@@ -0,0 +1,119 @@
+# Copyright 2023-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit edos2unix flag-o-matic toolchain-funcs
+
+NO_DOT_PV=$(ver_rs 1- '')
+DESCRIPTION="Free file archiver for extremely high compression"
+HOMEPAGE="https://www.7-zip.org/ https://sourceforge.net/projects/sevenzip/"
+# linux-x64 tarball is only used for docs
+SRC_URI="
+ https://github.com/ip7z/7zip/releases/download/${PV}/7z${NO_DOT_PV}-src.tar.xz
+ https://github.com/ip7z/7zip/releases/download/${PV}/7z${NO_DOT_PV}-linux-x64.tar.xz
+"
+S=${WORKDIR}
+
+LICENSE="LGPL-2 BSD rar? ( unRAR )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="uasm jwasm rar +symlink"
+REQUIRED_USE="?? ( uasm jwasm )"
+
+DOCS=( readme.txt History.txt License.txt )
+HTML_DOCS=( MANUAL )
+
+BDEPEND="
+ app-arch/xz-utils[extra-filters(+)]
+ uasm? ( dev-lang/uasm )
+ jwasm? ( dev-lang/jwasm )
+"
+RDEPEND="
+ symlink? ( !app-arch/p7zip )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-24.05-respect-build-env.patch"
+)
+
+pkg_setup() {
+ # instructions in DOC/readme.txt, Compiling 7-Zip for Unix/Linux
+ # TLDR; every combination of options (clang|gcc)+(asm/noasm)
+ # has a dedicated makefile & builddir
+ mfile="cmpl"
+ if tc-is-clang; then
+ mfile="${mfile}_clang"
+ bdir=c
+ elif tc-is-gcc; then
+ mfile="${mfile}_gcc"
+ bdir=g
+ else
+ die "Unsupported compiler: $(tc-getCC)"
+ fi
+ if use jwasm || use uasm ; then
+ mfile="${mfile}_x64"
+ bdir="${bdir}_x64"
+ fi
+ export mfile="${mfile}.mak"
+ export bdir
+}
+
+src_prepare() {
+ # patch doesn't deal with CRLF even if file+patch match
+ # not even with --ignore-whitespace, --binary or --force. We only
+ # strictly need to convert the .mk files we patch but do everything
+ # to allow easily patching in future + facilitate user patches.
+ pushd "./CPP/7zip" || die "Unable to switch directory"
+ edos2unix $(find . -type 'f' || die)
+ sed -i -e 's/-Werror //g' ./7zip_gcc.mak || die "Error removing -Werror"
+ popd >/dev/null || die "Unable to switch directory"
+
+ default
+}
+
+src_compile() {
+ # avoid executable stack when using uasm/jwasm, harmless otherwise
+ append-ldflags -Wl,-z,noexecstack
+ export G_CFLAGS=${CFLAGS}
+ export G_CXXFLAGS=${CXXFLAGS}
+ export G_LDFLAGS=${LDFLAGS}
+
+ local args=(
+ -f "../../${mfile}"
+ CC=$(tc-getCC)
+ CXX=$(tc-getCXX)
+ )
+ # NOTE: makefile doesn't check the value of DISABLE_RAR_COMPRESS, only
+ # whether it's defined or not. so in case user has `rar` enabled
+ # DISABLE_RAR_COMPRESS (and DISABLE_RAR) needs to stay undefined.
+ if ! use rar; then
+ # disables non-free rar code but allows listing and extracting
+ # non-compressed rar archives
+ args+=( DISABLE_RAR_COMPRESS=1 )
+ fi
+ if use jwasm; then
+ args+=( USE_JWASM=1 )
+ elif use uasm; then
+ args+=( MY_ASM=uasm )
+ fi
+
+ # Build executable and library
+ for i in "./CPP/7zip/Bundles/Alone2" "./CPP/7zip/Bundles/Format7zF" ; do
+ pushd "${i}" || die "Unable to switch directory"
+ mkdir -p "${bdir}" || die # Bug: https://bugs.gentoo.org/933619
+ emake ${args[@]}
+ popd > /dev/null || die "Unable to switch directory"
+ done
+}
+
+src_install() {
+ dobin "./CPP/7zip/Bundles/Alone2/b/${bdir}/7zz"
+ dolib.so "./CPP/7zip/Bundles/Format7zF/b/${bdir}/7z.so"
+ if use symlink; then
+ dosym 7zz /usr/bin/7z
+ dosym 7zz /usr/bin/7za
+ dosym 7zz /usr/bin/7zr
+ fi
+ einstalldocs
+}
diff --git a/app-arch/7zip/Manifest b/app-arch/7zip/Manifest
index 49b552aa3dfa..267f70cf2edc 100644
--- a/app-arch/7zip/Manifest
+++ b/app-arch/7zip/Manifest
@@ -1,2 +1,4 @@
DIST 7z2602-linux-x64.tar.xz 1571416 BLAKE2B 2f83d967b3a16d4aaf3a96ba7c242ff7fe3d9628a7a556f797ec509fe12a1e08b9b453f571fa2911a941244fb6482b99b294770736debfaeaa1b966003973e57 SHA512 1f8d3c90287f006501ed06da6e22687267e95b39a92267220ed5d2f218e950e5cecbb410aefef3c92a067857943f417767f410b07d74c0caa2b86f37b05d2a1e
DIST 7z2602-src.tar.xz 1543480 BLAKE2B 26fb72ffef65c316ff97959981e4f8eb4dbbd5ac09900d3c6ab880347ff23cc781f4b4196f138e8c558afa5c1fd738feebc73299f6be70d9787dfc9ffa9afc69 SHA512 85449360904b295cb47a86597cca5e6623f4119e4e5ad3491d67bea8cd416bad68c4bfb69b9ec521ccee6e431a080d9e8aa8f5eecb69d8305c66973048e56a16
+DIST 7z2603-linux-x64.tar.xz 1575072 BLAKE2B d32fb9c8ae99acad2571d5a8f7be66bdcfa6804fbc1f70ab79be5551591b3ad49f34c216d69f6f7fe046725609bbc29248b27e233dcafb57cdc2c1e93006f4a7 SHA512 d02bf68d9b458480cee9916c199a80e8d4b520ad69fe7052ecf1a16e4dd4d0e7c1bd96b15c65b1b91d31565fb26d6c20e1bf2af7765d571ace8e59834f2dd612
+DIST 7z2603-src.tar.xz 1552200 BLAKE2B d50364d6a3668ee4bc1528602eb779aafd6169e9a8a7fd2daaf1ebf10a963e8a9fa2a74b36219c34287b7ecae2bdab52abcfdb8840340181791994b087f44479 SHA512 469ebb37fb1495982ffee453cc6298dabb14b449e42fbe231001d0dae51ee3bcc83fdf46fec137a7cf7d6688a696b689a90d1aff3408d716e458b2ce064458c7
diff --git a/app-containers/docker-buildx/Manifest b/app-containers/docker-buildx/Manifest
index a85c8ade34d4..fc5222dd8a4e 100644
--- a/app-containers/docker-buildx/Manifest
+++ b/app-containers/docker-buildx/Manifest
@@ -6,3 +6,4 @@ DIST docker-buildx-0.21.2.tar.gz 13608048 BLAKE2B 8229fe6d8d1b2b9f35213ae0ae879d
DIST docker-buildx-0.34.1.tar.gz 15417849 BLAKE2B b302d1f2331ba7f76c79358be197436ac37e3d4ebea154ae441fc05b787544d9cd037bff2ae8140f9475ddfa3cad77e0a136b1a423d29cb73bdb42218ade5da0 SHA512 be69ff92a136e169456710c369099bd33ed0ae17271133fe0322fe1664c868ad76dd74265879fa783fa257a6ed6dca37c213d1153de9e903833b59cde4181d0b
DIST docker-buildx-0.35.0.tar.gz 15243338 BLAKE2B d5529d81cd2745366e46da1f805da6b4b47a4002260c5f351cddafbba4cc55fbad3be182e94d89453de62fdda3adc7bde2713010122439ce72a7cc53e49b3f6f SHA512 208251fe59d016bbb1d34abacab4813169577c474ad62f47afdcce4f2484e8535a452bfa0b8dbadc465590cae935896bfeec2263934262cdb769a27b59b4c5de
DIST docker-buildx-0.36.1.tar.gz 15022684 BLAKE2B c927c4e310cd72a9cbffb00d637e0c596828ea1ad1aee8725cdaa9163dc100a35c0898b25f7123ed1c926006f7b3e632c4b579eeeeb296cd25b331f9e7d64699 SHA512 669a1fa58570f56dfc6d5a0cf79f09e5a326b997a26a79e9bdbc263b1b847200d6bcc8fa1a37be43a77573d32c04d093959ec793cfd503cef524cbfdb9332339
+DIST docker-buildx-0.37.0.tar.gz 15139877 BLAKE2B 2f0048fc2878054104168eb9e1117c987c6fb44be3f929e5a52bc1554c2c97f91898f35049a74b8320c3ae77ee0a1ffe661fcdd2c28b969ebce33d16659b16c4 SHA512 9b82b4b6e6f27a364dda89c3dcc936db78a49750c7cdc527641f04c736d8987a4efbde9614a91ea151772c9b9d01959ce51de5c6d144820b18b7e3244695bece
diff --git a/app-containers/docker-buildx/docker-buildx-0.37.0.ebuild b/app-containers/docker-buildx/docker-buildx-0.37.0.ebuild
new file mode 100644
index 000000000000..a339148875b0
--- /dev/null
+++ b/app-containers/docker-buildx/docker-buildx-0.37.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=9
+
+inherit go-module
+
+DESCRIPTION="Docker CLI plugin for extended build capabilities with BuildKit"
+HOMEPAGE="https://github.com/docker/buildx"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/docker/buildx.git"
+else
+ SRC_URI="https://github.com/docker/buildx/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+ S=${WORKDIR}/${P#docker-}
+fi
+
+LICENSE="Apache-2.0"
+# Dependent licenses
+LICENSE+=" Apache-2.0 BSD BSD-2 ISC MIT MPL-2.0 Unicode-DFS-2016"
+SLOT="0"
+
+RDEPEND="app-containers/docker-cli"
+BDEPEND=">=dev-lang/go-1.26.3"
+
+src_compile() {
+ local _buildx_r='github.com/docker/buildx'
+ local version=${PV}
+ if [[ ${PV} == 9999 ]]; then
+ version="$(git rev-parse --short HEAD)"
+ fi
+ local go_ldflags=(
+ "-linkmode=external"
+ -X "${_buildx_r}/version.Version=${version}"
+ -X "${_buildx_r}/version.Revision=$(date -u +%FT%T%z)"
+ -X "${_buildx_r}/version.Package=${_buildx_r}"
+ )
+ ego build -o docker-buildx -ldflags "${go_ldflags[*]}" ./cmd/buildx
+}
+
+src_test() {
+ # TestGit can't work in a source tarball; TestReadTargets fails seemingly due to parallelism.
+ if [[ ${PV} == 9999 ]]; then
+ ego test ./... -skip "TestReadTargets|TestIntegration"
+ else
+ ego test ./... -skip "TestGit|TestReadTargets|TestIntegration"
+ fi
+}
+
+src_install() {
+ exeinto /usr/libexec/docker/cli-plugins
+ doexe docker-buildx
+
+ einstalldocs
+}
diff --git a/app-containers/docker-cli/Manifest b/app-containers/docker-cli/Manifest
index c90b074ab356..6fcc332c897e 100644
--- a/app-containers/docker-cli/Manifest
+++ b/app-containers/docker-cli/Manifest
@@ -10,3 +10,4 @@ DIST docker-cli-28.4.0.tar.gz 7612765 BLAKE2B acfa0ee4cdeb6eec31ae92eb8c0a41357a
DIST docker-cli-29.1.3.tar.gz 7303915 BLAKE2B 3d45206f91f3675171f054f5159ec38034a9d7125d1742346a9b0819af26a50616198d87640ec6e6cb0a017aa801c677d5bb85c7faf7cfbd1de81cb4f886c932 SHA512 f37a5d125eb93639db8527c826078571ef5938be6bb33d132ccf693bf0810e3b9bb354074488021e129760a44b7fc51cd8295c6c6fe79211b70736231f47320e
DIST docker-cli-29.5.2.tar.gz 6828313 BLAKE2B c62bf6acd83a6db72dbf3f65be34e0738b38e6ade12ae15c1b1bcc69b648628b85dac523bd876c0f473cd9d12408c738b1728b8e33aab87034a76ec0aec36388 SHA512 3c569dbbcef6e9720a126147175f67297acab9a4ae8dd2af544b48eca70519dfd3c5312bf4ffab777e59a251cfdc5965217b0d3ca4c2eb41117c2e3b465bbb8a
DIST docker-cli-29.7.2.tar.gz 6893753 BLAKE2B f744e147e32eeea233398c35b998d1e7f7b17066cd2d9c4d0fe8a2e155ff0445ff90d844181f7758c85fcd87b57e0b9a702449e9fef2131a8d9d04f186081b3f SHA512 0b118d17e205277c15b90e29a2f9bad3b385f59ea3b8d6e32371c103ceadd0fb964e91f3d57f5b87dc0a1b0778afbc41680087e91fdb4c8037abab6b6e222b80
+DIST docker-cli-29.8.0.tar.gz 7106105 BLAKE2B 8540003d04624191f5cab570b00f993df226614c8444ff198279bd0188efc83bf6225ae0cacd3abf5179786706dde83bcc14fc6b5ef4c025e99b97c98eb87a6d SHA512 75d475d4198fc87085fa1fd881caf18f2fafe0b8483bf3ba4c19f1057ed03f336e7d2f6eeb0c14697c82c0d1b3bf93dadc96a007b9c499e634dd44a8438e132c
diff --git a/app-containers/docker-cli/docker-cli-29.8.0.ebuild b/app-containers/docker-cli/docker-cli-29.8.0.ebuild
new file mode 100644
index 000000000000..2607a09c1340
--- /dev/null
+++ b/app-containers/docker-cli/docker-cli-29.8.0.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit shell-completion go-env go-module toolchain-funcs
+
+# update this on every bump
+GIT_COMMIT=88096ef00576baf72a9cb45caa45c0544c40e0a7
+
+DESCRIPTION="the command line binary for docker"
+HOMEPAGE="https://www.docker.com/"
+SRC_URI="https://github.com/docker/cli/archive/v${PV/_/-}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/cli-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="selinux"
+
+RDEPEND="selinux? ( sec-policy/selinux-docker )"
+BDEPEND="
+ dev-go/go-md2man
+ >=dev-lang/go-1.26.3
+"
+
+RESTRICT="installsources strip test"
+
+src_prepare() {
+ default
+ sed -i 's@dockerd\?\.exe@@g' contrib/completion/bash/docker || die
+ ln -s vendor.mod go.mod || die
+ ln -s vendor.sum go.sum || die
+}
+
+src_compile() {
+ export DISABLE_WARN_OUTSIDE_CONTAINER=1
+
+ myemakeargs=(
+ VERSION="${PV}"
+ GITCOMMIT="${GIT_COMMIT}"
+ )
+
+ emake "${myemakeargs[@]}" dynbinary
+ tc-env_build go-env_run emake "${myemakeargs[@]}" manpages
+}
+
+src_install() {
+ dobin build/docker
+ doman man/man?/*
+ dobashcomp contrib/completion/bash/docker
+ bashcomp_alias docker dockerd
+ dofishcomp contrib/completion/fish/docker.fish
+ dozshcomp contrib/completion/zsh/_*
+}
+
+pkg_postinst() {
+ has_version "app-containers/docker-buildx" && return
+ ewarn "the 'docker build' command is deprecated and will be removed in a"
+ ewarn "future release. If you need this functionality, install"
+ ewarn "app-containers/docker-buildx."
+}
diff --git a/app-containers/docker-cli/metadata.xml b/app-containers/docker-cli/metadata.xml
index a0c754ce4726..8596b65c54bb 100644
--- a/app-containers/docker-cli/metadata.xml
+++ b/app-containers/docker-cli/metadata.xml
@@ -5,6 +5,10 @@
<email>williamh@gentoo.org</email>
<name>William Hubbs</name>
</maintainer>
+ <maintainer type="person">
+ <email>arthurzam@gentoo.org</email>
+ <name>Arthur Zamarin</name>
+ </maintainer>
<upstream>
<remote-id type="cpe">cpe:/a:docker:command_line_interface</remote-id>
</upstream>
diff --git a/app-containers/docker-compose/Manifest b/app-containers/docker-compose/Manifest
index edc9bf54ee40..1a79ee439c11 100644
--- a/app-containers/docker-compose/Manifest
+++ b/app-containers/docker-compose/Manifest
@@ -1,6 +1,7 @@
DIST compose-5.1.4-vendor.tar.xz 3753076 BLAKE2B 4fca50a6638ae928f33787d987edf9444df1992056a929c2fe8514c63023454476bb490f76399022297d570b376a8657029f17ca98f8d637c06a9fb7561773df SHA512 ee5ef37bb76eead1b221920f5ae7788a50c0c705eb2e51118c7b6d31fd7725a9ffed1cc785039170ab78c4a71a03ecb7fc6486ed3822a2adef2efea6d68ec9f0
DIST compose-5.4.0-vendor.tar.xz 6229064 BLAKE2B 0dd8e4392040e234df76fb8cf304771bbb3d4656d6e18713563048cc6373b8fed53db9656a143f48272a91410ee61dd09bd29af4653d273774464adeed6312cb SHA512 dd6bb4e9c7fe9afde64f2c13bc3bbb6e000f68dad8ff69e58a19e2a61923c006532e0a03f193a3c7ed245f3105ca3bb49587e5ae9518fee67adf708c1173a183
DIST compose-5.5.0-vendor.tar.xz 6229772 BLAKE2B 460a2b01edd96159eb76c56a9b2016e218bb1d92e2e58a1e8c792c4ee8aa5c9a4c3ce96b72a23fd44b75dee0ed165efd6c5b8dfec914439d72ba01bccdd6a756 SHA512 8d6c2cce6a715396095a26fa669678627d59f86d8f39c8fbe991bf50edaf2ba718b407fb9f6f45152a0b56e9e310c85810ac84917b0034242ea381f15656ea80
+DIST compose-5.5.1-vendor.tar.xz 3528188 BLAKE2B 3ed2d9f7930f45e56b2a83664df6f5185bd96b209a98047197c9d0f23a822ccb540bd3a6e62ccc67922b9cc9509431c2baecb9b24ff7405895b04773076a30bf SHA512 3a51a6f3aa3380325b9853e000e325643e41161414e1d72d6c940c64270abb21dbf8a67f823465976dea76e50962fb71085057f0a791f98979ce9e52b27e61d5
DIST docker-compose-2.34.0-deps.tar.xz 61127872 BLAKE2B e676e93203ae0e670d7cedb6b8771aea01d501246bd9e2c997fc1f03ae6db16fc7816e05ae69bfda6fc83f912d5ccd82a1b7f22781cb5fce4910c326b63f93c7 SHA512 a7f7d710b03e52c3559c84e48e2171e9aa7d2f7c357f1a44963de396a4491a53fdea9e138c57d092572e1a6833e7d3e9ea50ea7e17885c7e37f9ded6cad1cf5e
DIST docker-compose-2.34.0.gh.tar.gz 397231 BLAKE2B e500fcbb8e6d7ffb08ff43f667faf73dcc29c6084a8a105d1b3c3d0733681ed2499312f056406c6f95d108359f07d92c21e8e2384bd309514b7140bd8a939269 SHA512 8e2ca8cd3b23328a6655c235c6c515343cc848fb1d139a1e981c81a88595edfed4e9d6450f98eebfb8ff73c02c7fbf2aac6206e8fe90eb7883cb6edc6ec0682c
DIST docker-compose-2.39.3-deps.tar.xz 61486084 BLAKE2B 1e1398f30992b2b8777d78ad13361a684ef83c8036e9d0a24a2d74fc81354e5fab7e9c2f27c695580b839237ec8d99ad7a08976b3308349905e03a390e08e25e SHA512 a20c66e0536b0ac40c34f043e63d73b1f6838e841de52ada307ba5f9793bbb41cfb00333fc0681764818386c483ce9f25c5f123ceba6a6c1d05d386c2b5a8b79
@@ -12,3 +13,4 @@ DIST docker-compose-5.0.1.gh.tar.gz 429760 BLAKE2B 57cc76dfae0c4289153d8518430c9
DIST docker-compose-5.1.4.gh.tar.gz 461373 BLAKE2B 5c7155de714767535f06b407a5bf4784fbd4429845025fde1ebaba277887f8a4341f252569c14db8ee34d5a115720c8594f4c481f41ea8a929a322febbe853a6 SHA512 b9cc1c74251f97b4eef6448f66e58613c3b22b683ea92bebb6d8279b00739c285170d6cdc059e7341cb419c197b47958c6ad446ca763c93121ee524e57412a68
DIST docker-compose-5.4.0.gh.tar.gz 537639 BLAKE2B 569a92593227bc924cf9944aa399f862f7ee8d8d82baccec1d4c6e5a5b6cbd08b6f0d3f1fbb9213cf641ca189aef7022edfdf515700f1a713dbf6b106bfe4d55 SHA512 46819486e3de32f3a07821acde6c2361dcfde307779247c55f51c5ed1cf4df1103d8d2475590d53999693cbfd2baf71404f81f05ebfc9fbb1adbf90f8800cdc5
DIST docker-compose-5.5.0.gh.tar.gz 555364 BLAKE2B 806fd9330d1590404a2d29b19c5660f60a8ee8eeed937244926c4e2aa9d6985c5a7787ccd0d282872d00d31562b240682181c8b3719944decc8b8d51e8630aab SHA512 00c59facd09d6e0b2a938ee89651b57a6cb86449cce1d6b2ad7e50bb9a8192a8ef8f9b2df6e4c007e07544ba9763d8e81979bcc0eba602da37ab5982771a357d
+DIST docker-compose-5.5.1.gh.tar.gz 601526 BLAKE2B 2156a68670c96560f10e1b65abb0568b182f0c5a71a1fd3239e589b31bc38af3add5e194943b7001ff334cfdf64e0adbb3730d080c1930eb2a4fc8c448c6db91 SHA512 477025f5a18c7d281a774007f01065128e90ab5cae7340daf98913dd1f44854882db5d9f808ef425c15e861e96be9bbb8a4516af3c39d3aa82eb04b284f6bfe3
diff --git a/app-containers/docker-compose/docker-compose-5.5.1.ebuild b/app-containers/docker-compose/docker-compose-5.5.1.ebuild
new file mode 100644
index 000000000000..9d806b03aab0
--- /dev/null
+++ b/app-containers/docker-compose/docker-compose-5.5.1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 2018-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=9
+
+inherit optfeature
+
+DESCRIPTION="Multi-container orchestration for Docker"
+HOMEPAGE="https://github.com/docker/compose"
+SRC_URI="https://github.com/docker/compose/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+SRC_URI+=" https://github.com/gentoo-golang-dist/compose/releases/download/v${PV}/compose-${PV}-vendor.tar.xz"
+S="${WORKDIR}/compose-${PV}"
+
+LICENSE="Apache-2.0"
+# Dependent licenses
+LICENSE+=" Apache-2.0 BSD BSD-2 MIT MPL-2.0"
+SLOT="2"
+KEYWORDS="~amd64 ~arm64"
+RESTRICT="test"
+
+RDEPEND="
+ || (
+ >=app-containers/docker-cli-29.7.2
+ app-containers/podman[wrapper(+)]
+ )
+"
+BDEPEND=">=dev-lang/go-1.26.3"
+
+src_compile() {
+ emake VERSION=v${PV}
+}
+
+src_test() {
+ emake test
+}
+
+src_install() {
+ exeinto /usr/libexec/docker/cli-plugins
+ doexe bin/build/docker-compose
+ dodoc README.md
+}
+
+pkg_postinst() {
+ optfeature "credential store support" app-containers/docker-credential-helpers
+
+ if ver_replacing -lt 2; then
+ ewarn
+ ewarn "docker-compose 2.x is a sub command of docker"
+ ewarn "Use 'docker compose' from the command line instead of"
+ ewarn "'docker-compose'"
+ ewarn "If you need to keep 1.x around, please run the following"
+ ewarn "command before your next --depclean"
+ ewarn "# emerge --noreplace docker-compose:0"
+ fi
+}
diff --git a/app-containers/docker-compose/metadata.xml b/app-containers/docker-compose/metadata.xml
index 17492b5107c4..478583f5b166 100644
--- a/app-containers/docker-compose/metadata.xml
+++ b/app-containers/docker-compose/metadata.xml
@@ -5,5 +5,9 @@
<email>williamh@gentoo.org</email>
<name>William Hubbs</name>
</maintainer>
+ <maintainer type="person">
+ <email>arthurzam@gentoo.org</email>
+ <name>Arthur Zamarin</name>
+ </maintainer>
<origin>baldeagleos-repo</origin>
</pkgmetadata>
diff --git a/app-containers/docker-credential-helpers/Manifest b/app-containers/docker-credential-helpers/Manifest
index 0200f125812f..63155f7b93e3 100644
--- a/app-containers/docker-credential-helpers/Manifest
+++ b/app-containers/docker-credential-helpers/Manifest
@@ -1,3 +1,4 @@
DIST docker-credential-helpers-0.9.3.tar.gz 295607 BLAKE2B 4b59acf426cba27abe0f024b9479331f967bece8fd97bf3104ffcf17fc3a1f02e8248142177a19325a8941e71e5f26acc5fbdc1daa067e47ca29a98bb60af8c4 SHA512 01f58de113a402319e2695aba140322be13b03d234e2582c438735e178dfb999fa6e15abfcef4431490b2def87e7d1cb27d6ae855d348f30a878caf21d7f9a02
DIST docker-credential-helpers-0.9.7.tar.gz 295449 BLAKE2B 6a02deb0031dfac2ef9f194b00f7e4b26391876091bcd6439192965e2373d7fbefea76ced069cc49f8e807dce75f00594f38d5c7585d8f7d1c890edd1f610a69 SHA512 cacfc2c7d68667df4a3e45bcb27a11e461734772a96cf6d0e7f4d91ccac745caccc311e12edfda3841ded7531b98c7d66c79fafd30e099094d40eb14c8030feb
DIST docker-credential-helpers-0.9.8.tar.gz 295446 BLAKE2B fb704caf4c1d1fb1004650e10b9966acf75e238cc64be58e9375b988c13a18985b2f86300472eccddda649204167058330707d930b6688cdd01aee9b8d4b11c1 SHA512 9485e12c4b5e8fc44248d3777409220e39aa7a3b196cf57c9704bc8bba1cd98cf9dc92cef7095a4277b3e0f816ed180cdb286acb9d2b505458559e374dff91e4
+DIST docker-credential-helpers-0.9.9.tar.gz 295430 BLAKE2B 5fd91d1cc3fb72baa0f4afc19c7b747bc03769aa5d62fa8257f8a3473602867eb4390f6aa13678d49cad96734c3d501f31a6fb2e6d13e28d519b3b876284ebaf SHA512 4a6e5779c8047456df2793367d11dd1049e7551f2acb4f6692923ad18d301043ad8cbafb3eadf2374531f7f9c59671c00e4efba8711772baa9c30162c065d2af
diff --git a/app-containers/docker-credential-helpers/docker-credential-helpers-0.9.7.ebuild b/app-containers/docker-credential-helpers/docker-credential-helpers-0.9.7.ebuild
index 456d6f7a44e4..c08c467c7321 100644
--- a/app-containers/docker-credential-helpers/docker-credential-helpers-0.9.7.ebuild
+++ b/app-containers/docker-credential-helpers/docker-credential-helpers-0.9.7.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/docker/docker-credential-helpers/archive/v${PV}.tar.
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64"
+KEYWORDS="amd64 arm64"
IUSE="keyring pass"
REQUIRED_USE="|| ( keyring pass )"
diff --git a/app-containers/docker-credential-helpers/docker-credential-helpers-0.9.9.ebuild b/app-containers/docker-credential-helpers/docker-credential-helpers-0.9.9.ebuild
new file mode 100644
index 000000000000..456d6f7a44e4
--- /dev/null
+++ b/app-containers/docker-credential-helpers/docker-credential-helpers-0.9.9.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=9
+
+inherit go-module
+
+DESCRIPTION="Suite of programs to use native stores to keep Docker credentials safe"
+HOMEPAGE="https://github.com/docker/docker-credential-helpers"
+SRC_URI="https://github.com/docker/docker-credential-helpers/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+IUSE="keyring pass"
+REQUIRED_USE="|| ( keyring pass )"
+RESTRICT="test"
+
+DEPEND="keyring? ( app-crypt/libsecret )"
+RDEPEND="${DEPEND}
+ pass? ( app-admin/pass )
+"
+
+src_prepare() {
+ default
+ sed -e '/GO_LDFLAGS/s/ -s / /' -i Makefile || die
+}
+
+src_compile() {
+ local mymakeflags=(
+ VERSION="${PV}"
+ REVISION="v${PV}"
+ )
+ use keyring && mymakeflags+=( secretservice )
+ use pass && mymakeflags+=( pass )
+ emake -j1 "${mymakeflags[@]}"
+}
+
+src_install() {
+ dobin bin/build/*
+ dodoc MAINTAINERS README.md
+}
+
+pkg_postinst() {
+ if use keyring; then
+ elog "For keyring/kwallet add:\n"
+ elog ' "credStore": "secretservice"'"\n"
+ fi
+ if use pass; then
+ elog "For 'pass' add:\n"
+ elog ' "credStore": "pass"'"\n"
+ fi
+ elog "to your ~/.docker/config.json"
+}
diff --git a/app-containers/docker/Manifest b/app-containers/docker/Manifest
index eadb535aae5b..5896d1a9c20b 100644
--- a/app-containers/docker/Manifest
+++ b/app-containers/docker/Manifest
@@ -6,3 +6,4 @@ DIST docker-28.4.0.tar.gz 18066393 BLAKE2B 70c9910bec169994ddd39f46e4a7042e5f38a
DIST docker-29.1.3.tar.gz 19491833 BLAKE2B ded1a1832b1ce037776e04855a0ea7c3f45981df41bdace54c3b84496a2990b0450ed62b34a6f3c289dec2643d28a7563c9afba55c88fc0e1cc4fb7855220800 SHA512 e3fa96057beb2849fea6e4fd480b08ffbe9b74b851060901e54e57aa62938888b260b7cef4cee33d4cffd965fabc0db7fc0aa5aeeae9aa6b9870c3dbcf7b6ec3
DIST docker-29.5.2.tar.gz 21115630 BLAKE2B f47b730a470c0ab4868beb6d4187b9ff34d06ecf4f381f3e89b89e6f9b18b5bf4c9220ee2e0d6977d4b2b0dfddd4fb9f7e171316dcb2935428bfc9ca350dd17f SHA512 c5cbb956711e9ce8dbab010bf1eab3fd9b35e35806188e3030a3bbeafb545f4024504577df7c39588672c8d5252f6ab071bcfd6377867f4668b75855571469fb
DIST docker-29.7.2.tar.gz 22043949 BLAKE2B 78bd52de33f2ecbc4272150add52b4b293629aeae2aa746f32c5134c2905a93cfc92db65510f707621689d8794c6a759952b58bd50a3852149cbeeab3f29d12c SHA512 f04e264c499854525ed7ef694ebea3c9fd449c6a538ed449e228728b87b654c86962d639fad45081d328db749f58493e18286217d2d95ca492028b79c99c0beb
+DIST docker-29.8.0.tar.gz 22238609 BLAKE2B 076e70dc477ec6281af68c0192b3b5cd0a89f2d69713c6927e2a42619aa6af1b0cc309a408f78fb3fe10642e8c9ec1c87eb137f48d1f5789e6f973684fc1d578 SHA512 2e2b6079d69b6e1cf4e2c6c1609cab64aceed402c966c31efdef42b8b7f2a5a7e7c39c06b2eeb191b00f4bb5b4eb83eb1c5ec82ddde020009f3c0a39c1739244
diff --git a/app-containers/docker/docker-29.8.0.ebuild b/app-containers/docker/docker-29.8.0.ebuild
new file mode 100644
index 000000000000..194a7b019aef
--- /dev/null
+++ b/app-containers/docker/docker-29.8.0.ebuild
@@ -0,0 +1,335 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit go-module linux-info optfeature systemd toolchain-funcs udev
+
+GIT_COMMIT=3ce5872b7950c63ba2ffbc5123101019ff3e6682
+
+DESCRIPTION="The core functions you need to create Docker images and run Docker containers"
+HOMEPAGE="https://www.docker.com/"
+SRC_URI="https://github.com/moby/moby/archive/${PN}-v${PV/_/-}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/moby-${PN}-v${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="apparmor btrfs +container-init cuda +overlay2 seccomp selinux systemd"
+
+DEPEND="
+ acct-group/docker
+ >=dev-db/sqlite-3.7.9:3
+ net-firewall/nftables:=
+ apparmor? ( sys-libs/libapparmor )
+ btrfs? ( >=sys-fs/btrfs-progs-3.16.1 )
+ seccomp? ( >=sys-libs/libseccomp-2.2.1 )
+ systemd? ( sys-apps/systemd )
+"
+
+# https://github.com/moby/moby/blob/master/project/PACKAGERS.md#runtime-dependencies
+# https://github.com/moby/moby/blob/master/project/PACKAGERS.md#optional-dependencies
+RDEPEND="
+ ${DEPEND}
+ sys-process/procps
+ >=dev-vcs/git-1.7
+ >=app-arch/xz-utils-4.9
+ >=app-containers/containerd-2.2.0[apparmor?,btrfs?,seccomp?]
+ >=app-containers/runc-1.2.6[apparmor?,seccomp?]
+ !app-containers/docker-proxy
+ !<app-containers/docker-cli-${PV}
+ container-init? ( >=sys-process/tini-0.19.0[static] )
+ cuda? ( app-containers/nvidia-container-toolkit )
+ selinux? ( sec-policy/selinux-docker )
+"
+
+# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies
+BDEPEND="
+ dev-go/go-md2man
+ virtual/pkgconfig
+ >=dev-lang/go-1.26.3
+"
+# tests require running dockerd as root and downloading containers
+RESTRICT="installsources strip test"
+
+# https://bugs.gentoo.org/748984 https://github.com/etcd-io/etcd/pull/12552
+pkg_setup() {
+ # this is based on "contrib/check-config.sh" from upstream's sources
+ # required features.
+ CONFIG_CHECK="
+ ~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS
+ ~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG
+ ~KEYS
+ ~VETH ~BRIDGE ~BRIDGE_NETFILTER
+ ~IP_NF_FILTER ~IP_NF_RAW ~IP_NF_TARGET_MASQUERADE
+ ~NETFILTER_XT_MATCH_ADDRTYPE
+ ~NETFILTER_XT_MATCH_CONNTRACK
+ ~NETFILTER_XT_MATCH_IPVS
+ ~NETFILTER_XT_MARK
+ ~IP_NF_NAT ~NF_NAT
+ ~POSIX_MQUEUE
+ "
+ WARNING_POSIX_MQUEUE="CONFIG_POSIX_MQUEUE: is required for bind-mounting /dev/mqueue into containers"
+
+ if kernel_is ge 6 17; then
+ CONFIG_CHECK+="
+ ~IP_NF_IPTABLES_LEGACY
+ ~NETFILTER_XTABLES_LEGACY
+ "
+ fi
+
+ if kernel_is lt 4 8; then
+ CONFIG_CHECK+="
+ ~DEVPTS_MULTIPLE_INSTANCES
+ "
+ fi
+
+ if kernel_is le 5 1; then
+ CONFIG_CHECK+="
+ ~NF_NAT_IPV4
+ "
+ fi
+
+ if kernel_is le 5 2; then
+ CONFIG_CHECK+="
+ ~NF_NAT_NEEDED
+ "
+ fi
+
+ if kernel_is ge 4 15; then
+ CONFIG_CHECK+="
+ ~CGROUP_BPF
+ "
+ fi
+
+ # optional features
+ CONFIG_CHECK+="
+ ~USER_NS
+ "
+
+ if use seccomp; then
+ CONFIG_CHECK+="
+ ~SECCOMP ~SECCOMP_FILTER
+ "
+ fi
+
+ CONFIG_CHECK+="
+ ~CGROUP_PIDS
+ "
+
+ if kernel_is lt 6 1; then
+ CONFIG_CHECK+="
+ ~MEMCG_SWAP
+ "
+ fi
+
+ if kernel_is le 5 8; then
+ CONFIG_CHECK+="
+ ~MEMCG_SWAP_ENABLED
+ "
+ fi
+
+ CONFIG_CHECK+="
+ ~!LEGACY_VSYSCALL_NATIVE
+ "
+ if kernel_is lt 5 19; then
+ CONFIG_CHECK+="
+ ~LEGACY_VSYSCALL_EMULATE
+ "
+ fi
+ CONFIG_CHECK+="
+ ~!LEGACY_VSYSCALL_NONE
+ "
+ WARNING_LEGACY_VSYSCALL_NONE="CONFIG_LEGACY_VSYSCALL_NONE enabled: \
+ Containers with <=glibc-2.13 will not work"
+
+ if kernel_is le 4 5; then
+ CONFIG_CHECK+="
+ ~MEMCG_KMEM
+ "
+ fi
+
+ if kernel_is lt 5; then
+ CONFIG_CHECK+="
+ ~IOSCHED_CFQ ~CFQ_GROUP_IOSCHED
+ "
+ fi
+
+ CONFIG_CHECK+="
+ ~BLK_CGROUP ~BLK_DEV_THROTTLING
+ ~CGROUP_PERF
+ ~CGROUP_HUGETLB
+ ~NET_CLS_CGROUP ~CGROUP_NET_PRIO
+ ~CFS_BANDWIDTH ~FAIR_GROUP_SCHED
+ ~IP_NF_TARGET_REDIRECT
+ ~IP_VS
+ ~IP_VS_NFCT
+ ~IP_VS_PROTO_TCP
+ ~IP_VS_PROTO_UDP
+ ~IP_VS_RR
+ "
+
+ if use selinux; then
+ CONFIG_CHECK+="
+ ~SECURITY_SELINUX
+ "
+ fi
+
+ if use apparmor; then
+ CONFIG_CHECK+="
+ ~SECURITY_APPARMOR
+ "
+ fi
+
+ # if ! is_set EXT4_USE_FOR_EXT2; then
+ # check_flags EXT3_FS EXT3_FS_XATTR EXT3_FS_POSIX_ACL EXT3_FS_SECURITY
+ # if ! is_set EXT3_FS || ! is_set EXT3_FS_XATTR || ! is_set EXT3_FS_POSIX_ACL || ! is_set EXT3_FS_SECURITY; then
+ # echo " $(wrap_color '(enable these ext3 configs if you are using ext3 as backing filesystem)' bold black)"
+ # fi
+ # fi
+
+ CONFIG_CHECK+="
+ ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
+ "
+
+ # if ! is_set EXT4_FS || ! is_set EXT4_FS_POSIX_ACL || ! is_set EXT4_FS_SECURITY; then
+ # if is_set EXT4_USE_FOR_EXT2; then
+ # echo " $(wrap_color 'enable these ext4 configs if you are using ext3 or ext4 as backing filesystem' bold black)"
+ # else
+ # echo " $(wrap_color 'enable these ext4 configs if you are using ext4 as backing filesystem' bold black)"
+ # fi
+ # fi
+
+ # network drivers
+ CONFIG_CHECK+="
+ ~VXLAN ~BRIDGE_VLAN_FILTERING
+ ~CRYPTO ~CRYPTO_AEAD ~CRYPTO_GCM ~CRYPTO_SEQIV ~CRYPTO_GHASH
+ ~XFRM ~XFRM_USER ~XFRM_ALGO ~INET_ESP
+ "
+ if kernel_is le 5 3; then
+ CONFIG_CHECK+="
+ ~INET_XFRM_MODE_TRANSPORT
+ "
+ fi
+
+ CONFIG_CHECK+="
+ ~IPVLAN
+ "
+ CONFIG_CHECK+="
+ ~MACVLAN ~DUMMY
+ "
+ CONFIG_CHECK+="
+ ~NF_NAT_FTP ~NF_CONNTRACK_FTP ~NF_NAT_TFTP ~NF_CONNTRACK_TFTP
+ "
+
+ # storage drivers
+ if use btrfs; then
+ CONFIG_CHECK+="
+ ~BTRFS_FS
+ ~BTRFS_FS_POSIX_ACL
+ "
+ fi
+
+ CONFIG_CHECK+="
+ ~OVERLAY_FS
+ "
+
+ linux-info_pkg_setup
+}
+
+src_unpack() {
+ default
+ go-module_src_unpack
+ cd "${S}"
+ [[ -f go.mod ]] || ln -s vendor.mod go.mod || die
+ [[ -f go.sum ]] || ln -s vendor.sum go.sum || die
+}
+
+src_compile() {
+ export DOCKER_GITCOMMIT="${GIT_COMMIT}"
+ export VERSION=${PV}
+ tc-export PKG_CONFIG
+
+ # setup CFLAGS and LDFLAGS for separate build target
+ # see https://github.com/tianon/docker-overlay/pull/10
+ CGO_CFLAGS+=" -I${ESYSROOT}/usr/include"
+ CGO_LDFLAGS+=" -L${ESYSROOT}/usr/$(get_libdir)"
+
+ # let's set up some optional features :)
+ export DOCKER_BUILDTAGS=''
+ for gd in btrfs overlay2; do
+ if ! use $gd; then
+ DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
+ fi
+ done
+
+ for tag in apparmor seccomp; do
+ if use $tag; then
+ DOCKER_BUILDTAGS+=" $tag"
+ fi
+ done
+
+ export AUTO_GOPATH=1
+ export EXCLUDE_AUTO_BUILDTAG_JOURNALD=$(usex systemd '' 'y')
+ export GO_MD2MAN=/usr/bin/go-md2man
+
+ # build binaries
+ ./hack/make.sh dynbinary || die 'dynbinary failed'
+
+ # build man page
+ cd man || die
+ emake || die
+}
+
+src_install() {
+ dosym containerd /usr/bin/docker-containerd
+ dosym containerd-shim-runc-v2 /usr/bin/docker-containerd-shim
+ dosym runc /usr/bin/docker-runc
+ use container-init && dosym tini /usr/bin/docker-init
+ dobin bundles/dynbinary-daemon/dockerd
+ dobin bundles/dynbinary-daemon/docker-proxy
+ for f in dockerd-rootless-setuptool.sh dockerd-rootless.sh; do
+ dosym ../share/docker/contrib/${f} /usr/bin/${f}
+ done
+
+ newinitd contrib/init/openrc/docker.initd docker
+ newconfd contrib/init/openrc/docker.confd docker
+
+ systemd_dounit contrib/init/systemd/docker.{service,socket}
+
+ dodoc AUTHORS CONTRIBUTING.md NOTICE README.md
+ dodoc -r docs/*
+ doman man/man8/dockerd.8
+
+ # note: intentionally not using "doins" so that we preserve +x bits
+ dodir /usr/share/${PN}/contrib
+ cp -R contrib/* "${ED}/usr/share/${PN}/contrib"
+}
+
+pkg_postinst() {
+ udev_reload
+
+ elog
+ elog "To use Docker, the Docker daemon must be running as root. To automatically"
+ elog "start the Docker daemon at boot:"
+ if systemd_is_booted || has_version sys-apps/systemd; then
+ elog " systemctl enable docker.service"
+ else
+ elog " rc-update add docker default"
+ fi
+ elog
+ elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
+ elog ' usermod -aG docker <youruser>'
+ elog
+
+ if has_version sys-fs/zfs; then
+ elog " ZFS storage driver is available"
+ elog " Check https://docs.docker.com/storage/storagedriver/zfs-driver for more info"
+ elog
+ fi
+
+ optfeature "rootless mode support" sys-apps/shadow
+ optfeature "rootless mode support" sys-apps/rootlesskit
+ optfeature_header "for rootless mode you also need a network stack"
+ optfeature "rootless mode network stack" app-containers/slirp4netns
+}
diff --git a/app-containers/docker/metadata.xml b/app-containers/docker/metadata.xml
index b86496e3ccf2..a262b0e3314f 100644
--- a/app-containers/docker/metadata.xml
+++ b/app-containers/docker/metadata.xml
@@ -12,6 +12,10 @@
<email>williamh@gentoo.org</email>
<name>William Hubbs</name>
</maintainer>
+ <maintainer type="person">
+ <email>arthurzam@gentoo.org</email>
+ <name>Arthur Zamarin</name>
+ </maintainer>
<use>
<flag name="btrfs">
Enables dependencies for the "btrfs" graph driver, including
diff --git a/app-containers/slirp4netns/Manifest b/app-containers/slirp4netns/Manifest
index cb82ca099497..58d1b8086561 100644
--- a/app-containers/slirp4netns/Manifest
+++ b/app-containers/slirp4netns/Manifest
@@ -1,2 +1,3 @@
DIST slirp4netns-1.3.3.tar.gz 65051 BLAKE2B 2c6b2b7ec8aabcc6c4dcb715454b4ef3efc68aab3e671dfccc171d48b020e3ed32d065a9c6f88f83913fbc3f76c2af47c7e4367273004e1874ed7b8be0faf56e SHA512 beaf42697d7657444f1970bb08fa6e9cf9eab8454eb214bd856215b38dcedf331fef64e3ea530cd19d100b5b56e16936e184fc69ce597e201b8accba0274fd60
DIST slirp4netns-1.3.4.tar.gz 65089 BLAKE2B 9743780cb4a050f3e113101fa2d698ec9a3ec31b205b2a353af7e0fff0c7190119f49d907833166838ca5331d731ecd547a1d0fdd2dca276e4a1841ebe5acd12 SHA512 dd821b69a5fa74469b15b7ceaf5d0346fe6b42b908420d8c4de95515616462df6e072dc6f6cf29b5ce17f865320bd0e1047e171e5ec03596c9f180356fb238f7
+DIST slirp4netns-1.3.5.tar.gz 65085 BLAKE2B 3f1d5f3c8070a0d4e43b8f0b867874d843e3a2af35690a9405ea162ce91079f2e6a523e3a80a575807c45e33a78597fd28c277a78a436476b37f8112d202a6d4 SHA512 0e645ffca85c9ebcbe3bba1515090e082bb3ba7d49e8eabb72ef3c077c0a6b0366c63514c171f8ffc0094c9360c9524c118882daf88644da0bb1fd25395b9b53
diff --git a/app-containers/slirp4netns/slirp4netns-1.3.5.ebuild b/app-containers/slirp4netns/slirp4netns-1.3.5.ebuild
new file mode 100644
index 000000000000..597cd0fdfcff
--- /dev/null
+++ b/app-containers/slirp4netns/slirp4netns-1.3.5.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=9
+
+inherit autotools
+
+DESCRIPTION="User-mode networking for unprivileged network namespaces"
+HOMEPAGE="https://github.com/rootless-containers/slirp4netns"
+SRC_URI="https://github.com/rootless-containers/slirp4netns/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
+RESTRICT="test"
+
+DEPEND="
+ dev-libs/glib:2=
+ net-libs/libslirp:=
+ sys-libs/libseccomp:=
+ sys-libs/libcap:=
+"
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ default
+
+ # Respect AR variable for bug 722162.
+ sed -e 's|^AC_PROG_CC$|AC_DEFUN([AC_PROG_AR], [AC_CHECK_TOOL(AR, ar, :)])\nAC_PROG_AR\n\0|' \
+ -i configure.ac || die
+ eautoreconf
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ elog "You need to have the tun kernel module loaded in order to have"
+ elog "slirp4netns working"
+ fi
+}
diff --git a/app-crypt/pinentry/pinentry-1.3.3.ebuild b/app-crypt/pinentry/pinentry-1.3.3.ebuild
index 06610dbf2e3f..6d26e51b1acd 100644
--- a/app-crypt/pinentry/pinentry-1.3.3.ebuild
+++ b/app-crypt/pinentry/pinentry-1.3.3.ebuild
@@ -13,7 +13,7 @@ SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
IUSE="caps efl emacs gtk keyring ncurses qt6 selinux wayland X"
DEPEND="
diff --git a/app-doc/eclass-manpages/Manifest b/app-doc/eclass-manpages/Manifest
index fdd7e08bf6bc..9a4c6af8d146 100644
--- a/app-doc/eclass-manpages/Manifest
+++ b/app-doc/eclass-manpages/Manifest
@@ -1 +1,2 @@
DIST eclass-manpages-20260624.tar.xz 518600 BLAKE2B 8b044c6c35820ddaf60e02203e562d4c1d01445c1bd982ff33235ee6e55f93cccf0da7eb536dc2febded3207c4fee8e1d73b35281dc348e10e16b3abdc35cfed SHA512 82ecee2f15f99db10422740e81478eb590e682e181983a12aa48d92b462537527bfa50dbf4eb3ae61799355b17cc6ad0e5256b3345b65d2a135e625d3e133066
+DIST eclass-manpages-20260904.tar.xz 503496 BLAKE2B cde4ff5f44db2eaa0f874d07579a86efe9941d07e1702f2f679f6f84d2106f8d8931f8f643a9b850cb65827659a66e9c7faf0e7ff107bf5038ed6d70a78590d2 SHA512 9e06809303e46ea382a591b2ca5bb0e15873f21bd53e46bc68537196d4963b247978c654434b1f6445d352d49c139f11ee8b40f068433892801912dd6e98ef1f
diff --git a/app-doc/eclass-manpages/eclass-manpages-20260904.ebuild b/app-doc/eclass-manpages/eclass-manpages-20260904.ebuild
new file mode 100644
index 000000000000..ae7adf155f59
--- /dev/null
+++ b/app-doc/eclass-manpages/eclass-manpages-20260904.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=9
+
+if [[ ${PV} = 99999999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/gentoo/gentoo.git"
+ S="${WORKDIR}/${P}/eclass"
+else
+ # Instructions to make a dist tarball:
+ # cd /path/to/gentoo-repo
+ # P=eclass-manpages-$(TZ=UTC git log -1 --pretty="%cd" \
+ # --date="format-local:%Y%m%d" -- eclass)
+ # tar -cJf ${P}.tar.xz --transform="s:^eclass/:${P}/:" eclass/*.eclass
+ SRC_URI="https://distfiles.gentoo.org/pub/proj/qa/${PN}/${P}.tar.xz"
+ # Keep the keywords stable. No need to change to ~arch.
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+fi
+
+DESCRIPTION="Collection of Gentoo eclass manpages"
+HOMEPAGE="https://gitweb.gentoo.org/repo/gentoo.git/tree/eclass"
+
+LICENSE="GPL-2"
+SLOT="0"
+
+BDEPEND="sys-apps/pkgcore"
+
+if [[ ${PV} = 99999999 ]]; then
+ src_unpack() {
+ git-r3_fetch
+ git-r3_checkout "" "" "" eclass
+ }
+fi
+
+src_compile() {
+ pmaint eclass -f man -o "{eclass}.eclass.5" *.eclass
+}
+
+src_install() {
+ doman *.5
+}
diff --git a/app-doc/eclass-manpages/eclass-manpages-99999999.ebuild b/app-doc/eclass-manpages/eclass-manpages-99999999.ebuild
index a5251b8c5f4e..420cadef4269 100644
--- a/app-doc/eclass-manpages/eclass-manpages-99999999.ebuild
+++ b/app-doc/eclass-manpages/eclass-manpages-99999999.ebuild
@@ -10,6 +10,8 @@ if [[ ${PV} = 99999999 ]]; then
else
# Instructions to make a dist tarball:
# cd /path/to/gentoo-repo
+ # P=eclass-manpages-$(TZ=UTC git log -1 --pretty="%cd" \
+ # --date="format-local:%Y%m%d" -- eclass)
# tar -cJf ${P}.tar.xz --transform="s:^eclass/:${P}/:" eclass/*.eclass
SRC_URI="https://distfiles.gentoo.org/pub/proj/qa/${PN}/${P}.tar.xz"
# Keep the keywords stable. No need to change to ~arch.
diff --git a/app-editors/nano/nano-9.2.ebuild b/app-editors/nano/nano-9.2.ebuild
index d53000a57bf8..ed81d2282d53 100644
--- a/app-editors/nano/nano-9.2.ebuild
+++ b/app-editors/nano/nano-9.2.ebuild
@@ -15,7 +15,7 @@ else
https://www.nano-editor.org/dist/v${PV:0:1}/${MY_P}.tar.xz
verify-sig? ( https://www.nano-editor.org/dist/v${PV:0:1}/${MY_P}.tar.xz.asc )
"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-bennoschulenberg )"
fi
diff --git a/app-emulation/wine-staging/Manifest b/app-emulation/wine-staging/Manifest
index 37563117a878..f00746f99c13 100644
--- a/app-emulation/wine-staging/Manifest
+++ b/app-emulation/wine-staging/Manifest
@@ -1,12 +1,8 @@
DIST wine-11.0.tar.xz 33172240 BLAKE2B 2e4ef52f53e80c04bf8fc69345632db05e2ade00b8b5e485505e0790717e42f5e2568279565d6bf4edc2767b7a4eed3116914e54026fc4f06067bbf73b97a101 SHA512 a2c3db14f8cf0d19927466805c8f17c68ee7e93d1196d1162dd2279af497c21ec611a63f7a9de59953bbdfdb44c87d7bf55373c6533224a5d54e434c29428d1b
-DIST wine-11.12.tar.xz 46514188 BLAKE2B 8b3fe5138dde51985203407ca63bed33c72497b5c1f30e52ef8f73cc87a4a61404bff86b27971b479f204a19e57af552424cd8e834a5cef111d095e76809e58e SHA512 a6e8fe5d37fb3babab91638abdc370ef46ea91c2de27dcce68757c0a35d7c14c574ca0bb3f25c1af91ac55ea0ed5e21a8a095b65a784daa7956b43f59bda34c9
-DIST wine-11.13.tar.xz 46548088 BLAKE2B 83cdeccdac01cd8484d89165695efea0f72dc4a9b1112e9a1ea2e114562325dd7b7261cece5283a144797c4a1824cecab9af43d381b24069036b4c69b7f17b2a SHA512 dbba303dac8f819085718f589079ebdfd0daf99e3758709309b24e58fc464f449a530861157d2286c747086a97e7c6031ec8a5c7081e17e5884577f655731462
DIST wine-11.14.tar.xz 46575228 BLAKE2B b4ed19a4abd35be64230964ab64d46f86cca3adc82fff8d79db98f0c4f31527820af7b8270dba68a41090121dcdb0c68fb78540e1d59727882dc1e7d8748840b SHA512 b42f91c0a73b46af07b1f8fb8aacd3dae38a8d62989fb28bd264bd3c5fd788dae19ef734b861d5b94094ba619222993f035aa50a083e59a2abf18a47cf5a5c3e
DIST wine-11.15.tar.xz 46665288 BLAKE2B 5d5a81dbcf5ce4fdb14799a7b8c93f44f0ed9ff67c49a43a501ff171aeeed2f2359a4f78a9fb1d76b791df76e4a1e623a025834a1124f9da705b6768495fc9bc SHA512 e6ce72331e7e8efb0dace2d39e547f3ce989d178dc7c37db1b4523cf9f200196a64fee69ca8a2bccfce0bf8e8f7800adb2c4ef4c44b0bd7d78cf937d84849232
DIST wine-11.16.tar.xz 46686616 BLAKE2B fdaf6061e1b551f18b3a1b995efaf5197a7c821db00cdcc0a5ac6b90ae5d3351dc852855d5cb48e17baff2c9ec4b404688b0765a93df343e7dc9820b4160bc24 SHA512 e084a102989cb00bd0994aa998f18e2ef87ec8e8bcedaf18ab613df66fb5a89b03ca1e608f525ca5d0941641c3b8a4c7000a93da439e61febf7e9084c77ac62d
DIST wine-staging-11.0.tar.gz 9323019 BLAKE2B 2d1073205f1f9b5cef5f05445b57f4865dc2290302375f7295855b3200b3039f4eeee49f4c2e4b4e4c85ea6603548d9d4de9825d0f6db62913545e5fc3d7f587 SHA512 27eecce0cc1974e97d2aaffc0bf5a5d114f5fd8d3d6a349d9f984058a316b6654dd07bc2223c38df16fd2862f59aa79518d2d109ea0ac41c957144377ddd39a7
-DIST wine-staging-11.12.tar.gz 9295259 BLAKE2B ac66a1aaf33623b26bccd13771b58a8ee7aea1eed40aeeef0a192ae760cf7add21676dd3d29e4df8be2d2b3724ca3f092374ecdcf174f3e729742e5522312fd6 SHA512 dd7061953181380862c5e4550a72ec1964c97a2786b4c50d02f93a333f90852d5663785c2f3cf9a97bdd3be908e446b173ccfa6d868a274037666a2b1f8d4bc2
-DIST wine-staging-11.13.tar.gz 9317536 BLAKE2B ce6e50d6cdde5cfab96b02535ce4f98adda8f5706bf75557af3b30d2e4aa105f2fc851ea9357accfade8fb0aa44521c395448f4eceafd29d46216b8c0c49ff93 SHA512 68a2ac96b87a3f333f9d6da81483c2197f23e3beffb07e0d62aa15717ca5ad9bde16ac043f3c787043daeb7a3db7c561f16110ff452b1f2bfbfbea3358ffce32
DIST wine-staging-11.14.tar.gz 9334253 BLAKE2B 28f4d37cdf1b2a24907103b215949d919e27a15ad1f207f0222a57adde686b697cec2a1f063dec0fe16ea1d9e9192350e98cd9a7ca7db02e3687ab05e1c7e119 SHA512 564cb5562c39e9c648d7fd747ec6687813117026203c089ac4b8fd77c336481fbc49b8a39f9969a0d0614ccf7b99a53c6b6c04b6ffa2c6358a839f71a11f6b85
DIST wine-staging-11.15.tar.gz 9333776 BLAKE2B 7b79f460670b17f3ecd89a8602a4d00cef98e9561ab3e724ce254f05a84a2693910840d4043e8ea9af51a42b76df3cc7fa51eab81d915cf22977dd74d1845327 SHA512 d4b074696129bbe779e80c4e67974a3ff33f6817885959014d231bf2d142dd08a3137f92d2a3380bf24a77d85ba204e40a05fa39db5b26947881f8eac750e3c9
DIST wine-staging-11.16.tar.gz 9338890 BLAKE2B 17b06ebba6d8efe968642194af85e228fcd1020b6dadccd9c2abeacdcced4f457d0f7b4a980cbd0d03c1ec6baee6b40d96077b29e229cfed72f3036db676752e SHA512 7fee826cacd183699ea13c04bd9ea8ccde03c9b3a2879c0f3ef594c186de2cdc3072c47e6c2932af1ba6bc3783d859a73326c76b28ded4189aac12b83e73f497
diff --git a/app-emulation/wine-staging/wine-staging-11.12.ebuild b/app-emulation/wine-staging/wine-staging-11.12.ebuild
deleted file mode 100644
index cd001b47e76a..000000000000
--- a/app-emulation/wine-staging/wine-staging-11.12.ebuild
+++ /dev/null
@@ -1,253 +0,0 @@
-# Copyright 2022-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{13..14} )
-inherit edo optfeature python-any-r1 wine
-
-WINE_GECKO=2.47.4
-WINE_MONO=11.2.0
-WINE_P=wine-$(ver_cut 1-2)
-
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine-staging.git"
- WINE_EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git"
-else
- (( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0
- SRC_URI="
- https://dl.winehq.org/wine/source/${WINE_SDIR}/${WINE_P}.tar.xz
- https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${P}.tar.gz
- "
- KEYWORDS="-* ~amd64 ~arm64 ~x86"
-fi
-
-DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset"
-HOMEPAGE="
- https://wiki.winehq.org/Wine-Staging
- https://gitlab.winehq.org/wine/wine-staging/
-"
-S=${WORKDIR}/${WINE_P}
-
-LICENSE="
- LGPL-2.1+
- BSD BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff public-domain
-"
-SLOT="${PV}"
-IUSE="
- +X +alsa bluetooth cups +dbus dos ffmpeg +fontconfig +gecko gphoto2
- +gstreamer kerberos +mono netapi nls odbc opencl +opengl pcap perl
- pulseaudio samba scanner +sdl selinux smartcard +ssl +truetype udev
- usb v4l +vulkan wayland xinerama
-"
-REQUIRED_USE="
- X? ( truetype )
- bluetooth? ( dbus )
- opengl? ( || ( X wayland ) )
-"
-
-# tests are non-trivial to run, can hang easily, don't play well with
-# sandbox, and several need real opengl/vulkan or network access
-RESTRICT="test"
-
-# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
-WINE_DLOPEN_DEPEND="
- X? (
- x11-libs/libXcomposite[${WINE_USEDEP}]
- x11-libs/libXcursor[${WINE_USEDEP}]
- x11-libs/libXfixes[${WINE_USEDEP}]
- x11-libs/libXi[${WINE_USEDEP}]
- x11-libs/libXrandr[${WINE_USEDEP}]
- x11-libs/libXrender[${WINE_USEDEP}]
- x11-libs/libXxf86vm[${WINE_USEDEP}]
- xinerama? ( x11-libs/libXinerama[${WINE_USEDEP}] )
- )
- cups? ( net-print/cups[${WINE_USEDEP}] )
- dbus? ( sys-apps/dbus[${WINE_USEDEP}] )
- fontconfig? ( media-libs/fontconfig[${WINE_USEDEP}] )
- kerberos? ( virtual/krb5[${WINE_USEDEP}] )
- netapi? ( net-fs/samba[${WINE_USEDEP}] )
- odbc? ( dev-db/unixODBC[${WINE_USEDEP}] )
- opengl? ( media-libs/libglvnd[X?,${WINE_USEDEP}] )
- sdl? ( media-libs/libsdl2[haptic,joystick,${WINE_USEDEP}] )
- ssl? ( net-libs/gnutls:=[${WINE_USEDEP}] )
- truetype? ( media-libs/freetype[${WINE_USEDEP}] )
- v4l? ( media-libs/libv4l[${WINE_USEDEP}] )
- vulkan? ( media-libs/vulkan-loader[X?,wayland?,${WINE_USEDEP}] )
-"
-WINE_COMMON_DEPEND="
- ${WINE_DLOPEN_DEPEND}
- X? (
- x11-libs/libX11[${WINE_USEDEP}]
- x11-libs/libXext[${WINE_USEDEP}]
- )
- alsa? ( media-libs/alsa-lib[${WINE_USEDEP}] )
- ffmpeg? ( media-video/ffmpeg:=[${WINE_USEDEP}] )
- gphoto2? ( media-libs/libgphoto2:=[${WINE_USEDEP}] )
- gstreamer? (
- dev-libs/glib:2[${WINE_USEDEP}]
- media-libs/gst-plugins-base:1.0[${WINE_USEDEP}]
- media-libs/gstreamer:1.0[${WINE_USEDEP}]
- )
- opencl? ( virtual/opencl[${WINE_USEDEP}] )
- pcap? ( net-libs/libpcap[${WINE_USEDEP}] )
- pulseaudio? ( media-libs/libpulse[${WINE_USEDEP}] )
- scanner? ( media-gfx/sane-backends[${WINE_USEDEP}] )
- smartcard? ( sys-apps/pcsc-lite[${WINE_USEDEP}] )
- udev? ( virtual/libudev:=[${WINE_USEDEP}] )
- usb? ( dev-libs/libusb:1[${WINE_USEDEP}] )
- wayland? (
- dev-libs/wayland[${WINE_USEDEP}]
- x11-libs/libxkbcommon[${WINE_USEDEP}]
- )
-"
-RDEPEND="
- ${WINE_COMMON_DEPEND}
- app-emulation/wine-desktop-common
- dos? (
- || (
- games-emulation/dosbox
- games-emulation/dosbox-staging
- )
- )
- gecko? (
- app-emulation/wine-gecko:${WINE_GECKO}[${WINE_USEDEP}]
- wow64? ( app-emulation/wine-gecko[abi_x86_32] )
- )
- gstreamer? ( media-plugins/gst-plugins-meta:1.0[${WINE_USEDEP}] )
- mono? ( app-emulation/wine-mono:${WINE_MONO} )
- perl? (
- dev-lang/perl
- dev-perl/XML-LibXML
- )
- samba? ( net-fs/samba[winbind] )
- selinux? ( sec-policy/selinux-wine )
-"
-DEPEND="
- ${WINE_COMMON_DEPEND}
- >=sys-kernel/linux-headers-6.14
- X? ( x11-base/xorg-proto )
- bluetooth? ( net-wireless/bluez )
- opencl? ( dev-util/opencl-headers )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-vcs/git
- sys-devel/bison
- sys-devel/flex
- virtual/pkgconfig
- amd64? ( dev-lang/nasm )
- nls? ( sys-devel/gettext )
- wayland? ( dev-util/wayland-scanner )
- x86? ( dev-lang/nasm )
-"
-
-QA_CONFIG_IMPL_DECL_SKIP=(
- __clear_cache # unused on amd64+x86 (bug #900334)
- res_getservers # false positive
-)
-QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
-# intentionally ignored: https://gitlab.winehq.org/wine/wine/-/commit/433c2f8c06
-QA_FLAGS_IGNORED="usr/lib/.*/wine/.*-unix/wine-preloader"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-7.17-noexecstack.patch
- "${FILESDIR}"/${PN}-8.13-rpath.patch
-)
-
-src_unpack() {
- if [[ ${PV} == 9999 ]]; then
- EGIT_CHECKOUT_DIR=${WORKDIR}/${P}
- git-r3_src_unpack
-
- # hack: use subshell to preserve state (including what git-r3 unpack
- # sets) for smart-live-rebuild as this is not the repo to look at
- (
- EGIT_COMMIT=$(<"${EGIT_CHECKOUT_DIR}"/staging/upstream-commit) || die
- EGIT_REPO_URI=${WINE_EGIT_REPO_URI}
- EGIT_CHECKOUT_DIR=${S}
- einfo "Fetching Wine commit matching the current patchset by default (${EGIT_COMMIT})"
- git-r3_src_unpack
- )
- else
- default
- fi
-}
-
-src_prepare() {
- local patchinstallargs=(
- --all
- --no-autoconf
- ${MY_WINE_STAGING_CONF}
- )
-
- edo "${PYTHON}" ../${P}/staging/patchinstall.py "${patchinstallargs[@]}"
-
- wine_src_prepare
-}
-
-src_configure() {
- local wineconfargs=(
- $(use_enable gecko mshtml)
- $(use_enable mono mscoree)
- --disable-tests
-
- $(use_with X x)
- $(use_with alsa)
- --without-capi #977907
- $(use_with cups)
- $(use_with dbus)
- $(use_with ffmpeg)
- $(use_with fontconfig)
- $(use_with gphoto2 gphoto)
- $(use_with gstreamer)
- --without-hwloc # currently only used on FreeBSD
- $(use_with kerberos gssapi)
- $(use_with kerberos krb5)
- $(use_with netapi)
- $(use_with nls gettext)
- $(use_with opencl)
- $(use_with opengl)
- --without-oss # media-sound/oss is not packaged (OSSv4)
- $(use_with pcap)
- $(use_with pulseaudio pulse)
- $(use_with scanner sane)
- $(use_with sdl)
- $(use_with smartcard pcsclite)
- $(use_with ssl gnutls)
- $(use_with truetype freetype)
- $(use_with udev)
- $(use_with usb)
- $(use_with v4l v4l2)
- $(use_with vulkan)
- $(use_with wayland)
- $(use_with xinerama)
-
- $(usev !bluetooth '
- ac_cv_header_bluetooth_bluetooth_h=no
- ac_cv_header_bluetooth_rfcomm_h=no
- ')
- $(usev !odbc ac_cv_lib_soname_odbc=)
- )
-
- wine_src_configure
-}
-
-src_install() {
- use perl || local WINE_SKIP_INSTALL=(
- ${WINE_DATADIR}/man/man1/wine{dump,maker}.1
- ${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}}
- )
-
- wine_src_install
-
- dodoc ANNOUNCE* AUTHORS README* documentation/README*
-}
-
-pkg_postinst() {
- wine_pkg_postinst
-
- optfeature "/dev/hidraw* access used for *some* controllers (e.g. DualShock4)" \
- games-util/game-device-udev-rules
-}
diff --git a/app-emulation/wine-staging/wine-staging-11.13.ebuild b/app-emulation/wine-staging/wine-staging-11.13.ebuild
deleted file mode 100644
index cd001b47e76a..000000000000
--- a/app-emulation/wine-staging/wine-staging-11.13.ebuild
+++ /dev/null
@@ -1,253 +0,0 @@
-# Copyright 2022-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{13..14} )
-inherit edo optfeature python-any-r1 wine
-
-WINE_GECKO=2.47.4
-WINE_MONO=11.2.0
-WINE_P=wine-$(ver_cut 1-2)
-
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine-staging.git"
- WINE_EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git"
-else
- (( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0
- SRC_URI="
- https://dl.winehq.org/wine/source/${WINE_SDIR}/${WINE_P}.tar.xz
- https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${P}.tar.gz
- "
- KEYWORDS="-* ~amd64 ~arm64 ~x86"
-fi
-
-DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset"
-HOMEPAGE="
- https://wiki.winehq.org/Wine-Staging
- https://gitlab.winehq.org/wine/wine-staging/
-"
-S=${WORKDIR}/${WINE_P}
-
-LICENSE="
- LGPL-2.1+
- BSD BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff public-domain
-"
-SLOT="${PV}"
-IUSE="
- +X +alsa bluetooth cups +dbus dos ffmpeg +fontconfig +gecko gphoto2
- +gstreamer kerberos +mono netapi nls odbc opencl +opengl pcap perl
- pulseaudio samba scanner +sdl selinux smartcard +ssl +truetype udev
- usb v4l +vulkan wayland xinerama
-"
-REQUIRED_USE="
- X? ( truetype )
- bluetooth? ( dbus )
- opengl? ( || ( X wayland ) )
-"
-
-# tests are non-trivial to run, can hang easily, don't play well with
-# sandbox, and several need real opengl/vulkan or network access
-RESTRICT="test"
-
-# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
-WINE_DLOPEN_DEPEND="
- X? (
- x11-libs/libXcomposite[${WINE_USEDEP}]
- x11-libs/libXcursor[${WINE_USEDEP}]
- x11-libs/libXfixes[${WINE_USEDEP}]
- x11-libs/libXi[${WINE_USEDEP}]
- x11-libs/libXrandr[${WINE_USEDEP}]
- x11-libs/libXrender[${WINE_USEDEP}]
- x11-libs/libXxf86vm[${WINE_USEDEP}]
- xinerama? ( x11-libs/libXinerama[${WINE_USEDEP}] )
- )
- cups? ( net-print/cups[${WINE_USEDEP}] )
- dbus? ( sys-apps/dbus[${WINE_USEDEP}] )
- fontconfig? ( media-libs/fontconfig[${WINE_USEDEP}] )
- kerberos? ( virtual/krb5[${WINE_USEDEP}] )
- netapi? ( net-fs/samba[${WINE_USEDEP}] )
- odbc? ( dev-db/unixODBC[${WINE_USEDEP}] )
- opengl? ( media-libs/libglvnd[X?,${WINE_USEDEP}] )
- sdl? ( media-libs/libsdl2[haptic,joystick,${WINE_USEDEP}] )
- ssl? ( net-libs/gnutls:=[${WINE_USEDEP}] )
- truetype? ( media-libs/freetype[${WINE_USEDEP}] )
- v4l? ( media-libs/libv4l[${WINE_USEDEP}] )
- vulkan? ( media-libs/vulkan-loader[X?,wayland?,${WINE_USEDEP}] )
-"
-WINE_COMMON_DEPEND="
- ${WINE_DLOPEN_DEPEND}
- X? (
- x11-libs/libX11[${WINE_USEDEP}]
- x11-libs/libXext[${WINE_USEDEP}]
- )
- alsa? ( media-libs/alsa-lib[${WINE_USEDEP}] )
- ffmpeg? ( media-video/ffmpeg:=[${WINE_USEDEP}] )
- gphoto2? ( media-libs/libgphoto2:=[${WINE_USEDEP}] )
- gstreamer? (
- dev-libs/glib:2[${WINE_USEDEP}]
- media-libs/gst-plugins-base:1.0[${WINE_USEDEP}]
- media-libs/gstreamer:1.0[${WINE_USEDEP}]
- )
- opencl? ( virtual/opencl[${WINE_USEDEP}] )
- pcap? ( net-libs/libpcap[${WINE_USEDEP}] )
- pulseaudio? ( media-libs/libpulse[${WINE_USEDEP}] )
- scanner? ( media-gfx/sane-backends[${WINE_USEDEP}] )
- smartcard? ( sys-apps/pcsc-lite[${WINE_USEDEP}] )
- udev? ( virtual/libudev:=[${WINE_USEDEP}] )
- usb? ( dev-libs/libusb:1[${WINE_USEDEP}] )
- wayland? (
- dev-libs/wayland[${WINE_USEDEP}]
- x11-libs/libxkbcommon[${WINE_USEDEP}]
- )
-"
-RDEPEND="
- ${WINE_COMMON_DEPEND}
- app-emulation/wine-desktop-common
- dos? (
- || (
- games-emulation/dosbox
- games-emulation/dosbox-staging
- )
- )
- gecko? (
- app-emulation/wine-gecko:${WINE_GECKO}[${WINE_USEDEP}]
- wow64? ( app-emulation/wine-gecko[abi_x86_32] )
- )
- gstreamer? ( media-plugins/gst-plugins-meta:1.0[${WINE_USEDEP}] )
- mono? ( app-emulation/wine-mono:${WINE_MONO} )
- perl? (
- dev-lang/perl
- dev-perl/XML-LibXML
- )
- samba? ( net-fs/samba[winbind] )
- selinux? ( sec-policy/selinux-wine )
-"
-DEPEND="
- ${WINE_COMMON_DEPEND}
- >=sys-kernel/linux-headers-6.14
- X? ( x11-base/xorg-proto )
- bluetooth? ( net-wireless/bluez )
- opencl? ( dev-util/opencl-headers )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-vcs/git
- sys-devel/bison
- sys-devel/flex
- virtual/pkgconfig
- amd64? ( dev-lang/nasm )
- nls? ( sys-devel/gettext )
- wayland? ( dev-util/wayland-scanner )
- x86? ( dev-lang/nasm )
-"
-
-QA_CONFIG_IMPL_DECL_SKIP=(
- __clear_cache # unused on amd64+x86 (bug #900334)
- res_getservers # false positive
-)
-QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
-# intentionally ignored: https://gitlab.winehq.org/wine/wine/-/commit/433c2f8c06
-QA_FLAGS_IGNORED="usr/lib/.*/wine/.*-unix/wine-preloader"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-7.17-noexecstack.patch
- "${FILESDIR}"/${PN}-8.13-rpath.patch
-)
-
-src_unpack() {
- if [[ ${PV} == 9999 ]]; then
- EGIT_CHECKOUT_DIR=${WORKDIR}/${P}
- git-r3_src_unpack
-
- # hack: use subshell to preserve state (including what git-r3 unpack
- # sets) for smart-live-rebuild as this is not the repo to look at
- (
- EGIT_COMMIT=$(<"${EGIT_CHECKOUT_DIR}"/staging/upstream-commit) || die
- EGIT_REPO_URI=${WINE_EGIT_REPO_URI}
- EGIT_CHECKOUT_DIR=${S}
- einfo "Fetching Wine commit matching the current patchset by default (${EGIT_COMMIT})"
- git-r3_src_unpack
- )
- else
- default
- fi
-}
-
-src_prepare() {
- local patchinstallargs=(
- --all
- --no-autoconf
- ${MY_WINE_STAGING_CONF}
- )
-
- edo "${PYTHON}" ../${P}/staging/patchinstall.py "${patchinstallargs[@]}"
-
- wine_src_prepare
-}
-
-src_configure() {
- local wineconfargs=(
- $(use_enable gecko mshtml)
- $(use_enable mono mscoree)
- --disable-tests
-
- $(use_with X x)
- $(use_with alsa)
- --without-capi #977907
- $(use_with cups)
- $(use_with dbus)
- $(use_with ffmpeg)
- $(use_with fontconfig)
- $(use_with gphoto2 gphoto)
- $(use_with gstreamer)
- --without-hwloc # currently only used on FreeBSD
- $(use_with kerberos gssapi)
- $(use_with kerberos krb5)
- $(use_with netapi)
- $(use_with nls gettext)
- $(use_with opencl)
- $(use_with opengl)
- --without-oss # media-sound/oss is not packaged (OSSv4)
- $(use_with pcap)
- $(use_with pulseaudio pulse)
- $(use_with scanner sane)
- $(use_with sdl)
- $(use_with smartcard pcsclite)
- $(use_with ssl gnutls)
- $(use_with truetype freetype)
- $(use_with udev)
- $(use_with usb)
- $(use_with v4l v4l2)
- $(use_with vulkan)
- $(use_with wayland)
- $(use_with xinerama)
-
- $(usev !bluetooth '
- ac_cv_header_bluetooth_bluetooth_h=no
- ac_cv_header_bluetooth_rfcomm_h=no
- ')
- $(usev !odbc ac_cv_lib_soname_odbc=)
- )
-
- wine_src_configure
-}
-
-src_install() {
- use perl || local WINE_SKIP_INSTALL=(
- ${WINE_DATADIR}/man/man1/wine{dump,maker}.1
- ${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}}
- )
-
- wine_src_install
-
- dodoc ANNOUNCE* AUTHORS README* documentation/README*
-}
-
-pkg_postinst() {
- wine_pkg_postinst
-
- optfeature "/dev/hidraw* access used for *some* controllers (e.g. DualShock4)" \
- games-util/game-device-udev-rules
-}
diff --git a/app-emulation/wine-vanilla/Manifest b/app-emulation/wine-vanilla/Manifest
index 7aec30c927b9..e4c201c3f634 100644
--- a/app-emulation/wine-vanilla/Manifest
+++ b/app-emulation/wine-vanilla/Manifest
@@ -1,9 +1,8 @@
DIST wine-10.0.tar.xz 32011244 BLAKE2B 92178cf484cf33e9f3b8340429ee8e68c36e0d25eee4a892f059ab73f103cfcb9eb15e1883bc9fd8c8fe311d4ccbb56582d1f780da7b1406a7839a13addd29ae SHA512 effb41c5641993e2e52eaa825cc19b7d9846e084992c5a5b066ead2339b24384d320898a9cee347a9a87106bcb3b0f54c8cd2c8d4de3a887a658052ddd5168d6
DIST wine-11.0.tar.xz 33172240 BLAKE2B 2e4ef52f53e80c04bf8fc69345632db05e2ade00b8b5e485505e0790717e42f5e2568279565d6bf4edc2767b7a4eed3116914e54026fc4f06067bbf73b97a101 SHA512 a2c3db14f8cf0d19927466805c8f17c68ee7e93d1196d1162dd2279af497c21ec611a63f7a9de59953bbdfdb44c87d7bf55373c6533224a5d54e434c29428d1b
-DIST wine-11.12.tar.xz 46514188 BLAKE2B 8b3fe5138dde51985203407ca63bed33c72497b5c1f30e52ef8f73cc87a4a61404bff86b27971b479f204a19e57af552424cd8e834a5cef111d095e76809e58e SHA512 a6e8fe5d37fb3babab91638abdc370ef46ea91c2de27dcce68757c0a35d7c14c574ca0bb3f25c1af91ac55ea0ed5e21a8a095b65a784daa7956b43f59bda34c9
-DIST wine-11.13.tar.xz 46548088 BLAKE2B 83cdeccdac01cd8484d89165695efea0f72dc4a9b1112e9a1ea2e114562325dd7b7261cece5283a144797c4a1824cecab9af43d381b24069036b4c69b7f17b2a SHA512 dbba303dac8f819085718f589079ebdfd0daf99e3758709309b24e58fc464f449a530861157d2286c747086a97e7c6031ec8a5c7081e17e5884577f655731462
DIST wine-11.14.tar.xz 46575228 BLAKE2B b4ed19a4abd35be64230964ab64d46f86cca3adc82fff8d79db98f0c4f31527820af7b8270dba68a41090121dcdb0c68fb78540e1d59727882dc1e7d8748840b SHA512 b42f91c0a73b46af07b1f8fb8aacd3dae38a8d62989fb28bd264bd3c5fd788dae19ef734b861d5b94094ba619222993f035aa50a083e59a2abf18a47cf5a5c3e
DIST wine-11.15.tar.xz 46665288 BLAKE2B 5d5a81dbcf5ce4fdb14799a7b8c93f44f0ed9ff67c49a43a501ff171aeeed2f2359a4f78a9fb1d76b791df76e4a1e623a025834a1124f9da705b6768495fc9bc SHA512 e6ce72331e7e8efb0dace2d39e547f3ce989d178dc7c37db1b4523cf9f200196a64fee69ca8a2bccfce0bf8e8f7800adb2c4ef4c44b0bd7d78cf937d84849232
DIST wine-11.16.tar.xz 46686616 BLAKE2B fdaf6061e1b551f18b3a1b995efaf5197a7c821db00cdcc0a5ac6b90ae5d3351dc852855d5cb48e17baff2c9ec4b404688b0765a93df343e7dc9820b4160bc24 SHA512 e084a102989cb00bd0994aa998f18e2ef87ec8e8bcedaf18ab613df66fb5a89b03ca1e608f525ca5d0941641c3b8a4c7000a93da439e61febf7e9084c77ac62d
+DIST wine-11.17.tar.xz 46726496 BLAKE2B b10721312286510ba57b329cc8c0e253b83ef4151b1629563bd4ba302096f9003d69871ad6fde7c67c001d044745f13d5e3b0bcd265311697da13d0c6acd281d SHA512 d23e92710416cce6f1f18e4a221a6784e02425364fdef6fd5f48f60261a9b62b552079924ee6703ea2d9bc4c7cb0f75fe9bebf300b16c04bec113a90bb0c93c4
DIST wine-8.0.2.tar.xz 29060452 BLAKE2B dcffaba6c90c4e02a7bc591a81e11aced06c006370c4c316c8a367b2f5814926063482959fabfe9d674ee1b5a560e59087e9b711e28360ced3aee2bbd6bb8fdb SHA512 e86dd31247d757d48ffb2d24f20edab3fc6ef9c3e395567a7b363951bb681335ba3adb8b84639011b24b6eb274582d56880298d6d95fb100acc072383d4e973f
DIST wine-9.0.1.tar.xz 30166464 BLAKE2B 120a4556b18f3336c348e9984afc8c6d3d3d69ef64aa29224dd09ad69684e32ab193f23eb8edceb08e37aff0c96be25b4a3b54874045583dd9c1dabc71ac3a32 SHA512 510ec92b442b5410c05eca5012384669f0bb06acdab9f790527a82276a8ee679a6d2cd2b769a75815d7233ce7421de05457a64596d056552f4507a7a12c9f1a8
diff --git a/app-emulation/wine-vanilla/wine-vanilla-11.13.ebuild b/app-emulation/wine-vanilla/wine-vanilla-11.13.ebuild
deleted file mode 100644
index 8a9bbe07fc76..000000000000
--- a/app-emulation/wine-vanilla/wine-vanilla-11.13.ebuild
+++ /dev/null
@@ -1,214 +0,0 @@
-# Copyright 2022-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit optfeature wine
-
-WINE_GECKO=2.47.4
-WINE_MONO=11.2.0
-
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git"
-else
- (( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0
- SRC_URI="https://dl.winehq.org/wine/source/${WINE_SDIR}/wine-${PV}.tar.xz"
- S=${WORKDIR}/wine-${PV}
- KEYWORDS="-* ~amd64 ~arm64 ~x86"
-fi
-
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
-HOMEPAGE="
- https://www.winehq.org/
- https://gitlab.winehq.org/wine/wine/
-"
-
-LICENSE="
- LGPL-2.1+
- BSD BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff public-domain
-"
-SLOT="${PV}"
-IUSE="
- +X +alsa bluetooth cups +dbus dos ffmpeg +fontconfig +gecko gphoto2
- +gstreamer kerberos +mono netapi nls odbc opencl +opengl pcap perl
- pulseaudio samba scanner +sdl selinux smartcard +ssl +truetype udev
- usb v4l +vulkan wayland xinerama
-"
-REQUIRED_USE="
- X? ( truetype )
- bluetooth? ( dbus )
- opengl? ( || ( X wayland ) )
-"
-
-# tests are non-trivial to run, can hang easily, don't play well with
-# sandbox, and several need real opengl/vulkan or network access
-RESTRICT="test"
-
-# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
-WINE_DLOPEN_DEPEND="
- X? (
- x11-libs/libXcomposite[${WINE_USEDEP}]
- x11-libs/libXcursor[${WINE_USEDEP}]
- x11-libs/libXfixes[${WINE_USEDEP}]
- x11-libs/libXi[${WINE_USEDEP}]
- x11-libs/libXrandr[${WINE_USEDEP}]
- x11-libs/libXrender[${WINE_USEDEP}]
- x11-libs/libXxf86vm[${WINE_USEDEP}]
- xinerama? ( x11-libs/libXinerama[${WINE_USEDEP}] )
- )
- cups? ( net-print/cups[${WINE_USEDEP}] )
- dbus? ( sys-apps/dbus[${WINE_USEDEP}] )
- fontconfig? ( media-libs/fontconfig[${WINE_USEDEP}] )
- kerberos? ( virtual/krb5[${WINE_USEDEP}] )
- netapi? ( net-fs/samba[${WINE_USEDEP}] )
- odbc? ( dev-db/unixODBC[${WINE_USEDEP}] )
- opengl? ( media-libs/libglvnd[X?,${WINE_USEDEP}] )
- sdl? ( media-libs/libsdl2[haptic,joystick,${WINE_USEDEP}] )
- ssl? ( net-libs/gnutls:=[${WINE_USEDEP}] )
- truetype? ( media-libs/freetype[${WINE_USEDEP}] )
- v4l? ( media-libs/libv4l[${WINE_USEDEP}] )
- vulkan? ( media-libs/vulkan-loader[X?,wayland?,${WINE_USEDEP}] )
-"
-WINE_COMMON_DEPEND="
- ${WINE_DLOPEN_DEPEND}
- X? (
- x11-libs/libX11[${WINE_USEDEP}]
- x11-libs/libXext[${WINE_USEDEP}]
- )
- alsa? ( media-libs/alsa-lib[${WINE_USEDEP}] )
- ffmpeg? ( media-video/ffmpeg:=[${WINE_USEDEP}] )
- gphoto2? ( media-libs/libgphoto2:=[${WINE_USEDEP}] )
- gstreamer? (
- dev-libs/glib:2[${WINE_USEDEP}]
- media-libs/gst-plugins-base:1.0[${WINE_USEDEP}]
- media-libs/gstreamer:1.0[${WINE_USEDEP}]
- )
- opencl? ( virtual/opencl[${WINE_USEDEP}] )
- pcap? ( net-libs/libpcap[${WINE_USEDEP}] )
- pulseaudio? ( media-libs/libpulse[${WINE_USEDEP}] )
- scanner? ( media-gfx/sane-backends[${WINE_USEDEP}] )
- smartcard? ( sys-apps/pcsc-lite[${WINE_USEDEP}] )
- udev? ( virtual/libudev:=[${WINE_USEDEP}] )
- usb? ( dev-libs/libusb:1[${WINE_USEDEP}] )
- wayland? (
- dev-libs/wayland[${WINE_USEDEP}]
- x11-libs/libxkbcommon[${WINE_USEDEP}]
- )
-"
-RDEPEND="
- ${WINE_COMMON_DEPEND}
- app-emulation/wine-desktop-common
- dos? (
- || (
- games-emulation/dosbox
- games-emulation/dosbox-staging
- )
- )
- gecko? (
- app-emulation/wine-gecko:${WINE_GECKO}[${WINE_USEDEP}]
- wow64? ( app-emulation/wine-gecko[abi_x86_32] )
- )
- gstreamer? ( media-plugins/gst-plugins-meta:1.0[${WINE_USEDEP}] )
- mono? ( app-emulation/wine-mono:${WINE_MONO} )
- perl? (
- dev-lang/perl
- dev-perl/XML-LibXML
- )
- samba? ( net-fs/samba[winbind] )
- selinux? ( sec-policy/selinux-wine )
-"
-DEPEND="
- ${WINE_COMMON_DEPEND}
- >=sys-kernel/linux-headers-6.14
- X? ( x11-base/xorg-proto )
- bluetooth? ( net-wireless/bluez )
- opencl? ( dev-util/opencl-headers )
-"
-BDEPEND="
- sys-devel/bison
- sys-devel/flex
- virtual/pkgconfig
- amd64? ( dev-lang/nasm )
- nls? ( sys-devel/gettext )
- wayland? ( dev-util/wayland-scanner )
- x86? ( dev-lang/nasm )
-"
-
-QA_CONFIG_IMPL_DECL_SKIP=(
- __clear_cache # unused on amd64+x86 (bug #900338)
- res_getservers # false positive
-)
-QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
-# intentionally ignored: https://gitlab.winehq.org/wine/wine/-/commit/433c2f8c06
-QA_FLAGS_IGNORED="usr/lib/.*/wine/.*-unix/wine-preloader"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-7.0-noexecstack.patch
- "${FILESDIR}"/${PN}-8.13-rpath.patch
-)
-
-src_configure() {
- local wineconfargs=(
- $(use_enable gecko mshtml)
- $(use_enable mono mscoree)
- --disable-tests
-
- $(use_with X x)
- $(use_with alsa)
- --without-capi #977907
- $(use_with cups)
- $(use_with dbus)
- $(use_with ffmpeg)
- $(use_with fontconfig)
- $(use_with gphoto2 gphoto)
- $(use_with gstreamer)
- --without-hwloc # currently only used on FreeBSD
- $(use_with kerberos gssapi)
- $(use_with kerberos krb5)
- $(use_with netapi)
- $(use_with nls gettext)
- $(use_with opencl)
- $(use_with opengl)
- --without-oss # media-sound/oss is not packaged (OSSv4)
- $(use_with pcap)
- $(use_with pulseaudio pulse)
- $(use_with scanner sane)
- $(use_with sdl)
- $(use_with smartcard pcsclite)
- $(use_with ssl gnutls)
- $(use_with truetype freetype)
- $(use_with udev)
- $(use_with usb)
- $(use_with v4l v4l2)
- $(use_with vulkan)
- $(use_with wayland)
- $(use_with xinerama)
-
- $(usev !bluetooth '
- ac_cv_header_bluetooth_bluetooth_h=no
- ac_cv_header_bluetooth_rfcomm_h=no
- ')
- $(usev !odbc ac_cv_lib_soname_odbc=)
- )
-
- wine_src_configure
-}
-
-src_install() {
- use perl || local WINE_SKIP_INSTALL=(
- ${WINE_DATADIR}/man/man1/wine{dump,maker}.1
- ${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}}
- )
-
- wine_src_install
-
- dodoc ANNOUNCE* AUTHORS README* documentation/README*
-}
-
-pkg_postinst() {
- wine_pkg_postinst
-
- optfeature "/dev/hidraw* access used for *some* controllers (e.g. DualShock4)" \
- games-util/game-device-udev-rules
-}
diff --git a/app-emulation/wine-vanilla/wine-vanilla-11.12.ebuild b/app-emulation/wine-vanilla/wine-vanilla-11.17.ebuild
index 8a9bbe07fc76..f1bef564158c 100644
--- a/app-emulation/wine-vanilla/wine-vanilla-11.12.ebuild
+++ b/app-emulation/wine-vanilla/wine-vanilla-11.17.ebuild
@@ -6,7 +6,7 @@ EAPI=8
inherit optfeature wine
WINE_GECKO=2.47.4
-WINE_MONO=11.2.0
+WINE_MONO=11.3.0
if [[ ${PV} == 9999 ]]; then
inherit git-r3
@@ -33,7 +33,7 @@ IUSE="
+X +alsa bluetooth cups +dbus dos ffmpeg +fontconfig +gecko gphoto2
+gstreamer kerberos +mono netapi nls odbc opencl +opengl pcap perl
pulseaudio samba scanner +sdl selinux smartcard +ssl +truetype udev
- usb v4l +vulkan wayland xinerama
+ usb v4l vaapi +vulkan wayland xinerama
"
REQUIRED_USE="
X? ( truetype )
@@ -68,6 +68,7 @@ WINE_DLOPEN_DEPEND="
ssl? ( net-libs/gnutls:=[${WINE_USEDEP}] )
truetype? ( media-libs/freetype[${WINE_USEDEP}] )
v4l? ( media-libs/libv4l[${WINE_USEDEP}] )
+ vaapi? ( media-libs/libva:=[${WINE_USEDEP}] )
vulkan? ( media-libs/vulkan-loader[X?,wayland?,${WINE_USEDEP}] )
"
WINE_COMMON_DEPEND="
@@ -181,6 +182,7 @@ src_configure() {
$(use_with udev)
$(use_with usb)
$(use_with v4l v4l2)
+ $(use_with vaapi va)
$(use_with vulkan)
$(use_with wayland)
$(use_with xinerama)
diff --git a/app-misc/ca-certificates/ca-certificates-20260601.3.112.5.ebuild b/app-misc/ca-certificates/ca-certificates-20260601.3.112.5.ebuild
index 480c965bc73a..a4384570acdd 100644
--- a/app-misc/ca-certificates/ca-certificates-20260601.3.112.5.ebuild
+++ b/app-misc/ca-certificates/ca-certificates-20260601.3.112.5.ebuild
@@ -57,7 +57,7 @@ S="${WORKDIR}"
LICENSE="MPL-1.1"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
${PRECOMPILED} || IUSE+=" cacert"
BDEPEND="${COMMON_DEPEND}"
diff --git a/dev-build/ninja/files/ninja-1.13.2-big-endian-test.patch b/dev-build/ninja/files/ninja-1.13.2-big-endian-test.patch
new file mode 100644
index 000000000000..ae0b7538cea2
--- /dev/null
+++ b/dev-build/ninja/files/ninja-1.13.2-big-endian-test.patch
@@ -0,0 +1,91 @@
+https://github.com/ninja-build/ninja/commit/9421d5c9f6a3190f68675796d88677fc1ebaae50
+
+From 9421d5c9f6a3190f68675796d88677fc1ebaae50 Mon Sep 17 00:00:00 2001
+From: Ben Boeckel <ben.boeckel@kitware.com>
+Date: Tue, 15 Jul 2025 00:09:28 -0400
+Subject: [PATCH] deps_log_test: support big endian architectures
+
+---
+ src/deps_log_test.cc | 36 ++++++++++++++++++++++++++++++++++++
+ 1 file changed, 36 insertions(+)
+
+diff --git a/src/deps_log_test.cc b/src/deps_log_test.cc
+index 6476843f7f..62192b099e 100644
+--- a/src/deps_log_test.cc
++++ b/src/deps_log_test.cc
+@@ -566,15 +566,30 @@ TEST_F(DepsLogTest, MalformedDepsLog) {
+
+ const size_t version_offset = 12;
+ ASSERT_EQ("# ninjadeps\n", original_contents.substr(0, version_offset));
++#if defined(_WIN32) || (defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
+ ASSERT_EQ('\x04', original_contents[version_offset + 0]);
+ ASSERT_EQ('\x00', original_contents[version_offset + 1]);
+ ASSERT_EQ('\x00', original_contents[version_offset + 2]);
+ ASSERT_EQ('\x00', original_contents[version_offset + 3]);
++#elif defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
++ ASSERT_EQ('\x00', original_contents[version_offset + 0]);
++ ASSERT_EQ('\x00', original_contents[version_offset + 1]);
++ ASSERT_EQ('\x00', original_contents[version_offset + 2]);
++ ASSERT_EQ('\x04', original_contents[version_offset + 3]);
++#else
++# error "Unknown endianness."
++#endif
+
+ // clang-format off
+ static const uint8_t kFirstRecord[] = {
+ // size field == 0x0000000c
++#if defined(_WIN32) || (defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
+ 0x0c, 0x00, 0x00, 0x00,
++#elif defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
++ 0x00, 0x00, 0x00, 0x0c,
++#else
++# error "Unknown endianness."
++#endif
+ // name field = 'out.o' + 3 bytes of padding.
+ 'o', 'u', 't', '.', 'o', 0x00, 0x00, 0x00,
+ // checksum = ~0
+@@ -593,11 +608,23 @@ TEST_F(DepsLogTest, MalformedDepsLog) {
+ // clang-format off
+ static const uint8_t kSecondRecord[] = {
+ // size field == 0x0000000c
++#if defined(_WIN32) || (defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
+ 0x0c, 0x00, 0x00, 0x00,
++#elif defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
++ 0x00, 0x00, 0x00, 0x0c,
++#else
++# error "Unknown endianness."
++#endif
+ // name field = 'foo.hh' + 2 bytes of padding.
+ 'f', 'o', 'o', '.', 'h', 'h', 0x00, 0x00,
+ // checksum = ~1
++#if defined(_WIN32) || (defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
+ 0xfe, 0xff, 0xff, 0xff,
++#elif defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
++ 0xff, 0xff, 0xff, 0xfe,
++#else
++# error "Unknown endianness."
++#endif
+ };
+ // clang-format on
+ const size_t kSecondRecordLen = sizeof(kSecondRecord);
+@@ -650,10 +677,19 @@ TEST_F(DepsLogTest, MalformedDepsLog) {
+
+ // Corrupt first record |size| value.
+ bad_contents = original_contents;
++#if defined(_WIN32) || (defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
+ bad_contents[first_offset + 0] = '\x55';
+ bad_contents[first_offset + 1] = '\xaa';
+ bad_contents[first_offset + 2] = '\xff';
+ bad_contents[first_offset + 3] = '\xff';
++#elif defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
++ bad_contents[first_offset + 0] = '\xff';
++ bad_contents[first_offset + 1] = '\xff';
++ bad_contents[first_offset + 2] = '\xaa';
++ bad_contents[first_offset + 3] = '\x55';
++#else
++# error "Unknown endianness."
++#endif
+ ASSERT_TRUE(write_bad_log_file(bad_contents)) << strerror(errno);
+ {
+ State state;
+
diff --git a/dev-build/ninja/ninja-1.13.2-r1.ebuild b/dev-build/ninja/ninja-1.13.2-r1.ebuild
index 3a5c2c74a479..51c9f6610d9f 100644
--- a/dev-build/ninja/ninja-1.13.2-r1.ebuild
+++ b/dev-build/ninja/ninja-1.13.2-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2012-2025 Gentoo Authors
+# Copyright 2012-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -43,6 +43,7 @@ PDEPEND="
PATCHES=(
"${FILESDIR}"/ninja-cflags.patch
"${FILESDIR}"/${PN}-1.13.2-allow-psuedo-fifo.patch
+ "${FILESDIR}"/${PN}-1.13.2-big-endian-test.patch
)
pkg_setup() {
diff --git a/dev-db/etcd/Manifest b/dev-db/etcd/Manifest
index 16bac1b68be9..1779247eb017 100644
--- a/dev-db/etcd/Manifest
+++ b/dev-db/etcd/Manifest
@@ -2,8 +2,8 @@ DIST etcd-3.4.31-deps.tar.xz 2212704 BLAKE2B 8b30941eefdb3811fb331014b69eb8d5b9c
DIST etcd-3.4.31.tar.gz 6072806 BLAKE2B 30aa5b79d2fd0ba639bc766c104d5df28af50ae5398d860af3b3aff91c143ccd899538b341501386bac55dedc00086654de6e4ab9b237053b199a8de2fa509ec SHA512 4a7e366ced86ea86a324ab972ea47be56456c0aa8744e5ec07d499a56bdc9179ebc3bc2f33bd67c2d341181a5bcc703abc5a7c2e57879169a351457b4a0274f3
DIST etcd-3.5.18-deps.tar.xz 46453448 BLAKE2B 677370cb6d9064f8474adbfc5030b46f3367198cb8defc9242be00423c570f8c9bc5358d6dbe9d8cfee8e7797a2f8c93e7b4c8cbee4702c59287005cd7885fef SHA512 f1ed36d49f199fff4b0ee920870c3ac66dee0dcb5e92fa24a3861d841bdcfa99b210b292138116de9aafeec424c7663111f9bb0ad87910e1314031eb501f4aeb
DIST etcd-3.5.18.tar.gz 4128059 BLAKE2B 32f867170bf1195d019dcf562bff9104db00f6ccff6b91bf12a4c95a63a5d92dda6984437bed819240be7bd8d4e2b507904251f636e945c5847ef93e72f1dd63 SHA512 0d72c40d575997d70d9d4964e7ff4be75c77e13a40ea08fcc020fddc64dc420338f1853d5a51a2dbe3f4c2881ae196a7aa32565e4b41dbda77bc2b6ae2313104
-DIST etcd-3.5.26-deps.tar.xz 48943308 BLAKE2B 6c5719f47ef4be8b98260ff8b1f4d09c25bf01eb830e8e7851793d617336df0556bf7010bd9b6dba611b017501bdda18541282363e275d3ecded6c25efa43c50 SHA512 e3544d6787800d734ec9e851ea4755f166e3eaf6e82c3353e172aa2f34336a312f97811e39aae4babc905d91627fa182aed007c450737194db937d4ba76dc8c9
-DIST etcd-3.5.26.tar.gz 4145585 BLAKE2B e261a5ef3b629a69cc044b1a92ee6b3a2d56ee7e648b86036016c79b084bbb5dd748ecaf0214900b88c596b14f297815ab166e468c0fe84d63f46e6b51e867d5 SHA512 3a014d259725d8a116a3823fd921c6fa6cf9587c993038c12765085032610e997bf318d29ca2ae9ed34a55990cb500b61e2bc1f8151a80e200ec2299d918cf76
+DIST etcd-3.5.33-deps.tar.xz 70045516 BLAKE2B 4285009fbb4428fafc0921233ff904df83f32a3b074c948a4b668a227e5956a01a0aba1501711c3832ca4cf9430cec7cf133be9c198ac953f9cb730bd2743298 SHA512 266672468a32dda0c11db71152975e671f215f3d97b9fa486e2b8e4822d0a7f79798ddfd723ae90457e9b0678a5698d24ee2a5b59264b1214031d67abb893981
+DIST etcd-3.5.33.tar.gz 4158588 BLAKE2B bfb13744dd8045d280cd7669b748386f055415c481a4a0ae51549e8dccd16bb0d391586ebb8c4cf11b192b6f23088f623d74665211ecb57d9cc9ef4274729bcc SHA512 dff4376f47c68c4640166ed7dc31bcddee8f4638f7dfaa2cc384d1677ce94af306dce285d1a8a88621aa03235c90a97af3ec3e16c58ddbcc6d69e174c74c6d3d
DIST etcd-3.6.11-deps.tar.xz 111959652 BLAKE2B bfe2bb60c5a0a428401333f5ee9f33c1cad7f455fce768318625aceb95ffd6927a588c81166e67cad21d6055cda6e290a6e8a0d0151ab0b566494fb2e899adee SHA512 160078a709a58656fbc584ddeb35baa1ffe447ae9ed9b4dca5e40aa316e162caccde13c29b0eff5ef144153d601565d253e897f3ffe5684c4f807dd87517a5ca
DIST etcd-3.6.11.tar.gz 7384738 BLAKE2B ba4730a1cdf31ae94365124a48aeb222a91b1df835e5b919dac15c3eceecf1165ac92ab2a19e70067be7ba8f42df59100e1679c5cee423fe86cd4aeea7d3efbd SHA512 56423c42443d9d1d2d06ff28aff389a381ed9b726cbee0d3523ac34fe2a8e22029377a42aa808077bb985f524a153c5fe63fd6166857749e8217b705fdf41910
DIST etcd-3.6.14-deps.tar.xz 111593632 BLAKE2B cfc9e3474c75f2ba6b8f1601f6f2427a0542429cb495196915adbb79b0c5762ffcb5608965821d6cc5b12e7f8e08c249b70ceea61969b7422ffe3f2fad9faf6b SHA512 3cb35f8ac8d7c6c041f8951fd89ae415b256a940e818d3f8e713ffbcf19f85a09823d394d8f67fd6357c12ed3e117d713101c5d68fb167b7c9de975978256642
diff --git a/dev-db/etcd/etcd-3.5.26.ebuild b/dev-db/etcd/etcd-3.5.33.ebuild
index c853295346eb..52c1fbeeb2c7 100644
--- a/dev-db/etcd/etcd-3.5.26.ebuild
+++ b/dev-db/etcd/etcd-3.5.33.ebuild
@@ -3,12 +3,18 @@
EAPI=8
inherit go-module systemd tmpfiles
-GIT_COMMIT=65251b30e
+GIT_COMMIT=9f4b12540
DESCRIPTION="Highly-available key value store for shared configuration and service discovery"
HOMEPAGE="https://github.com/etcd-io/etcd"
SRC_URI="https://github.com/etcd-io/etcd/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-SRC_URI+=" https://dev.gentoo.org/~chewi/distfiles/${P}-deps.tar.xz"
+SRC_URI+=" https://dev.gentoo.org/~chewi/distfiles/${P}-deps.tar.xz" # Vendor tarball doesn't work.
+
+# P=etcd-3.X.Y
+# ebuild ${P}.ebuild clean unpack
+# cd /var/tmp/portage/dev-db/${P}/work/${P}
+# GOMODCACHE="${PWD}"/go-mod find -name go.mod -execdir go mod download -modcacherw -x
+# tar --owner root --group root -Jcf /var/cache/distfiles/${P}-deps.tar.xz go-mod
LICENSE="Apache-2.0"
LICENSE+=" BSD BSD-2 MIT"
@@ -22,6 +28,7 @@ COMMON_DEPEND="server? (
)"
DEPEND="${COMMON_DEPEND}"
RDEPEND="${COMMON_DEPEND}"
+BDEPEND=">=dev-lang/go-1.25.12"
# Unit tests attempt to download go modules.
PROPERTIES="test_network"
@@ -36,7 +43,7 @@ src_prepare() {
}
src_configure() {
- export FORCE_HOST_GO=1 GO_BUILD_FLAGS="-v -x"
+ export FORCE_HOST_GO=1 GO_BUILD_FLAGS="-v -x" CGO_ENABLED=1
}
src_compile() {
diff --git a/dev-db/etcd/etcd-3.7.1.ebuild b/dev-db/etcd/etcd-3.7.1.ebuild
index 05b0d0f01a42..90dd90ed4c7d 100644
--- a/dev-db/etcd/etcd-3.7.1.ebuild
+++ b/dev-db/etcd/etcd-3.7.1.ebuild
@@ -14,6 +14,7 @@ SRC_URI+=" https://dev.gentoo.org/~chewi/distfiles/${P}-vendor.tar.xz"
# make the vendor tarball a bit smaller.
#
# P=etcd-3.X.Y
+# ebuild ${P}.ebuild clean unpack
# cd /var/tmp/portage/dev-db/${P}/work/${P}
# sed -i "/\.\/tools\//d" go.work
# go work vendor
diff --git a/dev-db/postgis/postgis-3.3.10.ebuild b/dev-db/postgis/postgis-3.3.10.ebuild
index 6381fcdc5c10..fbc21ab19d4d 100644
--- a/dev-db/postgis/postgis-3.3.10.ebuild
+++ b/dev-db/postgis/postgis-3.3.10.ebuild
@@ -15,7 +15,7 @@ if [[ ${PV} = *9999* ]] ; then
else
PGIS="$(ver_cut 1-2)"
SRC_URI="https://download.osgeo.org/postgis/source/${MY_P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
+ KEYWORDS="amd64 x86"
fi
DESCRIPTION="Geographic Objects for PostgreSQL"
diff --git a/dev-db/postgis/postgis-3.5.7.ebuild b/dev-db/postgis/postgis-3.5.7.ebuild
index 9e7cc80b848a..77851644a9a5 100644
--- a/dev-db/postgis/postgis-3.5.7.ebuild
+++ b/dev-db/postgis/postgis-3.5.7.ebuild
@@ -15,7 +15,7 @@ if [[ ${PV} = *9999* ]] ; then
else
PGIS="$(ver_cut 1-2)"
SRC_URI="https://download.osgeo.org/postgis/source/${MY_P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
+ KEYWORDS="amd64 x86"
fi
DESCRIPTION="Geographic Objects for PostgreSQL"
diff --git a/dev-lang/go/go-1.26.5.ebuild b/dev-lang/go/go-1.26.5.ebuild
index c94eb4ca111b..bde6f7b0403f 100644
--- a/dev-lang/go/go-1.26.5.ebuild
+++ b/dev-lang/go/go-1.26.5.ebuild
@@ -20,7 +20,7 @@ case ${PV} in
*)
SRC_URI="https://go.dev/dl/go${MY_PV}.src.tar.gz "
S="${WORKDIR}"/go
- KEYWORDS="-* amd64 ~arm arm64 ~loong ~mips ppc64 ~riscv ~s390 x86 ~x64-macos ~x64-solaris"
+ KEYWORDS="-* amd64 arm arm64 ~loong ~mips ppc64 ~riscv ~s390 x86 ~x64-macos ~x64-solaris"
;;
esac
diff --git a/dev-lang/rust-bin/rust-bin-1.74.1-r102.ebuild b/dev-lang/rust-bin/rust-bin-1.74.1-r102.ebuild
index 20b480049550..926c71350c4d 100644
--- a/dev-lang/rust-bin/rust-bin-1.74.1-r102.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.74.1-r102.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
LLVM_COMPAT=( 17 )
LLVM_OPTIONAL="yes"
-inherit llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal
+inherit llvm-r2 multilib prefix rust-toolchain verify-sig multilib-minimal
MY_P="rust-${PV}"
# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src"
diff --git a/dev-lang/rust-bin/rust-bin-1.75.0-r102.ebuild b/dev-lang/rust-bin/rust-bin-1.75.0-r102.ebuild
index dc5f4451279a..d243a911c0a7 100644
--- a/dev-lang/rust-bin/rust-bin-1.75.0-r102.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.75.0-r102.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
LLVM_COMPAT=( 17 )
LLVM_OPTIONAL="yes"
-inherit llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal
+inherit llvm-r2 multilib prefix rust-toolchain verify-sig multilib-minimal
MY_P="rust-${PV}"
# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src"
diff --git a/dev-lang/rust-bin/rust-bin-1.76.0-r101.ebuild b/dev-lang/rust-bin/rust-bin-1.76.0-r101.ebuild
index 6139f1a663e7..c0592a7b74fb 100644
--- a/dev-lang/rust-bin/rust-bin-1.76.0-r101.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.76.0-r101.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
LLVM_COMPAT=( 17 )
LLVM_OPTIONAL="yes"
-inherit llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal
+inherit llvm-r2 multilib prefix rust-toolchain verify-sig multilib-minimal
MY_P="rust-${PV}"
# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src"
diff --git a/dev-lang/rust-bin/rust-bin-1.77.1-r102.ebuild b/dev-lang/rust-bin/rust-bin-1.77.1-r102.ebuild
index 7745f61b130c..1a1e722f6fd8 100644
--- a/dev-lang/rust-bin/rust-bin-1.77.1-r102.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.77.1-r102.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
LLVM_COMPAT=( 17 )
LLVM_OPTIONAL="yes"
-inherit llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal
+inherit llvm-r2 multilib prefix rust-toolchain verify-sig multilib-minimal
MY_P="rust-${PV}"
# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src"
diff --git a/dev-lang/rust-bin/rust-bin-1.78.0-r102.ebuild b/dev-lang/rust-bin/rust-bin-1.78.0-r102.ebuild
index 521b69759432..aa8fda0df373 100644
--- a/dev-lang/rust-bin/rust-bin-1.78.0-r102.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.78.0-r102.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
LLVM_COMPAT=( 18 )
LLVM_OPTIONAL="yes"
-inherit llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal
+inherit llvm-r2 multilib prefix rust-toolchain verify-sig multilib-minimal
MY_P="rust-${PV}-r101"
# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src"
diff --git a/dev-lang/rust-bin/rust-bin-1.79.0-r103.ebuild b/dev-lang/rust-bin/rust-bin-1.79.0-r103.ebuild
index c0d017c5e11e..aa17d1d08f3c 100644
--- a/dev-lang/rust-bin/rust-bin-1.79.0-r103.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.79.0-r103.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
LLVM_COMPAT=( 18 )
LLVM_OPTIONAL="yes"
-inherit llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal
+inherit llvm-r2 multilib prefix rust-toolchain verify-sig multilib-minimal
MY_P="rust-${PV}-r101"
# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src"
diff --git a/dev-lang/rust-bin/rust-bin-1.80.1-r103.ebuild b/dev-lang/rust-bin/rust-bin-1.80.1-r103.ebuild
index ad310d47e0ce..e0fc6507b1b2 100644
--- a/dev-lang/rust-bin/rust-bin-1.80.1-r103.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.80.1-r103.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
LLVM_COMPAT=( 18 )
LLVM_OPTIONAL="yes"
-inherit llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal
+inherit llvm-r2 multilib prefix rust-toolchain verify-sig multilib-minimal
MY_P="rust-${PV}-r101"
# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src"
diff --git a/dev-lang/rust-bin/rust-bin-1.81.0-r103.ebuild b/dev-lang/rust-bin/rust-bin-1.81.0-r103.ebuild
index 531e352af7e3..fa6fb59d2ccb 100644
--- a/dev-lang/rust-bin/rust-bin-1.81.0-r103.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.81.0-r103.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
LLVM_COMPAT=( 18 )
LLVM_OPTIONAL="yes"
-inherit llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
+inherit llvm-r2 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
MY_P="rust-${PV}-r101"
# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src"
diff --git a/dev-lang/rust-bin/rust-bin-1.82.0-r103.ebuild b/dev-lang/rust-bin/rust-bin-1.82.0-r103.ebuild
index fd4f820c9fd2..dfd58e6f99c5 100644
--- a/dev-lang/rust-bin/rust-bin-1.82.0-r103.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.82.0-r103.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
LLVM_COMPAT=( 19 )
LLVM_OPTIONAL="yes"
-inherit llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
+inherit llvm-r2 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
MY_P="rust-${PV}-r102"
# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src"
diff --git a/dev-lang/rust-bin/rust-bin-1.83.0-r2.ebuild b/dev-lang/rust-bin/rust-bin-1.83.0-r2.ebuild
index 3fe611ebc37f..a20e18b4739c 100644
--- a/dev-lang/rust-bin/rust-bin-1.83.0-r2.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.83.0-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
LLVM_COMPAT=( 19 )
LLVM_OPTIONAL="yes"
-inherit llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
+inherit llvm-r2 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
MY_P="rust-${PV}-r2"
# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src"
diff --git a/dev-lang/rust-bin/rust-bin-1.84.0-r2.ebuild b/dev-lang/rust-bin/rust-bin-1.84.0-r2.ebuild
index b58f47c4690f..c86ba101bcda 100644
--- a/dev-lang/rust-bin/rust-bin-1.84.0-r2.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.84.0-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
LLVM_COMPAT=( 19 )
LLVM_OPTIONAL="yes"
-inherit llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
+inherit llvm-r2 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
MY_P="rust-${PV}-r1"
# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src"
diff --git a/dev-lang/rust-bin/rust-bin-1.84.1-r2.ebuild b/dev-lang/rust-bin/rust-bin-1.84.1-r2.ebuild
index 16acc41fa152..b6e8f8ea614f 100644
--- a/dev-lang/rust-bin/rust-bin-1.84.1-r2.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.84.1-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
LLVM_COMPAT=( 19 )
LLVM_OPTIONAL="yes"
-inherit llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
+inherit llvm-r2 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
MY_P="rust-${PV}-r1"
# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src"
diff --git a/dev-lang/rust-bin/rust-bin-1.85.0-r1.ebuild b/dev-lang/rust-bin/rust-bin-1.85.0-r1.ebuild
index bfe1fc7943e8..656c836c9577 100644
--- a/dev-lang/rust-bin/rust-bin-1.85.0-r1.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.85.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
LLVM_COMPAT=( 19 )
LLVM_OPTIONAL="yes"
-inherit edo llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
+inherit edo llvm-r2 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
if [[ ${PV} == *9999* ]]; then
# We need to fetch a tarball in src_unpack
diff --git a/dev-lang/rust-bin/rust-bin-1.85.1.ebuild b/dev-lang/rust-bin/rust-bin-1.85.1.ebuild
index 06f21e8aa5f2..cd1ff0186603 100644
--- a/dev-lang/rust-bin/rust-bin-1.85.1.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.85.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
LLVM_COMPAT=( 19 )
LLVM_OPTIONAL="yes"
-inherit edo llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
+inherit edo llvm-r2 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
if [[ ${PV} == *9999* ]]; then
# We need to fetch a tarball in src_unpack
diff --git a/dev-lang/rust-bin/rust-bin-1.86.0-r1.ebuild b/dev-lang/rust-bin/rust-bin-1.86.0-r1.ebuild
index a210bc4536ee..69c61c57abce 100644
--- a/dev-lang/rust-bin/rust-bin-1.86.0-r1.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.86.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
LLVM_COMPAT=( 19 )
LLVM_OPTIONAL="yes"
-inherit edo llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
+inherit edo llvm-r2 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
if [[ ${PV} == *9999* ]]; then
# We need to fetch a tarball in src_unpack
diff --git a/dev-lang/rust-bin/rust-bin-1.87.0.ebuild b/dev-lang/rust-bin/rust-bin-1.87.0.ebuild
index 5b54e8d76724..035399a23810 100644
--- a/dev-lang/rust-bin/rust-bin-1.87.0.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.87.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
LLVM_COMPAT=( 20 )
LLVM_OPTIONAL="yes"
-inherit edo llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
+inherit edo llvm-r2 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
if [[ ${PV} == *9999* ]]; then
# We need to fetch a tarball in src_unpack
diff --git a/dev-lang/rust-bin/rust-bin-1.88.0.ebuild b/dev-lang/rust-bin/rust-bin-1.88.0.ebuild
index bb5432955974..0d810d11ed06 100644
--- a/dev-lang/rust-bin/rust-bin-1.88.0.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.88.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
LLVM_COMPAT=( 20 )
LLVM_OPTIONAL="yes"
-inherit edo llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
+inherit edo llvm-r2 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
if [[ ${PV} == *9999* ]]; then
# We need to fetch a tarball in src_unpack
diff --git a/dev-lang/rust-bin/rust-bin-1.89.0.ebuild b/dev-lang/rust-bin/rust-bin-1.89.0.ebuild
index ad51a3927fb6..c8f548df4716 100644
--- a/dev-lang/rust-bin/rust-bin-1.89.0.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.89.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
LLVM_COMPAT=( 20 )
LLVM_OPTIONAL="yes"
-inherit edo llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
+inherit edo llvm-r2 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
if [[ ${PV} == *9999* ]]; then
# We need to fetch a tarball in src_unpack
diff --git a/dev-lang/rust-bin/rust-bin-1.90.0.ebuild b/dev-lang/rust-bin/rust-bin-1.90.0.ebuild
index f6a4d93ce57a..2550e87791f4 100644
--- a/dev-lang/rust-bin/rust-bin-1.90.0.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.90.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
LLVM_COMPAT=( 20 )
LLVM_OPTIONAL="yes"
-inherit edo llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
+inherit edo llvm-r2 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
if [[ ${PV} == *9999* ]]; then
# We need to fetch a tarball in src_unpack
diff --git a/dev-lang/rust-bin/rust-bin-1.91.0.ebuild b/dev-lang/rust-bin/rust-bin-1.91.0.ebuild
index a475876a7636..9ea25fc76c8a 100644
--- a/dev-lang/rust-bin/rust-bin-1.91.0.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.91.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
LLVM_COMPAT=( 21 )
LLVM_OPTIONAL="yes"
-inherit edo llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
+inherit edo llvm-r2 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
if [[ ${PV} == *9999* ]]; then
# We need to fetch a tarball in src_unpack
diff --git a/dev-lang/rust-bin/rust-bin-1.92.0.ebuild b/dev-lang/rust-bin/rust-bin-1.92.0.ebuild
index 11515dfa5df6..c0f8153dc656 100644
--- a/dev-lang/rust-bin/rust-bin-1.92.0.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.92.0.ebuild
@@ -6,7 +6,7 @@ EAPI=8
LLVM_COMPAT=( 21 )
LLVM_OPTIONAL="yes"
-inherit edo llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
+inherit edo llvm-r2 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
if [[ ${PV} == *9999* ]]; then
# We need to fetch a tarball in src_unpack
diff --git a/dev-lang/rust-bin/rust-bin-1.93.0.ebuild b/dev-lang/rust-bin/rust-bin-1.93.0.ebuild
index edbb857a50cf..bf77e61a2d23 100644
--- a/dev-lang/rust-bin/rust-bin-1.93.0.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.93.0.ebuild
@@ -6,7 +6,7 @@ EAPI=8
LLVM_COMPAT=( 21 )
LLVM_OPTIONAL="yes"
-inherit edo llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
+inherit edo llvm-r2 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
if [[ ${PV} == *9999* ]]; then
# We need to fetch a tarball in src_unpack
diff --git a/dev-lang/rust-bin/rust-bin-1.93.1.ebuild b/dev-lang/rust-bin/rust-bin-1.93.1.ebuild
index 672cbfd6fe1d..9d3a91f2899a 100644
--- a/dev-lang/rust-bin/rust-bin-1.93.1.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.93.1.ebuild
@@ -6,7 +6,7 @@ EAPI=8
LLVM_COMPAT=( 21 )
LLVM_OPTIONAL="yes"
-inherit edo llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
+inherit edo llvm-r2 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
if [[ ${PV} == *9999* ]]; then
# We need to fetch a tarball in src_unpack
diff --git a/dev-lang/rust-bin/rust-bin-1.94.0.ebuild b/dev-lang/rust-bin/rust-bin-1.94.0.ebuild
index 36df7dd9c6f2..ac0f1abb93f8 100644
--- a/dev-lang/rust-bin/rust-bin-1.94.0.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.94.0.ebuild
@@ -6,7 +6,7 @@ EAPI=8
LLVM_COMPAT=( 21 )
LLVM_OPTIONAL="yes"
-inherit edo llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
+inherit edo llvm-r2 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
if [[ ${PV} == *9999* ]]; then
# We need to fetch a tarball in src_unpack
@@ -24,7 +24,7 @@ else
SRC_URI="$(rust_all_arch_uris "rust-${PV}")
rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/2026-03-05/rust-src-${PV}.tar.xz )
"
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86" # "~mips ~sparc"
+ KEYWORDS=""~mips # ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86""
fi
GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PVR}" # omit trailing slash
diff --git a/dev-lang/rust-bin/rust-bin-1.94.1.ebuild b/dev-lang/rust-bin/rust-bin-1.94.1.ebuild
index 19c5557b74e8..d8922717ed6d 100644
--- a/dev-lang/rust-bin/rust-bin-1.94.1.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.94.1.ebuild
@@ -6,7 +6,7 @@ EAPI=8
LLVM_COMPAT=( 21 )
LLVM_OPTIONAL="yes"
-inherit edo llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
+inherit edo llvm-r2 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
if [[ ${PV} == *9999* ]]; then
# We need to fetch a tarball in src_unpack
diff --git a/dev-lang/rust-bin/rust-bin-1.95.0.ebuild b/dev-lang/rust-bin/rust-bin-1.95.0.ebuild
index 6e56692792f6..7cf7f7bc131a 100644
--- a/dev-lang/rust-bin/rust-bin-1.95.0.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.95.0.ebuild
@@ -6,7 +6,7 @@ EAPI=8
LLVM_COMPAT=( 22 )
LLVM_OPTIONAL="yes"
-inherit edo llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
+inherit edo llvm-r2 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
if [[ ${PV} == *9999* ]]; then
# We need to fetch a tarball in src_unpack
diff --git a/dev-lang/rust-bin/rust-bin-1.96.1.ebuild b/dev-lang/rust-bin/rust-bin-1.96.1.ebuild
index 4b46e5cd7259..57aafd16a0df 100644
--- a/dev-lang/rust-bin/rust-bin-1.96.1.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.96.1.ebuild
@@ -6,7 +6,7 @@ EAPI=8
LLVM_COMPAT=( 22 )
LLVM_OPTIONAL="yes"
-inherit edo llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
+inherit edo llvm-r2 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
if [[ ${PV} == *9999* ]]; then
# We need to fetch a tarball in src_unpack
diff --git a/dev-lang/rust-bin/rust-bin-1.97.1.ebuild b/dev-lang/rust-bin/rust-bin-1.97.1.ebuild
index ef4415f94837..6a2fe3faac6e 100644
--- a/dev-lang/rust-bin/rust-bin-1.97.1.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.97.1.ebuild
@@ -6,7 +6,7 @@ EAPI=8
LLVM_COMPAT=( 22 )
LLVM_OPTIONAL="yes"
-inherit edo llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
+inherit edo llvm-r2 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
if [[ ${PV} == *9999* ]]; then
# We need to fetch a tarball in src_unpack
diff --git a/dev-lang/rust-bin/rust-bin-1.98.1.ebuild b/dev-lang/rust-bin/rust-bin-1.98.1.ebuild
index b09ce50a5887..4c1ae303bd26 100644
--- a/dev-lang/rust-bin/rust-bin-1.98.1.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.98.1.ebuild
@@ -6,7 +6,7 @@ EAPI=8
LLVM_COMPAT=( 22 )
LLVM_OPTIONAL="yes"
-inherit edo llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
+inherit edo llvm-r2 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
if [[ ${PV} == *9999* ]]; then
# We need to fetch a tarball in src_unpack
diff --git a/dev-lang/rust-bin/rust-bin-9999.ebuild b/dev-lang/rust-bin/rust-bin-9999.ebuild
index 34306db7d425..6aca3a30107b 100644
--- a/dev-lang/rust-bin/rust-bin-9999.ebuild
+++ b/dev-lang/rust-bin/rust-bin-9999.ebuild
@@ -6,7 +6,7 @@ EAPI=8
LLVM_COMPAT=( 22 )
LLVM_OPTIONAL="yes"
-inherit edo llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
+inherit edo llvm-r2 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature
if [[ ${PV} == *9999* ]]; then
# We need to fetch a tarball in src_unpack
@@ -24,7 +24,7 @@ else
SRC_URI="$(rust_all_arch_uris "rust-${PV}")
rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/2026-03-26/rust-src-${PV}.tar.xz )
"
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86" # "~mips ~sparc"
+ KEYWORDS=""~mips # ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86""
fi
GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PVR}" # omit trailing slash
diff --git a/dev-lang/rust/rust-1.74.1-r101.ebuild b/dev-lang/rust/rust-1.74.1-r101.ebuild
index 544512df3603..5cbdddfe78b6 100644
--- a/dev-lang/rust/rust-1.74.1-r101.ebuild
+++ b/dev-lang/rust/rust-1.74.1-r101.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -15,7 +15,7 @@ RUST_OPTIONAL=1
MRUSTC_VERSION="0.11.2"
MRUSTC_RUST_VERSION="1.74.0"
-inherit check-reqs cmake edo estack flag-o-matic llvm-r1 multiprocessing multilib multilib-build \
+inherit check-reqs cmake edo estack flag-o-matic llvm-r2 multiprocessing multilib multilib-build \
optfeature python-any-r1 rust rust-toolchain toolchain-funcs verify-sig
if [[ ${PV} = *9999* ]]; then
@@ -247,7 +247,7 @@ pkg_setup() {
fi
if use system-llvm; then
- llvm-r1_pkg_setup
+ llvm-r2_pkg_setup
local llvm_config="$(get_llvm_prefix)/bin/llvm-config"
export LLVM_LINK_SHARED=1
diff --git a/dev-lang/rust/rust-1.75.0-r101.ebuild b/dev-lang/rust/rust-1.75.0-r101.ebuild
index 67b6d8372c26..9980db365468 100644
--- a/dev-lang/rust/rust-1.75.0-r101.ebuild
+++ b/dev-lang/rust/rust-1.75.0-r101.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ RUST_PATCH_VER=${PVR}
RUST_MAX_VER=${PV}
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
-inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing multilib multilib-build \
+inherit check-reqs estack flag-o-matic llvm-r2 multiprocessing multilib multilib-build \
optfeature python-any-r1 rust rust-toolchain toolchain-funcs verify-sig
if [[ ${PV} = *9999* ]]; then
@@ -224,7 +224,7 @@ pkg_setup() {
rust_pkg_setup
if use system-llvm; then
- llvm-r1_pkg_setup
+ llvm-r2_pkg_setup
local llvm_config="$(get_llvm_prefix)/bin/llvm-config"
export LLVM_LINK_SHARED=1
diff --git a/dev-lang/rust/rust-1.76.0-r101.ebuild b/dev-lang/rust/rust-1.76.0-r101.ebuild
index 018e34473fb4..4fa524dd084d 100644
--- a/dev-lang/rust/rust-1.76.0-r101.ebuild
+++ b/dev-lang/rust/rust-1.76.0-r101.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ RUST_PATCH_VER=${PVR}
RUST_MAX_VER=${PV}
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
-inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing multilib multilib-build \
+inherit check-reqs estack flag-o-matic llvm-r2 multiprocessing multilib multilib-build \
optfeature python-any-r1 rust rust-toolchain toolchain-funcs verify-sig
if [[ ${PV} = *9999* ]]; then
@@ -224,7 +224,7 @@ pkg_setup() {
rust_pkg_setup
if use system-llvm; then
- llvm-r1_pkg_setup
+ llvm-r2_pkg_setup
local llvm_config="$(get_llvm_prefix)/bin/llvm-config"
export LLVM_LINK_SHARED=1
diff --git a/dev-lang/rust/rust-1.77.1-r101.ebuild b/dev-lang/rust/rust-1.77.1-r101.ebuild
index 7ca867447462..49c30059e596 100644
--- a/dev-lang/rust/rust-1.77.1-r101.ebuild
+++ b/dev-lang/rust/rust-1.77.1-r101.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ RUST_PATCH_VER=${PVR}
RUST_MAX_VER=${PV}
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
-inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing multilib multilib-build \
+inherit check-reqs estack flag-o-matic llvm-r2 multiprocessing multilib multilib-build \
optfeature python-any-r1 rust rust-toolchain toolchain-funcs verify-sig
if [[ ${PV} = *9999* ]]; then
@@ -224,7 +224,7 @@ pkg_setup() {
rust_pkg_setup
if use system-llvm; then
- llvm-r1_pkg_setup
+ llvm-r2_pkg_setup
local llvm_config="$(get_llvm_prefix)/bin/llvm-config"
export LLVM_LINK_SHARED=1
diff --git a/dev-lang/rust/rust-1.78.0-r101.ebuild b/dev-lang/rust/rust-1.78.0-r101.ebuild
index 87f926833618..915eb6b60f77 100644
--- a/dev-lang/rust/rust-1.78.0-r101.ebuild
+++ b/dev-lang/rust/rust-1.78.0-r101.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ RUST_PATCH_VER=${PVR}
RUST_MAX_VER=${PV}
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
-inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing multilib multilib-build \
+inherit check-reqs estack flag-o-matic llvm-r2 multiprocessing multilib multilib-build \
optfeature python-any-r1 rust rust-toolchain toolchain-funcs verify-sig
if [[ ${PV} = *9999* ]]; then
@@ -224,7 +224,7 @@ pkg_setup() {
rust_pkg_setup
if use system-llvm; then
- llvm-r1_pkg_setup
+ llvm-r2_pkg_setup
local llvm_config="$(get_llvm_prefix)/bin/llvm-config"
export LLVM_LINK_SHARED=1
diff --git a/dev-lang/rust/rust-1.79.0-r101.ebuild b/dev-lang/rust/rust-1.79.0-r101.ebuild
index b31c03b3a61a..7f69fcb8fe52 100644
--- a/dev-lang/rust/rust-1.79.0-r101.ebuild
+++ b/dev-lang/rust/rust-1.79.0-r101.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ RUST_PATCH_VER=${PVR}
RUST_MAX_VER=${PV}
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
-inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing multilib multilib-build \
+inherit check-reqs estack flag-o-matic llvm-r2 multiprocessing multilib multilib-build \
optfeature python-any-r1 rust rust-toolchain toolchain-funcs verify-sig
if [[ ${PV} = *9999* ]]; then
@@ -224,7 +224,7 @@ pkg_setup() {
rust_pkg_setup
if use system-llvm; then
- llvm-r1_pkg_setup
+ llvm-r2_pkg_setup
local llvm_config="$(get_llvm_prefix)/bin/llvm-config"
export LLVM_LINK_SHARED=1
diff --git a/dev-lang/rust/rust-1.80.1-r101.ebuild b/dev-lang/rust/rust-1.80.1-r101.ebuild
index 8bfe20300115..f8f9ac8fa488 100644
--- a/dev-lang/rust/rust-1.80.1-r101.ebuild
+++ b/dev-lang/rust/rust-1.80.1-r101.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ RUST_PATCH_VER=${PVR}
RUST_MAX_VER=${PV}
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
-inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing multilib multilib-build \
+inherit check-reqs estack flag-o-matic llvm-r2 multiprocessing multilib multilib-build \
optfeature python-any-r1 rust rust-toolchain toolchain-funcs verify-sig
if [[ ${PV} = *9999* ]]; then
@@ -224,7 +224,7 @@ pkg_setup() {
rust_pkg_setup
if use system-llvm; then
- llvm-r1_pkg_setup
+ llvm-r2_pkg_setup
local llvm_config="$(get_llvm_prefix)/bin/llvm-config"
export LLVM_LINK_SHARED=1
diff --git a/dev-lang/rust/rust-1.81.0-r101.ebuild b/dev-lang/rust/rust-1.81.0-r101.ebuild
index 66e0c8ccff01..01985bb4cd42 100644
--- a/dev-lang/rust/rust-1.81.0-r101.ebuild
+++ b/dev-lang/rust/rust-1.81.0-r101.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ RUST_PATCH_VER=${PVR}
RUST_MAX_VER=${PV}
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
-inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \
+inherit check-reqs estack flag-o-matic llvm-r2 multiprocessing optfeature \
multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig
if [[ ${PV} = *9999* ]]; then
@@ -225,7 +225,7 @@ pkg_setup() {
rust_pkg_setup
if use system-llvm; then
- llvm-r1_pkg_setup
+ llvm-r2_pkg_setup
local llvm_config="$(get_llvm_prefix)/bin/llvm-config"
export LLVM_LINK_SHARED=1
diff --git a/dev-lang/rust/rust-1.82.0-r103.ebuild b/dev-lang/rust/rust-1.82.0-r103.ebuild
index fb3e947b69b1..e4ab8985a960 100644
--- a/dev-lang/rust/rust-1.82.0-r103.ebuild
+++ b/dev-lang/rust/rust-1.82.0-r103.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ RUST_PATCH_VER=${PVR}
RUST_MAX_VER=${PV}
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
-inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \
+inherit check-reqs estack flag-o-matic llvm-r2 multiprocessing optfeature \
multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig
if [[ ${PV} = *9999* ]]; then
@@ -224,7 +224,7 @@ pkg_setup() {
rust_pkg_setup
if use system-llvm; then
- llvm-r1_pkg_setup
+ llvm-r2_pkg_setup
local llvm_config="$(get_llvm_prefix)/bin/llvm-config"
export LLVM_LINK_SHARED=1
diff --git a/dev-lang/rust/rust-1.83.0-r3.ebuild b/dev-lang/rust/rust-1.83.0-r3.ebuild
index e45c475be9c2..da0294bc64f4 100644
--- a/dev-lang/rust/rust-1.83.0-r3.ebuild
+++ b/dev-lang/rust/rust-1.83.0-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ RUST_PATCH_VER=${PVR}
RUST_MAX_VER=${PV}
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
-inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \
+inherit check-reqs estack flag-o-matic llvm-r2 multiprocessing optfeature \
multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig
if [[ ${PV} = *9999* ]]; then
@@ -224,7 +224,7 @@ pkg_setup() {
rust_pkg_setup
if use system-llvm; then
- llvm-r1_pkg_setup
+ llvm-r2_pkg_setup
local llvm_config="$(get_llvm_prefix)/bin/llvm-config"
export LLVM_LINK_SHARED=1
diff --git a/dev-lang/rust/rust-1.84.0-r2.ebuild b/dev-lang/rust/rust-1.84.0-r2.ebuild
index 05e79db4d6d4..c8821532e89a 100644
--- a/dev-lang/rust/rust-1.84.0-r2.ebuild
+++ b/dev-lang/rust/rust-1.84.0-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ RUST_PATCH_VER=${PVR}
RUST_MAX_VER=${PV}
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
-inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \
+inherit check-reqs estack flag-o-matic llvm-r2 multiprocessing optfeature \
multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig
if [[ ${PV} = *9999* ]]; then
@@ -230,7 +230,7 @@ pkg_setup() {
rust_pkg_setup
if use system-llvm; then
- llvm-r1_pkg_setup
+ llvm-r2_pkg_setup
local llvm_config="$(get_llvm_prefix)/bin/llvm-config"
export LLVM_LINK_SHARED=1
diff --git a/dev-lang/rust/rust-1.84.1-r2.ebuild b/dev-lang/rust/rust-1.84.1-r2.ebuild
index 05e79db4d6d4..c8821532e89a 100644
--- a/dev-lang/rust/rust-1.84.1-r2.ebuild
+++ b/dev-lang/rust/rust-1.84.1-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ RUST_PATCH_VER=${PVR}
RUST_MAX_VER=${PV}
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
-inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \
+inherit check-reqs estack flag-o-matic llvm-r2 multiprocessing optfeature \
multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig
if [[ ${PV} = *9999* ]]; then
@@ -230,7 +230,7 @@ pkg_setup() {
rust_pkg_setup
if use system-llvm; then
- llvm-r1_pkg_setup
+ llvm-r2_pkg_setup
local llvm_config="$(get_llvm_prefix)/bin/llvm-config"
export LLVM_LINK_SHARED=1
diff --git a/dev-lang/rust/rust-1.85.0-r2.ebuild b/dev-lang/rust/rust-1.85.0-r2.ebuild
index 8cc1b0f7999d..3e17772d40de 100644
--- a/dev-lang/rust/rust-1.85.0-r2.ebuild
+++ b/dev-lang/rust/rust-1.85.0-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -22,7 +22,7 @@ else
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
fi
-inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \
+inherit check-reqs estack flag-o-matic llvm-r2 multiprocessing optfeature \
multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig
if [[ ${PV} = *9999* ]]; then
@@ -246,7 +246,7 @@ pkg_setup() {
rust_pkg_setup
if use system-llvm; then
- llvm-r1_pkg_setup
+ llvm-r2_pkg_setup
local llvm_config="$(get_llvm_prefix)/bin/llvm-config"
export LLVM_LINK_SHARED=1
diff --git a/dev-lang/rust/rust-1.85.1-r1.ebuild b/dev-lang/rust/rust-1.85.1-r1.ebuild
index 8cc1b0f7999d..3e17772d40de 100644
--- a/dev-lang/rust/rust-1.85.1-r1.ebuild
+++ b/dev-lang/rust/rust-1.85.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -22,7 +22,7 @@ else
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
fi
-inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \
+inherit check-reqs estack flag-o-matic llvm-r2 multiprocessing optfeature \
multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig
if [[ ${PV} = *9999* ]]; then
@@ -246,7 +246,7 @@ pkg_setup() {
rust_pkg_setup
if use system-llvm; then
- llvm-r1_pkg_setup
+ llvm-r2_pkg_setup
local llvm_config="$(get_llvm_prefix)/bin/llvm-config"
export LLVM_LINK_SHARED=1
diff --git a/dev-lang/rust/rust-1.86.0-r2.ebuild b/dev-lang/rust/rust-1.86.0-r2.ebuild
index e81e5cdac0b0..c478443f5237 100644
--- a/dev-lang/rust/rust-1.86.0-r2.ebuild
+++ b/dev-lang/rust/rust-1.86.0-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -22,7 +22,7 @@ else
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
fi
-inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \
+inherit check-reqs estack flag-o-matic llvm-r2 multiprocessing optfeature \
multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig
if [[ ${PV} = *9999* ]]; then
@@ -247,7 +247,7 @@ pkg_setup() {
rust_pkg_setup
if use system-llvm; then
- llvm-r1_pkg_setup
+ llvm-r2_pkg_setup
local llvm_config="$(get_llvm_prefix)/bin/llvm-config"
export LLVM_LINK_SHARED=1
diff --git a/dev-lang/rust/rust-1.87.0-r1.ebuild b/dev-lang/rust/rust-1.87.0-r1.ebuild
index 4f8cb5dd580f..1bc2b533477d 100644
--- a/dev-lang/rust/rust-1.87.0-r1.ebuild
+++ b/dev-lang/rust/rust-1.87.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -22,7 +22,7 @@ else
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
fi
-inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \
+inherit check-reqs estack flag-o-matic llvm-r2 multiprocessing optfeature \
multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig
if [[ ${PV} = *9999* ]]; then
@@ -248,7 +248,7 @@ pkg_setup() {
rust_pkg_setup
if use system-llvm; then
- llvm-r1_pkg_setup
+ llvm-r2_pkg_setup
local llvm_config="$(get_llvm_prefix)/bin/llvm-config"
export LLVM_LINK_SHARED=1
diff --git a/dev-lang/rust/rust-1.88.0.ebuild b/dev-lang/rust/rust-1.88.0.ebuild
index 5226b4e7767f..8b992c4ca156 100644
--- a/dev-lang/rust/rust-1.88.0.ebuild
+++ b/dev-lang/rust/rust-1.88.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -18,7 +18,7 @@ else
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
fi
-inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \
+inherit check-reqs estack flag-o-matic llvm-r2 multiprocessing optfeature \
multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig
if [[ ${PV} = *9999* ]]; then
@@ -239,7 +239,7 @@ pkg_setup() {
rust_pkg_setup
if use system-llvm; then
- llvm-r1_pkg_setup
+ llvm-r2_pkg_setup
local llvm_config="$(get_llvm_prefix)/bin/llvm-config"
export LLVM_LINK_SHARED=1
diff --git a/dev-lang/rust/rust-1.89.0.ebuild b/dev-lang/rust/rust-1.89.0.ebuild
index 5226b4e7767f..8b992c4ca156 100644
--- a/dev-lang/rust/rust-1.89.0.ebuild
+++ b/dev-lang/rust/rust-1.89.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -18,7 +18,7 @@ else
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
fi
-inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \
+inherit check-reqs estack flag-o-matic llvm-r2 multiprocessing optfeature \
multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig
if [[ ${PV} = *9999* ]]; then
@@ -239,7 +239,7 @@ pkg_setup() {
rust_pkg_setup
if use system-llvm; then
- llvm-r1_pkg_setup
+ llvm-r2_pkg_setup
local llvm_config="$(get_llvm_prefix)/bin/llvm-config"
export LLVM_LINK_SHARED=1
diff --git a/dev-lang/rust/rust-1.90.0-r1.ebuild b/dev-lang/rust/rust-1.90.0-r1.ebuild
index e2256d6b81f8..4fcce6fa3641 100644
--- a/dev-lang/rust/rust-1.90.0-r1.ebuild
+++ b/dev-lang/rust/rust-1.90.0-r1.ebuild
@@ -25,7 +25,7 @@ else
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
fi
-inherit check-reqs estack edo flag-o-matic llvm-r1 multiprocessing optfeature \
+inherit check-reqs estack edo flag-o-matic llvm-r2 multiprocessing optfeature \
multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig
if [[ ${PV} = *9999* ]]; then
@@ -269,7 +269,7 @@ pkg_setup() {
fi
if use system-llvm; then
- llvm-r1_pkg_setup
+ llvm-r2_pkg_setup
local llvm_config="$(get_llvm_prefix)/bin/llvm-config"
export LLVM_LINK_SHARED=1
diff --git a/dev-lang/rust/rust-1.91.0.ebuild b/dev-lang/rust/rust-1.91.0.ebuild
index 8c98a388efaf..e700e5ffb40b 100644
--- a/dev-lang/rust/rust-1.91.0.ebuild
+++ b/dev-lang/rust/rust-1.91.0.ebuild
@@ -20,7 +20,7 @@ else
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
fi
-inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \
+inherit check-reqs estack flag-o-matic llvm-r2 multiprocessing optfeature \
multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig
if [[ ${PV} = *9999* ]]; then
@@ -248,7 +248,7 @@ pkg_setup() {
rust_pkg_setup
if use system-llvm; then
- llvm-r1_pkg_setup
+ llvm-r2_pkg_setup
local llvm_config="$(get_llvm_prefix)/bin/llvm-config"
export LLVM_LINK_SHARED=1
diff --git a/dev-lang/rust/rust-1.92.0_p1-r1.ebuild b/dev-lang/rust/rust-1.92.0_p1-r1.ebuild
index cf8f4817457c..04784b01aac8 100644
--- a/dev-lang/rust/rust-1.92.0_p1-r1.ebuild
+++ b/dev-lang/rust/rust-1.92.0_p1-r1.ebuild
@@ -32,7 +32,7 @@ else
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
fi
-inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature
+inherit check-reqs estack flag-o-matic llvm-r2 multiprocessing optfeature
inherit multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs
inherit verify-sig
@@ -272,7 +272,7 @@ pkg_setup() {
rust_pkg_setup
if use system-llvm; then
- llvm-r1_pkg_setup
+ llvm-r2_pkg_setup
local llvm_config="$(get_llvm_prefix)/bin/llvm-config"
export LLVM_LINK_SHARED=1
diff --git a/dev-lang/rust/rust-1.93.0.ebuild b/dev-lang/rust/rust-1.93.0.ebuild
index baca081ba933..229aaae7264c 100644
--- a/dev-lang/rust/rust-1.93.0.ebuild
+++ b/dev-lang/rust/rust-1.93.0.ebuild
@@ -31,7 +31,7 @@ else
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
fi
-inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature
+inherit check-reqs estack flag-o-matic llvm-r2 multiprocessing optfeature
inherit multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs
inherit verify-sig
@@ -271,7 +271,7 @@ pkg_setup() {
rust_pkg_setup
if use system-llvm; then
- llvm-r1_pkg_setup
+ llvm-r2_pkg_setup
local llvm_config="$(get_llvm_prefix)/bin/llvm-config"
export LLVM_LINK_SHARED=1
diff --git a/dev-lang/rust/rust-1.93.1.ebuild b/dev-lang/rust/rust-1.93.1.ebuild
index 9256f11c6404..5d7462fc2d4a 100644
--- a/dev-lang/rust/rust-1.93.1.ebuild
+++ b/dev-lang/rust/rust-1.93.1.ebuild
@@ -31,7 +31,7 @@ else
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
fi
-inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature
+inherit check-reqs estack flag-o-matic llvm-r2 multiprocessing optfeature
inherit multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs
inherit verify-sig
@@ -271,7 +271,7 @@ pkg_setup() {
rust_pkg_setup
if use system-llvm; then
- llvm-r1_pkg_setup
+ llvm-r2_pkg_setup
local llvm_config="$(get_llvm_prefix)/bin/llvm-config"
export LLVM_LINK_SHARED=1
diff --git a/dev-lang/rust/rust-1.94.0.ebuild b/dev-lang/rust/rust-1.94.0.ebuild
index cd126bf58995..c81ac94b5785 100644
--- a/dev-lang/rust/rust-1.94.0.ebuild
+++ b/dev-lang/rust/rust-1.94.0.ebuild
@@ -31,7 +31,7 @@ else
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
fi
-inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature
+inherit check-reqs estack flag-o-matic llvm-r2 multiprocessing optfeature
inherit multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs
inherit verify-sig
@@ -271,7 +271,7 @@ pkg_setup() {
rust_pkg_setup
if use system-llvm; then
- llvm-r1_pkg_setup
+ llvm-r2_pkg_setup
local llvm_config="$(get_llvm_prefix)/bin/llvm-config"
export LLVM_LINK_SHARED=1
diff --git a/dev-lang/rust/rust-1.94.1.ebuild b/dev-lang/rust/rust-1.94.1.ebuild
index 0ad041bfba34..240724c28c38 100644
--- a/dev-lang/rust/rust-1.94.1.ebuild
+++ b/dev-lang/rust/rust-1.94.1.ebuild
@@ -31,7 +31,7 @@ else
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
fi
-inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature
+inherit check-reqs estack flag-o-matic llvm-r2 multiprocessing optfeature
inherit multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs
inherit verify-sig
@@ -273,7 +273,7 @@ pkg_setup() {
rust_pkg_setup
if use system-llvm; then
- llvm-r1_pkg_setup
+ llvm-r2_pkg_setup
local llvm_config="$(get_llvm_prefix)/bin/llvm-config"
export LLVM_LINK_SHARED=1
diff --git a/dev-lang/rust/rust-1.95.0.ebuild b/dev-lang/rust/rust-1.95.0.ebuild
index e8c48a045cdf..6bea4ce12525 100644
--- a/dev-lang/rust/rust-1.95.0.ebuild
+++ b/dev-lang/rust/rust-1.95.0.ebuild
@@ -31,7 +31,7 @@ else
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
fi
-inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature
+inherit check-reqs estack flag-o-matic llvm-r2 multiprocessing optfeature
inherit multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs
inherit verify-sig
@@ -273,7 +273,7 @@ pkg_setup() {
rust_pkg_setup
if use system-llvm; then
- llvm-r1_pkg_setup
+ llvm-r2_pkg_setup
local llvm_config="$(get_llvm_prefix)/bin/llvm-config"
export LLVM_LINK_SHARED=1
diff --git a/dev-lang/rust/rust-1.96.1.ebuild b/dev-lang/rust/rust-1.96.1.ebuild
index 1b283ebfcf71..10d73d3d86b7 100644
--- a/dev-lang/rust/rust-1.96.1.ebuild
+++ b/dev-lang/rust/rust-1.96.1.ebuild
@@ -31,7 +31,7 @@ else
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
fi
-inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature
+inherit check-reqs estack flag-o-matic llvm-r2 multiprocessing optfeature
inherit multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs
inherit verify-sig
@@ -273,7 +273,7 @@ pkg_setup() {
rust_pkg_setup
if use system-llvm; then
- llvm-r1_pkg_setup
+ llvm-r2_pkg_setup
local llvm_config="$(get_llvm_prefix)/bin/llvm-config"
export LLVM_LINK_SHARED=1
diff --git a/dev-lang/rust/rust-1.97.1.ebuild b/dev-lang/rust/rust-1.97.1.ebuild
index 5b3eeda68df2..0b9cd7ed23f9 100644
--- a/dev-lang/rust/rust-1.97.1.ebuild
+++ b/dev-lang/rust/rust-1.97.1.ebuild
@@ -31,7 +31,7 @@ else
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
fi
-inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature
+inherit check-reqs estack flag-o-matic llvm-r2 multiprocessing optfeature
inherit multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs
inherit verify-sig
@@ -284,7 +284,7 @@ pkg_setup() {
rust_pkg_setup
if use system-llvm; then
- llvm-r1_pkg_setup
+ llvm-r2_pkg_setup
local llvm_config="$(get_llvm_prefix)/bin/llvm-config"
export LLVM_LINK_SHARED=1
diff --git a/dev-lang/rust/rust-1.98.1.ebuild b/dev-lang/rust/rust-1.98.1.ebuild
index 7a14c866f493..fa51029e3894 100644
--- a/dev-lang/rust/rust-1.98.1.ebuild
+++ b/dev-lang/rust/rust-1.98.1.ebuild
@@ -31,7 +31,7 @@ else
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
fi
-inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature
+inherit check-reqs estack flag-o-matic llvm-r2 multiprocessing optfeature
inherit multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs
inherit verify-sig
@@ -284,7 +284,7 @@ pkg_setup() {
rust_pkg_setup
if use system-llvm; then
- llvm-r1_pkg_setup
+ llvm-r2_pkg_setup
local llvm_config="$(get_llvm_prefix)/bin/llvm-config"
export LLVM_LINK_SHARED=1
diff --git a/dev-lang/rust/rust-9999.ebuild b/dev-lang/rust/rust-9999.ebuild
index 2ebfd7ba7f3f..1633552a314c 100644
--- a/dev-lang/rust/rust-9999.ebuild
+++ b/dev-lang/rust/rust-9999.ebuild
@@ -31,7 +31,7 @@ else
RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0"
fi
-inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature
+inherit check-reqs estack flag-o-matic llvm-r2 multiprocessing optfeature
inherit multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs
inherit verify-sig
@@ -284,7 +284,7 @@ pkg_setup() {
rust_pkg_setup
if use system-llvm; then
- llvm-r1_pkg_setup
+ llvm-r2_pkg_setup
local llvm_config="$(get_llvm_prefix)/bin/llvm-config"
export LLVM_LINK_SHARED=1
diff --git a/dev-libs/jansson/jansson-2.15.1.ebuild b/dev-libs/jansson/jansson-2.15.1.ebuild
index f38b65d49f8c..9a6098488204 100644
--- a/dev-libs/jansson/jansson-2.15.1.ebuild
+++ b/dev-libs/jansson/jansson-2.15.1.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/akheron/jansson/releases/download/v${PV}/${P}.tar.bz
LICENSE="MIT"
SLOT="0/4"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos"
IUSE="doc static-libs"
BDEPEND="
diff --git a/dev-libs/libxml2/Manifest b/dev-libs/libxml2/Manifest
index 38c826c83e88..557caa3b1442 100644
--- a/dev-libs/libxml2/Manifest
+++ b/dev-libs/libxml2/Manifest
@@ -4,6 +4,7 @@ DIST libxml2-2.15.0.tar.xz 2004476 BLAKE2B 07a570cd38528eb253d67f1eb88d375c5b3e3
DIST libxml2-2.15.1.tar.xz 2004588 BLAKE2B 73c4d17adacda67d71c5a120c7de2324df1db35963cadbe18166dafe122e1f10dcab9d4fed0e128c077a5ca31432bfaf72f742c42680251660d397ab8bc3538b SHA512 429c7d0dc3cbcb8de1bf6eb588fb8025fee009c9b25e87c96ecc5de57cc12b558b0ab8141f333d73ca687109335f297c9f9776abbb9da9afc9d8e79041c86b7f
DIST libxml2-2.15.2.tar.xz 3148720 BLAKE2B e8adec751b6c8c8fd8358bee0c33159813601f6306b318314ffbf85324fa3ebeee2e838608a7fe365ffe4b82c4700f328fc27ae9a75cd7ed67cf256067542c2e SHA512 35f18fee772e63e8ea6220e5f5435ef5aabb5692a4519a993ec9640576d08fa45d5097280add5c5ffb5c280359d05eeecab0df24cce0b7ec35eef102d607b0b8
DIST libxml2-2.15.3.tar.xz 3152452 BLAKE2B 2ff478b46a40957386cd1ed0627bfc0f2433f47e786f20db3942304c90289adaeb1d9c3f12665df312b86cfac42f8e4dbc18e965bf90018f93c230b9b862df66 SHA512 6f7f1aabd012454553e851bd1ee548fbd14d21c576f2b2ab9eeedab3dfba51392083f74b34f060e9b538baeea212cdb462b8669c214c711771fb9a897fdc1c60
+DIST libxml2-2.15.4.tar.xz 3177444 BLAKE2B 92a4fc5179527968b9ac7043669a77d54c85143883749aa497005797bbf8b3d08514f62191437bfd079e0bb965859e456308b90e0ff1da738cc3dbd945c0f0bf SHA512 e162ed16ad6fb6c6ef1c40c6bed66a5f76db177fc24410cc261c9ddc6b19e9b003315db67f67cbcadaf08e546f0672de87bf6f297014af50fe544a781647f584
DIST xmlts20130923.tar.gz 641522 BLAKE2B 63a47bc69278ef510cd0b3779aed729e1b309e30efa0015d28ed051cc03f9dfddb447ab57b07b3393e8f47393d15473b0e199c34cb1f5f746b15ddfaa55670be SHA512 d5c4d26b324ed21f4e0641cd7f8b76dbf9de80df8b519982e44d41c960df29fd03618e02e9693b2d11ad06d19c4a965274c95a048ec3b9653eacb919a7f8b733
DIST xsts-2002-01-16.tar.gz 6894439 BLAKE2B 1e9ec63d2c104655e64249e07440a04d862fcbcd4d4e19745d81b34994319b510a531c9d6df1491fae1e90b5d0764f0f1a827251ca8df5d613178b0eab01ef25 SHA512 43300af6d39c1e2221b0ed7318fe14c7464eeb6eb030ed1e22eb29b4ab17f014e2a4c8887c3a46ae5d243e3072da27f00f4e285498ae6f1288177d38d1108288
DIST xsts-2004-01-14.tar.gz 2761085 BLAKE2B 41545995fb3a65d053257c376c07d45ffd1041a433bfbdb46d4dd87a5afb60c18c8629a3d988323f9e7a1d709775b5a7e5930276a7121c0725a22705c0976e36 SHA512 32854388d7e720ad67156baf50bf2bae7bd878ca3e35fd7e44e57cad3f434f69d56bbbedd61509f8a1faf01c9eae74a078df8fe130780b182c05c05cb1c39ebe
diff --git a/dev-libs/libxml2/libxml2-2.15.4.ebuild b/dev-libs/libxml2/libxml2-2.15.4.ebuild
new file mode 100644
index 000000000000..9d1ab3cfa67c
--- /dev/null
+++ b/dev-libs/libxml2/libxml2-2.15.4.ebuild
@@ -0,0 +1,165 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Note: Please bump in sync with dev-libs/libxslt
+
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="xml(+)"
+inherit python-r1 meson-multilib
+
+DESCRIPTION="XML C parser and toolkit"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home"
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxml2"
+ inherit git-r3
+else
+ inherit gnome.org
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+fi
+
+S="${WORKDIR}/${PN}-${PV%_rc*}"
+
+LICENSE="MIT"
+# see so_version = v_maj + v_min_compat for subslot
+SLOT="2/16"
+IUSE="doc icu python readline static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ virtual/libiconv
+ >=virtual/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]
+ icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] )
+ python? ( ${PYTHON_DEPS} )
+ readline? ( sys-libs/readline:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? (
+ app-text/docbook-xsl-stylesheets
+ app-text/doxygen
+ dev-libs/libxslt
+ )
+ python? ( app-text/doxygen )
+"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/xml2-config
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.14.2-no-git.patch
+)
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+ else
+ default
+ fi
+
+ cd "${S}" || die
+}
+
+src_prepare() {
+ default
+
+ sed -e "/^dir_doc/ s/meson.project_name()$/\'${PF}\'/" -i meson.build || die
+}
+
+python_configure() {
+ local emesonargs=(
+ $(meson_feature icu)
+ $(meson_native_use_feature readline)
+ $(meson_native_use_feature readline history)
+ -Ddocs=disabled
+ -Dpython=enabled
+ -Dschematron=enabled
+ )
+ mkdir "${BUILD_DIR}" || die
+ pushd "${BUILD_DIR}" >/dev/null || die
+ meson_src_configure
+ popd >/dev/null || die
+}
+
+multilib_src_configure() {
+ local emesonargs=(
+ -Ddefault_library=$(multilib_native_usex static-libs both shared)
+ $(meson_feature icu)
+ $(meson_native_use_feature doc docs)
+ $(meson_native_use_feature readline)
+ $(meson_native_use_feature readline history)
+ -Dpython=disabled
+ -Dschematron=enabled
+
+ # There has been a clean break with a soname bump.
+ # It's time to deal with the breakage.
+ # bug #935452
+ -Dlegacy=disabled
+ )
+ meson_src_configure
+
+ if multilib_is_native_abi && use python ; then
+ python_foreach_impl python_configure
+ fi
+}
+
+python_compile() {
+ pushd "${BUILD_DIR}" >/dev/null || die
+ meson_src_compile
+ popd >/dev/null || die
+}
+
+multilib_src_compile() {
+ meson_src_compile
+
+ if multilib_is_native_abi && use python ; then
+ python_foreach_impl python_compile
+ fi
+}
+
+multilib_src_test() {
+ meson_src_test
+
+ if multilib_is_native_abi && use python ; then
+ python_foreach_impl meson_src_test
+ fi
+}
+
+python_install() {
+ pushd "${BUILD_DIR}" >/dev/null || die
+ meson_src_install
+ python_optimize
+ popd >/dev/null || die
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi && use python ; then
+ python_foreach_impl python_install
+ fi
+
+ meson_src_install
+}
+
+pkg_postinst() {
+ # We don't want to do the xmlcatalog during stage1, as xmlcatalog will not
+ # be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887.
+ if [[ -n "${ROOT}" ]]; then
+ elog "Skipping XML catalog creation for stage building (bug #208887)."
+ else
+ # Need an XML catalog, so no-one writes to a non-existent one
+ CATALOG="${EROOT}/etc/xml/catalog"
+
+ # We don't want to clobber an existing catalog though,
+ # only ensure that one is there
+ # <obz@gentoo.org>
+ if [[ ! -e "${CATALOG}" ]]; then
+ [[ -d "${EROOT}/etc/xml" ]] || mkdir -p "${EROOT}/etc/xml"
+ "${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}"
+ einfo "Created XML catalog in ${CATALOG}"
+ fi
+ fi
+}
diff --git a/dev-python/alembic/Manifest b/dev-python/alembic/Manifest
index 1cc1e9bd6079..37b611eeadb1 100644
--- a/dev-python/alembic/Manifest
+++ b/dev-python/alembic/Manifest
@@ -1,3 +1,4 @@
DIST alembic-1.18.5.tar.gz 2060480 BLAKE2B cc85b5ebd73920c8f0afe2b9884aab1f30718b94a7ccb4b117186a9088b4141dce27dd505ce5c3015f3b93cabc837ad33e0905117ceee34fde77782b45875a6b SHA512 41d9675e2c99d339e2aa92e670acc0d562ab6a23d2006f2180478fa912ede643be959ca89713678adffe37deb20118a0d67ea7c023b2dea15d3acb5be18721fc
DIST alembic-1.19.0.tar.gz 2069906 BLAKE2B b7f08fbc1023101ca709ee5f6bb82514621a46b18d9c22ad26d9d00c0231cb51186a25c1db0b37943bdb55ea6b2d3c25637ab92667193cd0e85b8f574144dbfc SHA512 7674acbd3bccef780a0b987fdecf7cb3439dc65f58dfeb1d4773c04f81625cbca80152a7a802e54a8cb57b58554f908671feae9680e1fa3567a9f53617c94eef
DIST alembic-1.19.1.tar.gz 2070816 BLAKE2B b6e2a7189ae5ca980a9f398464bac175501d51932d952b456d6c0ee67d9917a16ced95b669ddb480c24c7bee531b4c1528839894b38e05497b834c48f5dc3252 SHA512 d394e3626c02f06903fe45f4d60c89dfecc68cc45f539e9fca06015726a39cdcd03fbb4a57cf7cc19d0853f6a687b9d2afa1b15e5b54a552b113ad6b7535de6a
+DIST alembic-1.19.2.tar.gz 2082643 BLAKE2B 649f08694658c0974c59a04ac059fee1520e58975bc264c7f2c2834934be855c5b22eab636d23845baebacf929a46fb67a99ac5c3a1660205f83df93e61c93b1 SHA512 c6ae515303f5106bf357c92ff979c9960a682b086c91423d467565613e8011be17db90b13c298f237e37d5a598b32fa9aa0251e5499e4aaf6626b66ea4e41bc8
diff --git a/dev-python/alembic/alembic-1.19.2.ebuild b/dev-python/alembic/alembic-1.19.2.ebuild
new file mode 100644
index 000000000000..891ac6691bb2
--- /dev/null
+++ b/dev-python/alembic/alembic-1.19.2.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Database migrations tool, written by the author of SQLAlchemy"
+HOMEPAGE="
+ https://github.com/sqlalchemy/alembic/
+ https://pypi.org/project/alembic/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+IUSE="doc"
+
+RDEPEND="
+ >=dev-python/sqlalchemy-1.4.23[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.12[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ sys-libs/timezone-data
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=()
+
+ if ! has_version "dev-python/black[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/test_post_write.py::RunHookTest::test_module
+ tests/test_post_write.py::RunHookTest::test_module_black_with_cwd
+ tests/test_post_write.py::RunHookTest::test_module_filename_interpolation
+ tests/test_post_write.py::RunHookTest::test_module_path_in_config
+ )
+ fi
+
+ # setup.cfg contains -p no:warnings in addopts which triggers
+ # datetime.utcfromtimestamp() deprecation warning as an error in py3.12
+ epytest -o addopts=
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index b01887e7d931..b7d1a4078906 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -8,12 +8,5 @@ DIST boto3-1.43.62.gh.tar.gz 1197144 BLAKE2B 574fe26ea4042f0a7bb0d1c408f7de26a3f
DIST boto3-1.43.67.gh.tar.gz 1203616 BLAKE2B cd97365972909b29f61a3b37fd3c8e945cca04f2bdc06598af6bff5360cc4bfdecc71a6bb818541cecdf0ec3594893604c447c99387079e56c64d7c8c974baf3 SHA512 d027d200a77751a953401ddec5aa6cf1df169179c1e9f3205a407397b79356f5c6ba2cfb49976a5ec0fff3c3674e87acde01b4f69f58e0eafa812a813dda64ca
DIST boto3-1.43.72.gh.tar.gz 1208773 BLAKE2B 1250a1fffa6b31c2e3c5ab40221db938a56605c09b19b1d07db8eafe5acd68d06e3d6b75fc206fad1cd4c8b2ae9c663a69fdeb9c8b32246dad3134c1f4154275 SHA512 b357a17de48ff1ab460ba71315249f294e979311b7787aa2bfc7f82e2b54717039a04420d63d63ebbb51685b526eec863e0278ba58d2b68e7dfa60bdd4017f41
DIST boto3-1.43.78.gh.tar.gz 1213393 BLAKE2B b3e4188ba53609873bf6613d5667792d24634d728dfe0e0588917ade93c4d6c9a5a28d2e46bd5ca314723604a9cab9a4fae7ca1e6f9e496cc29671bc68849d7e SHA512 c98ede06cf4934089ba4a62c4fb03da692a5f9e2a415728e9f51979e33942229d8f4cd6fa02ac229b360b63a930fd91890f2ed645d17011d4a42e236943fd780
-DIST boto3-1.43.79.gh.tar.gz 1214654 BLAKE2B 2361bdd4d92b4e1998def4d46472068b175df1173e244fda46d9df0a540ba83f24458f0a1ca98fec2ce96df3c06048531ec1716c6ea4c5a35a8abbac428928c7 SHA512 6567b0c2ef88ab4aca9d8e1efe802f2f386b43c9f22eaada2f8f414a8f263c2be0ccfb8e34b5a6d03a6f9c509d9e3b0db1ddbb184c46cf7d5bf5a176d5471268
-DIST boto3-1.43.80.gh.tar.gz 1215739 BLAKE2B 11ec7e0b915c4f9abe18425d5ffa539ee6bdcba162c823461c41ea659eb83837c979e76392a64a859d718f6667d04bc9fd001d0f09ef1c6b4d8ab126b4247779 SHA512 86b942509488f655fd0681b35d8c19c258a267280af84156c787656472346ec23a6b8828e3c3681418a2874f1547e29c60b9708bcf656712a8d3c4e1d583c04f
-DIST boto3-1.43.81.gh.tar.gz 1216141 BLAKE2B d9a59d8ea543bc52a4258ef9ac24c76d943a2a4e00ec4e67dafdeafb776f5f6bfca1f803a6eda6f59df411479de27c952510b88a15c7fc56aff05e05c6ae7b3e SHA512 2fd7d0e7cacd25a5bd6a34aa29533a0ca537e91478b5ec2e59e565b74d44c193e5028aa91c9cd4945f2253ac72011ca7e24d87caf9e218693c5b936c4c7bfd9d
-DIST boto3-1.43.82.gh.tar.gz 1217312 BLAKE2B 0db0ca79b4107a3e2c31b9d93bb0e6c7b7638fde96d91eeca4aea93b5a44abef4dc8945580e645012878075a76facb79fec0af7f0cd6146599ff7ea823f4b957 SHA512 69faa2bb7044833adc64b7249ee48bd531c97f91a3ae034cdecd9cd847e6a65da9a29cdb8f71823f3478302a397e9189f7cad924c91ac384846b87abd767a232
DIST boto3-1.43.83.gh.tar.gz 1218064 BLAKE2B 0758e28dd9b086615b045e107aece2ef46bee541110e51fdcd231c60cac0452f4cdfec58ea4041757835c195cd2b8becb3c4e9fd24ad7bc306d90b16af082f63 SHA512 ed110edd551138c5d63ab7ead46a4c9ddb410dea1b5e642045102936af22c4208f357f79fc994434fc6a7df7c16aba99052508103bad7599f8cc558ae1c5f842
-DIST boto3-1.43.85.gh.tar.gz 1219943 BLAKE2B 4fe0a155efcdd5dcc17c91047fab4c59edb71ac6574fc1e6472db83d9b5effb66d69d346767a159f6708d7e2f61f2f59f6bf84557df98eb6fab83b4438f7540e SHA512 3f8ca9eb5857d3376dbc204b4c3755704e6039ddc3363665e7c3a3d764808815b43c3ce0181e19113a51b5e3c8965d3030c875435cf9b872df6e02bb6136e09f
-DIST boto3-1.43.86.gh.tar.gz 1222155 BLAKE2B 9d7b9fcc7a0b016779a75fba6bbefc9e8482a4f0d323be4f70df93501384a089eb9958e70d54f8ae7034d20783f123124eed5e3bef80d432b2d73cfc1994ba4d SHA512 928731d0772f743654316b3280821450979dd219457370bbbbf2cd4670a1f0c414c022c042b35a950b6c1fdc7de2c7865f4ada12c3f43851a7279d056073964a
-DIST boto3-1.43.87.gh.tar.gz 1223277 BLAKE2B 382ae63edc6c2578875d90f94132ac3d78d638121ba661f5ea38b9baba02a247e427d3a84ab1b9fac989ee6dfc9a125c7388e816951507346c59a657d5cf451a SHA512 2962861366281d0bb3c29554d90110dc4b86ae7e0c62aef9ed211443350329701d722d1b17a55706f9aa8ed96a2c7e9364f21f1eac8609786219fc8e3d4b386e
-DIST boto3-1.43.88.gh.tar.gz 1224962 BLAKE2B 653cabca3187a1b1bad1e8d7163b889599393c0f82e59aa920081eaa284b6fbc9b4fc4b1e43e9bfb4639ddd7e8b6f0083e67b64df5115645d0686b0d884c6ff8 SHA512 2f8a49a4a587b86964faaa995a8b1a3e4b8867e65c6854d68b9129fc9db90e357c1548f044f51931a9157405bc71fd70784444b7e7cc88fe4bde1a16d4c34efe
+DIST boto3-1.43.89.gh.tar.gz 1225424 BLAKE2B 625bb37a542644c8fe37aab42a115bf8be2e36373d7f6149dcc7e150e327c75b334ef480897be1d4954809b233a47e02854d7b28b4a3904f0e5cdcea3f0440d7 SHA512 1c04fd6df819abbe60d551c6d706f7254fe6d6758e95fd53ec70d4dd892b6f7bf69981cb001fc6ca5bc5885f083718b80a4fd045b146e7f4add16a50ac3a9d38
diff --git a/dev-python/boto3/boto3-1.43.80.ebuild b/dev-python/boto3/boto3-1.43.80.ebuild
deleted file mode 100644
index 93fbbe6dd59b..000000000000
--- a/dev-python/boto3/boto3-1.43.80.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="The AWS SDK for Python"
-HOMEPAGE="
- https://github.com/boto/boto3/
- https://pypi.org/project/boto3/
-"
-SRC_URI="
- https://github.com/boto/boto3/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
- >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
- >=dev-python/s3transfer-0.19.0[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # don't lock versions to narrow ranges
- sed -e '/botocore/ d' \
- -e '/jmespath/ d' \
- -e '/s3transfer/ d' \
- -i setup.py || die
-
- # do not rely on bundled deps in botocore (sic!)
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/boto3/boto3-1.43.81.ebuild b/dev-python/boto3/boto3-1.43.81.ebuild
deleted file mode 100644
index 93fbbe6dd59b..000000000000
--- a/dev-python/boto3/boto3-1.43.81.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="The AWS SDK for Python"
-HOMEPAGE="
- https://github.com/boto/boto3/
- https://pypi.org/project/boto3/
-"
-SRC_URI="
- https://github.com/boto/boto3/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
- >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
- >=dev-python/s3transfer-0.19.0[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # don't lock versions to narrow ranges
- sed -e '/botocore/ d' \
- -e '/jmespath/ d' \
- -e '/s3transfer/ d' \
- -i setup.py || die
-
- # do not rely on bundled deps in botocore (sic!)
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/boto3/boto3-1.43.82.ebuild b/dev-python/boto3/boto3-1.43.82.ebuild
deleted file mode 100644
index 93fbbe6dd59b..000000000000
--- a/dev-python/boto3/boto3-1.43.82.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="The AWS SDK for Python"
-HOMEPAGE="
- https://github.com/boto/boto3/
- https://pypi.org/project/boto3/
-"
-SRC_URI="
- https://github.com/boto/boto3/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
- >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
- >=dev-python/s3transfer-0.19.0[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # don't lock versions to narrow ranges
- sed -e '/botocore/ d' \
- -e '/jmespath/ d' \
- -e '/s3transfer/ d' \
- -i setup.py || die
-
- # do not rely on bundled deps in botocore (sic!)
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/boto3/boto3-1.43.85.ebuild b/dev-python/boto3/boto3-1.43.85.ebuild
deleted file mode 100644
index 93fbbe6dd59b..000000000000
--- a/dev-python/boto3/boto3-1.43.85.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="The AWS SDK for Python"
-HOMEPAGE="
- https://github.com/boto/boto3/
- https://pypi.org/project/boto3/
-"
-SRC_URI="
- https://github.com/boto/boto3/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
- >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
- >=dev-python/s3transfer-0.19.0[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # don't lock versions to narrow ranges
- sed -e '/botocore/ d' \
- -e '/jmespath/ d' \
- -e '/s3transfer/ d' \
- -i setup.py || die
-
- # do not rely on bundled deps in botocore (sic!)
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/boto3/boto3-1.43.86.ebuild b/dev-python/boto3/boto3-1.43.86.ebuild
deleted file mode 100644
index 93fbbe6dd59b..000000000000
--- a/dev-python/boto3/boto3-1.43.86.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="The AWS SDK for Python"
-HOMEPAGE="
- https://github.com/boto/boto3/
- https://pypi.org/project/boto3/
-"
-SRC_URI="
- https://github.com/boto/boto3/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
- >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
- >=dev-python/s3transfer-0.19.0[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # don't lock versions to narrow ranges
- sed -e '/botocore/ d' \
- -e '/jmespath/ d' \
- -e '/s3transfer/ d' \
- -i setup.py || die
-
- # do not rely on bundled deps in botocore (sic!)
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/boto3/boto3-1.43.87.ebuild b/dev-python/boto3/boto3-1.43.87.ebuild
deleted file mode 100644
index 93fbbe6dd59b..000000000000
--- a/dev-python/boto3/boto3-1.43.87.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="The AWS SDK for Python"
-HOMEPAGE="
- https://github.com/boto/boto3/
- https://pypi.org/project/boto3/
-"
-SRC_URI="
- https://github.com/boto/boto3/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
- >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
- >=dev-python/s3transfer-0.19.0[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # don't lock versions to narrow ranges
- sed -e '/botocore/ d' \
- -e '/jmespath/ d' \
- -e '/s3transfer/ d' \
- -i setup.py || die
-
- # do not rely on bundled deps in botocore (sic!)
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/boto3/boto3-1.43.88.ebuild b/dev-python/boto3/boto3-1.43.88.ebuild
deleted file mode 100644
index 93fbbe6dd59b..000000000000
--- a/dev-python/boto3/boto3-1.43.88.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="The AWS SDK for Python"
-HOMEPAGE="
- https://github.com/boto/boto3/
- https://pypi.org/project/boto3/
-"
-SRC_URI="
- https://github.com/boto/boto3/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
- >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
- >=dev-python/s3transfer-0.19.0[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # don't lock versions to narrow ranges
- sed -e '/botocore/ d' \
- -e '/jmespath/ d' \
- -e '/s3transfer/ d' \
- -i setup.py || die
-
- # do not rely on bundled deps in botocore (sic!)
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/boto3/boto3-1.43.79.ebuild b/dev-python/boto3/boto3-1.43.89.ebuild
index 93fbbe6dd59b..93fbbe6dd59b 100644
--- a/dev-python/boto3/boto3-1.43.79.ebuild
+++ b/dev-python/boto3/boto3-1.43.89.ebuild
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index e615538f788b..6ba85138cd83 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -8,12 +8,5 @@ DIST botocore-1.43.62.gh.tar.gz 16820420 BLAKE2B f25361a48491104b819ab09b799e7e1
DIST botocore-1.43.67.gh.tar.gz 16899850 BLAKE2B 43e61cd178f6bb6d3d8337b1220a13e529c23625d20afb14746b7e4594081dfc756b7eb0b9a01c051d29eda33ab260efe4eab92d71a9fe520453bd9f3184ff30 SHA512 ae3568397cb9845a9002dfe40dd6d9b205f2a204edabdb78814b77aed2c7b79758009745ae181b0b3982e90ee3ad329fa85f32438ead4ea6936aa6c9082b5e49
DIST botocore-1.43.72.gh.tar.gz 16966215 BLAKE2B ccb01e2001fd1584bc635a19daf241371bf9e00b97f5d1adf07f4dbff0a5f8ac75ab93f66b8e05976a1fda1c111c6148ade5bdfa585ccdad4376a7651cf088e2 SHA512 0ee8aa2a82c6db2d1094679612146b9be98eff499880a33721cbc324b631ba6e268031e4ec0c1f8025da5dd187e7f211ef6da6c97ab13c5a3b9d9d93f4a80248
DIST botocore-1.43.78.gh.tar.gz 17008224 BLAKE2B 137656d64f62025ca47f03c48ba84aa7eccae9dbc752c81f909c3c3f12dd843bb40173075fc7e255492385d8ea8824da08e5d3155bb5ff1dbfd62c858c0a057f SHA512 bd65c7fe451ef0b3bef21e25e557aa37748ca01f71e567b31b852ac356d323f1cfa6dd0e920eff7c52e0db879a34cf99eed6c1b841dfa6065e139362702f9d13
-DIST botocore-1.43.79.gh.tar.gz 17011238 BLAKE2B 989188caae9f23e17e8bb2715338d4ce3e1d9065e2e50b0a9906e7bd006aefe235bcaab041219251b02c6a446ad52a9be3e1a3cb79fbb9bc8dd5a4f94ea369f5 SHA512 c7345748aad9df0d8344b606eb7b2fe384809762fbfc3dba89af46f86a8f5f12ce092464bf3b91d338e4f4c5afedd26587efe8c628dc10ed9c9367fc8469544b
-DIST botocore-1.43.80.gh.tar.gz 17027389 BLAKE2B 09089ab7e86f369d9160173188edbb22c82b03bfd8ee18241d7023385b8673932ed5fc9653a37bdf6969829f2246db38b26b865a1de10be228c6e2b7757f13b0 SHA512 15e09c03cedfcaae7cc5d593c32abe17bbf0aa9235c92184a1f85571c865bf9dc21c2e2e7e303827ac8db24b896e053985cc959b2308bbacc5680dad4da6ca46
-DIST botocore-1.43.81.gh.tar.gz 17028673 BLAKE2B d2aa2b4106f30ded0a4abf2e703bcfd5e6ec8efa611e7135c36c8fd1dd1ef2605ad1981dc6c0dfd19899b9db14959278157d56493a70b8209ff3c378d6a3c8cc SHA512 11d9e5a86140a8db3020c205f4d6f3159f8b77dcbe162366e2925a7cfde92b25e8e75f12a13566810c15dd321fbe0d86bb260645503bf6b984cffd853174d2d4
-DIST botocore-1.43.82.gh.tar.gz 17033461 BLAKE2B fded5d528a205512c30a447c110550d37bcd6da33b3923497c3a07d4959a89b2801bb1de483206771e6787c8b5fa7b4bc93fa7760cb39c959e76183164452def SHA512 041996da7c7d0d7108bd651668b1cbb3a92b78f3e9f00923055583222c122d987dbddb13795b0db053fc4b4eb1d81fada9b2ec8e36445027b7b2dd5476063623
DIST botocore-1.43.83.gh.tar.gz 17038145 BLAKE2B f74b399b04f9b259e1a2f424719c4b80cc279627174ac96f9b79d85418ecc0442fbd27d7e79ccdf12526ac02489fde4254e360f216103f3cd5ff050b3cf1a838 SHA512 618c0ef0fc89879ee6900606e3378b2876901c4a63ede52529de12898a65e34fc41a8f0ad8ab682b7788626176f9b86904e257b63d88be9d58c53116918b1d12
-DIST botocore-1.43.85.gh.tar.gz 17071353 BLAKE2B 84edcc7b58925e2674af6610760d683e74351dbf53c86d8fb5412739b4705677b2bd66a7f9b904ef917894cf0f1d818821fd3a61730c544d25f13e6ab54a3e1f SHA512 425d67488cfe19cd306792ab3a72e0afff0c269abb46fb26121c302f41bf683f905f480729b21929718e86ac74e390a70c07f52d0fabdc7961e063cfc87f49df
-DIST botocore-1.43.86.gh.tar.gz 17090953 BLAKE2B 678080faeba0124717742214de0d2aeff669d12c315dda79df1213d897435fba91ceee6f999ae57e5f98784bdce771cbc4da735b1228c5ce945a08cd8e086173 SHA512 107571fc5da8d1ca180b64001f866e03099bec06d37129de9874ac2f28512dc0ff3915334b7681f151c4c6e4d50d58b1417552d0379afcb67c4743a0575acf99
-DIST botocore-1.43.87.gh.tar.gz 17095695 BLAKE2B 9b964d12a54442537fab058a04da654314b17f075aa03d3a4f38f73f4d1a7893d9d5f7e5b9a34387e1a865f520cb50e0a8e919733a1060a5d58afbf700981903 SHA512 4cc96344bcad8ce8e0d72b998a7448cf6f6caa8520f0cef4bcdca0933ba897188ce9a70d164a867c8a19c0efb5a3aa0ebd88393ac1a7effb8f5677784bced3c8
-DIST botocore-1.43.88.gh.tar.gz 17108559 BLAKE2B 1e73e271b312208c14dd217d87046a973ddf2ee8e6f7fcd41bc03809dd86e0b890541fa43c9a6bb1c5d25b771fc7146df507b159e0a95081de27734d5db527e9 SHA512 76561aac063440763130062e5e5293198b18064c425b2cda695400c52644840f8d9c8135470952483204ac37fa11649e064f19ecb95d2ac2ec79e929fe921df1
+DIST botocore-1.43.89.gh.tar.gz 17111395 BLAKE2B 25837125b5d9477b011c065594ffa1b49a2f5d0cf76e1c664aa5401d50dfe8dd9573d0ab3a60f739c796c32965a7dd7608e302a284bfcc97d9f7f4a8a2b698e3 SHA512 c9c0b7636fb7595d4ff3ee2ec7e1ef8ad3000e9e453ce6edb827a1152109fc2fb6b226bd08f27653fc1436444c39be6f160fa4f7c34eb50a7384988686933590
diff --git a/dev-python/botocore/botocore-1.43.80.ebuild b/dev-python/botocore/botocore-1.43.80.ebuild
deleted file mode 100644
index a3a161f78545..000000000000
--- a/dev-python/botocore/botocore-1.43.80.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Low-level, data-driven core of boto 3"
-HOMEPAGE="
- https://github.com/boto/botocore/
- https://pypi.org/project/botocore/
-"
-SRC_URI="
- https://github.com/boto/botocore/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- <dev-python/jmespath-2[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
-"
-# unbundled packages
-RDEPEND+="
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/jsonschema[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin deps
- sed -i -e "s:>=.*':':" setup.py || die
-
- # unbundle deps
- rm -r botocore/vendored || die
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # rely on bundled six
- tests/functional/test_six_imports.py::test_no_bare_six_imports
- tests/functional/test_six_threading.py::test_six_thread_safety
- )
-
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/botocore/botocore-1.43.81.ebuild b/dev-python/botocore/botocore-1.43.81.ebuild
deleted file mode 100644
index a3a161f78545..000000000000
--- a/dev-python/botocore/botocore-1.43.81.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Low-level, data-driven core of boto 3"
-HOMEPAGE="
- https://github.com/boto/botocore/
- https://pypi.org/project/botocore/
-"
-SRC_URI="
- https://github.com/boto/botocore/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- <dev-python/jmespath-2[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
-"
-# unbundled packages
-RDEPEND+="
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/jsonschema[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin deps
- sed -i -e "s:>=.*':':" setup.py || die
-
- # unbundle deps
- rm -r botocore/vendored || die
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # rely on bundled six
- tests/functional/test_six_imports.py::test_no_bare_six_imports
- tests/functional/test_six_threading.py::test_six_thread_safety
- )
-
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/botocore/botocore-1.43.82.ebuild b/dev-python/botocore/botocore-1.43.82.ebuild
deleted file mode 100644
index a3a161f78545..000000000000
--- a/dev-python/botocore/botocore-1.43.82.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Low-level, data-driven core of boto 3"
-HOMEPAGE="
- https://github.com/boto/botocore/
- https://pypi.org/project/botocore/
-"
-SRC_URI="
- https://github.com/boto/botocore/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- <dev-python/jmespath-2[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
-"
-# unbundled packages
-RDEPEND+="
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/jsonschema[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin deps
- sed -i -e "s:>=.*':':" setup.py || die
-
- # unbundle deps
- rm -r botocore/vendored || die
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # rely on bundled six
- tests/functional/test_six_imports.py::test_no_bare_six_imports
- tests/functional/test_six_threading.py::test_six_thread_safety
- )
-
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/botocore/botocore-1.43.85.ebuild b/dev-python/botocore/botocore-1.43.85.ebuild
deleted file mode 100644
index a3a161f78545..000000000000
--- a/dev-python/botocore/botocore-1.43.85.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Low-level, data-driven core of boto 3"
-HOMEPAGE="
- https://github.com/boto/botocore/
- https://pypi.org/project/botocore/
-"
-SRC_URI="
- https://github.com/boto/botocore/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- <dev-python/jmespath-2[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
-"
-# unbundled packages
-RDEPEND+="
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/jsonschema[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin deps
- sed -i -e "s:>=.*':':" setup.py || die
-
- # unbundle deps
- rm -r botocore/vendored || die
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # rely on bundled six
- tests/functional/test_six_imports.py::test_no_bare_six_imports
- tests/functional/test_six_threading.py::test_six_thread_safety
- )
-
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/botocore/botocore-1.43.86.ebuild b/dev-python/botocore/botocore-1.43.86.ebuild
deleted file mode 100644
index a3a161f78545..000000000000
--- a/dev-python/botocore/botocore-1.43.86.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Low-level, data-driven core of boto 3"
-HOMEPAGE="
- https://github.com/boto/botocore/
- https://pypi.org/project/botocore/
-"
-SRC_URI="
- https://github.com/boto/botocore/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- <dev-python/jmespath-2[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
-"
-# unbundled packages
-RDEPEND+="
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/jsonschema[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin deps
- sed -i -e "s:>=.*':':" setup.py || die
-
- # unbundle deps
- rm -r botocore/vendored || die
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # rely on bundled six
- tests/functional/test_six_imports.py::test_no_bare_six_imports
- tests/functional/test_six_threading.py::test_six_thread_safety
- )
-
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/botocore/botocore-1.43.87.ebuild b/dev-python/botocore/botocore-1.43.87.ebuild
deleted file mode 100644
index a3a161f78545..000000000000
--- a/dev-python/botocore/botocore-1.43.87.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Low-level, data-driven core of boto 3"
-HOMEPAGE="
- https://github.com/boto/botocore/
- https://pypi.org/project/botocore/
-"
-SRC_URI="
- https://github.com/boto/botocore/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- <dev-python/jmespath-2[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
-"
-# unbundled packages
-RDEPEND+="
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/jsonschema[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin deps
- sed -i -e "s:>=.*':':" setup.py || die
-
- # unbundle deps
- rm -r botocore/vendored || die
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # rely on bundled six
- tests/functional/test_six_imports.py::test_no_bare_six_imports
- tests/functional/test_six_threading.py::test_six_thread_safety
- )
-
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/botocore/botocore-1.43.88.ebuild b/dev-python/botocore/botocore-1.43.88.ebuild
deleted file mode 100644
index a3a161f78545..000000000000
--- a/dev-python/botocore/botocore-1.43.88.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Low-level, data-driven core of boto 3"
-HOMEPAGE="
- https://github.com/boto/botocore/
- https://pypi.org/project/botocore/
-"
-SRC_URI="
- https://github.com/boto/botocore/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- <dev-python/jmespath-2[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
-"
-# unbundled packages
-RDEPEND+="
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/jsonschema[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin deps
- sed -i -e "s:>=.*':':" setup.py || die
-
- # unbundle deps
- rm -r botocore/vendored || die
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # rely on bundled six
- tests/functional/test_six_imports.py::test_no_bare_six_imports
- tests/functional/test_six_threading.py::test_six_thread_safety
- )
-
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/botocore/botocore-1.43.79.ebuild b/dev-python/botocore/botocore-1.43.89.ebuild
index a3a161f78545..a3a161f78545 100644
--- a/dev-python/botocore/botocore-1.43.79.ebuild
+++ b/dev-python/botocore/botocore-1.43.89.ebuild
diff --git a/dev-python/cachebox/Manifest b/dev-python/cachebox/Manifest
index 8bde4427dbc5..c554661616b8 100644
--- a/dev-python/cachebox/Manifest
+++ b/dev-python/cachebox/Manifest
@@ -3,23 +3,18 @@ DIST android_system_properties-0.1.6.crate 5625 BLAKE2B f8bf9632b2f730ae40d1f60b
DIST autocfg-1.5.1.crate 18911 BLAKE2B 0547eaf76e14418f5cc105f1127ea6de3182e8960e808008aa536f5f85849dbfaec334fb8ace1ddfa95521ee289c494576eac7d57729f06385f911d16419872e SHA512 4d7c168dd8e98d74b09a2762dd95c9912b903e9785ecded165098fc58e20ff35c80facd7fe5a6a5523250fc34c1e5fc509ab93c7c68bc3b2334ec0dac3bcb840
DIST bitflags-2.13.1.crate 51395 BLAKE2B fdc2047bd877bbff24d9cb98c4fcc96b256f6161f7a2c10e437ea3c05485a1950ff8f1d9bb16a28e92b1755b37244bc3cbf3544688e6b7de147981d641c04319 SHA512 f1f2ac77fe2dcd6bb489a254d0f2e757b188829a7efaeb032acf7bf98a77521cc01f582961c79587ce7e72de706767785eda9bb191bc8b6bfdf294953ab819a8
DIST bumpalo-3.20.3.crate 98671 BLAKE2B 0b658a45105ef71b599d028f8ae735bb10e843c534eebfa35d156dcc0099d137bf24179ecb5cd7d334d60f1a735897e746041975c22a6877ce88831fba050e86 SHA512 c0e8ebd1c9eaf0a093370251a8a4993f73ed925a95ec852173649e6716741e38fbe1b1bbe15dd7704722fa67e3113f82a76b3e9edb5691f3b5c68a3a55b0c039
-DIST cachebox-6.2.5.tar.gz 210398 BLAKE2B 680437291b4ad637d14d9f5dc9de6c613ac9799ea358a1abaf9e7a369fc97267bd8a3ac5e42a504360a1b4bd85d4c77c77807faad514cd2a3623ec98017118ba SHA512 98fc9e1226db419c66fdbb766d76d41375ba8ce10c8da2ddf7bfe936c9a4b13fa77e2f8ab7669ffa8919bed79d0828ed3de0143f21f93ba5e2656646c5c7ef84
-DIST cachebox-6.2.5.tar.gz.provenance 9431 BLAKE2B ecfca5d14e01f80e5e5fa48560cf45ed836de726b4acff2ee734966e84f327c1830ea5827c8708e0d52f030ab6e16178cc37034cfddad4d277a78cd3e7bc54ab SHA512 078b461b63cefe8c002b336c01d8f3804d502849ee3a366d2362d3df89ead94b5b918a0c98daf61bc0ec8af1a3fa670778351af5662cb320048026769122e596
DIST cachebox-6.2.6.tar.gz 219081 BLAKE2B a67064e692323d55d8583f632679b2a9b012ee24552eadd71e544bbe01dae09c8071562ce117f0f40b02b6684819ce23d1a1242dc8681ce6cc58ee9b69e0b1c4 SHA512 221a143916bdb57a77bc84e9a8c6f6c67130966b1041c2d3544fc48cc96a2bcbf7bcc9c8643e1e51cf55e7e20c4c58f00a6f1455d80b955e6f86ae14b4905c02
DIST cachebox-6.2.6.tar.gz.provenance 9621 BLAKE2B aed44dddd494d9f550a6efaf7c29f5c7b8d490c7c8457fc0de1fcb5b0440783fc2f2d7631a5eb655e828c09f59993de184e6bb590ce288354ff0023a0cc86fc2 SHA512 c502d745b9b423da3032be2c40a231c6360e712f44e9f237c5fb8d4ec0d2a63289c5e93a719885e56760499bdef4750b6cdccbdf2ed528378090672c1e6ab6c6
-DIST cc-1.4.2.crate 98392 BLAKE2B eb96c1d72955a5a8f33535f54253dfa42937c30513929679dc570a7a33325c23c990c7add2c85e9f64d263d906278c9f4835e3ea18b236b62e3ae2f66367b552 SHA512 228e6b5c5356c981cb85213d2e1a5e4cd438d8659fc188c9fbf4eb00a5dde1e04978687ed2370031081374efea6070c4781f13ff09e1da779bbf87ec7ad6f1cc
+DIST cachebox-6.2.7.tar.gz 219701 BLAKE2B eaa30bd0fbec076bbccb2ba1f23079f438f19ee5dcb31c298207038d8590fcca469f8b7d63186022a57fc8dcaa712b3e8308bc6a757b59fa9fb11ba2c11618f8 SHA512 dcb87951703d3cdcd2f68be01af7b4832a8e52ff53ef62dc0f55dddb8b8691ee84763971cdde7ad68abbc435dc33b448e1018c656712b127c2b9b660fc21e60e
+DIST cachebox-6.2.7.tar.gz.provenance 9713 BLAKE2B 59b08fc0567db356b9781f05e86bbeb2459e6f7026a546f7e4e10628564407d92bacade5adee203804db5c9778f9cab08c292386eedd5647e75d741cccdbd4f8 SHA512 594242bfb8c2fa85c7fbdf1887b5a6f49aee9a15973c253316c5acce98d0f68b8cb7e20e6effb81379f60eae229d9ac90dafb9ec9c9966b33fba00daf8d08708
DIST cc-1.4.4.crate 100602 BLAKE2B 9636737ea0a314c7d5eaa09014fa39552e9ed0b79cc0afe6289f5c8d35b67322c2ab4adbf2c4ff408642d8b3772e2f7fe3e058a109b4cd3be66c0a3c2f83b419 SHA512 fa19696ac9288b6af0fed8ce94a0acce9d1baeb367ef7f52c5d57fed0c0cc058b9b3a2a3f3183ccc3d3a6e2f3e36e3cabcef636dd7a752350238edd80aad0a03
DIST cfg-if-1.0.4.crate 9360 BLAKE2B beadbfb273ee97cbb6e3740891fbace57511399ad203459b66b397587d794677a9515cde4e9ec4320c3795518bf1551d72b9a889f8ac4b225168f493288b7c19 SHA512 176e04df7ba783b7143bb84397b777f5c5a1305c08a5c3a218d4a66830620be89ed68992ba27686165bcd3fb2f34b2daf80b2a1d4b481ecc267c988e84d28e9d
DIST chrono-0.4.45.crate 240866 BLAKE2B cd8c8fb6c5ce1b89ba75e18010f0043af52e7086b444f88e00cb3d8f85cd7be219c28ebbdaea964556f805a6085d5dc5f114a9a2d428214b83e94281d0ac07af SHA512 f275b373f0f085453bd168b822a28ce6db3470cbe42f4c8b216b4320f2b460dbd2781e272eff8977b6d17ae596cb3efd3381a1cffb5e6513e6e7979681894546
DIST core-foundation-sys-0.8.7.crate 37712 BLAKE2B 0e1dd99a5bbb0fe92f55181a37426f6e86445cb20e355f553b3162c88ccc075644461731a0cdcd93dcca65b6cef1de62b409afbd73ba3070a199ab8e7422dcfa SHA512 17492d5314db03abdb3b1998bf0c396ec8ed0f83bc978ae22d6026afdc86c50b58cbac073b3a0d97b92da7e98be11302faf1249d24313494bc058add4f4cb63a
DIST fastrand-2.5.0.crate 20782 BLAKE2B 6c32deb12c2e946e8eff86a0bafc5a9c4b6ecbd3d0faa10b68fca876638766cbc4b866dfaf52014bb4a1cfe6b58189e8cbfbe2495e9cfda58f90ecbf0f821e68 SHA512 0c7369840393fbd8fe8c6fa94d47ddc8e8c709270d20c9ce81c3902ea6dc9cfaa5ee0cf2e9b5b865453748283545e206264446d905550c838c052534a6088ddd
-DIST find-msvc-tools-0.1.10.crate 31454 BLAKE2B a79553d59e4b59f4969e674140f854ecf9ae98358d1067d07995592ec34fe0d0aa3bf82ee57cf8ec09babb5f0fee0d6c6a41d5403fed6c56f43f8874f61b694f SHA512 abc223c130c375d9e581cdd5705aa61964ea8480e94587773d222685031cfc18562bb9c13b5e115f832b5b34d6d07762c386414b4d1e30f733b43e2259960092
DIST find-msvc-tools-0.1.11.crate 31517 BLAKE2B 83d8956d57e557c492488e3d5d6de1eebfe9e69a5f15e285f78f8fc3a7e242613157612012fee56173af225f7d73ed8f1567de598dee26694d8ad2b9a3e555cf SHA512 1b646d10a95973d5bae9babb04960e005d036df770f449e47394d8c48394d345d099cf26bd3b52c78b9af31a93ad488e009f7c8d9f2823580831015862619113
-DIST futures-core-0.3.33.crate 14691 BLAKE2B e7472f1e8a0b06af43f02410d880c2d201aa8152da5d261b73fc21c458e5046ade6532bd0cd9d2ee9b7934418557ec1947ee3cab6dee76d9f7e1bfc28a1ccaec SHA512 92c7d8425c62121e69291e664fb255bd24004c498add720ab72b1b72d8d9f46c0d8aee3634b18b0ebe128eccd1821b23cd52e2eaed16ca644792e03b866a2794
DIST futures-core-0.3.34.crate 14692 BLAKE2B bcec84e12b7979d5e10c8fec533d7eb8a49ba299461d4268ce77925f647bea4722312e59d001f5d5e779b376728f06d89ea5adb531cb672ab3ccdf897ebc0087 SHA512 05ac009da05e0d4cc41866a1ef95f7a3da03d037ac62dddc0df59c24cd3fb2d164982c95062f810982c3ed39e7130560ab58ea815db4235bb69c8809ba8e5566
-DIST futures-task-0.3.33.crate 11381 BLAKE2B f6706c5fd7145f1d656e4458f91a8ade67d16d301739f3f37e7ba3500944b77724799460712fcb421800cd40e74a34ac459a30fc74e2ced439e05c7c61001add SHA512 c16ac01120be2ff87ab06b6d908d20fee41e54258981e66a21581afc839b4d215c984d76b4e74a93ea57ccabb8a2eb611c9f620675700d5321a16cbb9c6f0e28
DIST futures-task-0.3.34.crate 11376 BLAKE2B 6365acd677c141312a1211b95726d3834307797ddaed85df01892f0493bc2e28585a07aea7ed742f28592cc0b1906235b65bdf826276020f6731e2705b68e3e3 SHA512 84d31a3391ad47f4c5306f37e09ab32975967253c65af251f8a45daf9363e6dd95437b7ab0ff68160d34adebf2d09f49449d184d627b8f6548ef02c9155c7db3
-DIST futures-util-0.3.33.crate 169725 BLAKE2B 3e2d3f381bcbee91da66c61ecc2e949dda1f30b059750368c5ee7d1cc944e5b805af136ab8202912b307da8266d1a123067591ed05f1363419915c14f880685f SHA512 6d3987cc25b1b8c02175a8d1f4967cf4e09c93a36d5a2a8ebc179181fca13deb85286de026cfa9a0ff1ea89e4a8dea97726716e35b345ae6d72132991139b005
DIST futures-util-0.3.34.crate 169782 BLAKE2B b71f64120f7cb304ddf8d6899ac3da21654ad0ef30803979b3c3583e5cb4f6484edbb411a5cb0c8fef33ec595aceee490dfc98ae0d8211faf90b1b57ceac7d91 SHA512 c5e6213da3767bd645cf27d91e5f8ae14040079e11ed30fc9332b404f058491687dbcf0a8fbfb3511ed463139db7879785bed0129e99de1fde6ee10c21aeb2aa
DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
DIST iana-time-zone-0.1.65.crate 34079 BLAKE2B 4d84dd4655dd42ed9cf49ed8d93d0ad244f42433faa2894a1f8240a49f65021864e8aadb816d5725984bcd5c1a6e8e1ac210b50751e3af8b3ad2a61421a74e4d SHA512 4443d5a01ef4b10eb27ed8c866ed71619ccb594dee81a0350106f39575b9373c6199d925b92112fdf0aaa20f5d955d09fab1867dc1b4cba2841c713d40cde6d6
@@ -27,7 +22,6 @@ DIST iana-time-zone-haiku-0.1.2.crate 7185 BLAKE2B 37fa14b589ff092377b9271c414d4
DIST js-sys-0.3.104.crate 108816 BLAKE2B 87298f734dc738fbcbb5ea87097508b34474804b4c2a6748d1a36feca01491987f76d1648fa1372bdf28297bfed33ddd7dec846c4f98e54cd00da171ae37827b SHA512 c3142534e5d0f3a8fb62c69f569e91b24580350cf594860a6469576662d5911c6b63f51ccf7967b3634b7254a77558c3b26adbcf18bbf981895da7ff1166e957
DIST libc-0.2.189.crate 851502 BLAKE2B 05155a249c6880ca96a19bbb7569d4ca7530f544504e4ccb48db1ebca0b70d84e99c6b9532adb9dfbb3d4d1187eca22698a6b2ba6ae40bebf5d6eafdae86c71d SHA512 0cf621171ed4e6bbfeb71fb582ebf037d62ab481bc406ca2fb766bd4a8416f220a189325a0d3cb3e3cb39d80e09312516ca6335fad71b329c5fccddabedf4110
DIST lock_api-0.4.14.crate 29249 BLAKE2B 52d2f3a3eb5c3cbb4e7f01a2932f90200e3361155f53f282228f436211c54d1e429bddfd9e305a78b9c26b022b3234ae8ad3bee209bd4feed5b64a86af5b3d85 SHA512 73164d411c9899323b3bbff4fd6824e2b9ff44971ddd267629ae5a70b456c1ca945716e952412790d35331993ae71600b0e6a2aeefcdda117b26a7222ed97bf0
-DIST log-0.4.33.crate 52997 BLAKE2B 2cbb81f23ec11fe6ac70cb6bb5d1f418a4998726752269eb0accb72f740bc076d8b1a7ccd5219a1a371560aa2bb70b524ce04383510a0e9e7c51558e305af235 SHA512 fce3eaf97b1415e413aec344a156d930ebaf52d918f8d9ff9e086f3df58253a6306a215aa4d4b4782a1b7deaad484739666f4fbd8e41272bf95ce4fc6306b74b
DIST log-0.4.34.crate 53395 BLAKE2B c79adc36efcefc23b0d4419364e4f6e31850afe766081283b97b9b8fe1c99159b275aaea6a06ad4b57bb0ea0f440b72e88aeac8425d316009ade570b8e027baa SHA512 6f51dc492f808262a67b28a1a80055aee15eb9437d0b0e21e0478cb94db358f751a61172f0c303d94fa949a1874e3f25bd7bc29d9724e3d43849a9f3f4b55d6e
DIST num-traits-0.2.19.crate 51631 BLAKE2B 78637360cbf32d172510a62bd9442708af9730c0296a2bb4ebd200c08facd49bc31bf8ddd58967e0df7273a938832b620265d9f8f4d26ad16049bf6dac1cb4e5 SHA512 180018a5eceb45085e4e8d103ff21bb4d5079cea874c42a0ad4c76c99d275d434bbc1cc289f0cdec172866daa89dbfe0871410b2cc3407233fe1129786905956
DIST once_cell-1.21.4.crate 35010 BLAKE2B 9117ed1d478e626b7b7be2e3ff8b68a382b051112c7ca4425367bdae86977671f8b5c576131c82fb437740b6d98b72501f718f4172d39781decac2385e8fbd4d SHA512 af67669b0107f44268ba74c355200cb2ed1aab235a6989a8bc54323eb2c9a45677010f8672e7790edadd4c981e939436e0c3a099d33c06dce9c14fd5ede86155
diff --git a/dev-python/cachebox/cachebox-6.2.5.ebuild b/dev-python/cachebox/cachebox-6.2.7.ebuild
index 861f86f41922..c52bc77720d2 100644
--- a/dev-python/cachebox/cachebox-6.2.5.ebuild
+++ b/dev-python/cachebox/cachebox-6.2.7.ebuild
@@ -15,22 +15,22 @@ CRATES="
autocfg@1.5.1
bitflags@2.13.1
bumpalo@3.20.3
- cc@1.4.2
+ cc@1.4.4
cfg-if@1.0.4
chrono@0.4.45
core-foundation-sys@0.8.7
fastrand@2.5.0
- find-msvc-tools@0.1.10
- futures-core@0.3.33
- futures-task@0.3.33
- futures-util@0.3.33
+ find-msvc-tools@0.1.11
+ futures-core@0.3.34
+ futures-task@0.3.34
+ futures-util@0.3.34
heck@0.5.0
iana-time-zone-haiku@0.1.2
iana-time-zone@0.1.65
js-sys@0.3.104
libc@0.2.189
lock_api@0.4.14
- log@0.4.33
+ log@0.4.34
num-traits@0.2.19
once_cell@1.21.4
parking_lot@0.12.5
diff --git a/dev-python/flask-caching/Manifest b/dev-python/flask-caching/Manifest
index b023df8eaaaa..56de3d8ad38e 100644
--- a/dev-python/flask-caching/Manifest
+++ b/dev-python/flask-caching/Manifest
@@ -1,3 +1,5 @@
DIST flask_caching-2.4.1.tar.gz 165380 BLAKE2B 58e1ef39a01b689ec65ffa54756e2cda5488975fd5adebc9724bb5c92741ffea9a5f55dc30bd0a51521f3d8aab73a9842d806f316e5e82d058314fa16efb477c SHA512 9f76d73e37765035a39abb37bf0bb1266167b68d153f56b207b2b7f4626e60a55fee44c18ba2c687cef255aa8251c807b9abfb35488ea3bd8bb10692378ae9d2
DIST flask_caching-2.5.0.tar.gz 218694 BLAKE2B 337a5dfdc110739c54eac8e815773799c6f7769cf30832a92f410122030514acbbedfee9596c356ea4d9b2c55d9d356b6c9e9eae1166f42fda78be67a557d2e3 SHA512 ffa806ad56ba590695e8abcddc4f0820634e1b324634da5d80a87a78313df48a54255efeb1e3daa8da19df958bfa6360b2239fb733f7952c008b882872d87835
DIST flask_caching-2.5.0.tar.gz.provenance 9871 BLAKE2B cf9208126a5fa782e039f1b39a690c7cde8b393f40db56c16a0544b993fb6558d6622c17885dc53d1e30bfbd815c21c776efba73f5e1fa10e8497c50340c228f SHA512 fdbadb0b3815978e70a71cfe7c52c068f048d3883a07c0b098a16075c5ffc12b83cb0afef17f381893709f31e2d30cedb533b0ea38b948c7def6390bb05dfc56
+DIST flask_caching-2.5.1.tar.gz 219102 BLAKE2B 23aa1775c44fe71c7b3b11fbd6e7fdc0eaf689b73fbbd5ba819bf7da8a2506688e39ecf39efac294abfefc282f93e085af7875fc1197ce68810563f6f5ab9a7f SHA512 8f35c1d59b7c5edda7fda09eeb068d622a76866481822b3e96254393ea0e8d253c67ffb5d3bf77511348869786171a39e6625fbb69dd6e2c0f578c7d5ffa6481
+DIST flask_caching-2.5.1.tar.gz.provenance 10000 BLAKE2B 38cc3ed557ba4942d41bc6fa71b453a43839c07ee359a09e96f0e282c0fdbf3ccfe62eb72631ae8b117cda8ac4fe1e90ef9b61f17570047c9e9c1aa0d38fe9ed SHA512 d5da52c6ca922c692a4786b2012ebd3d960cc1490f08e234de541094263a0f53a3a7b2433eaf4f99d1968de0419b4e133c4e86346db52cc94afca749a2d1e41d
diff --git a/dev-python/flask-caching/flask-caching-2.5.1.ebuild b/dev-python/flask-caching/flask-caching-2.5.1.ebuild
new file mode 100644
index 000000000000..047bf310c2cf
--- /dev/null
+++ b/dev-python/flask-caching/flask-caching-2.5.1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit-core
+PYPI_PN=Flask-Caching
+PYPI_VERIFY_REPO=https://github.com/pallets-eco/flask-caching
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Adds caching support to Flask applications"
+HOMEPAGE="
+ https://github.com/pallets-eco/flask-caching/
+ https://pypi.org/project/Flask-Caching/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/cachelib-0.17.0[${PYTHON_USEDEP}]
+ >=dev-python/flask-3.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/asgiref[${PYTHON_USEDEP}]
+ dev-python/pylibmc[sasl(-),${PYTHON_USEDEP}]
+ dev-python/redis[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{asyncio,xprocess} )
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # broken with new redis
+ tests/test_backend_cache.py::TestRedisCache::test_generic_inc_dec
+)
diff --git a/dev-python/jupyter-builder/Manifest b/dev-python/jupyter-builder/Manifest
index 0471f696ed44..d9043d982b63 100644
--- a/dev-python/jupyter-builder/Manifest
+++ b/dev-python/jupyter-builder/Manifest
@@ -1,2 +1,2 @@
-DIST jupyter_builder-1.2.1.tar.gz 977454 BLAKE2B 1632a2ea0c17009a92152807069e68bc66aa978a65fcc4eeac6feb34c87f6041cd88cc5d80a6216dca48c0d5b200c92eda1eb2d6784eb4e19c09f5df3df16bfe SHA512 d1a19b66052cc0b8dc326515c7723a20d03bf9d921ae9350558596d4fb217d9d2bf55fb9695a648fd15bbf7dd002ae54f37bb9f1ad72b36bc3a86c060739e152
DIST jupyter_builder-1.2.2.tar.gz 981074 BLAKE2B 6303dda06315ccc1d68c7b92be3490aabd9173e6e00ae4296b7606cc3fc955df4d6fd1ef4bf36bbf23e1a31ccb5f6afc1ca09fd588294a8e5b6150bd45167e74 SHA512 9d09f558c5e623dbcdfc74e7b4afadfa35249fb02e8ebb21f743266c6bcb7330f0ff6bf94a7dfc18899bf21e4be7f6b9fe4a85cc6116870f07b5e56d60a1dd9a
+DIST jupyter_builder-1.2.3.tar.gz 1024218 BLAKE2B f4558ba99250e7eb44c5c4cd6bf4a633f24f0672f7d079acba1b17094ad431841c7115e88e3733e660b014e3c7607244a5f83ff95bf4f74950b3bbe86125ffbc SHA512 8c7025105b74851fa598b969f9db099c70b998f8ff2918f30ee0ca944997d05a09868ecf59bf02dc6a63dc6cd71432d9d5c87d7c4ee8b8868df07fdeea10df52
diff --git a/dev-python/jupyter-builder/jupyter-builder-1.2.1.ebuild b/dev-python/jupyter-builder/jupyter-builder-1.2.3.ebuild
index 02718c0e34a9..4ed7b8e0bb84 100644
--- a/dev-python/jupyter-builder/jupyter-builder-1.2.1.ebuild
+++ b/dev-python/jupyter-builder/jupyter-builder-1.2.3.ebuild
@@ -15,9 +15,9 @@ HOMEPAGE="
https://pypi.org/project/jupyter-builder/
"
-LICENSE="BSD MIT ISC"
+LICENSE="Apache-2.0 BSD MIT ISC"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND="
!<dev-python/jupyterlab-4.6.0
diff --git a/dev-python/pebble/Manifest b/dev-python/pebble/Manifest
index 9300061f24a4..ff0be6d21af0 100644
--- a/dev-python/pebble/Manifest
+++ b/dev-python/pebble/Manifest
@@ -1,2 +1,2 @@
-DIST pebble-5.2.0.tar.gz 39811 BLAKE2B 5839b2ab05a0b0e15304c50f122abfdd38a745e078d622ade6f2cc6b4e162a703cbab42135f4429f48d1c1f549b14afd7c7ed9bfe2d6df455d1f2a5ae9915400 SHA512 47049940fbf50347fe6e56196a8593482441d3d43dacfa26bd599b5e7d8537505f1ffd7a8e9342b81dfc1886952648aa2ca966785e7f2f1f9b0e90a01a937448
DIST pebble-5.2.1.tar.gz 40496 BLAKE2B 5e038ed51d4ffb5e880640196e0cc5c0efb6e9c3edcf22f74746b0b16773b90cfcec1369560fee40624a226612fd782f13547cf5b170b2db74999bde310cd493 SHA512 d10390e46e2db91f3d1fede4f24f9cd39a1adfa71db0708937e9d95c1f93e62a12ae45bf440ce16e9fe1abd94593e07b56a8524269f88d43db72d8e1021f42d3
+DIST pebble-5.2.2.tar.gz 41367 BLAKE2B 8e5d440a113e761db9fe2230f6b479751e6224150a132d5a6b9da3842fd791e2e4e6786a92c945e1e00a5cfd47e25344e85c710289a70df71ade70f29bffd8e4 SHA512 dc727d87a96ebc00307f08a77d79411eb88a6969871975cd37bcd36f8ef22ef2bc4e9e674a71c09bfc543015974bf0f72f83ae8ff40954fdb37a7b2a55c8083d
diff --git a/dev-python/pebble/pebble-5.2.0.ebuild b/dev-python/pebble/pebble-5.2.2.ebuild
index 200e52166d43..7a1466cd90da 100644
--- a/dev-python/pebble/pebble-5.2.0.ebuild
+++ b/dev-python/pebble/pebble-5.2.2.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="LGPL-3+"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
EPYTEST_PLUGINS=()
EPYTEST_RERUNS=5
diff --git a/dev-python/pypdf/Manifest b/dev-python/pypdf/Manifest
index 95c040ca8862..0d3df0bb9514 100644
--- a/dev-python/pypdf/Manifest
+++ b/dev-python/pypdf/Manifest
@@ -1,6 +1,6 @@
DIST pypdf-6.14.2.gh.tar.gz 9585097 BLAKE2B d24eeea1aeb0d491880d99922c9ab27b6468df6782bc3dc25c1209c3d14b98ef25c8bd72a103f7fb645606f5263fa17280e66a6c0ea72ea56d436f5a65d883bf SHA512 798df3e54a3185a790efbd15f8fc0a0eaff06e6695a4b9529da2108df0391f400f2da483b8cb5cb0c7bc9b131fb54dcc787095787203178853a0fa2573a0428a
DIST pypdf-6.15.0.gh.tar.gz 10091649 BLAKE2B bc4384287edc9332971ba2c8b80f196ddd1dbc5f03eb8ca8f501fdc4fcbf224a745a536ce368bf3a02cb281a89564b3afeb059414353e60ca1b7da1f15063e8f SHA512 ea4138958ad75707cc536e670420d6cf4c57c4b10f85a46bee763d7b045254aa39d75a4f22303fcc8e104e97581316013f85a084e7baf4ab647e3268792f9dfe
-DIST pypdf-6.16.0.gh.tar.gz 10101871 BLAKE2B 616feb936ed392ece3a28199f05c4e0ca5ed30211ddbeb0fcfbe63f77bdfba033fa11132e5f8f25bae58fc9b76f5a0389535dbf4c16c861d000eb1e9f8ad3364 SHA512 a9b7e6275b6d8ecf769fb78b091388090eb9175ee0ab7ce9a76755ba5003a1514e9df86b519f2858e5fd59de6e6dc2ddebba2ac445131c68ce4721f6b1e0c50e
-DIST pypdf-6.16.1.gh.tar.gz 10102204 BLAKE2B 34ff13aeac0b77d6ddd5910dda5203624ff309c1ff2f7591ce0877c17c05049dd38811a8159e2c33d7b98d32ea193062ecfdb4f0c26d30b3c97f67064ebf348c SHA512 a25deabae88ca3bcfc77b317dfaa7cf5ec6ebd3a43d52daa6bcbfdb462b2f6ca9b1e5a34c030889ce28128f0bceab388a587b58f2ddc15efea4ccfc26d6bf6ca
DIST pypdf-6.16.2.gh.tar.gz 10111364 BLAKE2B 5f111487e3212a4a90b4e8595b2cad8fd4834b2256cf642821e3baff401ab6e6572316d8585441702e8353aa7b69730c99e15bce52ab83862a087fd9544f6bd7 SHA512 86fd9381b5c3cb8eb237834a298335fa75f80ad3ae57e673103c63b8a41cf6a8d172b65480d45a36fed5119b772fc720075197e17446b5e7c02bb5bbbf0ae459
+DIST pypdf-6.17.0.tar.gz 7018352 BLAKE2B d71d8c781a63ac6555687a1bbcee35430026cedbc6e0a7037c63d1821b19386a62865760f94d9452946286eeaca51dfa38d4e36c51dd61764080053a946a79a8 SHA512 21bf4aa0c077911c21c22e349e943df2a4f0f40244754ae5bfa6624c11b8ff7907e2a2613531f2a5d00ad52c4ba4bef8643a9b57944906a3d3a0d3c0d44ee4f1
+DIST pypdf-6.17.0.tar.gz.provenance 9698 BLAKE2B cf83fc4ab9ffc1f97ab32dbdf161d6d659580595575d30299a3aa5e0e8bee9240cf58c4a417a9945896fbb274167ac34445115ff1a093f71dcdaef10df98396e SHA512 5b5b7fa985d94634cacc755750e5b58823ffa5a839ae35c7d6ce6df5fe397194a15862c3be9635bb177acad75162ca231e65c30438e5f06ba13fc2f9d4dab46c
DIST pypdf-sample-files-818dc013ad1f537198e9fcfae8a6b0dffe25ffa3.gh.tar.gz 11850954 BLAKE2B fbd0af91de44f2d224b3266727f0dfc462efb4d23176f4ebff147cbfa37337d891859c468b545d0c00796048584e6b621dc622d667e3d45c0b89b92f29ca3030 SHA512 bc601bfaf17f31c6358f594eaf879479e97028d7f5e5825c309a5d1eb843bfea5080c9e151287a0d915ecbc3f4d4755e326ac8fa1ceeb696c76b9f5ecc0d7e9f
diff --git a/dev-python/pypdf/pypdf-6.16.1.ebuild b/dev-python/pypdf/pypdf-6.16.1.ebuild
deleted file mode 100644
index 1536c8c54bd2..000000000000
--- a/dev-python/pypdf/pypdf-6.16.1.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit-core
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-SAMPLE_COMMIT=818dc013ad1f537198e9fcfae8a6b0dffe25ffa3
-DESCRIPTION="Python library to work with PDF files"
-HOMEPAGE="
- https://pypi.org/project/pypdf/
- https://github.com/py-pdf/pypdf/
-"
-SRC_URI="
- https://github.com/py-pdf/pypdf/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
- test? (
- https://github.com/py-pdf/sample-files/archive/${SAMPLE_COMMIT}.tar.gz
- -> ${PN}-sample-files-${SAMPLE_COMMIT}.gh.tar.gz
- )
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
-
-BDEPEND="
- test? (
- >=dev-python/cryptography-3.1[${PYTHON_USEDEP}]
- dev-python/fonttools[${PYTHON_USEDEP}]
- >=dev-python/pillow-8.0.0[jpeg,jpeg2k,tiff,zlib,${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- media-libs/jbig2dec[png]
- )
-"
-
-EPYTEST_PLUGINS=( pytest-timeout )
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # probably requires extra deps
- tests/test_appearance_stream.py::test_appearance_stream_rtl
-)
-
-src_unpack() {
- default
- if use test; then
- mv "sample-files-${SAMPLE_COMMIT}"/* "${S}"/sample-files/ || die
- fi
-}
-
-python_test() {
- epytest -o addopts= -m "not enable_socket"
-}
diff --git a/dev-python/pypdf/pypdf-6.16.0.ebuild b/dev-python/pypdf/pypdf-6.17.0.ebuild
index 1536c8c54bd2..c5dfe9f5773b 100644
--- a/dev-python/pypdf/pypdf-6.16.0.ebuild
+++ b/dev-python/pypdf/pypdf-6.17.0.ebuild
@@ -4,9 +4,10 @@
EAPI=8
DISTUTILS_USE_PEP517=flit-core
+PYPI_VERIFY_REPO=https://github.com/py-pdf/pypdf
PYTHON_COMPAT=( python3_{13..14} )
-inherit distutils-r1
+inherit distutils-r1 pypi
SAMPLE_COMMIT=818dc013ad1f537198e9fcfae8a6b0dffe25ffa3
DESCRIPTION="Python library to work with PDF files"
@@ -14,9 +15,7 @@ HOMEPAGE="
https://pypi.org/project/pypdf/
https://github.com/py-pdf/pypdf/
"
-SRC_URI="
- https://github.com/py-pdf/pypdf/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
+SRC_URI+="
test? (
https://github.com/py-pdf/sample-files/archive/${SAMPLE_COMMIT}.tar.gz
-> ${PN}-sample-files-${SAMPLE_COMMIT}.gh.tar.gz
@@ -44,12 +43,14 @@ distutils_enable_tests pytest
EPYTEST_DESELECT=(
# probably requires extra deps
tests/test_appearance_stream.py::test_appearance_stream_rtl
+ # speed test, uses tons of memory
+ tests/test_filters.py::test_flatedecode__decode_png_prediction__speed
)
src_unpack() {
default
if use test; then
- mv "sample-files-${SAMPLE_COMMIT}"/* "${S}"/sample-files/ || die
+ mv "sample-files-${SAMPLE_COMMIT}" "${S}"/sample-files || die
fi
}
diff --git a/dev-python/securesystemslib/Manifest b/dev-python/securesystemslib/Manifest
index a43c41c21c4e..fbb4fe2810c6 100644
--- a/dev-python/securesystemslib/Manifest
+++ b/dev-python/securesystemslib/Manifest
@@ -2,3 +2,5 @@ DIST securesystemslib-1.4.0.tar.gz 934332 BLAKE2B 3e1ca3556da70e4c70041e902655e7
DIST securesystemslib-1.4.0.tar.gz.provenance 10069 BLAKE2B e63f55a768b84875fc28920e9db7a5b98096bca53d8bb4e83344e93ed1dc92fa9d89402952f433c8101f970f6362524326a6bec68339ac68deaeed8cc0f49c75 SHA512 a79fdfebc7e7c8732b4bab22ba58a26ad16d07b2412b942daca73e6ecfa92685e855073ea73ef1a1aa51b5136ced69a62ca2dadbc497a9298336680d3b2e90e9
DIST securesystemslib-1.5.0.tar.gz 945978 BLAKE2B 0b60f6dba91c93c8dbe94fcbbf58ec07cd2f821c980366ecbcb073bf36c998ecad50b2e26b4d03cbca18e187b39b5f2b179521c3adb83065a98d6ed412513a87 SHA512 437303996bd36f3880061b0c5b5b33a994c5bd94b77117de78e25933586c46133cbff7aec260de8f387b142ca6557e679c6a18d59180ffacfc1938a0679a3eda
DIST securesystemslib-1.5.0.tar.gz.provenance 9938 BLAKE2B c0d0240993dba23ae2de6481c87cbee39407c129e2c9fc9fdb0eba13db9ce3f526a3fc58d16e7263f2ba551da6fb8682f3f0fb0eda4583a6e26519329351ae6a SHA512 8242c8fc280f520494521495d9ed753aaa62faa64c5e36e0d11b7ff1784ac67bb667fcf9350d80c1ff7ccf3ef231db15572d45c3dc843f84408c40f96580b397
+DIST securesystemslib-1.5.1.tar.gz 947087 BLAKE2B c99016cfcdf264b24160b7a5455207028ad3539b246969ed65ebfc868df583396e089d67e71bc6fbbb8b09195bde4f96681dcb6ed81cfc3a7d61a1d1b6c427e2 SHA512 90aa2a51fefac4fe05d7609459dac3c82a29589a627ca5e8055d85fd6145b92abb14796934b47fb3ecff96e1a495c06e6375b448cf13ef1f04ddfb3a3385d504
+DIST securesystemslib-1.5.1.tar.gz.provenance 10169 BLAKE2B e132f65da0b33b91011ce1f0688b31aa81e1be35f4198653b64037c4cba8d8851eba9b40670d3d6611e5023df72d52326a3d17b4d43ca53cf5b2836e54609a14 SHA512 4a9a2a6ba4145424f08cb8e016b7328d2dcc281ff00a983da6007ab9648d523ece604ef1f10b27350accbd75c50f32c4507905731b7acaae98c70e92ac53776e
diff --git a/dev-python/securesystemslib/securesystemslib-1.5.1.ebuild b/dev-python/securesystemslib/securesystemslib-1.5.1.ebuild
new file mode 100644
index 000000000000..85f990a37fe9
--- /dev/null
+++ b/dev-python/securesystemslib/securesystemslib-1.5.1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/secure-systems-lab/securesystemslib
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Cryptographic routines for Secure Systems Lab projects at NYU"
+HOMEPAGE="
+ https://github.com/secure-systems-lab/securesystemslib/
+ https://pypi.org/project/securesystemslib/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+
+RDEPEND="
+ >=dev-python/cryptography-48.0.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+# TODO: unbundle https://github.com/pyca/ed25519 (wtf? not on PyPI?)
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires pyspx
+ tests/test_signer.py::TestSphincs::test_sphincs
+ )
+ local EPYTEST_IGNORE=(
+ # requires PyKCS11
+ tests/test_hsm_signer.py
+ # requires keylet
+ tests/test_tkey_signer.py
+ )
+
+ epytest tests
+}
diff --git a/dev-python/towncrier/Manifest b/dev-python/towncrier/Manifest
index 364ea0a85dd2..6eb3a4a6a181 100644
--- a/dev-python/towncrier/Manifest
+++ b/dev-python/towncrier/Manifest
@@ -1 +1,3 @@
DIST towncrier-25.8.0.gh.tar.gz 80858 BLAKE2B bfeacc0f4d105a3bedee7b9a6e49ca8db9e07a68e17cdcae17b5638e2d00791c32e3b0d8359aa0f08194a0d3237e0cb8b9e11a6adc5f62bf34aef0eba2952409 SHA512 203fc93796e19f2c9c51e8de803df0da54d6f8762ba7cf11f6d50d12fdb922223ae430e5c911e8ffbedcb77287fce93314fe2888dd0b2622c65f25a4dc274be1
+DIST towncrier-26.9.0.tar.gz 79338 BLAKE2B 6c39f84a974b02d940a7e0e3ca1a57f5bdd7bb07f83f291911904678881b294320027a4c90d09d0a85cfc13c7f83c363e4431f2d65430449468965c9dfd5d82c SHA512 9ea2ff33dc2b585a0e52d418f916d6ba6521350972da286aa23a5d4b55af0215a6bb3f732f9114e258ed9dd789ae083524b7860488a17e9e1d99dd8a72750fdb
+DIST towncrier-26.9.0.tar.gz.provenance 9683 BLAKE2B a4ec39be4509f895e92c88e115a4a8ffd79d2f5d255785eefb2a242a3f5fbb67f32ae397bc027f4c70ea61774d7e15379573d1fd33db02b0e8753f129e1aa49a SHA512 7b59ed0ec7bde569ddcb58068e79f8745bf3cf810d0041a324713b850663ddd70d7ac099bb5efae4320e29614297488d9c06d80431649fb6352bd4086c645d64
diff --git a/dev-python/towncrier/towncrier-26.9.0.ebuild b/dev-python/towncrier/towncrier-26.9.0.ebuild
new file mode 100644
index 000000000000..e2abd020116f
--- /dev/null
+++ b/dev-python/towncrier/towncrier-26.9.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/twisted/towncrier
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Building newsfiles for your project"
+HOMEPAGE="
+ https://github.com/twisted/towncrier/
+ https://pypi.org/project/towncrier/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/click-default-group[${PYTHON_USEDEP}]
+ dev-python/incremental[${PYTHON_USEDEP}]
+ dev-python/jinja2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/incremental[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ dev-vcs/git
+ >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ # unbundle click-default-group, sigh
+ rm src/towncrier/click_default_group.py || die
+ sed -i -e '/click_default_group/s:[.]::' src/towncrier/_shell.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ "${EPYTHON}" -m twisted.trial towncrier ||
+ die "tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/ujson/Manifest b/dev-python/ujson/Manifest
index e291029fee89..77bb55f9de66 100644
--- a/dev-python/ujson/Manifest
+++ b/dev-python/ujson/Manifest
@@ -1,4 +1,4 @@
-DIST ujson-5.12.1.tar.gz 7164538 BLAKE2B 3e666173bd56e7a2c3f7f52e60509d9017904db4aba4b70b8f14380ba6de767ee07233343bd99ad30674611dee9bc7756b46e555307add41b9f71b5d35b39f79 SHA512 2904bf37c8e8c155d9fabaed7837dc58840e9e21ec516f43c2047c926e7d29d2d37506c261d23bd05f113fdda6658d347eb7d7a54c32e699f0c3652fe12943b6
-DIST ujson-5.12.1.tar.gz.provenance 9630 BLAKE2B 9985aeea8ce9a426e85f93fcf9933b69fb6f12d887a31bfa6e0a82347f601f5a09889e7bb669ff1a537ee2bbef8825f7d67a0da88cf2bffe60ea8f729696994b SHA512 9c89ab7a9f1d0511ea03ffb3a81725a6bba822495fb591560ba25e43ac95686fcd08b97b8f86c19b8a994bd310e98c78c9d6dc79cba21c6941a1e7bfa86e5a17
DIST ujson-5.13.0.tar.gz 7166784 BLAKE2B 7334f7f911b0fa886af0358477a2effefe37e5d544eadc8b6b43959bb30e4e9768773f8889e8cdbbd98b9b468cbe02e9e2abef1b9013c570b158d88df87e4718 SHA512 9735048e850ecfcffe0b5e0744ccca8bb4aea04fc310c3157e64d53f6e8520762541b9afccb7c400fb4de98c87758cb12bb1fa8a57d4db4562d5abbeedee09b0
DIST ujson-5.13.0.tar.gz.provenance 9686 BLAKE2B 0c9de29106f54f81226311158b5f5d17e9542d61feb8fab9868bc59a6064457d39d24ad9393b812ce8755a5695b337c17a018dd64ab69b9be9e33bbf797c25d9 SHA512 9f000a7c3a05e94a73655274fb0d4f4ebf5bf1b14623467b710b515444cc6f7de77376d6ae9c57a9ffc08e657365e55e37b51a37a3dc434ae3d554bc14d061e5
+DIST ujson-6.0.0.tar.gz 7169158 BLAKE2B 36cb87dfce28621c282675a787f90a52bfc6175ad86789b2032948c2f7c42a90a75ed8ebd37115ed2ee0b0f9dd1a72afce9bf2847e236a91a89d413b7b2ff0ea SHA512 12b687916bdbba2df356b845f6d34cf45b7a8b8012faf28b7b73fbd43d5b9bbf7e35ad7f6e63eb8ca8a8ccba589f360aca4394a2276cd79f8d6704272aa99f58
+DIST ujson-6.0.0.tar.gz.provenance 9566 BLAKE2B 85a9cdb855ab6464f9462faaf6ff07da17b184fce55932ebb540f417aab965618ed66508a56520c57ddf70e74575dd2cc481d8218d8055c93fe2197110f0fcde SHA512 0ae78ff62a2c36b597a44193ef96e1c658609666b9f02668b3a9c526a91fbe8a87a346a8e2e8a10c0ea7d89e55ac6de491afe30e5550f2e164f2bdea24c165e7
diff --git a/dev-python/ujson/ujson-5.12.1.ebuild b/dev-python/ujson/ujson-6.0.0.ebuild
index df4d9632755d..c96d5f771f3b 100644
--- a/dev-python/ujson/ujson-5.12.1.ebuild
+++ b/dev-python/ujson/ujson-6.0.0.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
DEPEND="
dev-libs/double-conversion:=
diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest
index d501ea26995d..557e3b095585 100644
--- a/dev-python/uv-build/Manifest
+++ b/dev-python/uv-build/Manifest
@@ -2,6 +2,7 @@ DIST uv_build-0.11.23.tar.gz 402105 BLAKE2B af9b72353cf82896795545201e911ed7a26f
DIST uv_build-0.11.25.tar.gz 404894 BLAKE2B 6922a5e91c5c657ca5ed90edb0250cbd7192d208cdc135d8c5de74c04de8b91c10d7c0d52d58224a6cb60c7114ecbdcbc2181ac18b0b69cf41d88fd007329a36 SHA512 9315f67c76004b6b45e08d8cad53e5ac4f04a2342e18768523e71f9dc2f7e81aec599f968983df3237d1ad3dc9b87b088f99d2ea79994543fa3623ab21ae5730
DIST uv_build-0.11.29.tar.gz 411484 BLAKE2B 4a9250bd8ecb4967c222f5ed0842c6415963a3423b593f59dfb87a2fa343839abb0d77f1cb1f90d69ac45c54722cde8ff68e3e567478f54a0b21ba74fd4d55fd SHA512 c9722cb2575d9d0b50ba36b53b8cb2eae35f18e2da92ea7eab74743354e8b17034172f2c932e381cf158d2d748103d9bcb97ba383e465f7770efc2dc11ae2dc6
DIST uv_build-0.12.1.tar.gz 412371 BLAKE2B b5eb43ce1af6d78dbb68b2445329b90520ac6e9269ff6711270763d43d09cdd3a66ac9cbeab4f52964feea3b0d08559c133cd2510f65403dbf678d7bae3e5588 SHA512 5dda5acdf4a665cbc59a24c657921c81a6a5622fef463da255df2372d48186aed56806311824ede70337f64e8dde797b82386fa4aa2ed11b82fb11047ec2ec67
+DIST uv_build-0.12.10.tar.gz 423598 BLAKE2B 363ee130a5da490859d0a2f0122be340f36904218998d332c4d925cd76e5f3fda2218dad501455d602b77bbb50f68463dc4186ad61ee78713aca9c77eead8137 SHA512 759ef57aa5c74698b11c0cd8c6c2b729f2ba31f5966a7ebce61f06b46e260c314d4ef99412875544c6f784fa5df8e4df30ca7ebf3907ee5619916e412dd9dd63
DIST uv_build-0.12.3.tar.gz 414444 BLAKE2B f226c1c2bf0b2af538f66095e20c02ad1933afdee62a07eff5f1135692bab47e286f67e7a8f5882e98c61fbb6bf831a85dd56a2d5af2bee6d62d8857a59e56bc SHA512 90d9af3e1a1ff1d7dda21fa38c0ac2d94536e73697ddabb408fb38e2d381498b2401007af0ab31c39cbf3b632aeca2991b3a66d7108e1c5eb7294b3fba8fe107
DIST uv_build-0.12.6.tar.gz 419593 BLAKE2B f6de34befe98b15e30e4a067993fa1763cb9769612e8ed518080fcb91a994cc0d86a0a08b9e784fa5ddf9ab343e4889e2615548b94003835512b2e9ac8495259 SHA512 c609f89b8c0f1decdf64c056084354ae04d6337e27dbd22297b5d462fcba0f0ce29f5a0a40b8f274ac5668f4805d9971b1da5509d10071ee2354f6fe78cc65ee
DIST uv_build-0.12.7.tar.gz 418759 BLAKE2B 94aa33b2644f849a686d80d7f7d365ca8433615d93f27209fca5b21747363cd349d11e887d090420102f06a49977ce963b8f19c24a4280bf82a09943ba08885b SHA512 135f845b3ee6d1925f740917f83f94ec1a7e95aab5ed2db0aa70516c712ab0a143a0e427d3c172fac0bb1fabaa9103718bb2a26c31c9a287e3af65ac0175a245
diff --git a/dev-python/uv-build/uv-build-0.12.10.ebuild b/dev-python/uv-build/uv-build-0.12.10.ebuild
new file mode 100644
index 000000000000..65d94f2051ae
--- /dev/null
+++ b/dev-python/uv-build/uv-build-0.12.10.ebuild
@@ -0,0 +1,100 @@
+# Copyright 2025-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Maturin compiles uv-build executable for every impl, we do not want
+# that, so we use another backend. And since we use another backend,
+# why not dogfood it in the first place?
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="PEP517 uv build backend"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv-build/
+"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/uv-${PV}
+"
+BDEPEND="
+ test? (
+ app-arch/unzip
+ dev-python/build[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # use the executable from dev-python/uv instead of building
+ # a largely overlapping uv-build executable (at least for now)
+ sed -i -e '/USE_UV_EXECUTABLE/s:False:True:' python/uv_build/__init__.py || die
+
+ # replace the build-system section
+ sed -i -e '/\[build-system\]/,$d' pyproject.toml || die
+ cat >> pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["uv_build<9999"]
+ build-backend = "uv_build"
+ backend-path = ["src"]
+ EOF
+
+ # rename to make uv-build find it
+ mv python src || die
+}
+
+python_test() {
+ "${EPYTHON}" -m build -n || die "Self-build failed with ${EPYTHON}"
+
+ local zip_result=$(
+ unzip -t "dist/uv_build-${PV}-py3-none-any.whl" || die
+ )
+ local zip_expected="\
+Archive: dist/uv_build-${PV}-py3-none-any.whl
+ testing: uv_build/ OK
+ testing: uv_build/__init__.py OK
+ testing: uv_build/__main__.py OK
+ testing: uv_build/py.typed OK
+ testing: uv_build-${PV}.dist-info/ OK
+ testing: uv_build-${PV}.dist-info/WHEEL OK
+ testing: uv_build-${PV}.dist-info/METADATA OK
+ testing: uv_build-${PV}.dist-info/RECORD OK
+No errors detected in compressed data of dist/uv_build-${PV}-py3-none-any.whl.\
+"
+ if [[ ${zip_result} != ${zip_expected} ]]; then
+ eerror ".zip result:\n${zip_result}"
+ eerror ".zip expected:\n${zip_expected}"
+ die ".whl result mismatch"
+ fi
+
+ local tar_result=$(
+ tar -tf "dist/uv_build-${PV}.tar.gz" || die
+ )
+ local tar_expected="\
+uv_build-${PV}/PKG-INFO
+uv_build-${PV}/pyproject.toml
+uv_build-${PV}/pyproject.toml.orig
+uv_build-${PV}/
+uv_build-${PV}/README.md
+uv_build-${PV}/src
+uv_build-${PV}/src/uv_build
+uv_build-${PV}/src/uv_build/__init__.py
+uv_build-${PV}/src/uv_build/__main__.py
+uv_build-${PV}/src/uv_build/py.typed\
+"
+ if [[ ${tar_result} != ${tar_expected} ]]; then
+ eerror ".tar.gz result:\n${tar_result}"
+ eerror ".tar.gz expected:\n${tar_expected}"
+ die ".tar.gz result mismatch"
+ fi
+}
diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest
index 58ce6cdcd8c2..a76e7e070117 100644
--- a/dev-python/uv/Manifest
+++ b/dev-python/uv/Manifest
@@ -6,6 +6,8 @@ DIST uv-0.11.29-crates.tar.xz 43221288 BLAKE2B fdb0beeeb0eb6afd6c5e6a401f34dd733
DIST uv-0.11.29.gh.tar.gz 7390745 BLAKE2B c4366c7fe66a14246ed95734d605e8c02f2da336b3b5e93be67a0d7dae99afd3b9d15c9e59b79ae17ffb2d43f90718a72e6160a6cd422423c149fce5c45b2e77 SHA512 27d5f0f40aed962468bd3d80f04f792ec4698db9ec0930564dae25ba7a743430b04b4aa5b2cca92883b7544369200a32956337b04bd558dcc8b1ae4c5a3b1a0d
DIST uv-0.12.1-crates.tar.xz 42260544 BLAKE2B decb42423e6d5804ff4b12c956e678b14e067263e3711acf8ab7577ba87226a35501c463fbbf9ff0fa149d6a76bffb9c5a46a355dfc4a26f7e7c49f1d4e4accb SHA512 277a830b7de031f27d11973c8503d6311a6521b7a7b7df310b9445e690ce672ac5b880a506c8ace998ea28e1721dc0cf7fc17d43538a63318159634dbd9773c5
DIST uv-0.12.1.gh.tar.gz 7231201 BLAKE2B d83bab24879f3b92ef842150f3af3d8c08850155f8b7d120c1c4a16f463911b55fe2b2ab6c3e928d654ab1c2db56062094f9ae994bf7f67252ee7ec9d3dc74a4 SHA512 15c84d4b719295c1d9fca178025317d1b808f4c34a572609b78e35382bb12abdc4ba7a3b2bd1bc5576763b655b34b222be15f99c3481419f92a5f74e460ef96f
+DIST uv-0.12.10-crates.tar.xz 44161200 BLAKE2B ef5f654005a5c074a2c251471bfe91db9e172b5733ede5e9b5f48a3464194f50e288aeb8afdbd2f0923106380812490bb800506c3c10dca916e994c2c6548a6c SHA512 26676348002e1c3ddfdc772ce6a429ab0d69fe7641a539dba2694a0e946c2f23789e5c8d6ceeaef407efbd20ec4b0fe889463d94c498514462bc19f0d85fff7d
+DIST uv-0.12.10.gh.tar.gz 8739701 BLAKE2B afbe730771deffa2a3bf51417700433e050eae158b25f61d3027ce179591a7bd6bf27cebb01f154814d3baa42d1b6fee18e23cf634894c653b56da092f621ee2 SHA512 e9b4cb1bf5f7e65d666f1e4f9a957964508f0f7b531f682e75b9a64a58cf0fe0ead1b1639e0f8ed37df8cbf39cde42fa02d7df2e6cecec3615034907d85127a2
DIST uv-0.12.3-crates.tar.xz 42197452 BLAKE2B 996bb294d37774e0cb5529c34552d20877cd82a3d063b6e4dc1f6feff05a7822a91c44408a970f038d3045312be0edd4c9e8d34f6eebc04d71bd4d2ffa0184ee SHA512 8de33956c5a603fb4aa1bb5ab6db68c537d7523a84f3092057f562b1209bc976b0bc64cc6ed76cbf1b0edb4981b6a41765fa5e2729a487e4e2322052aa08b8a4
DIST uv-0.12.3.gh.tar.gz 7273161 BLAKE2B 706a2297090b13c6f731d25f55ae8c2225e3b9bd820c61814f512c1e04d98d2e46ce5bfac6ec6ea346dbce1663aea644384b37663b53d64a08a90b48217bdb0d SHA512 a4933b9b9b852dee2485800ad82ee3be111a4a5a437ab32d5064cfd4004e124ba733294a546a097379c74cf1fc234d1da0488aec7725037c7b967ec1aa862a71
DIST uv-0.12.6-crates.tar.xz 44170700 BLAKE2B 915b68dc4355b944c10c497cd500fce7ceccbabfc9fb8dc4291fa91932737e8fe88c24022b4f2bd28b8bd64aed7568c88a25757619efdb04c8f6e2de9522c1a5 SHA512 d4d5bce3625ce937c6237ad12ef89fd46ad5c17573c7278db7ff41ca069bfe19f22593a8e63ca32e4d7344ffce0ec18b11be11354db956f5657759bd5e037a54
diff --git a/dev-python/uv/uv-0.12.10.ebuild b/dev-python/uv/uv-0.12.10.ebuild
new file mode 100644
index 000000000000..9826f9045941
--- /dev/null
+++ b/dev-python/uv/uv-0.12.10.ebuild
@@ -0,0 +1,151 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+RUST_MIN_VER="1.96.0"
+
+inherit cargo check-reqs
+
+CRATE_PV=${PV}
+DESCRIPTION="A Python package installer and resolver, written in Rust"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv/
+"
+# pypi sdist misses scripts/, needed for tests
+SRC_URI="
+ https://github.com/astral-sh/uv/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://github.com/gentoo-crate-dist/uv/releases/download/${CRATE_PV}/uv-${CRATE_PV}-crates.tar.xz
+ "
+fi
+
+# most of the code
+LICENSE="|| ( Apache-2.0 MIT )"
+# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below
+# Dependent crate licenses
+LICENSE+="
+ 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0
+ CDLA-Permissive-2.0 ISC MIT MIT-0 MPL-2.0 Unicode-3.0
+ Unicode-DFS-2016 ZLIB
+"
+# ring crate
+LICENSE+=" openssl"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
+IUSE="test"
+RESTRICT="test"
+PROPERTIES="test_network"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/xz-utils:=
+ app-arch/zstd:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ dev-lang/python:3.9
+ dev-lang/python:3.10
+ dev-lang/python:3.11
+ dev-lang/python:3.12
+ dev-lang/python:3.13
+ !!~dev-python/uv-0.5.0
+ )
+"
+
+QA_FLAGS_IGNORED="usr/bin/.*"
+
+check_space() {
+ local CHECKREQS_DISK_BUILD=3G
+ use debug && CHECKREQS_DISK_BUILD=9G
+ check-reqs_pkg_setup
+}
+
+pkg_pretend() {
+ check_space
+}
+
+pkg_setup() {
+ check_space
+ rust_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # force thin lto, makes build much faster and less memory hungry
+ # (i.e. makes it possible to actually build uv on 32-bit PPC)
+ sed -i -e '/lto/s:fat:thin:' Cargo.toml || die
+
+ # enable system libraries where supported
+ export ZSTD_SYS_USE_PKG_CONFIG=1
+ # TODO: unbundle tikv-jemalloc-sys?
+
+ # remove unbundled sources, just in case
+ find "${ECARGO_VENDOR}"/zstd-sys-*/ -name '*.c' -delete || die
+}
+
+src_configure() {
+ local myfeatures=(
+ test-git
+ test-pypi
+ test-python
+ )
+
+ cargo_src_configure --no-default-features
+ # otherwise, rustc/llvm runs out of address space
+ use arm && export RUSTFLAGS="${RUSTFLAGS} -Copt-level=0"
+}
+
+src_compile() {
+ cd crates/uv || die
+ cargo_src_compile
+}
+
+src_test() {
+ cd crates/uv || die
+ cargo_src_test --no-fail-fast
+}
+
+src_install() {
+ dobin "$(cargo_target_dir)"/{uv,uvx}
+
+ insinto /etc/xdg/uv
+ newins - uv.toml <<-EOF || die
+ # These defaults match Fedora, see:
+ # https://src.fedoraproject.org/rpms/uv/pull-request/18
+
+ # By default ("automatic"), uv downloads missing Python versions
+ # automatically and keeps them in the user's home directory.
+ # Disable that to make downloading opt-in, and especially
+ # to avoid unnecessarily fetching custom Python when the distro
+ # package would be preferable. Python builds can still be
+ # downloaded manually via "uv python install".
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-downloads
+ python-downloads = "manual"
+
+ # By default ("managed"), uv always prefers self-installed
+ # Python versions over the system Python, independently
+ # of versions. Since we generally expect users to use that
+ # to install old Python versions not in ::gentoo anymore,
+ # this effectively means that uv would end up preferring very
+ # old Python versions over the newer ones that are provided
+ # by the system. Default to using the system versions to avoid
+ # this counter-intuitive behavior.
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-preference
+ python-preference = "system"
+ EOF
+}
diff --git a/dev-util/codex/Manifest b/dev-util/codex/Manifest
index dfd0f6821b84..901d799065f8 100644
--- a/dev-util/codex/Manifest
+++ b/dev-util/codex/Manifest
@@ -1,8 +1,8 @@
DIST cloudflare-zlib-sys-0.3.6.crate 147199 BLAKE2B b7089d328048b838fd9003f14cd9bddb720507a3426bd3a99ab70aa32dabee44078d6e9f9cc0171d7674ebf084fdd60776063e6976d5bd9ae61b2943c94c00d1 SHA512 c0064ab7dda47088450b3abd0ac12981e1db44564e7acf03af0836f9a9c54310cac5f93dd0cbc64c32749ea9cfe899ead81533f630dd00f5e29e9c6ef7150e6e
DIST codex-0.139.0.tar.gz 8504781 BLAKE2B 1e2afd3cd83f0fca38169e9761b39e2a3fec3ca2524e89ce0860013f19a8aa7af37dfa61ddefd70d5e379dc235d66a19b91d659fa15d08af29a5754bf1d2305d SHA512 d923968f9a0d0d7d4fe085fb8c14aed5628bd682fc6685cd731127d41a8a846478f91d9e3c074a4fe0c83919fd0e1c3666e9bffc17aa277ba49d8063d6fd169b
-DIST codex-0.149.0.tar.gz 12118986 BLAKE2B 34067f32a75e29106fba7500be2f74b27ddd9405baa1a60c84d21a025157193bc057f86e5337071787c6b008f2b5df1f3c13e9345d401dde96d4426784feaf7a SHA512 d7e7262cbf5a3d897385a1a8679b28be73017580abef878a1475b4b28fe22cd9538458e61ac8b4178e7580618b4eef14da0522b4b073e8b09615a9d303674b19
+DIST codex-0.153.4.tar.gz 13319724 BLAKE2B f0def5a1b6651042f5a219d6818460ca365ef726b87a2e18b89f29051386d231f852e2be15ae4a9c00b59519826505758d3c0be958db0943fa7ae41c942b8146 SHA512 af73e9f57c3e01065c28ad23c5d657423fd77baeb87e92880270b4f680dbb4e94bef77e111e184b48e467acdbabfa8e8e9a852bcd57a2ee7d58edf7daa87d3a5
DIST codex-rust-v0.139.0-crates.tar.xz 121089128 BLAKE2B 7df8955f20e3b6ba5ab9e29aff78b6575d38c57f44b97866a74fa8c2204dbdc2daa767711f0b325eb5f286ded104bf6fdbc763acfc5eae4078fbcc3794f06b98 SHA512 83c391afb959521483a0640a4f9fbef63ed0d19ba89015fb5b7a0544cc2de30b0c32d806b84e3ff627dd7fc0c39aed5f6b55c7dcfd728b61267440b9114c87a6
-DIST codex-rust-v0.149.0-crates.tar.xz 132472572 BLAKE2B 04857da60bd97112a7ee22a6248bbd3a61649b805c6fb7e6a479ac92384746a28871e8caffc3c3e007b77a93d9b81dce66fd1dc1e4c0f271912fbacb5cb00cc7 SHA512 ec4b3602701ac691953c5ac095472504e1aacf957343a0ec2dbf78ab33f6b0e41a6be033ea30ae68b1bd953f7afcafa696303f73b4af1fcfcca71c6c5ddb3a65
+DIST codex-rust-v0.153.4-crates.tar.xz 132616996 BLAKE2B b3ad2257fac18ff5b0d52afa1a7d1d757006eb3d2a007e0ed3e6d76df10a879626b9fb6d41a33e1cbc575b027657f5ca154b3b5f0da532d3f59a5c2fcf6ba961 SHA512 6039b6ab8e9535dcb51c230cdcf319017fa859c0b884aa4a84e6baea43dbd407449f739df035f0cbcf7dde2253eebc4d8eab18c0eaf0137b513a51e26ce44f98
DIST crossterm-45fecb9508105988f42fe6ff0441783ed3717f92.gh.tar.gz 144786 BLAKE2B 18577acd2586a50723657e77b304d7bd309208d7ce597d315d13d7e36c90ac08f15510053ad1e927798b0edabc75fc8e54f1f2ac4978215084c0cf84573193e8 SHA512 aa5fd475a306000032fa0a68c758d81056920c68fd001ce632e0fbc11d70efd37def5786a677f3f4cd2e17b76672eda6bb53a517ba90a18e8dc312c390987786
DIST crossterm-87db8bfa6dc99427fd3b071681b07fc31c6ce995.gh.tar.gz 129254 BLAKE2B 414dacc3a682c7a6dc5c9e43f185966255205d18f0522ee7eae73b5f113b4c3ea9b132e6dee81783d4ce160e4bf95aab784cf3601d666265bef4f889d5e46e68 SHA512 9dc7247d081a25d18776c9c0fd7fe3373f372950728b7fcf5ff43aaa6f7d69f11e1dbd91f92991cbe73007eb9e78c9a901b2388c27ddd6898553fdcef7fdaf44
DIST libz-ng-sys-1.1.16.crate 478122 BLAKE2B 7c1be97251029732cd3a8c77dad8a492193282b5fddf40df480ef3a35a49f5d25c7dc183d81aa267722276156c8b97243742117686d078f2d3a566546fa83d58 SHA512 c7d1b062a06b283ee2d398ff456f13634ed1d2d436ea2b8a55f19fbbad47bc419e068b0f9e805221321062b8c5ad309dd3e5d466741780549ae3e5299eee06e1
diff --git a/dev-util/codex/codex-0.139.0.ebuild b/dev-util/codex/codex-0.139.0.ebuild
deleted file mode 100644
index 6aa69863ccab..000000000000
--- a/dev-util/codex/codex-0.139.0.ebuild
+++ /dev/null
@@ -1,154 +0,0 @@
-# Copyright 2025-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# NOTE: This package uses a pre-built crate tarball instead of listing individual
-# crates in CRATES="". This approach is required because:
-# 1. Codex has 800+ crate dependencies, which triggers Portage QA warnings:
-# "QA Notice: This package uses a very large number of CRATES. Please provide
-# a crate tarball instead and fetch it via SRC_URI."
-# 2. Stricter ebuild QA checks (e.g., in CI pipelines) fail with too many crates.
-#
-# The crate tarball is auto-generated by GitHub Actions at:
-# https://github.com/gentoo-zh-drafts/codex/
-# Workflow source code for auditing:
-# https://github.com/gentoo-zh-drafts/codex/blob/crate-dist/.github/workflows/crates.yml
-# This allows anyone to review and verify the crate packaging process.
-
-CRATES="
-"
-
-declare -A GIT_CRATES=(
- [crossterm]='https://github.com/nornagon/crossterm;87db8bfa6dc99427fd3b071681b07fc31c6ce995;crossterm-%commit%'
- [libwebrtc]='https://github.com/juberti-oai/rust-sdks;e2d1d1d230c6fc9df171ccb181423f957bb3c1f0;rust-sdks-%commit%/libwebrtc'
- [livekit-protocol]='https://github.com/juberti-oai/rust-sdks;e2d1d1d230c6fc9df171ccb181423f957bb3c1f0;rust-sdks-%commit%/livekit-protocol'
- [livekit-runtime]='https://github.com/juberti-oai/rust-sdks;e2d1d1d230c6fc9df171ccb181423f957bb3c1f0;rust-sdks-%commit%/livekit-runtime'
- [nucleo-matcher]='https://github.com/helix-editor/nucleo;4253de9faabb4e5c6d81d946a5e35a90f87347ee;nucleo-%commit%/matcher'
- [nucleo]='https://github.com/helix-editor/nucleo;4253de9faabb4e5c6d81d946a5e35a90f87347ee;nucleo-%commit%'
- [ratatui]='https://github.com/nornagon/ratatui;9b2ad1298408c45918ee9f8241a6f95498cdbed2;ratatui-%commit%'
- [runfiles]='https://github.com/dzbarsky/rules_rust;b56cbaa8465e74127f1ea216f813cd377295ad81;rules_rust-%commit%/rust/runfiles'
- [tokio-tungstenite]='https://github.com/openai-oss-forks/tokio-tungstenite;132f5b39c862e3a970f731d709608b3e6276d5f6;tokio-tungstenite-%commit%'
- [tungstenite]='https://github.com/openai-oss-forks/tungstenite-rs;9200079d3b54a1ff51072e24d81fd354f085156f;tungstenite-rs-%commit%'
- [webrtc-sys-build]='https://github.com/juberti-oai/rust-sdks;e2d1d1d230c6fc9df171ccb181423f957bb3c1f0;rust-sdks-%commit%/webrtc-sys/build'
- [webrtc-sys]='https://github.com/juberti-oai/rust-sdks;e2d1d1d230c6fc9df171ccb181423f957bb3c1f0;rust-sdks-%commit%/webrtc-sys'
-)
-
-RUST_MIN_VER="1.95.0"
-
-# python3 .github/scripts/rusty_v8_bazel.py resolved-v8-crate-version
-RUSTY_V8_TAG="147.4.0"
-
-inherit cargo check-reqs toolchain-funcs
-
-CHECKREQS_MEMORY="15G"
-CHECKREQS_DISK_BUILD="20G"
-
-DESCRIPTION="Codex CLI - OpenAI's AI-powered coding agent"
-HOMEPAGE="https://github.com/openai/codex"
-
-# The crate tarball URL uses ${PV} so it auto-updates when bumping versions.
-# This tarball is generated by: https://github.com/gentoo-zh-drafts/codex/
-# See .github/workflows/crates.yml for the generation process.
-SRC_URI="
- https://github.com/openai/${PN}/archive/rust-v${PV}.tar.gz -> ${P}.tar.gz
- https://github.com/gentoo-zh-drafts/codex/releases/download/rust-v${PV}/codex-rust-v${PV}-crates.tar.xz
- amd64? (
- https://github.com/openai/codex/releases/download/rusty-v8-v${RUSTY_V8_TAG}/librusty_v8_release_x86_64-unknown-linux-musl.a.gz
- -> rusty_v8_${RUSTY_V8_TAG}_librusty_v8_release_x86_64-unknown-linux-musl.a.gz
- https://github.com/openai/codex/releases/download/rusty-v8-v${RUSTY_V8_TAG}/src_binding_release_x86_64-unknown-linux-musl.rs
- -> rusty_v8_${RUSTY_V8_TAG}_src_binding_release_x86_64-unknown-linux-musl.rs
- )
- arm64? (
- https://github.com/openai/codex/releases/download/rusty-v8-v${RUSTY_V8_TAG}/librusty_v8_release_aarch64-unknown-linux-musl.a.gz
- -> rusty_v8_${RUSTY_V8_TAG}_librusty_v8_release_aarch64-unknown-linux-musl.a.gz
- https://github.com/openai/codex/releases/download/rusty-v8-v${RUSTY_V8_TAG}/src_binding_release_aarch64-unknown-linux-musl.rs
- -> rusty_v8_${RUSTY_V8_TAG}_src_binding_release_aarch64-unknown-linux-musl.rs
- )
- ${CARGO_CRATE_URIS}
-"
-
-S="${WORKDIR}/${PN}-rust-v${PV}/codex-rs"
-
-LICENSE="Apache-2.0"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD Boost-1.0
- CC0-1.0 CDLA-Permissive-2.0 ISC MIT MPL-2.0 Unicode-3.0 ZLIB
-"
-SLOT="0"
-KEYWORDS="-* ~amd64 ~arm64"
-# Tests fail due to ring crate conflicts with system OpenSSL
-RESTRICT="test"
-
-DEPEND="
- dev-libs/openssl:=
- sys-apps/dbus
-"
-RDEPEND="${DEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-# rust does not use *FLAGS from make.conf, silence portage warning
-QA_FLAGS_IGNORED="usr/bin/${PN}"
-
-pkg_pretend() {
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- check-reqs_pkg_setup
- rust_pkg_setup
- if tc-is-lto; then
- export CARGO_PROFILE_RELEASE_LTO=thin
- else
- export CARGO_PROFILE_RELEASE_LTO=false
- fi
-}
-
-gen_git_crate_dir() {
- # https://github.com/gentoo/gentoo/blob/b09dd88412fe2d5eee5a8891e08bfa2d67848da3/eclass/cargo.eclass#L442
- IFS=';' read -r crate_uri commit crate_dir <<<"${GIT_CRATES[$1]}"
- echo "${WORKDIR}/${crate_dir//%commit%/${commit}}"
-}
-
-src_prepare() {
- default
-
- # Fix tokio-tungstenite's git dependency on tungstenite
- sed -i '/^\[dependencies\.tungstenite\]/,/^$/{
- s|git = "https://github.com/openai-oss-forks/tungstenite-rs"|path = "'"$(gen_git_crate_dir tungstenite)"'"|
- /^rev = /d
- }' "$(gen_git_crate_dir tokio-tungstenite)/Cargo.toml" || die
-
- # Remove the [patch.crates-io] section and add path-based patches
- sed -i '/^\[patch\.crates-io\]/,/^$/d' "${S}/Cargo.toml" || die
- sed -i '/^\[patch\."ssh:\/\/git@github\.com/,/^$/d' "${S}/Cargo.toml" || die
-
- # Add new patch section with local paths
- cat >> "${S}/Cargo.toml" <<-EOF || die
-
- [patch.crates-io]
- crossterm = { path = "$(gen_git_crate_dir crossterm)" }
- ratatui = { path = "$(gen_git_crate_dir ratatui)" }
- tokio-tungstenite = { path = "$(gen_git_crate_dir tokio-tungstenite)" }
- tungstenite = { path = "$(gen_git_crate_dir tungstenite)" }
- EOF
-}
-
-src_compile() {
- local rusty_v8_triple
- use amd64 && rusty_v8_triple=x86_64-unknown-linux-musl
- use arm64 && rusty_v8_triple=aarch64-unknown-linux-musl
-
- # codex-core trait resolution overflows rustc's default 8MiB stack
- export RUST_MIN_STACK=16777216
-
- RUSTY_V8_ARCHIVE="${DISTDIR}/rusty_v8_${RUSTY_V8_TAG}_librusty_v8_release_${rusty_v8_triple}.a.gz" \
- RUSTY_V8_SRC_BINDING_PATH="${DISTDIR}/rusty_v8_${RUSTY_V8_TAG}_src_binding_release_${rusty_v8_triple}.rs" \
- cargo_src_compile --package codex-cli
-}
-
-src_install() {
- dobin "$(cargo_target_dir)/codex"
- einstalldocs
-}
diff --git a/dev-util/codex/codex-0.149.0.ebuild b/dev-util/codex/codex-0.149.0.ebuild
deleted file mode 100644
index 63b651f7851d..000000000000
--- a/dev-util/codex/codex-0.149.0.ebuild
+++ /dev/null
@@ -1,157 +0,0 @@
-# Copyright 2025-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# NOTE: This package uses a pre-built crate tarball instead of listing individual
-# crates in CRATES="". This approach is required because:
-# 1. Codex has 800+ crate dependencies, which triggers Portage QA warnings:
-# "QA Notice: This package uses a very large number of CRATES. Please provide
-# a crate tarball instead and fetch it via SRC_URI."
-# 2. Stricter ebuild QA checks (e.g., in CI pipelines) fail with too many crates.
-#
-# The crate tarball is auto-generated by GitHub Actions at:
-# https://github.com/gentoo-zh-drafts/codex/
-# Workflow source code for auditing:
-# https://github.com/gentoo-zh-drafts/codex/blob/crate-dist/.github/workflows/crates.yml
-# This allows anyone to review and verify the crate packaging process.
-
-CRATES="
- cloudflare-zlib-sys@0.3.6
- libz-ng-sys@1.1.16
- libz-sys@1.1.20
-"
-
-declare -A GIT_CRATES=(
- [crossterm]='https://github.com/openai-oss-forks/crossterm;45fecb9508105988f42fe6ff0441783ed3717f92;crossterm-%commit%'
- [libwebrtc]='https://github.com/juberti-oai/rust-sdks;e2d1d1d230c6fc9df171ccb181423f957bb3c1f0;rust-sdks-%commit%/libwebrtc'
- [livekit-protocol]='https://github.com/juberti-oai/rust-sdks;e2d1d1d230c6fc9df171ccb181423f957bb3c1f0;rust-sdks-%commit%/livekit-protocol'
- [livekit-runtime]='https://github.com/juberti-oai/rust-sdks;e2d1d1d230c6fc9df171ccb181423f957bb3c1f0;rust-sdks-%commit%/livekit-runtime'
- [nucleo-matcher]='https://github.com/helix-editor/nucleo;4253de9faabb4e5c6d81d946a5e35a90f87347ee;nucleo-%commit%/matcher'
- [nucleo]='https://github.com/helix-editor/nucleo;4253de9faabb4e5c6d81d946a5e35a90f87347ee;nucleo-%commit%'
- [ratatui]='https://github.com/nornagon/ratatui;9b2ad1298408c45918ee9f8241a6f95498cdbed2;ratatui-%commit%'
- [runfiles]='https://github.com/dzbarsky/rules_rust;b56cbaa8465e74127f1ea216f813cd377295ad81;rules_rust-%commit%/rust/runfiles'
- [tokio-tungstenite]='https://github.com/openai-oss-forks/tokio-tungstenite;132f5b39c862e3a970f731d709608b3e6276d5f6;tokio-tungstenite-%commit%'
- [tungstenite]='https://github.com/openai-oss-forks/tungstenite-rs;9200079d3b54a1ff51072e24d81fd354f085156f;tungstenite-rs-%commit%'
- [webrtc-sys-build]='https://github.com/juberti-oai/rust-sdks;e2d1d1d230c6fc9df171ccb181423f957bb3c1f0;rust-sdks-%commit%/webrtc-sys/build'
- [webrtc-sys]='https://github.com/juberti-oai/rust-sdks;e2d1d1d230c6fc9df171ccb181423f957bb3c1f0;rust-sdks-%commit%/webrtc-sys'
-)
-
-RUST_MIN_VER="1.95.0"
-
-# python3 .github/scripts/rusty_v8_bazel.py resolved-v8-crate-version
-RUSTY_V8_TAG="147.4.0"
-
-inherit cargo check-reqs toolchain-funcs
-
-CHECKREQS_MEMORY="15G"
-CHECKREQS_DISK_BUILD="20G"
-
-DESCRIPTION="Codex CLI - OpenAI's AI-powered coding agent"
-HOMEPAGE="https://github.com/openai/codex"
-
-# The crate tarball URL uses ${PV} so it auto-updates when bumping versions.
-# This tarball is generated by: https://github.com/gentoo-zh-drafts/codex/
-# See .github/workflows/crates.yml for the generation process.
-SRC_URI="
- https://github.com/openai/${PN}/archive/rust-v${PV}.tar.gz -> ${P}.tar.gz
- https://github.com/gentoo-zh-drafts/codex/releases/download/rust-v${PV}/codex-rust-v${PV}-crates.tar.xz
- amd64? (
- https://github.com/openai/codex/releases/download/rusty-v8-v${RUSTY_V8_TAG}/librusty_v8_release_x86_64-unknown-linux-musl.a.gz
- -> rusty_v8_${RUSTY_V8_TAG}_librusty_v8_release_x86_64-unknown-linux-musl.a.gz
- https://github.com/openai/codex/releases/download/rusty-v8-v${RUSTY_V8_TAG}/src_binding_release_x86_64-unknown-linux-musl.rs
- -> rusty_v8_${RUSTY_V8_TAG}_src_binding_release_x86_64-unknown-linux-musl.rs
- )
- arm64? (
- https://github.com/openai/codex/releases/download/rusty-v8-v${RUSTY_V8_TAG}/librusty_v8_release_aarch64-unknown-linux-musl.a.gz
- -> rusty_v8_${RUSTY_V8_TAG}_librusty_v8_release_aarch64-unknown-linux-musl.a.gz
- https://github.com/openai/codex/releases/download/rusty-v8-v${RUSTY_V8_TAG}/src_binding_release_aarch64-unknown-linux-musl.rs
- -> rusty_v8_${RUSTY_V8_TAG}_src_binding_release_aarch64-unknown-linux-musl.rs
- )
- ${CARGO_CRATE_URIS}
-"
-
-S="${WORKDIR}/${PN}-rust-v${PV}/codex-rs"
-
-LICENSE="Apache-2.0"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD Boost-1.0
- CC0-1.0 CDLA-Permissive-2.0 ISC MIT MPL-2.0 Unicode-3.0 ZLIB
-"
-SLOT="0"
-KEYWORDS="-* ~amd64 ~arm64"
-# Tests fail due to ring crate conflicts with system OpenSSL
-RESTRICT="test"
-
-DEPEND="
- dev-libs/openssl:=
- sys-apps/dbus
-"
-RDEPEND="${DEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-# rust does not use *FLAGS from make.conf, silence portage warning
-QA_FLAGS_IGNORED="usr/bin/${PN}"
-
-pkg_pretend() {
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- check-reqs_pkg_setup
- rust_pkg_setup
- if tc-is-lto; then
- export CARGO_PROFILE_RELEASE_LTO=thin
- else
- export CARGO_PROFILE_RELEASE_LTO=false
- fi
-}
-
-gen_git_crate_dir() {
- # https://github.com/gentoo/gentoo/blob/b09dd88412fe2d5eee5a8891e08bfa2d67848da3/eclass/cargo.eclass#L442
- IFS=';' read -r crate_uri commit crate_dir <<<"${GIT_CRATES[$1]}"
- echo "${WORKDIR}/${crate_dir//%commit%/${commit}}"
-}
-
-src_prepare() {
- default
-
- # Fix tokio-tungstenite's git dependency on tungstenite
- sed -i '/^\[dependencies\.tungstenite\]/,/^$/{
- s|git = "https://github.com/openai-oss-forks/tungstenite-rs"|path = "'"$(gen_git_crate_dir tungstenite)"'"|
- /^rev = /d
- }' "$(gen_git_crate_dir tokio-tungstenite)/Cargo.toml" || die
-
- # Remove the [patch.crates-io] section and add path-based patches
- sed -i '/^\[patch\.crates-io\]/,/^$/d' "${S}/Cargo.toml" || die
- sed -i '/^\[patch\."ssh:\/\/git@github\.com/,/^$/d' "${S}/Cargo.toml" || die
-
- # Add new patch section with local paths
- cat >> "${S}/Cargo.toml" <<-EOF || die
-
- [patch.crates-io]
- crossterm = { path = "$(gen_git_crate_dir crossterm)" }
- ratatui = { path = "$(gen_git_crate_dir ratatui)" }
- tokio-tungstenite = { path = "$(gen_git_crate_dir tokio-tungstenite)" }
- tungstenite = { path = "$(gen_git_crate_dir tungstenite)" }
- EOF
-}
-
-src_compile() {
- local rusty_v8_triple
- use amd64 && rusty_v8_triple=x86_64-unknown-linux-musl
- use arm64 && rusty_v8_triple=aarch64-unknown-linux-musl
-
- # codex-core trait resolution overflows rustc's default 8MiB stack
- export RUST_MIN_STACK=16777216
-
- RUSTY_V8_ARCHIVE="${DISTDIR}/rusty_v8_${RUSTY_V8_TAG}_librusty_v8_release_${rusty_v8_triple}.a.gz" \
- RUSTY_V8_SRC_BINDING_PATH="${DISTDIR}/rusty_v8_${RUSTY_V8_TAG}_src_binding_release_${rusty_v8_triple}.rs" \
- cargo_src_compile --package codex-cli
-}
-
-src_install() {
- dobin "$(cargo_target_dir)/codex"
- einstalldocs
-}
diff --git a/dev-util/e/codex/codex-0.149.0.ebuild b/dev-util/codex/codex-0.153.4.ebuild
index 63b651f7851d..b24f964ce2fc 100644
--- a/dev-util/e/codex/codex-0.149.0.ebuild
+++ b/dev-util/codex/codex-0.153.4.ebuild
@@ -117,6 +117,11 @@ gen_git_crate_dir() {
src_prepare() {
default
+ # Cargo resolves target-specific dependencies while building the package
+ # graph, so drop this unvendored Windows-only git dependency on Linux.
+ sed -i '/^appcontainer_common = { workspace = true }$/d' \
+ "${S}/sandboxing/Cargo.toml" || die
+
# Fix tokio-tungstenite's git dependency on tungstenite
sed -i '/^\[dependencies\.tungstenite\]/,/^$/{
s|git = "https://github.com/openai-oss-forks/tungstenite-rs"|path = "'"$(gen_git_crate_dir tungstenite)"'"|
diff --git a/dev-util/e/codex/Manifest b/dev-util/e/codex/Manifest
deleted file mode 100644
index dfd0f6821b84..000000000000
--- a/dev-util/e/codex/Manifest
+++ /dev/null
@@ -1,19 +0,0 @@
-DIST cloudflare-zlib-sys-0.3.6.crate 147199 BLAKE2B b7089d328048b838fd9003f14cd9bddb720507a3426bd3a99ab70aa32dabee44078d6e9f9cc0171d7674ebf084fdd60776063e6976d5bd9ae61b2943c94c00d1 SHA512 c0064ab7dda47088450b3abd0ac12981e1db44564e7acf03af0836f9a9c54310cac5f93dd0cbc64c32749ea9cfe899ead81533f630dd00f5e29e9c6ef7150e6e
-DIST codex-0.139.0.tar.gz 8504781 BLAKE2B 1e2afd3cd83f0fca38169e9761b39e2a3fec3ca2524e89ce0860013f19a8aa7af37dfa61ddefd70d5e379dc235d66a19b91d659fa15d08af29a5754bf1d2305d SHA512 d923968f9a0d0d7d4fe085fb8c14aed5628bd682fc6685cd731127d41a8a846478f91d9e3c074a4fe0c83919fd0e1c3666e9bffc17aa277ba49d8063d6fd169b
-DIST codex-0.149.0.tar.gz 12118986 BLAKE2B 34067f32a75e29106fba7500be2f74b27ddd9405baa1a60c84d21a025157193bc057f86e5337071787c6b008f2b5df1f3c13e9345d401dde96d4426784feaf7a SHA512 d7e7262cbf5a3d897385a1a8679b28be73017580abef878a1475b4b28fe22cd9538458e61ac8b4178e7580618b4eef14da0522b4b073e8b09615a9d303674b19
-DIST codex-rust-v0.139.0-crates.tar.xz 121089128 BLAKE2B 7df8955f20e3b6ba5ab9e29aff78b6575d38c57f44b97866a74fa8c2204dbdc2daa767711f0b325eb5f286ded104bf6fdbc763acfc5eae4078fbcc3794f06b98 SHA512 83c391afb959521483a0640a4f9fbef63ed0d19ba89015fb5b7a0544cc2de30b0c32d806b84e3ff627dd7fc0c39aed5f6b55c7dcfd728b61267440b9114c87a6
-DIST codex-rust-v0.149.0-crates.tar.xz 132472572 BLAKE2B 04857da60bd97112a7ee22a6248bbd3a61649b805c6fb7e6a479ac92384746a28871e8caffc3c3e007b77a93d9b81dce66fd1dc1e4c0f271912fbacb5cb00cc7 SHA512 ec4b3602701ac691953c5ac095472504e1aacf957343a0ec2dbf78ab33f6b0e41a6be033ea30ae68b1bd953f7afcafa696303f73b4af1fcfcca71c6c5ddb3a65
-DIST crossterm-45fecb9508105988f42fe6ff0441783ed3717f92.gh.tar.gz 144786 BLAKE2B 18577acd2586a50723657e77b304d7bd309208d7ce597d315d13d7e36c90ac08f15510053ad1e927798b0edabc75fc8e54f1f2ac4978215084c0cf84573193e8 SHA512 aa5fd475a306000032fa0a68c758d81056920c68fd001ce632e0fbc11d70efd37def5786a677f3f4cd2e17b76672eda6bb53a517ba90a18e8dc312c390987786
-DIST crossterm-87db8bfa6dc99427fd3b071681b07fc31c6ce995.gh.tar.gz 129254 BLAKE2B 414dacc3a682c7a6dc5c9e43f185966255205d18f0522ee7eae73b5f113b4c3ea9b132e6dee81783d4ce160e4bf95aab784cf3601d666265bef4f889d5e46e68 SHA512 9dc7247d081a25d18776c9c0fd7fe3373f372950728b7fcf5ff43aaa6f7d69f11e1dbd91f92991cbe73007eb9e78c9a901b2388c27ddd6898553fdcef7fdaf44
-DIST libz-ng-sys-1.1.16.crate 478122 BLAKE2B 7c1be97251029732cd3a8c77dad8a492193282b5fddf40df480ef3a35a49f5d25c7dc183d81aa267722276156c8b97243742117686d078f2d3a566546fa83d58 SHA512 c7d1b062a06b283ee2d398ff456f13634ed1d2d436ea2b8a55f19fbbad47bc419e068b0f9e805221321062b8c5ad309dd3e5d466741780549ae3e5299eee06e1
-DIST libz-sys-1.1.20.crate 830422 BLAKE2B 26265b1faf04f7d0cfd751ddf003585b1be59fcf8fde3ddfd86f18cc3e2d5c3b62a808f47c01329a57759d14fe6283cd94a72eda46d5c5031249df0f1696ab03 SHA512 9b537e7c01553e782be145223c6d174601ade3a950bfd0eb4ea09658da5b8910cf0d0c5984672f9d198f73d5aa63d21e0c20c4c44ff7d0a017ee11ae4ecf4859
-DIST nucleo-4253de9faabb4e5c6d81d946a5e35a90f87347ee.gh.tar.gz 86782 BLAKE2B a812a2d2f08df818ac7b13b800f51c4229ea1f968668b1224fbc1fd82fb4e045f6b2c536ec6d2647a579097efbddaf041f4b7b356107679156aaa3ca5a9d4068 SHA512 354061278efce55defb30b9ee2ef5cdab745ab56d7d113f6f47a8ac174b4215ec6efe15c15bef0e3d907350182c0d189071e9d7d17d40e807d4db5361682f4e0
-DIST ratatui-9b2ad1298408c45918ee9f8241a6f95498cdbed2.gh.tar.gz 566574 BLAKE2B 97f09fda6a798afb00067debab30b89d35aa00bfd284d2ef95fd6176aaa680121a8eee9b8dbe605e6230a6e72ead7b5d4e57ddf4892bcfe93f2fcbbafaba88d2 SHA512 b2ab8bcf19cfd649b8fbbc6752b628f69e79b09e8f8258ea9112ce4348dee512d9e718b5310fc73de65239b51b2b1b593942974f9698bd080616ab389093f4ef
-DIST rules_rust-b56cbaa8465e74127f1ea216f813cd377295ad81.gh.tar.gz 3951333 BLAKE2B e369b7ccc25326726340fced4c8f8f9181f02f45be9d5f24d00201999a2b11c42d010e7623429b1910db7fdfdf4c202e061a5ba5db722d3126ee26d9597d7e0d SHA512 3f2ef3d7940096fa34b85ee0d9979085fe99c7d2ae8c5ed9399bd5cf8370a31fa93d16c752f22166b42d30c2b7f9f921f7a963928519592e3ffd588644d3b1c7
-DIST rust-sdks-e2d1d1d230c6fc9df171ccb181423f957bb3c1f0.gh.tar.gz 9672900 BLAKE2B 8774fe0fe626c941535ae3ae1fd23b0d0ce6d72d1d267a34e8dec1c52add12ea9ca2b3be95d433003d6ed24c3f7bf3a4683a40f42cf225b988caef503f9acead SHA512 e25bb828d12d9e1b142d8d66b04ba65ebf127308e3bc48f884811c7169d3bdc9370828b9fa2219db7dc14f730a6dc94ac5fd23cec5dd1d75abb2253d29b57293
-DIST rusty_v8_147.4.0_librusty_v8_release_aarch64-unknown-linux-musl.a.gz 28506695 BLAKE2B e9c1e6b7838466f42ab40e394fc136d380d25e36287c14cbf4f8670e5de889ec4611083596158eb468ca2bedfc728bc05e1fba98ba353ae5a05b2d2ec4683305 SHA512 2d069f7c292be3cc68c1a9a6b30819707bf6ec5fa06e0dd4b83ced365decedb445b0b0e4bcd1ccab7beaf18b427ca0ab342e474868c13d7b86b7a776c2b51eda
-DIST rusty_v8_147.4.0_librusty_v8_release_x86_64-unknown-linux-musl.a.gz 28963294 BLAKE2B 7f82d32e792a2369af969d1b02efe088ecabb90ced58746cfda2407a78ad72b83ac298e6bd4d4524fd9f10260878b9f2559f9697bd64b4010715475cdae4dfbd SHA512 06221f45db84e9eb41369761848d1067fcf5688b0c4559ffb27f773e7e6382b9f0f88cca55b1b2c81c4af99c6787261be06e3973b0124a864dad5b80315352e1
-DIST rusty_v8_147.4.0_src_binding_release_aarch64-unknown-linux-musl.rs 40798 BLAKE2B 67d760138c88eefcc0e90ff2989785628592d3f04eeeb188bc15bfb1ca8e28ea80bd6213da2e7a470e5e7cdc80aaef3dc03f1db842e137c975dbe3ff0aff27c4 SHA512 e60537dd2c24c9804b1d242a61f3c9e4a5d7ef3dc60dfb3dfc80c30f915f29fa8fd7021ba88db034c7fe6e467df6a945cc895404efbbbb4b97ef61ee7a858365
-DIST rusty_v8_147.4.0_src_binding_release_x86_64-unknown-linux-musl.rs 40798 BLAKE2B 67d760138c88eefcc0e90ff2989785628592d3f04eeeb188bc15bfb1ca8e28ea80bd6213da2e7a470e5e7cdc80aaef3dc03f1db842e137c975dbe3ff0aff27c4 SHA512 e60537dd2c24c9804b1d242a61f3c9e4a5d7ef3dc60dfb3dfc80c30f915f29fa8fd7021ba88db034c7fe6e467df6a945cc895404efbbbb4b97ef61ee7a858365
-DIST tokio-tungstenite-132f5b39c862e3a970f731d709608b3e6276d5f6.gh.tar.gz 31620 BLAKE2B 139395aeb58bf9ad632efd3c9a8d58d888b55da14129529b453fbf3b49cf5323f0d89912a25b30bc238673b729f4d4ff243826c9a5a25426ba6d77913c42b041 SHA512 8784ff79f1f78be5884a085b1a89300257df2a1b7d82c6a226961fd949c9a5a6ba3d825db8db6bc5e314ee184fd2f3bd0a3bf36923744f6a708870ca7ddaf76b
-DIST tungstenite-rs-9200079d3b54a1ff51072e24d81fd354f085156f.gh.tar.gz 293929 BLAKE2B c3ce0b5f2939fc6dbbe5d0d539b3e7951e40cd646232086a023a8dba96c2160c6a5e61159463a071b1c97f6150a335cf844f53aa64c4751253eb7177c3720258 SHA512 44dd8c0dc60c86a5feb047002b8f9dae167a6ddf5c23e2ca8604018bfd0a24bfa2f1457a2715586c925d0639d0cfbb64931328addbc06a645c3744927fa76e2d
diff --git a/dev-util/e/codex/codex-0.139.0.ebuild b/dev-util/e/codex/codex-0.139.0.ebuild
deleted file mode 100644
index 6aa69863ccab..000000000000
--- a/dev-util/e/codex/codex-0.139.0.ebuild
+++ /dev/null
@@ -1,154 +0,0 @@
-# Copyright 2025-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# NOTE: This package uses a pre-built crate tarball instead of listing individual
-# crates in CRATES="". This approach is required because:
-# 1. Codex has 800+ crate dependencies, which triggers Portage QA warnings:
-# "QA Notice: This package uses a very large number of CRATES. Please provide
-# a crate tarball instead and fetch it via SRC_URI."
-# 2. Stricter ebuild QA checks (e.g., in CI pipelines) fail with too many crates.
-#
-# The crate tarball is auto-generated by GitHub Actions at:
-# https://github.com/gentoo-zh-drafts/codex/
-# Workflow source code for auditing:
-# https://github.com/gentoo-zh-drafts/codex/blob/crate-dist/.github/workflows/crates.yml
-# This allows anyone to review and verify the crate packaging process.
-
-CRATES="
-"
-
-declare -A GIT_CRATES=(
- [crossterm]='https://github.com/nornagon/crossterm;87db8bfa6dc99427fd3b071681b07fc31c6ce995;crossterm-%commit%'
- [libwebrtc]='https://github.com/juberti-oai/rust-sdks;e2d1d1d230c6fc9df171ccb181423f957bb3c1f0;rust-sdks-%commit%/libwebrtc'
- [livekit-protocol]='https://github.com/juberti-oai/rust-sdks;e2d1d1d230c6fc9df171ccb181423f957bb3c1f0;rust-sdks-%commit%/livekit-protocol'
- [livekit-runtime]='https://github.com/juberti-oai/rust-sdks;e2d1d1d230c6fc9df171ccb181423f957bb3c1f0;rust-sdks-%commit%/livekit-runtime'
- [nucleo-matcher]='https://github.com/helix-editor/nucleo;4253de9faabb4e5c6d81d946a5e35a90f87347ee;nucleo-%commit%/matcher'
- [nucleo]='https://github.com/helix-editor/nucleo;4253de9faabb4e5c6d81d946a5e35a90f87347ee;nucleo-%commit%'
- [ratatui]='https://github.com/nornagon/ratatui;9b2ad1298408c45918ee9f8241a6f95498cdbed2;ratatui-%commit%'
- [runfiles]='https://github.com/dzbarsky/rules_rust;b56cbaa8465e74127f1ea216f813cd377295ad81;rules_rust-%commit%/rust/runfiles'
- [tokio-tungstenite]='https://github.com/openai-oss-forks/tokio-tungstenite;132f5b39c862e3a970f731d709608b3e6276d5f6;tokio-tungstenite-%commit%'
- [tungstenite]='https://github.com/openai-oss-forks/tungstenite-rs;9200079d3b54a1ff51072e24d81fd354f085156f;tungstenite-rs-%commit%'
- [webrtc-sys-build]='https://github.com/juberti-oai/rust-sdks;e2d1d1d230c6fc9df171ccb181423f957bb3c1f0;rust-sdks-%commit%/webrtc-sys/build'
- [webrtc-sys]='https://github.com/juberti-oai/rust-sdks;e2d1d1d230c6fc9df171ccb181423f957bb3c1f0;rust-sdks-%commit%/webrtc-sys'
-)
-
-RUST_MIN_VER="1.95.0"
-
-# python3 .github/scripts/rusty_v8_bazel.py resolved-v8-crate-version
-RUSTY_V8_TAG="147.4.0"
-
-inherit cargo check-reqs toolchain-funcs
-
-CHECKREQS_MEMORY="15G"
-CHECKREQS_DISK_BUILD="20G"
-
-DESCRIPTION="Codex CLI - OpenAI's AI-powered coding agent"
-HOMEPAGE="https://github.com/openai/codex"
-
-# The crate tarball URL uses ${PV} so it auto-updates when bumping versions.
-# This tarball is generated by: https://github.com/gentoo-zh-drafts/codex/
-# See .github/workflows/crates.yml for the generation process.
-SRC_URI="
- https://github.com/openai/${PN}/archive/rust-v${PV}.tar.gz -> ${P}.tar.gz
- https://github.com/gentoo-zh-drafts/codex/releases/download/rust-v${PV}/codex-rust-v${PV}-crates.tar.xz
- amd64? (
- https://github.com/openai/codex/releases/download/rusty-v8-v${RUSTY_V8_TAG}/librusty_v8_release_x86_64-unknown-linux-musl.a.gz
- -> rusty_v8_${RUSTY_V8_TAG}_librusty_v8_release_x86_64-unknown-linux-musl.a.gz
- https://github.com/openai/codex/releases/download/rusty-v8-v${RUSTY_V8_TAG}/src_binding_release_x86_64-unknown-linux-musl.rs
- -> rusty_v8_${RUSTY_V8_TAG}_src_binding_release_x86_64-unknown-linux-musl.rs
- )
- arm64? (
- https://github.com/openai/codex/releases/download/rusty-v8-v${RUSTY_V8_TAG}/librusty_v8_release_aarch64-unknown-linux-musl.a.gz
- -> rusty_v8_${RUSTY_V8_TAG}_librusty_v8_release_aarch64-unknown-linux-musl.a.gz
- https://github.com/openai/codex/releases/download/rusty-v8-v${RUSTY_V8_TAG}/src_binding_release_aarch64-unknown-linux-musl.rs
- -> rusty_v8_${RUSTY_V8_TAG}_src_binding_release_aarch64-unknown-linux-musl.rs
- )
- ${CARGO_CRATE_URIS}
-"
-
-S="${WORKDIR}/${PN}-rust-v${PV}/codex-rs"
-
-LICENSE="Apache-2.0"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD Boost-1.0
- CC0-1.0 CDLA-Permissive-2.0 ISC MIT MPL-2.0 Unicode-3.0 ZLIB
-"
-SLOT="0"
-KEYWORDS="-* ~amd64 ~arm64"
-# Tests fail due to ring crate conflicts with system OpenSSL
-RESTRICT="test"
-
-DEPEND="
- dev-libs/openssl:=
- sys-apps/dbus
-"
-RDEPEND="${DEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-# rust does not use *FLAGS from make.conf, silence portage warning
-QA_FLAGS_IGNORED="usr/bin/${PN}"
-
-pkg_pretend() {
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- check-reqs_pkg_setup
- rust_pkg_setup
- if tc-is-lto; then
- export CARGO_PROFILE_RELEASE_LTO=thin
- else
- export CARGO_PROFILE_RELEASE_LTO=false
- fi
-}
-
-gen_git_crate_dir() {
- # https://github.com/gentoo/gentoo/blob/b09dd88412fe2d5eee5a8891e08bfa2d67848da3/eclass/cargo.eclass#L442
- IFS=';' read -r crate_uri commit crate_dir <<<"${GIT_CRATES[$1]}"
- echo "${WORKDIR}/${crate_dir//%commit%/${commit}}"
-}
-
-src_prepare() {
- default
-
- # Fix tokio-tungstenite's git dependency on tungstenite
- sed -i '/^\[dependencies\.tungstenite\]/,/^$/{
- s|git = "https://github.com/openai-oss-forks/tungstenite-rs"|path = "'"$(gen_git_crate_dir tungstenite)"'"|
- /^rev = /d
- }' "$(gen_git_crate_dir tokio-tungstenite)/Cargo.toml" || die
-
- # Remove the [patch.crates-io] section and add path-based patches
- sed -i '/^\[patch\.crates-io\]/,/^$/d' "${S}/Cargo.toml" || die
- sed -i '/^\[patch\."ssh:\/\/git@github\.com/,/^$/d' "${S}/Cargo.toml" || die
-
- # Add new patch section with local paths
- cat >> "${S}/Cargo.toml" <<-EOF || die
-
- [patch.crates-io]
- crossterm = { path = "$(gen_git_crate_dir crossterm)" }
- ratatui = { path = "$(gen_git_crate_dir ratatui)" }
- tokio-tungstenite = { path = "$(gen_git_crate_dir tokio-tungstenite)" }
- tungstenite = { path = "$(gen_git_crate_dir tungstenite)" }
- EOF
-}
-
-src_compile() {
- local rusty_v8_triple
- use amd64 && rusty_v8_triple=x86_64-unknown-linux-musl
- use arm64 && rusty_v8_triple=aarch64-unknown-linux-musl
-
- # codex-core trait resolution overflows rustc's default 8MiB stack
- export RUST_MIN_STACK=16777216
-
- RUSTY_V8_ARCHIVE="${DISTDIR}/rusty_v8_${RUSTY_V8_TAG}_librusty_v8_release_${rusty_v8_triple}.a.gz" \
- RUSTY_V8_SRC_BINDING_PATH="${DISTDIR}/rusty_v8_${RUSTY_V8_TAG}_src_binding_release_${rusty_v8_triple}.rs" \
- cargo_src_compile --package codex-cli
-}
-
-src_install() {
- dobin "$(cargo_target_dir)/codex"
- einstalldocs
-}
diff --git a/dev-util/e/codex/metadata.xml b/dev-util/e/codex/metadata.xml
deleted file mode 100644
index 992e36b04c84..000000000000
--- a/dev-util/e/codex/metadata.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>vowstar@gmail.com</email>
- <name>Huang Rui</name>
- </maintainer>
- <longdescription lang="en">
- Codex CLI is an AI-powered coding agent from OpenAI that runs in your
- terminal. It can understand your codebase, execute commands, and help
- you write, debug, and refactor code using natural language. Codex uses
- advanced language models to provide intelligent code assistance directly
- from the command line.
- </longdescription>
- <longdescription lang="zh">
- Codex CLI 是 OpenAI 推出的 AI 编程助手,可在终端中运行。它能够理解你的
- 代码库、执行命令,并通过自然语言帮助你编写、调试和重构代码。Codex 使用
- 先进的语言模型,直接从命令行提供智能代码辅助。
- </longdescription>
- <upstream>
- <bugs-to>https://github.com/openai/codex/issues</bugs-to>
- </upstream>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index 822c925744b2..dd2b3e5ff104 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -333,9 +333,17 @@ _qt6-build_sanitize_cpu_flags() {
# so users will not lose *all* CPU-specific optimizations
local march=$(
$(tc-getCXX) -x c++ -E -P ${CXXFLAGS} ${CPPFLAGS} - <<-EOF | sed -n '/^-march=/p' | tail -n 1
- #if !defined(__EVEX512__) && !defined(__clang__) && __GNUC__ >= 16
- # define __EVEX512__ 1 /* removed in gcc-16 (bug #956750,#969664) */
+ /* ignore evex* for >=gcc-16 and >=clang-22 (bug #956750,#969664) */
+ /* TODO: drop this and v4's EVEX* when both compilers been stable for a while */
+ #if (!defined(__clang__) && __GNUC__ >= 16) || __clang_major__ >= 22
+ # ifndef __EVEX256__
+ # define __EVEX256__ 1
+ # endif
+ # ifndef __EVEX512__
+ # define __EVEX512__ 1
+ # endif
#endif
+
#if (__CRC32__ + __LAHF_SAHF__ + __POPCNT__ + __SSE3__ + __SSE4_1__ + __SSE4_2__ + __SSSE3__) == 7
-march=x86-64-v2
# if (__AVX__ + __AVX2__ + __BMI__ + __BMI2__ + __F16C__ + __FMA__ + __LZCNT__ + __MOVBE__ + __XSAVE__) == 9
diff --git a/gui-libs/egl-gbm/Manifest b/gui-libs/egl-gbm/Manifest
index e13fed728b2c..d5c732c72cd4 100644
--- a/gui-libs/egl-gbm/Manifest
+++ b/gui-libs/egl-gbm/Manifest
@@ -1 +1,2 @@
DIST egl-gbm-1.1.3.tar.gz 18199 BLAKE2B 5d85ede5ad973cacd42df827faf5c2d6cce005bfc0b446689f3dea7557210f7546bc369681ff9b00ef27d538dbe54566c4b0aa92548817b77f7034f529f4136f SHA512 23ce3eddbc7ba2aad02121b5ddcca461309b099532b911414f992c25c24df3cf58a6a2955be919af044d9a6506a6e073e58e7c292a8cc500c76d48a8aefab608
+DIST egl-gbm-1.1.4.tar.gz 18291 BLAKE2B c470778bc45a91367677ff67faa115b673b29d057009b9105b60aab2c366dd8536d56f7f5c1e8098f605843da6911d8b3ceac163fed43856c802d5746a71cab4 SHA512 c451148f475445eb2d97f88aec41e780919af158a7ee5464fb935b1d9b90d53c66c390326ec8f3aaea3355a272c210bfb0bf785dbb85874512a5af71e894b644
diff --git a/gui-libs/egl-gbm/egl-gbm-1.1.4.ebuild b/gui-libs/egl-gbm/egl-gbm-1.1.4.ebuild
new file mode 100644
index 000000000000..e775563521cf
--- /dev/null
+++ b/gui-libs/egl-gbm/egl-gbm-1.1.4.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2021-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson-multilib
+
+DESCRIPTION="NVIDIA GBM EGL external platform library"
+HOMEPAGE="https://github.com/NVIDIA/egl-gbm/"
+
+if [[ ${PV} == *_pre* ]]; then
+ # happens often that nvidia-drivers ships with a (yet) unreleased
+ # version and we need to ship a snapshot to provide the same fixes
+ HASH_EGLGBM=
+ SRC_URI="
+ https://github.com/NVIDIA/egl-gbm/archive/${HASH_EGLGBM}.tar.gz
+ -> ${P}.tar.gz
+ "
+ S=${WORKDIR}/${PN}-${HASH_EGLGBM}
+else
+ SRC_URI="
+ https://github.com/NVIDIA/egl-gbm/archive/${PV}.tar.gz
+ -> ${P}.tar.gz
+ "
+fi
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ media-libs/mesa[gbm(+),${MULTILIB_USEDEP}]
+ x11-libs/libdrm[${MULTILIB_USEDEP}]
+"
+DEPEND="
+ ${RDEPEND}
+ >=gui-libs/eglexternalplatform-1.1-r1
+ media-libs/libglvnd
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.1.0-werror.patch
+)
diff --git a/gui-libs/egl-wayland/Manifest b/gui-libs/egl-wayland/Manifest
index f715f6a6e16d..33be43bcf147 100644
--- a/gui-libs/egl-wayland/Manifest
+++ b/gui-libs/egl-wayland/Manifest
@@ -1 +1,2 @@
DIST egl-wayland-1.1.21.tar.gz 76374 BLAKE2B c16ff00b26bb94a55ee20dc8b89d3d8b08e684f7bf6f7ceeb23fe22158222e36c8642aa20995d43daab33f58662a56a56311828533a09fc1eef608403cf5bb23 SHA512 52638b17b339201862942bd7e3f91254c1acc3e68cbe21778a29ae88e037dc589b0ba7e50a2aad9b43bd06dcb6a2b889292cd10f4d5b04c00afe5d59d9594b6f
+DIST egl-wayland-1.1.22.tar.gz 76522 BLAKE2B acf3e1ca3f6735e2754b4cc8ab0dec8d9afa4caef6d77f807c85edabf0a11841cd2cd26ed15f77f2d37de1737747f84ef56712b8a2e59193cd648993783975ea SHA512 47c5b12b28956dabdc77d2b14e2ef2dca95766164779a981e9ef42494e1e51b8702baf8fd8f529f7dff53ab239920cd70f174710bcf59b6ba40cabbf661fee5d
diff --git a/gui-libs/egl-wayland/egl-wayland-1.1.22.ebuild b/gui-libs/egl-wayland/egl-wayland-1.1.22.ebuild
new file mode 100644
index 000000000000..f4fe796765b9
--- /dev/null
+++ b/gui-libs/egl-wayland/egl-wayland-1.1.22.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson-multilib
+
+DESCRIPTION="NVIDIA wayland EGL external platform library"
+HOMEPAGE="https://github.com/NVIDIA/egl-wayland/"
+
+if [[ ${PV} == *_pre* ]]; then
+ # happens often that nvidia-drivers ships with a (yet) unreleased
+ # version and we need to ship a snapshot to provide the same fixes
+ HASH_EGLWAYLAND=
+ SRC_URI="
+ https://github.com/NVIDIA/egl-wayland/archive/${HASH_EGLWAYLAND}.tar.gz
+ -> ${P}.tar.gz
+ "
+ S=${WORKDIR}/${PN}-${HASH_EGLWAYLAND}
+else
+ SRC_URI="
+ https://github.com/NVIDIA/egl-wayland/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.tar.gz
+ "
+fi
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ dev-libs/wayland[${MULTILIB_USEDEP}]
+ x11-libs/libdrm[${MULTILIB_USEDEP}]
+"
+DEPEND="
+ ${RDEPEND}
+ >=dev-libs/wayland-protocols-1.34
+ >=gui-libs/eglexternalplatform-1.1-r1
+ media-libs/libglvnd[${MULTILIB_USEDEP}]
+"
+BDEPEND="
+ dev-util/wayland-scanner
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.1.6-remove-werror.patch
+)
diff --git a/gui-libs/egl-wayland2/Manifest b/gui-libs/egl-wayland2/Manifest
index 21f428e87abf..e7bd6ded231e 100644
--- a/gui-libs/egl-wayland2/Manifest
+++ b/gui-libs/egl-wayland2/Manifest
@@ -1 +1,2 @@
DIST egl-wayland2-1.0.1.tar.gz 80780 BLAKE2B 75bbe89dac6d773f698be1b9fda60b6230dff4b260acf3bc529652146fff8be7bfc458ae231227f09911bbb516ed8edf7a6be5c44d39ac4ae63276829dafe2ec SHA512 e470d73b9116611d0fc0193450dc873a96a075bd51a7805ddeeca941c3612c103923308eb5b33608ab10a1ba05101603dc5c0e079e819a9958fad6e49cb80d25
+DIST egl-wayland2-1.0.2.tar.gz 81287 BLAKE2B 2acfafd207e86861f3d3176d60a2aa7fb5fbbab5ff7ec6a9bd839fea0b3fcbf48386fe97f8ac8f5ebff9706fe15a69915f25c46812ce3770bda1232592b35ff0 SHA512 20d192890e855fcb62206a8c894a1a90d6ae0110770793a4b5e7bebbe0b0cde28900583cef980b7fd181fa0f983e90c795de2108ee0106fc192f9b5d0e8e93c6
diff --git a/gui-libs/egl-wayland2/egl-wayland2-1.0.2.ebuild b/gui-libs/egl-wayland2/egl-wayland2-1.0.2.ebuild
new file mode 100644
index 000000000000..b502cc48f13c
--- /dev/null
+++ b/gui-libs/egl-wayland2/egl-wayland2-1.0.2.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2025-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson-multilib
+
+DESCRIPTION="NVIDIA wayland EGL external platform library, version 2"
+HOMEPAGE="https://github.com/NVIDIA/egl-wayland2/"
+
+if [[ ${PV} == *_pre* ]]; then
+ # happens often that nvidia-drivers ships with a (yet) unreleased
+ # version and we need to ship a snapshot to provide the same fixes
+ HASH_EGLWAYLAND2=
+ SRC_URI="
+ https://github.com/NVIDIA/egl-wayland2/archive/${HASH_EGLWAYLAND2}.tar.gz
+ -> ${P}.tar.gz
+ "
+ S=${WORKDIR}/${PN}-${HASH_EGLWAYLAND2}
+else
+ SRC_URI="
+ https://github.com/NVIDIA/egl-wayland2/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz
+ "
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ dev-libs/wayland[${MULTILIB_USEDEP}]
+ media-libs/mesa[gbm(+),${MULTILIB_USEDEP}]
+ x11-libs/libdrm[${MULTILIB_USEDEP}]
+"
+DEPEND="
+ ${RDEPEND}
+ >=dev-libs/wayland-protocols-1.38
+ >=gui-libs/eglexternalplatform-1.2
+ media-libs/libglvnd[${MULTILIB_USEDEP}]
+"
+BDEPEND="
+ dev-util/wayland-scanner
+"
diff --git a/gui-libs/egl-x11/Manifest b/gui-libs/egl-x11/Manifest
index 4d8167b2cfc3..d919bb925c13 100644
--- a/gui-libs/egl-x11/Manifest
+++ b/gui-libs/egl-x11/Manifest
@@ -1,2 +1,2 @@
-DIST egl-x11-1.0.4.tar.gz 72446 BLAKE2B 20b8a426eee275810d098906bb88c90770b315d350ea693f6827b933474d4b9bbefa1fa8ee4d222f0706914ad81056710d9a5c6a77bb43bbf80a7ad829a4a1a2 SHA512 60bc7252da78b0443423dbaff448aa8893c787b31c02193030c66bbc87342290baf33e0213b1c5ffc073d757867a448ec77156be02381b897991ff3e4a47ff22
DIST egl-x11-1.0.5.tar.gz 73642 BLAKE2B 0a82f308d5888cdaa6affa2699a9689c091d4f64bc88fccda744f980b593b22a09d0ebfb001ef2ef36bb5da6f9911b0ee4125e4aef80421f7ce32e424aaa75e6 SHA512 375cc7943bca0c8e2abe6d2b1ae4758d8588442eddc7e2b881455273d8224e60dd38829f5610394eee5ce95b4814f6390eff28185c1b83bb2ef8812d887cad8f
+DIST egl-x11-1.0.6.tar.gz 74920 BLAKE2B f05b7ab68da21e6bd83143a48b89bf6fd9be472461dda8a0d0aaf2d6521ca882197c853e9c7a818a67088292edd98afdcce7f0070be1b741740ec74382d7a4de SHA512 aeab9cdcc54df63fe98aebd488a7d0291cd04d2f18a2b5e834c88aeac290130e14c723de2f7f65afe770790737114e4e7f5aae4a88578c88ce972f3e6871f9d4
diff --git a/gui-libs/egl-x11/egl-x11-1.0.4.ebuild b/gui-libs/egl-x11/egl-x11-1.0.6.ebuild
index 1e60576b34e6..f56d25f0facf 100644
--- a/gui-libs/egl-x11/egl-x11-1.0.4.ebuild
+++ b/gui-libs/egl-x11/egl-x11-1.0.6.ebuild
@@ -26,7 +26,7 @@ fi
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~arm64"
+KEYWORDS="~amd64 ~arm64"
# wrt blocker, may or may not cause problems if present with <560
# drivers, and collides with <565.57.01-r2
diff --git a/media-libs/nvidia-vaapi-driver/Manifest b/media-libs/nvidia-vaapi-driver/Manifest
index 04fbae5d3010..ba2ed2cae9ed 100644
--- a/media-libs/nvidia-vaapi-driver/Manifest
+++ b/media-libs/nvidia-vaapi-driver/Manifest
@@ -1 +1,2 @@
DIST nvidia-vaapi-driver-0.0.17.tar.gz 216170 BLAKE2B 67556330688eb1cfa88d9f19d3ca605db4fe319dc61ed4fe1cf12d854590c9ed71c7247d6ec3b49cbc5a38cfd647ed2898c40f9d7f2f183084b12dd137bd8cb6 SHA512 058600f869d749e3c0f1988684316ea13c0108ad0faabeea23c6c86d38d149bdde5201ab2fefd6ffc71145a29a68f11d8a8e9caead987ca9035f454a4127d4b1
+DIST nvidia-vaapi-driver-0.0.18.tar.gz 245638 BLAKE2B 4ae86374e50805d5af6e9df76b28a28990d0d2df98b1b3c073542ef147932c7671e1fae012990b765ff5199e28151cf44931ddc6c21780c7f6085f4257bf858d SHA512 7e49bec5f8f74d2ed8c13090cfcf0b80bfcc87782249df32b2d69fe073ef96f4c5b088f477bdbd518dcba235d013cc0f84f5180b995ded0671ee4a13d1bdc295
diff --git a/media-libs/nvidia-vaapi-driver/nvidia-vaapi-driver-0.0.18.ebuild b/media-libs/nvidia-vaapi-driver/nvidia-vaapi-driver-0.0.18.ebuild
new file mode 100644
index 000000000000..a8b8bfa71615
--- /dev/null
+++ b/media-libs/nvidia-vaapi-driver/nvidia-vaapi-driver-0.0.18.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2023-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson-multilib
+
+DESCRIPTION="A VA-API implemention using NVIDIA's NVDEC"
+HOMEPAGE="https://github.com/elFarto/nvidia-vaapi-driver"
+SRC_URI="https://github.com/elFarto/nvidia-vaapi-driver/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="media-libs/gst-plugins-bad
+ media-libs/libglvnd
+ >=media-libs/libva-1.8.0
+ >=x11-libs/libdrm-2.4.60"
+DEPEND="${RDEPEND}
+ >=media-libs/nv-codec-headers-11.1.5.1"
+BDEPEND="virtual/pkgconfig"
+
+pkg_postinst() {
+ # Source: https://github.com/elFarto/nvidia-vaapi-driver/blob/v0.0.12/src/backend-common.c#L13
+ elog "If vaapi drivers fail to load, then make sure that you are"
+ elog "passing the correct parameters to the kernel."
+ elog "nvidia_drm.modeset should be set to 1."
+
+ elog "Check the wiki page for more information: "
+ elog "https://wiki.gentoo.org/wiki/VAAPI"
+}
diff --git a/net-dns/bind/bind-9.18.38.ebuild b/net-dns/bind/bind-9.18.38.ebuild
index 0bc7a9f363e4..9e5e071ffe4c 100644
--- a/net-dns/bind/bind-9.18.38.ebuild
+++ b/net-dns/bind/bind-9.18.38.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -16,7 +16,7 @@ S="${WORKDIR}/${PN}-${MY_PV}"
LICENSE="MPL-2.0"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="+caps dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux static-libs test xml"
+IUSE="+caps dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux test xml"
RESTRICT="!test? ( test )"
DEPEND="
@@ -90,7 +90,6 @@ src_configure() {
$(use_enable doh)
$(use_with doh libnghttp2)
$(use_enable fixed-rrset)
- $(use_enable static-libs static)
$(use_enable geoip)
$(use_with test cmocka)
$(use_with geoip maxminddb)
@@ -140,9 +139,7 @@ src_install() {
newenvd "${FILESDIR}"/10bind.env 10bind
- if ! use static-libs ; then
- find "${ED}"/usr/lib* -name '*.la' -delete || die
- fi
+ find "${ED}"/usr/lib* -name '*.la' -delete || die
#
# /var/bind
diff --git a/net-dns/bind/bind-9.18.39.ebuild b/net-dns/bind/bind-9.18.39.ebuild
index c2419bdebd5c..3828470997a6 100644
--- a/net-dns/bind/bind-9.18.39.ebuild
+++ b/net-dns/bind/bind-9.18.39.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -16,7 +16,7 @@ S="${WORKDIR}/${PN}-${MY_PV}"
LICENSE="MPL-2.0"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="+caps dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux static-libs test xml"
+IUSE="+caps dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux test xml"
RESTRICT="!test? ( test )"
DEPEND="
@@ -90,7 +90,6 @@ src_configure() {
$(use_enable doh)
$(use_with doh libnghttp2)
$(use_enable fixed-rrset)
- $(use_enable static-libs static)
$(use_enable geoip)
$(use_with test cmocka)
$(use_with geoip maxminddb)
@@ -140,9 +139,7 @@ src_install() {
newenvd "${FILESDIR}"/10bind.env 10bind
- if ! use static-libs ; then
- find "${ED}"/usr/lib* -name '*.la' -delete || die
- fi
+ find "${ED}"/usr/lib* -name '*.la' -delete || die
#
# /var/bind
diff --git a/net-dns/bind/bind-9.18.42.ebuild b/net-dns/bind/bind-9.18.42.ebuild
index 47d73b450a8b..5d41252065f3 100644
--- a/net-dns/bind/bind-9.18.42.ebuild
+++ b/net-dns/bind/bind-9.18.42.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -16,7 +16,7 @@ S="${WORKDIR}/${PN}-${MY_PV}"
LICENSE="MPL-2.0"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="+caps dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux static-libs test xml"
+IUSE="+caps dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux test xml"
RESTRICT="!test? ( test )"
DEPEND="
@@ -90,7 +90,6 @@ src_configure() {
$(use_enable doh)
$(use_with doh libnghttp2)
$(use_enable fixed-rrset)
- $(use_enable static-libs static)
$(use_enable geoip)
$(use_with test cmocka)
$(use_with geoip maxminddb)
@@ -140,9 +139,7 @@ src_install() {
newenvd "${FILESDIR}"/10bind.env 10bind
- if ! use static-libs ; then
- find "${ED}"/usr/lib* -name '*.la' -delete || die
- fi
+ find "${ED}"/usr/lib* -name '*.la' -delete || die
#
# /var/bind
diff --git a/net-dns/bind/bind-9.18.47.ebuild b/net-dns/bind/bind-9.18.47.ebuild
index e97d59489c5d..27abe98df551 100644
--- a/net-dns/bind/bind-9.18.47.ebuild
+++ b/net-dns/bind/bind-9.18.47.ebuild
@@ -16,7 +16,7 @@ S="${WORKDIR}/${PN}-${MY_PV}"
LICENSE="MPL-2.0"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="+caps dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux static-libs test xml"
+IUSE="+caps dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux test xml"
RESTRICT="!test? ( test )"
DEPEND="
@@ -90,7 +90,6 @@ src_configure() {
$(use_enable doh)
$(use_with doh libnghttp2)
$(use_enable fixed-rrset)
- $(use_enable static-libs static)
$(use_enable geoip)
$(use_with test cmocka)
$(use_with geoip maxminddb)
@@ -140,9 +139,7 @@ src_install() {
newenvd "${FILESDIR}"/10bind.env 10bind
- if ! use static-libs ; then
- find "${ED}"/usr/lib* -name '*.la' -delete || die
- fi
+ find "${ED}"/usr/lib* -name '*.la' -delete || die
#
# /var/bind
diff --git a/net-dns/bind/bind-9.18.48.ebuild b/net-dns/bind/bind-9.18.48.ebuild
index 3ee93c1319ee..3828470997a6 100644
--- a/net-dns/bind/bind-9.18.48.ebuild
+++ b/net-dns/bind/bind-9.18.48.ebuild
@@ -16,7 +16,7 @@ S="${WORKDIR}/${PN}-${MY_PV}"
LICENSE="MPL-2.0"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="+caps dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux static-libs test xml"
+IUSE="+caps dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux test xml"
RESTRICT="!test? ( test )"
DEPEND="
@@ -90,7 +90,6 @@ src_configure() {
$(use_enable doh)
$(use_with doh libnghttp2)
$(use_enable fixed-rrset)
- $(use_enable static-libs static)
$(use_enable geoip)
$(use_with test cmocka)
$(use_with geoip maxminddb)
@@ -140,9 +139,7 @@ src_install() {
newenvd "${FILESDIR}"/10bind.env 10bind
- if ! use static-libs ; then
- find "${ED}"/usr/lib* -name '*.la' -delete || die
- fi
+ find "${ED}"/usr/lib* -name '*.la' -delete || die
#
# /var/bind
diff --git a/net-dns/bind/bind-9.18.49.ebuild b/net-dns/bind/bind-9.18.49.ebuild
index e97d59489c5d..27abe98df551 100644
--- a/net-dns/bind/bind-9.18.49.ebuild
+++ b/net-dns/bind/bind-9.18.49.ebuild
@@ -16,7 +16,7 @@ S="${WORKDIR}/${PN}-${MY_PV}"
LICENSE="MPL-2.0"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="+caps dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux static-libs test xml"
+IUSE="+caps dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux test xml"
RESTRICT="!test? ( test )"
DEPEND="
@@ -90,7 +90,6 @@ src_configure() {
$(use_enable doh)
$(use_with doh libnghttp2)
$(use_enable fixed-rrset)
- $(use_enable static-libs static)
$(use_enable geoip)
$(use_with test cmocka)
$(use_with geoip maxminddb)
@@ -140,9 +139,7 @@ src_install() {
newenvd "${FILESDIR}"/10bind.env 10bind
- if ! use static-libs ; then
- find "${ED}"/usr/lib* -name '*.la' -delete || die
- fi
+ find "${ED}"/usr/lib* -name '*.la' -delete || die
#
# /var/bind
diff --git a/net-dns/bind/bind-9.20.21.ebuild b/net-dns/bind/bind-9.20.21.ebuild
index b6ce44a1852c..5f693e5bfb3c 100644
--- a/net-dns/bind/bind-9.20.21.ebuild
+++ b/net-dns/bind/bind-9.20.21.ebuild
@@ -20,7 +20,7 @@ S="${WORKDIR}/${PN}-${MY_PV}"
LICENSE="MPL-2.0"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux static-libs systemtap test xml"
+IUSE="dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux systemtap test xml"
RESTRICT="!test? ( test )"
DEPEND="
@@ -95,7 +95,6 @@ src_configure() {
$(use_enable dnstap)
$(use_enable doh)
$(use_with doh libnghttp2)
- $(use_enable static-libs static)
$(use_enable geoip)
$(use_enable systemtap tracing)
$(use_with test cmocka)
@@ -146,9 +145,7 @@ src_install() {
newenvd "${FILESDIR}"/10bind.env 10bind
- if ! use static-libs ; then
- find "${ED}"/usr/lib* -name '*.la' -delete || die
- fi
+ find "${ED}"/usr/lib* -name '*.la' -delete || die
#
# /var/bind
diff --git a/net-dns/bind/bind-9.20.22.ebuild b/net-dns/bind/bind-9.20.22.ebuild
index b6ce44a1852c..5f693e5bfb3c 100644
--- a/net-dns/bind/bind-9.20.22.ebuild
+++ b/net-dns/bind/bind-9.20.22.ebuild
@@ -20,7 +20,7 @@ S="${WORKDIR}/${PN}-${MY_PV}"
LICENSE="MPL-2.0"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux static-libs systemtap test xml"
+IUSE="dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux systemtap test xml"
RESTRICT="!test? ( test )"
DEPEND="
@@ -95,7 +95,6 @@ src_configure() {
$(use_enable dnstap)
$(use_enable doh)
$(use_with doh libnghttp2)
- $(use_enable static-libs static)
$(use_enable geoip)
$(use_enable systemtap tracing)
$(use_with test cmocka)
@@ -146,9 +145,7 @@ src_install() {
newenvd "${FILESDIR}"/10bind.env 10bind
- if ! use static-libs ; then
- find "${ED}"/usr/lib* -name '*.la' -delete || die
- fi
+ find "${ED}"/usr/lib* -name '*.la' -delete || die
#
# /var/bind
diff --git a/net-dns/bind/bind-9.20.23.ebuild b/net-dns/bind/bind-9.20.23.ebuild
index f4d8e3028bc4..a3a911b1342b 100644
--- a/net-dns/bind/bind-9.20.23.ebuild
+++ b/net-dns/bind/bind-9.20.23.ebuild
@@ -20,7 +20,7 @@ S="${WORKDIR}/${PN}-${MY_PV}"
LICENSE="MPL-2.0"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux static-libs systemtap test xml"
+IUSE="dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux systemtap test xml"
RESTRICT="!test? ( test )"
DEPEND="
@@ -95,7 +95,6 @@ src_configure() {
$(use_enable dnstap)
$(use_enable doh)
$(use_with doh libnghttp2)
- $(use_enable static-libs static)
$(use_enable geoip)
$(use_enable systemtap tracing)
$(use_with test cmocka)
@@ -146,9 +145,7 @@ src_install() {
newenvd "${FILESDIR}"/10bind.env 10bind
- if ! use static-libs ; then
- find "${ED}"/usr/lib* -name '*.la' -delete || die
- fi
+ find "${ED}"/usr/lib* -name '*.la' -delete || die
#
# /var/bind
diff --git a/net-dns/bind/bind-9.20.24.ebuild b/net-dns/bind/bind-9.20.24.ebuild
index b6ce44a1852c..5f693e5bfb3c 100644
--- a/net-dns/bind/bind-9.20.24.ebuild
+++ b/net-dns/bind/bind-9.20.24.ebuild
@@ -20,7 +20,7 @@ S="${WORKDIR}/${PN}-${MY_PV}"
LICENSE="MPL-2.0"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux static-libs systemtap test xml"
+IUSE="dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux systemtap test xml"
RESTRICT="!test? ( test )"
DEPEND="
@@ -95,7 +95,6 @@ src_configure() {
$(use_enable dnstap)
$(use_enable doh)
$(use_with doh libnghttp2)
- $(use_enable static-libs static)
$(use_enable geoip)
$(use_enable systemtap tracing)
$(use_with test cmocka)
@@ -146,9 +145,7 @@ src_install() {
newenvd "${FILESDIR}"/10bind.env 10bind
- if ! use static-libs ; then
- find "${ED}"/usr/lib* -name '*.la' -delete || die
- fi
+ find "${ED}"/usr/lib* -name '*.la' -delete || die
#
# /var/bind
diff --git a/net-dns/bind/bind-9.20.26.ebuild b/net-dns/bind/bind-9.20.26.ebuild
index 4efe548cce92..e211f04725ec 100644
--- a/net-dns/bind/bind-9.20.26.ebuild
+++ b/net-dns/bind/bind-9.20.26.ebuild
@@ -20,7 +20,7 @@ S="${WORKDIR}/${PN}-${MY_PV}"
LICENSE="MPL-2.0"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux static-libs systemtap test xml"
+IUSE="dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux systemtap test xml"
RESTRICT="!test? ( test )"
DEPEND="
@@ -95,7 +95,6 @@ src_configure() {
$(use_enable dnstap)
$(use_enable doh)
$(use_with doh libnghttp2)
- $(use_enable static-libs static)
$(use_enable geoip)
$(use_enable systemtap tracing)
$(use_with test cmocka)
@@ -146,9 +145,7 @@ src_install() {
newenvd "${FILESDIR}"/10bind.env 10bind
- if ! use static-libs ; then
- find "${ED}"/usr/lib* -name '*.la' -delete || die
- fi
+ find "${ED}"/usr/lib* -name '*.la' -delete || die
#
# /var/bind
diff --git a/net-dns/bind/bind-9.20.27.ebuild b/net-dns/bind/bind-9.20.27.ebuild
index b6ce44a1852c..5f693e5bfb3c 100644
--- a/net-dns/bind/bind-9.20.27.ebuild
+++ b/net-dns/bind/bind-9.20.27.ebuild
@@ -20,7 +20,7 @@ S="${WORKDIR}/${PN}-${MY_PV}"
LICENSE="MPL-2.0"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux static-libs systemtap test xml"
+IUSE="dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux systemtap test xml"
RESTRICT="!test? ( test )"
DEPEND="
@@ -95,7 +95,6 @@ src_configure() {
$(use_enable dnstap)
$(use_enable doh)
$(use_with doh libnghttp2)
- $(use_enable static-libs static)
$(use_enable geoip)
$(use_enable systemtap tracing)
$(use_with test cmocka)
@@ -146,9 +145,7 @@ src_install() {
newenvd "${FILESDIR}"/10bind.env 10bind
- if ! use static-libs ; then
- find "${ED}"/usr/lib* -name '*.la' -delete || die
- fi
+ find "${ED}"/usr/lib* -name '*.la' -delete || die
#
# /var/bind
diff --git a/net-dns/dnssec-root/dnssec-root-20260528.ebuild b/net-dns/dnssec-root/dnssec-root-20260528.ebuild
index e3c612286c3a..47a590dddfd1 100644
--- a/net-dns/dnssec-root/dnssec-root-20260528.ebuild
+++ b/net-dns/dnssec-root/dnssec-root-20260528.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://data.iana.org/root-anchors/root-anchors.xml -> root-anchors-${P
LICENSE="public-domain"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos"
BDEPEND=">=dev-perl/XML-XPath-1.420.0"
diff --git a/net-dns/pdns-recursor/Manifest b/net-dns/pdns-recursor/Manifest
index db9577844a45..5cdbaa303f6a 100644
--- a/net-dns/pdns-recursor/Manifest
+++ b/net-dns/pdns-recursor/Manifest
@@ -1,139 +1,87 @@
-DIST addr2line-0.24.2.crate 39015 BLAKE2B 57186d6b957542cd71a0aa19f1355dfaabe6efa19b853c42f306494728b03d1e3183efdb2d2c7734a3e2347cd83a985d004f50c097e06b7520bd152310532e9b SHA512 39cbec3c920ffc0f37584afb55e1cfe4f182e4415319a4e9bfe842360f102f7b9315f6171c0cf71ba0337123903e604096cd573fe98698a26c8eebc2376d965b
-DIST adler2-2.0.0.crate 13529 BLAKE2B ec575b0bf12e321399ac3a1d59fce4ddbeabcc60cb3d7c2f362cce23eb29b4ea836451372d6d88552a4435ae29bb41d6230d55f625a4359eace680b9b771d0ad SHA512 12d12579ad617cf1a94cf95ab9d3f5db566c3b2de4bd5735eccd83c668fdad0eff134c996b73c46cbb9f932837682043878b8cc4764191625e9f93ccffcce423
-DIST anstyle-1.0.10.crate 15725 BLAKE2B 36e656bd8f9c584f11fda5cfe0c2e24e8426b9e1b602aad34ed118ae6950a55440e292d2e0ff7615f5e4f466fd06f07536be198a59506a587d40cb0c4ede4f80 SHA512 621e7a89fad13db985f07375d316cf8efba57fd44ae18628a8049a65aefbaef27949f99317872e91e0922bb089a00234055199ea3167f80ae03d00ada4f75dea
DIST anstyle-1.0.13.crate 17651 BLAKE2B 026d4163f4bc8d1677d0830dbe46fd335d18e50420d2d809a675609c1e020f7e3c5e69b8d0a7baf5f42fa2321b6230c619a93aaf8e02ceaef638f8006dbf479b SHA512 1a92c4bf6ff7262c0f5fe72ff66eaf11f0c84e84a06746767918903c0416ba5d33ac54ff9a2c6cde37e26bb2287675d3f0a8a7efa95eb013c9be388b8139661e
DIST atomic-waker-1.1.2.crate 12422 BLAKE2B fc6632f3c9d719b1d24a1c8e05947d94028909d1c629b80576e176e567636dd4cca699c7e91cae2df63541da574146b3ce766374e93f0ee429bb5bc89a4d3cae SHA512 e07e58db7955791259d0ec00fc4d53318aefb4506e062914819c4220c6dc75fa11a7af0289b4653aa1f9041eb975a025635190de68b4800a0e91e33cdb0ba11c
-DIST backtrace-0.3.74.crate 88516 BLAKE2B 594b537f3860560bc790d04d72a91ea25bbf5f2494b9c43377129a8021c02d9c16471a223e518889775a816c45513b14bf097c453846b62302a58b59753a5fcb SHA512 00cb2be0626f0bf6ec8b8f525bb129d3ac74c386c5e46ee0f343edb78c863222521f8132876057a5a1facacf40792dea51f2f20e986b35f3a85bca3dcf5c1520
DIST base64-0.22.1.crate 81597 BLAKE2B 6f216a560bd36e6e6b74e908344b457594cc768d9763070e269b56a14b150cbfc4b7f599d4c2a0a5f783638170ee132f0796fefb14fcac7fd73c58db0791007a SHA512 91cf2e4e7fc8815f9b8a86a7fa722a20eee3dc1dd57111b29e420de87ce7836bcdb1db01d3cafb9a977710ef63e7cc41b7772762323e68e0e832156858aace20
DIST bytes-1.11.1.crate 78584 BLAKE2B 4985426ff626d880a0da3d592ba48d697c88a83f48177e2b7380cb55e736a43f3cdf662d99cf0908b599aa8eccfebff2910405559e490b71adcf3f078673cd72 SHA512 7933d18c1a2c1496add2c7193e92c3aa17029c530b7031604ccb7c77c68903f53cf7d41396448b32bdd4f540fef4b37564972dac7b225e6e2ca99cd61179a6ab
-DIST cc-1.2.11.crate 102015 BLAKE2B acfcb67307f0942fdf0052a3ac081b4b0ee200774ac36ac17d3a80bca55f2e70fe43c18e55c718513be8d0853fcb7cde2568caa4e1cf42e8ca71acff044da195 SHA512 07bd3ff83343b529eaf025172a4f3218ca3f6790f7bb7868127144a8ef2430c95d039fc585f0d7e2b61360de67b9990277b8256a6488f8f3d4ef48fed22edeaa
DIST cc-1.2.49.crate 93145 BLAKE2B 9321ab03753e16411e7da066f9cf742705ea2e815b81e790d3821c08e7eebede083a73a14f3911331c623554bc61941b5d586a3f635c2da2e7dce82f24bafeb3 SHA512 2bb2913928a5456db746a8cdb78db942392779bad0a20f0c1df1c905f984b84756c2ff9663aa2729ab5d0b83df7a7317c7b86c27917417b5ce4196d29712ffa1
-DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
DIST cfg-if-1.0.4.crate 9360 BLAKE2B beadbfb273ee97cbb6e3740891fbace57511399ad203459b66b397587d794677a9515cde4e9ec4320c3795518bf1551d72b9a889f8ac4b225168f493288b7c19 SHA512 176e04df7ba783b7143bb84397b777f5c5a1305c08a5c3a218d4a66830620be89ed68992ba27686165bcd3fb2f34b2daf80b2a1d4b481ecc267c988e84d28e9d
-DIST clap-4.5.27.crate 55737 BLAKE2B f78ce2e47b6aed8ae698ad00e717e3dc5f06dd2bb97a0e11fe9e9e19f9346e1a2c54135b613f3cbc27c58d3eb32888b82bf4800e291095285af16bfe14d48ab9 SHA512 e07ff5781679b1da62b0bdf25a674b3d48e1c2d2691ebb7c674562b83ec715b5fb0ece2df0867b0c0d833428d61ce1b3cca976fbeb4bb014273a007453391839
DIST clap-4.5.53.crate 62036 BLAKE2B 1d3b1e7e4ad3b8b837be18b63ed1a59b7e29bf2d0add211d96ec23ca97e48ea79a9802f7a2e08f9737d445b82adef252a5b69f8ef8c94fcaca88627eaaf0ea3c SHA512 2e700a46bdbf2afef7e56933629f3d7fae16021e02aeccf6b862a2c1a876e1f8ef52d927ba5a599ec04eb65d4ccade485d1de6ff50547df6df14bd8ad97daf2c
-DIST clap_builder-4.5.27.crate 168024 BLAKE2B 3d9a1c38974eb6b78649c37122780e3a5960084fd52612951e5b2419535d749db37bb01067cd7acf2ae7864fbfdbbcfdeedad58814904c19105834a4b949bef9 SHA512 77b0e968361bd348b95b5b2993d5d1a3a4f3dda5fa790598bcb5edd201e7ad487a9ed87f551d40c30343e3e0a30942273c07c7becc12b4b67ddf7395488d8265
DIST clap_builder-4.5.53.crate 170811 BLAKE2B 44147b6f5c1af4ca234f81281a8ef0c44d7096e87a2b43d5099cf401d3a5cd319b250b0902a10271b25cbacab207545225549c67e7fe67f0914e4eb461db74a7 SHA512 3151926fa631c882a6a02381f428feb9e861834469229d53c222cfb2e14be8be1ec3836b57891d960d026e98ed5fab1d9fb12c475fd9cde43db7e621143a5ba8
-DIST clap_lex-0.7.4.crate 12858 BLAKE2B a5ecd50cc503157dd69746f3b6e9c288e0fe4f6d5d82271499f657134fd401fbe076255e2be6a23ed0b69daf3941c6429dad8b288223b0ad390a2c435575cdd1 SHA512 a2566868f4619679d3b74b70592ffa6a04b13e38e3196c56bb1dae8bea0c711bddbccd778d2aba3cc0ee074c9b1cc0335222818f0d47fb3cc8109cbc35bb992e
DIST clap_lex-0.7.6.crate 13466 BLAKE2B 723f306a9ae6c1fedd6b85fade039cc2a1dba51aa4412972025e0ff1aa8f15742e090dec61df3ac17ea9aae426e96049a673f5b944cb164b649ec1809477ab88 SHA512 d248b65234f201b2cb867562ca3d8299e79d348874547639b31883c6eac8416d3d6394e5b0047ad74f1a2c37e7721375c76bcaed1e60d13c3f1937b20ad9c54e
DIST codespan-reporting-0.13.1.crate 57424 BLAKE2B c1406558bea10a66cf979d5469002520210316971d86e75379f57bf954b228dab4a93176cae1ba55e7b880021539d87c35b20488373b94fc44ebceb86e34795e SHA512 876f4ba5dc3d7d0b201f6ea25effb787e01ebffb74bad88810aae8e293c3ac264c8c58bc81a20b29150040ecb755920695457ce8c0bb4a5b382552b5b44e6497
DIST cxx-1.0.191.crate 233693 BLAKE2B bca9cf7fab7abd63975aa927ddd36467b6e043baba09d1fdf355755723b86d02053bd72d8b6e2079c6b1a3753680048f0d682387ee184ee77aba1192014d4c68 SHA512 88a3201900e8810b849f65983f6d11c4453792347f75a1a0b7641dde1715389706b7434e025ebee2bf89d4449733434ee7bb0b958c60a041919895b6a7b6fac3
-DIST cxx-1.0.192.crate 233787 BLAKE2B 600b2810d1e7e8e897c91736767adb52455324521180b9d5fc6021393921c94075aac4791908421520900f27cb62e6452ba1bc1c9922b8395b6e89268fc25051 SHA512 03355ce30d9dec2071ac19b016caf65cece1e2f4e6b8cae5e88577d7e99cec0703c229032fbb3fdd0afbb268bbb763be30784c9e2e0bde42ebbeeadf90395ecd
+DIST cxx-1.0.196.crate 239675 BLAKE2B 985e4e7438006fa1e97a4bfe2e73dd3808674d7ff5ca4771e7d3ccc94efd68aa07683381dc9af0c7732e8a0d32962dee07746787bb25ee7e851ddedbd567e78d SHA512 075294558ea68f6eda712b975cfd9dc07580d14f04275338d735a5c4e0fe97bb96f1120345dce26d17d66d5cfeab4aa9900ffa69e4d6d554b12449ad431ebe13
DIST cxx-build-1.0.191.crate 99802 BLAKE2B ab89612e051130761a7548e5a78621038e3298dd50e36d1312bf596d3022b077df71a9eae9c05cfc391ae51d3466f2690bc790c2b0fa747280af92e90494b88a SHA512 d5ae9c535701f56477b1077120855699ce9628f4ab5a9a58dc292bece46a2e11c948d906c8f77b0bddef9cb08ff9a66aa855d13eb47f6908d302ce78e890cbfc
-DIST cxx-build-1.0.192.crate 99947 BLAKE2B c1fb15b62183c93f8abc9d7b1dc29bec415263ed8e6c23ad45b94dd11a4e09f5fa97521d493f91d29bba28638efebbcc4b7f3f12deab2c37e49108486524bc7d SHA512 8a126d19ab37dc85affac9db9806ee66abff3509074e7f0054658c3105a17218812a785c360132255c17765f711e40426bddcd0bb3378441d11fc43959464244
+DIST cxx-build-1.0.196.crate 99531 BLAKE2B f2136480b7d873bb734066b3cfe88c10f70011eaf61662a4f545dec3aa86c1673611cc03a0ac0f36227828963aaad7f157f1e273a1f20c72e8ee3cd4c4313d9c SHA512 5350a15f190708c86ae4f2f3f3e86e35257e254a054c0fe3bd2b5db2b809fd49ae387ff666a6583605dd5511d2fafe25d511484396f97d6132c382bfde9e4d57
DIST cxxbridge-cmd-1.0.191.crate 86917 BLAKE2B b1a9d18607ab3bdc180fbebd8f8903b321842cf1609912a17de385be1f811a976bd63837c4d457eda32690017878b0b4da53946138f46c38dbe2c2dfc7842846 SHA512 068a341bcc8c8e315b3af7ee5afe1ec7faa52b41c5069227756c19b68f817960af8ff3106e60dfdaf8c7d32feffd38605f41efe0aba6d94eec812b6a16379d4f
-DIST cxxbridge-cmd-1.0.192.crate 87055 BLAKE2B 6f1756fd409257cf707a1331b4b5543993a65d313b38e69959850ac8751d62ea0065067b743bce765dcc6d0c833c2d794789d3077422e8fdc46857b6a155ea86 SHA512 3dad9c16760c58c9fd3fd13bf65bf00f162c9ffc9be3fa6582f3cef6ed71875097b3ff5b839a383eb67505b31c85f82fed47686330dafa34c02b975cc266b2d9
+DIST cxxbridge-cmd-1.0.196.crate 86970 BLAKE2B 010ae898bce5f10e771bce86375f833839a6939e684ecb0748e7b9db1c8ee339fbead3a014e8d683267fc9ecb7ef6a92c82291eabec6157ccbabfa08d7f6d32c SHA512 6f5c02f5a3efb87852551aeb9b94c6ac29e510a614720cee0ed74984443ab026b10f5e2b9c117ba30eaccea8245c889f07417dd29c15634f002496446c57a845
DIST cxxbridge-flags-1.0.191.crate 5431 BLAKE2B bc1fe9a6e294f2da5576d954a223673895f23681ec21d6f6f5afa34b62d2d0caec8f018729b0ddc0dd051ce0c5b2c2ade2b497fb13df7d54c153b77f1015cef8 SHA512 873a9bc565a14cd58db9758606f18b1638f1ccb75d279a3184cd2ebcc9dfe24ae31131f0ca260d8cdfc9b34c3bc26391b95062047676554bb54150726366efe4
-DIST cxxbridge-flags-1.0.192.crate 5429 BLAKE2B 0d1d21422a23d5062b56036ed21a903c798b9b8fdc0523e857b24f84e66d9ee0ee9a633cd2ad8311c76ea4aac342b45cd0f400a03034f78f36b07c1e3365913a SHA512 0e2008514f3e261c9ef134684bcb65438d436df1b78c68e342f5248c47517b03f869b34a7e67d5179fce26fb9730bd1c1e65d45a1198bb4d9e5191075dd8ec7e
+DIST cxxbridge-flags-1.0.196.crate 5427 BLAKE2B 73cbcc380cee6cb623095b828776b14949e5f075659e874a8d2c1d92758e55e833cffa5206a0ab55131cf2fdaeac6e31955e04cf16d8c51b1ded905896f57845 SHA512 ddf9fc647dc306a8c28ab493a86db39314746de6842f724740da3a68dbca3e73dd51713701fdfc912b9a0329d494983a47e0f7008f4a724a7b19c161514a84f9
DIST cxxbridge-macro-1.0.191.crate 71516 BLAKE2B 8dfe76c7e95d6d32477d6cf5a33c466b2afa67e18f2692c8b89f2882b7e08c592658e3a6b1113413afebab7ab536093880b1095a983f2db910046993a552eeaf SHA512 2f8b7c7ab7f74b44d27786440fc66b942062c10856a4d4262c531c43b92f32f77eece3fd4efd07d01ce056ef0f7818fb629641f22add488ccf930e38b9247d58
-DIST cxxbridge-macro-1.0.192.crate 71999 BLAKE2B 6148a0c73bf53f9319ea4fc86d8b54f7f208838445b1820356b1c4af02f09ab4a2edc3491fe253e2be0f171ffcf7b89794c87b5c8044916b40f7d1f2c025c9a4 SHA512 5ecf9217833ca0bf9f3f8cd9e0da27bf9c832c3023bbb4c67d1dc3fcef02c8db9d261ac449ae91f7e2eba294ed0add637f38e37f62d949b94749a4c4e04da66b
-DIST equivalent-1.0.1.crate 6615 BLAKE2B 302d78069d9df05e78b53f0488a9e4eb98fa2bc1e21893dc8a0acf2234347ba7c4df4b9d6b380ae77d8ffb1074b9c790460fe2dae47318aa1c4fe4208244540a SHA512 b2bc60e804c1b02c461dcefcfd60fc37145af710d183ebe65f9a4d63f2b2072d23193f98dc550a9213c7fdc6a2a837af23b04a89294ebbb681a4aaf5d5031140
+DIST cxxbridge-macro-1.0.196.crate 72024 BLAKE2B 1c5c375cf79ab78c9f3fa2af7b24c6a9f824f74efd18b8ba6e6a215a5a868cc9983093c5934f94a642261bcdaad6bb2db25f7c8602ae21405847c9cb945edc93 SHA512 f036583f02fdf840ce85fc5957427e9ab48d2c7509d9c4d6b0e70c438dcdb0f84b9fd8972e3d39ceb94c9a8e993ecbd56e080eacd9f830619a22ac23cdb9e541
DIST equivalent-1.0.2.crate 7419 BLAKE2B 7ce4fb7b911961cd4ccfb48323eea4952110a069789c6bd177a63391c270df861afadd00c07db7b22768f0864f320e429e0200c433284f528336e2f81d071eff SHA512 8e0e2dc070794a85b276e93f9e4a65d3bbb8587b33fda211c34479a0b88504c913d8bef9e84d7996254aeabe1efe4ff1ef6259ff4fe3f9ccb90dd90070b3e4d4
DIST find-msvc-tools-0.1.5.crate 30942 BLAKE2B 25f061bfb8a195752109bd444deaebfd94228e52c6eb94396fff9ba9d450876a58bc4352158684c59d1a2cb2a13a32ecfa1e96f1d80ac0c63827bfd7f46d9c80 SHA512 71021ce1a16c454bdd30abbb937c2ca67ab28ffcf88574e3ab758683943b44a96312a53cd6f5b8e76c89284a0cedbf46edb606894af720e3612c812bed189ab8
-DIST fnv-1.0.7.crate 11266 BLAKE2B 81da85889c91b6567e0f555e37dd915f1bd919719d1ca10c31a6861d7aec29a49ae9c1e8bc500791bf9d6b8dbb318c096d04872c5872a4b1f7d45fbd8e12842d SHA512 2195a4b34a78e2dd9838caf0ee556bf87cbb4a8ef5505aac663b614eb59dcfc0c40f432463ede41ecca57bfe7711f72673d39a85fe03d426f1324097d5628334
DIST foldhash-0.2.0.crate 23329 BLAKE2B 49af83a79ca7954f05d8a52566d7d20cbe057c89c2c767ef76b4c8d83bf099196d053054c8fbaac74da7fd5eb0224fe43731102f2f0bcb18ccdbc0c8150774c3 SHA512 1495281089a8a1b7bbacf8004a5e8051bb00bf37718e9ddce9d43e4e198f529135f864b6850ee4422456b0d4731ae58647f0a1aaae0d67921c389f5d108fc163
-DIST form_urlencoded-1.2.1.crate 8969 BLAKE2B 383d3a197b73fba199220b7708e16d770591ac16725faf4efc1a8c230c569c381870d4a11b8fba623e761e68f9d318630b22101d461e67dd26c67e13a73358a1 SHA512 c65104e2dc08fad572bb31f981700fd43dd29fcff42b01c7ccdbd3d4c23dec12360aed3f1b5fc4766fee386d418a65349b2941b8735f788cb0d35d631a6a8dd1
DIST form_urlencoded-1.2.2.crate 9347 BLAKE2B e02670f9af81a09e8df16680dbb80708632ac9e708297fda2f821af8076fb827c011ff359d4ce50d5ddb8f4403d4e19f74a4b68d11441f32eabc6fa2e38b3b09 SHA512 07d27d852504e146d586d007b090e53cbe740da140859dfb7d647c83c1b55265a83ea0a0e514587699b1dc6b6ffea2fc913319bcc83b55ebe191801a3b429c8a
DIST futures-channel-0.3.31.crate 31971 BLAKE2B 2a59ebb73f998ec307bef01e997bf2922556d6dea10e2e6e8da9e1b4cd05a8bcfeef01bc1cc57d79c39bbd98b8a0d26871dca5c7641a9d4e9c2bacbb3feb4eeb SHA512 87e49e661cb12c1e03a07d3c94ca9bf5954344a51fa11639a118f5a49877c883387343af54639ad80e7196062a77fa7c9b9aff9804fb1e6ea3d0eb09efc53c69
DIST futures-core-0.3.31.crate 14318 BLAKE2B 613d16e4f18547e45ed0dd56a7b908306393e479c379ff64f358844eacb1f8d37008ffbbfe6b1a4ed184e501ee9214db149d9cca31651b7d353ab4a99c8f5ee1 SHA512 d2f4c2476c4f480f724a880ee16566fcdd545579d3cacd2f16745812eed9ac4a7a88d59d4a38b163ef466c6f6b612b9cb06308a09d52256506a8a90e358db935
DIST futures-task-0.3.31.crate 11217 BLAKE2B 8c0e0aa0aa14bfc28e668af00a3fcc2532950ca865a9f3935717a4a3770cb60477cd8f4cd080675379315b649fbdc5fee9dce49502f0f24f44db481a24c884bf SHA512 4872fd2f24b07c626efc6fd76c01b44d56efecb9697f972d0877307b38d3ccb06277ff029df38981470ba1f8ac5f93086123ab3af44d3c49bd9c10b6c9158a81
DIST futures-util-0.3.31.crate 162124 BLAKE2B 69ca647a261fe24f90a4221d8629169a8dc7eff9dd1c4e07cc700a52a8609ce9b8aa3974b9b09e1ee64d0121d7bcb3efeee6fc15983347aaa0b0b23b068afc34 SHA512 429b1de584546b931b17d475aacbdb0c14824a57d960c44e615aa808e8c0f9c126473e313a7150b3de87ea91b7eebebb1041509f61b3493fee8a9cd2c75c4df3
-DIST getrandom-0.2.15.crate 37163 BLAKE2B 7d534e799a4711d01c6553b8c9422dbf01e384a850fb0f7cd76e444628f2b96d28d0f5e8dae042f8081a2bf9340f57c558be50a6f22ed5fa6b0301a15898fb35 SHA512 04789a53d3f4a84862e1e8b2113641af67e471b468de1222470d5e6cef0015232463a2cf3c3518dc2a533b3983b175a7c8922da00665bcf71c1e4e279b67e6fb
DIST getrandom-0.2.16.crate 40163 BLAKE2B cf95b380a610313eaf068fa210bdb4a9e0b9211321d708f9877cd9e1901df0f6b7f57462a4937da3419c7547ef300291deb5367f4dce4ff776e7f0d9d36dcd8d SHA512 6391d5322f8ce2ea7d14062d378ae2ffad66622afd58b9f1732e5314b27d3a554c8a008f6d0d133640f11d769ac51ea4acd24e40259e14e2ffce93d5c3c1eb1e
-DIST gimli-0.31.1.crate 279515 BLAKE2B c8924ce351af5b8f96ef757a189f7a9be14533c024d496c62037cd4eda790b3f6282cd3013ba82ecc83082acab1b60ea80b83e0fd5f8eeb381fd7f9df88ce0ee SHA512 b9c8c11547dc7420fe936b9f32a4f5ccf3bb68d1d9f39dedffd40d631360f6e032e719d858668826f1099b8a262e8096aa7ae1f6d7d3d7aaf47934d832715949
DIST hashbrown-0.16.1.crate 147785 BLAKE2B c506e64340b65fb462545c52e85a192b21e33025c91adf1d8255e799e8a5743814c60be971db56c0b9b1208dff8147ed4a28d8e37caf8f5646fd367d8d0bc9d7 SHA512 0739f1b2101488f88778e221d86738ce557b8ae12470e2a4444099eb90d876382030d00e789dd4ee44dcd7833a87a6e570fa11ba5823beb1cab3a56784ec2669
-DIST http-1.2.0.crate 105932 BLAKE2B efc9fc4ccc4a622781ed895f77c1752baf34e82d249acf97687ac8d4260aeafb333040833d9f8df5916cb105cc8217c8f27ddd021636b9248ad551ebfe4d83a6 SHA512 2c8e7234ec3aa720c9dd762c0bb06367fbc39ea89446fc9d8d2e55052a4ac461559a20a8294c877879f3e94d5db06fe41e2cdbb9664ea7ab1bc8003abb038bb5
DIST http-1.4.0.crate 106978 BLAKE2B 2d86379f0a0724f337496699587cfed11bc87794219b69ba9d00771f6e5c4a880c0db72fe11171f4130fd3640228381de22292e0610be6b121fdd0d2e3bc4987 SHA512 f85bed2e41ae4cb97a3bbd69392ec660c66e2f8eda2dadfdff6328986e68e4563fc04c7fbabf08b811f2be3dce3ed2ba84e1ef8974fdb587b11615a288e4c897
DIST http-body-1.0.1.crate 6125 BLAKE2B e253f2c85c0553382db955ce9ed18072f8916738962083223f2466034803553818e7f5a11649ebf5ea9118e7ce1067bd9b999379a03a335b88c810bcd312cafc SHA512 3d9a711619e5b14d2188fa42bbd43653dceeeb7e172cbd96d36fdf37846fa2c1efa0fad019395a4fa6da2e139875934aa56caf7332dc40546095b0a774ca39bd
-DIST http-body-util-0.1.2.crate 12821 BLAKE2B 43ed71d7b7247d8d11f6f204bcac1b3b81c002cf7ec89e6c381554132293c11e6ca148cdf0dae8bc213409c9e0523dd388cdfc6f636dc1bc5ec7a0f7d3796dd2 SHA512 1f3eddc475791d860848041075d9df8a3d613c9761b2248364e406c84b070b9d2e4d7e8ced61d7445d97919d5cb96d5c1424e8298ddbe6069110c6d4a5c9246e
DIST http-body-util-0.1.3.crate 16975 BLAKE2B 0914cdba8bcc09ba191bc5a05ee9ec13d8ab75530b25121bc34cbff970ab95ff59ecbdd7ba4f49d997b523dd6465f57fa6ad79a84f84de0e75b75a9db3813e9f SHA512 3aa8f63bc489773c01ec7bd8e4012b515d4f037649c405b519051fb43acebb0fafebb4a51a38308c842244e6d869d360885ab64ca7b43e2b9f0c52542c072bcd
-DIST httparse-1.10.0.crate 44882 BLAKE2B 20a070d3e5dbb752602a80ea1c620afd1c5bfd9cde7e05eece6515168a60e9bd38f2cd10b179ee369d5408b0eb911ad95d69df2c1f1144ca3ec573b57aeaa4f2 SHA512 0ed43a15585b49064ae6b745b7c17775db1d849911115448239fa70a0b6f1d5a1fb09e654c4c04af8d533d74865966bfb215135a133aefec89eac81f136709d6
DIST httparse-1.10.1.crate 45190 BLAKE2B ce166e68e60434c9e5659b7fd8d2b014247e798be12bdd08ed1a28bd71d9aab4047f96c6179e00fdbeff8967d27ffcc9c9ad3b76a4fbc5791c68c14ab36ac31d SHA512 b9988b4657e54931a9f8beab694d938bca7c15783c7181059770e56a7cbff801531e96eaa396615f19b0d99c37f73b39194c6ae06df1309a02097ba13e33ffd0
DIST httpdate-1.0.3.crate 10639 BLAKE2B ce0b401c69f76252639c10f6c2e4a823574a58565d7c5cc3633c72837aa4ec3630b34b148de4378ec498db196e3b2e1413ca0e5a4d9247855380fe19a8c20f94 SHA512 0586888fe89f40b838d5ceb083084d0b8058feff1d2933faedb96896dc86eec68b541a0374a508fd11b86eeadab3c62f88568ffe2c53206fad438373a50b2e5a
-DIST hyper-1.6.0.crate 153923 BLAKE2B c69d338d00dd9be80c910dae6b3b995918d862d6ee863e9f85442f0e45584a054056f51864313b8ca0068680d7667faac61d70adfe2e7d2db2346f608b45bb32 SHA512 8c30624f51fed280e909ca526284f81a0863e3ace05f20ce8117298f180efc1567e92f807895034d9ad83026059e4b90c5a3cfe527a3e9c99674489fd17fc6a8
DIST hyper-1.8.1.crate 157353 BLAKE2B ddaf59d791c00f20eb177c762d16b5b5be6eadeef8d4d39847647ddf82d013070d97f4aa681d6cb91e200d320dd6da91d2e8a5652e3a58febbcc643c6f87a40b SHA512 b7a9638fcd74828b447966025b172899943ac8f9286860646e7fd073a796f32b0ccfea5d656d0e5c0c55b8a15db613370c0cd0341b55bdb15abaaaaf23b4c623
-DIST hyper-rustls-0.27.5.crate 34660 BLAKE2B de261692fa4765f3ffdf8c384250532a0747b2595c41fbbc1a01c69c2c8a68a87656572f70228ecadb4aea04851ea6e7a0ab7077d6ffbe75b1a15805e64fbcbf SHA512 6a2451be2f42880978b0236385e8775fdfc3f538d9642c7fd6993ce85b16d623357f97a8c2a328e76e31c76083a8be557a4e7447f34aa52b9e990f4c9680e193
DIST hyper-rustls-0.27.7.crate 35435 BLAKE2B b833e2b7ca66a5c21a63ec82e5324cf7c743c63fc267cd1ddff2f47a8e00089e9cf2a08a805afe642f3d18c25c8ac5b9a238de04eedfd30622901680ee6034c8 SHA512 d0f4774ff4e0fe51c448a140e76765261d66ce1293c0ce521baa9a2e97731dd0774b2e6c54e19e673f05154daab710818184a440be0a46701bd08310afe8a2c6
-DIST hyper-util-0.1.10.crate 72887 BLAKE2B 9d8ae7445ea56505e19f57ad680020b748e943a5cc3eca7292c06d93be1b58499db5769b214687aba53a0e9aa6fff3b3f63d1623157350ea826cd2decaf8d0aa SHA512 0a16c5d8857cf522bd53017dac50e530ae685c512eb55221fd6808299c7d716815f7b8192f8a9a504421b938cc0536bd497c7388d2f70ebbd91c46b644496b2a
DIST hyper-util-0.1.19.crate 112744 BLAKE2B f01324fe17898022a2a0d5b336c852b9ed2d4ee1a79ff204bbd9fe103568ee0630b6c462ecf2ef8a6767a3335720d0180fd9932d965c9e5edab9aba81541feb5 SHA512 23d40ee9baf105025eb20939c27ebcc636498e07f776bc1bb1085647ffd52fda8d019c2967ecdb43cc4d46777941a026ffdfa4eaae37e1f5e8a42228ac6c720c
DIST indexmap-2.12.1.crate 100184 BLAKE2B 91003f759cb250cae5ea2a72a184bbf1d4647951dfec84d760daa7e29b07f634a6577331737b3a3faa608aa0617124672ba03478ee4892b196e9c0097871f29f SHA512 218c1b0f5e117374b73492dae870b0a41a863d5f3fadd1e01adc592fc2d55229ea1f7c428893d02d1be1b768413b07497fa2600606ee6039672a1a8e45bdc5c3
DIST ipnet-2.11.0.crate 29718 BLAKE2B 5cfd0876d2c45de886a069fa564d5bd0d4bc53a62ba445692b35c12ad4e3197d9d42b51b14e31bf79e7b8ece129e4612dbf47c90ace5e2e5a9f0e478bd6a5b1c SHA512 9d3c42b5bd93a792ac09975b9ced105e6e8b1eb83bfe012aeabcaa3fc388ee2c5a0541d5cd6dae48dfb97cf82aa970316962d231b65298873136335ac3e5ddca
-DIST itoa-1.0.14.crate 11210 BLAKE2B b2d33dc384757963eab3ae7d80bb672d828a549967986e3af8c70fe71a0ad46c4a278da2db4dfccef99e804e6cd4934067e97c0697a33ac3302cafbc46eeb416 SHA512 ea2d38df373652ddacccd11e610dfdad4e3ae7f0d476514e6ac58092733c817bd834e8cd88c3bc4178dd5a646ba628ae626195e0aa407e8534ae3c2a7b049987
DIST itoa-1.0.15.crate 11231 BLAKE2B 17c261baf95bff2f6cf0dbc33ab78ebbab0cf5dc56aeb7f8977377af868deb5957918f1763c2fe8c080e931489ea89ebcc16b3ebd976eeeb7663ff74989a1071 SHA512 158ca5dd4b04cb12d9292a4df63c72443adaf5aab1bd9aacdb964dc58878d847a64251f84897cb25c34648d4c973b44fef5b4c175d7c04cabc2c13b4631c2e42
-DIST libc-0.2.169.crate 757901 BLAKE2B 1012cf93d8975aa20fc3f2332e253426ff66be6aed63ace5292cc8568ee419b0f1a4b5b39ddbb78d9c2dfd8d72eb0d068c98faa229ab55556da5e674429f0e97 SHA512 c4566330a7967efc211edf31a23647d1a33aa51fc25aa4e9337716748c8fd4be0ae63679220ff2cf6e892f37d03bc5264c55e8f082eb82574a6ec1fa8e5e45ce
DIST libc-0.2.178.crate 783720 BLAKE2B 72f5fecacf0494b3962ff893d647155af88e9942b14d110e521b25e5d65d95d41dc00f83431b82632a53c6e0ae7fd537d018d7bf29df65d5e56b908a893d77d0 SHA512 968b954e2edde88d14135decd9eaadc31ca1aad80529a6696591c06c4414d615c97ce0873f77bfebe08b862faa5f3cb79a6648ab90734d462bef06e06ea43dde
DIST link-cplusplus-1.0.12.crate 8178 BLAKE2B 4705a5241ce7079880de179d35824f8058bec06743b6fe88d282283f037dc6f9eeb05ffc5e334e2ffe6b8d3ceb91810b385ff889952f1e3128dbcdf286143a63 SHA512 ea9fadb4f47de60e7200905f568fc962cd6d2b6fad652f1144ee3f5748874a422e1a3111ba999689f295b7fcc3ef19981d6ea52034ea2759aa23bec355cda911
-DIST memchr-2.7.4.crate 96670 BLAKE2B da38114beca670467c3e1fbf4e415af6f22d52e3223715d52e181babb89b872b46511563985bcc16d7ff4e82f812c6e83ad904b0fe2501b14445119dfa8240e6 SHA512 8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2
-DIST miniz_oxide-0.8.3.crate 61827 BLAKE2B ae8626de8711a8b7c2bce52d2e226a3e973ba6919ed33904883ae6287f848fcf40642afdb9ad71bba19db181fe9ea354c85cd81c1dad889588d5df8fcc99b9f2 SHA512 b79cd67a477851b18ed87c887bfd9f40f97059eb3fedbdc3a52eac66b5fcea42cae833eea39fd62becdb057b337f91d27f2087a407d02770feeaea934c0b1e1c
-DIST mio-1.0.3.crate 103703 BLAKE2B 0d2360e4ef45f37104208a31e9aa467d6db041dfeb97403a010a36e1e1427f51d97f8408948c75c0084e6c118f058267bfe87d36e7911cb37366f2b1ac6eb693 SHA512 2142edc7e9378fc3437110c85ba2cee9c9683e87034cd44275d2c389645979db53fbbc29fec304f1d8c8f0464ae17d2a5db1aa9215d696fa0282f5069700b1e2
DIST mio-1.1.1.crate 105630 BLAKE2B db279c3e46108375f5391a5ebc3ae07e8ccbcc9f6a71aa41996adb862c5d2b965af3cb0da25becdadb16d401ae69ccf5a07e21b0b6fb36e07294633cdf690141 SHA512 0b1c82773f5cc3f33ccb80a2cfbd58e48ffac82934afa7d9ec632b36484f8a13a079802dd8a658dbc94fc158e597e4d7a2c02a799f7b506a7de98fe74e80e684
-DIST object-0.36.7.crate 329938 BLAKE2B 0b02cf2f44e99002909b38125edada1a259feae59fd0e5ef52001755b6878cac710c87c60fbafdbe405281e039f68572ea3d8093d16128899090fd70df7f2fa8 SHA512 dd69172349ecf51fd2351d32cc4453760ca1d15e854a1cf5ed99112032901a54b4645b24163b946deed11f81d3e3035e1a5afd8bff20f335dbd05eceab073478
-DIST once_cell-1.20.2.crate 33394 BLAKE2B 79dd394fcf1637adfef28b4159ec653c8b71d2bda0e0e36a940c04e3d87698f039dc30c97f26648ecf0d9742962f1f0a117568f7c705a8a3fc167085b0ca3e80 SHA512 bc6005bdab7a154c01e2203fb553a68695727475a9a882cf906d49c054ce886ad92cb491d380b6b9fe71a81b2fd690ce91c9a6cf8dfa8508470ac9acfc8a31c8
DIST once_cell-1.21.3.crate 34534 BLAKE2B 3578aaef305cad2fdffdc40c392775a3540bfab3f3aeafd22466d9507bf8346b9fcc200929d48525b051070c0aaa423ecbcaa12868b34dca007991effb224166 SHA512 32a87506c6f4598f3ca2c88556014ef2093d5db9a08602335e847caa537a866492fa74c894e7e1da2e4289a1d3dbffcb90a9e37a4a1453203832f434b8206990
-DIST pdns-recursor-5.3.10.tar.xz 1372072 BLAKE2B 0342848244693dc67ea5c45ef57bd0ee84e6d878abc3bffe7fa77f4922d458ced95fc8fdfb816a765d79492ee1e1ba9d3388fbdbf9a5410f2be7c442cd7e2d37 SHA512 c17618c0965b049c0c0e96838ce5772391964e819e07800d17ad184e46bb3eade8aad35efa1de58f59ca0e04cbbc8028319f41bfe4103e4b1acb3f57cf035cd3
DIST pdns-recursor-5.4.5.tar.xz 1396556 BLAKE2B 940ef12ba561530cbb74cda7e8050ea7d6974ffbf90783ce61628af54618abf888894b62db3fad37eee1047dacc26b803118ad730d9950445e86b2f43f5fb008 SHA512 83add4958131c1a4caaf5203eb8c0718f0b41c22194a49a699bf591d2f46a42891f03202be4f6a560dc8b35d79ef6a9e22fa1575cc3554b166c25523bbbdc8c4
-DIST percent-encoding-2.3.1.crate 10235 BLAKE2B cf8e2fd7b359a05b7bdaf731f9ae84c7fe6f468a53482eb2db7f93dfdaab64ac812b3664899db260055a93449462e6d219c695942fc5b030517b197b4df9b95f SHA512 5951ea8315e52cf3acfbaa023cb9e13a136b114c54a7da0bd44619ae24cd2159d4a96469d7572a2fdabd94e19513a033387117d7ca81d0eb409fb383e4acda44
+DIST pdns-recursor-5.4.6.tar.xz 1397776 BLAKE2B 5348817622a35eacf1cc3697c5e0a870a8fb9ba5b1bd6d20dce8579be7ae87c3ef627ba6f457bab2bc224f5288c5d75dafebd6d0ccfcd3f8001e56d80ba58f2a SHA512 e998430bf1637d33552b2baea6430aab87cbecae3e4a1634e02fe19f0997a2213b0266b748e41c6c28fbacb6d80d1cc8141c807cd0dec0d70aedbec436da78f0
DIST percent-encoding-2.3.2.crate 11583 BLAKE2B 58925243b23a6a1decc3d92c4ce17d06af5206844ad283b49e69e523ac0db2c36c3f4407af4104ab92c029c2581c228bdf416a054a2531191a9e912448ba4408 SHA512 495b4aac88a7a46420811671d6bd82817e4eb2fe51d5068d11c5b50d0d927895d54c855cb07d4f4ad5a2d42b22f9419ad0183c14781dbfa240804fd49761035a
DIST pin-project-lite-0.2.16.crate 30504 BLAKE2B efd0b426fcc6ea8852bce499fac61f9755a11c6a2999cbec514f093ba7b3f94b1f2d437ee9abb243e31f3838ac1c74491a212851d7798eb249e209b35e015332 SHA512 971adfe54cfed304647fd944c1c915e78b37eaf0de3a582fb984a5e91f1b7d4db2cf0f53a9a64b64427062d4b41c0a36baddef782411a76ae3be0f8ca45f0718
DIST pin-utils-0.1.0.crate 7580 BLAKE2B 457e1287202f16d1873b24bf4f1de1828300128c4ba3131758e64f9784d36d47365f22d85493c3a85d854f0d8dbb4c6cef3a0f5b064014dc03943e58b7ba9178 SHA512 828422b8440cc82ac6b0743e0112fa7540d437aed457564999092b1462cd7672cd6b1f0201b67075431aeedd3d9c5127468a3dd028744109944f7f023c82fd70
DIST proc-macro2-1.0.103.crate 60024 BLAKE2B e5ce5f77838fd063b5615b1555db02175621135132de6aa7479d67fd0a34c15e8235290112a728f3251cf913a835bf0aafaf6930880511427143b63152047259 SHA512 9a6964a2ad24dbb1108b7018882ddb48cb6e6f652d1c5eed1cac94602539fc71f011a0a276765778df161edbd6387bf03a8505d93565e0c106f09e98d7d6efce
-DIST proc-macro2-1.0.93.crate 52388 BLAKE2B dae4493215b88f68cc485bc0ae80f0a48ebad68e0260839b1c367832d1ab778197bf040647b3fe36cfe9d5f7a496e05cd71b5914f531eb129c2d458d5f0be896 SHA512 1ae650e390e4f1b18d05f42d2ffcd025cabf72568a326cd85496c722600108b0aa0ab0161b39fcc931b8b302427f678650e703f4db57aa1a60f1751db881dc6c
-DIST quote-1.0.38.crate 31252 BLAKE2B a3836efbe5c21dec70c684002b47b8fc7cef643c82ee903b537a48bc0707a28106c4b33d98e60ff81e04c7520f7404b1dc4d49446e8d91dded517e476c36e1c2 SHA512 530c47c5e6372b508bf5b2b88a138408a7afa5ef52c47280ed20eccf39f8e97dfc1e0a18c1bd5472efcdc49a7a1e69566333a0a1b4c0b4f0e11e6a7a85bfe8af
DIST quote-1.0.42.crate 31504 BLAKE2B a8106c0fe3953bcc2aa421516dfbaad6d6cb2ea839b2ce1447a45b8732dad40a921c2008b477bc0fa029dc0e0357a339db543b1f90bb9da77a5a3681fc16bed0 SHA512 6d55047312de6bab660459750c54213e986f0a80b4458fdb706c2fb3bab83b8239cd230dd9291662076d395c818a391142af1228ae3158cfa4960d6c74d531ba
-DIST ring-0.17.13.crate 1501917 BLAKE2B c4b032496d34f03e73d5ddf4bbdde0e9198de57459ee9d3038afc6510dde718dcaf9dd06a5801ef61d2cb950564e3b705f8a4c913b6a22d0fb9c99d2c7b4973d SHA512 62c8491a7c16d5b5a1b533842f4136e88038857409d11f3512249972d9aebb7a6097e587f3c0e08e833e18ce6a095add2f0eb7fd7bc148e537f0caffeb49d73f
DIST ring-0.17.14.crate 1502610 BLAKE2B b33efb6d21931ab94f044373f24428e87015029a0e065071bfd901f8679d30944f6b27bf0325c77fc4bea7fcd935209087a349e5c279677bea73af6205725371 SHA512 88d38205dc1a1f89bd4ae887ec5c168e68a4b749b3ac0612674092331e99d14a9b8d0f4a98d72c1a3853bcc9da420402336da3ee053bedcfd598da8de93afa14
-DIST rustc-demangle-0.1.24.crate 29047 BLAKE2B 8248b014eedb26cdc0b748544ba91b9aae9c992a6f93b4d3ac256b78f691d572f8885a3575492ea556698a241d2759743968293079ca02bb6a5f318b0ed66dd4 SHA512 eb897c35300b87766e6105917a907fca1c5b1f7691fc03c6c1aaf38075ac883a73d1eb54a245d13ba59c7b0f0333d6543e23fc1b1c542fbbd5c750a84660b9e8
-DIST rustls-0.23.22.crate 341983 BLAKE2B e52cb0ddb9fcf635a778887f67bc5692bf9a18408ebe9c07c05883246b2e98f87f8abfa029ffab1656025cc0d30919955a747df8d91fc2f57193546ea7008d8a SHA512 0eb7ba40c0752e8b9b5ccfaa74d3c6575b3c8ab095b0e661bbb1b43cff334528c35bea5068bad2c154edb342425f6791c2651104ef4b0bc718121772b44d9090
DIST rustls-0.23.35.crate 373700 BLAKE2B a4c219adfeed33e415f5cb3ca2d9df7980ed03bb43f2b1dc6f7f3b2723a69dd5d0a9d5f561d2d26da60f90a4106b54588b243c37baec7ec201df51e2abf411cd SHA512 f59f48bded60aad7b23e7c8c0f579713405ed7de45392f7984ceddaca42bc796f86674ec23b4576958042e699dd5a7ed82fac47923ae13dce930b7f3e8c0a039
-DIST rustls-pemfile-2.2.0.crate 25849 BLAKE2B dfb94a77fe9d86b17b0c6badc6b715f247e9aaf0b312bc9698dbe8d38fff281428ceaec2ec73bef8009667dd93536dda2bc7e7c49d194b36244dca38dd86d577 SHA512 1e69f0b72c6060eb0a54ec8a1cb51809525b053771a1d417892205f8f5dbcf4ba45250fc0d6a836e0cc8fede06d934f0a90c47d475cd8e066dcb3f7504ddaf17
-DIST rustls-pki-types-1.11.0.crate 63933 BLAKE2B 487099180f45163b87614a8ba7088f189547191ef628011911f76ae6f6aa615b16e969682e26f26ce47f52463def702395f2a5dcf6a1742a87fb7c6d559a2e59 SHA512 60a6d20b66b15f077cbded6abcbfbc8524a02229209a3a73ed676a218ecffa26e375ab086247c05aec826ad63bcd9d446748a061191fe2ba5d9f35ec05b698fb
DIST rustls-pki-types-1.13.1.crate 34901 BLAKE2B ebe0a3ef59097ec96491337df232efc1644768ac1d7d9e465e9762a05282c072d9f6dbaf9dbca935405bcad48049f0a8b91db7b3182e16d4c5aca27f1b26033b SHA512 0357a3c66e31447fdf39ed9e29576e2dfbbb012171e71efe322c2cb13856e7441115936375555fb2f700e6a7bc97565c74dc4bc18f8b8b01d335357e220a2c1b
-DIST rustls-webpki-0.102.8.crate 204327 BLAKE2B 8db832f181b46bdecc419e1433dd5550bc181cbffa1961aa90b2533f92696ebe15d71d742225bf806e2dc3a4ebb110d48bf62b0677089df1eede6d5a072c0a28 SHA512 8cdd5d07bb8d6c3f0d1d6663babc3b7ccbe8c9b1463870a3dd095c67f46addf4097a715da796c70f1891ebc1d045ae7d7c3a352400e8bfd6687e6cddfd33b1ba
DIST rustls-webpki-0.103.13.crate 87513 BLAKE2B c1b8db65355e598a240b545f5fdee8db234df9f4f1c2ffa41ab6e8759365fe88f867686a61dbf4002fb3330c67a172e1c97b53773e0378dbaad6c799646c74af SHA512 367829afe3432a9d80bb4da82e075dd05bc37ecaf801c0944e1af9184565d743abf92d59e6fd433e7f051daac15099273b823e6f417ec46b6b5da43bbdad59b6
-DIST ryu-1.0.19.crate 48770 BLAKE2B 588ca156238ff7285edc90d62c41991f6ec6b732656ef874c4bd5723350d2db19eeae844fa8998123a26b34a7feba0ad897731d73cb4daa88a24a3587b860dbd SHA512 b80d07d609237e13ce1f8cbef5b16738308c540800c7ec18387aec876fb2204029754f20f1f273a0ea07f54dfbaa4595fd0a90044d09f124c1c99e46f1005a99
DIST ryu-1.0.20.crate 48738 BLAKE2B b126085448cb58639a7b5867fe313dcaabaf19df478f67fcb6cf15b8e881a21e641878345e0bf1fea7d24b56b921e667fd26a39cb81fca7ea02585332068263f SHA512 329c581429d9b8baa7d9edd9cf20e23fb8002f339d9fb3d50ed4c7eb68fb19c1ba966d52a9c9602265ca5f59f2bd4393ddcb3a7ac20c64aee3096e137eb2a384
-DIST scratch-1.0.7.crate 7997 BLAKE2B cb92a93751d209c68cd003792e45365d186138a115b936f190ad22b33f87c1e1aea2bcd20937188ba496cbe709539bf5fc1d73c0760020e5159121e88c82aed8 SHA512 2cdd160a89844101b62b4d6c23a56d3f9089828b8914031ca973bcbdeffba41ee7d9fb2edb0736d5f8e19d3bf2b1491e8451ae8fe2525518939b2f5cc6310d55
DIST scratch-1.0.9.crate 8170 BLAKE2B 6721a72718e299ae2e5bdca1d6bacf38dc57b1e4fcd42bbdaadac283a815e5644fc7c512871974009108f3a3781d1f6b720c101395c9d431e651ea3ab9e49e3a SHA512 718a3bdcfa9132fc222293d22c9a1b2a867a4d556194f148da60cc8d9bcc62cde9af2dfbfe104073f1b6eaefed19623a1fdf3eaec07835715f01a7c65e9c27bb
-DIST serde-1.0.217.crate 79019 BLAKE2B a0aacff795d34583365ddd469fa14c58a6cccf8afbb248210aaff3134c7ce6e34b3d03f437326d7c01b3e78f82a5d19c37ed9fa4372970d8b2793f2889288e1c SHA512 f97b3b54b9e99c9a027390405cc054c3072f49c92803a4ed5f5f69e76a179deda9d77993b645b3581437085912d881da88d0451b9e0da423c64033a23fdd8054
DIST serde-1.0.228.crate 83652 BLAKE2B d1909d671ea6d5c2eb4ce34ee4493ecaf665d416111b4cac754b5d33b85f916296110bae7aa961efd987a2ceb4a31ba645752ce99dd28dedb9f1eecdd4d7b1b2 SHA512 9b645d6214203533b303fc5e88ad4f7686c22df084878d18a0209a92304a340fcb62fdde88a7080cf7a7348d47b9b363885c4e1da90dba08cc99ff620f375e97
DIST serde_core-1.0.228.crate 63111 BLAKE2B 8a64e4627ad21a3d16dd37d53fb809d11171bf337ec16bb1223075cbf81b6b85cd1c8d19abadf42460d0fbea323e2f351eeb6ef823389d519121b74e68edb215 SHA512 43897e3a7ebdc85d81d1cb30cda8f0a11610f6f551529c8a21462c24fb83110652b462846aa3e1bed5fbf8b5d7927018845a524ee9e079e2c8acf2c687efd6c4
-DIST serde_derive-1.0.217.crate 57749 BLAKE2B 63b4930122d80d64492ba2718630513012202e42bbaa74510729ee66a0e72b8a1ad123784b479697ba562db43868f4bddfdf5e94bb3d744cd68a547471ba40aa SHA512 31020f4533d04b31ae125580a3c5093fad36438d324e2d9b063923aa8c125c654102ae7fbc3b3df892bb41db6b321962a23e0a37950e080055d715d15b18af76
DIST serde_derive-1.0.228.crate 59605 BLAKE2B 166ee2f9ff9f7a0928d0a65a72db3d9226c377bca2a1771956e8ecd9c7faf0544673c9c21be2a5553e621b55c74c7b958052592a1cf6eb6427a2d4f3e3dc6bb8 SHA512 8bfdfeee10ee7ef0670972aa963ef63b13e8eb2c8a09b9e0b717f92551aa89b3dd2a0dcbae6ccf20a1caece07e6adb18f0db56fdac020e4e0281b0d24e376003
DIST serde_yaml-0.9.34+deprecated.crate 65290 BLAKE2B 1c1f8c7dd1a7952948596d8c727fb6fd36426c7b80ddaba2e6065db7551757e6fb170c77373ba9784f6b32de9f8aec94f90e1c85df98b9ac1f75a7cc8e5da174 SHA512 64329436d18bc3b1a0737afff7c8727f7e04c71b2bf6022f597a45f0860fa3a678eac688f61f0bf7a7846f98809f427c9907625e1d00c8691c383043c1cffaca
DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a
-DIST smallvec-1.13.2.crate 35216 BLAKE2B 31a268aad595c06cdb078577a97b089dbea156a0df307a3e6aaaf4861bd9a680c5b11921da9dbdb1bcfe17d58c0cbede1ffe6bba3aef59b384fb1b9703c62d27 SHA512 a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679
DIST smallvec-1.15.1.crate 38116 BLAKE2B 8dd779d7726694672945e928399e0459f4973d284a6c2d664c2fc757ebb1177658f47c812d9800e982479cbd7413fd4283c64a4d248ba5cff6397f96b758676e SHA512 c26b097a063353beedfcc921129cd0fb838c1c9420218993a05b2655b47b6ec16f11e0054312018658b4abd893beee140c5d2739401a5e5aea2e64575f237047
-DIST socket2-0.5.8.crate 56309 BLAKE2B 309e5a0e46d0b9debbbd6049a138e56b82df4fc0e9d1115745ed935eb40c81b004ad748844f641934e13b5b88773db5cc4a57fc9e61dc82b5322fa0232110864 SHA512 b7d03608a3d4cf3e2d1539b5a375412effcc96279e8f57668fa8cf67b3f0a3a6b611ea5e2e72f282460582954acbb5364320611f7798a11ec9e4833e53830b60
DIST socket2-0.6.1.crate 58486 BLAKE2B 990bc645f361576edfeda680cd4b6a0a29d6de80bda1164954369aa572bd702db5d92cfd26e68842aa0978df351d9b52f2900a4bf1f6d4aa5bb0f31d259ff48e SHA512 cafaf371870a8d85bee30d1a8341c25ec023f6031eaae96f783f0486e2c9b0ff7a6d742d40500f9c772472805d8de9f36a163405a476c57b254249992a5477de
DIST strsim-0.11.1.crate 14266 BLAKE2B 252a9ede4241b165525486aa8855dece37af77f5b28e0e1858c4a5d2047db9fa958328db10989234aad69463ab51b2303785ec056c63ea8c95bf95e111ddabf2 SHA512 0cebe0155a92640e56db9a599ae62078cbb32e1d2da8bfa67ed0e8f410a7558dfcf7b3c2720ff5913282e291ecf076aed9fe9bf84c8d44e814a642b1bed3335c
DIST subtle-2.6.1.crate 14562 BLAKE2B 3cf4940b7a01f04715da1057f6a92b1043a6b86ab2ee7f9fee0337b680ff781201d330409460f6f90b3f81bb5fd4b563e17c762c6e824ba3b0af99e4ae7d66bd SHA512 f5946ebd9bcb8776ee3446abcbf4afb3cca5d8bd847cadda87e864333ac7ded537a3efa773e9648adf20ce4add2c1da85172cff88c1e1a3a6cb051401b00c6bd
DIST syn-2.0.111.crate 302117 BLAKE2B 9fe6c0bbeb432d67f4c879956c505d160f7be418cd16b48a5430c1c4c4922251007e3d85bf219daa16a7e9d8f32c15fdc2ebd94bdfc762135cb27b897590d484 SHA512 f30fc819fc6c942cde044b6bbe608f96736070717f28da71ab4ff68aa9e780416829152da11a83513fbc0de88337c2157e4fd1e4a029ebcbb64daeaa54dbf768
-DIST syn-2.0.98.crate 297807 BLAKE2B b17e2bb4f151fba26debb722bda8e8677dcc4f57f0e88bec214f8b06e9b15c48731ca3f63d1453a44f34845c9895b3519008ce6cfb69746486324d7a8e0e0c20 SHA512 792dc70249d55face151b5481b0ebabbd3d290de78cff8b5dad8bee08e5a932ee22e54ca5fc5980e0b218197d19822c3672e02eb92ca74c8ac1328081d4d2cbf
DIST termcolor-1.4.1.crate 18773 BLAKE2B 34676efbde8e242415857d6d40a287ae3459678d8222f5144faefb8c84d635686f640e79588d98635c8f25b7628ec6663a01b16e1e462705b5cba7e8b8e61f44 SHA512 b66aad157c4fa2985f764321d157dfb1f0325fd633811870db7919b5579bf7bc19fefe99e1c706cdfa67504c37dc2ca3d283e11d1bb516edcfaf1eb7747a778a
-DIST tokio-1.43.1.crate 828219 BLAKE2B 539e7f0e7ff36cde6c23f9671ef0267a34a839186736631d290e3d9b677267f82959d897a634ebffb0f74032e1e1c0bbcaa6a9b6b421b75bbdaa4182c6ab5f79 SHA512 3359878eefbd34294afb1362ce4430f631af8a4812af59da5a99306fe84c703cf34993c0b3453d6c55fa60ceb9446c1bc89f169367822342d8e12aa2e23a8439
DIST tokio-1.48.0.crate 843434 BLAKE2B 4a2e3221f6820f2b092275fceef9bf295e35e445d81238f9f71679033b499610696d8882da118279b9cbb3fffb2383afbbf9cdded910546933072f70e77ffcca SHA512 7e275ed26e857d42255dd27e8704bcb0a5daa8658c5a00f9798f4522265006a91e04d6a06512a87f30e0ad090a1676c03d3b02fe8d60263e4ba793940a85b98b
-DIST tokio-rustls-0.26.1.crate 31214 BLAKE2B c5829570c90b5d4dffe73c8b3a5bcba799bc48e8b742ff10030805067201848c362fad9f4ff319b003eb734b078389a35420186e90a434464f45dc1b6b3391ad SHA512 0cee6b356ebc4be05c484d459ac457280f41401093ca942cc61a6e6514dd4a48b1cc921f7dc02f9c8bc34b751d4d40d6d4768b21193d5a12c38ebd140bad4896
DIST tokio-rustls-0.26.4.crate 35430 BLAKE2B 97dadd1b4d8aebd2f862f05bf333c0af97b37c1055f0ae9a79b78bef4c8bd4c05c034d13e395346de1d83195609bfd45ca34e70d4c0e537a1e4e8078181c00f7 SHA512 c72fdd74c4b59ab7c8fe15ed73f827aed91a40360a6d82772d6ae2dc4affc590d2c58c1b7523be7249a2be7e3bc2513a0906c0ce53ce1288d5dac50e01199c7c
DIST tower-service-0.3.3.crate 6950 BLAKE2B 32ca66bff783eeb015af982b539acb63c9d426b931832b27aa45088382712df3894132a9e6e96fe1ed9d0f9e582b7a25b33e0ab73711acb06b4e134e69158452 SHA512 770cbca46d8500ff36fe84a9a420beb84a0e893dbeaccdd93a3970e746c893b5d32580182ef3017662f421e4b2d71f079ed2cf1727dcd5fc3443a4484f9b43fd
-DIST tracing-0.1.41.crate 82448 BLAKE2B c056d938e001654e03efaec7a11eb8ecfbdfe9af2099271fcefa43f4f4683b40c59f7111fdf7f27df4da38bcbe94f1b2ac0abb6ec3d6e6a0d165b9fbb14da3a3 SHA512 dffb8d3a1375f1b9d5418550a46cb7b1d92b2cc8ffbccb430a38f7731547960775bb42798074186711847d256eee30fb3e74078b69cb36f28c07d9f231dbf96c
DIST tracing-0.1.43.crate 90033 BLAKE2B 46ce9395fb01a9e095cddd69ac2c68515e4535628a55bda9e7504f72ddcfbadb498db8659e9618cac1c5d36ef5edfdc13cdadb1018fba445488ac13d9ea47072 SHA512 5c4add0fff3d0275141edf67924deda84c27677f5e1ebcc23fdc52ba4091e25b5fb341fe0028f0a502e1447b621928dba281100df154e5a33b2f8f4b5dbf4a4b
-DIST tracing-core-0.1.33.crate 63434 BLAKE2B bc36332ffe5f4c95ae2d12df43944bcf589746cdb923a39098e5f4007fd1f19d7c3bb115011ddc40c13e3ae0e5cfc9a59c49861824e99fed7430fd29479abacf SHA512 1c6f0cf3b7bd6c8f6316ed9ea0b315a619308de6cbf7e50e665a193cf8c3399b5227d4f145d83b10c7e01a2f9fbc83d16e108cf09b7fd6cef413aa5c1acf89ef
DIST tracing-core-0.1.35.crate 63837 BLAKE2B 92c0dc3d9a0843cf71293c7d40e9b4db225982ddcd6456298dca711d1104ea6f5fde28ac3a2c223fdd6aa44942d54c1b88d210565acdb5db4a3b98a29835b3ed SHA512 30afe79d6f1e9ad945245db2ac870f6fdfa1ebd1674139778700dba5c7de2891f7d3cac0644e71c5a286868adb7dd6eb3a255e6e669e1cd06c46ff3d57d22036
DIST try-lock-0.2.5.crate 4314 BLAKE2B e75c6c0d7c975e294e3d723e2fb023067530ad6db3c7bdbe89b9558764606fd1a74f0d1ba787d85266db1912dbeda85408e85646d0f7cb24496d743b7a18c705 SHA512 433db3c52f55d78220db414ef6a7367791dd66eac935f41dcda85ec9200f0eefeab6e8342e70aabe35c300069c0e7b7c4f8d63a2334b52a081cc98416371ef08
-DIST unicode-ident-1.0.16.crate 47684 BLAKE2B 0cdfea4b56bdfcb8288941f95a31e66f7922b7e1dfa8f5e6265f1051701d31bfbe6e0cefb0fbd33456e2fdff48f8da30580351309e19fbb5d2f2573c716965cc SHA512 9484a34a4e283f94e971fa9ec42528a62f2c056e702040da37dd9d9b794e16e14a408302d1ac26a850d0eadf0d0266d8ef5b80761490f7029240244a39878ec9
DIST unicode-ident-1.0.22.crate 47919 BLAKE2B 766f52249631092af952df717e09e1eb0d2a8e87c45e65113f0b2b88b42e8b406a87241fadd368ceb9e13339362b48cdbbc6f699f95f448ab45dbbd861615d62 SHA512 81666679aaa2eebfe1429827fa2a88ee0b52bd69723067132c24252070133b3731287bcd880ba16d16274f038c7b27bcf637e9150b6cd955fb4ff49642078125
-DIST unicode-width-0.1.14.crate 271615 BLAKE2B dd2e1504caedecb5d37c397ba05446d3d762b8b6833a8032ebbc213e324d53d89db5e96ed2f7223096e5754d800b39a54105906effc88d9437d7acb9e7beb81e SHA512 3c58a18776aa82cc13c761789a47901616cd98a30356f93d7eb05ae457314209d0a66213e2bbfa5eb8b59be6beacf62438234ce8daafa31b128dbf7d5d6fcadb
DIST unicode-width-0.2.2.crate 282768 BLAKE2B c03a04bb159969f32447c7823f50b2686c515dff4f7778d2cac07a87cb9488d44844b0bb0b51c6996d8fa1fcb65cf4e6a8a9e697d95c1be8373535bc8d7c4215 SHA512 a0ff6ccc1d154e5a100808d3109fe30afa048c3ff402f0a0de34dbff2d58a7403903002185b33bee7b04dcb578c9dea66225a8697f3cd997205680ae3abce965
DIST unsafe-libyaml-0.2.11.crate 62101 BLAKE2B 7ba17f2c19d96fc8999448594ba67bfc0eceaff47a39e560f856d13229ad5e69a9c8ba8794ec814e6b7c3cb7d597b7c7a366c8e880f17c0efc6a03a5677d82bf SHA512 a42c95eaed1ae2e438d3ba19ccd92337327c34f6174a43db80e1f37c507154249c7510e93f81726890c6032c89fe21b1876582afb7fbb811e3931480c4727712
DIST untrusted-0.9.0.crate 14447 BLAKE2B 8e9c3ae09435af0885bc4a6e3c8943805b48cfc00bdae228c7c43093254e1be15d7005d1026561ff369ec37865d8458203f421a9c89ae3db077f655449621aed SHA512 5929e4079c1c2ff933ae8d8f59a2ecc7a424e71a20d1b8821f75925af68bdf82604b024c008e5464b02e25ff093e561a352b685e755b3d0b27e4c30254689416
DIST want-0.3.1.crate 6398 BLAKE2B bcc1384bbb86db27b5e082b29a8dd4d89c37b40f6cdec4df8a86c8d205b418468b6cd42a78bd14ebaba057b28e151c00b474c098d7596f49a823ce33510c13b9 SHA512 f93f765113f035e134b967e8eb3f4511b8e03e793a47899b614d826afac02348fc02865c298a10410ecec4eb64f35f66c22bcbdbe36ed0c4c1665dca1db4d526
-DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f
DIST wasi-0.11.1+wasi-snapshot-preview1.crate 28477 BLAKE2B bcc773ba28cbe8d820e9e9fbb275fb4451bc7f39b3bd88bcd93850bf2bdb5300489bd8eca27489ccc5f6269b00f4e1b505ae3a33a35d708cd5a414ad307be149 SHA512 29e3c903763db2580a15f50db487c5e1d4e90763e48d90a5b3f681e468a24f9df1a01773bd1ffa0e3cd293dd8cb4d6fbabfaa63c0e13889c811a56f4554ada49
DIST winapi-util-0.1.11.crate 13368 BLAKE2B 164f49c84952ece6e566a9a23f32ddf34e16f3930ff531f8d7527bcc18768c9a118cbee748ae6a753a172b4ce8d0f22108142382992b2918b442387ee5904545 SHA512 cc1511c004c2a81da4d7a0414973f09ab711033fbbadfd597f56df2cc6c99b3c1822f0b8de1952e78400a88462b9050acd85d2e4b36db72254049a2d6f725a01
-DIST winapi-util-0.1.9.crate 12464 BLAKE2B 7fb9dd803fc2608c4e5bc75674472992d82da364f24c22072d5624d6ae6abc44abd3e3ea3c45a7558e045331f3d87572b306b4ab5de52c07ff3706e7f13c2a38 SHA512 c46b893f67ec6e36499b00736bb6b9421e0e2611e76784afa6da01d7ebd033df82f1be7cf8d871d541125d290983f98f26f759488ba9aface49efce8edd682e9
DIST windows-link-0.2.1.crate 6133 BLAKE2B d1ca714178e6fe12bb3b4caeed9a52a36890989e77ae2dcd6f2d18ae4a21fb8479d304cdff63bb0a5f28acf44eaf104821cff83cd66b3a0406a5f33a800e3641 SHA512 afb0c87beb8914fd9a3e52db6f2f64a840470b9751b66c83892c24cb1c46cda63fb16b1aeafcaa5a1fc7c5ba01da46be63e5227cc108dede8b0bd27785498a6b
DIST windows-sys-0.52.0.crate 2576877 BLAKE2B 69d6b560ccfc8f679e2678663ba606060d71fa28efa82c8aef8cceaa2c63b06f2052764d60163964f939649a26bbec6361ee4b094555e941fae92070db566980 SHA512 24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03
-DIST windows-sys-0.59.0.crate 2387323 BLAKE2B 3110c8cd2bc005f8c95cd038a8d574af648dc19788fe4485f977376f92e36b911b1a542d669a07ae9cd4ea72a884ab01ec78b8a2b5587456eb202452d1d8fa0d SHA512 d35e009e979633a1f3c8468cd038bd5c8c0381405165ce03497decd7d9edaaac485d704487e4a61d9aaf4e4d011b4248408912df6a0044d50e8457259867e061
DIST windows-sys-0.60.2.crate 2518479 BLAKE2B c2e2f614066e5a9d7ec461d9d25bd441188797ad85e1e923baeb0193e82f5c138ae7fb4ad0255d483f60f7a94e3f5cd8373d01b7485c052c9498937bc40da992 SHA512 a48aa1b66479451e431032737b63dc62eac6f63c251534e258de75bbee4858829faf5e641756566f00e153b08548ba32beb437b5ea42e9531e3fcbd8eb25209d
DIST windows-sys-0.61.2.crate 2517186 BLAKE2B f4eab0b365aa1df8a353d634da5081237bef0f7b69f02ffcaba232a688e59dfe877c47114de64c81e3cbb929c2fea1143ed6bda56ce935e66d871a993ac29106 SHA512 e6c8f61f0724dafca7821ee9b9c07237ccfee69be269be2fa7318eb48b151285ecf63e860aa1fe303639222fe11268e3773f37c2dd79f923029af58c645edb3f
DIST windows-targets-0.52.6.crate 6403 BLAKE2B eb98d0a8daeed5fe76e7fa8edb2743e2a3e77dfb9c4ea68605a6ab10532cb7cfc43bc1cea0180869445bd940be762a40136500e26b84ca88b5e0c502004c7a4c SHA512 d6d2dbd96096c6c396dba141a9817e377c35877f3b2fe58b2553280c7cfcb1ed6ee75bd4d62c9b882662de67ddaf0c1049b91530d29c94dd709c230e08eb895f
@@ -154,5 +102,4 @@ DIST windows_x86_64_gnullvm-0.52.6.crate 435707 BLAKE2B ab77dccd06328cdb00175f41
DIST windows_x86_64_gnullvm-0.53.1.crate 787739 BLAKE2B b5e3aaba4ecd1e5e21a0b9ce5beaad3f9ef78249f21b3dbdb69af98d5f36d01f2ce65d3188788392b866f296548075857e2f904e30cb79db33fb3134fd78e946 SHA512 30b8919ee9ad36acfac4e28a3b22378ce11ee73d35de60dd9c9217adf14e85222da5526100b0252372e039e559a5bf734ba134b10f707657d542341056947588
DIST windows_x86_64_msvc-0.52.6.crate 832564 BLAKE2B 8e9a3044654c6de99a9153e7cacd575474e7a8a3d883c67b02132af5d3fc99d03cd5f7a4dd666a3947451d11218e6acc6eb5e2526f012481106cc13453839719 SHA512 21944cd8e3a481b514509e73ae3f62722fe7ed380d37ea0c25f8fbdeba79174dd52ff65d898838da5df4197894b74e00f45d47489418e978753b4e55c7e623e7
DIST windows_x86_64_msvc-0.53.1.crate 837950 BLAKE2B 5775d30ce763835fa26376d85e9ae6f598b817b8d32b01147e5d197c364a5071ce7b5b09ee6f611fcf30790af79c4e4282e04ced620190629eebcbccabb8d720 SHA512 bb724f4051db90ce49b552021e746769e5dfe3792b522416539960c27f9ace14f63c47f0f240d6563257377129b5f3ba2c262c6fea9610428aa860fe035f189c
-DIST zeroize-1.8.1.crate 20029 BLAKE2B 092eba034cd35ec47290020e0c2b213177ff5dbe14ab9e7f0b4ef3cb1ecbc42fbec2b951414e26ab00bc65aaddc2c93eddd5a1963b27c6cd613ac71c65d5cc24 SHA512 dd40ebe98b98fd742608d4066b5ab66caba94b2e679428fcaff9fe547d8cd6ff2360dc85d671ee9183e32fb79cb554d00d6aef9eb8f3d8ad0ec92d0435aa4ebe
DIST zeroize-1.8.2.crate 20907 BLAKE2B f9233758bde107e2409b56e936e02f51442ff29dfb2589c0b194edb38645421b4b8e6064208f7548a93836149c425de90c08792288e5cea1ae117911406bcdd5 SHA512 ce1fb97ac69cb0792f2f5820919aaa0a9f71c4b410bd0d0c2343d8415d39e3eec3f948cc2769eaf639c14695a3961fb6cd96ba7a77a15a77924d1a8c16497b81
diff --git a/net-dns/pdns-recursor/pdns-recursor-5.3.10.ebuild b/net-dns/pdns-recursor/pdns-recursor-5.4.6.ebuild
index 334d5046283b..b50658cad6df 100644
--- a/net-dns/pdns-recursor/pdns-recursor-5.3.10.ebuild
+++ b/net-dns/pdns-recursor/pdns-recursor-5.4.6.ebuild
@@ -5,102 +5,106 @@ EAPI="8"
LUA_COMPAT=( lua5-{1,3,4} luajit )
-RUST_MIN_VER="1.82"
+RUST_MIN_VER="1.85.0"
CRATES="
- addr2line@0.24.2
- adler2@2.0.0
- anstyle@1.0.10
- backtrace@0.3.74
+ anstyle@1.0.13
+ atomic-waker@1.1.2
base64@0.22.1
bytes@1.11.1
- cc@1.2.11
- cfg-if@1.0.0
- clap@4.5.27
- clap_builder@4.5.27
- clap_lex@0.7.4
+ cc@1.2.49
+ cfg-if@1.0.4
+ clap@4.5.53
+ clap_builder@4.5.53
+ clap_lex@0.7.6
codespan-reporting@0.13.1
- cxx@1.0.192
- cxx-build@1.0.192
- cxxbridge-cmd@1.0.192
- cxxbridge-flags@1.0.192
- cxxbridge-macro@1.0.192
- equivalent@1.0.1
- fnv@1.0.7
+ cxx@1.0.196
+ cxx-build@1.0.196
+ cxxbridge-cmd@1.0.196
+ cxxbridge-flags@1.0.196
+ cxxbridge-macro@1.0.196
+ equivalent@1.0.2
+ find-msvc-tools@0.1.5
foldhash@0.2.0
- form_urlencoded@1.2.1
+ form_urlencoded@1.2.2
futures-channel@0.3.31
futures-core@0.3.31
futures-task@0.3.31
futures-util@0.3.31
- getrandom@0.2.15
- gimli@0.31.1
+ getrandom@0.2.16
hashbrown@0.16.1
- http@1.2.0
+ http@1.4.0
http-body@1.0.1
- http-body-util@0.1.2
- httparse@1.10.0
+ http-body-util@0.1.3
+ httparse@1.10.1
httpdate@1.0.3
- hyper@1.6.0
- hyper-rustls@0.27.5
- hyper-util@0.1.10
+ hyper@1.8.1
+ hyper-rustls@0.27.7
+ hyper-util@0.1.19
indexmap@2.12.1
ipnet@2.11.0
- itoa@1.0.14
- libc@0.2.169
+ itoa@1.0.15
+ libc@0.2.178
link-cplusplus@1.0.12
- memchr@2.7.4
- miniz_oxide@0.8.3
- mio@1.0.3
- object@0.36.7
- once_cell@1.20.2
- percent-encoding@2.3.1
+ mio@1.1.1
+ once_cell@1.21.3
+ percent-encoding@2.3.2
pin-project-lite@0.2.16
pin-utils@0.1.0
- proc-macro2@1.0.93
- quote@1.0.38
- ring@0.17.13
- rustc-demangle@0.1.24
- rustls@0.23.22
- rustls-pemfile@2.2.0
- rustls-pki-types@1.11.0
- rustls-webpki@0.102.8
- ryu@1.0.19
- scratch@1.0.7
- serde@1.0.217
- serde_derive@1.0.217
+ proc-macro2@1.0.103
+ quote@1.0.42
+ ring@0.17.14
+ rustls@0.23.35
+ rustls-pki-types@1.13.1
+ rustls-webpki@0.103.13
+ ryu@1.0.20
+ scratch@1.0.9
+ serde@1.0.228
+ serde_core@1.0.228
+ serde_derive@1.0.228
serde_yaml@0.9.34+deprecated
shlex@1.3.0
- smallvec@1.13.2
- socket2@0.5.8
+ smallvec@1.15.1
+ socket2@0.6.1
strsim@0.11.1
subtle@2.6.1
- syn@2.0.98
+ syn@2.0.111
termcolor@1.4.1
- tokio@1.43.1
- tokio-rustls@0.26.1
+ tokio@1.48.0
+ tokio-rustls@0.26.4
tower-service@0.3.3
- tracing@0.1.41
- tracing-core@0.1.33
+ tracing@0.1.43
+ tracing-core@0.1.35
try-lock@0.2.5
- unicode-ident@1.0.16
- unicode-width@0.1.14
+ unicode-ident@1.0.22
+ unicode-width@0.2.2
unsafe-libyaml@0.2.11
untrusted@0.9.0
want@0.3.1
- wasi@0.11.0+wasi-snapshot-preview1
- winapi-util@0.1.9
+ wasi@0.11.1+wasi-snapshot-preview1
+ winapi-util@0.1.11
+ windows-link@0.2.1
windows-sys@0.52.0
- windows-sys@0.59.0
+ windows-sys@0.60.2
+ windows-sys@0.61.2
windows-targets@0.52.6
+ windows-targets@0.53.5
windows_aarch64_gnullvm@0.52.6
+ windows_aarch64_gnullvm@0.53.1
windows_aarch64_msvc@0.52.6
+ windows_aarch64_msvc@0.53.1
windows_i686_gnu@0.52.6
+ windows_i686_gnu@0.53.1
windows_i686_gnullvm@0.52.6
+ windows_i686_gnullvm@0.53.1
windows_i686_msvc@0.52.6
+ windows_i686_msvc@0.53.1
windows_x86_64_gnu@0.52.6
+ windows_x86_64_gnu@0.53.1
windows_x86_64_gnullvm@0.52.6
+ windows_x86_64_gnullvm@0.53.1
windows_x86_64_msvc@0.52.6
- zeroize@1.8.1
+ windows_x86_64_msvc@0.53.1
+ zeroize@1.8.2
"
inherit cargo flag-o-matic lua-single
@@ -111,7 +115,7 @@ SRC_URI="https://downloads.powerdns.com/releases/${P/_/-}.tar.xz ${CARGO_CRATE_U
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ~arm x86"
+KEYWORDS="~amd64 ~arm ~x86"
IUSE="debug dns-over-tls dnstap snmp sodium systemd test valgrind"
REQUIRED_USE="${LUA_REQUIRED_USE}"
RESTRICT="!test? ( test )"
diff --git a/net-dns/pdns/Manifest b/net-dns/pdns/Manifest
index f454326b751e..7db3b1c05dae 100644
--- a/net-dns/pdns/Manifest
+++ b/net-dns/pdns/Manifest
@@ -1,2 +1 @@
-DIST pdns-5.0.7.tar.bz2 1485510 BLAKE2B 9176d27e0f3d8a66aeb368d37ab5f908d6e85ea04c7e7e33abf49aadf0ae152329fd4d7805750f4ef62509dbf01dc8d1f8e5c351f174738a6c8150426dee3a15 SHA512 31d724f8e39524eac843521ba2f7747f7baa92698290695ee50411d87abca4d2fb72695de6d1adf1a99c4c833e9fbdadab1e2e863054dae48cad179dafd5443b
DIST pdns-5.1.4.tar.bz2 1536977 BLAKE2B 3c0a4487f1e00925459b71d1ca6a06b21ed2489f209ed599b7e6f6068fb41e434b89474f46644ef7eca09aaf541164708b4be49ec9821ceb1728955101094e2a SHA512 63289f93af4c50176565a6cbcf387ee40645b9a16166eb9cb9fad2d743aba989839e9a8476388c027fa752762d02215095ec2803eca846fbcdbd0fcd40a2a6d9
diff --git a/net-dns/pdns/pdns-5.0.7.ebuild b/net-dns/pdns/pdns-5.0.7.ebuild
deleted file mode 100644
index 93a18319bc09..000000000000
--- a/net-dns/pdns/pdns-5.0.7.ebuild
+++ /dev/null
@@ -1,133 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LUA_COMPAT=( lua5-{1,3,4} luajit )
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit lua-single python-any-r1
-
-DESCRIPTION="The PowerDNS Daemon"
-HOMEPAGE="https://www.powerdns.com/"
-SRC_URI="https://downloads.powerdns.com/releases/${P/_/-}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-IUSE="debug doc geoip ldap lmdb lua-records mysql odbc postgres remote sodium sqlite systemd tools tinydns test"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="${LUA_REQUIRED_USE}"
-
-DEPEND="${LUA_DEPS}
- dev-libs/openssl:=
- dev-libs/boost:=
- lmdb? ( >=dev-db/lmdb-0.9.29 )
- lua-records? ( >=net-misc/curl-7.21.3 )
- mysql? ( dev-db/mysql-connector-c:= )
- postgres? ( dev-db/postgresql:= )
- ldap? ( >=net-nds/openldap-2.0.27-r4:= app-crypt/mit-krb5 )
- odbc? ( dev-db/unixODBC )
- sqlite? ( dev-db/sqlite:3 )
- geoip? ( >=dev-cpp/yaml-cpp-0.5.1:= dev-libs/geoip )
- sodium? ( dev-libs/libsodium:= )
- tinydns? ( >=dev-db/tinycdb-0.77 )
- elibc_glibc? ( x86? ( >=sys-libs/glibc-2.34 ) )"
-RDEPEND="${DEPEND}
- acct-user/pdns
- acct-group/pdns"
-
-BDEPEND="${PYTHON_DEPS}
- virtual/pkgconfig
- doc? ( app-text/doxygen[dot] )"
-
-S="${WORKDIR}"/${P/_/-}
-
-pkg_setup() {
- lua-single_pkg_setup
- python-any-r1_pkg_setup
-}
-
-src_configure() {
- local cnf_dynmodules="bind lua2 pipe" # the default backends, always enabled
-
- use geoip && cnf_dynmodules+=" geoip"
- use ldap && cnf_dynmodules+=" ldap"
- use lmdb && cnf_dynmodules+=" lmdb"
- use mysql && cnf_dynmodules+=" gmysql"
- use odbc && cnf_dynmodules+=" godbc"
- use postgres && cnf_dynmodules+=" gpgsql"
- use remote && cnf_dynmodules+=" remote"
- use sqlite && cnf_dynmodules+=" gsqlite3"
- use tinydns && cnf_dynmodules+=" tinydns"
-
- econf \
- --enable-experimental-64bit-time_t-support-on-glibc \
- --disable-static \
- --sysconfdir=/etc/powerdns \
- --libdir=/usr/$(get_libdir)/powerdns \
- --with-service-user=pdns \
- --with-service-group=pdns \
- --with-modules= \
- --with-dynmodules="${cnf_dynmodules}" \
- --with-mysql-lib=/usr/$(get_libdir) \
- --with-lua="${ELUA}" \
- $(use_enable debug verbose-logging) \
- $(use_enable lua-records) \
- $(use_enable test unit-tests) \
- $(use_enable tools) \
- $(use_enable systemd) \
- $(use_with sodium libsodium) \
- ${myconf}
-}
-
-src_compile() {
- default
- use doc && emake -C codedocs codedocs
-}
-
-src_install() {
- default
-
- mv "${D}"/etc/powerdns/pdns.conf{-dist,}
-
- fperms 0700 /etc/powerdns
- fperms 0600 /etc/powerdns/pdns.conf
-
- # set defaults: setuid=pdns, setgid=pdns
- sed -i \
- -e 's/^# set\([ug]\)id=$/set\1id=pdns/g' \
- "${D}"/etc/powerdns/pdns.conf
-
- newinitd "${FILESDIR}"/pdns-r1 pdns
-
- keepdir /var/empty
-
- if use doc; then
- docinto html
- dodoc -r codedocs/html/.
- fi
-
- # Install development headers
- insinto /usr/include/pdns
- doins pdns/*.hh
- insinto /usr/include/pdns/backends/gsql
- doins pdns/backends/gsql/*.hh
-
- if use ldap ; then
- insinto /etc/openldap/schema
- doins "${FILESDIR}"/dnsdomain2.schema
- fi
-
- find "${D}" -name '*.la' -delete || die
-}
-
-pkg_postinst() {
- elog "PowerDNS provides multiple instances support. You can create more instances"
- elog "by symlinking the pdns init script to another name."
- elog
- elog "The name must be in the format pdns.<suffix> and PowerDNS will use the"
- elog "/etc/powerdns/pdns-<suffix>.conf configuration file instead of the default."
-}
diff --git a/net-irc/znc-clientbuffer/znc-clientbuffer-1.0.53.ebuild b/net-irc/znc-clientbuffer/znc-clientbuffer-1.0.53.ebuild
index b5055796cb1c..524ca2d3704f 100644
--- a/net-irc/znc-clientbuffer/znc-clientbuffer-1.0.53.ebuild
+++ b/net-irc/znc-clientbuffer/znc-clientbuffer-1.0.53.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/CyberShadow/znc-clientbuffer/archive/v${PV}.tar.gz -
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 ~arm64 ~x86"
DEPEND="net-irc/znc:="
RDEPEND="${DEPEND}"
diff --git a/net-misc/sb-hosts/Manifest b/net-misc/sb-hosts/Manifest
index 51ff2db18277..9bba827f6832 100644
--- a/net-misc/sb-hosts/Manifest
+++ b/net-misc/sb-hosts/Manifest
@@ -1,2 +1,2 @@
-DIST sb-hosts-3.16.110.tar.gz 21511205 BLAKE2B c3501d5b8c2879b071463cfe78179f39d71622301462de7088ab66eae2848fbd7c64fe290d01a4f21afc74a89db36aec98ba6c47bc3d4493740c5b7f7afd2d77 SHA512 706dee80c1e93844307cdf9c88f23f78dad3c17bfddcd7b0e2b298a0e089a817e0b84febcd40b312d4bae24ebfe415bba2763a39834a08af139ce6091ee22523
DIST sb-hosts-3.16.111.tar.gz 21335798 BLAKE2B 7f249e61546df6f4c171bbe3f4ea5fc396e6e5f08da0807a16f3b85f396affdfc318559f32c4653aee32989778bccb801e4611182b26fede56842fc6d58a121e SHA512 eafb657889f3d6dcb4d6a6989eb1d5d7881ebbcecfd3097d4f33eb5ad09f42e58e02e2b3a98bdbd6b5fbf4a3cab9e54298e65f643cc9ced4c360634307e05b52
+DIST sb-hosts-3.16.112.tar.gz 21511188 BLAKE2B a3951069e2527002d17e998e6b748cc96c0440f74d6a81413cbcb8f0938deac14f665a512471a576e36999ecfa6137fa1036a717238bf185d82e7a29de160d2d SHA512 d212863379a9ce3ba059d35552f6c77b5d2db855d5821e46975737b3347b26d18e88ea454517a871c8021bd5a53c986a1cc002597ab86b167c39ba7116ca8c2d
diff --git a/net-misc/sb-hosts/sb-hosts-3.16.110.ebuild b/net-misc/sb-hosts/sb-hosts-3.16.112.ebuild
index 941876ea977f..941876ea977f 100644
--- a/net-misc/sb-hosts/sb-hosts-3.16.110.ebuild
+++ b/net-misc/sb-hosts/sb-hosts-3.16.112.ebuild
diff --git a/net-vpn/derper/derper-1.102.2.ebuild b/net-vpn/derper/derper-1.102.2-r1.ebuild
index 10d5c309624f..1a21dec2cde1 100644
--- a/net-vpn/derper/derper-1.102.2.ebuild
+++ b/net-vpn/derper/derper-1.102.2-r1.ebuild
@@ -18,6 +18,8 @@ SRC_URI+=" https://github.com/gentoo-golang-dist/tailscale/releases/download/v${
S="${WORKDIR}/${MY_P}"
LICENSE="MIT"
+# Dependent licenses
+LICENSE+=" Apache-2.0 BSD BSD-2 ISC MIT MPL-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
@@ -26,7 +28,7 @@ CONFIG_CHECK="~TUN"
BDEPEND="
acct-group/derper
acct-user/derper
- >=dev-lang/go-1.26.4
+ >=dev-lang/go-1.26.5
"
RESTRICT="test"
diff --git a/net-vpn/tailscale/tailscale-1.102.0.ebuild b/net-vpn/tailscale/tailscale-1.102.0.ebuild
index a9888e11e103..0619660b0503 100644
--- a/net-vpn/tailscale/tailscale-1.102.0.ebuild
+++ b/net-vpn/tailscale/tailscale-1.102.0.ebuild
@@ -20,7 +20,7 @@ LICENSE="MIT"
# Dependent licenses
LICENSE+=" Apache-2.0 BSD BSD-2 ISC MIT MPL-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm arm64 ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv ~x86"
RESTRICT="test"
CONFIG_CHECK="~TUN"
diff --git a/net-vpn/vopono/Manifest b/net-vpn/vopono/Manifest
index 524969790d47..4386cf55ca10 100644
--- a/net-vpn/vopono/Manifest
+++ b/net-vpn/vopono/Manifest
@@ -1,11 +1,6 @@
-DIST vopono-0.10.18-crates.tar.xz 36065692 BLAKE2B ae376258cea1c7f3c7161160e7fd5669247659e25a3dd9fb974070f58f4484d99fec437728e683fda06320ecbd87c63e8954c36e9c2247b1375643cdf20edf27 SHA512 afe562dda21c075ba194f96737dc7376fbf018c679997dafca09e5fbd34f5782ac4cf5a47d70183351127c8b8983ebdb51efeffdf432260fe692889a1c21270e
-DIST vopono-0.10.18.tar.gz 3254682 BLAKE2B a982a93e6b7c943be8ceb9127cd81ba2f339a727ab22de2e8b5f85d9723870d02897818d11d00864c72af05531a3eeb07e1964d048c01a0707346ced0d866a0d SHA512 1fd1277f45cab00f3d4e4e265c61a4088e61f4c11e6a1c4b701b43784f4886782f1f9e5817966f9ed4ad7948613ad49f51cdf19708da4646be0931d6c898b496
-DIST vopono-0.10.19-crates.tar.xz 35185300 BLAKE2B a62afd2824648074594476c69c0f5da46c9685ae62b43f1b577600289ea39da54937f934dafba89e2ff8df8e5944127ef8f9beaac5a86a5e1c15004c5b97c563 SHA512 95c4783d6e52da6b6a58299af75a200252243c946dc2172656849f0a56ee903ac3f5e902bee0065a78d5dabf7c42b525d0c0ef10f72f1ee87e4e2ba3e938dfaa
-DIST vopono-0.10.19.tar.gz 3267688 BLAKE2B f9eea67eb595ef61c695f558831247f175187fa75f169cbd07d11e2e8d5b9bc0c550418c1d88be66a21e15d4a9d4a579e834472a1c8d50b6a37f14c7a002a61d SHA512 83956be77d888282a7d2d55b46ece8b05a4edaf9a7960848dad7866990df2fe5a4066e76a83a20f055789ca0c98b224ab597219bc207427276d9cbc8308f05ac
-DIST vopono-0.10.21-crates.tar.xz 35837976 BLAKE2B 11d35408f58307aede75770ece5ccb56bcbfe38e8480f16c09052feba9f28cbe11a9d84ab3ec0b08b0d5d2748df1b9f5c450c65d351bad5473f56ab393ed4ed4 SHA512 e38cc28cfe5b1efd79b339496fc1d02aad8de4a5f1a413225ec169d669b1b78cfe478f2259bd5e8a5b88fcd86fac187b7a93c961cc2924ce692d4eef20c9997d
-DIST vopono-0.10.21.tar.gz 3299306 BLAKE2B 7314392332b089f8d009d43258c6cb18f43ba59d6db08cfc9d4a3e8f6e0fbde8e2a9bba52a4bb2d01c9e005e640ed7c22eb866e22268f06678d8b25a10ffa240 SHA512 21d2cb0627ef5154b719e48600707705faff5b026b38f105aa3cbc0f9ffc1a43af90abe10a89659f1c2c1e0bbb5ff4e01515c2f951a5fed3d6dcfee67d2c423d
DIST vopono-0.10.22-crates.tar.xz 35837976 BLAKE2B 11d35408f58307aede75770ece5ccb56bcbfe38e8480f16c09052feba9f28cbe11a9d84ab3ec0b08b0d5d2748df1b9f5c450c65d351bad5473f56ab393ed4ed4 SHA512 e38cc28cfe5b1efd79b339496fc1d02aad8de4a5f1a413225ec169d669b1b78cfe478f2259bd5e8a5b88fcd86fac187b7a93c961cc2924ce692d4eef20c9997d
DIST vopono-0.10.22.tar.gz 3300897 BLAKE2B 3c654f5d3b83061ee88f347a53acf22542e7dfb982d6ec43b346cfb8b9391cf4b8374d74d4dbf67b26617070ce83ef45423a716eb2f146f403000e183077cc74 SHA512 9bf01bc40a37f7f26c1d17d32861182237317059184a3119a2d59de1dbac2f3131a40aa7bcffb2ce8c69c3e4c0c45a6992c65207a893eb4fbc849090c3deac45
-DIST vopono-gui-0.1.1-crates.tar.xz 46987372 BLAKE2B 4a4c49bb2b84a0916e380d003de653fffdb5bb5a61d11fd8a3427c4a9a65395603aa0481deaf18afde766ff9e042039cf990072e4d3ae104b784438e136704d6 SHA512 1a7082baf5a80fd85341ccd44b86bf5793009bbc066bfd8e54de7e516a2995a904c760d8841f421eda889e20eebef287c5f69e93e3a2257ad9485b905b900455
-DIST vopono-gui-0.1.2-crates.tar.xz 47116948 BLAKE2B 42ecb631ae2f37275dc1c8bde02ae340bc4c6bb0f4971809338cc00fc795d50d3866d7c374a801d6d477f1e6ef20405b184450847d66e5b7f1c75c8db5df1a3d SHA512 9698b53c7e3731c3890fac2ef63945d4deff3b6dac9b93d7e37ca8a9b40b1915a49ae01aae4414e7da744c336f6aca55ffa67acbe9bcc0b1e5f9641b212f5e3a
+DIST vopono-1.0.1-crates.tar.xz 49139144 BLAKE2B c241512e5e334a65fa160f7075150cabb509f84c24197f976176ed9f62fa79bbe1693d3b39e05eb20b5a77a066cbf26a53dc1580b1ea4d501a37920643c7bd87 SHA512 960ccebb0fc3c846b304d9536c39af052560f7c0b62919da6ee74fd637f56044dc2e1639995a843ea57fde746d6667d6525d745678526b1b31f32d4dcf8ebf38
+DIST vopono-1.0.1.tar.gz 3402676 BLAKE2B 0a24c2b633580554f81ca56fa4054446c329263006a12029a2846ba553bc3d08b74369eb9f6a924c68e7499cd2ada55d373933a80c55fd46ab422af1555805a5 SHA512 a57f6551d5fc7111a062405cb126dc25f4b3dd0f22b4cb3776684c00065fdd092e555cfb850342a1dbf7782039833b21a2a049f6d960ad6915a135d3288b35b1
DIST vopono-gui-0.1.3-crates.tar.xz 47530312 BLAKE2B e9300687bea33e9b15c6152c36d704852fe54beea5a7fc1c3b3ec275ca78ac9687ea59d2aa6a060554f04e86ff8ad22490c310685069b7dfd3592cbe71e704c1 SHA512 e415752afa239387d874026454d63047a664a4f8981f3498aebacabb6fea95b1f8f05cd40b387804b393aea50f40ec02bf1862c8e08f31994eac1cc82deaa53e
+DIST vopono-gui-1.0.1-crates.tar.xz 47432088 BLAKE2B dfffc7663f36b379cb14f9172f7791be22695224ef4e648fbd101bb3e5be77c0ae9f2115d0eb7316e0655fa2acb4f39a7470f915e23229cb692c376075c56967 SHA512 8a067d8337f08d80cf3d7a2d58d326e3d2cd2005734bb6492f8c6d7fdcb24474af008b4c37ee1a605043f54a5577dcc7a483777fb0994ad0654bf879a172d5b7
diff --git a/net-vpn/vopono/vopono-0.10.18.ebuild b/net-vpn/vopono/vopono-0.10.18.ebuild
deleted file mode 100644
index d5b9f6edca14..000000000000
--- a/net-vpn/vopono/vopono-0.10.18.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 2025-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-RUST_MIN_VER="1.95.0"
-VOPONO_GUI_VER="0.1.1"
-
-inherit cargo desktop optfeature systemd
-
-DESCRIPTION="Launch applications via VPN tunnels using temporary network namespaces"
-HOMEPAGE="https://github.com/jamesmcm/vopono"
-SRC_URI="https://github.com/jamesmcm/vopono/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
-SRC_URI+=" https://github.com/gentoo-crate-dist/vopono/releases/download/${PV}/${P}-crates.tar.xz"
-SRC_URI+=" gui? ( https://dev.gentoo.org/~juippis/distfiles/vopono-gui-${VOPONO_GUI_VER}-crates.tar.xz )"
-
-LICENSE="GPL-3+"
-# Dependent crate licenses
-LICENSE+=" Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC MIT MPL-2.0 Unicode-3.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-IUSE="gui"
-
-# VPN backends sorted by preference.
-RDEPEND="|| (
- net-vpn/openvpn
- net-vpn/wireguard-tools
- net-vpn/openfortivpn
- )
- app-arch/xz-utils
- gui? (
- dev-libs/glib:2
- virtual/udev
- x11-libs/cairo
- x11-libs/gdk-pixbuf:2
- x11-libs/gtk+:3
- x11-libs/pango
- x11-misc/xdotool:=
- )"
-
-src_compile() {
- cargo_src_compile
- use gui && cargo_src_compile --manifest-path vopono-gui/Cargo.toml
-}
-
-src_install() {
- cargo_src_install
- einstalldocs
- dodoc USERGUIDE.md
- systemd_dounit "${FILESDIR}"/vopono-daemon.service
-
- if use gui ; then
- dobin "${S}"/vopono-gui/target/release/vopono-gui
- domenu "${S}"/vopono-gui/vopono-gui.desktop
- newicon "${S}"/vopono-gui/logos/badge.png vopono-gui.png
- fi
-}
-
-pkg_postinst() {
- optfeature "using vopono without daemon mode" app-admin/sudo
-}
diff --git a/net-vpn/vopono/vopono-0.10.19.ebuild b/net-vpn/vopono/vopono-0.10.19.ebuild
deleted file mode 100644
index a5a8580a6cc8..000000000000
--- a/net-vpn/vopono/vopono-0.10.19.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 2025-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-RUST_MIN_VER="1.95.0"
-VOPONO_GUI_VER="0.1.2"
-
-inherit cargo desktop optfeature systemd
-
-DESCRIPTION="Launch applications via VPN tunnels using temporary network namespaces"
-HOMEPAGE="https://github.com/jamesmcm/vopono"
-SRC_URI="https://github.com/jamesmcm/vopono/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
-SRC_URI+=" https://github.com/gentoo-crate-dist/vopono/releases/download/${PV}/${P}-crates.tar.xz"
-SRC_URI+=" gui? ( https://dev.gentoo.org/~juippis/distfiles/vopono-gui-${VOPONO_GUI_VER}-crates.tar.xz )"
-
-LICENSE="GPL-3+"
-# Dependent crate licenses
-LICENSE+=" Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC MIT MPL-2.0 Unicode-3.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-IUSE="gui"
-
-# VPN backends sorted by preference.
-RDEPEND="|| (
- net-vpn/openvpn
- net-vpn/wireguard-tools
- net-vpn/openfortivpn
- )
- app-arch/xz-utils
- gui? (
- dev-libs/glib:2
- virtual/udev
- x11-libs/cairo
- x11-libs/gdk-pixbuf:2
- x11-libs/gtk+:3
- x11-libs/pango
- x11-misc/xdotool:=
- )"
-
-src_compile() {
- cargo_src_compile
- use gui && cargo_src_compile --manifest-path vopono-gui/Cargo.toml
-}
-
-src_install() {
- cargo_src_install
- einstalldocs
- dodoc USERGUIDE.md
- systemd_dounit "${FILESDIR}"/vopono-daemon.service
-
- if use gui ; then
- dobin "${S}"/vopono-gui/target/release/vopono-gui
- domenu "${S}"/vopono-gui/vopono-gui.desktop
- newicon "${S}"/vopono-gui/logos/badge.png vopono-gui.png
- fi
-}
-
-pkg_postinst() {
- optfeature "using vopono without daemon mode" app-admin/sudo
-}
diff --git a/net-vpn/vopono/vopono-0.10.21.ebuild b/net-vpn/vopono/vopono-1.0.1.ebuild
index df927a2da99d..3272975ea82e 100644
--- a/net-vpn/vopono/vopono-0.10.21.ebuild
+++ b/net-vpn/vopono/vopono-1.0.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
RUST_MIN_VER="1.95.0"
-VOPONO_GUI_VER="0.1.3"
+VOPONO_GUI_VER="1.0.1"
inherit cargo desktop optfeature systemd
diff --git a/profiles/categories b/profiles/categories
index 0b6d868594a8..0f4e9f78f036 100644
--- a/profiles/categories
+++ b/profiles/categories
@@ -21,6 +21,7 @@ app-i18n
app-laptop
app-metrics
app-misc
+app-misce
app-mobilephone
app-office
app-officeext
@@ -29,18 +30,22 @@ app-portage
app-shells
app-text
app-vim
+app-voices
app-xemacs
dev-ada
dev-build
dev-cpp
+dev-crystal
dev-db
dev-debug
dev-dotnet
+dev-elixir
dev-embedded
dev-erlang
dev-games
dev-gap
dev-go
+dev-hare
dev-haskell
dev-java
dev-lang
@@ -48,6 +53,7 @@ dev-libs
dev-lisp
dev-lua
dev-ml
+dev-nim
dev-perl
dev-php
dev-python
@@ -59,6 +65,7 @@ dev-tex
dev-texlive
dev-util
dev-vcs
+dev-zig
games-action
games-arcade
games-board
@@ -84,6 +91,7 @@ gnustep-libs
gui-apps
gui-libs
gui-wm
+hyprland-plugin
kde-apps
kde-frameworks
kde-misc
@@ -105,7 +113,9 @@ media-radio
media-sound
media-tv
media-video
+mpv-plugin
net-analyzer
+net-client
net-dialup
net-dns
net-firewall
@@ -126,6 +136,7 @@ net-voip
net-vpn
net-wireless
perl-core
+phosh-base
sci-astronomy
sci-biology
sci-calculators
diff --git a/sci-libs/ogdi/files/ogdi-4.1.0-make.patch b/sci-libs/ogdi/files/ogdi-4.1.0-make.patch
new file mode 100644
index 000000000000..92b7b90922b0
--- /dev/null
+++ b/sci-libs/ogdi/files/ogdi-4.1.0-make.patch
@@ -0,0 +1,12 @@
+--- a/ogdi/makefile 2026-09-04 12:03:50.025354987 +0200
++++ b/ogdi/makefile 2026-09-04 12:05:43.440118366 +0200
+@@ -20,7 +20,8 @@
+ #
+ # Default target to build everything in all sub-directories
+ #
+-all: $(subdirs)
++all: include c-api
++ $(MAKE) glutil attr_driver driver gltpd
+
+ #
+ # Target to allow individual sub-directories to be built
diff --git a/sci-libs/ogdi/ogdi-4.1.0-r2.ebuild b/sci-libs/ogdi/ogdi-4.1.0-r2.ebuild
index 3cdc54e426c3..ff858f3c7d1b 100644
--- a/sci-libs/ogdi/ogdi-4.1.0-r2.ebuild
+++ b/sci-libs/ogdi/ogdi-4.1.0-r2.ebuild
@@ -29,6 +29,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-3.2.0-tcl.patch
"${FILESDIR}"/${P}-c99-conversions.patch
"${FILESDIR}"/${P}-soname.patch
+ "${FILESDIR}"/${P}-make.patch
)
src_prepare() {
diff --git a/sys-apps/logwatch/logwatch-7.15.ebuild b/sys-apps/logwatch/logwatch-7.15.ebuild
index d98090d39d0d..7137fa11eb6e 100644
--- a/sys-apps/logwatch/logwatch-7.15.ebuild
+++ b/sys-apps/logwatch/logwatch-7.15.ebuild
@@ -13,7 +13,7 @@ if [[ ${PV} == 9999 ]] ; then
inherit git-r3
else
SRC_URI="https://downloads.sourceforge.net/${PN}/${P}/${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ppc ppc64 ~sparc x86"
fi
LICENSE="MIT"
diff --git a/sys-apps/shadow/shadow-4.20.0.ebuild b/sys-apps/shadow/shadow-4.20.0.ebuild
index e890c1134f60..fb818ad87f0e 100644
--- a/sys-apps/shadow/shadow-4.20.0.ebuild
+++ b/sys-apps/shadow/shadow-4.20.0.ebuild
@@ -20,7 +20,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="BSD GPL-2"
# Subslot is for libsubid's SONAME.
SLOT="0/6"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
IUSE="acl audit nls pam selinux skey split-usr su systemd test"
RESTRICT="!test? ( test )"
diff --git a/sys-apps/util-linux/Manifest b/sys-apps/util-linux/Manifest
index e9a5e245d73c..ee15efdde63d 100644
--- a/sys-apps/util-linux/Manifest
+++ b/sys-apps/util-linux/Manifest
@@ -2,3 +2,5 @@ DIST util-linux-2.41.5.tar.sign 833 BLAKE2B 40c382defcbea78bbf137b1bdd5228cb7454
DIST util-linux-2.41.5.tar.xz 9474992 BLAKE2B b42744ddd878cb27a0cb75ef69240c9eaf2b4ff2583eebff15af7ccd852a25e6dc150f03a181dccd3c4fec6cff6acb12aff099d8414f6f689e71ee04e223f0d3 SHA512 25e7e79e0f0a4711a15c16db05357755536cf4dc9c0ee28447d95f9bfc135f23075d434e107269a65148a8c16b37755e913aacbaec03a3bdce171a9e0a46bfe8
DIST util-linux-2.42.2.tar.sign 833 BLAKE2B 091e4b9874290320ae985f0abe0044e22860c6922ddd6114fa3e5a0a3eed9ae229fe45b49591ecc8d575b2e2a4f22662bfe770a4e210f34d03758e062902e2b9 SHA512 3922974fa8384be5628938705f01aa3ac433512e24a3943fc5e0b2ae4cb4d9b952966727039d2fd74f58c51cd349228fd53f82ac8cd4d5ad7f61580abd4da229
DIST util-linux-2.42.2.tar.xz 10658220 BLAKE2B 49ca2426dd6a48638ee41f43477ddec23add87be6a561d3b654e13d21fc048f00e64d9247432a3436b07f8a3f34434ab2c837a5b82757a8d27096f6764d895dd SHA512 7415add0be2930654e322830808dde03ff6d511bd357f0679e6b6287a13ca79fe58ce4ac05edef86b76fb381b3a36ca2da9d3c31b5dc0a1d889c203156a57277
+DIST util-linux-2.42.3.tar.sign 833 BLAKE2B 00080fa75ee4da6c6fbe65fa288ac7e618ef9d18923d2b455aea0e2d0a11b5ed88072b1ff5710808864948ac647727439667fd2c468bee21bf5af76179aa081a SHA512 3f05f3b2a47ca066f4e34ef80aa8a11424b9b0f8585f417bce5e6e62a4d8a6f2dc74f78eb583be11aca862cd5bac094a984169756eeaddf0b6a0b9d2503f1537
+DIST util-linux-2.42.3.tar.xz 10716216 BLAKE2B fcb9fb7f522cabebb4813c78d56115d4516371922f9a4c8e2036d3622ed427d6c0897bca7a60b2176297ff08b6a4f28b85d09509462d3aac4cd73b863402eed6 SHA512 2a307943d4fbb34ac02131e10ff7260f181dd706b21e68a891d25d6eb30476a612bcc19b674bb2256283c9c716146e0d79909f37324efc9aa9d45a44e0d58988
diff --git a/sys-apps/util-linux/files/util-linux-2.42.3-CVE-2026-78408.patch b/sys-apps/util-linux/files/util-linux-2.42.3-CVE-2026-78408.patch
new file mode 100644
index 000000000000..2b9a27089161
--- /dev/null
+++ b/sys-apps/util-linux/files/util-linux-2.42.3-CVE-2026-78408.patch
@@ -0,0 +1,83 @@
+https://github.com/util-linux/util-linux/commit/286dd3ff41526b582ef48830de239dffbaa61f90
+
+From 286dd3ff41526b582ef48830de239dffbaa61f90 Mon Sep 17 00:00:00 2001
+From: Karel Zak <kzak@redhat.com>
+Date: Thu, 3 Sep 2026 12:17:14 +0200
+Subject: [PATCH] nsenter: close cgroup.procs fd after join to prevent
+ authority leak [CVE-2026-78408]
+
+The --join-cgroup option opens the target's cgroup.procs while running
+as root and writes nsenter's own PID to migrate itself. The descriptor
+was left open across subsequent namespace transitions, credential drops
+(setgroups/setgid/setuid) and execve().
+
+The kernel performs cgroup migration permission checks using the
+credentials captured at open time (file->f_cred). An open cgroup.procs
+descriptor therefore carries the opener's migration authority regardless
+of later privilege changes. A program executed inside the target
+namespace inherits root's cgroup migration capability even when running
+as an unprivileged user with no capabilities.
+
+Fix this by:
+
+ - closing the temporary /proc/PID/cgroup fd after reading the path
+ - adding O_CLOEXEC to the cgroup.procs open as defense in depth
+ - closing cgroup_procs_fd immediately after the self-migration write
+ - initializing the temporary cgroup fd to -1 instead of 0 to avoid
+ accidentally closing stdin via open_target_fd()
+
+The descriptor has no legitimate use after the single migration write.
+
+Introduced-by: b40650b71a74 ("nsenter: add option -c to join the cgroup of target process")
+References: b0cf1cf0d255 ("nsenter: close cgroup.procs fd after join to prevent authority leak")
+Signed-off-by: Karel Zak <kzak@redhat.com>
+(cherry picked from commit afe067c979b9ba2cbe856f7c6411210120ea62aa)
+---
+ sys-utils/nsenter.c | 11 ++++++++---
+ 1 file changed, 8 insertions(+), 3 deletions(-)
+
+diff --git a/sys-utils/nsenter.c b/sys-utils/nsenter.c
+index 62ef366d430..f449c65d2b4 100644
+--- a/sys-utils/nsenter.c
++++ b/sys-utils/nsenter.c
+@@ -466,7 +466,7 @@ static int get_ns_ino(const char *path, ino_t *ino)
+ static void open_cgroup_procs(void)
+ {
+ char *buf = NULL, *path = NULL, *p;
+- int cgroup_fd = 0;
++ int cgroup_fd = -1;
+ char fdpath[PATH_MAX];
+
+ open_target_fd(&cgroup_fd, "cgroup", optarg);
+@@ -474,6 +474,8 @@ static void open_cgroup_procs(void)
+ if (read_all_alloc(cgroup_fd, &buf) < 1)
+ err(EXIT_FAILURE, _("failed to get cgroup path"));
+
++ close(cgroup_fd);
++
+ p = strtok(buf, "\n");
+ if (p)
+ path = strrchr(p, ':');
+@@ -483,7 +485,7 @@ static void open_cgroup_procs(void)
+
+ snprintf(fdpath, sizeof(fdpath), _PATH_SYS_CGROUP "/%s/cgroup.procs", path);
+
+- if ((cgroup_procs_fd = open(fdpath, O_WRONLY | O_APPEND)) < 0)
++ if ((cgroup_procs_fd = open(fdpath, O_WRONLY | O_APPEND | O_CLOEXEC)) < 0)
+ err(EXIT_FAILURE, _("failed to open cgroup.procs"));
+
+ free(buf);
+@@ -923,8 +925,11 @@ int main(int argc, char *argv[])
+ }
+
+ // Join into the target cgroup
+- if (cgroup_procs_fd >= 0)
++ if (cgroup_procs_fd >= 0) {
+ join_into_cgroup();
++ close(cgroup_procs_fd);
++ cgroup_procs_fd = -1;
++ }
+
+ if (uid_gid_fd >= 0) {
+ struct stat st;
+
diff --git a/sys-apps/util-linux/files/util-linux-2.42.3-fileutils-warnings.patch b/sys-apps/util-linux/files/util-linux-2.42.3-fileutils-warnings.patch
new file mode 100644
index 000000000000..5bec7c3dc263
--- /dev/null
+++ b/sys-apps/util-linux/files/util-linux-2.42.3-fileutils-warnings.patch
@@ -0,0 +1,64 @@
+https://github.com/util-linux/util-linux/commit/67fd3bf434299c701c9361dca509d752e220ea7f
+
+From 67fd3bf434299c701c9361dca509d752e220ea7f Mon Sep 17 00:00:00 2001
+From: Karel Zak <kzak@redhat.com>
+Date: Thu, 3 Sep 2026 09:45:29 +0200
+Subject: [PATCH] lib/fileutils: fix unused parameter warnings without
+ SYS_openat2
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+On systems without SYS_openat2 (older kernels), ul_openat_resolve()
+is a stub that returns -ENOSYS, making all parameters unused. With
+-Werror=unused-parameter this breaks the build.
+
+Move the #ifdef around the whole function so each branch has its own
+declaration — the SYS_openat2 branch uses all parameters normally,
+the fallback branch marks them __unused__.
+
+Fixes: fb8e26535 ("libmount: pin source path with openat2() for restricted users")
+Signed-off-by: Karel Zak <kzak@redhat.com>
+(cherry picked from commit a471b62e732a491f1abe42450352fb0f9b5b43ea)
+---
+ lib/fileutils.c | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/lib/fileutils.c b/lib/fileutils.c
+index 89f1e216984..80b69eea271 100644
+--- a/lib/fileutils.c
++++ b/lib/fileutils.c
+@@ -440,10 +440,10 @@ char *ul_basename(char *path)
+ return p;
+ }
+
++#if defined(SYS_openat2)
+ int ul_openat_resolve(int dirfd, const char *path, int flags,
+ mode_t mode, unsigned long long resolve)
+ {
+-#if defined(SYS_openat2)
+ struct open_how how = {
+ .flags = (__u64) flags,
+ .mode = (__u64) mode,
+@@ -451,11 +451,19 @@ int ul_openat_resolve(int dirfd, const char *path, int flags,
+ };
+
+ return syscall(SYS_openat2, dirfd, path, &how, sizeof(how));
++}
+ #else
++int ul_openat_resolve(
++ int dirfd __attribute__((__unused__)),
++ const char *path __attribute__((__unused__)),
++ int flags __attribute__((__unused__)),
++ mode_t mode __attribute__((__unused__)),
++ unsigned long long resolve __attribute__((__unused__)))
++{
+ errno = ENOSYS;
+ return -1;
+-#endif
+ }
++#endif
+
+ int ul_open_no_symlinks(const char *path, int flags, mode_t mode)
+ {
+
diff --git a/sys-apps/util-linux/files/util-linux-2.42.3-libmount-fixup.patch b/sys-apps/util-linux/files/util-linux-2.42.3-libmount-fixup.patch
new file mode 100644
index 000000000000..d4c513630898
--- /dev/null
+++ b/sys-apps/util-linux/files/util-linux-2.42.3-libmount-fixup.patch
@@ -0,0 +1,114 @@
+https://github.com/util-linux/util-linux/commit/473b6a5a3adb4ba4a72ec3d391a4339f55433249
+
+From 473b6a5a3adb4ba4a72ec3d391a4339f55433249 Mon Sep 17 00:00:00 2001
+From: Karel Zak <kzak@redhat.com>
+Date: Thu, 3 Sep 2026 10:01:29 +0200
+Subject: [PATCH] libmount: use USE_LIBMOUNT_MOUNTFD_SUPPORT for idmap hook
+
+The idmap hookset was originally guarded by HAVE_MOUNTFD_API (kernel
+headers have the new mount syscalls) rather than
+USE_LIBMOUNT_MOUNTFD_SUPPORT (libmount is built with mountfd support).
+
+This was intentional (commit 9040c0900, 2022) -- the idea was to keep
+idmap working even with --disable-libmount-mountfd-support by calling
+the raw open_tree() syscall directly, while using an inner #ifdef
+USE_LIBMOUNT_MOUNTFD_SUPPORT to optionally reuse the sysapi fd_tree.
+
+This fine-grained approach broke when the CVE-2026-78410 fix replaced
+the raw open_tree() call with mnt_open_tree(), which is only available
+under USE_LIBMOUNT_MOUNTFD_SUPPORT. The build fails with
+--disable-libmount-mountfd-support because mnt_open_tree() is
+undeclared.
+
+Rather than maintaining two code paths for a feature that fundamentally
+depends on the new mount API, gate the entire idmap hookset on
+USE_LIBMOUNT_MOUNTFD_SUPPORT -- consistent with how hookset_mount is
+guarded. Remove the now-redundant inner #ifdef.
+
+Also add a note to mount.8 that X-mount.idmap requires the new
+fd-based mount API.
+
+Addresses: https://github.com/util-linux/util-linux/issues/4598
+Signed-off-by: Karel Zak <kzak@redhat.com>
+(cherry picked from commit e06799ac325a881a297d2ffd6fe568cacdcd00ab)
+---
+ libmount/src/hook_idmap.c | 6 ++----
+ libmount/src/hooks.c | 2 +-
+ libmount/src/version.c | 2 +-
+ sys-utils/mount.8.adoc | 1 +
+ 4 files changed, 5 insertions(+), 6 deletions(-)
+
+diff --git a/libmount/src/hook_idmap.c b/libmount/src/hook_idmap.c
+index 2c697b17154..b1477ac6600 100644
+--- a/libmount/src/hook_idmap.c
++++ b/libmount/src/hook_idmap.c
+@@ -32,7 +32,7 @@
+ # include <linux/nsfs.h>
+ #endif
+
+-#if defined(HAVE_MOUNTFD_API) && defined(HAVE_LINUX_MOUNT_H)
++#ifdef USE_LIBMOUNT_MOUNTFD_SUPPORT
+
+ typedef enum idmap_type_t {
+ ID_TYPE_UID, /* uidmap entry */
+@@ -317,7 +317,6 @@ static int hook_mount_post(
+ * Once a mount has been attached to the filesystem it can't be
+ * idmapped anymore. So create a new detached mount.
+ */
+-#ifdef USE_LIBMOUNT_MOUNTFD_SUPPORT
+ {
+ struct libmnt_sysapi *api = mnt_context_get_sysapi(cxt);
+
+@@ -327,7 +326,6 @@ static int hook_mount_post(
+ DBG(HOOK, ul_debugobj(hs, " reuse tree FD"));
+ }
+ }
+-#endif
+ if (fd_tree < 0)
+ fd_tree = mnt_open_tree(AT_FDCWD, target,
+ OPEN_TREE_CLONE | OPEN_TREE_CLOEXEC |
+@@ -544,4 +542,4 @@ const struct libmnt_hookset hookset_idmap =
+ .deinit = hookset_deinit
+ };
+
+-#endif /* HAVE_MOUNTFD_API && HAVE_LINUX_MOUNT_H */
++#endif /* USE_LIBMOUNT_MOUNTFD_SUPPORT */
+diff --git a/libmount/src/hooks.c b/libmount/src/hooks.c
+index 23eca4efdc4..5ae91edd7aa 100644
+--- a/libmount/src/hooks.c
++++ b/libmount/src/hooks.c
+@@ -45,7 +45,7 @@ static const struct libmnt_hookset *const hooksets[] =
+ &hookset_mount,
+ #endif
+ &hookset_mount_legacy,
+-#if defined(HAVE_MOUNTFD_API) && defined(HAVE_LINUX_MOUNT_H)
++#ifdef USE_LIBMOUNT_MOUNTFD_SUPPORT
+ &hookset_idmap,
+ #endif
+ &hookset_owner
+diff --git a/libmount/src/version.c b/libmount/src/version.c
+index 5ec0d490cde..30cb340abe7 100644
+--- a/libmount/src/version.c
++++ b/libmount/src/version.c
+@@ -37,7 +37,7 @@ static const char *lib_features[] = {
+ #ifdef USE_LIBMOUNT_SUPPORT_NAMESPACES
+ "namespaces",
+ #endif
+-#if defined(HAVE_MOUNTFD_API) && defined(HAVE_LINUX_MOUNT_H)
++#ifdef USE_LIBMOUNT_MOUNTFD_SUPPORT
+ "idmapping",
+ #endif
+ #ifdef USE_LIBMOUNT_MOUNTFD_SUPPORT
+diff --git a/sys-utils/mount.8.adoc b/sys-utils/mount.8.adoc
+index 8a6e09f1ab8..d71c5e1fc85 100644
+--- a/sys-utils/mount.8.adoc
++++ b/sys-utils/mount.8.adoc
+@@ -826,6 +826,7 @@ Set _mountpoint_'s mode after mounting.
+
+ *X-mount.idmap*=__id-type__:__id-mount__:__id-host__:__id-range__ [__id-type__:__id-mount__:__id-host__:__id-range__], *X-mount.idmap*=__file__::
+ Use this option to create an idmapped mount.
++This feature requires the new file-descriptor-based mount API (available since Linux 5.2).
+ An idmapped mount allows to change ownership of all files located under a mount according to the ID-mapping associated with a user namespace.
+ The ownership change is tied to the lifetime and localized to the relevant mount.
+ The relevant ID-mapping can be specified in two ways:
+
diff --git a/sys-apps/util-linux/files/util-linux-2.42.3-libmount-include.patch b/sys-apps/util-linux/files/util-linux-2.42.3-libmount-include.patch
new file mode 100644
index 000000000000..74f959737c0e
--- /dev/null
+++ b/sys-apps/util-linux/files/util-linux-2.42.3-libmount-include.patch
@@ -0,0 +1,38 @@
+https://github.com/util-linux/util-linux/commit/a323dddbcd1ed05a10e7e870b3e1a48b4ed44a43
+
+From a323dddbcd1ed05a10e7e870b3e1a48b4ed44a43 Mon Sep 17 00:00:00 2001
+From: Karel Zak <kzak@redhat.com>
+Date: Wed, 2 Sep 2026 13:32:27 +0200
+Subject: [PATCH] libmount: add missing fileutils.h include to hook_idmap.c
+
+The hook_idmap.c uses RESOLVE_NO_SYMLINKS (added by commit fb8e26535)
+but does not include fileutils.h, which provides the fallback #define
+for this constant.
+
+On Fedora (glibc 2.40+), this is masked because glibc's
+<bits/fcntl-linux.h> transitively includes <linux/openat2.h>, which
+defines RESOLVE_NO_SYMLINKS. On Ubuntu (and other distros with older
+glibc), <fcntl.h> does not pull in openat2.h, so the build fails:
+
+ hook_idmap.c:335:33: error: 'RESOLVE_NO_SYMLINKS' undeclared
+
+Fixes: fb8e26535 ("libmount: pin source path with openat2() for restricted users")
+Signed-off-by: Karel Zak <kzak@redhat.com>
+(cherry picked from commit 7e2e010874b10b3aabdc3c4c844c9ffc46a4a374)
+---
+ libmount/src/hook_idmap.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/libmount/src/hook_idmap.c b/libmount/src/hook_idmap.c
+index 77494e29810..2c697b17154 100644
+--- a/libmount/src/hook_idmap.c
++++ b/libmount/src/hook_idmap.c
+@@ -23,6 +23,7 @@
+
+ #include "strutils.h"
+ #include "all-io.h"
++#include "fileutils.h"
+ #include "namespace.h"
+
+ #include "mountP.h"
+
diff --git a/sys-apps/util-linux/util-linux-2.42.3.ebuild b/sys-apps/util-linux/util-linux-2.42.3.ebuild
new file mode 100644
index 000000000000..ea194b14f17d
--- /dev/null
+++ b/sys-apps/util-linux/util-linux-2.42.3.ebuild
@@ -0,0 +1,504 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+TMPFILES_OPTIONAL=1
+
+inherit toolchain-funcs libtool flag-o-matic bash-completion-r1 \
+ pam python-r1 multilib-minimal multiprocessing systemd tmpfiles
+
+MY_PV="${PV/_/-}"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="Various useful Linux utilities"
+HOMEPAGE="https://www.kernel.org/pub/linux/utils/util-linux/ https://github.com/util-linux/util-linux"
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git"
+ inherit autotools git-r3
+else
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/karelzak.asc
+ inherit verify-sig
+
+ if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos"
+ fi
+
+ SRC_URI="https://www.kernel.org/pub/linux/utils/util-linux/v${PV:0:4}/${MY_P}.tar.xz"
+ SRC_URI+=" verify-sig? ( https://www.kernel.org/pub/linux/utils/util-linux/v${PV:0:4}/${MY_P}.tar.sign )"
+fi
+
+S="${WORKDIR}/${MY_P}"
+
+# GPL-2+ first per README.licensing ("default license"), then the rest
+# are in order as listed in that file.
+LICENSE="GPL-2+ GPL-1+ GPL-2 GPL-2+ GPL-3+ LGPL-2.1+ MIT BSD-2 BSD BSD-4 EUPL-1.2 public-domain"
+SLOT="0"
+IUSE="audit build caps +cramfs cryptsetup fdformat +hardlink kill +logger magic ncurses nls pam python +readline rtas selinux slang static-libs +su +suid systemd test tty-helpers udev unicode uuidd"
+
+# Most lib deps here are related to programs rather than our libs,
+# so we rarely need to specify ${MULTILIB_USEDEP}.
+RDEPEND="
+ virtual/libcrypt:=
+ audit? ( >=sys-process/audit-2.6:= )
+ caps? ( sys-libs/libcap-ng )
+ cramfs? ( virtual/zlib:= )
+ cryptsetup? ( >=sys-fs/cryptsetup-2.1.0 )
+ hardlink? ( dev-libs/libpcre2:= )
+ ncurses? (
+ sys-libs/ncurses:=[unicode(+)?]
+ magic? ( sys-apps/file:0= )
+ )
+ nls? ( virtual/libintl[${MULTILIB_USEDEP}] )
+ pam? ( sys-libs/pam )
+ python? ( ${PYTHON_DEPS} )
+ readline? ( sys-libs/readline:0= )
+ rtas? ( sys-libs/librtas )
+ selinux? ( >=sys-libs/libselinux-2.2.2-r4[${MULTILIB_USEDEP}] )
+ slang? ( sys-libs/slang )
+ !build? (
+ systemd? ( sys-apps/systemd )
+ udev? ( virtual/libudev:= )
+ )
+"
+BDEPEND="
+ virtual/pkgconfig
+ nls? (
+ app-text/po4a
+ sys-devel/gettext
+ )
+ test? ( app-alternatives/bc )
+"
+DEPEND="
+ ${RDEPEND}
+ virtual/os-headers
+ acct-group/root
+"
+RDEPEND+="
+ hardlink? ( !app-arch/hardlink )
+ logger? ( !>=app-admin/sysklogd-2.0[logger] )
+ kill? (
+ !sys-apps/coreutils[kill]
+ !sys-process/procps[kill]
+ )
+ su? (
+ !<sys-apps/shadow-4.7-r2
+ !>=sys-apps/shadow-4.7-r2[su]
+ )
+ uuidd? (
+ acct-user/uuidd
+ selinux? ( sec-policy/selinux-uuidd )
+ systemd? ( virtual/tmpfiles )
+ )
+ !net-wireless/rfkill
+"
+
+if [[ ${PV} == 9999 ]] ; then
+ # Required for man-page generation
+ BDEPEND+=" dev-ruby/asciidoctor"
+else
+ BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-karelzak-20230517 )"
+fi
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) su? ( pam )"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.41.4-no-AF_ALG.patch
+ "${FILESDIR}"/${P}-libmount-include.patch
+ "${FILESDIR}"/${P}-CVE-2026-78408.patch
+ "${FILESDIR}"/${P}-fileutils-warnings.patch
+ "${FILESDIR}"/${P}-libmount-fixup.patch
+)
+
+pkg_pretend() {
+ if use su && ! use suid ; then
+ elog "su will be installed as suid despite USE=-suid (bug #832092)"
+ elog "To use su without suid, see e.g. Portage's suidctl feature."
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+ return
+ fi
+
+ if use verify-sig; then
+ verify-sig_uncompress_verify_unpack "${DISTDIR}"/${MY_P}.tar.xz \
+ "${DISTDIR}"/${MY_P}.tar.sign
+ else
+ default
+ fi
+}
+
+src_prepare() {
+ default
+
+ if use test ; then
+ # Known-failing tests
+ local known_failing_tests=(
+ # Subtest 'options-maximum-size-8192' fails
+ hardlink/options
+
+ # Fails in sandbox
+ # re ioctl_ns: https://github.com/util-linux/util-linux/issues/2967
+ lsns/ioctl_ns
+ lsfd/mkfds-inotify
+ lsfd/mkfds-symlink
+ lsfd/mkfds-rw-character-device
+ # Fails with network-sandbox at least in nspawn
+ lsfd/option-inet
+ utmp/last-ipv6
+
+ # Fails with permission errors in nspawn
+ fadvise/drop
+ fincore/count
+
+ # Flaky
+ rename/subdir
+
+ # Permission issues on /dev/random
+ lsfd/mkfds-eventpoll
+ lsfd/column-xmode
+
+ # Hangs on some machines
+ script/replay
+
+ # Fails for 32-bit time_t which some profiles have
+ misc/time_t
+
+ # Permission issues with changing OOM score
+ choom/choom
+
+ # MKFDS_PID is empty
+ lsfd/option-hyperlink
+ )
+
+ # debug prints confuse the tests which look for a diff
+ # in output
+ if has_version "=app-shells/bash-5.3_alpha*" ; then
+ known_failing_tests+=(
+ lsfd/column-ainodeclass
+ lsfd/mkfds-netlink-protocol
+ lsfd/column-type
+ lsfd/mkfds-eventfd
+ lsfd/mkfds-signalfd
+ lsfd/mkfds-mqueue
+ lsfd/mkfds-tcp6
+ lsfd/mkfds-tcp
+ lsfd/filter-floating-point-nums
+ lsfd/mkfds-unix-stream-requiring-sockdiag
+ lsfd/mkfds-unix-dgram
+ lsfd/mkfds-directory
+ lsfd/mkfds-pty
+ lsfd/mkfds-pipe-no-fork
+ lsfd/mkfds-unix-stream
+ lsfd/mkfds-ro-regular-file
+ lsfd/mkfds-timerfd
+ lsfd/mkfds-udp
+ lsfd/mkfds-udp6
+ )
+ fi
+
+ local known_failing_test
+ for known_failing_test in "${known_failing_tests[@]}" ; do
+ einfo "Removing known-failing test: ${known_failing_test}"
+ rm tests/ts/${known_failing_test} || die
+ done
+ fi
+
+ if [[ ${PV} == 9999 ]] ; then
+ po/update-potfiles
+ eautoreconf
+ else
+ elibtoolize
+ fi
+}
+
+python_configure() {
+ local myeconfargs=(
+ "${commonargs[@]}"
+ --disable-all-programs
+ --disable-bash-completion
+ --without-systemdsystemunitdir
+ --with-python
+ --enable-libblkid
+ --enable-libmount
+ --enable-pylibmount
+ )
+
+ mkdir "${BUILD_DIR}" || die
+ pushd "${BUILD_DIR}" >/dev/null || die
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+ popd >/dev/null || die
+}
+
+multilib_src_configure() {
+ # The scanf test in a run-time test which fails while cross-compiling.
+ # Blindly assume a POSIX setup since we require libmount, and libmount
+ # itself fails when the scanf test fails. bug #531856
+ tc-is-cross-compiler && export scanf_cv_alloc_modifier=ms
+
+ # bug #485486
+ export ac_cv_header_security_pam_misc_h=$(multilib_native_usex pam)
+ # bug #545042
+ export ac_cv_header_security_pam_appl_h=$(multilib_native_usex pam)
+
+ # Undo bad ncurses handling by upstream. Fall back to pkg-config.
+ # bug #601530
+ export NCURSES6_CONFIG=false NCURSES5_CONFIG=false
+ export NCURSESW6_CONFIG=false NCURSESW5_CONFIG=false
+
+ # Avoid automagic dependency on ppc*
+ export ac_cv_lib_rtas_rtas_get_sysparm=$(usex rtas)
+
+ # configure args shared by python and non-python builds
+ local commonargs=(
+ --localstatedir="${EPREFIX}/var"
+ --runstatedir="${EPREFIX}/run"
+ --enable-fs-paths-extra="${EPREFIX}/usr/sbin:${EPREFIX}/bin:${EPREFIX}/usr/bin"
+ )
+
+ local myeconfargs=(
+ "${commonargs[@]}"
+ --with-bashcompletiondir="$(get_bashcompdir)"
+ --without-python
+ $(multilib_native_use_enable suid makeinstall-chown)
+ $(multilib_native_use_enable suid makeinstall-setuid)
+ $(multilib_native_use_with readline)
+ $(multilib_native_use_with slang)
+ $(multilib_native_usex ncurses "$(use_with magic libmagic)" '--without-libmagic')
+ $(multilib_native_usex ncurses "$(use_with unicode ncursesw)" '--without-ncursesw')
+ $(multilib_native_usex ncurses "$(use_with !unicode ncurses)" '--without-ncurses')
+ $(multilib_native_use_with audit)
+ $(tc-has-tls || echo --disable-tls)
+ $(use_enable nls)
+ $(use_enable nls poman)
+ $(use_enable unicode widechar)
+ $(use_enable static-libs static)
+ $(use_with ncurses tinfo)
+ $(use_with selinux)
+ $(multilib_native_use_enable uuidd)
+
+ # TODO: Wire this up (bug #931118)
+ --without-econf
+
+ # TODO: Wire this up (bug #931297)
+ # TODO: investigate build failure w/ 2.40.1_rc1
+ --disable-liblastlog2
+ --disable-pam-lastlog2
+ )
+
+ if use build ; then
+ myeconfargs+=(
+ --without-systemd
+ --without-udev
+ )
+ else
+ myeconfargs+=(
+ $(multilib_native_use_with systemd)
+ $(multilib_native_use_with udev)
+ )
+ fi
+
+ if multilib_is_native_abi ; then
+ myeconfargs+=(
+ --disable-chfn-chsh
+ --disable-login
+ --disable-newgrp
+ --disable-nologin
+ --disable-pylibmount
+ --disable-raw
+ --disable-vipw
+ --enable-agetty
+ --enable-bash-completion
+ --enable-line
+ --enable-partx
+ --enable-rename
+ --enable-rfkill
+ --enable-schedutils
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ --with-tmpfilesdir="${EPREFIX}"/usr/lib/tmpfiles.d
+ $(use_enable caps setpriv)
+ $(use_enable cramfs)
+ $(use_enable fdformat)
+ $(use_enable hardlink)
+ $(use_enable kill)
+ $(use_enable logger)
+ $(use_enable ncurses pg)
+ $(use_enable su)
+ $(use_enable tty-helpers mesg)
+ $(use_enable tty-helpers wall)
+ $(use_enable tty-helpers write)
+ $(use_with cryptsetup)
+ )
+ if [[ ${PV} == *9999 ]] ; then
+ myeconfargs+=( --enable-asciidoc )
+ else
+ # Upstream is shipping pre-generated man-pages for releases
+ myeconfargs+=( --disable-asciidoc )
+ fi
+ else
+ myeconfargs+=(
+ --disable-all-programs
+ --disable-asciidoc
+ --disable-bash-completion
+ --without-systemdsystemunitdir
+ --disable-poman
+
+ # build libraries
+ --enable-libuuid
+ --enable-libblkid
+ --enable-libsmartcols
+ --enable-libfdisk
+ --enable-libmount
+
+ # Support uuidd for non-native libuuid
+ $(use_enable uuidd libuuid-force-uuidd)
+ )
+ fi
+
+ if use kernel_Hurd ; then
+ # Disable Linux-specific features
+ myeconfargs+=(
+ --disable-partx
+ --disable-rfkill
+ --disable-schedutils
+ --disable-fsck
+ )
+
+ # This is explicitly needed for some reason? TODO
+ myeconfargs+=(
+ --enable-agetty
+ )
+ fi
+
+ # https://savannah.gnu.org/support/?111394
+ # This can be removed when we patch dev-build/autoconf, though
+ # packages w/o eautoreconf will still need it.
+ [[ ${enable_year2038} == "no" ]] && myeconfargs+=( --disable-year2038 )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+
+ if multilib_is_native_abi && use python ; then
+ python_foreach_impl python_configure
+ fi
+}
+
+src_configure() {
+ append-lfs-flags
+
+ # Workaround for bug #961040 (gcc PR120006)
+ if tc-is-gcc && [[ $(gcc-major-version) == 15 && $(gcc-minor-version) -lt 2 ]] ; then
+ append-flags -fno-ipa-pta
+ fi
+
+ multilib-minimal_src_configure
+}
+
+python_compile() {
+ pushd "${BUILD_DIR}" >/dev/null || die
+ emake all
+ popd >/dev/null || die
+}
+
+multilib_src_compile() {
+ emake all
+
+ if multilib_is_native_abi && use python ; then
+ python_foreach_impl python_compile
+ fi
+}
+
+python_test() {
+ pushd "${BUILD_DIR}" >/dev/null || die
+ emake check TS_OPTS="--parallel=$(makeopts_jobs) --nonroot"
+ popd >/dev/null || die
+}
+
+multilib_src_test() {
+ emake check TS_OPTS="--parallel=$(makeopts_jobs) --nonroot"
+ if multilib_is_native_abi && use python ; then
+ python_foreach_impl python_test
+ fi
+}
+
+python_install() {
+ pushd "${BUILD_DIR}" >/dev/null || die
+ emake DESTDIR="${D}" install
+ python_optimize
+ popd >/dev/null || die
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi && use python ; then
+ python_foreach_impl python_install
+ fi
+
+ # This needs to be called AFTER python_install call, bug #689190
+ # XXX: -j1 as temporary workaround for bug #931301
+ emake DESTDIR="${D}" install -j1
+}
+
+multilib_src_install_all() {
+ dodoc AUTHORS NEWS README* Documentation/{TODO,*.txt,releases/*}
+
+ dosym hexdump /usr/bin/hd
+ newman - hd.1 <<< '.so man1/hexdump.1'
+
+ # e2fsprogs-libs didn't install .la files, and .pc work fine
+ find "${ED}" -name "*.la" -delete || die
+
+ if use pam ; then
+ # See https://github.com/util-linux/util-linux/blob/master/Documentation/PAM-configuration.txt
+ newpamd "${FILESDIR}/runuser.pamd" runuser
+ newpamd "${FILESDIR}/runuser-l.pamd" runuser-l
+
+ newpamd "${FILESDIR}/su-l.pamd" su-l
+ fi
+
+ if use su && ! use suid ; then
+ # Always force suid su, even when USE=-suid, as su is useless
+ # for the overwhelming-majority case without suid.
+ # Users who wish to truly have a no-suid su can strip it out
+ # via e.g. Portage's suidctl or some other hook.
+ # See bug #832092
+ fperms u+s /bin/su
+ fi
+
+ if use uuidd; then
+ newinitd "${FILESDIR}/uuidd.initd" uuidd
+ fi
+
+ # Note:
+ # Bash completion for "runuser" command is provided by same file which
+ # would also provide bash completion for "su" command. However, we don't
+ # use "su" command from this package.
+ # This triggers a known QA warning which we ignore for now to magically
+ # keep bash completion for "su" command which shadow package does not
+ # provide.
+
+ local ver=$(tools/git-version-gen .tarballversion)
+ local major=$(ver_cut 1 ${ver})
+ local minor=$(ver_cut 2 ${ver})
+ local release=$(ver_cut 3 ${ver})
+ export QA_PKGCONFIG_VERSION="${major}.${minor}.${release:-0}"
+}
+
+pkg_postinst() {
+ if ! use tty-helpers ; then
+ elog "The mesg/wall/write tools have been disabled due to USE=-tty-helpers."
+ fi
+
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ elog "The agetty util now clears the terminal by default. You"
+ elog "might want to add --noclear to your /etc/inittab lines."
+ fi
+
+ if use systemd && use uuidd; then
+ tmpfiles_process uuidd-tmpfiles.conf
+ fi
+}
diff --git a/sys-apps/xdg-desktop-portal/xdg-desktop-portal-1.20.4-r1.ebuild b/sys-apps/xdg-desktop-portal/xdg-desktop-portal-1.20.4-r1.ebuild
index dc7444e6d5a9..93b94263a244 100644
--- a/sys-apps/xdg-desktop-portal/xdg-desktop-portal-1.20.4-r1.ebuild
+++ b/sys-apps/xdg-desktop-portal/xdg-desktop-portal-1.20.4-r1.ebuild
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/flatpak/${PN}/releases/download/${PV}/${P}.tar.xz"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86"
IUSE="geolocation flatpak gstreamer seccomp systemd test udev"
# Upstream expect flatpak to be used w/ seccomp and flatpak needs bwrap anyway
REQUIRED_USE="flatpak? ( seccomp )"
diff --git a/sys-fs/btrfs-progs/btrfs-progs-7.1.ebuild b/sys-fs/btrfs-progs/btrfs-progs-7.1.ebuild
index beab1dae8746..6457aa1223ab 100644
--- a/sys-fs/btrfs-progs/btrfs-progs-7.1.ebuild
+++ b/sys-fs/btrfs-progs/btrfs-progs-7.1.ebuild
@@ -26,7 +26,7 @@ else
S="${WORKDIR}"/${PN}-${MY_PV}
if [[ ${PV} != *_rc* ]] ; then
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
fi
fi
diff --git a/sys-fs/cryptsetup/cryptsetup-2.8.7.ebuild b/sys-fs/cryptsetup/cryptsetup-2.8.7.ebuild
index c8c4d8f072e3..87e30770d93c 100644
--- a/sys-fs/cryptsetup/cryptsetup-2.8.7.ebuild
+++ b/sys-fs/cryptsetup/cryptsetup-2.8.7.ebuild
@@ -18,7 +18,7 @@ S="${WORKDIR}"/${P/_/-}
LICENSE="GPL-2+"
SLOT="0/12" # libcryptsetup.so version
if [[ ${PV} != *_rc* ]] ; then
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
fi
CRYPTO_BACKENDS="gcrypt kernel nettle +openssl"
diff --git a/sys-process/htop/htop-3.5.3.ebuild b/sys-process/htop/htop-3.5.3.ebuild
index 968f909a3157..a563b89faf8f 100644
--- a/sys-process/htop/htop-3.5.3.ebuild
+++ b/sys-process/htop/htop-3.5.3.ebuild
@@ -14,7 +14,7 @@ if [[ ${PV} == *9999 ]] ; then
inherit autotools git-r3
else
SRC_URI="https://github.com/htop-dev/htop/releases/download/${PV}/${P}.tar.xz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
fi
S="${WORKDIR}/${P/_}"
diff --git a/sys-process/lsof/lsof-4.99.7.ebuild b/sys-process/lsof/lsof-4.99.7.ebuild
index c850d19f81d1..3b3e4d9f0adf 100644
--- a/sys-process/lsof/lsof-4.99.7.ebuild
+++ b/sys-process/lsof/lsof-4.99.7.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://github.com/lsof-org/lsof/releases/download/${PV}/${P}.tar.gz"
LICENSE="lsof"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
IUSE="rpc selinux"
RDEPEND="
diff --git a/www-client/ungoogled-chromium/Manifest b/www-client/ungoogled-chromium/Manifest
index 93ec7b87c389..d661d574fd54 100644
--- a/www-client/ungoogled-chromium/Manifest
+++ b/www-client/ungoogled-chromium/Manifest
@@ -20,6 +20,7 @@ DIST chromium-151.0.7922.71-linux.tar.xz 1703837492 BLAKE2B 47f0ab59b1cce901d625
DIST chromium-151.0.7922.75-linux.tar.xz 1700937524 BLAKE2B 6d8599bbca4fc6c9d2b54eea1993fc308f9990db9c2bdf7f67b7346feebd8c9cd907b35b21437ac2c5220c869bffbec0774490e4a8799285dc1a263c067fbb48 SHA512 06b0cddfb244c75905623587d58818838f3d2a03395fc899c54f13ef2c10e95f5cd1b345cdb31571695f4de961f463dfd1e1980fd4b8f7948ac8ffdebc1e3d9e
DIST chromium-152.0.7977.64-lite.tar.xz 1774931660 BLAKE2B 6f70a5f9848f47a489d9198fb65bd83982ea37e02ae238e3c90d7128a48dc3b01c66beecf59b37bccde6994b92158ab6ae6826d744be379eb5b8e144bf8f4912 SHA512 01b0c9b52186f0574e985184209842950148e65db44520d3de08046f7572d7bf95f774ab24c416ac98e98c54aafcd386d2c79ca40d1eaa7368610fafb7fb3cc7
DIST chromium-152.0.7977.75-lite.tar.xz 1774839940 BLAKE2B 28ac4882a322c95f0ab2d94cbab6388f6c8ef35daa65e3beadf167fd939b0c461b89601e9584e5d7be58aecf99a0831cc908fdd76125cde5971e596736d05c35 SHA512 d5b3277e3fdf6bc276672cc687330a05ce24344be8947cadf6cb8e73a58eb8cb37c9a48d9f8356b54fe2f64660d158125401895d9803a3dc0e8ac0ecc9c86cee
+DIST chromium-152.0.7977.82-lite.tar.xz 1774798136 BLAKE2B 0ab98c51511d3ee92ad8dea94da4ad00beb7c7ac781b6f0487e3c725c865ab821e461f198a3ed19c5a623b9908fb06b58d47aaa36094feb9f83c4bc908cb6b25 SHA512 25df873b56d4e20e1c0b8e778f87d215a158f64054de4027e4e008ca98d3000d7e27b20d6c4b2f30ab9a0075318d4f67d5d99eef69d6433f50dac3d575d9b2f8
DIST chromium-27f8690db999f6e56f0af7a9ea3d28a019ed72ca.patch 1583 BLAKE2B 58cb88a7e73d62ff5f1e886a710dda3ba7010c8afd8dc11f3ed08ec32e46a40a73a7ca84fa8c979bf5350390befb78296d3a03d01df326c55afdbfd1f2f1dbba SHA512 507327be55daf058555cb74733b2385d7b47795a8a627025c97b943c0dd15ebd900733d31c6d54f3d299c7b22263016e3a8c1bd5f0395b5833c13db5a909b195
DIST chromium-cf94ed446320d35c8613ed9b3ffb6e6a61bfcb5f.patch 9972 BLAKE2B 72d3b755214a8cc0299129c645b938746a2e4dff31cc9aa154019ebaf5c29d5ce9a8378dbecbf0455f253c5e10b83dbfd03a10573d8fa93992f2d6ac965a2b1f SHA512 62ffd3162a0c1aa4be51d3ead238b3a84463f8c6d55b9aad5806bcb23dfb2b832ad6aec7f348690c4b3aaf430260352ca558e791ca611d5e791e6b3eadcffcf1
DIST chromium-clang-llvmorg-23-init-10931-g20b6ec66-11.tar.xz 69635068 BLAKE2B 5250889dac7ca048030266b9e5eb9b08a1288acb1023fff3513555ca361f787fdb273b04d5cb5cc9960d7d13e804604ca63e65b056d1873a8f5e1d56e8f59db8 SHA512 4a1f06bacfb5894e277f3957df3adcc937f262ec91927d6fd97a2e4b88b795e2559a8498be633d6b191dd4d52a5df52669f76c59c2939689f5f88fc7457cabae
@@ -67,6 +68,7 @@ DIST ungoogled-chromium-151.0.7922.71-1.tar.gz 670363 BLAKE2B df0c82404b74654f47
DIST ungoogled-chromium-151.0.7922.75-1.tar.gz 670502 BLAKE2B 57c204077ebfdfdc527a690d4dafbe5e286ee2707696d26472991089f44b7eec9b915e29a8d543d9dcd617e12e3df6737b5ef8ba16abb676e7da5b27e3f5ea29 SHA512 4a7b3e026742bd3c8421436a5552bd2a6c46d40a48b9d20e3ef232615a65b8c94aff5b249d98d4ed327cc00aeaf258868bd610df65bb923e7dfdbd081abd32e6
DIST ungoogled-chromium-152.0.7977.64-1.tar.gz 670160 BLAKE2B 3b367b063171165fef6965dcef10006084e035ae5b929486af9a348db4464c1ec010edf155411aad8658950eeee1e2e0bcd5aea4d7706ce1cdce474d9c66cc08 SHA512 0be5192684bc5e77b48e43185884a20ec9f5138006015951977e98cf17b9a9a34827885dad65a28379abba9efadc1f5c180b18f9eb1478f16bbd77bfb7818b7e
DIST ungoogled-chromium-152.0.7977.75-1.tar.gz 670284 BLAKE2B 49f1c85a310189f510a96332bfe19526b857d370e3e4aeed51275d3621516361eb429c0730797af025ca851f31b33b38e7cfc649dcd6eaf85c26b8bd521804d5 SHA512 574dddb069de3aac00a28b4121c9cf0733b2a9416c11f8b03295ff321209bfb80e5a7bd24af7a3c8b073aef4b15f6ba506c0d8b31edab85c14d98618b99f4b56
+DIST ungoogled-chromium-152.0.7977.82-1.tar.gz 670285 BLAKE2B 5cf79e643b3ea0525be0bae28acc89c2674a87fcea6c800bc9938a95115cf8ebf419c235ab624142b6b7448db77731a657a0e773e5e73e2efb3f8e3a4ba4097e SHA512 b73b57ff5795186d2d98d149d44b16ef697d70519c8f12dc557e7c2271b420c3e8e3e4a70268e571903d6668cc43031d801e036e345549427aa1d27e8833986f
DIST ungoogled-chromium-4087f48e6d66e55486fe7c3a634303559634ba3f.tar.gz 670504 BLAKE2B d01153b1d8ddac8a0287cd42889c1ca618397a59f14a479d222d40415624d6e2ec2b8ecf3ec5d9614fa5c873c8e72d52d65da12e13b55020827a50a5d0242045 SHA512 dc30ee5e3b05382dc9ee02c114d8cabda140b36d505b4d2faf31357b75c23fbff7e3b589baf2f74741a4f7c99093df0ad69c9c368a5f69d6a361e042f43310e5
DIST ungoogled-chromium-4d7bb965938b072e1dc7d9a5fa26121805f97fc8.tar.gz 665638 BLAKE2B 84d8ef00835f9d880007db9c125729209900d4df1087099af9fd9b66727fbb37b1520908d3bedcf3416302e45866a4f7278cc0589ef6de25a5e6142c123d08b9 SHA512 b6653986b3af157ad5749eabd185280ccd24cf5a551f2e639a6ac9b51aff2fa4f5aa7c0b3cd881162b0da2f44e022755013d1f747e1268378a18fcb9cdfde015
DIST ungoogled-chromium-6fda5bc707792220745f9d53c25e84b89ceaabe4.tar.gz 669732 BLAKE2B 6a50e0428bcbb35383f1f039bf0d0a09fd853ae899a7ab366a516c29296bdc45a927cbe11b1b97c61c73cef98b252500a5e455ef0714b5b8ef42bdd3e180296c SHA512 97ec74a2b119a952a023a28de0d0ab93d81ba6c6623280f81eaf1cfadd0cbcec6fbf0d0574cdc2e777c89818c468cb2a55378f6be18c60b3bf8f92fb3a1de703
diff --git a/www-client/ungoogled-chromium/ungoogled-chromium-152.0.7977.82_p1.ebuild b/www-client/ungoogled-chromium/ungoogled-chromium-152.0.7977.82_p1.ebuild
new file mode 100644
index 000000000000..959e03a99857
--- /dev/null
+++ b/www-client/ungoogled-chromium/ungoogled-chromium-152.0.7977.82_p1.ebuild
@@ -0,0 +1,2622 @@
+# Copyright 2009-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Use following environment variables to customise the build
+# EXTRA_GN — pass extra options to gn
+# NINJAOPTS="-k0 -j8" useful to populate ccache even if ebuild is still failing
+# UGC_SKIP_PATCHES — space-separated list of patches to skip
+# UGC_KEEP_BINARIES — space-separated list of binaries to keep
+# UGC_SKIP_SUBSTITUTION — space-separated list of files to skip domain substitution
+
+# USE=bundled-toolchain is intended for users who want to use the same toolchain
+# as the upstream releases. It's also a good fallback in case we fall behind
+# and need to get a release out quickly (less likely with `dev` in-tree).
+# We can't rely on it as a default since the toolchain is only shipped for x86-64;
+# other architectures will need to use system toolchain.
+
+# Since m133 we are using CI-generated tarballs from
+# https://github.com/chromium-linux-tarballs/chromium-tarballs/
+
+# These are bit-for-bit identical to the official releases, but are built
+# using an external CI system that we have some control over, in case
+# issues pop up again with official tarball generation.
+
+GN_MIN_VER=0.2374
+# chromium-tools/get-chromium-toolchain-strings.py (or just use Chromicler)
+# Node for M145+ should be 24.12.0 but that's not packaged in Gentoo yet. See #969145
+TEST_FONT="9c07d19d9c5ee1ff94f717e6fb17e0c8c354e6f9"
+BUNDLED_CLANG_VER="llvmorg-23-init-19482-g53d18800-1"
+BUNDLED_RUST_VER="b998449636a48e2c4a362809085b600a0174e1f2-2"
+RUST_SHORT_HASH=${BUNDLED_RUST_VER:0:10}-${BUNDLED_RUST_VER##*-}
+NODE_VER="24.12.0"
+GO_MIN_VER="1.25.0"
+ESBUILD_VER="0.25.1"
+ROLLUP_VER="4.57.1" # currently manual.
+
+CHROMIUM_LANGS="af am ar as az be bg bn bs ca cs cy da de el en-GB es es-419 et eu fa fi fil
+ fr fr-CA gl gu he hi hr hu hy id is it ja ka kk km kn ko ky lo lt lv mk ml mn mr ms my
+ nb ne nl or pa pl pt-BR pt-PT ro ru si sk sl sq sr sr-Latn sv sw ta te th tr uk ur uz
+ vi zh-CN zh-HK zh-TW zu"
+
+#UGC_COMMIT_ID="cacf0f0fd2446a837528c54df1880b75874b9580"
+# UGC_PR_COMMITS=(
+# c917e096342e5b90eeea91ab1f8516447c8756cf
+# 5794e9d12bf82620d5f24505798fecb45ca5a22d
+# )
+
+CROMITE_COMMIT_ID="69e841fd35cd92ce5fa1a336791c7989809e0f17"
+
+declare -A CHROMIUM_COMMITS=(
+ # ["27f8690db999f6e56f0af7a9ea3d28a019ed72ca"]="." #152+
+ ["-cf94ed446320d35c8613ed9b3ffb6e6a61bfcb5f"]="." # ffmpeg 9
+ # ["-bf6be9310a07b981edf81e0ac9b89dead09be35c"]="." # ffmpeg 9
+ ["-c72c7b0971e3e31974b0adea0dac42278e22e3b0"]="third_party/devtools-frontend/src" # need gn >= 2459
+# # ["-37c28a19804e47a68eabf3cf882a310689fc325b"]="." #disable style check for cromite
+# # ["cd5a0df905a28faa89ff2a4ab44f893f84dc4487"]="net/third_party/quiche/src"
+)
+
+LLVM_COMPAT=( 21 22 23 )
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="xml(+)"
+RUST_MIN_VER=1.91.0
+RUST_NEEDS_LLVM="yes please"
+RUST_OPTIONAL="yes" # Not actually optional, but we don't need system Rust (or LLVM) with USE=bundled-toolchain
+RUST_REQ_USE="rustfmt" # Upstream run rustfmt on bindgen output, so we need it to be available.
+
+inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 multiprocessing ninja-utils pax-utils
+inherit python-any-r1 readme.gentoo-r1 rust systemd toolchain-funcs xdg-utils
+
+DESCRIPTION="Modifications to Chromium for removing Google integration and enhancing privacy"
+HOMEPAGE="https://github.com/ungoogled-software/ungoogled-chromium"
+PPC64_HASH="7aae8a84e327fc2078ce1625c9c70bfda77d626f"
+PATCH_V="${PV%%\.*}"
+COPIUM_COMMIT="3c7e56fb4523b43b47595bb3a22f77178fc76293"
+SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/chromium-${PV/_*}-lite.tar.xz
+ https://deps.gentoo.zip/www-client/chromium/rollup-wasm-node-${ROLLUP_VER}.tgz
+ https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2
+ !bundled-toolchain? (
+ https://codeberg.org/selfisekai/copium/archive/${COPIUM_COMMIT}.tar.gz
+ -> chromium-patches-copium-${COPIUM_COMMIT:0:10}.tar.gz
+ )
+ bundled-toolchain? (
+ https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-${BUNDLED_CLANG_VER}.tar.xz
+ -> chromium-clang-${BUNDLED_CLANG_VER}.tar.xz
+ https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-${BUNDLED_RUST_VER}-${BUNDLED_CLANG_VER%-*}.tar.xz
+ -> chromium-rust-toolchain-${RUST_SHORT_HASH}-${BUNDLED_CLANG_VER%-*}.tar.xz
+ )
+ test? (
+ https://chromium-fonts.storage.googleapis.com/${TEST_FONT} -> chromium-testfonts-${TEST_FONT:0:10}.tar.gz
+ )
+ ppc64? (
+ https://gitlab.raptorengineering.com/raptor-engineering-public/chromium/openpower-patches/-/archive/${PPC64_HASH}/openpower-patches-${PPC64_HASH}.tar.bz2 -> chromium-openpower-${PPC64_HASH:0:10}.tar.bz2
+ )
+"
+
+# Gentoo tarball:
+# https://chromium-tarballs.distfiles.gentoo.org/chromium-${PV/_*}.tar.xz -> chromium-${PV/_*}-gentoo.tar.xz
+
+# chromium-linux-tarballs
+# https://github.com/chromium-linux-tarballs/chromium-tarballs/releases/download/${PV/_*}/chromium-${PV/_*}-linux.tar.xz
+
+# Official tarball:
+# https://commondatastorage.googleapis.com/chromium-browser-official/chromium-${PV/_*}${LITE_TARBALL:+-lite}.tar.xz
+
+# https://gitweb.gentoo.org/proj/chromium-tools.git/tree/get-chromium-licences.py @ 145.0.7632.76
+LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD BSD-2 Base64 Boost-1.0 CC-BY-3.0 CC-BY-4.0 Clear-BSD FFT2D FTL"
+LICENSE+=" IJG ISC LGPL-2 LGPL-2.1 MIT MPL-1.1 MPL-2.0 Ms-PL PSF-2 SGI-B-2.0 SSLeay SunSoft Unicode-3.0"
+LICENSE+=" Unicode-DFS-2015 Unlicense UoI-NCSA ZLIB libtiff openssl"
+LICENSE+=" cromite? ( GPL-3 )"
+
+SLOT="beta"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+IUSE_SYSTEM_LIBS="abseil-cpp av1 brotli crc32c double-conversion ffmpeg +harfbuzz icu jsoncpp +libusb libvpx +openh264 openjpeg re2 snappy woff2 +zstd"
+IUSE="+X bindist bluetooth bundled-toolchain cfi convert-dict cups custom-cflags debug ffmpeg-chromium enable-driver gtk4 hangouts headless kerberos +libcxx nvidia +official optimize-thinlto optimize-webui override-data-dir pax-kernel pgo"
+IUSE+=" +proprietary-codecs pulseaudio qt6 screencast selinux test thinlto cromite vaapi wayland widevine cpu_flags_ppc_vsx3"
+RESTRICT="
+ !bindist? ( bindist )
+ !test? ( test )
+ arm64? ( test )
+ !system-ffmpeg? ( proprietary-codecs? ( bindist ) )
+ !system-openh264? ( bindist )
+ cromite? ( bindist )"
+
+REQUIRED_USE="
+ !headless? ( || ( X wayland ) )
+ screencast? ( wayland )
+ ffmpeg-chromium? ( bindist proprietary-codecs )
+ optimize-thinlto? ( thinlto )
+ cfi? ( thinlto )
+ x86? ( !thinlto !widevine )
+ debug? ( !official )
+ vaapi? ( !system-av1 !system-libvpx )
+"
+
+UGC_PV="${PV/_p/-}"
+UGC_PF="${PN}-${UGC_PV}"
+UGC_URL="https://github.com/ungoogled-software/${PN}/archive/"
+
+if [ -z "$UGC_COMMIT_ID" ]; then
+ UGC_URL="${UGC_URL}${UGC_PV}.tar.gz -> ${UGC_PF}.tar.gz"
+ UGC_WD="${WORKDIR}/${UGC_PF}"
+else
+ UGC_URL="${UGC_URL}${UGC_COMMIT_ID}.tar.gz -> ${PN}-${UGC_COMMIT_ID}.tar.gz"
+ UGC_WD="${WORKDIR}/ungoogled-chromium-${UGC_COMMIT_ID}"
+fi
+
+SRC_URI+="${UGC_URL}
+"
+
+if [ ! -z "${UGC_PR_COMMITS[*]}" ]; then
+ for i in "${UGC_PR_COMMITS[@]}"; do
+ SRC_URI+="https://github.com/ungoogled-software/${PN}/commit/$i.patch?full_index=true -> ${PN}-$i.patch
+ "
+ done
+fi
+
+if [ ! -z "${CHROMIUM_COMMITS[*]}" ]; then
+ # for i in "${CHROMIUM_COMMITS[@]}"; do
+ for i in "${!CHROMIUM_COMMITS[@]}"; do
+ if [[ ${CHROMIUM_COMMITS[$i]} =~ webrtc ]]; then
+ #TODO: is it safe to use this mirror?
+ SRC_URI+="https://github.com/webrtc-mirror/webrtc/commit/${i/-}.patch?full_index=true -> webrtc-${i/-}.patch
+ "
+ elif [[ ${CHROMIUM_COMMITS[$i]} =~ angle ]]; then
+ SRC_URI+="https://github.com/google/angle/commit/${i/-}.patch?full_index=true -> angle-${i/-}.patch
+ "
+ elif [[ ${CHROMIUM_COMMITS[$i]} =~ quiche ]]; then
+ SRC_URI+="https://github.com/google/quiche/commit/${i/-}.patch?full_index=true -> quiche-${i/-}.patch
+ "
+ elif [[ ${CHROMIUM_COMMITS[$i]} =~ dawn ]]; then
+ SRC_URI+="https://github.com/google/dawn/commit/${i/-}.patch?full_index=true -> dawn-${i/-}.patch
+ "
+ elif [[ ${CHROMIUM_COMMITS[$i]} =~ perfetto ]]; then
+ SRC_URI+="https://github.com/google/perfetto/commit/${i/-}.patch?full_index=true -> perfetto-${i/-}.patch
+ "
+ elif [[ ${CHROMIUM_COMMITS[$i]} =~ ink ]]; then
+ SRC_URI+="https://github.com/google/ink/commit/${i/-}.patch?full_index=true -> ink-${i/-}.patch
+ "
+ elif [[ ${CHROMIUM_COMMITS[$i]} =~ vulkan-utility-libraries ]]; then
+ SRC_URI+="https://github.com/KhronosGroup/Vulkan-Utility-Libraries/commit/${i/-}.patch?full_index=true -> vulkan-utility-libraries-${i/-}.patch
+ "
+ elif [[ ${CHROMIUM_COMMITS[$i]} =~ ruy ]]; then
+ SRC_URI+="https://github.com/google/ruy/commit/${i/-}.patch?full_index=true -> ruy-${i/-}.patch
+ "
+ elif [[ ${CHROMIUM_COMMITS[$i]} =~ devtools-frontend ]]; then
+ SRC_URI+="https://github.com/ChromeDevTools/devtools-frontend/commit/${i/-}.patch?full_index=true -> devtools-frontend-${i/-}.patch
+ "
+ else
+ SRC_URI+="https://github.com/chromium/chromium/commit/${i/-}.patch?full_index=true -> chromium-${i/-}.patch
+ "
+ fi
+ done
+fi
+
+SRC_URI+="cromite? ( https://github.com/uazo/cromite/archive/${CROMITE_COMMIT_ID}.tar.gz -> cromite-${CROMITE_COMMIT_ID}.tar.gz )
+"
+
+for i in ${IUSE_SYSTEM_LIBS}; do
+ [[ $i =~ ^(\+)?(.*)$ ]]
+ IUSE+=" ${BASH_REMATCH[1]}system-${BASH_REMATCH[2]}"
+done
+
+COMMON_X_DEPEND="
+ x11-libs/libXcomposite:=
+ x11-libs/libXcursor:=
+ x11-libs/libXdamage:=
+ x11-libs/libXfixes:=
+ >=x11-libs/libXi-1.6.0:=
+ x11-libs/libXrandr:=
+ x11-libs/libXrender:=
+ x11-libs/libXtst:=
+ x11-libs/libxshmfence:=
+"
+
+# sys-libs/zlib: https://bugs.gentoo.org/930365; -ng is not compatible.
+# We _could_ use the bundled minizip, but that's against policy.
+COMMON_SNAPSHOT_DEPEND="
+ system-icu? ( >=dev-libs/icu-78:= )
+ system-abseil-cpp? ( >=dev-cpp/abseil-cpp-20260107.0 )
+ system-brotli? ( >=app-arch/brotli-9999 )
+ system-crc32c? ( dev-libs/crc32c )
+ system-double-conversion? ( dev-libs/double-conversion )
+ system-woff2? ( media-libs/woff2 )
+ system-snappy? ( app-arch/snappy )
+ system-jsoncpp? ( dev-libs/jsoncpp )
+ system-openjpeg? ( media-libs/openjpeg:2= )
+ system-re2? ( >=dev-libs/re2-0.2019.08.01:= )
+ system-libvpx? ( >=media-libs/libvpx-1.13.0:=[postproc] )
+ system-libusb? ( virtual/libusb:1 )
+ cromite? ( dev-util/patchutils )
+ >=dev-libs/libxml2-2.12.4:=[icu]
+ dev-libs/nspr:=
+ >=dev-libs/nss-3.26:=
+ dev-libs/libxslt:=
+ media-libs/fontconfig:=
+ >=media-libs/freetype-2.11.0-r1:=
+ system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] )
+ media-libs/libjpeg-turbo:=
+ media-libs/libpng:=
+ system-zstd? ( >=app-arch/zstd-1.5.5:= )
+ >=media-libs/libwebp-0.4.0:=
+ media-libs/mesa:=[gbm(+)]
+ >=media-libs/openh264-2.6.0:=
+ system-av1? (
+ >=media-libs/dav1d-1.0.0:=
+ >=media-libs/libaom-3.7.0:=
+ )
+ sys-libs/zlib:=
+ !headless? (
+ dev-libs/glib:2
+ >=media-libs/alsa-lib-1.0.19:=
+ media-video/pipewire:=
+ pulseaudio? (
+ || (
+ media-libs/libpulse
+ >=media-sound/apulse-0.1.9
+ )
+ )
+ sys-apps/pciutils:=
+ kerberos? ( virtual/krb5 )
+ vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] )
+ X? (
+ x11-base/xorg-proto:=
+ x11-libs/libX11:=
+ x11-libs/libxcb:=
+ x11-libs/libXext:=
+ )
+ x11-libs/libxkbcommon:=
+ wayland? (
+ screencast? ( media-video/pipewire:= )
+ dev-libs/libffi:=
+ dev-libs/wayland:=
+ screencast? (
+ media-video/pipewire:=
+ || (
+ sys-apps/xdg-desktop-portal-gnome
+ sys-apps/xdg-desktop-portal-gtk
+ kde-plasma/xdg-desktop-portal-kde
+ gui-libs/xdg-desktop-portal-lxqt
+ gui-libs/xdg-desktop-portal-wlr
+ )
+ )
+ )
+ )
+"
+
+COMMON_DEPEND="
+ ${COMMON_SNAPSHOT_DEPEND}
+ app-arch/bzip2:=
+ dev-libs/expat:=
+ system-ffmpeg? (
+ >=media-video/ffmpeg-6.1:=
+ >=media-libs/opus-1.3.1:=
+ )
+ net-misc/curl[ssl]
+ sys-apps/dbus:=
+ media-libs/flac:=
+ sys-libs/zlib:=[minizip]
+ !headless? (
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ media-libs/mesa:=[X?,wayland?]
+ virtual/udev
+ x11-libs/cairo:=
+ x11-libs/gdk-pixbuf:2
+ x11-libs/pango:=
+ cups? ( >=net-print/cups-1.3.11:= )
+ qt6? ( dev-qt/qtbase:6[gui,widgets] )
+ X? ( ${COMMON_X_DEPEND} )
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ !www-client/ungoogled-chromium:0
+ >=www-client/chromium-common-2
+ !headless? (
+ || (
+ x11-libs/gtk+:3[X?,wayland?]
+ gui-libs/gtk:4[X?,wayland?]
+ )
+ qt6? ( dev-qt/qtbase:6[X?,wayland?] )
+ )
+ virtual/ttf-fonts
+ selinux? ( sec-policy/selinux-chromium )
+ bindist? (
+ ffmpeg-chromium? ( media-video/ffmpeg-chromium:${PV%%\.*} )
+ )
+ !override-data-dir? (
+ !www-client/chromium:${SLOT}
+ !www-client/cromite:${SLOT}[-override-data-dir]
+ )
+"
+# For M149+ pipewire is a mandatory build-time dependency, but it's optional at runtime for most configurations.
+DEPEND="${COMMON_DEPEND}
+ !headless? (
+ media-video/pipewire
+ gtk4? ( gui-libs/gtk:4[X?,wayland?] )
+ !gtk4? ( x11-libs/gtk+:3[X?,wayland?] )
+ )
+"
+
+ # pgo? ( >=llvm-core/clang-22.0.0_pre20260106 >=llvm-core/lld-22.0.0_pre20260106 )
+BDEPEND="
+ ${COMMON_SNAPSHOT_DEPEND}
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ')
+ >=app-arch/gzip-1.7
+ !headless? (
+ qt6? ( dev-qt/qtbase:6 )
+ )
+ !bundled-toolchain? ( $(llvm_gen_dep '
+ llvm-core/clang:${LLVM_SLOT}
+ llvm-core/llvm:${LLVM_SLOT}
+ llvm-core/lld:${LLVM_SLOT}
+ cfi? ( llvm-runtimes/clang-runtime:${LLVM_SLOT}[sanitize] )
+ official? (
+ !ppc64? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[cfi] )
+ ) ')
+ ${RUST_DEPEND}
+ )
+ >=dev-util/bindgen-0.72.1
+ >=dev-build/gn-${GN_MIN_VER}
+ >=dev-lang/go-${GO_MIN_VER}
+ app-alternatives/ninja
+ dev-lang/perl
+ >=dev-util/gperf-3.2
+ dev-util/esbuild:${ESBUILD_VER}
+ dev-vcs/git
+ >=net-libs/nodejs-${NODE_VER}[inspector]
+ sys-apps/hwdata
+ >=sys-devel/bison-2.4.3
+ sys-devel/flex
+ virtual/pkgconfig
+ x11-misc/xdg-utils
+"
+
+if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
+ EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
+fi
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="
+Some web pages may require additional fonts to display properly.
+Try installing some of the following packages if some characters
+are not displayed properly:
+- media-fonts/arphicfonts
+- media-fonts/droid
+- media-fonts/ipamonafont
+- media-fonts/noto
+- media-fonts/ja-ipafonts
+- media-fonts/takao-fonts
+- media-fonts/wqy-microhei
+- media-fonts/wqy-zenhei
+
+To fix broken icons on the Downloads page, you should install an icon
+theme that covers the appropriate MIME types, and configure this as your
+GTK+ icon theme.
+
+For native file dialogs in KDE, install kde-apps/kdialog.
+
+To make password storage work with your desktop environment you may
+have install one of the supported credentials management applications:
+- app-crypt/libsecret (GNOME)
+- kde-frameworks/kwallet (KDE)
+If you have one of above packages installed, but don't want to use
+them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS
+in /etc/chromium/default.
+"
+
+S="${WORKDIR}/chromium-${PV/_*}"
+
+python_check_deps() {
+ python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
+}
+
+pre_build_checks() {
+ # Check build requirements: bugs #471810, #541816, #914220
+ # We're going to start doing maths here on the size of an unpacked source tarball,
+ # this should make updates easier as chromium continues to balloon in size.
+ # xz -l /var/cache/distfiles/chromium-${PV}*.tar.xz
+ local base_disk=9 # Round up
+ use test && base_disk=$((base_disk + 5))
+ local extra_disk=1 # Always include a little extra space
+ local memory=4
+ tc-is-cross-compiler && extra_disk=$((extra_disk * 2))
+ if tc-is-lto || use pgo; then
+ memory=$((memory * 2 + 1))
+ tc-is-cross-compiler && extra_disk=$((extra_disk * 2)) # Double the requirements
+ use pgo && extra_disk=$((extra_disk + 4))
+ fi
+ if is-flagq '-g?(gdb)?([1-9])'; then
+ if use custom-cflags; then
+ extra_disk=$((extra_disk + 5))
+ fi
+ memory=$((memory * 2))
+ fi
+ local CHECKREQS_MEMORY="${memory}G"
+ local CHECKREQS_DISK_BUILD="$((base_disk + extra_disk))G"
+ check-reqs_${EBUILD_PHASE_FUNC}
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ # The pre_build_checks are all about compilation resources, no need to run it for a binpkg
+ pre_build_checks
+ fi
+
+ if use headless; then
+ local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt6" "vaapi" "wayland")
+ for myiuse in ${headless_unused_flags[@]}; do
+ use ${myiuse} && ewarn "Ignoring USE=${myiuse}, USE=headless is set."
+ done
+ fi
+
+ if ! use bindist && use ffmpeg-chromium; then
+ ewarn "Ignoring USE=ffmpeg-chromium, USE=bindist is not set."
+ fi
+ if use libcxx; then
+ ewarn
+ ewarn "Building with libcxx, please be aware that system-*"
+ ewarn "and some other c++ dependencies need to be compiled"
+ ewarn "with the same c++ library as ungoogled-chromium itself"
+ ewarn "dev-libs/jsoncpp is most problematic, see #58 #49 #119 for details"
+ ewarn "Simplest solution would be to disable corresponding system-* flags"
+ ewarn
+ fi
+ if use cfi; then
+ ewarn
+ ewarn "Building with cfi is only possible if building with -stdlib=libc++"
+ ewarn "Make sure all dependencies are also built this way, see #40"
+ ewarn
+ fi
+ if use cromite; then
+ ewarn
+ ewarn "Cromite patches are very experimental and unstable"
+ ewarn "Please consider testing them and giving feedback upstream:"
+ ewarn "https://github.com/uazo/cromite/issues"
+ ewarn "Not all patches are applied, let me know if others should be considered too"
+ ewarn
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ # The pre_build_checks are all about compilation resources, no need to run it for a binpkg
+ pre_build_checks
+
+ # We haven't massaged any CFLAGS yet, so we want to do this before we force CC/CXX to prevent warnings.
+ local want_lto="false"
+ tc-is-lto && want_lto="true"
+
+ # The linux:unbundle toolchain in GN grabs CC, CXX, CPP (etc) from the environment
+ # We'll set these to clang here then use llvm-utils functions to very explicitly set these
+ # to a sane value.
+ # This is effectively the 'force-clang' path if GCC support is re-added.
+ if use !bundled-toolchain; then
+ llvm-r1_pkg_setup
+ rust_pkg_setup
+
+ if tc-ld-is-mold; then
+ ewarn "Mold is currently not supported, it will not be used"
+ fi
+
+ # Forcing clang; respect llvm_slot_x to enable selection of impl via LLVM_COMPAT
+ AR=llvm-ar
+ CPP="${CHOST}-clang++-${LLVM_SLOT} -E"
+ NM=llvm-nm
+ CC="${CHOST}-clang-${LLVM_SLOT}"
+ CXX="${CHOST}-clang++-${LLVM_SLOT}"
+ fi
+
+ # LTO in Chromium means LLVM ThinLTO, if GCC support is re-added
+ # We'll need to handle that here too.
+ use_lto="false"
+ local lto_usable="true"
+ if [[ "$want_lto" == "true" ]]; then
+ if use arm64 && [[ "${LLVM_SLOT}" -lt 22 ]]; then
+ einfo "LTO is broken with LLVM 21 on arm64, ignoring CFLAGS."
+ lto_usable="false"
+ else
+ use_lto="true"
+ fi
+ # We can rely on GN to do this for us; without this builds
+ # take significantly longer with LTO enabled.
+ filter-lto
+ fi
+
+ if [[ "$use_lto" == "false" ]] && use official && [[ "$lto_usable" == "true" ]]; then
+ einfo "USE=official selected and LTO not detected."
+ einfo "It is _highly_ recommended that LTO be enabled for performance reasons"
+ einfo "and to be consistent with the upstream \"official\" build optimisations."
+ fi
+
+ if [[ "$use_lto" == "false" ]] && use test; then
+ die "Tests require CFI which requires LTO"
+ fi
+
+ export use_lto
+
+ if tc-is-cross-compiler; then
+ use pgo && die "The pgo USE flag cannot be used when cross-compiling"
+ CPP="${CBUILD}-clang++-${LLVM_SLOT} -E"
+ fi
+
+ # Sanity checks for development convenience
+ if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then
+ die "dev-build/gn >= ${GN_MIN_VER} is required to build this Chromium"
+ fi
+
+ # Sometimes, when adding a new LLVM slot, devs (me) forget to install an appropriate lld.
+ if tc-ld-is-lld; then
+ local lld_ver=$(ld.lld --version | awk '{split($2,a,"."); print a[1]}' || die "Failed to check lld version")
+ if [[ ${lld_ver} -lt ${LLVM_SLOT} ]]; then
+ die "Your lld version (${lld_ver}) is too old for the selected LLVM slot (${LLVM_SLOT}). Please install a newer lld or select an older LLVM slot."
+ fi
+ fi
+ fi
+
+ chromium_suid_sandbox_check_kernel_config
+}
+
+src_unpack() {
+ # # Here be dragons!
+ # local XCLD="--exclude=chromium-${PV/_*}/third_party/instrumented_libs \
+ # --exclude=chromium-${PV/_*}/third_party/llvm \
+ # --exclude=chromium-${PV/_*}/third_party/llvm-build \
+ # --exclude=chromium-${PV/_*}/third_party/node/linux \
+ # --exclude=chromium-${PV/_*}/third_party/rust-src \
+ # --exclude=chromium-${PV/_*}/third_party/rust-toolchain \
+ # --exclude=chromium-${PV/_*}/build/linux/debian_bullseye_i386-sysroot \
+ # --exclude=chromium-${PV/_*}/build/linux/debian_bullseye_amd64-sysroot \
+ # --exclude=chromium-${PV/_*}/third_party/angle/third_party/VK-GL-CTS \
+ # "
+
+ # if ! use libcxx ; then
+ # XCLD+=" --exclude=chromium-${PV/_*}/third_party/libc++"
+ # fi
+
+ # if ! use pgo ; then
+ # XCLD+=" --exclude=chromium-${PV/_*}/chrome/build/pgo_profiles"
+ # fi
+
+ # einfo "Unpacking chromium-${PV/_*}.tar.xz to ${WORKDIR}"
+ # # Gentoo tarball:
+ # # tar ${XCLD} -xf "${DISTDIR}/chromium-${PV/_*}-gentoo.tar.xz" -C "${WORKDIR}" || die
+ # tar ${XCLD} -xf "${DISTDIR}/chromium-${PV/_*}${LITE_TARBALL:+-lite}.tar.xz" -C "${WORKDIR}" || die
+
+ # unpack ${UGC_URL#*->}
+ # # unpack chromium-patches-${PATCH_V}.tar.bz2
+ # # Warned you!
+
+ unpack chromium-${PV/_*}-lite.tar.xz
+ unpack chromium-patches-${PATCH_V}.tar.bz2
+ # These should only be required when we're not using the official toolchain
+ if use !bundled-toolchain; then
+ unpack chromium-patches-copium-${COPIUM_COMMIT:0:10}.tar.gz
+ fi
+
+ if use test; then
+ # This just contains a bunch of font files that need to be unpacked (or moved) to the correct location.
+ local testfonts_dir="${WORKDIR}/chromium-${PV/_*}/third_party/test_fonts/test_fonts"
+ local testfonts_tar="${DISTDIR}/chromium-testfonts-${TEST_FONT:0:10}.tar.gz"
+ einfo "Unpacking test fonts ..."
+ tar xf "${testfonts_tar}" -C "${testfonts_dir}" || die "Failed to unpack testfonts"
+ fi
+
+ # We need to manually unpack this since M126 else we'd unpack one toolchain over the other.
+ # Since we're doing that anyway let's unpack to sensible locations to make symlink creation easier.
+ if use bundled-toolchain; then
+ einfo "Unpacking bundled Clang ..."
+ mkdir -p "${WORKDIR}"/clang || die "Failed to create clang directory"
+ tar xf "${DISTDIR}/chromium-clang-${BUNDLED_CLANG_VER}.tar.xz" -C "${WORKDIR}/clang" || die "Failed to unpack Clang"
+ einfo "Unpacking bundled Rust ..."
+ local rust_dir="${WORKDIR}/rust-toolchain"
+ mkdir -p "${rust_dir}" || die "Failed to create rust toolchain directory"
+ tar xf "${DISTDIR}/chromium-rust-toolchain-${RUST_SHORT_HASH}-${BUNDLED_CLANG_VER%-*}.tar.xz" -C "${rust_dir}" ||
+ die "Failed to unpack Rust"
+ fi
+
+ if use ppc64; then
+ unpack chromium-openpower-${PPC64_HASH:0:10}.tar.bz2
+ fi
+
+ # This is a dirty hack, but we need rollup to build successfully and it's proving to be challenging
+ # to build locally due to deps
+ unpack rollup-wasm-node-${ROLLUP_VER}.tgz
+
+ if use cromite; then
+ unpack cromite-${CROMITE_COMMIT_ID}.tar.gz
+ fi
+
+ unpack ${UGC_URL#*->}
+}
+
+remove_compiler_builtins() {
+ # We can't use the bundled compiler builtins with the system toolchain
+ # We used to `grep` then `sed`, but it was indirect. Combining the two into a single
+ # `awk` command is more efficient and lets us document the logic more clearly.
+
+ local pattern=' configs += [ "//build/config/clang:compiler_builtins" ]'
+ local target='build/config/compiler/BUILD.gn'
+
+ local tmpfile
+ tmpfile=$(mktemp) || die "Failed to create temporary file."
+
+ if awk -v pat="${pattern}" '
+ BEGIN {
+ match_found = 0
+ }
+
+ # If the delete countdown is active, decrement it and skip to the next line.
+ d > 0 { d--; next }
+
+ # If the current line matches the pattern...
+ $0 == pat {
+ match_found = 1 # ...set our flag to true.
+ d = 2 # Set delete counter for this line and the next two.
+ prev = "" # Clear the buffered previous line so it is not printed.
+ next
+ }
+
+ # For any other line, print the buffered previous line.
+ NR > 1 { print prev }
+
+ # Buffer the current line to be printed on the next cycle.
+ { prev = $0 }
+
+ END {
+ # Print the last line if it was not part of a deleted block.
+ if (d == 0) { print prev }
+
+ # If the pattern was never found, exit with a failure code.
+ if (match_found == 0) {
+ exit 1
+ }
+ }
+ ' "${target}" > "${tmpfile}"; then
+ # AWK SUCCEEDED (exit code 0): The pattern was found and edited.
+ # This is to avoid gawk's `-i inplace` option which users complain about.
+ mv "${tmpfile}" "${target}"
+ else
+ # AWK FAILED (exit code 1): The pattern was not found.
+ rm -f "${tmpfile}"
+ die "Awk patch failed: Pattern not found in ${target}."
+ fi
+}
+
+src_prepare() {
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ # We'll fill this in as we go. Patches go in chromium-patches.
+ local PATCHES=()
+
+ rm "${WORKDIR}/chromium-patches-${PATCH_V}/common/cr131-unbundle-icu-target.patch"
+ if ver_test "${RUST_SLOT}" -ge "1.95.0"; then
+ sed -i '/SupportedLaneCount/d' third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/zeroable.rs || die
+ sed -i '/SupportedLaneCount/d' third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/pod.rs || die
+ fi
+
+ sed -i '/no-lifetime-safety-inference/d' third_party/dawn/src/utils/BUILD.gn || die
+ sed -i '/no-experimental-lifetime-safety-tu-analysis/d' third_party/dawn/src/utils/BUILD.gn || die
+
+ PATCHES+=(
+ "${WORKDIR}/chromium-patches-${PATCH_V}/common/"
+ "${FILESDIR}/restore-x86-r4.patch"
+ "${FILESDIR}/chromium-151-cbor-fix.patch"
+ "${FILESDIR}/chromium-152-ffmpeg-fix.patch"
+ "${FILESDIR}/chromium-152-unbundle-minizip-undo-unicode.patch"
+ )
+
+ # So many fontconfig magic numbers to cover
+ # TODO: once upstream roll to 2.18.2+ set that as our minimum and remove this logic.
+ # <=2.17.1 -> 9
+ # >2.17.1 && <2.18.2 -> 11
+ # >=2.18.2 -> 12
+ local fontconfig_cache_magic=9
+ if has_version ">=media-libs/fontconfig-2.18.2"; then
+ fontconfig_cache_magic=12
+ elif has_version ">media-libs/fontconfig-2.17.1"; then
+ fontconfig_cache_magic=11
+ fi
+
+ sed -E -i \
+ -e "s#(fb5c91b2895aa445d23aebf7f9e2189c-le64\.cache-)(9|10|11|12)#\1${fontconfig_cache_magic}#g" \
+ third_party/test_fonts/fontconfig/BUILD.gn || die "Failed to set fontconfig cache magic in BUILD.gn"
+
+ #cp -f ${WORKDIR}/chromium-patches-${PATCH_V}/*-compiler.patch "${T}/compiler.patch"
+ ##cp -f ${FILESDIR}/chromium-147-compiler.patch "${T}/compiler.patch"
+ #if ! use custom-cflags; then #See #25 #92
+ # sed -i '/default_stack_frames/Q' "${T}/compiler.patch" || die
+ #fi
+
+ sed -E -i \
+ -e "s#(kCacheKey \+ \"/-le64\.cache-)(9|10|11|12)(\")#\1${fontconfig_cache_magic}\3#g" \
+ -e "s#(kCacheKey \+ \"-le64\.cache-)(9|10|11|12)(\")#\1${fontconfig_cache_magic}\3#g" \
+ third_party/test_fonts/fontconfig/generate_fontconfig_caches.cc || \
+ die "Failed to set fontconfig cache magic in generate_fontconfig_caches.cc"
+
+ if use bundled-toolchain; then
+ # We need to symlink the toolchain into the expected location
+ einfo "Symlinking Clang toolchain to expected location ..."
+ mkdir -p third_party/llvm-build/ || die "Failed to create llvm-build directory"
+ # the 'Chromium Linux Tarballs' seem to already have 'Release+Asserts/{lib,bin}'; not sure if this is an
+ # upstream change - we're using the same scripts to build, theoretically. We'll still attempt to create
+ # llvm-build, but we'll rm Release+Asserts and symlink directly.
+ if [[ -d third_party/llvm-build/Release+Asserts ]]; then
+ rm -r third_party/llvm-build/Release+Asserts || die "Failed to remove third_party/llvm-build/Release+Asserts"
+ fi
+ ln -s "${WORKDIR}"/clang third_party/llvm-build/Release+Asserts || die "Failed to bundle Clang"
+ einfo "Symlinking Rust toolchain to expected location ..."
+ # As above, so below
+ if [[ -d third_party/rust-toolchain ]]; then
+ rm -r third_party/rust-toolchain || die "Failed to remove third_party/rust-toolchain"
+ fi
+ ln -s "${WORKDIR}"/rust-toolchain third_party/rust-toolchain || die "Failed to bundle rust"
+ cp "${WORKDIR}"/rust-toolchain/VERSION \
+ "${WORKDIR}"/rust-toolchain/INSTALLED_VERSION || die "Failed to set rust version"
+ else
+ # We don't need our toolchain patches if we're using the official toolchain
+
+ # Copium patches go here.
+ PATCHES+=(
+ "${WORKDIR}/copium/cr143-libsync-__BEGIN_DECLS.patch"
+ )
+
+ # Automate conditional application of chromium-patches
+ # The directory structure is expected to be something like:
+ # chromium-patches-145/
+ # ├── toolchain/
+ # │ ├── cr123-foo.patch
+ # │ └── cr135-bar.patch
+ # ├── llvm/
+ # │ ├── cr144-baz.patch
+ # │ └── lt-23/
+ # │ └── cr145-bleeding-edge-llvm-feature.patch
+ # Where `lt-23` means "apply this patch if the LLVM version is less than 23".
+ # Only categories in `slot_map` will be checked for version constraints.
+ shopt -s nullglob
+ local -A slot_map=( [llvm]="${LLVM_SLOT}" [rust]="${RUST_SLOT}" )
+
+ for category in "${WORKDIR}/chromium-patches-${PATCH_V}"/*/; do
+ local category_name="${category%/}"
+ category_name="${category_name##*/}"
+
+ # Skip arch-specific categories
+ if [[ "${category_name}" == "ppc64le" ]]; then
+ use ppc64 || continue
+ fi
+
+ # We applied common patches above, no need to apply them again here
+ [[ "${category_name}" == "common" ]] && continue
+
+ # Unconditional patches for this category
+ local category_patches=( "${category}"*.patch )
+ [[ ${#category_patches[@]} -gt 0 ]] && PATCHES+=( "${category}" )
+
+ # Version-constrained subdirectories (e.g., llvm/lt-23/)
+ for constraint_dir in "${category}"*/; do
+ local dir_name="${constraint_dir%/}"
+ dir_name="${dir_name##*/}"
+ if [[ "${dir_name}" =~ ^lt-(.*)$ && -v slot_map[${category_name}] ]]; then
+ ver_test "${slot_map[${category_name}]}" -lt "${BASH_REMATCH[1]}" &&
+ PATCHES+=( "${constraint_dir}" )
+ fi
+ done
+ done
+
+ shopt -u nullglob
+
+ # Strictly speaking this doesn't need to be gated (no bundled toolchain for ppc64); it keeps the logic together
+ if use ppc64; then
+ local patchset_dir="${WORKDIR}/openpower-patches-${PPC64_HASH}/patches"
+ # patch causes build errors on 4K page systems (https://bugs.gentoo.org/show_bug.cgi?id=940304)
+ local page_size_patch="ppc64le/third_party/use-sysconf-page-size-on-ppc64.patch"
+ local isa_3_patch="ppc64le/core/baseline-isa-3-0.patch"
+ # Apply the OpenPOWER patches (check for page size and isa 3.0)
+ openpower_patches=( $(grep -E "^ppc64le|^upstream" "${patchset_dir}/series" | grep -v "${page_size_patch}" |
+ grep -v "${isa_3_patch}" || die) )
+ for patch in "${openpower_patches[@]}"; do
+ PATCHES+=( "${patchset_dir}/${patch}" )
+ done
+ if [[ $(getconf PAGESIZE) == 65536 ]]; then
+ PATCHES+=( "${patchset_dir}/${page_size_patch}" )
+ fi
+ # We use vsx3 as a proxy for 'want isa3.0' (POWER9)
+ if use cpu_flags_ppc_vsx3 ; then
+ PATCHES+=( "${patchset_dir}/${isa_3_patch}" )
+ fi
+ fi
+
+ remove_compiler_builtins
+
+ # We can't rely on the eselect'd Rust to actually include rustfmt, so we'll point to the selected slot specifically.
+ local suffix=""
+ if [[ "${RUST_TYPE}" == "binary" ]]; then
+ suffix="-bin-${RUST_SLOT}"
+ else
+ suffix="-${RUST_SLOT}"
+ fi
+ sed -i "s|/bin/rustfmt|/bin/rustfmt${suffix}|g" build/rust/rust_bindgen_generator.gni ||
+ die "Failed to update rustfmt path"
+
+ fi
+
+ # Do this before we apply patches since (e.g.) ppc64 needs to patch rollup and it's easier in ${S}
+ einfo "Moving rollup wasm-node package into place ..."
+ mkdir -p third_party/devtools-frontend/src/node_modules/@rollup/wasm-node ||
+ die "Failed to create node_modules/@rollup/wasm-node"
+ mv "${WORKDIR}"/package/* third_party/devtools-frontend/src/node_modules/@rollup/wasm-node ||
+ die "Failed to move rollup package"
+
+ if [ ! -z "${CHROMIUM_COMMITS[*]}" ]; then
+ # for i in "${CHROMIUM_COMMITS[@]}"; do
+ for i in "${!CHROMIUM_COMMITS[@]}"; do
+ if [[ ${CHROMIUM_COMMITS[$i]} =~ webrtc ]]; then
+ patch_prefix="webrtc"
+ elif [[ ${CHROMIUM_COMMITS[$i]} =~ angle ]]; then
+ patch_prefix="angle"
+ elif [[ ${CHROMIUM_COMMITS[$i]} =~ quiche ]]; then
+ patch_prefix="quiche"
+ elif [[ ${CHROMIUM_COMMITS[$i]} =~ dawn ]]; then
+ patch_prefix="dawn"
+ elif [[ ${CHROMIUM_COMMITS[$i]} =~ perfetto ]]; then
+ patch_prefix="perfetto"
+ elif [[ ${CHROMIUM_COMMITS[$i]} =~ ink ]]; then
+ patch_prefix="ink"
+ elif [[ ${CHROMIUM_COMMITS[$i]} =~ vulkan-utility-libraries ]]; then
+ patch_prefix="vulkan-utility-libraries"
+ elif [[ ${CHROMIUM_COMMITS[$i]} =~ ruy ]]; then
+ patch_prefix="ruy"
+ elif [[ ${CHROMIUM_COMMITS[$i]} =~ devtools-frontend ]]; then
+ patch_prefix="devtools-frontend"
+ else
+ patch_prefix="chromium"
+ fi
+ pushd "${CHROMIUM_COMMITS[$i]}" > /dev/null || die
+ if [[ $i = -* ]]; then
+ einfo "Reverting ${patch_prefix}-${i/-}.patch"
+ git_wrapper apply -R --exclude="*unittest.cc" --exclude="DEPS" \
+ -p1 < "${DISTDIR}/${patch_prefix}-${i/-}.patch"
+ else
+ einfo "Applying ${patch_prefix}-${i/-}.patch"
+ git_wrapper apply --exclude="*unittest.cc" --exclude="DEPS" \
+ -p1 < "${DISTDIR}/${patch_prefix}-${i/-}.patch"
+ fi
+ popd > /dev/null || die
+ done
+ fi
+
+ if ! use bluetooth ; then
+ PATCHES+=(
+ "${FILESDIR}/disable-bluez-r7.patch"
+ )
+ fi
+
+ if use convert-dict ; then
+ PATCHES+=(
+ "${FILESDIR}/chromium-ucf-dict-utility-r3.patch"
+ )
+ fi
+
+ if ! use libcxx ; then
+ PATCHES+=(
+ "${FILESDIR}/fix-wayland-oncecallback-copy.patch"
+ )
+ fi
+
+ if use system-ffmpeg; then
+ PATCHES+=(
+ "${FILESDIR}/chromium-141-opus-mp3.patch"
+ "${FILESDIR}/chromium-135-hevc.patch"
+ )
+ sed -i "\!AVFMT_FLAG_NOH264PARSE!d" media/filters/ffmpeg_glue.cc || die
+ ewarn "You need to expose \"av_stream_get_first_dts\" in ffmpeg via user patch"
+ fi
+
+ if use system-av1; then
+ PATCHES+=(
+ "${FILESDIR}/chromium-system-av1.patch"
+ )
+ fi
+
+ if use system-libvpx; then
+ PATCHES+=(
+ "${FILESDIR}/chromium-system-libvpx.patch"
+ )
+ fi
+
+ if use system-openjpeg ; then
+ PATCHES+=(
+ "${FILESDIR}/chromium-system-openjpeg-r4.patch"
+ )
+ fi
+
+ # if use x86 ; then
+ # #* Fixes a segfault in transport_security_state_generator
+ # PATCHES+=(
+ # "${FILESDIR}/fix-segfault-x86.patch"
+ # )
+ # fi
+
+ # Testing all patches when NODIE is defined
+ if [ ! -z "${NODIE}" ]; then
+ for i in "${PATCHES[@]}"; do
+ eapply_wrapper "$i"
+ done
+ nonfatal eapply_user
+ else
+ default
+ fi
+
+ if use cromite ; then
+ BR_PA_PATH="${WORKDIR}/cromite-${CROMITE_COMMIT_ID}/build/patches"
+
+ sed -i '/b\/components\/components_strings\.grd/,+10d' "${BR_PA_PATH}/Add-cromite-flags-support.patch" || die
+ sed -i '/b\/chrome\/android\/java\/res\/xml\/privacy_preferences\.xml/,+13d' "${BR_PA_PATH}/Add-cromite-flags-support.patch" || die
+ sed -i '/b\/android_webview\/support_library\/java\/src\/org\/chromium\/support_lib_glue/,+11d' "${BR_PA_PATH}/Client-hints-overrides.patch" || die
+ sed -i '/webapps_strings.grdp" \/>/{s++webapps_strings.grdp" /><part file="cromite_components_strings_grd/placeholder.txt"/>+;h};${x;/./{x;q0};x;q1}' \
+ components/components_strings.grd || die
+
+ sed -i 's/absl::/std::/' "${BR_PA_PATH}/Add-a-proxy-configuration-page.patch" || die
+
+ filterdiff -p1 "${BR_PA_PATH}/JIT-site-settings.patch" --exclude="content/browser/renderer_host/render_process_host_impl.cc" \
+ > "${BR_PA_PATH}/JIT-site-settings.patch1"
+ mv -f "${BR_PA_PATH}/JIT-site-settings.patch1" "${BR_PA_PATH}/JIT-site-settings.patch"
+
+ BROMITE_PATCHES=(
+ "${BR_PA_PATH}/bromite-build-utils.patch"
+ "${BR_PA_PATH}/Battery-API-return-nothing.patch"
+ "${BR_PA_PATH}/Multiple-fingerprinting-mitigations.patch"
+ "${BR_PA_PATH}/Add-flag-to-configure-maximum-connections-per-host.patch"
+ "${BR_PA_PATH}/Add-a-proxy-configuration-page.patch"
+ "${BR_PA_PATH}/Enable-StrictOriginIsolation-and-SitePerProcess.patch"
+ "${BR_PA_PATH}/Disable-requests-for-single-word-Omnibar-searches.patch"
+ "${BR_PA_PATH}/Reduce-HTTP-headers-in-DoH-requests-to-bare-minimum.patch"
+ "${BR_PA_PATH}/Client-hints-overrides.patch"
+ "${BR_PA_PATH}/Disable-idle-detection.patch"
+ "${BR_PA_PATH}/Disable-TLS-resumption.patch"
+ "${BR_PA_PATH}/Remove-navigator.connection-info.patch"
+
+ "${BR_PA_PATH}/AudioBuffer-AnalyserNode-fp-mitigations.patch"
+ "${BR_PA_PATH}/Fonts-fingerprinting-mitigation.patch"
+ "${BR_PA_PATH}/Content-settings-infrastructure.patch"
+ "${BR_PA_PATH}/Add-autoplay-site-setting.patch"
+ "${BR_PA_PATH}/Site-setting-for-images.patch"
+ "${BR_PA_PATH}/JIT-site-settings.patch"
+ "${BR_PA_PATH}/Add-webGL-site-setting.patch"
+ "${BR_PA_PATH}/Add-webRTC-site-settings.patch"
+ "${BR_PA_PATH}/Show-site-settings-for-cookies-javascript-and-ads.patch"
+ "${BR_PA_PATH}/Viewport-Protection-flag.patch"
+ "${BR_PA_PATH}/Revert-remove-allowscript-content-setting-secondary-url.patch"
+ "${BR_PA_PATH}/Timezone-customization.patch"
+ "${BR_PA_PATH}/Disable-speechSynthesis-getVoices-API.patch"
+ "${BR_PA_PATH}/Remove-support-for-device-memory-and-cpu-recovery.patch"
+ "${BR_PA_PATH}/Disable-Feeback-Collector.patch"
+ "${BR_PA_PATH}/Disable-remote-altsvc-for-h3-connections.patch"
+ "${BR_PA_PATH}/Add-cromite-flags-support.patch"
+ "${BR_PA_PATH}/Enables-deactivation-of-the-js-debugger-statement.patch"
+ )
+ for i in "${BROMITE_PATCHES[@]}"; do
+ if [[ "$i" =~ "Add-autoplay-site-setting.patch" ]] ||
+ [[ "$i" =~ "JIT-site-settings.patch" ]] ||
+ [[ "$i" =~ "Site-setting-for-images.patch" ]]; then
+ einfo "Git binary patch: ${i##*/}"
+ git_wrapper apply -p1 < "$i"
+ else
+ filter_wrapper "$i" --exclude="chrome/android/*"
+ fi
+ done
+
+ #! conflicting patches
+ sed -i '/browser_features.cc/,+17d' \
+ "${UGC_WD}/patches/extra/ungoogled-chromium/add-flag-to-clear-data-on-exit.patch" || die
+ sed -i 's$} // namespace features$BASE_FEATURE(kClearDataOnExit, "ClearDataOnExit", base::FEATURE_DISABLED_BY_DEFAULT);}$' \
+ chrome/browser/browser_features.cc || die
+ sed -i 's$} // namespace features$BASE_DECLARE_FEATURE(kClearDataOnExit);}$' \
+ chrome/browser/browser_features.h || die
+ sed -i 's$kChromeUIAboutHost,$kChromeUIAboutHost,"ungoogled-first-run",$' \
+ chrome/common/webui_url_constants.cc || die
+ sed -i '/chrome\/common\/webui_url_constants.cc/Q' \
+ "${UGC_WD}/patches/extra/ungoogled-chromium/first-run-page.patch" || die
+
+ #! normalise paths in py
+ sed -i 's$os.path.dirname(include_file)$os.path.abspath(os.path.dirname(include_file))$' \
+ build/bromite/gyp/cpp_bromite_include.py || die
+ fi
+
+ # if [[ ${LLVM_SLOT} == "19" ]]; then
+ # # Upstream now hard depend on a feature that was added in LLVM 20.1, but we don't want to stabilise that yet.
+ # # Do the temp file shuffle in case someone is using something other than `gawk`
+ # {
+ # awk '/config\("clang_warning_suppression"\) \{/ { print $0 " }"; sub(/clang/, "xclang"); print; next }
+ # { print }' build/config/compiler/BUILD.gn > "${T}/build.gn" && \
+ # mv "${T}/build.gn" build/config/compiler/BUILD.gn
+ # } || die "Unable to disable warning suppression"
+ # fi
+
+ ## Not included in -lite tarballs, but we should check for it anyway.
+ #if [[ -f third_party/node/linux/node-linux-x64/bin/node ]]; then
+ # rm third_party/node/linux/node-linux-x64/bin/node || die
+ #else
+ # mkdir -p third_party/node/linux/node-linux-x64/bin || die
+ #fi
+ #ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
+
+ cp "${FILESDIR}/libusb.gn" build/linux/unbundle || die
+ sed -i '/^REPLACEMENTS.*$/{s++REPLACEMENTS = {"libusb":"third_party/libusb/BUILD.gn",+;h};${x;/./{x;q0};x;q1}' \
+ build/linux/unbundle/replace_gn_files.py || die
+ sed -i '/^.*deps.*third_party\/jsoncpp.*$/{s++public_deps \+= [ "//third_party/jsoncpp" ]+;h};${x;/./{x;q0};x;q1}' \
+ third_party/webrtc/rtc_base/BUILD.gn || die
+
+ if use override-data-dir; then
+ sed -i '/"chromium";/{s++"ungoogled-chromium";+;h};${x;/./{x;q0};x;q1}' \
+ chrome/common/chrome_paths_linux.cc || die
+ fi
+
+ if use system-abseil-cpp; then
+ eapply_wrapper "${FILESDIR}/chromium-147-system-abseil.patch"
+
+ #! SFINAE mangling incompatibility between clang and gcc:
+ #! https://github.com/llvm/llvm-project/issues/85656
+ #! gcc: _ZN4absl12lts_202601074CordC1INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELi0EEEOT_
+ #! clang: _ZN4absl12lts_202601074CordC1INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEETnNSt9enable_ifIXsr3std7is_sameIT_S8_EE5valueEiE4typeELi0EEEOSA_
+ #! So, either this:
+ eapply_wrapper "${FILESDIR}/chromium-141-system-abseil-cord.patch"
+ #! or build with -fclang-abi-compat=17
+
+ # cp -f /usr/include/absl/base/options.h third_party/abseil-cpp/absl/base/options.h
+ # sed -i '/^#define ABSL_OPTION_USE_STD_ORDERING.*$/{s++#define ABSL_OPTION_USE_STD_ORDERING 1+;h};${x;/./{x;q0};x;q1}' \
+ # third_party/abseil-cpp/absl/base/options.h || die
+ fi
+
+ #* Applying UGC PRs here
+ if [ ! -z "${UGC_PR_COMMITS[*]}" ]; then
+ pushd "${UGC_WD}" >/dev/null
+ for i in "${UGC_PR_COMMITS[@]}"; do
+ eapply_wrapper "${DISTDIR}/${PN}-$i.patch"
+ done
+ popd >/dev/null
+ fi
+
+ # From here we adapt ungoogled-chromium's patches to our needs
+ local ugc_pruning_list="${UGC_WD}/pruning.list"
+ local ugc_patch_series="${UGC_WD}/patches/series"
+ local ugc_substitution_list="${UGC_WD}/domain_substitution.list"
+
+ local ugc_unneeded=(
+ # GN bootstrap
+ extra/debian/gn/parallel
+ # following Gentoo's Chromium
+ core/ungoogled-chromium/build-with-wasm-rollup
+ )
+
+ if use cromite ; then
+ einfo "Using fingerprinting patches from Cromite instead"
+ ugc_unneeded+=(
+ extra/bromite/fingerprinting-flags-client-rects-and-measuretext
+ extra/bromite/flag-max-connections-per-host
+ extra/bromite/flag-fingerprinting-canvas-image-data-noise
+ extra/ungoogled-chromium/add-components-ungoogled
+ extra/ungoogled-chromium/remove-pac-size-limit
+ )
+ fi
+
+ # #* Temporary fix
+ # sed -i "\!ios/!d" "${ugc_pruning_list}" || die
+ # sed -i "\!third_party/icu/!d" "${ugc_pruning_list}" || die
+ # sed -i "\!third_party/libjpeg_turbo/!d" "${ugc_pruning_list}" || die
+ # sed -i "\!third_party/snappy/!d" "${ugc_pruning_list}" || die
+ # sed -i "\!third_party/closure_compiler/!d" "${ugc_pruning_list}" || die
+
+ # #* Didn't unpack them at the first place
+ # sed -i "\!build/linux/debian_bullseye_i386-sysroot!d" "${ugc_pruning_list}" || die
+ # sed -i "\!build/linux/debian_bullseye_amd64-sysroot!d" "${ugc_pruning_list}" || die
+ # sed -i "\!third_party/llvm-build!d" "${ugc_pruning_list}" || die
+ # sed -i "\!third_party/node/linux!d" "${ugc_pruning_list}" || die
+ # sed -i "\!third_party/rust-src!d" "${ugc_pruning_list}" || die
+ # sed -i "\!third_party/rust-toolchain!d" "${ugc_pruning_list}" || die
+ # if ! use libcxx ; then
+ # sed -i "\!third_party/libc!d" "${ugc_pruning_list}" || die
+ # fi
+ sed -i "s|debug('files|error('files|" \
+ "${UGC_WD}/utils/prune_binaries.py" || die
+ sed -i "\!third_party/node/linux!d" \
+ "${UGC_WD}/utils/prune_binaries.py" || die
+
+ local ugc_p ugc_dir
+ for p in "${ugc_unneeded[@]}"; do
+ einfo "Removing ${p}.patch"
+ sed -i "\!${p}.patch!d" "${ugc_patch_series}" || die
+ done
+
+ if [ ! -z "${UGC_SKIP_PATCHES}" ]; then
+ for p in ${UGC_SKIP_PATCHES}; do
+ ewarn "Removing ${p}"
+ sed -i "\!${p}!d" "${ugc_patch_series}" || die
+ done
+ fi
+
+ if [ ! -z "${UGC_KEEP_BINARIES}" ]; then
+ for p in ${UGC_KEEP_BINARIES}; do
+ ewarn "Keeping binary ${p}"
+ sed -i "\!${p}!d" "${ugc_pruning_list}" || die
+ done
+ fi
+
+ if [ ! -z "${UGC_SKIP_SUBSTITUTION}" ]; then
+ for p in ${UGC_SKIP_SUBSTITUTION}; do
+ ewarn "No substitutions in ${p}"
+ sed -i "\!${p}!d" "${ugc_substitution_list}" || die
+ done
+ fi
+
+ ebegin "Pruning binaries"
+ "${UGC_WD}/utils/prune_binaries.py" -q . "${UGC_WD}/pruning.list"
+ eend $? || die
+
+ ebegin "Applying ungoogled-chromium patches"
+ "${UGC_WD}/utils/patches.py" -q apply . "${UGC_WD}/patches"
+ eend $? || die
+
+ ebegin "Applying domain substitution"
+ "${UGC_WD}/utils/domain_substitution.py" -q apply -r "${UGC_WD}/domain_regex.list" -f "${UGC_WD}/domain_substitution.list" .
+ eend $? || die
+
+ # Sanity check esbuild version before we start removing files.
+ # We _could_ patch the version check out - in theory esbuild upstream are being super conservative after
+ # arch(AUR) packaged an `esbuild` binary and set ESBUILD_BINARY_PATH=/usr/bin/esbuild, causing much breakage,
+ # but this is fine too and exactly matches what upstream are expecting.
+ # https://github.com/evanw/esbuild/issues/2894
+ local esbuild_js="${S}/third_party/devtools-frontend/src/node_modules/esbuild/lib/main.js"
+ local found
+ found=$(awk -F'"' '/if \(binaryVersion !==/ {print $2}' "${esbuild_js}")
+ if [[ "${found}" != "${ESBUILD_VER}" ]]; then
+ die "esbuild version mismatch: expected ${ESBUILD_VER}, found ${found}"
+ fi
+
+ elog "Removing bundled binaries from source tree ..."
+ # Purge bundled ELF files: These are non-portable and will cause issues if used instead of system versions.
+ # Use `--wasm` to also remove WebAssembly binaries, if desired - they're portable so shouldn't break builds.
+ ${EPYTHON} "${FILESDIR}/bin-finder.py" --elf "${S}" | awk '{print $1}' | xargs rm -f ||
+ die "Failed to remove bundled binaries"
+
+ # And now we restore any that we actually need, from the host system
+ local esbuild_path="${S}/third_party/devtools-frontend/src/third_party/esbuild"
+ local -A restore_list=(
+ ["/usr/bin/esbuild-${ESBUILD_VER}"]="${esbuild_path}/esbuild"
+ ["/usr/bin/gperf"]="${S}/third_party/gperf/cipd/bin/gperf"
+ ["/usr/bin/node"]="${S}/third_party/node/linux/node-linux-x64/bin/node"
+ )
+
+ for src in "${!restore_list[@]}"; do
+ dst="${restore_list[${src}]}"
+ if [[ -f "${src}" ]]; then
+ einfo "Symlinking ${src} ..."
+ # Make sure the parent dir exists; some tarballs don't include (e.g.) node's bindir
+ mkdir -p "$(dirname "${dst}")" || die "Failed to create directory for ${dst}"
+ ln -s "${src}" "${dst}" || die "Failed to symlink ${dst} from ${src}"
+ if [[ ! -L "${dst}" || "$(readlink -f "${dst}")" != "${src}" ]]; then
+ die "Symlink verification failed for ${dst} -> ${src}"
+ fi
+ else
+ die "Expected to find ${src} to restore ${dst}, but it does not exist."
+ fi
+ done
+
+ # adjust python interpreter version
+ sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die
+
+ # Use the system copy of hwdata's usb.ids
+ sed 's|//third_party/usb_ids/src/usb.ids|/usr/share/hwdata/usb.ids|g' \
+ -i services/device/public/cpp/usb/BUILD.gn || die "Failed to set system usb.ids path"
+
+ # remove_bundled_libraries.py walks the source tree and looks for paths containing the substring 'third_party'
+ # whitelist matches use the right-most matching path component, so we need to whitelist from that point down.
+ local keeplibs=(
+ base/third_party/cityhash
+ )
+ use system-double-conversion || keeplibs+=(
+ base/third_party/double_conversion
+ )
+ keeplibs+=(
+ base/third_party/icu
+ base/third_party/nspr
+ base/third_party/superfasthash
+ base/third_party/symbolize
+ base/third_party/xdg_user_dirs
+ buildtools/third_party/libc++
+ buildtools/third_party/libc++abi
+ )
+ use cromite && keeplibs+=(
+ cromite_flags/third_party
+ )
+ keeplibs+=(
+ net/third_party/mozilla_security_manager
+ net/third_party/quic
+ net/third_party/uri_template
+ )
+ use system-abseil-cpp || keeplibs+=(
+ third_party/abseil-cpp
+ )
+ keeplibs+=(
+ third_party/angle
+ third_party/angle/src/common/third_party/xxhash
+ third_party/angle/src/third_party/ceval
+ )
+ use nvidia || keeplibs+=(
+ third_party/angle/src/third_party/libXNVCtrl
+ )
+ keeplibs+=(
+ third_party/angle/src/third_party/volk
+ third_party/anonymous_tokens
+ third_party/apple_apsl
+ third_party/axe-core
+ third_party/bidimapper
+ third_party/blink
+ third_party/boringssl
+ third_party/boringssl/src/third_party/fiat
+ third_party/breakpad
+ third_party/breakpad/breakpad/src/third_party/curl
+ )
+ use system-brotli || keeplibs+=(
+ third_party/brotli
+ )
+ keeplibs+=(
+ third_party/catapult
+ third_party/catapult/common/py_vulcanize/third_party/rcssmin
+ third_party/catapult/common/py_vulcanize/third_party/rjsmin
+ third_party/catapult/third_party/beautifulsoup4-4.9.3
+ third_party/catapult/third_party/html5lib-1.1
+ third_party/catapult/third_party/polymer
+ third_party/catapult/third_party/six
+ third_party/catapult/third_party/typ
+ third_party/catapult/tracing/third_party/d3
+ third_party/catapult/tracing/third_party/gl-matrix
+ third_party/catapult/tracing/third_party/jpeg-js
+ third_party/catapult/tracing/third_party/jszip
+ third_party/catapult/tracing/third_party/mannwhitneyu
+ third_party/catapult/tracing/third_party/oboe
+ third_party/catapult/tracing/third_party/pako
+ third_party/ced
+ third_party/cld_3
+ third_party/closure_compiler
+ )
+ use libcxx && keeplibs+=(
+ third_party/compiler-rt
+ )
+ keeplibs+=(
+ third_party/content_analysis_sdk
+ third_party/cpuinfo
+ third_party/crabbyavif
+ third_party/crashpad
+ third_party/crashpad/crashpad/third_party/lss
+ third_party/crashpad/crashpad/third_party/zlib
+ )
+ use system-crc32c || keeplibs+=(
+ third_party/crc32c
+ )
+ keeplibs+=(
+ third_party/cros_system_api
+ third_party/d3
+ third_party/dawn
+ third_party/dawn/third_party/gn/webgpu-cts
+ third_party/dawn/third_party/OpenGL-Registry
+ third_party/dawn/third_party/renderdoc
+ third_party/dawn/third_party/webgpu-headers
+ third_party/depot_tools
+ third_party/devscripts
+ third_party/devtools-frontend
+ third_party/devtools-frontend/src/front_end/third_party/acorn
+ third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json
+ third_party/devtools-frontend/src/front_end/third_party/axe-core
+ third_party/devtools-frontend/src/front_end/third_party/chromium
+ third_party/devtools-frontend/src/front_end/third_party/codemirror
+ third_party/devtools-frontend/src/front_end/third_party/csp_evaluator
+ third_party/devtools-frontend/src/front_end/third_party/diff
+ third_party/devtools-frontend/src/front_end/third_party/i18n
+ third_party/devtools-frontend/src/front_end/third_party/intl-messageformat
+ third_party/devtools-frontend/src/front_end/third_party/json5
+ third_party/devtools-frontend/src/front_end/third_party/legacy-javascript
+ third_party/devtools-frontend/src/front_end/third_party/lighthouse
+ third_party/devtools-frontend/src/front_end/third_party/lit
+ third_party/devtools-frontend/src/front_end/third_party/marked
+ third_party/devtools-frontend/src/front_end/third_party/puppeteer
+ third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/third_party/mitt
+ third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/third_party/parsel-js
+ third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/third_party/rxjs
+ third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/third_party/urlpattern-polyfill
+ third_party/devtools-frontend/src/front_end/third_party/source-map-scopes-codec
+ third_party/devtools-frontend/src/front_end/third_party/third-party-web
+ third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data
+ third_party/devtools-frontend/src/front_end/third_party/wasmparser
+ third_party/devtools-frontend/src/front_end/third_party/web-vitals
+ third_party/devtools-frontend/src/third_party
+ third_party/dom_distiller_js
+ third_party/dragonbox
+ third_party/eigen3
+ third_party/emoji-segmenter
+ third_party/farmhash
+ third_party/fast_float
+ third_party/fdlibm
+ third_party/federated_compute/chromium/fcp/confidentialcompute
+ third_party/federated_compute/chromium/fcp/protos
+ third_party/federated_compute/chromium/fcp/secagg
+ third_party/federated_compute/chromium/fcp/client
+ third_party/federated_compute/src/fcp/base
+ third_party/federated_compute/src/fcp/confidentialcompute
+ third_party/federated_compute/src/fcp/protos
+ third_party/federated_compute/src/fcp/client
+ third_party/federated_compute/src/fcp/secagg
+ third_party/federated_compute/third_party/googleapis/src/google
+ third_party/federated_compute/third_party/tensorflow-federated
+ third_party/federated_compute/third_party/protodatastore-cpp
+ third_party/fft2d
+ third_party/flatbuffers
+ third_party/fp16
+ third_party/freetype
+ third_party/fusejs
+ third_party/fxdiv
+ third_party/gemmlowp
+ third_party/google_input_tools
+ third_party/google_input_tools/third_party/closure_library
+ third_party/google_input_tools/third_party/closure_library/third_party/closure
+ third_party/googletest
+ third_party/gperf # We symlink system gperf, but this will purge the symlink since we tidy up afterwards.
+ third_party/highway
+ third_party/hunspell
+ third_party/hyphenation-patterns
+ third_party/ink/src/ink/brush
+ third_party/ink/src/ink/color
+ third_party/ink/src/ink/geometry
+ third_party/ink/src/ink/rendering
+ third_party/ink/src/ink/rendering/skia/common_internal
+ third_party/ink/src/ink/rendering/skia/native
+ third_party/ink/src/ink/rendering/skia/native/internal
+ third_party/ink/src/ink/strokes
+ third_party/ink/src/ink/types
+ third_party/inspector_protocol
+ third_party/ipcz
+ third_party/jinja2
+ )
+ use system-jsoncpp || keeplibs+=(
+ third_party/jsoncpp
+ )
+ keeplibs+=(
+ third_party/khronos
+ third_party/lens_server_proto
+ third_party/leveldatabase
+ third_party/libaddressinput
+ third_party/libdrm
+ third_party/libgav1
+ third_party/libjingle
+ third_party/libpfm4
+ third_party/libphonenumber
+ third_party/libpng
+ third_party/libsecret
+ third_party/libsrtp
+ third_party/libsync
+ third_party/libtess2/libtess2
+ third_party/libtess2/src/Include
+ third_party/libtess2/src/Source
+ third_party/liburlpattern
+ )
+ use system-libusb || keeplibs+=(
+ third_party/libusb
+ )
+ keeplibs+=(
+ third_party/libva_protected_content
+ )
+ use system-libvpx || keeplibs+=(
+ third_party/libvpx
+ third_party/libvpx/source/libvpx/third_party/x86inc
+ )
+ keeplibs+=(
+ third_party/libwebm
+ third_party/libx11
+ third_party/libxcb-keysyms
+ third_party/libxml/chromium
+ third_party/libyuv
+ third_party/libzip
+ third_party/lit
+ )
+ use libcxx && keeplibs+=(
+ third_party/llvm-libc
+ third_party/llvm-libc/src/shared/
+ )
+ keeplibs+=(
+ third_party/lottie
+ third_party/lss
+ third_party/lzma_sdk
+ third_party/mako
+ third_party/markupsafe
+ third_party/material_color_utilities
+ third_party/metrics_proto
+ third_party/minigbm
+ third_party/ml_dtypes
+ third_party/modp_b64
+ third_party/nasm
+ third_party/nearby
+ third_party/neon_2_sse
+ third_party/node
+ third_party/oak/chromium/proto
+ third_party/oak/chromium/proto/attestation
+ third_party/omnibox_proto
+ third_party/one_euro_filter
+ third_party/openscreen
+ third_party/openscreen/src/third_party/
+ third_party/openscreen/src/third_party/tinycbor/src/src
+ third_party/ots
+ third_party/pdfium
+ third_party/pdfium/third_party/agg23
+ third_party/pdfium/third_party/bigint
+ third_party/pdfium/third_party/freetype
+ third_party/pdfium/third_party/lcms
+ )
+ use system-openjpeg || keeplibs+=(
+ third_party/pdfium/third_party/libopenjpeg
+ )
+ keeplibs+=(
+ third_party/pdfium/third_party/libtiff
+ third_party/perfetto
+ third_party/perfetto/protos/third_party/android
+ third_party/perfetto/protos/third_party/chromium
+ third_party/perfetto/protos/third_party/pprof
+ third_party/perfetto/protos/third_party/primes
+ third_party/perfetto/protos/third_party/simpleperf
+ third_party/pffft
+ third_party/ply
+ third_party/polymer
+ third_party/private_membership
+ third_party/private-join-and-compute
+ third_party/protobuf
+ third_party/protobuf/third_party/utf8_range
+ third_party/pthreadpool
+ third_party/puffin
+ third_party/pyjson5
+ third_party/pyyaml
+ third_party/rapidhash
+ third_party/readability
+ third_party/rnnoise
+ third_party/rust
+ third_party/ruy
+ third_party/s2cellid
+ third_party/search_engines_data
+ third_party/securemessage
+ third_party/selenium-atoms
+ third_party/sentencepiece
+ third_party/sentencepiece/src/third_party/darts_clone
+ third_party/shell-encryption
+ third_party/simdutf
+ third_party/simplejson
+ third_party/six
+ third_party/skia
+ third_party/skia/include/third_party/vulkan
+ third_party/smhasher
+ )
+ use system-snappy || keeplibs+=(
+ third_party/snappy
+ )
+ keeplibs+=(
+ third_party/spirv-headers
+ third_party/spirv-tools
+ third_party/sqlite
+ third_party/swiftshader
+ third_party/swiftshader/third_party/astc-encoder
+ third_party/swiftshader/third_party/llvm-subzero
+ third_party/swiftshader/third_party/marl
+ third_party/swiftshader/third_party/SPIRV-Headers/include/spirv
+ third_party/swiftshader/third_party/SPIRV-Tools
+ third_party/swiftshader/third_party/subzero
+ third_party/tensorflow_models
+ third_party/tensorflow-text
+ third_party/tflite
+ third_party/tflite/src/third_party/fft2d
+ third_party/tflite/src/third_party/xla/third_party/tsl
+ third_party/tflite/src/third_party/xla/xla/tsl/framework
+ third_party/tflite/src/third_party/xla/xla/tsl/lib/random
+ third_party/tflite/src/third_party/xla/xla/tsl/platform
+ third_party/tflite/src/third_party/xla/xla/tsl/protobuf
+ third_party/tflite/src/third_party/xla/xla/tsl/util
+ third_party/ukey2
+ third_party/utf
+ third_party/vulkan
+ third_party/wayland
+ third_party/webdriver
+ third_party/webgpu-cts
+ third_party/webrtc
+ third_party/webrtc/common_audio/third_party/ooura
+ third_party/webrtc/common_audio/third_party/spl_sqrt_floor
+ third_party/webrtc/modules/third_party/fft
+ third_party/webrtc/modules/third_party/g711
+ third_party/webrtc/modules/third_party/g722
+ third_party/widevine
+ )
+ use system-woff2 || keeplibs+=(
+ third_party/woff2
+ )
+ keeplibs+=(
+ third_party/wuffs
+ third_party/x11proto
+ third_party/xcbproto
+ third_party/xnnpack
+ third_party/zlib/google
+ third_party/zxcvbn-cpp
+ url/third_party/mozilla
+ v8/third_party/inspector_protocol
+ v8/third_party/rapidhash-v8
+ v8/third_party/siphash
+ v8/third_party/utf8-decoder
+ v8/third_party/v8
+ v8/third_party/valgrind
+
+ # gyp -> gn leftovers
+ third_party/speech-dispatcher
+ third_party/usb_ids
+ )
+
+ if use test; then
+ keeplibs+=(
+ third_party/breakpad/breakpad/src/processor
+ third_party/fuzztest
+ third_party/google_benchmark/src/include/benchmark
+ third_party/google_benchmark/src/src
+ third_party/test_fonts
+ third_party/test_fonts/fontconfig
+ third_party/test_fonts/test_fonts
+ )
+ fi
+
+ # USE=system-*
+ if ! use system-harfbuzz; then
+ keeplibs+=( third_party/harfbuzz )
+ fi
+
+ if ! use system-ffmpeg; then
+ keeplibs+=( third_party/ffmpeg third_party/opus )
+ fi
+
+ if ! use system-icu; then
+ keeplibs+=( third_party/icu )
+ fi
+
+ if ! use system-zstd; then
+ keeplibs+=( third_party/zstd )
+ fi
+
+ if ! use system-av1; then
+ keeplibs+=(
+ third_party/dav1d
+ third_party/libaom
+ third_party/libaom/source/libaom/third_party/fastfeat
+ third_party/libaom/source/libaom/third_party/vector
+ third_party/libaom/source/libaom/third_party/x86inc
+ )
+ fi
+
+ if use libcxx; then
+ keeplibs+=(
+ third_party/libc++
+ third_party/llvm-libc
+ )
+ fi
+
+ if ! use system-openh264; then
+ keeplibs+=( third_party/openh264 )
+ fi
+
+ if ! use system-re2; then
+ keeplibs+=( third_party/re2 )
+ fi
+
+ # Arch-specific
+ if use arm64 || use ppc64 ; then
+ keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 )
+ fi
+ # we need to generate ppc64 stuff because upstream does not ship it yet
+ # it has to be done before unbundling.
+ if use ppc64; then
+ pushd third_party/libvpx >/dev/null || die
+ mkdir -p source/config/linux/ppc64 || die
+ # requires git and clang, bug #832803
+ # Revert https://chromium.googlesource.com/chromium/src/+/b463d0f40b08b4e896e7f458d89ae58ce2a27165%5E%21/third_party/libvpx/generate_gni.sh
+ # and https://chromium.googlesource.com/chromium/src/+/71ebcbce867dd31da5f8b405a28fcb0de0657d91%5E%21/third_party/libvpx/generate_gni.sh
+ # since we're not in a git repo
+ sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g; /^git -C/d; /git cl/d; /cd \$BASE_DIR\/\$LIBVPX_SRC_DIR/ign format --in-place \$BASE_DIR\/BUILD.gn\ngn format --in-place \$BASE_DIR\/libvpx_srcs.gni" \
+ generate_gni.sh || die
+ ./generate_gni.sh || die
+ popd >/dev/null || die
+
+ pushd third_party/ffmpeg >/dev/null || die
+ cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die
+ cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die
+ popd >/dev/null || die
+ fi
+
+ # Sanity check keeplibs, on major version bumps it is often necessary to update this list
+ # and this enables us to hit them all at once.
+ # There are some entries that need to be whitelisted (TODO: Why? The file is understandable, the rest seem odd)
+ whitelist_libs=(
+ net/third_party/quic
+ third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json
+ third_party/libjingle
+ third_party/mesa
+ third_party/skia/third_party/vulkan
+ third_party/vulkan
+ )
+ local not_found_libs=()
+ for lib in "${keeplibs[@]}"; do
+ if [[ ! -d "${lib}" ]] && ! has "${lib}" "${whitelist_libs[@]}"; then
+ not_found_libs+=( "${lib}" )
+ fi
+ done
+
+ if [[ ${#not_found_libs[@]} -gt 0 ]]; then
+ ewarn "The following \`keeplibs\` directories were not found in the source tree:"
+ for lib in "${not_found_libs[@]}"; do
+ ewarn " ${lib}"
+ done
+ fi
+
+ keeplibs+=( third_party/ungoogled )
+
+ # Remove most bundled libraries. Some are still needed.
+ einfo "Unbundling third-party libraries ..."
+ build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
+
+ # Interferes with our bundled clang path; we don't want stripped binaries anyway.
+ sed -i -e 's|${clang_base_path}/bin/llvm-strip|/bin/true|g' \
+ -e 's|${clang_base_path}/bin/llvm-objcopy|/bin/true|g' \
+ build/linux/strip_binary.gni || die
+}
+
+src_configure() {
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ # 974899: sometimes people try to build with a non-Unicode locale and python gets very upset
+ python_export_utf8_locale || die "Chromium builds require a UTF-8 locale."
+
+ # Bug 491582.
+ export TMPDIR="${WORKDIR}/temp"
+ mkdir -p -m 755 "${TMPDIR}" || die
+
+ # https://bugs.gentoo.org/654216
+ addpredict /dev/dri/ #nowarn
+
+ # Use system-provided libraries.
+ # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733).
+ # TODO: use_system_hunspell (upstream changes needed).
+ # TODO: use_system_protobuf (bug #525560).
+ # TODO: use_system_sqlite (http://crbug.com/22208).
+
+ # libevent: https://bugs.gentoo.org/593458
+ local gn_system_libraries=(
+ flac
+ fontconfig
+ freetype
+ libjpeg
+ libwebp
+ libxml
+ libxslt
+ zlib
+ )
+ if use system-abseil-cpp; then
+ gn_system_libraries+=(
+ absl_algorithm
+ absl_base
+ absl_cleanup
+ absl_container
+ absl_crc
+ absl_debugging
+ absl_flags
+ absl_functional
+ absl_hash
+ absl_log
+ absl_log_internal
+ absl_memory
+ absl_meta
+ absl_numeric
+ absl_random
+ absl_status
+ absl_strings
+ absl_synchronization
+ absl_time
+ absl_types
+ absl_utility
+ )
+ fi
+ if use system-brotli; then
+ gn_system_libraries+=( brotli )
+ fi
+ if use system-crc32c; then
+ gn_system_libraries+=( crc32c )
+ fi
+ if use system-double-conversion; then
+ gn_system_libraries+=( double-conversion )
+ fi
+ if use system-woff2; then
+ gn_system_libraries+=( woff2 )
+ fi
+ if use nvidia; then
+ gn_system_libraries+=( libXNVCtrl )
+ fi
+ if use system-ffmpeg; then
+ gn_system_libraries+=( ffmpeg opus )
+ fi
+ if use system-jsoncpp; then
+ gn_system_libraries+=( jsoncpp )
+ fi
+ if use system-icu; then
+ gn_system_libraries+=( icu )
+ fi
+ if use system-zstd; then
+ gn_system_libraries+=( zstd )
+ fi
+ if use system-av1; then
+ gn_system_libraries+=( dav1d libaom )
+ fi
+ if use system-libusb; then
+ gn_system_libraries+=( libusb )
+ fi
+ if use system-libvpx; then
+ gn_system_libraries+=( libvpx )
+ fi
+ use system-openh264 && gn_system_libraries+=(
+ openh264
+ )
+ use system-re2 && gn_system_libraries+=(
+ re2
+ )
+ use system-snappy && gn_system_libraries+=(
+ snappy
+ )
+
+ build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" ||
+ die "Failed to replace GN files for system libraries"
+
+ # TODO 131: The above call clobbers `enable_freetype = true` in the freetype gni file
+ # drop the last line, then append the freetype line and a new curly brace to end the block
+ local freetype_gni="build/config/freetype/freetype.gni"
+ sed -i -e '$d' ${freetype_gni} || die
+ echo " enable_freetype = true" >> ${freetype_gni} || die
+ echo "}" >> ${freetype_gni} || die
+
+ if use !custom-cflags; then
+ replace-flags "-Os" "-O2"
+ strip-flags
+ # Debug info section overflows without component build
+ # Prevent linker from running out of address space, bug #471810 .
+ filter-flags "-g*"
+ # 949123: Several multimedia components explicitly build with specific CFLAGS and
+ # use runtime detection to enable optimisations; unfortunately any of our CFLAGS are suffixed
+ # to the end of the command line, which causes build failures.
+ fi
+ # Since M150 `skia` will begin breaking for x86_64 due to compilation of `avx512` code paths;
+ # we need to filter these for all arches.
+ filter-flags "-march*" "-mtune*" "-mcpu*"
+
+ # We don't use the same clang version as upstream, and with -Werror
+ # we need to make sure that we don't get superfluous warnings.
+ append-flags -Wno-unknown-warning-option
+ if tc-is-cross-compiler; then # can you cross-compile with the bundled toolchain?
+ export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option"
+ export BUILD_CFLAGS+=" -Wno-unknown-warning-option"
+ fi
+
+ # Start building our GN options
+ local myconf_gn=() # Tip: strings must be quoted, bools or numbers are fine
+
+ if use !bundled-toolchain; then
+ # We already forced the "correct" clang via pkg_setup
+
+ if tc-is-cross-compiler; then
+ CC="${CC} -target ${CHOST} --sysroot ${ESYSROOT}"
+ CXX="${CXX} -target ${CHOST} --sysroot ${ESYSROOT}"
+ BUILD_AR=${AR}
+ BUILD_CC=${CC}
+ BUILD_CXX=${CXX}
+ BUILD_NM=${NM}
+ fi
+
+ # Make sure the build system will use the right tools, bug #340795.
+ tc-export AR CC CXX NM
+
+ strip-unsupported-flags
+ append-ldflags -Wl,--undefined-version # https://bugs.gentoo.org/918897#c32
+
+ myconf_gn+=(
+ "is_clang=true"
+ "clang_use_chrome_plugins=false"
+ "use_clang_modules=false" # M141 enables this for the linux platform by default.
+ 'custom_toolchain="//build/toolchain/linux/unbundle:default"'
+ # From M127 we need to provide a location for libclang and the clang resource dir so that bindgen can find them
+ "bindgen_libclang_path=\"$(get_llvm_prefix)/$(get_libdir)\""
+ "bindgen_clang_resource_dir=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/include\""
+ "bindgen_extra_clang_args=[\"-I${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/include\"]"
+ "clang_base_path=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/\""
+ "rust_bindgen_root=\"${EPREFIX}/usr/\""
+ "rust_sysroot_absolute=\"$(get_rust_prefix)\""
+ "rustc_version=\"${RUST_SLOT}\""
+ )
+
+ # Currently disabled, runtime issues with mold
+ #if tc-ld-is-mold; then
+ # myconf_gn+=(
+ # "use_mold=true"
+ # "use_lld=false"
+ # "linker_path=\"${EPREFIX}/usr/bin/mold\""
+ # )
+ #else
+ myconf_gn+=( "use_lld=true" )
+ #fi
+
+ if [[ ${LLVM_SLOT} -lt 23 ]]; then
+ # Workaround for -fsanitize-ignore-for-ubsan-feature (added in LLVM 23)
+ myconf_gn+=( 'clang_has_ubsan_feature_ignore=false' )
+ fi
+
+ if ! tc-is-cross-compiler; then
+ myconf_gn+=( 'host_toolchain="//build/toolchain/linux/unbundle:default"' )
+ else
+ tc-export BUILD_{AR,CC,CXX,NM}
+ myconf_gn+=(
+ 'host_toolchain="//build/toolchain/linux/unbundle:host"'
+ 'v8_snapshot_toolchain="//build/toolchain/linux/unbundle:host"'
+ "host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\""
+ "pkg_config=\"$(tc-getPKG_CONFIG)\""
+ )
+
+ # setup cups-config, build system only uses --libs option
+ if use cups; then
+ mkdir "${T}/cups-config" || die
+ cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die
+ export PATH="${PATH}:${T}/cups-config"
+ fi
+
+ # Don't inherit PKG_CONFIG_PATH from environment
+ local -x PKG_CONFIG_PATH=
+ fi
+
+ fi # !bundled-toolchain
+
+ local myarch
+ myarch="$(tc-arch)"
+ case ${myarch} in
+ amd64)
+ # Bug 530248, 544702, 546984, 853646.
+ use !custom-cflags && filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 \
+ -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a
+ myconf_gn+=( 'target_cpu="x64"' )
+ ;;
+ x86)
+ # Bug 530248, 544702, 546984, 853646.
+ use !custom-cflags && filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 \
+ -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a
+ myconf_gn+=( 'target_cpu="x86"' )
+ ;;
+ arm64)
+ myconf_gn+=( 'target_cpu="arm64"' )
+ ;;
+ ppc64)
+ myconf_gn+=( 'target_cpu="ppc64"' )
+ ;;
+ *)
+ die "Failed to determine target arch, got '${myarch}'."
+ ;;
+ esac
+
+ # Common options
+
+ myconf_gn+=(
+ # Disable code formating of generated files
+ "blink_enable_generated_code_formatting=false"
+ # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138.
+ # DCHECK is fatal by default, make it configurable at runtime, #bug 807881.
+ "dcheck_always_on=$(usex debug true false)"
+ "dcheck_is_configurable=$(usex debug true false)"
+ # Chromium builds provided by Linux distros should disable the testing config
+ "disable_fieldtrial_testing_config=true"
+ # Custom patch: Enable building Chromium as individual channels (e.g. stable, beta, dev) that
+ # use different profile directories, desktop entries, etc. This enables slotting the ebuild.
+ "enable_channel_branding=true"
+ # 131 began laying the groundwork for replacing freetype with
+ # "Rust-based Fontations set of libraries plus Skia path rendering"
+ # We now need to opt-in
+ "enable_freetype=true"
+ "enable_hangout_services_extension=$(usex hangouts true false)"
+ # Don't need nocompile checks and GN crashes with our config (verify with modern GN)
+ "enable_nocompile_tests=false"
+ # pseudolocales are only used for testing
+ "enable_pseudolocales=false"
+ "enable_widevine=$(usex widevine true false)"
+ # Disable fatal linker warnings, bug 506268.
+ "fatal_linker_warnings=false"
+ # Component build isn't generally intended for use by end users. It's mostly useful
+ # for development and debugging.
+ "is_component_build=false"
+ # GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
+ "is_debug=false"
+ "is_official_build=$(usex official true false)"
+ # Enable ozone wayland and/or headless support
+ "ozone_auto_platforms=false"
+ "ozone_platform_headless=true"
+ # Enables building without non-free unRAR licence
+ "safe_browsing_use_unrar=false"
+ # "thin_lto_enable_optimizations=${use_lto}"
+ "treat_warnings_as_errors=false"
+ # Use in-tree libc++ (buildtools/third_party/libc++ and buildtools/third_party/libc++abi)
+ # instead of the system C++ library for C++ standard library support.
+ # default: true, but let's be explicit (forced since 120 ; USE removed 127).
+ "use_custom_libcxx=true"
+ # Enable ozone wayland and/or headless support
+ "use_ozone=true"
+ # The sysroot is the oldest debian image that chromium supports, we don't need it
+ "use_sysroot=false"
+ # See dependency logic in third_party/BUILD.gn
+ "use_system_harfbuzz=$(usex system-harfbuzz true false)"
+ # "use_thin_lto=${use_lto}"
+ # Only enabled for clang, but gcc has endian macros too
+ "v8_use_libm_trig_functions=true"
+ # use system go
+ "tint_use_system_go=true"
+ )
+
+ myconf_gn+=( "enable_iterator_debugging=$(usex debug true false)" )
+
+ if use debug; then
+ myconf_gn+=(
+ "symbol_level=2"
+ "blink_symbol_level=2"
+ "v8_symbol_level=2"
+ )
+ else
+ myconf_gn+=(
+ "symbol_level=0"
+ "blink_symbol_level=0"
+ "v8_symbol_level=0"
+ )
+ fi
+
+ if use bindist ; then
+ myconf_gn+=(
+ # If this is set to false Chromium won't be able to load any proprietary codecs
+ # even if provided with an ffmpeg capable of h264/aac decoding
+ "proprietary_codecs=true"
+ 'ffmpeg_branding="Chrome"'
+ # build ffmpeg as an external component (libffmpeg.so) that we can remove / substitute
+ "is_component_ffmpeg=true"
+ )
+ else
+ myconf_gn+=(
+ "proprietary_codecs=$(usex proprietary-codecs true false)"
+ "ffmpeg_branding=\"$(usex proprietary-codecs Chrome Chromium)\""
+ )
+ fi
+
+ if use headless; then
+ myconf_gn+=(
+ "enable_print_preview=false"
+ "enable_remoting=false"
+ 'ozone_platform="headless"'
+ "rtc_use_pipewire=false"
+ "use_alsa=false"
+ "use_cups=false"
+ "use_gio=false"
+ "use_glib=false"
+ "use_gtk=false"
+ "use_kerberos=false"
+ "use_libpci=false"
+ "use_pangocairo=false"
+ "use_pulseaudio=false"
+ "use_qt5=false"
+ "use_qt6=false"
+ "use_udev=false"
+ "use_vaapi=false"
+ "use_xkbcommon=false"
+ )
+ else
+ myconf_gn+=(
+ "gtk_version=$(usex gtk4 4 3)"
+ # link pulseaudio directly (DT_NEEDED) instead of using dlopen.
+ # helps with automated detection of ABI mismatches and prevents silent errors.
+ "link_pulseaudio=$(usex pulseaudio true false)"
+ "ozone_platform_wayland=$(usex wayland true false)"
+ "ozone_platform_x11=$(usex X true false)"
+ "ozone_platform=\"$(usex wayland wayland x11)\""
+ "rtc_use_pipewire=$(usex screencast true false)"
+ # As above - link directly instead of dlopening
+ "rtc_link_pipewire=$(usex screencast true false)"
+ "use_cups=$(usex cups true false)"
+ "use_kerberos=$(usex kerberos true false)"
+ "use_pulseaudio=$(usex pulseaudio true false)"
+ "use_qt5=false"
+ "use_system_libffi=$(usex wayland true false)"
+ "use_system_minigbm=true"
+ "use_vaapi=$(usex vaapi true false)"
+ "use_xkbcommon=true"
+ )
+ if use qt6; then
+ local cbuild_libdir
+ cbuild_libdir="$(get_libdir)"
+ if tc-is-cross-compiler; then
+ # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
+ cbuild_libdir="$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt)"
+ cbuild_libdir="${cbuild_libdir:2}"
+ cbuild_libdir="${cbuild_libdir/% }"
+ fi
+ myconf_gn+=(
+ "use_qt6=true"
+ "moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\""
+ )
+ else
+ myconf_gn+=( "use_qt6=false" )
+ fi
+ fi
+
+ # Explicitly disable ICU data file support for system-icu/headless builds.
+ if use system-icu || use headless; then
+ myconf_gn+=( "icu_use_data_file=false" )
+ fi
+
+ if use official; then
+ # Allow building against system libraries in official builds
+ sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
+ tools/generate_shim_headers/generate_shim_headers.py || die
+ # Don't add symbols to build
+ myconf_gn+=( "symbol_level=0" )
+ fi
+
+ if use pgo; then
+ myconf_gn+=(
+ "chrome_pgo_phase=2"
+ "v8_enable_builtins_optimization=true"
+ )
+ else
+ myconf_gn+=( "chrome_pgo_phase=0" )
+ fi
+
+ # Odds and ends
+
+ # skipping typecheck is only supported on amd64, bug #876157
+ if ! use amd64; then
+ myconf_gn+=( "devtools_skip_typecheck=false" )
+ fi
+
+ # Disable external code space for V8 for ppc64. It is disabled for ppc64
+ # by default, but cross-compiling on amd64 enables it again.
+ if tc-is-cross-compiler && use ppc64; then
+ myconf_gn+=( "v8_enable_external_code_space=false" )
+ fi
+
+ # This determines whether or not GN uses the bundled libcxx
+ if use libcxx; then
+ myconf_gn+=( "use_custom_libcxx=true" )
+ else
+ myconf_gn+=(
+ "use_custom_libcxx=false"
+ "use_llvm_libatomic=false"
+ )
+ append-cppflags -U_GLIBCXX_ASSERTIONS #See #318
+ fi
+
+ myconf_gn+=( "use_bluez=$(usex bluetooth true false)" )
+
+ myconf_gn+=( "is_cfi=$(usex cfi true false)" )
+
+ if use cfi; then
+ myconf_gn+=(
+ "use_cfi_icall=true"
+ "use_cfi_cast=true"
+ )
+ fi
+
+ myconf_gn+=(
+ "optimize_webui=$(usex optimize-webui true false)"
+ "use_system_freetype=$(usex system-harfbuzz true false)"
+ "use_system_libopenjpeg2=$(usex system-openjpeg true false)"
+ "enable_pdf=true"
+ "use_system_lcms2=true"
+ "enable_print_preview=true"
+ "use_thin_lto=$(usex thinlto true false)"
+ "thin_lto_enable_optimizations=$(usex optimize-thinlto true false)"
+
+ # Ungoogled flags
+ "enable_mdns=false"
+ "enable_mse_mpeg2ts_stream_parser=$(usex proprietary-codecs true false)"
+ "enable_remoting=false"
+ "enable_reporting=false"
+ "enable_service_discovery=false"
+ "exclude_unwind_tables=true"
+ "google_api_key=\"\""
+ "google_default_client_id=\"\""
+ "google_default_client_secret=\"\""
+ "safe_browsing_mode=0"
+ "use_official_google_api_keys=false"
+ "use_unofficial_version_number=false"
+
+ # "enable_swiftshader=false"
+
+ # Additional flags
+ # "perfetto_use_system_zlib=true"
+ # "use_system_zlib=true"
+ # "use_system_libjpeg=true"
+ # "rtc_build_examples=false"
+ # "enable_chromium_prelude=false"
+ # "enable_updater=false"
+ # "enable_update_notifications=false"
+ # "enable_constraints=false"
+ # "rtc_rusty_base64=false"
+ # "v8_enable_temporal_support=false"
+ # "media_use_symphonia=false"
+ # "pdf_enable_rust_png=false"
+ # "skia_use_libpng_encode=true"
+ # "skia_use_libpng_decode=true"
+ # "skia_use_rust_png_decode=false"
+ # "skia_use_rust_png_encode=false"
+ # "enable_jxl_decoder=false"
+ )
+
+ if use amd64 || use arm64; then
+ myconf_gn+=(
+ "v8_drumbrake_bounds_checks=true"
+ # "v8_enable_drumbrake=true"
+ )
+ fi
+
+ if use thinlto; then
+ # We need to change the default value of import-instr-limit in
+ # LLVM to limit the text size increase. The default value is
+ # 100, and we change it to 30 to reduce the text size increase
+ # from 25% to 10%. The performance number of page_cycler is the
+ # same on two of the thinLTO configurations, we got 1% slowdown
+ # on speedometer when changing import-instr-limit from 100 to 30.
+ # append-ldflags "-Wl,-plugin-opt,-import-instr-limit=30"
+ sed -i '/import_instr_limit = 5/{s++import_instr_limit = 30+;h};${x;/./{x;q0};x;q1}' \
+ build/config/compiler/BUILD.gn || die
+
+ append-ldflags "-Wl,--thinlto-jobs=$(makeopts_jobs)"
+ fi
+
+ # Facilitate deterministic builds (taken from build/config/compiler/BUILD.gn)
+ append-cflags -Wno-builtin-macro-redefined
+ append-cxxflags -Wno-builtin-macro-redefined
+ append-cppflags "-D__DATE__= -D__TIME__= -D__TIMESTAMP__="
+
+ local flags
+ einfo "Building with the following compiler settings:"
+ for flags in C{C,XX} AR NM RANLIB {C,CXX,CPP,LD}FLAGS \
+ EXTRA_GN UGC_{SKIP_{PATCHES,SUBSTITUTION},KEEP_BINARIES} ; do
+ einfo " ${flags} = \"${!flags}\""
+ done
+
+ # Since we build from tarballs, we need to set the channel here so that it can be used in the build.
+ export CHROME_VERSION_EXTRA="${SLOT}"
+
+ einfo "Configuring Chromium ..."
+ # add a `-v` here if gn `hangs` to see which file it's getting stuck on.
+ set -- gn gen --args="${myconf_gn[*]}${EXTRA_GN:+ ${EXTRA_GN}}" out/Release
+ echo "$@"
+ "$@" || die "Failed to configure Chromium"
+
+ # The "if" below should not be executed unless testing
+ if [ ! -z "${NODIE}" ]; then
+ # List all args
+ # gn args --list out/Release
+
+ # Quick compiler check
+ eninja -C out/Release protoc torque
+ fi
+}
+
+src_compile() {
+ # Final link uses lots of file descriptors.
+ ulimit -n 2048
+
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ # I hate doing this but upstream Rust have yet to come up with a better solution for
+ # us poor packagers. Required for Split LTO units, which are required for CFI.
+ export RUSTC_BOOTSTRAP=1
+
+ # Don't inherit PYTHONPATH from environment, bug #789021, #812689
+ local -x PYTHONPATH=
+
+ # Build mksnapshot and pax-mark it.
+ if use pax-kernel; then
+ local x
+ for x in mksnapshot v8_context_snapshot_generator code_cache_generator; do
+ if tc-is-cross-compiler; then
+ eninja -C out/Release "host/${x}"
+ pax-mark m "out/Release/host/${x}"
+ else
+ eninja -C out/Release "${x}"
+ pax-mark m "out/Release/${x}"
+ fi
+ done
+ fi
+
+ # Even though ninja autodetects number of CPUs, we respect
+ # user's options, for debugging with -j 1 or any other reason.
+ eninja -C out/Release chrome chrome_sandbox $(use test && echo "base_unittests")
+
+ pax-mark m out/Release/chrome
+
+ # This codepath does minimal patching, so we're at the mercy of upstream
+ # CFLAGS. This is fine - we're not intending to force this on users
+ # and we do a lot of flag 'management' anyway.
+ if use bundled-toolchain; then
+ QA_FLAGS_IGNORED="
+ usr/lib64/chromium-browser/chrome
+ usr/lib64/chromium-browser/chrome-sandbox
+ usr/lib64/chromium-browser/chromedriver
+ usr/lib64/chromium-browser/chrome_crashpad_handler
+ usr/lib64/chromium-browser/libEGL.so
+ usr/lib64/chromium-browser/libGLESv2.so
+ usr/lib64/chromium-browser/libVkICD_mock_icd.so
+ usr/lib64/chromium-browser/libVkLayer_khronos_validation.so
+ usr/lib64/chromium-browser/libqt6_shim.so
+ usr/lib64/chromium-browser/libvk_swiftshader.so
+ usr/lib64/chromium-browser/libvulkan.so.1
+ "
+ fi
+
+ use convert-dict && eninja -C out/Release convert_dict
+
+ use enable-driver && eninja -C out/Release chromedriver
+ #use suid && eninja -C out/Release chrome_sandbox
+
+ # use enable-driver && mv out/Release/chromedriver{.unstripped,}
+
+ rm -f out/Release/locales/*.pak.info || die
+
+ # Generate support files (desktop file, manpage, etc.) See: #684550 #706786 #968958
+ ${EPYTHON} "${FILESDIR}/generate-support-files.py" \
+ --installdir "/usr/$(get_libdir)/ungoogled-chromium-browser" \
+ --channel "${SLOT}" ||
+ die "Failed to generate support files"
+}
+
+src_test() {
+ # Tests may be flaky with usersandbox, and the test runner executes significantly faster without.
+ # If you seem to be excluding too many tests for a particular milestone: comment them out, reboot, and
+ # run the tests again. If that doesn't help, try FEATURES="-usersandbox" and send it because obviously the
+ # chromium gods are not smiling upon you today. Do some runtime testing, obvs.
+ local skip_tests=(
+ # Wildcard exclusions (if all tests in a test suite are broken)
+ 'AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/*'
+ 'AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/*'
+ 'AlternateTestParams/PartitionAllocTest.*' # 200+ tests, >= 1 crashes entire test runner with usersandbox.
+ 'CheckExitCodeAfterSignalHandlerDeathTest.*'
+ 'CriticalProcessAndThreadSpotChecks/HangWatcherAnyCriticalThreadTests.*'
+ 'LazyThreadPoolTaskRunnerEnvironmentTest.*' # M142
+ 'ToolsSanityTest.BadVirtualCall*'
+ # Since 151.0.7922.137
+ 'CheckDeathTest.*'
+ 'EnumSetDeathTest.*'
+ 'OptionalRefDeathTest.*'
+ 'RawRefDeathTest.*'
+ 'AlternateTestParams/PartitionAllocDeathTest.CheckTriggered*'
+ 'CallbackHelpersTest.*'
+ 'SafeRefTest.*'
+ 'SpanTest.*'
+ 'WeakValueTableTest.*'
+ 'PlatformSharedMemoryRegionTest.*'
+ 'RefCountedOverflowTest.*'
+ 'SingleThreadTaskRunnerCurrentDefaultHandleTest.*'
+ 'TestFutureDeathTest.*'
+ 'WeakPtrDeathTest.*'
+ 'SafeRefDeathTest.*'
+ 'LinkedListDeathTest.*'
+ 'BindDeathTest.*'
+ 'ReallocProtectedIteratorDeathTest.*'
+ 'PASpanTest.*'
+ 'BackupRefPtrTest.*'
+ 'All/Base64Test.Overflow*'
+ 'ValuesTest.*'
+ 'TaskEnvironmentTest.*'
+ 'CheckedObserverListTest.*'
+ 'MemoryConsumerRegistryTest.*'
+ ProtectedMemoryDeathTest.FailsIfDefinedOutsideOfProtectMemoryRegion
+ StructuredSharedMemoryDeathTest.DuplicateRegion
+ CheckedContiguousIteratorDeathTest.OutOfBounds
+ HeapArrayDeathTest.TakeFirstWithOverSize
+ CallbackDeathTest.RunNullCallbackChecks
+ ObserverListThreadSafeDeathTest.CrossThreadRemovalRestricted
+ SequencedTaskRunnerCurrentDefaultHandleDeathTest.OverrideWithNull
+ TestFutureWithoutTaskEnvironmentDeathTest.WaitShouldDcheckWithoutTaskEnvironment
+ ScopedThreadPriorityDeathTest.NoRealTime
+ ReallocProtectedIteratorDeathTest.StringReallocCrashes
+ BarrierCallbackTest.ErrorToCallCallbackWithZeroCallbacks
+ BarrierClosureTest.ChecksIfCalledForZeroClosures
+ SupportsUserDataTest.ReentrantSetUserDataDuringRemoval
+ TimeBase.AddSubInfinities
+ LibcppHardeningTest.Assertions
+ IDMapTest.RemovedValueHandling
+ MultiMemoryConsumerTest.DuplicateInterventionsCheck
+ PersistentMemoryAllocatorTest.DelayedAllocationTest
+ SequenceCheckerTest.MoveOffSequenceBanned
+ ThreadCheckerTest.MoveOffThreadBanned
+ TokenType.TokenFromNullUnguessableToken
+ ZipTest.CheckForIterationPastTheEnd
+ MemoryConsumerTraitsTest.ActiveConsumerWithPassiveTraitsFails
+ SingleThreadTaskRunnerMainThreadDefaultHandleTest.Basic
+
+ # requires en-us locale
+ SysStrings.SysNativeMBAndWide
+ SysStrings.SysNativeMBToWide
+ SysStrings.SysWideToNativeMB
+ # Specific test cases
+ CancelableEventTest.BothCancelFailureAndSucceedOccurUnderContention
+ FilePathTest.FromUTF8Unsafe_And_AsUTF8Unsafe
+ HistogramTesterTest.PumaTestUniqueSample
+ ImmediateCrashTest.ExpectedOpcodeSequence # M150
+ PathServiceTest.CheckedGetFailure
+ PlatformThreadTest.CanChangeThreadType
+ RawPtrTest.SetLookupUsesGetForComparison # M146 ; also broken for alpine in M144.
+ RustLogIntegrationTest.CheckAllSeverity
+ StackCanary.ChangingStackCanaryCrashesOnReturn
+ StackTraceDeathTest.StackDumpSignalHandlerIsMallocFree
+ TestLauncherTools.TruncateSnippetFocusedMatchesFatalMessagesTest
+ ThreadPoolEnvironmentConfig.CanUseBackgroundPriorityForWorker
+ DriveInfoTest.GetFileDriveInfo
+
+ )
+ local test_filter="-$(IFS=:; printf '%s' "${skip_tests[*]}")"
+ # test-launcher-bot-mode enables parallelism and plain output
+ # Check individual tests with --gtest_filter=<test you want> --single-process-tests
+ ./out/Release/base_unittests --test-launcher-bot-mode \
+ --test-launcher-jobs="$(get_makeopts_jobs)" \
+ --gtest_filter="${test_filter}" || die "Tests failed!"
+}
+
+src_install() {
+ local browser_suffix
+ if [[ "${SLOT}" != "stable" ]]; then
+ browser_suffix="-${SLOT}"
+ else
+ browser_suffix=""
+ fi
+ local CHROMIUM_HOME="/usr/$(get_libdir)/ungoogled-chromium-browser${browser_suffix}"
+ exeinto "${CHROMIUM_HOME}"
+ doexe out/Release/chrome
+
+ #newexe out/Release/chrome_sandbox chrome-sandbox
+ #fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
+
+ use enable-driver && doexe out/Release/chromedriver
+
+ #* https://github.com/ungoogled-software/ungoogled-chromium/pull/3563
+ doexe out/Release/chrome_crashpad_handler
+
+ if use convert-dict; then
+ newexe "${FILESDIR}/update-dicts.sh" update-dicts.sh
+ doexe out/Release/convert_dict
+ fi
+
+ ozone_auto_session () {
+ use X && use wayland && ! use headless && echo true || echo false
+ }
+
+ cat <<- EOF > "${D}${CHROMIUM_HOME}/chromium-launcher.sh" || die
+ #!/bin/bash
+ # Wrapper to launch slotted Chromium via the chromium-common launcher script.
+ export CHROME_DESKTOP="ungoogled-chromium-browser${browser_suffix}.desktop"
+ export CHROME_EXEC_NAME="ungoogled-chromium-browser${browser_suffix}"
+ export CHROME_VERSION_EXTRA="${SLOT}"
+ export CHROME_WRAPPER="\$(readlink -f "\$0")"
+ export OZONE_AUTO_SESSION=$(ozone_auto_session)
+
+ exec /usr/libexec/chromium/chromium-launcher.sh "\$@"
+ EOF
+
+ chmod 755 "${D}${CHROMIUM_HOME}/chromium-launcher.sh" || die
+
+ # It is important that we name the target "chromium-browser",
+ # xdg-utils expect it; bug #355517.
+ dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/ungoogled-chromium-browser${browser_suffix}
+ # keep the old symlink around for consistency
+ dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/ungoogled-chromium${browser_suffix}
+
+ use enable-driver && dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/ungoogled-chromedriver${browser_suffix}
+
+ pushd out/Release/locales > /dev/null || die
+ chromium_remove_language_paks
+ popd > /dev/null || die
+
+ insinto "${CHROMIUM_HOME}"
+ doins out/Release/*.bin
+ doins out/Release/*.pak
+ doins -r out/Release/hyphen-data
+
+ if use bindist; then
+ # We built libffmpeg as a component library, but we can't distribute it
+ # with proprietary codec support. Remove it and make a symlink to the requested
+ # system library.
+ rm -f out/Release/libffmpeg.so \
+ || die "Failed to remove bundled libffmpeg.so (with proprietary codecs)"
+ # symlink the libffmpeg.so from either ffmpeg-chromium or ffmpeg[chromium].
+ einfo "Creating symlink to libffmpeg.so from $(usex ffmpeg-chromium ffmpeg-chromium ffmpeg[chromium])..."
+ dosym ../chromium/libffmpeg.so$(usex ffmpeg-chromium .${PV%%\.*} "") \
+ /usr/$(get_libdir)/ungoogled-chromium-browser/libffmpeg.so
+ fi
+
+ (
+ shopt -s nullglob
+ local files=(out/Release/*.so out/Release/*.so.[0-9])
+ [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}"
+ )
+
+ if ! use system-icu && ! use headless; then
+ doins out/Release/icudtl.dat
+ fi
+
+ doins -r out/Release/locales
+ #doins -r out/Release/MEIPreload
+
+ # Install vk_swiftshader_icd.json; bug #827861
+ doins out/Release/vk_swiftshader_icd.json
+
+ if [[ -d out/Release/swiftshader ]]; then
+ insinto "${CHROMIUM_HOME}/swiftshader"
+ doins out/Release/swiftshader/*.so
+ fi
+
+ use widevine && dosym WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so "${CHROMIUM_HOME}/libwidevinecdm.so"
+
+ # Install icons
+ local branding size
+ for size in 16 24 32 48 64 128 256 ; do
+ case ${size} in
+ 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
+ *) branding="chrome/app/theme/chromium" ;;
+ esac
+ newicon -s ${size} "${branding}/product_logo_${size}.png" \
+ ungoogled-chromium-browser${browser_suffix}.png
+ done
+
+ # Install desktop entry
+ domenu out/Release/ungoogled-chromium-browser${browser_suffix}.desktop
+
+ # Install GNOME default application entry (bug #303100).
+ insinto /usr/share/gnome-control-center/default-apps
+ doins out/Release/ungoogled-chromium-browser${browser_suffix}.xml
+
+ # Install AppStream metadata
+ insinto /usr/share/appdata
+ doins out/Release/ungoogled-chromium-browser${browser_suffix}.appdata.xml
+
+ # Install manpage; bug #684550
+ doman out/Release/ungoogled-chromium-browser${browser_suffix}.1
+ dosym ungoogled-chromium-browser${browser_suffix}.1 /usr/share/man/man1/ungoogled-chromium${browser_suffix}.1
+
+ readme.gentoo_create_doc
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+ readme.gentoo_print_elog
+
+ if use !headless && [[ -z "${REPLACING_VERSIONS}" ]]; then
+ if use vaapi; then
+ elog "Hardware-accelerated video decoding configuration:"
+ elog
+ elog "Chromium supports multiple backends for hardware acceleration. To enable one,"
+ elog " Add to CHROMIUM_FLAGS in /etc/chromium/default:"
+ elog
+ elog "1. VA-API with OpenGL (recommended for most users):"
+ elog " --enable-features=AcceleratedVideoDecodeLinuxGL"
+ elog " VaapiVideoDecoder may need to be added as well, but try without first."
+ elog
+ if use wayland; then
+ elog "2. Enhanced Wayland/EGL performance:"
+ elog " --enable-features=AcceleratedVideoDecodeLinuxGL,AcceleratedVideoDecodeLinuxZeroCopyGL"
+ elog
+ fi
+ if use X; then
+ elog "$(usex wayland "3" "2"). VA-API with Vulkan:"
+ elog " --enable-features=VaapiVideoDecoder,VaapiIgnoreDriverChecks,Vulkan,DefaultANGLEVulkan,VulkanFromANGLE"
+ elog
+ if use wayland; then
+ elog " NOTE: Vulkan acceleration requires X11 and will not work under Wayland sessions."
+ elog " Use OpenGL-based acceleration instead when running under Wayland."
+ elog
+ fi
+ fi
+ elog "Additional options:"
+ elog " To enable hardware-accelerated encoding (if supported)"
+ elog " add 'AcceleratedVideoEncoder' to your feature list"
+ elog " VaapiIgnoreDriverChecks bypasses driver compatibility checks"
+ elog " (may be needed for newer/unsupported hardware)"
+ elog
+ else
+ elog "This Chromium build was compiled without VA-API support, which provides"
+ elog "hardware-accelerated video decoding."
+ fi
+ if use screencast; then
+ elog "Screencast is disabled by default at runtime. Either enable it"
+ elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer"
+ elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer"
+ elog "to CHROMIUM_FLAGS in /etc/chromium/default."
+ elog
+ elog "Additional setup may be required for screencasting to work."
+ elog "See issue: https://github.com/PF4Public/gentoo-overlay/issues/314"
+ fi
+ if use gtk4; then
+ elog "Chromium prefers GTK3 over GTK4 at runtime. To override this"
+ elog "behaviour you need to pass --gtk-version=4, e.g. by adding it"
+ elog "to CHROMIUM_FLAGS in /etc/chromium/default."
+ fi
+ if use widevine; then
+ elog "widevine requires binary plugins, which are distributed separately"
+ elog "Make sure you have www-plugins/chrome-binary-plugins installed"
+ fi
+ fi
+
+ if systemd_is_booted && ! [[ -f "/etc/machine-id" ]]; then
+ ewarn "The lack of an '/etc/machine-id' file on this system booted with systemd"
+ ewarn "indicates that the Gentoo handbook was not followed to completion."
+ ewarn ""
+ ewarn "Chromium is known to behave unpredictably with this system configuration;"
+ ewarn "please complete the configuration of this system before logging any bugs."
+ fi
+
+ # Stable slot doesn't change profile directory, and it's vanishingly unlikely that users will downgrade from dev.
+ if [[ -n "${REPLACING_VERSIONS}" ]]; then
+ local replacing_non_slotted=false
+ # there could be more than one PVR
+ for version in ${REPLACING_VERSIONS}; do
+ if ver_test "${version}" -le "145.0.7632.116"; then
+ replacing_non_slotted=true
+ break
+ fi
+ done
+ if ${replacing_non_slotted}; then
+ ewarn "This version of Chromium has replaced a non-slotted ebuild."
+ if [[ ${SLOT} != "stable" ]]; then
+ ewarn "This channel has its own profile directory, so your existing profile will not be used."
+ ewarn "To use your existing profile, either copy or move it to the new location."
+ ewarn "See https://wiki.gentoo.org/wiki/Chromium#Profile_Directories for more information."
+ ewarn ""
+ fi
+ ewarn "Any existing Progressive Web Apps (PWAs) will need to be reinstalled,"
+ ewarn "or have the path in the desktop files updated to point to the new wrapper script."
+ fi
+ fi
+}
+
+eapply_wrapper () {
+ if [ ! -z "${NODIE}" ]; then
+ nonfatal eapply "$@"
+ else
+ eapply "$@"
+ fi
+}
+
+git_wrapper () {
+ if [ ! -z "${NODIE}" ]; then
+ git "$@"
+ else
+ git "$@" || die
+ fi
+}
+
+filter_wrapper () {
+ einfo "Applying ${i##*/}"
+ #? fuzz factor of 3 is OK?
+ if [ ! -z "${NODIE}" ]; then
+ filterdiff -p1 "${@:2}" < "$1" | patch -F 3 -p1
+ else
+ filterdiff -p1 "${@:2}" < "$1" | patch -F 3 -p1 || die
+ fi
+}