summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-10-12 09:40:38 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-10-12 09:40:38 +0000
commit990e232a39a4645aa993dd440c997f1a01304379 (patch)
treecf9422fc9b5b71da1115ec00b340038c67b1bc24 /dev-python
parent1324fae2c705470d82e82a946b181c55341380d1 (diff)
downloadbaldeagleos-repo-990e232a39a4645aa993dd440c997f1a01304379.tar.gz
baldeagleos-repo-990e232a39a4645aa993dd440c997f1a01304379.tar.xz
baldeagleos-repo-990e232a39a4645aa993dd440c997f1a01304379.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/aiofiles/Manifest1
-rw-r--r--dev-python/aiofiles/aiofiles-25.1.0.ebuild26
-rw-r--r--dev-python/aws-sam-translator/Manifest1
-rw-r--r--dev-python/aws-sam-translator/aws-sam-translator-1.101.0.ebuild61
-rw-r--r--dev-python/betterproto/betterproto-2.0.0_beta6.ebuild2
-rw-r--r--dev-python/betterproto/betterproto-2.0.0_beta7.ebuild2
-rw-r--r--dev-python/bleak/Manifest1
-rw-r--r--dev-python/bleak/bleak-1.1.1.ebuild51
-rw-r--r--dev-python/boto3/Manifest2
-rw-r--r--dev-python/boto3/boto3-1.40.49.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.40.50.ebuild53
-rw-r--r--dev-python/botocore/Manifest2
-rw-r--r--dev-python/botocore/botocore-1.40.49.ebuild67
-rw-r--r--dev-python/botocore/botocore-1.40.50.ebuild67
-rw-r--r--dev-python/cachelib/cachelib-0.13.0.ebuild4
-rw-r--r--dev-python/cfn-lint/Manifest1
-rw-r--r--dev-python/cfn-lint/cfn-lint-1.40.1.ebuild61
-rw-r--r--dev-python/clang/Manifest1
-rw-r--r--dev-python/clang/clang-22.0.0_pre20251011.ebuild53
-rw-r--r--dev-python/click-option-group/Manifest1
-rw-r--r--dev-python/click-option-group/click-option-group-0.5.9.ebuild29
-rw-r--r--dev-python/cloup/Manifest2
-rw-r--r--dev-python/cloup/cloup-3.0.8.ebuild (renamed from dev-python/cloup/cloup-3.0.7.ebuild)2
-rw-r--r--dev-python/cramjam/cramjam-2.11.0.ebuild2
-rw-r--r--dev-python/cython/cython-3.1.3.ebuild2
-rw-r--r--dev-python/executing/executing-2.2.1.ebuild8
-rw-r--r--dev-python/fonttools/fonttools-4.59.2.ebuild2
-rw-r--r--dev-python/glfw/Manifest3
-rw-r--r--dev-python/glfw/glfw-2.10.0.ebuild (renamed from dev-python/glfw/glfw-2.9.0.ebuild)2
-rw-r--r--dev-python/glfw/glfw-2.8.0.ebuild20
-rw-r--r--dev-python/icecream/Manifest2
-rw-r--r--dev-python/icecream/icecream-2.1.8.ebuild (renamed from dev-python/icecream/icecream-2.1.4.ebuild)8
-rw-r--r--dev-python/invoke/invoke-2.2.0.ebuild4
-rw-r--r--dev-python/ipyparallel/Manifest1
-rw-r--r--dev-python/ipyparallel/ipyparallel-9.0.2.ebuild82
-rw-r--r--dev-python/jedi/jedi-0.19.2.ebuild8
-rw-r--r--dev-python/jsonfeed/files/jsonfeed-1.1.2-exclude_tests.patch11
-rw-r--r--dev-python/jsonfeed/jsonfeed-1.1.2.ebuild11
-rw-r--r--dev-python/langdetect/Manifest2
-rw-r--r--dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch13
-rw-r--r--dev-python/langdetect/langdetect-1.0.9.ebuild6
-rw-r--r--dev-python/langdetect/metadata.xml10
-rw-r--r--dev-python/lit/Manifest1
-rw-r--r--dev-python/lit/lit-22.0.0_pre20251011.ebuild45
-rw-r--r--dev-python/mkdocs-rss-plugin/Manifest4
-rw-r--r--dev-python/mkdocs-rss-plugin/mkdocs-rss-plugin-1.17.3.ebuild (renamed from dev-python/mkdocs-rss-plugin/mkdocs-rss-plugin-1.17.1.ebuild)5
-rw-r--r--dev-python/mpmath/Manifest3
-rw-r--r--dev-python/mpmath/files/mpmath-1.4.0_alpha2-before-numpy-2.patch22
-rw-r--r--dev-python/mpmath/files/mpmath-1.4.0_alpha5-valueerror.patch50
-rw-r--r--dev-python/mpmath/mpmath-1.4.0_alpha2.ebuild78
-rw-r--r--dev-python/mpmath/mpmath-1.4.0_alpha5-r1.ebuild69
-rw-r--r--dev-python/mpmath/mpmath-1.4.0_alpha8.ebuild56
-rw-r--r--dev-python/nanobind/nanobind-2.8.0.ebuild2
-rw-r--r--dev-python/nanobind/nanobind-2.9.2.ebuild2
-rw-r--r--dev-python/nox/Manifest1
-rw-r--r--dev-python/nox/nox-2024.10.09.ebuild69
-rw-r--r--dev-python/pbs-installer/Manifest1
-rw-r--r--dev-python/pbs-installer/pbs-installer-2025.10.10.ebuild35
-rw-r--r--dev-python/pdm/Manifest1
-rw-r--r--dev-python/pdm/pdm-2.26.0.ebuild84
-rw-r--r--dev-python/phonenumbers/Manifest1
-rw-r--r--dev-python/phonenumbers/phonenumbers-9.0.16.ebuild39
-rw-r--r--dev-python/pipdeptree/Manifest1
-rw-r--r--dev-python/pipdeptree/pipdeptree-2.29.0.ebuild57
-rw-r--r--dev-python/psycopg/Manifest1
-rw-r--r--dev-python/psycopg/psycopg-2.9.11.ebuild61
-rw-r--r--dev-python/pycpio/Manifest1
-rw-r--r--dev-python/pycpio/pycpio-1.5.5.ebuild41
-rw-r--r--dev-python/pylsqpack/Manifest1
-rw-r--r--dev-python/pylsqpack/pylsqpack-0.3.23.ebuild39
-rw-r--r--dev-python/pyproject-api/Manifest1
-rw-r--r--dev-python/pyproject-api/pyproject-api-1.10.0.ebuild33
-rw-r--r--dev-python/pyproject-fmt/Manifest1
-rw-r--r--dev-python/pyproject-fmt/pyproject-fmt-2.10.0.ebuild150
-rw-r--r--dev-python/pyqt-builder/Manifest1
-rw-r--r--dev-python/pyqt-builder/pyqt-builder-1.19.0.ebuild30
-rw-r--r--dev-python/pyrefly/Manifest19
-rw-r--r--dev-python/pyrefly/files/pyrefly-0.34.0-cargo-toml-paths.patch17
-rw-r--r--dev-python/pyrefly/files/pyrefly-cargo-toml-paths.patch (renamed from dev-python/pyrefly/files/pyrefly-0.35.0-cargo-toml-paths.patch)0
-rw-r--r--dev-python/pyrefly/pyrefly-0.35.0.ebuild2
-rw-r--r--dev-python/pyrefly/pyrefly-0.36.0.ebuild (renamed from dev-python/pyrefly/pyrefly-0.34.0.ebuild)39
-rw-r--r--dev-python/pyspnego/pyspnego-0.12.0.ebuild2
-rw-r--r--dev-python/pytest-env/Manifest1
-rw-r--r--dev-python/pytest-env/pytest-env-1.2.0.ebuild36
-rw-r--r--dev-python/pytest-relaxed/pytest-relaxed-2.0.2.ebuild8
-rw-r--r--dev-python/pytest-rerunfailures/Manifest2
-rw-r--r--dev-python/pytest-rerunfailures/pytest-rerunfailures-16.1.ebuild (renamed from dev-python/pytest-rerunfailures/pytest-rerunfailures-16.0.ebuild)0
-rw-r--r--dev-python/pytest/Manifest5
-rw-r--r--dev-python/pytest/files/pytest-7.4.3-no-color.patch37
-rw-r--r--dev-python/pytest/files/pytest-8.3.5-pypy.patch17
-rw-r--r--dev-python/pytest/files/pytest-8.3.5-test.patch24
-rw-r--r--dev-python/pytest/pytest-7.4.4.ebuild111
-rw-r--r--dev-python/pytest/pytest-8.0.2.ebuild107
-rw-r--r--dev-python/pytest/pytest-8.1.2.ebuild108
-rw-r--r--dev-python/pytest/pytest-8.2.2.ebuild111
-rw-r--r--dev-python/pytest/pytest-8.3.5-r1.ebuild129
-rw-r--r--dev-python/python-ldap/Manifest1
-rw-r--r--dev-python/python-ldap/python-ldap-3.4.5.ebuild84
-rw-r--r--dev-python/python-lsp-ruff/Manifest1
-rw-r--r--dev-python/python-lsp-ruff/metadata.xml15
-rw-r--r--dev-python/python-lsp-ruff/python-lsp-ruff-2.3.0.ebuild34
-rw-r--r--dev-python/python-tests/Manifest6
-rw-r--r--dev-python/python-tests/python-tests-3.11.14.ebuild76
-rw-r--r--dev-python/python-tests/python-tests-3.12.12.ebuild71
-rw-r--r--dev-python/python-tests/python-tests-3.14.0.ebuild2
-rw-r--r--dev-python/pyupgrade/Manifest2
-rw-r--r--dev-python/pyupgrade/pyupgrade-3.21.0.ebuild (renamed from dev-python/pyupgrade/pyupgrade-3.19.1.ebuild)5
-rw-r--r--dev-python/regress/Manifest27
-rw-r--r--dev-python/regress/regress-2025.10.1.ebuild63
-rw-r--r--dev-python/resolvelib/Manifest1
-rw-r--r--dev-python/resolvelib/resolvelib-1.2.1.ebuild33
-rw-r--r--dev-python/rich-click/Manifest2
-rw-r--r--dev-python/rich-click/rich-click-1.9.3.ebuild (renamed from dev-python/rich-click/rich-click-1.9.1.ebuild)0
-rw-r--r--dev-python/rich/Manifest1
-rw-r--r--dev-python/rich/rich-14.2.0.ebuild68
-rw-r--r--dev-python/scikit-build/Manifest2
-rw-r--r--dev-python/scikit-build/files/scikit-build-0.17.6-setuptools-69.3.patch164
-rw-r--r--dev-python/scikit-build/scikit-build-0.17.6.ebuild77
-rw-r--r--dev-python/scikit-build/scikit-build-0.18.0.ebuild73
-rw-r--r--dev-python/scikit-build/scikit-build-0.18.1.ebuild15
-rw-r--r--dev-python/sigstore-models/sigstore-models-0.0.5.ebuild2
-rw-r--r--dev-python/sigstore-protobuf-specs/sigstore-protobuf-specs-0.3.2.ebuild2
-rw-r--r--dev-python/sigstore-protobuf-specs/sigstore-protobuf-specs-0.5.0.ebuild2
-rw-r--r--dev-python/sigstore-rekor-types/sigstore-rekor-types-0.0.18.ebuild2
-rw-r--r--dev-python/sigstore/Manifest1
-rw-r--r--dev-python/sigstore/sigstore-3.6.6.ebuild62
-rw-r--r--dev-python/sigstore/sigstore-4.0.0.ebuild2
-rw-r--r--dev-python/sip/Manifest1
-rw-r--r--dev-python/sip/metadata.xml1
-rw-r--r--dev-python/sip/sip-6.13.1.ebuild49
-rw-r--r--dev-python/sphinx-autodoc-typehints/Manifest1
-rw-r--r--dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-3.5.1.ebuild40
-rw-r--r--dev-python/sphinx/Manifest1
-rw-r--r--dev-python/sphinx/files/sphinx-4.3.2-doc-link.patch14
-rw-r--r--dev-python/sphinx/sphinx-8.1.3.ebuild146
-rw-r--r--dev-python/sphinxext-opengraph/Manifest2
-rw-r--r--dev-python/sphinxext-opengraph/sphinxext-opengraph-0.13.0.ebuild (renamed from dev-python/sphinxext-opengraph/sphinxext-opengraph-0.10.0.ebuild)1
-rw-r--r--dev-python/spyder-kernels/Manifest2
-rw-r--r--dev-python/spyder-kernels/spyder-kernels-3.1.0_beta1.ebuild98
-rw-r--r--dev-python/spyder-kernels/spyder-kernels-3.1.0_beta2.ebuild85
-rw-r--r--dev-python/spyder-notebook/Manifest1
-rw-r--r--dev-python/spyder-notebook/spyder-notebook-0.7.0.ebuild58
-rw-r--r--dev-python/spyder/Manifest1
-rw-r--r--dev-python/spyder/spyder-6.1.0.ebuild207
-rw-r--r--dev-python/sqlalchemy/Manifest3
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-2.0.41.ebuild103
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-2.0.44.ebuild (renamed from dev-python/sqlalchemy/sqlalchemy-2.0.40.ebuild)33
-rw-r--r--dev-python/sqlglot/Manifest2
-rw-r--r--dev-python/sqlglot/sqlglot-27.25.2.ebuild93
-rw-r--r--dev-python/sqlglot/sqlglot-27.26.0.ebuild93
-rw-r--r--dev-python/syrupy/Manifest2
-rw-r--r--dev-python/syrupy/syrupy-5.0.0.ebuild (renamed from dev-python/syrupy/syrupy-4.9.1.ebuild)2
-rw-r--r--dev-python/termynal/Manifest2
-rw-r--r--dev-python/termynal/termynal-0.13.1.ebuild (renamed from dev-python/termynal/termynal-0.13.0.ebuild)0
-rw-r--r--dev-python/textual/Manifest4
-rw-r--r--dev-python/textual/textual-5.3.0.ebuild (renamed from dev-python/textual/textual-3.2.0.ebuild)3
-rw-r--r--dev-python/textual/textual-6.2.1.ebuild (renamed from dev-python/textual/textual-0.88.1.ebuild)58
-rw-r--r--dev-python/textx/Manifest3
-rw-r--r--dev-python/textx/textx-4.1.0.ebuild60
-rw-r--r--dev-python/textx/textx-4.2.3.ebuild (renamed from dev-python/textx/textx-4.2.0.ebuild)3
-rw-r--r--dev-python/tox/Manifest1
-rw-r--r--dev-python/tox/tox-4.31.0.ebuild91
-rw-r--r--dev-python/txredisapi/txredisapi-1.4.11-r1.ebuild (renamed from dev-python/txredisapi/txredisapi-1.4.11.ebuild)0
-rw-r--r--dev-python/uv-build/Manifest2
-rw-r--r--dev-python/uv-build/uv-build-0.9.0.ebuild2
-rw-r--r--dev-python/uv-build/uv-build-0.9.1.ebuild99
-rw-r--r--dev-python/uv-build/uv-build-0.9.2.ebuild99
-rw-r--r--dev-python/uv/Manifest3
-rw-r--r--dev-python/uv/uv-0.9.1.ebuild183
-rw-r--r--dev-python/uv/uv-0.9.2.ebuild183
-rw-r--r--dev-python/validator-collection/validator-collection-1.5.0-r2.ebuild6
-rw-r--r--dev-python/virtualenv/Manifest2
-rw-r--r--dev-python/virtualenv/virtualenv-20.35.1.ebuild130
-rw-r--r--dev-python/virtualenv/virtualenv-20.35.3.ebuild130
174 files changed, 3472 insertions, 2028 deletions
diff --git a/dev-python/aiofiles/Manifest b/dev-python/aiofiles/Manifest
index b350a44e73cf..a250e5b18671 100644
--- a/dev-python/aiofiles/Manifest
+++ b/dev-python/aiofiles/Manifest
@@ -1 +1,2 @@
DIST aiofiles-24.1.0.tar.gz 30247 BLAKE2B a2f979feb2db577b70caa0919a5571fa1a5d5e3f8b27711db72e9307f91effedaf587ce482fbd0ebca3dcca33388db16f72ab21c001438d32fc094b052703abd SHA512 dcb7f69354899f752cf4eef63a19ca6582f9288735345a0ff7503f3dd571e0a184962fbb89054a2e46e3efff5d84db6bdec4bb421a7d0aa8fec2c3093e54c371
+DIST aiofiles-25.1.0.tar.gz 46354 BLAKE2B ab42621c8490a02a8926da38555ad39305d9de4ee1bd4270e19dd708b976818cb39ace313b56229d5a1966bb8dbd07d1e6940186e9dd089100ead060d25523a1 SHA512 7b4afc8fa25cb161e850db253b582249c5d8b77aeaaa5db9bd7cf7c9ba4b7b545f9013234ca384983c021ad211cdb6e0f34da85c93d5096da9a6e6f0c2404bbe
diff --git a/dev-python/aiofiles/aiofiles-25.1.0.ebuild b/dev-python/aiofiles/aiofiles-25.1.0.ebuild
new file mode 100644
index 000000000000..1dc585ac7993
--- /dev/null
+++ b/dev-python/aiofiles/aiofiles-25.1.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="File support for asyncio"
+HOMEPAGE="
+ https://github.com/Tinche/aiofiles/
+ https://pypi.org/project/aiofiles/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( pytest-asyncio )
+distutils_enable_tests pytest
diff --git a/dev-python/aws-sam-translator/Manifest b/dev-python/aws-sam-translator/Manifest
index d51a8914a1a6..e2b3ba158b54 100644
--- a/dev-python/aws-sam-translator/Manifest
+++ b/dev-python/aws-sam-translator/Manifest
@@ -1,2 +1,3 @@
DIST serverless-application-model-1.100.0.gh.tar.gz 6493911 BLAKE2B cba745252b2402f7f2979fe3c84eb52224735e9eb4ccc1db07c1fb4c71faa9a5357969adfb0417fae496cb80d335ef9aaf01b4c87ea8e93a2c8351226944c886 SHA512 4b40b1139acf0aceacfaae768146fb9b7f9888e9103a52a6ab3140924ac02af3cf28067d6be9e5fd9fe90a1822681f2899c752bfc6de9852afafe2095b6126e9
+DIST serverless-application-model-1.101.0.gh.tar.gz 6002271 BLAKE2B 726fd5a91a8afa51072e4fe95b941b7bc05805171ea1913626f4ddd82b14ac09509e115672491062cc8247a64ccfa53e8fcc1f2c5c387b38a945219cb0561a9a SHA512 b0063a97966b28f3d189f9607beac8fbdf36af235351630b3e277db81ecae9da326ccc6ce1c1e9e5bb5831a769507747e77cf8f4e4b1d378e63effaa38319e0c
DIST serverless-application-model-1.99.0.gh.tar.gz 5926908 BLAKE2B 2789e0fafa9036f51f2a854e5d46a8306866a1ab02f0ae92c080eda4c054a13f489a7027131c3a2512f92e125b280cb5aadb78b040f69ebc66c4ec1c5b052ae7 SHA512 e5c8d0d8b9f6215e7b1a8685206c2abdb5a79b9251ca5e2dc3092649899df5f35712c9a3068fc2476eb7b5efc08e8ea8654519ecfd8c53b8fe79838079721808
diff --git a/dev-python/aws-sam-translator/aws-sam-translator-1.101.0.ebuild b/dev-python/aws-sam-translator/aws-sam-translator-1.101.0.ebuild
new file mode 100644
index 000000000000..6fd2030a7416
--- /dev/null
+++ b/dev-python/aws-sam-translator/aws-sam-translator-1.101.0.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..13} )
+
+inherit distutils-r1
+
+MY_P=serverless-application-model-${PV}
+DESCRIPTION="A library that transform SAM templates into AWS CloudFormation templates"
+HOMEPAGE="
+ https://github.com/aws/serverless-application-model/
+ https://pypi.org/project/aws-sam-translator/
+"
+SRC_URI="
+ https://github.com/aws/serverless-application-model/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/boto3-2[${PYTHON_USEDEP}]
+ >=dev-python/boto3-1.34.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2[${PYTHON_USEDEP}]
+ <dev-python/pydantic-3[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-1.8[${PYTHON_USEDEP}]
+ <dev-python/typing-extensions-5[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/parameterized[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # so much noise...
+ sed -i -e '/log_cli/d' pytest.ini || die
+
+ # deps are installed by ebuild, don't try to reinstall them via pip
+ truncate --size=0 requirements/*.txt || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x AWS_DEFAULT_REGION=us-east-1
+ epytest -o addopts= -o filterwarnings=
+}
diff --git a/dev-python/betterproto/betterproto-2.0.0_beta6.ebuild b/dev-python/betterproto/betterproto-2.0.0_beta6.ebuild
index 090a778ec930..72a9efc80adf 100644
--- a/dev-python/betterproto/betterproto-2.0.0_beta6.ebuild
+++ b/dev-python/betterproto/betterproto-2.0.0_beta6.ebuild
@@ -34,7 +34,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
RDEPEND="
>=dev-python/black-23.1.0[${PYTHON_USEDEP}]
diff --git a/dev-python/betterproto/betterproto-2.0.0_beta7.ebuild b/dev-python/betterproto/betterproto-2.0.0_beta7.ebuild
index 228764d788eb..6c21e86512db 100644
--- a/dev-python/betterproto/betterproto-2.0.0_beta7.ebuild
+++ b/dev-python/betterproto/betterproto-2.0.0_beta7.ebuild
@@ -34,7 +34,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
RDEPEND="
>=dev-python/black-23.1.0[${PYTHON_USEDEP}]
diff --git a/dev-python/bleak/Manifest b/dev-python/bleak/Manifest
index 835f54cdff05..2aceec7b9adc 100644
--- a/dev-python/bleak/Manifest
+++ b/dev-python/bleak/Manifest
@@ -1 +1,2 @@
DIST bleak-1.1.0.tar.gz 116100 BLAKE2B c41e02c7fcf58671d68f9a4d4b94b05546bd656366551948fc7d62c07297754730ff1ab4dc6d45ffdb460aac6f47cf616b5b056c721cebe075521d6b39769ff6 SHA512 4861e999d812b63ce4d85eb8711f9cf226e70b2adc786f87c4be8793c72f9f01cd2572ea46e59315ae7774864b5c5e5ef642e47a0abf145fd8ed2ab48cda61df
+DIST bleak-1.1.1.tar.gz 116277 BLAKE2B 63a6ffd4cb25325eddcae403145e60a450d33f47627968db262c78138d0330c96e03672fbe826876f4ca5c026f918268f96d3495e01be57c25120520b2b7c99e SHA512 ad4749e7f88be5ba9a2c09b636164d501971111184d9cdfb6087cfae32b6d72cf74d3e6f2c1c3690ec9bff3f3ccb1b6bc479969a6c5de7e01fcacc384d53ceae
diff --git a/dev-python/bleak/bleak-1.1.1.ebuild b/dev-python/bleak/bleak-1.1.1.ebuild
new file mode 100644
index 000000000000..79617b43bad0
--- /dev/null
+++ b/dev-python/bleak/bleak-1.1.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{11..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Bluetooth Low Energy platform Agnostic Klient (BLEAK) for Python"
+HOMEPAGE="https://bleak.readthedocs.io"
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# Dependencies unsurprisingly derive from "pyproject.toml".
+BDEPEND="test? (
+ >=dev-python/pytest-7.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-asyncio-0.19.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-cov-3.0.0[${PYTHON_USEDEP}]
+)"
+RDEPEND="
+ >=dev-python/dbus-fast-1.22.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/async-timeout-3.0.0[${PYTHON_USEDEP}]
+ ' python3_{8..10})
+"
+DEPEND="${RDEPEND}"
+
+distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
+
+#FIXME: Tests currently fail to run and I can't be bothered to resolve. *sigh*
+# distutils_enable_tests pytest
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/hbldh/bleak.git"
+ EGIT_BRANCH="develop"
+else
+ KEYWORDS="~amd64"
+fi
+
+python_install_all() {
+ [[ -d examples ]] && dodoc -r examples
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 59309adab4e7..df7abcfd8660 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -8,3 +8,5 @@ DIST boto3-1.40.45.gh.tar.gz 1007074 BLAKE2B b6b36715046fc1468ad02770b31c88276d3
DIST boto3-1.40.46.gh.tar.gz 1007701 BLAKE2B e3d79e6e3cdcb45a022d847617a77191ba1384839458c114679c77580fed8db954bc0b087a4073647b8adef9845b33360a47a8865ec83fc22e72a195d8463121 SHA512 cd47dcf610fa5b0c7b0341231093c899efc63addc4517f2ea1da43ce5e37e7d3c8ff99103816c8d119a5f2fbc0cfaa0913eebd66aaa6d65129b3ed3b56fab5a7
DIST boto3-1.40.47.gh.tar.gz 1007795 BLAKE2B 8c73c0f6fc585717368a8980145a70dc3b20719b76d655089972a6346646227fadbc27e76baaf6f20c332e6941401dbf9bba7088e9cc16280a393b2f8f1f14e4 SHA512 281d3ff20c0a00c9bb57592c5b6ef24b213354470a2d930656ab3d4de6b7bbd622992460e2dde435dae32ef50b143513c57c9f3fb2edcecbd3a54e2bdc009ecb
DIST boto3-1.40.48.gh.tar.gz 1008274 BLAKE2B d32b637b802f2d28b7fe45c4e59b4c095b0af5ba0561451d7c69d4eb90e323aa397ddd914a12784c897762048ecb8eb1e11209e0280c2700341a1de9a11afc67 SHA512 9f645463e4242cb11d291e1bad5279412c9178e77fc6d6c5821ad229cafe4d3a1662a26ea5abde776166775969ca3990978b3c0ec94f0ddc1fed596f499381c9
+DIST boto3-1.40.49.gh.tar.gz 1008632 BLAKE2B da8ccdad368a94ceab519b186f4b9690b4310e2650429460e8a559af5aee6add0bd561f0261a0d7bd9c7466717a432591419cb021b6d67dcd778733550299463 SHA512 47634a1c3f72229af1c61344cc1504d3e267086d1e203af6cf8cbf6a464b5b865d82dc1867c654318f4f7b72d216bd3cf23dce7de45a383d35bfa0b8713ae000
+DIST boto3-1.40.50.gh.tar.gz 1009112 BLAKE2B a5c1be6c13cacb8b0fa1a7b4c64a9fec9caabd6b17ba9cdceb45da4954e21d4020a707d72eb2de52e8d83b78990adf5ce8a82dc166d84f5e98fa5289304dadee SHA512 7955190f7a55b47293b25b15e1b5c86e79a3a468aba20999a114de99df3af57cf6a2d23acbc90dde056aa2f557db938fa8f6638d3de939009b6a6ec69d691a18
diff --git a/dev-python/boto3/boto3-1.40.49.ebuild b/dev-python/boto3/boto3-1.40.49.ebuild
new file mode 100644
index 000000000000..90fb2a42e6e5
--- /dev/null
+++ b/dev-python/boto3/boto3-1.40.49.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.14.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/boto3/boto3-1.40.50.ebuild b/dev-python/boto3/boto3-1.40.50.ebuild
new file mode 100644
index 000000000000..90fb2a42e6e5
--- /dev/null
+++ b/dev-python/boto3/boto3-1.40.50.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.14.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index 2b0560b0777e..5e0c484b86f6 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -8,3 +8,5 @@ DIST botocore-1.40.45.gh.tar.gz 15197014 BLAKE2B 6b44913005d75f22b0ff993b1fea47a
DIST botocore-1.40.46.gh.tar.gz 15205441 BLAKE2B c6d5a7d5061445ff811e7c45159fda357cda05f21e578d91e1489da53c79be78bbf1e1f6ad531dcb46d96e19292cea379e4b28706a4f5bcc210e3c700f86993e SHA512 b035af8a1738974e2b21c5af3440d318a1081b3e226b7a485779c8fba6729e5868c6edf9608787bbb78dcb149fcf3adcacdcd286624d13511d91679c5b4c71c4
DIST botocore-1.40.47.gh.tar.gz 15207044 BLAKE2B 11539f60967588c526d6f6933dcd750711018ef69675b4d573f6a66c992c774fe8a923e5d7734678e2800dd3c47a65dc2ddd664a351340dfb5c3e3aa1544cb14 SHA512 331048ed4fe81070fa678815812841297df231ef05560f7b591fbb0e0458db051b7f49a85893aa989eb96a6099da8eb9583be77535cccf2f15aecdcf271f85f4
DIST botocore-1.40.48.gh.tar.gz 15208302 BLAKE2B 209bd572ed31aadf16cd2392170c6f7007866a8ab6d603a940c557af49241bd28e8f30f3e0e0f2887b31d61402c53048fb05789ee90b50d2a2fe83082225e19f SHA512 a252a85c5cf276cb04cc569f56bb7880b1732282ea523b12f4c8c662efe21e5b7fbcdb52adcd867decaa9a4a5b066aa455b81e48eb287284a8b7bfbb0d7eef71
+DIST botocore-1.40.49.gh.tar.gz 15219779 BLAKE2B 4fd27f859ff1f78f46478cf4b4d718b03ac2b2212decc1d1edea842309e45811475eddf407a38838fcccd77ae779bc0a704bdac018b1a21f06c4aeabe097bb15 SHA512 6b8eeee08a71381cf0a8dc77910ac4e01ab13c2d27fc2cbb57501874a40c9527a2bbad20c76c49c3896a2349c4db975d0e3ce23495d63c119790a36b6b180495
+DIST botocore-1.40.50.gh.tar.gz 15222465 BLAKE2B 626b040c06531d96c1e0276e4bf6a70747b2c8184d9178b24333b1b7e91e833175114d31e7ee1b48b83597b22b2869132b50f3834a4bdaa082a111a7a9f41a10 SHA512 91ac7467c8b1cc58d2b29a0bb34d7374a7c8987eb73caccc3b3becb782995d64a874d099ea74a5e0c046d0aae2497211a0a84d3a8e7f42efc1252fa6ab517872
diff --git a/dev-python/botocore/botocore-1.40.49.ebuild b/dev-python/botocore/botocore-1.40.49.ebuild
new file mode 100644
index 000000000000..a931fcaefec4
--- /dev/null
+++ b/dev-python/botocore/botocore-1.40.49.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~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_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/botocore-1.40.50.ebuild b/dev-python/botocore/botocore-1.40.50.ebuild
new file mode 100644
index 000000000000..a931fcaefec4
--- /dev/null
+++ b/dev-python/botocore/botocore-1.40.50.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~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_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/cachelib/cachelib-0.13.0.ebuild b/dev-python/cachelib/cachelib-0.13.0.ebuild
index 77898dd623d6..2b14d864fd20 100644
--- a/dev-python/cachelib/cachelib-0.13.0.ebuild
+++ b/dev-python/cachelib/cachelib-0.13.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 x86"
BDEPEND="
test? (
diff --git a/dev-python/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest
index 1f0c4758f47a..1cb3b8857519 100644
--- a/dev-python/cfn-lint/Manifest
+++ b/dev-python/cfn-lint/Manifest
@@ -1,2 +1,3 @@
DIST cfn_lint-1.39.1.tar.gz 3250565 BLAKE2B 8cae83fc090a5208e24d85270085fe7ab271838decf8e8c6914679ef2c8693f1067814f0656264bf47b8a214689862eec6f0524c9dc6bb8803cb167ed9db166d SHA512 d2c3246acde134ae840552f1202d2f8a4033fc22e7eae3ac7bd53c151294b36396c2611f3e75c86b083d0a9d00e13f9c148ceef921cbd3dd59820abdf6140333
DIST cfn_lint-1.40.0.tar.gz 3359732 BLAKE2B adcefc474df4c05558acf69892daf8335cca39b979221cdec82de9e7b58409b1c9e980bfd1becb65b3a84fd41933ec5ece2199c698b3987499694758a9289a82 SHA512 0da2b29ab549c4422b5c2cc0c51d54308f9dd7990061e39654fa3a08c75c63e44e36b133e292757f1bb13121003791cb33409c404ec201da8718421da89a0d4f
+DIST cfn_lint-1.40.1.tar.gz 3321409 BLAKE2B 1e220b53f2bebc78dafb5b1edc84a078e59e33391f8534a8fa6e9d17c41dbc14ef10db9554cc743aca68354f2f09d16a11753255a0250cf8c85d0ff21b860acc SHA512 b1e74debb054ffdd149af632fc776bb912235a0d95681f878144e51b35732f4debf6193db1c7e9c5539cd899aac0cdd312da21ad9cf75e471cffadb9609ca307
diff --git a/dev-python/cfn-lint/cfn-lint-1.40.1.ebuild b/dev-python/cfn-lint/cfn-lint-1.40.1.ebuild
new file mode 100644
index 000000000000..ffc56bfdf15f
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-1.40.1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="CloudFormation Linter"
+HOMEPAGE="
+ https://github.com/aws-cloudformation/cfn-lint/
+ https://pypi.org/project/cfn-lint/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/aws-sam-translator-1.97.0[${PYTHON_USEDEP}]
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ >=dev-python/jschema-to-python-1.2.3[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-5[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ dev-python/junit-xml[${PYTHON_USEDEP}]
+ <dev-python/networkx-4[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
+ >=dev-python/regex-2021.7.1[${PYTHON_USEDEP}]
+ >=dev-python/sarif-om-1.0.4[${PYTHON_USEDEP}]
+ >=dev-python/sympy-1.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-77.0.3[${PYTHON_USEDEP}]
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # different line wrapping somehow
+ test/unit/module/template/test_template.py::TestTemplate::test_build_graph
+ # requires git repo
+ test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs
+ # TODO: suddenly started failing in older versions too
+ # https://github.com/aws-cloudformation/cfn-lint/issues/4207
+ test/integration/test_good_templates.py
+ test/unit/module/override/test_exclude.py::TestExclude::test_success_run
+ test/unit/module/test_api.py::TestLintFile::test_good_template
+ test/unit/module/test_rules_collections.py::TestRulesCollection::test_success_run
+ )
+
+ # from tox.ini
+ local -x AWS_DEFAULT_REGION=us-east-1
+ epytest
+}
diff --git a/dev-python/clang/Manifest b/dev-python/clang/Manifest
index 255a9b68beec..0a27b50f01b5 100644
--- a/dev-python/clang/Manifest
+++ b/dev-python/clang/Manifest
@@ -14,5 +14,6 @@ DIST llvm-project-21.1.2.src.tar.xz 158926856 BLAKE2B 1b5684586297ad637c6da09768
DIST llvm-project-21.1.2.src.tar.xz.sig 566 BLAKE2B 6209caf851c681e6f63ed1bd9589ac139c104d6ee21f463aacda472e30a847c32f3bd74a04208af05bb6203d8fa31bdc0028c0e72736a3037940e75eda615415 SHA512 dd8aa57451752a9207c276117a4b8a86f41263ea3ccc4fa198cd40d6fec79acd0ba126c4b84a1acbb52bbb2bce029fbc336deac8131be94747dd04e4a0f69331
DIST llvm-project-21.1.3.src.tar.xz 158943752 BLAKE2B ad9ee083584cb72fea3722feb518f6c933c3a34ba91b1ca8b724f461aa744475a783512dd6f0ab60d533c73b37e42b32a06f905d4869f770a68180649656df44 SHA512 d3058e7c18ada2a6a6192c7e75970406520e0d2ba390dba3b89e99f05959198fd2976d38c200f8e6af37fb569d866b6367bf6e0e249fe4b340dfab74499e5723
DIST llvm-project-21.1.3.src.tar.xz.sig 119 BLAKE2B 675873fb6ce9a6b682d0ecdc5ec6ca8691d7f8f6bc72e6039a90c21f99d753a4b595f06676f9b5c1a23ebce872320cc67bd1687e8324f163ecbc4f22032bdf52 SHA512 d218a4071451e32a77890dd2e7de7a3b8a310ca85c7e6d90b88d85bad128979cf6866c9d772b880b50da2ec117832e77ba162049478c1deb7b0299cae008151a
+DIST llvm-project-6a0e5b2fd7c340a872ae1e011cfb9de0d188feba.tar.gz 249848364 BLAKE2B 5d8eadfd43e1a131d7c061968c7d306b0537c0983c9366973d5b8d1bab4b384d1319604e12f097e235e077aefcd8b9c8395c3e16b53612f9f06fb11ba358aad6 SHA512 d931218ca1dafab09525f862f4b993cb6dde2f8738092e84b87542318d05c81fd41499098833f8629501c19f4fa741a35fc6447631f1c8830b2bb0b2cb64cc43
DIST llvm-project-89ed5255b9ee88119e409a6d986eb1ad0e8f08e3.tar.gz 248431210 BLAKE2B b98dfe5ae46190a5a2460c965f0ec51d2f65a9d1d14f82afa19a10f00a2c29520c52309ee66d71efed6361aa675abcc9bd1b5e61e1c3b1aa9bac4984050c2bc2 SHA512 f860f529f4eb67f4a5875d9931accae2f48b88486dd6715a2ca2add7d5aa1541a30e323612394162e65597054d61a879a9ba94e4dbf417c3fb5f8ff069c2d924
DIST llvm-project-b1e29ec3b73b9dd06656c7e30ace597ff72cde70.tar.gz 248630276 BLAKE2B ea1532ba05661de37f3d6bac6643f2f3000710f4c4b8c508c9b980da64964e60cd46d0b8e18d666b75089f8ad8e2f653ac6098b4054ce8adf7cb0c36220cdf29 SHA512 36471abffd9202c637aa89c53072f0f286beffad2d3908ad50bb4c395a1be0c8138ddcbd67e0c764f59842bcc6c6c31f04a14986c7145c369217a156885ac506
diff --git a/dev-python/clang/clang-22.0.0_pre20251011.ebuild b/dev-python/clang/clang-22.0.0_pre20251011.ebuild
new file mode 100644
index 000000000000..9c57b6c8dbb9
--- /dev/null
+++ b/dev-python/clang/clang-22.0.0_pre20251011.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..14} )
+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"
+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,include} )
+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/click-option-group/Manifest b/dev-python/click-option-group/Manifest
index 5966f27f6438..56886b8c60a9 100644
--- a/dev-python/click-option-group/Manifest
+++ b/dev-python/click-option-group/Manifest
@@ -1,2 +1,3 @@
DIST click_option_group-0.5.7.tar.gz 22110 BLAKE2B 31357084654dc1011eeab64b0298fd5f5a5b417a4621dff7442b6dea02ffbe304d267adccb2f7adef8b7a005ad6055d5982b9e7b7990242fdf3a417c7c817040 SHA512 0e6c82b2b6a4a790c767ad775def93c3487e97990bbc172c95b6d90ccc366c8fb9dfe0fff4eecb64538218213c65642732eb1a0d421d2826e1f13689e6d5621a
DIST click_option_group-0.5.8.tar.gz 22194 BLAKE2B ae7655e09872e6aa4f5ae953cfebd891073860269d086d509a30f954cedb71e46a064ec0170b3be937ab891b0dc9e07a060c137f90d88ef09e44afc908a24c17 SHA512 86faeeef77c9b0f6fb9e72788cbd29cf9b72b88266433a44bf3c8d0eb64bf00a7517c23b7b52385978a9798e4c713f5550d5d621322275f3aded66d799046050
+DIST click_option_group-0.5.9.tar.gz 22222 BLAKE2B 27c1547866ee696b8b822bc3de661c0d2209b2cc7febfdab7f8392616d46d2695b76d0cf4cbfb16482e1ac17c296ee4850d8f811bc721f8876b562afecbb62e3 SHA512 7c83a2460c08a3dc2ac129901acda2b19d828d54e7765fe03452648059d27ac98ce68b6ce703fd5c7876f85c6650b943f3e1ebbbe96c44590ed888dccd943314
diff --git a/dev-python/click-option-group/click-option-group-0.5.9.ebuild b/dev-python/click-option-group/click-option-group-0.5.9.ebuild
new file mode 100644
index 000000000000..45e8f5b5d5a0
--- /dev/null
+++ b/dev-python/click-option-group/click-option-group-0.5.9.ebuild
@@ -0,0 +1,29 @@
+# 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_{11..14} pypy3_11 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Click-extension package that adds option groups missing in Click"
+HOMEPAGE="
+ https://github.com/click-contrib/click-option-group
+ https://pypi.org/project/click-option-group/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/click-7.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/cloup/Manifest b/dev-python/cloup/Manifest
index 4a173f88d0e1..5e0d6ca5fc69 100644
--- a/dev-python/cloup/Manifest
+++ b/dev-python/cloup/Manifest
@@ -1 +1 @@
-DIST cloup-3.0.7.gh.tar.gz 225782 BLAKE2B 9eb659a30a2b5d931245236fb60782bd60608c56d1f4c97ec7d09d6a96c898750c9fcd47b81f906f2ac086287fe6104408e1fcdf23dec1394c3b9cb0ed05e643 SHA512 c589a68d058b20cdd935325ffdd79bb310ca962f024ab70dbc7924459ccf08678774831defd73f2b5646f981e081b5448e7516419566a89a13ff96f521ad03a1
+DIST cloup-3.0.8.gh.tar.gz 225791 BLAKE2B 869c545f7cfd01c084362e02c3fc176dbeb6e134ea54047eb6e8d75a14597a6e669f2dbdfa5bdf166779c85760994526c7e8d05e616eeae61b0efc394162d8da SHA512 f14d5f68aeebb958acdf5812ff6c211db245103688006eba3f0afb82884a4c915bdd8753f2823a515b6acb571fb26d079a0ec3a68e894b365b25dc1b8ca8f6ac
diff --git a/dev-python/cloup/cloup-3.0.7.ebuild b/dev-python/cloup/cloup-3.0.8.ebuild
index 1a4a09c509db..470d999af81a 100644
--- a/dev-python/cloup/cloup-3.0.7.ebuild
+++ b/dev-python/cloup/cloup-3.0.8.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{11..13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/cramjam/cramjam-2.11.0.ebuild b/dev-python/cramjam/cramjam-2.11.0.ebuild
index 2af1bf3d28ba..2dc207a69b3d 100644
--- a/dev-python/cramjam/cramjam-2.11.0.ebuild
+++ b/dev-python/cramjam/cramjam-2.11.0.ebuild
@@ -144,7 +144,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/cython-3.1.3.ebuild b/dev-python/cython/cython-3.1.3.ebuild
index 24a437ad5c45..13bbe1e80cd1 100644
--- a/dev-python/cython/cython-3.1.3.ebuild
+++ b/dev-python/cython/cython-3.1.3.ebuild
@@ -21,7 +21,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~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"
IUSE="test test-full"
RESTRICT="!test? ( test )"
diff --git a/dev-python/executing/executing-2.2.1.ebuild b/dev-python/executing/executing-2.2.1.ebuild
index 2b815e72bbd4..2c85682bb1c4 100644
--- a/dev-python/executing/executing-2.2.1.ebuild
+++ b/dev-python/executing/executing-2.2.1.ebuild
@@ -45,14 +45,6 @@ python_test() {
fi
local EPYTEST_DESELECT=()
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- "tests/test_main.py::test_small_samples[22bc344a43584c051d8962116e8fd149d72e7e68bcb54caf201ee6e78986b167.py]"
- "tests/test_main.py::test_small_samples[46597f8f896f11c5d7f432236344cc7e5645c2a39836eb6abdd2437c0422f0f4.py]"
- )
- ;;
- esac
if ! has_version "dev-python/ipython[${PYTHON_USEDEP}]"; then
EPYTEST_DESELECT+=(
tests/test_ipython.py
diff --git a/dev-python/fonttools/fonttools-4.59.2.ebuild b/dev-python/fonttools/fonttools-4.59.2.ebuild
index f807ba409048..0036f6e96c32 100644
--- a/dev-python/fonttools/fonttools-4.59.2.ebuild
+++ b/dev-python/fonttools/fonttools-4.59.2.ebuild
@@ -22,7 +22,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
IUSE="+native-extensions"
BDEPEND="
diff --git a/dev-python/glfw/Manifest b/dev-python/glfw/Manifest
index 706f82c08153..f50476d980df 100644
--- a/dev-python/glfw/Manifest
+++ b/dev-python/glfw/Manifest
@@ -1,2 +1 @@
-DIST glfw-2.8.0.gh.tar.gz 493375 BLAKE2B 18a4fa7f36005910d02a9247906819184355ea94444335b77a7932926cb6eae55deb582666fc00446d52a188be63cd8ead4c0c42d598bd5e3c984ea02bf40232 SHA512 a02a76608d74764d91fcb2bdaeb2e4ed6c09d05edab4310f1dffa76c64f531194a5575bf3063f03a556ad0d257856e387c8f54db54b36b3cd6091fcf961190ea
-DIST glfw-2.9.0.gh.tar.gz 493448 BLAKE2B ebc5493730d9ff36282bb570c09db7344a959944c2eb650b665626c3e6d66476d1ace85622f749b71ef225f5fd4ec2e4e07df165ea4b61336e363e5372cd32cc SHA512 f814ba1ad307f72b9b2d051a6887bff9854ab3c11f7217bc3e5cb07e6c0862e79a3464141ce9c4c84b9ba329688b7d62c39dd86128668235941a2b224d949cf1
+DIST glfw-2.10.0.gh.tar.gz 498949 BLAKE2B 440509e0cfc8d62e6f10c3704d77a69ca64feb51ac2936a0176ba094eb724b9ee1b830cc6678824a8838e8301e497d69346b8f187c34aa787aa84b6dc492e9c8 SHA512 a1b494e8bcdbc6b914a34b82b3fd78477715a921e9f13819eaa314607bec0969c9f3d2e2d5b8b99caa1ab143a884ceefe8cfe09dedcae580d99d0ac58e8471eb
diff --git a/dev-python/glfw/glfw-2.9.0.ebuild b/dev-python/glfw/glfw-2.10.0.ebuild
index b8c84258ed5d..59158268f1c7 100644
--- a/dev-python/glfw/glfw-2.9.0.ebuild
+++ b/dev-python/glfw/glfw-2.10.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{11..13} pypy3 )
+PYTHON_COMPAT=( python3_{11..14} pypy3 )
inherit distutils-r1
diff --git a/dev-python/glfw/glfw-2.8.0.ebuild b/dev-python/glfw/glfw-2.8.0.ebuild
deleted file mode 100644
index 129937abc887..000000000000
--- a/dev-python/glfw/glfw-2.8.0.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{11..13} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python bindings for GLFW"
-HOMEPAGE="https://github.com/FlorianRhiem/pyGLFW https://pypi.org/project/glfw"
-SRC_URI="https://github.com/FlorianRhiem/pyGLFW/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-S="${WORKDIR}/pyGLFW-${PV}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="media-libs/glfw"
diff --git a/dev-python/icecream/Manifest b/dev-python/icecream/Manifest
index 08debb95671a..93d110d3de8f 100644
--- a/dev-python/icecream/Manifest
+++ b/dev-python/icecream/Manifest
@@ -1 +1 @@
-DIST icecream-2.1.4.gh.tar.gz 23930 BLAKE2B ac58c117b706cdbb5736203304228c0837ca987631714b5b083e5826ff065b889c1149a7c0b60878fce850654f1eb1ddaa6f4a98f7b24fdd31605c5a66c0ea80 SHA512 3ac6e567ca11d41e32966abc7a822180ac62e4840f28f06cde051e2717a8b81990a137b24f3a62fa5da35394a7fe0a2d6efbac70a1a0e610143fcb05ddd19007
+DIST icecream-2.1.8.gh.tar.gz 26342 BLAKE2B a125a1f95d98cc15784e72d01b12fb66a0de26035eb4f38f20144bd8d253dc0d73cedb18c165d5ac144215c27d45a774e9ab8d95e66a675b499f8a3d55367758 SHA512 34b84d9e5a0f2d9114882da974e425ee5118c856842345c77fb00301e8fcd6961dd2dfdb5374246f6144a77b41ffca5bf9f87a67790e29cfb53139ca8c4f098a
diff --git a/dev-python/icecream/icecream-2.1.4.ebuild b/dev-python/icecream/icecream-2.1.8.ebuild
index dab13f28e6d0..a1d102182db1 100644
--- a/dev-python/icecream/icecream-2.1.4.ebuild
+++ b/dev-python/icecream/icecream-2.1.8.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{11..13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
@@ -24,9 +24,3 @@ RDEPEND="
"
distutils_enable_tests unittest
-
-python_prepare_all() {
- # Install tests package otherwise
- sed -i 's/find_packages()/find_packages(exclude=["tests", "tests.*"])/' "${S}"/setup.py || die
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/invoke/invoke-2.2.0.ebuild b/dev-python/invoke/invoke-2.2.0.ebuild
index a983cfd35742..3a1b2e6334da 100644
--- a/dev-python/invoke/invoke-2.2.0.ebuild
+++ b/dev-python/invoke/invoke-2.2.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{11..13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
DESCRIPTION="Pythonic task execution"
diff --git a/dev-python/ipyparallel/Manifest b/dev-python/ipyparallel/Manifest
index 2428a88af148..250fdeb94f6e 100644
--- a/dev-python/ipyparallel/Manifest
+++ b/dev-python/ipyparallel/Manifest
@@ -1 +1,2 @@
DIST ipyparallel-9.0.1.tar.gz 4407324 BLAKE2B 9302e0aa6ed790a687fd5d7f3842684d11e73868d9f2f299634d8813735e4d09f0faa873cca45c619f43e6413f269928be3af68bf9c733fd05853918b361e66a SHA512 6359f932a249197610016b3ccc5f86b6e0565e1e2070f5dde72c0e75877f0bc4e038a0cc5cea05c9a068d1e82e923d983470e6db465169527bcb9499cc550d52
+DIST ipyparallel-9.0.2.tar.gz 4407304 BLAKE2B 4095b9eb9f61a3d3da311ddfa01a3c185d99d44d9cd51079e40422dfa6b1c6522d34f5df7254f3ba19622da8aeec5b3b16c86fb43ce94f9173a00bf4b53ca1fc SHA512 c7719a9313a3bdf40300a09888f056884cbcf77158fec1eef4cd242ce956e2b6fa1917b35c1997d0b375dc8e590212c6c23f533c1a20673c59eaf411fbded7bf
diff --git a/dev-python/ipyparallel/ipyparallel-9.0.2.ebuild b/dev-python/ipyparallel/ipyparallel-9.0.2.ebuild
new file mode 100644
index 000000000000..34eec06a8c78
--- /dev/null
+++ b/dev-python/ipyparallel/ipyparallel-9.0.2.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3_11 python3_{11..13} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Interactive Parallel Computing with IPython"
+HOMEPAGE="
+ https://ipyparallel.readthedocs.io/
+ https://github.com/ipython/ipyparallel/
+ https://pypi.org/project/ipyparallel/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/decorator[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-25[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5[${PYTHON_USEDEP}]
+ >=dev-python/ipython-5[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-client-7[${PYTHON_USEDEP}]
+ dev-python/jupyter-server[${PYTHON_USEDEP}]
+ <dev-python/ipykernel-7[${PYTHON_USEDEP}]
+ >=dev-python/ipykernel-6.9.1[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}]
+ dev-python/tqdm[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/flit-core[${PYTHON_USEDEP}]
+ test? (
+ dev-python/testpath[${PYTHON_USEDEP}]
+ )
+"
+
+# TODO: package myst_parser
+# distutils_enable_sphinx docs/source
+EPYTEST_PLUGINS=( pytest-asyncio )
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/ipython/ipyparallel/pull/934
+ "${FILESDIR}/${PN}-9.0.1-pypy3_11.patch"
+)
+
+EPYTEST_DESELECT=(
+ # we don't run a mongo instance for tests
+ ipyparallel/tests/test_mongodb.py::TestMongoBackend
+ # TODO
+ ipyparallel/tests/test_util.py::test_disambiguate_ip
+ # Gets upset that a timeout _doesn't_ occur, presumably because
+ # we're cranking up too many test timeouts. Oh well.
+ # bug #823458#c3
+ ipyparallel/tests/test_asyncresult.py::AsyncResultTest::test_wait_for_send
+ # We could patch the timeout for these too but they're going to be inherently
+ # fragile anyway based on what they do.
+ ipyparallel/tests/test_client.py::TestClient::test_activate
+ ipyparallel/tests/test_client.py::TestClient::test_lazy_all_targets
+ ipyparallel/tests/test_client.py::TestClient::test_wait_for_engines
+)
+
+src_configure() {
+ export IPP_DISABLE_JS=1
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ # move /usr/etc stuff to /etc
+ mv "${ED}/usr/etc" "${ED}/etc" || die
+}
+
+pkg_postinst() {
+ optfeature "Jupyter Notebook integration" dev-python/notebook
+}
diff --git a/dev-python/jedi/jedi-0.19.2.ebuild b/dev-python/jedi/jedi-0.19.2.ebuild
index 3100dba01d8b..632ee9d07210 100644
--- a/dev-python/jedi/jedi-0.19.2.ebuild
+++ b/dev-python/jedi/jedi-0.19.2.ebuild
@@ -68,14 +68,6 @@ python_test() {
)
case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- test/test_api/test_api.py::test_preload_modules
- test/test_api/test_interpreter.py::test_param_infer_default
- test/test_inference/test_compiled.py::test_next_docstr
- test/test_inference/test_compiled.py::test_time_docstring
- )
- ;;
pypy3.11)
EPYTEST_DESELECT+=(
test/test_api/test_interpreter.py::test_param_infer_default
diff --git a/dev-python/jsonfeed/files/jsonfeed-1.1.2-exclude_tests.patch b/dev-python/jsonfeed/files/jsonfeed-1.1.2-exclude_tests.patch
new file mode 100644
index 000000000000..fe0c98f27983
--- /dev/null
+++ b/dev-python/jsonfeed/files/jsonfeed-1.1.2-exclude_tests.patch
@@ -0,0 +1,11 @@
+--- a/setup.py
++++ b/setup.py
+@@ -8,7 +8,7 @@ with open("README.md") as fh:
+ setup(
+ name="jsonfeed-util",
+ version=version,
+- packages=find_packages(),
++ packages=find_packages(exclude=["tests", "tests.*"]),
+ # metadata for upload to PyPI
+ author="Lukas Schwab",
+ author_email="lukas.schwab@gmail.com",
diff --git a/dev-python/jsonfeed/jsonfeed-1.1.2.ebuild b/dev-python/jsonfeed/jsonfeed-1.1.2.ebuild
index feaf40af44dd..6d0bc7a84e61 100644
--- a/dev-python/jsonfeed/jsonfeed-1.1.2.ebuild
+++ b/dev-python/jsonfeed/jsonfeed-1.1.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2024 Gentoo Authors
+# 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_{11..12} )
+PYTHON_COMPAT=( python3_{11..14} )
HTML_DOCS=( docs )
@@ -18,9 +18,8 @@ LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
+PATCHES=("${FILESDIR}/${P}-exclude_tests.patch")
+
RDEPEND="dev-python/feedparser[${PYTHON_USEDEP}]"
-python_prepare_all() {
- distutils-r1_python_prepare_all
- rm -rf "${S}/tests"
-}
+distutils_enable_tests pytest
diff --git a/dev-python/langdetect/Manifest b/dev-python/langdetect/Manifest
index d12ab8aeaca8..a11d7c268c91 100644
--- a/dev-python/langdetect/Manifest
+++ b/dev-python/langdetect/Manifest
@@ -1,3 +1 @@
DIST langdetect-1.0.9.tar.gz 981474 BLAKE2B ea8a9c3f16a2987c080742473bff4f2c1503f53fb3c2b40b0b1d6212bb6133ea22dce7864ffcfb8968c3a46b157d45cb3e2cf6f84bdbed0266cc716a853b032c SHA512 7558d674c47b080c79e43a00a25d2c7f77188cf60bea2cecb3bebb803d75e1aa42b43c74bd26ea1b541f4cb927421908882cbec01a91f0913984217e71ccc8db
-EBUILD langdetect-1.0.9.ebuild 494 BLAKE2B 9cd8a2a93a8d45bf51fe2324402b175d641762ea591fcb99459427f977a95eccffa6ca4777ca4df39814eea6eac62711567faa654456d32f79023a4685804504 SHA512 d973b85ba1a44389a4275f02a779a93a005f7c2e096467b94b072862e4984d5b42cf33f9821ac68aa5b85b12c98983a90b96049989d8c84497969174b6bb838e
-MISC metadata.xml 457 BLAKE2B 630128a3e982b6d60cc7b9f74c79fcb5ee47a71a02c73a50af9da8cedb6fad8e20a7f74b881e5b25c6483b92c9edbd56552cd38b2d9cbfa8b3eb4530facea969 SHA512 674f4f5cd809c6c77bc14e0f5687fa972bef14bdfa0b3343c5d66b7163eef1906eb87d060c8288732f825de71dce291ad0b841a5f2f0dd230f957b5687e45d45
diff --git a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
new file mode 100644
index 000000000000..637368d2f237
--- /dev/null
+++ b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
@@ -0,0 +1,13 @@
+Fix "Package 'langdetect.profiles' is absent from the `packages` configuration."
+
+--- a/setup.py
++++ b/setup.py
+@@ -18,7 +18,7 @@ setup(
+ author_email='michal.danilak@gmail.com',
+ url='https://github.com/Mimino666/langdetect',
+ keywords='language detection library',
+- packages=['langdetect', 'langdetect.utils', 'langdetect.tests'],
++ packages=['langdetect', 'langdetect.utils', 'langdetect.tests', 'langdetect.profiles'],
+ include_package_data=True,
+ install_requires=['six'],
+ license='MIT',
diff --git a/dev-python/langdetect/langdetect-1.0.9.ebuild b/dev-python/langdetect/langdetect-1.0.9.ebuild
index d11bbb54110b..98b2b0bf8d0b 100644
--- a/dev-python/langdetect/langdetect-1.0.9.ebuild
+++ b/dev-python/langdetect/langdetect-1.0.9.ebuild
@@ -1,9 +1,9 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..13} pypy3 )
+PYTHON_COMPAT=( python3_{11..14} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
@@ -19,4 +19,6 @@ KEYWORDS="~amd64"
RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+PATCHES=( "${FILESDIR}/${P}-explicit-config.patch" )
+
distutils_enable_tests unittest
diff --git a/dev-python/langdetect/metadata.xml b/dev-python/langdetect/metadata.xml
index 020e07f2a3dd..c0f74ac187e2 100644
--- a/dev-python/langdetect/metadata.xml
+++ b/dev-python/langdetect/metadata.xml
@@ -2,11 +2,9 @@
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>marcin.deranek@slonko.net</email>
- <name>Marcin Deranek</name>
+ <email>pastalian46@gmail.com</email>
+ <name>Takuya Wakazono</name>
</maintainer>
- <upstream>
- <bugs-to>https://github.com/Mimino666/langdetect/issues</bugs-to>
- </upstream>
- <origin>slonko-overlay</origin>
+
+ <origin>gentoo-guru-overlay</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/lit/Manifest b/dev-python/lit/Manifest
index 255a9b68beec..0a27b50f01b5 100644
--- a/dev-python/lit/Manifest
+++ b/dev-python/lit/Manifest
@@ -14,5 +14,6 @@ DIST llvm-project-21.1.2.src.tar.xz 158926856 BLAKE2B 1b5684586297ad637c6da09768
DIST llvm-project-21.1.2.src.tar.xz.sig 566 BLAKE2B 6209caf851c681e6f63ed1bd9589ac139c104d6ee21f463aacda472e30a847c32f3bd74a04208af05bb6203d8fa31bdc0028c0e72736a3037940e75eda615415 SHA512 dd8aa57451752a9207c276117a4b8a86f41263ea3ccc4fa198cd40d6fec79acd0ba126c4b84a1acbb52bbb2bce029fbc336deac8131be94747dd04e4a0f69331
DIST llvm-project-21.1.3.src.tar.xz 158943752 BLAKE2B ad9ee083584cb72fea3722feb518f6c933c3a34ba91b1ca8b724f461aa744475a783512dd6f0ab60d533c73b37e42b32a06f905d4869f770a68180649656df44 SHA512 d3058e7c18ada2a6a6192c7e75970406520e0d2ba390dba3b89e99f05959198fd2976d38c200f8e6af37fb569d866b6367bf6e0e249fe4b340dfab74499e5723
DIST llvm-project-21.1.3.src.tar.xz.sig 119 BLAKE2B 675873fb6ce9a6b682d0ecdc5ec6ca8691d7f8f6bc72e6039a90c21f99d753a4b595f06676f9b5c1a23ebce872320cc67bd1687e8324f163ecbc4f22032bdf52 SHA512 d218a4071451e32a77890dd2e7de7a3b8a310ca85c7e6d90b88d85bad128979cf6866c9d772b880b50da2ec117832e77ba162049478c1deb7b0299cae008151a
+DIST llvm-project-6a0e5b2fd7c340a872ae1e011cfb9de0d188feba.tar.gz 249848364 BLAKE2B 5d8eadfd43e1a131d7c061968c7d306b0537c0983c9366973d5b8d1bab4b384d1319604e12f097e235e077aefcd8b9c8395c3e16b53612f9f06fb11ba358aad6 SHA512 d931218ca1dafab09525f862f4b993cb6dde2f8738092e84b87542318d05c81fd41499098833f8629501c19f4fa741a35fc6447631f1c8830b2bb0b2cb64cc43
DIST llvm-project-89ed5255b9ee88119e409a6d986eb1ad0e8f08e3.tar.gz 248431210 BLAKE2B b98dfe5ae46190a5a2460c965f0ec51d2f65a9d1d14f82afa19a10f00a2c29520c52309ee66d71efed6361aa675abcc9bd1b5e61e1c3b1aa9bac4984050c2bc2 SHA512 f860f529f4eb67f4a5875d9931accae2f48b88486dd6715a2ca2add7d5aa1541a30e323612394162e65597054d61a879a9ba94e4dbf417c3fb5f8ff069c2d924
DIST llvm-project-b1e29ec3b73b9dd06656c7e30ace597ff72cde70.tar.gz 248630276 BLAKE2B ea1532ba05661de37f3d6bac6643f2f3000710f4c4b8c508c9b980da64964e60cd46d0b8e18d666b75089f8ad8e2f653ac6098b4054ce8adf7cb0c36220cdf29 SHA512 36471abffd9202c637aa89c53072f0f286beffad2d3908ad50bb4c395a1be0c8138ddcbd67e0c764f59842bcc6c6c31f04a14986c7145c369217a156885ac506
diff --git a/dev-python/lit/lit-22.0.0_pre20251011.ebuild b/dev-python/lit/lit-22.0.0_pre20251011.ebuild
new file mode 100644
index 000000000000..fdf920bda34f
--- /dev/null
+++ b/dev-python/lit/lit-22.0.0_pre20251011.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+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"
+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/mkdocs-rss-plugin/Manifest b/dev-python/mkdocs-rss-plugin/Manifest
index 9275a431e531..089e663a4a46 100644
--- a/dev-python/mkdocs-rss-plugin/Manifest
+++ b/dev-python/mkdocs-rss-plugin/Manifest
@@ -1,2 +1,2 @@
-DIST mkdocs-rss-plugin-1.17.1.gh.tar.gz 563372 BLAKE2B 56cda61588c2a060242d7e0aad18376d409d7e04baa12440494234387bf3128c37c7eb53a5ffe36516ae9509b3195bfeba788395d83ea5ed3be5c5b9cfc739d6 SHA512 ba45b87a6bc4cdaf386ce285bdd40c9724901c14451b91be6d65bc1690112bf1997c836693fca2d8248c9764a82a6fcaf939e4f71463ff854133be938efec327
-DIST mkdocs-rss-plugin-cache-1.17.1.gh.tar.gz 3678685 BLAKE2B ec4a3187f85ff61369b38fc8e364f8236e3d154efc4b61c252beb1aadd60c4ad24cb04ecdb1af2830de6976e619efdfa464775f5b6ec81830a2ca9220fa1b312 SHA512 b39dfec8ba3c74be552bd4694542d4a65c113b07b40729c766ffc254ae625ebc4b9739c762e134dcd3e1f7ff2a1ee909c50ba02957f2822d702ad9e1f5237d26
+DIST mkdocs-rss-plugin-1.17.3.gh.tar.gz 564199 BLAKE2B 9bd80853b7f5391c6db7f8195f4ffbc442d81034e112ed1488aff97a91e4ec33253e6a06dd89c762a3dfb5ef11285b31ac3a6a1a58ddb7149a7543d7d2243a30 SHA512 f4091ba2efd93c79cb443c4e333eea6afba2a44ae80d951b80034afc2fb49ce4db11dd3a95e47818b1ef942e52687033d011d79936e7ec0fb5c3de7eaeb35d96
+DIST mkdocs-rss-plugin-cache-1.17.3.gh.tar.gz 3727959 BLAKE2B 2c4fbefc0eaf180b83098a2cb4a871c3f084e928ec4ba1bb40f22909a880c1477e5a353679c8514bf6e3a43de27190a9762742ef884d6ecd465a8c448c4d6cd4 SHA512 58692cb03051c4336f3372b8e0736272c87d9aa863bb680edd9720e665a80ee35dc092c6d0dab4152777edbfea0a72c9602a11969970d1dd4a066c258d8156d0
diff --git a/dev-python/mkdocs-rss-plugin/mkdocs-rss-plugin-1.17.1.ebuild b/dev-python/mkdocs-rss-plugin/mkdocs-rss-plugin-1.17.3.ebuild
index e0d30c9b0f58..538b7cdb0b2d 100644
--- a/dev-python/mkdocs-rss-plugin/mkdocs-rss-plugin-1.17.1.ebuild
+++ b/dev-python/mkdocs-rss-plugin/mkdocs-rss-plugin-1.17.3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2024 Gentoo Authors
+# 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_{11..12} )
+PYTHON_COMPAT=( python3_{11..13} )
DOCS_BUILDER="mkdocs"
DOCS_DEPEND="
@@ -76,6 +76,7 @@ python_test() {
tests/test_build.py::TestBuildRss
tests/test_rss_util.py::TestRssUtil::test_remote_image_ok
tests/test_integrations_material_social_cards.py::TestRssPluginIntegrationsMaterialSocialCards::test_simple_build
+ tests/test_integrations_material_social_cards.py::TestRssPluginIntegrationsMaterialSocialCards::test_plugin_config_social_cards_enabled_with_directory_urls_disabled
)
epytest "${S}"/tests || die "Tests failed with ${EPYTHON}"
}
diff --git a/dev-python/mpmath/Manifest b/dev-python/mpmath/Manifest
index b32990405ce7..64a508ab8366 100644
--- a/dev-python/mpmath/Manifest
+++ b/dev-python/mpmath/Manifest
@@ -1,6 +1,3 @@
-DIST mpmath-1.4.0a2.tar.gz 2079112 BLAKE2B 9d2d99dddd4e800b3860f38ef1955b7d803c928d54a7e5d7b07386a127c5a6477818e3ac5c9f679f596c7a2c21bbf430f0bb2348c70ab77d6a888cfb19c6a218 SHA512 523775f3e7d96fd9e0d2c5e4caf855f62d0b683ac00df9dce4fd50d8764bfcf77282fdb34afb51bc53bb303178e7f0e8b6d72700e530d3ca11e3d365b09fc4de
-DIST mpmath-1.4.0a5.tar.gz 2081385 BLAKE2B a6a2b0415f1401948cc8af1bb61449d2804d52a75464b29bbeb18bcda089838336a10c4e5c4cb6a83ac7d710ebbfa1f2ba6566369d5e6bf5ea84047d465570b7 SHA512 998f11ffb66054fab88f6f9aa00def5dc0deee22f59031c8049fb6cda7485ef13352b48e51ab6e490c09c477adcd283b5c8e1d080974488fec5cd9b9139a914d
DIST mpmath-1.4.0a6.tar.gz 2085764 BLAKE2B 0faddbcf68689807fae5c1a21b00e669a3fb5cf834321b2c903f298adf4ab74e2861706c4dc4ba2f10f91da02eee02b79f9720d8a1f58f5bff00c8febf75f13a SHA512 477f6af5e1f2bba5ec31f370549f1d91cff9f2985d579cab1392c3bdf4fa83d1417b015ab65655027a0dea36e41cc984b76f53b1cbe79bb057fe899baaa7fb48
DIST mpmath-1.4.0a7.tar.gz 2088255 BLAKE2B ae8578add85134d72401a1e47e687e35b2c40755f4121013c509bbb5d988b649c6bc7aaa803fe135fb34841ed2c12fd243900add9ba92909de66c32c3433063b SHA512 18be276fc51ae701853047e916c7710f27211a2b6a76f7fc7684794422fb9549cdd066daa3bb712123378787932756cf66bee4b718fb3bece99e886f215d2c27
-DIST mpmath-1.4.0a8.tar.gz 2088916 BLAKE2B b70f95320b9b49d529b8b855a8a641a748bf076866aa08d5e9a616f6c19f5ce9ec840968c05878ed7c813133ac1cbb903cc98b111f194391dbb0b5a283dda8da SHA512 be256da32d6aeef287205677a78f509acf568ee13a154c16222a1bc62ea14405e29adbbb5bb87a50a1105aff8a48bf533a34b514ff7f6fc48b477f9d164f9b6e
DIST mpmath-1.4.0b1.tar.gz 2089057 BLAKE2B 3e59017435276ecac774626a80b2c488e95805f02c886833b35aa76ee4bd4371197bde3a61015ec05ea4435122ad05c54a94c40dd98f9792539cf576ddb9f81a SHA512 5c9217a67bca60bba75d4ad2b3c8fbbf0f422e4f5a001515862148e66977ebdd7af7916262d8a10e400997149dce65fd1ffb8978a8c9fe9b76526fbe700375b0
diff --git a/dev-python/mpmath/files/mpmath-1.4.0_alpha2-before-numpy-2.patch b/dev-python/mpmath/files/mpmath-1.4.0_alpha2-before-numpy-2.patch
deleted file mode 100644
index bd8674118038..000000000000
--- a/dev-python/mpmath/files/mpmath-1.4.0_alpha2-before-numpy-2.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-https://github.com/mpmath/mpmath/pull/878
-https://github.com/mpmath/mpmath/commit/728db99cd92dde589dc0cbe89f7f3f444af046ad
-
-From 9dd08e59dff0a0992b92d31e4f614e43881b301d Mon Sep 17 00:00:00 2001
-From: Doug Torrance <dtorrance@piedmont.edu>
-Date: Tue, 15 Oct 2024 18:48:40 -0400
-Subject: [PATCH] Only check for NumPy array copy ValueError w/ NumPy >= 2.0
-
-No such error is raised when using NumPy < 2.0.
---- a/mpmath/tests/test_matrices.py
-+++ b/mpmath/tests/test_matrices.py
-@@ -203,7 +203,8 @@ def test_matrix_numpy():
-
- if sys.version_info < (3, 9):
- pytest.skip("latest numpy dropped support for CPython 3.8")
-- pytest.raises(ValueError, lambda: numpy.array(matrix(l), copy=False))
-+ if numpy.__version__ >= '2':
-+ pytest.raises(ValueError, lambda: numpy.array(matrix(l), copy=False))
-
- def test_interval_matrix_scalar_mult():
- """Multiplication of iv.matrix and any scalar type"""
-
diff --git a/dev-python/mpmath/files/mpmath-1.4.0_alpha5-valueerror.patch b/dev-python/mpmath/files/mpmath-1.4.0_alpha5-valueerror.patch
deleted file mode 100644
index fc3ebefb7680..000000000000
--- a/dev-python/mpmath/files/mpmath-1.4.0_alpha5-valueerror.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 9ad6a13925922711ca004686194daf8f110feaea Mon Sep 17 00:00:00 2001
-From: Sergey B Kirpichev <skirpichev@gmail.com>
-Date: Mon, 9 Jun 2025 05:07:00 +0300
-Subject: [PATCH] Fix from_man_exp to correctly reject non-integral mantissa
-
-This partially reverts 25506567
----
- mpmath/ctx_mp_python.py | 2 +-
- mpmath/libmp/libmpf.py | 7 +++++--
- mpmath/tests/test_basic_ops.py | 5 +++++
- 3 files changed, 11 insertions(+), 3 deletions(-)
-
-diff --git a/mpmath/ctx_mp_python.py b/mpmath/ctx_mp_python.py
-index d9e9f64f..72b81278 100644
---- a/mpmath/ctx_mp_python.py
-+++ b/mpmath/ctx_mp_python.py
-@@ -64,7 +64,7 @@ def __new__(cls, val=fzero, **kwargs):
- if len(val) == 4:
- val = val[0], MPZ(val[1]), *val[2:]
- elif len(val) == 2:
-- v._mpf_ = from_man_exp(MPZ(val[0]), val[1], prec, rounding)
-+ v._mpf_ = from_man_exp(val[0], val[1], prec, rounding)
- return v
- else:
- raise ValueError
-diff --git a/mpmath/libmp/libmpf.py b/mpmath/libmp/libmpf.py
-index af61879e..266ee394 100644
---- a/mpmath/libmp/libmpf.py
-+++ b/mpmath/libmp/libmpf.py
-@@ -8,7 +8,7 @@
- import sys
- import warnings
-
--from .backend import BACKEND, MPZ, MPZ_FIVE, MPZ_ONE, MPZ_ZERO, gmpy
-+from .backend import BACKEND, MPZ, MPZ_FIVE, MPZ_ONE, MPZ_ZERO, gmpy, int_types
- from .libintmath import (bctable, bin_to_radix, isqrt, numeral, sqrtrem,
- stddigits, trailtable)
-
-@@ -204,7 +204,10 @@ def normalize(sign, man, exp, bc, prec, rnd):
- def from_man_exp(man, exp, prec=0, rnd=round_fast):
- """Create raw mpf from (man, exp) pair. The mantissa may be signed.
- If no precision is specified, the mantissa is stored exactly."""
-- man = MPZ(man)
-+ if isinstance(man, int_types):
-+ man = MPZ(man)
-+ else:
-+ raise TypeError("man expected to be an integer")
- sign = 0
- if man < 0:
- sign = 1
diff --git a/dev-python/mpmath/mpmath-1.4.0_alpha2.ebuild b/dev-python/mpmath/mpmath-1.4.0_alpha2.ebuild
deleted file mode 100644
index 3a0c0c403e05..000000000000
--- a/dev-python/mpmath/mpmath-1.4.0_alpha2.ebuild
+++ /dev/null
@@ -1,78 +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=( pypy3 python3_{10..13} )
-
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="Python library for arbitrary-precision floating-point arithmetic"
-HOMEPAGE="
- https://mpmath.org/
- https://github.com/mpmath/mpmath/
- https://pypi.org/project/mpmath/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pexpect[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/gmpy2[${PYTHON_USEDEP}]
- ' 'python3*')
- !mips? (
- dev-python/ipython[${PYTHON_USEDEP}]
- !hppa? (
- dev-python/matplotlib[${PYTHON_USEDEP}]
- )
- )
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.4.0_alpha2-before-numpy-2.patch
-)
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- mpmath/tests/test_cli.py::test_bare_console_bare_division
- mpmath/tests/test_cli.py::test_bare_console_no_bare_division
- mpmath/tests/test_cli.py::test_bare_console_pretty
- mpmath/tests/test_cli.py::test_bare_console_without_ipython
- mpmath/tests/test_cli.py::test_bare_console_wrap_floats
- )
-
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- # minor whitespace mismatch
- # https://github.com/mpmath/mpmath/issues/874
- mpmath/tests/test_format.py::test_mpf_floats_bulk
- mpmath/tests/test_format.py::test_mpc_complexes
- )
- ;;
- esac
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p rerunfailures --reruns=5 -p timeout
-}
-
-pkg_postinst() {
- optfeature "gmp support" dev-python/gmpy2
- optfeature "matplotlib support" dev-python/matplotlib
-}
diff --git a/dev-python/mpmath/mpmath-1.4.0_alpha5-r1.ebuild b/dev-python/mpmath/mpmath-1.4.0_alpha5-r1.ebuild
deleted file mode 100644
index 8cade4b44c48..000000000000
--- a/dev-python/mpmath/mpmath-1.4.0_alpha5-r1.ebuild
+++ /dev/null
@@ -1,69 +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_FULLY_TESTED=( pypy3_11 python3_{11..13} )
-PYTHON_COMPAT=( "${PYTHON_FULLY_TESTED[@]}" python3_14 )
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="Python library for arbitrary-precision floating-point arithmetic"
-HOMEPAGE="
- https://mpmath.org/
- https://github.com/mpmath/mpmath/
- https://pypi.org/project/mpmath/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ~mips ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="test-full"
-
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pexpect[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/gmpy2[${PYTHON_USEDEP}]
- ' 'python3*')
- test-full? (
- $(python_gen_cond_dep '
- dev-python/matplotlib[${PYTHON_USEDEP}]
- ' "${PYTHON_FULLY_TESTED[@]}")
- )
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-PATCHES=(
- # https://github.com/aleaxit/gmpy/pull/566
- # https://github.com/mpmath/mpmath/pull/969/commits/9ad6a13925922711ca004686194daf8f110feaea
- "${FILESDIR}/${P}-valueerror.patch"
-)
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Slow and often needs a re-run to pass
- mpmath/tests/test_cli.py::test_bare_console_bare_division
- mpmath/tests/test_cli.py::test_bare_console_no_bare_division
- mpmath/tests/test_cli.py::test_bare_console_pretty
- mpmath/tests/test_cli.py::test_bare_console_without_ipython
- mpmath/tests/test_cli.py::test_bare_console_wrap_floats
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p rerunfailures --reruns=5 -p timeout
-}
-
-pkg_postinst() {
- optfeature "gmp support" dev-python/gmpy2
- optfeature "matplotlib support" dev-python/matplotlib
-}
diff --git a/dev-python/mpmath/mpmath-1.4.0_alpha8.ebuild b/dev-python/mpmath/mpmath-1.4.0_alpha8.ebuild
deleted file mode 100644
index 3a2f70ae0b16..000000000000
--- a/dev-python/mpmath/mpmath-1.4.0_alpha8.ebuild
+++ /dev/null
@@ -1,56 +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_FULLY_TESTED=( pypy3_11 python3_{11..13} )
-PYTHON_COMPAT=( "${PYTHON_FULLY_TESTED[@]}" python3_14 )
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="Python library for arbitrary-precision floating-point arithmetic"
-HOMEPAGE="
- https://mpmath.org/
- https://github.com/mpmath/mpmath/
- https://pypi.org/project/mpmath/
-"
-
-LICENSE="BSD"
-SLOT="0"
-IUSE="test-full"
-
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pexpect[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/gmpy2-2.3.0_alpha1[${PYTHON_USEDEP}]
- ' 'python3*')
- test-full? (
- $(python_gen_cond_dep '
- dev-python/matplotlib[${PYTHON_USEDEP}]
- ' "${PYTHON_FULLY_TESTED[@]}")
- )
- )
-"
-
-EPYTEST_PLUGINS=( hypothesis pytest-timeout )
-EPYTEST_RERUNS=5
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # Slow and often needs a re-run to pass
- mpmath/tests/test_cli.py::test_bare_console_bare_division
- mpmath/tests/test_cli.py::test_bare_console_no_bare_division
- mpmath/tests/test_cli.py::test_bare_console_pretty
- mpmath/tests/test_cli.py::test_bare_console_without_ipython
- mpmath/tests/test_cli.py::test_bare_console_wrap_floats
-)
-
-pkg_postinst() {
- optfeature "gmp support" dev-python/gmpy2
- optfeature "matplotlib support" dev-python/matplotlib
-}
diff --git a/dev-python/nanobind/nanobind-2.8.0.ebuild b/dev-python/nanobind/nanobind-2.8.0.ebuild
index 3d1aa45d80f3..b6ab6b73ce22 100644
--- a/dev-python/nanobind/nanobind-2.8.0.ebuild
+++ b/dev-python/nanobind/nanobind-2.8.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=scikit-build-core
-PYTHON_COMPAT=( python3_{11..14} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit cmake distutils-r1
diff --git a/dev-python/nanobind/nanobind-2.9.2.ebuild b/dev-python/nanobind/nanobind-2.9.2.ebuild
index 9a77fc8442ce..72e1687e8e2e 100644
--- a/dev-python/nanobind/nanobind-2.9.2.ebuild
+++ b/dev-python/nanobind/nanobind-2.9.2.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=scikit-build-core
-PYTHON_COMPAT=( python3_{11..14} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit cmake distutils-r1
diff --git a/dev-python/nox/Manifest b/dev-python/nox/Manifest
index 5a7b55c61e07..1ad7d702de96 100644
--- a/dev-python/nox/Manifest
+++ b/dev-python/nox/Manifest
@@ -1,2 +1 @@
-DIST nox-2024.10.09.gh.tar.gz 4003528 BLAKE2B 51bf42870eac462fdb87e897c225c8262703ccc222d5c463e45d91acf08e4211153f60f72450e3fb964d4ca386501bfa88559e8cff38d55aa2f22310a17d7911 SHA512 51d1f70ba94d01abd10ba3a12896facd13a7a2881496221b6fa9d0a43ff947303b0cc975a29169a3d9e0174277e23e0bc4b1137b2774c1abffa23a48c9d69a11
DIST nox-2025.05.01.gh.tar.gz 4023268 BLAKE2B b5cfdb095595108613b2bce716ca3fb84978278de23da21f01a5169931187837056bc1381d510f343593097ff4c779f834c06d1bcef61394e72c87db26a92022 SHA512 1b1efac7dd78029d6c61122cdafde8077bfe2635a1d3441e848847e5c81da6cd9f2db102796b855520e9d239ee5b9b782e50b40e904c9bafafcc2f44cf61e871
diff --git a/dev-python/nox/nox-2024.10.09.ebuild b/dev-python/nox/nox-2024.10.09.ebuild
deleted file mode 100644
index 49b36144860b..000000000000
--- a/dev-python/nox/nox-2024.10.09.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 2023-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( pypy3 python3_{10..13} )
-
-inherit distutils-r1
-
-DESCRIPTION="Flexible test automation for Python"
-HOMEPAGE="
- https://github.com/wntrblm/nox/
- https://pypi.org/project/nox/
-"
-SRC_URI="
- https://github.com/wntrblm/nox/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- >=dev-python/argcomplete-1.9.4[${PYTHON_USEDEP}]
- >=dev-python/colorlog-2.6.1[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.9[${PYTHON_USEDEP}]
- >=dev-python/virtualenv-20.14.1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-1[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- test? (
- dev-python/py[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # remove upper bounds from dependencies
- sed -i -e 's:<[0-9.]*,::' pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO: conda?
- 'tests/test_sessions.py::TestSessionRunner::test__create_venv_options[nox.virtualenv.CondaEnv.create-conda-CondaEnv]'
- # Internet
- tests/test_virtualenv.py::test_uv_install
- )
-
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- # hardcoded CPython assumption
- tests/test_tox_to_nox.py::test_skipinstall
- tests/test_tox_to_nox.py::test_trivial
- tests/test_tox_to_nox.py::test_usedevelop
- )
- ;;
- esac
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -o tmp_path_retention_policy=all
-}
diff --git a/dev-python/pbs-installer/Manifest b/dev-python/pbs-installer/Manifest
index 30caa9a17c2d..f177d3e980ff 100644
--- a/dev-python/pbs-installer/Manifest
+++ b/dev-python/pbs-installer/Manifest
@@ -3,3 +3,4 @@ DIST pbs-installer-2025.08.28.gh.tar.gz 92723 BLAKE2B e67122d79d4e5666d542ee33dd
DIST pbs-installer-2025.09.02.gh.tar.gz 92711 BLAKE2B cccc8fe0ac98bf423ff4aec1fba854be0fb2f4a1e0cd773dd14dcf26fcf8482340df8bdfd0e6385517f368cc8f2617562dd9ae2e7a0a30588cc16567a4f89847 SHA512 a3325d213a486365c3383bcad5d9d6093087fdbe416ea0e43cecbdfc0ff5906fe180e27e974ec808d0d7479c3573ce7e953fbe960ea69f67bca53073ce7abb20
DIST pbs-installer-2025.09.18.gh.tar.gz 92694 BLAKE2B 06f1641c26d2ed545b93886b6ae11953a4e283191909fc6b1534b6d5878cd2d19ea5fcd3653ec7b13603f08c6a3250d1586b4bd28f9369e1555aefb4651b2a09 SHA512 379f0647459f10507a1741ab1c82eee8ba05fc664d90c898ea1bab315061fc88eb8a22af73d8027247f679d9bf4dd26121887a77178615c9f67b6fa1749313c7
DIST pbs-installer-2025.10.07.gh.tar.gz 94098 BLAKE2B af4bc8cd06f65f591f7f681d57cd2b7fb93df309853d0becc5606920e86cfb3caaba15a8c8f6f6f0c787d5cd78a3065616638f4cc5d0cb2de596b09ee9205169 SHA512 3fd9da55a34f2f1df105ce8b5fa00f5f5e8b9a35bf59fec017f2089d7756ba9dabe146885abd4b0401877bc1749616df0509d38bd83a53c0b67816e92477b87e
+DIST pbs-installer-2025.10.10.gh.tar.gz 96641 BLAKE2B baa508106956df9a5305a15d1e202e2b3fbb9ff82d1e25d0d34798eb233fdfa2a67e2e6777081487ab7a6e5757eb22ba39ddac7a31eaaf83137aef476e5c1166 SHA512 d8d9403b592b536ca1bc7dc73efe30e9de961e4e9711e6f39afb4c4c6485a26377fd3ec63f22a382ded5ffcef6334b7c8f5ba52a5ef6f229d3c5e82d7488aaf9
diff --git a/dev-python/pbs-installer/pbs-installer-2025.10.10.ebuild b/dev-python/pbs-installer/pbs-installer-2025.10.10.ebuild
new file mode 100644
index 000000000000..272948979211
--- /dev/null
+++ b/dev-python/pbs-installer/pbs-installer-2025.10.10.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Installer for Python Build Standalone"
+HOMEPAGE="
+ https://pypi.org/project/pbs-installer/
+ https://github.com/frostming/pbs-installer/
+
+"
+SRC_URI="
+ https://github.com/frostming/pbs-installer/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+BDEPEND="
+ dev-python/zstandard[${PYTHON_USEDEP}]
+"
+
+# upstream does not provide any tests
+RESTRICT=test
+
+python_configure_all() {
+ export PDM_BUILD_SCM_VERSION=${PV}
+}
diff --git a/dev-python/pdm/Manifest b/dev-python/pdm/Manifest
index 128de70cbb3a..a9450e56c7dd 100644
--- a/dev-python/pdm/Manifest
+++ b/dev-python/pdm/Manifest
@@ -1 +1,2 @@
DIST pdm-2.25.9.tar.gz 2664950 BLAKE2B e5ed047e0198b464ca4b201388cfe8d8afc0be577791e8730fac111c9cd457990f8dc834d19219b1c855124bbde69ff3d1eda94f2d39d02248fc49816951aa52 SHA512 401506dba65c33ac4790fffaf5c91b334b0b3e58fc5a769ad0599784121cbd16ff8e0dbf934aebc85cb8b81c1fc86e377f494ec6acb91a86e94725a08cd216b9
+DIST pdm-2.26.0.tar.gz 2671157 BLAKE2B b215960d0f8b3fe1f327fb3a8a048270da7879765d106cdbe46b3fc95e87424aa3c1e036401c30b6cd85f555d5c9a445f1a1fb1507fe0c82e817453b835baf7b SHA512 dcab85915a8bf9f33b55728bf989633d3c36c327c58891824c5d38be4b51bc2531f891072b0518e5296072b1f4746c4ca4b0e70f8c3ef306b0f93f66d128c6dd
diff --git a/dev-python/pdm/pdm-2.26.0.ebuild b/dev-python/pdm/pdm-2.26.0.ebuild
new file mode 100644
index 000000000000..e77833446403
--- /dev/null
+++ b/dev-python/pdm/pdm-2.26.0.ebuild
@@ -0,0 +1,84 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python package and dependency manager supporting the latest PEP standards"
+HOMEPAGE="
+ https://pdm-project.org/
+ https://github.com/pdm-project/pdm/
+ https://pypi.org/project/pdm/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ dev-python/certifi[${PYTHON_USEDEP}]
+ >=dev-python/dep-logic-0.5[${PYTHON_USEDEP}]
+ <dev-python/findpython-1[${PYTHON_USEDEP}]
+ >=dev-python/findpython-0.7.0[${PYTHON_USEDEP}]
+ dev-python/blinker[${PYTHON_USEDEP}]
+ dev-python/filelock[${PYTHON_USEDEP}]
+ >=dev-python/hishel-0.0.32[${PYTHON_USEDEP}]
+ >=dev-python/httpcore-1.0.6[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ >=dev-python/id-1.5.0[${PYTHON_USEDEP}]
+ dev-python/installer[${PYTHON_USEDEP}]
+ >=dev-python/packaging-22.1[${PYTHON_USEDEP}]
+ >=dev-python/pbs-installer-2025.10.07[${PYTHON_USEDEP}]
+ dev-python/platformdirs[${PYTHON_USEDEP}]
+ dev-python/pyproject-hooks[${PYTHON_USEDEP}]
+ dev-python/python-dotenv[${PYTHON_USEDEP}]
+ >=dev-python/resolvelib-1.2.0[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ dev-python/shellingham[${PYTHON_USEDEP}]
+ dev-python/tomlkit[${PYTHON_USEDEP}]
+ >=dev-python/truststore-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/unearth-0.17.5[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/msgpack[${PYTHON_USEDEP}]
+ dev-python/uv
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{httpserver,httpx,mock,rerunfailures} )
+EPYTEST_RERUNS=5
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unpin deps
+ sed -i -e 's:,<[0-9.a]*::' pyproject.toml || die
+ # remove pkgutil namespace magic, as it doesn't work and makes
+ # dev-python/pdm-backend tests test the wrong package
+ rm src/pdm/__init__.py || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ 'tests/models/test_candidates.py::test_expand_project_root_in_url[demo @ file:///${PROJECT_ROOT}/tests/fixtures/artifacts/demo-0.0.1.tar.gz]'
+ # unhappy about extra packages being installed?
+ # (also fails randomly in venv)
+ tests/cli/test_build.py::test_build_with_no_isolation
+ # TODO: random regression?
+ tests/cli/test_python.py::test_find_python
+ # TODO
+ tests/test_formats.py::test_export_from_pylock_not_empty
+ )
+
+ epytest -m "not network and not integration and not path"
+}
diff --git a/dev-python/phonenumbers/Manifest b/dev-python/phonenumbers/Manifest
index fe8a3725e3d8..84799a7ae946 100644
--- a/dev-python/phonenumbers/Manifest
+++ b/dev-python/phonenumbers/Manifest
@@ -2,3 +2,4 @@ DIST python-phonenumbers-9.0.12.gh.tar.gz 4915140 BLAKE2B 4929e25d0525c12321e71c
DIST python-phonenumbers-9.0.13.gh.tar.gz 4915436 BLAKE2B f49fd90cbdd761d3aa0f91d78a47af2d83975adc85d54e569788999237bf1edd7c0daefedf5f460b32e6d0469222990a362f2192839dbd0a54ad9d33e76a89f5 SHA512 fe37883632624cf4c80cabdfc6f7e9fd14c1ae486b15a697865d09e8b5dd1d4392ea173d37d3070e8a91d0290798b2dd37428e03f34cde232c69d04cccf9a844
DIST python-phonenumbers-9.0.14.gh.tar.gz 4915730 BLAKE2B ffe5247f06e715e8d654625aaa69a7c66cb89150fc815860e89a5ffc5b73fc56996bbbb6adf629cb19ae672dd86885bf1c9779d387fc466167e179e7ee725cb7 SHA512 f02928c81784fbf30e1f2da016375cea65d09590590ba8b34d1f04705f18015f14220181c9d425449a4d0e0ff9886911eedb83ed6b15700c3d1751befd768235
DIST python-phonenumbers-9.0.15.gh.tar.gz 4916342 BLAKE2B bffc78b6c480c4dcb5c5c1b64e6ea0909d573e4758ac7614371d495bd892c8f10b00bb927e35781da5291ef7a2bd2bc6cf151c8ca340b18f80b06a3c5bad9901 SHA512 cfd7d65d95ffa340a52fe6de28197495e02886d5c452b7a98b713d9324252724a99ce00a21ff740fb9a4a64706b67e5d2f7db75a05764a5db6b2c447d8157391
+DIST python-phonenumbers-9.0.16.gh.tar.gz 4916084 BLAKE2B 1e17e917079b336a174f940f955b37b894a39067bcb1539c3023a37e75b8530a6b6448a43413f912f4863427aa80401179fd011d33c94a204ee8a497e37216f3 SHA512 55f28d7b39b455ffbdb8f4c33106057ea7ef3f9b81945564ec982dc37a6bf5b454e2f80e8a36406c4c004490ba30d81a6226d79124ca829504540f2a67904cb7
diff --git a/dev-python/phonenumbers/phonenumbers-9.0.16.ebuild b/dev-python/phonenumbers/phonenumbers-9.0.16.ebuild
new file mode 100644
index 000000000000..a4046879a533
--- /dev/null
+++ b/dev-python/phonenumbers/phonenumbers-9.0.16.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1
+
+MY_P=python-${P}
+DESCRIPTION="Python port of Google's libphonenumber"
+HOMEPAGE="
+ https://github.com/daviddrysdale/python-phonenumbers/
+ https://pypi.org/project/phonenumbers/
+"
+SRC_URI="
+ https://github.com/daviddrysdale/python-phonenumbers/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}/python
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ dev-python/protobuf[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( ../README.md )
+
+python_test() {
+ "${EPYTHON}" testwrapper.py -v || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/pipdeptree/Manifest b/dev-python/pipdeptree/Manifest
index 2167512c2294..183a8aa549d3 100644
--- a/dev-python/pipdeptree/Manifest
+++ b/dev-python/pipdeptree/Manifest
@@ -2,3 +2,4 @@ DIST pipdeptree-2.23.4.tar.gz 39945 BLAKE2B 6f1aaf4652b872a28712cf23fb06c26c9e36
DIST pipdeptree-2.26.1.tar.gz 41024 BLAKE2B 93121352931669bb343f156673ebff6cf3f7601da34f027aeaa3764f676a578ed1c5360e1a281c18ce07f870f20f594694cec0da1be8f836568400c9861c0b8a SHA512 3cb0aa2a3d07a03aa62c0da9ff0d39496e4afe4f9216c2445c36d34b1f05f5bea5030e04d89aa27f5f41cb65092ded4d949a863bc2f223f1fbbe5fdcf379af62
DIST pipdeptree-2.27.0.tar.gz 42423 BLAKE2B 1e6593bab1f0e61acbf7f0dd5b168f0afa5cf6c0bd1b49bbe92ec24d37c8051bef4a2a13944369a03a778099af78ac4a9b201c360aeb441f195c68d0126cfdc3 SHA512 4f7c5aeea24baa6a6031b456918897c17abd71ea46d661e54f21774ad90b70beb3fba50f44611e44beeadf1d9cddbc41fd0adea16a4da172a70bb3322876c297
DIST pipdeptree-2.28.0.tar.gz 42583 BLAKE2B 2a71de5c0d0ab61866a8ffe3ee83623108a48d52a8a86c0a569600b7d3aa9dd9f99dd1faa1cc71f01f97004f4f0f6609cb25b5e265648388120def1eec1e4884 SHA512 04de6e097df3ec255e0b3ed7bc3ba3d717d3c0fb16bf2818713a332d918fe47154f0ace7ee706f6283b06d6ad41e8e8c6a24d65cefa49fda20323f22b8b43be9
+DIST pipdeptree-2.29.0.tar.gz 42077 BLAKE2B 0e151c593a6737d877a7cc43e47367374febb22af654fa6e04617eda16cf34ad435a3fd24e4aa076bf81afcb665a7050c8a4d2a046d3ba6b26fb0cbb968a946f SHA512 de3f7a2aa24e7bd795c9a19d940ad941a036830df5c6ef99bd008bae0cad789d525b9e39a1704926ad88749a038bf7d6abd8a854737c2f6417764be0ab2f1825
diff --git a/dev-python/pipdeptree/pipdeptree-2.29.0.ebuild b/dev-python/pipdeptree/pipdeptree-2.29.0.ebuild
new file mode 100644
index 000000000000..85e1def3741d
--- /dev/null
+++ b/dev-python/pipdeptree/pipdeptree-2.29.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3_11 python3_{11..13} )
+
+inherit distutils-r1 pypi optfeature
+
+DESCRIPTION="Utility for displaying installed packages in a dependency tree"
+HOMEPAGE="
+ https://github.com/tox-dev/pipdeptree/
+ https://pypi.org/project/pipdeptree/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/packaging-23.1[${PYTHON_USEDEP}]
+ >=dev-python/pip-23.1.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/graphviz[${PYTHON_USEDEP}]
+ <dev-python/virtualenv-21[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20.31.1[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{mock,rerunfailures} )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # upstream lower bounds are meaningless
+ sed -i -e 's:>=[0-9.]*,\?::' pyproject.toml || die
+
+ find -name '*.py' -exec \
+ sed -i -e 's:pip[.]_vendor[.]::' {} + || die
+}
+
+python_test() {
+ # tests can fail if other packages are being merged simultaneously
+ epytest --reruns=5
+}
+
+pkg_postinst() {
+ optfeature \
+ "visualising the dependency graph with --graph-output" \
+ dev-python/graphviz
+}
diff --git a/dev-python/psycopg/Manifest b/dev-python/psycopg/Manifest
index 2a6fcad428b8..89e34ffa2e56 100644
--- a/dev-python/psycopg/Manifest
+++ b/dev-python/psycopg/Manifest
@@ -1,3 +1,4 @@
DIST psycopg-3.2.10.gh.tar.gz 572879 BLAKE2B 20950385767bdb3d9d1553919424b8a80343f8a611de619da2888197ca2a139e5e2837e0521762d605b17ec3c1ee2bb73088a21709856f32351490588260f37e SHA512 aca15ce2563b3aa03d53c13ecd6a0f3a17e267a6214e899dc7aad8867dc944503c3cd23aec766903cff083df2c860d1c3a888539c684d38444b2a9af4781252a
DIST psycopg-3.2.9.gh.tar.gz 565735 BLAKE2B 5b9b16e5e310214bdbf12198a7b8d9d86ed7b7e947a33c7333fe79bca946b76f09c60ea25960d3cf3f99423598a65ce33b53bd6dc10a9c68a930a46068b54fd6 SHA512 3e455852dd19c9639a8ee18773486295ea76f9a16146997be9dd4f3f6350257440e0d8fff9494acb79e95f04e74c0c14ec7968694fe329abeb74edcfb297d4dd
DIST psycopg2-2.9.10.tar.gz 385672 BLAKE2B 4a3ad64f406c427b785ffeb85f6520aa67ed04de2d1749eb22d8275146b71ba451f7c04c9ead401d6f7a273781492cd6a5a36beba68b36b1e5203ee75f7df503 SHA512 d0916f6a645b5e87f89f2463dc22fad78340a85fbff320d099bf429a42557f40d3a4eebdc670768469aef1e9fcee60123767bfe49e1186e8574f95bfd6f46900
+DIST psycopg2-2.9.11.tar.gz 379598 BLAKE2B 78608a2b4a9b1db9ba9873ce01b84f898489de8ff6db5522ecc2fa68606b0ef8cdab7f137c86cf840509c9161b329a2efc1e1aadc494b565226099e8651372ab SHA512 44f7b03d958dc62822be8a8c38d738c4016c3a1f860c824158b78ba0a23f04ca63377171b22a14e38b76df868458ede25f29e4643197912adb2f1a1db8c0d5c0
diff --git a/dev-python/psycopg/psycopg-2.9.11.ebuild b/dev-python/psycopg/psycopg-2.9.11.ebuild
new file mode 100644
index 000000000000..266c707931b8
--- /dev/null
+++ b/dev-python/psycopg/psycopg-2.9.11.ebuild
@@ -0,0 +1,61 @@
+# 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
+PYPI_PN="psycopg2"
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="PostgreSQL database adapter for Python"
+HOMEPAGE="
+ https://www.psycopg.org/
+ https://github.com/psycopg/psycopg2/
+ https://pypi.org/project/psycopg2/
+"
+
+LICENSE="LGPL-3+"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=dev-db/postgresql-8.1:*"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ test? ( >=dev-db/postgresql-8.1[server] )
+"
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+
+ # fix for py3.13
+ sed -e 's:_PyInterpreterState_Get:PyInterpreterState_Get:' \
+ -i psycopg/utils.c || die
+ # broken by different encoding of IPv4-mapped addresses
+ sed -e 's:test_\(cidr\|inet\)_adapt:_&:' \
+ -i tests/test_ipaddress.py || die
+}
+
+src_test() {
+ initdb -D "${T}"/pgsql || die
+ # TODO: random port
+ pg_ctl -w -D "${T}"/pgsql start \
+ -o "-h '' -k '${T}'" || die
+ createdb -h "${T}" psycopg2_test || die
+
+ local -x PSYCOPG2_TESTDB_HOST="${T}"
+ distutils-r1_src_test
+
+ pg_ctl -w -D "${T}"/pgsql stop || die
+}
+
+python_test() {
+ "${EPYTHON}" -c "
+import tests
+tests.unittest.main(defaultTest='tests.test_suite')
+" --verbose || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/pycpio/Manifest b/dev-python/pycpio/Manifest
index 2bda0d5d3661..690b8f959099 100644
--- a/dev-python/pycpio/Manifest
+++ b/dev-python/pycpio/Manifest
@@ -1 +1,2 @@
DIST pycpio-1.5.4.gh.tar.gz 23533 BLAKE2B 51f23b73f921a5957f4536f13372891b991fddaeb986a7b3ede85bfa391d25055f4937a0105cdf873ca4f7ae6d6c3269afa9ac4d9bd329cfead3a3710ff1ca2b SHA512 4d1ca1ee8d4427a07191a7403ed1305835ea1e613b945c4dc1bde7bad1ab1e5d68c8a6462a7e46fed9cd50998f0086f840ced515f49f6fcba018439ba828260a
+DIST pycpio-1.5.5.gh.tar.gz 23769 BLAKE2B 8771c4c154d3a93c1ca37441ec39ea1d141828d3c5652dcec3801bed44fa053bac9f77e98b8edafc4d0693d502d944ef8d7966e44d9c9693c3141cca48024d50 SHA512 830b4e5f6706a3bde3315111037055fcb6d53f0fe8d132434385eae1d471231d5051133b2fa90e9501321433272fe63a8dce9f1432f34494e10811d8b23e93c1
diff --git a/dev-python/pycpio/pycpio-1.5.5.ebuild b/dev-python/pycpio/pycpio-1.5.5.ebuild
new file mode 100644
index 000000000000..14360adadea2
--- /dev/null
+++ b/dev-python/pycpio/pycpio-1.5.5.ebuild
@@ -0,0 +1,41 @@
+# 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_{11..13} )
+
+inherit distutils-r1 optfeature shell-completion
+
+DESCRIPTION="Python CPIO library"
+HOMEPAGE="https://github.com/desultory/pycpio/"
+SRC_URI="
+ https://github.com/desultory/pycpio/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/zenlib-3.0.2[${PYTHON_USEDEP}]
+"
+
+BDEPEND="test? ( dev-python/zstandard[${PYTHON_USEDEP}] )"
+
+distutils_enable_tests unittest
+
+python_test() {
+ eunittest tests
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ dozshcomp completion/_pycpio # Install zsh autocomplete script
+}
+
+pkg_postinst() {
+ optfeature "zstd compression support" dev-python/zstandard
+}
diff --git a/dev-python/pylsqpack/Manifest b/dev-python/pylsqpack/Manifest
index 7e1715c4a059..d98c306570ed 100644
--- a/dev-python/pylsqpack/Manifest
+++ b/dev-python/pylsqpack/Manifest
@@ -1 +1,2 @@
DIST pylsqpack-0.3.22.tar.gz 676356 BLAKE2B 1ad8283b00273f4a60a3edd7d125d3b9a3efc61deff209f709908ad16ed68c658158247443e643ef38b53e118076e23d651134dc91974bd79fa94d7d1496d328 SHA512 16b6abee85c9d2b02b50d9edd047018439cfb64e65ee0c065f070ddd673235fef99795c31a7fe8fe48b242071c20cbdf0ba5d76d59838cec593e57c3a99ee01e
+DIST pylsqpack-0.3.23.tar.gz 676891 BLAKE2B 138f99cba89772fbbb42cd5f5ca4bc63b5054df74b10b97fcd6378afaefe9a8a50ec599654d886ea21624fa3bae1d5cc7f888cd86c8e1b571c03e7a9841563b3 SHA512 c16ea8b85450c4ce941c592711466c20a49f8b2be4aed9369793535f6bf902cde7342031ef7095a5eb4c67aaa88e28ea8c0702be66251485243023e6c46577ff
diff --git a/dev-python/pylsqpack/pylsqpack-0.3.23.ebuild b/dev-python/pylsqpack/pylsqpack-0.3.23.ebuild
new file mode 100644
index 000000000000..04dc00ccc22d
--- /dev/null
+++ b/dev-python/pylsqpack/pylsqpack-0.3.23.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2024-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=( pypy3_11 python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python wrapper for the ls-qpack QPACK library"
+HOMEPAGE="
+ https://github.com/aiortc/pylsqpack/
+ https://pypi.org/project/pylsqpack/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+
+DEPEND="
+ dev-libs/ls-qpack:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+src_prepare() {
+ local PATCHES=(
+ "${FILESDIR}/${PN}-0.3.20-unbundle.patch"
+ )
+
+ distutils-r1_src_prepare
+ rm -r vendor || die
+}
diff --git a/dev-python/pyproject-api/Manifest b/dev-python/pyproject-api/Manifest
index 746af7e131f3..02da22bd084c 100644
--- a/dev-python/pyproject-api/Manifest
+++ b/dev-python/pyproject-api/Manifest
@@ -1 +1,2 @@
+DIST pyproject_api-1.10.0.tar.gz 22785 BLAKE2B f28154697f79b884bd69d3ab37f3a2bf896211f43da160712a30bea73030ae475da61599da294451a28ca4abaae53f6e3f9e3001468a9525ee8a00f686765283 SHA512 41f5201622630b037bb483d21326f3698db1f0bdb43de8a4a40c2edeb0e3c29466c0e90a174d507fab387f119e147aa6cbb31a127ac8bdfea5e926bb9e25ab52
DIST pyproject_api-1.9.1.tar.gz 22710 BLAKE2B 3ec2900c3d2f7e63c1026037a6c82f34ebd9e7b78a54bd049228b308b8d39caab970773bc6c793c5b27812e939de264fe1b374d9f2ea7e359ae17fd1e9813b29 SHA512 d92bf395509c89cc4acb668a959a9ad74e8c1a5ca293ae63bb6e89c604cf5267041a65165483ce79da4aea330ec5961e5b604e961da6892272c4de228365bb60
diff --git a/dev-python/pyproject-api/pyproject-api-1.10.0.ebuild b/dev-python/pyproject-api/pyproject-api-1.10.0.ebuild
new file mode 100644
index 000000000000..61e356818ea7
--- /dev/null
+++ b/dev-python/pyproject-api/pyproject-api-1.10.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="API to interact with the python pyproject.toml based projects"
+HOMEPAGE="
+ https://github.com/tox-dev/pyproject-api/
+ https://pypi.org/project/pyproject-api/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/packaging-25[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/hatch-vcs-0.3.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/setuptools-70.1.0[${PYTHON_USEDEP}]
+ >=dev-python/wheel-0.40.2[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-mock )
+distutils_enable_tests pytest
diff --git a/dev-python/pyproject-fmt/Manifest b/dev-python/pyproject-fmt/Manifest
index af2c2b488f0f..8faf315e8721 100644
--- a/dev-python/pyproject-fmt/Manifest
+++ b/dev-python/pyproject-fmt/Manifest
@@ -68,6 +68,7 @@ DIST pyo3-macros-0.25.0.crate 8876 BLAKE2B 09c37cc5bdaec6859461a7bb4d1c28d0ddd77
DIST pyo3-macros-0.26.0.crate 8906 BLAKE2B 60eef72d27b5bc922b75f71ae24bb6f380288cb3a619bf2940b0de47b27e86cce0ffdb1fbdc9c0540d3f15c9df4884497aa1e6efec0f1579ac722b414818a428 SHA512 07bcddba0926c3dff7629da3260f9a38593fbb337b6a68d55c223f5944d912885e5319cd635ae1785026fed4adea1fcc19695ae83aca5bea127c5a8868fd2c43
DIST pyo3-macros-backend-0.25.0.crate 75089 BLAKE2B ea4d87e16616782c60f46f97d87a002ea2873a2ab6f7335da68bab32d636988fa30834c946943d4c56c6e5992c78ba6dc2cf8b613c2a402218599ef3e7a6c5be SHA512 dc2e567a09e746893d7cea57aa456124df31b1e3cb25f5b1fabdc97cd2ae73eea1d57aa642268bdbef3dc1ba0e383893d1b5dfd9cf1f3e818f77b9fc0ef2c486
DIST pyo3-macros-backend-0.26.0.crate 81809 BLAKE2B 73885035855daf00b001e97e0a5ebe09412d212c8f01aa4db6638ef09990bf1bccbacf2e5a7e6ec21929bb1c2beba06587ecdb6ee954eda9e9c51c6c276cea95 SHA512 4146011a8ef18ecaa44b425eebe6e5e1370945063b98aaa83452e57b66aefbf5d483367b1d4d44aa5091303c4ba7f568c6428ecec0cfa6c90ba41631d4e99367
+DIST pyproject_fmt-2.10.0.tar.gz 45764 BLAKE2B 488f5115681de9015a9e22834e4ecf407720707fd532da7ed8122740e3071d433e9542b919391a4a04fc2ea31f17c07996db25b91ff210832a84ce630ce6bf1d SHA512 d966ba619fa8f7e8e28666ea9c2ee24f75b239af85ba37ebf269552296dcf93beedd64c40756aa11b07036e609709dca5b4268f8b061c4ff0a0f8da43f30c064
DIST pyproject_fmt-2.6.0.tar.gz 43484 BLAKE2B 06091446129ef75ad4b41249d4ef9f89965007dfd48bfbdad581fe295021fef06297fc4944f413f353aabf290fb695d09e2878a340129f853c2594a21865f40c SHA512 cfd8a1dcf149895adeced72dcd7036b6f18498f05f55c8148234c95f52868276e4cf1fa1453353ecc311c478321903a577f6056b756b469f52210d9ba3016bfc
DIST pyproject_fmt-2.7.0.tar.gz 45559 BLAKE2B 9d7defa66c7bbb0399476cf3303e0bfd3cfcfb312c8a11d50cbfd6ab0eff2163b2e35fec2eb9467a729a218386526f5b1e307fc7e9d306c33dd9f35939a5fd06 SHA512 3fa88282b4ef28031d2f1b6c2891bb84cc6a1631875938b6a0268a8cd13e37cf04379e2ac29182ae86afdb86d3eb2d81c3da7fe1d23a1fe8ec278a1f16eb5cd9
DIST pyproject_fmt-2.9.0.tar.gz 45704 BLAKE2B 80ba12a6fc90ad9baffe00f7b0ad3380a520bd9db54c0192021be9d92c65f1fdedb73ae5f2f18835bd7f5fe4120ba7504cf3fbeb8f0795236adc378399e89b06 SHA512 a55b869589d127c488469408cb0e8837d7ecf7e9b73f39d22953a050828cdaa1ce66d61088dd7148168ddb989150a0b560f7a622ca6ee78b29c2e00d1483e535
diff --git a/dev-python/pyproject-fmt/pyproject-fmt-2.10.0.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-2.10.0.ebuild
new file mode 100644
index 000000000000..eff5f5db8030
--- /dev/null
+++ b/dev-python/pyproject-fmt/pyproject-fmt-2.10.0.ebuild
@@ -0,0 +1,150 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( python3_{11..14} )
+
+RUST_MIN_VER="1.77.0"
+CRATES="
+ ahash@0.8.12
+ aho-corasick@1.1.3
+ any_ascii@0.1.7
+ arc-swap@1.7.1
+ autocfg@1.4.0
+ beef@0.5.2
+ bitflags@2.9.1
+ bstr@1.12.0
+ cfg-if@1.0.0
+ countme@3.0.1
+ deranged@0.4.0
+ either@1.15.0
+ equivalent@1.0.2
+ fnv@1.0.7
+ futures-core@0.3.31
+ futures-macro@0.3.31
+ futures-task@0.3.31
+ futures-timer@3.0.3
+ futures-util@0.3.31
+ getrandom@0.3.3
+ glob@0.3.2
+ globset@0.4.16
+ hashbrown@0.14.5
+ hashbrown@0.15.3
+ heck@0.5.0
+ indexmap@2.9.0
+ indoc@2.0.6
+ itertools@0.10.5
+ itoa@1.0.15
+ lexical-sort@0.3.1
+ libc@0.2.172
+ log@0.4.27
+ logos-derive@0.12.1
+ logos@0.12.1
+ memchr@2.7.4
+ memoffset@0.9.1
+ num-conv@0.1.0
+ once_cell@1.21.3
+ pin-project-lite@0.2.16
+ pin-utils@0.1.0
+ portable-atomic@1.11.0
+ powerfmt@0.2.0
+ proc-macro-crate@3.3.0
+ proc-macro2@1.0.95
+ pyo3-build-config@0.26.0
+ pyo3-ffi@0.26.0
+ pyo3-macros-backend@0.26.0
+ pyo3-macros@0.26.0
+ pyo3@0.26.0
+ quote@1.0.40
+ r-efi@5.2.0
+ regex-automata@0.4.9
+ regex-syntax@0.6.29
+ regex-syntax@0.8.5
+ regex@1.11.1
+ relative-path@1.9.3
+ rowan@0.15.16
+ rstest@0.26.1
+ rstest_macros@0.26.1
+ rustc-hash@1.1.0
+ rustc_version@0.4.1
+ ryu@1.0.20
+ semver@1.0.26
+ serde@1.0.219
+ serde_derive@1.0.219
+ serde_json@1.0.140
+ slab@0.4.9
+ syn@1.0.109
+ syn@2.0.101
+ taplo@0.14.0
+ target-lexicon@0.13.2
+ text-size@1.1.1
+ thiserror-impl@1.0.69
+ thiserror@1.0.69
+ time-core@0.1.4
+ time-macros@0.2.22
+ time@0.3.41
+ toml_datetime@0.6.9
+ toml_edit@0.22.26
+ tracing-attributes@0.1.28
+ tracing-core@0.1.33
+ tracing@0.1.41
+ unicode-ident@1.0.18
+ unindent@0.2.4
+ version_check@0.9.5
+ wasi@0.14.2+wasi-0.2.4
+ winnow@0.7.10
+ wit-bindgen-rt@0.39.0
+ zerocopy-derive@0.8.25
+ zerocopy@0.8.25
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Format your pyproject.toml file"
+HOMEPAGE="
+ https://github.com/tox-dev/pyproject-fmt/
+ https://pypi.org/project/pyproject-fmt/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0-with-LLVM-exceptions ISC MIT Unicode-3.0
+ || ( Apache-2.0 Boost-1.0 )
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ ~dev-python/toml-fmt-common-1.0.1[${PYTHON_USEDEP}]
+"
+# tox is called as a subprocess, to get targets from tox.ini
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/tox
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-mock )
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/pyproject_fmt/_lib.*.so"
+
+src_prepare() {
+ distutils-r1_src_prepare
+ sed -i -e '/strip/d' pyproject.toml || die
+}
+
+python_test_all() {
+ # default features cause linking errors because they make pyo3
+ # wrongly assume it's compiling a Python extension
+ # https://github.com/tox-dev/toml-fmt/issues/23
+ cargo_src_test --no-default-features
+}
diff --git a/dev-python/pyqt-builder/Manifest b/dev-python/pyqt-builder/Manifest
index ec306b3d0116..e7b5458700b4 100644
--- a/dev-python/pyqt-builder/Manifest
+++ b/dev-python/pyqt-builder/Manifest
@@ -1 +1,2 @@
DIST pyqt_builder-1.18.2.tar.gz 3671864 BLAKE2B 32ae2105b25029e2c881f26c660bf35eb63f6f19f31a800ea11ce639ce8da48e7485aae67fd0e1f05a9d7f97e49b507f19e162ceaacaee690ff52fec0fec3492 SHA512 129b8cbb7d2c6b533618d5b8523453ce4f442a2052c1151c30c8076e99d7887caac1e9c24220a913bc17444b35061ea507fd7f9038efd82a63636b24ae4182b5
+DIST pyqt_builder-1.19.0.tar.gz 3672333 BLAKE2B 2f623077762269470e4f00ec9f9a9a701f1182ac9cedfffa2d89f6cf9a92da198bb21abf9515cb0c865d2871f855cc0190a0f46d875589764bcf0df6e7cdffd7 SHA512 17dff686795e1b1f41a9c575c85c94a8d2d4ba95785dc723ec8f03fbb88e44472b70eb0e4ef9139580f1be0232d0ad324fedb088da3e9518d908587a0d619aa8
diff --git a/dev-python/pyqt-builder/pyqt-builder-1.19.0.ebuild b/dev-python/pyqt-builder/pyqt-builder-1.19.0.ebuild
new file mode 100644
index 000000000000..9ad75096e686
--- /dev/null
+++ b/dev-python/pyqt-builder/pyqt-builder-1.19.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+inherit distutils-r1 pypi
+
+DESCRIPTION="The PEP 517 compliant PyQt build system"
+HOMEPAGE="https://github.com/Python-PyQt/PyQt-builder/"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/sip-6.7[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # skip installing DLLs
+ rm -r pyqtbuild/bundle/dlls || die
+}
diff --git a/dev-python/pyrefly/Manifest b/dev-python/pyrefly/Manifest
index 586522b0f09d..39b21ebd71a4 100644
--- a/dev-python/pyrefly/Manifest
+++ b/dev-python/pyrefly/Manifest
@@ -34,6 +34,7 @@ DIST byteorder-1.5.0.crate 23288 BLAKE2B 7f85a7948406844070a2c8202e0bd52f73b3dfc
DIST bytes-1.10.1.crate 76779 BLAKE2B 96573ff7852cd2d4f37a68cb4d76bc43d2018dc25b7b7e2164df022de4e1974f22d4d3ea7cbfb280667650cdb5063d600f4f76cbdca43dae508f29ced449b0f7 SHA512 03429f01927b94ba6c958c46b2e5bf92a23b39ce9385689e21accd34a5d3be01fd0f665f4bbffb1f7c5bdf1edfb1bf11d5ccad00eff0f9388be39fe2f753d296
DIST castaway-0.2.3.crate 11509 BLAKE2B bbecba400bf98ef4158581f3b1673ca77dbec3ad754d3749f0e9342a47d1fa9f638c1388f0762413277b73251854ade26e08dd85b7d7133c73a5750d4dbf7d92 SHA512 2565a4e5709a25118462ac25b9f741e92456c81ddbf7c4e791d8c647f2ca5227b2f59ffac108f9d32c77cedc12219c517218c51a78b1d22a1baef1bf2c16e0a9
DIST cc-1.2.10.crate 101251 BLAKE2B 12f708028bca112a91c5d00312c93b87b96f4d7f718c1c271cbf12b263148369e09d406cb8c5f250d69fb08b62eb87e7c2fff33f43bdb772fdebccf2927add0d SHA512 bbd8755d390ca8fd209fb22a6b998250bc4765bc8339281498f0170afac7b1112ac5843bc4c604785e734030e2681f58bc5233ebce85e1d1392e3bfc1e654e5f
+DIST cc-1.2.40.crate 91094 BLAKE2B c6739b79c371f68210c0c19d653b24e8167e18bb1ba1b146f3880c3dca78c17b675647f5aa2bb51d36f1ba70e21a0b3bde3dea65cb5862221978d5b431b85e0a SHA512 d168c92ba8beb5017801db756efb0a8f6d749bc85e4303a4de4abb9aaafe0f4cff0afbc9ecf8647914c6f00210eb56f3ec9178b41166557662fcef0b3a887d53
DIST cfg-if-1.0.1.crate 8683 BLAKE2B 7d7f98e46b98e0f6fe069fff5dede72390adb7522f13be35c37f99713641e98dff87bd58e594908565a6f42ec898f11597e8a82a01ca2e8e65b38563e09956a8 SHA512 56af0d562fe60022e8df9c5b4e9b2eed6d7ca1874c4d3bbb52148d6f3c6f7d30e0b63d4b1e652ccfc8881a663fb6f450a48447d5a8cce0c2e5a2ac12c6ac655f
DIST chrono-0.4.41.crate 234621 BLAKE2B 82d2a03ace32f722834348097622ca4d80f00bc7c419dd43d85a2f740088b61adf6d0fd2fed861612b07afa7ef6d26c50386ca5a9b3452a3863be8a737efa02e SHA512 917d440059579f4861b91d95bd0d5bf6dc55baaeec50678a9562b9652bd872d5f6b5013f188a50f37a18dfaa775b6821eef2a1ba096abd488a285e55aa024d5e
DIST clap-4.5.42.crate 58305 BLAKE2B a8f43cf915d97e9f337e87a492b3cdba4b76ab970bafc9087208db5894d8a83981cc774c749c157fa6099b0d36247f50d04dd24d395fe1621223a02d56a7e9bd SHA512 c897f99db65c04e70ecfe121c123b0c9d110f9dbede80c78ba10c60fd5e8d56c28522593ea4ce4d1453d90d428b4d4b14ee9bcd90645c8a7d07d6a55161d13c9
@@ -57,11 +58,7 @@ DIST crossbeam-epoch-0.9.18.crate 46875 BLAKE2B 200c256cad6011a3a14c4664bea6b150
DIST crossbeam-utils-0.8.21.crate 42691 BLAKE2B cd9015c41f532eb3c90101603f32d383f01e6880718b727d6d1fe46872ae276cda685e1b548cf77dd22bb1a05f0d4c4982332c2bde90e1743dbd7f51919022a7 SHA512 6f4aa7ca10c20da291c4714b56ceb1fab1c06b03b2f4e28e474e9aeb95ab6615a25462dc7819713652c3b5f6a06fa0f24ebc92c533fcf35dfcf2655857d975f8
DIST crypto-common-0.1.6.crate 8760 BLAKE2B f2422bfb89c15d47a8f91c8f6695e05eb56990a922e3cdf3d426044736f9932324c0d899a151a6df4d6683e6a6b21659c657d3988734014c02cd854bb4b924e7 SHA512 471dbc43f517089d2cfe0868e29510c6ca579875b3bb5d013c70796db969b609b6c4bb35c9a07b9a2917012dc5708b717d48e317a20038adbe7e7039bf3ada6f
DIST ctor-0.1.26.crate 10803 BLAKE2B 93627949b92651243b7a763d3d45a22fafcf2147a30661c4cc017e222bfc2bc12b4071054e3079adc431fc8a5dd8b86a8d11c53c401be6db846a3d0d2076b9b5 SHA512 3a3d60c976ec02a9edfe04470af4b04b02601c48e2a007393cedfef5c13e22bca58630e9e885e635a71aabc3e0ad8fb70995876551cdbc6a31029d8d2bc2e86d
-DIST cxx-43f8f85eb1b9d99f10f7228ab679997c484ade69.gh.tar.gz 367024 BLAKE2B ecf4cb9d47fa5458e3d17af6f3bda2811ae6768c4ec0fccdc2d8918ddfd662d0d57e5f0c9ed614b09c606dd68ff1fd81957a48bd2ccc72b8ddf8bf9133e8eb98 SHA512 96d8771b3eaf5551d32ba8dea1206c9f2e3370782015ab9df3a66aec7b157f0094868a7ab2f475e7e3028854ef97fa9ae574da2eeaad069b631c8fb4542956a6
DIST cxx-870ebbecad0f6be394d4f9fb9bd62b551662651a.gh.tar.gz 364301 BLAKE2B 5689a2002dbd47d6b088e91c02dcbb530a06ae61076cedfed8fa0d7d65755a9b43c04761ace08d2824a03850fb9ef0e25e35239006101accce1c4b3cbed18594 SHA512 8c46ec72c5a8527728b4796dc180347928842afdc5f791512413f23cc42f3970adf00b9533c7affde79693cdb44d311086213f47c5b223056e108d80d79b8a44
-DIST cxxbridge-cmd-1.0.160.crate 78111 BLAKE2B 6e05cc266101106abd880de1db810218fa356d99db58388f0d367914301b8122cd1229b400e0be9fd2f2bb2a8fe47779be8008ed4dffa702214dff7d77486b3c SHA512 1a7091d698ddd875ca2777a18ff365479b23da8579ed2e6b2db2ee4733e1c93cb9c388cac63ef483216b66e7061805704347675f42b948402e54668863ddb5bd
-DIST cxxbridge-flags-1.0.160.crate 5424 BLAKE2B d2397200f80d2c19479341cb79f4e3941e46ff94dd4d32aaa353e4f7f36468eba684fabc157770641bc5380b92a8301230e8a3f16ac4d137779cb9d5aae30e52 SHA512 7f32ba79dbd9b58b9f764a9fda1a4528a68d0fbc3fabf5770b5f1657c91c1a427de3ed608c2efc87140953acd06c510e6bead65ab249c67361aae8b346c2f7d3
-DIST cxxbridge-macro-1.0.160.crate 64567 BLAKE2B ed7785a1b15f49de7a1f8e7c1d1f15a798d1de87dc5542508590b502756c23e660167eb1c91992fee5d2390890bee7996ae8325ae0d3d199bc2e55c5be9c3530 SHA512 12bf7736b7056628303989292040c690f093747fb2d12990f07b51cc98875877e50b8054c31324940a6705d2b5874ac298397f3f033405becbeeb843e84992cf
DIST darling-0.20.10.crate 32031 BLAKE2B 038c2a4d919a8e9ff6eff5f83911b40cf4e918ac27c90f313b6b9131c41770f83cc3901973fea1c6fea2886a8360f3c5cf73b807d14e579b8b8e87f15e3bc6dc SHA512 7a14eebc20e48fd39ddf7b8376dc937a04f561d723aba864432cabd5ab46eb189706b43e5121a7f4fb0d68dbfd044353875bb479d4bd5cd96b76e3571733ce55
DIST darling_core-0.20.10.crate 65015 BLAKE2B a94adcc6092a7a69728725ec4bf4cb7c163bc3fe0890f272bba9963c256697bbe1ad964d58a975c80742019c59d4e1b3e56e624f938576996e216d2f99e21f2d SHA512 2b971156b8c1433dd0ddb2213ee522e2fe9968a62889285d1457b5e733daa70a09c21bca9b8573d9c742026b4c06f4dd2025a6a196ec0b08b25a78d8737dff6d
DIST darling_macro-0.20.10.crate 1874 BLAKE2B 29cbdc6bd63e4eb0731c8f8f0a50cfcae9a88f116f8cfc0068e5d3cddc20b42b7f0f20f128ffa0f7bcb8d72f0188b04b3838b8327fa6f3ab45de4cf5c3bbf317 SHA512 565b8d535248d9d88b49a58e2a210ecc70f1cd39bfaf029ac6576a9b2eac70a6b18b4930aeca746d76d53b745c6aa82172bb341c4844b3757fc7978732fc2f52
@@ -83,11 +80,11 @@ DIST equivalent-1.0.0.crate 6621 BLAKE2B 5e2c461898c2b029430c526db25188ca37b5c1f
DIST errno-0.3.10.crate 11824 BLAKE2B f9976b538868daba3cd2d47ff2fdcda16b4a436ca767f865f23d1139e7f232aba263dd4aa38d573442c762999c8a8beab8a4a8c10649d21b49090fa65ced1ec7 SHA512 fa4b9a368f254cd90c6f69f6883af4c579829a6da6f31481a1b527ac9602c8ffcb5e9518cdc32c39b5589c151a20e75a7300c8a907d178346185ecc6e8749f3f
DIST fastrand-2.3.0.crate 15076 BLAKE2B 15c9a1c4f64d94c4bfd38ae139c6fe19b6b621a495c1b57209edd6d76d978eaf018ba77f356b5086c3f462a6de044fb5e3b172fc288309569911a17ec39951bc SHA512 267fecbb7459c8840f03425733d278dd6c4e7637b85b99552877117ed5e8015e094d86aa95841f77064136b7f382276c3cb2c2bef7b2881d272f4aa57c5cf947
DIST filetime-0.2.25.crate 14940 BLAKE2B 1ffcbad3b2023ba5e9b2d71e279fd8c3564458b28290f3e19bf43b87083e1e3c0e18f191f6dc67540baccb83075df453950230089f243e6276e413321cceedc7 SHA512 90b4f3c4df29a3456c393f78f636d70f2615cba748a972dc9b937c2fcbbf4544f5b0d28c6c8fcfed5d5eda026ac670afffec18ab7d7127cee9afa2717146ccf2
+DIST find-msvc-tools-0.1.3.crate 30486 BLAKE2B a1ab931ba9a4d15f15923525a6a35d381cc0877fed997d22fff9e8afd59bb6ea1271df6241a9a5cabc5675daf0927045535097ef8338bf3e12e6b3785e7baae8 SHA512 238c844abb4b68c83fd96e39d09de82b24b91fc945d0cf670a7535573aabc7f993c93a7ab1ae4e01f2fd6371a387f37dedd2d08626058289a115e01dac9d7ef7
DIST fnv-1.0.7.crate 11266 BLAKE2B 81da85889c91b6567e0f555e37dd915f1bd919719d1ca10c31a6861d7aec29a49ae9c1e8bc500791bf9d6b8dbb318c096d04872c5872a4b1f7d45fbd8e12842d SHA512 2195a4b34a78e2dd9838caf0ee556bf87cbb4a8ef5505aac663b614eb59dcfc0c40f432463ede41ecca57bfe7711f72673d39a85fe03d426f1324097d5628334
DIST foldhash-0.1.5.crate 21901 BLAKE2B 22c3a266becac17995ac996f5c9caa8dea77e36786c50464e4e7750d8f3f13321a0a1abd3a9abcfd6ff441ddea257066b2dfb7fc6fcf7468f537dbd1b0db737d SHA512 3a634fdec410d87ffced8aa1bf8dacd9316a04c51424563d60b4dd611617041f09085edfd0ec96e6bb0e0db74a0e950b0616d1fb94a31667af35af1637604c22
DIST form_urlencoded-1.2.1.crate 8969 BLAKE2B 383d3a197b73fba199220b7708e16d770591ac16725faf4efc1a8c230c569c381870d4a11b8fba623e761e68f9d318630b22101d461e67dd26c67e13a73358a1 SHA512 c65104e2dc08fad572bb31f981700fd43dd29fcff42b01c7ccdbd3d4c23dec12360aed3f1b5fc4766fee386d418a65349b2941b8735f788cb0d35d631a6a8dd1
DIST fs-err-2.11.0.crate 20449 BLAKE2B 8ffe7c49f4733edcd30ade9b75064e9fcf4ed1c87620d629fcd44dbf87e85e28d23fbaad05a50d8baca877f3eb9e088d8dd744d2ca092c443735fa7129609c9c SHA512 a8bf948b94e7325c583035a04d30c8ecf33d543ac366a550d757d65a0d7575d501e01dd1a80c8b0c278f80b9f3298f8dcd03c3c636810fbfe6a4a910ee8915a7
-DIST fsevent-sys-4.0.0.crate 4276 BLAKE2B 74c40763c12825851761b187e810a8d28a8e9aa92707a6100c7dbbe5251a53fc38b088b098cbe6c1d1c28cd15537a960a07b4ca43547a9215cc9e9119b4d65c3 SHA512 db81ea513345b4f57b25e2f3b746412c62399bc6c0440fdfb9759c2699cbc68ed5f89631efa12ccc0031036e21be616f7a55a0f2acb6d47dbe49ade8c8004cd9
DIST fsevent-sys-4.1.0.crate 4620 BLAKE2B c203c774d5038d4c4abdd7bb9407a6b5f2b203a609bd92a7fde38afaa71248f4610e89c73eaf982a5d76560f9503081b7b10573046b1a91f09de4b642709417a SHA512 e702686629557b879efaccd37b03a7ec515eeea29d8f8ba46f82b8b68ad157ef9d6b188be031f806d8fd27d4e9d2689cdd6bfa14e4ff77493a7d0be3ef1238a7
DIST futures-0.1.31.crate 157731 BLAKE2B bd1c51f7b5c6018547d1aee3ec550fa55ca955b48c04c8e9e91e5aa944540fa69fe590d2296085d7e772c7aaac37dce00624323bd6e31f92af269dcdbf30d511 SHA512 4be7199261201ef4dcdac5a5a237a70eee33d8fad9a81f76d739f4fc7ad39c87fb2f4719ed7e7a7bc5773c5b51196e4aa4ced5375292198c8d89a03f1692b341
DIST futures-0.3.31.crate 54953 BLAKE2B 4b91470d3c85b9260c734dc6be8c985f78491b599d2a6ec0d1e824b82f684cd030be6f64179f7aa7c1d1fbc7cf0c5a1bc5bd045123b73461f490d7c2b9011f9a SHA512 a08d23cdac9e162d0e6ae72bd792201ff4e13d7ade6b498cc597149b3df2062b06814804c0750d941d8b5be5d2ab4cfebbe2d08a98d875d2092bf25e6e71a51d
@@ -136,6 +133,7 @@ DIST idna_adapter-1.2.0.crate 8206 BLAKE2B 5e8d7dbfea699584542cde53039df9d8c3dd4
DIST ignore-0.4.23.crate 55901 BLAKE2B 8c5138e723cbccffe84aa215b2e73daa18d8b2d39136a901ba1514def3a67437f79d932e4762578dd1b28dd8360a397aaba29ab8bb67a93a587a1c71cf5d1aa1 SHA512 ae354b00994ae8570751bc5c09167edd0e2891709d4c4878cf75b24619421d23a1b83e28886d54ed9d31aa427f49153e9a5fc42b5de7262abda20c1c0061b299
DIST indexmap-1.9.2.crate 54627 BLAKE2B dbfa551d33305db06b59d07c1b4bf8d4596a67ff1caa03062d07f6d78b4604ac0533d1c1fe3c371702dd7e65a012bfb960d79c76db37e264d0b44be576969285 SHA512 946c54881a347892dfcb55648a2b881d3a4d113424b8c76d8957980a834895318d11336dc438a04601916cca787420708ad7e271f965c38bfeae511ec1dedf85
DIST indexmap-2.10.0.crate 95836 BLAKE2B bf49b25e5262b3395467e8e84353dd8e01a790c51a877895b79bee549fd4220f1f29f591eae821f76b78963573885db9cd7e1e914184d27191d88b54369eb93f SHA512 6f267f5879a4ccba6d702dd51e96dba19ab3f3231113faa91f948b1a993ca57b3f9adb5c197482e57b8c460f98308985a33ddcd7cbb6f4e34b7515f7d0403f9c
+DIST indexmap-2.11.4.crate 100302 BLAKE2B 7df64cd5add93fbcc956e082881dac568b4b42056312344534a9a3df7780326632d4ef53660257a6f4b6a099bcf842d8443b58b4429321904681ee90b0086a53 SHA512 39ae266d1f5bc57f438689d2ebb3e5ba0b26f08487f88affffb55bf24d6ca8c52d646ea79e281c383027cea2970e4acbfd24d65f081ed77d4efbd056aab83649
DIST indicatif-0.17.9.crate 65246 BLAKE2B 9ce758e7dbafb3394d632a6fca910ea3d1237309ac9bad0ca1236cca9563abfc442509ca96fda1cc7be6916875416cf2b85390c53266f59bc18c6589addbeef1 SHA512 a0d798fa86cc4b75d080bd233e274d6554d82e1532b3590d27b9fcdfdfde4da2717afa16ef42b180ca0ad43ad151db8b0963890de106e36b6bdf07f87a519bdf
DIST inotify-0.9.2.crate 22015 BLAKE2B 44689fa3f75fb6ad474268ee1cefb57b0fc9b953f3b4598feb43caede50d5ba8952c7159f673056a841089073d112232f4cee7bfb976aa6d5617048cadb6abc9 SHA512 fd420de75b6073e7132ddb3d00c9aba6baee5e8ca981217a66df71d09a27329f458b79248c73b60b7aa1e8d8dc3e004a1a9ea5e1dac69f9b70f5a8e47602e8fb
DIST inotify-sys-0.1.3.crate 8327 BLAKE2B 964a7c49f16ac6b31bdb22085569e368063141962ef347c4924aba17ce4d4f99d79e7054f1530bee60bd0c99004816cd2ada19808e65b52ec367438d824e5050 SHA512 82ce82277ef2ef05888aae3a997461515d340c7286daefa4f54f7942fcdcbd1e29fbc60907ecdbcb00139db36462fb3c21ce64b9add2b785826adfaa54216a66
@@ -151,9 +149,7 @@ DIST itoa-0.4.8.crate 11926 BLAKE2B e5a648b490908d0ffa3a0832342ad11264eb4357939b
DIST itoa-1.0.14.crate 11210 BLAKE2B b2d33dc384757963eab3ae7d80bb672d828a549967986e3af8c70fe71a0ad46c4a278da2db4dfccef99e804e6cd4934067e97c0697a33ac3302cafbc46eeb416 SHA512 ea2d38df373652ddacccd11e610dfdad4e3ae7f0d476514e6ac58092733c817bd834e8cd88c3bc4178dd5a646ba628ae626195e0aa407e8534ae3c2a7b049987
DIST jobserver-0.1.33.crate 29136 BLAKE2B 10b9862757e919a91e8921674380899b7272840c08e45cdfce7ecc43d70e1acf497e42f3cea903145d26dd0954f05b593506f72796f90a61af49eb9c4265aa7b SHA512 65ee462bfaa1fe75c32948a943d448ac8b435370cb277ae7fec9d23c93463d68cdcd839a3248e2e804bfc0278d4b1b943f4d77165385c4d9b82543bc5932d51b
DIST js-sys-0.3.77.crate 55538 BLAKE2B 8a4c04a8e93bf5dab63784a24320a314cc5cb629df788e116c452857b8c049c6bf357f3bf8f35086eaa81bc2d7f0954001addfd0577d845844871ee138e81bc6 SHA512 d9370ed6ea892bd51ea181630ca661c348f82d575381aa4c8b529113dfcab6687f4d19bceecad7e1b28ebaca74d405862150a5b5ee2d5d55efdaf98eed1ab255
-DIST kqueue-1.0.4.crate 11771 BLAKE2B 3a428dc381fccb406ad4f6cb040a5ffc5371386c1abf552e8edd8e24977584fd028d865998b7c9b04b1a9c38b756fe4ddbdea4590b9ce7f847bbee48b14cb96e SHA512 b836195dedb4eca9022c24b95fd74d4c2fe473ee5c05d10a2c3db3e512c3fa49ff78e23d4853d4214c44ce29a68f1882ea84267bdc0f05400ced6c958db33910
DIST kqueue-1.1.1.crate 21504 BLAKE2B 3397a355b56d979371f3a790ca6de4880ee1cb78c6fd9ec85766e1bb5ccc25f811f7065a31dc14b0b4686de4bb1902c2e2c3026719ecb923e3bda553998d187d SHA512 08ca26fd83c4aca32d53d85155580fac95b50709662975632aa542cb1e8a2ea5f8cc0f628194777093168a9950d485fb395bb55e7302dd25d03bd311e8ac84aa
-DIST kqueue-sys-1.0.3.crate 6673 BLAKE2B 79254d667b4cf1fa556f1773db23b00ac431bdea6c8ecf914e3c0837fe4e25a45c9b6fb76259d628e4c76a20f749df3fc285b54ea63ce3b52d21529358e81c3f SHA512 76023295abaa4415c1d7b37c844432ece522b762f78983cdf58106f65ca553ee96193bd8c93f3fd0af029d266d8414f2ba4d1b8835bcdc180acc7defa6269731
DIST kqueue-sys-1.0.4.crate 7160 BLAKE2B d75e152cfccbdf7ae000be14e0f84c6d1fd07290fe498349a8715061a83d8c02011b59578db2c451de011ac3eb4b218aeea73963a2a5cd82e7f5f49de0779632 SHA512 6650aef7efd7fbf4f9b6c8c6e4c1a91b79636423d46a0173dcb99de74e6f277cb02ada01cb62aa71c3f174a2c28db62a708b0aada9480fc5bde613204acb30a5
DIST lazy_static-1.5.0.crate 14025 BLAKE2B df29e0e3d1c061815bdd608b41074436024dc407d454f32517705ab04b2fe06075e310086c5e4961df0b4885e91021589d0bca2c1cbe6f0aeffa3ff1b3fd4637 SHA512 6d2f9887cd7f34f019644e42f02f2bf0111accd73aeaa60973ba0b039b6774670debece1ea9a6978e923208ef5d3ab7326473ee3560c078817f0f7ab8ed0f65f
DIST libc-0.2.174.crate 779933 BLAKE2B 20ffcbbcad6961e732521940f0595039dc0576d85b2d3b2ad3f1decd37571132a4cd7505b2e108078a4379fc4cec46290b5633bcbcc6e7009c3b474c1a852628 SHA512 243f2ffd5741ef859e4dc5b7ee0396071943b1d10429efcaecb322957e256c4be88a7a649029dfd47e6456acc73ee257893fb6c4e8b4d0fe66a12bc5d1c13c73
@@ -218,8 +214,8 @@ DIST prost-0.11.9.crate 28958 BLAKE2B 9ac3218b9250c9e6036eb43f7b72904e5bb336bfdf
DIST prost-derive-0.11.9.crate 19513 BLAKE2B b5da185391df8d21e0800b066ceb42d2132e72904a9c51fc7c95b9c08ed4c3cfb615bd2fcf87b4a26f6f5e2fdf53304ea2ece6998fe7f0f548935f90c8c77754 SHA512 6bc09695d3de978d1ff0b26b704b0f3d3fefb38c98ce68b440ada04f340015bb582cfd31f508df1105506b7fedda6741ec7750caee6dbd817cabedfc11481e2b
DIST prost-types-0.11.9.crate 40809 BLAKE2B fae812d78c5199ae8d383f1abe801cd928e7927ee8fe68aa88c4d410471c75781ab859e681f73eb9550f307be3a492880ff5747d3b806dde41f209ffee403602 SHA512 0c163e8c12ad9dfedfe5b6ba13f62f30c57382de2fc9fcca4e6c04114887cda5e8fc5f6e2633624a4d54980f21c3f041d34f05ceb4d7cfa97135293874a3002e
DIST pulldown-cmark-0.9.1.crate 114955 BLAKE2B ee295f4b65dee11c0b39054a4613cbfa1058a8dce05dc298bacc151e049dbe3f05b1739205ac345a98e70662187932d226c0d0667974b3c6a6f55882b566564b SHA512 466d6b4ceee89e1a8c71ff7ab8fc1000e7ef1d9bd22193a152358e1dad28c0c1bbe619caf71106d74eb376805dbfd2b888a0626c8c2851bd814d348873843306
-DIST pyrefly-0.34.0.gh.tar.gz 7408379 BLAKE2B 6514e9059f431fb089dadc9ac20b1d7b0a3253c17aff5d207782b558b892578eb49f336fa67c99cacd4f03c24d8b7649ece7152cdcbca55ae0da295b8db1903d SHA512 f6c8cf3c3c98539c8a14d603e30e501aec5268dedc08b717b1dadc1ecd15823873abffe17b4c2525ae3c7e23fa9acfc2ebaf2181cf92d61d78ce9ce0b31a131e
DIST pyrefly-0.35.0.gh.tar.gz 7594831 BLAKE2B 8456e3e025106f4f610770a0c5467ca2ab5b138a9af4308afb22c100041acd14409e02fef42b7a50c4eeb644baaf476297c1c0ecfb0b7709d20318011ef48afc SHA512 d959a9335788fcdcbc9f775febaa71e850c30dc57c1252745d5feb83b8f7edb0e70598002e4571ad97e387bdfec3d4016e9c13a3068889c36ea6e1ecdaf0242f
+DIST pyrefly-0.36.0.gh.tar.gz 7619690 BLAKE2B 9ca11fd14d656dc9fc5417a3d76e6389779b93d13b71055a8af546d8d789eb9aff4b2a7483bf6ff91acdd3650dc2a031c4d5df5b835da66b19919a6f9b06a59c SHA512 ed26ff1f712212ff9078cfd7a974209288f2c3fce18ea10c350790c00c5fed6349c9e9acbc150778700d1a20e6a01789984f5ac6a43a42a14b31dbdb7d44e64e
DIST quickcheck-6ecdf5bb4b0132ce66670b4d46453aa022ea892c.gh.tar.gz 29222 BLAKE2B 6ef1d6f2fb27f382c78691a952363d5a4263a20f85ba19cba8010b5d7ef6d862f7f5f5c0cb88949a59e81143ba3aeaa4fd2e4cda7371de771ef8f5ca3a5c0d3c SHA512 e52a65947432f3a92d47c54df3645a1b3aa721b74c1357281d9d06c56b85e816794082dfaa1f2f9de2239fa156e2eb18003c6ca4fe3b13fcec4dd90a157aadb1
DIST quote-1.0.40.crate 31063 BLAKE2B 09036ff3e5ebbd775c466bb936de91d4c070481eb4b98c62a4cddcda57cd7b67d63f979b321f6ec64aabee3f5da6c28e7a3efb83f4647768ba578f1bd0bd0bdb SHA512 45a76e22a2b0bec47e4ba73c3b73cc41d821dfcce9876134c5d8eed514da214aee4ce7612e372c8709f888c0d8b9b7e5442f27adb7a59f3571f0339ed7e2ac99
DIST quote-use-0.8.4.crate 3067 BLAKE2B e60ff6700aceb55275013c5cb12f5d6b358879d31173d32aa40d3cc07bfdef26ff70a441e6c56719a43aff527dbc46558117380a0a5ba3a51bc90adcd6eba610 SHA512 eb14fc2fa9f63ab7c544eba0f0de36516896d7389c9bbef82ca4ad9343c720261943d512d04f195989f8fd4347ec169ad400a96ab8d36e9ccac7567b2f22d19a
@@ -260,6 +256,7 @@ DIST serde_json-1.0.145.crate 155748 BLAKE2B fdb06251cf3a18f2f3685823585f4ac16f2
DIST serde_jsonrc-0.1.0.crate 66788 BLAKE2B faa9d0eb73ffc4182070b97f3bffa882e6e934bead2078bb01b0a40e437fc6c93592b53562a60eea6884ebc1b9e9b92be540371c09890cb2021dca86cafd6a4b SHA512 fc924aab897604177fa7ceca478d29d0df616cb5677a1d75c9c9e3b33173d3df5807aa7bde836199a8d65fe413d04cf217c15cbab77ce0cfff690097bd629a2a
DIST serde_repr-0.1.19.crate 9997 BLAKE2B 1bfc8e94b8c3cf897813f4749d6a1112c1097c2c257821eb366073a41ac46084a21bdc0ee4e3b99d82444619a894472e24fccb60cbd8a41ab7d5b0469cad7c41 SHA512 678216a62702b3300fef850f10ee60d88f31de1fbeb7300e3fbbdc4e4a9cbc95c6890c8e7b9385223ec837d9504edd53e69b620f80609e54579c0994ed1ab0a1
DIST serde_spanned-1.0.0.crate 10956 BLAKE2B d1652f416b7d7011f927b808b6cfe880170401cfa25bf025f22d786fb33ca824ca42c611446aa3cd029047bbf4dcb9b980c7331d6ff1df09016ff748c286112f SHA512 dc008900285c2ac2a41a851a691b270cc2fe4e841ff9e2959a308c69a5e49ddb63554bf52d41ef90130c28179a2934421a5d8ce9994062780f85140fc83618c2
+DIST serde_spanned-1.0.2.crate 11032 BLAKE2B 58350be1fdb8304cbeba809498c1f4a0fdc37a8930fbbaae0eed3ea45d8c7dea169751fab7f870b8f885c19ed3376a5754391c72a90bd710adf601bcee366836 SHA512 6338b55503b407fc52f2a4e9dc8820bc0fed9835c225509130275e7a4d3b69f946ee23fc95609ca39763de5b84e54adc1408ace6d129302043fcb91aa2fa2644
DIST serde_with-3.12.0.crate 148666 BLAKE2B 244377aa9de46c77d12f0348a2656848ab44bda4bbac2f14a607ccfb532cbc33597e0b3336b9fff5242e8b907f59cbe093eac7e1aa9cc82e320bce011f5d177a SHA512 243b4aacf9f0aa9c3915274650c2b70ebb389ef0b1e607afba35f0144199073b573703f8b66bcaa875aeb434301ec2ad209c3d54160f6fe25dc2e4a9fe48a53d
DIST serde_with_macros-3.12.0.crate 32089 BLAKE2B 667db574c1a7850917a6738ba55447285085e87826b04da22b6be92ecf32ade3f0e99f63c738262f822820674b09be742778223f28507daf75324f4c62195e98 SHA512 feb186b9c51325a19643217ca2bfafc6f7e5433e2e059683ac2f271d11641a7feab728c5e7e37a99310ef259faf862b6a42ec41e77ff9b3349cb04333e008907
DIST sharded-slab-0.1.4.crate 52479 BLAKE2B 766d81761909006ac740cce13e8361734c3c7072cd07c8c8f611f09772e16f11aa93cabdc5273b9446f5da391b26b7e7d619be523488d8b3558c64c18f20d591 SHA512 123a9ddb126d1adf41a30a632604264d66a06bacc497db6373e9dd36164197f8321f2fc826a16247674f0f69d9f6e30aca37810f787693c4a5c2cee8c5887c55
@@ -280,6 +277,7 @@ DIST structmeta-derive-0.2.0.crate 12328 BLAKE2B f71502ac396ea2c04455bb594a25994
DIST subtle-2.6.1.crate 14562 BLAKE2B 3cf4940b7a01f04715da1057f6a92b1043a6b86ab2ee7f9fee0337b680ff781201d330409460f6f90b3f81bb5fd4b563e17c762c6e824ba3b0af99e4ae7d66bd SHA512 f5946ebd9bcb8776ee3446abcbf4afb3cca5d8bd847cadda87e864333ac7ded537a3efa773e9648adf20ce4add2c1da85172cff88c1e1a3a6cb051401b00c6bd
DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
DIST syn-2.0.101.crate 299250 BLAKE2B 7018cdede66dca82e7d7a7e07e52a178687957fcfd69f1a2862094497d2fb9d78ada14b94761679bbc5f6c76c808a63e948ed071e4f65c2f9580a40bf58c9426 SHA512 05e4233a51f4d229dd4c9bd23c5224c42ec5554d02fd316dad10dfdb876aa1d379c7ea30b1ace979537da91ee746ca4fdcef7690885f83fd41ec8c9dc5984101
+DIST syn-2.0.106.crate 301514 BLAKE2B 6b28b30ee067c23dc4bd1b38365d14c1700245c974e785173965b0822301966d642b36bdda25210d61f17a99fc71eb81e29a56c89d1649773908bae32778fb1f SHA512 e07e1058770fa3f1039eaf335340cefb597c0dd11bb90fec9fa777ca5815d0e0bb1711bb4db52cac77e205dd68fbe2bce0e1aa9895c2a52a1ea6d7758d13424c
DIST synstructure-0.13.2.crate 18950 BLAKE2B c475f370d901a371262f466dd98e3914dd6f36aa473a33362866c0f781d27b1813233f96b02208f3463a825e8012cab0f8872eed848d9aa0eac88b581a0d261e SHA512 2698f4e80b93f7cf1d8ae97c4c42a7f61e7b7081f7f1bbb94d7f48ab7ae813a666d73c49ba3812cda9155e0138b55cc246fb96e5858e411a8d32bafb3e2b2afb
DIST tar-0.4.44.crate 61020 BLAKE2B b76f92a6e8c3d25efffde669de00bc83a717a9888c260f23cca916dca2953d4007edac055ae34d4597b17cecd28e273c27373bf14b35287053d3547f27f03bb2 SHA512 b6a33a50f9bd124a0e40b4a557c967cc1474b8a49e6381aab0208b8e6338108c4a3168b41882499c3ab84e214314e3501bce7a714b547bd3a86ff1b3c80ecda6
DIST tempfile-3.22.0.crate 43044 BLAKE2B ecfea33d6dcc763a9b561e45583ab77392803b17c9e98619466f774e54cf23e920e5a4d8cdefdac0094cf756fd9c4f01d639e9ea796f21b0fc0079eb56e4c07d SHA512 a023db8390ece294a98426299207d511d373bd6bbcfe29a4834be5cc67a4a30bb2ad9ce0a46c0324d0a84b076d755d21fd678271b799be553aaef6d819512235
@@ -303,9 +301,13 @@ DIST tokio-macros-2.5.0.crate 12617 BLAKE2B c30d0011173d246dc82a5c24ba97b0ed6b66
DIST tokio-util-0.6.10.crate 71140 BLAKE2B 54dae89f8c3886feeccb905d371d9c3f1411fecc398eeb388677e364583fa42ecaa3ea21f10ad76e1873eb91da017ad19ab56befcca81d4e89ebc1253a9bf029 SHA512 0fbf96817b32fe561b26793e599377e9b58c28513e48d0ac070e81f64c0c64fb4d41a626f27b841e88970e8beb75fc2e94a8e9564e63416719756a9d845d8bc1
DIST toml-0.9.2.crate 56695 BLAKE2B 3b43fc51530628a391b8862ea57d5f9e20d9af47b258fc9b495e8b35700d1578b1c859d5cfb58a0a011fd6265fce1f96d9c633974974266e141787d8aa5a9f92 SHA512 68d51cac05902c4f1900f7d6e46cad4b5ac0b28fb486871c174acb939aece6db03a30cb39683b78adb7caa18074d17aeb6403e180e5a0cb101016a13b9281216
DIST toml_datetime-0.7.0.crate 18108 BLAKE2B f682cabe5d6d3209600f2601780ba2d9dc7f37f91e1827f57e252c74b0f687e8a4fd4f1bb50d18eca3792ef2ffea0f7e7eb05b6bc065b7891feb378903c070d3 SHA512 54e0fa55c31bba89ded0191e76f1464d9f5bbd9a805e333127bd1322984399511b1586c9192b044fde12982d9ec41b334c7cf5f0a4ddb9d0f4b5aa0796c42259
+DIST toml_datetime-0.7.2.crate 17859 BLAKE2B 752ec260790e0aefda7ad1a3bb5445395b2fe0642d7cb8967f598aeb9ed52cf14a55a0241bcfef4e6f20f6349687983cdda4414dd5e9a8cd897b1c68e9cbcd05 SHA512 1e84a59af3caa14c6ffda0cfcb57bdefad19cfb7eef73fa8b80672b433edb98774d81833f47506aa7e3a75a1637ddb5b141eed9badf502ec2f60785ed4d20292
DIST toml_edit-0.23.1.crate 66370 BLAKE2B c1ce6016ecc9421644dcea5aff1c791b5d8cc3c61336439f0837377d177310040faf5e6365a4e044c3963441610abde2923b20da521ec6573b12aa167c54a4fd SHA512 a8e5c4b231363e6162c2c1eaac5ff65660e60d17bb9b544af40b9a2bfb6ee8c1b600a888136d5929ebd6b6aeb6b651d6fd29768d6948a448c7ce25724e6e3e82
+DIST toml_edit-0.23.6.crate 65753 BLAKE2B a58f180691f671d7e4d4ce3009531745ab9a4d4084397e9678ae61a341ba4dea35b0d755b7f5ae37a0ba161c6f4ab4423e76173e410737f17a589bd7a53dc39a SHA512 5d07daf0f8fc8ec9038b1bf3a9a7a073787dfacce34488171d80b193f62480eafdfbff0cf29842acdac50ce99247f2ccef700d734af05d7f1a6049ac73037c58
DIST toml_parser-1.0.1.crate 35063 BLAKE2B f1242e56480731f03942fad63188517586eb27a063768db6a6cfcd7df52c31d64447b7111cc3bc657915b1e4dbd3f243a9456286dff3e4a361f71babf4bf0cf4 SHA512 416e5843c128948d82b2c14b990d575084d72b0856a72ced7d36fcdfb2bcbebf6f07296603aa470b150ecf287bca2df01414660662dcad90796783900ca5dacc
+DIST toml_parser-1.0.3.crate 34982 BLAKE2B ec12c2c9dbfdc2de4a922ec394594de344c2e688630279446d01bfc9a344464e60a68651f0854813f0ff4a068e09d353af22288e8b7ea63af1306fd0a0e94a5e SHA512 48ffe3b6669a0e5d4d72fee834b972b453415885e6a840351186db4f31d740121a182557d9de95c22b26cf9c3a37e0dfff269d666c96d3f38270398ee8fd1423
DIST toml_writer-1.0.2.crate 16988 BLAKE2B 9f52b666ea3f8589f63c1efec2670d2d19735bc8f82065264181dd0b45b9aa571f4071a9cb4f8858292d8c1c8d5f7c8e5f43aeb14cd734c8899782d74dc29f02 SHA512 1c06268c993f5bdb842870b96c4d2757e402b467894b21c40f7786554be91dac6752c65bda664550f576311e52b458b451c5974e65bfdb48d696ac6b4dca35fa
+DIST toml_writer-1.0.3.crate 17173 BLAKE2B 2016b4d9240eba2fd240ef4300e901907569dd4e2d871da7d486e0aa06c646397bf9fbe6377f1334b6c97ad20ad6a5030440b1525fa4ee1fdfd7d4959abe378f SHA512 8281b1b389d8e5d270af0471f9dabdbb98c639e99dedf5306eafc981add9aba349cd084d91c9804fd28de6bf92d4fbb7070aed974f4376bb7526afdd87f03f8f
DIST tracing-0.1.41.crate 82448 BLAKE2B c056d938e001654e03efaec7a11eb8ecfbdfe9af2099271fcefa43f4f4683b40c59f7111fdf7f27df4da38bcbe94f1b2ac0abb6ec3d6e6a0d165b9fbb14da3a3 SHA512 dffb8d3a1375f1b9d5418550a46cb7b1d92b2cc8ffbccb430a38f7731547960775bb42798074186711847d256eee30fb3e74078b69cb36f28c07d9f231dbf96c
DIST tracing-attributes-0.1.28.crate 33280 BLAKE2B 4f4bfab16ad8a296c9399125edfd4314d55ef58977d8a1f3e867618617feed898cd14766527c9b788d5fe3d3f8ee5bcca0e26dae79a2e6cf05366991ac23dc10 SHA512 4a3d5fd76efc414c86af0721aab9e9aa70fcd6b08eed4acee8c2af5af56fd665197aea612187c7f6022d1acf5567d5b9e72a7dcdcf25cc401135d875d95a99ed
DIST tracing-core-0.1.33.crate 63434 BLAKE2B bc36332ffe5f4c95ae2d12df43944bcf589746cdb923a39098e5f4007fd1f19d7c3bb115011ddc40c13e3ae0e5cfc9a59c49861824e99fed7430fd29479abacf SHA512 1c6f0cf3b7bd6c8f6316ed9ea0b315a619308de6cbf7e50e665a193cf8c3399b5227d4f145d83b10c7e01a2f9fbc83d16e108cf09b7fd6cef413aa5c1acf89ef
@@ -385,6 +387,7 @@ DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d2789
DIST windows_x86_64_msvc-0.52.6.crate 832564 BLAKE2B 8e9a3044654c6de99a9153e7cacd575474e7a8a3d883c67b02132af5d3fc99d03cd5f7a4dd666a3947451d11218e6acc6eb5e2526f012481106cc13453839719 SHA512 21944cd8e3a481b514509e73ae3f62722fe7ed380d37ea0c25f8fbdeba79174dd52ff65d898838da5df4197894b74e00f45d47489418e978753b4e55c7e623e7
DIST windows_x86_64_msvc-0.53.0.crate 834400 BLAKE2B b5a06459571c6ac31fdb94d64f66f83ad71fa039ba04e07b62259ca66211662e703dc9afde205cb0489a2213a937ba1d8d6bc212262e8140a1629d2273d4bf43 SHA512 47265ca5d43c39c9470c9ff7caa8ad0962bf81cfedb207d3307895cc7e4885512a4895d3447906349e1261dbef531c0c3326cd82cecf6d645d42039997134707
DIST winnow-0.7.10.crate 176073 BLAKE2B 8c50414b2ca5bf02646db0002352c562114e388d821fa5c828b73158726ee406d988340ff1760a17b2ac79f0d9f8be2531738f790582eb44feda27a4fad46419 SHA512 e5c8767734074e5b1780b9ea7fe6d3c590ff5abf1ae3e825143f577f6ed80dc4be70d0e9b35e8d034e18268f88b89fa1352884dd36b2c56a3298b01aa9748bc8
+DIST winnow-0.7.13.crate 174454 BLAKE2B 037d07cc421502502b5fc99e2640e3d78b476229071ba44252da52e368f9a46607b6fd3b6e0c0be2f201beb7502850ae01ddf24e0fdb4f4585c05805bcbd19b2 SHA512 dd8b5fb359f894e17e4737d29ae9629125d2f9578abdbfd5214c333be8faa2860f5345e4383f207129ac4f0e6e419d681c59375ba8b78604e9230835d77867ab
DIST wit-bindgen-rt-0.39.0.crate 12241 BLAKE2B c8cda3c7a513dca58e2ad52b03692714750870801af37a235bfe1f217afe880f36df56d8e54b52ee1cb9f4e30f5580b8a28519b44084d2191146977f237e406f SHA512 24b559688991083057b7fc0b6fa9f84445ae11cf53fca20887f55da93c24d97c9a3ed6488b3a845fe88243530b46442d3c2de70da4dc1c64f3ac632a440ea2c7
DIST write16-1.0.0.crate 7218 BLAKE2B 548796314339463e4b71f8af3d344e45dc89480e103180b6d56c90fcb816ad1a37ab2ba20766c4b9754f2cc686752eb1f3a5a12ec1ed4369a9cef749ad4f3e97 SHA512 655a207b8082bb88e462f992ecb4833cef9d590da06d6356b41d109df2862b49ee5705189c78a607b549e7343035119d158020d58fcad49608e51659357a83c1
DIST writeable-0.5.5.crate 22354 BLAKE2B e4ff9862c070b413568ce0c75d1eccafcf1db8578eee4795ea9046dadd643f8a77258b437be288b93af247199d63455298ac2cff909226bc432f91c0aa863921 SHA512 818b2546c8ec25816aeaf5e31a1ded927d197bf7256e7c5073738c2709bc58a95d382a0256eb38a99235ae83729b578701261866d42ea3357a26024906e196c1
diff --git a/dev-python/pyrefly/files/pyrefly-0.34.0-cargo-toml-paths.patch b/dev-python/pyrefly/files/pyrefly-0.34.0-cargo-toml-paths.patch
deleted file mode 100644
index 90f0a5bf4e37..000000000000
--- a/dev-python/pyrefly/files/pyrefly-0.34.0-cargo-toml-paths.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-required for network-sandbox
-
---- a/Cargo.toml
-+++ b/Cargo.toml
-@@ -1,8 +1,8 @@
- [patch.crates-io]
--cxx = { package = "cxx", git = "https://github.com/facebookexperimental/cxx.git", rev = "43f8f85eb1b9d99f10f7228ab679997c484ade69" }
--cxx-build = { package = "cxx-build", git = "https://github.com/facebookexperimental/cxx.git", rev = "43f8f85eb1b9d99f10f7228ab679997c484ade69" }
--displaydoc = { git = "https://github.com/yaahc/displaydoc", rev = "7dc6e324b1788a6b7fb9f3a1953c512923a3e9f0" }
--quickcheck = { git = "https://github.com/jakoschiko/quickcheck", rev = "6ecdf5bb4b0132ce66670b4d46453aa022ea892c" }
-+cxx = { package = "cxx", path = "../cxx-43f8f85eb1b9d99f10f7228ab679997c484ade69" }
-+cxx-build = { package = "cxx-build", path = "../cxx-43f8f85eb1b9d99f10f7228ab679997c484ade69/gen/build" }
-+displaydoc = { path = "../displaydoc-7dc6e324b1788a6b7fb9f3a1953c512923a3e9f0" }
-+quickcheck = { path = "../quickcheck-6ecdf5bb4b0132ce66670b4d46453aa022ea892c" }
-
- [profile.release]
- lto = true
diff --git a/dev-python/pyrefly/files/pyrefly-0.35.0-cargo-toml-paths.patch b/dev-python/pyrefly/files/pyrefly-cargo-toml-paths.patch
index 8010a8d5307c..8010a8d5307c 100644
--- a/dev-python/pyrefly/files/pyrefly-0.35.0-cargo-toml-paths.patch
+++ b/dev-python/pyrefly/files/pyrefly-cargo-toml-paths.patch
diff --git a/dev-python/pyrefly/pyrefly-0.35.0.ebuild b/dev-python/pyrefly/pyrefly-0.35.0.ebuild
index e5e8f5844d18..1634969c89a6 100644
--- a/dev-python/pyrefly/pyrefly-0.35.0.ebuild
+++ b/dev-python/pyrefly/pyrefly-0.35.0.ebuild
@@ -440,7 +440,7 @@ KEYWORDS="~amd64"
QA_FLAGS_IGNORED="usr/bin/${PN}"
-PATCHES=( "${FILESDIR}"/${P}-cargo-toml-paths.patch )
+PATCHES=( "${FILESDIR}"/${PN}-cargo-toml-paths.patch )
src_configure() {
# Requires nightly
diff --git a/dev-python/pyrefly/pyrefly-0.34.0.ebuild b/dev-python/pyrefly/pyrefly-0.36.0.ebuild
index 0615071d8720..66ff47a70493 100644
--- a/dev-python/pyrefly/pyrefly-0.34.0.ebuild
+++ b/dev-python/pyrefly/pyrefly-0.36.0.ebuild
@@ -38,7 +38,7 @@ bumpalo@3.16.0
byteorder@1.5.0
bytes@1.10.1
castaway@0.2.3
-cc@1.2.10
+cc@1.2.40
cfg-if@1.0.1
chrono@0.4.41
clap@4.5.42
@@ -62,9 +62,6 @@ crossbeam-epoch@0.9.18
crossbeam-utils@0.8.21
crypto-common@0.1.6
ctor@0.1.26
-cxxbridge-cmd@1.0.160
-cxxbridge-flags@1.0.160
-cxxbridge-macro@1.0.160
darling@0.20.10
darling_core@0.20.10
darling_macro@0.20.10
@@ -85,11 +82,12 @@ equivalent@1.0.0
errno@0.3.10
fastrand@2.3.0
filetime@0.2.25
+find-msvc-tools@0.1.3
fnv@1.0.7
foldhash@0.1.5
form_urlencoded@1.2.1
fs-err@2.11.0
-fsevent-sys@4.0.0
+fsevent-sys@4.1.0
futures@0.1.31
futures@0.3.31
futures-channel@0.3.31
@@ -136,7 +134,7 @@ idna@1.0.3
idna_adapter@1.2.0
ignore@0.4.23
indexmap@1.9.2
-indexmap@2.10.0
+indexmap@2.11.4
indicatif@0.17.9
Inflector@0.11.4
inotify@0.9.2
@@ -153,8 +151,8 @@ itoa@0.4.8
itoa@1.0.14
jobserver@0.1.33
js-sys@0.3.77
-kqueue@1.0.4
-kqueue-sys@1.0.3
+kqueue@1.1.1
+kqueue-sys@1.0.4
lazy_static@1.5.0
libc@0.2.174
libmimalloc-sys@0.1.42
@@ -245,6 +243,7 @@ ryu@1.0.17
same-file@1.0.6
scopeguard@1.2.0
scratch@1.0.6
+seahash@4.1.0
serde@1.0.225
serde_bser@0.4.0
serde_bytes@0.11.17
@@ -253,7 +252,7 @@ serde_derive@1.0.225
serde_json@1.0.145
serde_jsonrc@0.1.0
serde_repr@0.1.19
-serde_spanned@1.0.0
+serde_spanned@1.0.2
serde-wasm-bindgen@0.6.5
serde_with@3.12.0
serde_with_macros@3.12.0
@@ -274,7 +273,7 @@ structmeta@0.2.0
structmeta-derive@0.2.0
subtle@2.6.1
syn@1.0.109
-syn@2.0.101
+syn@2.0.106
synstructure@0.13.2
tar@0.4.44
tempfile@3.22.0
@@ -297,10 +296,10 @@ tokio@1.47.1
tokio-macros@2.5.0
tokio-util@0.6.10
toml@0.9.2
-toml_datetime@0.7.0
-toml_edit@0.23.1
-toml_parser@1.0.1
-toml_writer@1.0.2
+toml_datetime@0.7.2
+toml_edit@0.23.6
+toml_parser@1.0.3
+toml_writer@1.0.3
tracing@0.1.41
tracing-attributes@0.1.28
tracing-core@0.1.33
@@ -379,7 +378,7 @@ windows_x86_64_msvc@0.42.1
windows_x86_64_msvc@0.48.5
windows_x86_64_msvc@0.52.6
windows_x86_64_msvc@0.53.0
-winnow@0.7.10
+winnow@0.7.13
wit-bindgen-rt@0.39.0
write16@1.0.0
writeable@0.5.5
@@ -402,11 +401,15 @@ zstd-sys@2.0.12+zstd.1.5.6
"
declare -A GIT_CRATES=(
- [cxx]="https://github.com/facebookexperimental/cxx;43f8f85eb1b9d99f10f7228ab679997c484ade69;cxx-%commit%"
- [cxx-build]="https://github.com/facebookexperimental/cxx;43f8f85eb1b9d99f10f7228ab679997c484ade69;cxx-%commit%/gen/build"
+ [cxx]="https://github.com/facebookexperimental/cxx;870ebbecad0f6be394d4f9fb9bd62b551662651a;cxx-%commit%"
+ [cxx-build]="https://github.com/facebookexperimental/cxx;870ebbecad0f6be394d4f9fb9bd62b551662651a;cxx-%commit%/gen/build"
+ [cxxbridge-cmd]="https://github.com/facebookexperimental/cxx;870ebbecad0f6be394d4f9fb9bd62b551662651a;cxx-%commit%/gen/cmd"
+ [cxxbridge-flags]="https://github.com/facebookexperimental/cxx;870ebbecad0f6be394d4f9fb9bd62b551662651a;cxx-%commit%/flags/"
+ [cxxbridge-macro]="https://github.com/facebookexperimental/cxx;870ebbecad0f6be394d4f9fb9bd62b551662651a;cxx-%commit%/macro/"
[displaydoc]="https://github.com/yaahc/displaydoc;7dc6e324b1788a6b7fb9f3a1953c512923a3e9f0;displaydoc-%commit%"
[quickcheck]="https://github.com/jakoschiko/quickcheck;6ecdf5bb4b0132ce66670b4d46453aa022ea892c;quickcheck-%commit%"
[ruff_annotate_snippets]="https://github.com/astral-sh/ruff;9bee8376a17401f9736b45fdefffb62edc2f1668;ruff-%commit%/crates/ruff_annotate_snippets"
+ [ruff_cache]="https://github.com/astral-sh/ruff;9bee8376a17401f9736b45fdefffb62edc2f1668;ruff-%commit%/crates/ruff_cache"
[ruff_python_ast]="https://github.com/astral-sh/ruff;9bee8376a17401f9736b45fdefffb62edc2f1668;ruff-%commit%/crates/ruff_python_ast"
[ruff_python_parser]="https://github.com/astral-sh/ruff;9bee8376a17401f9736b45fdefffb62edc2f1668;ruff-%commit%/crates/ruff_python_parser"
[ruff_python_trivia]="https://github.com/astral-sh/ruff;9bee8376a17401f9736b45fdefffb62edc2f1668;ruff-%commit%/crates/ruff_python_trivia"
@@ -438,7 +441,7 @@ KEYWORDS="~amd64"
QA_FLAGS_IGNORED="usr/bin/${PN}"
-PATCHES=( "${FILESDIR}"/${P}-cargo-toml-paths.patch )
+PATCHES=( "${FILESDIR}"/${PN}-cargo-toml-paths.patch )
src_configure() {
# Requires nightly
diff --git a/dev-python/pyspnego/pyspnego-0.12.0.ebuild b/dev-python/pyspnego/pyspnego-0.12.0.ebuild
index f4106aed73ab..bbafaa844f9a 100644
--- a/dev-python/pyspnego/pyspnego-0.12.0.ebuild
+++ b/dev-python/pyspnego/pyspnego-0.12.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
RDEPEND="
dev-python/cryptography[${PYTHON_USEDEP}]
diff --git a/dev-python/pytest-env/Manifest b/dev-python/pytest-env/Manifest
index a975a3b2e816..ea8b3a62880c 100644
--- a/dev-python/pytest-env/Manifest
+++ b/dev-python/pytest-env/Manifest
@@ -1 +1,2 @@
DIST pytest_env-1.1.5.tar.gz 8911 BLAKE2B 77195479f0a7bfe7b82b164f30c73e37f05002b33b19b605a056f476d02dedf8ed7eb0e116fe88c00dff2732f31d271539389eb790bcd4602c62f93e732530e9 SHA512 8f7df6d823067f55b3e761acee76744dc64e2e0f0c1e19ef5ab4db3215e92843279742782e654e652af025126f6c31ba86a54e3ef9e2223ca6057fbdc136ddd1
+DIST pytest_env-1.2.0.tar.gz 8973 BLAKE2B d7ce810c44090d6b45e045ec765d9d560b5f257f0cb020d61875744331dd3a798cbe13fca2bb126beebfb765c0bd76019f2b09d6cb7e1ee34bfd4ea8ff65d94d SHA512 b7848196b2417871c976aed54751f5dc46c59e5a0bebe2d5c3d2801e80aa95b06eb5e9a90afba2bdddbc831fc1612cdc9a7fe74b32710035a37949701dd2d316
diff --git a/dev-python/pytest-env/pytest-env-1.2.0.ebuild b/dev-python/pytest-env/pytest-env-1.2.0.ebuild
new file mode 100644
index 000000000000..5023fcbfc103
--- /dev/null
+++ b/dev-python/pytest-env/pytest-env-1.2.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="pytest plugin that allows you to add environment variables"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-env/
+ https://pypi.org/project/pytest-env/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~hppa ~ppc ~ppc64 ~x86"
+
+RDEPEND="
+ >=dev-python/pytest-7.4.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/hatch-vcs-0.3[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( pytest-mock )
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # upstream lower bounds are meaningless
+ sed -i -e 's:>=[0-9.]*::' pyproject.toml || die
+}
diff --git a/dev-python/pytest-relaxed/pytest-relaxed-2.0.2.ebuild b/dev-python/pytest-relaxed/pytest-relaxed-2.0.2.ebuild
index c4ea9242b7b3..c2e7d34217a4 100644
--- a/dev-python/pytest-relaxed/pytest-relaxed-2.0.2.ebuild
+++ b/dev-python/pytest-relaxed/pytest-relaxed-2.0.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{11..13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
DESCRIPTION="Relaxed test discovery for pytest"
@@ -21,4 +21,8 @@ BDEPEND="
)
"
+EPYTEST_DESELECT=(
+ tests/test_collection.py::TestRelaxedMixin::test_skips_pytest_fixtures
+)
+
distutils_enable_tests pytest
diff --git a/dev-python/pytest-rerunfailures/Manifest b/dev-python/pytest-rerunfailures/Manifest
index bdc227c4cb28..c2f9541e6592 100644
--- a/dev-python/pytest-rerunfailures/Manifest
+++ b/dev-python/pytest-rerunfailures/Manifest
@@ -1,3 +1,3 @@
DIST pytest_rerunfailures-15.1.tar.gz 26981 BLAKE2B 78413183180edccbd9be6ca85ef05be7a1cce96470cf086a056b21231f84a9c7af4a3923fcb18f2081f14e53f6aea7a97807f7c311323cd5b99ff740c9aefedd SHA512 6344d625829038978f9cf224d59d3de07b1afcc6dcea578b22cdff8faefdbcacfaa54d6fc142351f9f5af6bacf6c2bda0e3f62013439b0276e1d48d6c30e8fe0
DIST pytest_rerunfailures-16.0.1.tar.gz 27612 BLAKE2B 4b0271ae5158fbc44d770c5fc46d9e27cf456a70fa54c1f194fce71b97b786c625a56f5cbb2c3e74a14207b1817e1e026ac0f2743f4d7a75d39d467763eb97bb SHA512 2c8c95c451ffbf86f99ff5862c75bf45b754e68e1e41d5cdd65ceead4e7619637ad1ec75c0c7c0efab1f842ee8544ea7d68b17912acfccf8da573a9365d88bd5
-DIST pytest_rerunfailures-16.0.tar.gz 28338 BLAKE2B ea90b0fb1fc3aee61f58b475b6ad53f646fcd5fe27233073104124f71e2d44d32381cb130563c3766c7b446328b12c5602b7130ce3b513436bd856d982074126 SHA512 30eb96a1cd442544a99653c4f0291909f330c5beb6a8b29e115bb63db68a35dda1587d093f641b253535503e41bb6282808e8e9583741861dbd27b36d0f1339a
+DIST pytest_rerunfailures-16.1.tar.gz 30889 BLAKE2B 05e4f4a209371b33acfc469a95e5b9ca6a80f97f7529355bf315a78f384e79c60895f6aace0df223591d041015bb280c3ee4c24db9fb97eb44a5b6268042d60c SHA512 ad5d55b7d7dfa9ea3f488a021b1ab3624f297ff723ee99f7a4bf77c402f7e9770b81d7590d6e2701c19fa744b8e1695c96b8272d9c2de0625309489a4337a223
diff --git a/dev-python/pytest-rerunfailures/pytest-rerunfailures-16.0.ebuild b/dev-python/pytest-rerunfailures/pytest-rerunfailures-16.1.ebuild
index 3e84560a60dc..3e84560a60dc 100644
--- a/dev-python/pytest-rerunfailures/pytest-rerunfailures-16.0.ebuild
+++ b/dev-python/pytest-rerunfailures/pytest-rerunfailures-16.1.ebuild
diff --git a/dev-python/pytest/Manifest b/dev-python/pytest/Manifest
index 605ec6b6e574..642c689c12b6 100644
--- a/dev-python/pytest/Manifest
+++ b/dev-python/pytest/Manifest
@@ -1,7 +1,2 @@
-DIST pytest-7.4.4.tar.gz 1357116 BLAKE2B 0bf281b3d4b7b2eb7805423a75c8c2befa820cc230318511e5a2d5ea35321a78a2603d5dbc033414ed73171525371efa9d9f54083d5638fc752c1c218e6d53aa SHA512 28a259dac6739683c131993409d508e10fbfee461291b8fc7697dd83f30725a3c60e681ba00b5669a215af6a5e683f07a329485d780acc9ad0372a6552f783a1
-DIST pytest-8.0.2.tar.gz 1396924 BLAKE2B ad95d246f5592cfe54faea6c96e38cb60d3e2713070d1ff7cab6c42aea312883c5d97c99a930dbcbd8493e966c4b8351320f6494b4ab904afbf21d7e1dd004a7 SHA512 c495943baad05e09b467d23c7afadb3edff7ae93ee96290d6db9e64739236888148b63dff7e8e25b331b11bd48c55fb0ca8901cf823d69b1a922e94915bab2f1
-DIST pytest-8.1.2.tar.gz 1410060 BLAKE2B 1379047c5ba434e98a383756c53a9cf31dc3bd3abcc49820f872b9110ec70906ca14080ce17ed2770b71195fbd79627a0eb16ee00429e165368144b20153a02b SHA512 a6ffae29da98ee4c357ebb03f00c4bc1a33f093ef867ad118841695548468c7f229eaa2c029a2ce3b158bbb0a65be5014e91555a223d04c1c72e614cb1d00546
-DIST pytest-8.2.2.tar.gz 1427980 BLAKE2B 7f343e5ff05e4d26f816595ad1c52ee2b79d38029e75e3641ed0bbb7477e0a47e5ae48ebc3058a8e9f374cd1a391d360d9eda73eca2e41d8b533eda7948aedcb SHA512 896192f0d41f3fef49915dfea6ae33dbb939f6bbe54de27861bf1554bf87f910702169293e923af9bc40466e7f806aa19ca54cbe41a848c233f70b52bb86a63c
-DIST pytest-8.3.5.tar.gz 1450891 BLAKE2B 7a5fb565eb13041f6513bef344ec6caa24464cb3e9a335c4a196ae12e47a51692cff658e839ad139f88965098831ec5ede7d32fd6bf3b29c51205d4dfe50ed9b SHA512 386573a40f78c1dc864a0af7d765d49e9e91a38dd61bef95b07631bffba0806b34264622a998e849727f50fb220ada7b8242f7f7dbd501408e7bf4701d36589d
DIST pytest-8.4.1.tar.gz 1517714 BLAKE2B 1122694101de967a16f3103aa54e02baf28e03ad231f8e3cd93a559d1d9c9249046e95cfcf5708821a4b843b6474e4d30793a454e93e5167b1ff7ddc4514f71b SHA512 1ed64a70e6b49f52364f4d08ca179a47bcd0a709c327c1666f6e5f909c723ce1e2ba56abe08cf1348f75c1fa447da71c4faac8e3e76adb0c563cf66267c8633a
DIST pytest-8.4.2.tar.gz 1519618 BLAKE2B 0676b8a3510dc740d94e96eaa6312574ed0058baec13f161c4f1ab85872ac69ebabaa707032becb068fc128662d931b6b05f92dec9bdf6c268553b956bf43003 SHA512 a6732666e7b59b2c28b47b1020a8381d31073cf9113086c562295429fddfa6b4ef2afda3cdcce0ec60bf60d038ad2bf8e921a2a409f3d56e31d94ca39e5ea81b
diff --git a/dev-python/pytest/files/pytest-7.4.3-no-color.patch b/dev-python/pytest/files/pytest-7.4.3-no-color.patch
deleted file mode 100644
index a6fa02472252..000000000000
--- a/dev-python/pytest/files/pytest-7.4.3-no-color.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From ce93a8ad7a11d1e9be76ce6af0d510f935622c1f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sat, 25 Nov 2023 12:09:32 +0100
-Subject: [PATCH] Reset color-related envvars for testing
-
-Reset color-related environment variables in a fixture to prevent them
-from affecting test results. Otherwise, some of the tests fail
-e.g. if NO_COLOR is set in the calling environment.
----
- testing/conftest.py | 11 +++++++++++
- 1 file changed, 11 insertions(+)
-
-diff --git a/testing/conftest.py b/testing/conftest.py
-index 2a3ce5203..612777304 100644
---- a/testing/conftest.py
-+++ b/testing/conftest.py
-@@ -30,6 +30,17 @@ def set_column_width(monkeypatch: pytest.MonkeyPatch) -> None:
- monkeypatch.setenv("COLUMNS", "80")
-
-
-+@pytest.fixture(autouse=True)
-+def reset_colors(monkeypatch: pytest.MonkeyPatch) -> None:
-+ """
-+ Reset all color-related variables to prevent them from affecting internal pytest output
-+ in tests that depend on it.
-+ """
-+ monkeypatch.delenv("PY_COLORS", raising=False)
-+ monkeypatch.delenv("NO_COLOR", raising=False)
-+ monkeypatch.delenv("FORCE_COLOR", raising=False)
-+
-+
- @pytest.hookimpl(hookwrapper=True, tryfirst=True)
- def pytest_collection_modifyitems(items):
- """Prefer faster tests.
---
-2.43.0
-
diff --git a/dev-python/pytest/files/pytest-8.3.5-pypy.patch b/dev-python/pytest/files/pytest-8.3.5-pypy.patch
deleted file mode 100644
index eb665396b6b4..000000000000
--- a/dev-python/pytest/files/pytest-8.3.5-pypy.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/src/_pytest/fixtures.py b/src/_pytest/fixtures.py
-index 6b882fa35..985e45ce3 100644
---- a/src/_pytest/fixtures.py
-+++ b/src/_pytest/fixtures.py
-@@ -278,6 +278,12 @@ def reorder_items_atscope(
- for other_scope in HIGH_SCOPES:
- other_scoped_items_by_argkey = items_by_argkey[other_scope]
- for argkey in argkeys_by_item[other_scope].get(i, ()):
-+ if hasattr(sys, "pypy_version_info"):
-+ # Gentoo workaround for https://github.com/pytest-dev/pytest/issues/13312
-+ del other_scoped_items_by_argkey[argkey][i]
-+ new_dict = OrderedDict({i: None})
-+ new_dict.update(other_scoped_items_by_argkey[argkey])
-+ continue
- other_scoped_items_by_argkey[argkey][i] = None
- other_scoped_items_by_argkey[argkey].move_to_end(
- i, last=False
diff --git a/dev-python/pytest/files/pytest-8.3.5-test.patch b/dev-python/pytest/files/pytest-8.3.5-test.patch
deleted file mode 100644
index 9a900c69244a..000000000000
--- a/dev-python/pytest/files/pytest-8.3.5-test.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From b7854561993d00b8dddf3f43ce6b042b4111fa4c Mon Sep 17 00:00:00 2001
-From: jakkdl <h6+github@pm.me>
-Date: Wed, 12 Mar 2025 15:10:29 +0100
-Subject: [PATCH] fix attrs==25.2.0 compatibility
-
----
- changelog/13291.bugfix.rst | 1 +
- src/_pytest/assertion/util.py | 2 +-
- 2 files changed, 2 insertions(+), 1 deletion(-)
- create mode 100644 changelog/13291.bugfix.rst
-
-diff --git a/src/_pytest/assertion/util.py b/src/_pytest/assertion/util.py
-index 30aee185d57..c545e6cd20c 100644
---- a/src/_pytest/assertion/util.py
-+++ b/src/_pytest/assertion/util.py
-@@ -169,7 +169,7 @@ def has_default_eq(
- code_filename = obj.__eq__.__code__.co_filename
-
- if isattrs(obj):
-- return "attrs generated eq" in code_filename
-+ return "attrs generated " in code_filename
-
- return code_filename == "<string>" # data class
- return True
diff --git a/dev-python/pytest/pytest-7.4.4.ebuild b/dev-python/pytest/pytest-7.4.4.ebuild
deleted file mode 100644
index 51d6cd464314..000000000000
--- a/dev-python/pytest/pytest-7.4.4.ebuild
+++ /dev/null
@@ -1,111 +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_TESTED=( python3_{11..12} )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" pypy3_11 )
-
-inherit distutils-r1 multiprocessing pypi
-
-DESCRIPTION="Simple powerful testing with Python"
-HOMEPAGE="
- https://pytest.org/
- https://github.com/pytest-dev/pytest/
- https://pypi.org/project/pytest/
-"
-
-LICENSE="MIT"
-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 ~x64-solaris"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/iniconfig[${PYTHON_USEDEP}]
- >=dev-python/more-itertools-4.0.0[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pluggy-0.12[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools-scm-6.2.3[${PYTHON_USEDEP}]
- test? (
- ${RDEPEND}
- $(python_gen_cond_dep '
- dev-python/argcomplete[${PYTHON_USEDEP}]
- >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-3.56[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.7.2[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/xmlschema[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
- )
-"
-
-PATCHES=(
- # https://github.com/pytest-dev/pytest/pull/11638
- "${FILESDIR}/${PN}-7.4.3-no-color.patch"
-)
-
-src_test() {
- # workaround new readline defaults
- echo "set enable-bracketed-paste off" > "${T}"/inputrc || die
- local -x INPUTRC="${T}"/inputrc
- distutils-r1_src_test
-}
-
-python_test() {
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- einfo "Skipping tests on ${EPYTHON}"
- return
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x COLUMNS=80
-
- local EPYTEST_DESELECT=(
- # broken by epytest args
- testing/test_warnings.py::test_works_with_filterwarnings
-
- # tend to be broken by random pytest plugins
- # (these tests patch PYTEST_DISABLE_PLUGIN_AUTOLOAD out)
- testing/test_helpconfig.py::test_version_less_verbose
- testing/test_helpconfig.py::test_version_verbose
- testing/test_junitxml.py::test_random_report_log_xdist
- testing/test_junitxml.py::test_runs_twice_xdist
- testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal
- testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal_count
- testing/test_terminal.py::TestProgressOutputStyle::test_xdist_verbose
- testing/test_terminal.py::TestProgressWithTeardown::test_xdist_normal
- testing/test_terminal.py::TestTerminalFunctional::test_header_trailer_info
- testing/test_terminal.py::TestTerminalFunctional::test_no_header_trailer_info
-
- # unstable with xdist
- testing/test_terminal.py::TestTerminalFunctional::test_verbose_reporting_xdist
-
- # TODO (XPASS)
- testing/test_debugging.py::TestDebuggingBreakpoints::test_pdb_not_altered
- testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_simple
- testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_twice
- testing/test_debugging.py::TestPDB::test_pdb_with_injected_do_debug
- testing/test_debugging.py::test_pdb_suspends_fixture_capturing
-
- # setuptools warnings
- testing/acceptance_test.py::TestInvocationVariants::test_cmdline_python_namespace_package
-
- # times out
- testing/test_debugging.py::TestPDB::test_pdb_interaction_exception
- )
-
- [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
- # regressions on pypy3.9
- # https://github.com/pytest-dev/pytest/issues/9787
- testing/test_skipping.py::test_errors_in_xfail_skip_expressions
- testing/test_unraisableexception.py
- )
-
- epytest -p xdist -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/pytest/pytest-8.0.2.ebuild b/dev-python/pytest/pytest-8.0.2.ebuild
deleted file mode 100644
index 1194d1079d5b..000000000000
--- a/dev-python/pytest/pytest-8.0.2.ebuild
+++ /dev/null
@@ -1,107 +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_TESTED=( python3_{11..12} )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-
-inherit distutils-r1 multiprocessing pypi
-
-DESCRIPTION="Simple powerful testing with Python"
-HOMEPAGE="
- https://pytest.org/
- https://github.com/pytest-dev/pytest/
- https://pypi.org/project/pytest/
-"
-
-LICENSE="MIT"
-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 ~x64-solaris"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/iniconfig[${PYTHON_USEDEP}]
- >=dev-python/more-itertools-4.0.0[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pluggy-1.3.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools-scm-6.2.3[${PYTHON_USEDEP}]
- test? (
- ${RDEPEND}
- $(python_gen_cond_dep '
- dev-python/argcomplete[${PYTHON_USEDEP}]
- >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-3.56[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.7.2[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/xmlschema[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
- )
-"
-
-src_test() {
- # workaround new readline defaults
- echo "set enable-bracketed-paste off" > "${T}"/inputrc || die
- local -x INPUTRC="${T}"/inputrc
- distutils-r1_src_test
-}
-
-python_test() {
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- einfo "Skipping tests on ${EPYTHON}"
- return
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x COLUMNS=80
-
- local EPYTEST_DESELECT=(
- # broken by epytest args
- testing/test_warnings.py::test_works_with_filterwarnings
-
- # tend to be broken by random pytest plugins
- # (these tests patch PYTEST_DISABLE_PLUGIN_AUTOLOAD out)
- testing/test_helpconfig.py::test_version_less_verbose
- testing/test_helpconfig.py::test_version_verbose
- testing/test_junitxml.py::test_random_report_log_xdist
- testing/test_junitxml.py::test_runs_twice_xdist
- testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal
- testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal_count
- testing/test_terminal.py::TestProgressOutputStyle::test_xdist_verbose
- testing/test_terminal.py::TestProgressWithTeardown::test_xdist_normal
- testing/test_terminal.py::TestTerminalFunctional::test_header_trailer_info
- testing/test_terminal.py::TestTerminalFunctional::test_no_header_trailer_info
-
- # unstable with xdist
- testing/test_terminal.py::TestTerminalFunctional::test_verbose_reporting_xdist
-
- # TODO (XPASS)
- testing/test_debugging.py::TestDebuggingBreakpoints::test_pdb_not_altered
- testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_simple
- testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_twice
- testing/test_debugging.py::TestPDB::test_pdb_with_injected_do_debug
- testing/test_debugging.py::test_pdb_suspends_fixture_capturing
-
- # setuptools warnings
- testing/acceptance_test.py::TestInvocationVariants::test_cmdline_python_namespace_package
-
- # times out
- testing/test_debugging.py::TestPDB::test_pdb_interaction_exception
- testing/test_debugging.py::TestPDB::test_pdb_with_caplog_on_pdb_invocation
- )
-
- [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
- # regressions on pypy3.9
- # https://github.com/pytest-dev/pytest/issues/9787
- testing/test_skipping.py::test_errors_in_xfail_skip_expressions
- testing/test_unraisableexception.py
- )
-
- epytest -p xdist -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/pytest/pytest-8.1.2.ebuild b/dev-python/pytest/pytest-8.1.2.ebuild
deleted file mode 100644
index 99c0b210fcf3..000000000000
--- a/dev-python/pytest/pytest-8.1.2.ebuild
+++ /dev/null
@@ -1,108 +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_TESTED=( python3_{11..12} )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Simple powerful testing with Python"
-HOMEPAGE="
- https://pytest.org/
- https://github.com/pytest-dev/pytest/
- https://pypi.org/project/pytest/
-"
-
-LICENSE="MIT"
-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 ~x64-solaris"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/iniconfig[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- <dev-python/pluggy-2[${PYTHON_USEDEP}]
- >=dev-python/pluggy-1.4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools-scm-6.2.3[${PYTHON_USEDEP}]
- test? (
- ${RDEPEND}
- $(python_gen_cond_dep '
- dev-python/argcomplete[${PYTHON_USEDEP}]
- >=dev-python/attrs-19.2[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-3.56[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.7.2[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/xmlschema[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
- )
-"
-
-src_test() {
- # workaround new readline defaults
- echo "set enable-bracketed-paste off" > "${T}"/inputrc || die
- local -x INPUTRC="${T}"/inputrc
- distutils-r1_src_test
-}
-
-python_test() {
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- einfo "Skipping tests on ${EPYTHON}"
- return
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x COLUMNS=80
-
- local EPYTEST_DESELECT=(
- # broken by epytest args
- testing/test_warnings.py::test_works_with_filterwarnings
-
- # tend to be broken by random pytest plugins
- # (these tests patch PYTEST_DISABLE_PLUGIN_AUTOLOAD out)
- testing/test_helpconfig.py::test_version_less_verbose
- testing/test_helpconfig.py::test_version_verbose
- testing/test_junitxml.py::test_random_report_log_xdist
- testing/test_junitxml.py::test_runs_twice_xdist
- testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal
- testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal_count
- testing/test_terminal.py::TestProgressOutputStyle::test_xdist_verbose
- testing/test_terminal.py::TestProgressWithTeardown::test_xdist_normal
- testing/test_terminal.py::TestTerminalFunctional::test_header_trailer_info
- testing/test_terminal.py::TestTerminalFunctional::test_no_header_trailer_info
-
- # unstable with xdist
- testing/test_terminal.py::TestTerminalFunctional::test_verbose_reporting_xdist
-
- # TODO (XPASS)
- testing/test_debugging.py::TestDebuggingBreakpoints::test_pdb_not_altered
- testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_simple
- testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_twice
- testing/test_debugging.py::TestPDB::test_pdb_with_injected_do_debug
- testing/test_debugging.py::test_pdb_suspends_fixture_capturing
-
- # setuptools warnings
- testing/acceptance_test.py::TestInvocationVariants::test_cmdline_python_namespace_package
-
- # times out
- testing/test_debugging.py::TestPDB::test_pdb_interaction_exception
- testing/test_debugging.py::TestPDB::test_pdb_with_caplog_on_pdb_invocation
- )
-
- [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
- # regressions on pypy3.9
- # https://github.com/pytest-dev/pytest/issues/9787
- testing/test_skipping.py::test_errors_in_xfail_skip_expressions
- testing/test_unraisableexception.py
- )
-
- local EPYTEST_XDIST=1
- epytest
-}
diff --git a/dev-python/pytest/pytest-8.2.2.ebuild b/dev-python/pytest/pytest-8.2.2.ebuild
deleted file mode 100644
index 6e8e45df8513..000000000000
--- a/dev-python/pytest/pytest-8.2.2.ebuild
+++ /dev/null
@@ -1,111 +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_TESTED=( python3_{11..13} )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Simple powerful testing with Python"
-HOMEPAGE="
- https://pytest.org/
- https://github.com/pytest-dev/pytest/
- https://pypi.org/project/pytest/
-"
-
-LICENSE="MIT"
-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 ~x64-solaris"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/iniconfig[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- <dev-python/pluggy-2[${PYTHON_USEDEP}]
- >=dev-python/pluggy-1.5.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools-scm-6.2.3[${PYTHON_USEDEP}]
- test? (
- ${RDEPEND}
- $(python_gen_cond_dep '
- dev-python/argcomplete[${PYTHON_USEDEP}]
- >=dev-python/attrs-19.2[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-3.56[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.7.2[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/xmlschema[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
- )
-"
-
-src_test() {
- # workaround new readline defaults
- echo "set enable-bracketed-paste off" > "${T}"/inputrc || die
- local -x INPUTRC="${T}"/inputrc
- distutils-r1_src_test
-}
-
-python_test() {
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- einfo "Skipping tests on ${EPYTHON}"
- return
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x COLUMNS=80
-
- local EPYTEST_DESELECT=(
- # broken by epytest args
- testing/test_warnings.py::test_works_with_filterwarnings
-
- # tend to be broken by random pytest plugins
- # (these tests patch PYTEST_DISABLE_PLUGIN_AUTOLOAD out)
- testing/test_helpconfig.py::test_version_less_verbose
- testing/test_helpconfig.py::test_version_verbose
- testing/test_junitxml.py::test_random_report_log_xdist
- testing/test_junitxml.py::test_runs_twice_xdist
- testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal
- testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal_count
- testing/test_terminal.py::TestProgressOutputStyle::test_xdist_verbose
- testing/test_terminal.py::TestProgressWithTeardown::test_xdist_normal
- testing/test_terminal.py::TestTerminalFunctional::test_header_trailer_info
- testing/test_terminal.py::TestTerminalFunctional::test_no_header_trailer_info
-
- # unstable with xdist
- testing/test_terminal.py::TestTerminalFunctional::test_verbose_reporting_xdist
-
- # TODO (XPASS)
- testing/test_debugging.py::TestDebuggingBreakpoints::test_pdb_not_altered
- testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_simple
- testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_twice
- testing/test_debugging.py::TestPDB::test_pdb_with_injected_do_debug
- testing/test_debugging.py::test_pdb_suspends_fixture_capturing
-
- # setuptools warnings
- testing/acceptance_test.py::TestInvocationVariants::test_cmdline_python_namespace_package
-
- # PDB tests seem quite flaky (they time out often)
- testing/test_debugging.py::TestPDB
- )
-
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- # regressions on pypy3.9
- # https://github.com/pytest-dev/pytest/issues/9787
- testing/test_skipping.py::test_errors_in_xfail_skip_expressions
- testing/test_unraisableexception.py
- )
- ;;
- esac
-
- local EPYTEST_XDIST=1
- epytest
-}
diff --git a/dev-python/pytest/pytest-8.3.5-r1.ebuild b/dev-python/pytest/pytest-8.3.5-r1.ebuild
deleted file mode 100644
index 717f967604a4..000000000000
--- a/dev-python/pytest/pytest-8.3.5-r1.ebuild
+++ /dev/null
@@ -1,129 +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_TESTED=( python3_{11..14} pypy3_11 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_{13,14}t )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Simple powerful testing with Python"
-HOMEPAGE="
- https://pytest.org/
- https://github.com/pytest-dev/pytest/
- https://pypi.org/project/pytest/
-"
-
-LICENSE="MIT"
-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 ~x64-solaris"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/iniconfig[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- <dev-python/pluggy-2[${PYTHON_USEDEP}]
- >=dev-python/pluggy-1.5.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools-scm-6.2.3[${PYTHON_USEDEP}]
- test? (
- ${RDEPEND}
- $(python_gen_cond_dep '
- dev-python/argcomplete[${PYTHON_USEDEP}]
- >=dev-python/attrs-19.2[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-3.56[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.7.2[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/xmlschema[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
- )
-"
-
-PATCHES=(
- # https://github.com/pytest-dev/pytest/pull/13291
- "${FILESDIR}/${P}-test.patch"
- # workaround https://github.com/pytest-dev/pytest/issues/13312
- "${FILESDIR}/${P}-pypy.patch"
-)
-
-src_test() {
- # workaround new readline defaults
- echo "set enable-bracketed-paste off" > "${T}"/inputrc || die
- local -x INPUTRC="${T}"/inputrc
- distutils-r1_src_test
-}
-
-python_test() {
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- einfo "Skipping tests on ${EPYTHON}"
- return
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x COLUMNS=80
-
- local EPYTEST_DESELECT=(
- # broken by epytest args
- testing/test_warnings.py::test_works_with_filterwarnings
-
- # does not like verbosity
- testing/test_assertrewrite.py::TestAssertionRewrite::test_len
-
- # tend to be broken by random pytest plugins
- # (these tests patch PYTEST_DISABLE_PLUGIN_AUTOLOAD out)
- testing/test_helpconfig.py::test_version_less_verbose
- testing/test_helpconfig.py::test_version_verbose
- testing/test_junitxml.py::test_random_report_log_xdist
- testing/test_junitxml.py::test_runs_twice_xdist
- testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal
- testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal_count
- testing/test_terminal.py::TestProgressOutputStyle::test_xdist_verbose
- testing/test_terminal.py::TestProgressWithTeardown::test_xdist_normal
- testing/test_terminal.py::TestTerminalFunctional::test_header_trailer_info
- testing/test_terminal.py::TestTerminalFunctional::test_no_header_trailer_info
-
- # unstable with xdist
- testing/test_terminal.py::TestTerminalFunctional::test_verbose_reporting_xdist
-
- # TODO (XPASS)
- testing/test_debugging.py::TestDebuggingBreakpoints::test_pdb_not_altered
- testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_simple
- testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_twice
- testing/test_debugging.py::TestPDB::test_pdb_with_injected_do_debug
- testing/test_debugging.py::test_pdb_suspends_fixture_capturing
-
- # setuptools warnings
- testing/acceptance_test.py::TestInvocationVariants::test_cmdline_python_namespace_package
-
- # PDB tests seem quite flaky (they time out often)
- testing/test_debugging.py::TestPDB
- )
-
- case ${EPYTHON} in
- pypy3*)
- EPYTEST_DESELECT+=(
- # regressions on pypy3.9
- # https://github.com/pytest-dev/pytest/issues/9787
- testing/test_skipping.py::test_errors_in_xfail_skip_expressions
- )
- ;;
- python3.14*)
- EPYTEST_DESELECT+=(
- # still broken on main, as of 2025-05-14
- testing/test_unraisableexception.py::test_unraisable
- testing/test_unraisableexception.py::test_unraisable_in_setup
- testing/test_unraisableexception.py::test_unraisable_in_teardown
- testing/test_debugging.py::test_raises_bdbquit_with_eoferror
- )
- ;;
- esac
-
- local EPYTEST_XDIST=1
- epytest
-}
diff --git a/dev-python/python-ldap/Manifest b/dev-python/python-ldap/Manifest
index b46fb1d0095b..f17fbfa23c64 100644
--- a/dev-python/python-ldap/Manifest
+++ b/dev-python/python-ldap/Manifest
@@ -1 +1,2 @@
DIST python-ldap-3.4.4.gh.tar.gz 378862 BLAKE2B 05a0f9696b888f56ea51f4cdfc21e3c67b10aec8d1d300c1f6b26d23285d81e7a126e0e56e4a8343a5c1f35c919ef340287dc9109d26ed146e1d64a0831b722b SHA512 de87bc6f64540969d1a0ec003f2518c4e8a1899798085371ed017209702fe0c580eea235def8208a5aea42541011b2515c982924f6a75558a84b3f01785254ae
+DIST python-ldap-3.4.5.gh.tar.gz 380704 BLAKE2B bd047f4472d23cbdb8573549e8b769b485bab1797d8325337a659e4388683ba44f8ab2709fa31289b46ab7198d3528247e0d156631c0e48ec7ee989d2b43802d SHA512 5161b7f2b5a0d975f7e5c7e16df132f0b709b986ec8a8e304d836bad278b971f5fdaf4ef39116d62947695f9eb5d7b3315317a3c7973d045c3cbde03933f4308
diff --git a/dev-python/python-ldap/python-ldap-3.4.5.ebuild b/dev-python/python-ldap/python-ldap-3.4.5.ebuild
new file mode 100644
index 000000000000..e2fe95bf6145
--- /dev/null
+++ b/dev-python/python-ldap/python-ldap-3.4.5.ebuild
@@ -0,0 +1,84 @@
+# 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=( pypy3_11 python3_{11..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Various LDAP-related Python modules"
+HOMEPAGE="
+ https://www.python-ldap.org/en/latest/
+ https://pypi.org/project/python-ldap/
+ https://github.com/python-ldap/python-ldap/
+"
+SRC_URI="
+ https://github.com/python-ldap/python-ldap/archive/${P}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S=${WORKDIR}/${PN}-${P}
+
+LICENSE="MIT PSF-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~sparc x86"
+IUSE="examples sasl ssl"
+
+RDEPEND="
+ >=dev-python/pyasn1-0.3.7[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-modules-0.1.5[${PYTHON_USEDEP}]
+ net-nds/openldap:=[sasl?,ssl?]
+"
+# We do not link against cyrus-sasl but we use some
+# of its headers during the build.
+DEPEND="
+ net-nds/openldap:=[sasl?,ssl?]
+ sasl? ( >=dev-libs/cyrus-sasl-2.1 )
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+distutils_enable_sphinx Doc
+
+python_prepare_all() {
+ if ! use sasl; then
+ sed -i 's/HAVE_SASL//g' setup.cfg || die
+ fi
+ if ! use ssl; then
+ sed -i 's/HAVE_TLS//g' setup.cfg || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # Run all tests which don't require slapd
+ local EPYTEST_IGNORE=(
+ t_bind.py
+ t_cext.py
+ t_edit.py
+ t_ldapobject.py
+ t_ldap_options.py
+ t_ldap_sasl.py
+ t_ldap_schema_subentry.py
+ t_ldap_syncrepl.py
+ t_slapdobject.py
+ )
+ pushd Tests >/dev/null || die
+ epytest
+ popd > /dev/null || die
+}
+
+python_install_all() {
+ if use examples; then
+ docinto examples
+ dodoc -r Demo/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-lsp-ruff/Manifest b/dev-python/python-lsp-ruff/Manifest
new file mode 100644
index 000000000000..854f2008f124
--- /dev/null
+++ b/dev-python/python-lsp-ruff/Manifest
@@ -0,0 +1 @@
+DIST python_lsp_ruff-2.3.0.tar.gz 17268 BLAKE2B 4856ef31446fcc3d6e6d5c56b3cfe547e2360f97ace27093cf450d44cef54feb8b1587d6752ecf8fe4c8014afe34a6765204311c4533c764cde1fcb4e9e32185 SHA512 d7ea00489407eb9b2ceb864c3efff5e5f5835ab203d2e02bb2d2f41518a158ea39f2c8c36f2f7369e6b56fbfe19cf16f345e85e7707ab9d68be3b2f1459a225a
diff --git a/dev-python/python-lsp-ruff/metadata.xml b/dev-python/python-lsp-ruff/metadata.xml
new file mode 100644
index 000000000000..e0aed2ab00f7
--- /dev/null
+++ b/dev-python/python-lsp-ruff/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>nowa@gentoo.org</email>
+ <name>Nowa Ammerlaan</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/python-lsp-ruff/python-lsp-ruff-2.3.0.ebuild b/dev-python/python-lsp-ruff/python-lsp-ruff-2.3.0.ebuild
new file mode 100644
index 000000000000..0588d82ea084
--- /dev/null
+++ b/dev-python/python-lsp-ruff/python-lsp-ruff-2.3.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Ruff linting plugin for the Python LSP Server"
+HOMEPAGE="
+ https://github.com/python-lsp/python-lsp-ruff/
+ https://pypi.org/project/python-lsp-ruff/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-util/ruff-0.2.0
+ dev-python/cattrs[${PYTHON_USEDEP}]
+ dev-python/python-lsp-server[${PYTHON_USEDEP}]
+ >=dev-python/lsprotocol-2023.0.1[${PYTHON_USEDEP}]
+"
+
+EPYTEST_DESELECT=(
+ # Fails due to Gentoofied calling of ruff
+ "tests/test_ruff_lint.py::test_ruff_config_param"
+ "tests/test_ruff_lint.py::test_ruff_settings"
+)
+
+distutils_enable_tests pytest
diff --git a/dev-python/python-tests/Manifest b/dev-python/python-tests/Manifest
index 24ce7dab9779..0a48d97d73ce 100644
--- a/dev-python/python-tests/Manifest
+++ b/dev-python/python-tests/Manifest
@@ -1,7 +1,11 @@
DIST Python-3.11.13.tar.xz 20117496 BLAKE2B 444de8eef3a938a387374b152350414b7e2659920784ebc57d5491cacc78cde406b557237fc7f06627e2855f60219b86fe41cb8b82e61fd3b1b448fc7b98af5c SHA512 70f57464d548eac4fe0d0c7f85a14b0e549a4e25ef66de4fc36b06ce72a3efe87dadfcd56ee275c10483cf802fbc9d73b61f9fb2941a46e2f92f075aeb1afe85
DIST Python-3.11.13.tar.xz.asc 833 BLAKE2B c6860aa8687e53b8d9df5d8442490adaff202bfb23817801562577c8d7b81383376342d8e15c5451e25e270746a6d28167f39cfdd75be589e0d58187026a4830 SHA512 6e261490bc7777f0bcebd0464867df98b7955b32f13a445aab3cb6a1a1d3fb804817638f67a8586910fb97291a805b64f130909c06257903f431f8634c691c3b
+DIST Python-3.11.14.tar.xz 20326860 BLAKE2B d0db72842e46fd2b95d245e8fe4550a52ad2eabcb95900d8beb2f871ed25494dba395bf30e93591ecc42b99cd587c6ecb06578d1232fe51a04e37bf00dec307d SHA512 8b5aa917fe67dbaa3c306239ed56c16cd7a3b4b701fab0b3dc0d342d60176c75440713bcab0c59a3289ac4a0f06103bd31140c492556e1937fcdbd990675f9e5
+DIST Python-3.11.14.tar.xz.asc 833 BLAKE2B 5b32ac50e6e725d9949bb6e89179d1c06c4e7d04ea82f6b80b64573c7e05b94da12de5738d0d7a5b73ad8d4cf1a5b35c5738c9e5a4ef93f97bb660f6f8b7cfc7 SHA512 d0049fd6f6d06ae5d86b3587080be060d522dd52e7e56270125541d5617582ea3977b75c7e585da005694665cfc5657e39033a730187c506edc252965f4df769
DIST Python-3.12.11.tar.xz 20525812 BLAKE2B 08eed9d91fe0be305fe9832f5fae5ed4ffdb524283079b6473ed77cc277671356ce2b8f6ca97f55f8ee4954a35fe399099773d0699d6bfbc0aa87a7e9271ba8b SHA512 81f259c5bb293a5b685ebead1dff56c7c9d28eed12edb508b3e5e1a882991e762fc959803cf2734f4233bb1c5407b4f5303324c67b25d860b069d38bbebe4454
DIST Python-3.12.11.tar.xz.asc 963 BLAKE2B 4c7eea750312ba996f88c452e51b58c0176d53f43e5bd30fd41a931540320b598b6d1e93d79996ce30dfa22858c4c3ed2cb24d16ba0a891a146fbf81ec60b07b SHA512 3589deba17c5adcfcd614387a5207ad20db56cd9c7937eb44e21035a8745f1c6bb9a1b7cfe8bc5b58ecc7cca09ed49fd4c2878f65baecb2514e79c666f85a22e
+DIST Python-3.12.12.tar.xz 20798712 BLAKE2B 3ce140b5b2c5e3b055118c8595385c7d79582c64cd8dfe9dbd062f8e38a7a995bf51f7c61e1faa768bd36c315c3493d27cd81c7425c7416454f41f77431eac0f SHA512 4b99d240dd96a6e154909dcffe87f8bb38193d634cd80a1c3d9e819b7a63af2afa46d5e6423e81f00dd388840dc29a4a71580f6aa1ce9a12e559c1d63f65a205
+DIST Python-3.12.12.tar.xz.asc 963 BLAKE2B 243d7e8000768b562ff771ec8dd8fdc6be2bc36174a1f0f8b00038df2264c9d1c8a14913d07df2826fead822a16db18ef08b40d553f6a9bdc0ea39645d6d798a SHA512 32c10fd427c6f9f11595493d1b4d4c3cade85bffd439fe11e8b0b2c619e06734097b6aaedfdb4fe035b7fdd7196714dba77cdc806923e4454d5bcf60056991a0
DIST Python-3.13.5.tar.xz 22856016 BLAKE2B 9caacad8745dcd238b208022cb140a6655ae57ae0b7f5ac88efc84a96635c310102a5de20cbaa43ef3c329f454b142a0a019141279d49a4d657be5682a1d6521 SHA512 2a058072e87b614b204bd1321b2bfa9c4b6614dbd5ded98dc0ee51c0d6b81504f902b7c003ad14295b371a37918f6975dc37d5a9c836dd9c30f8b086e4759193
DIST Python-3.13.5.tar.xz.asc 963 BLAKE2B 2db0162d18129ec42b48393108a72c28e7f8f8c3fa40b2e231c87fe0bdc3c166fb6ca4a1c1dfb3fffe1aa0c2618c7ccb245513beb7a0919b4aaca5ec7eb23b36 SHA512 07c1a2ec2d6ba2805680b7f1dc262fdc5dc3eec4503780ecdc08cd570ccbb5f1efa736ee03c83d36bdb33ce87db06be5892cf5a6eaf4018d5fe78fff99e615ae
DIST Python-3.13.7.tar.xz 22769492 BLAKE2B 8654588ed12e8cd1d691a1869ed1db0d4b9dbb8e265bb0189cfb3cd1f21a298c1d8e9678e27c23b31e6c7f86478f33f3fc6bb66488a550bed60d64b7a801e65a SHA512 73fa04db860e8b98c204f84d403598fcb802b19bfc8f2675df2fddb6b153b1643daf081746a043f57c8fa71b950a439581aa5204c2bfadb8cfd8864ca4f42f0d
@@ -16,8 +20,10 @@ DIST Python-3.14.0rc3.tar.xz 23585028 BLAKE2B a74f441855f20001e04e576bb85227f739
DIST Python-3.14.0rc3.tar.xz.sigstore 5278 BLAKE2B f03ca95d4c143547533744e943045f22d493ad5c05f41644c20007792b6b4dd8fe3677a3bbab62b44c05dcf370e4bce109ed3fba1ac094f564c86538d6be8ec4 SHA512 8101d92af5e4fb67f5d7a378d817ffa8982898865986f1ed47ec0009b2203af4f797d60a07eb50453a85833a23349c472e9be4a7e10c2c9ea7f18c30ae45544c
DIST python-gentoo-patches-3.11.11.tar.xz 10604 BLAKE2B 6be4c66b0458f7a7085aef976cff3dcb4d114ac0b64fb27327a5693e8d41a77f7eeed718b9c5a1b1961278235ee4cd43497aa3dc27e6e6bed65804b95f667a15 SHA512 ab8113a94949cead34d976179f80c3e0a6686bf2476079a74f97b4d08c24a237500dc7ee09dc3b0ec98d2fbcb138397c73d7e2252e617a957a13999e59115158
DIST python-gentoo-patches-3.11.13_p1.tar.xz 27748 BLAKE2B 26e0b5397d7927711bcc40330f72f54fb16c660c56a2f87166c5336eb2f53ccd4e920b906854ee122d64360b414e11a38a31a410936b4a49f6610626203f4322 SHA512 7c7eca7bf827255925e073c0ed5c69e9036b79e35e8f6ccb2684709bdc41fec80823a1df192c3decf56ba6d53e2c9feaf7fb81f3a214da69773da6a2997ca19b
+DIST python-gentoo-patches-3.11.14.tar.xz 15968 BLAKE2B 5bd091046feee03afd59a87b72c44b3a0874b23f89eb98020cc057f5651d31857721eb095bd056dae8bef85220dbe5aff2900cf8411dceb14e8775a4a2f09a93 SHA512 760df16f98c1a91164b43c13eb36073c74169321569791125fdad8682419b818736fe02e40c1aa1232a11081b1007c923a8fd2afd002eb4fdff0800da92d03e2
DIST python-gentoo-patches-3.12.10.tar.xz 10744 BLAKE2B 2abf4874018156d6735cf8604c410dc4726ac9365bc7500abe6b82472aad100aac7268957256692f4275b02965773e58178519ed8038e121f1ffa3c53770d238 SHA512 62066405aa00f46f9645e9c747d53bb93bf510fc791d14d49e00edfd79981778e6c8e07bfa7bac88d76407a0ffd8f7321dea89f81d90b01dbf13f4d381b6a1a3
DIST python-gentoo-patches-3.12.11_p1.tar.xz 23276 BLAKE2B 794485d0fa596f0f2797e2aa505f888a05e2ef63840068b3214efbe51b592586bcfdf193b71e239beb3c3037f01ca086b6b97aeff092b2a344e74d962fb9dffc SHA512 1402b0bbeb189ed4a16364398495fcccc31da0aad4fc88e30978e7754575fbd8f51974dcd97d2a57a581072f083233dfb00b30af687455ad170fc3c64875a9d5
+DIST python-gentoo-patches-3.12.12.tar.xz 12012 BLAKE2B 4a030f976e73160f74dd760a8cac55a5889bf821e998b717962aac8b79780c314dfbabf93a6919daa75565c3ef31dcf6af87f3ec6768db0ff02154c4c112ab08 SHA512 d5ee32b93fb4a1910a8e3aa0486ae284885c05bd03ada3540f4990b4f12c837cd154e76511db663542dde74d652c3d1d279098319dcc991e7195e8db5befea12
DIST python-gentoo-patches-3.13.3.tar.xz 8336 BLAKE2B 66393886fbd034eb14732e4f81f5798e77650ea3fe1c4f8176bd93808b711c8977a53c3f52be6c9b97a368299258b851d9bdb6d4c8e0c75695c6aea784d48b44 SHA512 c1ed31d6aaef81addf786c2ccc1013309b122b791c42fe10e467a677d0db8f149e8b1cc21928c146298918c7ceb851b4b19d1e59f491cb161004e1c9386db289
DIST python-gentoo-patches-3.13.5_p1.tar.xz 19756 BLAKE2B ecc594573bbe3a28364d541d5e1014778c342b6e8ecb09e5e9def238ce73d51f178d02ae91bedce3f7aee4a753f2653aee4f4035f238fa60d603baa59ce4e89b SHA512 a60f3cf65b57aa6c85f59dc5f36fbabe1fa19a5225c3e224c99696bb3d1186b54bdad94627638a3a73b66ceb5958b3a5dcb2b83d13357c71ded04c98ad7da0b9
DIST python-gentoo-patches-3.13.7.tar.xz 7088 BLAKE2B 07acf2a1cc25f95131875e0282f33ce4710094bcb75b8ac1c383aa88456194d19ede17b41dda1b29bbb194a467f56e8fe976e387128aa82507529cba6ba315b7 SHA512 d79a450db4678bb494e85167e5f035ec146f9b8c400e34cbfa1211cda19aef517ffc624b11687425b1e0ff7a63c22129c649aba663fb9cfec12512b09b64d6a6
diff --git a/dev-python/python-tests/python-tests-3.11.14.ebuild b/dev-python/python-tests/python-tests-3.11.14.ebuild
new file mode 100644
index 000000000000..2de17f07042b
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.11.14.ebuild
@@ -0,0 +1,76 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_11 )
+
+inherit python-r1 verify-sig
+
+MY_PV=${PV}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="Test modules from dev-lang/python"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
+ )
+"
+S="${WORKDIR}/${MY_P}/Lib"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+# enable by default to help CI handle it (we have no additional deps)
+IUSE="+python_targets_${PYTHON_COMPAT[0]}"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/python-${PV}:${PYVER}
+ !<dev-lang/python-3.11.9_p2-r1:${PYVER}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ cd .. || die
+ default
+}
+
+src_install() {
+ python_setup
+ # keep in sync with TESTSUBDIRS in Makefile.pre.in
+ local dirs=(
+ ctypes/test distutils/tests idlelib/idle_test lib2to3/tests
+ ./test tkinter/test unittest/test
+ )
+ local dir
+ for dir in "${dirs[@]}"; do
+ python_moduleinto "/usr/lib/python${PYVER}/${dir%/*}"
+ python_domodule "${dir}"
+ done
+}
diff --git a/dev-python/python-tests/python-tests-3.12.12.ebuild b/dev-python/python-tests/python-tests-3.12.12.ebuild
new file mode 100644
index 000000000000..57fe29d9b990
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.12.12.ebuild
@@ -0,0 +1,71 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_12 )
+
+inherit python-r1 verify-sig
+
+MY_PV=${PV}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="Test modules from dev-lang/python"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
+ )
+"
+S="${WORKDIR}/${MY_P}/Lib"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+# enable by default to help CI handle it (we have no additional deps)
+IUSE="+python_targets_${PYTHON_COMPAT[0]}"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/python-${PV}:${PYVER}
+ !<dev-lang/python-3.12.5_p1-r1:${PYVER}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ cd .. || die
+ default
+}
+
+src_install() {
+ python_setup
+ # keep in sync with TESTSUBDIRS in Makefile.pre.in
+ python_moduleinto "/usr/lib/python${PYVER}"
+ python_domodule test
+ python_moduleinto "/usr/lib/python${PYVER}/idlelib"
+ python_domodule idlelib/idle_test
+}
diff --git a/dev-python/python-tests/python-tests-3.14.0.ebuild b/dev-python/python-tests/python-tests-3.14.0.ebuild
index 8fb8b4f068cd..739a489a7cac 100644
--- a/dev-python/python-tests/python-tests-3.14.0.ebuild
+++ b/dev-python/python-tests/python-tests-3.14.0.ebuild
@@ -29,7 +29,7 @@ S="${WORKDIR}/${MY_P}/Lib"
LICENSE="PSF-2"
SLOT="${PYVER}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
# enable by default to help CI handle it (we have no additional deps)
IUSE="+python_targets_${PYTHON_COMPAT[0]}"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
diff --git a/dev-python/pyupgrade/Manifest b/dev-python/pyupgrade/Manifest
index 172643d88bce..aac7d8d5671c 100644
--- a/dev-python/pyupgrade/Manifest
+++ b/dev-python/pyupgrade/Manifest
@@ -1,2 +1,2 @@
-DIST pyupgrade-3.19.1.gh.tar.gz 66379 BLAKE2B 393bf5343e1ca004474d3a0d3e7866fe9a5a9d0a346a375451130c925b9b0a11808e629340d0a1ca69da772ea30f161629974b80cfcbd6e0a3cb086694bb9432 SHA512 383cf36c5efd1e195de58695493ca4b6ce0e55d852cca1605e9a7d1e96812faae871ced1fb6ea1f44390b631eab8cc5d07100645df64cee0d22c35faf10c6f12
DIST pyupgrade-3.20.0.gh.tar.gz 66442 BLAKE2B d03984ba30d5e5eb1c46dba2384ef476ed7bfa41ef7a372d9ff0bf49568c96f07ef596c25f20b06833c17eace00b605c5ba282b013b35b6d7847b30a786f9889 SHA512 e9ed4663aa8fb3ddc77441b569f8f4da17ad6d4493a401d56be353b3b5c04826fd38091a6ef14afa4e1b91889af1e366c15eb7f583ccf2bdcebcf864c18ed819
+DIST pyupgrade-3.21.0.gh.tar.gz 66794 BLAKE2B 6c1588e0e5763f8adcdff74ee675549696b4a2e539afffad093e2221a493a813fbb486aada00bae6a58b03ae22b699fbe01149334c71ee9b7b04a7889be780c8 SHA512 007c93846e869c9a803558e2e73463af48c4ff79cd844e1ccd3745cef958ae85623de8c0f4344e42acd5ae72248fe1ef729df436e5aefa7624ae42af6e7f1f27
diff --git a/dev-python/pyupgrade/pyupgrade-3.19.1.ebuild b/dev-python/pyupgrade/pyupgrade-3.21.0.ebuild
index 52e6f1cbf950..22fd806d7195 100644
--- a/dev-python/pyupgrade/pyupgrade-3.19.1.ebuild
+++ b/dev-python/pyupgrade/pyupgrade-3.21.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2024 Gentoo Authors
+# 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_{10..13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
@@ -27,4 +27,5 @@ RDEPEND="
>=dev-python/tokenize-rt-6.1.0[${PYTHON_USEDEP}]
"
+EPYTEST_PLUGINS=()
distutils_enable_tests pytest
diff --git a/dev-python/regress/Manifest b/dev-python/regress/Manifest
index b11f3f1904b3..5d3c4c6bfd58 100644
--- a/dev-python/regress/Manifest
+++ b/dev-python/regress/Manifest
@@ -1,27 +1,54 @@
DIST allocator-api2-0.2.18.crate 62504 BLAKE2B 8152c5a611be91ba23b1e8647511e21f48e7d4f1a7b9a828083f5bb8747cdc92aee66f73251b19195bbdc1f65aad992632e820d86cbeff287d598257ae3628a6 SHA512 5e5b0e23e1f5b259e5d3746e3e05817af8dee95af7105ea775a5c1d69b4e537a4d6a25e2c1d46ab83e2385217b158f7940dc1315ae581c35ee23289647105e73
+DIST allocator-api2-0.2.21.crate 63622 BLAKE2B 983897fc977118f220dc4af7e801ac08eba77bfde2a25d756bad3e77f849418e74e7c67eaed68e2d719ca7fc6e1e9ce151dd7dbe8707dc43d4a6400294c8fc8e SHA512 1bb5711ed6041b0d7eae2ec784b8aa9d215db0f49cf79c692946eeb0db545d358cbcaa8156ae34e51d05287c08574f1da251ee574f2392949e4ed26d04770d03
DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
+DIST autocfg-1.5.0.crate 18729 BLAKE2B 27580e39b366c6fca02c9db09997b6415c409f12068f1249184268bf96fd85ba659e25ec730f99e10caf452f96c486f3d7442bf09c4552b5f39519b21d6f88cc SHA512 f279856f234d39d369623576acf9546a1ca24d7fe449f36d4fb93ea75a7efaf2c4015b9616a69bbbed358c5e5882e16b045352f046aa4c049b3d13b1e8257b08
DIST cc-1.1.7.crate 81694 BLAKE2B 95f2a266cf4c42cd4212cd07c0fc436400affbacf66c4a089359fcef4ec5c51c727ac6f3876515ea3460076898a0e03da6647ed0d2e67bee5d151194dd47da19 SHA512 2c3b3d99b292ba44b4805f4a77daebeae054267755a08b1a2d5583f89ba1cf01b42e9393279c8f37f64998fd14c9648dcdb41fa5b2390c3c4442afb484f624ef
+DIST cc-1.2.35.crate 89972 BLAKE2B ed908efd3c7cf4a0e66e860dc36f402b0945204d11d1bf697ca4c76eb3528075d9a9536c5a643978acd63741300dbdc0337c74549c9b995f37ecfde329afa617 SHA512 a249adfe9e4c5ab77ec4e391215195fbb274630d2d6676d834cd5afc25bf27f045ec114ad138e43b59e5dc2621a33df5a2615407e9b4dbdb472ca04570da93ee
DIST equivalent-1.0.1.crate 6615 BLAKE2B 302d78069d9df05e78b53f0488a9e4eb98fa2bc1e21893dc8a0acf2234347ba7c4df4b9d6b380ae77d8ffb1074b9c790460fe2dae47318aa1c4fe4208244540a SHA512 b2bc60e804c1b02c461dcefcfd60fc37145af710d183ebe65f9a4d63f2b2072d23193f98dc550a9213c7fdc6a2a837af23b04a89294ebbb681a4aaf5d5031140
+DIST equivalent-1.0.2.crate 7419 BLAKE2B 7ce4fb7b911961cd4ccfb48323eea4952110a069789c6bd177a63391c270df861afadd00c07db7b22768f0864f320e429e0200c433284f528336e2f81d071eff SHA512 8e0e2dc070794a85b276e93f9e4a65d3bbb8587b33fda211c34479a0b88504c913d8bef9e84d7996254aeabe1efe4ff1ef6259ff4fe3f9ccb90dd90070b3e4d4
+DIST find-msvc-tools-0.1.0.crate 29903 BLAKE2B 414458f1449afc85e81c3f7176c31a2cb542d4f6fc3cacc7e3fd4ee720af7e852da5c096a4f8af2bbfc09b0ddd16d12a8eb8c3dcb428750f8bd7e6f5372e4b42 SHA512 2dd01dc4b84d5a651d6de899a3e4653849a3dc38f11d1167855766b0f5b59be80ccab3ad6a05507ead8df2b370acf4deb1ba150fc6ce99a1e08ba6027260b4a1
DIST foldhash-0.1.4.crate 13764 BLAKE2B 7dde82c52671b93d91b2ec9984c0ce539d89d5c80cb115c0db18cf72f84f4fbbe4f7b36b745143102fc83c307df2cae051e4fb461a3131f52c8f98172fc0e72b SHA512 096efd30917c42e75e162a79d5c0ef068af76c7b6206cef880c4a3af92d096b4b4a1cd3de5b66ddb040730d58678c9a651734517dc8a60a265ebddd5559b95c1
+DIST foldhash-0.1.5.crate 21901 BLAKE2B 22c3a266becac17995ac996f5c9caa8dea77e36786c50464e4e7750d8f3f13321a0a1abd3a9abcfd6ff441ddea257066b2dfb7fc6fcf7468f537dbd1b0db737d SHA512 3a634fdec410d87ffced8aa1bf8dacd9316a04c51424563d60b4dd611617041f09085edfd0ec96e6bb0e0db74a0e950b0616d1fb94a31667af35af1637604c22
DIST hashbrown-0.15.2.crate 138478 BLAKE2B 453888ce68b10cd6e93d787986603fceb29b83fe2dc417e7e57316b9e0060d0bba51ec7fb71d46a038662c99f60deac8237a8f349297208d1d223bcc13f0d0ea SHA512 d6fc0613623f9313533dfcab1240e97f652f78f05baa21419f7edb2eff030c4a2c5f426d3eaae747923cffdd8aa9cc2648340e5fc229395b5eacc6fae087c8cd
+DIST hashbrown-0.15.5.crate 140908 BLAKE2B 6a360eaa2e174ddd1e9761bc19edc4b57b80f84c36bb5d64003c7206755d4175a05f39c001acaf000ec69ced9e28c3853bd64702e2927aa7c38527a53abf2201 SHA512 654682535882733b56dad632851fed93a17ad0b2d3e13e3390d7802450781501e275b0e0b39fa32a6eae092132858ed79b305238cd5771c08987c5d26af6d692
DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
DIST indoc-2.0.4.crate 14311 BLAKE2B 8d604e20825ae64530014081c627abe4ecec6447e1e214408743aca79ed217531baad4bd7021137ae6628555d769a248f06acc556cc3254d2626074aab110a44 SHA512 ef1b8d19d89d848c1133f2865247e0ce23cbe5552454805910ed0478ac4acb11b11629aa4a5ce8756d0ed5cbc0644abedeac0246f433166c68f47cf58cf4487a
+DIST indoc-2.0.6.crate 17164 BLAKE2B 1a6cff95bc12ea885ef36b935bf4f1c7870d65be0ff31ffc67dcab904fa80215c1254c1803c5d0c5686252addfad3512e9e1ec79d3edcba026a879f4706926d1 SHA512 e2ea2e5c8226c802bbe0631c1a99d2edd088cbafbf978b2a7b71c7c7f47754c6d4653f466e286441b61cc46def1c7f7a02d4785caab93a61dd785211dba7d1a9
DIST libc-0.2.155.crate 743539 BLAKE2B 42cdcf8d4a187383548b1f09d404474f168916d626d614463fe10a1fd886e972e1caf6297e75445214af3f31fe631d0927e54ec1cdc63e20082b3587e38dce16 SHA512 05354bba532b8338bda1f88f12c7f3893429734a06e33925fca2b99d49548ae5216e2cd84e782d2368a2dfef20b0e035e2dcad8dd13ede7119462a8c639b2807
+DIST libc-0.2.175.crate 788728 BLAKE2B dfbcc891a6da7d327916883deec54dbcb0ee5e7fda0b805926f06088dbbbef0520a838c07a62ea075d6a5a035994ea8130efbbc88e08b928c13b06bc5cf75bb9 SHA512 02fa1b6e61ecec3b626f3c802b53e7f46c98558f6e8c810b46d7322c2e4825f1be87068942ac81c07a2188356c6e2b6836b0dddd784396e43ab3712a62cd17ea
DIST memchr-2.5.0.crate 65812 BLAKE2B 57966413a1f933dcb2d2d4ccb29c247070f65a83299b2a9f5aa83f5a48a5c5f1c4c7c632fa63bd19f9508e9291e7258db2f16e2813a56fd84e0856f70f1e67ab SHA512 444a163b484c233e78c0e2e4d51f01ce2da93d7d29f516a95e4b0866b20bdfd3f34137653abed53eb70387991ee3e2b5937d8d4360a85bbcb50a93005a75defa
+DIST memchr-2.7.5.crate 97603 BLAKE2B ee41ef722d90265064db3ffe22d52eff8f7627ac1ae9b0bad6ca9fa06c1027dca8d67e594e03b03c944dbf85930d2dbf030c5aaed369020ca1a1ba00f153d91a SHA512 2606ee16a7dc02db95dac17cebd2cac9deb2e23d7ea62972cdb19145c06eaf75631347a49c4e6ceeff89fb6e90e992f9bca0a9c955eb5130f89ba2bd865936e1
DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55
+DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa
DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c
+DIST once_cell-1.21.3.crate 34534 BLAKE2B 3578aaef305cad2fdffdc40c392775a3540bfab3f3aeafd22466d9507bf8346b9fcc200929d48525b051070c0aaa423ecbcaa12868b34dca007991effb224166 SHA512 32a87506c6f4598f3ca2c88556014ef2093d5db9a08602335e847caa537a866492fa74c894e7e1da2e4289a1d3dbffcb90a9e37a4a1453203832f434b8206990
+DIST portable-atomic-1.11.1.crate 185506 BLAKE2B 953bb1f2059dc1d891305eb89945f1f6a172fa50972725aee499de72b5dd9b4ad8ccefe4e891183ff8e6b64f4d1bb45ec33b06e0f5af34c940f817b290f746d9 SHA512 4c037ae0b4aef43077bdbf803389bc078d963f20d023e2e1d339a54f67fa9b27c174e7c1b6eca8881ecf301e30c431632d2c0dcedfb5b19552892fac0f81e2e1
DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c
+DIST proc-macro2-1.0.101.crate 53886 BLAKE2B db566c4fb6a197e0aa45cc074310853eaa24ceeafe9fb91f2014ba47cf6b1cbc34e4e9391456c946587540c8e270e1a37f5195cf03bd15ea5d4f171bba9772db SHA512 3171c807d24371da2931f9c706fb3129bb9bf3ac40418e5d14cfc372baf96e5fee9ede72091163858e3ba0b4f88594efa1031b0bb7128ca68e7b847dead6856c
DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434
DIST pyo3-0.25.0.crate 1120850 BLAKE2B 6f373129d032e6980d058ec5dbfea58a7ce0cb8ed2b32aa852a14746cfd3a541b02286676c934a5d7f7bc1bea03e986e93e44de42114f7620b487977c0092d85 SHA512 83336d284eefdef5bc26dec4880e21c608a001b4676b3628eb59b7c0011fb672ca81fca035666b714eeb158809064f9b5b0720802045d5ff8fc9f6af02813c30
+DIST pyo3-0.26.0.crate 1151579 BLAKE2B bcc8236785502928bf4a0b7a320e0a8f3d6140c562de4351a52d015aaebb8dd6b4d68fe607c8ea13ec66941c8f01d2c18c4249adfacb521355d4bf158667f3a3 SHA512 e073a4d893f88aa0301ef0ead78048137515edd93c490e6dccbc301ff65a208534c65c1d216b04639d4b1ec1e4b69bc87bd34974e5d0659134c28dcce589c194
DIST pyo3-build-config-0.25.0.crate 34122 BLAKE2B ba098ff1c963c43d0cd1fdfaec43573ee0d9afff7cc010b7b371504ab66e1fec9233bab04c8c7656c382366d622589d0d5e865a8a271c68a9831ca657b49fcb9 SHA512 f6580bcc12bf8235bd8bdc09908f861645adfcdee31cf88d6443e628601bf3107c1d823c09dacb8e1bdaa171ae49f15e19811b9752600b799a4e86cdea081d40
+DIST pyo3-build-config-0.26.0.crate 34309 BLAKE2B 5ea8b51da2f425674cd3bfcc1090ffdd08da01d2161dc66b08995c20cc859422f9f84077c545e5a0580182910aeb9dbba97838915148a82b86948d1cca3c8722 SHA512 a982d0a0baa4af58c2cef7c0c4b2671e3f559ca7f30586eda9fbd05e842efa2bfea0089ddbc729225b848871f6a25f85e86576e1dff519192ba289cd92c6aa8b
DIST pyo3-ffi-0.25.0.crate 77991 BLAKE2B 0474051570bf71070eab2578e0f9278327ccc48510419d292a81887fffad753ba434db6b795536512a688426eff42ea9805f99b1a3237ec927f6c731033850b2 SHA512 e03cb71493c898408a0692ba7fb4cd704e48c307f5115159f3375fae879e46f5cd7536325d70e7dbd3aeca8ea282a0fb5b5ac609bc807e8b9cb6abbd3a9a2ca5
+DIST pyo3-ffi-0.26.0.crate 78247 BLAKE2B 65f1c399bc763bf8afc36ccac27d28242ebcccebd08ab8d9b3165ca5c9abb10f76e76fe5a250aa1e0cdc1d1e8a613160660f07bc0dbc2812675acb9dfc8e89c2 SHA512 91c2ae828e997dee5e48d839794727e94576228e9329c358a3bc77a59f8f37fa0ae6c2579229782b3f46ab90725844ce9194b9de4d3849d824adf1d40743bf7e
DIST pyo3-macros-0.25.0.crate 8876 BLAKE2B 09c37cc5bdaec6859461a7bb4d1c28d0ddd77a448fb5097275fe7be373897900e2dcdb1c43eb4cc915e1089ac1204f4a7155c4b69478b0778e179aded1449ff0 SHA512 ee1218b6981d94a228bf55f31f0131c094728b12c19b312a77386cace2c4768ad8fc8a1a1999bf27c6a30012e20a1eb7a574d918ccacc421930c12cb1a6386ef
+DIST pyo3-macros-0.26.0.crate 8906 BLAKE2B 60eef72d27b5bc922b75f71ae24bb6f380288cb3a619bf2940b0de47b27e86cce0ffdb1fbdc9c0540d3f15c9df4884497aa1e6efec0f1579ac722b414818a428 SHA512 07bcddba0926c3dff7629da3260f9a38593fbb337b6a68d55c223f5944d912885e5319cd635ae1785026fed4adea1fcc19695ae83aca5bea127c5a8868fd2c43
DIST pyo3-macros-backend-0.25.0.crate 75089 BLAKE2B ea4d87e16616782c60f46f97d87a002ea2873a2ab6f7335da68bab32d636988fa30834c946943d4c56c6e5992c78ba6dc2cf8b613c2a402218599ef3e7a6c5be SHA512 dc2e567a09e746893d7cea57aa456124df31b1e3cb25f5b1fabdc97cd2ae73eea1d57aa642268bdbef3dc1ba0e383893d1b5dfd9cf1f3e818f77b9fc0ef2c486
+DIST pyo3-macros-backend-0.26.0.crate 81809 BLAKE2B 73885035855daf00b001e97e0a5ebe09412d212c8f01aa4db6638ef09990bf1bccbacf2e5a7e6ec21929bb1c2beba06587ecdb6ee954eda9e9c51c6c276cea95 SHA512 4146011a8ef18ecaa44b425eebe6e5e1370945063b98aaa83452e57b66aefbf5d483367b1d4d44aa5091303c4ba7f568c6428ecec0cfa6c90ba41631d4e99367
DIST python3-dll-a-0.2.12.crate 83731 BLAKE2B 2ae21b085e7a7aae2c17584fa5feacfe35e974f1bf96673027cb6b6f382241d115df7c9cd009b0346840b6366163c08a62e1695b0834385e182d250390e446e2 SHA512 4d9860f7ecf689b8e5c865f4f2d2486baae0d6765ecedef08234973e921461a3af56f007dce178de6539053eab28dec0870c9f110c3c66dbf7b076e18d2e1fd7
+DIST python3-dll-a-0.2.14.crate 103489 BLAKE2B a2868aa62d9b5f33ba0ab3be85f486e7b0594b8e535749e251ae9c829eabf9f0211f928c729b0f5b847a89be978c4b5648d333ac657a82acaa3c39520dfe0b8c SHA512 fde53bac2b7009d409d5dfab991b431aea7c16c5e0227a7bb143e73a043cd0490cec2647f73cfc34f73a192e9b365a70fd5b42d969beb2e3251dff44230a2040
DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685
+DIST quote-1.0.40.crate 31063 BLAKE2B 09036ff3e5ebbd775c466bb936de91d4c070481eb4b98c62a4cddcda57cd7b67d63f979b321f6ec64aabee3f5da6c28e7a3efb83f4647768ba578f1bd0bd0bdb SHA512 45a76e22a2b0bec47e4ba73c3b73cc41d821dfcce9876134c5d8eed514da214aee4ce7612e372c8709f888c0d8b9b7e5442f27adb7a59f3571f0339ed7e2ac99
DIST regress-0.10.3.crate 334012 BLAKE2B 50939ae00b3c8fb3d9470809683aa458888ccd6f5d8bd65899f46b24f4aedd1c8275dcb0f09fae423cdfcbf58c78aa81ec033e05dae0ac0e412195546a2433ca SHA512 e0a38b38caf6a6b146fd1575756347aa7bbd68de67af48d7de51be23fcc96e9f80399746bbe9c5c8a08983896f07fdb1b98cf4b682cd5cc05fa7dba9eb93db3b
+DIST regress-0.10.4.crate 345905 BLAKE2B f1560e9de3759d1a37d86557299bcbb26966de8106e8c3eeab13b7f053fb37c6d8fe0562f0126136731b54675655d45a0756171af8b5bb13a4aa3e065197d780 SHA512 e4ac10fef55242f55199da13cdc5673448a86e807d40c2b6d279163ab9954ecc8d4cdf5edf093a918fdbc13fc192aba3a84feb53158dd970e849a77b55defe42
+DIST regress-2025.10.1.tar.gz 11567 BLAKE2B a2e2e8ab878b10e56225d07c7909b6fed46b4975bd17e782bbaf206de429fa6843c31af6af86bfcd58a5048141e6fa9a3c20c1a4a06a7d5535c2934cc4faed7c SHA512 c5b6bcdfa075724ebb1ede4ca98221083f5355759217266758e67af995f89ece7ecb9ab9760a8846a912fdeafedd88b10b91bf777f43bea48d1c75e27080ae37
DIST regress-2025.5.1.tar.gz 10935 BLAKE2B 89722856dfcf2d03a00c4b5bf02ca014d6db7b43faacca7a23149bbd882481f1de26bd6d50b47b9e113f30d820e5dccf605a3b997eba47c7edf44d0e67aed69d SHA512 823dfc37e558eebfba477716a506afd0b323e7fdd409f77cc89462bc208f3debf76ce3b9b7aed35b1b7c3f2d075a5fe9fa919ad4e7da3353ec84c6c7255f3e49
+DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a
+DIST syn-2.0.106.crate 301514 BLAKE2B 6b28b30ee067c23dc4bd1b38365d14c1700245c974e785173965b0822301966d642b36bdda25210d61f17a99fc71eb81e29a56c89d1649773908bae32778fb1f SHA512 e07e1058770fa3f1039eaf335340cefb597c0dd11bb90fec9fa777ca5815d0e0bb1711bb4db52cac77e205dd68fbe2bce0e1aa9895c2a52a1ea6d7758d13424c
DIST syn-2.0.72.crate 267069 BLAKE2B b0b979f78937a10a6db45f96d5d93c595427a4e158d658a2186419d89b219a4a405ade488d88d9ebdbd605ce4b706aba7088ab39a77294f3cf9847bf032d8f91 SHA512 c3d26bf9787555bc6fd8bd789855d252e80ad28a413593e13bad174adf86087ff195a6b4227bdeb6d1a1c87b0af8e965d6f2d04b8d45e7383b6de49990b92e89
DIST target-lexicon-0.13.2.crate 27923 BLAKE2B 0761f0ffdc23b9c9df86b384d59611c7b8b5e29ff068f03367ad2fe84cfb6d11e1af149b9338236978e9566fedc51387db9f239d2a602db41045ac3db907faec SHA512 d25e3cc3d679cb6b6f24c03e0c24db9d6ca31b8ed42ac9531bd7637557fbba225a6c8ac4f68a8eaf3569195814d599e668a968afbc73b940a77cbc27552cc90a
+DIST unicode-ident-1.0.18.crate 47743 BLAKE2B 517ab42a847020515b2b871844d0571ea672340f89a762631a791eac18935ac122122fa5566e58b99ab47de179eadb5298e8ff1d05b123c4e93b7fa989c8e31f SHA512 d11f89fb696f9e2953c96a40b5478832651b268c83b9c7a700b07e768e795d6e8dc346597d1226df21219d36866768d1f640bd8edb68db8bd3d5d437b2bfd324
DIST unicode-ident-1.0.8.crate 41962 BLAKE2B 3e3394a421460b0cdd56f96e1149b3816651ffd7064f9ec85c12050917d0b271eeee4bc3f6d3f0a3c1596635df3dac54bd610243d34e459743fe29b3b931a237 SHA512 8104999c6fff002c5aa109e2ca75ce3eaf772155d31dff87bcf39e3eb3da58b6cb543717be7b55acdb0cb1a4bd2a3d2e9c9974f7f75b6528668f5ef665ef4088
DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
+DIST unindent-0.2.4.crate 7422 BLAKE2B 2e7870cd4f78240dbb1e5fb9c0f9b55c57bb40242fe668f105a0e862f1d6300e31efbffe0cdff676a5f96a8d19dfb148f88bfef1cd8a710556d777fd0f4ee37f SHA512 58bd4fd20a0b0a7200e0ea3ea70553cea135a5a8f7a2fb178520c41228f435becce4b9981019b7c73a17df87a2ee9b2a47c4cec29a3011bfe848d48b2473761b
diff --git a/dev-python/regress/regress-2025.10.1.ebuild b/dev-python/regress/regress-2025.10.1.ebuild
new file mode 100644
index 000000000000..f67cf9d4a096
--- /dev/null
+++ b/dev-python/regress/regress-2025.10.1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
+
+RUST_MIN_VER="1.85.0"
+CRATES="
+ allocator-api2@0.2.21
+ autocfg@1.5.0
+ cc@1.2.35
+ equivalent@1.0.2
+ find-msvc-tools@0.1.0
+ foldhash@0.1.5
+ hashbrown@0.15.5
+ heck@0.5.0
+ indoc@2.0.6
+ libc@0.2.175
+ memchr@2.7.5
+ memoffset@0.9.1
+ once_cell@1.21.3
+ portable-atomic@1.11.1
+ proc-macro2@1.0.101
+ pyo3-build-config@0.26.0
+ pyo3-ffi@0.26.0
+ pyo3-macros-backend@0.26.0
+ pyo3-macros@0.26.0
+ pyo3@0.26.0
+ python3-dll-a@0.2.14
+ quote@1.0.40
+ regress@0.10.4
+ shlex@1.3.0
+ syn@2.0.106
+ target-lexicon@0.13.2
+ unicode-ident@1.0.18
+ unindent@0.2.4
+"
+
+inherit cargo distutils-r1
+
+DESCRIPTION="Python bindings to the Rust regress crate"
+HOMEPAGE="
+ https://pypi.org/project/regress/
+ https://github.com/crate-py/regress
+"
+SRC_URI="
+ https://github.com/crate-py/regress/releases/download/v${PV}/${P}.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0 ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/regress/regress.*.so"
diff --git a/dev-python/resolvelib/Manifest b/dev-python/resolvelib/Manifest
index 4485d5fda354..87e053bf5d77 100644
--- a/dev-python/resolvelib/Manifest
+++ b/dev-python/resolvelib/Manifest
@@ -1,3 +1,4 @@
DIST resolvelib-1.0.1.gh.tar.gz 769608 BLAKE2B 7715f61d262cb79ce08f0431650e6213def4582a0774cf36dab722d88013f7bc9c72a31a957d3782e35b315158982c3311fe3e06e26bbf9040fa96b239934661 SHA512 a35f7fdbc3aba5b44fdf6b9c55b082156ca641dfe5825611be6364622bcaaf45faafa2c45bdd13d1b5723a55732759a806905ab4b6f366fba0474d1f808d91bc
DIST resolvelib-1.1.0.gh.tar.gz 772503 BLAKE2B 6dfda2dc8bc8fc6c5bd53de6f4cd0a44fc39cd53a3a8b01c8a9f135f64ef2ec022248a87d8c8302af4a3c1ea171751de4cba26139a7231bdf143b115f048bfe9 SHA512 d3b2a49c4cd6e6a27bb1eb5a8672a2b4f6daa315b82f0f008a915094a59bd2f38ad64fd83fba4387a50686a3ededb13c24839afd4d45d9766467d7e70f7b863a
DIST resolvelib-1.2.0.gh.tar.gz 773960 BLAKE2B dd325d305db82fb065286175c822ffd447e8ebe414497b831409789e2e0233384c6a4ea8a027e58e8c7a7ed4e48f512e61708cbeb6906bfc9113104fcb5e38fb SHA512 b4b2af8fa575c03417f8cdc020538c8614c4ef189b498120266ea88ae98e0a0df9cc2ade28b5c4dbdb9f21633652949f51813f252ee3b48866bbc950416678dc
+DIST resolvelib-1.2.1.gh.tar.gz 775041 BLAKE2B 1ce96c359deaadc9707ca7fb334278bfe84255bfe579ff8ca3881f42a0d48a4ee9c873c8b24400ed898fa8c453ca192f77a4b342885e0f338ae285163c2a97f6 SHA512 516e74b532cdb48434dc1bb4eeeac64cdf73bcd717e83aa81e75f8c0dfaecddd11e4404b41a4296c4f696470352b080d58271dda90b41c966537adee630adfab
diff --git a/dev-python/resolvelib/resolvelib-1.2.1.ebuild b/dev-python/resolvelib/resolvelib-1.2.1.ebuild
new file mode 100644
index 000000000000..0b744e57990b
--- /dev/null
+++ b/dev-python/resolvelib/resolvelib-1.2.1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2021-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} pypy3_11 )
+
+inherit distutils-r1
+
+DESCRIPTION="Resolve abstract dependencies into concrete ones"
+HOMEPAGE="
+ https://github.com/sarugaku/resolvelib/
+ https://pypi.org/project/resolvelib/
+
+"
+SRC_URI="
+ https://github.com/sarugaku/resolvelib/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/packaging[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/rich-click/Manifest b/dev-python/rich-click/Manifest
index 4e245a5d4de0..f1046a45334d 100644
--- a/dev-python/rich-click/Manifest
+++ b/dev-python/rich-click/Manifest
@@ -1,3 +1,3 @@
DIST rich-click-1.8.9.gh.tar.gz 8142387 BLAKE2B de7aa54989747d47c2d147cec8235c4619a90b5a536266dbf2f499f704c3671bb4697bbcb23b0d0827caaf52d65dd29157f01918d29abc9c469fdd6c84af0c84 SHA512 6655ee3ac54fdae5a1221ef2ceaae35aa2ed8381c29f9808bb852d0790426a90d1fcb1a82faa61a22112946b988f891fc76dc3976ae756702458c547d7014745
-DIST rich-click-1.9.1.gh.tar.gz 8522706 BLAKE2B 51568fb38662585569032b0e2b1cf2c0d7e20d21402cbd571fb51d61f69d96589e5a3fe983266dcd5245b020d83d50422c86ef1af1d10833f04677abc2afb359 SHA512 f1de1dadc261aa38b017752a77d8bd63fb2c74ef01d744d3557a6fae9372731e51b7c5805a34cb4f323fffaa7a990ed19ac035d1c5e3c4984c3a2e8b6c9e6e7c
DIST rich-click-1.9.2.gh.tar.gz 8523167 BLAKE2B 85b24d86996919f8a1dbc68c5c73b0446d5b54dbe4b6709054a79c6fa640d1b87b0cab41e67fa37dacd525efa8b0898f2b3d380beee8942a26496d440f86aedf SHA512 36775ca1e172320f5923076230d6bbd954ae63f668b2c4f89caa7412a91bb2f68ca09686280cd13bd9a488ac20e0eb50dd942efdcc82c196c3d650ca32958387
+DIST rich-click-1.9.3.gh.tar.gz 8523240 BLAKE2B bba09c1046f0ecc6c478e31214538c6c8f9fcd75a971acdf720fa27bae582dadc7ba7d06089d8591fd9c56a9d71201c41f0d16c0f33830ea8e5afb405fbdc16c SHA512 93b05bbea12471e1a3e4c710b2f34fab024e5dbeab7f77ac8301be640a0a97fd02f8b1a64c06119727b3751656270d5595c5e9dde5bcccfd2d037fa013120407
diff --git a/dev-python/rich-click/rich-click-1.9.1.ebuild b/dev-python/rich-click/rich-click-1.9.3.ebuild
index 5090b0ab929d..5090b0ab929d 100644
--- a/dev-python/rich-click/rich-click-1.9.1.ebuild
+++ b/dev-python/rich-click/rich-click-1.9.3.ebuild
diff --git a/dev-python/rich/Manifest b/dev-python/rich/Manifest
index 2ab4c21eb8c5..9ce159c9f86e 100644
--- a/dev-python/rich/Manifest
+++ b/dev-python/rich/Manifest
@@ -1 +1,2 @@
DIST rich-14.1.0.gh.tar.gz 15070577 BLAKE2B b1ce2783dc3292df250f416812a6bd7d1c6cc2f15a979f50dd6811771de3beb01f4baf8d5b1ec50c2929dd572578daac58e332017e62e60f51b45e34ed5ac953 SHA512 39971d8811b754e708aa422f71a777164aee1ec0b76df3b350b637fdd6c3d3a715ccc36dfce587355b4ec95ce73a8d197da1179be13c7c1d936ba45bd2073a64
+DIST rich-14.2.0.gh.tar.gz 15072049 BLAKE2B a44560624c3e3b77f279885935a239b162251087a4a58688c40ec7feb84fd7f4948b5966091231e71067131875c3ad71fd8ee4f5e72d90a872c5dc6f08d1d071 SHA512 8e1f7ee149ceac9074cf60ad1298f2b96cdeeb1f71e1e4181101ab0b0da858d03907998a8667fb73154abf02ae511c595257618bcc3321136df253842f8e4a85
diff --git a/dev-python/rich/rich-14.2.0.ebuild b/dev-python/rich/rich-14.2.0.ebuild
new file mode 100644
index 000000000000..e4fc93438a4f
--- /dev/null
+++ b/dev-python/rich/rich-14.2.0.ebuild
@@ -0,0 +1,68 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{11..14} pypy3_11 )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Python library for rendering rich text, tables, etc. to the terminal"
+HOMEPAGE="
+ https://github.com/Textualize/rich/
+ https://pypi.org/project/rich/
+"
+SRC_URI="
+ https://github.com/Textualize/rich/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/colorama[${PYTHON_USEDEP}]
+ >=dev-python/markdown-it-py-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.13.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/attrs-21.4.0[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ tests/test_console.py::test_size_can_fall_back_to_std_descriptors
+ # TODO: segfault in recursion (PyQt6 interfering?)
+ tests/test_traceback.py::test_recursive
+ # TODO: some random dep changes?
+ tests/test_markdown.py::test_inline_code
+ tests/test_syntax.py::test_blank_lines
+ tests/test_syntax.py::test_python_render_simple_indent_guides
+ # pygments version?
+ tests/test_syntax.py::test_from_path
+ tests/test_syntax.py::test_syntax_guess_lexer
+ )
+ # version-specific output -- the usual deal
+ case ${EPYTHON} in
+ pypy3.11)
+ EPYTEST_DESELECT+=(
+ tests/test_inspect.py::test_inspect_integer_with_methods_python311
+ )
+ ;;
+ esac
+
+ local -x COLUMNS=80
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "integration with HTML widgets for Jupyter" dev-python/ipywidgets
+}
diff --git a/dev-python/scikit-build/Manifest b/dev-python/scikit-build/Manifest
index 1250f0524af1..88e42dfdb653 100644
--- a/dev-python/scikit-build/Manifest
+++ b/dev-python/scikit-build/Manifest
@@ -1,3 +1 @@
-DIST scikit_build-0.17.6.tar.gz 272208 BLAKE2B 9e3f908041eca89182f798c54a1a248934dc026816f7cd041a8debc97be27096942dda42a0ae63e87b9337304a478d6f520edcd5ea7a45aae6a195d1f769eed2 SHA512 92b97146f40d8222bd8415ef8439497d5075b72e5bafc40aba0a3e2911d269a118f2f7d41f468f7add8949f550b1fd7d5a9113d249e42dfac431108182ca9198
-DIST scikit_build-0.18.0.tar.gz 273824 BLAKE2B 2eac991ea22948e900c4485783f5bcbb8b87bd5858bbe7ade99b2a67c16a9a035e04c53b2d9b94422a5eff36f33c11cf297198bce520ba818b7355386977a8a1 SHA512 a374f86c69a288ddcfe8e8d95b594b2bf94365b4d6d4d25a7912cf871f12dfb1866b1d74694c919ef8e4fef3d166b7afe9de3b32b56add33173840a9bb917c71
DIST scikit_build-0.18.1.tar.gz 274171 BLAKE2B af82af368f883450c98670e26c414181ab60ef04615986843967f537e206e6c64901c9eace8f12af12f067178cad14886d853d230200463b00452f7ec550436f SHA512 872f4bc4c313459842b537ded5503799da5b5e02a8e403eb3095edd719ea7be32942ce4e9c7cd55a4f78c2f032627f7398e99db6be19b711c8e1d906264dba48
diff --git a/dev-python/scikit-build/files/scikit-build-0.17.6-setuptools-69.3.patch b/dev-python/scikit-build/files/scikit-build-0.17.6-setuptools-69.3.patch
deleted file mode 100644
index ce5121bea72f..000000000000
--- a/dev-python/scikit-build/files/scikit-build-0.17.6-setuptools-69.3.patch
+++ /dev/null
@@ -1,164 +0,0 @@
-From acee12430753e8350435d4304196e8eaa654ccd6 Mon Sep 17 00:00:00 2001
-From: Steve Kowalik <steven@wedontsleep.org>
-Date: Mon, 3 Jun 2024 20:47:20 +1000
-Subject: [PATCH] Support setuptools 69.3.0 changes in four tests
-
-setuptools 69.3.0 now canonicalizes package names in filenames, which
-means all dashes are now converted to underscores, leading to test
-failures due to FileNotFoundErrors. Handle both cases to support older
-and newer setuptools.
----
- tests/test_hello_cython.py | 23 ++++++++++++++---------
- tests/test_hello_fortran.py | 29 +++++++++++++++++------------
- tests/test_hello_pure.py | 15 ++++++++++-----
- tests/test_manifest_in.py | 17 +++++++++++------
- 4 files changed, 52 insertions(+), 32 deletions(-)
-
-diff --git a/tests/test_hello_cython.py b/tests/test_hello_cython.py
-index dc95f697..1d9e944d 100644
---- a/tests/test_hello_cython.py
-+++ b/tests/test_hello_cython.py
-@@ -29,20 +29,25 @@ def test_hello_cython_sdist():
- sdists_zip = glob.glob("dist/*.zip")
- assert sdists_tar or sdists_zip
-
-+ dirname = "hello-cython-1.2.3"
-+ # setuptools 69.3.0 and above now canonicalize the filename as well.
-+ if any("hello_cython" in x for x in sdists_zip + sdists_tar):
-+ dirname = "hello_cython-1.2.3"
-+
- expected_content = [
-- "hello-cython-1.2.3/CMakeLists.txt",
-- "hello-cython-1.2.3/hello/_hello.pyx",
-- "hello-cython-1.2.3/hello/CMakeLists.txt",
-- "hello-cython-1.2.3/hello/__init__.py",
-- "hello-cython-1.2.3/hello/__main__.py",
-- "hello-cython-1.2.3/setup.py",
-+ f"{dirname}/CMakeLists.txt",
-+ f"{dirname}/hello/_hello.pyx",
-+ f"{dirname}/hello/CMakeLists.txt",
-+ f"{dirname}/hello/__init__.py",
-+ f"{dirname}/hello/__main__.py",
-+ f"{dirname}/setup.py",
- ]
-
-- sdist_archive = "dist/hello-cython-1.2.3.zip"
-+ sdist_archive = f"dist/{dirname}.zip"
- if sdists_tar:
-- sdist_archive = "dist/hello-cython-1.2.3.tar.gz"
-+ sdist_archive = f"dist/{dirname}.tar.gz"
-
-- check_sdist_content(sdist_archive, "hello-cython-1.2.3", expected_content, package_dir="hello")
-+ check_sdist_content(sdist_archive, dirname, expected_content, package_dir="hello")
-
-
- @project_setup_py_test("hello-cython", ["bdist_wheel"])
-diff --git a/tests/test_hello_fortran.py b/tests/test_hello_fortran.py
-index 41f5f444..be9cede9 100644
---- a/tests/test_hello_fortran.py
-+++ b/tests/test_hello_fortran.py
-@@ -33,23 +33,28 @@ def test_hello_fortran_sdist():
- sdists_zip = glob.glob("dist/*.zip")
- assert sdists_tar or sdists_zip
-
-+ dirname = "hello-fortran-1.2.3"
-+ # setuptools 69.3.0 and above now canonicalize the filename as well.
-+ if any("hello_fortran" in x for x in sdists_zip + sdists_tar):
-+ dirname = "hello_fortran-1.2.3"
-+
- expected_content = [
-- "hello-fortran-1.2.3/bonjour/_bonjour.f90",
-- "hello-fortran-1.2.3/bonjour/_bonjour.pyf",
-- "hello-fortran-1.2.3/bonjour/CMakeLists.txt",
-- "hello-fortran-1.2.3/CMakeLists.txt",
-- "hello-fortran-1.2.3/hello/_hello.f90",
-- "hello-fortran-1.2.3/hello/CMakeLists.txt",
-- "hello-fortran-1.2.3/hello/__init__.py",
-- "hello-fortran-1.2.3/hello/__main__.py",
-- "hello-fortran-1.2.3/setup.py",
-+ f"{dirname}/bonjour/_bonjour.f90",
-+ f"{dirname}/bonjour/_bonjour.pyf",
-+ f"{dirname}/bonjour/CMakeLists.txt",
-+ f"{dirname}/CMakeLists.txt",
-+ f"{dirname}/hello/_hello.f90",
-+ f"{dirname}/hello/CMakeLists.txt",
-+ f"{dirname}/hello/__init__.py",
-+ f"{dirname}/hello/__main__.py",
-+ f"{dirname}/setup.py",
- ]
-
-- sdist_archive = "dist/hello-fortran-1.2.3.zip"
-+ sdist_archive = f"dist/{dirname}.zip"
- if sdists_tar:
-- sdist_archive = "dist/hello-fortran-1.2.3.tar.gz"
-+ sdist_archive = f"dist/{dirname}.tar.gz"
-
-- check_sdist_content(sdist_archive, "hello-fortran-1.2.3", expected_content)
-+ check_sdist_content(sdist_archive, dirname, expected_content)
-
-
- @pytest.mark.fortran()
-diff --git a/tests/test_hello_pure.py b/tests/test_hello_pure.py
-index 21b0840b..cc176854 100644
---- a/tests/test_hello_pure.py
-+++ b/tests/test_hello_pure.py
-@@ -27,16 +27,21 @@ def test_hello_pure_sdist():
- sdists_zip = glob.glob("dist/*.zip")
- assert sdists_tar or sdists_zip
-
-+ dirname = "hello-pure-1.2.3"
-+ # setuptools 69.3.0 and above now canonicalize the filename as well.
-+ if any("hello_pure" in x for x in sdists_zip + sdists_tar):
-+ dirname = "hello_pure-1.2.3"
-+
- expected_content = [
-- "hello-pure-1.2.3/hello/__init__.py",
-- "hello-pure-1.2.3/setup.py",
-+ f"{dirname}/hello/__init__.py",
-+ f"{dirname}/setup.py",
- ]
-
-- sdist_archive = "dist/hello-pure-1.2.3.zip"
-+ sdist_archive = f"dist/{dirname}.zip"
- if sdists_tar:
-- sdist_archive = "dist/hello-pure-1.2.3.tar.gz"
-+ sdist_archive = f"dist/{dirname}.tar.gz"
-
-- check_sdist_content(sdist_archive, "hello-pure-1.2.3", expected_content)
-+ check_sdist_content(sdist_archive, dirname, expected_content)
-
-
- @project_setup_py_test("hello-pure", ["bdist_wheel"], disable_languages_test=True)
-diff --git a/tests/test_manifest_in.py b/tests/test_manifest_in.py
-index 86652308..65c23d1a 100644
---- a/tests/test_manifest_in.py
-+++ b/tests/test_manifest_in.py
-@@ -21,17 +21,22 @@ def test_manifest_in_sdist():
- sdists_zip = glob.glob("dist/*.zip")
- assert sdists_tar or sdists_zip
-
-+ dirname = "manifest-in-1.2.3"
-+ # setuptools 69.3.0 and above now canonicalize the filename as well.
-+ if any("manifest_in" in x for x in sdists_zip + sdists_tar):
-+ dirname = "manifest_in-1.2.3"
-+
- expected_content = [
-- "manifest-in-1.2.3/hello/__init__.py",
-- "manifest-in-1.2.3/setup.py",
-- "manifest-in-1.2.3/MANIFEST.in",
-+ f"{dirname}/hello/__init__.py",
-+ f"{dirname}/setup.py",
-+ f"{dirname}/MANIFEST.in",
- ]
-
-- sdist_archive = "dist/manifest-in-1.2.3.zip"
-+ sdist_archive = f"dist/{dirname}.zip"
- if sdists_tar:
-- sdist_archive = "dist/manifest-in-1.2.3.tar.gz"
-+ sdist_archive = f"dist/{dirname}.tar.gz"
-
-- check_sdist_content(sdist_archive, "manifest-in-1.2.3", expected_content)
-+ check_sdist_content(sdist_archive, dirname, expected_content)
-
-
- @project_setup_py_test("manifest-in", ["bdist_wheel"], disable_languages_test=True)
diff --git a/dev-python/scikit-build/scikit-build-0.17.6.ebuild b/dev-python/scikit-build/scikit-build-0.17.6.ebuild
deleted file mode 100644
index 3d280e6df67f..000000000000
--- a/dev-python/scikit-build/scikit-build-0.17.6.ebuild
+++ /dev/null
@@ -1,77 +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_{11..13} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Improved build system generator for Python C/C++/Fortran/Cython extensions"
-HOMEPAGE="
- https://github.com/scikit-build/scikit-build/
- https://pypi.org/project/scikit-build/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-RDEPEND="
- dev-python/distro[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/setuptools-42.0.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.10)
- >=dev-python/wheel-0.32.0[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- >=dev-python/build-0.7[${PYTHON_USEDEP}]
- >=dev-python/cython-0.25.1[${PYTHON_USEDEP}]
- >=dev-python/pytest-mock-1.10.4[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs \
- dev-python/sphinx-rtd-theme \
- dev-python/sphinx-issues
-# note: tests are unstable with xdist
-distutils_enable_tests pytest
-
-src_prepare() {
- local PATCHES=(
- # https://github.com/scikit-build/scikit-build/pull/1087
- "${FILESDIR}/${P}-setuptools-69.3.patch"
- )
-
- # not packaged
- sed -i -e '/cmakedomain/d' docs/conf.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=()
-
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- # no "library" in (our install of) pypy3
- tests/test_cmaker.py::test_get_python_library
- )
- ;;
- esac
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pytest_mock \
- -m "not isolated and not nosetuptoolsscm" \
- -o tmp_path_retention_count=1
- rm -r "${BUILD_DIR}/install$(python_get_sitedir)"/{easy-install.pth,*.egg,*.egg-link} || die
-}
diff --git a/dev-python/scikit-build/scikit-build-0.18.0.ebuild b/dev-python/scikit-build/scikit-build-0.18.0.ebuild
deleted file mode 100644
index 168be8f52e57..000000000000
--- a/dev-python/scikit-build/scikit-build-0.18.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=( pypy3 python3_{10..13} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Improved build system generator for Python C/C++/Fortran/Cython extensions"
-HOMEPAGE="
- https://github.com/scikit-build/scikit-build/
- https://pypi.org/project/scikit-build/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- dev-python/distro[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/setuptools-42.0.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.10)
- >=dev-python/wheel-0.32.0[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- >=dev-python/build-0.7[${PYTHON_USEDEP}]
- >=dev-python/cython-0.25.1[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- >=dev-python/pytest-mock-1.10.4[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs \
- dev-python/sphinx-rtd-theme \
- dev-python/sphinx-issues
-# note: tests are unstable with xdist
-distutils_enable_tests pytest
-
-src_prepare() {
- # not packaged
- sed -i -e '/cmakedomain/d' docs/conf.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=()
-
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- # no "library" in (our install of) pypy3
- tests/test_cmaker.py::test_get_python_library
- )
- ;;
- esac
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pytest_mock \
- -m "not isolated and not nosetuptoolsscm" \
- -o tmp_path_retention_count=1
- rm -r "${BUILD_DIR}/install$(python_get_sitedir)"/{easy-install.pth,*.egg,*.egg-link} || die
-}
diff --git a/dev-python/scikit-build/scikit-build-0.18.1.ebuild b/dev-python/scikit-build/scikit-build-0.18.1.ebuild
index 4416285194dd..504491747ab2 100644
--- a/dev-python/scikit-build/scikit-build-0.18.1.ebuild
+++ b/dev-python/scikit-build/scikit-build-0.18.1.ebuild
@@ -32,7 +32,6 @@ BDEPEND="
>=dev-python/build-0.7[${PYTHON_USEDEP}]
>=dev-python/cython-0.25.1[${PYTHON_USEDEP}]
dev-python/pip[${PYTHON_USEDEP}]
- >=dev-python/pytest-mock-1.10.4[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
dev-python/virtualenv[${PYTHON_USEDEP}]
)
@@ -42,6 +41,7 @@ distutils_enable_sphinx docs \
dev-python/sphinx-rtd-theme \
dev-python/sphinx-issues
# note: tests are unstable with xdist
+EPYTEST_PLUGINS=( pytest-mock )
distutils_enable_tests pytest
src_prepare() {
@@ -62,21 +62,10 @@ python_test() {
tests/test_hello_cpp.py::test_hello_develop
)
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- # no "library" in (our install of) pypy3
- tests/test_cmaker.py::test_get_python_library
- )
- ;;
- esac
-
# create a separate test tree since skbuild tests install random stuff
cp -r "${BUILD_DIR}"/{install,test} || die
local -x PATH=${BUILD_DIR}/test${EPREFIX}/usr/bin:${PATH}
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pytest_mock \
- -m "not isolated and not nosetuptoolsscm" \
+ epytest -m "not isolated and not nosetuptoolsscm" \
-o tmp_path_retention_count=1
}
diff --git a/dev-python/sigstore-models/sigstore-models-0.0.5.ebuild b/dev-python/sigstore-models/sigstore-models-0.0.5.ebuild
index 76e4c7132a46..54224175d969 100644
--- a/dev-python/sigstore-models/sigstore-models-0.0.5.ebuild
+++ b/dev-python/sigstore-models/sigstore-models-0.0.5.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~ppc ~ppc64"
RDEPEND="
>=dev-python/pydantic-2.11.7[${PYTHON_USEDEP}]
diff --git a/dev-python/sigstore-protobuf-specs/sigstore-protobuf-specs-0.3.2.ebuild b/dev-python/sigstore-protobuf-specs/sigstore-protobuf-specs-0.3.2.ebuild
index f75f42fb6bb0..c26105223de4 100644
--- a/dev-python/sigstore-protobuf-specs/sigstore-protobuf-specs-0.3.2.ebuild
+++ b/dev-python/sigstore-protobuf-specs/sigstore-protobuf-specs-0.3.2.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64"
+KEYWORDS="amd64 ~ppc ~ppc64"
RDEPEND="
~dev-python/betterproto-2.0.0_beta6[${PYTHON_USEDEP}]
diff --git a/dev-python/sigstore-protobuf-specs/sigstore-protobuf-specs-0.5.0.ebuild b/dev-python/sigstore-protobuf-specs/sigstore-protobuf-specs-0.5.0.ebuild
index 57230d286201..dfbf1bd975ee 100644
--- a/dev-python/sigstore-protobuf-specs/sigstore-protobuf-specs-0.5.0.ebuild
+++ b/dev-python/sigstore-protobuf-specs/sigstore-protobuf-specs-0.5.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64"
+KEYWORDS="amd64 ~ppc ~ppc64"
RDEPEND="
~dev-python/betterproto-2.0.0_beta7[${PYTHON_USEDEP}]
diff --git a/dev-python/sigstore-rekor-types/sigstore-rekor-types-0.0.18.ebuild b/dev-python/sigstore-rekor-types/sigstore-rekor-types-0.0.18.ebuild
index 12090af36aec..c6644a5f9819 100644
--- a/dev-python/sigstore-rekor-types/sigstore-rekor-types-0.0.18.ebuild
+++ b/dev-python/sigstore-rekor-types/sigstore-rekor-types-0.0.18.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64"
+KEYWORDS="amd64 ~ppc ~ppc64"
RDEPEND="
>=dev-python/email-validator-2[${PYTHON_USEDEP}]
diff --git a/dev-python/sigstore/Manifest b/dev-python/sigstore/Manifest
index 18b057110373..4577c3152799 100644
--- a/dev-python/sigstore/Manifest
+++ b/dev-python/sigstore/Manifest
@@ -1,2 +1,3 @@
DIST sigstore-python-3.6.5.gh.tar.gz 281176 BLAKE2B 23d4ccffaa2e779fdb65406f452d0c559a2c0699560d996f3b71d326d38da38bc6a264c3d4195b866d9764289a986de7f732afc64f33995f98557e759baf0c79 SHA512 a4fd2cfe1619db363b33ea03e940ae6d3b97bb838501d704926cf32b63f7c2ce75ace9915ec466ab4a9714c9a2b45578aa3006b9c19ca022c588d50bb53ae5bb
+DIST sigstore-python-3.6.6.gh.tar.gz 281340 BLAKE2B 79a2d099e4c7dfe611ef666479bad6923ad70ba6d0e737d25855fe32a6178c5966449ac1c120e3b6a1b801ab01f63fa82eb041cd97f7ce03b117cc7244d35a2b SHA512 d233a3412d185b26c722f9a1d228f597934ea61d1613fb7c7ef5b5861c17a11ab6251b74f069f61aa4228d7aaff34f64e1caae784a34d32ebad7d3e23a858c5c
DIST sigstore-python-4.0.0.gh.tar.gz 299794 BLAKE2B ba6da6348436e9cdf43251556f7557015c5023ab80c90d801fd6ecc6f110a479d61e4edfa5f49a3a2a3204c411bc756a8c7a074798264c8f4a6036761804b052 SHA512 32fb6ce24635a0cedfea48d87f59c48d4794fd49399ca9fe1c10f945179888cd238dddb8be8ec5830b39e5d5faea0c5e8adec59c6710356ccd14067b817c0709
diff --git a/dev-python/sigstore/sigstore-3.6.6.ebuild b/dev-python/sigstore/sigstore-3.6.6.ebuild
new file mode 100644
index 000000000000..2d615d43857f
--- /dev/null
+++ b/dev-python/sigstore/sigstore-3.6.6.ebuild
@@ -0,0 +1,62 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{11..13} )
+
+inherit distutils-r1
+
+MY_P=sigstore-python-${PV}
+DESCRIPTION="A tool for signing Python package distributions"
+HOMEPAGE="
+ https://github.com/sigstore/sigstore-python/
+ https://pypi.org/project/sigstore/
+"
+# no tests in sdist, as of 3.3.0
+SRC_URI="
+ https://github.com/sigstore/sigstore-python/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64"
+
+RDEPEND="
+ >=dev-python/cryptography-42[${PYTHON_USEDEP}]
+ >=dev-python/id-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-4.2[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-23.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-0.6[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-2[${PYTHON_USEDEP}]
+ >=dev-python/pyjwt-2.1[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ ~dev-python/rfc3161-client-1.0.3[${PYTHON_USEDEP}]
+ >=dev-python/rfc8785-0.1.2[${PYTHON_USEDEP}]
+ >=dev-python/rich-13[${PYTHON_USEDEP}]
+ ~dev-python/sigstore-protobuf-specs-0.3.2[${PYTHON_USEDEP}]
+ ~dev-python/sigstore-rekor-types-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/tuf-6.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pretend[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unpin deps
+ sed -r -i -e 's:~=:>=:' -e 's:, ?< ?[0-9.]*::' pyproject.toml || die
+}
+
+python_test() {
+ epytest test/unit --skip-online
+}
diff --git a/dev-python/sigstore/sigstore-4.0.0.ebuild b/dev-python/sigstore/sigstore-4.0.0.ebuild
index cd21f037f4fe..6df17d67fa58 100644
--- a/dev-python/sigstore/sigstore-4.0.0.ebuild
+++ b/dev-python/sigstore/sigstore-4.0.0.ebuild
@@ -23,7 +23,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~ppc ~ppc64"
RDEPEND="
>=dev-python/cryptography-42[${PYTHON_USEDEP}]
diff --git a/dev-python/sip/Manifest b/dev-python/sip/Manifest
index 4702de7e93c1..62b97169c2cc 100644
--- a/dev-python/sip/Manifest
+++ b/dev-python/sip/Manifest
@@ -1,2 +1,3 @@
DIST sip-6.12.0.gh.tar.gz 2457825 BLAKE2B 40676b8f989274cb9466f4d68a63bf53aa5d093325a7627b62a5da129eb878a5c4c7f8d351500ad8aab184a9edde980e2476571e235d99283d99271cc10b85b2 SHA512 36e3a70a60560ce5c741a865dd68f9a1863742b413833386b28e838972a5e9eaa932c8a15300af6a0a1e338634202c9c79706fd3e0a10fc7b932d3fc5c80ddb0
DIST sip-6.13.0.gh.tar.gz 2460215 BLAKE2B 494017be10ad76278dc5786184dab41431fb0d32e29f35765004f3aefebff49ef2888742bfe80f2449b9bebd861377e657a8ed2fe489227494f0923869863ca6 SHA512 7780fcdffaf2070635db4df8377f911482dc25a7be8ee5cd822e54748c488b068f821a5242a9a6c98b7ecd43323e2c9b692959fdc07e4c77430695bd723c29e1
+DIST sip-6.13.1.gh.tar.gz 2461186 BLAKE2B cb9cccfa683458d949a1578830e87ca28fedba087414b2c305f6bd011446418a0ecf5457cf2b4b1a3daae3eb0ad4943b979458ada79951161a475ddb0a0decd6 SHA512 7166d225d812e26dca986edb41070d7fa696cae2ee6128b35735530ec769a9f30e880bae3a170323f663ac9f0e19b6eb039127c6e305448a6dbf866c1fa3427f
diff --git a/dev-python/sip/metadata.xml b/dev-python/sip/metadata.xml
index 9696ab80d86d..f8fd41d1a02d 100644
--- a/dev-python/sip/metadata.xml
+++ b/dev-python/sip/metadata.xml
@@ -6,7 +6,6 @@
<name>Gentoo Qt Project</name>
</maintainer>
<upstream>
- <changelog>https://github.com/Python-SIP/sip/blob/main/NEWS</changelog>
<doc>https://python-sip.readthedocs.io/en/latest/</doc>
</upstream>
<origin>gentoo-staging</origin>
diff --git a/dev-python/sip/sip-6.13.1.ebuild b/dev-python/sip/sip-6.13.1.ebuild
new file mode 100644
index 000000000000..b3cdd6e2f991
--- /dev/null
+++ b/dev-python/sip/sip-6.13.1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+inherit distutils-r1
+
+DESCRIPTION="Python bindings generator for C/C++ libraries"
+HOMEPAGE="https://github.com/Python-SIP/sip/"
+SRC_URI="
+ https://github.com/Python-SIP/sip/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD-2 BSD"
+SLOT="5"
+# https://github.com/Python-SIP/sip/issues/95
+#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-8[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs \
+ dev-python/myst-parser \
+ dev-python/sphinx-rtd-theme
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ # some tests currently fails to find test/utils without this
+ # TODO: try again without, used to be unneeded but not been looked into
+ local -x PYTHONPATH=${S}/test:${PYTHONPATH}
+
+ local EPYTEST_DESELECT=(
+ # logic for this test seems(?) inverted (XFAIL), skip for now
+ # given it's new and is only to emit a deprecation warning
+ test/gen_classes/test_gen_classes.py::GenerateClassesTestCase::test_Nonpublic_Superclasses
+ )
+
+ distutils-r1_python_test
+}
diff --git a/dev-python/sphinx-autodoc-typehints/Manifest b/dev-python/sphinx-autodoc-typehints/Manifest
index d029215bc1aa..6ee4b5e4d5b7 100644
--- a/dev-python/sphinx-autodoc-typehints/Manifest
+++ b/dev-python/sphinx-autodoc-typehints/Manifest
@@ -1,2 +1,3 @@
DIST sphinx_autodoc_typehints-3.2.0.tar.gz 36724 BLAKE2B fccbb551c0aa9bb7b242185fa2f8255e64736c97f9ed476dab95cb25f0e95dc385f384ca4bd4f69ac42a48c2022053c86091c01937d48f023cebac3f0faff86d SHA512 110b4ec94e748e13916eda39b9f66af9823467b688df2f522b7dd5004a9534977cb72b8f4b2b0ed7f651df69e18a12e57c0f13e1c55d62baf7c1f2241880b133
DIST sphinx_autodoc_typehints-3.4.0.tar.gz 37526 BLAKE2B 1eaaa8323282c35bdd95d28b61768bdb64f2db741b5fe4e62c8ec5174a0de3523e897de1214c005540b277f80ab5a9fc5f32e4bb22071193c1e9ca7d0b5a4063 SHA512 fca36b7094ed1f1c831d9958e6601d680fee5a9d86dd9ed8f098c8c221d3bc2fc369c1ab998090a0bffca9ac51fa44005c78abf54e07d137c1ae1fdca8bca756
+DIST sphinx_autodoc_typehints-3.5.1.tar.gz 37620 BLAKE2B a126f98214b4578494e016bf6f42f687f90683bdd86aa48cb50ceeeeee7e28f550040faa624a0a1e7a145cd91ca53e88d032a647de220bedc471af2f8c426a20 SHA512 22c5a6e2e4bd63ac2f292f73357de5eb908a0576e1f5ec47b9d720fa0b25e324dac44ef3d34d61312b97dfa2405c3553ccaf91ec7d9b4d5de0537aa5680e2782
diff --git a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-3.5.1.ebuild b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-3.5.1.ebuild
new file mode 100644
index 000000000000..ea639d67d57b
--- /dev/null
+++ b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-3.5.1.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=hatchling
+PYTHON_COMPAT=( python3_{11..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Type hints support for the Sphinx autodoc extension"
+HOMEPAGE="
+ https://github.com/tox-dev/sphinx-autodoc-typehints/
+ https://pypi.org/project/sphinx-autodoc-typehints/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/sphinx-8.2.0[${PYTHON_USEDEP}]
+"
+# skipping optional test dep on dev-python/nptyping as that package
+# is horribly broken and on its way out
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/sphobjinv-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.5[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Internet
+ tests/test_sphinx_autodoc_typehints.py::test_format_annotation
+)
diff --git a/dev-python/sphinx/Manifest b/dev-python/sphinx/Manifest
index 310f920bfb67..c659d7e6bc24 100644
--- a/dev-python/sphinx/Manifest
+++ b/dev-python/sphinx/Manifest
@@ -1,2 +1 @@
-DIST sphinx-8.1.3.gh.tar.gz 8245194 BLAKE2B 43e0b2bc3214e01c55da356144c7e2e27dd8202b5c2dda6f6e1768c4ba4fa968180ff97f41c3b97e3cbeff1dad1199cd19385ae34dc0cb4250af60e157b3bd1f SHA512 b1d0fe9586b11083103449a04443884d06d2dcab2d0bcf66d07ef97543b5e92da60e3c02e6f8ba9e04a6d7bdd62c75ef9d3f790411753fcda2a67e0fbf6a2d86
DIST sphinx-8.2.3.gh.tar.gz 8378376 BLAKE2B ddfa406140bebcaa09299a56fedf1170db6504a9ce3807e20c555f5e088d81acbfd19f2621a824b91199713b301380fd2056cf2282ea81f4a0858dd714eb7e45 SHA512 23066d9e98f3e36ee34ac3bc5af45792762f858e1e670145b7d1db7e98fa9e9654d87a27b9316dd72704aeea75b53f73d07d22f723c915d23a95f59bbd4f6365
diff --git a/dev-python/sphinx/files/sphinx-4.3.2-doc-link.patch b/dev-python/sphinx/files/sphinx-4.3.2-doc-link.patch
deleted file mode 100644
index c06727f429b4..000000000000
--- a/dev-python/sphinx/files/sphinx-4.3.2-doc-link.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-https://bugs.gentoo.org/823095
---- a/doc/usage/configuration.rst
-+++ b/doc/usage/configuration.rst
-@@ -2650,8 +2650,8 @@
- A regular expression that matches a URI.
- *auth_info*
- Authentication information to use for that URI. The value can be anything
-- that is understood by the ``requests`` library (see :ref:`requests
-- Authentication <requests:authentication>` for details).
-+ that is understood by the ``requests`` library (see `requests
-+ Authentication <https://docs.python-requests.org/en/master/user/authentication/#authentication>`_ for details).
-
- The ``linkcheck`` builder will use the first matching ``auth_info`` value
- it can find in the :confval:`linkcheck_auth` list, so values earlier in the
diff --git a/dev-python/sphinx/sphinx-8.1.3.ebuild b/dev-python/sphinx/sphinx-8.1.3.ebuild
deleted file mode 100644
index 33be0f8de77e..000000000000
--- a/dev-python/sphinx/sphinx-8.1.3.ebuild
+++ /dev/null
@@ -1,146 +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_{10..13} pypy3 pypy3_11 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-MY_P=${P/_}
-DESCRIPTION="Python documentation generator"
-HOMEPAGE="
- https://www.sphinx-doc.org/
- https://github.com/sphinx-doc/sphinx/
- https://pypi.org/project/Sphinx/
-"
-SRC_URI="
- https://github.com/sphinx-doc/sphinx/archive/v${PV/_}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD-2"
-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 ~x64-solaris"
-IUSE="doc latex"
-
-RDEPEND="
- >=dev-python/alabaster-0.7.14[${PYTHON_USEDEP}]
- >=dev-python/babel-2.13[${PYTHON_USEDEP}]
- <dev-python/docutils-0.22[${PYTHON_USEDEP}]
- >=dev-python/docutils-0.20[${PYTHON_USEDEP}]
- >=dev-python/imagesize-1.3[${PYTHON_USEDEP}]
- >=dev-python/jinja2-3.1[${PYTHON_USEDEP}]
- >=dev-python/packaging-23.0[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.14[${PYTHON_USEDEP}]
- >=dev-python/requests-2.30.0[${PYTHON_USEDEP}]
- >=dev-python/snowballstemmer-2.2[${PYTHON_USEDEP}]
- >=dev-python/sphinxcontrib-applehelp-1.0.7[${PYTHON_USEDEP}]
- >=dev-python/sphinxcontrib-devhelp-1.0.6[${PYTHON_USEDEP}]
- >=dev-python/sphinxcontrib-htmlhelp-2.0.6[${PYTHON_USEDEP}]
- >=dev-python/sphinxcontrib-jsmath-1.0.1[${PYTHON_USEDEP}]
- >=dev-python/sphinxcontrib-qthelp-1.0.6[${PYTHON_USEDEP}]
- >=dev-python/sphinxcontrib-serializinghtml-1.1.9[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-2[${PYTHON_USEDEP}]
- ' 3.10)
- latex? (
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-luatex
- app-text/dvipng
- )
-"
-BDEPEND="
- doc? (
- dev-python/sphinxcontrib-websupport[${PYTHON_USEDEP}]
- media-gfx/graphviz
- )
- test? (
- app-text/dvipng
- >=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/defusedxml-0.7.1[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- >=dev-python/setuptools-67.0[${PYTHON_USEDEP}]
- dev-texlive/texlive-fontsextra
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-luatex
- virtual/imagemagick-tools[jpeg,png,svg]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/sphinx-3.2.1-doc-link.patch"
- #"${FILESDIR}/sphinx-4.3.2-doc-link.patch"
-)
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # disable internet access
- sed -i -e 's:^intersphinx_mapping:disabled_&:' \
- doc/conf.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile_all() {
- # we can't use distutils_enable_sphinx because it would
- # introduce a dep on itself
- use doc && build_sphinx doc
-}
-
-python_test() {
- mkdir -p "${BUILD_DIR}/sphinx_tempdir" || die
- local -x SPHINX_TEST_TEMPDIR="${BUILD_DIR}/sphinx_tempdir"
-
- local EPYTEST_DESELECT=(
- # less interesting failures
- tests/test_builders/test_build_latex.py::test_build_latex_doc
- tests/test_extensions/test_ext_math.py::test_imgmath_png
- tests/test_extensions/test_ext_math.py::test_imgmath_numfig_html
- )
- case ${EPYTHON} in
- pypy3.11)
- EPYTEST_DESELECT+=(
- # TODO
- tests/test_util/test_util_inspect.py::test_is_classmethod_descriptor
- tests/test_util/test_util_inspect.py::test_is_builtin_classmethod_like
- # minor repr() differences
- tests/test_util/test_util_typing.py::test_restify
- tests/test_util/test_util_typing.py::test_stringify_annotation
- tests/test_util/test_util_typing.py::test_stringify_type_union_operator
- )
- ;&
- pypy3)
- EPYTEST_DESELECT+=(
- tests/test_extensions/test_ext_autodoc.py::test_autodoc_exception
- tests/test_extensions/test_ext_autodoc.py::test_autodoc_ignore_module_all
- tests/test_extensions/test_ext_autodoc.py::test_autodoc_inherited_members_None
- tests/test_extensions/test_ext_autodoc.py::test_autodoc_subclass_of_builtin_class
- tests/test_extensions/test_ext_autodoc.py::test_automethod_for_builtin
- tests/test_extensions/test_ext_autodoc.py::test_cython
- tests/test_extensions/test_ext_autodoc.py::test_format_signature
- tests/test_extensions/test_ext_autodoc.py::test_partialfunction
- tests/test_extensions/test_ext_autodoc_autoclass.py::test_autodoc_process_bases
- tests/test_extensions/test_ext_autodoc_autoclass.py::test_show_inheritance_for_decendants_of_generic_type
- tests/test_extensions/test_ext_autodoc_autoclass.py::test_show_inheritance_for_subclass_of_generic_type
- tests/test_extensions/test_ext_autodoc_autofunction.py::test_builtin_function
- tests/test_extensions/test_ext_autodoc_autofunction.py::test_methoddescriptor
- tests/test_extensions/test_ext_autodoc_automodule.py::test_automodule_inherited_members
- tests/test_extensions/test_ext_autodoc_preserve_defaults.py::test_preserve_defaults_special_constructs
- tests/test_extensions/test_ext_autosummary.py::test_autosummary_generate_content_for_module
- tests/test_extensions/test_ext_autosummary.py::test_autosummary_generate_content_for_module_skipped
- tests/test_util/test_util_inspect.py::test_isattributedescriptor
- tests/test_util/test_util_inspect.py::test_signature
- tests/test_util/test_util_typing.py::test_is_invalid_builtin_class
- )
- ;;
- esac
-
- # note: pytest-xdist causes random test failures
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p rerunfailures --reruns=5
-}
diff --git a/dev-python/sphinxext-opengraph/Manifest b/dev-python/sphinxext-opengraph/Manifest
index ca671bea1715..402b7e6b9638 100644
--- a/dev-python/sphinxext-opengraph/Manifest
+++ b/dev-python/sphinxext-opengraph/Manifest
@@ -1 +1 @@
-DIST sphinxext_opengraph-0.10.0.tar.gz 1027562 BLAKE2B 258708b70e99f76b7126d8ed07b1b2a738326de37e170f264de5d2b20753241c4f51fed98bf0268d39abda5e537758e9b58a6e74a634cd4b5e24bec1dd3bfce1 SHA512 c4191ca914405e74e439dd5e0bf26d6ceb712f3d0cf734116d1de26aba6a8fc0707586858cc860f67fb3a74238120856b3c7b9e9d55802d23552424b5c45c787
+DIST sphinxext_opengraph-0.13.0.tar.gz 1026875 BLAKE2B c33d069d2cbce7c80adf25e94bd024c7c952719e8424190c21a0bf418eda7a67148c6362452d575780aa13db9f957e35c99d9f86de803733e4cc26db1e06a713 SHA512 933cb99cd7d1aeb4d2ea975382ba165e36d46e89da8ad85c217b78b1a5e06f8017968a92c92f68134a5c84e62906533717d05cf2e0207645a22c57298f9d9ebc
diff --git a/dev-python/sphinxext-opengraph/sphinxext-opengraph-0.10.0.ebuild b/dev-python/sphinxext-opengraph/sphinxext-opengraph-0.13.0.ebuild
index 8bee925a45b9..1ae0cce31e3e 100644
--- a/dev-python/sphinxext-opengraph/sphinxext-opengraph-0.10.0.ebuild
+++ b/dev-python/sphinxext-opengraph/sphinxext-opengraph-0.13.0.ebuild
@@ -30,6 +30,7 @@ RDEPEND="
BDEPEND="
doc? (
${RDEPEND}
+ dev-python/accessible-pygments[${PYTHON_USEDEP}]
)
"
diff --git a/dev-python/spyder-kernels/Manifest b/dev-python/spyder-kernels/Manifest
index 6ac72c894699..8bf98233aa5b 100644
--- a/dev-python/spyder-kernels/Manifest
+++ b/dev-python/spyder-kernels/Manifest
@@ -1,4 +1,2 @@
DIST spyder-kernels-3.0.5.gh.tar.gz 240411 BLAKE2B 28600b359fc12f8b3ffe01545a98b2fd3ec7f832e7ca5aa58f809825d7f1060ecc5929a72d615c2543b6b34685ee03b521cd087dd58725315a68e1188b72cd3c SHA512 4aaf57e7e4dc7c985f2c0e64aad6080370f1cf012ef72f49dcaaa5daed4b6b5e0c5cbcde88e127b136c87e3ae17314212dd56f89801edd87382da8d06caa9662
DIST spyder-kernels-3.1.0.gh.tar.gz 245742 BLAKE2B e1a8af48aa7436957cb81a785b0a8f6a67c7edd623a4070371cfbe7a57790e9cebd62fc3cd9d4a0ddb60dcbe3c5fef01df0bad19f48cba9dd2299ef09f46871b SHA512 26b95548c4f6b27e22d9624ea2a9af9a1c3685fea6ca2ee2e88a6f9e0e2c983f3abf1ae649c991d72ad898f87c20ae1b75c5876f2297df41b9c28cfd3f3a03f0
-DIST spyder-kernels-3.1.0b1.gh.tar.gz 245633 BLAKE2B 533f7f2ce40281a90d301f4da8744053eefeed268ef334ee227187d54c7548a606a60df3862e76ccac42721192e4a67248a0d77091dd7c27e1b4be18050dc5d8 SHA512 586fe10a38d193c287aef1d80053fb10da4bf132ac7074432edf0ea90683ef8fbcbbad75cf3346390add69de64fe259f839129e2735c30b4235615874edcd676
-DIST spyder-kernels-3.1.0b2.gh.tar.gz 245703 BLAKE2B 29d0d06508c6fb29f11a1582dacb66342300558acc133e9c10e0ce635b64772d0ce6a02527feca9b1e99bd47357e39d26d196210a62f98a0388eaea5e37ff76a SHA512 415cee50e26c0e659fa1c231952c3511e5c7d1db716eff1cfe34d63067bae01266cf678e9bd1ed3a244316a414d51b439ae186a9bbc78a79d886b4c815da1518
diff --git a/dev-python/spyder-kernels/spyder-kernels-3.1.0_beta1.ebuild b/dev-python/spyder-kernels/spyder-kernels-3.1.0_beta1.ebuild
deleted file mode 100644
index aa5dfe58768e..000000000000
--- a/dev-python/spyder-kernels/spyder-kernels-3.1.0_beta1.ebuild
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{11..13} )
-
-inherit distutils-r1
-
-MY_P=${P/_beta/b}
-DESCRIPTION="Kernels used by spyder on its ipython console"
-HOMEPAGE="
- https://github.com/spyder-ide/spyder-kernels/
- https://pypi.org/project/spyder-kernels/
-"
-SRC_URI="https://github.com/spyder-ide/${PN}/archive/refs/tags/v${PV/_beta/b}.tar.gz -> ${MY_P}.gh.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-
-RDEPEND="
- dev-python/cloudpickle[${PYTHON_USEDEP}]
- <dev-python/ipykernel-7[${PYTHON_USEDEP}]
- >=dev-python/ipykernel-6.29.3[${PYTHON_USEDEP}]
- <dev-python/ipython-10[${PYTHON_USEDEP}]
- >=dev-python/ipython-9.5.0[${PYTHON_USEDEP}]
- <dev-python/jupyter-client-9[${PYTHON_USEDEP}]
- >=dev-python/jupyter-client-7.4.9[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pyxdg-0.26[${PYTHON_USEDEP}]
- >=dev-python/pyzmq-24.0.0[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.14.3[${PYTHON_USEDEP}]
- >=dev-python/wurlitzer-1.0.3[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/django[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/h5py[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/xarray[${PYTHON_USEDEP}]
- ' 'python*')
- )
-"
-
-EPYTEST_PLUGINS=( anyio pytest-rerunfailures )
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # we no longer package distributed or dask
- spyder_kernels/console/tests/test_console_kernel.py::test_dask_multiprocessing
-
- # RuntimeError: There is no current event loop in thread 'MainThread'.
- # https://bugs.gentoo.org/834893
- spyder_kernels/console/tests/test_console_kernel.py::test_cwd_in_sys_path
- spyder_kernels/console/tests/test_console_kernel.py::test_multiprocessing
- spyder_kernels/console/tests/test_console_kernel.py::test_multiprocessing_2
- spyder_kernels/console/tests/test_console_kernel.py::test_runfile
- spyder_kernels/console/tests/test_console_kernel.py::test_np_threshold
- spyder_kernels/console/tests/test_console_kernel.py::test_turtle_launch
- spyder_kernels/console/tests/test_console_kernel.py::test_matplotlib_inline
-
- # pydicom only packaged in ::sci at the moment
- spyder_kernels/utils/tests/test_iofuncs.py::test_load_dicom_files
-
- # require polars
- spyder_kernels/console/tests/test_console_kernel.py::test_get_value_with_polars
- spyder_kernels/utils/tests/test_nsview.py::test_polars_dataframe
- )
- local EPYTEST_IGNORE=()
-
- if ! has_version "dev-python/pandas[${PYTHON_USEDEP}]"; then
- EPYTEST_IGNORE+=(
- # require pandas
- spyder_kernels/utils/tests/test_nsview.py
- )
- fi
-
- if ! has_version "dev-python/h5py[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- # require hdf5
- spyder_kernels/utils/tests/test_iofuncs.py::test_save_load_hdf5_files
- spyder_kernels/utils/tests/test_dochelpers.py
- )
- fi
-
- epytest
-}
diff --git a/dev-python/spyder-kernels/spyder-kernels-3.1.0_beta2.ebuild b/dev-python/spyder-kernels/spyder-kernels-3.1.0_beta2.ebuild
deleted file mode 100644
index ef89c7e94777..000000000000
--- a/dev-python/spyder-kernels/spyder-kernels-3.1.0_beta2.ebuild
+++ /dev/null
@@ -1,85 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{11..13} )
-
-inherit distutils-r1
-
-MY_P=${P/_beta/b}
-DESCRIPTION="Kernels used by spyder on its ipython console"
-HOMEPAGE="
- https://github.com/spyder-ide/spyder-kernels/
- https://pypi.org/project/spyder-kernels/
-"
-SRC_URI="https://github.com/spyder-ide/${PN}/archive/refs/tags/v${PV/_beta/b}.tar.gz -> ${MY_P}.gh.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-
-RDEPEND="
- dev-python/cloudpickle[${PYTHON_USEDEP}]
- <dev-python/ipykernel-7[${PYTHON_USEDEP}]
- >=dev-python/ipykernel-6.29.3[${PYTHON_USEDEP}]
- <dev-python/ipython-10[${PYTHON_USEDEP}]
- >=dev-python/ipython-9.5.0[${PYTHON_USEDEP}]
- <dev-python/jupyter-client-9[${PYTHON_USEDEP}]
- >=dev-python/jupyter-client-7.4.9[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pyxdg-0.26[${PYTHON_USEDEP}]
- >=dev-python/pyzmq-24.0.0[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.14.3[${PYTHON_USEDEP}]
- >=dev-python/wurlitzer-1.0.3[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/django[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/h5py[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/xarray[${PYTHON_USEDEP}]
- ' 'python*')
- )
-"
-
-EPYTEST_PLUGINS=( anyio pytest-rerunfailures )
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # pydicom only packaged in ::sci at the moment
- spyder_kernels/utils/tests/test_iofuncs.py::test_load_dicom_files
-
- # require polars
- spyder_kernels/console/tests/test_console_kernel.py::test_get_value_with_polars
- spyder_kernels/utils/tests/test_nsview.py::test_polars_dataframe
- )
- local EPYTEST_IGNORE=()
-
- if ! has_version "dev-python/pandas[${PYTHON_USEDEP}]"; then
- EPYTEST_IGNORE+=(
- # require pandas
- spyder_kernels/utils/tests/test_nsview.py
- )
- fi
-
- if ! has_version "dev-python/h5py[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- # require hdf5
- spyder_kernels/utils/tests/test_iofuncs.py::test_save_load_hdf5_files
- spyder_kernels/utils/tests/test_dochelpers.py
- )
- fi
-
- epytest
-}
diff --git a/dev-python/spyder-notebook/Manifest b/dev-python/spyder-notebook/Manifest
index 45f9df7f077e..ca20f7ab4eae 100644
--- a/dev-python/spyder-notebook/Manifest
+++ b/dev-python/spyder-notebook/Manifest
@@ -1 +1,2 @@
DIST spyder_notebook-0.6.2.tar.gz 7270229 BLAKE2B 85ec279a10adfc965d3da324a399d9f627626611fbafd3f0b2c8a16a5b7a6740b5ec6b5417de4704007599967b06279876d7547227277ed6be0f26f28591462b SHA512 e2bd545b14d90461cc30c4a1cffdae81bff4791be1d3b770c614369fb10bbbfaea9098089226c5333ab2cb8cb6d162254929d9dbd81faa305da93faf1192dc8f
+DIST spyder_notebook-0.7.0.tar.gz 7813912 BLAKE2B aa66e985e4b34574605b4fd72c645d4b00492d73584dfa65e4099e8d924d4023918aaf2108e469a87b4e2f310e49c4c221e564237adeff622281e7d07616c54b SHA512 c83a4f2a33a1086d62c9d64f19e5e4f5915072be6396ef041fe783469893e2f90f7f0998e997de785d3dd0a2230c1a8ac5d215cfda084fa17dbe93da76445c52
diff --git a/dev-python/spyder-notebook/spyder-notebook-0.7.0.ebuild b/dev-python/spyder-notebook/spyder-notebook-0.7.0.ebuild
new file mode 100644
index 000000000000..b93681485b00
--- /dev/null
+++ b/dev-python/spyder-notebook/spyder-notebook-0.7.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..13} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 pypi virtualx
+
+DESCRIPTION="Jupyter notebook integration with Spyder"
+HOMEPAGE="https://github.com/spyder-ide/spyder-notebook"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/nbformat[${PYTHON_USEDEP}]
+ >=dev-python/notebook-7.4.7[${PYTHON_USEDEP}]
+ <dev-python/notebook-7.5[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/qdarkstyle[${PYTHON_USEDEP}]
+ dev-python/qtpy[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ >=dev-python/spyder-6.1[${PYTHON_USEDEP}]
+ <dev-python/spyder-6.2[${PYTHON_USEDEP}]
+ dev-python/tornado[${PYTHON_USEDEP}]
+ dev-python/traitlets[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-qt[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( "README.md" "CHANGELOG.md" )
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Hangs
+ spyder_notebook/widgets/tests/test_main_widget.py::test_save_notebook
+ spyder_notebook/widgets/tests/test_main_widget.py::test_new_notebook
+ # Fails in sandbox
+ spyder_notebook/tests/test_plugin.py::test_open_console_when_no_kernel
+ spyder_notebook/widgets/tests/test_main_widget.py::test_shutdown_notebook_kernel
+ spyder_notebook/widgets/tests/test_main_widget.py::test_file_in_temp_dir_deleted_after_notebook_closed
+ # Some missing file
+ spyder_notebook/widgets/tests/test_main_widget.py::test_open_notebook_in_non_ascii_dir
+ spyder_notebook/widgets/tests/test_main_widget.py::test_close_nonexisting_notebook
+)
+
+python_test() {
+ virtx epytest
+}
diff --git a/dev-python/spyder/Manifest b/dev-python/spyder/Manifest
index 395cb32bf731..02019bae8cc9 100644
--- a/dev-python/spyder/Manifest
+++ b/dev-python/spyder/Manifest
@@ -1,2 +1,3 @@
DIST spyder-6.0.8.gh.tar.gz 15831723 BLAKE2B 0f9feb6f6a2178799f5dc8fc20c8130fdc66a861902f6c2984ad4ceabbe6dc6bb9468289cfb702f7ac25b465b340d6e928f5dfcf59f4754720d5a50bd92cd474 SHA512 555ad56fcec1926626a18f8edc71aedfdbc0a85fa0bf4e5a69935489434b6d4a83d37a600b5720a34d37f6da967684dd7c890c9e6e5d66283a301fba164e833c
+DIST spyder-6.1.0.gh.tar.gz 15933320 BLAKE2B 38f6ac1fd032b808f4df5ae2a55ced30a3ef9b3854e3ee8eda61106cfe88f47c845fefbebbdc750f1f34d6d8e4f55d308454aa48c39e439c3757d1aacfa9160e SHA512 0db05cde6968f4a9b34f20777f87884b19dd007bcd35e3b6a5255e6f77837cfea9ebeb4213afff270056120f067975ad1b3ac6f347d927d5d06ed48f3d7c698e
DIST spyder-docs-98004cb46d97fa9fa1cfc3f469919928761e7054.gh.tar.gz 93375891 BLAKE2B c98d391bb33b1ba70bf9c8e8072073e87437541aacd4be42140711b786e8ae07bf5a7ca53dffdb826922b5523150fa2950b04117c335dc57f7c2c22eb693c23f SHA512 55e13f9a55075aed007be32581af954d406703dd9586352084162e01865f943c5aff3aa11b50bdc9813dd8a3a52f8fa8f961c73cfc3f96d95930f2a7b823a1d1
diff --git a/dev-python/spyder/spyder-6.1.0.ebuild b/dev-python/spyder/spyder-6.1.0.ebuild
new file mode 100644
index 000000000000..c4e8ea1af39e
--- /dev/null
+++ b/dev-python/spyder/spyder-6.1.0.ebuild
@@ -0,0 +1,207 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..13} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 optfeature xdg #virtualx
+
+# Commit of documentation to fetch
+DOCS_PV="98004cb46d97fa9fa1cfc3f469919928761e7054"
+
+DESCRIPTION="The Scientific Python Development Environment"
+HOMEPAGE="
+ https://www.spyder-ide.org/
+ https://github.com/spyder-ide/spyder/
+ https://pypi.org/project/spyder/
+"
+SRC_URI="
+ https://github.com/spyder-ide/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
+ https://github.com/spyder-ide/${PN}-docs/archive/${DOCS_PV}.tar.gz -> ${PN}-docs-${DOCS_PV}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# Missing deps and broken
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-python/aiohttp-3.11.2[${PYTHON_USEDEP}]
+ >=dev-python/asyncssh-2.14.0[${PYTHON_USEDEP}]
+ <dev-python/asyncssh-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/atomicwrites-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/bcrypt-4.3.0[${PYTHON_USEDEP}]
+ >=dev-python/chardet-2.0.0[${PYTHON_USEDEP}]
+ >=dev-util/cookiecutter-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/diff-match-patch-20181111[${PYTHON_USEDEP}]
+ >=dev-python/intervaltree-3.0.2[${PYTHON_USEDEP}]
+ >=dev-python/ipython-pygments-lexers-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/jellyfish-0.7[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/keyring-17.0.0[${PYTHON_USEDEP}]
+ >=dev-python/nbconvert-4.0[${PYTHON_USEDEP}]
+ >=dev-python/numpydoc-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ >=dev-python/pexpect-4.4.0[${PYTHON_USEDEP}]
+ >=dev-python/pickleshare-0.4[${PYTHON_USEDEP}]
+ >=dev-python/psutil-5.3[${PYTHON_USEDEP}]
+ >=dev-python/pygithub-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.0[${PYTHON_USEDEP}]
+ >=dev-python/pylint-venv-3.0.2[${PYTHON_USEDEP}]
+ >=dev-python/python-lsp-black-2.0.0[${PYTHON_USEDEP}]
+ <dev-python/python-lsp-black-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-lsp-ruff-2.3.0[${PYTHON_USEDEP}]
+ <dev-python/python-lsp-ruff-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyls-spyder-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/pyuca-1.2[${PYTHON_USEDEP}]
+ >=dev-python/pyxdg-0.26[${PYTHON_USEDEP}]
+ >=dev-python/qdarkstyle-3.2.0[${PYTHON_USEDEP}]
+ <dev-python/qdarkstyle-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/qstylizer-0.2.2[${PYTHON_USEDEP}]
+ >=dev-python/qtawesome-1.4.0[${PYTHON_USEDEP}]
+ <dev-python/qtawesome-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/qtconsole-5.7.0[${PYTHON_USEDEP}]
+ <dev-python/qtconsole-5.8.0[${PYTHON_USEDEP}]
+ >=dev-python/qtpy-2.4.0[${PYTHON_USEDEP},pyqt6,quick,svg,webengine]
+ >=dev-python/rtree-0.9.7[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-0.6.6[${PYTHON_USEDEP}]
+ >=dev-python/spyder-kernels-3.1.0[${PYTHON_USEDEP}]
+ <dev-python/spyder-kernels-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/superqt-0.6.2[${PYTHON_USEDEP}]
+ <dev-python/superqt-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/textdistance-4.2.0[${PYTHON_USEDEP}]
+ >=dev-python/three-merge-0.1.1[${PYTHON_USEDEP}]
+ >=dev-python/watchdog-0.10.3[${PYTHON_USEDEP}]
+ >=dev-python/yarl-1.9.4[${PYTHON_USEDEP}]
+"
+
+# BDEPEND="
+# test? (
+# dev-python/cython[${PYTHON_USEDEP}]
+# dev-python/flaky[${PYTHON_USEDEP}]
+# dev-python/matplotlib[tk,${PYTHON_USEDEP}]
+# dev-python/pandas[${PYTHON_USEDEP}]
+# dev-python/pillow[${PYTHON_USEDEP}]
+# dev-python/pytest-lazy-fixture[${PYTHON_USEDEP}]
+# dev-python/pytest-mock[${PYTHON_USEDEP}]
+# dev-python/pytest-order[${PYTHON_USEDEP}]
+# dev-python/pytest-qt[${PYTHON_USEDEP}]
+# dev-python/pytest-timeout[${PYTHON_USEDEP}]
+# dev-python/pyyaml[${PYTHON_USEDEP}]
+# dev-python/qtpy[${PYTHON_USEDEP}]
+# dev-python/scipy[${PYTHON_USEDEP}]
+# dev-python/sympy[${PYTHON_USEDEP}]
+# )"
+
+# Based on the courtesy of Arfrever
+# This patch removes a call to update-desktop-database during build
+# This fails because access is denied to this command during build
+PATCHES=(
+ "${FILESDIR}/${PN}-5.0.0-build.patch"
+ "${FILESDIR}/${PN}-6.0.3-no-dep-on-importlib.patch"
+)
+
+DOCS=(
+ "AUTHORS.txt"
+ "Announcements.md"
+ "CHANGELOG.md"
+ "CODE_OF_CONDUCT.md"
+ "CONTRIBUTING.md"
+ "NOTICE.txt"
+ "README.md"
+ "RELEASE.md"
+)
+
+distutils_enable_tests pytest
+# TODO: Package sphinx-design
+# distutils_enable_sphinx docs/doc \
+# dev-python/sphinx-panels \
+# dev-python/pydata-sphinx-theme \
+# dev-python/sphinx-multiversion
+
+python_prepare_all() {
+ # move docs into workdir
+ mv ../spyder-docs-${DOCS_PV}* docs || die
+
+ # these dependencies are packaged separately:
+ # dev-python/spyder-kernels,
+ # dev-python/python-lsp-server,
+ # dev-python/qdarkstyle
+ rm -r external-deps/* || die
+ # runs against things packaged in external-deps dir
+ rm conftest.py || die
+
+ # Do not depend on pyqt5<5.16, this dependency is carried by QtPy[pyqt5]
+ # Do not depend on pyqtwebengine<5.16, this dependency is carried by QtPy[webengine]
+ # Do not depend on parso and jedi, this is dependency is carried in python-lsp-server
+ # Do not depend on python-lsp-server, this dependency is carried in pyls-spyder
+ # Do not depend on ipython, this dependency is carried in spyder-kernels
+ # The explicit version requirements only make things more complicated, if e.g.
+ # pyls-spyder gains compatibility with a newer version of python-lsp-server
+ # in a new release it will take time for this information to propagate into
+ # the next spyder release. So just remove the dependency and let the other
+ # ebuilds handle the version requirements to speed things up and prevent
+ # issues such as Bug 803269.
+ sed -i \
+ -e "/'pyqt5[ 0-9<=>.,]*',/d" \
+ -e "/'pyqtwebengine[ 0-9<=>.,]*',/d" \
+ -e "/'python-lsp-server\[all\][ 0-9<=>.,]*',/d" \
+ -e "/'parso[ 0-9<=>.,]*',/d" \
+ -e "/'jedi[ 0-9<=>.,]*',/d" \
+ -e "/'pylint[ 0-9<=>.,]*',/d" \
+ setup.py || die
+ # -e "/'ipython[ 0-9<=>.,]*',/d" \
+ sed -i \
+ -e "/^PYLS_REQVER/c\PYLS_REQVER = '>=0.0.1'" \
+ -e "/^PYLSP_REQVER/c\PYLSP_REQVER = '>=0.0.1'" \
+ -e "/^PARSO_REQVER/c\PARSO_REQVER = '>=0.0.1'" \
+ -e "/^JEDI_REQVER/c\JEDI_REQVER = '>=0.0.1'" \
+ -e "/^PYLINT_REQVER/c\PYLINT_REQVER = '>=0.0.1'" \
+ spyder/dependencies.py || die
+ # -e "/^IPYTHON_REQVER/c\IPYTHON_REQVER = '>=0.0.1'" \
+
+ # do not check deps, fails because we removed dependencies above
+ sed -i -e 's:test_dependencies_for_spyder_setup_install_requires_in_sync:_&:' \
+ spyder/tests/test_dependencies_in_sync.py || die
+
+ # skip online test
+ rm spyder/widgets/github/tests/test_github_backend.py || die
+
+ export SPYDER_QT_BINDING=pyqt6
+
+ distutils-r1_python_prepare_all
+}
+
+# Calling pytest directly somehow passes the pytest arguments to spyder
+# causing an invalid argument error
+# python_test() {
+# virtx "${EPYTHON}" runtests.py
+# }
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ optfeature "2D/3D plotting in the Python and IPython consoles" dev-python/matplotlib
+ optfeature "View and edit DataFrames and Series in the Variable Explorer" dev-python/pandas
+ optfeature "View and edit two or three dimensional arrays in the Variable Explorer" dev-python/numpy
+ optfeature "Symbolic mathematics in the IPython console" dev-python/sympy
+ optfeature "Import Matlab workspace files in the Variable Explorer" dev-python/scipy
+ optfeature "Run Cython files in the IPython console" dev-python/cython
+ optfeature "The hdf5/h5py plugin" dev-python/h5py
+ optfeature "The line profiler plugin" dev-python/spyder-line-profiler
+ optfeature "Vim key bindings" dev-python/spyder-vim
+ optfeature "Unittest support" dev-python/spyder-unittest
+ optfeature "System terminal inside spyder" dev-python/spyder-terminal
+ optfeature "Jupyter notebook support" dev-python/spyder-notebook
+ # spyder-memory-profiler is not compatible with spyder-5.2+ yet
+ # optfeature "The memory profiler plugin" dev-python/spyder-memory-profiler
+ # spyder-reports not yet updated to >=spyder-4.0.0
+ # optfeature "Markdown reports using Pweave" dev-python/spyder-reports
+ # Plugins with no release yet:
+ # optfeature "Manage virtual environments and packages" dev-python/spyder-env-manager
+ # optfeature "VCS (e.g. git) integration" dev-python/spyder-vcs
+}
diff --git a/dev-python/sqlalchemy/Manifest b/dev-python/sqlalchemy/Manifest
index 59cd7d14e2d5..8326dde4c198 100644
--- a/dev-python/sqlalchemy/Manifest
+++ b/dev-python/sqlalchemy/Manifest
@@ -1,4 +1,3 @@
DIST sqlalchemy-1.4.54.tar.gz 8470350 BLAKE2B 0d97beb4edde38455c03dfc1238655d1cb63aa6e042b941913ec68dca3654de07087ab967f208fda495f048a5068ced70d642c4b8b80ab32e5346fcefa3bf9bc SHA512 e7ea4920d81914d362134a3c6fd4a2dd4fdb75f6ce17358528d568e2b2ac0ee711a71f6beb894e61d6d1e4e5833034ebde651d73a13f873c682f780e1831b427
-DIST sqlalchemy-2.0.40.tar.gz 9664299 BLAKE2B b053b502532d31470e0ceaf1ebe7494d988eb8d74b433d45f9037d2b982355bda4aba9defe681d219cc03ba8e040c6641a749d7a291f03ceb64edb2dc4a02e63 SHA512 7a1db1d61cd80283e339ef92b7e27146ea060db8dc7028b2584df9f9f68a4887bbb2a6b4b4af5ca66c7d132659c7a2d0b47ac2d25ce84fad73ee2dae7808e122
-DIST sqlalchemy-2.0.41.tar.gz 9689424 BLAKE2B 99fb9bf250c15bf0402d5aad23bc20e0fe54ce2705ccfd3dfd9c65be5f9e0ab5ca00e0312c01e5ed3b34344d5cde25b457df1bde35c220e6e98e3077a27e6121 SHA512 bb8df574a0e2a0faf8a44e8d217f9eb14b0138aaae7dd947c94b3c4efa6c73b2cf9199303ffed679778002804bc5aa5583b16ddd986f7b4b9235c9d951e284e4
DIST sqlalchemy-2.0.43.tar.gz 9762949 BLAKE2B 014c547d71a82d91093c3af771cbdf22c33dac3183ae80ca927a627f22fe490ab05a87901c27bc9bda6968b71e8987960dbc071978d3a900c680e3de04cc735c SHA512 8a3c8b9116649ae6c867744b75b9019c5daeaebdcc1b251e8eb526b6ec84168282513b27ca557db3436615b09579864e01173638ccf5bd9a5ecc4537ecf0c695
+DIST sqlalchemy-2.0.44.tar.gz 9819830 BLAKE2B 0b6854671c23ec089fdac8c229fecc053841cd73c5827e8716222cdde13717a241482082a4f52b6dd6aeb9953244414ad7fac9c1b339beee061f9b964fa4887f SHA512 9f34641b3c52e84c3deaf62daa9848ea527840d6aa6dc97e27d13938b0c544ee4389e96e7f7a8820db81c2f88fcece2e7214bb28b5b1f9acac95f7e55addc4ba
diff --git a/dev-python/sqlalchemy/sqlalchemy-2.0.41.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.0.41.ebuild
deleted file mode 100644
index 7f9f113eda3d..000000000000
--- a/dev-python/sqlalchemy/sqlalchemy-2.0.41.ebuild
+++ /dev/null
@@ -1,103 +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
-PYPI_PN=SQLAlchemy
-PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
-PYTHON_REQ_USE="sqlite?"
-
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="Python SQL toolkit and Object Relational Mapper"
-HOMEPAGE="
- https://www.sqlalchemy.org/
- https://pypi.org/project/SQLAlchemy/
- https://github.com/sqlalchemy/sqlalchemy/
-"
-
-LICENSE="MIT"
-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 ~x64-solaris"
-IUSE="examples +sqlite test"
-
-RDEPEND="
- >=dev-python/typing-extensions-4.6.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- test? (
- $(python_gen_impl_dep sqlite)
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e '/greenlet/d' setup.cfg || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- test/ext/mypy/test_mypy_plugin_py3k.py
- test/typing/test_mypy.py
- # hardcode call counts specific to Python versions
- test/aaa_profiling
- )
- local EPYTEST_DESELECT=(
- # warning tests are unreliable
- test/base/test_warnings.py
- )
- local sqlite_version=$(sqlite3 --version | cut -d' ' -f1)
- case ${EPYTHON} in
- pypy3.11)
- EPYTEST_DESELECT+=(
- # TODO
- test/orm/test_utils.py::ContextualWarningsTest::test_autoflush_implicit
- test/orm/test_utils.py::ContextualWarningsTest::test_configure_mappers_explicit
- "test/sql/test_resultset.py::CursorResultTest_sqlite+pysqlite_${sqlite_version//./_}::test_new_row_no_dict_behaviors"
- )
- ;;
- esac
- if ! has_version "dev-python/greenlet[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_execution
- test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_run_sync
- "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[False-True]"
- "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[True-True]"
- "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[has_terminate-is_asyncio]"
- "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[not_has_terminate-is_asyncio]"
- "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True-_exclusions0]"
- "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True]"
- )
- fi
-
- # upstream's test suite is horribly hacky; it relies on disabling
- # the warnings plugin and turning warnings into errors; this also
- # means that any DeprecationWarnings from third-party plugins cause
- # everything to explode
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p rerunfailures --reruns=10 --reruns-delay=2
-}
-
-python_install_all() {
- if use examples; then
- docompress -x "/usr/share/doc/${PF}/examples"
- dodoc -r examples
- fi
-
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- optfeature "asyncio support" dev-python/greenlet
- optfeature "MySQL support" \
- dev-python/mysqlclient \
- dev-python/pymysql
- optfeature "postgresql support" dev-python/psycopg:2
-}
diff --git a/dev-python/sqlalchemy/sqlalchemy-2.0.40.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.0.44.ebuild
index 93fecc384a71..12e0b145bc93 100644
--- a/dev-python/sqlalchemy/sqlalchemy-2.0.40.ebuild
+++ b/dev-python/sqlalchemy/sqlalchemy-2.0.44.ebuild
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYPI_PN=SQLAlchemy
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
PYTHON_REQ_USE="sqlite?"
inherit distutils-r1 optfeature pypi
@@ -20,7 +20,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 ~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 ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="examples +sqlite test"
RDEPEND="
@@ -30,10 +30,11 @@ BDEPEND="
dev-python/cython[${PYTHON_USEDEP}]
test? (
$(python_gen_impl_dep sqlite)
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
)
"
+EPYTEST_PLUGINS=()
+EPYTEST_RERUNS=5
EPYTEST_XDIST=1
distutils_enable_tests pytest
@@ -57,24 +58,19 @@ python_test() {
case ${EPYTHON} in
pypy3.11)
EPYTEST_DESELECT+=(
+ # TODO: looks like cursor cleanup failure
+ "test/dialect/test_suite.py::ReturningGuardsTest_sqlite+pysqlite_${sqlite_version//./_}"
+ # mismatched exception messages
+ "test/dialect/sqlite/test_types.py::TestTypes_sqlite+pysqlite_${sqlite_version//./_}::test_cant_parse_datetime_message"
+ test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_multi_elem_varg
+ test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_one_elem_varg
+ test/ext/test_associationproxy.py::ProxyHybridTest::test_msg_fails_on_cls_access
+ test/engine/test_processors.py::PyDateProcessorTest::test_time_invalid_string
# TODO
test/orm/test_utils.py::ContextualWarningsTest::test_autoflush_implicit
test/orm/test_utils.py::ContextualWarningsTest::test_configure_mappers_explicit
"test/sql/test_resultset.py::CursorResultTest_sqlite+pysqlite_${sqlite_version//./_}::test_new_row_no_dict_behaviors"
- )
- ;&
- pypy3)
- EPYTEST_DESELECT+=(
- test/ext/test_associationproxy.py::ProxyHybridTest::test_msg_fails_on_cls_access
- test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_multi_elem_varg
- test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_one_elem_varg
- test/engine/test_processors.py::PyDateProcessorTest::test_date_invalid_string
- test/engine/test_processors.py::PyDateProcessorTest::test_datetime_invalid_string
- test/engine/test_processors.py::PyDateProcessorTest::test_time_invalid_string
- "test/dialect/test_sqlite.py::TestTypes_sqlite+pysqlite_${sqlite_version//./_}::test_cant_parse_datetime_message"
- "test/dialect/test_suite.py::ReturningGuardsTest_sqlite+pysqlite_${sqlite_version//./_}"::test_{delete,insert,update}_single
- test/base/test_utils.py::ImmutableDictTest::test_pep584
- 'test/sql/test_compare.py::HasCacheKeySubclass::test_init_args_in_traversal[_MemoizedSelectEntities]'
+ "test/sql/test_compare.py::HasCacheKeySubclass::test_init_args_in_traversal[_MemoizedSelectEntities]"
)
;;
esac
@@ -95,8 +91,7 @@ python_test() {
# the warnings plugin and turning warnings into errors; this also
# means that any DeprecationWarnings from third-party plugins cause
# everything to explode
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p rerunfailures --reruns=10 --reruns-delay=2
+ epytest --reruns-delay=2 -m "not gc_intensive and not timing_intensive and not mypy"
}
python_install_all() {
diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest
index 48e51038c3c6..90c3e3011002 100644
--- a/dev-python/sqlglot/Manifest
+++ b/dev-python/sqlglot/Manifest
@@ -3,3 +3,5 @@ DIST sqlglot-26.33.0.tar.gz 5353340 BLAKE2B 18ace866ec89ced24911803497e8cb5c55fc
DIST sqlglot-27.21.0.tar.gz 5484119 BLAKE2B 901a182c7cd226876cbd248500076044b9ba2302e40c646583e4de78934a8a41bbffc967bf274d7b231eef6774098fa0ccd2a3f04f562e785f51b4842ca63ab4 SHA512 d0e776c40a7a5f0149cb2f48f5be9e6e8c61c163ac74bbe62659e4056f051408f364b58ccae68ea7341e3adee480c8c9113e61b5aa46d951112b7aa4e66d1e8b
DIST sqlglot-27.24.2-crates.tar.xz 8973180 BLAKE2B f893ebe4b94d4c2ab94f8fa902e51066e861511f698b24660d5becd31a98837c5a7f23a3d80c0716e8017012ae61f7202440c0092e1417e5f61b62e2e9f4260b SHA512 6a92b1ba2fbb51eac170db7a927927f8a06f184ebf820107a813c9cfa4dcdbea794199090a33986b48f5f00b3f43b404b7e1d26f5bf9663c53cb2b8f134d69af
DIST sqlglot-27.24.2.tar.gz 5489180 BLAKE2B c41246a29ed2dddf4f5063625ebb55ee2663468321d02ba73b8c17bd3dec6c0407e09cad198e4bb2d02d7fbc0efa3d04583c37bcb9988ce9af25d874522ee8bf SHA512 045f181addf3e5f272991c6a475897878d491967e24ad849a08f690c5b93db817b213245dee99d725bdc309acc55207e8d5f388d51a65d111c253e5c6993f82c
+DIST sqlglot-27.25.2.tar.gz 5489830 BLAKE2B 9bb24fd75f6cdf6141acfa0cee45f926ce2691fa68159ac7dfe15dd4f2f469f421b997e19c507e694c0a56e607a3535be4d59a4d250fe9b73483aa135ba00c40 SHA512 6bc31c853221b9eba1632fbc280c27b8568e90c24a44ec8bab7e53e1afa90e1f807cb0eca28b2e0d37cdc414c737b93e7f4fc8b9884b10a7088554bf7c320564
+DIST sqlglot-27.26.0.tar.gz 5490283 BLAKE2B 6492b62b6bef8f1b6c1a756896800429996b873a8b58264224e26c00e6c4fb4ff2f99dd595acb6021320c0fa6fc7838d9ca6a29966ce602797c100ab1cb64ed8 SHA512 2c76505c4c4a61d0f8f3ad294f8b3627bb63458c233d807db2ac89d7b12522b3e1caadef361eef4acc99507c9035a00e873aff9bdf1748b28b5fec3d0d4e8747
diff --git a/dev-python/sqlglot/sqlglot-27.25.2.ebuild b/dev-python/sqlglot/sqlglot-27.25.2.ebuild
new file mode 100644
index 000000000000..8f5401ed64eb
--- /dev/null
+++ b/dev-python/sqlglot/sqlglot-27.25.2.ebuild
@@ -0,0 +1,93 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+
+CARGO_OPTIONAL=1
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+CRATE_PV=27.24.2
+
+inherit cargo distutils-r1 pypi optfeature
+
+DESCRIPTION="An easily customizable SQL parser and transpiler"
+HOMEPAGE="
+ https://sqlglot.com/
+ https://github.com/tobymao/sqlglot/
+ https://pypi.org/project/sqlglot/
+"
+SRC_URI+="
+ native-extensions? (
+ https://github.com/gentoo-crate-dist/sqlglot/releases/download/v${CRATE_PV}/sqlglot-${CRATE_PV}-crates.tar.xz
+ )
+"
+
+LICENSE="MIT"
+LICENSE+=" native-extensions? ("
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
+"
+LICENSE+=" )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="+native-extensions"
+
+BDEPEND="
+ native-extensions? (
+ ${RUST_DEPEND}
+ dev-util/maturin[${PYTHON_USEDEP}]
+ )
+ test? (
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so"
+
+pkg_setup() {
+ use native-extensions && rust_pkg_setup
+}
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+python_compile() {
+ distutils-r1_python_compile
+
+ if use native-extensions; then
+ local DISTUTILS_USE_PEP517=maturin
+ cd sqlglotrs || die
+ distutils-r1_python_compile
+ cd - >/dev/null || die
+ fi
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # Tests require pyspark or duckdb which aren't in the tree.
+ # Pandas would be a requirement normally, but it gets ignored by proxy.
+ "tests/dataframe/integration/test_dataframe.py"
+ "tests/dataframe/integration/test_grouped_data.py"
+ "tests/dataframe/integration/test_session.py"
+ "tests/test_executor.py"
+ "tests/test_optimizer.py"
+ )
+
+ # make sure not to use an earlier installed version
+ local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0)
+ rm -rf sqlglotrs || die
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "simplifying timedelta expressions" dev-python/python-dateutil
+}
diff --git a/dev-python/sqlglot/sqlglot-27.26.0.ebuild b/dev-python/sqlglot/sqlglot-27.26.0.ebuild
new file mode 100644
index 000000000000..8f5401ed64eb
--- /dev/null
+++ b/dev-python/sqlglot/sqlglot-27.26.0.ebuild
@@ -0,0 +1,93 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+
+CARGO_OPTIONAL=1
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+CRATE_PV=27.24.2
+
+inherit cargo distutils-r1 pypi optfeature
+
+DESCRIPTION="An easily customizable SQL parser and transpiler"
+HOMEPAGE="
+ https://sqlglot.com/
+ https://github.com/tobymao/sqlglot/
+ https://pypi.org/project/sqlglot/
+"
+SRC_URI+="
+ native-extensions? (
+ https://github.com/gentoo-crate-dist/sqlglot/releases/download/v${CRATE_PV}/sqlglot-${CRATE_PV}-crates.tar.xz
+ )
+"
+
+LICENSE="MIT"
+LICENSE+=" native-extensions? ("
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
+"
+LICENSE+=" )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="+native-extensions"
+
+BDEPEND="
+ native-extensions? (
+ ${RUST_DEPEND}
+ dev-util/maturin[${PYTHON_USEDEP}]
+ )
+ test? (
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so"
+
+pkg_setup() {
+ use native-extensions && rust_pkg_setup
+}
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+python_compile() {
+ distutils-r1_python_compile
+
+ if use native-extensions; then
+ local DISTUTILS_USE_PEP517=maturin
+ cd sqlglotrs || die
+ distutils-r1_python_compile
+ cd - >/dev/null || die
+ fi
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # Tests require pyspark or duckdb which aren't in the tree.
+ # Pandas would be a requirement normally, but it gets ignored by proxy.
+ "tests/dataframe/integration/test_dataframe.py"
+ "tests/dataframe/integration/test_grouped_data.py"
+ "tests/dataframe/integration/test_session.py"
+ "tests/test_executor.py"
+ "tests/test_optimizer.py"
+ )
+
+ # make sure not to use an earlier installed version
+ local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0)
+ rm -rf sqlglotrs || die
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "simplifying timedelta expressions" dev-python/python-dateutil
+}
diff --git a/dev-python/syrupy/Manifest b/dev-python/syrupy/Manifest
index aa3a77d469b4..39ad4f888543 100644
--- a/dev-python/syrupy/Manifest
+++ b/dev-python/syrupy/Manifest
@@ -1 +1 @@
-DIST syrupy-4.9.1.gh.tar.gz 2319662 BLAKE2B 1f7aa3b1b928b88905606b67b4bd05096c6d9e9d7508d16f899540e3d249956467d2f008e3b4881e228e8c4cad06bddccdcfc1947ee3a2b96b59170b2a475b64 SHA512 e8a33fc788e1cd46c24070099942eedc2b4d88953f14c1255eb8350e44fbd92f37547f6f1a2b5bcd073670fcaa5d924e6a6ff0beb5e3f8a76180bca7037aa189
+DIST syrupy-5.0.0.gh.tar.gz 2324249 BLAKE2B ebcdf1bda2ed728f8b2f951208fb066e6c8e07746eec27b3f92e1f8a771d2d9a2c8437c1011c13e4d787d84bc82f54e183276f4354d31d4ddbf6f21dc2b9666f SHA512 0506f2b58dbe8acb8149030f544ab88d4160f52d03e097a8beb239f555aa0ff28771b1da93842cda0e551cf348afdb4df01805aea555bd05c5c931e6ec3d1b9a
diff --git a/dev-python/syrupy/syrupy-4.9.1.ebuild b/dev-python/syrupy/syrupy-5.0.0.ebuild
index d9936338400a..9b09975bbfe5 100644
--- a/dev-python/syrupy/syrupy-4.9.1.ebuild
+++ b/dev-python/syrupy/syrupy-5.0.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{11..13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/termynal/Manifest b/dev-python/termynal/Manifest
index c75413e247c9..da6d1f734f16 100644
--- a/dev-python/termynal/Manifest
+++ b/dev-python/termynal/Manifest
@@ -1 +1 @@
-DIST termynal-0.13.0.gh.tar.gz 171420 BLAKE2B b9e8d98e6b974d3ae00df81bfadc4aa89147eb892fa0311eadc809a619bc78c75821ee087362113ed55e24cd6e3f177b6d6df7932433b5c9e6893005318a269f SHA512 c6d7365deacd9f6d2c48e5163b0a375184e4f54907bebb20eecb53039e95cff473f42c853665562c34c05876808f8654232a3de2ebc3bd8f76231f6a52e90ce1
+DIST termynal-0.13.1.gh.tar.gz 171535 BLAKE2B 046ced44bbeea17292fa93804d2accea84d3834daf7d4e73e22a1d9688b546a0ad6c15778b1a92c813a9fc54d465ba41260e4c9e97e82ba42146d759117c2d57 SHA512 52e1d8619d4404a0cb43e0514c6d4978405cf36d91503d14eec6a1d659363892e8021b9adf98321445a28ec563352fb0f630b3e71286c4f741e97dd4d10db17c
diff --git a/dev-python/termynal/termynal-0.13.0.ebuild b/dev-python/termynal/termynal-0.13.1.ebuild
index e17cab333c37..e17cab333c37 100644
--- a/dev-python/termynal/termynal-0.13.0.ebuild
+++ b/dev-python/termynal/termynal-0.13.1.ebuild
diff --git a/dev-python/textual/Manifest b/dev-python/textual/Manifest
index 3b9e4978caeb..ae4495debe0e 100644
--- a/dev-python/textual/Manifest
+++ b/dev-python/textual/Manifest
@@ -1,2 +1,2 @@
-DIST textual-0.88.1.gh.tar.gz 29517235 BLAKE2B 457caef7957eab0b7317e94ce4dd991cf0da54c4b7c9b670089de6cb762b1fd28c1021b8be89e66947717452dcc4925ff70eb856cef470eacda6062322df2e7a SHA512 7c849dac56ca93853b36ad8c67f5544f5a071ad3b23f7753f46a6b62a1017098b40ce2be0aa526aa5a4de397ec26bb7b42a245170516e22ef297ccbc49321394
-DIST textual-3.2.0.gh.tar.gz 30131889 BLAKE2B 080b32fbf1370caf4da82953212432b04d5dd2066597422f802a7b46438e1a6a7396f0270c5fa9ef974117a905439d9cbca3c15f79687689d5463014ea356dee SHA512 caea5b0373a3748ecc05f2f3747528e8a377853f0027c2337152d08e94f0dd1fe537a567ef2ab8eb6c5d15139f9a7b20deb3e95cd0653683537db8179d55cdfa
+DIST textual-5.3.0.gh.tar.gz 30143229 BLAKE2B 4cdf7410efcbe4a87fd7346d3e083dfca03a3c546e598b21a3460270685b19ca7bc630c01acd8e1f132679199dab5cabdf525fb8e90fa7b6d6b4f1f5f43dba72 SHA512 df05703d7ef310a1f6e26b055550627ad6d981145d7ec215fb0abb01362c574b67701bf504ba088d4fe8c6f287942175f0e1d8a111c8424bf06acc6b65ead135
+DIST textual-6.2.1.gh.tar.gz 30159422 BLAKE2B 547afbe1d1da3f0bb182b9cf8bdda7ab9d685fd44d0f2b1899e86c538946cba6c576c65a4cf3e8090a811918d47c11ce1becf720432c1e3941221ac325e75d03 SHA512 f09ccda10303c6e0ca3f90b1ad4304b0ba18bc818148b754ec5318c2d5b5358b00ac4778c645b2c4931f96f5da114c0a7456051529b2f32c452134c439ef4a72
diff --git a/dev-python/textual/textual-3.2.0.ebuild b/dev-python/textual/textual-5.3.0.ebuild
index ba27bce3c193..f04d5d3437ce 100644
--- a/dev-python/textual/textual-3.2.0.ebuild
+++ b/dev-python/textual/textual-5.3.0.ebuild
@@ -66,6 +66,9 @@ EPYTEST_DESELECT=(
tests/test_focus.py::test_focus_chain
tests/test_focus.py::test_allow_focus
tests/test_focus.py::test_focus_next_and_previous_with_type_selector_without_self
+
+ # Needs a fixture that does not exist
+ tests/test_progress_bar.py::test_progress_bar_width_1fr
)
distutils_enable_tests pytest
# python_test() {
diff --git a/dev-python/textual/textual-0.88.1.ebuild b/dev-python/textual/textual-6.2.1.ebuild
index 977e6d512046..f04d5d3437ce 100644
--- a/dev-python/textual/textual-0.88.1.ebuild
+++ b/dev-python/textual/textual-6.2.1.ebuild
@@ -1,10 +1,11 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
PYTHON_COMPAT=( python3_{11..13} )
+
DOCS_BUILDER="mkdocs"
DOCS_DEPEND="
dev-python/mkdocstrings
@@ -16,7 +17,7 @@ DOCS_DEPEND="
"
DOCS_INITIALIZE_GIT=1
-inherit distutils-r1 optfeature #docs
+inherit distutils-r1 optfeature docs
DESCRIPTION="Modern Text User Interface framework"
HOMEPAGE="https://github.com/Textualize/textual https://pypi.org/project/textual/"
@@ -36,18 +37,13 @@ BDEPEND="
test? (
dev-python/griffe[${PYTHON_USEDEP}]
dev-python/httpx[${PYTHON_USEDEP}]
- dev-python/platformdirs[${PYTHON_USEDEP}]
dev-python/pytest-asyncio[${PYTHON_USEDEP}]
=dev-python/textual-dev-1.7*[${PYTHON_USEDEP}]
)
"
-# currently masked
-#BDEPEND+="doc? ( dev-python/tree-sitter-languages[${PYTHON_USEDEP}] )
DEPEND="${RDEPEND}"
-# PATCHES=(
-# "${FILESDIR}/fix-mkdocstrings.patch"
-# )
+DOCS+=( CHANGELOG.md LICENSE README.md )
EPYTEST_XDIST=1
EPYTEST_DESELECT=(
@@ -57,28 +53,48 @@ EPYTEST_DESELECT=(
# Need a package that should be optional
tests/text_area/test_languages.py
+
+ # Xdist fails thoses
+ tests/test_focus.py::test_focus_next_and_previous
+ tests/test_focus.py::test_focus_next_wrap_around
+ tests/test_focus.py::test_focus_previous_wrap_around
+ tests/test_focus.py::test_wrap_around_selector
+ tests/test_focus.py::test_no_focus_empty_selector
+ tests/test_focus.py::test_focus_next_and_previous_with_type_selector
+ tests/test_focus.py::test_focus_next_and_previous_with_str_selector
+ tests/test_focus.py::test_focus_next_and_previous_with_str_selector_without_self
+ tests/test_focus.py::test_focus_chain
+ tests/test_focus.py::test_allow_focus
+ tests/test_focus.py::test_focus_next_and_previous_with_type_selector_without_self
+
+ # Needs a fixture that does not exist
+ tests/test_progress_bar.py::test_progress_bar_width_1fr
)
distutils_enable_tests pytest
-python_test() {
- if [[ ${EPYTHON} == python3.13 ]]; then
- EPYTEST_DESELECT+=(
- # See https://github.com/Textualize/textual/issues/5327
- "tests/text_area"
- )
- epytest -m 'not syntax' tests
- else
- epytest tests
- fi
-}
+# python_test() {
+# if [[ ${EPYTHON} == python3.13 ]]; then
+# EPYTEST_DESELECT+=(
+# # See https://github.com/Textualize/textual/issues/5327
+# "tests/text_area"
+# # Some tests just do not work under python3.13 (more than half of those in this file)
+# tests/test_focus.py
+# )
+# epytest -m 'not syntax' tests
+# else
+# epytest tests
+# fi
+# }
python_compile_all() {
echo "INHERIT: mkdocs-offline.yml" > "${S}/mkdocs.yml"
grep -v "\- \"*[Bb]log" "${S}/mkdocs-nav.yml" >> "${S}/mkdocs.yml"
- #docs_compile
+ if use doc; then
+ DOCS+=( questions )
+ fi
+ docs_compile
rm "${S}/mkdocs.yml"
}
pkg_postinst() {
optfeature "bindings for python" dev-python/tree-sitter
- #optfeature "support for all languages" dev-python/tree-sitter-languages
}
diff --git a/dev-python/textx/Manifest b/dev-python/textx/Manifest
index 2cda5ff374e9..47f3204a4cff 100644
--- a/dev-python/textx/Manifest
+++ b/dev-python/textx/Manifest
@@ -1,3 +1,2 @@
-DIST textX-4.1.0.gh.tar.gz 2136599 BLAKE2B d6c7d4d741b4e526d0a71743387ee8455cc861bc4b356c605b6d174adb870bd178fd557a804f170f3d411b3ae70845771f7ffa7bbe9c4d1053c3d87e062deddb SHA512 313fea5b6d9e94e280a0614d4130872229536fe39d5af6e440a08babe6c4e5a5c23b53827713d577cc9af32a55a6beeaeddce59dbceb5f53a3f87cb910609599
-DIST textX-4.2.0.gh.tar.gz 2136704 BLAKE2B c851a74deb7f79719549181b1e49201e60422007d600ff058b8c513d3cfbcfaad6d42a719425d16a7810662fe190ddbd65a23e75c8f8fca59b109c6be9046306 SHA512 d2342e7408dd51b5960e868d278ee5f4f656b4befad7f67ecac15e1c587d65b1894ecfadb7219c8c1a33c0945ba37eff638458b69f3dfa01626ab363eee99540
DIST textX-4.2.2.gh.tar.gz 2136825 BLAKE2B 6d48f7255ca6d87ff018814757be7787f59f0b7a2a587493407da92840c052b770a2a607acac42ddfdc85470f9dfba47abe9abc06c47075f9a399f99c69420bf SHA512 20b4f6abfbe51e52d53bba243b3a4272df93feb6885c9c2f7bfc614534510d211053ea06b2672ef2e720630485ca304fe2e1c21e47bc0ccaaf97eb012fb8ffcd
+DIST textX-4.2.3.gh.tar.gz 2137561 BLAKE2B 952a86a32ce3ca4ac8b17ee6995545bdb2a36236bf19050ebd4a49af1ca8fca149e7c56537135a9261a096f5c86eaff4fd7db0a500de2ada0a0bb933961c8457 SHA512 e66421bc197a706ca8e3e48ab933904671ce12b32d7802cc3e4fa2005482927d3131162c72b4a4bb42c5af124289bfd7bf27e8ba42cd14901233978fbfd5c1d9
diff --git a/dev-python/textx/textx-4.1.0.ebuild b/dev-python/textx/textx-4.1.0.ebuild
deleted file mode 100644
index 381407d4b1d3..000000000000
--- a/dev-python/textx/textx-4.1.0.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..13} )
-
-inherit distutils-r1
-
-MY_P=textX-${PV}
-DESCRIPTION="Meta-language for DSL implementation inspired by Xtext"
-HOMEPAGE="
- https://pypi.org/project/textX/
- https://github.com/textX/textX/
-"
-SRC_URI="
- https://github.com/textX/textX/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/arpeggio-2.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/click[${PYTHON_USEDEP}]
- dev-python/html5lib[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- cp -a "${BUILD_DIR}"/{install,test} || die
- local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
-
- # Update the shebang
- sed -e "s:install/usr/bin/${EPYTHON}:test/usr/bin/${EPYTHON}:" \
- -i "${BUILD_DIR}"/test/usr/bin/textx || die
-
- # Install necessary plugins
- local plugins=(
- tests/functional/subcommands/example_project
- tests/functional/registration/projects/*
- )
- local p
- for p in "${plugins[@]}"; do
- pushd "${p}" >/dev/null || die
- distutils_pep517_install "${BUILD_DIR}"/test
- popd >/dev/null || die
- done
-
- epytest tests/functional
-}
diff --git a/dev-python/textx/textx-4.2.0.ebuild b/dev-python/textx/textx-4.2.3.ebuild
index 26f8d25a2dd4..b0c424833730 100644
--- a/dev-python/textx/textx-4.2.0.ebuild
+++ b/dev-python/textx/textx-4.2.3.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{11..13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
@@ -33,6 +33,7 @@ BDEPEND="
)
"
+EPYTEST_PLUGINS=()
distutils_enable_tests pytest
python_test() {
diff --git a/dev-python/tox/Manifest b/dev-python/tox/Manifest
index 2ce25f86dc4e..4686a9ed69c5 100644
--- a/dev-python/tox/Manifest
+++ b/dev-python/tox/Manifest
@@ -1,3 +1,4 @@
DIST tox-4.29.0.tar.gz 200853 BLAKE2B 6b9ea0be59a0a73d71b87f4f7b5aa5ca075b80316d5ce2a52a093a717c63eef7cf250efb692a4d962abdeb6f421628cb726b41eb674bebc1f43573813545ad85 SHA512 9f1a88c42d90717f59a414490052107f6f2d357bf981ad6d0c63569af31d2215e626a28c1b3fcdd7e30883f0df5fda0207ed12f91683b0d3261b69af630fa84a
DIST tox-4.30.2.tar.gz 202622 BLAKE2B adcfcca1d9b41cdf7fcbd287f387948607615a344dc97046fd873bd8348447e40e8a9eb265c301e2fe31c24c9b74b38b82fe5b35e663d9147993673e548c9144 SHA512 abcae2d0a28e54cdc6a6f149c06a10bc3a1eaedf81f6125dea82c5aa02acdab560877061de9fd12535e25c0bdce20839a36083e01f103d941980d20d4755ddcc
DIST tox-4.30.3.tar.gz 202799 BLAKE2B 761819260390f6255cb6ae4cf600d5994a3221b2f9d089eb41c13520630908a6bcd0dd769ae60dff6c96db5aff204168fd7d48cdae28260048a3b2e689caecec SHA512 c4ef909b7e369844042f26ae4c492ec4c78cd0efe11af80f36159304166cd6e77b75b8191de0e78870f414c921230402bccdfda5ceeb56e4194abc66f076f720
+DIST tox-4.31.0.tar.gz 203294 BLAKE2B 29056dee614a9a41bd373142558dc9399aa01c464d647dc1464360642bb3acce40101fa473cec40344f77a39829593fd3d769f795128c5d03d76b759922e5660 SHA512 6e936ca8c4616a3286ce77f8e1eb3ca5c69a4cda0299c395dfbb6e28755a08163e03bc32bfce50eb73ec9f939a2165038a43357679198a06b97343c36e331e97
diff --git a/dev-python/tox/tox-4.31.0.ebuild b/dev-python/tox/tox-4.31.0.ebuild
new file mode 100644
index 000000000000..7192a618f3fa
--- /dev/null
+++ b/dev-python/tox/tox-4.31.0.ebuild
@@ -0,0 +1,91 @@
+# 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_{11..14} pypy3_11 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="virtualenv-based automation of test activities"
+HOMEPAGE="
+ https://tox.readthedocs.io/
+ https://github.com/tox-dev/tox/
+ https://pypi.org/project/tox/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/cachetools[${PYTHON_USEDEP}]
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/colorama[${PYTHON_USEDEP}]
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/platformdirs[${PYTHON_USEDEP}]
+ dev-python/pluggy[${PYTHON_USEDEP}]
+ dev-python/pyproject-api[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/build[${PYTHON_USEDEP}]
+ dev-python/distlib[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/re-assert[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/time-machine[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{mock,rerunfailures,xdist} )
+# xdist seems to mess up state between successive implementation runs
+distutils_enable_tests pytest
+
+src_prepare() {
+ # upstream lower bounds are meaningless
+ sed -i -e 's:>=[0-9.]*::' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # devpi_process is not packaged, and has lots of dependencies
+ cat > "${T}"/devpi_process.py <<-EOF || die
+ def IndexServer(*args, **kwargs): raise NotImplementedError()
+ EOF
+
+ local -x PYTHONPATH=${T}:${PYTHONPATH}
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/tox_env/python/virtual_env/package/test_package_cmd_builder.py::test_build_wheel_external
+ tests/tox_env/python/virtual_env/package/test_package_cmd_builder.py::test_run_installpkg_targz
+ tests/tox_env/python/virtual_env/package/test_package_pyproject.py::test_pyproject_installpkg_pep517_envs
+ )
+ local EPYTEST_IGNORE=(
+ # requires devpi*
+ tests/test_provision.py
+ )
+
+ case ${EPYTHON} in
+ python*)
+ local EPYTEST_PLUGINS=( "${EPYTEST_PLUGINS[@]}" time-machine )
+ ;;
+ pypy3*)
+ EPYTEST_DESELECT+=(
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[explicit-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[requirements-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[constraints-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[explicit+requirements-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[requirements_indirect-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[requirements_constraints_indirect-True-True]'
+ )
+ ;;
+ esac
+
+ epytest -o addopts=
+}
diff --git a/dev-python/txredisapi/txredisapi-1.4.11.ebuild b/dev-python/txredisapi/txredisapi-1.4.11-r1.ebuild
index 8476bb41e2ae..8476bb41e2ae 100644
--- a/dev-python/txredisapi/txredisapi-1.4.11.ebuild
+++ b/dev-python/txredisapi/txredisapi-1.4.11-r1.ebuild
diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest
index 74185c59437b..c7d4a8d34451 100644
--- a/dev-python/uv-build/Manifest
+++ b/dev-python/uv-build/Manifest
@@ -9,3 +9,5 @@ DIST uv_build-0.8.23.tar.gz 332290 BLAKE2B 06b569c7ce774476e3e24eb0e4cf8f9f30d59
DIST uv_build-0.8.24.tar.gz 332743 BLAKE2B de8e695ab1b41139dd6a8d78ae8f895ae4e464f7956019c1f32a9a39109517332ed4e783cc99dddb16c89215d49488081c2139a5edb7f9a7a602d712f1580e9f SHA512 cdeeead6b94e27edf6ebcd5997419032266f4f3fe6deef22c3b850220d5cb5c5416c4d13cbaca543facf417ec12f749bf2f2cac63894047464a3b54275d1a988
DIST uv_build-0.8.6.tar.gz 318772 BLAKE2B faf4f36b32cf308d3c70d52b84bd135d108db4018bc4c7eadf193448e422fe8b0deb1cf68f7264413152697708f9a15748a017d0ece151c19c1677916b3727b9 SHA512 da83c3ba7f2daa1c39a8bac5b18635eff4afc93460ea23b770518ebaf44bef573654e272c117e257f4126124c71a5b661f2751ff36be792c03ee28f257d1eddc
DIST uv_build-0.9.0.tar.gz 332461 BLAKE2B 422c100a5eec0d8973e676be25cdee06c2cfb7e5be1509a4dc1eeb60293633a8e541396125f884809af0e6b5f5135b7841bee7951207d0052a354c61aa5eca4a SHA512 2eaac5ab194e222bd12d569611fc3c1f1238f90f0fc634b529bed004979b8782db506f110563995ad1df0d960246d5db85260f772db62098ece178325ed6f5b0
+DIST uv_build-0.9.1.tar.gz 332775 BLAKE2B 29808da2a83560a3d75d233dd5671a93b532881366dac9fc7963cf8a85b2c84cd8085b7ec9f6275adf1bef75c81700f39ea36f0d713f1ab0a028d9365cd231da SHA512 4dfb14ece44d6f8ed8a9381306d69161e6acea58800c12299af051ede93274869591b482f64023ae4b2f525e5f91b579dbcfef688279f8551988bd563df64944
+DIST uv_build-0.9.2.tar.gz 332728 BLAKE2B b2f6d546cfddf19f53ec10d144ed4f46dcf60f28a85271877742f19668056277fbff51838fc56c6dba7a2dca52524bf07895d264937c7a100913908c82cb87f3 SHA512 71321eb3485b1056b0a152c82765932379ca9f33de19ad4dcaa760e34d1217558fb3367724a9f1ee99324d9fc828445a80969e20536bc192b4715a02c37663d6
diff --git a/dev-python/uv-build/uv-build-0.9.0.ebuild b/dev-python/uv-build/uv-build-0.9.0.ebuild
index a047e409cdbc..8d74c706f39b 100644
--- a/dev-python/uv-build/uv-build-0.9.0.ebuild
+++ b/dev-python/uv-build/uv-build-0.9.0.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="|| ( Apache-2.0 MIT )"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~riscv"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/uv-build/uv-build-0.9.1.ebuild b/dev-python/uv-build/uv-build-0.9.1.ebuild
new file mode 100644
index 000000000000..8d74c706f39b
--- /dev/null
+++ b/dev-python/uv-build/uv-build-0.9.1.ebuild
@@ -0,0 +1,99 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Maturin compiles uv-build executable for every impl, we do not want
+# that, so we use another backend. And since we use another backend,
+# why not dogfood it in the first place?
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="PEP517 uv build backend"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv-build/
+"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/uv-${PV}
+"
+BDEPEND="
+ test? (
+ app-arch/unzip
+ dev-python/build[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # use the executable from dev-python/uv instead of building
+ # a largely overlapping uv-build executable (at least for now)
+ sed -i -e '/USE_UV_EXECUTABLE/s:False:True:' python/uv_build/__init__.py || die
+
+ # replace the build-system section
+ sed -i -e '/\[build-system\]/,$d' pyproject.toml || die
+ cat >> pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["uv_build<9999"]
+ build-backend = "uv_build"
+ backend-path = ["src"]
+ EOF
+
+ # rename to make uv-build find it
+ mv python src || die
+}
+
+python_test() {
+ "${EPYTHON}" -m build -n || die "Self-build failed with ${EPYTHON}"
+
+ local zip_result=$(
+ unzip -t "dist/uv_build-${PV}-py3-none-any.whl" || die
+ )
+ local zip_expected="\
+Archive: dist/uv_build-${PV}-py3-none-any.whl
+ testing: uv_build/ OK
+ testing: uv_build/__init__.py OK
+ testing: uv_build/__main__.py OK
+ testing: uv_build/py.typed OK
+ testing: uv_build-${PV}.dist-info/ OK
+ testing: uv_build-${PV}.dist-info/WHEEL OK
+ testing: uv_build-${PV}.dist-info/METADATA OK
+ testing: uv_build-${PV}.dist-info/RECORD OK
+No errors detected in compressed data of dist/uv_build-${PV}-py3-none-any.whl.\
+"
+ if [[ ${zip_result} != ${zip_expected} ]]; then
+ eerror ".zip result:\n${zip_result}"
+ eerror ".zip expected:\n${zip_expected}"
+ die ".whl result mismatch"
+ fi
+
+ local tar_result=$(
+ tar -tf "dist/uv_build-${PV}.tar.gz" || die
+ )
+ local tar_expected="\
+uv_build-${PV}/PKG-INFO
+uv_build-${PV}/
+uv_build-${PV}/README.md
+uv_build-${PV}/pyproject.toml
+uv_build-${PV}/src
+uv_build-${PV}/src/uv_build
+uv_build-${PV}/src/uv_build/__init__.py
+uv_build-${PV}/src/uv_build/__main__.py
+uv_build-${PV}/src/uv_build/py.typed\
+"
+ if [[ ${tar_result} != ${tar_expected} ]]; then
+ eerror ".tar.gz result:\n${tar_result}"
+ eerror ".tar.gz expected:\n${tar_expected}"
+ die ".tar.gz result mismatch"
+ fi
+}
diff --git a/dev-python/uv-build/uv-build-0.9.2.ebuild b/dev-python/uv-build/uv-build-0.9.2.ebuild
new file mode 100644
index 000000000000..8d74c706f39b
--- /dev/null
+++ b/dev-python/uv-build/uv-build-0.9.2.ebuild
@@ -0,0 +1,99 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Maturin compiles uv-build executable for every impl, we do not want
+# that, so we use another backend. And since we use another backend,
+# why not dogfood it in the first place?
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="PEP517 uv build backend"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv-build/
+"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/uv-${PV}
+"
+BDEPEND="
+ test? (
+ app-arch/unzip
+ dev-python/build[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # use the executable from dev-python/uv instead of building
+ # a largely overlapping uv-build executable (at least for now)
+ sed -i -e '/USE_UV_EXECUTABLE/s:False:True:' python/uv_build/__init__.py || die
+
+ # replace the build-system section
+ sed -i -e '/\[build-system\]/,$d' pyproject.toml || die
+ cat >> pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["uv_build<9999"]
+ build-backend = "uv_build"
+ backend-path = ["src"]
+ EOF
+
+ # rename to make uv-build find it
+ mv python src || die
+}
+
+python_test() {
+ "${EPYTHON}" -m build -n || die "Self-build failed with ${EPYTHON}"
+
+ local zip_result=$(
+ unzip -t "dist/uv_build-${PV}-py3-none-any.whl" || die
+ )
+ local zip_expected="\
+Archive: dist/uv_build-${PV}-py3-none-any.whl
+ testing: uv_build/ OK
+ testing: uv_build/__init__.py OK
+ testing: uv_build/__main__.py OK
+ testing: uv_build/py.typed OK
+ testing: uv_build-${PV}.dist-info/ OK
+ testing: uv_build-${PV}.dist-info/WHEEL OK
+ testing: uv_build-${PV}.dist-info/METADATA OK
+ testing: uv_build-${PV}.dist-info/RECORD OK
+No errors detected in compressed data of dist/uv_build-${PV}-py3-none-any.whl.\
+"
+ if [[ ${zip_result} != ${zip_expected} ]]; then
+ eerror ".zip result:\n${zip_result}"
+ eerror ".zip expected:\n${zip_expected}"
+ die ".whl result mismatch"
+ fi
+
+ local tar_result=$(
+ tar -tf "dist/uv_build-${PV}.tar.gz" || die
+ )
+ local tar_expected="\
+uv_build-${PV}/PKG-INFO
+uv_build-${PV}/
+uv_build-${PV}/README.md
+uv_build-${PV}/pyproject.toml
+uv_build-${PV}/src
+uv_build-${PV}/src/uv_build
+uv_build-${PV}/src/uv_build/__init__.py
+uv_build-${PV}/src/uv_build/__main__.py
+uv_build-${PV}/src/uv_build/py.typed\
+"
+ if [[ ${tar_result} != ${tar_expected} ]]; then
+ eerror ".tar.gz result:\n${tar_result}"
+ eerror ".tar.gz expected:\n${tar_expected}"
+ die ".tar.gz result mismatch"
+ fi
+}
diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest
index 01d1f327badb..2ca18d2bae8e 100644
--- a/dev-python/uv/Manifest
+++ b/dev-python/uv/Manifest
@@ -22,3 +22,6 @@ DIST uv-0.8.24.gh.tar.gz 4711600 BLAKE2B 9939b7aff063e5e1e473b162e23e521d73d67d0
DIST uv-0.8.6-crates.tar.xz 46208952 BLAKE2B f9557a45fbfaa9d6006f935629130960b5d414cd185d7fbdb1415e7f3875568d07ade946a0b606712e9e2e06e7964bb0fb8318e02e78609899a852ed073b87a6 SHA512 c79fa70a6a670dc2d80efbf0b51942806b2b16ab7b4c63983ab634453ab32142322302bd68ab80f5bcfee08138bca8d04a7d152c76ca5d94bfc40255cab8477b
DIST uv-0.8.6.gh.tar.gz 4255911 BLAKE2B 198ed83cb487f25a35957959bca32f98b8f5343712a7a9bbf3f817f189f1ec9c7903fa2e64ec65c9b3e18a469506c942ebb0ca50b39a353dc7e82228386fb69c SHA512 d164488e967364d254bab989933a5faf27c52c91da1bdeb6f3419fce335dfac5d4ea6cd717cac6b05fee9f85605cf21930c3d37119c49a98cb13c53d51ea996d
DIST uv-0.9.0.gh.tar.gz 4724344 BLAKE2B 43a8c9d46cb374aa2c6b3f021c2b8f7c38bbadde870eacb0a609a7541d0480ef53d0e73cfd4f54dda902f0a19792211315dc96bd5eb99ccfb687e1440ad6cd95 SHA512 f9815a8f79cf8fdb1d892b4407cfe164cd191f78ef17550481e97b6e42626b92a9a06e791205a2448e07a77f0d959ba8933060bddc22a80700f5544c0ad15820
+DIST uv-0.9.1-crates.tar.xz 46038732 BLAKE2B 83f7e8b0649341354e24e20d530640ac4bd07759bcf764526faff034e39e63f9a4efcaf4dec3c8b06dc93f86f9a767f07118332373a3adf4983abb9a7f9ee944 SHA512 27ebecd20669a5e45c8dcb770daed7e7ec4f985d871d73dc7a3378882ced3e704c02153a66a8351a5706514c9ae0174ab6c25c269a2aa2ec376834799073b87a
+DIST uv-0.9.1.gh.tar.gz 4729329 BLAKE2B f859b68ca6d4da3df30cf4f17a7741e17da029195d1caade5017a599ef1227ea8824ff95aef0fa4669c2532440cefa5b05a528c9767728fcb4a8c05f13b4de37 SHA512 82ebac748368b08fcb9841c28de0a86f11510518c73f8c062bc6e960cdfa2da0a612ce24599893cc5072c46a31dabffd1358b803f16ed78ffd31b83694a99212
+DIST uv-0.9.2.gh.tar.gz 4737210 BLAKE2B f2f74fa8015aa05073f317a96abf0e8b1177d16401a5e42c279cd7edc2c992b392cb2be953ae9d1f43279577d313e7104359851ce4b8b695d5c3915d1abbeede SHA512 197cbb4503fbd353b6f2f28db8d0a2a47040f15829164b1fc6827a8772f6ab354b502852b41f2217b824febada7c8c8e5287dec2f9b1dcc94c42cb9adab35f23
diff --git a/dev-python/uv/uv-0.9.1.ebuild b/dev-python/uv/uv-0.9.1.ebuild
new file mode 100644
index 000000000000..5c9e7094598b
--- /dev/null
+++ b/dev-python/uv/uv-0.9.1.ebuild
@@ -0,0 +1,183 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+RUST_MIN_VER="1.88.0"
+
+declare -A GIT_CRATES=(
+ [async_zip]='https://github.com/astral-sh/rs-async-zip;285e48742b74ab109887d62e1ae79e7c15fd4878;rs-async-zip-%commit%'
+ [pubgrub]='https://github.com/astral-sh/pubgrub;d8efd77673c9a90792da9da31b6c0da7ea8a324b;pubgrub-%commit%'
+ [reqwest-middleware]='https://github.com/astral-sh/reqwest-middleware;7650ed76215a962a96d94a79be71c27bffde7ab2;reqwest-middleware-%commit%/reqwest-middleware'
+ [reqwest-retry]='https://github.com/astral-sh/reqwest-middleware;7650ed76215a962a96d94a79be71c27bffde7ab2;reqwest-middleware-%commit%/reqwest-retry'
+ [tl]='https://github.com/astral-sh/tl;6e25b2ee2513d75385101a8ff9f591ef51f314ec;tl-%commit%'
+ [version-ranges]='https://github.com/astral-sh/pubgrub;d8efd77673c9a90792da9da31b6c0da7ea8a324b;pubgrub-%commit%/version-ranges'
+)
+
+inherit cargo check-reqs
+
+CRATE_PV=${PV}
+DESCRIPTION="A Python package installer and resolver, written in Rust"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv/
+"
+# pypi sdist misses scripts/, needed for tests
+SRC_URI="
+ https://github.com/astral-sh/uv/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://github.com/gentoo-crate-dist/uv/releases/download/${CRATE_PV}/uv-${CRATE_PV}-crates.tar.xz
+ "
+fi
+
+# most of the code
+LICENSE="|| ( Apache-2.0 MIT )"
+# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below
+# Dependent crate licenses
+LICENSE+="
+ 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0
+ CDLA-Permissive-2.0 ISC MIT MPL-2.0 Unicode-3.0 Unicode-DFS-2016
+ ZLIB
+"
+# ring crate
+LICENSE+=" openssl"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="test"
+PROPERTIES="test_network"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/xz-utils:=
+ app-arch/zstd:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ test? (
+ dev-lang/python:3.9
+ dev-lang/python:3.10
+ dev-lang/python:3.11
+ dev-lang/python:3.12
+ dev-lang/python:3.13
+ !!~dev-python/uv-0.5.0
+ )
+"
+
+QA_FLAGS_IGNORED="usr/bin/.*"
+
+check_space() {
+ local CHECKREQS_DISK_BUILD=3G
+ use debug && CHECKREQS_DISK_BUILD=9G
+ check-reqs_pkg_setup
+}
+
+pkg_pretend() {
+ check_space
+}
+
+pkg_setup() {
+ check_space
+ rust_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # replace upstream crate substitution with our crate substitution, sigh
+ local pkg
+ for pkg in reqwest-middleware reqwest-retry; do
+ local dep=$(grep "^${pkg}" "${ECARGO_HOME}"/config.toml || die)
+ sed -i -e "/\[patch\.crates-io\]/,\$s;^${pkg}.*$;${dep};" Cargo.toml || die
+ done
+
+ # force thin lto, makes build much faster and less memory hungry
+ # (i.e. makes it possible to actually build uv on 32-bit PPC)
+ sed -i -e '/lto/s:fat:thin:' Cargo.toml || die
+
+ # enable system libraries where supported
+ export ZSTD_SYS_USE_PKG_CONFIG=1
+ # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys?
+
+ # remove unbundled sources, just in case
+ find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die
+
+ # bzip2-sys requires a pkg-config file
+ # https://github.com/alexcrichton/bzip2-rs/issues/104
+ mkdir "${T}/pkg-config" || die
+ export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}}
+ cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die
+ Name: bzip2
+ Version: 9999
+ Description:
+ Libs: -lbz2
+ EOF
+}
+
+src_configure() {
+ local myfeatures=(
+ git
+ pypi
+ python
+ )
+
+ cargo_src_configure --no-default-features
+}
+
+src_compile() {
+ cd crates/uv || die
+ cargo_src_compile
+}
+
+src_test() {
+ # work around https://github.com/astral-sh/uv/issues/4376
+ local -x PATH=${BROOT}/usr/lib/python-exec/python3.12:${PATH}
+ local -x COLUMNS=100
+ local -x PYTHONDONTWRITEBYTECODE=
+ # fix tests failing because of our config
+ local -x XDG_CONFIG_DIRS=${T}
+
+ cd crates/uv || die
+ cargo_src_test --no-fail-fast
+}
+
+src_install() {
+ cd crates/uv || die
+ cargo_src_install
+
+ insinto /etc/xdg/uv
+ newins - uv.toml <<-EOF || die
+ # These defaults match Fedora, see:
+ # https://src.fedoraproject.org/rpms/uv/pull-request/18
+
+ # By default ("automatic"), uv downloads missing Python versions
+ # automatically and keeps them in the user's home directory.
+ # Disable that to make downloading opt-in, and especially
+ # to avoid unnecessarily fetching custom Python when the distro
+ # package would be preferable. Python builds can still be
+ # downloaded manually via "uv python install".
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-downloads
+ python-downloads = "manual"
+
+ # By default ("managed"), uv always prefers self-installed
+ # Python versions over the system Python, independently
+ # of versions. Since we generally expect users to use that
+ # to install old Python versions not in ::gentoo anymore,
+ # this effectively means that uv would end up preferring very
+ # old Python versions over the newer ones that are provided
+ # by the system. Default to using the system versions to avoid
+ # this counter-intuitive behavior.
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-preference
+ python-preference = "system"
+ EOF
+}
diff --git a/dev-python/uv/uv-0.9.2.ebuild b/dev-python/uv/uv-0.9.2.ebuild
new file mode 100644
index 000000000000..1af4c2bf6f70
--- /dev/null
+++ b/dev-python/uv/uv-0.9.2.ebuild
@@ -0,0 +1,183 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+RUST_MIN_VER="1.88.0"
+
+declare -A GIT_CRATES=(
+ [async_zip]='https://github.com/astral-sh/rs-async-zip;285e48742b74ab109887d62e1ae79e7c15fd4878;rs-async-zip-%commit%'
+ [pubgrub]='https://github.com/astral-sh/pubgrub;d8efd77673c9a90792da9da31b6c0da7ea8a324b;pubgrub-%commit%'
+ [reqwest-middleware]='https://github.com/astral-sh/reqwest-middleware;7650ed76215a962a96d94a79be71c27bffde7ab2;reqwest-middleware-%commit%/reqwest-middleware'
+ [reqwest-retry]='https://github.com/astral-sh/reqwest-middleware;7650ed76215a962a96d94a79be71c27bffde7ab2;reqwest-middleware-%commit%/reqwest-retry'
+ [tl]='https://github.com/astral-sh/tl;6e25b2ee2513d75385101a8ff9f591ef51f314ec;tl-%commit%'
+ [version-ranges]='https://github.com/astral-sh/pubgrub;d8efd77673c9a90792da9da31b6c0da7ea8a324b;pubgrub-%commit%/version-ranges'
+)
+
+inherit cargo check-reqs
+
+CRATE_PV=0.9.1
+DESCRIPTION="A Python package installer and resolver, written in Rust"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv/
+"
+# pypi sdist misses scripts/, needed for tests
+SRC_URI="
+ https://github.com/astral-sh/uv/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://github.com/gentoo-crate-dist/uv/releases/download/${CRATE_PV}/uv-${CRATE_PV}-crates.tar.xz
+ "
+fi
+
+# most of the code
+LICENSE="|| ( Apache-2.0 MIT )"
+# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below
+# Dependent crate licenses
+LICENSE+="
+ 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0
+ CDLA-Permissive-2.0 ISC MIT MPL-2.0 Unicode-3.0 Unicode-DFS-2016
+ ZLIB
+"
+# ring crate
+LICENSE+=" openssl"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="test"
+PROPERTIES="test_network"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/xz-utils:=
+ app-arch/zstd:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ test? (
+ dev-lang/python:3.9
+ dev-lang/python:3.10
+ dev-lang/python:3.11
+ dev-lang/python:3.12
+ dev-lang/python:3.13
+ !!~dev-python/uv-0.5.0
+ )
+"
+
+QA_FLAGS_IGNORED="usr/bin/.*"
+
+check_space() {
+ local CHECKREQS_DISK_BUILD=3G
+ use debug && CHECKREQS_DISK_BUILD=9G
+ check-reqs_pkg_setup
+}
+
+pkg_pretend() {
+ check_space
+}
+
+pkg_setup() {
+ check_space
+ rust_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # replace upstream crate substitution with our crate substitution, sigh
+ local pkg
+ for pkg in reqwest-middleware reqwest-retry; do
+ local dep=$(grep "^${pkg}" "${ECARGO_HOME}"/config.toml || die)
+ sed -i -e "/\[patch\.crates-io\]/,\$s;^${pkg}.*$;${dep};" Cargo.toml || die
+ done
+
+ # force thin lto, makes build much faster and less memory hungry
+ # (i.e. makes it possible to actually build uv on 32-bit PPC)
+ sed -i -e '/lto/s:fat:thin:' Cargo.toml || die
+
+ # enable system libraries where supported
+ export ZSTD_SYS_USE_PKG_CONFIG=1
+ # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys?
+
+ # remove unbundled sources, just in case
+ find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die
+
+ # bzip2-sys requires a pkg-config file
+ # https://github.com/alexcrichton/bzip2-rs/issues/104
+ mkdir "${T}/pkg-config" || die
+ export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}}
+ cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die
+ Name: bzip2
+ Version: 9999
+ Description:
+ Libs: -lbz2
+ EOF
+}
+
+src_configure() {
+ local myfeatures=(
+ git
+ pypi
+ python
+ )
+
+ cargo_src_configure --no-default-features
+}
+
+src_compile() {
+ cd crates/uv || die
+ cargo_src_compile
+}
+
+src_test() {
+ # work around https://github.com/astral-sh/uv/issues/4376
+ local -x PATH=${BROOT}/usr/lib/python-exec/python3.12:${PATH}
+ local -x COLUMNS=100
+ local -x PYTHONDONTWRITEBYTECODE=
+ # fix tests failing because of our config
+ local -x XDG_CONFIG_DIRS=${T}
+
+ cd crates/uv || die
+ cargo_src_test --no-fail-fast
+}
+
+src_install() {
+ cd crates/uv || die
+ cargo_src_install
+
+ insinto /etc/xdg/uv
+ newins - uv.toml <<-EOF || die
+ # These defaults match Fedora, see:
+ # https://src.fedoraproject.org/rpms/uv/pull-request/18
+
+ # By default ("automatic"), uv downloads missing Python versions
+ # automatically and keeps them in the user's home directory.
+ # Disable that to make downloading opt-in, and especially
+ # to avoid unnecessarily fetching custom Python when the distro
+ # package would be preferable. Python builds can still be
+ # downloaded manually via "uv python install".
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-downloads
+ python-downloads = "manual"
+
+ # By default ("managed"), uv always prefers self-installed
+ # Python versions over the system Python, independently
+ # of versions. Since we generally expect users to use that
+ # to install old Python versions not in ::gentoo anymore,
+ # this effectively means that uv would end up preferring very
+ # old Python versions over the newer ones that are provided
+ # by the system. Default to using the system versions to avoid
+ # this counter-intuitive behavior.
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-preference
+ python-preference = "system"
+ EOF
+}
diff --git a/dev-python/validator-collection/validator-collection-1.5.0-r2.ebuild b/dev-python/validator-collection/validator-collection-1.5.0-r2.ebuild
index 8be78c418bc9..0f49dbf72e9b 100644
--- a/dev-python/validator-collection/validator-collection-1.5.0-r2.ebuild
+++ b/dev-python/validator-collection/validator-collection-1.5.0-r2.ebuild
@@ -1,10 +1,12 @@
-# Copyright 2023-2024 Gentoo Authors
+# 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_{11..12} )
+PYTHON_COMPAT=( python3_{11..14} )
+
+DOCS_BUILDER="sphinx"
inherit distutils-r1
diff --git a/dev-python/virtualenv/Manifest b/dev-python/virtualenv/Manifest
index 6cab1c2bb399..a56fa9c6a9a8 100644
--- a/dev-python/virtualenv/Manifest
+++ b/dev-python/virtualenv/Manifest
@@ -1,2 +1,4 @@
DIST virtualenv-20.34.0.tar.gz 6003808 BLAKE2B ea13d8952b67c1b9fc1547d726b014d8d971fc83341fbd471c0697adf3d616e12b1d9f1eda9aee18b9abee15bedbfb1e6abddfb25c6bf0bb8ff8a036647b626b SHA512 0dbea6cc8ea4f2bd5fae5560e87d6fae1bc1230c4f04992749c6a274f1740b1bf262767329b667670d642501ef3c3ac1eecff5ce4c95a1d943db110bea0079b2
DIST virtualenv-20.35.0.tar.gz 6005345 BLAKE2B 4bc6d0a7a05b60213f7cf934515ca7798398e5f09aebcd8093ac66ab600c82bb4ac7ab771146a0593c1c5b9eb83f1eeea1b299e13e96b63ecd1d6ca6ea8fdd00 SHA512 dc64f305a660f503d7e81195d0c6571a1e5f5fc586912d2c35a2d206859400bd763061f745851e753dfe905c60a1f6d5408f7c8ec0e9a3140554e941a7a0331a
+DIST virtualenv-20.35.1.tar.gz 6005687 BLAKE2B 48bf0a424729d370c2609a751520c37a0fcea8d053dff301d82c860198e0c8ceb22c0c9edb5500f4f772f0b9e701f254b50ae66c28c389202ce06ae4f637a5bf SHA512 28e1ee65df10569116509dddeeaf1be435547ac865ff2b29dccf681728a5cd758e27d09cc4cbcd41d646bc9185c2a7abef70e00deb3909af6dc28d91168c17f8
+DIST virtualenv-20.35.3.tar.gz 6002907 BLAKE2B 8063752921737a6befbcfb94edaf82a45c726fd45cc5480825d891a9c259076f6bbdeb252d49999f2ad1f641a5e0714d2e9450fa5c59df04ad6f3805694744e2 SHA512 620061cfb7c291b76a7bee161664d935d602b0deb7768a94e341ae83d2b841f25bc658ed46e663bf7980142c9fe4f829ca47e3ee67c66f246f5d3fe243273b26
diff --git a/dev-python/virtualenv/virtualenv-20.35.1.ebuild b/dev-python/virtualenv/virtualenv-20.35.1.ebuild
new file mode 100644
index 000000000000..e8aa8fd818fa
--- /dev/null
+++ b/dev-python/virtualenv/virtualenv-20.35.1.ebuild
@@ -0,0 +1,130 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_TESTED=( python3_{11..14} pypy3_11 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_{13,14}t )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Virtual Python Environment builder"
+HOMEPAGE="
+ https://virtualenv.pypa.io/en/stable/
+ https://pypi.org/project/virtualenv/
+ https://github.com/pypa/virtualenv/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/distlib-0.3.7[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.12.2[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3.9.1[${PYTHON_USEDEP}]
+
+ dev-python/ensurepip-pip
+ dev-python/ensurepip-setuptools
+ dev-python/ensurepip-wheel
+"
+# coverage is used somehow magically in virtualenv, maybe it actually
+# tests something useful
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ $(python_gen_cond_dep '
+ dev-python/coverage[${PYTHON_USEDEP}]
+ >=dev-python/pip-22.2.1[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-3.6.1[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-67.8[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ $(python_gen_cond_dep '
+ dev-python/time-machine[${PYTHON_USEDEP}]
+ ' python3_{11..14})
+ $(python_gen_cond_dep '
+ >=dev-python/pytest-freezer-0.4.6[${PYTHON_USEDEP}]
+ ' 'pypy3*')
+ )
+"
+
+src_prepare() {
+ local PATCHES=(
+ # use wheels from ensurepip bundle
+ "${FILESDIR}/${PN}-20.31.1-ensurepip.patch"
+ )
+
+ distutils-r1_src_prepare
+
+ # workaround test failures due to warnings from setuptools-scm, sigh
+ echo '[tool.setuptools_scm]' >> pyproject.toml || die
+
+ # remove useless pins
+ sed -i -e 's:,<[0-9.]*::' pyproject.toml || die
+
+ # remove bundled wheels
+ rm src/virtualenv/seed/wheels/embed/*.whl || die
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping testing on ${EPYTHON}"
+ return
+ fi
+
+ local EPYTEST_DESELECT=(
+ tests/unit/seed/embed/test_bootstrap_link_via_app_data.py::test_seed_link_via_app_data
+ # tests for old wheels with py3.7 support
+ tests/unit/seed/embed/test_pip_invoke.py::test_base_bootstrap_via_pip_invoke
+ tests/unit/seed/wheels/test_wheels_util.py::test_wheel_not_support
+ # broken by different wheel versions in ensurepip
+ tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_latest_string
+ tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_exact
+ tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_latest_none
+ tests/unit/seed/wheels/test_acquire.py::test_download_wheel_bad_output
+ # hangs on a busy system, sigh
+ tests/unit/test_util.py::test_reentrant_file_lock_is_thread_safe
+ # TODO
+ tests/unit/create/via_global_ref/test_build_c_ext.py::test_can_build_c_extensions
+ # random resource leaks or xdist
+ tests/unit/test_file_limit.py::test_too_many_open_files
+ )
+ case ${EPYTHON} in
+ pypy3.11)
+ EPYTEST_DESELECT+=(
+ # these don't like the executable called pypy3.11?
+ tests/unit/activation/test_bash.py::test_bash
+ tests/unit/activation/test_fish.py::test_fish
+ tests/unit/discovery/py_info/test_py_info.py::test_fallback_existent_system_executable
+ )
+ ;;
+ esac
+
+ local -x TZ=UTC
+ local EPYTEST_PLUGINS=( pytest-{mock,rerunfailures} )
+ if [[ ${EPYTHON} == pypy3* ]]; then
+ EPYTEST_PLUGINS+=( pytest-freezer )
+ else
+ EPYTEST_PLUGINS+=( time-machine )
+ fi
+ local EPYTEST_RERUNS=5
+ local EPYTEST_TIMEOUT=180
+ local EPYTEST_XDIST=1
+ epytest -o addopts=
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ # remove bundled wheels, we're using ensurepip bundle instead
+ find "${ED}" -name '*.whl' -delete || die
+}
diff --git a/dev-python/virtualenv/virtualenv-20.35.3.ebuild b/dev-python/virtualenv/virtualenv-20.35.3.ebuild
new file mode 100644
index 000000000000..e8aa8fd818fa
--- /dev/null
+++ b/dev-python/virtualenv/virtualenv-20.35.3.ebuild
@@ -0,0 +1,130 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_TESTED=( python3_{11..14} pypy3_11 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_{13,14}t )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Virtual Python Environment builder"
+HOMEPAGE="
+ https://virtualenv.pypa.io/en/stable/
+ https://pypi.org/project/virtualenv/
+ https://github.com/pypa/virtualenv/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/distlib-0.3.7[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.12.2[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3.9.1[${PYTHON_USEDEP}]
+
+ dev-python/ensurepip-pip
+ dev-python/ensurepip-setuptools
+ dev-python/ensurepip-wheel
+"
+# coverage is used somehow magically in virtualenv, maybe it actually
+# tests something useful
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ $(python_gen_cond_dep '
+ dev-python/coverage[${PYTHON_USEDEP}]
+ >=dev-python/pip-22.2.1[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-3.6.1[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-67.8[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ $(python_gen_cond_dep '
+ dev-python/time-machine[${PYTHON_USEDEP}]
+ ' python3_{11..14})
+ $(python_gen_cond_dep '
+ >=dev-python/pytest-freezer-0.4.6[${PYTHON_USEDEP}]
+ ' 'pypy3*')
+ )
+"
+
+src_prepare() {
+ local PATCHES=(
+ # use wheels from ensurepip bundle
+ "${FILESDIR}/${PN}-20.31.1-ensurepip.patch"
+ )
+
+ distutils-r1_src_prepare
+
+ # workaround test failures due to warnings from setuptools-scm, sigh
+ echo '[tool.setuptools_scm]' >> pyproject.toml || die
+
+ # remove useless pins
+ sed -i -e 's:,<[0-9.]*::' pyproject.toml || die
+
+ # remove bundled wheels
+ rm src/virtualenv/seed/wheels/embed/*.whl || die
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping testing on ${EPYTHON}"
+ return
+ fi
+
+ local EPYTEST_DESELECT=(
+ tests/unit/seed/embed/test_bootstrap_link_via_app_data.py::test_seed_link_via_app_data
+ # tests for old wheels with py3.7 support
+ tests/unit/seed/embed/test_pip_invoke.py::test_base_bootstrap_via_pip_invoke
+ tests/unit/seed/wheels/test_wheels_util.py::test_wheel_not_support
+ # broken by different wheel versions in ensurepip
+ tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_latest_string
+ tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_exact
+ tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_latest_none
+ tests/unit/seed/wheels/test_acquire.py::test_download_wheel_bad_output
+ # hangs on a busy system, sigh
+ tests/unit/test_util.py::test_reentrant_file_lock_is_thread_safe
+ # TODO
+ tests/unit/create/via_global_ref/test_build_c_ext.py::test_can_build_c_extensions
+ # random resource leaks or xdist
+ tests/unit/test_file_limit.py::test_too_many_open_files
+ )
+ case ${EPYTHON} in
+ pypy3.11)
+ EPYTEST_DESELECT+=(
+ # these don't like the executable called pypy3.11?
+ tests/unit/activation/test_bash.py::test_bash
+ tests/unit/activation/test_fish.py::test_fish
+ tests/unit/discovery/py_info/test_py_info.py::test_fallback_existent_system_executable
+ )
+ ;;
+ esac
+
+ local -x TZ=UTC
+ local EPYTEST_PLUGINS=( pytest-{mock,rerunfailures} )
+ if [[ ${EPYTHON} == pypy3* ]]; then
+ EPYTEST_PLUGINS+=( pytest-freezer )
+ else
+ EPYTEST_PLUGINS+=( time-machine )
+ fi
+ local EPYTEST_RERUNS=5
+ local EPYTEST_TIMEOUT=180
+ local EPYTEST_XDIST=1
+ epytest -o addopts=
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ # remove bundled wheels, we're using ensurepip bundle instead
+ find "${ED}" -name '*.whl' -delete || die
+}