From 57edf39367851c83fde6be9c4c3995e92982ff2a Mon Sep 17 00:00:00 2001 From: Sam James Date: Sun, 5 Apr 2026 20:52:54 +0100 Subject: [PATCH 01/26] sys-apps/portage: backport 2 fixes Not making a Portage release yet as need a news item for default binpkg verification changes, plus some blockers to check. Backport two safe fixes (straight-to-stable too) to avoid user pain. Bug: https://bugs.gentoo.org/969654 Bug: https://bugs.gentoo.org/971641 Signed-off-by: Sam James --- ...h-earlier-slot-operator-backtracking.patch | 259 ++++++++++++++++++ ...ak-the-debuglink-CRC-with-the-salted.patch | 58 ++++ sys-apps/portage/portage-3.0.77-r4.ebuild | 240 ++++++++++++++++ 3 files changed, 557 insertions(+) create mode 100644 sys-apps/portage/files/0002-Revert-depgraph-earlier-slot-operator-backtracking.patch create mode 100644 sys-apps/portage/files/0003-estrip-Don-t-break-the-debuglink-CRC-with-the-salted.patch create mode 100644 sys-apps/portage/portage-3.0.77-r4.ebuild diff --git a/sys-apps/portage/files/0002-Revert-depgraph-earlier-slot-operator-backtracking.patch b/sys-apps/portage/files/0002-Revert-depgraph-earlier-slot-operator-backtracking.patch new file mode 100644 index 0000000000000..9e6a9fcfcfce0 --- /dev/null +++ b/sys-apps/portage/files/0002-Revert-depgraph-earlier-slot-operator-backtracking.patch @@ -0,0 +1,259 @@ +From e1322d74de41e989f709e0129ac41e5469b9cc4c Mon Sep 17 00:00:00 2001 +Message-ID: +From: Zac Medico +Date: Fri, 20 Feb 2026 19:05:12 -0800 +Subject: [PATCH] Revert "depgraph: earlier slot operator backtracking" + +This reverts commit 8ddd35e04bb4c50a85d7cc61edb85d91dd10ce4b. + +Bug: https://bugs.gentoo.org/969654 +Bug: https://bugs.gentoo.org/964705 +Bug: https://bugs.gentoo.org/968228 +Signed-off-by: Zac Medico +--- + lib/_emerge/depgraph.py | 152 +++++++++--------- + .../test_binpackage_downgrades_slot_dep.py | 3 + + .../tests/resolver/test_missed_update.py | 3 + + 3 files changed, 86 insertions(+), 72 deletions(-) + +diff --git a/lib/_emerge/depgraph.py b/lib/_emerge/depgraph.py +index 7ac07ad5e..5d9888229 100644 +--- a/lib/_emerge/depgraph.py ++++ b/lib/_emerge/depgraph.py +@@ -1937,9 +1937,16 @@ class depgraph: + # conflicts (or by blind luck). + raise self._unknown_internal_error() + ++ # Both _process_slot_conflict and _slot_operator_trigger_reinstalls ++ # can call _slot_operator_update_probe, which requires that ++ # self._dynamic_config._blocked_pkgs has been initialized by a ++ # call to the _validate_blockers method. + for conflict in self._dynamic_config._package_tracker.slot_conflicts(): + self._process_slot_conflict(conflict) + ++ if self._dynamic_config._allow_backtracking: ++ self._slot_operator_trigger_reinstalls() ++ + def _process_slot_conflict(self, conflict): + """ + Process slot conflict data to identify specific atoms which +@@ -2895,50 +2902,50 @@ class depgraph: + + return None + +- def _slot_operator_trigger_backtracking(self, dep: Dependency) -> bool: ++ def _slot_operator_trigger_reinstalls(self): + """ +- Trigger backtracking for slot operator issues if needed. +- Return True if this triggers backtracking, and False otherwise. ++ Search for packages with slot-operator deps on older slots, and schedule ++ rebuilds if they can link to a newer slot that's in the graph. + """ +- if not self._dynamic_config._allow_backtracking: +- return False +- +- atom = dep.atom +- +- if not (atom.soname or atom.slot_operator_built): +- new_child_slot = self._slot_change_probe(dep) +- if new_child_slot is not None: +- self._slot_change_backtrack(dep, new_child_slot) +- return True +- +- if not (dep.parent and isinstance(dep.parent, Package) and dep.parent.built): +- return False + + rebuild_if_new_slot = ( + self._dynamic_config.myparams.get("rebuild_if_new_slot", "y") == "y" + ) + +- # If the parent is not installed, check if it needs to be +- # rebuilt against an installed instance, since otherwise +- # it could trigger downgrade of an installed instance as +- # in bug #652938. +- want_update_probe = dep.want_update or not dep.parent.installed +- +- # Check for slot update first, since we don't want to +- # trigger reinstall of the child package when a newer +- # slot will be used instead. +- if rebuild_if_new_slot and want_update_probe: +- new_dep = self._slot_operator_update_probe(dep, new_child_slot=True) +- if new_dep is not None: +- self._slot_operator_update_backtrack(dep, new_child_slot=new_dep.child) +- return True ++ for slot_key, slot_info in self._dynamic_config._slot_operator_deps.items(): ++ for dep in slot_info: ++ atom = dep.atom + +- if want_update_probe: +- if self._slot_operator_update_probe(dep): +- self._slot_operator_update_backtrack(dep) +- return True ++ if not (atom.soname or atom.slot_operator_built): ++ new_child_slot = self._slot_change_probe(dep) ++ if new_child_slot is not None: ++ self._slot_change_backtrack(dep, new_child_slot) ++ continue + +- return False ++ if not ( ++ dep.parent and isinstance(dep.parent, Package) and dep.parent.built ++ ): ++ continue ++ ++ # If the parent is not installed, check if it needs to be ++ # rebuilt against an installed instance, since otherwise ++ # it could trigger downgrade of an installed instance as ++ # in bug #652938. ++ want_update_probe = dep.want_update or not dep.parent.installed ++ ++ # Check for slot update first, since we don't want to ++ # trigger reinstall of the child package when a newer ++ # slot will be used instead. ++ if rebuild_if_new_slot and want_update_probe: ++ new_dep = self._slot_operator_update_probe(dep, new_child_slot=True) ++ if new_dep is not None: ++ self._slot_operator_update_backtrack( ++ dep, new_child_slot=new_dep.child ++ ) ++ ++ if want_update_probe: ++ if self._slot_operator_update_probe(dep): ++ self._slot_operator_update_backtrack(dep) + + def _reinstall_for_flags( + self, pkg, forced_flags, orig_use, orig_iuse, cur_use, cur_iuse +@@ -3429,6 +3436,44 @@ class depgraph: + raise + del e + ++ # NOTE: REQUIRED_USE checks are delayed until after ++ # package selection, since we want to prompt the user ++ # for USE adjustment rather than have REQUIRED_USE ++ # affect package selection and || dep choices. ++ if ( ++ not pkg.built ++ and pkg._metadata.get("REQUIRED_USE") ++ and eapi_has_required_use(pkg.eapi) ++ ): ++ required_use_is_sat = check_required_use( ++ pkg._metadata["REQUIRED_USE"], ++ self._pkg_use_enabled(pkg), ++ pkg.iuse.is_valid_flag, ++ eapi=pkg.eapi, ++ ) ++ if not required_use_is_sat: ++ if dep.atom is not None and dep.parent is not None: ++ self._add_parent_atom(pkg, (dep.parent, dep.atom)) ++ ++ if arg_atoms: ++ for parent_atom in arg_atoms: ++ parent, atom = parent_atom ++ self._add_parent_atom(pkg, parent_atom) ++ ++ atom = dep.atom ++ if atom is None: ++ atom = Atom("=" + pkg.cpv) ++ self._dynamic_config._unsatisfied_deps_for_display.append( ++ ((pkg.root, atom), {"myparent": dep.parent, "show_req_use": pkg}) ++ ) ++ self._dynamic_config._required_use_unsatisfied = True ++ self._dynamic_config._skip_restart = True ++ # Add pkg to digraph in order to enable autounmask messages ++ # for this package, which is useful when autounmask USE ++ # changes have violated REQUIRED_USE. ++ self._dynamic_config.digraph.add(pkg, dep.parent, priority=priority) ++ return 0 ++ + if not pkg.onlydeps: + existing_node, existing_node_matches = self._check_slot_conflict( + pkg, dep.atom +@@ -3587,43 +3632,6 @@ class depgraph: + and (dep.atom.soname or dep.atom.slot_operator == "=") + ): + self._add_slot_operator_dep(dep) +- if self._slot_operator_trigger_backtracking(dep): +- # Drop slot operator deps that trigger backtracking, since +- # they may be irrelevant and therefore we don't want to +- # enforce the REQUIRED_USE check that comes below (bug 964705). +- # Since backtracking has been triggered, the _need_restart flag +- # is set and this depgraph is only useful for collecting +- # backtracking parameters at this point, so it is acceptable to +- # drop dependencies as needed. It would not be acceptable to +- # abort depgraph creation here, since that would not scale well +- # for large numbers of slot operator rebuilds. +- return 1 +- +- # NOTE: REQUIRED_USE checks are delayed until after +- # package selection, since we want to prompt the user +- # for USE adjustment rather than have REQUIRED_USE +- # affect package selection and || dep choices. +- if ( +- not pkg.built +- and pkg._metadata.get("REQUIRED_USE") +- and eapi_has_required_use(pkg.eapi) +- ): +- required_use_is_sat = check_required_use( +- pkg._metadata["REQUIRED_USE"], +- self._pkg_use_enabled(pkg), +- pkg.iuse.is_valid_flag, +- eapi=pkg.eapi, +- ) +- if not required_use_is_sat: +- atom = dep.atom +- if atom is None: +- atom = Atom("=" + pkg.cpv) +- self._dynamic_config._unsatisfied_deps_for_display.append( +- ((pkg.root, atom), {"myparent": dep.parent, "show_req_use": pkg}) +- ) +- self._dynamic_config._required_use_unsatisfied = True +- self._dynamic_config._skip_restart = True +- return 0 + + recurse = deep is True or not self._too_deep(self._depth_increment(depth, n=1)) + dep_stack = self._dynamic_config._dep_stack +diff --git a/lib/portage/tests/resolver/test_binpackage_downgrades_slot_dep.py b/lib/portage/tests/resolver/test_binpackage_downgrades_slot_dep.py +index b47f73dcb..699cd1c46 100644 +--- a/lib/portage/tests/resolver/test_binpackage_downgrades_slot_dep.py ++++ b/lib/portage/tests/resolver/test_binpackage_downgrades_slot_dep.py +@@ -1,6 +1,8 @@ + # Copyright 2025 Gentoo Authors + # Distributed under the terms of the GNU General Public License v2 + ++import pytest ++ + from portage.tests import TestCase + from portage.tests.resolver.ResolverPlayground import ( + ResolverPlayground, +@@ -9,6 +11,7 @@ from portage.tests.resolver.ResolverPlayground import ( + + + class BinpackageDowngradesSlotDepTestCase(TestCase): ++ @pytest.mark.xfail() + def testBinpackageDowngradesSlotDep(self): + python_use = "python_targets_python3_12 +python_targets_python3_13" + python_usedep = "python_targets_python3_12(-)?,python_targets_python3_13(-)?" +diff --git a/lib/portage/tests/resolver/test_missed_update.py b/lib/portage/tests/resolver/test_missed_update.py +index 6813a9172..2c15a16c8 100644 +--- a/lib/portage/tests/resolver/test_missed_update.py ++++ b/lib/portage/tests/resolver/test_missed_update.py +@@ -1,6 +1,8 @@ + # Copyright 2026 Gentoo Authors + # Distributed under the terms of the GNU General Public License v2 + ++import pytest ++ + from portage.tests import TestCase + from portage.tests.resolver.ResolverPlayground import ( + ResolverPlayground, +@@ -9,6 +11,7 @@ from portage.tests.resolver.ResolverPlayground import ( + + + class MissedQtUpdateTestCase(TestCase): ++ @pytest.mark.xfail() + def testMissedQtUpdate(self): + """ + Testcase where Portage was unable to upgrade from +-- +2.53.0 + diff --git a/sys-apps/portage/files/0003-estrip-Don-t-break-the-debuglink-CRC-with-the-salted.patch b/sys-apps/portage/files/0003-estrip-Don-t-break-the-debuglink-CRC-with-the-salted.patch new file mode 100644 index 0000000000000..2ee28b9b49ed0 --- /dev/null +++ b/sys-apps/portage/files/0003-estrip-Don-t-break-the-debuglink-CRC-with-the-salted.patch @@ -0,0 +1,58 @@ +From c568ef909922c307dd99acfebc1214e6ea88e075 Mon Sep 17 00:00:00 2001 +Message-ID: +From: James Le Cuirot +Date: Fri, 27 Mar 2026 18:34:43 +0000 +Subject: [PATCH] estrip: Don't break the debuglink CRC with the salted build + ID + +Closes: https://bugs.gentoo.org/971641 +Signed-off-by: James Le Cuirot +Part-of: https://github.com/gentoo/portage/pull/1568 +Closes: https://github.com/gentoo/portage/pull/1568 +--- + NEWS | 2 ++ + bin/estrip | 8 ++++++-- + 2 files changed, 8 insertions(+), 2 deletions(-) + +diff --git a/NEWS b/NEWS +index 923c99a74..94b2f8b98 100644 +--- a/NEWS ++++ b/NEWS +@@ -70,6 +70,8 @@ Bug fixes: + + * estrip: Silence noise from objcopy when no build ID section exists (bug #968220). + ++* estrip: Don't break the debuglink CRC with the salted build ID (bug #971641). ++ + portage-3.0.77 (2026-01-23) + -------------- + +diff --git a/bin/estrip b/bin/estrip +index 526a1f203..166f68087 100755 +--- a/bin/estrip ++++ b/bin/estrip +@@ -143,8 +143,7 @@ save_elf_debug() { + if (( has_feature[compressdebug] )); then + objcopy_flags+=( --compress-debug-sections ) + fi +- "${name_of[objcopy]}" "${objcopy_flags[@]}" "${src}" "${dst}" \ +- && "${name_of[objcopy]}" --add-gnu-debuglink="${dst}" "${src}" ++ "${name_of[objcopy]}" "${objcopy_flags[@]}" "${src}" "${dst}" + fi + + # Only do the following if the debug file was +@@ -199,6 +198,11 @@ save_elf_debug() { + __try_symlink "${src_buildid_rel}" "${buildid_file}" + fi + fi ++ ++ if [[ -z ${splitdebug} ]] ; then ++ # Add debuglink last to avoid the salted build ID breaking the CRC. ++ "${name_of[objcopy]}" --add-gnu-debuglink="${dst}" "${src}" ++ fi + fi + } + +-- +2.53.0 + diff --git a/sys-apps/portage/portage-3.0.77-r4.ebuild b/sys-apps/portage/portage-3.0.77-r4.ebuild new file mode 100644 index 0000000000000..b2f04d71eb4d0 --- /dev/null +++ b/sys-apps/portage/portage-3.0.77-r4.ebuild @@ -0,0 +1,240 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{12..14} ) +PYTHON_REQ_USE='bzip2(+),threads(+)' +TMPFILES_OPTIONAL=1 + +inherit meson linux-info python-r1 tmpfiles + +DESCRIPTION="The package management and distribution system for Gentoo" +HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI=" + https://anongit.gentoo.org/git/proj/portage.git + https://github.com/gentoo/portage.git + " + inherit git-r3 +else + SRC_URI="https://gitweb.gentoo.org/proj/portage.git/snapshot/${P}.tar.bz2" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="apidoc build doc gentoo-dev +ipc +native-extensions +rsync-verify selinux test xattr" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +RESTRICT="!test? ( test )" + +BDEPEND=" + ${PYTHON_DEPS} + >=app-arch/tar-1.27 + >=dev-build/meson-1.3.0-r1 + >=sys-apps/sed-4.0.5 + sys-devel/patch + !build? ( $(python_gen_impl_dep 'ssl(+)') ) + apidoc? ( + dev-python/sphinx[${PYTHON_USEDEP}] + dev-python/sphinx-epytext[${PYTHON_USEDEP}] + ) + doc? ( + ~app-text/docbook-xml-dtd-4.4 + app-text/xmlto + ) + test? ( + dev-python/pytest-xdist[${PYTHON_USEDEP}] + dev-vcs/git + ) +" +# Require sandbox-2.2 for bug #288863. +# For whirlpool hash, require python[ssl] (bug #425046). +RDEPEND=" + ${PYTHON_DEPS} + >=acct-user/portage-0-r4 + >=app-arch/tar-1.27 + app-arch/zstd + >=app-misc/pax-utils-0.1.17 + dev-lang/python-exec:2 + >=sys-apps/baselayout-2.9 + >=sys-apps/findutils-4.9 + !build? ( + >=app-admin/eselect-1.2 + app-portage/getuto + >=app-shells/bash-5.3:0 + dev-util/debugedit + >=sec-keys/openpgp-keys-gentoo-release-20240703 + >=sys-apps/sed-4.0.5 + rsync-verify? ( + app-alternatives/gpg[ssl(-)] + >=app-portage/gemato-14.5[${PYTHON_USEDEP}] + ) + ) + kernel_linux? ( + sys-apps/util-linux + elibc_glibc? ( >=sys-apps/sandbox-2.2 ) + elibc_musl? ( >=sys-apps/sandbox-2.2 ) + ) + selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] ) + xattr? ( kernel_linux? ( + >=sys-apps/install-xattr-0.3 + ) ) +" +# coreutils-6.4 rdep is for date format in emerge-webrsync #164532 +# NOTE: FEATURES=installsources requires debugedit and rsync +PDEPEND=" + !build? ( + >=net-misc/rsync-2.6.4 + >=sys-apps/coreutils-6.4 + >=sys-apps/file-5.44-r3 + ) +" + +PATCHES=( + "${FILESDIR}"/0001-estrip-silence-noise-from-objcopy-if-build-ID-sectio.patch + "${FILESDIR}"/0002-Revert-depgraph-earlier-slot-operator-backtracking.patch + "${FILESDIR}"/0003-estrip-Don-t-break-the-debuglink-CRC-with-the-salted.patch +) + +pkg_pretend() { + local CONFIG_CHECK="~IPC_NS ~PID_NS ~NET_NS ~UTS_NS" + + check_extra_config +} + +src_prepare() { + default + + if use prefix-guest; then + sed -e "s|^\(main-repo = \).*|\\1gentoo_prefix|" \ + -e "s|^\\[gentoo\\]|[gentoo_prefix]|" \ + -e "s|^\(sync-uri = \).*|\\1rsync://rsync.prefix.bitzolder.nl/gentoo-portage-prefix|" \ + -i cnf/repos.conf || die "sed failed" + fi +} + +src_configure() { + local code_only=false + python_foreach_impl my_src_configure +} + +my_src_configure() { + local emesonargs=( + -Dcode-only=${code_only} + -Deprefix="${EPREFIX}" + -Dportage-bindir="${EPREFIX}/usr/lib/portage/${EPYTHON}" + -Ddocdir="${EPREFIX}/usr/share/doc/${PF}" + $(meson_use doc) + $(meson_use apidoc) + $(meson_use gentoo-dev) + $(meson_use ipc) + $(meson_use xattr) + ) + + if use native-extensions && [[ "${EPYTHON}" != pypy3* ]] ; then + emesonargs+=( -Dnative-extensions=true ) + else + emesonargs+=( -Dnative-extensions=false ) + fi + + if use build; then + emesonargs+=( -Drsync-verify=false ) + else + emesonargs+=( $(meson_use rsync-verify) ) + fi + + meson_src_configure + code_only=true +} + +src_compile() { + python_foreach_impl meson_src_compile +} + +src_test() { + local EPYTEST_XDIST=1 + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + python_foreach_impl epytest +} + +src_install() { + python_foreach_impl my_src_install + dotmpfiles "${FILESDIR}"/portage-{ccache,tmpdir}.conf + + local scripts + mapfile -t scripts < <(awk '/^#!.*python/ {print FILENAME} {nextfile}' "${ED}"/usr/{bin,sbin}/* || die) + python_replicate_script "${scripts[@]}" +} + +my_src_install() { + local pydirs=( + "${D}$(python_get_sitedir)" + "${ED}/usr/lib/portage/${EPYTHON}" + ) + + meson_src_install + python_fix_shebang "${pydirs[@]}" + python_optimize "${pydirs[@]}" +} + +pkg_preinst() { + if ! use build && [[ -z ${ROOT} ]]; then + python_setup + local sitedir=$(python_get_sitedir) + [[ -d ${D}${sitedir} ]] || die "${D}${sitedir}: No such directory" + env -u DISTDIR \ + -u PORTAGE_OVERRIDE_EPREFIX \ + -u PORTAGE_REPOSITORIES \ + -u PORTDIR \ + -u PORTDIR_OVERLAY \ + PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ + ED="${ED}" \ + "${PYTHON}" -m portage._compat_upgrade.default_locations || die + + env -u BINPKG_COMPRESS -u PORTAGE_REPOSITORIES \ + PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ + ED="${ED}" \ + "${PYTHON}" -m portage._compat_upgrade.binpkg_compression || die + + env -u FEATURES -u PORTAGE_REPOSITORIES \ + PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ + ED="${ED}" \ + "${PYTHON}" -m portage._compat_upgrade.binpkg_multi_instance || die + + env -u BINPKG_FORMAT \ + PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ + ED="${ED}" \ + "${PYTHON}" -m portage._compat_upgrade.binpkg_format || die + fi + + # elog dir must exist to avoid logrotate error for bug #415911. + # This code runs in preinst in order to bypass the mapping of + # portage:portage to root:root which happens after src_install. + keepdir /var/log/portage/elog + # This is allowed to fail if the user/group are invalid for prefix users. + if chown portage:portage "${ED}"/var/log/portage{,/elog} 2>/dev/null ; then + chmod g+s,ug+rwx "${ED}"/var/log/portage{,/elog} + fi + + if has_version "<${CATEGORY}/${PN}-2.3.77"; then + elog "The emerge --autounmask option is now disabled by default, except for" + elog "portions of behavior which are controlled by the --autounmask-use and" + elog "--autounmask-license options. For backward compatibility, previous" + elog "behavior of --autounmask=y and --autounmask=n is entirely preserved." + elog "Users can get the old behavior simply by adding --autounmask to the" + elog "make.conf EMERGE_DEFAULT_OPTS variable. For the rationale for this" + elog "change, see https://bugs.gentoo.org/658648." + fi +} + +pkg_postinst() { + # Warn about obsolete "enotice" script, bug #867010 + local bashrc=${EROOT}/etc/portage/profile/profile.bashrc + if [[ -e ${bashrc} ]] && grep -q enotice "${bashrc}"; then + eerror "Obsolete 'enotice' script detected!" + eerror "Please remove this from ${bashrc} to avoid problems." + eerror "See bug 867010 for more details." + fi +} From 681c63c200f8725192f8b98f0934b88032c3d1f8 Mon Sep 17 00:00:00 2001 From: Sam James Date: Sun, 5 Apr 2026 20:55:28 +0100 Subject: [PATCH 02/26] dev-util/ccache: Keyword 4.13.2 arm64, #970942 Signed-off-by: Sam James --- dev-util/ccache/ccache-4.13.2.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-util/ccache/ccache-4.13.2.ebuild b/dev-util/ccache/ccache-4.13.2.ebuild index 19568f1841506..0977c6790a7c9 100644 --- a/dev-util/ccache/ccache-4.13.2.ebuild +++ b/dev-util/ccache/ccache-4.13.2.ebuild @@ -35,7 +35,7 @@ fi LICENSE="GPL-3+ || ( CC0-1.0 Apache-2.0 )" LICENSE+=" elibc_mingw? ( LGPL-3 ISC PSF-2 )" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~s390 ~x86" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~s390 ~x86" # Enable 'static-c++' by default to make 'gcc' ebuild Just Work: bug #761220 IUSE="${MY_DOCS_USEFLAG} redis +static-c++ test" RESTRICT="!test? ( test )" From 9c88bb3cdb9b019c0d3c5b390df27d69529c5323 Mon Sep 17 00:00:00 2001 From: Sam James Date: Sun, 5 Apr 2026 20:55:29 +0100 Subject: [PATCH 03/26] dev-cpp/expected: Keyword 1.3.1 arm64, #970942 Signed-off-by: Sam James --- dev-cpp/expected/expected-1.3.1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-cpp/expected/expected-1.3.1.ebuild b/dev-cpp/expected/expected-1.3.1.ebuild index 2de224cc9029d..a04b009dff84d 100644 --- a/dev-cpp/expected/expected-1.3.1.ebuild +++ b/dev-cpp/expected/expected-1.3.1.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://github.com/TartanLlama/expected/archive/refs/tags/v${PV}.tar.gz LICENSE="CC0-1.0" SLOT="0" -KEYWORDS="~amd64 ~arm ~loong ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~x86" RESTRICT="test" src_configure() { From c28abd779b0eb4f11456dc7b35bfee4e54f4ebd6 Mon Sep 17 00:00:00 2001 From: Sam James Date: Sun, 5 Apr 2026 20:55:30 +0100 Subject: [PATCH 04/26] dev-java/jakartaee-migration: Keyword 1.0.10 arm64, #971121 Signed-off-by: Sam James --- dev-java/jakartaee-migration/jakartaee-migration-1.0.10.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-java/jakartaee-migration/jakartaee-migration-1.0.10.ebuild b/dev-java/jakartaee-migration/jakartaee-migration-1.0.10.ebuild index 99f83db566d3f..c469698fb8330 100644 --- a/dev-java/jakartaee-migration/jakartaee-migration-1.0.10.ebuild +++ b/dev-java/jakartaee-migration/jakartaee-migration-1.0.10.ebuild @@ -16,7 +16,7 @@ S="${WORKDIR}/${P}" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="amd64" +KEYWORDS="amd64 ~arm64" BDEPEND="verify-sig? ( ~sec-keys/openpgp-keys-apache-tomcat-11 )" CP_DEPEND=" From 232a3130ae28beeea00d9cbb8c176d5ced2324fb Mon Sep 17 00:00:00 2001 From: Sam James Date: Sun, 5 Apr 2026 20:55:31 +0100 Subject: [PATCH 05/26] dev-java/eclipse-osgi: Keyword 4.31 arm64, #971121 Signed-off-by: Sam James --- dev-java/eclipse-osgi/eclipse-osgi-4.31.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-java/eclipse-osgi/eclipse-osgi-4.31.ebuild b/dev-java/eclipse-osgi/eclipse-osgi-4.31.ebuild index e2224a1efc02d..60a036706f15b 100644 --- a/dev-java/eclipse-osgi/eclipse-osgi-4.31.ebuild +++ b/dev-java/eclipse-osgi/eclipse-osgi-4.31.ebuild @@ -14,7 +14,7 @@ S="${WORKDIR}/equinox-R${PV//./_}/bundles/org.eclipse.osgi" LICENSE="EPL-2.0" SLOT="0" -KEYWORDS="amd64" +KEYWORDS="amd64 ~arm64" CP_DEPEND=">=dev-java/osgi-annotation-8.1.0:0" From 1ee52559f97a157b4e3b09b85004dbddf40162b7 Mon Sep 17 00:00:00 2001 From: Sam James Date: Sun, 5 Apr 2026 20:55:32 +0100 Subject: [PATCH 06/26] games-strategy/freeciv: Keyword 3.2.3 arm64, #971357 Signed-off-by: Sam James --- games-strategy/freeciv/freeciv-3.2.3.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/games-strategy/freeciv/freeciv-3.2.3.ebuild b/games-strategy/freeciv/freeciv-3.2.3.ebuild index df6cf14121a2f..79b98ad3d8c19 100644 --- a/games-strategy/freeciv/freeciv-3.2.3.ebuild +++ b/games-strategy/freeciv/freeciv-3.2.3.ebuild @@ -17,7 +17,7 @@ else MY_PV="R${PV//./_}" SRC_URI="https://github.com/freeciv/freeciv/archive/refs/tags/${MY_PV}.tar.gz -> ${P}.tar.gz" if [[ ${PV} != *_beta* ]]; then - KEYWORDS="~amd64" + KEYWORDS="~amd64 ~arm64" fi MY_P="${PN}-${MY_PV}" S="${WORKDIR}/${MY_P}" From 2b83a25d8668d7c9db9d1ce7a683e237486fbc94 Mon Sep 17 00:00:00 2001 From: Sam James Date: Sun, 5 Apr 2026 20:55:33 +0100 Subject: [PATCH 07/26] media-libs/sdl3-image: Keyword 3.4.0 arm64, #971357 Signed-off-by: Sam James --- media-libs/sdl3-image/sdl3-image-3.4.0.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/media-libs/sdl3-image/sdl3-image-3.4.0.ebuild b/media-libs/sdl3-image/sdl3-image-3.4.0.ebuild index 640ec39ae9b1d..6d7f139a5ae58 100644 --- a/media-libs/sdl3-image/sdl3-image-3.4.0.ebuild +++ b/media-libs/sdl3-image/sdl3-image-3.4.0.ebuild @@ -13,7 +13,7 @@ S="${WORKDIR}/SDL_image-release-${PV}" LICENSE="ZLIB" SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86" +KEYWORDS="~amd64 ~arm64 ~ppc ~x86" IUSE="avif gif jpeg jpegxl png samples static-libs stb test tiff webp" RESTRICT="!test? ( test )" REQUIRED_USE=" From 7a88a35b54ce5778b14dca2355ce67b07ba5fc4e Mon Sep 17 00:00:00 2001 From: Sam James Date: Sun, 5 Apr 2026 20:55:34 +0100 Subject: [PATCH 08/26] media-libs/sdl3-mixer: Keyword 3.1.2_rc1 arm64, #971357 Signed-off-by: Sam James --- media-libs/sdl3-mixer/sdl3-mixer-3.1.2_rc1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/media-libs/sdl3-mixer/sdl3-mixer-3.1.2_rc1.ebuild b/media-libs/sdl3-mixer/sdl3-mixer-3.1.2_rc1.ebuild index ff2114162a10d..5af3dce489628 100644 --- a/media-libs/sdl3-mixer/sdl3-mixer-3.1.2_rc1.ebuild +++ b/media-libs/sdl3-mixer/sdl3-mixer-3.1.2_rc1.ebuild @@ -19,7 +19,7 @@ S="${WORKDIR}/SDL_mixer-${GIT_TAG}" LICENSE="ZLIB" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="~amd64 ~arm64" IUSE="drlibs flac fluidsynth gme midi mod modplug mp3 opus playtools" IUSE+=" +libvorbis timidity tremor +vorbis +wav wavpack xmp" REQUIRED_USE=" From 549a64bfbed8d1961f04665a9e5fb0939ef182de Mon Sep 17 00:00:00 2001 From: Sam James Date: Sun, 5 Apr 2026 20:55:35 +0100 Subject: [PATCH 09/26] dev-python/setuptools-scm: Keyword 10.0.5 arm64, #971381 Signed-off-by: Sam James --- dev-python/setuptools-scm/setuptools-scm-10.0.5.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-python/setuptools-scm/setuptools-scm-10.0.5.ebuild b/dev-python/setuptools-scm/setuptools-scm-10.0.5.ebuild index c1eaa9ea87746..49c54a7fcc54f 100644 --- a/dev-python/setuptools-scm/setuptools-scm-10.0.5.ebuild +++ b/dev-python/setuptools-scm/setuptools-scm-10.0.5.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~s390" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~s390" # there's an optional dep on rich for cute logs RDEPEND=" From 5b26c398e4aeeca6225e1a824c594b1ed0788eb5 Mon Sep 17 00:00:00 2001 From: Sam James Date: Sun, 5 Apr 2026 20:55:36 +0100 Subject: [PATCH 10/26] dev-python/vcs-versioning: Keyword 1.1.1 arm64, #971381 Signed-off-by: Sam James --- dev-python/vcs-versioning/vcs-versioning-1.1.1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-python/vcs-versioning/vcs-versioning-1.1.1.ebuild b/dev-python/vcs-versioning/vcs-versioning-1.1.1.ebuild index b674070077e5c..c55a6d7c62ca8 100644 --- a/dev-python/vcs-versioning/vcs-versioning-1.1.1.ebuild +++ b/dev-python/vcs-versioning/vcs-versioning-1.1.1.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~s390" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~s390" RDEPEND=" >=dev-python/packaging-20[${PYTHON_USEDEP}] From 28d27eb1d818e2d0cf8d3025c5416317d51eb069 Mon Sep 17 00:00:00 2001 From: Sam James Date: Sun, 5 Apr 2026 20:55:37 +0100 Subject: [PATCH 11/26] app-emacs/nxml-libvirt-schemas: Keyword 12.1.0 arm64, #971987 Signed-off-by: Sam James --- .../nxml-libvirt-schemas/nxml-libvirt-schemas-12.1.0.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-12.1.0.ebuild b/app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-12.1.0.ebuild index 9c1294844816d..9ec6e2ea2175a 100644 --- a/app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-12.1.0.ebuild +++ b/app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-12.1.0.ebuild @@ -22,7 +22,7 @@ S="${WORKDIR}/${MY_P%-rc*}/src/conf/schemas" # provided without license, maybe it's bad. LICENSE="LGPL-2.1+" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="~amd64 ~arm64" # Yes this requires Java, but I'd rather not repackage this, if you # know something better in C, I'll be glad to use that. From ad0429736d63586ede357824082f1f498a7d8f60 Mon Sep 17 00:00:00 2001 From: Sam James Date: Sun, 5 Apr 2026 20:55:38 +0100 Subject: [PATCH 12/26] app-text/trang: Keyword 20241231 arm64, #971987 Signed-off-by: Sam James --- app-text/trang/trang-20241231.ebuild | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app-text/trang/trang-20241231.ebuild b/app-text/trang/trang-20241231.ebuild index 71f55bc4efc98..858424cd62d20 100644 --- a/app-text/trang/trang-20241231.ebuild +++ b/app-text/trang/trang-20241231.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 @@ S="${WORKDIR}/jing-${P}" LICENSE="BSD" SLOT="0" -KEYWORDS="amd64" +KEYWORDS="amd64 ~arm64" BDEPEND=" app-i18n/unicode-data From e3917ec81cb23a05afbc4190b873e2fc7b2e6aef Mon Sep 17 00:00:00 2001 From: Sam James Date: Sun, 5 Apr 2026 20:55:39 +0100 Subject: [PATCH 13/26] dev-python/fakeredis: Stabilize 2.34.1 ALLARCHES, #972068 Signed-off-by: Sam James --- dev-python/fakeredis/fakeredis-2.34.1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-python/fakeredis/fakeredis-2.34.1.ebuild b/dev-python/fakeredis/fakeredis-2.34.1.ebuild index b1f166c94a950..967af494c88f3 100644 --- a/dev-python/fakeredis/fakeredis-2.34.1.ebuild +++ b/dev-python/fakeredis/fakeredis-2.34.1.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" RDEPEND=" >=dev-python/redis-4.3[${PYTHON_USEDEP}] From d814034a08f2f3231f9ec6b8b09640c15ce05a20 Mon Sep 17 00:00:00 2001 From: Sam James Date: Sun, 5 Apr 2026 20:55:41 +0100 Subject: [PATCH 14/26] dev-python/icalendar: Stabilize 7.0.3 ALLARCHES, #972073 Signed-off-by: Sam James --- dev-python/icalendar/icalendar-7.0.3.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-python/icalendar/icalendar-7.0.3.ebuild b/dev-python/icalendar/icalendar-7.0.3.ebuild index 19d0d7de16133..eaf1bc2ea09bf 100644 --- a/dev-python/icalendar/icalendar-7.0.3.ebuild +++ b/dev-python/icalendar/icalendar-7.0.3.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="BSD-2" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" +KEYWORDS="amd64 ~arm arm64 ~riscv x86" RDEPEND=" dev-python/python-dateutil[${PYTHON_USEDEP}] From 40578433bf566477c0f21e716abf62f69a66e993 Mon Sep 17 00:00:00 2001 From: Sam James Date: Sun, 5 Apr 2026 20:55:42 +0100 Subject: [PATCH 15/26] dev-python/cython: Stabilize 3.2.4 arm, #972083 Signed-off-by: Sam James --- dev-python/cython/cython-3.2.4.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-python/cython/cython-3.2.4.ebuild b/dev-python/cython/cython-3.2.4.ebuild index 1d9399568f5b9..f9cf505bd312f 100644 --- a/dev-python/cython/cython-3.2.4.ebuild +++ b/dev-python/cython/cython-3.2.4.ebuild @@ -21,7 +21,7 @@ HOMEPAGE=" LICENSE="Apache-2.0" 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="test test-full" RESTRICT="!test? ( test )" From f83adf4621d952aa7fa7aea6df2c49491ce8b33a Mon Sep 17 00:00:00 2001 From: Sam James Date: Sun, 5 Apr 2026 20:55:44 +0100 Subject: [PATCH 16/26] dev-python/pyzstd: Stabilize 0.19.1 arm64, #972109 Signed-off-by: Sam James --- dev-python/pyzstd/pyzstd-0.19.1.ebuild | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dev-python/pyzstd/pyzstd-0.19.1.ebuild b/dev-python/pyzstd/pyzstd-0.19.1.ebuild index 1ff467eefac17..9f0ff89cdb353 100644 --- a/dev-python/pyzstd/pyzstd-0.19.1.ebuild +++ b/dev-python/pyzstd/pyzstd-0.19.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 2025 Gentoo Authors +# Copyright 2025-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" +KEYWORDS="~amd64 arm64 ~x86" RDEPEND=" $(python_gen_cond_dep ' From 1486f41d06823224b21bffd37b70de87beb08bb1 Mon Sep 17 00:00:00 2001 From: Sam James Date: Sun, 5 Apr 2026 20:55:45 +0100 Subject: [PATCH 17/26] dev-python/tenacity: Stabilize 9.1.4 ALLARCHES, #972119 Signed-off-by: Sam James --- dev-python/tenacity/tenacity-9.1.4.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-python/tenacity/tenacity-9.1.4.ebuild b/dev-python/tenacity/tenacity-9.1.4.ebuild index f7232e8ca0f1a..e636367f1a39c 100644 --- a/dev-python/tenacity/tenacity-9.1.4.ebuild +++ b/dev-python/tenacity/tenacity-9.1.4.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ppc ppc64 ~riscv ~sparc x86" BDEPEND=" dev-python/setuptools-scm[${PYTHON_USEDEP}] From c0512578d8ac8b0c58d70cbfe1ce66b5b4dda35a Mon Sep 17 00:00:00 2001 From: Sam James Date: Sun, 5 Apr 2026 20:55:47 +0100 Subject: [PATCH 18/26] dev-python/python-debian: Stabilize 1.1.0 ALLARCHES, #972123 Signed-off-by: Sam James --- dev-python/python-debian/python-debian-1.1.0.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-python/python-debian/python-debian-1.1.0.ebuild b/dev-python/python-debian/python-debian-1.1.0.ebuild index 103d223ec70a1..290281b1f291e 100644 --- a/dev-python/python-debian/python-debian-1.1.0.ebuild +++ b/dev-python/python-debian/python-debian-1.1.0.ebuild @@ -19,7 +19,7 @@ S=${WORKDIR}/work LICENSE="GPL-2 GPL-3" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~x86" +KEYWORDS="amd64 arm arm64 x86" RDEPEND=" dev-python/charset-normalizer[${PYTHON_USEDEP}] From d112ca82aebb319ee24c50a81ab11a27c43e28d4 Mon Sep 17 00:00:00 2001 From: Sam James Date: Sun, 5 Apr 2026 20:55:49 +0100 Subject: [PATCH 19/26] dev-python/python-neutronclient: Stabilize 11.8.0 ALLARCHES, #972141 Signed-off-by: Sam James --- .../python-neutronclient/python-neutronclient-11.8.0.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-python/python-neutronclient/python-neutronclient-11.8.0.ebuild b/dev-python/python-neutronclient/python-neutronclient-11.8.0.ebuild index 9d9ea23bad264..bbf8b4bbd917a 100644 --- a/dev-python/python-neutronclient/python-neutronclient-11.8.0.ebuild +++ b/dev-python/python-neutronclient/python-neutronclient-11.8.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~riscv ~x86" +KEYWORDS="amd64 arm64 ~riscv x86" RDEPEND=" >dev-python/pbr-2.1.0[${PYTHON_USEDEP}] From 2ea03aa56b516aec7db4720a067d8cacb63d6c07 Mon Sep 17 00:00:00 2001 From: Sam James Date: Sun, 5 Apr 2026 20:55:50 +0100 Subject: [PATCH 20/26] dev-python/nbxmpp: Stabilize 7.1.0 ALLARCHES, #972188 Signed-off-by: Sam James --- dev-python/nbxmpp/nbxmpp-7.1.0.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-python/nbxmpp/nbxmpp-7.1.0.ebuild b/dev-python/nbxmpp/nbxmpp-7.1.0.ebuild index e685f09e4781f..766421e5605f1 100644 --- a/dev-python/nbxmpp/nbxmpp-7.1.0.ebuild +++ b/dev-python/nbxmpp/nbxmpp-7.1.0.ebuild @@ -21,7 +21,7 @@ S=${WORKDIR}/${MY_P} LICENSE="GPL-3" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86" +KEYWORDS="amd64 arm64 ~loong ~riscv x86" RDEPEND=" >=dev-libs/gobject-introspection-1.82.0-r2 From ada72b267e109f84b36c347fac538209de7398b4 Mon Sep 17 00:00:00 2001 From: Sam James Date: Sun, 5 Apr 2026 20:55:52 +0100 Subject: [PATCH 21/26] dev-python/nose2: Stabilize 0.16.0 ALLARCHES, #972198 Signed-off-by: Sam James --- dev-python/nose2/nose2-0.16.0.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-python/nose2/nose2-0.16.0.ebuild b/dev-python/nose2/nose2-0.16.0.ebuild index 0104e5cbf07bc..43a12bbecc291 100644 --- a/dev-python/nose2/nose2-0.16.0.ebuild +++ b/dev-python/nose2/nose2-0.16.0.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="BSD-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86" +KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ppc ppc64 ~sparc x86" RDEPEND=" >=dev-python/coverage-4.4.1[${PYTHON_USEDEP}] From c6ba5213969b5a86ffb9b07a25e46f27a774e9d0 Mon Sep 17 00:00:00 2001 From: Sam James Date: Sun, 5 Apr 2026 20:55:54 +0100 Subject: [PATCH 22/26] dev-python/pyfuse3: Stabilize 3.4.2 arm64, #972205 Signed-off-by: Sam James --- dev-python/pyfuse3/pyfuse3-3.4.2.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-python/pyfuse3/pyfuse3-3.4.2.ebuild b/dev-python/pyfuse3/pyfuse3-3.4.2.ebuild index a5b0302457958..cd8598509a4ee 100644 --- a/dev-python/pyfuse3/pyfuse3-3.4.2.ebuild +++ b/dev-python/pyfuse3/pyfuse3-3.4.2.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="LGPL-2.1+" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +KEYWORDS="~amd64 ~arm arm64 ~ppc64 ~riscv ~x86" DEPEND=" sys-fs/fuse:3= From 8a245bcb8d9c3892ec06a4b93d81faaafb5eecb3 Mon Sep 17 00:00:00 2001 From: Sam James Date: Sun, 5 Apr 2026 20:55:55 +0100 Subject: [PATCH 23/26] dev-python/pybind11: Stabilize 3.0.2 arm, #972232 Signed-off-by: Sam James --- dev-python/pybind11/pybind11-3.0.2.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-python/pybind11/pybind11-3.0.2.ebuild b/dev-python/pybind11/pybind11-3.0.2.ebuild index 0100f84d491d0..d4b4b35ffe3e2 100644 --- a/dev-python/pybind11/pybind11-3.0.2.ebuild +++ b/dev-python/pybind11/pybind11-3.0.2.ebuild @@ -23,7 +23,7 @@ S=${WORKDIR}/${MY_P} LICENSE="BSD" SLOT="0" -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" RDEPEND=" dev-cpp/eigen:3 From 9f9906e912c0e0f2ea36c1fcb87372044679c648 Mon Sep 17 00:00:00 2001 From: Sam James Date: Sun, 5 Apr 2026 20:55:57 +0100 Subject: [PATCH 24/26] dev-python/types-psutil: Stabilize 7.2.2.20260130 ALLARCHES, #972249 Signed-off-by: Sam James --- dev-python/types-psutil/types-psutil-7.2.2.20260130.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-python/types-psutil/types-psutil-7.2.2.20260130.ebuild b/dev-python/types-psutil/types-psutil-7.2.2.20260130.ebuild index aacbdf78c78bb..2c7245df87d34 100644 --- a/dev-python/types-psutil/types-psutil-7.2.2.20260130.ebuild +++ b/dev-python/types-psutil/types-psutil-7.2.2.20260130.ebuild @@ -13,4 +13,4 @@ HOMEPAGE="https://pypi.org/project/types-psutil/" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" From b50e8a09e6d3b9ce8c44c0f66beb5360dd555fed Mon Sep 17 00:00:00 2001 From: Sam James Date: Sun, 5 Apr 2026 20:55:59 +0100 Subject: [PATCH 25/26] dev-python/tomli: Stabilize 2.3.1 ALLARCHES, #972297 Signed-off-by: Sam James --- dev-python/tomli/tomli-2.3.1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-python/tomli/tomli-2.3.1.ebuild b/dev-python/tomli/tomli-2.3.1.ebuild index 4904868d6b13b..b24b7d922a296 100644 --- a/dev-python/tomli/tomli-2.3.1.ebuild +++ b/dev-python/tomli/tomli-2.3.1.ebuild @@ -22,7 +22,7 @@ SRC_URI=" LICENSE="MIT" 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" BDEPEND=" app-arch/unzip From d95766522cdfb117253b49f1b56edafbae0dc52c Mon Sep 17 00:00:00 2001 From: Sam James Date: Sun, 5 Apr 2026 20:56:01 +0100 Subject: [PATCH 26/26] dev-python/charset-normalizer: Stabilize 3.4.4-r1 arm64, #972304 Signed-off-by: Sam James --- .../charset-normalizer/charset-normalizer-3.4.4-r1.ebuild | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dev-python/charset-normalizer/charset-normalizer-3.4.4-r1.ebuild b/dev-python/charset-normalizer/charset-normalizer-3.4.4-r1.ebuild index 78e0111777823..99fd0b6349d3d 100644 --- a/dev-python/charset-normalizer/charset-normalizer-3.4.4-r1.ebuild +++ b/dev-python/charset-normalizer/charset-normalizer-3.4.4-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022-2025 Gentoo Authors +# Copyright 2022-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # please keep this ebuild at EAPI 8 -- sys-apps/portage dep @@ -19,7 +19,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" +KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" IUSE="+native-extensions" BDEPEND="