diff --git a/dev-lang/python/metadata.xml b/dev-lang/python/metadata.xml
index 22ce986e06766..ba2d5afe2fd52 100644
--- a/dev-lang/python/metadata.xml
+++ b/dev-lang/python/metadata.xml
@@ -26,6 +26,11 @@
by running Python's test suite and collecting statistics
based on its performance. This will take longer to build.
+
+ Enable the tail call interpreter. May lead to better
+ performance but is still new and dependent on latest
+ toolchain versions (Clang 19, GCC 15).
+
Disable pymalloc when running under
dev-debug/valgrind is detected (may incur minor
diff --git a/dev-lang/python/python-3.10.17-r1.ebuild b/dev-lang/python/python-3.10.17-r1.ebuild
index 21a3da35103d9..dd5e1696bcf5f 100644
--- a/dev-lang/python/python-3.10.17-r1.ebuild
+++ b/dev-lang/python/python-3.10.17-r1.ebuild
@@ -213,7 +213,6 @@ src_configure() {
einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
fi
- append-flags -fwrapv
filter-flags -malign-double
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
diff --git a/dev-lang/python/python-3.11.12.ebuild b/dev-lang/python/python-3.11.12.ebuild
index f0a1c419e83e4..378131678f90d 100644
--- a/dev-lang/python/python-3.11.12.ebuild
+++ b/dev-lang/python/python-3.11.12.ebuild
@@ -208,7 +208,6 @@ src_configure() {
local -x ac_cv_header_bluetooth_bluetooth_h=no
fi
- append-flags -fwrapv
filter-flags -malign-double
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
diff --git a/dev-lang/python/python-3.12.10.ebuild b/dev-lang/python/python-3.12.10.ebuild
index 1bba7b9fc5742..c1c5804b3328f 100644
--- a/dev-lang/python/python-3.12.10.ebuild
+++ b/dev-lang/python/python-3.12.10.ebuild
@@ -211,7 +211,6 @@ src_configure() {
local -x ac_cv_header_bluetooth_bluetooth_h=no
fi
- append-flags -fwrapv
filter-flags -malign-double
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
@@ -398,9 +397,7 @@ src_configure() {
$(use_with valgrind)
)
- # https://bugs.gentoo.org/700012
if tc-is-lto; then
- append-cflags $(test-flags-CC -ffat-lto-objects)
myeconfargs+=(
--with-lto
)
diff --git a/dev-lang/python/python-3.13.3-r100.ebuild b/dev-lang/python/python-3.13.3-r100.ebuild
index a02ac6833e59c..41372672b7f7c 100644
--- a/dev-lang/python/python-3.13.3-r100.ebuild
+++ b/dev-lang/python/python-3.13.3-r100.ebuild
@@ -244,7 +244,6 @@ src_configure() {
local -x ac_cv_header_bluetooth_bluetooth_h=no
fi
- append-flags -fwrapv
filter-flags -malign-double
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
@@ -421,9 +420,7 @@ src_configure() {
$(use_with valgrind)
)
- # https://bugs.gentoo.org/700012
if tc-is-lto; then
- append-cflags $(test-flags-CC -ffat-lto-objects)
myeconfargs+=(
--with-lto
)
diff --git a/dev-lang/python/python-3.13.3.ebuild b/dev-lang/python/python-3.13.3.ebuild
index 72516043f5f77..2a02ff9b8eac2 100644
--- a/dev-lang/python/python-3.13.3.ebuild
+++ b/dev-lang/python/python-3.13.3.ebuild
@@ -246,7 +246,6 @@ src_configure() {
local -x ac_cv_header_bluetooth_bluetooth_h=no
fi
- append-flags -fwrapv
filter-flags -malign-double
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
@@ -423,9 +422,7 @@ src_configure() {
$(use_with valgrind)
)
- # https://bugs.gentoo.org/700012
if tc-is-lto; then
- append-cflags $(test-flags-CC -ffat-lto-objects)
myeconfargs+=(
--with-lto
)
diff --git a/dev-lang/python/python-3.14.0_alpha7-r100.ebuild b/dev-lang/python/python-3.14.0_alpha7-r100.ebuild
index 2791b9436589a..76bff7a7b4654 100644
--- a/dev-lang/python/python-3.14.0_alpha7-r100.ebuild
+++ b/dev-lang/python/python-3.14.0_alpha7-r100.ebuild
@@ -244,7 +244,6 @@ src_configure() {
local -x ac_cv_header_bluetooth_bluetooth_h=no
fi
- append-flags -fwrapv
filter-flags -malign-double
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
@@ -421,9 +420,7 @@ src_configure() {
$(use_with valgrind)
)
- # https://bugs.gentoo.org/700012
if tc-is-lto; then
- append-cflags $(test-flags-CC -ffat-lto-objects)
myeconfargs+=(
--with-lto
)
diff --git a/dev-lang/python/python-3.14.0_alpha7.ebuild b/dev-lang/python/python-3.14.0_alpha7.ebuild
index 179d7e32ef3a8..f30d04d33285b 100644
--- a/dev-lang/python/python-3.14.0_alpha7.ebuild
+++ b/dev-lang/python/python-3.14.0_alpha7.ebuild
@@ -246,7 +246,6 @@ src_configure() {
local -x ac_cv_header_bluetooth_bluetooth_h=no
fi
- append-flags -fwrapv
filter-flags -malign-double
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
@@ -423,9 +422,7 @@ src_configure() {
$(use_with valgrind)
)
- # https://bugs.gentoo.org/700012
if tc-is-lto; then
- append-cflags $(test-flags-CC -ffat-lto-objects)
myeconfargs+=(
--with-lto
)
diff --git a/dev-lang/python/python-3.14.0_beta1-r100.ebuild b/dev-lang/python/python-3.14.0_beta1-r100.ebuild
index 41577425f9df5..886a83b039fd7 100644
--- a/dev-lang/python/python-3.14.0_beta1-r100.ebuild
+++ b/dev-lang/python/python-3.14.0_beta1-r100.ebuild
@@ -36,7 +36,7 @@ SLOT="${PYVER}"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="
bluetooth build debug +ensurepip examples gdbm jit
- libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind
+ libedit +ncurses pgo +readline +sqlite +ssl tail-call-interp test tk valgrind
"
REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )"
RESTRICT="!test? ( test )"
@@ -246,7 +246,6 @@ src_configure() {
local -x ac_cv_header_bluetooth_bluetooth_h=no
fi
- append-flags -fwrapv
filter-flags -malign-double
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
@@ -422,12 +421,11 @@ src_configure() {
$(use_enable jit experimental-jit)
$(use_enable pgo optimizations)
$(use_with readline readline "$(usex libedit editline readline)")
+ $(use_with tail-call-interp)
$(use_with valgrind)
)
- # https://bugs.gentoo.org/700012
if tc-is-lto; then
- append-cflags $(test-flags-CC -ffat-lto-objects)
myeconfargs+=(
--with-lto
)
diff --git a/dev-lang/python/python-3.14.0_beta1.ebuild b/dev-lang/python/python-3.14.0_beta1.ebuild
index c35b1f191ba12..16596b3967548 100644
--- a/dev-lang/python/python-3.14.0_beta1.ebuild
+++ b/dev-lang/python/python-3.14.0_beta1.ebuild
@@ -36,7 +36,7 @@ SLOT="${PYVER}"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="
bluetooth build debug +ensurepip examples gdbm jit
- libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind
+ libedit +ncurses pgo +readline +sqlite +ssl tail-call-interp test tk valgrind
"
REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )"
RESTRICT="!test? ( test )"
@@ -248,7 +248,6 @@ src_configure() {
local -x ac_cv_header_bluetooth_bluetooth_h=no
fi
- append-flags -fwrapv
filter-flags -malign-double
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
@@ -422,12 +421,11 @@ src_configure() {
$(use_enable jit experimental-jit)
$(use_enable pgo optimizations)
$(use_with readline readline "$(usex libedit editline readline)")
+ $(use_with tail-call-interp)
$(use_with valgrind)
)
- # https://bugs.gentoo.org/700012
if tc-is-lto; then
- append-cflags $(test-flags-CC -ffat-lto-objects)
myeconfargs+=(
--with-lto
)
diff --git a/dev-lang/python/python-3.8.20_p7.ebuild b/dev-lang/python/python-3.8.20_p7.ebuild
index c6e038ea7cda0..868acf645bd5d 100644
--- a/dev-lang/python/python-3.8.20_p7.ebuild
+++ b/dev-lang/python/python-3.8.20_p7.ebuild
@@ -138,7 +138,6 @@ src_configure() {
einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
fi
- append-flags -fwrapv
filter-flags -malign-double
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
diff --git a/dev-lang/python/python-3.9.22.ebuild b/dev-lang/python/python-3.9.22.ebuild
index e8160fe107b8e..90d0617534843 100644
--- a/dev-lang/python/python-3.9.22.ebuild
+++ b/dev-lang/python/python-3.9.22.ebuild
@@ -147,7 +147,6 @@ src_configure() {
einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
fi
- append-flags -fwrapv
filter-flags -malign-double
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
diff --git a/dev-python/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest
index 134133d0064b2..38c18761186be 100644
--- a/dev-python/cfn-lint/Manifest
+++ b/dev-python/cfn-lint/Manifest
@@ -1,4 +1,2 @@
-DIST cfn_lint-1.33.2.tar.gz 3163304 BLAKE2B f61d6a55e1fe2edd3229d6e9281b6267b3231afea43376d0ef2046ed941ef1c910c56e1af05b9eec08c8f0bec87fcddc95757a2433e1c46b2c8863280bebae2a SHA512 d935009da692e5003461d9c9f806733d17de426e0598a33a53470d3ee6c8a194c735b542bd346e9b33d462a71a6043f6ae1f8e9ff55cff3b6b942d2f1f49913c
DIST cfn_lint-1.34.2.tar.gz 3180262 BLAKE2B 0e92964da1d661e5a37f9f4c65c46b7eabdf9a23df1cbeeba96e072347b9be32b8067e72179e51ff83fbf8fa5cf810a409fe1819f3c124189a83e0bd9d147e0a SHA512 46d738319c3e0227fa0996e102e753929bf2bd6916136fe1879d757e64cc83554eca9fd1934dba89602301e42854af9f229bf4d41a118e2dea895553cf556b6e
-DIST cfn_lint-1.35.0.tar.gz 3070040 BLAKE2B f0f868188e8b9088ce3e15d6b83dfc75ff4fd69b6095e8f1d3f27eec0da6518df5231336416bfc14e50b290def2ed10c9d6e4b022686686f580fec1e4a88db6d SHA512 8f44c6f1639ddeed41f4b978b1b5f8503de6a3e2d96b85a82f86f23ea2a258dfa7cfb37019a5bc9ed0620ccba6d8993f12e33c06d81eb32f1201309dd2a23580
DIST cfn_lint-1.35.1.tar.gz 3077415 BLAKE2B 8ef32c6a1b7e6d4db976e8b59b1933814647207a0d690ecadb82ac1dd660bc5ed55e66de2ef21e9936d0c97abcdaa1bdaf8e65a996622e949ddf07afa8588240 SHA512 90c6acec47e9d4fb7344dab7c3ce8170a0ee09875806fe1ea71da91a9ef9e852044a351227b279e9ae0ba42d8f2f1104c6f1460b0aba00aac63ce41d4e147b36
diff --git a/dev-python/cfn-lint/cfn-lint-1.33.2.ebuild b/dev-python/cfn-lint/cfn-lint-1.33.2.ebuild
deleted file mode 100644
index e52a9af8f9938..0000000000000
--- a/dev-python/cfn-lint/cfn-lint-1.33.2.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..13} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="CloudFormation Linter"
-HOMEPAGE="
- https://github.com/aws-cloudformation/cfn-lint/
- https://pypi.org/project/cfn-lint/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/aws-sam-translator-1.96.0[${PYTHON_USEDEP}]
- dev-python/jsonpatch[${PYTHON_USEDEP}]
- >=dev-python/jschema-to-python-1.2.3[${PYTHON_USEDEP}]
- =dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
- dev-python/junit-xml[${PYTHON_USEDEP}]
- dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
- >=dev-python/regex-2021.7.1[${PYTHON_USEDEP}]
- >=dev-python/sarif-om-1.0.4[${PYTHON_USEDEP}]
- >=dev-python/sympy-1.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools-77.0.3[${PYTHON_USEDEP}]
- test? (
- dev-python/defusedxml[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin the deps
- sed -e 's:~=[0-9.]*::' -i pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # different line wrapping somehow
- test/unit/module/template/test_template.py::TestTemplate::test_build_graph
- # requires git repo
- test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs
- )
-
- # from tox.ini
- local -x AWS_DEFAULT_REGION=us-east-1
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/cfn-lint/cfn-lint-1.35.0.ebuild b/dev-python/cfn-lint/cfn-lint-1.35.0.ebuild
deleted file mode 100644
index 9da77fa174d33..0000000000000
--- a/dev-python/cfn-lint/cfn-lint-1.35.0.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{11..13} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="CloudFormation Linter"
-HOMEPAGE="
- https://github.com/aws-cloudformation/cfn-lint/
- https://pypi.org/project/cfn-lint/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/aws-sam-translator-1.97.0[${PYTHON_USEDEP}]
- dev-python/jsonpatch[${PYTHON_USEDEP}]
- >=dev-python/jschema-to-python-1.2.3[${PYTHON_USEDEP}]
- =dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
- dev-python/junit-xml[${PYTHON_USEDEP}]
- dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
- >=dev-python/regex-2021.7.1[${PYTHON_USEDEP}]
- >=dev-python/sarif-om-1.0.4[${PYTHON_USEDEP}]
- >=dev-python/sympy-1.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools-77.0.3[${PYTHON_USEDEP}]
- test? (
- dev-python/defusedxml[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin the deps
- sed -e 's:~=[0-9.]*::' -i pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # different line wrapping somehow
- test/unit/module/template/test_template.py::TestTemplate::test_build_graph
- # requires git repo
- test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs
- )
-
- # from tox.ini
- local -x AWS_DEFAULT_REGION=us-east-1
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/loky/Manifest b/dev-python/loky/Manifest
index 68b61617a7b25..e2fe54de53205 100644
--- a/dev-python/loky/Manifest
+++ b/dev-python/loky/Manifest
@@ -1,3 +1,2 @@
-DIST loky-3.5.1.gh.tar.gz 145759 BLAKE2B 3fd1a254051a25e0556c29c50d9153e6894150d0eb39094fa3b7128439889777026aea6e001b73d825b6c18c8d7e6e49e0feb6e7fb508696c0694cf5321fa6fd SHA512 9c90fda5af45a89142866a3ec4a2e77425b20f248d55a56f5e78acf09dbf3b61ba04cf4b72c416e1eb343e23ab0d73a0139804a9fd92e27044debf97b8920635
DIST loky-3.5.2.gh.tar.gz 145219 BLAKE2B 6de1d77d64db2cda1e45ec3f34aec1cc367a6bd83675b0f7172b4640d866bb1d03ebda963d5b7ee4d680ec5bc40a02ea13b760f1cb6cef2f3fe28509d4b0ffae SHA512 1cc67fcb3450afff67e3e5d598ae93624fd792335a222fd7e4723bb6e04231a68094ab1a78ec505a13c69384868fb05c1fa3a016b2d215d233f8fd9945586e69
DIST loky-3.5.3.gh.tar.gz 145725 BLAKE2B 7971485a0895bad4b86312ec58e63141077d9e0708313a25ef3016eb34b05ac5509c754f49379503d244bda10ba8f28c142b3d91de0a58efc2b1d758725781cf SHA512 72924a95cd781cd338f3d9c7fa89bc2e3c1441e64eb4f0199ef8663aa23916920bec5504c9724bec7d128804209cd9c5de58beb756056fbf756d3e5477ef790c
diff --git a/dev-python/loky/loky-3.5.1.ebuild b/dev-python/loky/loky-3.5.1.ebuild
deleted file mode 100644
index d1ca7bef78f90..0000000000000
--- a/dev-python/loky/loky-3.5.1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 2020-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..13} )
-
-inherit distutils-r1 multiprocessing
-
-DESCRIPTION="Robust and reusable Executor for joblib"
-HOMEPAGE="
- https://github.com/joblib/loky/
- https://pypi.org/project/loky/
-"
-SRC_URI="
- https://github.com/joblib/loky/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 ~riscv x86 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- dev-python/cloudpickle[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- EPYTEST_DESELECT=(
- # docker, seriously?
- tests/test_loky_module.py::test_cpu_count_cfs_limit
- tests/test_loky_module.py::test_cpu_count_cgroup_limit
- # hangs, and even pytest-timeout does not help
- tests/test_reusable_executor.py::TestExecutorDeadLock::test_deadlock_kill
- tests/test_reusable_executor.py::TestResizeExecutor::test_reusable_executor_resize
- # Python 3.12 raises an additional warning due to the use of fork()
- # in a multithreaded process, the additional warning breaks this test
- # since the expected warning is no longer the first.
- # This is harmless, skip test for now
- tests/test_worker_timeout.py::TestTimeoutExecutor::test_worker_timeout_shutdown_no_deadlock
- tests/test_reusable_executor.py::TestResizeExecutor::test_resize_after_timeout
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # high memory test needs a lot of memory + is broken on 32-bit platforms
- epytest --skip-high-memory \
- -p xdist -n "$(makeopts_jobs)" --dist=worksteal
-}
diff --git a/dev-python/symengine/symengine-0.14.1.ebuild b/dev-python/symengine/symengine-0.14.1.ebuild
index 282c9a124a977..de032a073ff22 100644
--- a/dev-python/symengine/symengine-0.14.1.ebuild
+++ b/dev-python/symengine/symengine-0.14.1.ebuild
@@ -23,7 +23,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+KEYWORDS="~amd64 ~arm arm64 ~loong ~ppc64 ~riscv ~x86"
BDEPEND="
dev-build/cmake
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index cced2b8ffef76..7dfc8c7a3c30a 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -134,13 +134,20 @@
#
# - sip - sipbuild backend
#
-# - standalone - standalone build systems without external deps
-# (used for bootstrapping).
+# - standalone - standalone/local build systems
#
# - uv-build - uv-build backend (using dev-python/uv)
#
-# The variable needs to be set before the inherit line. The eclass
-# adds appropriate build-time dependencies and verifies the value.
+# The variable needs to be set before the inherit line. If another
+# value than "standalone" and "no" is used, The eclass adds appropriate
+# build-time dependencies, verifies the value and calls the appropriate
+# modern entry point for the backend. With DISTUTILS_UPSTREAM_PEP517,
+# this variable can be used to override the upstream build backend.
+#
+# The value of "standalone" indicates that upstream is using a custom,
+# local build backend. In this mode, the eclass does not add any
+# dependencies, disables build backend verification and uses the exact
+# entry point listed in pyproject.toml.
#
# The special value "no" indicates that the package has no build system.
# This is not equivalent to unset DISTUTILS_USE_PEP517 (legacy mode).
@@ -162,6 +169,12 @@
# overriden to workaround the eclass check, when it is desirable
# to build the wheel using other backend than the one used upstream.
#
+# When using it, ideally it should list the build backend actually used
+# upstream, so the eclass will throw an error if that backend changes
+# (and therefore overrides may need to change as well). As a special
+# case, setting it to "standalone" disables the check entirely (while
+# still forcing the backend, unlike DISTUTILS_USE_PEP517=standalone).
+#
# Please note that even in packages using PEP621 metadata, there can
# be subtle differences between the behavior of different PEP517 build
# backends, for example regarding finding package files. When using
@@ -1150,11 +1163,23 @@ _distutils-r1_get_backend() {
fi
fi
+ # if DISTUTILS_USE_PEP517 is "standalone", we respect the exact
+ # backend used in pyproject.toml; otherwise we force the backend
+ # based on DISTUTILS_USE_PEP517
if [[ ${DISTUTILS_USE_PEP517} == standalone ]]; then
echo "${build_backend}"
return
fi
+ # we can output it early, even if we die below
+ echo "$(_distutils-r1_key_to_backend "${DISTUTILS_USE_PEP517}")"
+
+ # skip backend verification if DISTUTILS_UPSTREAM_PEP517
+ # is "standalone"
+ if [[ ${DISTUTILS_UPSTREAM_PEP517} == standalone ]]; then
+ return
+ fi
+
# verify that the ebuild correctly specifies the build backend
local expected_backend=$(
_distutils-r1_key_to_backend \
@@ -1189,8 +1214,6 @@ _distutils-r1_get_backend() {
> "${T}"/.distutils_deprecated_backend_warned || die
fi
fi
-
- echo "$(_distutils-r1_key_to_backend "${DISTUTILS_USE_PEP517}")"
}
# @FUNCTION: distutils_wheel_install
@@ -1662,7 +1685,7 @@ distutils-r1_python_install() {
# let's explicitly verify these assumptions
# remove files that we've created explicitly
- rm "${reg_scriptdir}"/{"${EPYTHON}",python3,python,pyvenv.cfg} || die
+ rm "${reg_scriptdir}"/{"${EPYTHON}",python3,python,../pyvenv.cfg} || die
# Automagically do the QA check to avoid issues when bootstrapping
# prefix.
@@ -2030,9 +2053,11 @@ _distutils-r1_post_python_compile() {
ln -s "${PYTHON}" "${bindir}/${EPYTHON}" || die
ln -s "${EPYTHON}" "${bindir}/python3" || die
ln -s "${EPYTHON}" "${bindir}/python" || die
- # python3.14t seems to require "home" being present
- # (though it does not seem to care about the actual value)
- cat > "${bindir}"/pyvenv.cfg <<-EOF || die
+ # python3.14 changed venv logic so that:
+ # 1) pyvenv.cfg location explicitly determines prefix
+ # (i.e. we no longer can be put in bin/)
+ # 2) "home =" key must be present
+ cat > "${bindir}"/../pyvenv.cfg <<-EOF || die
home = ${EPREFIX}/usr/bin
include-system-site-packages = true
EOF
diff --git a/net-analyzer/netdata/metadata.xml b/net-analyzer/netdata/metadata.xml
index f8b7fb9f07212..a252c7c745734 100644
--- a/net-analyzer/netdata/metadata.xml
+++ b/net-analyzer/netdata/metadata.xml
@@ -15,7 +15,6 @@
Enable the nfacct plugin
Enable use of nodejs (which some plugins use)
Enable support for the Prometheus remote write backend
- Enable monitoring of tor
Enable monitoring of xen
diff --git a/net-analyzer/netdata/netdata-1.45.4.ebuild b/net-analyzer/netdata/netdata-1.45.4.ebuild
index 4cc5eeff63bd7..a94189d875261 100644
--- a/net-analyzer/netdata/netdata-1.45.4.ebuild
+++ b/net-analyzer/netdata/netdata-1.45.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -20,11 +20,10 @@ HOMEPAGE="https://github.com/netdata/netdata https://my-netdata.io/"
LICENSE="GPL-3+ MIT BSD"
SLOT="0"
-IUSE="aclk bpf cloud cups +dbengine ipmi mongodb mysql nfacct nodejs postgres prometheus +python systemd tor xen"
+IUSE="aclk bpf cloud cups +dbengine ipmi mongodb mysql nfacct nodejs postgres prometheus +python systemd xen"
REQUIRED_USE="
mysql? ( python )
- python? ( ${PYTHON_REQUIRED_USE} )
- tor? ( python )"
+ python? ( ${PYTHON_REQUIRED_USE} )"
# most unconditional dependencies are for plugins.d/charts.d.plugin:
RDEPEND="
@@ -73,7 +72,6 @@ RDEPEND="
$(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
mysql? ( $(python_gen_cond_dep 'dev-python/mysqlclient[${PYTHON_USEDEP}]') )
postgres? ( $(python_gen_cond_dep 'dev-python/psycopg:2[${PYTHON_USEDEP}]') )
- tor? ( $(python_gen_cond_dep 'net-libs/stem[${PYTHON_USEDEP}]') )
)
xen? (
app-emulation/xen-tools
diff --git a/net-analyzer/netdata/netdata-1.46.1.ebuild b/net-analyzer/netdata/netdata-1.46.1.ebuild
index 31f88a05f8fdd..012571b33b33c 100644
--- a/net-analyzer/netdata/netdata-1.46.1.ebuild
+++ b/net-analyzer/netdata/netdata-1.46.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -20,11 +20,10 @@ HOMEPAGE="https://github.com/netdata/netdata https://my-netdata.io/"
LICENSE="GPL-3+ MIT BSD"
SLOT="0"
-IUSE="aclk bpf cloud cups +dbengine ipmi mongodb mysql nfacct nodejs postgres prometheus +python systemd tor xen"
+IUSE="aclk bpf cloud cups +dbengine ipmi mongodb mysql nfacct nodejs postgres prometheus +python systemd xen"
REQUIRED_USE="
mysql? ( python )
- python? ( ${PYTHON_REQUIRED_USE} )
- tor? ( python )"
+ python? ( ${PYTHON_REQUIRED_USE} )"
# most unconditional dependencies are for plugins.d/charts.d.plugin:
RDEPEND="
@@ -73,7 +72,6 @@ RDEPEND="
$(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
mysql? ( $(python_gen_cond_dep 'dev-python/mysqlclient[${PYTHON_USEDEP}]') )
postgres? ( $(python_gen_cond_dep 'dev-python/psycopg:2[${PYTHON_USEDEP}]') )
- tor? ( $(python_gen_cond_dep 'net-libs/stem[${PYTHON_USEDEP}]') )
)
xen? (
app-emulation/xen-tools
diff --git a/net-analyzer/netdata/netdata-1.46.2.ebuild b/net-analyzer/netdata/netdata-1.46.2.ebuild
index 31f88a05f8fdd..012571b33b33c 100644
--- a/net-analyzer/netdata/netdata-1.46.2.ebuild
+++ b/net-analyzer/netdata/netdata-1.46.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -20,11 +20,10 @@ HOMEPAGE="https://github.com/netdata/netdata https://my-netdata.io/"
LICENSE="GPL-3+ MIT BSD"
SLOT="0"
-IUSE="aclk bpf cloud cups +dbengine ipmi mongodb mysql nfacct nodejs postgres prometheus +python systemd tor xen"
+IUSE="aclk bpf cloud cups +dbengine ipmi mongodb mysql nfacct nodejs postgres prometheus +python systemd xen"
REQUIRED_USE="
mysql? ( python )
- python? ( ${PYTHON_REQUIRED_USE} )
- tor? ( python )"
+ python? ( ${PYTHON_REQUIRED_USE} )"
# most unconditional dependencies are for plugins.d/charts.d.plugin:
RDEPEND="
@@ -73,7 +72,6 @@ RDEPEND="
$(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
mysql? ( $(python_gen_cond_dep 'dev-python/mysqlclient[${PYTHON_USEDEP}]') )
postgres? ( $(python_gen_cond_dep 'dev-python/psycopg:2[${PYTHON_USEDEP}]') )
- tor? ( $(python_gen_cond_dep 'net-libs/stem[${PYTHON_USEDEP}]') )
)
xen? (
app-emulation/xen-tools
diff --git a/net-analyzer/netdata/netdata-1.46.3.ebuild b/net-analyzer/netdata/netdata-1.46.3.ebuild
index 31f88a05f8fdd..012571b33b33c 100644
--- a/net-analyzer/netdata/netdata-1.46.3.ebuild
+++ b/net-analyzer/netdata/netdata-1.46.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -20,11 +20,10 @@ HOMEPAGE="https://github.com/netdata/netdata https://my-netdata.io/"
LICENSE="GPL-3+ MIT BSD"
SLOT="0"
-IUSE="aclk bpf cloud cups +dbengine ipmi mongodb mysql nfacct nodejs postgres prometheus +python systemd tor xen"
+IUSE="aclk bpf cloud cups +dbengine ipmi mongodb mysql nfacct nodejs postgres prometheus +python systemd xen"
REQUIRED_USE="
mysql? ( python )
- python? ( ${PYTHON_REQUIRED_USE} )
- tor? ( python )"
+ python? ( ${PYTHON_REQUIRED_USE} )"
# most unconditional dependencies are for plugins.d/charts.d.plugin:
RDEPEND="
@@ -73,7 +72,6 @@ RDEPEND="
$(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
mysql? ( $(python_gen_cond_dep 'dev-python/mysqlclient[${PYTHON_USEDEP}]') )
postgres? ( $(python_gen_cond_dep 'dev-python/psycopg:2[${PYTHON_USEDEP}]') )
- tor? ( $(python_gen_cond_dep 'net-libs/stem[${PYTHON_USEDEP}]') )
)
xen? (
app-emulation/xen-tools
diff --git a/net-analyzer/netdata/netdata-1.47.0.ebuild b/net-analyzer/netdata/netdata-1.47.0.ebuild
index 31f88a05f8fdd..012571b33b33c 100644
--- a/net-analyzer/netdata/netdata-1.47.0.ebuild
+++ b/net-analyzer/netdata/netdata-1.47.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -20,11 +20,10 @@ HOMEPAGE="https://github.com/netdata/netdata https://my-netdata.io/"
LICENSE="GPL-3+ MIT BSD"
SLOT="0"
-IUSE="aclk bpf cloud cups +dbengine ipmi mongodb mysql nfacct nodejs postgres prometheus +python systemd tor xen"
+IUSE="aclk bpf cloud cups +dbengine ipmi mongodb mysql nfacct nodejs postgres prometheus +python systemd xen"
REQUIRED_USE="
mysql? ( python )
- python? ( ${PYTHON_REQUIRED_USE} )
- tor? ( python )"
+ python? ( ${PYTHON_REQUIRED_USE} )"
# most unconditional dependencies are for plugins.d/charts.d.plugin:
RDEPEND="
@@ -73,7 +72,6 @@ RDEPEND="
$(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
mysql? ( $(python_gen_cond_dep 'dev-python/mysqlclient[${PYTHON_USEDEP}]') )
postgres? ( $(python_gen_cond_dep 'dev-python/psycopg:2[${PYTHON_USEDEP}]') )
- tor? ( $(python_gen_cond_dep 'net-libs/stem[${PYTHON_USEDEP}]') )
)
xen? (
app-emulation/xen-tools
diff --git a/net-analyzer/netdata/netdata-1.47.1.ebuild b/net-analyzer/netdata/netdata-1.47.1.ebuild
index 31f88a05f8fdd..012571b33b33c 100644
--- a/net-analyzer/netdata/netdata-1.47.1.ebuild
+++ b/net-analyzer/netdata/netdata-1.47.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -20,11 +20,10 @@ HOMEPAGE="https://github.com/netdata/netdata https://my-netdata.io/"
LICENSE="GPL-3+ MIT BSD"
SLOT="0"
-IUSE="aclk bpf cloud cups +dbengine ipmi mongodb mysql nfacct nodejs postgres prometheus +python systemd tor xen"
+IUSE="aclk bpf cloud cups +dbengine ipmi mongodb mysql nfacct nodejs postgres prometheus +python systemd xen"
REQUIRED_USE="
mysql? ( python )
- python? ( ${PYTHON_REQUIRED_USE} )
- tor? ( python )"
+ python? ( ${PYTHON_REQUIRED_USE} )"
# most unconditional dependencies are for plugins.d/charts.d.plugin:
RDEPEND="
@@ -73,7 +72,6 @@ RDEPEND="
$(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
mysql? ( $(python_gen_cond_dep 'dev-python/mysqlclient[${PYTHON_USEDEP}]') )
postgres? ( $(python_gen_cond_dep 'dev-python/psycopg:2[${PYTHON_USEDEP}]') )
- tor? ( $(python_gen_cond_dep 'net-libs/stem[${PYTHON_USEDEP}]') )
)
xen? (
app-emulation/xen-tools
diff --git a/net-analyzer/netdata/netdata-1.47.2.ebuild b/net-analyzer/netdata/netdata-1.47.2.ebuild
index 31f88a05f8fdd..012571b33b33c 100644
--- a/net-analyzer/netdata/netdata-1.47.2.ebuild
+++ b/net-analyzer/netdata/netdata-1.47.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -20,11 +20,10 @@ HOMEPAGE="https://github.com/netdata/netdata https://my-netdata.io/"
LICENSE="GPL-3+ MIT BSD"
SLOT="0"
-IUSE="aclk bpf cloud cups +dbengine ipmi mongodb mysql nfacct nodejs postgres prometheus +python systemd tor xen"
+IUSE="aclk bpf cloud cups +dbengine ipmi mongodb mysql nfacct nodejs postgres prometheus +python systemd xen"
REQUIRED_USE="
mysql? ( python )
- python? ( ${PYTHON_REQUIRED_USE} )
- tor? ( python )"
+ python? ( ${PYTHON_REQUIRED_USE} )"
# most unconditional dependencies are for plugins.d/charts.d.plugin:
RDEPEND="
@@ -73,7 +72,6 @@ RDEPEND="
$(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
mysql? ( $(python_gen_cond_dep 'dev-python/mysqlclient[${PYTHON_USEDEP}]') )
postgres? ( $(python_gen_cond_dep 'dev-python/psycopg:2[${PYTHON_USEDEP}]') )
- tor? ( $(python_gen_cond_dep 'net-libs/stem[${PYTHON_USEDEP}]') )
)
xen? (
app-emulation/xen-tools
diff --git a/net-analyzer/netdata/netdata-1.47.4.ebuild b/net-analyzer/netdata/netdata-1.47.4.ebuild
index 31f88a05f8fdd..012571b33b33c 100644
--- a/net-analyzer/netdata/netdata-1.47.4.ebuild
+++ b/net-analyzer/netdata/netdata-1.47.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -20,11 +20,10 @@ HOMEPAGE="https://github.com/netdata/netdata https://my-netdata.io/"
LICENSE="GPL-3+ MIT BSD"
SLOT="0"
-IUSE="aclk bpf cloud cups +dbengine ipmi mongodb mysql nfacct nodejs postgres prometheus +python systemd tor xen"
+IUSE="aclk bpf cloud cups +dbengine ipmi mongodb mysql nfacct nodejs postgres prometheus +python systemd xen"
REQUIRED_USE="
mysql? ( python )
- python? ( ${PYTHON_REQUIRED_USE} )
- tor? ( python )"
+ python? ( ${PYTHON_REQUIRED_USE} )"
# most unconditional dependencies are for plugins.d/charts.d.plugin:
RDEPEND="
@@ -73,7 +72,6 @@ RDEPEND="
$(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
mysql? ( $(python_gen_cond_dep 'dev-python/mysqlclient[${PYTHON_USEDEP}]') )
postgres? ( $(python_gen_cond_dep 'dev-python/psycopg:2[${PYTHON_USEDEP}]') )
- tor? ( $(python_gen_cond_dep 'net-libs/stem[${PYTHON_USEDEP}]') )
)
xen? (
app-emulation/xen-tools
diff --git a/net-analyzer/netdata/netdata-1.47.5.ebuild b/net-analyzer/netdata/netdata-1.47.5.ebuild
index 31f88a05f8fdd..588bc8832f9da 100644
--- a/net-analyzer/netdata/netdata-1.47.5.ebuild
+++ b/net-analyzer/netdata/netdata-1.47.5.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python{3_9,3_10,3_11,3_12} )
+PYTHON_COMPAT=( python3_{11..13} )
inherit cmake fcaps linux-info optfeature python-single-r1 systemd
@@ -20,11 +20,10 @@ HOMEPAGE="https://github.com/netdata/netdata https://my-netdata.io/"
LICENSE="GPL-3+ MIT BSD"
SLOT="0"
-IUSE="aclk bpf cloud cups +dbengine ipmi mongodb mysql nfacct nodejs postgres prometheus +python systemd tor xen"
+IUSE="aclk bpf cloud cups +dbengine ipmi mongodb mysql nfacct nodejs postgres prometheus +python systemd xen"
REQUIRED_USE="
mysql? ( python )
- python? ( ${PYTHON_REQUIRED_USE} )
- tor? ( python )"
+ python? ( ${PYTHON_REQUIRED_USE} )"
# most unconditional dependencies are for plugins.d/charts.d.plugin:
RDEPEND="
@@ -73,7 +72,6 @@ RDEPEND="
$(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
mysql? ( $(python_gen_cond_dep 'dev-python/mysqlclient[${PYTHON_USEDEP}]') )
postgres? ( $(python_gen_cond_dep 'dev-python/psycopg:2[${PYTHON_USEDEP}]') )
- tor? ( $(python_gen_cond_dep 'net-libs/stem[${PYTHON_USEDEP}]') )
)
xen? (
app-emulation/xen-tools
diff --git a/net-analyzer/netdata/netdata-9999.ebuild b/net-analyzer/netdata/netdata-9999.ebuild
index 31f88a05f8fdd..012571b33b33c 100644
--- a/net-analyzer/netdata/netdata-9999.ebuild
+++ b/net-analyzer/netdata/netdata-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -20,11 +20,10 @@ HOMEPAGE="https://github.com/netdata/netdata https://my-netdata.io/"
LICENSE="GPL-3+ MIT BSD"
SLOT="0"
-IUSE="aclk bpf cloud cups +dbengine ipmi mongodb mysql nfacct nodejs postgres prometheus +python systemd tor xen"
+IUSE="aclk bpf cloud cups +dbengine ipmi mongodb mysql nfacct nodejs postgres prometheus +python systemd xen"
REQUIRED_USE="
mysql? ( python )
- python? ( ${PYTHON_REQUIRED_USE} )
- tor? ( python )"
+ python? ( ${PYTHON_REQUIRED_USE} )"
# most unconditional dependencies are for plugins.d/charts.d.plugin:
RDEPEND="
@@ -73,7 +72,6 @@ RDEPEND="
$(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
mysql? ( $(python_gen_cond_dep 'dev-python/mysqlclient[${PYTHON_USEDEP}]') )
postgres? ( $(python_gen_cond_dep 'dev-python/psycopg:2[${PYTHON_USEDEP}]') )
- tor? ( $(python_gen_cond_dep 'net-libs/stem[${PYTHON_USEDEP}]') )
)
xen? (
app-emulation/xen-tools
diff --git a/profiles/package.mask b/profiles/package.mask
index 53be3b09a8ca3..984b74df435d0 100644
--- a/profiles/package.mask
+++ b/profiles/package.mask
@@ -36,6 +36,14 @@
#--- END OF EXAMPLES ---
+# Petr Vaněk (2025-05-10)
+# Unmaintained upstream, incompatible with py3.12+, no revdeps, see
+# https://github.com/torproject/stem/issues/154 and
+# https://github.com/torproject/nyx/issues/68
+# Removal on 2025-06-09.
+net-libs/stem
+net-misc/nyx
+
# Andreas Sturmlechner (2025-05-08)
# No more revdeps. Removal on 2025-05-31.
kde-frameworks/kinit