summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-05-03 18:58:27 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-05-03 18:58:27 +0000
commitb7c512b0d54f6a44f1cd97ba991219c7887ba91b (patch)
tree9a2fee15e8b482715b25f72164a54ce37318ba15 /dev-python
parent0dd4db15f9556ddfeaee24e7d14249d4727d70ef (diff)
downloadbaldeagleos-repo-b7c512b0d54f6a44f1cd97ba991219c7887ba91b.tar.gz
baldeagleos-repo-b7c512b0d54f6a44f1cd97ba991219c7887ba91b.tar.xz
baldeagleos-repo-b7c512b0d54f6a44f1cd97ba991219c7887ba91b.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/aiodns/Manifest1
-rw-r--r--dev-python/aiodns/aiodns-3.3.0.ebuild33
-rw-r--r--dev-python/aniso8601/Manifest1
-rw-r--r--dev-python/aniso8601/aniso8601-10.0.0.ebuild25
-rw-r--r--dev-python/aniso8601/aniso8601-10.0.1.ebuild2
-rw-r--r--dev-python/automat/Manifest1
-rw-r--r--dev-python/automat/automat-24.8.1.ebuild49
-rw-r--r--dev-python/automat/automat-25.4.16.ebuild2
-rw-r--r--dev-python/beautifulsoup4/Manifest1
-rw-r--r--dev-python/beautifulsoup4/beautifulsoup4-4.13.3.ebuild41
-rw-r--r--dev-python/beautifulsoup4/beautifulsoup4-4.13.4.ebuild2
-rw-r--r--dev-python/bitarray/Manifest1
-rw-r--r--dev-python/bitarray/bitarray-3.3.2.ebuild24
-rw-r--r--dev-python/boto3/Manifest6
-rw-r--r--dev-python/boto3/boto3-1.37.33.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.37.37.ebuild2
-rw-r--r--dev-python/boto3/boto3-1.38.5.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.38.6.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.38.7.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.38.8.ebuild (renamed from dev-python/boto3/boto3-1.38.4.ebuild)0
-rw-r--r--dev-python/botocore/Manifest6
-rw-r--r--dev-python/botocore/botocore-1.37.33.ebuild67
-rw-r--r--dev-python/botocore/botocore-1.37.37.ebuild2
-rw-r--r--dev-python/botocore/botocore-1.38.5.ebuild67
-rw-r--r--dev-python/botocore/botocore-1.38.6.ebuild67
-rw-r--r--dev-python/botocore/botocore-1.38.7.ebuild67
-rw-r--r--dev-python/botocore/botocore-1.38.8.ebuild (renamed from dev-python/botocore/botocore-1.38.4.ebuild)0
-rw-r--r--dev-python/cachetools/Manifest1
-rw-r--r--dev-python/cachetools/cachetools-6.0.0_beta4.ebuild21
-rw-r--r--dev-python/calver/Manifest1
-rw-r--r--dev-python/calver/calver-2025.04.02.ebuild39
-rw-r--r--dev-python/calver/calver-2025.4.17.ebuild2
-rw-r--r--dev-python/charset-normalizer/Manifest1
-rw-r--r--dev-python/charset-normalizer/charset-normalizer-3.4.2.ebuild27
-rw-r--r--dev-python/clang/Manifest2
-rw-r--r--dev-python/clang/clang-20.1.4.ebuild54
-rw-r--r--dev-python/configshell-fb/Manifest1
-rw-r--r--dev-python/configshell-fb/configshell-fb-2.0.1.ebuild30
-rw-r--r--dev-python/configshell-fb/configshell-fb-2.0.2.ebuild2
-rw-r--r--dev-python/contourpy/contourpy-1.3.2.ebuild2
-rw-r--r--dev-python/cramjam/cramjam-2.10.0.ebuild2
-rw-r--r--dev-python/cython/Manifest1
-rw-r--r--dev-python/cython/cython-3.1.0_beta1-r1.ebuild86
-rw-r--r--dev-python/cython/files/cython-3.1.0_beta1-pypy3.patch36
-rw-r--r--dev-python/dependency-groups/dependency-groups-1.3.1.ebuild2
-rw-r--r--dev-python/django/django-5.2.ebuild2
-rw-r--r--dev-python/docstring-to-markdown/Manifest1
-rw-r--r--dev-python/docstring-to-markdown/docstring-to-markdown-0.17.ebuild35
-rw-r--r--dev-python/ensurepip-pip/Manifest1
-rw-r--r--dev-python/ensurepip-pip/ensurepip-pip-25.1.1.ebuild (renamed from dev-python/ensurepip-setuptools/ensurepip-setuptools-80.1.0.ebuild)6
-rw-r--r--dev-python/ensurepip-setuptools/Manifest6
-rw-r--r--dev-python/ensurepip-setuptools/ensurepip-setuptools-79.0.0.ebuild20
-rw-r--r--dev-python/ensurepip-setuptools/ensurepip-setuptools-80.0.0.ebuild20
-rw-r--r--dev-python/ensurepip-setuptools/ensurepip-setuptools-80.0.1.ebuild20
-rw-r--r--dev-python/ensurepip-setuptools/ensurepip-setuptools-80.2.0.ebuild (renamed from dev-python/ensurepip-setuptools/ensurepip-setuptools-78.1.1.ebuild)0
-rw-r--r--dev-python/fixtures/Manifest1
-rw-r--r--dev-python/fixtures/fixtures-4.2.4_p1.ebuild30
-rw-r--r--dev-python/fixtures/fixtures-4.2.5.ebuild2
-rw-r--r--dev-python/frozenlist/frozenlist-1.6.0.ebuild2
-rw-r--r--dev-python/google-api-python-client/Manifest1
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.166.0.ebuild50
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.167.0.ebuild2
-rw-r--r--dev-python/google-auth/Manifest1
-rw-r--r--dev-python/google-auth/google-auth-2.38.0-r1.ebuild72
-rw-r--r--dev-python/google-auth/google-auth-2.39.0.ebuild2
-rw-r--r--dev-python/googleapis-common-protos/Manifest1
-rw-r--r--dev-python/googleapis-common-protos/googleapis-common-protos-1.69.2.ebuild31
-rw-r--r--dev-python/googleapis-common-protos/googleapis-common-protos-1.70.0.ebuild2
-rw-r--r--dev-python/html2text/Manifest1
-rw-r--r--dev-python/html2text/html2text-2024.2.26.ebuild29
-rw-r--r--dev-python/html2text/html2text-2025.4.15.ebuild2
-rw-r--r--dev-python/inline-snapshot/Manifest1
-rw-r--r--dev-python/inline-snapshot/inline-snapshot-0.21.3.ebuild63
-rw-r--r--dev-python/inline-snapshot/inline-snapshot-0.22.3.ebuild2
-rw-r--r--dev-python/lazy-object-proxy/lazy-object-proxy-1.11.0.ebuild2
-rw-r--r--dev-python/lit/Manifest2
-rw-r--r--dev-python/lit/lit-20.1.4.ebuild46
-rw-r--r--dev-python/markdown/Manifest1
-rw-r--r--dev-python/markdown/markdown-3.7.ebuild39
-rw-r--r--dev-python/markdown/markdown-3.8.ebuild2
-rw-r--r--dev-python/matplotlib/files/matplotlib-3.10.0-test.patch236
-rw-r--r--dev-python/mkdocs-material/Manifest1
-rw-r--r--dev-python/mkdocs-material/mkdocs-material-9.6.11.ebuild71
-rw-r--r--dev-python/mkdocs-material/mkdocs-material-9.6.12.ebuild2
-rw-r--r--dev-python/multidict/multidict-6.4.3.ebuild2
-rw-r--r--dev-python/opentelemetry-api/Manifest2
-rw-r--r--dev-python/opentelemetry-api/opentelemetry-api-1.31.1.ebuild61
-rw-r--r--dev-python/opentelemetry-api/opentelemetry-api-1.32.0.ebuild61
-rw-r--r--dev-python/opentelemetry-api/opentelemetry-api-1.32.1-r1.ebuild2
-rw-r--r--dev-python/opentelemetry-sdk/Manifest2
-rw-r--r--dev-python/opentelemetry-sdk/opentelemetry-sdk-1.31.1.ebuild62
-rw-r--r--dev-python/opentelemetry-sdk/opentelemetry-sdk-1.32.0.ebuild62
-rw-r--r--dev-python/opentelemetry-sdk/opentelemetry-sdk-1.32.1.ebuild2
-rw-r--r--dev-python/opentelemetry-semantic-conventions/Manifest2
-rw-r--r--dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.31.1.ebuild52
-rw-r--r--dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.32.0.ebuild52
-rw-r--r--dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.32.1.ebuild2
-rw-r--r--dev-python/ordered-set/ordered-set-4.1.0-r1.ebuild (renamed from dev-python/ordered-set/ordered-set-4.1.0.ebuild)8
-rw-r--r--dev-python/pillow/pillow-11.2.1.ebuild2
-rw-r--r--dev-python/pip/Manifest1
-rw-r--r--dev-python/pip/pip-25.1.1.ebuild181
-rw-r--r--dev-python/plotly/Manifest1
-rw-r--r--dev-python/plotly/plotly-6.1.0_rc0.ebuild102
-rw-r--r--dev-python/ply/ply-3.11-r2.ebuild3
-rw-r--r--dev-python/prompt-toolkit/Manifest1
-rw-r--r--dev-python/prompt-toolkit/prompt-toolkit-3.0.50.ebuild30
-rw-r--r--dev-python/prompt-toolkit/prompt-toolkit-3.0.51.ebuild2
-rw-r--r--dev-python/pyalsa/pyalsa-1.2.14.ebuild2
-rw-r--r--dev-python/pycairo/pycairo-1.28.0.ebuild2
-rw-r--r--dev-python/pyopengl/files/pyopengl-3.1.7-py312.patch28
-rw-r--r--dev-python/pyscard/pyscard-2.2.2.ebuild2
-rw-r--r--dev-python/pysnmp/Manifest1
-rw-r--r--dev-python/pysnmp/pysnmp-7.1.20.ebuild54
-rw-r--r--dev-python/pysol-cards/Manifest1
-rw-r--r--dev-python/pysol-cards/pysol-cards-0.22.0.ebuild25
-rw-r--r--dev-python/pytest-django/Manifest2
-rw-r--r--dev-python/pytest-django/pytest-django-4.10.0.ebuild51
-rw-r--r--dev-python/pytest-django/pytest-django-4.11.0.ebuild51
-rw-r--r--dev-python/pytest-django/pytest-django-4.11.1.ebuild2
-rw-r--r--dev-python/pytest/files/pytest-8.3.4-pygments-2.19.patch106
-rw-r--r--dev-python/rq/Manifest1
-rw-r--r--dev-python/rq/rq-2.1.0.ebuild73
-rw-r--r--dev-python/rq/rq-2.3.2.ebuild2
-rw-r--r--dev-python/s3transfer/Manifest1
-rw-r--r--dev-python/s3transfer/s3transfer-0.11.4.ebuild39
-rw-r--r--dev-python/s3transfer/s3transfer-0.11.5.ebuild2
-rw-r--r--dev-python/selenium/Manifest2
-rw-r--r--dev-python/selenium/selenium-4.32.0.ebuild144
-rw-r--r--dev-python/setuptools/Manifest6
-rw-r--r--dev-python/setuptools/setuptools-78.1.1.ebuild134
-rw-r--r--dev-python/setuptools/setuptools-79.0.0.ebuild134
-rw-r--r--dev-python/setuptools/setuptools-80.0.1.ebuild135
-rw-r--r--dev-python/setuptools/setuptools-80.1.0.ebuild135
-rw-r--r--dev-python/setuptools/setuptools-80.2.0.ebuild (renamed from dev-python/setuptools/setuptools-80.0.0.ebuild)3
-rw-r--r--dev-python/shtab/Manifest1
-rw-r--r--dev-python/shtab/shtab-1.7.1.ebuild28
-rw-r--r--dev-python/shtab/shtab-1.7.2.ebuild2
-rw-r--r--dev-python/starlette/Manifest1
-rw-r--r--dev-python/starlette/starlette-0.46.1.ebuild57
-rw-r--r--dev-python/starlette/starlette-0.46.2.ebuild2
-rw-r--r--dev-python/tavern/Manifest1
-rw-r--r--dev-python/tavern/tavern-2.14.0.ebuild68
-rw-r--r--dev-python/tavern/tavern-2.15.0.ebuild2
-rw-r--r--dev-python/tree-sitter/tree-sitter-0.24.0.ebuild2
-rw-r--r--dev-python/trimesh/Manifest1
-rw-r--r--dev-python/trimesh/trimesh-4.6.6.ebuild79
-rw-r--r--dev-python/trimesh/trimesh-4.6.8.ebuild2
-rw-r--r--dev-python/types-setuptools/Manifest1
-rw-r--r--dev-python/types-setuptools/types-setuptools-80.1.0.20250503.ebuild16
-rw-r--r--dev-python/uritools/Manifest1
-rw-r--r--dev-python/uritools/uritools-5.0.0.ebuild24
-rw-r--r--dev-python/uv/uv-0.6.14.ebuild2
-rw-r--r--dev-python/uvicorn/Manifest1
-rw-r--r--dev-python/uvicorn/uvicorn-0.34.0.ebuild84
-rw-r--r--dev-python/uvicorn/uvicorn-0.34.1.ebuild2
-rw-r--r--dev-python/weasyprint/Manifest1
-rw-r--r--dev-python/weasyprint/weasyprint-65.0.ebuild47
-rw-r--r--dev-python/weasyprint/weasyprint-65.1.ebuild2
-rw-r--r--dev-python/xlsxwriter/Manifest1
-rw-r--r--dev-python/xlsxwriter/xlsxwriter-3.2.2.ebuild33
-rw-r--r--dev-python/xlsxwriter/xlsxwriter-3.2.3.ebuild2
-rw-r--r--dev-python/xmlschema/Manifest2
-rw-r--r--dev-python/xmlschema/xmlschema-3.4.5.ebuild37
-rw-r--r--dev-python/xmlschema/xmlschema-4.0.0.ebuild38
-rw-r--r--dev-python/xmlschema/xmlschema-4.0.1.ebuild2
-rw-r--r--dev-python/yara-python/Manifest1
-rw-r--r--dev-python/yara-python/yara-python-4.5.2.ebuild40
-rw-r--r--dev-python/yara-python/yara-python-9999.ebuild3
-rw-r--r--dev-python/yarl/yarl-1.20.0.ebuild2
-rw-r--r--dev-python/zeroconf/files/zeroconf-0.146.5-cython-3.1.patch41
-rw-r--r--dev-python/zeroconf/zeroconf-0.146.5.ebuild22
171 files changed, 963 insertions, 3318 deletions
diff --git a/dev-python/aiodns/Manifest b/dev-python/aiodns/Manifest
index eb086c8df57a..cb31844a9ea5 100644
--- a/dev-python/aiodns/Manifest
+++ b/dev-python/aiodns/Manifest
@@ -1 +1,2 @@
DIST aiodns-3.2.0.tar.gz 7823 BLAKE2B 8bafeebbf6ef69001670dffe8df3bd89b817bca921e266e218eaf2a53653d5bb150cef0c99b2fd498d39befb57c6e2edb4d94fbf4b4548e1debce69bcd114ff3 SHA512 ca6ae2d53cc0a0e5b8cd5f47da56d7db43236eb6738509d5cc088e56db996c49eba8b024cfe368e5acf44ad4de4cb5d6f949c7f0d4cd16ff4d5cc42ae3b27cb1
+DIST aiodns-3.3.0.tar.gz 8444 BLAKE2B 6e4fb907b40e70c4be9c9e397f0b4a51d158b5eac0ac772ff272b8f5b255ccd7da84217eefa25485a12fe297fd7f66212fca4d7856d828fc6f0323478d624c7b SHA512 6209246c85e7871dc45fa84613e963bd500f18da5b2ffc672cf40f0efd36e858a2203b9a47f3f59f8b1d1d3a862bace0fbafa4e52b628c7a36df5b0b0876f7f9
diff --git a/dev-python/aiodns/aiodns-3.3.0.ebuild b/dev-python/aiodns/aiodns-3.3.0.ebuild
new file mode 100644
index 000000000000..112ba73f95ec
--- /dev/null
+++ b/dev-python/aiodns/aiodns-3.3.0.ebuild
@@ -0,0 +1,33 @@
+# 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_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Simple DNS resolver for asyncio"
+HOMEPAGE="
+ https://pypi.org/project/aiodns/
+ https://github.com/aio-libs/aiodns/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+# Tests fail with network-sandbox, since they try to resolve google.com
+PROPERTIES="test_network"
+RESTRICT="test"
+
+RDEPEND=">=dev-python/pycares-3[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/aniso8601/Manifest b/dev-python/aniso8601/Manifest
index f1cde86b9f4c..cba1e487a9ff 100644
--- a/dev-python/aniso8601/Manifest
+++ b/dev-python/aniso8601/Manifest
@@ -1,2 +1 @@
-DIST aniso8601-10.0.0.tar.gz 47008 BLAKE2B ab1746fe61700bceb4f1a8c3eabb7eba87c8fc15d956e21af249492c114ec7684758f6e4ddd46d35b3dff6d03d5ed27b933ed282638913bb3ec407bb93c005d1 SHA512 62cb81308f8445d05d81d97928a1c5d93434ba59364b471cf4adb074aab6e465921a283c2403880b16771b7e8c1e2d6b91bdc9e1e6fcbcf6c83c88b8bb842a6c
DIST aniso8601-10.0.1.tar.gz 47190 BLAKE2B a875ad5e1e200c30210fa4bde7be65d8366dd5b3eeedc66ccc0c8bbdbaf4e307f2c8e0cc7ceee9d8d52a9ea1f79146a7e9fc01d149893692c408d98a8c451f38 SHA512 fa041e11318ec59dfdafbc667c82d9dbc6db8f12225adc0ba36200dadb7350bd92b2fb7ecac516a22ff0ce57d9fd22317a096f97a40afe91f0fc3d06d4e52d80
diff --git a/dev-python/aniso8601/aniso8601-10.0.0.ebuild b/dev-python/aniso8601/aniso8601-10.0.0.ebuild
deleted file mode 100644
index 944c22da7d78..000000000000
--- a/dev-python/aniso8601/aniso8601-10.0.0.ebuild
+++ /dev/null
@@ -1,25 +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_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A library for parsing ISO 8601 strings"
-HOMEPAGE="
- https://bitbucket.org/nielsenb/aniso8601/
- https://pypi.org/project/aniso8601/
-"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-RDEPEND="
- >=dev-python/python-dateutil-2.7.3[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/aniso8601/aniso8601-10.0.1.ebuild b/dev-python/aniso8601/aniso8601-10.0.1.ebuild
index da0cc606567c..944c22da7d78 100644
--- a/dev-python/aniso8601/aniso8601-10.0.1.ebuild
+++ b/dev-python/aniso8601/aniso8601-10.0.1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 x86"
RDEPEND="
>=dev-python/python-dateutil-2.7.3[${PYTHON_USEDEP}]
diff --git a/dev-python/automat/Manifest b/dev-python/automat/Manifest
index 5196f7653b7f..58ca2d743aef 100644
--- a/dev-python/automat/Manifest
+++ b/dev-python/automat/Manifest
@@ -1,2 +1 @@
-DIST automat-24.8.1.tar.gz 128679 BLAKE2B 17da0371ac3b7fc46f1521b4ee646395c82838dd811971fcc30e0baf5176686dd914fcbc18be56401e3cbbd92400398c70c46c686b7f9aa26fa2917d70938f28 SHA512 f42344a665f7cf31cf53274e4371c06b008818373a666ab3dfd2874bd9cf9a842c5999f1fa21978e7ccd583ddcadecbf9515d1d1d9b60744164cdc58717fb339
DIST automat-25.4.16.tar.gz 129977 BLAKE2B 71380c8ef3c9ae90db0b620c70888b0963b48dc1e9bf6e03a0bb1a75fd54c6a224d2b7042b3641daf7e5d2b36bb811ab682eab4ca11d6d4595e47aefdeb0dcb9 SHA512 777e86de51d7197dfd6bf9f4cc88c5a8d0cad5ccc6f83ef58e95c326658429639f39d10b16975422dbe322e4a19f54f8fbca47d1c6f4ee2dcdbb3bf28e67ae33
diff --git a/dev-python/automat/automat-24.8.1.ebuild b/dev-python/automat/automat-24.8.1.ebuild
deleted file mode 100644
index e153e54bdcbb..000000000000
--- a/dev-python/automat/automat-24.8.1.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_PN=${PN^}
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Self-service finite-state machines for the programmer on the go"
-HOMEPAGE="
- https://github.com/glyph/automat/
- https://pypi.org/project/Automat/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
-IUSE="examples"
-
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/twisted[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- benchmark
-)
-
-python_install_all() {
- if use examples; then
- docinto examples
- dodoc docs/examples/*.py
- fi
-
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- einfo "For additional visualization functionality install both these optional dependencies"
- einfo " >=dev-python/twisted-16.1.1"
- einfo " media-gfx/graphviz[python]"
-}
diff --git a/dev-python/automat/automat-25.4.16.ebuild b/dev-python/automat/automat-25.4.16.ebuild
index 3274995f9253..e153e54bdcbb 100644
--- a/dev-python/automat/automat-25.4.16.ebuild
+++ b/dev-python/automat/automat-25.4.16.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
IUSE="examples"
BDEPEND="
diff --git a/dev-python/beautifulsoup4/Manifest b/dev-python/beautifulsoup4/Manifest
index 4b2b3b3f47c9..b3fe22fab194 100644
--- a/dev-python/beautifulsoup4/Manifest
+++ b/dev-python/beautifulsoup4/Manifest
@@ -1,2 +1 @@
-DIST beautifulsoup4-4.13.3.tar.gz 619516 BLAKE2B f7fc24efe3a107b063b985888481e851ff73e1a1b672701af7846cab6d7ba550339111c0c0b6928656f034561a33e264bf3cfa5c0f097eb6c64a9b46a795fcb6 SHA512 44cc938e5f981be0deeba864ed44460bcf37e8cdc1c1732fc948d3bc310b1b1008817a63794eb650165d7b56eda6d668ab0e16bcc5dd3ffcecbd932f743d48c1
DIST beautifulsoup4-4.13.4.tar.gz 621067 BLAKE2B 7e4cb0156443efc18d11ddb20dfeb5b4e3338ea19d6f90a4e6ebf67d88441552d1b3bf21c51714c50c2c418d93b9a6fc085bbf531dffa35231e6e177dcf9d11c SHA512 7763e7e8528db54c48d29cd300155fc6d5b69785d3ea7d6ca14427b81b384838c4015d952ad6111800aa0b50632e16959cc311f3ff25b3860d7600e3cd3a10d4
diff --git a/dev-python/beautifulsoup4/beautifulsoup4-4.13.3.ebuild b/dev-python/beautifulsoup4/beautifulsoup4-4.13.3.ebuild
deleted file mode 100644
index fdbaeddf0109..000000000000
--- a/dev-python/beautifulsoup4/beautifulsoup4-4.13.3.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Pythonic idioms for iterating, searching, and modifying an HTML/XML parse tree"
-HOMEPAGE="
- https://www.crummy.com/software/BeautifulSoup/bs4/
- https://pypi.org/project/beautifulsoup4/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-RDEPEND="
- dev-python/html5lib[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
- >=dev-python/soupsieve-2.6[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.0.0[${PYTHON_USEDEP}]
-"
-# bs4 prefers cchardet > chardet > charset-normalizer
-# however, charset-normalizer causes test failures, so force the other two
-# dev-python/chardet[${PYTHON_USEDEP}]
-BDEPEND="
- test? (
- || (
- dev-python/faust-cchardet[${PYTHON_USEDEP}]
- dev-python/chardet[${PYTHON_USEDEP}]
- )
- dev-python/packaging[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx doc
diff --git a/dev-python/beautifulsoup4/beautifulsoup4-4.13.4.ebuild b/dev-python/beautifulsoup4/beautifulsoup4-4.13.4.ebuild
index 73adc165b02e..fdbaeddf0109 100644
--- a/dev-python/beautifulsoup4/beautifulsoup4-4.13.4.ebuild
+++ b/dev-python/beautifulsoup4/beautifulsoup4-4.13.4.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
RDEPEND="
dev-python/html5lib[${PYTHON_USEDEP}]
diff --git a/dev-python/bitarray/Manifest b/dev-python/bitarray/Manifest
index c895dbe81d91..0b40ba98c86a 100644
--- a/dev-python/bitarray/Manifest
+++ b/dev-python/bitarray/Manifest
@@ -1 +1,2 @@
DIST bitarray-3.3.1.tar.gz 139152 BLAKE2B 30ea76a65480a8849e727aee74e70222eaedb70046eff3fd74687e74bdfa0aeb32a0034b2feffbc5f13246e38794dfd4db0ffa3b3437a309e3b5a92755e98f76 SHA512 099095b89b1b7a600d191d1ec6c0ffc79867d5d35b08cbc92ddbe96f1032ca86d30a16fb3f23ca71919c1924b147ada71365550bd518b71c8a030dd0ae636028
+DIST bitarray-3.3.2.tar.gz 138926 BLAKE2B 35f068220f661bdb0fe2405d770e65bd39d78ae8ca0081aa5ccf58fb3666dec01e39c044901fdd5b3b65aab987768bd683033cd8aaf9d2f7728a8c43493e2101 SHA512 876c16e0a13db40e46ea643bfe82d85bcf33ad7154fb2d0d3c0065507758bdaa556b078e666fb7565402dbd168d591edef3577fa142bca1e53cc60d2aefc5ca0
diff --git a/dev-python/bitarray/bitarray-3.3.2.ebuild b/dev-python/bitarray/bitarray-3.3.2.ebuild
new file mode 100644
index 000000000000..aea47d8e463c
--- /dev/null
+++ b/dev-python/bitarray/bitarray-3.3.2.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Efficient arrays of booleans -- C extension"
+HOMEPAGE="
+ https://github.com/ilanschnell/bitarray/
+ https://pypi.org/project/bitarray/
+"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
+
+python_test() {
+ "${EPYTHON}" bitarray/test_bitarray.py -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 5426f9977004..534a2f143c32 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -1,7 +1,3 @@
-DIST boto3-1.37.33.gh.tar.gz 927758 BLAKE2B ed246a9e8966bfb51a3ef567461a5ec6103cb7e710799db908b5c5e790c09b765a1b977f8b1a0b4f65ecc013178afe1c8e0b03729e1c4ae9f20a22a21e248267 SHA512 373b5eb1340c7da82b3d4e493f63e4b9e4b80fa4fe3a215961ea8c793382efca83de9b3c744456de572c9b6bb7bbb73cffdbc7d892d501da3213ed9073ae2264
DIST boto3-1.37.37.gh.tar.gz 930327 BLAKE2B 93ed4e903189a9620f13e71fe64557ebcfa5c696688b4a21fc4de0f9d21f51fd3b9c9dafa4a5dc91fc88165c14207b17b3f121e9eebdf1c1ab7e55472573d2ec SHA512 e19700633ccf6be76ab1baa0811c24d36aba7e0b8f1933fc10d1dc67d73ec0cd66a4c45ace1f2bdf815c3b35ffafaff2ce7ce9a4678e7f57984039f96d0f9fa0
DIST boto3-1.38.3.gh.tar.gz 934010 BLAKE2B f5008a63aec620385e06c15e97ea37335bba190e5a29920c14389ae0dfc0e09a70ce70f8b50c0d25feda3defd9e855739305d19df7759688c156f53fc698b533 SHA512 8f300e38c7912f5df00431c1b70494521ac49500512b4aba7dc18f6bf0e570508d6a00fe8a98eb3c8607af39744a67e3b47d69507dbaf25d44dd02085f24bf95
-DIST boto3-1.38.4.gh.tar.gz 934346 BLAKE2B e8c1a924d565208839ff3ad069bd19f022b2caf09b19b0b045324233a4020e92579845b8c94b589e530db2f599b3ab8aaae301ddc68a49bcf20a850238d2e191 SHA512 652d9a9bf476632dbe2a227d46cb9ae216a41cce812b0bf703b69c89bb7573a00ac43134955c70cac5234f0866b38ab411dd4205ddefb29d284fc1da40ee06f6
-DIST boto3-1.38.5.gh.tar.gz 935622 BLAKE2B 57b3d454340298ae91904c7d343c3a663f782d773f98175d90b6e3ff39bee97a9f55a42193298e7690bcaf43af42241043eadc0c60b8549c104db2cd2df6dbf8 SHA512 d2cb67eea9cd06602ff25e791ecf66ef59901725f95af9b8d3a87099d862bdf5430dcf2866f024ebd13d41934eb0dd12c162e30d64c81d7b8e96850a40ce76e8
-DIST boto3-1.38.6.gh.tar.gz 936598 BLAKE2B 592503453cf4ebe08005337e20d5f7f24926e660bc85c64d44f0503b9030ad3b2df4743998843335b6a3fcbe14f12c98f89cc14c153a1f55cda76c98d35af3c6 SHA512 570c51448dab236ff091f582ecbfb3e1fdcce7c9d0ebcc77ae3a0586a1917ca6c8569aa1c335d00b9714bcf2f6d4f4d43a6b54adcf0e439647b93a469d04bd66
-DIST boto3-1.38.7.gh.tar.gz 936940 BLAKE2B b6a3a4b14d6f76571f0cd0e58f2faa734febf12423f1f642637e05998241f92d53073d8235fa7aaad1dec5d3a6985f1f09bbfc82ea9b69cdd610c6e104ac534a SHA512 33a3cbc5943fa383b8183f0f0334172b73b3ae2c12911b244e9063fe0fafb949160db4c1231f22aa0a13eefdfe42fb54c41d987187f12e04447cd4279c60695b
+DIST boto3-1.38.8.gh.tar.gz 937130 BLAKE2B 4158573a032957c33f62c6406937a45956f4ccf972be4a223e16a327b0b476402a1e7bf7d9b6a5b83005fc324f6c0062ed73008972cabed9247790225c4d4e5a SHA512 3c3854ed132ad4c81cd868848a370cdc73101ac3c578f8ae70bc53c9a98b1d85dcd364258027adef976b3c6d220aa45f865928c055c9320d3a268e0e29d5af63
diff --git a/dev-python/boto3/boto3-1.37.33.ebuild b/dev-python/boto3/boto3-1.37.33.ebuild
deleted file mode 100644
index 6787304b870f..000000000000
--- a/dev-python/boto3/boto3-1.37.33.ebuild
+++ /dev/null
@@ -1,53 +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_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-DESCRIPTION="The AWS SDK for Python"
-HOMEPAGE="
- https://github.com/boto/boto3/
- https://pypi.org/project/boto3/
-"
-SRC_URI="
- https://github.com/boto/boto3/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
- >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
- >=dev-python/s3transfer-0.11.0[${PYTHON_USEDEP}]
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # don't lock versions to narrow ranges
- sed -e '/botocore/ d' \
- -e '/jmespath/ d' \
- -e '/s3transfer/ d' \
- -i setup.py || die
-
- # do not rely on bundled deps in botocore (sic!)
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/boto3/boto3-1.37.37.ebuild b/dev-python/boto3/boto3-1.37.37.ebuild
index dfe05b3d9a81..6787304b870f 100644
--- a/dev-python/boto3/boto3-1.37.37.ebuild
+++ b/dev-python/boto3/boto3-1.37.37.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
RDEPEND="
>=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
diff --git a/dev-python/boto3/boto3-1.38.5.ebuild b/dev-python/boto3/boto3-1.38.5.ebuild
deleted file mode 100644
index b862f479d876..000000000000
--- a/dev-python/boto3/boto3-1.38.5.ebuild
+++ /dev/null
@@ -1,53 +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_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-DESCRIPTION="The AWS SDK for Python"
-HOMEPAGE="
- https://github.com/boto/boto3/
- https://pypi.org/project/boto3/
-"
-SRC_URI="
- https://github.com/boto/boto3/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
- >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
- >=dev-python/s3transfer-0.12.0[${PYTHON_USEDEP}]
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # don't lock versions to narrow ranges
- sed -e '/botocore/ d' \
- -e '/jmespath/ d' \
- -e '/s3transfer/ d' \
- -i setup.py || die
-
- # do not rely on bundled deps in botocore (sic!)
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/boto3/boto3-1.38.6.ebuild b/dev-python/boto3/boto3-1.38.6.ebuild
deleted file mode 100644
index b862f479d876..000000000000
--- a/dev-python/boto3/boto3-1.38.6.ebuild
+++ /dev/null
@@ -1,53 +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_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-DESCRIPTION="The AWS SDK for Python"
-HOMEPAGE="
- https://github.com/boto/boto3/
- https://pypi.org/project/boto3/
-"
-SRC_URI="
- https://github.com/boto/boto3/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
- >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
- >=dev-python/s3transfer-0.12.0[${PYTHON_USEDEP}]
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # don't lock versions to narrow ranges
- sed -e '/botocore/ d' \
- -e '/jmespath/ d' \
- -e '/s3transfer/ d' \
- -i setup.py || die
-
- # do not rely on bundled deps in botocore (sic!)
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/boto3/boto3-1.38.7.ebuild b/dev-python/boto3/boto3-1.38.7.ebuild
deleted file mode 100644
index b862f479d876..000000000000
--- a/dev-python/boto3/boto3-1.38.7.ebuild
+++ /dev/null
@@ -1,53 +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_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-DESCRIPTION="The AWS SDK for Python"
-HOMEPAGE="
- https://github.com/boto/boto3/
- https://pypi.org/project/boto3/
-"
-SRC_URI="
- https://github.com/boto/boto3/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
- >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
- >=dev-python/s3transfer-0.12.0[${PYTHON_USEDEP}]
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # don't lock versions to narrow ranges
- sed -e '/botocore/ d' \
- -e '/jmespath/ d' \
- -e '/s3transfer/ d' \
- -i setup.py || die
-
- # do not rely on bundled deps in botocore (sic!)
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/boto3/boto3-1.38.4.ebuild b/dev-python/boto3/boto3-1.38.8.ebuild
index b862f479d876..b862f479d876 100644
--- a/dev-python/boto3/boto3-1.38.4.ebuild
+++ b/dev-python/boto3/boto3-1.38.8.ebuild
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index 435862b36418..ea92348a24a6 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -1,7 +1,3 @@
-DIST botocore-1.37.33.gh.tar.gz 14547041 BLAKE2B 65fc9cd205b582dd5b046670dec5708d16e638789edfa3c3c6126f404b83a150210d92bb108156540523b0ed30ad06b5ecaa832ed8c751b99ba49b8cc975e4cd SHA512 e07480e100aa3b58831fb76f58d69e1ccea85c629ce9048909d51072d1b2a66ce10b65f97bfc0b82ba5235257035e85442b31b09a3fe4bbb2dfed7bcbeebfc37
DIST botocore-1.37.37.gh.tar.gz 14563135 BLAKE2B 290689f13333ab7ebdbac0bccf6568035776482dbab62c542a41ce6bf93b9d5e01400526c50534fb068798dc5626408c039f8746f091fe881cb70629c6ccd6e4 SHA512 3e020f6f264ef19a71f812733536812abe92e5998f3c19766782e01cdd235a17648b330bdb64289ea8b87a520625e0c7ece9436e014ade111d66bc4181f5bec9
DIST botocore-1.38.3.gh.tar.gz 14578552 BLAKE2B 4766db1ba2651ebe65c79f8a37c91cf95875a20c0cc51c1886cd394b90d50109738daa79b398e0c4b80031cfab69e1338dfaafbc0ae796fffa3348f6b13fc1ce SHA512 ad69e119d5bbc98a0c14c1c927badeecc1f57d31305e6a07af41d4d4bf6755f5abc150e36321f71b9495221ad93052d84a1dc964fb9ef6fdd791d4c37e75a01a
-DIST botocore-1.38.4.gh.tar.gz 14586930 BLAKE2B 0af73a09979542d92656ecd0f4ad8bdc1d16d99e708b256f7f5150fbd45a3e6fdce261ef388663490174df6a5851118894a69858cd3cb9050d22f6005f92fdd9 SHA512 779ae3bfafc3538871cde13f6aaaf4efdbc1c6ce94d66c6329ec547fd10404d9679b7ab754723fb34c9748217ceccbe921ed8e67da2c0164b291201e0541d530
-DIST botocore-1.38.5.gh.tar.gz 14593808 BLAKE2B 2b9d177cc2da31dfffa76004ded8d1c71bdd8fc89006aa18218d0b5450b23ee953f3afd813e940197b6eadc84a9e46482b013ebdf512a3026d3e3694c822da65 SHA512 cd66fc5e71739c4880af2db7a08f11693e6ce89f97edd1af57f30b517ea28d75bfbede0d2188c197682d06012f8762e8018dca792ecc0e0b561631c076bb6eb0
-DIST botocore-1.38.6.gh.tar.gz 14601398 BLAKE2B 9d997eb7b9a8bbf85406b3a71c6888186b0642298f14233944e403772155a7bbce4ce6d84582646d95ca262a15e734c1b5d1d4ea06a60c342e67f7d0b535d0d8 SHA512 22bdaf20838a77add2cdf1d91e3fdc30bc3b00bc5675d70d02e5201736321e1548e46a0b5f1b95c809bf9bdf88a96b55b56d4af5c4e18ff453aa82d54db6e024
-DIST botocore-1.38.7.gh.tar.gz 14606158 BLAKE2B 626cb48312e5b32ba6d382eb2c385f460284518edef61170133cf1d73e781ff53be5dc19b8ddec6d8bd85ce80d59eb2c6682fda5e437cecc50283996f6b08981 SHA512 6a4e028b9cf88e427a9da361951f8372da487dbe4b9532ba3fc29c4da46945ac0690b4551c1dd124353da70675911818027cb5f2f6c22f3eff8fb9e632d98e10
+DIST botocore-1.38.8.gh.tar.gz 14606167 BLAKE2B cb92f6014349f5188d62ddeb043e7532c50c7edc984cabae918825cdace981694c37ba656afcbbb64e65e275da4980d5f256a945bbcc63f9609272b08690c3d5 SHA512 bc9096051fde740a908ef0912a0c205595e7df653a349c167f616a788423578ba6b3aed6fe6213f528faa32b1c946abf0ac66dd81afdc05d41d12a4af4f7e818
diff --git a/dev-python/botocore/botocore-1.37.33.ebuild b/dev-python/botocore/botocore-1.37.33.ebuild
deleted file mode 100644
index 09e3985b6065..000000000000
--- a/dev-python/botocore/botocore-1.37.33.ebuild
+++ /dev/null
@@ -1,67 +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_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-DESCRIPTION="Low-level, data-driven core of boto 3"
-HOMEPAGE="
- https://github.com/boto/botocore/
- https://pypi.org/project/botocore/
-"
-SRC_URI="
- https://github.com/boto/botocore/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- <dev-python/jmespath-2[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
-"
-# unbundled packages
-RDEPEND+="
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/jsonschema[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin deps
- sed -i -e "s:>=.*':':" setup.py || die
-
- # unbundle deps
- rm -r botocore/vendored || die
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # rely on bundled six
- tests/functional/test_six_imports.py::test_no_bare_six_imports
- tests/functional/test_six_threading.py::test_six_thread_safety
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/botocore/botocore-1.37.37.ebuild b/dev-python/botocore/botocore-1.37.37.ebuild
index df85ee0d220c..09e3985b6065 100644
--- a/dev-python/botocore/botocore-1.37.37.ebuild
+++ b/dev-python/botocore/botocore-1.37.37.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
RDEPEND="
<dev-python/jmespath-2[${PYTHON_USEDEP}]
diff --git a/dev-python/botocore/botocore-1.38.5.ebuild b/dev-python/botocore/botocore-1.38.5.ebuild
deleted file mode 100644
index df85ee0d220c..000000000000
--- a/dev-python/botocore/botocore-1.38.5.ebuild
+++ /dev/null
@@ -1,67 +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_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-DESCRIPTION="Low-level, data-driven core of boto 3"
-HOMEPAGE="
- https://github.com/boto/botocore/
- https://pypi.org/project/botocore/
-"
-SRC_URI="
- https://github.com/boto/botocore/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- <dev-python/jmespath-2[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
-"
-# unbundled packages
-RDEPEND+="
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/jsonschema[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin deps
- sed -i -e "s:>=.*':':" setup.py || die
-
- # unbundle deps
- rm -r botocore/vendored || die
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # rely on bundled six
- tests/functional/test_six_imports.py::test_no_bare_six_imports
- tests/functional/test_six_threading.py::test_six_thread_safety
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/botocore/botocore-1.38.6.ebuild b/dev-python/botocore/botocore-1.38.6.ebuild
deleted file mode 100644
index df85ee0d220c..000000000000
--- a/dev-python/botocore/botocore-1.38.6.ebuild
+++ /dev/null
@@ -1,67 +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_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-DESCRIPTION="Low-level, data-driven core of boto 3"
-HOMEPAGE="
- https://github.com/boto/botocore/
- https://pypi.org/project/botocore/
-"
-SRC_URI="
- https://github.com/boto/botocore/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- <dev-python/jmespath-2[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
-"
-# unbundled packages
-RDEPEND+="
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/jsonschema[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin deps
- sed -i -e "s:>=.*':':" setup.py || die
-
- # unbundle deps
- rm -r botocore/vendored || die
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # rely on bundled six
- tests/functional/test_six_imports.py::test_no_bare_six_imports
- tests/functional/test_six_threading.py::test_six_thread_safety
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/botocore/botocore-1.38.7.ebuild b/dev-python/botocore/botocore-1.38.7.ebuild
deleted file mode 100644
index df85ee0d220c..000000000000
--- a/dev-python/botocore/botocore-1.38.7.ebuild
+++ /dev/null
@@ -1,67 +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_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-DESCRIPTION="Low-level, data-driven core of boto 3"
-HOMEPAGE="
- https://github.com/boto/botocore/
- https://pypi.org/project/botocore/
-"
-SRC_URI="
- https://github.com/boto/botocore/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- <dev-python/jmespath-2[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
-"
-# unbundled packages
-RDEPEND+="
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/jsonschema[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin deps
- sed -i -e "s:>=.*':':" setup.py || die
-
- # unbundle deps
- rm -r botocore/vendored || die
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # rely on bundled six
- tests/functional/test_six_imports.py::test_no_bare_six_imports
- tests/functional/test_six_threading.py::test_six_thread_safety
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/botocore/botocore-1.38.4.ebuild b/dev-python/botocore/botocore-1.38.8.ebuild
index df85ee0d220c..df85ee0d220c 100644
--- a/dev-python/botocore/botocore-1.38.4.ebuild
+++ b/dev-python/botocore/botocore-1.38.8.ebuild
diff --git a/dev-python/cachetools/Manifest b/dev-python/cachetools/Manifest
index b028bde4f12c..7def1ab51e43 100644
--- a/dev-python/cachetools/Manifest
+++ b/dev-python/cachetools/Manifest
@@ -1,2 +1,3 @@
DIST cachetools-5.5.2.tar.gz 28380 BLAKE2B ff0f838bdcf3ff29a466829a34e80c83a0d15763039bc9d81e254daf150bbd39a42a04b4541be06d7beaa938561a1d35646a83eb22474baccd33479d5a56b53e SHA512 9969eb5ca092174975a79e664594842b4ae4f671bc17ae3e3d2d286b164eb408af254d6b40358dcbe5e4341fc6a0ef928e192eb1432696ed7654729062555a29
DIST cachetools-6.0.0b3.tar.gz 29181 BLAKE2B 8dee80202f141b534372d3abe3a44f3e26d8e9b65433006bc61057d4d2f603bb0acb9bc1e9c66e732235f878a8cbc7c10c6d732f654ad076e02e5a430ef0191e SHA512 8dc36cb6f804a600fc59f900e40c13dc907e58f87fdf7b336d5060a3c7424c8769742f39a1cef7fed6f8af3e88c8f9b4a29fd13d9caea00ab97b4abb8197cc22
+DIST cachetools-6.0.0b4.tar.gz 30050 BLAKE2B a495ba3244f18a9b8fc7c9b1226c34ca4019660d41afee07963f114e5915faec36b31dc0ab74e2be9a87462641252a85f8629072c24f3df908bff805b1ef5e57 SHA512 89861cb48c922d7e61cd03fec3b0836029814bc4e90ae0047deaf8e8d878069a74e6f4cb69b0fb490564623cda0ce3fe8bf4c4f65939e1612e2ac9130ad46b8f
diff --git a/dev-python/cachetools/cachetools-6.0.0_beta4.ebuild b/dev-python/cachetools/cachetools-6.0.0_beta4.ebuild
new file mode 100644
index 000000000000..6227509adae7
--- /dev/null
+++ b/dev-python/cachetools/cachetools-6.0.0_beta4.ebuild
@@ -0,0 +1,21 @@
+# 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_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Extensible memoizing collections and decorators"
+HOMEPAGE="
+ https://github.com/tkem/cachetools/
+ https://pypi.org/project/cachetools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/calver/Manifest b/dev-python/calver/Manifest
index b6cf978e1ebf..b3df05ec441e 100644
--- a/dev-python/calver/Manifest
+++ b/dev-python/calver/Manifest
@@ -1,2 +1 @@
-DIST calver-2025.04.02.gh.tar.gz 8158 BLAKE2B 4e1fb81d8e8295497ae30d2323799460838db3de10317fd2301113d95574630efee7c3abb32e35a97be21f86aac28cb283e2d13e26ead9d421f3f4ddb4e5ab8a SHA512 7af7a2f844bcfcdacd1a4e985c508b1901a5194c3e21e1f7b7c0f381778ac905dba1276ef7201db6140b08fb57fef8acaf293b270710160871e353e8315c9a02
DIST calver-2025.4.17.tar.gz 8082 BLAKE2B af80804f29bdcafecd65f771da6e5ba7d28b3a47324bc9203984827bc5588ca6222f242cad23d8d67e921141ab5cee3ba00827d88cc85a8817bdcdabbab44b85 SHA512 08e925ce646d1ec64b8992603df5af5c7ff41660ee033c9d4ad7d4a9252493e5578af4cf5e9de40bbc6c17c65e7d37f6b323f8d9821c10e874069f6f16d14ddc
diff --git a/dev-python/calver/calver-2025.04.02.ebuild b/dev-python/calver/calver-2025.04.02.ebuild
deleted file mode 100644
index 6fa8c73fe7cc..000000000000
--- a/dev-python/calver/calver-2025.04.02.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2022-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Setuptools extension for CalVer package versions"
-HOMEPAGE="
- https://github.com/di/calver/
- https://pypi.org/project/calver/
-"
-SRC_URI="
- https://github.com/di/calver/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-BDEPEND="
- >=dev-python/setuptools-77.0.1[${PYTHON_USEDEP}]
- test? (
- dev-python/pretend[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_compile() {
- # what a mess, also we need to scope it not to break tests
- local -x SOURCE_DATE_EPOCH=$(date --date="${PV//./-}" +%s)
-
- distutils-r1_src_compile
-}
diff --git a/dev-python/calver/calver-2025.4.17.ebuild b/dev-python/calver/calver-2025.4.17.ebuild
index dba2085bdc7e..7be0e3afc0ba 100644
--- a/dev-python/calver/calver-2025.4.17.ebuild
+++ b/dev-python/calver/calver-2025.4.17.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
BDEPEND="
>=dev-python/setuptools-77.0.1[${PYTHON_USEDEP}]
diff --git a/dev-python/charset-normalizer/Manifest b/dev-python/charset-normalizer/Manifest
index 2bfccaa94354..11a72561fdb3 100644
--- a/dev-python/charset-normalizer/Manifest
+++ b/dev-python/charset-normalizer/Manifest
@@ -1 +1,2 @@
DIST charset_normalizer-3.4.1.tar.gz 123188 BLAKE2B 04a2a47967d3992eb6320f173689693efb0614d67986fe1417f2f096435d2cdfaf10c57b6ecd2659f19ee907902c16fcd30f050cd14460973a059fc62ea999e3 SHA512 2891c0bd3097ad38d296a8378ded36110a06113c0f79e49cdfd7f3bca4f42487d10895db34cbb020cb70e93d9094ae72555ceef5535f8984de1cac4082232f4f
+DIST charset_normalizer-3.4.2.tar.gz 126367 BLAKE2B a83f719394753e7612657caee102c2a662980ef78e2be25a7f109913eb2650ec94b6a01a885a4f7a66b6ca8d47c680c163fdaf6bd043226b340a7aec6f15ab78 SHA512 702d9c23fe68d3538e4f45d5d9451beb02853ecf1ec6b36a7068ed8ade707bd0fd2a1764137381294590d0e5ffc2e296866f402dff33f65ec0458cf1102970fe
diff --git a/dev-python/charset-normalizer/charset-normalizer-3.4.2.ebuild b/dev-python/charset-normalizer/charset-normalizer-3.4.2.ebuild
new file mode 100644
index 000000000000..9d47bfe33c8c
--- /dev/null
+++ b/dev-python/charset-normalizer/charset-normalizer-3.4.2.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="The Real First Universal Charset Detector"
+HOMEPAGE="
+ https://pypi.org/project/charset-normalizer/
+ https://github.com/jawah/charset_normalizer/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts=
+}
diff --git a/dev-python/clang/Manifest b/dev-python/clang/Manifest
index 3406a662077f..dd22b3e8351b 100644
--- a/dev-python/clang/Manifest
+++ b/dev-python/clang/Manifest
@@ -10,5 +10,7 @@ DIST llvm-project-19.1.7.src.tar.xz 141249332 BLAKE2B 1259ed7f9aca7b35e89d818bef
DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf6f30e75705123d067ea97175d91d7a5b6a75008df01d99ae7aa16aaa3b101f3f41e38d01f04158f95a261d617b3ede0254cd SHA512 195797b06ac80a742e0ccbc03a50dc06dd2e04377d783d5474e3e72c5a75203b60292b047929312a411d22b137a239943fba414a4d136a2be14cbff978eb6bda
DIST llvm-project-20.1.3.src.tar.xz 147212776 BLAKE2B c738abb66dc82580a8f511829bcf87dd8deb8381bd073cd547e4eb02097c0190fa06488e5500cefce95953315432ee6ae3c103c491d08eca4b019e043691fc12 SHA512 79d6cfd10075ec9d05b9a359c09579e07a2caff9167518519457daee3e37a818100da6712804916880797ecb0b4891b18dc52a03b534e1b9d1d4bb5ba8d5ad1e
DIST llvm-project-20.1.3.src.tar.xz.sig 566 BLAKE2B 1b584b61f773013f3964dbd0ee026c00e702cfe758acdacc7bffb6793c42eea638cc812bd1a3cddf210a9ad7d98f707d4f1e748d360b66427fded79f24d8610b SHA512 4fd3815cd94113234e66083f955993a95c888cbb89d5baf611b76765511e102af9f1e880cbacc709f0be8785abd5abbfb0ce391793308dfec3c248a9b348e492
+DIST llvm-project-20.1.4.src.tar.xz 147228104 BLAKE2B 756799d104f94931a6bdca182c4b23983aad9c7ea5acf77f2f5519540137a8dc9a4ec227293c6ba7ddc7fb0fa10cc92e65808f1c07f04bea34a304bb0e2df612 SHA512 acace8175a5468c7e84a89d1564e147e81fe92b6d910f22b058edf72094b27176677c06dbe141fccfbabdad77165f957bbf1ec8aff7bffc85f0757c0103f7e59
+DIST llvm-project-20.1.4.src.tar.xz.sig 566 BLAKE2B 1f0f057dedf938190554ca1a51d9837da9faa38851edb7fe6f305769f3048b5507b010cb81b97550a13c9141e03480009602ff092ddd65b42483b0f79c1523e8 SHA512 634414ea877724ebdeeabe3bb1079d78938aa05dba2243d5458cf211c35444124dc01fa73a593548290196f8c0e40e1e6a4a72571dba4b716b5781c656c6f9b2
DIST llvm-project-ac8fc09688e10e983b99224b5dc5cbbeeedb1879.tar.gz 231567089 BLAKE2B f7878f114c908b21d179854bc693716b34b963612c6b5172789a37cd21fa316720d4e9498bc7679058db3e822ed240bfdafd85bfd00154914d747d0c0ed1cb48 SHA512 4c39db8b22fa087ca96c3b4541ec77ba8a826a126b4e93b0650e59b3622b22b329f60fa3780dd4572fdece409fd5833eda473046d7547f6ee3ac8aadb8f2fc34
DIST llvm-project-b9e32749d273a957e60170d6e7ef205fd1fb1834.tar.gz 232146799 BLAKE2B f7c02bf1e6b9958114f07827ff00264774a7ad54b51c6867d7e66d7c9a94a36fb84f371d7d30c2f094a0d539b565fb651786ed9e0641f2bea8d982073f1a8ac0 SHA512 2d81ead79c606e00549d5205584f1bd272e4d7adf4b376fdba19e7fb719710e80b00b22ee3500ab2b990178fa044ca9fcf45bd2063e62e6a217b11775bb3b163
diff --git a/dev-python/clang/clang-20.1.4.ebuild b/dev-python/clang/clang-20.1.4.ebuild
new file mode 100644
index 000000000000..1f732ff9189d
--- /dev/null
+++ b/dev-python/clang/clang-20.1.4.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+inherit llvm.org python-r1
+
+DESCRIPTION="Python bindings for llvm-core/clang"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# The module is opening libclang.so directly, and doing some blasphemy
+# on top of it.
+DEPEND="
+ >=llvm-core/clang-${PV}:*
+ !llvm-core/llvm:0[clang(-),python(-)]
+ !llvm-core/clang:0[python(-)]
+"
+RDEPEND="
+ ${DEPEND}
+ ${PYTHON_DEPS}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ test? (
+ llvm-core/clang:${LLVM_MAJOR}
+ )
+"
+
+LLVM_COMPONENTS=( clang/bindings/python )
+llvm.org_set_globals
+
+python_test() {
+ # tests rely on results from a specific clang version, so override
+ # the search path
+ local -x CLANG_LIBRARY_PATH=${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)
+ local -x CLANG_NO_DEFAULT_CONFIG=1
+ "${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}"
+}
+
+src_test() {
+ python_foreach_impl python_test
+}
+
+src_install() {
+ python_foreach_impl python_domodule clang
+}
diff --git a/dev-python/configshell-fb/Manifest b/dev-python/configshell-fb/Manifest
index 23a69d76a6aa..df0d2f2a1b0d 100644
--- a/dev-python/configshell-fb/Manifest
+++ b/dev-python/configshell-fb/Manifest
@@ -1,2 +1 @@
-DIST configshell_fb-2.0.1.tar.gz 34046 BLAKE2B b9337ab17d1a3486e7a762669b4f3a37ef40bdbe26da8f35757b2ef839a3e8e1b5fa778d722f9afdcbc7dbd26cd48c82609cfad8dbced083da0d260436c42189 SHA512 77006982cd213ee5c30091232146787b8387b5366452d24ce6c931096b6048f503a4c87d7aefd4b5dafda475d69f5782b7a4f1efb5cd0e376f1ab336f749c15b
DIST configshell_fb-2.0.2.tar.gz 34339 BLAKE2B 1b8cb5579b3ca227038ad845e152d37fa7b2c974e860126b2126be5ac59bc1a9caf1e056963eaa6c22e0a23997adfe83c60148217ccbdaab0c97a01e29f5f8d3 SHA512 60ed61df6d318541c7a9ec9d9d0f27edbbfce8d1839114d54b061bfb9f969f99d4c99312d31ec90f29366bc4605240c112abda20cedeb1b49973054bb5d120ae
diff --git a/dev-python/configshell-fb/configshell-fb-2.0.1.ebuild b/dev-python/configshell-fb/configshell-fb-2.0.1.ebuild
deleted file mode 100644
index 3393acc2d632..000000000000
--- a/dev-python/configshell-fb/configshell-fb-2.0.1.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A Python library for building configuration shells"
-HOMEPAGE="
- https://github.com/open-iscsi/configshell-fb/
- https://pypi.org/project/configshell-fb/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
-
-RDEPEND="
- >=dev-python/pyparsing-2.4.7[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
-"
-
-python_test() {
- "${EPYTHON}" examples/myshell || die "Test failed with ${EPYTHON}"
-}
diff --git a/dev-python/configshell-fb/configshell-fb-2.0.2.ebuild b/dev-python/configshell-fb/configshell-fb-2.0.2.ebuild
index f78790722e58..3393acc2d632 100644
--- a/dev-python/configshell-fb/configshell-fb-2.0.2.ebuild
+++ b/dev-python/configshell-fb/configshell-fb-2.0.2.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
RDEPEND="
>=dev-python/pyparsing-2.4.7[${PYTHON_USEDEP}]
diff --git a/dev-python/contourpy/contourpy-1.3.2.ebuild b/dev-python/contourpy/contourpy-1.3.2.ebuild
index 5bb16b0297c9..0f46d3b405a8 100644
--- a/dev-python/contourpy/contourpy-1.3.2.ebuild
+++ b/dev-python/contourpy/contourpy-1.3.2.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
RDEPEND="
>=dev-python/numpy-1.23[${PYTHON_USEDEP}]
diff --git a/dev-python/cramjam/cramjam-2.10.0.ebuild b/dev-python/cramjam/cramjam-2.10.0.ebuild
index 9137c7822a34..cea1bc179fc6 100644
--- a/dev-python/cramjam/cramjam-2.10.0.ebuild
+++ b/dev-python/cramjam/cramjam-2.10.0.ebuild
@@ -137,7 +137,7 @@ LICENSE+="
Unicode-3.0
"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~sparc ~x86"
+KEYWORDS="~amd64 ~arm arm64 ~riscv ~sparc x86"
DEPEND="
app-arch/bzip2:=
diff --git a/dev-python/cython/Manifest b/dev-python/cython/Manifest
index 8e484c3d6e72..780b68fddd6e 100644
--- a/dev-python/cython/Manifest
+++ b/dev-python/cython/Manifest
@@ -1,3 +1,2 @@
DIST cython-3.0.12.tar.gz 2757617 BLAKE2B 064549e36e03424065eab081b60e2761d198490cfd4d7836ea236b833ada3962e6ed42ba1710b33418f8a31ac282cdc156ceb544ee21be80ee34b7a3d3f6c7fb SHA512 c4e85596eeea444fae983d32ce8731cc5d0d612d1f96b998db3aa7946e8be151a7ea62c6df163d875111e306c870656b82a8468dd873cacf84c7bd5671a39bc3
-DIST cython-3.1.0b1.tar.gz 3192916 BLAKE2B 13a8fa48319d9c4c8cc634d3cf5af599b867466d5de4cf3a24dd342b7812a392e854d9a6152309c6ef84a2925ebfa2257792d0f4e0c8fa36580d7138a663105a SHA512 ced9d57536d3bacd274b5edc4137d400a6182b4b7a89a28cf358f843dcbb0e0e7171fb0842441a81e1d2ac12acb6fd6a3df7018fe2a8708cb188a96cb184d799
DIST cython-3.1.0rc1.tar.gz 3158411 BLAKE2B 44540e95b8b060956654a0d92fc4b8417088816a1e3f8fc17c8575a1cbd4b71a76cc69209d58c731281a310a9f6a7e2e711f88dc6855bc487d08056203cb04d8 SHA512 b0cefe1d4e248e6044af373088902475839ae06b5855b5b3bffdce5159a0f6e54802c24715a6f6e3242a250841c2ff1e56435b7ed3e304964af01a162f8a851a
diff --git a/dev-python/cython/cython-3.1.0_beta1-r1.ebuild b/dev-python/cython/cython-3.1.0_beta1-r1.ebuild
deleted file mode 100644
index bd7579af51dc..000000000000
--- a/dev-python/cython/cython-3.1.0_beta1-r1.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_TESTED=( python3_{9,10,11,12,13} )
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 multiprocessing pypi toolchain-funcs
-
-DESCRIPTION="A Python to C compiler"
-HOMEPAGE="
- https://cython.org/
- https://github.com/cython/cython/
- https://pypi.org/project/Cython/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- ${RDEPEND}
- test? (
- $(python_gen_cond_dep '
- <dev-python/numpy-2[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.29.22-spawn-multiprocessing.patch"
- "${FILESDIR}/${PN}-0.29.23-pythran-parallel-install.patch"
- # https://github.com/cython/cython/pull/6782
- "${FILESDIR}/${P}-pypy3.patch"
-)
-
-distutils_enable_sphinx docs \
- dev-python/jinja2 \
- dev-python/sphinx-issues \
- dev-python/sphinx-tabs
-
-python_prepare_all() {
- # Needs dev-python/pip and doesn't like 'externally-managed' (bug #927995)
- rm tests/run/coverage_cmd_src_pkg_layout.srctree || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- # Python gets confused when it is in sys.path before build.
- local -x PYTHONPATH=
-
- distutils-r1_python_compile
-}
-
-python_test() {
- if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
- einfo "Skipping tests on ${EPYTHON} (xfail)"
- return
- fi
-
- # Needed to avoid confusing cache tests
- unset CYTHON_FORCE_REGEN
-
- tc-export CC
- # https://github.com/cython/cython/issues/1911
- local -x CFLAGS="${CFLAGS} -fno-strict-overflow"
- "${PYTHON}" runtests.py \
- -vv \
- -j "$(makeopts_jobs)" \
- --work-dir "${BUILD_DIR}"/tests \
- --no-examples \
- --no-code-style \
- || die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
- local DOCS=( CHANGES.rst README.rst ToDo.txt USAGE.txt )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/cython/files/cython-3.1.0_beta1-pypy3.patch b/dev-python/cython/files/cython-3.1.0_beta1-pypy3.patch
deleted file mode 100644
index 9884e1b84a64..000000000000
--- a/dev-python/cython/files/cython-3.1.0_beta1-pypy3.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From c1e709dd260b7621f36737b585dac1fd45a7704c Mon Sep 17 00:00:00 2001
-From: da-woods <dw-git@d-woods.co.uk>
-Date: Sun, 6 Apr 2025 08:43:34 +0100
-Subject: [PATCH] Fix __Pyx_Owned_Py_None usage as actual function (GH-6782)
-
-In the tracing code, we are using it like a function (i.e. casting to void to mark it unused) so it has to be a function, not just a macro.
-
-Fixes https://github.com/cython/cython/issues/6781
----
- Cython/Utility/TypeConversion.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/Cython/Utility/TypeConversion.c b/Cython/Utility/TypeConversion.c
-index b86125699c7..e085fae8eb3 100644
---- a/Cython/Utility/TypeConversion.c
-+++ b/Cython/Utility/TypeConversion.c
-@@ -103,7 +103,7 @@ static CYTHON_INLINE PyObject *__Pyx_XNewRef(PyObject *obj) {
- #endif
- }
-
--#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None)
-+static CYTHON_INLINE PyObject *__Pyx_Owned_Py_None(int b);
- static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b);
- static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
- static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*);
-@@ -420,6 +420,10 @@ static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) {
- }
- }
-
-+static CYTHON_INLINE PyObject *__Pyx_Owned_Py_None(int b) {
-+ CYTHON_UNUSED_VAR(b);
-+ return __Pyx_NewRef(Py_None);
-+}
-
- static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) {
- return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False);
diff --git a/dev-python/dependency-groups/dependency-groups-1.3.1.ebuild b/dev-python/dependency-groups/dependency-groups-1.3.1.ebuild
index 8c5b48bba369..0c80f80ed6f4 100644
--- a/dev-python/dependency-groups/dependency-groups-1.3.1.ebuild
+++ b/dev-python/dependency-groups/dependency-groups-1.3.1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~mips ~riscv"
+KEYWORDS="~amd64 ~mips ~ppc ~riscv ~x86"
RDEPEND="
dev-python/packaging[${PYTHON_USEDEP}]
diff --git a/dev-python/django/django-5.2.ebuild b/dev-python/django/django-5.2.ebuild
index 357bba3bdf2e..8c9d4ef37327 100644
--- a/dev-python/django/django-5.2.ebuild
+++ b/dev-python/django/django-5.2.ebuild
@@ -28,7 +28,7 @@ LICENSE+=" Apache-2.0"
# admin icons, jquery, xregexp.js
LICENSE+=" MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv sparc x86 ~x64-macos"
IUSE="doc sqlite test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/docstring-to-markdown/Manifest b/dev-python/docstring-to-markdown/Manifest
index f2f8cf2782aa..801c01cb6ccf 100644
--- a/dev-python/docstring-to-markdown/Manifest
+++ b/dev-python/docstring-to-markdown/Manifest
@@ -1 +1,2 @@
DIST docstring-to-markdown-0.16.gh.tar.gz 31553 BLAKE2B 66dfaf08ca08d6209bae851ffc15d26bac76ec71c417a4b6094fcf23b863f17cb7abda9c191089aeffe31cee6041803f27de4448feb6918be179561cb3ecfd6c SHA512 4052194a12525071558d859ef23fd33c1c131676f7931ff72891b951d2a7726c1b786639c00be2ff3578bff155cf77d22ddeb03d87dcd782baa337f456a8647f
+DIST docstring-to-markdown-0.17.gh.tar.gz 32692 BLAKE2B 5d209fa68383df7f0c0ab1910caf6c7481e53b5a2848015a03ab95f5aeb4422bd1923365b27dbdb91a641a2884ff27923356541e4c725520fd1481ec46c800c9 SHA512 1b861eb1e92907ce69e2e0b49ecc13e6a5cb4c1c73980b3fe1f6e241b6e11688a96abaf97223932c4a90c451ced8285612b39076303ede891cc33ec4ce38aff0
diff --git a/dev-python/docstring-to-markdown/docstring-to-markdown-0.17.ebuild b/dev-python/docstring-to-markdown/docstring-to-markdown-0.17.ebuild
new file mode 100644
index 000000000000..333f1c449e80
--- /dev/null
+++ b/dev-python/docstring-to-markdown/docstring-to-markdown-0.17.ebuild
@@ -0,0 +1,35 @@
+# 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_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="On the fly conversion of Python docstrings to markdown"
+HOMEPAGE="
+ https://github.com/python-lsp/docstring-to-markdown/
+ https://pypi.org/project/docstring-to-markdown/
+"
+SRC_URI="
+ https://github.com/python-lsp/docstring-to-markdown/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+RDEPEND="
+ >=dev-python/importlib-metadata-3.6[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.6[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts=
+}
diff --git a/dev-python/ensurepip-pip/Manifest b/dev-python/ensurepip-pip/Manifest
index b011faf64161..ae7c8833f652 100644
--- a/dev-python/ensurepip-pip/Manifest
+++ b/dev-python/ensurepip-pip/Manifest
@@ -1,2 +1,3 @@
DIST pip-25.0.1-py3-none-any.whl 1841526 BLAKE2B 928210cf0586b2e17cf96c341babbbf612eb08775af716588fad8840d04153d264b64098f97c8d2d7b219389d571cee8e4190195f8c5cc9f602749aad92df437 SHA512 48315489f2c0a76b49386228f9a2f675e71f20ff2f4aaaf65b2634ba5cac7c98facfbdebeb4651c65efdd2ade053a140d7a2a6b44587549d6663bc8bb5ef2220
DIST pip-25.1-py3-none-any.whl 1824948 BLAKE2B a237c46c680afca0b72da704db8f390f9723e1a9d262b31d3d1dc7c89adff2dd6908768cdbeff5dc621ade7d68ce056ec1c6373b1b500da3a098d9f9798ad925 SHA512 1f669dce82d5e9238dc4cb776097f96179be9dbacf18a825a0845437cc4c234ab5242009e8d7d5b0d383bc339d0759ea408668b8d7076861d35da275c0d0fbfe
+DIST pip-25.1.1-py3-none-any.whl 1825227 BLAKE2B 13170fa08dd26edced5e5fe8d89b38f5b3b63882489d2a951a7238f950a332ce0df11109482840595984bca187960d8fe2b7aeabfcbdaf94e5586631cc1de4e3 SHA512 e0c56f04a306cba9e13ed87f7460ad5a3bda7d6c37e05098082c58acb1f7493c8061e48df279f2c476e75d12df12d0f1a74d82e00e6fc2badffe484d281c56fc
diff --git a/dev-python/ensurepip-setuptools/ensurepip-setuptools-80.1.0.ebuild b/dev-python/ensurepip-pip/ensurepip-pip-25.1.1.ebuild
index b76c3f6972d8..dcf21d3e394a 100644
--- a/dev-python/ensurepip-setuptools/ensurepip-setuptools-80.1.0.ebuild
+++ b/dev-python/ensurepip-pip/ensurepip-pip-25.1.1.ebuild
@@ -5,12 +5,12 @@ EAPI=8
inherit pypi
-DESCRIPTION="Shared setuptools wheel for ensurepip Python module"
-HOMEPAGE="https://pypi.org/project/setuptools/"
+DESCRIPTION="Shared pip wheel for ensurepip Python module"
+HOMEPAGE="https://pypi.org/project/pip/"
SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
S=${DISTDIR}
-LICENSE="MIT"
+LICENSE="Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MIT MPL-2.0 PSF-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
diff --git a/dev-python/ensurepip-setuptools/Manifest b/dev-python/ensurepip-setuptools/Manifest
index 26e4afd20fda..30aeed3b4742 100644
--- a/dev-python/ensurepip-setuptools/Manifest
+++ b/dev-python/ensurepip-setuptools/Manifest
@@ -1,8 +1,4 @@
DIST setuptools-75.8.2-py3-none-any.whl 1229385 BLAKE2B e2890604e9acbf23aefc94ee99927bafdc189e45c84b0e4e0b48737d120ba60590438603195e180988b26e3e8fb378812507e2a0b513bf886c3b1eb673853da5 SHA512 083447a6bd375ca99e017ec4c5e3083ee4eee32b65d911b4d5ccadfa587ec213d43562d21d0f238753cc5c54354027b8425880d7248fbbd170b0c006613f4327
DIST setuptools-78.1.0-py3-none-any.whl 1256108 BLAKE2B 3bc6328e3ca2f98df327054c308560c48849ea3374017e72111471f4d7394bb6200d181e9ce7bc5cc2732ca365ade8e7ac79a8b1bfae1a18d0364c5dea4aa151 SHA512 89b1ba752d6b1cf7820ad0ef37ad42a6614e9b88438c63264eee09f94439608e53a51bf5ff8ce9f898300d6d628a7ed582004e6a483d774f4ec285f95e23752e
-DIST setuptools-78.1.1-py3-none-any.whl 1256462 BLAKE2B 1bde151681e2e20f7c1d06de5798f0891a602cb095914ba65b8a1aa24ac913ed46e571d72d9109abdeb493c50e56a642d33a67d1cd9a23e614708d72c721b29d SHA512 b599dec0591a7a5eb65c7d6fc0d96d56b0b004cb7e592837fbd80b5949e6a71009c1a376f32393634974974199fb8243e183061b9e0b9c8ee00af7c8d2a09b75
-DIST setuptools-79.0.0-py3-none-any.whl 1256065 BLAKE2B b2168b63a07307ad61a3ac26f96f1af5179498323ac84deccd2e97eb391485a60ddcd96d930b42d578db10a0772e0e3348e182790fc16cdbbd02f6dad1198461 SHA512 ec6e00e3b05db9eb7794cb4b8a12b2dd5290dd5824ed33cecce69f4815da4a30a54af4626671fb107ae6b6d3fe4c00fda3b0bcd8587c9cc265bf9757c2787107
DIST setuptools-79.0.1-py3-none-any.whl 1256281 BLAKE2B 8ae51bdd1c0ccada116757c2bd765225fcf4bedc7ada18567ae12f09b6978cdbcddd4f635a39a5568b6d3ed4388e4f73af5c33a7060f2ac0d0907fc82d8fd74f SHA512 fef6cfc6f95a5bb7320f1680e1c665cb8d9a4e4227cde4d8aab8a50bed4bcf04320085b9d7d5343359f887008db5c5a861e57f3d08b7b0b2311a28adaeee6b4a
-DIST setuptools-80.0.0-py3-none-any.whl 1240907 BLAKE2B 6feac214d465b395bddca823cd52855d726138285aabf60324a5073991180c5d2ec38973f75d7b018b11a42f650274d0fae1726ea13793d9eed05d86a832dc66 SHA512 d4c6f1a13754bf7b86af470fb9a39fdb3b7ad21cb926ffd88afbe2b728ac3bdc12811100f0c173e7645f80cfbc7634ba0278a1feca93e8e5be6cba57e3e63056
-DIST setuptools-80.0.1-py3-none-any.whl 1240915 BLAKE2B ac4bba300cbaa29888a2eff9ce919603ccf15b9c3ec5d4a031fd75fb339dd3e8f5da884a32365c5c070bce129782a2e86669207f7c20eb976073b4cedfe8a428 SHA512 3c6a38cb5ed64c374b269ad23e1167ef689c28be7a9ad7064b25cbf1c605dc83c61348756980efb3cf13a8620c2ff0719ce0f21b6c7abc9ef45f53e5ba8b36b8
-DIST setuptools-80.1.0-py3-none-any.whl 1240689 BLAKE2B 7f5bc92bf06dcd2e0a42d654803e59627fe6e3c0e7f01be77519ade8276c7c6fcd1da31b4c761502e6ef711ed0400bd47a94509bf066801c021a2d74c24dd842 SHA512 890cf30b504ef50a48fac650dae4f476dba09e03d792836315e34e5345eb382b502066c79350c9c0fb951030df66bf0d153aa21a579d4e0ebf7cacc94b0afb3c
+DIST setuptools-80.2.0-py3-none-any.whl 1240763 BLAKE2B afb1a983aa8534ab20de1889fd8460bcddad7ffb956b95a830879f03982d38da5f76f71d8c45d8134d9c0223dd3771c639f95ad9e4447e4c201dfbabaca16a3d SHA512 d3b4f97ea45a7f98b9dd711ed3bef6e5faf562a2bd114aec458b196170f8ccf53e2ae12642aeed17af65a2647c258679148c1dfe136cb2b59fa7f4fdd3768ad1
diff --git a/dev-python/ensurepip-setuptools/ensurepip-setuptools-79.0.0.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-79.0.0.ebuild
deleted file mode 100644
index b76c3f6972d8..000000000000
--- a/dev-python/ensurepip-setuptools/ensurepip-setuptools-79.0.0.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2022-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit pypi
-
-DESCRIPTION="Shared setuptools wheel for ensurepip Python module"
-HOMEPAGE="https://pypi.org/project/setuptools/"
-SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
-S=${DISTDIR}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-src_install() {
- insinto /usr/lib/python/ensurepip
- doins "${A}"
-}
diff --git a/dev-python/ensurepip-setuptools/ensurepip-setuptools-80.0.0.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-80.0.0.ebuild
deleted file mode 100644
index b76c3f6972d8..000000000000
--- a/dev-python/ensurepip-setuptools/ensurepip-setuptools-80.0.0.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2022-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit pypi
-
-DESCRIPTION="Shared setuptools wheel for ensurepip Python module"
-HOMEPAGE="https://pypi.org/project/setuptools/"
-SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
-S=${DISTDIR}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-src_install() {
- insinto /usr/lib/python/ensurepip
- doins "${A}"
-}
diff --git a/dev-python/ensurepip-setuptools/ensurepip-setuptools-80.0.1.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-80.0.1.ebuild
deleted file mode 100644
index b76c3f6972d8..000000000000
--- a/dev-python/ensurepip-setuptools/ensurepip-setuptools-80.0.1.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2022-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit pypi
-
-DESCRIPTION="Shared setuptools wheel for ensurepip Python module"
-HOMEPAGE="https://pypi.org/project/setuptools/"
-SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
-S=${DISTDIR}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-src_install() {
- insinto /usr/lib/python/ensurepip
- doins "${A}"
-}
diff --git a/dev-python/ensurepip-setuptools/ensurepip-setuptools-78.1.1.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-80.2.0.ebuild
index b76c3f6972d8..b76c3f6972d8 100644
--- a/dev-python/ensurepip-setuptools/ensurepip-setuptools-78.1.1.ebuild
+++ b/dev-python/ensurepip-setuptools/ensurepip-setuptools-80.2.0.ebuild
diff --git a/dev-python/fixtures/Manifest b/dev-python/fixtures/Manifest
index 0753c0947315..3357bafe49c2 100644
--- a/dev-python/fixtures/Manifest
+++ b/dev-python/fixtures/Manifest
@@ -1,2 +1 @@
-DIST fixtures-4.2.4.post1.tar.gz 35345 BLAKE2B caab6f9a6a5f12687995ebe9e17a19ca717de34b789cd3ab3ac6910390b1e67b50dde675102c92e98740d78248505631c54143c25952adce7ce61bf0d91d3293 SHA512 a68842ff8730fe6fa5df642c4943f4618aa4617ad42fd7dfc6876732cb28a0d5652ae02cc7fa2b9d3933392862fd5ce43bc35c702054d192701bfdc62c9058c2
DIST fixtures-4.2.5.tar.gz 48191 BLAKE2B 7d880de3ba78e09aad38750da685d23b794fd2b0063b76ff818c676f5030ad5c36660b0bd61c4f68a0e02e620c3afb135dba4a36b30506e25f8a30ddfdac1028 SHA512 43b1d6216e7feff925d4906d1247c7c6a95cf9221be2323d0b9898a94c44095f657d6adeceeebcccea0b65caee96569127905effb07ac04712d780714512c57c
diff --git a/dev-python/fixtures/fixtures-4.2.4_p1.ebuild b/dev-python/fixtures/fixtures-4.2.4_p1.ebuild
deleted file mode 100644
index 75fc5cc972d5..000000000000
--- a/dev-python/fixtures/fixtures-4.2.4_p1.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Fixtures, reusable state for writing clean tests and more"
-HOMEPAGE="
- https://github.com/testing-cabal/fixtures/
- https://pypi.org/project/fixtures/
-"
-
-LICENSE="|| ( Apache-2.0 BSD )"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- >=dev-python/testtools-2.5.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/fixtures/fixtures-4.2.5.ebuild b/dev-python/fixtures/fixtures-4.2.5.ebuild
index 68e3080eb6af..75fc5cc972d5 100644
--- a/dev-python/fixtures/fixtures-4.2.5.ebuild
+++ b/dev-python/fixtures/fixtures-4.2.5.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="|| ( Apache-2.0 BSD )"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/frozenlist/frozenlist-1.6.0.ebuild b/dev-python/frozenlist/frozenlist-1.6.0.ebuild
index 9ac110983020..838d81ba92db 100644
--- a/dev-python/frozenlist/frozenlist-1.6.0.ebuild
+++ b/dev-python/frozenlist/frozenlist-1.6.0.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
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"
IUSE="+native-extensions"
BDEPEND="
diff --git a/dev-python/google-api-python-client/Manifest b/dev-python/google-api-python-client/Manifest
index b3d355b1b96e..1e8c38a13ce3 100644
--- a/dev-python/google-api-python-client/Manifest
+++ b/dev-python/google-api-python-client/Manifest
@@ -1,4 +1,3 @@
-DIST google_api_python_client-2.166.0.tar.gz 12680525 BLAKE2B 3b05b2d18da5a20e74a798738e48385e3fe85297f3a1b106624c948a1ef48b4a90e955bb8c75c3381d30a7c370ded63eb931769dfc4d09406913499fc03325c4 SHA512 cb41e2f3968da6b87f6bad2c66410cfbb5ab86d20b0b0713660a5e3aefecd2ede7015d136784d31c6af1dcdbbeacc8ca24cdc9c22b9799c271bb1bdfe6179f71
DIST google_api_python_client-2.167.0.tar.gz 12725129 BLAKE2B d1d94b92f161f68ccad986eb17043a9f1855357cc8914b9a58755f6eb9451c3768012a68d45709f0a79e70936734ff8f1464dcbc19b7ba1bdff88eca54a881fa SHA512 ae51ef8985d87f0663ce34d5bc28c29693268fdf362b95ad1d8c6c5aa847c6880082d0b25281d6c7dda91b7a17eb62057deeccd31e9416309a50f04c6ff33e09
DIST google_api_python_client-2.168.0.tar.gz 12774671 BLAKE2B 71ac1e3f6688c2c3545cf86a5cbbfec3551721a27e5b415fcf14e6ad8ca8070650c6dd645f5da67f625e0ee62f8f658883860b6aeeb7489400d04322b220bf8d SHA512 410b8ea2b960621b7971621b6aa106b8f7dd1ff45435a94358b41553df7a6514aab22bfa53511e4466741d31c5e66d755be0870981c380567e8cc90fb49838bc
DIST google_api_python_client-2.169.0.tar.gz 12811341 BLAKE2B 31bf7b5aa53a05a7d196ea59f6a03b835628e4bcab312f4799386f1fc344c1774f06882fa502bd06a7d6feb244725a9c3f2396c1ef8ce999480ef9d211e10b44 SHA512 506bf5fc576a0db4d9db1e4abffdc5fa78009a070a7254821393599e3f56c55b6219b16200ea7f776a0ceca8673aa58cd379f952078deaafdc3f72e0591d726f
diff --git a/dev-python/google-api-python-client/google-api-python-client-2.166.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.166.0.ebuild
deleted file mode 100644
index 75fc31e16901..000000000000
--- a/dev-python/google-api-python-client/google-api-python-client-2.166.0.ebuild
+++ /dev/null
@@ -1,50 +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_{9,10,11,12,13} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Google API Client for Python"
-HOMEPAGE="
- https://github.com/googleapis/google-api-python-client/
- https://pypi.org/project/google-api-python-client/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-RDEPEND="
- >=dev-python/httplib2-0.15[${PYTHON_USEDEP}]
- <dev-python/httplib2-1[${PYTHON_USEDEP}]
- >=dev-python/google-api-core-2.3.1[${PYTHON_USEDEP}]
- >=dev-python/google-auth-1.35.0[${PYTHON_USEDEP}]
- >=dev-python/google-auth-httplib2-0.1.0[${PYTHON_USEDEP}]
- >=dev-python/uritemplate-3.0.0[${PYTHON_USEDEP}]
- <dev-python/uritemplate-5[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/parameterized[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # require Internet access (and credentials)
- tests/test_discovery.py::DiscoveryErrors::test_credentials_and_credentials_file_mutually_exclusive
- tests/test_discovery.py::DiscoveryFromDocument::test_api_endpoint_override_from_client_options_mapping_object
- tests/test_discovery.py::Universe::test_client_options_universe_configured_with_mtls
- tests/test_discovery.py::Universe::test_universe_env_var_configured_with_mtls
- )
-
- epytest tests
-}
diff --git a/dev-python/google-api-python-client/google-api-python-client-2.167.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.167.0.ebuild
index b2220fafe3ef..75fc31e16901 100644
--- a/dev-python/google-api-python-client/google-api-python-client-2.167.0.ebuild
+++ b/dev-python/google-api-python-client/google-api-python-client-2.167.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 x86"
RDEPEND="
>=dev-python/httplib2-0.15[${PYTHON_USEDEP}]
diff --git a/dev-python/google-auth/Manifest b/dev-python/google-auth/Manifest
index f055ace006e6..0ad35594e04a 100644
--- a/dev-python/google-auth/Manifest
+++ b/dev-python/google-auth/Manifest
@@ -1,2 +1 @@
-DIST google_auth-2.38.0.tar.gz 270866 BLAKE2B fe21c52c00a9a515d250644ffcff593c4dae55f326eae917f9fac1864b5f595a60da753e9c96e2c2fc15dfa1623f97b4ba5ebc069b3e0f8e2f7963db2e35909c SHA512 fdc771a6b3ff2912ec5c7b6efeb84b4faf9f429caea4ecc76473515a74a73c0a3e2d78bacb96725f6e2c8170292208ae8b4fb4f790e874cf3e2a3f5b221451bf
DIST google_auth-2.39.0.tar.gz 274834 BLAKE2B f924291ba51799c4560849f61c30419110c786bfe12bade26ecd6940c952ad91a515770997008a2dd0b82f42771695500b951e036b2387b43e57c76ca2e6e04e SHA512 3bee0b649fdec2e9972afc47cd863f58c2b5e451a3970d85674d3d0572b1cbfd39d355af8c7648bb79aea2b41bd177da03dd01cb146681ed651de2d06bf355c0
diff --git a/dev-python/google-auth/google-auth-2.38.0-r1.ebuild b/dev-python/google-auth/google-auth-2.38.0-r1.ebuild
deleted file mode 100644
index 8d71d16fe489..000000000000
--- a/dev-python/google-auth/google-auth-2.38.0-r1.ebuild
+++ /dev/null
@@ -1,72 +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_{9,10,11,12,13} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Google Authentication Library"
-HOMEPAGE="
- https://github.com/googleapis/google-auth-library-python/
- https://pypi.org/project/google-auth/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-RDEPEND="
- <dev-python/cachetools-6.0.0[${PYTHON_USEDEP}]
- >=dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}]
- >=dev-python/pyasn1-modules-0.2.1[${PYTHON_USEDEP}]
- >=dev-python/rsa-3.1.4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/aioresponses[${PYTHON_USEDEP}]
- >=dev-python/cryptography-38.0.3[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/freezegun[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/moto[${PYTHON_USEDEP}]
- >=dev-python/pyjwt-2.0[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-localserver[${PYTHON_USEDEP}]
- dev-python/pyu2f[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/responses[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # unpin deps
- sed -i -e 's:,<[0-9.]*::' setup.py || die
-}
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # tests are broken with up-to-date pyopenssl
- tests/transport/test__mtls_helper.py::TestDecryptPrivateKey::test_success
- )
- local EPYTEST_IGNORE=(
- # these are compatibility tests with oauth2client
- # disable them to unblock removal of that package
- tests/test__oauth2client.py
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p asyncio
-}
diff --git a/dev-python/google-auth/google-auth-2.39.0.ebuild b/dev-python/google-auth/google-auth-2.39.0.ebuild
index fc3d3759d7bf..8d71d16fe489 100644
--- a/dev-python/google-auth/google-auth-2.39.0.ebuild
+++ b/dev-python/google-auth/google-auth-2.39.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 x86"
RDEPEND="
<dev-python/cachetools-6.0.0[${PYTHON_USEDEP}]
diff --git a/dev-python/googleapis-common-protos/Manifest b/dev-python/googleapis-common-protos/Manifest
index b8ce80a042ca..1bf0b3346195 100644
--- a/dev-python/googleapis-common-protos/Manifest
+++ b/dev-python/googleapis-common-protos/Manifest
@@ -1,2 +1 @@
-DIST googleapis_common_protos-1.69.2.tar.gz 144496 BLAKE2B 0f6eeef6fc124062db6214fa4d90b9717e4c4fce6b61faa0864ba8946a6c1de4ff7941b8dae6e1a0fb09821ae79927cd1a45eb5768a7ea22a7d866e58fc9b489 SHA512 a8f6f6ab551813e05db06af9ec404e4e87dcf2ebdeeecc6976b11a7cf0ccf0e6ca500ba0c263dcb6b71290b3919c84e5af8c2705ae3f4a5b630831aea8ddb668
DIST googleapis_common_protos-1.70.0.tar.gz 145903 BLAKE2B 6ea31260065b375a95c2a6ea9290fc4089449163b00230692777363edd77ae5aa65c42665309ac785f2831ad58e442a64f22419520cd87fe5ea0fa8d5a3e026f SHA512 02f5883a94ee59876d800b479e711f48367698f885cb3965f542af5f108f4858b7fd20b01c95a76c1cc792b7a3e883e68f8f0c04ef132da388c67576bce89ece
diff --git a/dev-python/googleapis-common-protos/googleapis-common-protos-1.69.2.ebuild b/dev-python/googleapis-common-protos/googleapis-common-protos-1.69.2.ebuild
deleted file mode 100644
index a6d78d83f50f..000000000000
--- a/dev-python/googleapis-common-protos/googleapis-common-protos-1.69.2.ebuild
+++ /dev/null
@@ -1,31 +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_{9,10,11,12,13} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python classes generated from the common protos in the googleapis repository"
-HOMEPAGE="
- https://github.com/googleapis/python-api-common-protos/
- https://pypi.org/project/googleapis-common-protos/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 x86"
-
-RDEPEND="
- <dev-python/protobuf-7[${PYTHON_USEDEP}]
- >=dev-python/protobuf-3.15.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
diff --git a/dev-python/googleapis-common-protos/googleapis-common-protos-1.70.0.ebuild b/dev-python/googleapis-common-protos/googleapis-common-protos-1.70.0.ebuild
index d681063f2c36..a6d78d83f50f 100644
--- a/dev-python/googleapis-common-protos/googleapis-common-protos-1.70.0.ebuild
+++ b/dev-python/googleapis-common-protos/googleapis-common-protos-1.70.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+KEYWORDS="amd64 ~arm arm64 x86"
RDEPEND="
<dev-python/protobuf-7[${PYTHON_USEDEP}]
diff --git a/dev-python/html2text/Manifest b/dev-python/html2text/Manifest
index 8435e0021e42..49795de8d4ec 100644
--- a/dev-python/html2text/Manifest
+++ b/dev-python/html2text/Manifest
@@ -1,2 +1 @@
-DIST html2text-2024.2.26.tar.gz 56527 BLAKE2B 898f69fd087405412ac75cb4e2e9544f1725b9b558c334e1183a79fb6440ab13c4dbfefe6059e1bcb7befc2d365f11887dccc8ba62936c2732a79034d6b00908 SHA512 8304dbc0a8d06ea1bbed4edccbbcb817423bab7acbaa9db84c6c9c3e74a8d1daec148cb591b76b7d5865224ea424b388316c867bda4b07b19ed91272b7beff88
DIST html2text-2025.4.15.tar.gz 64316 BLAKE2B 7ebcedda8d3db1a1cd6cf4d14c488f4eaa2b6210b952c19f0f92f9f790f965c9671f7497ad227f7d334cccc4b3f792b53b5400d06e97fa98aebdaecd735dde7e SHA512 2f12e293bb8aa87b4d03d3ec4698e8e8bf013acc9f69b25a2c7a1aacca9a8aaf646747c56a47bc15dae0601ecdc119ba4818daca933d4be7fa52f234c672d9f3
diff --git a/dev-python/html2text/html2text-2024.2.26.ebuild b/dev-python/html2text/html2text-2024.2.26.ebuild
deleted file mode 100644
index 661bad4613c6..000000000000
--- a/dev-python/html2text/html2text-2024.2.26.ebuild
+++ /dev/null
@@ -1,29 +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_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Turn HTML into equivalent Markdown-structured text"
-HOMEPAGE="
- https://github.com/Alir3z4/html2text/
- https://pypi.org/project/html2text/
-"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc x86"
-
-DOCS=( AUTHORS.rst ChangeLog.rst README.md )
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # naming conflict with app-text/html2text, bug 421647
- sed -e 's/html2text = html2text.cli:main/py\0/' -i setup.cfg || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/html2text/html2text-2025.4.15.ebuild b/dev-python/html2text/html2text-2025.4.15.ebuild
index 8e0415ced77d..da4b8b4fa60a 100644
--- a/dev-python/html2text/html2text-2025.4.15.ebuild
+++ b/dev-python/html2text/html2text-2025.4.15.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc x86"
DOCS=( AUTHORS.rst ChangeLog.rst README.md )
diff --git a/dev-python/inline-snapshot/Manifest b/dev-python/inline-snapshot/Manifest
index d409939ab880..6653994db144 100644
--- a/dev-python/inline-snapshot/Manifest
+++ b/dev-python/inline-snapshot/Manifest
@@ -1,3 +1,2 @@
-DIST inline_snapshot-0.21.3.tar.gz 254753 BLAKE2B 5b9dd20fd8844c3b63de9f39fdc9e6fd4be1e208006bb4ffdb9e3a643412de5ac8314ff383836d96dfab819c660ca453a417dd85f4626f5c4450f763844c5cc0 SHA512 e77bebe7026700fad239b8d294f0cec0e37f309af6c5584eddaef23d6b54f521b3acb8e499238c9953ecf43275c32f2643a67348ee29403cd9262d054ae21dec
DIST inline_snapshot-0.22.3.tar.gz 259515 BLAKE2B 2b4e2a87d28a6dc3af279d85e4b749b429a77f1f516c6516e6311d6cd9a427530fee82010d907256cf8a7a700650812c6a7dcccdccf8940682fc4d0656c273f4 SHA512 f94ad7e9f75b84dcbc0ff099ff1fa26c6c7f114056af2f148fb7086eaa0579581a808c279c3b3cdebf1d87bd7833d9a7926b38ffc06d074036e89579560d92c4
DIST inline_snapshot-0.23.0.tar.gz 259375 BLAKE2B 9f14733a06d983adc7f438537180d22762009cf82756c612200ff8feaffae7f1ac3a80a19abd63b2e344e31af8b557681e76c67619611f22e09bcc86c0716e24 SHA512 dad5ae1a4f291f562267231e30ae865c854c4be6d218a47ebbfd38cc8421d8adbd4d3945cba44f6a061b562829badbe61f026ed9968857399f93483f1a392598
diff --git a/dev-python/inline-snapshot/inline-snapshot-0.21.3.ebuild b/dev-python/inline-snapshot/inline-snapshot-0.21.3.ebuild
deleted file mode 100644
index 934d4e92e12b..000000000000
--- a/dev-python/inline-snapshot/inline-snapshot-0.21.3.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 2024-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Create and update inline snapshots in your Python tests"
-HOMEPAGE="
- https://15r10nk.github.io/inline-snapshot/
- https://github.com/15r10nk/inline-snapshot/
- https://pypi.org/project/inline-snapshot/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/asttokens-2.0.5[${PYTHON_USEDEP}]
- >=dev-python/executing-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-8.3.4[${PYTHON_USEDEP}]
- >=dev-python/rich-13.7.1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-2.0.0[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- test? (
- dev-python/attrs[${PYTHON_USEDEP}]
- >=dev-python/black-23.3.0[${PYTHON_USEDEP}]
- >=dev-python/dirty-equals-0.7.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.75.5[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/mypy[${PYTHON_USEDEP}]
- ' 'python*')
- >=dev-python/pydantic-2[${PYTHON_USEDEP}]
- >=dev-python/pytest-freezer-0.4.8[${PYTHON_USEDEP}]
- >=dev-python/pytest-mock-3.14.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-subtests-0.11.0[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # requires pyright
- 'tests/test_typing.py::test_typing[pyright]'
- # TODO
- tests/test_formating.py::test_format_command_fail
- )
-
- local -x COLUMNS=80
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=inline_snapshot.pytest_plugin,pytest_freezer,pytest_subtests.plugin,xdist.plugin
- local -x PYTHONPATH=${S}/src
- epytest -p pytest_mock
-}
diff --git a/dev-python/inline-snapshot/inline-snapshot-0.22.3.ebuild b/dev-python/inline-snapshot/inline-snapshot-0.22.3.ebuild
index f6e9b5488ace..934d4e92e12b 100644
--- a/dev-python/inline-snapshot/inline-snapshot-0.22.3.ebuild
+++ b/dev-python/inline-snapshot/inline-snapshot-0.22.3.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
>=dev-python/asttokens-2.0.5[${PYTHON_USEDEP}]
diff --git a/dev-python/lazy-object-proxy/lazy-object-proxy-1.11.0.ebuild b/dev-python/lazy-object-proxy/lazy-object-proxy-1.11.0.ebuild
index 9e502079f859..798fb376797b 100644
--- a/dev-python/lazy-object-proxy/lazy-object-proxy-1.11.0.ebuild
+++ b/dev-python/lazy-object-proxy/lazy-object-proxy-1.11.0.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
IUSE="+native-extensions"
BDEPEND="
diff --git a/dev-python/lit/Manifest b/dev-python/lit/Manifest
index 3406a662077f..dd22b3e8351b 100644
--- a/dev-python/lit/Manifest
+++ b/dev-python/lit/Manifest
@@ -10,5 +10,7 @@ DIST llvm-project-19.1.7.src.tar.xz 141249332 BLAKE2B 1259ed7f9aca7b35e89d818bef
DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf6f30e75705123d067ea97175d91d7a5b6a75008df01d99ae7aa16aaa3b101f3f41e38d01f04158f95a261d617b3ede0254cd SHA512 195797b06ac80a742e0ccbc03a50dc06dd2e04377d783d5474e3e72c5a75203b60292b047929312a411d22b137a239943fba414a4d136a2be14cbff978eb6bda
DIST llvm-project-20.1.3.src.tar.xz 147212776 BLAKE2B c738abb66dc82580a8f511829bcf87dd8deb8381bd073cd547e4eb02097c0190fa06488e5500cefce95953315432ee6ae3c103c491d08eca4b019e043691fc12 SHA512 79d6cfd10075ec9d05b9a359c09579e07a2caff9167518519457daee3e37a818100da6712804916880797ecb0b4891b18dc52a03b534e1b9d1d4bb5ba8d5ad1e
DIST llvm-project-20.1.3.src.tar.xz.sig 566 BLAKE2B 1b584b61f773013f3964dbd0ee026c00e702cfe758acdacc7bffb6793c42eea638cc812bd1a3cddf210a9ad7d98f707d4f1e748d360b66427fded79f24d8610b SHA512 4fd3815cd94113234e66083f955993a95c888cbb89d5baf611b76765511e102af9f1e880cbacc709f0be8785abd5abbfb0ce391793308dfec3c248a9b348e492
+DIST llvm-project-20.1.4.src.tar.xz 147228104 BLAKE2B 756799d104f94931a6bdca182c4b23983aad9c7ea5acf77f2f5519540137a8dc9a4ec227293c6ba7ddc7fb0fa10cc92e65808f1c07f04bea34a304bb0e2df612 SHA512 acace8175a5468c7e84a89d1564e147e81fe92b6d910f22b058edf72094b27176677c06dbe141fccfbabdad77165f957bbf1ec8aff7bffc85f0757c0103f7e59
+DIST llvm-project-20.1.4.src.tar.xz.sig 566 BLAKE2B 1f0f057dedf938190554ca1a51d9837da9faa38851edb7fe6f305769f3048b5507b010cb81b97550a13c9141e03480009602ff092ddd65b42483b0f79c1523e8 SHA512 634414ea877724ebdeeabe3bb1079d78938aa05dba2243d5458cf211c35444124dc01fa73a593548290196f8c0e40e1e6a4a72571dba4b716b5781c656c6f9b2
DIST llvm-project-ac8fc09688e10e983b99224b5dc5cbbeeedb1879.tar.gz 231567089 BLAKE2B f7878f114c908b21d179854bc693716b34b963612c6b5172789a37cd21fa316720d4e9498bc7679058db3e822ed240bfdafd85bfd00154914d747d0c0ed1cb48 SHA512 4c39db8b22fa087ca96c3b4541ec77ba8a826a126b4e93b0650e59b3622b22b329f60fa3780dd4572fdece409fd5833eda473046d7547f6ee3ac8aadb8f2fc34
DIST llvm-project-b9e32749d273a957e60170d6e7ef205fd1fb1834.tar.gz 232146799 BLAKE2B f7c02bf1e6b9958114f07827ff00264774a7ad54b51c6867d7e66d7c9a94a36fb84f371d7d30c2f094a0d539b565fb651786ed9e0641f2bea8d982073f1a8ac0 SHA512 2d81ead79c606e00549d5205584f1bd272e4d7adf4b376fdba19e7fb719710e80b00b22ee3500ab2b990178fa044ca9fcf45bd2063e62e6a217b11775bb3b163
diff --git a/dev-python/lit/lit-20.1.4.ebuild b/dev-python/lit/lit-20.1.4.ebuild
new file mode 100644
index 000000000000..2370c09d76de
--- /dev/null
+++ b/dev-python/lit/lit-20.1.4.ebuild
@@ -0,0 +1,46 @@
+# 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_{9,10,11,12,13} )
+
+inherit distutils-r1 llvm.org
+
+DESCRIPTION="A stand-alone install of the LLVM suite testing tool"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# Tests require 'FileCheck' and 'not' utilities (from llvm)
+BDEPEND="
+ test? (
+ dev-python/psutil[${PYTHON_USEDEP}]
+ llvm-core/llvm
+ )
+"
+
+LLVM_COMPONENTS=( llvm/utils/lit )
+llvm.org_set_globals
+
+# TODO: move the manpage generation here (from llvm-core/llvm)
+
+src_prepare() {
+ # flaky test
+ # https://github.com/llvm/llvm-project/issues/72022
+ rm tests/progress-bar.py || die
+
+ cd "${WORKDIR}" || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x LIT_PRESERVES_TMP=1
+ local litflags=$(get_lit_flags)
+ ./lit.py ${litflags//;/ } tests || die
+}
diff --git a/dev-python/markdown/Manifest b/dev-python/markdown/Manifest
index 16646bcfe388..d92f6786af3b 100644
--- a/dev-python/markdown/Manifest
+++ b/dev-python/markdown/Manifest
@@ -1,2 +1 @@
-DIST markdown-3.7.tar.gz 357086 BLAKE2B 6b022c247d499939d1c8daffd947b788645ccbe25ad861b60dd5906bc762b1ab50f09d48edc829bc7ed6f2598398e6bce3a7cd177ca899159744ea4c54b8bb2e SHA512 9152ae942dfe5c93f29d4f083d7b04fa86f042a816b7a1360f6088cd5ea0fc730e14915a8fc48f6d36f74bc311ddc35dbfe1f78ef85779f285aa35a1e56caae1
DIST markdown-3.8.tar.gz 360906 BLAKE2B 2e6258f32cd4da937fb24f9b56dfa979cccf471420bfb74af23b98998f1938bb22efa1f6721d9812ecc470ea669582a51d425e4368703be9f67d9c033ab37eb4 SHA512 905945ba8a4c04d2231fd1f727d6eec8600ccc7e48659dda6161cfe7d091b155e40f6f14baa2ad6cc1bf9334ca42d01ddfa6a14fa2636382e1e5ed2438300dd8
diff --git a/dev-python/markdown/markdown-3.7.ebuild b/dev-python/markdown/markdown-3.7.ebuild
deleted file mode 100644
index e52962ad2b77..000000000000
--- a/dev-python/markdown/markdown-3.7.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_PN=${PN^}
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python implementation of the markdown markup language"
-HOMEPAGE="
- https://python-markdown.github.io/
- https://pypi.org/project/Markdown/
- https://github.com/Python-Markdown/markdown/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="doc test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- test? (
- dev-python/pygments[${PYTHON_USEDEP}]
- dev-python/pytidylib[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-python_install_all() {
- use doc && dodoc -r docs/
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/markdown/markdown-3.8.ebuild b/dev-python/markdown/markdown-3.8.ebuild
index 8f0c4c0e1365..da4b69cd5614 100644
--- a/dev-python/markdown/markdown-3.8.ebuild
+++ b/dev-python/markdown/markdown-3.8.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="doc test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/matplotlib/files/matplotlib-3.10.0-test.patch b/dev-python/matplotlib/files/matplotlib-3.10.0-test.patch
deleted file mode 100644
index aca01d0f5689..000000000000
--- a/dev-python/matplotlib/files/matplotlib-3.10.0-test.patch
+++ /dev/null
@@ -1,236 +0,0 @@
-diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
-index 254b86cb54..1f93b1a476 100644
---- a/lib/matplotlib/tests/test_arrow_patches.py
-+++ b/lib/matplotlib/tests/test_arrow_patches.py
-@@ -68,7 +68,7 @@ def __prepare_fancyarrow_dpi_cor_test():
-
-
- @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.02,
-+ tol=0.015 if platform.machine() == 'x86_64' else 0.02,
- savefig_kwarg=dict(dpi=100))
- def test_fancyarrow_dpi_cor_100dpi():
- """
-@@ -83,7 +83,7 @@ def test_fancyarrow_dpi_cor_100dpi():
-
-
- @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.02,
-+ tol=0.018 if platform.machine() == 'x86_64' else 0.02,
- savefig_kwarg=dict(dpi=200))
- def test_fancyarrow_dpi_cor_200dpi():
- """
-@@ -116,7 +116,7 @@ def test_fancyarrow_dash():
-
-
- @image_comparison(['arrow_styles.png'], style='mpl20', remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.02)
-+ tol=0.005 if platform.machine() == 'x86_64' else 0.02)
- def test_arrow_styles():
- styles = mpatches.ArrowStyle.get_styles()
-
-diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
-index e3a59a1751..97352c887d 100644
---- a/lib/matplotlib/tests/test_axes.py
-+++ b/lib/matplotlib/tests/test_axes.py
-@@ -1220,7 +1220,7 @@ def test_imshow():
-
- @image_comparison(
- ['imshow_clip'], style='mpl20',
-- tol=1.24 if platform.machine() in ('aarch64', 'arm64', 'ppc64le', 's390x') else 0)
-+ tol=1.24)
- def test_imshow_clip():
- # As originally reported by Gellule Xg <gellule.xg@free.fr>
- # use former defaults to match existing baseline image
-@@ -2617,7 +2617,7 @@ def test_contour_hatching():
-
- @image_comparison(
- ['contour_colorbar'], style='mpl20',
-- tol=0.54 if platform.machine() in ('aarch64', 'arm64', 'ppc64le', 's390x') else 0)
-+ tol=0.54)
- def test_contour_colorbar():
- x, y, z = contour_dat()
-
-@@ -5045,7 +5045,7 @@ def test_vertex_markers():
-
-
- @image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
-- tol=0 if platform.machine() == 'x86_64' else 0.026)
-+ tol=0.015 if platform.machine() == 'x86_64' else 0.026)
- def test_eb_line_zorder():
- x = list(range(10))
-
-@@ -9030,7 +9030,7 @@ def test_zorder_and_explicit_rasterization():
-
-
- @image_comparison(["preset_clip_paths.png"], remove_text=True, style="mpl20",
-- tol=0.027 if platform.machine() == "arm64" else 0)
-+ tol=0.027 if platform.machine() == "arm64" else 0.02)
- def test_preset_clip_paths():
- fig, ax = plt.subplots()
-
-diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py
-index 24eeab6894..f140e031fe 100644
---- a/lib/matplotlib/tests/test_colorbar.py
-+++ b/lib/matplotlib/tests/test_colorbar.py
-@@ -235,7 +235,7 @@ def test_colorbar_single_ax_panchor_east(constrained):
-
-
- @image_comparison(['contour_colorbar.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.054)
-+ tol=0.01 if platform.machine() == 'x86_64' else 0.054)
- def test_contour_colorbar():
- fig, ax = plt.subplots(figsize=(4, 2))
- data = np.arange(1200).reshape(30, 40) - 500
-diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py
-index e42e2ee9bf..040979eac1 100644
---- a/lib/matplotlib/tests/test_constrainedlayout.py
-+++ b/lib/matplotlib/tests/test_constrainedlayout.py
-@@ -655,11 +655,11 @@ def test_compressed1():
- fig.draw_without_rendering()
-
- pos = axs[0, 0].get_position()
-- np.testing.assert_allclose(pos.x0, 0.06195, atol=1e-3)
-- np.testing.assert_allclose(pos.y1, 0.8537, atol=1e-3)
-+ np.testing.assert_allclose(pos.x0, 0.06195, atol=2e-3)
-+ np.testing.assert_allclose(pos.y1, 0.8537, atol=2e-3)
- pos = axs[1, 2].get_position()
-- np.testing.assert_allclose(pos.x1, 0.8618, atol=1e-3)
-- np.testing.assert_allclose(pos.y0, 0.1934, atol=1e-3)
-+ np.testing.assert_allclose(pos.x1, 0.8618, atol=2e-3)
-+ np.testing.assert_allclose(pos.y0, 0.1934, atol=2e-3)
-
-
- def test_compressed_suptitle():
-diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
-index e0ea82973a..8e304c7161 100644
---- a/lib/matplotlib/tests/test_contour.py
-+++ b/lib/matplotlib/tests/test_contour.py
-@@ -418,8 +418,7 @@ def test_contourf_log_extension():
-
- @image_comparison(
- ['contour_addlines.png'], remove_text=True, style='mpl20',
-- tol=0.15 if platform.machine() in ('aarch64', 'arm64', 'ppc64le', 's390x')
-- else 0.03)
-+ tol=0.15)
- # tolerance is because image changed minutely when tick finding on
- # colorbars was cleaned up...
- def test_contour_addlines():
-diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
-index edf5ea05f1..afadc83056 100644
---- a/lib/matplotlib/tests/test_figure.py
-+++ b/lib/matplotlib/tests/test_figure.py
-@@ -26,7 +26,7 @@ import matplotlib.dates as mdates
-
-
- @image_comparison(['figure_align_labels'], extensions=['png', 'svg'],
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_align_labels():
- fig = plt.figure(layout='tight')
- gs = gridspec.GridSpec(3, 3)
-@@ -68,7 +68,7 @@ def test_align_labels():
-
- @image_comparison(['figure_align_titles_tight.png',
- 'figure_align_titles_constrained.png'],
-- tol=0 if platform.machine() == 'x86_64' else 0.022,
-+ tol=0.01 if platform.machine() == 'x86_64' else 0.022,
- style='mpl20')
- def test_align_titles():
- for layout in ['tight', 'constrained']:
-diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
-index 61892378bd..28d3661359 100644
---- a/lib/matplotlib/tests/test_legend.py
-+++ b/lib/matplotlib/tests/test_legend.py
-@@ -164,7 +164,7 @@ def test_multiple_keys():
-
-
- @image_comparison(['rgba_alpha.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.03)
-+ tol=0.02 if platform.machine() == 'x86_64' else 0.03)
- def test_alpha_rgba():
- fig, ax = plt.subplots()
- ax.plot(range(10), lw=5)
-@@ -173,7 +173,7 @@ def test_alpha_rgba():
-
-
- @image_comparison(['rcparam_alpha.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.03)
-+ tol=0.02 if platform.machine() == 'x86_64' else 0.03)
- def test_alpha_rcparam():
- fig, ax = plt.subplots()
- ax.plot(range(10), lw=5)
-@@ -201,7 +201,7 @@ def test_fancy():
-
-
- @image_comparison(['framealpha'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.024)
-+ tol=0.02 if platform.machine() == 'x86_64' else 0.024)
- def test_framealpha():
- x = np.linspace(1, 100, 100)
- y = x
-diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py
-index ee8b5b4aaa..8752a56ad2 100644
---- a/lib/matplotlib/tests/test_lines.py
-+++ b/lib/matplotlib/tests/test_lines.py
-@@ -185,7 +185,7 @@ def test_set_drawstyle():
-
- @image_comparison(
- ['line_collection_dashes'], remove_text=True, style='mpl20',
-- tol=0 if platform.machine() == 'x86_64' else 0.65)
-+ tol=0.65)
- def test_set_line_coll_dash_image():
- fig, ax = plt.subplots()
- np.random.seed(0)
-diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
-index a8735e180b..7bd9f5a951 100644
---- a/lib/matplotlib/tests/test_units.py
-+++ b/lib/matplotlib/tests/test_units.py
-@@ -79,7 +79,7 @@ def quantity_converter():
- # Tests that the conversion machinery works properly for classes that
- # work as a facade over numpy arrays (like pint)
- @image_comparison(['plot_pint.png'], style='mpl20',
-- tol=0 if platform.machine() == 'x86_64' else 0.03)
-+ tol=0.002 if platform.machine() == 'x86_64' else 0.03)
- def test_numpy_facade(quantity_converter):
- # use former defaults to match existing baseline image
- plt.rcParams['axes.formatter.limits'] = -7, 7
-@@ -106,7 +106,7 @@ def test_numpy_facade(quantity_converter):
-
- # Tests gh-8908
- @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20',
-- tol=0 if platform.machine() == 'x86_64' else 0.02)
-+ tol=0.02)
- def test_plot_masked_units():
- data = np.linspace(-5, 5)
- data_masked = np.ma.array(data, mask=(data > -2) & (data < 2))
-diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py
-index 342face450..c7256586bc 100644
---- a/lib/matplotlib/tests/test_usetex.py
-+++ b/lib/matplotlib/tests/test_usetex.py
-@@ -15,6 +15,7 @@ import matplotlib.pyplot as plt
- pytestmark = needs_usetex
-
-
-+@pytest.mark.skip(reason="TODO: broken")
- @image_comparison(
- baseline_images=['test_usetex'],
- extensions=['pdf', 'png'],
-@@ -65,7 +66,7 @@ def test_mathdefault():
- fig.canvas.draw()
-
-
--@image_comparison(['eqnarray.png'])
-+@image_comparison(['eqnarray.png'], tol=23)
- def test_multiline_eqnarray():
- text = (
- r'\begin{eqnarray*}'
-@@ -163,7 +164,7 @@ except mpl.ExecutableNotFoundError:
-
-
- @image_comparison(baseline_images=['rotation'], extensions=['eps', 'pdf', 'png', 'svg'],
-- style='mpl20', tol=3.91 if _old_gs_version else 0)
-+ style='mpl20', tol=30)
- def test_rotation():
- mpl.rcParams['text.usetex'] = True
-
diff --git a/dev-python/mkdocs-material/Manifest b/dev-python/mkdocs-material/Manifest
index 4f97a28cdf76..09ae4126e9a6 100644
--- a/dev-python/mkdocs-material/Manifest
+++ b/dev-python/mkdocs-material/Manifest
@@ -1,2 +1 @@
-DIST mkdocs-material-9.6.11.gh.tar.gz 14819417 BLAKE2B f38539b2e62d3a44cf3296410817b086d84bfeda8f8d66ff6adc135bb9f31a26ec73bbb0bfc32d9b9d050698bbeb7d8871a92d9382e28b8c78c3cc6b26d13278 SHA512 478a719d4bd46002cd9708a3c71e68c0843703ea8465631fcb5c188f45816673966be7a6c20a9b8886b195d09f153cb7881af3e1471fe11c41a1df2a58aee390
DIST mkdocs-material-9.6.12.gh.tar.gz 14819122 BLAKE2B 9e420351d4eb103e0f5d6a0e8d1fee74c15da95958aec9c44ebc9beccfd586a6454568d8fb70d106521e0678fbbe794a107c1b0107f2f4276888c6595460495e SHA512 6953a06646ae301180fbe7e30d7c64563c89cf984c5f62c44edceb36b923e66ea7c5d9d7dcf7442a23fcb3efad860c67175d8ac147ae594055568b310ffb2c7f
diff --git a/dev-python/mkdocs-material/mkdocs-material-9.6.11.ebuild b/dev-python/mkdocs-material/mkdocs-material-9.6.11.ebuild
deleted file mode 100644
index 759f8e511d4c..000000000000
--- a/dev-python/mkdocs-material/mkdocs-material-9.6.11.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-DOCS_BUILDER="mkdocs"
-DOCS_DEPEND="
- dev-python/mkdocs-material-extensions
- dev-python/mkdocs-minify-plugin
- dev-python/mkdocs-redirects
-"
-
-inherit distutils-r1 docs
-
-DESCRIPTION="A Material Design theme for MkDocs"
-HOMEPAGE="
- https://github.com/squidfunk/mkdocs-material/
- https://pypi.org/project/mkdocs-material/
-"
-SRC_URI="
- https://github.com/squidfunk/${PN}/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
-IUSE="social"
-
-RDEPEND="
- >=dev-python/babel-2.10.3[${PYTHON_USEDEP}]
- >=dev-python/colorama-0.4[${PYTHON_USEDEP}]
- >=dev-python/jinja2-3.0.2[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.6[${PYTHON_USEDEP}]
- >=dev-python/markdown-3.2[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-1.5.3[${PYTHON_USEDEP}]
- >=dev-python/paginate-0.5.6[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.16[${PYTHON_USEDEP}]
- >=dev-python/pymdown-extensions-10.2[${PYTHON_USEDEP}]
- >=dev-python/readtime-2.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/regex-2022.4.24[${PYTHON_USEDEP}]
- ' 'python*')
- >=dev-python/requests-2.26[${PYTHON_USEDEP}]
- social? (
- >=dev-python/pillow-10.2[${PYTHON_USEDEP}]
- >=media-gfx/cairosvg-2.5[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- >=dev-python/trove-classifiers-2023.10.18[${PYTHON_USEDEP}]
-"
-# mkdocs-material-extensions depends on mkdocs-material creating a circular dep
-PDEPEND="
- >=dev-python/mkdocs-material-extensions-1.2[${PYTHON_USEDEP}]
-"
-
-PATCHES=(
- # simplify pyproject to remove extra deps for metadata
- "${FILESDIR}/${PN}-8.5.7-simplify-build.patch"
- # import backrefs only when used (i.e. never)
- "${FILESDIR}/${PN}-9.6.7-backrefs.patch"
-)
-
-src_prepare() {
- echo "__version__ = '${PV}'" > gentoo_version.py || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/mkdocs-material/mkdocs-material-9.6.12.ebuild b/dev-python/mkdocs-material/mkdocs-material-9.6.12.ebuild
index 7faef3c81d56..759f8e511d4c 100644
--- a/dev-python/mkdocs-material/mkdocs-material-9.6.12.ebuild
+++ b/dev-python/mkdocs-material/mkdocs-material-9.6.12.ebuild
@@ -27,7 +27,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
IUSE="social"
RDEPEND="
diff --git a/dev-python/multidict/multidict-6.4.3.ebuild b/dev-python/multidict/multidict-6.4.3.ebuild
index 83f92e0d85f3..a28f04f7be1d 100644
--- a/dev-python/multidict/multidict-6.4.3.ebuild
+++ b/dev-python/multidict/multidict-6.4.3.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos"
IUSE="+native-extensions"
RDEPEND="
diff --git a/dev-python/opentelemetry-api/Manifest b/dev-python/opentelemetry-api/Manifest
index 39d04703ba81..dd8f9419bfb4 100644
--- a/dev-python/opentelemetry-api/Manifest
+++ b/dev-python/opentelemetry-api/Manifest
@@ -1,3 +1 @@
-DIST opentelemetry-python-1.31.1.gh.tar.gz 1224970 BLAKE2B de3c81075fdfa3c005db7ab5ba2ba150983b205b6324ff99129389b65f8bdf8e90fe4cd3c11ff73f0782845aeef70a80cc9627c485cb9b5ba84133d2fc5110dd SHA512 de26d96cf08b306b0f2cee860393a3baa333d2266b3a386d2c9947f6b1dc90d8fd1b36f229c0c92b240819fd71ebdac126a5c371f7d6c249fa2e791ecf5174aa
-DIST opentelemetry-python-1.32.0.gh.tar.gz 1227374 BLAKE2B 193f502a925b659a2696746e0f0a2d39a859d4b58260ed27946b8dc27cfd4b7aad3f9ff8c626ceea93c71b7671a67b60ca44609adf4d41fcd76d021702c12835 SHA512 31e74e34d532ec23ce3797e0fc5cbeaabe60faa6b2cdc2ceeb9ec8f6451a718c819619c2a1fdad1619b1351b10eea39274a3a412f34d18eb661736d90901ae2d
DIST opentelemetry-python-1.32.1.gh.tar.gz 1227397 BLAKE2B 3ae557c528be81fe68bf34349224abb8f30b7ffaacedec9730a54b14ee73fd07fef28112f59274bbcac7c491e6415214e94d91f99c5145f5d56aca220774f333 SHA512 f2d785824b2eba9ec309f26083292a5ed8efa63851a9cd7d5067c9a5633cf4ba4f8d1c38fb67a925e6a5f8741c4f8ba786d0e7e404527e850bb879912620ad7a
diff --git a/dev-python/opentelemetry-api/opentelemetry-api-1.31.1.ebuild b/dev-python/opentelemetry-api/opentelemetry-api-1.31.1.ebuild
deleted file mode 100644
index fa3247cd404c..000000000000
--- a/dev-python/opentelemetry-api/opentelemetry-api-1.31.1.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 2024-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-MY_P="opentelemetry-python-${PV}"
-DESCRIPTION="OpenTelemetry Python API"
-HOMEPAGE="
- https://opentelemetry.io/
- https://pypi.org/project/opentelemetry-api/
- https://github.com/open-telemetry/opentelemetry-python/
-"
-SRC_URI="
- https://github.com/open-telemetry/opentelemetry-python/archive/refs/tags/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}/${PN}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-RDEPEND="
- >=dev-python/deprecated-1.2.6[${PYTHON_USEDEP}]
- dev-python/importlib-metadata[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- default
-
- # Unnecessary restriction
- sed -i -e '/importlib-metadata/s:, <= [0-9.]*::' pyproject.toml || die
-}
-
-python_test() {
- cp -a "${BUILD_DIR}"/{install,test} || die
- local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
-
- for dep in opentelemetry-semantic-conventions opentelemetry-sdk \
- tests/opentelemetry-test-utils
- do
- pushd "${WORKDIR}/${MY_P}/${dep}" >/dev/null || die
- distutils_pep517_install "${BUILD_DIR}"/test
- popd >/dev/null || die
- done
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/opentelemetry-api/opentelemetry-api-1.32.0.ebuild b/dev-python/opentelemetry-api/opentelemetry-api-1.32.0.ebuild
deleted file mode 100644
index 0d91042ac109..000000000000
--- a/dev-python/opentelemetry-api/opentelemetry-api-1.32.0.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 2024-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-MY_P="opentelemetry-python-${PV}"
-DESCRIPTION="OpenTelemetry Python API"
-HOMEPAGE="
- https://opentelemetry.io/
- https://pypi.org/project/opentelemetry-api/
- https://github.com/open-telemetry/opentelemetry-python/
-"
-SRC_URI="
- https://github.com/open-telemetry/opentelemetry-python/archive/refs/tags/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}/${PN}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/deprecated-1.2.6[${PYTHON_USEDEP}]
- dev-python/importlib-metadata[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- default
-
- # Unnecessary restriction
- sed -i -e '/importlib-metadata/s:, <= [0-9.]*::' pyproject.toml || die
-}
-
-python_test() {
- cp -a "${BUILD_DIR}"/{install,test} || die
- local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
-
- for dep in opentelemetry-semantic-conventions opentelemetry-sdk \
- tests/opentelemetry-test-utils
- do
- pushd "${WORKDIR}/${MY_P}/${dep}" >/dev/null || die
- distutils_pep517_install "${BUILD_DIR}"/test
- popd >/dev/null || die
- done
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/opentelemetry-api/opentelemetry-api-1.32.1-r1.ebuild b/dev-python/opentelemetry-api/opentelemetry-api-1.32.1-r1.ebuild
index 1155cafc062e..02d0c82fddf4 100644
--- a/dev-python/opentelemetry-api/opentelemetry-api-1.32.1-r1.ebuild
+++ b/dev-python/opentelemetry-api/opentelemetry-api-1.32.1-r1.ebuild
@@ -23,7 +23,7 @@ S="${WORKDIR}/${MY_P}/${PN}"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 x86"
RDEPEND="
>=dev-python/deprecated-1.2.6[${PYTHON_USEDEP}]
diff --git a/dev-python/opentelemetry-sdk/Manifest b/dev-python/opentelemetry-sdk/Manifest
index 39d04703ba81..dd8f9419bfb4 100644
--- a/dev-python/opentelemetry-sdk/Manifest
+++ b/dev-python/opentelemetry-sdk/Manifest
@@ -1,3 +1 @@
-DIST opentelemetry-python-1.31.1.gh.tar.gz 1224970 BLAKE2B de3c81075fdfa3c005db7ab5ba2ba150983b205b6324ff99129389b65f8bdf8e90fe4cd3c11ff73f0782845aeef70a80cc9627c485cb9b5ba84133d2fc5110dd SHA512 de26d96cf08b306b0f2cee860393a3baa333d2266b3a386d2c9947f6b1dc90d8fd1b36f229c0c92b240819fd71ebdac126a5c371f7d6c249fa2e791ecf5174aa
-DIST opentelemetry-python-1.32.0.gh.tar.gz 1227374 BLAKE2B 193f502a925b659a2696746e0f0a2d39a859d4b58260ed27946b8dc27cfd4b7aad3f9ff8c626ceea93c71b7671a67b60ca44609adf4d41fcd76d021702c12835 SHA512 31e74e34d532ec23ce3797e0fc5cbeaabe60faa6b2cdc2ceeb9ec8f6451a718c819619c2a1fdad1619b1351b10eea39274a3a412f34d18eb661736d90901ae2d
DIST opentelemetry-python-1.32.1.gh.tar.gz 1227397 BLAKE2B 3ae557c528be81fe68bf34349224abb8f30b7ffaacedec9730a54b14ee73fd07fef28112f59274bbcac7c491e6415214e94d91f99c5145f5d56aca220774f333 SHA512 f2d785824b2eba9ec309f26083292a5ed8efa63851a9cd7d5067c9a5633cf4ba4f8d1c38fb67a925e6a5f8741c4f8ba786d0e7e404527e850bb879912620ad7a
diff --git a/dev-python/opentelemetry-sdk/opentelemetry-sdk-1.31.1.ebuild b/dev-python/opentelemetry-sdk/opentelemetry-sdk-1.31.1.ebuild
deleted file mode 100644
index 61ae74b29940..000000000000
--- a/dev-python/opentelemetry-sdk/opentelemetry-sdk-1.31.1.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 2024-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-MY_P="opentelemetry-python-${PV}"
-DESCRIPTION="OpenTelemetry Python SDK"
-HOMEPAGE="
- https://opentelemetry.io/
- https://pypi.org/project/opentelemetry-sdk/
- https://github.com/open-telemetry/opentelemetry-python/
-"
-SRC_URI="
- https://github.com/open-telemetry/opentelemetry-python/archive/refs/tags/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-
-S="${WORKDIR}/${MY_P}/${PN}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-RDEPEND="
- ~dev-python/opentelemetry-api-${PV}[${PYTHON_USEDEP}]
- ~dev-python/opentelemetry-semantic-conventions-${PV}[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-3.7.4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- )
-"
-
-# Tests cannot handle xdist with high makeopts
-# https://bugs.gentoo.org/928132
-distutils_enable_tests pytest
-
-python_test() {
- cp -a "${BUILD_DIR}"/{install,test} || die
- local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
-
- for dep in tests/opentelemetry-test-utils; do
- pushd "${WORKDIR}/${MY_P}/${dep}" >/dev/null || die
- distutils_pep517_install "${BUILD_DIR}"/test
- popd >/dev/null || die
- done
-
- local EPYTEST_DESELECT=(
- # TODO
- "${PN}"/tests/resources/test_resources.py::TestOTELResourceDetector::test_process_detector
- "${PN}"/tests/metrics/integration_test/test_console_exporter.py::TestConsoleExporter::test_console_exporter_with_exemplars
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest tests
-}
diff --git a/dev-python/opentelemetry-sdk/opentelemetry-sdk-1.32.0.ebuild b/dev-python/opentelemetry-sdk/opentelemetry-sdk-1.32.0.ebuild
deleted file mode 100644
index 0a63f8565793..000000000000
--- a/dev-python/opentelemetry-sdk/opentelemetry-sdk-1.32.0.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 2024-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-MY_P="opentelemetry-python-${PV}"
-DESCRIPTION="OpenTelemetry Python SDK"
-HOMEPAGE="
- https://opentelemetry.io/
- https://pypi.org/project/opentelemetry-sdk/
- https://github.com/open-telemetry/opentelemetry-python/
-"
-SRC_URI="
- https://github.com/open-telemetry/opentelemetry-python/archive/refs/tags/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-
-S="${WORKDIR}/${MY_P}/${PN}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- ~dev-python/opentelemetry-api-${PV}[${PYTHON_USEDEP}]
- ~dev-python/opentelemetry-semantic-conventions-${PV}[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-3.7.4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- )
-"
-
-# Tests cannot handle xdist with high makeopts
-# https://bugs.gentoo.org/928132
-distutils_enable_tests pytest
-
-python_test() {
- cp -a "${BUILD_DIR}"/{install,test} || die
- local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
-
- for dep in tests/opentelemetry-test-utils; do
- pushd "${WORKDIR}/${MY_P}/${dep}" >/dev/null || die
- distutils_pep517_install "${BUILD_DIR}"/test
- popd >/dev/null || die
- done
-
- local EPYTEST_DESELECT=(
- # TODO
- "${PN}"/tests/resources/test_resources.py::TestOTELResourceDetector::test_process_detector
- "${PN}"/tests/metrics/integration_test/test_console_exporter.py::TestConsoleExporter::test_console_exporter_with_exemplars
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest tests
-}
diff --git a/dev-python/opentelemetry-sdk/opentelemetry-sdk-1.32.1.ebuild b/dev-python/opentelemetry-sdk/opentelemetry-sdk-1.32.1.ebuild
index 0a63f8565793..61ae74b29940 100644
--- a/dev-python/opentelemetry-sdk/opentelemetry-sdk-1.32.1.ebuild
+++ b/dev-python/opentelemetry-sdk/opentelemetry-sdk-1.32.1.ebuild
@@ -24,7 +24,7 @@ S="${WORKDIR}/${MY_P}/${PN}"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 x86"
RDEPEND="
~dev-python/opentelemetry-api-${PV}[${PYTHON_USEDEP}]
diff --git a/dev-python/opentelemetry-semantic-conventions/Manifest b/dev-python/opentelemetry-semantic-conventions/Manifest
index 39d04703ba81..dd8f9419bfb4 100644
--- a/dev-python/opentelemetry-semantic-conventions/Manifest
+++ b/dev-python/opentelemetry-semantic-conventions/Manifest
@@ -1,3 +1 @@
-DIST opentelemetry-python-1.31.1.gh.tar.gz 1224970 BLAKE2B de3c81075fdfa3c005db7ab5ba2ba150983b205b6324ff99129389b65f8bdf8e90fe4cd3c11ff73f0782845aeef70a80cc9627c485cb9b5ba84133d2fc5110dd SHA512 de26d96cf08b306b0f2cee860393a3baa333d2266b3a386d2c9947f6b1dc90d8fd1b36f229c0c92b240819fd71ebdac126a5c371f7d6c249fa2e791ecf5174aa
-DIST opentelemetry-python-1.32.0.gh.tar.gz 1227374 BLAKE2B 193f502a925b659a2696746e0f0a2d39a859d4b58260ed27946b8dc27cfd4b7aad3f9ff8c626ceea93c71b7671a67b60ca44609adf4d41fcd76d021702c12835 SHA512 31e74e34d532ec23ce3797e0fc5cbeaabe60faa6b2cdc2ceeb9ec8f6451a718c819619c2a1fdad1619b1351b10eea39274a3a412f34d18eb661736d90901ae2d
DIST opentelemetry-python-1.32.1.gh.tar.gz 1227397 BLAKE2B 3ae557c528be81fe68bf34349224abb8f30b7ffaacedec9730a54b14ee73fd07fef28112f59274bbcac7c491e6415214e94d91f99c5145f5d56aca220774f333 SHA512 f2d785824b2eba9ec309f26083292a5ed8efa63851a9cd7d5067c9a5633cf4ba4f8d1c38fb67a925e6a5f8741c4f8ba786d0e7e404527e850bb879912620ad7a
diff --git a/dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.31.1.ebuild b/dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.31.1.ebuild
deleted file mode 100644
index 92ef77268e9a..000000000000
--- a/dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.31.1.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 2024-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1 pypi
-
-MY_P="opentelemetry-python-${PV}"
-DESCRIPTION="OpenTelemetry Semantic Conventions"
-HOMEPAGE="
- https://opentelemetry.io/
- https://pypi.org/project/opentelemetry-sdk/
- https://github.com/open-telemetry/opentelemetry-python/
-"
-SRC_URI="
- https://github.com/open-telemetry/opentelemetry-python/archive/refs/tags/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}/${PN}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-RDEPEND="
- >=dev-python/deprecated-1.2.6[${PYTHON_USEDEP}]
- ~dev-python/opentelemetry-api-${PV}[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- cp -a "${BUILD_DIR}"/{install,test} || die
- local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
-
- for dep in opentelemetry-sdk tests/opentelemetry-test-utils; do
- pushd "${WORKDIR}/${MY_P}/${dep}" >/dev/null || die
- distutils_pep517_install "${BUILD_DIR}"/test
- popd >/dev/null || die
- done
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.32.0.ebuild b/dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.32.0.ebuild
deleted file mode 100644
index 4fcd38d97ec6..000000000000
--- a/dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.32.0.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 2024-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1 pypi
-
-MY_P="opentelemetry-python-${PV}"
-DESCRIPTION="OpenTelemetry Semantic Conventions"
-HOMEPAGE="
- https://opentelemetry.io/
- https://pypi.org/project/opentelemetry-sdk/
- https://github.com/open-telemetry/opentelemetry-python/
-"
-SRC_URI="
- https://github.com/open-telemetry/opentelemetry-python/archive/refs/tags/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}/${PN}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/deprecated-1.2.6[${PYTHON_USEDEP}]
- ~dev-python/opentelemetry-api-${PV}[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- cp -a "${BUILD_DIR}"/{install,test} || die
- local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
-
- for dep in opentelemetry-sdk tests/opentelemetry-test-utils; do
- pushd "${WORKDIR}/${MY_P}/${dep}" >/dev/null || die
- distutils_pep517_install "${BUILD_DIR}"/test
- popd >/dev/null || die
- done
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.32.1.ebuild b/dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.32.1.ebuild
index 4fcd38d97ec6..92ef77268e9a 100644
--- a/dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.32.1.ebuild
+++ b/dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.32.1.ebuild
@@ -23,7 +23,7 @@ S="${WORKDIR}/${MY_P}/${PN}"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 x86"
RDEPEND="
>=dev-python/deprecated-1.2.6[${PYTHON_USEDEP}]
diff --git a/dev-python/ordered-set/ordered-set-4.1.0.ebuild b/dev-python/ordered-set/ordered-set-4.1.0-r1.ebuild
index 4d9a1205cb16..32e336aa71c8 100644
--- a/dev-python/ordered-set/ordered-set-4.1.0.ebuild
+++ b/dev-python/ordered-set/ordered-set-4.1.0-r1.ebuild
@@ -1,8 +1,7 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
-EAPI=7
+EAPI=8
DISTUTILS_USE_PEP517=flit
PYPI_NO_NORMALIZE=1
@@ -11,7 +10,10 @@ PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
inherit distutils-r1 pypi
DESCRIPTION="A mutable set that remembers the order of its entries"
-HOMEPAGE="https://github.com/rspeer/ordered-set"
+HOMEPAGE="
+ https://github.com/rspeer/ordered-set/
+ https://pypi.org/project/ordered-set/
+"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/pillow/pillow-11.2.1.ebuild b/dev-python/pillow/pillow-11.2.1.ebuild
index b5a39d28a81c..d3b6f56fd1f8 100644
--- a/dev-python/pillow/pillow-11.2.1.ebuild
+++ b/dev-python/pillow/pillow-11.2.1.ebuild
@@ -35,7 +35,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="HPND"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
IUSE="avif examples imagequant +jpeg jpeg2k lcms test tiff tk truetype webp xcb zlib"
REQUIRED_USE="test? ( jpeg jpeg2k lcms tiff truetype )"
RESTRICT="!test? ( test )"
diff --git a/dev-python/pip/Manifest b/dev-python/pip/Manifest
index 5b892dfc3c3d..91bf1f520dbd 100644
--- a/dev-python/pip/Manifest
+++ b/dev-python/pip/Manifest
@@ -1,3 +1,4 @@
DIST pip-24.1.gh.tar.gz 9188658 BLAKE2B 4a43ff0199d811dd30461e376f655a447f3f706a48dd97fe1d0ccf630f558e72209ccd06d98949a1541cd6b2942a816db23ce8aaa7fbbf9aef429502fb91ab92 SHA512 c60ab329fe91202ff64b5f0f90209085fbf8db0f0a05f0703f952ad69e39e2e3edb5dadc006a3f317cdd4ba4fb5abe56dfbd22792249a2d139702eec272186d1
DIST pip-25.0.1.gh.tar.gz 9224526 BLAKE2B db729b8c75d8e15c6fed1dbc9e08adc4e82114f2bbd953859ec03c7948e521629afd8cea6adb08110b987d6adf48fd600a59a3bcc27774db61ea92675ad90d42 SHA512 a6850c8567082bbf98483a45e523c4de12132136d2b0aa388ac619c02ffd0c8f6aea7d727f7d84167dadec5f1e56dd478b2233b0caa5d9b3e5cadc9e1f3dc12c
+DIST pip-25.1.1.gh.tar.gz 9219969 BLAKE2B eb443451deeb71888c2fc56ac5c8cb2d0515ec0efff975fab98cfa65d1fc5e66948243b3acebf1f4b0446e46082abb9fd350816579a4f5af1292c160490ce930 SHA512 ce61c9861265139b3c5ea9be9dc246097cd75c21687cf8301f80a377d02420c4524f0d6307d2ca0232ff8715b1105343bcfdb9cac6b69503780ab2c4645558dc
DIST pip-25.1.gh.tar.gz 9220205 BLAKE2B 3e719b180dd4f039a1bf15cdd2686fdc270e842e4b9ab416306bf9ea40c037541df05af78239fe067dfa3edc27b7370ea04c1d9cec43cc6cfd2f9e8f347f41ee SHA512 d6b93aeabe6a4e046caf85c028fca380936ab65cb3c5028a7fa7dbc61cef2cf7d0c46c499fe548dc0af8f7bc30f7ecace8f257b20a60c0cc905b531f193b5a9d
diff --git a/dev-python/pip/pip-25.1.1.ebuild b/dev-python/pip/pip-25.1.1.ebuild
new file mode 100644
index 000000000000..8daa1e8c5ee7
--- /dev/null
+++ b/dev-python/pip/pip-25.1.1.ebuild
@@ -0,0 +1,181 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# please bump dev-python/ensurepip-pip along with this package!
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_TESTED=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+PYTHON_REQ_USE="ssl(+),threads(+)"
+
+inherit distutils-r1 shell-completion
+
+DESCRIPTION="The PyPA recommended tool for installing Python packages"
+HOMEPAGE="
+ https://pip.pypa.io/en/stable/
+ https://pypi.org/project/pip/
+ https://github.com/pypa/pip/
+"
+SRC_URI="
+ https://github.com/pypa/pip/archive/${PV}.tar.gz -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~mips ~ppc ~riscv ~x86"
+IUSE="test-rust"
+
+# see src/pip/_vendor/vendor.txt
+RDEPEND="
+ >=dev-python/cachecontrol-0.14.2[${PYTHON_USEDEP}]
+ >=dev-python/dependency-groups-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/distlib-0.3.9[${PYTHON_USEDEP}]
+ >=dev-python/distro-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/packaging-25.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-4.3.7[${PYTHON_USEDEP}]
+ >=dev-python/pyproject-hooks-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.32.3[${PYTHON_USEDEP}]
+ >=dev-python/rich-14.0.0[${PYTHON_USEDEP}]
+ >=dev-python/resolvelib-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-70.3.0[${PYTHON_USEDEP}]
+ >=dev-python/tomli-w-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/truststore-0.10.1[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.13.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/ensurepip-setuptools
+ dev-python/ensurepip-wheel
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/pretend[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/scripttest[${PYTHON_USEDEP}]
+ <dev-python/setuptools-80[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ test-rust? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ )
+ dev-vcs/git
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ local PATCHES=(
+ "${FILESDIR}/pip-23.1-no-coverage.patch"
+ # prepare to unbundle dependencies
+ "${FILESDIR}/pip-25.0.1-unbundle.patch"
+ )
+
+ distutils-r1_python_prepare_all
+
+ # unbundle dependencies
+ rm -r src/pip/_vendor || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from pip\._vendor import:import:g' \
+ -e 's:from pip\._vendor\.:from :g' \
+ {} + || die
+
+ if use test; then
+ local wheels=(
+ "${BROOT}"/usr/lib/python/ensurepip/{setuptools,wheel}-*.whl
+ )
+ mkdir tests/data/common_wheels/ || die
+ cp "${wheels[@]}" tests/data/common_wheels/ || die
+ fi
+}
+
+python_configure() {
+ if use test && has_version "dev-python/pip[${PYTHON_USEDEP}]"; then
+ "${EPYTHON}" -m pip check ||
+ die "${EPYTHON} -m pip check failed, tests will fail"
+ fi
+}
+
+python_compile_all() {
+ # 'pip completion' command embeds full $0 into completion script, which confuses
+ # 'complete' and causes QA warning when running as "${PYTHON} -m pip".
+ # This trick sets correct $0 while still calling just installed pip.
+ local pipcmd='import sys; sys.argv[0] = "pip"; __file__ = ""; from pip._internal.cli.main import main; sys.exit(main())'
+ "${EPYTHON}" -c "${pipcmd}" completion --bash > completion.bash || die
+ "${EPYTHON}" -c "${pipcmd}" completion --zsh > completion.zsh || die
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return 0
+ fi
+
+ local EPYTEST_DESELECT=(
+ tests/functional/test_inspect.py::test_inspect_basic
+ # Internet
+ tests/functional/test_config_settings.py::test_backend_sees_config_via_sdist
+ tests/functional/test_install.py::test_double_install_fail
+ tests/functional/test_install.py::test_install_sdist_links
+ tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed
+ tests/functional/test_lock.py::test_lock_archive
+ tests/functional/test_lock.py::test_lock_vcs
+ # broken by system site-packages use
+ tests/functional/test_freeze.py::test_freeze_with_setuptools
+ tests/functional/test_pip_runner_script.py::test_runner_work_in_environments_with_no_pip
+ tests/functional/test_uninstall.py::test_basic_uninstall_distutils
+ tests/unit/test_base_command.py::test_base_command_global_tempdir_cleanup
+ tests/unit/test_base_command.py::test_base_command_local_tempdir_cleanup
+ tests/unit/test_base_command.py::test_base_command_provides_tempdir_helpers
+ # broken by unbundling
+ "tests/functional/test_debug.py::test_debug[vendored library versions:]"
+ tests/functional/test_debug.py::test_debug__library_versions
+ tests/functional/test_python_option.py::test_python_interpreter
+ tests/functional/test_uninstall.py::test_uninstall_non_local_distutils
+ )
+ local EPYTEST_IGNORE=(
+ # requires proxy.py
+ tests/functional/test_proxy.py
+ )
+
+ case ${EPYTHON} in
+ pypy3*)
+ EPYTEST_DESELECT+=(
+ # unexpected tempfiles?
+ tests/functional/test_install_config.py::test_do_not_prompt_for_authentication
+ tests/functional/test_install_config.py::test_prompt_for_authentication
+ )
+ ;;
+ esac
+
+ if ! has_version "dev-python/cryptography[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/functional/test_install.py::test_install_sends_client_cert
+ tests/functional/test_install_config.py::test_do_not_prompt_for_authentication
+ tests/functional/test_install_config.py::test_prompt_for_authentication
+ tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed
+ )
+ fi
+
+ local -x PIP_DISABLE_PIP_VERSION_CHECK=1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local EPYTEST_XDIST=1
+ # rerunfailures because test suite breaks if packages are installed
+ # in parallel
+ epytest -m "not network" -o tmp_path_retention_policy=all \
+ -p rerunfailures --reruns=5 --use-venv
+}
+
+python_install_all() {
+ local DOCS=( AUTHORS.txt docs/html/**/*.rst )
+ distutils-r1_python_install_all
+
+ newbashcomp completion.bash pip
+ newzshcomp completion.zsh _pip
+}
diff --git a/dev-python/plotly/Manifest b/dev-python/plotly/Manifest
index 519418dadf8e..70fd9bf4ad67 100644
--- a/dev-python/plotly/Manifest
+++ b/dev-python/plotly/Manifest
@@ -1 +1,2 @@
DIST plotly.py-6.0.1.gh.tar.gz 7619570 BLAKE2B 6c88b24d15aa233e1d3871975d224bd9829f1726beba665bc68a2d1af293361774b10a9d4a95ce2c5c53afe7ac01f7770809fbfbab3733ff31531233905c97f1 SHA512 192d5ea5e5d75548d9fbacc36d419b695d5e976ab0e2e538b1453c89ba3b1b0494abc4631d0d631cd6fe60a74b4a67937173564f9661aa408ffc1fc0bfac2559
+DIST plotly.py-6.1.0rc0.gh.tar.gz 10087412 BLAKE2B 2863ebdec4dc3aa9a0f604e37e75e9b1401df06d028631f38d87fa9b48d9f780312c30ab18dee7c04e11d250796c4a48ed1ae6076e858c5b188cf06e6170c641 SHA512 8191313422ac99686ad1bf5f3a81c9a8bca5232891313a3b8adb503565752f911ae9749a842c7ee76e34b37b227d91ac10d897286d6ff70b5728616060c1cd9c
diff --git a/dev-python/plotly/plotly-6.1.0_rc0.ebuild b/dev-python/plotly/plotly-6.1.0_rc0.ebuild
new file mode 100644
index 000000000000..8a60fcc5032a
--- /dev/null
+++ b/dev-python/plotly/plotly-6.1.0_rc0.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1
+
+MY_P=plotly.py-${PV/_}
+DESCRIPTION="Browser-based graphing library for Python"
+HOMEPAGE="
+ https://plotly.com/python/
+ https://github.com/plotly/plotly.py/
+ https://pypi.org/project/plotly/
+"
+SRC_URI="
+ https://github.com/plotly/plotly.py/archive/refs/tags/v${PV/_}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}"
+# The tests are not included in the PyPI tarball, to use the GitHub tarball
+# we have to skip npm, which means that the resulting install will
+# unfortunately lack the jupyterlab extension.
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/narwhals-1.15.1[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jupyter[${PYTHON_USEDEP}]
+ dev-python/jupyterlab[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/scikit-image[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/statsmodels[${PYTHON_USEDEP}]
+ dev-python/xarray[${PYTHON_USEDEP}]
+ )
+"
+
+# There are sphinx docs but we are missing a bunch of dependencies.
+# distutils_enable_sphinx ../../../doc/apidoc
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+
+ # Do not try to fetch stuff with npm
+ export SKIP_NPM=1
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # requires polars
+ tests/test_optional/test_px
+
+ # requires kaleido
+ tests/test_optional/test_kaleido/test_kaleido.py
+ )
+
+ local EPYTEST_DESELECT=(
+ # requires polars
+ 'tests/test_plotly_utils/validators/test_fig_deepcopy.py::test_deepcopy_dataframe[polars]'
+
+ # require anywidgets
+ 'tests/test_io/test_to_from_json.py::test_from_json_output_type[FigureWidget-FigureWidget0]'
+ 'tests/test_io/test_to_from_json.py::test_from_json_output_type[FigureWidget-FigureWidget1]'
+ 'tests/test_io/test_to_from_json.py::test_read_json_from_filelike[FigureWidget-FigureWidget0]'
+ 'tests/test_io/test_to_from_json.py::test_read_json_from_filelike[FigureWidget-FigureWidget1]'
+ 'tests/test_io/test_to_from_json.py::test_read_json_from_pathlib[FigureWidget-FigureWidget0]'
+ 'tests/test_io/test_to_from_json.py::test_read_json_from_pathlib[FigureWidget-FigureWidget1]'
+ 'tests/test_io/test_to_from_json.py::test_read_json_from_file_string[FigureWidget-FigureWidget0]'
+ 'tests/test_io/test_to_from_json.py::test_read_json_from_file_string[FigureWidget-FigureWidget1]'
+
+ # minor matplotlib incompatibility
+ plotly/matplotlylib/mplexporter/tests/test_basic.py::test_legend_dots
+ plotly/matplotlylib/mplexporter/tests/test_utils.py::test_linestyle
+
+ # fails in non-isolated env
+ test_init/test_dependencies_not_imported.py::test_dependencies_not_imported
+ test_init/test_lazy_imports.py::test_lazy_imports
+
+ # TODO
+ 'tests/test_plotly_utils/validators/test_colorscale_validator.py::test_acceptance_named[Inferno_r]'
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/ply/ply-3.11-r2.ebuild b/dev-python/ply/ply-3.11-r2.ebuild
index 2964d8dd6889..3db9696b1d3f 100644
--- a/dev-python/ply/ply-3.11-r2.ebuild
+++ b/dev-python/ply/ply-3.11-r2.ebuild
@@ -1,8 +1,7 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
-EAPI=7
+EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
diff --git a/dev-python/prompt-toolkit/Manifest b/dev-python/prompt-toolkit/Manifest
index 204bff54b8f4..fd94e6b60233 100644
--- a/dev-python/prompt-toolkit/Manifest
+++ b/dev-python/prompt-toolkit/Manifest
@@ -1,2 +1 @@
-DIST prompt_toolkit-3.0.50.tar.gz 429087 BLAKE2B 534c86bc82c34c26df4cbce37ebfdffa720dc0eedde7d1b8ef434474facdbbe327c5634fa949166d72d763198a89890fea95f5d5e86ff8444c44b2f203aaccb3 SHA512 1ee5d91257607da100ac99aa4220067fd85a785495d03e6f617508bed750df7f6fd3857205e55126cf7059074433d4a59d4525c023c8f4401a0efa33495833ed
DIST prompt_toolkit-3.0.51.tar.gz 428940 BLAKE2B 9850ed569b9b8a70f95364ea894e278b7a2bd9295b7530fd8e2fd594f43b8fe108d5943f084c585be403b6087dd37bcce369eb8f1e9508c92f44b7a56ffcdf78 SHA512 490c3704872ec3e7e9e9aab393ea63fefdb812ed685620f097000271d529fae0d543c12085653b2844357585432f021d4edf7e7494f70938054c3c3b1c5a8ce3
diff --git a/dev-python/prompt-toolkit/prompt-toolkit-3.0.50.ebuild b/dev-python/prompt-toolkit/prompt-toolkit-3.0.50.ebuild
deleted file mode 100644
index 5b37f8ec5ffc..000000000000
--- a/dev-python/prompt-toolkit/prompt-toolkit-3.0.50.ebuild
+++ /dev/null
@@ -1,30 +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_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Building powerful interactive command lines in Python"
-HOMEPAGE="
- https://pypi.org/project/prompt-toolkit/
- https://github.com/prompt-toolkit/python-prompt-toolkit/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- dev-python/wcwidth[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # requires tree-sitter-languages
- src/prompt_toolkit/lexers/tree_sitter_test.py
-)
diff --git a/dev-python/prompt-toolkit/prompt-toolkit-3.0.51.ebuild b/dev-python/prompt-toolkit/prompt-toolkit-3.0.51.ebuild
index 49302b1e7724..5b37f8ec5ffc 100644
--- a/dev-python/prompt-toolkit/prompt-toolkit-3.0.51.ebuild
+++ b/dev-python/prompt-toolkit/prompt-toolkit-3.0.51.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="BSD"
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"
RDEPEND="
dev-python/wcwidth[${PYTHON_USEDEP}]
diff --git a/dev-python/pyalsa/pyalsa-1.2.14.ebuild b/dev-python/pyalsa/pyalsa-1.2.14.ebuild
index 912bfe5193ca..c8591b885c86 100644
--- a/dev-python/pyalsa/pyalsa-1.2.14.ebuild
+++ b/dev-python/pyalsa/pyalsa-1.2.14.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://www.alsa-project.org/files/pub/pyalsa/${P}.tar.bz2"
LICENSE="LGPL-2.1+"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~mips ppc ppc64 ~riscv ~sparc x86"
# Needs access to system's alsa configuration/devices
RESTRICT="test"
diff --git a/dev-python/pycairo/pycairo-1.28.0.ebuild b/dev-python/pycairo/pycairo-1.28.0.ebuild
index 4a396b1e679d..81fc191adce5 100644
--- a/dev-python/pycairo/pycairo-1.28.0.ebuild
+++ b/dev-python/pycairo/pycairo-1.28.0.ebuild
@@ -22,7 +22,7 @@ SRC_URI="
LICENSE="|| ( LGPL-2.1 MPL-1.1 )"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="X examples test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/pyopengl/files/pyopengl-3.1.7-py312.patch b/dev-python/pyopengl/files/pyopengl-3.1.7-py312.patch
deleted file mode 100644
index 53c4b6ab847f..000000000000
--- a/dev-python/pyopengl/files/pyopengl-3.1.7-py312.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From b49af26c615236ebc29cf125a8315091482a4a2a Mon Sep 17 00:00:00 2001
-From: Scott Talbert <swt@techie.net>
-Date: Tue, 18 Jul 2023 10:12:29 -0400
-Subject: [PATCH] Fix ctypes FormatHandler for Python 3.12+
-
-In Python 3.12, CArgObject moved from builtins to _ctypes it seems.
-
-Fixes #99.
----
- OpenGL/__init__.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/OpenGL/__init__.py b/OpenGL/__init__.py
-index f9cc6bfc..77dc8c0b 100644
---- a/OpenGL/__init__.py
-+++ b/OpenGL/__init__.py
-@@ -308,7 +308,7 @@ FormatHandler(
- "ctypesparameter",
- "OpenGL.arrays.ctypesparameters.CtypesParameterHandler",
- [
-- _bi + ".CArgObject",
-+ ("_ctypes" if sys.version_info[:2] >= (3,12) else _bi) + ".CArgObject",
- "ctypes.c_uint",
- "ctypes.c_int",
- "ctypes.c_float",
---
-2.42.1
-
diff --git a/dev-python/pyscard/pyscard-2.2.2.ebuild b/dev-python/pyscard/pyscard-2.2.2.ebuild
index 2e2b5ba9ac3b..98baa5490fae 100644
--- a/dev-python/pyscard/pyscard-2.2.2.ebuild
+++ b/dev-python/pyscard/pyscard-2.2.2.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~amd64 arm arm64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
DEPEND="
sys-apps/pcsc-lite
diff --git a/dev-python/pysnmp/Manifest b/dev-python/pysnmp/Manifest
index 99b922558ed0..f14d40d8cd01 100644
--- a/dev-python/pysnmp/Manifest
+++ b/dev-python/pysnmp/Manifest
@@ -1,2 +1,3 @@
DIST pysnmp-7.1.17.tar.gz 366560 BLAKE2B 43a1483af845ce16e6b99e6ae4858d797ec21450012302817d67d790bfba7b435fb443eedc29b58bf2c69d534263710d835655a955b578a680b8054cd0f2f78e SHA512 01fa8483499374e26ed7672de4a30865f197c6b14beb679fec1b2750c7a2c983f3b74851418c9830a37fb8a73881beeaca844a1dc8eab2a5081eb8038be8bfe2
DIST pysnmp-7.1.19.gh.tar.gz 499285 BLAKE2B 2c40284907bec639e2709e1a450c112d4142a66942cd86565f9c229658e15de5f6bf58e62392e78200685511657d581a0ff16334f930980f5d8c877293f630cd SHA512 05bf5a65f4d6944b309f4ed8ae581359a7944b7fd42e5f96097ea38de2573d251d067935edbd97cd0aa45e8606d850258413f7597176c03e96a68f2faab5c8ed
+DIST pysnmp-7.1.20.gh.tar.gz 498284 BLAKE2B 1f4a5129792375b0e8fcae7c7b2cc3b00fd0fc0d3b8ff4fb1ea62274e5a35835f07213477cb2248a18c2ac9b215826e84e555ea4602ad58753ba6f56eb232322 SHA512 41024f45f559cf001958f53cb00b1acaf14aba9caaf21cfbab7a3232e349b8c59a2fc4c686fe1429db71fed1dead19f3aaeb6d6550d370f669b910cdfeabd388
diff --git a/dev-python/pysnmp/pysnmp-7.1.20.ebuild b/dev-python/pysnmp/pysnmp-7.1.20.ebuild
new file mode 100644
index 000000000000..820e64f2c336
--- /dev/null
+++ b/dev-python/pysnmp/pysnmp-7.1.20.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python SNMP library"
+HOMEPAGE="
+ https://pypi.org/project/pysnmp/
+ https://github.com/lextudio/pysnmp/
+"
+SRC_URI="
+ https://github.com/lextudio/pysnmp/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~sparc ~x86"
+PROPERTIES="test_network"
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-python/cryptography-43.0.1[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-0.4.8[${PYTHON_USEDEP}]
+ >=dev-python/pysmi-1.5.7[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+# TODO
+# distutils_enable_sphinx docs/source dev-python/furo dev-python/sphinx-copybutton dev-python/sphinx-sitemap
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ tests/smi/manager/test_mib-tree-inspection.py::test_getNodeName_by_symbol_description_with_module_name_2
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ mibdump CISCO-ENHANCED-IPSEC-FLOW-MIB.py || die
+ mibdump LEXTUDIO-TEST-MIB || die
+ mibdump NET-SNMP-EXAMPLES-MIB || die
+ mibdump IF-MIB || die
+ epytest -p asyncio
+}
diff --git a/dev-python/pysol-cards/Manifest b/dev-python/pysol-cards/Manifest
index b1ffad22d7d0..018a2ced5f89 100644
--- a/dev-python/pysol-cards/Manifest
+++ b/dev-python/pysol-cards/Manifest
@@ -1,2 +1,3 @@
DIST pysol_cards-0.18.1.tar.gz 17975 BLAKE2B 59da03e8944bc94da9f775041b26928fa77af8f7472ae6ed189ac56a583a9b1c6ae419ada7c8118f5b5a6914f4adf94e4664bf2ad67a436e60c1516b29e96ef5 SHA512 aa38a05f6c2f0b9f1b59b1972c6e9fee20050013b8a9238248ba717cb42354c55d194a71cdd6a77462096938fb413c43c002aa2c1d0ca91e3e931ee60de5b791
DIST pysol_cards-0.20.0.tar.gz 18261 BLAKE2B 46fe7bb64eb669877fd0aced252dc3071a099264c7405c62de9911f4a2ef3d002f2224110d4d643a41076850b72253cb444fc05dd29ecf80490def2eaf7e3059 SHA512 94703f94f7b64927474ee9615966ab66c572eaba981c680afd99956c4e38ca6752844f70546f4d51292c093b1f2437c79a84f62b1f40acf1e63ac0bff1b87cda
+DIST pysol_cards-0.22.0.tar.gz 18704 BLAKE2B e504ff49003e5c3c4ca0176d7497edc1e4e8f6ca5f3ca79e589fad71ac3cd8ce728206f92fed8a76054c2ebc37236a27450489554ca359b08dd0c41033bace26 SHA512 13c24c5b957c6d31a8058d48f8f7adb6c3cc2bc0a416fcb82f2608cef054e7a87260faa32706ab15f735136bf2937bb2c53ae4c2858e240ccaac6984f1486942
diff --git a/dev-python/pysol-cards/pysol-cards-0.22.0.ebuild b/dev-python/pysol-cards/pysol-cards-0.22.0.ebuild
new file mode 100644
index 000000000000..74908da3033d
--- /dev/null
+++ b/dev-python/pysol-cards/pysol-cards-0.22.0.ebuild
@@ -0,0 +1,25 @@
+# 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_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Deal PySol FreeCell cards"
+HOMEPAGE="
+ https://github.com/shlomif/pysol_cards/
+ https://pypi.org/project/pysol-cards/
+"
+
+LICENSE="Apache-2.0 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
+
+distutils_enable_tests unittest
+
+python_test() {
+ eunittest -s tests
+}
diff --git a/dev-python/pytest-django/Manifest b/dev-python/pytest-django/Manifest
index 261aa27285e1..3a4ab1668315 100644
--- a/dev-python/pytest-django/Manifest
+++ b/dev-python/pytest-django/Manifest
@@ -1,3 +1 @@
-DIST pytest-django-4.10.0.gh.tar.gz 78992 BLAKE2B 0d42b7bf11fd06ea58b38d9fedf48b12a1577b7b732a61449b787217a729e95ad7c754530bc31c3a6ce7d4c8417fce5b47bdd554b91b71ed148cdff5efb2696c SHA512 887e02a6122631adf0bb34e7b8354378d628564f736c3754a475473b9dc3ff80599bed9b7ccc12b145d0963c3cb56e7110d49c70bfd0b37e15f8a95f3f787ecf
-DIST pytest-django-4.11.0.gh.tar.gz 80121 BLAKE2B d8450f007b7a4c5235b03d854a540780c10c993daf9ede82c4927ff69a4b469228a8f42628c1612006ed6312be5767b2c7a3d49e965e9b15bcb89e07ff622419 SHA512 7332c04589ae5539bb03bbdfeebd8e7435073370fcf5b20371ecc570d94ac3460661a192089d5ec7860f77aebbf91399ec78d786d89471a550b1ad9367189128
DIST pytest-django-4.11.1.gh.tar.gz 80276 BLAKE2B e63195b133f5b619ca9edefa5e0849741848d207700de4b531d26e464e5d4554c229158d47f23717ab96b72783525646241e8fe93eea5d5dbe46a727ec3370b9 SHA512 2c6732277e339c0731214af7dfd06618c29393a9b06fe009beac15ac9aba568763f1595315eaa3416cbaa292a9e44ee1d608d265c148d95e1c8679f5b534f064
diff --git a/dev-python/pytest-django/pytest-django-4.10.0.ebuild b/dev-python/pytest-django/pytest-django-4.10.0.ebuild
deleted file mode 100644
index 682714420b0a..000000000000
--- a/dev-python/pytest-django/pytest-django-4.10.0.ebuild
+++ /dev/null
@@ -1,51 +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_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A Django plugin for pytest"
-HOMEPAGE="
- https://pypi.org/project/pytest-django/
- https://pytest-django.readthedocs.io/
- https://github.com/pytest-dev/pytest-django/
-"
-SRC_URI="
- https://github.com/pytest-dev/pytest-django/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86"
-
-RDEPEND="
- >=dev-python/pytest-7.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools-scm-1.11.1[${PYTHON_USEDEP}]
- test? (
- dev-python/django[${PYTHON_USEDEP}]
- >=dev-python/django-configurations-2.0[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x DJANGO_SETTINGS_MODULE
- local -x PYTHONPATH=${PWD}
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=pytest_django.plugin,xdist.plugin
- for DJANGO_SETTINGS_MODULE in pytest_django_test.settings_sqlite{,_file}; do
- einfo "Testing ${DJANGO_SETTINGS_MODULE}"
- epytest tests
- done
-}
diff --git a/dev-python/pytest-django/pytest-django-4.11.0.ebuild b/dev-python/pytest-django/pytest-django-4.11.0.ebuild
deleted file mode 100644
index e47fa143d71a..000000000000
--- a/dev-python/pytest-django/pytest-django-4.11.0.ebuild
+++ /dev/null
@@ -1,51 +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_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A Django plugin for pytest"
-HOMEPAGE="
- https://pypi.org/project/pytest-django/
- https://pytest-django.readthedocs.io/
- https://github.com/pytest-dev/pytest-django/
-"
-SRC_URI="
- https://github.com/pytest-dev/pytest-django/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/pytest-7.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools-scm-1.11.1[${PYTHON_USEDEP}]
- test? (
- dev-python/django[${PYTHON_USEDEP}]
- >=dev-python/django-configurations-2.0[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x DJANGO_SETTINGS_MODULE
- local -x PYTHONPATH=${PWD}
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=pytest_django.plugin,xdist.plugin
- for DJANGO_SETTINGS_MODULE in pytest_django_test.settings_sqlite{,_file}; do
- einfo "Testing ${DJANGO_SETTINGS_MODULE}"
- epytest tests
- done
-}
diff --git a/dev-python/pytest-django/pytest-django-4.11.1.ebuild b/dev-python/pytest-django/pytest-django-4.11.1.ebuild
index 79f72589e7db..2b5deeaa9f07 100644
--- a/dev-python/pytest-django/pytest-django-4.11.1.ebuild
+++ b/dev-python/pytest-django/pytest-django-4.11.1.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv sparc x86"
RDEPEND="
>=dev-python/pytest-7.0.0[${PYTHON_USEDEP}]
diff --git a/dev-python/pytest/files/pytest-8.3.4-pygments-2.19.patch b/dev-python/pytest/files/pytest-8.3.4-pygments-2.19.patch
deleted file mode 100644
index 5674f72ead18..000000000000
--- a/dev-python/pytest/files/pytest-8.3.4-pygments-2.19.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-From ad4081f63985ff42f54fc52baa7ce0e7b5cffba4 Mon Sep 17 00:00:00 2001
-From: Florian Bruhin <me@the-compiler.org>
-Date: Wed, 8 Jan 2025 18:04:15 +0100
-Subject: [PATCH] Merge pull request #13113 from
- The-Compiler/fix-pygments-whitespace
-
-Fix selftests with Pygments >= 2.19.0
-
-(cherry picked from commit bdfc3a99bd733f385f150446caef6d5843bb6418)
----
- changelog/13112.contrib.rst | 1 +
- testing/conftest.py | 7 +++++++
- testing/test_terminal.py | 10 +++++-----
- 3 files changed, 13 insertions(+), 5 deletions(-)
- create mode 100644 changelog/13112.contrib.rst
-
-diff --git a/changelog/13112.contrib.rst b/changelog/13112.contrib.rst
-new file mode 100644
-index 000000000..5e59a736e
---- /dev/null
-+++ b/changelog/13112.contrib.rst
-@@ -0,0 +1 @@
-+Fixed selftest failures in ``test_terminal.py`` with Pygments >= 2.19.0
-diff --git a/testing/conftest.py b/testing/conftest.py
-index 69af03324..194da0f83 100644
---- a/testing/conftest.py
-+++ b/testing/conftest.py
-@@ -2,10 +2,13 @@
- from __future__ import annotations
-
- import dataclasses
-+import importlib.metadata
- import re
- import sys
- from typing import Generator
-
-+from packaging.version import Version
-+
- from _pytest.monkeypatch import MonkeyPatch
- from _pytest.pytester import Pytester
- import pytest
-@@ -168,6 +171,9 @@ def color_mapping():
-
- Used by tests which check the actual colors output by pytest.
- """
-+ # https://github.com/pygments/pygments/commit/d24e272894a56a98b1b718d9ac5fabc20124882a
-+ pygments_version = Version(importlib.metadata.version("pygments"))
-+ pygments_has_kwspace_hl = pygments_version >= Version("2.19")
-
- class ColorMapping:
- COLORS = {
-@@ -180,6 +186,7 @@ def color_mapping():
- "bold": "\x1b[1m",
- "reset": "\x1b[0m",
- "kw": "\x1b[94m",
-+ "kwspace": "\x1b[90m \x1b[39;49;00m" if pygments_has_kwspace_hl else " ",
- "hl-reset": "\x1b[39;49;00m",
- "function": "\x1b[92m",
- "number": "\x1b[94m",
-diff --git a/testing/test_terminal.py b/testing/test_terminal.py
-index 14c152d61..cbbe9cbd7 100644
---- a/testing/test_terminal.py
-+++ b/testing/test_terminal.py
-@@ -1299,13 +1299,13 @@ def test_color_yes(pytester: Pytester, color_mapping) -> None:
- "=*= FAILURES =*=",
- "{red}{bold}_*_ test_this _*_{reset}",
- "",
-- " {reset}{kw}def{hl-reset} {function}test_this{hl-reset}():{endline}",
-+ " {reset}{kw}def{hl-reset}{kwspace}{function}test_this{hl-reset}():{endline}",
- "> fail(){endline}",
- "",
- "{bold}{red}test_color_yes.py{reset}:5: ",
- "_ _ * _ _*",
- "",
-- " {reset}{kw}def{hl-reset} {function}fail{hl-reset}():{endline}",
-+ " {reset}{kw}def{hl-reset}{kwspace}{function}fail{hl-reset}():{endline}",
- "> {kw}assert{hl-reset} {number}0{hl-reset}{endline}",
- "{bold}{red}E assert 0{reset}",
- "",
-@@ -2585,7 +2585,7 @@ class TestCodeHighlight:
- result.stdout.fnmatch_lines(
- color_mapping.format_for_fnmatch(
- [
-- " {reset}{kw}def{hl-reset} {function}test_foo{hl-reset}():{endline}",
-+ " {reset}{kw}def{hl-reset}{kwspace}{function}test_foo{hl-reset}():{endline}",
- "> {kw}assert{hl-reset} {number}1{hl-reset} == {number}10{hl-reset}{endline}",
- "{bold}{red}E assert 1 == 10{reset}",
- ]
-@@ -2607,7 +2607,7 @@ class TestCodeHighlight:
- result.stdout.fnmatch_lines(
- color_mapping.format_for_fnmatch(
- [
-- " {reset}{kw}def{hl-reset} {function}test_foo{hl-reset}():{endline}",
-+ " {reset}{kw}def{hl-reset}{kwspace}{function}test_foo{hl-reset}():{endline}",
- " {print}print{hl-reset}({str}'''{hl-reset}{str}{hl-reset}",
- "> {str} {hl-reset}{str}'''{hl-reset}); {kw}assert{hl-reset} {number}0{hl-reset}{endline}",
- "{bold}{red}E assert 0{reset}",
-@@ -2630,7 +2630,7 @@ class TestCodeHighlight:
- result.stdout.fnmatch_lines(
- color_mapping.format_for_fnmatch(
- [
-- " {reset}{kw}def{hl-reset} {function}test_foo{hl-reset}():{endline}",
-+ " {reset}{kw}def{hl-reset}{kwspace}{function}test_foo{hl-reset}():{endline}",
- "> {kw}assert{hl-reset} {number}1{hl-reset} == {number}10{hl-reset}{endline}",
- "{bold}{red}E assert 1 == 10{reset}",
- ]
diff --git a/dev-python/rq/Manifest b/dev-python/rq/Manifest
index 3b45d9782cd4..83fb33c2beb1 100644
--- a/dev-python/rq/Manifest
+++ b/dev-python/rq/Manifest
@@ -1,2 +1 @@
-DIST rq-2.1.0.tar.gz 640535 BLAKE2B c269527d9863b7991be24cb6fac43cfbe8cea23fbbdbb8ff9699bce9653e014a0def7439ffbced1658bc54bb328119c2d3ddea9a83e0a3c2cbcd3d21500a1f28 SHA512 215c33e29ab18e8ebb693e4d9da2bf51750e1558ef20b13c4d301a803a5dda0e1c00edbfa019717043ea777e8c47e1772ab9334b12cc08e7fe9196121c6bd287
DIST rq-2.3.2.tar.gz 649216 BLAKE2B 8fca0c9008717353b99d7fba502554cd85378e69bef3f5b78acfdc168ecfc95f1644e3ae30a6ace7958a9ad8cc982b155a606b1ae745fabd0caecd1ae353d374 SHA512 b218a6ed7129cab4c148712d2f7ac889ba09d635684c7176ec196338316a2d8bb675a375a93c7ddf672b6834d08ac59106bbc83222efe1d76e677075cd3bab51
diff --git a/dev-python/rq/rq-2.1.0.ebuild b/dev-python/rq/rq-2.1.0.ebuild
deleted file mode 100644
index 57369b9f3ef2..000000000000
--- a/dev-python/rq/rq-2.1.0.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Simple, lightweight library for creating and processing background jobs"
-HOMEPAGE="
- https://python-rq.org/
- https://github.com/rq/rq/
- https://pypi.org/project/rq/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
-
-RDEPEND="
- >=dev-python/click-5.0[${PYTHON_USEDEP}]
- >=dev-python/redis-4.5.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-db/redis
- dev-python/psutil[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # unnecessary typechecking deps
- sed -i -e '/types-/d' pyproject.toml || die
-}
-
-src_test() {
- local redis_pid="${T}"/redis.pid
- local redis_port=6379
- local redis_test_config="daemonize yes
- pidfile ${redis_pid}
- port ${redis_port}
- bind 127.0.0.1
- "
-
- # Spawn Redis itself for testing purposes
- # NOTE: On sam@'s machine, spawning Redis can hang in the sandbox.
- # I'm not restricting tests yet because this doesn't happen for anyone else AFAICT.
- einfo "Spawning Redis"
- einfo "NOTE: Port ${redis_port} must be free"
- /usr/sbin/redis-server - <<< "${redis_test_config}" || die
-
- # Run the actual tests
- distutils-r1_src_test
-
- # Clean up afterwards
- kill "$(<"${redis_pid}")" || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # requires <sentry-sdk-2
- tests/test_sentry.py::TestSentry::test_failure_capture
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/rq/rq-2.3.2.ebuild b/dev-python/rq/rq-2.3.2.ebuild
index 5dce66a43f90..9ca167c306b1 100644
--- a/dev-python/rq/rq-2.3.2.ebuild
+++ b/dev-python/rq/rq-2.3.2.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/click-5.0[${PYTHON_USEDEP}]
diff --git a/dev-python/s3transfer/Manifest b/dev-python/s3transfer/Manifest
index 2a1461e5f294..dcff5bb1da8f 100644
--- a/dev-python/s3transfer/Manifest
+++ b/dev-python/s3transfer/Manifest
@@ -1,3 +1,2 @@
-DIST s3transfer-0.11.4.tar.gz 148419 BLAKE2B 140cdc5810cde2d758726ff0605d2fcf45ed0f1001e5f66f37ff1c5502129cc3e329fe2c67298eb541fba75ccb977c8fabd1fca2d059c7d46c16ba3a9ecbdabf SHA512 824e03bccd8d724ebe8146f8c2b115c0d43ffe3a89d005f7cfa53431140130c77997b66fc605ea1a61d3291f4d808e6869150466b2f30a216c2290e902554c5b
DIST s3transfer-0.11.5.tar.gz 149107 BLAKE2B a5eed06767663a87b63649e62f3d98301551defda08e64b623a5beb38e4573ccdbbd68f426b580f93e17f8d09e679766b28cc248658c8ed515ada7064d7f53a6 SHA512 b8c0aa483429d4beabf58127678ebbfb28b407a95f1dde8bbcbb9d0adcf2143d3e1449cd71fa5c6eb3cf0ba25f08aa4f22f1671a34da26f67f36aab38837796b
DIST s3transfer-0.12.0.tar.gz 149178 BLAKE2B ab9f293e04864190b7128bf1cb46f1fd13b240c5b4f419fbd937529e36c954c5595d2575b039e041a0555e6b0d609d7d4922a638b25f7487fdb4bf62b610c134 SHA512 06bd5bcab95c8b0f06e69e5cc78fc5f9e1dd1dba30a88b4fb2206e4e64ba4addd0679cf5e2384cd7ba674577c6a075dc0cc6dc5880e584a7fe5e4dc6df758ea0
diff --git a/dev-python/s3transfer/s3transfer-0.11.4.ebuild b/dev-python/s3transfer/s3transfer-0.11.4.ebuild
deleted file mode 100644
index 2712c3fe9d0c..000000000000
--- a/dev-python/s3transfer/s3transfer-0.11.4.ebuild
+++ /dev/null
@@ -1,39 +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_{9,10,11,12,13} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="An Amazon S3 Transfer Manager"
-HOMEPAGE="
- https://github.com/boto/s3transfer/
- https://pypi.org/project/s3transfer/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- <dev-python/botocore-2[${PYTHON_USEDEP}]
- >=dev-python/botocore-1.37.4[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # do not rely on bundled deps in botocore (sic!)
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- epytest tests/{unit,functional}
-}
diff --git a/dev-python/s3transfer/s3transfer-0.11.5.ebuild b/dev-python/s3transfer/s3transfer-0.11.5.ebuild
index b961e21eb65c..2712c3fe9d0c 100644
--- a/dev-python/s3transfer/s3transfer-0.11.5.ebuild
+++ b/dev-python/s3transfer/s3transfer-0.11.5.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
RDEPEND="
<dev-python/botocore-2[${PYTHON_USEDEP}]
diff --git a/dev-python/selenium/Manifest b/dev-python/selenium/Manifest
index c86957ad5e86..8318eaba94db 100644
--- a/dev-python/selenium/Manifest
+++ b/dev-python/selenium/Manifest
@@ -4,9 +4,11 @@ DIST selenium-4.28.1.tar.gz 981633 BLAKE2B a8b856d4de7be4a68028f97c88852faf86722
DIST selenium-4.29.0.tar.gz 985717 BLAKE2B 61dbda8dcc3280289a2f84159edd11bbef66c507ceb10d017b50249e4ae2d200761d7fc83d457ff412001c8e18f363b89c04eafc118ac4f2a2ac15f681e9a5a6 SHA512 aff22caec524b1835f3c0d857e44545693716e2cd250f835c77b89225c1a3af6dfe2090d66bbad270e131e36ba0629af72cf0075e40c04d9e8c908dd41f8f6ad
DIST selenium-4.30.0.tar.gz 859424 BLAKE2B af4a48506b8749620441272a892dd21c8dcb0075ddfe4d489b803be2ec81c6489367483c7d1444de2c91a173148b519e700aa937a7be11c5703baa5cf1baa441 SHA512 6e8b73c0b877064987d66a7ebfd04edc550332ea0dbdcbd84d2060e47f8fce0817c47480fb18849332513e6e115239f25e09ad02f5ba72271af9bbc998f482f2
DIST selenium-4.31.0.tar.gz 855418 BLAKE2B d06268cfc71cfde25718ecded62f4556768138b428b63009d747c4a5e88f6e72bb975ac3b576eee44a014f2e0b55c4ac4fa17e0ddcbac15140bfee44ad584b23 SHA512 478060d4a87d0c000edfb76bed1ff40e0806b226eda41caa0d9818d650abe6a735513bac8520097659b22e64f145cf31d753d4d2209680cfa15a8a86454d0626
+DIST selenium-4.32.0.tar.gz 870997 BLAKE2B b25ceff282c7be6de7e3a02c71769aa08db6d726010b879f4feb7e0f96b465ad5ce9d5942d941f3d1dd4c1c664faeb0e5be5b01c69150420dd1b15b19197971b SHA512 8c46e7e07b1a647c7901401a8d7a2930f95a5df5c4ed81d3364446b88a9c55de5c8401ede06aea6e142807025f890e2c026407b9468a44e239b5bed6a2ffdbb0
DIST selenium-selenium-4.25.0.gh.tar.gz 77158053 BLAKE2B 9978239a874d32e23d98ec98eb5292153496c42abcdd0f959875b2b460df5a85c0b532b6843e0d13b931078490958ebdc2944a8c21ce2eae24a0ac6a3c830772 SHA512 6d11d1aa22d27dbc07c3d39f5f852080c5089b12b1da0251e7b09c38ac3b8f56f452a24c64a20685eb0aff238698ab4bd18a8b7089c69f261cfbcdc679ceeac8
DIST selenium-selenium-4.26.1-python.gh.tar.gz 77109265 BLAKE2B c0c5693c64fa65a627e5edf0cbbc051410fcddf59e4fd80c362b9a382c586fc3ad3d574674e5523ab284b40b6639e95e85fd1c8195f2f1a6f35ad6532ed667ce SHA512 7ace69332f17c6f7e28b81223f4c8c62cde1832b5acaf2fd1c777a08a5a9cfebb5d9c83daa10462eeb3acb9c7cb5038711f5acee51f5dad3910d7e29e4387d3f
DIST selenium-selenium-4.28.1-python.gh.tar.gz 52438112 BLAKE2B 62e2a8334238a6fbe063eda6253f2e6d6ab83484dde2b6b7d2fb6fab3e37d7c1d78b82b424c665c5b38fa06928ec693ece8dab03831132b3d7666c296c4cd39f SHA512 f5c917615a7424470c095c7b9730c02e1e7d7e691b51bc29fbb2d72f3ea08d647705d67702e287e962c033f1269b7cff8cba93bef4999de09c90a6f0e9029efa
DIST selenium-selenium-4.29.0.gh.tar.gz 52589103 BLAKE2B 65b202e599c1a3d31ebd15a3da1246fe7e8ea4a55c24189a1146d07e4a49a5fcdfbdb000b7e8102b09de4f3c60d4ca13c033c2127603f8ed2c6277d254cb3069 SHA512 2a3dde375539592cb65fc2dca27e5a3f92ccdd9111dd0c7a0453a6f447a2f4b738d92120d1ef6872321265f86c87708859e714288b49893f6b8ccb1ad003cbf7
DIST selenium-selenium-4.30.0.gh.tar.gz 52519870 BLAKE2B 440198b919d2c3400666bc07d246bff04521ec10716fadf660c564bd316e5889c4ecb314a45422661623b2a17e47e93921cad6eb97d3ca1b6f47cbae0ad42ac7 SHA512 561551002d2c37acc9a0b5fc40e3989a47d69dc0692a6fe44c90b0b77bf0056bc390848020fea7f5681ccbb5ec9808912cc5e63c286577ec60d787f3d2991b82
DIST selenium-selenium-4.31.0.gh.tar.gz 52458288 BLAKE2B 649d585e116ccd82e68f3b74b50cbbda5b9ac02c6ab8e72473b5775265205dc31ec69c846b1b39c91dceb63234bb02bf4833b321d101227f5873db6ad8897038 SHA512 e440e1b8e15b9e1f592b2466738f3982355a0757458bd7c8ef7eba31548df2bd449e54cea273a47f2b6bd0e68a2d75a1af67a791eff0cf3f601e685c4b8b237a
+DIST selenium-selenium-4.32.0.gh.tar.gz 52479399 BLAKE2B 01a2c0c172d4d25045b7f16d16c23945f4aaf48b422a9c926cdd6dbc728193a94d068c69f0317d3e5b8dd17df655581b3e5fd1e845cb18c1080f7a4aeb88d1dc SHA512 3beac9d23e9b92e54ff53195bb6376f6938019af9fdf9ad42210deb4bcd3b0fafe9e5098d4ba6e974d4d7f6bce6788622c0bd89ccf07117f3f7c7abad4e8831c
diff --git a/dev-python/selenium/selenium-4.32.0.ebuild b/dev-python/selenium/selenium-4.32.0.ebuild
new file mode 100644
index 000000000000..ebd48685e701
--- /dev/null
+++ b/dev-python/selenium/selenium-4.32.0.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_TESTED=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+
+inherit distutils-r1 pypi
+
+# base releases are usually ${P}, followups ${P}-python
+TEST_TAG=${P}
+[[ ${PV} != *.0 ]] && TEST_TAG+=-python
+TEST_P=selenium-${TEST_TAG}
+
+DESCRIPTION="Python language binding for Selenium Remote Control"
+HOMEPAGE="
+ https://www.seleniumhq.org/
+ https://github.com/SeleniumHQ/selenium/tree/trunk/py/
+ https://pypi.org/project/selenium/
+"
+SRC_URI+="
+ test? (
+ https://github.com/SeleniumHQ/selenium/archive/${TEST_TAG}.tar.gz
+ -> ${TEST_P}.gh.tar.gz
+ )
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="test-rust"
+
+RDEPEND="
+ >=dev-python/certifi-2021.10.8[${PYTHON_USEDEP}]
+ <dev-python/trio-1[${PYTHON_USEDEP}]
+ >=dev-python/trio-0.17[${PYTHON_USEDEP}]
+ <dev-python/trio-websocket-1[${PYTHON_USEDEP}]
+ >=dev-python/trio-websocket-0.9[${PYTHON_USEDEP}]
+ <dev-python/typing-extensions-5[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.9[${PYTHON_USEDEP}]
+ <dev-python/urllib3-3[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.26[${PYTHON_USEDEP}]
+ <dev-python/websocket-client-2[${PYTHON_USEDEP}]
+ >=dev-python/websocket-client-1.8.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/filetype[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ test-rust? (
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-util/selenium-manager
+ net-misc/geckodriver
+ || (
+ www-client/firefox
+ www-client/firefox-bin
+ )
+ )
+ )
+"
+
+# xdist is causing random pytest crashes with high job numbers
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # do not build selenium-manager implicitly
+ sed -e 's:\[tool\.setuptools-rust:[tool.ignore-me:' \
+ -i pyproject.toml || die
+}
+
+python_test() {
+ if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local EPYTEST_DESELECT=(
+ # expects vanilla certifi
+ test/unit/selenium/webdriver/remote/remote_connection_tests.py::test_get_connection_manager_for_certs_and_timeout
+ # TODO
+ 'test/selenium/webdriver/common/devtools_tests.py::test_check_console_messages[firefox]'
+ )
+ local pytest_args=(
+ # https://github.com/SeleniumHQ/selenium/blob/selenium-4.8.2-python/py/test/runner/run_pytest.py#L20-L24
+ # seriously?
+ -o "python_files=*_tests.py test_*.py"
+ -p pytest_mock
+ )
+ if use test-rust; then
+ local -x PATH=${T}/bin:${PATH}
+ local -x SE_MANAGER_PATH="$(type -P selenium-manager)"
+
+ pytest_args+=(
+ -p rerunfailures --reruns=5
+
+ --driver=firefox
+ --browser-binary="$(type -P firefox || type -P firefox-bin)"
+ --driver-binary="$(type -P geckodriver)"
+ --headless
+ -x
+ )
+
+ EPYTEST_DESELECT+=(
+ # expects prebuilt executables for various systems
+ test/selenium/webdriver/common/selenium_manager_tests.py::test_uses_windows
+ test/selenium/webdriver/common/selenium_manager_tests.py::test_uses_linux
+ test/selenium/webdriver/common/selenium_manager_tests.py::test_uses_mac
+ test/selenium/webdriver/common/selenium_manager_tests.py::test_errors_if_invalid_os
+
+ # TODO: these don't respect --*-binary and try to fetch versions
+ test/selenium/webdriver/firefox
+ test/selenium/webdriver/marionette/mn_context_tests.py::test_context_sets_correct_context_and_returns
+ test/selenium/webdriver/marionette/mn_context_tests.py::test_context_sets_correct_context_and_returns
+ test/selenium/webdriver/marionette/mn_options_tests.py::TestIntegration::test_we_can_pass_options
+ test/selenium/webdriver/marionette/mn_set_context_tests.py::test_we_can_switch_context_to_chrome
+
+ # TODO
+ test/selenium/webdriver/common/bidi_browser_tests.py
+ test/selenium/webdriver/common/bidi_browsing_context_tests.py
+ test/selenium/webdriver/common/bidi_network_tests.py
+ test/selenium/webdriver/common/bidi_script_tests.py
+ test/selenium/webdriver/common/bidi_session_tests.py
+ test/selenium/webdriver/common/bidi_tests.py
+ test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_binary
+ test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_ctor
+ test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_prefs
+ test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_to_capabilities
+ )
+ else
+ EPYTEST_DESELECT+=(
+ test/selenium
+ )
+ fi
+
+ cd "${WORKDIR}/${TEST_P}/py" || die
+ rm -rf selenium || die
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest "${pytest_args[@]}"
+}
diff --git a/dev-python/setuptools/Manifest b/dev-python/setuptools/Manifest
index b05c50dc387b..34b41c9f40d3 100644
--- a/dev-python/setuptools/Manifest
+++ b/dev-python/setuptools/Manifest
@@ -1,8 +1,4 @@
DIST setuptools-75.8.2.tar.gz 1344083 BLAKE2B 7d4dff2c0948bb411ef5f70e5f5f91bc0e230b155a97419d263f88e54a94390fd7dcadad14105f4d886a25024bf4c95e776ae7b25e4b1d6f17e45e6060b99da2 SHA512 adf7f5d2eab7621b03c86e3f96857b176631108dc8a0eba2b16b87e394bff0b607998bc24cc074cd3f7b0ed6dbe0bd753cce5af2f108fce2473fb50b22f32913
DIST setuptools-78.1.0.tar.gz 1367827 BLAKE2B d82320d11829e43e6841cd6b5a9bd4e16cfc9e7e2f97f64ac2ab1956ed68587ca6c74a07781f6afeefd3a949c23dee374460bdd327b7a5d908f33b2882f3d87d SHA512 e0b9562a8b3bb7a6b664da84ef37e4f4f71df5dd3129b636ece798878e62bf4be60ff6b6643a98b7047e540e14c931eeb54b4e08c583ac1a86ffb5dc5e921c68
-DIST setuptools-78.1.1.tar.gz 1368163 BLAKE2B 45dd7ea3a4e237c65323f5a4645b70a483a41ef1c4d0f30f977bb5cfd48c41f283c24b756d8494eb87a78e239d0ebc727e0611ac0b8aef6ca1178c04db92b54d SHA512 0a44bb3f9e5c9b247ada0854552042e7733d6908a8b2ce82d750a7bebbd94a15c9f453343dc131e34cfa641bec300611d57ea8e52ee8ad4971a026ad6cc8b938
-DIST setuptools-79.0.0.tar.gz 1367685 BLAKE2B b85eae52bd372c97248ad9e9d8544f151b7c95fe5037f1c7dd86205dbceca207925d009e9ef9ea3b9342627812adb1d9f25387a4056bd704c41ee17881c1cd40 SHA512 ba701e80ec7e85ea8c54f617c5ee84f5ba9de0feeb8c33018a2eaeee4d059a38bf9380f93afff7dcd39068da872d38d8cbea6732eb44c3f87c8a02e6dc26758f
DIST setuptools-79.0.1.tar.gz 1367909 BLAKE2B d495a22753400b3b0ef71423e2c9b5adaad1a065d1f9638b5da8161b29c453495701c3efaa3abd2482777e186ba992bd7b57090dfc711d9cdfdaa8254616a8ff SHA512 5b68d7cc775f4318e178f7d7f69c60a01b1abc607411e88c88e3507a08bd85eed241b915d4be5f3ada90df4b68718056c2ba032943c1f53fe68d171c7d728179
-DIST setuptools-80.0.0.tar.gz 1354221 BLAKE2B e9cabaccc8563f95fef103177e7c4f7a71e9ca01294d0912a1cf060e195a68fcf971d0966386823a504ef231f8724bf9ed1ba01f7587de581102e5df66ed71f3 SHA512 b0ba9269b9fb029d39e454c4278a82b92203dc638a3b102e0bed322d022db5fbd2bb7f82c707c9d1cfbba9a6718a25e3870f0e7fb5e821889517a127073c64b7
-DIST setuptools-80.0.1.tar.gz 1354165 BLAKE2B 4ca7ab6973adbe1b8967a68ee2eaa2adc29624770b38a3ddce9ea7941c1d55cee6ac3c0c10552e6002dacbb43fc0b0ac70324f6a62c666fb8a05f73b87a6b8bb SHA512 8f63688f954370e964f98b34a63b94d4a32c9825c15a0522eaeccaf1280b8de62b567746ad56d7a01024c5a7209ae1cc76b2af356801cea84020a96c75d98587
-DIST setuptools-80.1.0.tar.gz 1354038 BLAKE2B 457f76a67bef8c05d7d670bbdf0cd72a3fc4ea2c76dc1fd6ae3adab70f3ba169a0cb54ba286863734322f5670e4520a9bf50f140b29b6db2fbcd34fce19582da SHA512 c25194fb390b8df8b3148e6deb6e55274ecf698f9a19464fa15a8ce4295478a3f6817ec0c5cb55d706aa89d9373383d13cde647a8681bfcb51f4494d65aac82e
+DIST setuptools-80.2.0.tar.gz 1354232 BLAKE2B 2eb5f9b51632c865533bb018e268da7e9b52f1cecdb9da0eb0da713ee4e44d0827c6340b5c1f663d3b8b4df08849c32972498980de287fab6101593d5aeb47ca SHA512 a684eb3ef4049c6d05aca9cd77a015e63047cdc84460af798ac1dc1d87a970370176ac7fd87e250be155e61dddd77e89ad84adb5557f04d1a1059cd449c08c53
diff --git a/dev-python/setuptools/setuptools-78.1.1.ebuild b/dev-python/setuptools/setuptools-78.1.1.ebuild
deleted file mode 100644
index 75df7b4b3e85..000000000000
--- a/dev-python/setuptools/setuptools-78.1.1.ebuild
+++ /dev/null
@@ -1,134 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-# please bump dev-python/ensurepip-setuptools along with this package!
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_TESTED=( python3_{9,10,11,12,13} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Collection of extensions to Distutils"
-HOMEPAGE="
- https://github.com/pypa/setuptools/
- https://pypi.org/project/setuptools/
-"
-
-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"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- !<dev-python/setuptools-rust-1.8.0
- dev-python/jaraco-collections[${PYTHON_USEDEP}]
- >=dev-python/jaraco-functools-4[${PYTHON_USEDEP}]
- >=dev-python/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}]
- >=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}]
- >=dev-python/packaging-24.2[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-4.2.2[${PYTHON_USEDEP}]
- >=dev-python/wheel-0.44.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
- ' 3.10)
- !<=dev-libs/gobject-introspection-1.76.1-r0
- !=dev-libs/gobject-introspection-1.78.1-r0
- !=dev-libs/gobject-introspection-1.80.1-r1
-"
-BDEPEND="
- ${RDEPEND}
- test? (
- $(python_gen_cond_dep '
- >=dev-python/build-1.0.3[${PYTHON_USEDEP}]
- >=dev-python/ini2toml-0.14[${PYTHON_USEDEP}]
- >=dev-python/filelock-3.4.0[${PYTHON_USEDEP}]
- >=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}]
- >=dev-python/jaraco-path-3.7.2[${PYTHON_USEDEP}]
- >=dev-python/jaraco-test-5.5[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- dev-python/pyproject-hooks[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- >=dev-python/pytest-home-0.5[${PYTHON_USEDEP}]
- dev-python/pytest-subprocess[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/virtualenv-20[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
- )
-"
-# setuptools-scm is here because installing plugins apparently breaks stuff at
-# runtime, so let's pull it early. See bug #663324.
-#
-# trove-classifiers are optionally used in validation, if they are
-# installed. Since we really oughtn't block them, let's always enforce
-# the newest version for the time being to avoid errors.
-# https://github.com/pypa/setuptools/issues/4459
-PDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- >=dev-python/trove-classifiers-2024.10.16[${PYTHON_USEDEP}]
-"
-
-src_prepare() {
- local PATCHES=(
- # TODO: remove this when we're 100% PEP517 mode
- "${FILESDIR}/setuptools-62.4.0-py-compile.patch"
- # https://github.com/abravalheri/validate-pyproject/pull/221
- "${FILESDIR}/setuptools-75.6.0-disable-trove-classifiers.patch"
- )
-
- distutils-r1_src_prepare
-
- # breaks tests
- sed -i -e '/--import-mode/d' pytest.ini || die
-
- # remove bundled dependencies
- rm -r */_vendor || die
-}
-
-python_test() {
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- return
- fi
-
- local EPYTEST_DESELECT=(
- # network
- setuptools/tests/test_build_meta.py::test_legacy_editable_install
- setuptools/tests/test_distutils_adoption.py
- setuptools/tests/test_editable_install.py
- setuptools/tests/test_virtualenv.py::test_no_missing_dependencies
- setuptools/tests/test_virtualenv.py::test_test_command_install_requirements
- # TODO
- setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_basic
- setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_ignore_errors
- # expects bundled deps in virtualenv
- setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_in_sdist
- setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_not_in_wheel
- # fails if python-xlib is installed
- setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts
- # TODO, probably some random package
- setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass
- # broken by unbundling
- setuptools/tests/test_setuptools.py::test_wheel_includes_vendored_metadata
- # fails on normalized metadata, perhaps different dep version?
- setuptools/tests/test_build_meta.py::TestBuildMetaBackend::test_build_with_pyproject_config
- # TODO
- setuptools/tests/test_sdist.py::test_sanity_check_setuptools_own_sdist
- # relies on -Werror
- setuptools/_static.py::setuptools._static.Dict
- setuptools/_static.py::setuptools._static.List
- # TODO
- setuptools/dist.py::setuptools.dist.Distribution._find_pattern
- )
-
- local EPYTEST_XDIST=1
- local -x PRE_BUILT_SETUPTOOLS_WHEEL=${DISTUTILS_WHEEL_PATH}
- epytest -o tmp_path_retention_policy=all \
- -m "not uses_network" setuptools
-}
diff --git a/dev-python/setuptools/setuptools-79.0.0.ebuild b/dev-python/setuptools/setuptools-79.0.0.ebuild
deleted file mode 100644
index 75df7b4b3e85..000000000000
--- a/dev-python/setuptools/setuptools-79.0.0.ebuild
+++ /dev/null
@@ -1,134 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-# please bump dev-python/ensurepip-setuptools along with this package!
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_TESTED=( python3_{9,10,11,12,13} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Collection of extensions to Distutils"
-HOMEPAGE="
- https://github.com/pypa/setuptools/
- https://pypi.org/project/setuptools/
-"
-
-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"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- !<dev-python/setuptools-rust-1.8.0
- dev-python/jaraco-collections[${PYTHON_USEDEP}]
- >=dev-python/jaraco-functools-4[${PYTHON_USEDEP}]
- >=dev-python/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}]
- >=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}]
- >=dev-python/packaging-24.2[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-4.2.2[${PYTHON_USEDEP}]
- >=dev-python/wheel-0.44.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
- ' 3.10)
- !<=dev-libs/gobject-introspection-1.76.1-r0
- !=dev-libs/gobject-introspection-1.78.1-r0
- !=dev-libs/gobject-introspection-1.80.1-r1
-"
-BDEPEND="
- ${RDEPEND}
- test? (
- $(python_gen_cond_dep '
- >=dev-python/build-1.0.3[${PYTHON_USEDEP}]
- >=dev-python/ini2toml-0.14[${PYTHON_USEDEP}]
- >=dev-python/filelock-3.4.0[${PYTHON_USEDEP}]
- >=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}]
- >=dev-python/jaraco-path-3.7.2[${PYTHON_USEDEP}]
- >=dev-python/jaraco-test-5.5[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- dev-python/pyproject-hooks[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- >=dev-python/pytest-home-0.5[${PYTHON_USEDEP}]
- dev-python/pytest-subprocess[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/virtualenv-20[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
- )
-"
-# setuptools-scm is here because installing plugins apparently breaks stuff at
-# runtime, so let's pull it early. See bug #663324.
-#
-# trove-classifiers are optionally used in validation, if they are
-# installed. Since we really oughtn't block them, let's always enforce
-# the newest version for the time being to avoid errors.
-# https://github.com/pypa/setuptools/issues/4459
-PDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- >=dev-python/trove-classifiers-2024.10.16[${PYTHON_USEDEP}]
-"
-
-src_prepare() {
- local PATCHES=(
- # TODO: remove this when we're 100% PEP517 mode
- "${FILESDIR}/setuptools-62.4.0-py-compile.patch"
- # https://github.com/abravalheri/validate-pyproject/pull/221
- "${FILESDIR}/setuptools-75.6.0-disable-trove-classifiers.patch"
- )
-
- distutils-r1_src_prepare
-
- # breaks tests
- sed -i -e '/--import-mode/d' pytest.ini || die
-
- # remove bundled dependencies
- rm -r */_vendor || die
-}
-
-python_test() {
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- return
- fi
-
- local EPYTEST_DESELECT=(
- # network
- setuptools/tests/test_build_meta.py::test_legacy_editable_install
- setuptools/tests/test_distutils_adoption.py
- setuptools/tests/test_editable_install.py
- setuptools/tests/test_virtualenv.py::test_no_missing_dependencies
- setuptools/tests/test_virtualenv.py::test_test_command_install_requirements
- # TODO
- setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_basic
- setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_ignore_errors
- # expects bundled deps in virtualenv
- setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_in_sdist
- setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_not_in_wheel
- # fails if python-xlib is installed
- setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts
- # TODO, probably some random package
- setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass
- # broken by unbundling
- setuptools/tests/test_setuptools.py::test_wheel_includes_vendored_metadata
- # fails on normalized metadata, perhaps different dep version?
- setuptools/tests/test_build_meta.py::TestBuildMetaBackend::test_build_with_pyproject_config
- # TODO
- setuptools/tests/test_sdist.py::test_sanity_check_setuptools_own_sdist
- # relies on -Werror
- setuptools/_static.py::setuptools._static.Dict
- setuptools/_static.py::setuptools._static.List
- # TODO
- setuptools/dist.py::setuptools.dist.Distribution._find_pattern
- )
-
- local EPYTEST_XDIST=1
- local -x PRE_BUILT_SETUPTOOLS_WHEEL=${DISTUTILS_WHEEL_PATH}
- epytest -o tmp_path_retention_policy=all \
- -m "not uses_network" setuptools
-}
diff --git a/dev-python/setuptools/setuptools-80.0.1.ebuild b/dev-python/setuptools/setuptools-80.0.1.ebuild
deleted file mode 100644
index b73a465d9e42..000000000000
--- a/dev-python/setuptools/setuptools-80.0.1.ebuild
+++ /dev/null
@@ -1,135 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-# please bump dev-python/ensurepip-setuptools along with this package!
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_TESTED=( python3_{9,10,11,12,13} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Collection of extensions to Distutils"
-HOMEPAGE="
- https://github.com/pypa/setuptools/
- https://pypi.org/project/setuptools/
-"
-
-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"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- !<dev-python/setuptools-rust-1.8.0
- dev-python/jaraco-collections[${PYTHON_USEDEP}]
- >=dev-python/jaraco-functools-4[${PYTHON_USEDEP}]
- >=dev-python/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}]
- >=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}]
- >=dev-python/packaging-24.2[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-4.2.2[${PYTHON_USEDEP}]
- >=dev-python/wheel-0.44.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
- ' 3.10)
- !<=dev-libs/gobject-introspection-1.76.1-r0
- !=dev-libs/gobject-introspection-1.78.1-r0
- !=dev-libs/gobject-introspection-1.80.1-r1
-"
-BDEPEND="
- ${RDEPEND}
- test? (
- $(python_gen_cond_dep '
- >=dev-python/build-1.0.3[${PYTHON_USEDEP}]
- >=dev-python/ini2toml-0.14[${PYTHON_USEDEP}]
- >=dev-python/filelock-3.4.0[${PYTHON_USEDEP}]
- >=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}]
- >=dev-python/jaraco-path-3.7.2[${PYTHON_USEDEP}]
- >=dev-python/jaraco-test-5.5[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- dev-python/pyproject-hooks[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- >=dev-python/pytest-home-0.5[${PYTHON_USEDEP}]
- dev-python/pytest-subprocess[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/virtualenv-20[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
- )
-"
-# setuptools-scm is here because installing plugins apparently breaks stuff at
-# runtime, so let's pull it early. See bug #663324.
-#
-# trove-classifiers are optionally used in validation, if they are
-# installed. Since we really oughtn't block them, let's always enforce
-# the newest version for the time being to avoid errors.
-# https://github.com/pypa/setuptools/issues/4459
-PDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- >=dev-python/trove-classifiers-2024.10.16[${PYTHON_USEDEP}]
-"
-
-src_prepare() {
- local PATCHES=(
- # TODO: remove this when we're 100% PEP517 mode
- "${FILESDIR}/setuptools-62.4.0-py-compile.patch"
- # https://github.com/abravalheri/validate-pyproject/pull/221
- "${FILESDIR}/setuptools-75.6.0-disable-trove-classifiers.patch"
- )
-
- distutils-r1_src_prepare
-
- # breaks tests
- sed -i -e '/--import-mode/d' pytest.ini || die
-
- # remove bundled dependencies
- rm -r */_vendor || die
-}
-
-python_test() {
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- return
- fi
-
- local EPYTEST_DESELECT=(
- # network
- setuptools/tests/test_build_meta.py::test_legacy_editable_install
- setuptools/tests/test_develop.py::TestNamespaces::test_namespace_package_importable
- setuptools/tests/test_distutils_adoption.py
- setuptools/tests/test_editable_install.py
- setuptools/tests/test_virtualenv.py::test_no_missing_dependencies
- setuptools/tests/test_virtualenv.py::test_test_command_install_requirements
- # TODO
- setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_basic
- setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_ignore_errors
- # expects bundled deps in virtualenv
- setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_in_sdist
- setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_not_in_wheel
- # fails if python-xlib is installed
- setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts
- # TODO, probably some random package
- setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass
- # broken by unbundling
- setuptools/tests/test_setuptools.py::test_wheel_includes_vendored_metadata
- # fails on normalized metadata, perhaps different dep version?
- setuptools/tests/test_build_meta.py::TestBuildMetaBackend::test_build_with_pyproject_config
- # TODO
- setuptools/tests/test_sdist.py::test_sanity_check_setuptools_own_sdist
- # relies on -Werror
- setuptools/_static.py::setuptools._static.Dict
- setuptools/_static.py::setuptools._static.List
- # TODO
- setuptools/dist.py::setuptools.dist.Distribution._find_pattern
- )
-
- local EPYTEST_XDIST=1
- local -x PRE_BUILT_SETUPTOOLS_WHEEL=${DISTUTILS_WHEEL_PATH}
- epytest -o tmp_path_retention_policy=all \
- -m "not uses_network" setuptools
-}
diff --git a/dev-python/setuptools/setuptools-80.1.0.ebuild b/dev-python/setuptools/setuptools-80.1.0.ebuild
deleted file mode 100644
index b73a465d9e42..000000000000
--- a/dev-python/setuptools/setuptools-80.1.0.ebuild
+++ /dev/null
@@ -1,135 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-# please bump dev-python/ensurepip-setuptools along with this package!
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_TESTED=( python3_{9,10,11,12,13} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Collection of extensions to Distutils"
-HOMEPAGE="
- https://github.com/pypa/setuptools/
- https://pypi.org/project/setuptools/
-"
-
-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"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- !<dev-python/setuptools-rust-1.8.0
- dev-python/jaraco-collections[${PYTHON_USEDEP}]
- >=dev-python/jaraco-functools-4[${PYTHON_USEDEP}]
- >=dev-python/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}]
- >=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}]
- >=dev-python/packaging-24.2[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-4.2.2[${PYTHON_USEDEP}]
- >=dev-python/wheel-0.44.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
- ' 3.10)
- !<=dev-libs/gobject-introspection-1.76.1-r0
- !=dev-libs/gobject-introspection-1.78.1-r0
- !=dev-libs/gobject-introspection-1.80.1-r1
-"
-BDEPEND="
- ${RDEPEND}
- test? (
- $(python_gen_cond_dep '
- >=dev-python/build-1.0.3[${PYTHON_USEDEP}]
- >=dev-python/ini2toml-0.14[${PYTHON_USEDEP}]
- >=dev-python/filelock-3.4.0[${PYTHON_USEDEP}]
- >=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}]
- >=dev-python/jaraco-path-3.7.2[${PYTHON_USEDEP}]
- >=dev-python/jaraco-test-5.5[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- dev-python/pyproject-hooks[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- >=dev-python/pytest-home-0.5[${PYTHON_USEDEP}]
- dev-python/pytest-subprocess[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/virtualenv-20[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
- )
-"
-# setuptools-scm is here because installing plugins apparently breaks stuff at
-# runtime, so let's pull it early. See bug #663324.
-#
-# trove-classifiers are optionally used in validation, if they are
-# installed. Since we really oughtn't block them, let's always enforce
-# the newest version for the time being to avoid errors.
-# https://github.com/pypa/setuptools/issues/4459
-PDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- >=dev-python/trove-classifiers-2024.10.16[${PYTHON_USEDEP}]
-"
-
-src_prepare() {
- local PATCHES=(
- # TODO: remove this when we're 100% PEP517 mode
- "${FILESDIR}/setuptools-62.4.0-py-compile.patch"
- # https://github.com/abravalheri/validate-pyproject/pull/221
- "${FILESDIR}/setuptools-75.6.0-disable-trove-classifiers.patch"
- )
-
- distutils-r1_src_prepare
-
- # breaks tests
- sed -i -e '/--import-mode/d' pytest.ini || die
-
- # remove bundled dependencies
- rm -r */_vendor || die
-}
-
-python_test() {
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- return
- fi
-
- local EPYTEST_DESELECT=(
- # network
- setuptools/tests/test_build_meta.py::test_legacy_editable_install
- setuptools/tests/test_develop.py::TestNamespaces::test_namespace_package_importable
- setuptools/tests/test_distutils_adoption.py
- setuptools/tests/test_editable_install.py
- setuptools/tests/test_virtualenv.py::test_no_missing_dependencies
- setuptools/tests/test_virtualenv.py::test_test_command_install_requirements
- # TODO
- setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_basic
- setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_ignore_errors
- # expects bundled deps in virtualenv
- setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_in_sdist
- setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_not_in_wheel
- # fails if python-xlib is installed
- setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts
- # TODO, probably some random package
- setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass
- # broken by unbundling
- setuptools/tests/test_setuptools.py::test_wheel_includes_vendored_metadata
- # fails on normalized metadata, perhaps different dep version?
- setuptools/tests/test_build_meta.py::TestBuildMetaBackend::test_build_with_pyproject_config
- # TODO
- setuptools/tests/test_sdist.py::test_sanity_check_setuptools_own_sdist
- # relies on -Werror
- setuptools/_static.py::setuptools._static.Dict
- setuptools/_static.py::setuptools._static.List
- # TODO
- setuptools/dist.py::setuptools.dist.Distribution._find_pattern
- )
-
- local EPYTEST_XDIST=1
- local -x PRE_BUILT_SETUPTOOLS_WHEEL=${DISTUTILS_WHEEL_PATH}
- epytest -o tmp_path_retention_policy=all \
- -m "not uses_network" setuptools
-}
diff --git a/dev-python/setuptools/setuptools-80.0.0.ebuild b/dev-python/setuptools/setuptools-80.2.0.ebuild
index b73a465d9e42..9282ff6be41a 100644
--- a/dev-python/setuptools/setuptools-80.0.0.ebuild
+++ b/dev-python/setuptools/setuptools-80.2.0.ebuild
@@ -34,9 +34,6 @@ RDEPEND="
>=dev-python/packaging-24.2[${PYTHON_USEDEP}]
>=dev-python/platformdirs-4.2.2[${PYTHON_USEDEP}]
>=dev-python/wheel-0.44.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
- ' 3.10)
!<=dev-libs/gobject-introspection-1.76.1-r0
!=dev-libs/gobject-introspection-1.78.1-r0
!=dev-libs/gobject-introspection-1.80.1-r1
diff --git a/dev-python/shtab/Manifest b/dev-python/shtab/Manifest
index 9e52aa90dcd5..a47248fa2104 100644
--- a/dev-python/shtab/Manifest
+++ b/dev-python/shtab/Manifest
@@ -1,2 +1 @@
-DIST shtab-1.7.1.tar.gz 45410 BLAKE2B 15ed00feb1bb051ad3ec21bab9a3300175b22e677db905b714e29b10308489bec6273a7f1e226b3dd70088c74b0dd5f2c7d8958a130e339d197ba290ea6710f4 SHA512 749f21e5b4eba75744a270809b761e7c795e4404727f8e6da87f6620622e42dc6e35aa923c7f8df34bec27af45ec16496fdab11b8450edb09067df9c830ae219
DIST shtab-1.7.2.tar.gz 45751 BLAKE2B 420f1249456ee954266e5071da7eded9abbaf64d0a525b8c0b7dd49a0c6e61b5b81fb737493e7b44c3ae6f42dc76d2e7be4e407198bc9feecbfa05283cdd2481 SHA512 a9b94774430d70dfab9cbfe9870c7d06e6589571523915a7bd460d1129ce606dec41692fbeeed4f4c86c0e07caa2200c243a234711d70128d3cb969bfa2197c3
diff --git a/dev-python/shtab/shtab-1.7.1.ebuild b/dev-python/shtab/shtab-1.7.1.ebuild
deleted file mode 100644
index 59da371d6ad1..000000000000
--- a/dev-python/shtab/shtab-1.7.1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2024-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Automagic shell tab completion for Python CLI applications"
-HOMEPAGE="
- https://github.com/iterative/shtab
- https://pypi.org/project/shtab/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
-
-BDEPEND="dev-python/setuptools-scm[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
-
-python_test() {
- # Disable pytest-cov
- epytest -o addopts=
-}
diff --git a/dev-python/shtab/shtab-1.7.2.ebuild b/dev-python/shtab/shtab-1.7.2.ebuild
index 8deda0e4fe48..59da371d6ad1 100644
--- a/dev-python/shtab/shtab-1.7.2.ebuild
+++ b/dev-python/shtab/shtab-1.7.2.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
BDEPEND="dev-python/setuptools-scm[${PYTHON_USEDEP}]"
diff --git a/dev-python/starlette/Manifest b/dev-python/starlette/Manifest
index 5c92f8382a03..138061d7dfd4 100644
--- a/dev-python/starlette/Manifest
+++ b/dev-python/starlette/Manifest
@@ -1,2 +1 @@
-DIST starlette-0.46.1.gh.tar.gz 2580186 BLAKE2B 8877f6733937a30463f573cfc8ed34a5950e3123bba5d332cbe0881f7fb5532d865a2d3c852238cc5a29ceb598154a1cac64031eb1cbaa0955b3f423b40c034e SHA512 c21fd87e48b206b1fa1d4eabab3838eccc49e73f5d8d2841860fa5e81e4da972c7952e7ae214ae8e5574aa069b508642db38c24fa24b35bf5c47329cb6a2c2e6
DIST starlette-0.46.2.gh.tar.gz 2580854 BLAKE2B 65f1a6c2bf74db77390802c3ca9f7e8f9aff22890f69547137ab779946680442cc2072b8f468c18257b4f730d156a650f8faf5395d74b05f2a15f0573e8ffdde SHA512 51805e61c33b20d2c034d513c4795876a70f60f19798a91fad3594d77bb0fd638c6de73d56032b1806df9e9bff62dcb13aa23d0b7e5c83d0a0ef5166f0b141da
diff --git a/dev-python/starlette/starlette-0.46.1.ebuild b/dev-python/starlette/starlette-0.46.1.ebuild
deleted file mode 100644
index 6efaeab9adac..000000000000
--- a/dev-python/starlette/starlette-0.46.1.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1
-
-MY_P=${P/_p/.post}
-DESCRIPTION="The little ASGI framework that shines"
-HOMEPAGE="
- https://www.starlette.io/
- https://github.com/encode/starlette/
- https://pypi.org/project/starlette/
-"
-# no docs or tests in sdist, as of 0.27.0
-SRC_URI="
- https://github.com/encode/starlette/archive/${PV/_p/.post}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- <dev-python/anyio-5[${PYTHON_USEDEP}]
- >=dev-python/anyio-3.6.2[${PYTHON_USEDEP}]
- <dev-python/httpx-0.29[${PYTHON_USEDEP}]
- >=dev-python/httpx-0.22.0[${PYTHON_USEDEP}]
- dev-python/itsdangerous[${PYTHON_USEDEP}]
- dev-python/jinja2[${PYTHON_USEDEP}]
- >=dev-python/python-multipart-0.0.18[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/pytest-8[${PYTHON_USEDEP}]
- dev-python/trio[${PYTHON_USEDEP}]
- )
-"
-
-: ${EPYTEST_TIMEOUT:-180}
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_IGNORE=(
- # Unpackaged 'databases' dependency
- tests/test_database.py
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p anyio
-}
diff --git a/dev-python/starlette/starlette-0.46.2.ebuild b/dev-python/starlette/starlette-0.46.2.ebuild
index ff51d180c843..6efaeab9adac 100644
--- a/dev-python/starlette/starlette-0.46.2.ebuild
+++ b/dev-python/starlette/starlette-0.46.2.ebuild
@@ -24,7 +24,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="BSD"
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"
RDEPEND="
<dev-python/anyio-5[${PYTHON_USEDEP}]
diff --git a/dev-python/tavern/Manifest b/dev-python/tavern/Manifest
index 23d672023a69..94410c03021a 100644
--- a/dev-python/tavern/Manifest
+++ b/dev-python/tavern/Manifest
@@ -1,2 +1 @@
-DIST tavern-2.14.0.gh.tar.gz 239905 BLAKE2B f16a9e328933ae46df4238bfd79908171852ac2ebf2b1f6b2348870e9c6bd1aeb4330368237de4143cab709d43102215f2e4713b38aa0b50cdf5b98a357bca42 SHA512 c88a6045bf0e660f63fd709ced3592a4afd3f2fa2f9e1f925b6e8e99383524a8b69fb19089f59ca360b44373254e668e5994d08351a18e7589924759720298d7
DIST tavern-2.15.0.gh.tar.gz 240494 BLAKE2B df6876138aa661ff4298b00315eef7b75050e24c076f2c33fad55c3c096d8e4593ae396ddfc29fb09e673e56fb2a708b1c16922b85cee272ba8699d1e63603a8 SHA512 b39ee0150cd631ee33132b91cf1c480f0c5c3afb6a7573f3fba3cb59257e61a0a90eee1b05c3e048e33e8646cd16e9300ae2fe4f7f2dbeda32a5cfc0c3c2c575
diff --git a/dev-python/tavern/tavern-2.14.0.ebuild b/dev-python/tavern/tavern-2.14.0.ebuild
deleted file mode 100644
index b82ad0f62072..000000000000
--- a/dev-python/tavern/tavern-2.14.0.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-DESCRIPTION="A tool, library, and Pytest plugin for testing RESTful APIs"
-HOMEPAGE="
- https://github.com/taverntesting/tavern/
- https://pypi.org/project/tavern/
-"
-SRC_URI="
- https://github.com/taverntesting/tavern/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64"
-
-RDEPEND="
- >=dev-python/jmespath-1[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-4[${PYTHON_USEDEP}]
- >=dev-python/paho-mqtt-1.3.1[${PYTHON_USEDEP}]
- >=dev-python/pyjwt-2.5.0[${PYTHON_USEDEP}]
- >=dev-python/pykwalify-1.8.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-7[${PYTHON_USEDEP}]
- >=dev-python/python-box-6[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-6.0.1[${PYTHON_USEDEP}]
- >=dev-python/requests-2.22.0[${PYTHON_USEDEP}]
- >=dev-python/simpleeval-1.0.3[${PYTHON_USEDEP}]
- >=dev-python/stevedore-4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/colorlog[${PYTHON_USEDEP}]
- dev-python/faker[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # strip unnecessary pins, upstream doesn't update them a lot
- sed -i -E -e 's:,?<=?[0-9.]+::' pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # requires grpc
- tests/unit/test_extensions.py::TestGrpcCodes
- # broken with paho-mqtt-2
- tests/unit/test_mqtt.py::TestClient::test_context_connection_success
- )
- local EPYTEST_IGNORE=(
- # require grpc*
- tavern/_plugins/grpc
- tests/unit/tavern_grpc
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p tavern
-}
diff --git a/dev-python/tavern/tavern-2.15.0.ebuild b/dev-python/tavern/tavern-2.15.0.ebuild
index e9909c270d57..b82ad0f62072 100644
--- a/dev-python/tavern/tavern-2.15.0.ebuild
+++ b/dev-python/tavern/tavern-2.15.0.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
RDEPEND="
>=dev-python/jmespath-1[${PYTHON_USEDEP}]
diff --git a/dev-python/tree-sitter/tree-sitter-0.24.0.ebuild b/dev-python/tree-sitter/tree-sitter-0.24.0.ebuild
index 2b4e2a6e884b..a87171173698 100644
--- a/dev-python/tree-sitter/tree-sitter-0.24.0.ebuild
+++ b/dev-python/tree-sitter/tree-sitter-0.24.0.ebuild
@@ -22,7 +22,7 @@ S=${WORKDIR}/py-${P}
LICENSE="MIT"
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"
# setuptools is needed for distutils import
DEPEND=">=dev-libs/tree-sitter-0.25.0:="
diff --git a/dev-python/trimesh/Manifest b/dev-python/trimesh/Manifest
index 7982ddc44c0c..f3653da4855f 100644
--- a/dev-python/trimesh/Manifest
+++ b/dev-python/trimesh/Manifest
@@ -1,2 +1 @@
-DIST trimesh-4.6.6.gh.tar.gz 13624837 BLAKE2B 4fa6ae4c23c67a244b94071362c2a6ff8d809982bfdf0889a605a2d2309773a7932c3522687a1fadf41c834167423f67584719fd1805ff88d94fc5b1b0c6066f SHA512 4d1c16fcf91aad40469eadbaa7c8103194d84b4a43fb7cd9064118a08cca9f46944a1349c9d3dc45b034613d7256e243755b3bf453910d6ad8adc8d9050c916b
DIST trimesh-4.6.8.gh.tar.gz 13624383 BLAKE2B b25d0d5f6adc27ade707fadddb36606b53bed37526e4b8ef0bdfa7353d774e3b42f63ec4af12827921d9a95b37bbb558e3ff650722d043a8eb5342656140d111 SHA512 7b6b063f3a68bc94510ccf194526499095dd7f5737904c703702d2b63725bd8109749adf81b0be0171768511270e6abc30288e194fc9351f968e2ed7abd288c3
diff --git a/dev-python/trimesh/trimesh-4.6.6.ebuild b/dev-python/trimesh/trimesh-4.6.6.ebuild
deleted file mode 100644
index 71f4a8bbad96..000000000000
--- a/dev-python/trimesh/trimesh-4.6.6.ebuild
+++ /dev/null
@@ -1,79 +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_{9,10,11,12,13} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Python library for loading and using triangular meshes"
-HOMEPAGE="
- https://trimesh.org/
- https://github.com/mikedh/trimesh/
- https://pypi.org/project/trimesh/
-"
-SRC_URI="
- https://github.com/mikedh/${PN}/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~x86"
-
-RDEPEND="
- dev-python/charset-normalizer[${PYTHON_USEDEP}]
- dev-python/colorlog[${PYTHON_USEDEP}]
- dev-python/httpx[${PYTHON_USEDEP}]
- dev-python/jsonschema[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/networkx[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.20[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/pycollada[${PYTHON_USEDEP}]
- dev-python/pyglet[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- >=dev-python/shapely-1.8.2[${PYTHON_USEDEP}]
- dev-python/svg-path[${PYTHON_USEDEP}]
- dev-python/sympy[${PYTHON_USEDEP}]
- dev-python/xxhash[${PYTHON_USEDEP}]
- dev-python/rtree[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mapbox-earcut[${PYTHON_USEDEP}]
- dev-python/pillow[webp,${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_TIMEOUT=1800
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # requires manifold3d
- tests/test_boolean.py::test_multiple_difference
- # timing nonsense
- tests/test_bounds.py::BoundsTest::test_obb_mesh_large
- )
- local EPYTEST_IGNORE=(
- # require pyinstrument
- tests/test_sweep.py
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
-
-pkg_postinst() {
- optfeature_header "${PN} functionality can be extended by installing the following packages:"
- optfeature "making GUI applications with 3D stuff" dev-python/glooey
- optfeature "2D triangulations of polygons" dev-python/mapbox-earcut
- optfeature "loading a number of additional mesh formats" dev-python/meshio
- optfeature "figuring out how much memory we have" dev-python/psutil
- optfeature "marching cubes and other nice stuff" dev-python/scikit-image
-}
diff --git a/dev-python/trimesh/trimesh-4.6.8.ebuild b/dev-python/trimesh/trimesh-4.6.8.ebuild
index 9a55e3b051f5..71f4a8bbad96 100644
--- a/dev-python/trimesh/trimesh-4.6.8.ebuild
+++ b/dev-python/trimesh/trimesh-4.6.8.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 ~x86"
RDEPEND="
dev-python/charset-normalizer[${PYTHON_USEDEP}]
diff --git a/dev-python/types-setuptools/Manifest b/dev-python/types-setuptools/Manifest
index 17e57b08bdc3..ea9c78b4dfc3 100644
--- a/dev-python/types-setuptools/Manifest
+++ b/dev-python/types-setuptools/Manifest
@@ -1,3 +1,4 @@
DIST types_setuptools-78.1.0.20250329.tar.gz 43942 BLAKE2B 1d471cda411f650fa42fc04d4cf44e8a0deb078c9601922fb70bb3bc44701753071ff8b5a220e1e788e33a51f71e492a6edba6b5695151fd9e7da1f8e0ef84fa SHA512 9de9e79ddc6bc6b0a02ecdb40702c8e041fe2197f4e1773cca70632510982c5e1549f38f6e3f36eb80e160c246a8db805b0ec375ac26262113f5c85624bf4699
DIST types_setuptools-79.0.0.20250422.tar.gz 43865 BLAKE2B 3ef152fbaa27057b0279bfd5ef6e6104a04eaa55d9594e1cd5867bbaea4cd105ab7da94aad0f5e84382c566deec572d203b68feab06ece61982823eeb55d0806 SHA512 841a4d5332f0c8ed27333330cf5e78f21b1d033e3202d733f44234d234fca7db0bd0205520287d5cc0e69bb9befe79bff72e80fde593e70821692c3a8be29352
DIST types_setuptools-80.0.0.20250429.tar.gz 43353 BLAKE2B 55e5611945fc34222779878bc2eff4daef86d51d331bcf4ce51ca3b6cae970e8437c4102b4355f3b7362a93e280d13ac04de4b9a9708920b7988e5567f719d80 SHA512 481ec0f25ea00550faba0a1271891153a070dbea9aab2cc2c1f14ea9b7e5b14c4caa18b9e72072c2d0cdf035a1e8aad03a58fe4058734ba95355996ce536194d
+DIST types_setuptools-80.1.0.20250503.tar.gz 43334 BLAKE2B a52772cd6ec23069db47fc63e735821ead982b146b2d581ab4554e04e0289fab19c3f5a8721c78ba3c6fe09c3136e8ca743892e0ab5a4e64a3e3ea1b32822725 SHA512 8c7b89fc7ff596d705b4d4face65a899cd49e5f18b5fbde27d09f9d8c3bfbd1b5e9d769d7a2bdf9043a9d51d9c55a4801870d947f1549eb87a8f4db7fe511897
diff --git a/dev-python/types-setuptools/types-setuptools-80.1.0.20250503.ebuild b/dev-python/types-setuptools/types-setuptools-80.1.0.20250503.ebuild
new file mode 100644
index 000000000000..4d6bfa0439df
--- /dev/null
+++ b/dev-python/types-setuptools/types-setuptools-80.1.0.20250503.ebuild
@@ -0,0 +1,16 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Typing stubs for setuptools"
+HOMEPAGE="https://pypi.org/project/types-setuptools/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
diff --git a/dev-python/uritools/Manifest b/dev-python/uritools/Manifest
index d8b91505c2e3..6a4fb1594366 100644
--- a/dev-python/uritools/Manifest
+++ b/dev-python/uritools/Manifest
@@ -1 +1,2 @@
DIST uritools-4.0.3.tar.gz 24184 BLAKE2B 4d7cb21a0bd50c80cf34401646cd2049f16c2673cc9d057878881d940af089f72871df65acbaa67489114ee3094d94f9ac68c67ed75c995177679102851c58fb SHA512 91dbe20a166fc142def443564ba5a630be85e329181041c8ba8a421f01fb8c4c043a2335dd4a773a672d24933509af4b9c7e635119e4e87ea5504eb6afa978f3
+DIST uritools-5.0.0.tar.gz 22730 BLAKE2B 3fb746f2f11508f6bcfabbaa8e1863889cbabc147dc9bf47e03e3f3f7799fd85e074ce2e49b2491bcb50228bcca150cfc4452450479317e390e2dbe865ab1cd6 SHA512 bed01223e98033ad4962845f73bd211f035805e982ac41b584a0129ab20e3cf60f29eaf01ac064715fc35a4b8f95b688de22d8cc00f0e1e5f3a39a68a2f04db4
diff --git a/dev-python/uritools/uritools-5.0.0.ebuild b/dev-python/uritools/uritools-5.0.0.ebuild
new file mode 100644
index 000000000000..dcc1feac6fae
--- /dev/null
+++ b/dev-python/uritools/uritools-5.0.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+DOCS_BUILDER="sphinx"
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+DOCS_DIR="docs"
+
+inherit distutils-r1 docs pypi
+
+DESCRIPTION="RFC 3986-compliant URI parsing, classification and composition"
+HOMEPAGE="
+ https://github.com/tkem/uritools/
+ https://pypi.org/project/uritools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+distutils_enable_tests pytest
diff --git a/dev-python/uv/uv-0.6.14.ebuild b/dev-python/uv/uv-0.6.14.ebuild
index 45d0f12ff194..eff719897463 100644
--- a/dev-python/uv/uv-0.6.14.ebuild
+++ b/dev-python/uv/uv-0.6.14.ebuild
@@ -46,7 +46,7 @@ LICENSE+="
# ring crate
LICENSE+=" openssl"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+KEYWORDS="~amd64 ~arm arm64 ~loong ppc ~ppc64 ~riscv x86"
IUSE="test"
RESTRICT="test"
PROPERTIES="test_network"
diff --git a/dev-python/uvicorn/Manifest b/dev-python/uvicorn/Manifest
index a3d4afdb5b03..01eae2ec4c38 100644
--- a/dev-python/uvicorn/Manifest
+++ b/dev-python/uvicorn/Manifest
@@ -1,4 +1,3 @@
DIST uvicorn-0.31.1.gh.tar.gz 728604 BLAKE2B 4f8f4e34bc6b13f6f0866a6890855a5b3bf9aad179de2fdeab40fdb017f76acfaa1cb7c9bd97d55d2ea5cd513afc3b6857ae0613912f6be55dc1d17cf810b213 SHA512 2ceab852cd7819fee592cf2507fa9ce8cc80f19dec0492fec621e6eded4a47edecbe4fe559a8474dacff260546ba146e33af9cab964e121356797fdc9a2dae28
-DIST uvicorn-0.34.0.gh.tar.gz 728609 BLAKE2B 50b0cb2d0d7e81398bb078c999d17e3cc021e371274fb3387559d92cc3086386aa5e62a56ba14ae60e5da742017ad58aee3fb8b045e438b614ce8e812934b4ad SHA512 260782e385a2934049da8c474750958826afe1bfe23b38fe2f6420f355af7a537563f8fe6ac3830814c7469203703d10f4f9f3d6e53e79113bfd2fd34f7a7c72
DIST uvicorn-0.34.1.gh.tar.gz 709794 BLAKE2B 9ea07bc6046601c5d9b8bdd263821f4a39de0c8facb41ee83f89ab4686c4d68a861445d1e1e98dc7679c30285fd0efe008dd9a9caf6f3920cd22c97ae72d28a8 SHA512 8a4020eabf644ad03c9cb4ecd69bdaa163c9ad5aaca226a38baf679c02864c8e6c5ad525d4c7b2197ad32553c9e1412376c1d17d51ab936878ab2eb251f23f51
DIST uvicorn-0.34.2.gh.tar.gz 709898 BLAKE2B 8316b0f51f0a833ae42eaf235839761019e20e80e1bf9a81d79f90c814fc214b0a346b81d98b6734f2b132c8641e96b1ef43c137906b55fcd8d4c825d607626e SHA512 e8d4dbf182a47431ab9485a8f1072b327c2adb97e4489dcad08835d2759241539971192781cffe4cbb12ff68e70b040e07ad60fe274aa1d62320ad0d63278e64
diff --git a/dev-python/uvicorn/uvicorn-0.34.0.ebuild b/dev-python/uvicorn/uvicorn-0.34.0.ebuild
deleted file mode 100644
index 7de68801dc68..000000000000
--- a/dev-python/uvicorn/uvicorn-0.34.0.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 2021-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Lightning-fast ASGI server implementation"
-HOMEPAGE="
- https://www.uvicorn.org/
- https://github.com/encode/uvicorn/
- https://pypi.org/project/uvicorn/
-"
-# as of 0.28.0, no tests in sdist
-SRC_URI="
- https://github.com/encode/uvicorn/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="test-rust"
-
-RDEPEND="
- >=dev-python/asgiref-3.4.0[${PYTHON_USEDEP}]
- >=dev-python/click-7.0[${PYTHON_USEDEP}]
- >=dev-python/h11-0.8[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/typing-extensions-4.0[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- test? (
- dev-python/a2wsgi[${PYTHON_USEDEP}]
- dev-python/anyio[${PYTHON_USEDEP}]
- >=dev-python/httptools-0.6.3[${PYTHON_USEDEP}]
- >=dev-python/httpx-0.28[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- dev-python/python-dotenv[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- >=dev-python/websockets-10.4[${PYTHON_USEDEP}]
- dev-python/wsproto[${PYTHON_USEDEP}]
- test-rust? (
- dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/trustme[${PYTHON_USEDEP}]
- dev-python/watchfiles[${PYTHON_USEDEP}]
- )
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # too long path for unix socket
- tests/test_config.py::test_bind_unix_socket_works_with_reload_or_workers
- # TODO
- 'tests/protocols/test_http.py::test_close_connection_with_multiple_requests[httptools]'
- 'tests/protocols/test_websocket.py::test_send_binary_data_to_server_bigger_than_default_on_websockets[httptools-max=defaults sent=defaults+1]'
- 'tests/protocols/test_websocket.py::test_send_binary_data_to_server_bigger_than_default_on_websockets[h11-max=defaults sent=defaults+1]'
- )
- case ${EPYTHON} in
- pypy3*)
- # TODO
- EPYTEST_DESELECT+=(
- tests/middleware/test_logging.py::test_running_log_using_fd
- )
- ;;
- esac
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p anyio -p pytest_mock -p rerunfailures --reruns=5
-}
-
-pkg_postinst() {
- optfeature "auto reload on file changes" dev-python/watchfiles
-}
diff --git a/dev-python/uvicorn/uvicorn-0.34.1.ebuild b/dev-python/uvicorn/uvicorn-0.34.1.ebuild
index 186c7dbe4fef..7de68801dc68 100644
--- a/dev-python/uvicorn/uvicorn-0.34.1.ebuild
+++ b/dev-python/uvicorn/uvicorn-0.34.1.ebuild
@@ -22,7 +22,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="test-rust"
RDEPEND="
diff --git a/dev-python/weasyprint/Manifest b/dev-python/weasyprint/Manifest
index c9207af56150..1c2917d7ab9a 100644
--- a/dev-python/weasyprint/Manifest
+++ b/dev-python/weasyprint/Manifest
@@ -1,2 +1 @@
-DIST weasyprint-65.0.tar.gz 498355 BLAKE2B 891f249114fb50eedc053873ea826e956a9b9e13d39d0c551992468dff7ec7dd79c103b37aa76c843dd2ab04a77d578b2f326fcd51a389d264d974e38b343727 SHA512 8713d886fc2630d8efd0c3a2df6b1a9bf0b7d56c8b2a8117f5164b583e54f54897c6d2f1dd733e47406547c2f385f99c89fa8f651834404f27b6d87319509efd
DIST weasyprint-65.1.tar.gz 499028 BLAKE2B 44dc948fb1c8b2fc5c6ca55203d049038ed74cf405211fc7c7364ac2bcb82b591c8df2c99c1b20d3f2f944b8b4611b1a2b87fdb9b1ede1413739444cc9f15dbc SHA512 6b36b66b471c8b6a853f783a0c6d9548f27ac2ee51be0a54d1e75eb9451c94da931484d1877e716ee99c9624a9fec4c8f28bfea5959f44344dc5938272c8bef1
diff --git a/dev-python/weasyprint/weasyprint-65.0.ebuild b/dev-python/weasyprint/weasyprint-65.0.ebuild
deleted file mode 100644
index f67c73606571..000000000000
--- a/dev-python/weasyprint/weasyprint-65.0.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Visual rendering engine for HTML and CSS that can export to PDF"
-HOMEPAGE="
- https://weasyprint.org/
- https://github.com/Kozea/WeasyPrint/
- https://pypi.org/project/weasyprint/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-
-RDEPEND="
- >=dev-python/cffi-0.6:=[${PYTHON_USEDEP}]
- >=dev-python/cssselect2-0.8.0[${PYTHON_USEDEP}]
- >=dev-python/fonttools-4.0.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-9.1.0[jpeg,jpeg2k,${PYTHON_USEDEP}]
- >=dev-python/pydyf-0.11.0[${PYTHON_USEDEP}]
- >=dev-python/pyphen-0.9.1[${PYTHON_USEDEP}]
- >=dev-python/tinycss2-1.4.0[${PYTHON_USEDEP}]
- >=dev-python/tinyhtml5-2.0.0[${PYTHON_USEDEP}]
- media-fonts/dejavu
- x11-libs/pango
-"
-
-BDEPEND="
- test? (
- >=app-text/ghostscript-gpl-9.56.1-r3
- media-fonts/ahem
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/weasyprint/weasyprint-65.1.ebuild b/dev-python/weasyprint/weasyprint-65.1.ebuild
index 833c783f22a4..f67c73606571 100644
--- a/dev-python/weasyprint/weasyprint-65.1.ebuild
+++ b/dev-python/weasyprint/weasyprint-65.1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~x86"
RDEPEND="
>=dev-python/cffi-0.6:=[${PYTHON_USEDEP}]
diff --git a/dev-python/xlsxwriter/Manifest b/dev-python/xlsxwriter/Manifest
index 215f2fde6898..350b69d6242c 100644
--- a/dev-python/xlsxwriter/Manifest
+++ b/dev-python/xlsxwriter/Manifest
@@ -1,2 +1 @@
-DIST XlsxWriter-RELEASE_3.2.2.gh.tar.gz 24656384 BLAKE2B b1b7313d0b486ff1e612102a67530ac96ae672a577b2c2cf23be65e1a0d8a0698ba6060c127b3d45afaa7691a8f03f82352ada9cf3aff98771bc7537622c6d69 SHA512 21fa5e550123506e0777dd849aacfd0c2177a4b0f79c675a55361693c286d03a100cf09c29c4a434a7d9e43825d90506ed6a4f3beef36c054cd0fd805a7a9446
DIST XlsxWriter-RELEASE_3.2.3.gh.tar.gz 24659662 BLAKE2B d6efb2a5e2df399b5cb05fc1efe790584a29c2d4d13303ca9d0b9f7c8b900339c347800e515d2c636f88c27b7a731c853aba081069c0c9023dc1ec15e66da07c SHA512 1622420ab795a1b169569b1d5103f8f056fc3dbe741a46b21fee71d739738412d4c17d6822e8884f16bb37f47f4ced4b2eddf40850fa6d1d0bf0d951ec1ef820
diff --git a/dev-python/xlsxwriter/xlsxwriter-3.2.2.ebuild b/dev-python/xlsxwriter/xlsxwriter-3.2.2.ebuild
deleted file mode 100644
index 8d87424a5d15..000000000000
--- a/dev-python/xlsxwriter/xlsxwriter-3.2.2.ebuild
+++ /dev/null
@@ -1,33 +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_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1
-
-TAG=RELEASE_${PV}
-MY_P=XlsxWriter-${TAG}
-DESCRIPTION="Python module for creating Excel XLSX files"
-HOMEPAGE="
- https://github.com/jmcnamara/XlsxWriter/
- https://pypi.org/project/XlsxWriter/
-"
-SRC_URI="
- https://github.com/jmcnamara/XlsxWriter/archive/${TAG}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/xlsxwriter/xlsxwriter-3.2.3.ebuild b/dev-python/xlsxwriter/xlsxwriter-3.2.3.ebuild
index 7484d434bdee..8d87424a5d15 100644
--- a/dev-python/xlsxwriter/xlsxwriter-3.2.3.ebuild
+++ b/dev-python/xlsxwriter/xlsxwriter-3.2.3.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 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
distutils_enable_tests pytest
diff --git a/dev-python/xmlschema/Manifest b/dev-python/xmlschema/Manifest
index e63fe78881c2..889211dac3df 100644
--- a/dev-python/xmlschema/Manifest
+++ b/dev-python/xmlschema/Manifest
@@ -1,3 +1 @@
-DIST xmlschema-3.4.5.tar.gz 592281 BLAKE2B e32e768bf91e67297453dc0fa70e37fdeaa37c8de3b2bf18857935616b70cc936de88e46844ca3139d9cdb946c53808c34219334317def8cbdcdf50cec20928e SHA512 46b5e3de506b902161fdb758ceccacbda57caa87b0f3b90d8769d96bdfca096eea348b2fe52d76930e18c164dbcf3a673286a1594feef051e0b664e559d37ed2
-DIST xmlschema-4.0.0.tar.gz 624545 BLAKE2B 4d53e7581235296d08219550bf78acea4bb1f984dde1f58d86e3855a0f7647b6c69a3746a0f0dc69345214e1d110163f128967c334c57e6acfd0856dce52bd8a SHA512 7246f4449d172f9f5b0d2a70d649d0a7820fb628008884edc85e7742b26a2f1b9f08a3b176b52b639ab84189152c723bbbab317396d3bc3647a21aecd0ff92f9
DIST xmlschema-4.0.1.tar.gz 625283 BLAKE2B 750f151a6e10a01732cd9ff4a66f5499e3f8ed0ba2c07faf98bb85fab1c7a28bd3677f4b7ab12ab31235b1b23ca9127d8fa2a67bec7d5d4386bd3be26227fb6e SHA512 b1c08b9feabc40f1f299f005f765fa9d46780e3bc2173ee305d71c40e403a6f67b3a7558214fc663e54abd9a68ae28465044c7bc0113999cf18d2f4b95bfcec8
diff --git a/dev-python/xmlschema/xmlschema-3.4.5.ebuild b/dev-python/xmlschema/xmlschema-3.4.5.ebuild
deleted file mode 100644
index f141967a06b9..000000000000
--- a/dev-python/xmlschema/xmlschema-3.4.5.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2019-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="An XML Schema validator and decoder"
-HOMEPAGE="
- https://github.com/sissaschool/xmlschema/
- https://pypi.org/project/xmlschema/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- <dev-python/elementpath-5[${PYTHON_USEDEP}]
- >=dev-python/elementpath-4.4.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- dev-python/jinja2[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
- )
-"
-
-python_test() {
- "${EPYTHON}" tests/test_all.py -v || die "Tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/xmlschema/xmlschema-4.0.0.ebuild b/dev-python/xmlschema/xmlschema-4.0.0.ebuild
deleted file mode 100644
index ca711a437aae..000000000000
--- a/dev-python/xmlschema/xmlschema-4.0.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2019-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="An XML Schema validator and decoder"
-HOMEPAGE="
- https://github.com/sissaschool/xmlschema/
- https://pypi.org/project/xmlschema/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- <dev-python/elementpath-6[${PYTHON_USEDEP}]
- >=dev-python/elementpath-4.8.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools-77[${PYTHON_USEDEP}]
- test? (
- ${RDEPEND}
- dev-python/jinja2[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
- )
-"
-
-python_test() {
- "${EPYTHON}" tests/run_all_tests.py -v || die "Tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/xmlschema/xmlschema-4.0.1.ebuild b/dev-python/xmlschema/xmlschema-4.0.1.ebuild
index ca711a437aae..ab5fcac30ab4 100644
--- a/dev-python/xmlschema/xmlschema-4.0.1.ebuild
+++ b/dev-python/xmlschema/xmlschema-4.0.1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/yara-python/Manifest b/dev-python/yara-python/Manifest
index 93d43b85609b..f97ec5766a46 100644
--- a/dev-python/yara-python/Manifest
+++ b/dev-python/yara-python/Manifest
@@ -1 +1,2 @@
DIST yara-python-4.5.1.gh.tar.gz 39419 BLAKE2B e89677bd8b857e9c7b40b172311245ab7cc2149bfec6de09905494645d65abd67b1a41978101795ddb9dcb9d4344c3a4ffc23c96291580f17f59cdabe66a1d59 SHA512 fb3d78cea58a5dcb21287d5211805ef7097c07b9117e4fe78a7e56b40f2520950f0e8d6f1eb3c4253a454e10ca782c3826c19613bd17677bef491ae91f9f9d2a
+DIST yara-python-4.5.2.gh.tar.gz 39258 BLAKE2B db9038d476654916eb66d72c6e45b93faf61e8e2621b2a6d862620d100a5d5f7b292e586e68c77cf8a76ce728fcf976690bfd468f027a77f28519298dc3a668a SHA512 586f22d50db01b21e47a8b76e069a917018cc86f8931f438c5066b38323f7a477a919d9e10e704e74f2962ae02bb1715834c704dfe16b66311f48f06c0c5165a
diff --git a/dev-python/yara-python/yara-python-4.5.2.ebuild b/dev-python/yara-python/yara-python-4.5.2.ebuild
new file mode 100644
index 000000000000..abe42fd90f95
--- /dev/null
+++ b/dev-python/yara-python/yara-python-4.5.2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+DISTUTILS_EXT=1
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+inherit distutils-r1
+
+DESCRIPTION="Python interface for a malware identification and classification tool"
+HOMEPAGE="https://github.com/VirusTotal/yara-python"
+
+if [[ ${PV} == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/VirusTotal/yara-python.git"
+else
+ SRC_URI="https://github.com/virustotal/yara-python/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+RDEPEND="
+ =app-forensics/yara-$(ver_cut 1-2)*
+"
+DEPEND="${RDEPEND}"
+
+distutils_enable_tests unittest
+
+python_configure_all() {
+ cat >> setup.cfg <<-EOF
+ dynamic_linking = True
+ EOF
+}
+
+python_test() {
+ "${EPYTHON}" tests.py -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/yara-python/yara-python-9999.ebuild b/dev-python/yara-python/yara-python-9999.ebuild
index a957933416c0..abe42fd90f95 100644
--- a/dev-python/yara-python/yara-python-9999.ebuild
+++ b/dev-python/yara-python/yara-python-9999.ebuild
@@ -31,11 +31,10 @@ distutils_enable_tests unittest
python_configure_all() {
cat >> setup.cfg <<-EOF
- [build_ext]
dynamic_linking = True
EOF
}
python_test() {
- "${EPYTHON}" tests.py || die "Tests fail with ${EPYTHON}"
+ "${EPYTHON}" tests.py -v || die "Tests fail with ${EPYTHON}"
}
diff --git a/dev-python/yarl/yarl-1.20.0.ebuild b/dev-python/yarl/yarl-1.20.0.ebuild
index c7dfa7b9ada7..04ed55fdb511 100644
--- a/dev-python/yarl/yarl-1.20.0.ebuild
+++ b/dev-python/yarl/yarl-1.20.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
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"
IUSE="+native-extensions"
RDEPEND="
diff --git a/dev-python/zeroconf/files/zeroconf-0.146.5-cython-3.1.patch b/dev-python/zeroconf/files/zeroconf-0.146.5-cython-3.1.patch
new file mode 100644
index 000000000000..3e533ed28f6b
--- /dev/null
+++ b/dev-python/zeroconf/files/zeroconf-0.146.5-cython-3.1.patch
@@ -0,0 +1,41 @@
+From c45c924a2de4d8c153800e9a31a28e4d569d8280 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sat, 3 May 2025 14:26:57 +0200
+Subject: [PATCH] Workaround Cython-3.1 problems
+
+Disable the use of type annotations since they are often incorrect
+upstream, and workaround one other problem caused by wrong annotations.
+---
+ build_ext.py | 2 +-
+ src/zeroconf/_services/browser.py | 5 ++++-
+ 2 files changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/build_ext.py b/build_ext.py
+index ff088f8..7ebe344 100644
+--- a/build_ext.py
++++ b/build_ext.py
+@@ -62,7 +62,7 @@ def build(setup_kwargs: Any) -> None:
+ {
+ "ext_modules": cythonize(
+ EXTENSIONS,
+- compiler_directives={"language_level": "3"}, # Python 3
++ compiler_directives={"language_level": "3", "annotation_typing": False}, # Python 3
+ ),
+ "cmdclass": {"build_ext": BuildExt},
+ }
+diff --git a/src/zeroconf/_services/browser.py b/src/zeroconf/_services/browser.py
+index ab8c050..6af2af8 100644
+--- a/src/zeroconf/_services/browser.py
++++ b/src/zeroconf/_services/browser.py
+@@ -394,7 +394,10 @@ class QueryScheduler:
+ refresh_time_millis: float_,
+ ) -> None:
+ """Schedule a query for a pointer."""
+- ttl = int(pointer.ttl) if isinstance(pointer.ttl, float) else pointer.ttl
++ if isinstance(pointer.ttl, float):
++ ttl = int(pointer.ttl)
++ else:
++ ttl = pointer.ttl
+ scheduled_ptr_query = _ScheduledPTRQuery(
+ pointer.alias, pointer.name, ttl, expire_time_millis, refresh_time_millis
+ )
diff --git a/dev-python/zeroconf/zeroconf-0.146.5.ebuild b/dev-python/zeroconf/zeroconf-0.146.5.ebuild
index 503705515b10..b8282d626d64 100644
--- a/dev-python/zeroconf/zeroconf-0.146.5.ebuild
+++ b/dev-python/zeroconf/zeroconf-0.146.5.ebuild
@@ -17,7 +17,8 @@ HOMEPAGE="
LICENSE="LGPL-2.1+"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~arm arm64 x86 ~amd64-linux ~x86-linux"
+IUSE="+native-extensions"
RDEPEND="
>=dev-python/ifaddr-0.1.7[${PYTHON_USEDEP}]
@@ -25,7 +26,9 @@ RDEPEND="
# the build system uses custom build script that uses distutils to build
# C extensions, sigh
BDEPEND="
- >=dev-python/cython-3.0.8[${PYTHON_USEDEP}]
+ native-extensions? (
+ >=dev-python/cython-3.0.8[${PYTHON_USEDEP}]
+ )
>=dev-python/setuptools-65.6.3[${PYTHON_USEDEP}]
test? (
dev-python/pytest-asyncio[${PYTHON_USEDEP}]
@@ -34,7 +37,20 @@ BDEPEND="
distutils_enable_tests pytest
-export REQUIRE_CYTHON=1
+PATCHES=(
+ # https://bugs.gentoo.org/954107 (workaround)
+ "${FILESDIR}/zeroconf-0.146.5-cython-3.1.patch"
+)
+
+python_compile() {
+ if use native-extensions; then
+ local -x REQUIRE_CYTHON=1
+ else
+ local -x SKIP_CYTHON=1
+ fi
+
+ distutils-r1_python_compile
+}
python_test() {
local -x SKIP_IPV6=1