From c4eaa8ec7495ee7fe9bd098986616a994a8a6873 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Van=C4=9Bk?= Date: Sat, 10 May 2025 14:14:55 +0200 Subject: [PATCH 01/11] net-analyzer/netdata: remove USE=tor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Upstream removed tor python.d plugin in 1.47.0 in PR [1]. It was reimplemented as go.d plugin, see PR [2]. Tor python.d plugin depends on net-libs/stem, which is unmaintained and it contains incompatibilities with Python 3.12+, therefore, it blocks netdata migration to modern python versions. [1] https://github.com/netdata/netdata/pull/18358 [2] https://github.com/netdata/netdata/pull/18361 Bug: https://bugs.gentoo.org/952572 Bug: https://bugs.gentoo.org/952600 Signed-off-by: Petr Vaněk --- net-analyzer/netdata/metadata.xml | 1 - net-analyzer/netdata/netdata-1.45.4.ebuild | 8 +++----- net-analyzer/netdata/netdata-1.46.1.ebuild | 8 +++----- net-analyzer/netdata/netdata-1.46.2.ebuild | 8 +++----- net-analyzer/netdata/netdata-1.46.3.ebuild | 8 +++----- net-analyzer/netdata/netdata-1.47.0.ebuild | 8 +++----- net-analyzer/netdata/netdata-1.47.1.ebuild | 8 +++----- net-analyzer/netdata/netdata-1.47.2.ebuild | 8 +++----- net-analyzer/netdata/netdata-1.47.4.ebuild | 8 +++----- net-analyzer/netdata/netdata-1.47.5.ebuild | 8 +++----- net-analyzer/netdata/netdata-9999.ebuild | 8 +++----- 11 files changed, 30 insertions(+), 51 deletions(-) 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..012571b33b33c 100644 --- a/net-analyzer/netdata/netdata-1.47.5.ebuild +++ b/net-analyzer/netdata/netdata-1.47.5.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-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 From fd216a37de9c35ea2e425bb9265a18ae1d811a7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Van=C4=9Bk?= Date: Fri, 9 May 2025 14:41:02 +0200 Subject: [PATCH 02/11] net-analyzer/netdata: enable py3.13 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes: https://bugs.gentoo.org/952572 Signed-off-by: Petr Vaněk --- net-analyzer/netdata/netdata-1.47.5.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net-analyzer/netdata/netdata-1.47.5.ebuild b/net-analyzer/netdata/netdata-1.47.5.ebuild index 012571b33b33c..588bc8832f9da 100644 --- a/net-analyzer/netdata/netdata-1.47.5.ebuild +++ b/net-analyzer/netdata/netdata-1.47.5.ebuild @@ -2,7 +2,7 @@ # 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 From 9f77be88cfa9ad57e49a01ba4b8b1cc548d6825a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Van=C4=9Bk?= Date: Sat, 10 May 2025 10:15:11 +0200 Subject: [PATCH 03/11] profiles: last-rite net-libs/stem and net-misc/nyx MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Unmaintained upstream, net-libs/stem is incompatible with py3.12+ despite it is py3.12 enabled. Bug: https://bugs.gentoo.org/952572 Bug: https://bugs.gentoo.org/952600 Bug: https://bugs.gentoo.org/952615 Link: https://github.com/torproject/stem/issues/154 Link: https://github.com/torproject/nyx/issues/68 Signed-off-by: Petr Vaněk --- profiles/package.mask | 8 ++++++++ 1 file changed, 8 insertions(+) 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 From 113415c295d1d178cfc8e1d38e338b7714a1f096 Mon Sep 17 00:00:00 2001 From: Sam James Date: Sat, 10 May 2025 12:14:44 +0100 Subject: [PATCH 04/11] dev-lang/python: don't pass -fwrapv * In eff9f43924fc836970b2378d58523388d9246194 (which is in >=3.12), CPython drops adding -fwrapv and instead starts to pass -fno-strict-overflow instead and controls that with a configure flag (--with-strict-overflow). => We shouldn't pass -fwrapv with >=3.12.0 at least. * But also, adding -fwrapv to begin with doesn't seem right, as the build system should add that for us. We started doing that in: commit 6f4cebcf5b631f30baabb9f8e927d6aedcfbdf27 Author: Ali Polatel Date: Tue Jun 24 13:54:16 2008 +0000 Revbump. Append -fwrapv to CFLAGS if we're using gcc-4, #228905. Updated patchset to fix memory issues with unicode objects, #228905. Drop old. (Portage version: 2.2_rc1/cvs/Linux 2.6.25-gentoo-r1 x86_64) (Signed Manifest commit) which got fixed back in Python 2.5 or so! => We didn't need to pass it at all for nearly 20 years. I've dropped it for all Pythons except for 2.7.x (because who cares about that, so many UB fixes then, etc) given it wasn't doing anything. Bug: https://bugs.gentoo.org/228905 Signed-off-by: Sam James --- dev-lang/python/python-3.10.17-r1.ebuild | 1 - dev-lang/python/python-3.11.12.ebuild | 1 - dev-lang/python/python-3.12.10.ebuild | 1 - dev-lang/python/python-3.13.3-r100.ebuild | 1 - dev-lang/python/python-3.13.3.ebuild | 1 - dev-lang/python/python-3.14.0_alpha7-r100.ebuild | 1 - dev-lang/python/python-3.14.0_alpha7.ebuild | 1 - dev-lang/python/python-3.14.0_beta1-r100.ebuild | 1 - dev-lang/python/python-3.14.0_beta1.ebuild | 1 - dev-lang/python/python-3.8.20_p7.ebuild | 1 - dev-lang/python/python-3.9.22.ebuild | 1 - 11 files changed, 11 deletions(-) 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..e674e498a6cac 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. diff --git a/dev-lang/python/python-3.13.3-r100.ebuild b/dev-lang/python/python-3.13.3-r100.ebuild index a02ac6833e59c..8754c8ec90c61 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. diff --git a/dev-lang/python/python-3.13.3.ebuild b/dev-lang/python/python-3.13.3.ebuild index 72516043f5f77..da9cff18c5a3b 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. 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..6d529c9d9f71d 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. diff --git a/dev-lang/python/python-3.14.0_alpha7.ebuild b/dev-lang/python/python-3.14.0_alpha7.ebuild index 179d7e32ef3a8..b6a027663fd72 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. 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..9002d4f3e39f3 100644 --- a/dev-lang/python/python-3.14.0_beta1-r100.ebuild +++ b/dev-lang/python/python-3.14.0_beta1-r100.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. diff --git a/dev-lang/python/python-3.14.0_beta1.ebuild b/dev-lang/python/python-3.14.0_beta1.ebuild index c35b1f191ba12..ddc7c86b021d5 100644 --- a/dev-lang/python/python-3.14.0_beta1.ebuild +++ b/dev-lang/python/python-3.14.0_beta1.ebuild @@ -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. 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. From e371afa912187ba5e46ff4a19b21ea80934f77ab Mon Sep 17 00:00:00 2001 From: Sam James Date: Sat, 10 May 2025 12:24:47 +0100 Subject: [PATCH 05/11] dev-lang/python: drop -ffat-lto-objects for >=3.12 The broken autoconf-archive macro which required us to pass -ffat-lto-objects as a workaround has been fixed and backported to >= CPython 3.12: https://github.com/python/cpython/issues/89640#issuecomment-2456579831 Note that the Python build system still adds this anyway but hopefully that can be dropped in future, like -flto-partition=one was in https://github.com/python/cpython/issues/132257. Bug: https://bugs.gentoo.org/700012 Signed-off-by: Sam James --- dev-lang/python/python-3.12.10.ebuild | 2 -- dev-lang/python/python-3.13.3-r100.ebuild | 2 -- dev-lang/python/python-3.13.3.ebuild | 2 -- dev-lang/python/python-3.14.0_alpha7-r100.ebuild | 2 -- dev-lang/python/python-3.14.0_alpha7.ebuild | 2 -- dev-lang/python/python-3.14.0_beta1-r100.ebuild | 2 -- dev-lang/python/python-3.14.0_beta1.ebuild | 2 -- 7 files changed, 14 deletions(-) diff --git a/dev-lang/python/python-3.12.10.ebuild b/dev-lang/python/python-3.12.10.ebuild index e674e498a6cac..c1c5804b3328f 100644 --- a/dev-lang/python/python-3.12.10.ebuild +++ b/dev-lang/python/python-3.12.10.ebuild @@ -397,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 8754c8ec90c61..41372672b7f7c 100644 --- a/dev-lang/python/python-3.13.3-r100.ebuild +++ b/dev-lang/python/python-3.13.3-r100.ebuild @@ -420,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 da9cff18c5a3b..2a02ff9b8eac2 100644 --- a/dev-lang/python/python-3.13.3.ebuild +++ b/dev-lang/python/python-3.13.3.ebuild @@ -422,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 6d529c9d9f71d..76bff7a7b4654 100644 --- a/dev-lang/python/python-3.14.0_alpha7-r100.ebuild +++ b/dev-lang/python/python-3.14.0_alpha7-r100.ebuild @@ -420,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 b6a027663fd72..f30d04d33285b 100644 --- a/dev-lang/python/python-3.14.0_alpha7.ebuild +++ b/dev-lang/python/python-3.14.0_alpha7.ebuild @@ -422,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 9002d4f3e39f3..7ba4463de0791 100644 --- a/dev-lang/python/python-3.14.0_beta1-r100.ebuild +++ b/dev-lang/python/python-3.14.0_beta1-r100.ebuild @@ -424,9 +424,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.ebuild b/dev-lang/python/python-3.14.0_beta1.ebuild index ddc7c86b021d5..3f751e39232b0 100644 --- a/dev-lang/python/python-3.14.0_beta1.ebuild +++ b/dev-lang/python/python-3.14.0_beta1.ebuild @@ -424,9 +424,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 ) From fa8873388517f552e437be20607c63f625c0bfe7 Mon Sep 17 00:00:00 2001 From: Sam James Date: Sat, 10 May 2025 12:37:40 +0100 Subject: [PATCH 06/11] dev-lang/python: add USE=tail-call-interp for new tail call interpreter in 3.14.x This is a new feature in Python 3.14.x that gives performance speedups but requires new GCC and Clang and may sometimes regress performance. It's not yet enabled by default upstream. Signed-off-by: Sam James --- dev-lang/python/metadata.xml | 5 +++++ dev-lang/python/python-3.14.0_beta1-r100.ebuild | 3 ++- dev-lang/python/python-3.14.0_beta1.ebuild | 3 ++- 3 files changed, 9 insertions(+), 2 deletions(-) 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.14.0_beta1-r100.ebuild b/dev-lang/python/python-3.14.0_beta1-r100.ebuild index 7ba4463de0791..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 )" @@ -421,6 +421,7 @@ 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) ) diff --git a/dev-lang/python/python-3.14.0_beta1.ebuild b/dev-lang/python/python-3.14.0_beta1.ebuild index 3f751e39232b0..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 )" @@ -421,6 +421,7 @@ 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) ) From 040a040e8116573f2196fca23bb1b74e6418609d Mon Sep 17 00:00:00 2001 From: Arthur Zamarin Date: Sat, 10 May 2025 15:56:28 +0300 Subject: [PATCH 07/11] dev-python/symengine: Stabilize 0.14.1 arm64, #955737 Signed-off-by: Arthur Zamarin --- dev-python/symengine/symengine-0.14.1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 From 946cc9448a4af21e5862ce7a229d3f64a07dfdde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Sat, 10 May 2025 14:15:05 +0200 Subject: [PATCH 08/11] dev-python/cfn-lint: Remove old MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Górny --- dev-python/cfn-lint/Manifest | 2 - dev-python/cfn-lint/cfn-lint-1.33.2.ebuild | 61 ---------------------- dev-python/cfn-lint/cfn-lint-1.35.0.ebuild | 61 ---------------------- 3 files changed, 124 deletions(-) delete mode 100644 dev-python/cfn-lint/cfn-lint-1.33.2.ebuild delete mode 100644 dev-python/cfn-lint/cfn-lint-1.35.0.ebuild 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 -} From f6d3d55cfb09f2adadafb8ada6e39bee53423f28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Sat, 10 May 2025 14:15:49 +0200 Subject: [PATCH 09/11] dev-python/loky: Remove old MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Górny --- dev-python/loky/Manifest | 1 - dev-python/loky/loky-3.5.1.ebuild | 59 ------------------------------- 2 files changed, 60 deletions(-) delete mode 100644 dev-python/loky/loky-3.5.1.ebuild 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 -} From 3adc7e900eba944aafa51675355df21de79be358 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Sat, 10 May 2025 14:27:49 +0200 Subject: [PATCH 10/11] distutils-r1.eclass: Fix pyvenv correctly for Python 3.14 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Python 3.14 cleaned up the venv logic, and we have been apparently relying on some hacks that worked by accident. More specifically: 1. pyvenv.cfg location is used explicitly as sys.prefix, so we can no longer put it inside bin/ subdirectory (no clue why we did that -- probably a long chain of historical reasons). 2. "home =" must always be present for venv detection to work. With these changes, Python 3.14 seems now able to correctly detect the venv and set prefixes accordingly. Since they improve correctness, they should also be fine for other Python versions. Apparently, the pyvenv.cfg file was moved into bindir back in 2022, for the trivial reason of using a single directory for all created files. Mea culpa! Fixes: d5b7d1b42500509d31a385fbae77facab02769b7 Signed-off-by: Michał Górny --- eclass/distutils-r1.eclass | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass index cced2b8ffef76..d32e5929177e3 100644 --- a/eclass/distutils-r1.eclass +++ b/eclass/distutils-r1.eclass @@ -1662,7 +1662,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 +2030,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 From f2cc9eb192a986d517b341785031e233f7b3b0b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Sat, 10 May 2025 14:45:37 +0200 Subject: [PATCH 11/11] distutils-r1.eclass: Allow DISTUTILS_UPSTREAM_PEP517=standalone MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Górny --- eclass/distutils-r1.eclass | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass index d32e5929177e3..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