summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-06-05 09:01:13 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-06-05 09:01:13 +0000
commitc2c9aff8c0524b47b95699ded988b89aa1309406 (patch)
tree8b0ecdf118995735a0e5014c7991d97c94428a46 /dev-python
parent9f814b4c24f5a9bd139baac62df5b34ad39b9dc1 (diff)
downloadbaldeagleos-repo-c2c9aff8c0524b47b95699ded988b89aa1309406.tar.gz
baldeagleos-repo-c2c9aff8c0524b47b95699ded988b89aa1309406.tar.xz
baldeagleos-repo-c2c9aff8c0524b47b95699ded988b89aa1309406.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/aiohttp/Manifest2
-rw-r--r--dev-python/aiohttp/aiohttp-3.12.7.ebuild156
-rw-r--r--dev-python/aiohttp/aiohttp-3.12.9.ebuild156
-rw-r--r--dev-python/appi/Manifest1
-rw-r--r--dev-python/appi/appi-0.2.5-r1.ebuild15
-rw-r--r--dev-python/appi/metadata.xml20
-rw-r--r--dev-python/argon2-cffi/Manifest1
-rw-r--r--dev-python/argon2-cffi/argon2-cffi-25.1.0.ebuild32
-rw-r--r--dev-python/aws-sam-translator/Manifest1
-rw-r--r--dev-python/aws-sam-translator/aws-sam-translator-1.98.0.ebuild62
-rw-r--r--dev-python/boto3/Manifest2
-rw-r--r--dev-python/boto3/boto3-1.38.29.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.38.30.ebuild53
-rw-r--r--dev-python/botocore/Manifest2
-rw-r--r--dev-python/botocore/botocore-1.38.29.ebuild75
-rw-r--r--dev-python/botocore/botocore-1.38.30.ebuild75
-rw-r--r--dev-python/cattrs/Manifest1
-rw-r--r--dev-python/cattrs/cattrs-25.1.1.ebuild80
-rw-r--r--dev-python/daemonize/Manifest3
-rw-r--r--dev-python/daemonize/daemonize-2.4.7.ebuild18
-rw-r--r--dev-python/daemonize/daemonize-2.5.0-r1.ebuild27
-rw-r--r--dev-python/daemonize/daemonize-2.5.0.ebuild18
-rw-r--r--dev-python/daemonize/metadata.xml7
-rw-r--r--dev-python/dataclasses-json/dataclasses-json-0.6.7-r1.ebuild (renamed from dev-python/dataclasses-json/dataclasses-json-0.6.7.ebuild)2
-rw-r--r--dev-python/dbutils/Manifest1
-rw-r--r--dev-python/dbutils/dbutils-3.1.1.ebuild28
-rw-r--r--dev-python/dependency-groups/dependency-groups-1.3.1.ebuild2
-rw-r--r--dev-python/django/Manifest6
-rw-r--r--dev-python/django/django-4.2.22.ebuild104
-rw-r--r--dev-python/django/django-5.1.10.ebuild98
-rw-r--r--dev-python/django/django-5.2.2.ebuild98
-rw-r--r--dev-python/ensurepip-pip/ensurepip-pip-25.1.1.ebuild2
-rw-r--r--dev-python/flask-jwt-extended/Manifest3
-rw-r--r--dev-python/flask-jwt-extended/flask-jwt-extended-4.6.0.ebuild24
-rw-r--r--dev-python/flask-jwt-extended/flask-jwt-extended-4.7.0.ebuild24
-rw-r--r--dev-python/flask-jwt-extended/flask-jwt-extended-4.7.1.ebuild24
-rw-r--r--dev-python/flask-jwt-extended/metadata.xml14
-rw-r--r--dev-python/frozenlist/Manifest1
-rw-r--r--dev-python/frozenlist/frozenlist-1.6.2.ebuild53
-rw-r--r--dev-python/google-api-python-client/Manifest1
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.171.0.ebuild50
-rw-r--r--dev-python/google-auth/Manifest1
-rw-r--r--dev-python/google-auth/google-auth-2.40.3.ebuild73
-rw-r--r--dev-python/gpgmepy/Manifest1
-rw-r--r--dev-python/gpgmepy/files/gpgmepy-2.0.0_pre20250603-python.patch31
-rw-r--r--dev-python/gpgmepy/gpgmepy-2.0.0_pre20250603.ebuild67
-rw-r--r--dev-python/gpgmepy/metadata.xml (renamed from dev-python/pylxd/metadata.xml)6
-rw-r--r--dev-python/iOSbackup/iOSbackup-0.9.925.ebuild4
-rw-r--r--dev-python/json-schema-for-humans/Manifest1
-rw-r--r--dev-python/json-schema-for-humans/json-schema-for-humans-1.4.1.ebuild55
-rw-r--r--dev-python/libversion/Manifest1
-rw-r--r--dev-python/libversion/libversion-1.2.4-r1.ebuild36
-rw-r--r--dev-python/libversion/metadata.xml10
-rw-r--r--dev-python/libvirt-python/Manifest2
-rw-r--r--dev-python/libvirt-python/libvirt-python-11.4.0.ebuild64
-rw-r--r--dev-python/matrix-client/Manifest1
-rw-r--r--dev-python/matrix-client/files/setup_py.patch11
-rw-r--r--dev-python/matrix-client/matrix-client-0.4.0-r4.ebuild42
-rw-r--r--dev-python/matrix-client/metadata.xml18
-rw-r--r--dev-python/mecab-python/mecab-python-1.0.7.ebuild2
-rw-r--r--dev-python/metaextract/Manifest2
-rw-r--r--dev-python/metaextract/metadata.xml10
-rw-r--r--dev-python/metaextract/metaextract-1.0.8-r1.ebuild21
-rw-r--r--dev-python/metaextract/metaextract-1.0.9.ebuild21
-rw-r--r--dev-python/mkdocstrings-python/Manifest1
-rw-r--r--dev-python/mkdocstrings-python/mkdocstrings-python-1.16.12.ebuild48
-rw-r--r--dev-python/mwparserfromhell/Manifest2
-rw-r--r--dev-python/mwparserfromhell/metadata.xml10
-rw-r--r--dev-python/mwparserfromhell/mwparserfromhell-0.6.5.ebuild18
-rw-r--r--dev-python/mwparserfromhell/mwparserfromhell-0.6.6.ebuild18
-rw-r--r--dev-python/nuitka/Manifest1
-rw-r--r--dev-python/nuitka/nuitka-2.7.6.ebuild55
-rw-r--r--dev-python/openstacksdk/Manifest1
-rw-r--r--dev-python/openstacksdk/openstacksdk-4.6.0.ebuild92
-rw-r--r--dev-python/opentelemetry-api/Manifest1
-rw-r--r--dev-python/opentelemetry-api/opentelemetry-api-1.34.0.ebuild61
-rw-r--r--dev-python/opentelemetry-sdk/Manifest1
-rw-r--r--dev-python/opentelemetry-sdk/opentelemetry-sdk-1.34.0.ebuild63
-rw-r--r--dev-python/opentelemetry-semantic-conventions/Manifest1
-rw-r--r--dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.34.0.ebuild52
-rw-r--r--dev-python/paho-mqtt/Manifest1
-rw-r--r--dev-python/paho-mqtt/paho-mqtt-1.6.1-r1.ebuild29
-rw-r--r--dev-python/pbs-installer/Manifest2
-rw-r--r--dev-python/pbs-installer/pbs-installer-2025.06.04.ebuild (renamed from dev-python/pbs-installer/pbs-installer-2025.04.09.ebuild)2
-rw-r--r--dev-python/phx-class-registry/Manifest1
-rw-r--r--dev-python/phx-class-registry/metadata.xml15
-rw-r--r--dev-python/phx-class-registry/phx-class-registry-4.1.0-r1.ebuild23
-rw-r--r--dev-python/pip/pip-25.1.1.ebuild2
-rw-r--r--dev-python/progress/Manifest3
-rw-r--r--dev-python/progress/metadata.xml7
-rw-r--r--dev-python/progress/progress-1.5.ebuild24
-rw-r--r--dev-python/progress/progress-1.6-r1.ebuild23
-rw-r--r--dev-python/progress/progress-1.6.ebuild24
-rw-r--r--dev-python/pylxd/Manifest2
-rw-r--r--dev-python/pylxd/pylxd-2.3.4.ebuild27
-rw-r--r--dev-python/pylxd/pylxd-2.3.5.ebuild27
-rw-r--r--dev-python/pymorphy3-dicts-ru/Manifest1
-rw-r--r--dev-python/pymorphy3-dicts-ru/metadata.xml10
-rw-r--r--dev-python/pymorphy3-dicts-ru/pymorphy3-dicts-ru-2.4.417150.4580142.ebuild16
-rw-r--r--dev-python/pymorphy3-dicts-uk/Manifest1
-rw-r--r--dev-python/pymorphy3-dicts-uk/metadata.xml10
-rw-r--r--dev-python/pymorphy3-dicts-uk/pymorphy3-dicts-uk-2.4.1.1.1663094765.ebuild16
-rw-r--r--dev-python/pymorphy3/Manifest1
-rw-r--r--dev-python/pymorphy3/metadata.xml10
-rw-r--r--dev-python/pymorphy3/pymorphy3-1.2.0.ebuild21
-rw-r--r--dev-python/pypi-attestations/Manifest2
-rw-r--r--dev-python/pypi-attestations/pypi-attestations-0.0.27.ebuild (renamed from dev-python/pypi-attestations/pypi-attestations-0.0.25.ebuild)0
-rw-r--r--dev-python/pyqtdarktheme/Manifest1
-rw-r--r--dev-python/pyqtdarktheme/metadata.xml12
-rw-r--r--dev-python/pyqtdarktheme/pyqtdarktheme-2.1.0.ebuild18
-rw-r--r--dev-python/pytest/Manifest1
-rw-r--r--dev-python/pytest/pytest-8.4.0.ebuild115
-rw-r--r--dev-python/python-engineio/Manifest1
-rw-r--r--dev-python/python-engineio/python-engineio-4.12.2.ebuild60
-rw-r--r--dev-python/python-tests/Manifest13
-rw-r--r--dev-python/python-tests/python-tests-3.11.12_p2.ebuild76
-rw-r--r--dev-python/python-tests/python-tests-3.11.13.ebuild76
-rw-r--r--dev-python/python-tests/python-tests-3.12.10_p2.ebuild71
-rw-r--r--dev-python/python-tests/python-tests-3.12.11.ebuild71
-rw-r--r--dev-python/python-tests/python-tests-3.13.3_p2-r100.ebuild70
-rw-r--r--dev-python/python-tests/python-tests-3.13.3_p2.ebuild71
-rw-r--r--dev-python/python-tests/python-tests-3.13.4-r100.ebuild70
-rw-r--r--dev-python/python-tests/python-tests-3.13.4.ebuild71
-rw-r--r--dev-python/python-tests/python-tests-3.14.0_beta2_p1-r100.ebuild72
-rw-r--r--dev-python/python-tests/python-tests-3.14.0_beta2_p1.ebuild72
-rw-r--r--dev-python/qiskit-aer/Manifest1
-rw-r--r--dev-python/qiskit-aer/qiskit-aer-0.17.1.ebuild120
-rw-r--r--dev-python/rubymarshal/Manifest2
-rw-r--r--dev-python/rubymarshal/metadata.xml10
-rw-r--r--dev-python/rubymarshal/rubymarshal-1.2.10.ebuild19
-rw-r--r--dev-python/rubymarshal/rubymarshal-1.2.7.ebuild19
-rw-r--r--dev-python/scrypt/scrypt-0.8.24.ebuild25
-rw-r--r--dev-python/scrypt/scrypt-0.8.27.ebuild4
-rw-r--r--dev-python/seedir/Manifest1
-rw-r--r--dev-python/seedir/seedir-0.5.1.ebuild29
-rw-r--r--dev-python/sip/Manifest1
-rw-r--r--dev-python/sip/files/sip-6.11.1-wxpython.patch10
-rw-r--r--dev-python/sip/sip-6.11.1-r1.ebuild36
-rw-r--r--dev-python/sphinxcontrib-apidoc/sphinxcontrib-apidoc-0.6.0.ebuild2
-rw-r--r--dev-python/sqlglot/Manifest8
-rw-r--r--dev-python/sqlglot/sqlglot-26.25.0.ebuild (renamed from dev-python/sqlglot/sqlglot-26.23.0.ebuild)0
-rw-r--r--dev-python/sqlglot/sqlglot-26.25.3.ebuild (renamed from dev-python/sqlglot/sqlglot-26.24.0.ebuild)0
-rw-r--r--dev-python/treq/Manifest1
-rw-r--r--dev-python/treq/treq-25.5.0.ebuild57
-rw-r--r--dev-python/trimesh/Manifest1
-rw-r--r--dev-python/trimesh/trimesh-4.6.11.ebuild79
-rw-r--r--dev-python/typeguard/Manifest1
-rw-r--r--dev-python/typeguard/typeguard-4.4.3.ebuild40
-rw-r--r--dev-python/types-docutils/Manifest1
-rw-r--r--dev-python/types-docutils/types-docutils-0.21.0.20250604.ebuild16
-rw-r--r--dev-python/uv-build/Manifest1
-rw-r--r--dev-python/uv-build/uv-build-0.7.10.ebuild99
-rw-r--r--dev-python/uv/Manifest2
-rw-r--r--dev-python/uv/uv-0.7.10.ebuild175
-rw-r--r--dev-python/webtest/Manifest1
-rw-r--r--dev-python/webtest/webtest-3.0.6.ebuild45
-rw-r--r--dev-python/ws4py/Manifest2
-rw-r--r--dev-python/ws4py/files/ws4py-0.5.1-python3.7+-compatibility.patch93
-rw-r--r--dev-python/ws4py/metadata.xml14
-rw-r--r--dev-python/ws4py/ws4py-0.5.1-r1.ebuild47
-rw-r--r--dev-python/ws4py/ws4py-0.6.0.ebuild43
-rw-r--r--dev-python/wxpython/Manifest3
-rw-r--r--dev-python/wxpython/files/wxpython-4.2.0-cython-3.patch19
-rw-r--r--dev-python/wxpython/files/wxpython-4.2.0-no-attrdict.patch13
-rw-r--r--dev-python/wxpython/files/wxpython-4.2.1-doxygen-1.9.7.patch46
-rw-r--r--dev-python/wxpython/files/wxpython-4.2.1-integer-division-for-randint.patch26
-rw-r--r--dev-python/wxpython/files/wxpython-4.2.1-sip-6.10.0.patch23
-rw-r--r--dev-python/wxpython/files/wxpython-4.2.2-sip-6.10.0.patch14
-rw-r--r--dev-python/wxpython/wxpython-4.2.0.ebuild123
-rw-r--r--dev-python/wxpython/wxpython-4.2.1-r2.ebuild137
-rw-r--r--dev-python/wxpython/wxpython-4.2.2.ebuild136
-rw-r--r--dev-python/wxpython/wxpython-4.2.3-r2.ebuild2
-rw-r--r--dev-python/xstatic-termjs/.audit1
-rw-r--r--dev-python/xstatic-termjs/Manifest1
-rw-r--r--dev-python/xstatic-termjs/metadata.xml10
-rw-r--r--dev-python/xstatic-termjs/xstatic-termjs-0.0.7.0-r1.ebuild32
-rw-r--r--dev-python/xstatic/Manifest2
-rw-r--r--dev-python/xstatic/metadata.xml10
-rw-r--r--dev-python/xstatic/xstatic-1.0.2.ebuild23
-rw-r--r--dev-python/xstatic/xstatic-1.0.3.ebuild23
180 files changed, 3524 insertions, 1666 deletions
diff --git a/dev-python/aiohttp/Manifest b/dev-python/aiohttp/Manifest
index 40ceced3a38f..4ed7a044d973 100644
--- a/dev-python/aiohttp/Manifest
+++ b/dev-python/aiohttp/Manifest
@@ -4,3 +4,5 @@ DIST aiohttp-3.12.0.tar.gz 7762804 BLAKE2B 2fa51165917038cc8442cc4dab74373b47862
DIST aiohttp-3.12.2.tar.gz 7780423 BLAKE2B 47c7dccb2666c4641bbcfdba4f13f2f423e84d3043163dd9c2436aa32ccb2698b2a6ceb7c0ccf5defc98c1fb5799b39849a0a25f8aa37aaa4aab186b2b936c68 SHA512 8c6aed54ae385962fb1ad34f6f80f322612d7aec6c65845c56e8047b6b4e4102f9044964ac34ed765a09799bb6753e980ce51bf8194ce2e1ec7a9d8dd7c5cbd1
DIST aiohttp-3.12.4.tar.gz 7781788 BLAKE2B ccaa2656ef0e68687bad17608557413d8139b516e9e56dde473147f2c449ff1066878934a3a77b796e304c8ce0d48bf81c13ca65468187fdd686e51426fe8f9c SHA512 86e88a3be0d6a4993dbcf5a28bebbe19ded15466d539c6933cf2c8990bb684d436673685e419662efe1655a315e31642a60805d348ead9eeda909522720b8434
DIST aiohttp-3.12.6.tar.gz 7784449 BLAKE2B 1ebc5b2e991e8ccd9b37552d0b3ae80debfcc6d7000dc83e9ba308b25e9694ad1c1a9aff34469eef4bc2faa0b9d25d971ab854891fb1c63823266cb54693dddb SHA512 e73e57cf185bdf52e020856c9254be407663d75eeeb52e6ac3c0d57a77719d82539006347980319c7eed79ff8f3692355ade00d82929ed11a35ddb718b1cebca
+DIST aiohttp-3.12.7.tar.gz 7806530 BLAKE2B 8d14e0c1e4d33e5c8c0e1899d26c15d35e545170f4b765a9168f8e741a703e3c4792ac99ce13fbba03ab33335a30cb230a8a588b53066a294d729eb0deb13d94 SHA512 1de4933912a3f5e599b6600785627f7ada49f511ace1265eacb303cdd5acd52c34f33c8d202e3f2949aa303fc25e73976f938600c3892f19d6b8e754275f1a98
+DIST aiohttp-3.12.9.tar.gz 7810207 BLAKE2B 352fea5e4580781626e414118d24bc7817bb488d2dd83d0690e67f8308fa12c9d4dd4a9ab80e1222fa06b37047469a5c87c33b7b5aea84627ec7151151cd96f4 SHA512 afd7e25a3e762eecf96a7e335bfb42e5becc5df3eb4de73c0c40995508ec736a100375fdc70d51e04f2b4e0f154a20a10d5090f9c0b11aae662d3bf23f49b9a4
diff --git a/dev-python/aiohttp/aiohttp-3.12.7.ebuild b/dev-python/aiohttp/aiohttp-3.12.7.ebuild
new file mode 100644
index 000000000000..e78bfc2e4845
--- /dev/null
+++ b/dev-python/aiohttp/aiohttp-3.12.7.ebuild
@@ -0,0 +1,156 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="HTTP client/server for asyncio"
+HOMEPAGE="
+ https://github.com/aio-libs/aiohttp/
+ https://pypi.org/project/aiohttp/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~riscv ~x86"
+IUSE="+native-extensions test-rust"
+
+DEPEND="
+ native-extensions? (
+ $(python_gen_cond_dep '
+ net-libs/llhttp:=
+ ' 'python3*')
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/aiodns-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/aiohappyeyeballs-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/aiosignal-1.1.2[${PYTHON_USEDEP}]
+ >=dev-python/attrs-17.3.0[${PYTHON_USEDEP}]
+ dev-python/brotlicffi[${PYTHON_USEDEP}]
+ >=dev-python/frozenlist-1.1.1[${PYTHON_USEDEP}]
+ >=dev-python/multidict-4.5.0[${PYTHON_USEDEP}]
+ >=dev-python/propcache-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/yarl-1.17.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/multidict-4.5.0[${PYTHON_USEDEP}]
+ native-extensions? (
+ >=dev-python/cython-3.1.1[${PYTHON_USEDEP}]
+ dev-python/pkgconfig[${PYTHON_USEDEP}]
+ )
+ test? (
+ dev-python/blockbuster[${PYTHON_USEDEP}]
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/isal[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/re-assert[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/time-machine[${PYTHON_USEDEP}]
+ ' 'python3*')
+ dev-python/zlib-ng[${PYTHON_USEDEP}]
+ www-servers/gunicorn[${PYTHON_USEDEP}]
+ test-rust? (
+ dev-python/trustme[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+DOCS=( CHANGES.rst CONTRIBUTORS.txt README.rst )
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # increase the timeout a little
+ sed -e '/abs=/s/0.001/0.01/' -i tests/test_helpers.py || die
+ # xfail_strict fails on py3.10
+ sed -i -e '/--cov/d' -e '/pytest_cov/d' -e '/xfail_strict/d' setup.cfg || die
+ sed -i -e 's:-Werror::' Makefile || die
+ # remove vendored llhttp
+ rm -r vendor || die
+}
+
+python_configure() {
+ # check for .install-cython, so that we do this only once
+ if [[ ! -f .install-cython && ${EPYTHON} != pypy3 ]] &&
+ use native-extensions
+ then
+ # force rehashing first
+ emake requirements/.hash/cython.txt.hash
+ > .update-pip || die
+ > .install-cython || die
+ emake cythonize
+ fi
+}
+
+python_compile() {
+ local -x AIOHTTP_USE_SYSTEM_DEPS=1
+ # implicitly disabled for pypy3
+ if [[ ${EPYTHON} == pypy3* ]] || ! use native-extensions; then
+ local -x AIOHTTP_NO_EXTENSIONS=1
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # proxy is not packaged
+ tests/test_proxy_functional.py
+ # python_on_whales is not packaged
+ tests/autobahn/test_autobahn.py
+ # benchmarks
+ tests/test_benchmarks_client.py
+ tests/test_benchmarks_client_request.py
+ tests/test_benchmarks_client_ws.py
+ tests/test_benchmarks_cookiejar.py
+ tests/test_benchmarks_http_websocket.py
+ tests/test_benchmarks_http_writer.py
+ tests/test_benchmarks_web_fileresponse.py
+ tests/test_benchmarks_web_middleware.py
+ tests/test_benchmarks_web_response.py
+ tests/test_benchmarks_web_urldispatcher.py
+ )
+
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/test_client_session.py::test_client_session_timeout_zero
+ tests/test_connector.py::test_tcp_connector_ssl_shutdown_timeout_passed_to_create_connection
+ # broken by irrelevant deprecation warnings
+ tests/test_circular_imports.py::test_no_warnings
+ )
+
+ case ${EPYTHON} in
+ python3.14)
+ EPYTEST_DESELECT+=(
+ # TODO
+ tests/test_cookiejar.py::test_pickle_format
+ # different exception message
+ tests/test_client_functional.py::test_aiohttp_request_coroutine
+ )
+ ;;
+ esac
+
+ # upstream unconditionally blocks building C extensions
+ # on PyPy3 but the test suite needs an explicit switch
+ if [[ ${EPYTHON} == pypy3* ]] || ! use native-extensions; then
+ local -x AIOHTTP_NO_EXTENSIONS=1
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_mock,xdist.plugin
+ rm -rf aiohttp || die
+ epytest -m "not internal and not dev_mode" \
+ -p rerunfailures --reruns=5
+}
diff --git a/dev-python/aiohttp/aiohttp-3.12.9.ebuild b/dev-python/aiohttp/aiohttp-3.12.9.ebuild
new file mode 100644
index 000000000000..e78bfc2e4845
--- /dev/null
+++ b/dev-python/aiohttp/aiohttp-3.12.9.ebuild
@@ -0,0 +1,156 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="HTTP client/server for asyncio"
+HOMEPAGE="
+ https://github.com/aio-libs/aiohttp/
+ https://pypi.org/project/aiohttp/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~riscv ~x86"
+IUSE="+native-extensions test-rust"
+
+DEPEND="
+ native-extensions? (
+ $(python_gen_cond_dep '
+ net-libs/llhttp:=
+ ' 'python3*')
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/aiodns-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/aiohappyeyeballs-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/aiosignal-1.1.2[${PYTHON_USEDEP}]
+ >=dev-python/attrs-17.3.0[${PYTHON_USEDEP}]
+ dev-python/brotlicffi[${PYTHON_USEDEP}]
+ >=dev-python/frozenlist-1.1.1[${PYTHON_USEDEP}]
+ >=dev-python/multidict-4.5.0[${PYTHON_USEDEP}]
+ >=dev-python/propcache-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/yarl-1.17.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/multidict-4.5.0[${PYTHON_USEDEP}]
+ native-extensions? (
+ >=dev-python/cython-3.1.1[${PYTHON_USEDEP}]
+ dev-python/pkgconfig[${PYTHON_USEDEP}]
+ )
+ test? (
+ dev-python/blockbuster[${PYTHON_USEDEP}]
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/isal[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/re-assert[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/time-machine[${PYTHON_USEDEP}]
+ ' 'python3*')
+ dev-python/zlib-ng[${PYTHON_USEDEP}]
+ www-servers/gunicorn[${PYTHON_USEDEP}]
+ test-rust? (
+ dev-python/trustme[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+DOCS=( CHANGES.rst CONTRIBUTORS.txt README.rst )
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # increase the timeout a little
+ sed -e '/abs=/s/0.001/0.01/' -i tests/test_helpers.py || die
+ # xfail_strict fails on py3.10
+ sed -i -e '/--cov/d' -e '/pytest_cov/d' -e '/xfail_strict/d' setup.cfg || die
+ sed -i -e 's:-Werror::' Makefile || die
+ # remove vendored llhttp
+ rm -r vendor || die
+}
+
+python_configure() {
+ # check for .install-cython, so that we do this only once
+ if [[ ! -f .install-cython && ${EPYTHON} != pypy3 ]] &&
+ use native-extensions
+ then
+ # force rehashing first
+ emake requirements/.hash/cython.txt.hash
+ > .update-pip || die
+ > .install-cython || die
+ emake cythonize
+ fi
+}
+
+python_compile() {
+ local -x AIOHTTP_USE_SYSTEM_DEPS=1
+ # implicitly disabled for pypy3
+ if [[ ${EPYTHON} == pypy3* ]] || ! use native-extensions; then
+ local -x AIOHTTP_NO_EXTENSIONS=1
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # proxy is not packaged
+ tests/test_proxy_functional.py
+ # python_on_whales is not packaged
+ tests/autobahn/test_autobahn.py
+ # benchmarks
+ tests/test_benchmarks_client.py
+ tests/test_benchmarks_client_request.py
+ tests/test_benchmarks_client_ws.py
+ tests/test_benchmarks_cookiejar.py
+ tests/test_benchmarks_http_websocket.py
+ tests/test_benchmarks_http_writer.py
+ tests/test_benchmarks_web_fileresponse.py
+ tests/test_benchmarks_web_middleware.py
+ tests/test_benchmarks_web_response.py
+ tests/test_benchmarks_web_urldispatcher.py
+ )
+
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/test_client_session.py::test_client_session_timeout_zero
+ tests/test_connector.py::test_tcp_connector_ssl_shutdown_timeout_passed_to_create_connection
+ # broken by irrelevant deprecation warnings
+ tests/test_circular_imports.py::test_no_warnings
+ )
+
+ case ${EPYTHON} in
+ python3.14)
+ EPYTEST_DESELECT+=(
+ # TODO
+ tests/test_cookiejar.py::test_pickle_format
+ # different exception message
+ tests/test_client_functional.py::test_aiohttp_request_coroutine
+ )
+ ;;
+ esac
+
+ # upstream unconditionally blocks building C extensions
+ # on PyPy3 but the test suite needs an explicit switch
+ if [[ ${EPYTHON} == pypy3* ]] || ! use native-extensions; then
+ local -x AIOHTTP_NO_EXTENSIONS=1
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_mock,xdist.plugin
+ rm -rf aiohttp || die
+ epytest -m "not internal and not dev_mode" \
+ -p rerunfailures --reruns=5
+}
diff --git a/dev-python/appi/Manifest b/dev-python/appi/Manifest
deleted file mode 100644
index 67feec14e36e..000000000000
--- a/dev-python/appi/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST appi-0.2.5.tar.gz 43000 BLAKE2B 39949853f870437c549b87c5a378157ed145a4fa879f8edb3a46cea219f30823ca7c13c5ee9dee38f8663f05179870e135ff2d1d1b3137b805d00e21a29a3304 SHA512 673ff4d4bb25a0aca858682b020e6a51075e7fb6433ce0e0c51ce5ead6572a3b1a887fdd1dd43b18fbb9b7659e74ac55abf0b9952de2b1953c65c287d53728e4
diff --git a/dev-python/appi/appi-0.2.5-r1.ebuild b/dev-python/appi/appi-0.2.5-r1.ebuild
deleted file mode 100644
index c87fdca2e176..000000000000
--- a/dev-python/appi/appi-0.2.5-r1.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 2020-2021 LiGurOs Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-DESCRIPTION="Another Portage Python Interface"
-HOMEPAGE="https://pypi.org/project/appi/"
-SRC_URI="https://files.pythonhosted.org/packages/80/db/7d6b5559ac5c9ce0ab453666dabd633b1b294e41f147cd270a271c2c8f81/appi-0.2.5.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE=""
diff --git a/dev-python/appi/metadata.xml b/dev-python/appi/metadata.xml
deleted file mode 100644
index 9b5b16103660..000000000000
--- a/dev-python/appi/metadata.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>dev@liguros.net</email>
- <name>Development</name>
- </maintainer>
- <maintainer>
- <email>antoine.pinsard@gmail.com</email>
- <name>Antoine Pinsard</name>
- </maintainer>
- <longdescription>
- Python portage API. An alternative to portage python module.
- </longdescription>
- <upstream>
- <changelog>https://github.com/apinsard/appi/releases</changelog>
- <bugs-to>https://github.com/apinsard/appi/issues</bugs-to>
- </upstream>
- <origin>ports</origin>
-</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/argon2-cffi/Manifest b/dev-python/argon2-cffi/Manifest
index e043e6b2be44..6ae04674be6c 100644
--- a/dev-python/argon2-cffi/Manifest
+++ b/dev-python/argon2-cffi/Manifest
@@ -1 +1,2 @@
DIST argon2_cffi-23.1.0.tar.gz 42798 BLAKE2B 16f20c064bfc420894bc9da681ce4f544219c8e173f63bf095ffffdca6bd159695ecfa7ff33c32ca96f284764561e844e58d1ec3bf85a0c120c3b54490c3a56f SHA512 7c7730451f5ef9bb40bb5e1bbfa6e69c9718968168f3fa9b54e1020a4f805f98fba6260039bda804241717db2338479d640c7652dc26ce1a6ade076660133383
+DIST argon2_cffi-25.1.0.tar.gz 45706 BLAKE2B 8ff03622c4840c6241cf696bf07d0a494a01d773f503fc76bccc3546409db97bad340c26274e19f53897b8619824bc4030ca3cd9873b917e40bb68e141234849 SHA512 746f4469cd9be79f4639f814bee99ddca71200a7bfb31c8f34ca88cc760ee73665fc0d4e46d50ca003911fcfab0dd153fd555ec6cb9127066c1e1e0fd63755b5
diff --git a/dev-python/argon2-cffi/argon2-cffi-25.1.0.ebuild b/dev-python/argon2-cffi/argon2-cffi-25.1.0.ebuild
new file mode 100644
index 000000000000..27f46da2f131
--- /dev/null
+++ b/dev-python/argon2-cffi/argon2-cffi-25.1.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="CFFI bindings to the Argon2 password hashing library"
+HOMEPAGE="
+ https://github.com/hynek/argon2-cffi/
+ https://pypi.org/project/argon2-cffi/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/argon2-cffi-bindings-21.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/aws-sam-translator/Manifest b/dev-python/aws-sam-translator/Manifest
index 40ae60811c47..efbf3e356be4 100644
--- a/dev-python/aws-sam-translator/Manifest
+++ b/dev-python/aws-sam-translator/Manifest
@@ -1 +1,2 @@
DIST serverless-application-model-1.97.0.gh.tar.gz 5891456 BLAKE2B 6a568333110eed9a219d489f7ec566cee595654f0d75b8fb5cf89d4a32b64862549ba6c5d10f195d82a48bd44c0529425eec0150775df16025a33c0135ad9232 SHA512 4489410aa77c831e5b85b0e0f3f25a77b4b9a14947159c2a23f29b241d7e2858922847df41b24a1d784ea412019f2ed5a395773e42925bc1cc479c9ca1c4602c
+DIST serverless-application-model-1.98.0.gh.tar.gz 5905089 BLAKE2B 68c5b12c9f5654bd2124d9f17999ece147686759db9d43e7bdf28f81ec92e616f73666594ac9c72b22e36ae4254fc19dc6663692d44ef8c7dedeab115fa0ee3c SHA512 57319c501d345aaa960194155e62d03a87a7a1a3f34944d0aedc3107940018031f10a46ea9f6fd1a4aae6a12c6cb2bf852ca5892c4fb69baf63be5b3c8c16420
diff --git a/dev-python/aws-sam-translator/aws-sam-translator-1.98.0.ebuild b/dev-python/aws-sam-translator/aws-sam-translator-1.98.0.ebuild
new file mode 100644
index 000000000000..540f80a51ae0
--- /dev/null
+++ b/dev-python/aws-sam-translator/aws-sam-translator-1.98.0.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 multiprocessing
+
+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.19.5[${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}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+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 PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x AWS_DEFAULT_REGION=us-east-1
+ epytest -o addopts= -o filterwarnings= \
+ -p xdist -n "$(makeopts_jobs)" --dist=worksteal
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index f853100944a2..3bce1b415a70 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -2,3 +2,5 @@ DIST boto3-1.38.18.gh.tar.gz 943830 BLAKE2B 2605415f7c48efd5322f6a514fb2cf7ede87
DIST boto3-1.38.23.gh.tar.gz 946184 BLAKE2B cf405adb1f47bcaba2185f2c120b8642f8fe2f68a33bc807854ad32bcd7eec99282a800f13a5273225e7fda6e3415ad8ef7ffd173e5cad21539c0f2765836506 SHA512 fdd7c9ae335afa772b919ffa8989323f54a409e8f7e9483528a199e038aad3b341663ec3a72f78c695e2ef44601caf682e3f769c5a869ea2d0545c9dd7a035a8
DIST boto3-1.38.27.gh.tar.gz 948453 BLAKE2B 4f775c14a439b4ca204d6728a7b077ed901e9b92f395871b05e9de29e5ce82ac2ab179f4c1914b3d52627b77a5fae136ad003bbeb2d1460597f9fb7b4a1ab93d SHA512 27ab3c3453b16649d58d6ee11ef62abd6e302889b0dc46067e4370af1e9fb4d75292886471f7c7fb530707c226ae78c42d0268d8cd9730fd27ad72ef1fb69d45
DIST boto3-1.38.28.gh.tar.gz 949891 BLAKE2B 5368b9f38df2f07aa27ee04a499e30ddf8ee45fdbcb0d4a2f24ea16ea55e7e6f30c35877521c5fd45fd9e17aed0d4c1998c470d64e68221ce18ea3b26818e367 SHA512 8929582df636c5a78d4ed84ad99d4b5803c4ca65842ec19aac59cb7400cc1c2f004e85a1cb422c2ebb44db2168632b7d1ed5c794be8b74207394ab929d64e49b
+DIST boto3-1.38.29.gh.tar.gz 950266 BLAKE2B b75f999ab08f9619fda4e3365eecea5f2ef19f4ea6676c86126f71782be97472479bddf6c6ec1dffd15b0cbb22d727cc570917945d10d4e4a1b03ac516e419fe SHA512 cfa2cc23aa9f79e21311ee99fed8fc75dfbea94ffcb66bbd1f08e30b186758d9ef0f3a6448e746f767b7ef22bd25bd73f24dda0fc77c0ecc09135f4b98a82837
+DIST boto3-1.38.30.gh.tar.gz 951105 BLAKE2B 448432b4154d08d1773079a4539910be900c7712adebf72ebd7f4023a228466864037e9a4afbcd36d2d33b14fe85351048ddddd6f20c5b8d4f37c21394cd6f88 SHA512 5d1ee430bfa92367fbf3f9e40bb61f314c8be5210a08d8ef21de8e0195ca796e1b7fc8b9de0fd3ad581cb93ccbb6804f9365ddf181b3baf9dfbff01344e518db
diff --git a/dev-python/boto3/boto3-1.38.29.ebuild b/dev-python/boto3/boto3-1.38.29.ebuild
new file mode 100644
index 000000000000..2557a5f5330a
--- /dev/null
+++ b/dev-python/boto3/boto3-1.38.29.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_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.13.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/boto3/boto3-1.38.30.ebuild b/dev-python/boto3/boto3-1.38.30.ebuild
new file mode 100644
index 000000000000..2557a5f5330a
--- /dev/null
+++ b/dev-python/boto3/boto3-1.38.30.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_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.13.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index e48358eb3516..dc0952caebed 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -2,3 +2,5 @@ DIST botocore-1.38.18.gh.tar.gz 14648125 BLAKE2B b77da532e815f8cc270b78c5bfab8a9
DIST botocore-1.38.23.gh.tar.gz 14649388 BLAKE2B d60b5e5d7fb445f332eed57f3317d3add82dd2123ab4199dc934a9a4d68c2b91947a9e50e3847da4bed06aac402542f2bbe4ea92bd47d72de86be3f8f5571b2f SHA512 d602d19c9160d10aeb06aae911052da50dd66ef0f43e459d5911bed24acba5ac948781f1e8f6f43b377847670f2d074e044f454b043ba33859fc0ca0ba67976a
DIST botocore-1.38.27.gh.tar.gz 14666017 BLAKE2B 7527044c1b9586ac39b7cdaf1c51e6e263d3021015023e370a2ef30c600f33efd8e37697982148a99d56ec2e817b564f8c66cb75c1e8bd807858aad38fd6dab5 SHA512 2bc66dc805c610f96f52a8fbd716767dc0084f3d35517cc6c54d45a85330cb74c77becef234b323a72b9a9273211febb2604975fc2dbfaff3a51449123e6ad64
DIST botocore-1.38.28.gh.tar.gz 14672858 BLAKE2B a51891512f7df3ee1ceab3b9be2ad3a5e4bf8e976d58771268541b93df790c63523201f3c70caed22bd3baaff66980821811b9496620087c588385e14d089c04 SHA512 af48bfce6666c9a1f2175141b1efa7a17dd4dedfa8f1bd68bc3244035a62041eeefac95942ea142928c485912a2a1f25b2f093f1f5993171f9cc232234c5046e
+DIST botocore-1.38.29.gh.tar.gz 14676693 BLAKE2B ef5e5c79505f76ad5f55a8bfdf4f9e714a6b028cb8b719ed00ee895923af0495c1b03cb4da0e742e0f4625a978bb235614e58c155f7f050e0ecda396bd7977c1 SHA512 62cb907747a6cdc237dcf86d6bc6e99ecca8ca6650bde2c0d32b83ad9c497bd3bd55913f63127d348ccf75f68ad0a2c5acf85d540a6c7b8ba3cf57751c7c8bbc
+DIST botocore-1.38.30.gh.tar.gz 14692617 BLAKE2B de227cdf7c179de0607b4fc136d017d53ece2bf3e7d438707156b244a5168f3cfde8b6655732524e6bd4d1842b93b181515aee6c673c4ee3f02c0e2a3aa36a22 SHA512 106544c97f0da0d32584d0c30208b68061f0053ba17dd5ed99ec1e3146c58202196d3e67e10eceae031810562429e4b8573fc41e4375334aed9b7f317ec1dc3a
diff --git a/dev-python/botocore/botocore-1.38.29.ebuild b/dev-python/botocore/botocore-1.38.29.ebuild
new file mode 100644
index 000000000000..535354aa3035
--- /dev/null
+++ b/dev-python/botocore/botocore-1.38.29.ebuild
@@ -0,0 +1,75 @@
+# 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_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
+ )
+
+ case ${EPYTHON} in
+ python3.14)
+ EPYTEST_DESELECT+=(
+ tests/unit/test_utils.py::test_lru_cache_weakref
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/botocore-1.38.30.ebuild b/dev-python/botocore/botocore-1.38.30.ebuild
new file mode 100644
index 000000000000..535354aa3035
--- /dev/null
+++ b/dev-python/botocore/botocore-1.38.30.ebuild
@@ -0,0 +1,75 @@
+# 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_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
+ )
+
+ case ${EPYTHON} in
+ python3.14)
+ EPYTEST_DESELECT+=(
+ tests/unit/test_utils.py::test_lru_cache_weakref
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/cattrs/Manifest b/dev-python/cattrs/Manifest
index 9d5e9cbd926b..b4e62c801d2d 100644
--- a/dev-python/cattrs/Manifest
+++ b/dev-python/cattrs/Manifest
@@ -1,2 +1,3 @@
DIST cattrs-24.1.3.gh.tar.gz 428852 BLAKE2B 3c4e7842886229c56f29d6e98f0a19a374aaeacd97015b729cf8ebc677ffcb0fb7e51efd329200ead1fd1bec16e4f86b18effa17fac2511d008e8d34dfdfdd84 SHA512 1fe1de70c4ab8a5e4da7ab534833f22f02b23b01a14b68186185aa5af9b5260606e5f20365fe103901368602d4a9e3560733a85ec06f601227f1cab3c191b1e4
DIST cattrs-25.1.0.gh.tar.gz 437261 BLAKE2B 1f1041ffd217acd44070b1a7095003155b25db07e90f776ddd7907f8b35a0dcda50c7a8cc0c70ad459236a037ba61b95039842b0c02c982459dbb5c52eed138c SHA512 bbe35beb33377fd7780bd27b98a7888a09bd05a0166536b3ffd5a179182345404b728c7392b1a075c886642eadb8b0a2d209ceedaa772c054dc37f003f11b23c
+DIST cattrs-25.1.1.gh.tar.gz 437481 BLAKE2B 89a79ba56108a819bdfda26c92a23cdcd671bca4c201bf7a78f50972526e6ba2a15555b4583e5a23a0a0ee861a98342662402a21183fe45e857fc685ef475014 SHA512 877a635b0f3db8648dfece8ec4beb98dc4c337b21d5913262634a99e5672665c7815e991aff059d806c9f36c7bf3c97af473669ec0dcf0e67f4b898c181ff83f
diff --git a/dev-python/cattrs/cattrs-25.1.1.ebuild b/dev-python/cattrs/cattrs-25.1.1.ebuild
new file mode 100644
index 000000000000..eae85e98b515
--- /dev/null
+++ b/dev-python/cattrs/cattrs-25.1.1.ebuild
@@ -0,0 +1,80 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Composable complex class support for attrs and dataclasses"
+HOMEPAGE="
+ https://pypi.org/project/cattrs/
+ https://github.com/python-attrs/cattrs/
+"
+SRC_URI="
+ https://github.com/python-attrs/cattrs/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test-rust"
+
+RDEPEND="
+ >=dev-python/attrs-24.3.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.12.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/cbor2-5.4.6[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.79.4[${PYTHON_USEDEP}]
+ >=dev-python/immutables-0.20[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-1.0.5[${PYTHON_USEDEP}]
+ >=dev-python/pymongo-4.4.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-6.0[${PYTHON_USEDEP}]
+ >=dev-python/tomlkit-0.11.8[${PYTHON_USEDEP}]
+ >=dev-python/ujson-5.10.0[${PYTHON_USEDEP}]
+ test-rust? (
+ $(python_gen_cond_dep '
+ >=dev-python/orjson-3.10.7[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+ )
+"
+
+# xdist can randomly break tests, depending on job count
+# https://bugs.gentoo.org/941429
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # requires msgspec
+ tests/preconf/test_msgspec_cpython.py
+ )
+ local EPYTEST_DESELECT=(
+ # these require msgspec
+ tests/test_preconf.py::test_literal_dicts_msgspec
+ tests/test_preconf.py::test_msgspec_efficient_enum
+ tests/test_preconf.py::test_msgspec_json_converter
+ tests/test_preconf.py::test_msgspec_json_unions
+ tests/test_preconf.py::test_msgspec_json_unstruct_collection_overrides
+ tests/test_preconf.py::test_msgspec_native_enums
+ )
+
+ if ! has_version "dev-python/orjson[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/test_preconf.py::test_orjson
+ tests/test_preconf.py::test_orjson_converter
+ tests/test_preconf.py::test_orjson_converter_unstruct_collection_overrides
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts= tests
+}
diff --git a/dev-python/daemonize/Manifest b/dev-python/daemonize/Manifest
index 2e7debf49191..29a6fdd78645 100644
--- a/dev-python/daemonize/Manifest
+++ b/dev-python/daemonize/Manifest
@@ -1,2 +1 @@
-DIST daemonize-2.4.7.tar.gz 10096 BLAKE2B aeac5b0c0ac3dc0a1a069f3b1bdcc81bc8cc6703c4650ee6b569f6ce9caf6255551655e41a94406b1ff22817ef2f64d7826ad9491cbe1b0591e357141f34f06f SHA512 33c32893916b9bc45949bb4115bc8aee2eacd809535783eb7b07d3d3ee162ea969da5a739078f8b061e89da52e8da468f9d7fe916dd4f9d7dbea7012c2955e9d
-DIST daemonize-2.5.0.tar.gz 10126 BLAKE2B 10e13f93825309d48ef67d0725ed53dcca2220b3940b3b81e1e7f29cf7b6d89af40f94488a2398bec74c0f6235ef8b1626871bda4fb33c233a872a9ccea47558 SHA512 c17a14c073e22fc98b3663da207238d183c12e95750f14cddcf90419c51c95ebc36251bb95d0bb4db84a2fb243499329473e7d14172d855d3ee204757a2a1a65
+DIST daemonize-2.5.0.gh.tar.gz 10126 BLAKE2B 10e13f93825309d48ef67d0725ed53dcca2220b3940b3b81e1e7f29cf7b6d89af40f94488a2398bec74c0f6235ef8b1626871bda4fb33c233a872a9ccea47558 SHA512 c17a14c073e22fc98b3663da207238d183c12e95750f14cddcf90419c51c95ebc36251bb95d0bb4db84a2fb243499329473e7d14172d855d3ee204757a2a1a65
diff --git a/dev-python/daemonize/daemonize-2.4.7.ebuild b/dev-python/daemonize/daemonize-2.4.7.ebuild
deleted file mode 100644
index 174477e62095..000000000000
--- a/dev-python/daemonize/daemonize-2.4.7.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2020-2021 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1 python-r1
-
-DESCRIPTION="daemonize is a library for writing system daemons in Python"
-HOMEPAGE="https://github.com/thesharp/daemonize"
-SRC_URI="https://github.com/thesharp/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-
-DEPEND=">=dev-python/setuptools-33.1.1[${PYTHON_USEDEP}]"
diff --git a/dev-python/daemonize/daemonize-2.5.0-r1.ebuild b/dev-python/daemonize/daemonize-2.5.0-r1.ebuild
new file mode 100644
index 000000000000..9a8e599135aa
--- /dev/null
+++ b/dev-python/daemonize/daemonize-2.5.0-r1.ebuild
@@ -0,0 +1,27 @@
+# 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="Library for writing system daemons in Python"
+HOMEPAGE="
+ https://github.com/thesharp/daemonize/
+ https://pypi.org/project/daemonize/
+"
+SRC_URI="
+ https://github.com/thesharp/daemonize/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~riscv ~x86"
+
+python_test() {
+ "${EPYTHON}" tests/test.py -v || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/daemonize/daemonize-2.5.0.ebuild b/dev-python/daemonize/daemonize-2.5.0.ebuild
deleted file mode 100644
index 174477e62095..000000000000
--- a/dev-python/daemonize/daemonize-2.5.0.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2020-2021 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1 python-r1
-
-DESCRIPTION="daemonize is a library for writing system daemons in Python"
-HOMEPAGE="https://github.com/thesharp/daemonize"
-SRC_URI="https://github.com/thesharp/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-
-DEPEND=">=dev-python/setuptools-33.1.1[${PYTHON_USEDEP}]"
diff --git a/dev-python/daemonize/metadata.xml b/dev-python/daemonize/metadata.xml
index c8abe937a281..853174b8f2ab 100644
--- a/dev-python/daemonize/metadata.xml
+++ b/dev-python/daemonize/metadata.xml
@@ -2,10 +2,9 @@
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
- <email>dev@liguros.net</email>
- <name>Development</name>
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
- <longdescription>This is a simple addition of an ebuild not in Gentoo. It is used by razer stuff.</longdescription>
- <origin>ports</origin>
+ <origin>gentoo-staging</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/dataclasses-json/dataclasses-json-0.6.7.ebuild b/dev-python/dataclasses-json/dataclasses-json-0.6.7-r1.ebuild
index f6e1ed8c8309..2477f401b04a 100644
--- a/dev-python/dataclasses-json/dataclasses-json-0.6.7.ebuild
+++ b/dev-python/dataclasses-json/dataclasses-json-0.6.7-r1.ebuild
@@ -23,7 +23,7 @@ RESTRICT="!test? ( test )"
RDEPEND="
${PYTHON_DEPS}
- dev-python/marshmallow[${PYTHON_USEDEP}]
+ <dev-python/marshmallow-4.0.0[${PYTHON_USEDEP}]
dev-python/typing-inspect[${PYTHON_USEDEP}]
"
diff --git a/dev-python/dbutils/Manifest b/dev-python/dbutils/Manifest
index 5c0040851b34..82064ab87135 100644
--- a/dev-python/dbutils/Manifest
+++ b/dev-python/dbutils/Manifest
@@ -1 +1,2 @@
DIST DBUtils-3.1.0.tar.gz 94672 BLAKE2B 296a1fad729d355c2607616e5a3fca2f0131ab6040d2424a15ed4583ee0e22697f5c806d3b3789f7d645bff30dbeca0c49b42a901047e1b8e39fb76143f6bccc SHA512 24ffa16524758c27a617a86afc2d41be0336a498afe88ea6021b9304ecbfa5c98f88221503713e662509ae2a4c36974fad9faea17047ffb2d8b4cd728b44735d
+DIST dbutils-3.1.1.tar.gz 95821 BLAKE2B 12b8a334ab12b9bd599d20b60600289ec91e30762e7a33d17219e63924e209edd2ad7181a1fb23c2e1e1ff31a672f6a238e072a1bf9067c393844e2d9be51b37 SHA512 045339a7fea2dc99e689057cce39ac58ed5bc2bbf86b0c361571ca9d40a3b9eb689c9d470c5493aa7802ef2a4d139e8241a14740fe17f82efb091f1b18d02184
diff --git a/dev-python/dbutils/dbutils-3.1.1.ebuild b/dev-python/dbutils/dbutils-3.1.1.ebuild
new file mode 100644
index 000000000000..ccc03aad2e33
--- /dev/null
+++ b/dev-python/dbutils/dbutils-3.1.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN=DBUtils
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Database connections for multi-threaded environments"
+HOMEPAGE="
+ https://webwareforpython.github.io/DBUtils/
+ https://github.com/WebwareForPython/DBUtils/
+ https://pypi.org/project/DBUtils/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+distutils_enable_tests pytest
+
+python_install_all() {
+ local HTML_DOCS=( docs/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/dependency-groups/dependency-groups-1.3.1.ebuild b/dev-python/dependency-groups/dependency-groups-1.3.1.ebuild
index b654348d1229..525fa3085730 100644
--- a/dev-python/dependency-groups/dependency-groups-1.3.1.ebuild
+++ b/dev-python/dependency-groups/dependency-groups-1.3.1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~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"
RDEPEND="
dev-python/packaging[${PYTHON_USEDEP}]
diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index a7e19789a3d9..4a826559b89e 100644
--- a/dev-python/django/Manifest
+++ b/dev-python/django/Manifest
@@ -1,7 +1,13 @@
DIST Django-4.2.21.checksum.txt 2545 BLAKE2B 177d4a2f07fcd27c39eeddb56ee9219ddba6b8a570680d9dcee39fc400dbd6d3ae430f663d7759b52f8ccc7581d3d66e3168a7807bc8c206c7eddfe7c726248d SHA512 e94d767c774cd2909297f07ec2069d60161fbf27323fe2e321fd24ca12b49ef5883d2c6f4ee7271dd131aa8e97bbf0b421323f5ad30bafd90040fb1a7e6ef013
+DIST Django-4.2.22.checksum.txt 2546 BLAKE2B 76edb38c2f9b0b2b8f044248d6cf11b0865b1adfefcb451947a44eb20ea60355bfa9ce895d8db07c1bf0f262cb74c52a57cdad409ff8caf2592d01c4a4fba863 SHA512 7b588b52361f11990963589b6d061b555267dbca9d4c13a05ae3764fcd0d93d808c01c81d2ac60e014d4bb0674c47d69472c8594d4e9aa7a6b8bb17d7723031f
+DIST Django-5.1.10.checksum.txt 2546 BLAKE2B cb5e8545adfe2bd11297190d4aa6cabbc9227541eb133c6a226747e2fe33f040569a125dc6b26cb04c37b800b1a98b0f483f72c835ee2d9e9c76cf5ff733f117 SHA512 8ea7bda9bdfb214d8239d8cb387f156e1094a79ea1eec4d99fa41381fed6ffef57eabe5fdac596474fd4d9493033319900ccdb6f2a2c11d65d1d53fbeb48ca26
DIST Django-5.1.9.checksum.txt 2535 BLAKE2B 12a08519b2f179df7435597233adc9fc281ad5eacb5b6a88c6ce5b701989c8ade84c7a82bc81f8934d10d1dfac978b967aec5b791b614c7b7d01948359599820 SHA512 6034ce27fe17e8e7216701a2d465264d13a8a25f5d3cd13c5c97e8c65c77f267d78ef9f99beb0c32494f2e6e72b61f39554073f275a8435e8dd11403788aa96d
DIST Django-5.2.1.checksum.txt 2535 BLAKE2B e839f319f2845909cf1141f91ffa4817f41d7b43976daebdd7728b82d03bd82a1abedbe76de39c6107547ae92a0b05a817880d319202c27ecee48f1bf43519f9 SHA512 8a158d21fb94de396c39391766c603de5159783df88cd8bbe53c1352b7f48718092dcfaa1521fadc3fa3efa18129bed7347de84a43649a921343abdd783ae005
+DIST Django-5.2.2.checksum.txt 2536 BLAKE2B 2f90934e9ed1fb7527648b7e06978fd520ed09e4d7cebe7aa09b9c2ef95c5779070760c0c877f7d682f5c6b4b56ee054a5c7f34ed4c772bc4d5d8911349a7deb SHA512 6a68c066486a5db7eb9757a38832dd51760f9daf16ffd0b545fcc44259c552a2ca4ea06b140a599a0212c1f9334657efaaf6f6d62ade10acc9c49c3ce25097bd
DIST django-4.2.17-pypy3.patch.xz 5900 BLAKE2B 2a564fc31d8e2f3def5a532d3bca1a4426a496c659192f602d659e0c1a5f5882978baedb384cc3b67fda8c836513ce43aece80db1528c8e8b6e9ca420f7572ce SHA512 9c9d935aff6db7230a26931b5e7f5f94f3b5ff4fc8f7d4201178571de9d9c7929a0e1e558cc2d9b54b8ee91f85819a5680d24fad6251620515a4a020e3b2d66d
DIST django-4.2.21.tar.gz 10424638 BLAKE2B c76170139e0b8926911d19a9b2319d85bcc577ebd36f55e80d5543da115baf31c7935eace893e8673ab338d97680d5f6f4e35bacc20a168188af363799c7bd83 SHA512 762201e56fff658b90d715545ba52420682f5382ebcb38602f25b921c82bce3877dcc54d07578c3b5bfcef62d5ce7836f19b7d638bb3230a5ca4987cc6e70f8e
+DIST django-4.2.22.tar.gz 10427236 BLAKE2B ddd3d64707d1d2d48c2cf2d6f52be0bf7b303548f6bc1649867be34d27a92d8d94cf047cf6cdeeaeaa560d0b4f96ff12266981e972d6de9b8dd8d463c6c4284f SHA512 e008b87b5d8398e447cd35871693f3acd449452127fede1e965a93be412f9f4afb9236ee988c9469635065f644e2ae55bee4fbf6eb050fa12a5ed68d24224a01
+DIST django-5.1.10.tar.gz 10714538 BLAKE2B cca93b01773d55c5cc0c48cd8071c478f0a8431297da97990e525563715c3b1b53805fb191c3b2978668aa169a89eeda649b31bd144958f021afa8a5c2055844 SHA512 895e0c31e84b4749c497f6d0bb854139bcb7475e564aa84605a6f5e02c2c15200c1345371ab431ebf97f961e97ecc4b70f68629e81350a9dfa09a08b5b796fdc
DIST django-5.1.9.tar.gz 10710887 BLAKE2B b6caa00ef55d904209c0c20548963ccc91368d6a36395432fc86809b9fa41f4d8cce3122600983ca49593feb1b06fb4da72b5664ce418d3ee62d9aca98ebbe26 SHA512 f3fe34326e2fa4d35af26198f5839a7ad7bc433a659971528c0d7ba35c5d9e0300c9307114ad1eeaf242f6148ef2dbc48998752a0c68f80f9fbf5b8d32ddca2e
DIST django-5.2.1.tar.gz 10818735 BLAKE2B 583f78402534157d665a48a1569554ad31f0637c335d206f8dad384860971f27868184cfe0750cdc03d39879c736f88aace2d65ac8f25e60a16b8489fe51d5cf SHA512 b97fc3221f2bcb499e2f55ea5fa8da61da9062266255a31e8d0a54afb7a41ea049dbe4b370ad7e8ca3b5105ab1d5a15f1fe3e48af4251590d27bc032fef17d25
+DIST django-5.2.2.tar.gz 10827542 BLAKE2B 188e4290236371c1fca73a2485897afd8e06f631900dcad298b2062d88e1405b958dd8bc77994eb0f32b59f61fe1565d6c0150f9bc76632924e23294afb9861a SHA512 b4d5be87bd0daf68df76e2f79781b72dc7cbe372148edd83aa1ab9ffbbda8785ee85e63309a06ea454d233ce23972ae51213680dcdd9824177cef8c3285ec439
diff --git a/dev-python/django/django-4.2.22.ebuild b/dev-python/django/django-4.2.22.ebuild
new file mode 100644
index 000000000000..2bc7038d3b19
--- /dev/null
+++ b/dev-python/django/django-4.2.22.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE='sqlite?,threads(+)'
+
+inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig
+
+DESCRIPTION="High-level Python web framework"
+HOMEPAGE="
+ https://www.djangoproject.com/
+ https://github.com/django/django/
+ https://pypi.org/project/Django/
+"
+SRC_URI="
+ https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P}.tar.gz
+ https://dev.gentoo.org/~mgorny/dist/python/django-4.2.17-pypy3.patch.xz
+ verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt )
+"
+
+LICENSE="BSD"
+# admin fonts: Roboto (media-fonts/roboto)
+LICENSE+=" Apache-2.0"
+# admin icons, jquery, xregexp.js
+LICENSE+=" MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+IUSE="doc sqlite test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ <dev-python/asgiref-4[${PYTHON_USEDEP}]
+ >=dev-python/asgiref-3.6.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}]
+ sys-libs/timezone-data
+"
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ ${RDEPEND}
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/jinja2[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pillow[webp,${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/selenium[${PYTHON_USEDEP}]
+ dev-python/tblib[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-django-20240807 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/django-4.0-bashcomp.patch
+ "${WORKDIR}"/django-4.2.17-pypy3.patch
+ # https://code.djangoproject.com/ticket/35661
+ "${FILESDIR}"/django-5.1-more-pypy3.patch
+ # https://code.djangoproject.com/ticket/34900
+ "${FILESDIR}"/django-4.2.21-py313.patch
+)
+
+distutils_enable_sphinx docs --no-autodoc
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc
+
+src_unpack() {
+ if use verify-sig; then
+ cd "${DISTDIR}" || die
+ verify-sig_verify_signed_checksums \
+ "${P^}.checksum.txt" sha256 "${P}.tar.gz"
+ cd "${WORKDIR}" || die
+ fi
+
+ default
+}
+
+python_test() {
+ # Tests have non-standard assumptions about PYTHONPATH,
+ # and don't work with ${BUILD_DIR}/lib.
+ PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \
+ -v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" ||
+ die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ newbashcomp extras/django_bash_completion ${PN}-admin
+ bashcomp_alias ${PN}-admin django-admin.py
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature_header "Additional Backend support can be enabled via:"
+ optfeature "MySQL backend support" dev-python/mysqlclient
+ optfeature "PostgreSQL backend support" dev-python/psycopg:0
+ optfeature_header
+ optfeature "GEO Django" "sci-libs/gdal[geos]"
+ optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached
+ optfeature "ImageField Support" dev-python/pillow
+ optfeature "Password encryption" dev-python/bcrypt
+}
diff --git a/dev-python/django/django-5.1.10.ebuild b/dev-python/django/django-5.1.10.ebuild
new file mode 100644
index 000000000000..2dca97580558
--- /dev/null
+++ b/dev-python/django/django-5.1.10.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE='sqlite?,threads(+)'
+
+inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig
+
+DESCRIPTION="High-level Python web framework"
+HOMEPAGE="
+ https://www.djangoproject.com/
+ https://github.com/django/django/
+ https://pypi.org/project/Django/
+"
+SRC_URI="
+ https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P}.tar.gz
+ verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt )
+"
+
+LICENSE="BSD"
+# admin fonts: Roboto (media-fonts/roboto)
+LICENSE+=" Apache-2.0"
+# admin icons, jquery, xregexp.js
+LICENSE+=" MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+IUSE="doc sqlite test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ <dev-python/asgiref-4[${PYTHON_USEDEP}]
+ >=dev-python/asgiref-3.8.1[${PYTHON_USEDEP}]
+ >=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}]
+ sys-libs/timezone-data
+"
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ ${RDEPEND}
+ >=dev-python/docutils-0.19[${PYTHON_USEDEP}]
+ >=dev-python/jinja2-2.11.0[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pillow[webp,${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/selenium-4.8.0[${PYTHON_USEDEP}]
+ >=dev-python/tblib-1.5.0[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-django-20240807 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/django-4.0-bashcomp.patch
+)
+
+distutils_enable_sphinx docs --no-autodoc
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc
+
+src_unpack() {
+ if use verify-sig; then
+ cd "${DISTDIR}" || die
+ verify-sig_verify_signed_checksums \
+ "${P^}.checksum.txt" sha256 "${P}.tar.gz"
+ cd "${WORKDIR}" || die
+ fi
+
+ default
+}
+
+python_test() {
+ # Tests have non-standard assumptions about PYTHONPATH,
+ # and don't work with ${BUILD_DIR}/lib.
+ PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \
+ -v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" ||
+ die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ newbashcomp extras/django_bash_completion ${PN}-admin
+ bashcomp_alias ${PN}-admin django-admin.py
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature_header "Additional Backend support can be enabled via:"
+ optfeature "MySQL backend support" dev-python/mysqlclient
+ optfeature "PostgreSQL backend support" dev-python/psycopg:0
+ optfeature_header
+ optfeature "GEO Django" "sci-libs/gdal[geos]"
+ optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached
+ optfeature "ImageField Support" dev-python/pillow
+ optfeature "Password encryption" dev-python/bcrypt
+}
diff --git a/dev-python/django/django-5.2.2.ebuild b/dev-python/django/django-5.2.2.ebuild
new file mode 100644
index 000000000000..2dca97580558
--- /dev/null
+++ b/dev-python/django/django-5.2.2.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE='sqlite?,threads(+)'
+
+inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig
+
+DESCRIPTION="High-level Python web framework"
+HOMEPAGE="
+ https://www.djangoproject.com/
+ https://github.com/django/django/
+ https://pypi.org/project/Django/
+"
+SRC_URI="
+ https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P}.tar.gz
+ verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt )
+"
+
+LICENSE="BSD"
+# admin fonts: Roboto (media-fonts/roboto)
+LICENSE+=" Apache-2.0"
+# admin icons, jquery, xregexp.js
+LICENSE+=" MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+IUSE="doc sqlite test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ <dev-python/asgiref-4[${PYTHON_USEDEP}]
+ >=dev-python/asgiref-3.8.1[${PYTHON_USEDEP}]
+ >=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}]
+ sys-libs/timezone-data
+"
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ ${RDEPEND}
+ >=dev-python/docutils-0.19[${PYTHON_USEDEP}]
+ >=dev-python/jinja2-2.11.0[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pillow[webp,${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/selenium-4.8.0[${PYTHON_USEDEP}]
+ >=dev-python/tblib-1.5.0[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-django-20240807 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/django-4.0-bashcomp.patch
+)
+
+distutils_enable_sphinx docs --no-autodoc
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc
+
+src_unpack() {
+ if use verify-sig; then
+ cd "${DISTDIR}" || die
+ verify-sig_verify_signed_checksums \
+ "${P^}.checksum.txt" sha256 "${P}.tar.gz"
+ cd "${WORKDIR}" || die
+ fi
+
+ default
+}
+
+python_test() {
+ # Tests have non-standard assumptions about PYTHONPATH,
+ # and don't work with ${BUILD_DIR}/lib.
+ PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \
+ -v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" ||
+ die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ newbashcomp extras/django_bash_completion ${PN}-admin
+ bashcomp_alias ${PN}-admin django-admin.py
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature_header "Additional Backend support can be enabled via:"
+ optfeature "MySQL backend support" dev-python/mysqlclient
+ optfeature "PostgreSQL backend support" dev-python/psycopg:0
+ optfeature_header
+ optfeature "GEO Django" "sci-libs/gdal[geos]"
+ optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached
+ optfeature "ImageField Support" dev-python/pillow
+ optfeature "Password encryption" dev-python/bcrypt
+}
diff --git a/dev-python/ensurepip-pip/ensurepip-pip-25.1.1.ebuild b/dev-python/ensurepip-pip/ensurepip-pip-25.1.1.ebuild
index 800de63e5998..324dd32e5fb3 100644
--- a/dev-python/ensurepip-pip/ensurepip-pip-25.1.1.ebuild
+++ b/dev-python/ensurepip-pip/ensurepip-pip-25.1.1.ebuild
@@ -12,7 +12,7 @@ S=${DISTDIR}
LICENSE="Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MIT MPL-2.0 PSF-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
src_install() {
insinto /usr/lib/python/ensurepip
diff --git a/dev-python/flask-jwt-extended/Manifest b/dev-python/flask-jwt-extended/Manifest
deleted file mode 100644
index 37b18ad44042..000000000000
--- a/dev-python/flask-jwt-extended/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST flask-jwt-extended-4.6.0.tar.gz 60564 BLAKE2B 438159c00e0d8cbf51ac0e7aed5189656530258be071041526c6e97187b3eb1121c4ddec00c062ae2e8eb0115caf59eb4af85795097d1ac6294aa15744dfa764 SHA512 cc7b4971414d391858595ffc537d89050209120fcccb7f5f3955a18708851eaa3a3bb66ae4824ccc42a84af213fc8a943eab51da04af6c57d3001a986c0dde25
-DIST flask-jwt-extended-4.7.0.tar.gz 60639 BLAKE2B 3d729e863ac68ebb21035d54ff20389dbc89f522d4cfc2dd083ec0389a2e390d82656e63475cd7f53787297e5a53def7b4381e8946e0009af2e047380b759b85 SHA512 0a34c61fac71d72deee1f5c6aebdf7591451142284888566ee12d434098230761659995d917fe9e1608ef105a1b148fe9a7e41e6dfbc548cb04c157f91ab3400
-DIST flask-jwt-extended-4.7.1.tar.gz 60972 BLAKE2B 2a68158c1a0826c2ed8d12e7f311625ca9ee2525036a4984dfed08598667aa5de57a33eaa13d48ec169086e119c5ec4d692520710635009f8edf34aec33874ed SHA512 6a28a8678fb96d3496caa9ebfcd4ad0d7575d6bd719a45d2469ca9b1f682a97df112d758123298f58588e85e2fbd2eee020630fdbdc3ff1990a8c672dbd0da9a
diff --git a/dev-python/flask-jwt-extended/flask-jwt-extended-4.6.0.ebuild b/dev-python/flask-jwt-extended/flask-jwt-extended-4.6.0.ebuild
deleted file mode 100644
index cb949083811d..000000000000
--- a/dev-python/flask-jwt-extended/flask-jwt-extended-4.6.0.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2020-2023 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-DESCRIPTION="An open source Flask extension that provides JWT support"
-HOMEPAGE="https://github.com/vimalloc/flask-jwt-extended"
-SRC_URI="https://github.com/vimalloc/flask-jwt-extended/archive/${PV}.tar.gz -> ${P}.tar.gz"
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="${PYTHON_DEPS}
- >=dev-python/werkzeug-0.14[${PYTHON_USEDEP}]
- >=dev-python/flask-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/pyjwt-2.0.0[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- >=dev-python/cryptography-2.4.2[${PYTHON_USEDEP}]
- "
diff --git a/dev-python/flask-jwt-extended/flask-jwt-extended-4.7.0.ebuild b/dev-python/flask-jwt-extended/flask-jwt-extended-4.7.0.ebuild
deleted file mode 100644
index 373a78deff8d..000000000000
--- a/dev-python/flask-jwt-extended/flask-jwt-extended-4.7.0.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2020-2024 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-DESCRIPTION="An open source Flask extension that provides JWT support"
-HOMEPAGE="https://github.com/vimalloc/flask-jwt-extended"
-SRC_URI="https://github.com/vimalloc/flask-jwt-extended/archive/${PV}.tar.gz -> ${P}.tar.gz"
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="${PYTHON_DEPS}
- >=dev-python/werkzeug-0.14[${PYTHON_USEDEP}]
- >=dev-python/flask-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/pyjwt-2.0.0[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- >=dev-python/cryptography-2.4.2[${PYTHON_USEDEP}]
- "
diff --git a/dev-python/flask-jwt-extended/flask-jwt-extended-4.7.1.ebuild b/dev-python/flask-jwt-extended/flask-jwt-extended-4.7.1.ebuild
deleted file mode 100644
index 373a78deff8d..000000000000
--- a/dev-python/flask-jwt-extended/flask-jwt-extended-4.7.1.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2020-2024 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-DESCRIPTION="An open source Flask extension that provides JWT support"
-HOMEPAGE="https://github.com/vimalloc/flask-jwt-extended"
-SRC_URI="https://github.com/vimalloc/flask-jwt-extended/archive/${PV}.tar.gz -> ${P}.tar.gz"
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="${PYTHON_DEPS}
- >=dev-python/werkzeug-0.14[${PYTHON_USEDEP}]
- >=dev-python/flask-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/pyjwt-2.0.0[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- >=dev-python/cryptography-2.4.2[${PYTHON_USEDEP}]
- "
diff --git a/dev-python/flask-jwt-extended/metadata.xml b/dev-python/flask-jwt-extended/metadata.xml
deleted file mode 100644
index 2c3c948af8b6..000000000000
--- a/dev-python/flask-jwt-extended/metadata.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>dev@liguros.net</email>
- <name>Development</name>
- </maintainer>
- <maintainer type="person">
- <email>email@linxon.ru</email>
- <name>Yury Martynov</name>
- </maintainer>
-
- <origin>ports</origin>
-</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/frozenlist/Manifest b/dev-python/frozenlist/Manifest
index e4a5b197c446..6c0a53576631 100644
--- a/dev-python/frozenlist/Manifest
+++ b/dev-python/frozenlist/Manifest
@@ -1,3 +1,4 @@
DIST frozenlist-1.5.0.gh.tar.gz 46957 BLAKE2B 385b6439985256c5fd074582001a9c3d8ae82a0b839abfb3c2ff054ba3f5904d17740d7e49a17c96c571a0d8940933d292cc980c5a7bb30ae25fe88484ade185 SHA512 4486a3132038cf3eb29184bc27baab2f166078d25163da29114cb0595bd97c88848d88241cef39d42be9da5e2a99d14141d899bc5f268690c97bf38bf07c54dd
DIST frozenlist-1.6.0.gh.tar.gz 49920 BLAKE2B e7f03eb3779e048d921f8383d34d82af82828ac587378c148d9f555cf69aa1324f63fb1a53e42bc3d411a647ccd3eabf5b276a9c2ebd7af14d03245c8f4d4721 SHA512 f7e3d8741335c5ebdb3e78684c6e4a91c2f7f389134f4b869d8ea67d167472814867f14e303211045977f0d409d6b1b9478b7cfa7718af5ae9bacb49d147af58
DIST frozenlist-1.6.1.gh.tar.gz 49838 BLAKE2B 99e2bf456e9127b79940c53958f8aec377e00788d0778b08a55898f72d1f08ec1646ae7596d650687859d68b502e22360eebc33b82913b57f1877f15ba81bc22 SHA512 63776f6bbbc710d25a47a634df8020c347656d452d1912970ba9e94ffdaba28c999fe12ee6e9dca1622f9e7ab7ce60deda540bc3797f0ca6ec079c0d26b6cc84
+DIST frozenlist-1.6.2.gh.tar.gz 49853 BLAKE2B 88daf2ba5476902fbd1c49a547bfa1d2b6aca4892f3476c275bb7cfddd04c186a7db2dd85d810ef4f8a9ba097ea79a10f9b3604a575b693b3a011e50a17cf101 SHA512 98af12defa65033f42a1ead3012dc6a2df5b018fc96fb02449aeb42465bd22c86edb28663d35c5a2bdbcda71649c99e8edae98836de6ace6957599474a00dda7
diff --git a/dev-python/frozenlist/frozenlist-1.6.2.ebuild b/dev-python/frozenlist/frozenlist-1.6.2.ebuild
new file mode 100644
index 000000000000..9ac110983020
--- /dev/null
+++ b/dev-python/frozenlist/frozenlist-1.6.2.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2021-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A list-like structure which implements collections.abc.MutableSequence"
+HOMEPAGE="
+ https://pypi.org/project/frozenlist/
+ https://github.com/aio-libs/frozenlist/
+"
+SRC_URI="
+ https://github.com/aio-libs/frozenlist/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="+native-extensions"
+
+BDEPEND="
+ dev-python/expandvars[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ native-extensions? (
+ $(python_gen_cond_dep '
+ dev-python/cython[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+distutils_enable_tests pytest
+
+python_compile() {
+ # pypy is not using the C extension
+ if ! use native-extensions || [[ ${EPYTHON} != python* ]]; then
+ local -x FROZENLIST_NO_EXTENSIONS=1
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ rm -rf frozenlist || die
+ epytest -o addopts=
+}
diff --git a/dev-python/google-api-python-client/Manifest b/dev-python/google-api-python-client/Manifest
index 5531fd549948..87a8467a535c 100644
--- a/dev-python/google-api-python-client/Manifest
+++ b/dev-python/google-api-python-client/Manifest
@@ -1,2 +1,3 @@
DIST google_api_python_client-2.169.0.tar.gz 12811341 BLAKE2B 31bf7b5aa53a05a7d196ea59f6a03b835628e4bcab312f4799386f1fc344c1774f06882fa502bd06a7d6feb244725a9c3f2396c1ef8ce999480ef9d211e10b44 SHA512 506bf5fc576a0db4d9db1e4abffdc5fa78009a070a7254821393599e3f56c55b6219b16200ea7f776a0ceca8673aa58cd379f952078deaafdc3f72e0591d726f
DIST google_api_python_client-2.170.0.tar.gz 12971933 BLAKE2B 51382bb40c74018ec8267130b8ac50152a7b85cf09551c0c0826f0cce763834b2480127ac72a26ac600b5f847cd558651449f35997c335e1f54d51c275687cad SHA512 a2cb7dc10089ffe33c22e9c5ab2cff4836f6982ce708a6efc744ee218a6bb9d42a33afec1bd20213d1c234fe7176f5ffc59f1116c6f4cdc8a0f46e956073f302
+DIST google_api_python_client-2.171.0.tar.gz 13028937 BLAKE2B 8fdb02566b59a6ee863613ec707666ddd959a1962fbd679d8e2ffb0dd2ed9e051390302ed54d3631a6518f4cf2157ff092f8dbb17eb95ff771155a3fe45242f0 SHA512 8237e79f3e6be18bcd2aa8e073c5842768861dbd90faabf25e01cda116afebea0e895a951c01f23f81cda26d70db387b622afa024378f5acb7a6d580d7279663
diff --git a/dev-python/google-api-python-client/google-api-python-client-2.171.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.171.0.ebuild
new file mode 100644
index 000000000000..b2220fafe3ef
--- /dev/null
+++ b/dev-python/google-api-python-client/google-api-python-client-2.171.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Google API Client for Python"
+HOMEPAGE="
+ https://github.com/googleapis/google-api-python-client/
+ https://pypi.org/project/google-api-python-client/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/httplib2-0.15[${PYTHON_USEDEP}]
+ <dev-python/httplib2-1[${PYTHON_USEDEP}]
+ >=dev-python/google-api-core-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-1.35.0[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-httplib2-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/uritemplate-3.0.0[${PYTHON_USEDEP}]
+ <dev-python/uritemplate-5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/parameterized[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # require Internet access (and credentials)
+ tests/test_discovery.py::DiscoveryErrors::test_credentials_and_credentials_file_mutually_exclusive
+ tests/test_discovery.py::DiscoveryFromDocument::test_api_endpoint_override_from_client_options_mapping_object
+ tests/test_discovery.py::Universe::test_client_options_universe_configured_with_mtls
+ tests/test_discovery.py::Universe::test_universe_env_var_configured_with_mtls
+ )
+
+ epytest tests
+}
diff --git a/dev-python/google-auth/Manifest b/dev-python/google-auth/Manifest
index 0390aa32b97b..ab4b2effa14a 100644
--- a/dev-python/google-auth/Manifest
+++ b/dev-python/google-auth/Manifest
@@ -2,3 +2,4 @@ DIST google_auth-2.39.0.tar.gz 274834 BLAKE2B f924291ba51799c4560849f61c30419110
DIST google_auth-2.40.0.tar.gz 280934 BLAKE2B a70b27a417e08e7d0edbc0ec09049aca6035582c9dc0bcc9b0d29acbc17f137beb2a9c145e783b356720b3327fd426025bef236a63dab83e98399a9bfd0dda36 SHA512 0e4587bde4076fcf8f905f1f8de6aa3b145424be2b8a36108f4f1fad12f024ea47e1b0bc5c877fa119b6a0dd7fa7fcb6a48e6cfbe4dacf72d04c23938cd66dbb
DIST google_auth-2.40.1.tar.gz 280975 BLAKE2B 755d05067caeb3317489d040bc17cb92a6a96f9f2433d43eb02dedd7dc3caadf9012ed497a5956ec82174ccec8b704d123275c22211906d7edbb915442313874 SHA512 3a3a5b970d020ba8e220794ef276ef55249026161f18dce513eaaa2e63f2a0d628a477c11ea2b35e7686b924ccc12eb5ff6c97a6e8df5279f8d3a195f85d4181
DIST google_auth-2.40.2.tar.gz 280990 BLAKE2B 969cadb07091f221d1e9e82e783068913f7d6cbc7a4087b29e368bf0f6c89da45d880fc0aa9aa62f3efd467a70c17bd7c864d2dc7a9de64938f4086dd1a0ad00 SHA512 d79213f2c8fc3603437be5d40a1b887d85c13aa401dd918581cf17d5ac8a8211cf08633ec3a4fead705ad38d72a4a1eb919f073b10983be4a652a0db2bc14b43
+DIST google_auth-2.40.3.tar.gz 281029 BLAKE2B eb95721c42ee37c0498c9c57fe3aceea006bc0b401a84c8f33a0000e8f49975537124827092da9ad40a66650dbe6e276b570d77eb45bcc86c23085a231572e1b SHA512 35062091ab3515f381c5da5d7952e1c60c650f62041b32217905462b0393199666126cbc018e96ea694eadaf9fec2528e9c7531758cfeda8a244fa10f8d362fb
diff --git a/dev-python/google-auth/google-auth-2.40.3.ebuild b/dev-python/google-auth/google-auth-2.40.3.ebuild
new file mode 100644
index 000000000000..74adcd8315ca
--- /dev/null
+++ b/dev-python/google-auth/google-auth-2.40.3.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Google Authentication Library"
+HOMEPAGE="
+ https://github.com/googleapis/google-auth-library-python/
+ https://pypi.org/project/google-auth/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/cachetools[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-modules-0.2.1[${PYTHON_USEDEP}]
+ >=dev-python/rsa-3.1.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/aioresponses[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-38.0.3[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/moto[${PYTHON_USEDEP}]
+ >=dev-python/pyjwt-2.0[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-localserver[${PYTHON_USEDEP}]
+ dev-python/pyu2f[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unpin deps
+ sed -i -e 's:,<[0-9.]*::' setup.py || die
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # tests are broken with up-to-date pyopenssl
+ tests/transport/test__mtls_helper.py::TestDecryptPrivateKey::test_success
+ )
+ local EPYTEST_IGNORE=(
+ # these are compatibility tests with oauth2client
+ # disable them to unblock removal of that package
+ tests/test__oauth2client.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ distutils_write_namespace google
+ epytest -p asyncio
+}
diff --git a/dev-python/gpgmepy/Manifest b/dev-python/gpgmepy/Manifest
new file mode 100644
index 000000000000..fa00bc52356a
--- /dev/null
+++ b/dev-python/gpgmepy/Manifest
@@ -0,0 +1 @@
+DIST gpgmepy-2.0.0_pre20250603.tar.gz 511499 BLAKE2B 5d21f1a76f69a51723c94236661117e05aeddf374314b029cf83cbf42f58df53aca3fab8e94236e6725d7bbc8a3c762516c68d323061aae3d60eabb7fb685e11 SHA512 52d461ebe064b89129815a9d38874acc2679f8818a04aa83021263e4d2d1f2169d12948a81fc7be218524531967a571b987e713fa326a50e8d5b815cc0183877
diff --git a/dev-python/gpgmepy/files/gpgmepy-2.0.0_pre20250603-python.patch b/dev-python/gpgmepy/files/gpgmepy-2.0.0_pre20250603-python.patch
new file mode 100644
index 000000000000..f0ef9a1b5626
--- /dev/null
+++ b/dev-python/gpgmepy/files/gpgmepy-2.0.0_pre20250603-python.patch
@@ -0,0 +1,31 @@
+Don't search for multiple Pythons as it doesn't interact well with our
+distutils-r1 setup. Just search for one Python and allow overriding which
+one from the ebuild.
+--- a/configure.ac
++++ b/configure.ac
+@@ -287,23 +287,8 @@ else
+ # Only look for Python versions explicitly that are not yet end-of-life.
+ # As fallback look for any Python version >= 3.6.
+ m4_foreach([mym4pythonver],
+- [[3.9],[3.10],[3.11],[3.12],[3.13],[any]],
+- [unset PYTHON
+- unset PYTHON_VERSION
+- unset PYTHON_CPPFLAGS
+- unset PYTHON_LDFLAGS
+- unset PYTHON_LIBS
+- unset PYTHON_SITE_PKG
+- unset PYTHON_PLATFORM_SITE_PKG
+- unset PYTHON_EXTRA_LIBS
+- unset PYTHON_EXTRA_LDFLAGS
+- unset ac_cv_path_PYTHON
+- unset am_cv_pathless_PYTHON
+- unset am_cv_python_version
+- unset am_cv_python_platform
+- unset am_cv_python_pythondir
+- unset am_cv_python_pyexecdir
+- AM_PATH_PYTHON(m4_if(mym4pythonver,[any],[3.6],mym4pythonver), [
++ [[any]],
++ [AM_PATH_PYTHON(m4_if(mym4pythonver,[any],[3.6],mym4pythonver), [
+ AX_PYTHON_DEVEL([], [true])
+ if test "$PYTHON_VERSION"; then
+ AC_MSG_CHECKING([for the setuptools Python package])
diff --git a/dev-python/gpgmepy/gpgmepy-2.0.0_pre20250603.ebuild b/dev-python/gpgmepy/gpgmepy-2.0.0_pre20250603.ebuild
new file mode 100644
index 000000000000..b68afbe29f2e
--- /dev/null
+++ b/dev-python/gpgmepy/gpgmepy-2.0.0_pre20250603.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+inherit autotools distutils-r1
+
+GPGMEPY_COMMIT="1c2c1c0b41af5e34e4f6897639fa41ef3932ec7d"
+DESCRIPTION="GnuPG Made Easy is a library for making GnuPG easier to use (Python bindings)"
+HOMEPAGE="https://www.gnupg.org/related_software/gpgme"
+SRC_URI="https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gpgmepy.git;a=snapshot;h=${GPGMEPY_COMMIT};sf=tgz -> ${P}.tar.gz"
+#SRC_URI="
+# mirror://gnupg/${PN}/${P}.tar.xz
+# verify-sig? ( mirror://gnupg/${PN}/${P}.tar.xz.sig )
+#"
+S="${WORKDIR}"/${PN}-${GPGMEPY_COMMIT:0:7}
+
+LICENSE="LGPL-2.1+ test? ( GPL-2+ )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ !<app-crypt/gpgme-2[python(-)]
+
+ >=app-crypt/gpgme-2:=
+ >=dev-libs/libgpg-error-1.47:=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ ${PYTHON_DEPS}
+ ${DISTUTILS_DEPS}
+ dev-lang/swig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.0.0_pre20250603-python.patch
+)
+
+src_prepare() {
+ distutils-r1_src_prepare
+ eautoreconf
+}
+
+python_configure() {
+ local myeconfargs=(
+ $(use_enable test gpg-test)
+
+ PYTHON=${EPYTHON}
+ PYTHONS=${EPYTHON}
+ GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config"
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+ emake -Onone prepare
+}
+
+python_test() {
+ emake -C tests -Onone check \
+ PYTHON=${EPYTHON} \
+ PYTHONS=${EPYTHON} \
+ TESTFLAGS="--python-libdir=${BUILD_DIR}/lib"
+}
diff --git a/dev-python/pylxd/metadata.xml b/dev-python/gpgmepy/metadata.xml
index 36acccda7221..8e20998bf65e 100644
--- a/dev-python/pylxd/metadata.xml
+++ b/dev-python/gpgmepy/metadata.xml
@@ -2,9 +2,9 @@
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
- <email>dev@liguros.net</email>
- <name>Development</name>
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
</maintainer>
- <origin>ports</origin>
+ <origin>gentoo-staging</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/iOSbackup/iOSbackup-0.9.925.ebuild b/dev-python/iOSbackup/iOSbackup-0.9.925.ebuild
index 15ae8447f3f3..f28183bbf068 100644
--- a/dev-python/iOSbackup/iOSbackup-0.9.925.ebuild
+++ b/dev-python/iOSbackup/iOSbackup-0.9.925.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
PYPI_NO_NORMALIZE=1
DISTUTILS_USE_PEP517=setuptools
diff --git a/dev-python/json-schema-for-humans/Manifest b/dev-python/json-schema-for-humans/Manifest
index 774b4a406f87..552963cd7539 100644
--- a/dev-python/json-schema-for-humans/Manifest
+++ b/dev-python/json-schema-for-humans/Manifest
@@ -1 +1,2 @@
DIST json-schema-for-humans-1.3.4.gh.tar.gz 864919 BLAKE2B 5e70e1bcf08bc449d7a4948b9828eb825c2ab126dc6fe4c71c5b70f18f3961e55a45b9346d4d10169d42ef6dde728b042ca04669101482c9dc619a183ff6ed3c SHA512 fe9b0fb7ae9d9659d6d717ad5e21cd5605133a8fad3ec9448512b77156f9a4624c580eaa50469364fd2eb15f2b4d0a950d66f006641bbdfec21c3658554aaa75
+DIST json-schema-for-humans-1.4.1.gh.tar.gz 865045 BLAKE2B e40329657743ec38b0a9eabc97f90b81774208f1c975aeed9cc07c43e7e3ce70843a2e36e0dff19c39987f3bb7535f7f881fac6b3053479e1c0a7d16ae260eb2 SHA512 313f329e8451eb66170083beef1207112b984b233a3c83d46a9a15ad2251ceae91cbe0b69534d063e82d63dd1851ec9417e78706f1138bbb14a4ee1e7bee781d
diff --git a/dev-python/json-schema-for-humans/json-schema-for-humans-1.4.1.ebuild b/dev-python/json-schema-for-humans/json-schema-for-humans-1.4.1.ebuild
new file mode 100644
index 000000000000..f90093e4264f
--- /dev/null
+++ b/dev-python/json-schema-for-humans/json-schema-for-humans-1.4.1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Quickly generate HTML documentation from a JSON schema "
+HOMEPAGE="
+ https://github.com/coveooss/json-schema-for-humans/
+ https://pypi.org/project/json-schema-for-humans/
+"
+SRC_URI="https://github.com/coveooss/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/dataclasses-json[${PYTHON_USEDEP}]
+ dev-python/jinja2[${PYTHON_USEDEP}]
+ dev-python/markdown2[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="
+ test? ( dev-python/beautifulsoup4[${PYTHON_USEDEP}] )
+"
+
+distutils_enable_tests pytest
+
+python_test(){
+ local EPYTEST_DESELECT=(
+ # tests with network
+ 'tests/generate_test.py::test_references_url'
+ 'tests/test_md_generate.py::TestMdGenerate::test_basic[True-True-references_url'
+ 'tests/test_md_generate.py::TestMdGenerate::test_basic[True-False-references_url'
+ 'tests/test_md_generate.py::TestMdGenerate::test_basic[False-True-references_url'
+ 'tests/test_md_generate.py::TestMdGenerate::test_basic[False-False-references_url'
+ # tests with error when passed
+ 'tests/cli_test.py::test_config_parameters_with_nonexistent_output_path'
+ 'tests/cli_test.py::test_nonexistent_output_path'
+ )
+ epytest
+}
diff --git a/dev-python/libversion/Manifest b/dev-python/libversion/Manifest
deleted file mode 100644
index ede9fcda2fe4..000000000000
--- a/dev-python/libversion/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libversion-1.2.4.tar.gz 8389 BLAKE2B 998b1a1d1e1666a239f21a9bf84c0ec89b80fa7cb4ae0e7fb773131e561d4598f01e232451201ae06e8aeb0efad89c2ce6661e3f7f14212d564924818ca90d7f SHA512 ab78e65182c6475a174eb31836dcc83c915cb584ebb8dc82a6690d3ee44d77bedae28809648b5c38df640f7fe815a2aadc7954c193e9e0712dc35cbc1d7cd8b2
diff --git a/dev-python/libversion/libversion-1.2.4-r1.ebuild b/dev-python/libversion/libversion-1.2.4-r1.ebuild
deleted file mode 100644
index eaeffa03a9a7..000000000000
--- a/dev-python/libversion/libversion-1.2.4-r1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2021-2022 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-DISTUTILS_USE_SETUPTOOLS=bdepend
-
-inherit distutils-r1
-
-distutils_enable_tests unittest
-
-DESCRIPTION="Python bindings for libversion"
-HOMEPAGE="https://github.com/repology/py-libversion https://pypi.org/project/libversion/"
-SRC_URI="https://github.com/repology/py-${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/py-${P}"
-SLOT="0"
-LICENSE="MIT"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~amd64-fbsd"
-
-DEPEND="
- >=dev-libs/libversion-2.7.0
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- virtual/pkgconfig
-"
-
-python_compile(){
- PKG_CONFIG_PATH="${EPREFIX}/usr/lib/pkgconfig" distutils-r1_python_compile
-}
-
-python_install(){
- PKG_CONFIG_PATH="${EPREFIX}/usr/lib/pkgconfig" distutils-r1_python_install
-}
diff --git a/dev-python/libversion/metadata.xml b/dev-python/libversion/metadata.xml
deleted file mode 100644
index 36acccda7221..000000000000
--- a/dev-python/libversion/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>dev@liguros.net</email>
- <name>Development</name>
- </maintainer>
-
- <origin>ports</origin>
-</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/libvirt-python/Manifest b/dev-python/libvirt-python/Manifest
index 8820f01401ed..4dcdfb4f8ae7 100644
--- a/dev-python/libvirt-python/Manifest
+++ b/dev-python/libvirt-python/Manifest
@@ -6,3 +6,5 @@ DIST libvirt-python-11.1.0.tar.gz 241110 BLAKE2B 921be6848d275184d90c3aa55a50f66
DIST libvirt-python-11.1.0.tar.gz.asc 833 BLAKE2B af5ead2015dc0fe7c56642625e9ceb4d4f460bf9ff24647794d9ee21ad8919029ac18b9298237a5abb1ff44e50ff9ff19d9bd57020106db106ccee294b848f27 SHA512 57d58031ccd654db103b0251655cc6e7dcf51adfd67bb457c2daee07c3681d9225f1c4c4da3e4cf7e433ec921c318a0e46314836194322d047c727db38b860cf
DIST libvirt-python-11.2.0.tar.gz 242152 BLAKE2B 8bf92854c73184e43b364d66f04e8b017d6ad6b40173915c10f7c0dd0b0fadd4b55ea8704155392f016b151b1f65fc7805313e8610569fe362bb4a28bfee8dbf SHA512 02019186fd086df8c57998f2a3e6496897e9de1a09b97aba983897480e50be58ac0599de0ed7cb62cabb9834913973dcf99f034397e48fac96d65c32b056059f
DIST libvirt-python-11.2.0.tar.gz.asc 833 BLAKE2B fa3231a0fbc525d039d0ccc9dee91e7630dc7b615481d0c7dae6636666a575305a6a7f9088cc70a9c756aa684141c6cda8ca479987c7f6dbaafb9df07072bdb8 SHA512 61c6b67be7b71fcf6ae6695e23e66eb9ff5531f63dfa6bfdee2db49f22c9e02d3169a3bab4d7731fb306796d03ea76384ae3e72dd970ab2bde690b604fcd6c35
+DIST libvirt-python-11.4.0.tar.gz 242629 BLAKE2B d19a3b7a1c7ef27b7c67a3a7bcc9f0dab02d55a2acdb0ce62abd7e68619275dbc9f7536695e9e2ed688132860cfd7efeee2a6116d4a6f7efd91f65da4b3d39c8 SHA512 d1730d706b784184ea1174b2212e8c6ce633efb4736eeda2e165aaa52edb1b11b6f0aea96de2adec81910472a372692dbde1f0b7a1ee5a345a5b17a9d686693c
+DIST libvirt-python-11.4.0.tar.gz.asc 833 BLAKE2B 42695946afdf0af8faaf558b00f963167f3b7fcea516919864fbeb2ebdb52861654cb085a042d48369af44c804330f6b5d96b8e3e27c54479dd4fbfa171e5889 SHA512 2437cbeb70c32a2fdd7c510deb7c63f588570d1ace8335db1f94a3a212e07898d0b40a99fd4ec3727c2ce3352e87d1f350b8f861ab993c3fc88f90fcef001b99
diff --git a/dev-python/libvirt-python/libvirt-python-11.4.0.ebuild b/dev-python/libvirt-python/libvirt-python-11.4.0.ebuild
new file mode 100644
index 000000000000..001848fbae78
--- /dev/null
+++ b/dev-python/libvirt-python/libvirt-python-11.4.0.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Packages which get releases together:
+# app-emacs/nxml-libvirt-schemas
+# dev-python/libvirt-python
+# dev-perl/Sys-Virt
+# app-emulation/libvirt
+# Please bump them together!
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+inherit distutils-r1 verify-sig
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt-python.git"
+ RDEPEND="app-emulation/libvirt:="
+else
+ MY_P="${P/_rc/-rc}"
+ SRC_URI="https://download.libvirt.org/python/${MY_P}.tar.gz
+ verify-sig? ( https://download.libvirt.org/python/${MY_P}.tar.gz.asc )"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+ RDEPEND="app-emulation/libvirt:0/${PV}"
+fi
+
+DESCRIPTION="libvirt Python bindings"
+HOMEPAGE="https://www.libvirt.org"
+
+S="${WORKDIR}/${P%_rc*}"
+
+LICENSE="LGPL-2"
+SLOT="0"
+IUSE="examples test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ dev-python/lxml[${PYTHON_USEDEP}]
+ )
+ verify-sig? ( sec-keys/openpgp-keys-libvirt )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc
+
+distutils_enable_tests pytest
+
+python_compile() {
+ # setuptools is broken for C extensions, bug #907718
+ distutils-r1_python_compile -j1
+}
+
+python_install_all() {
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/matrix-client/Manifest b/dev-python/matrix-client/Manifest
deleted file mode 100644
index 41d52128aedc..000000000000
--- a/dev-python/matrix-client/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST matrix_client-0.4.0.tar.gz 48982 BLAKE2B 1a44067a88319c84ff8e9cd23b4f8fb2941d217511c1bf1448e63e968ccc922850f9be8391cdbceb404ea2709b79b7c373b51b2320aff2395452e5525c34d10a SHA512 40c69a9909b1bb9487d89ee824915ffd5264b99e68b6b32e603f95a78c196293267c12226ea55ab26ffe24b494ff16a7dc193e9d62d8f526c8c76735317da6ad
diff --git a/dev-python/matrix-client/files/setup_py.patch b/dev-python/matrix-client/files/setup_py.patch
deleted file mode 100644
index c4cc4c51769b..000000000000
--- a/dev-python/matrix-client/files/setup_py.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -urN matrix_client-0.4.0.orig/setup.py matrix_client-0.4.0/setup.py
---- matrix_client-0.4.0.orig/setup.py 2022-05-12 10:42:34.391396131 +0200
-+++ matrix_client-0.4.0/setup.py 2022-05-12 10:47:19.988377071 +0200
-@@ -48,7 +48,6 @@
- 'requests~=2.22',
- 'urllib3~=1.21',
- ],
-- setup_requires=['pytest-runner~=5.1'],
- tests_require=['pytest >=4.6.5, <6.0.0', 'responses >=0.10.6, ==0.10.*'],
- extras_require={
- 'test': ['pytest >=4.6, <6.0.0', 'responses >=0.10.6, ==0.10.*'],
diff --git a/dev-python/matrix-client/matrix-client-0.4.0-r4.ebuild b/dev-python/matrix-client/matrix-client-0.4.0-r4.ebuild
deleted file mode 100644
index 302feb9c42b4..000000000000
--- a/dev-python/matrix-client/matrix-client-0.4.0-r4.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 2021-2023 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-MY_PN=${PN/-/_}
-DESCRIPTION="Client-Server SDK for Matrix"
-HOMEPAGE="https://github.com/matrix-org/matrix-python-sdk https://pypi.org/project/matrix-client/"
-#SRC_URI="mirror://pypi/${P:0:1}/${PN}/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
-SRC_URI="https://files.pythonhosted.org/packages/93/9a/23c4894da5aeb316903677c71014575c486616026b85e2d0b408f84d8540/matrix_client-0.4.0.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="test"
-
-RDEPEND=">=dev-python/requests-2.22[${PYTHON_USEDEP}]
- dev-python/urllib3[${PYTHON_USEDEP}]"
-DEPEND="${REDEPEND}
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? (
- dev-python/nose[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- )"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-src_prepare() {
- cd ${S}
- eapply ${FILESDIR}/setup_py.patch
- # removing test directory, as it is not allowed to be installed
- rm -rf test
- default
-}
-
-python_test() {
- nosetests --verbose || die
- py.test -v -v || die
-}
diff --git a/dev-python/matrix-client/metadata.xml b/dev-python/matrix-client/metadata.xml
deleted file mode 100644
index 06fdc2f832be..000000000000
--- a/dev-python/matrix-client/metadata.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>dev@liguros.net</email>
- <name>Development</name>
- </maintainer>
- <maintainer type="project">
- <email>b@edevau.net</email>
- <name>Andreas Billmeier</name>
- </maintainer>
- <maintainer status="unknown">
- <email>team@matrix.org</email>
- <name>The Matrix.org Team</name>
- </maintainer>
-
- <origin>ports</origin>
-</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/mecab-python/mecab-python-1.0.7.ebuild b/dev-python/mecab-python/mecab-python-1.0.7.ebuild
index 9f0fb9837b47..9abff7575b50 100644
--- a/dev-python/mecab-python/mecab-python-1.0.7.ebuild
+++ b/dev-python/mecab-python/mecab-python-1.0.7.ebuild
@@ -20,7 +20,7 @@ S="${WORKDIR}"/${PN}3-${PV}
LICENSE="|| ( BSD LGPL-2.1 GPL-2 )"
SLOT="0"
-KEYWORDS="~amd64 ppc64 ~x86"
+KEYWORDS="amd64 ppc64 x86"
DEPEND=">=app-text/mecab-0.996"
RDEPEND="${DEPEND}"
diff --git a/dev-python/metaextract/Manifest b/dev-python/metaextract/Manifest
deleted file mode 100644
index 417c53bc9879..000000000000
--- a/dev-python/metaextract/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST metaextract-1.0.8.tar.gz 9171 BLAKE2B d89014b8a909c670fbe95ebd10331f557164293e771db252d4abf55a69f22935f2e72e2d418eb35c26bd2dc2c25c6bd9ea9b36df13eee77fbe4a2902f4ffe8a8 SHA512 e73cefc345e409e58c28fb556d95ee72f2e5575b03d7cf6d6109c61d8e8b80b1af6b303e24ca9d7e3d43803c007851fb0e47e905b726e21c9d4bac8d36ecabb0
-DIST metaextract-1.0.9.tar.gz 9338 BLAKE2B 5f7e149bd52c4122f17d7972a25b88c8286375f344c764acf9bd98a9174d694d80939aad0876d326aac882be88164332c669e02fb6f5995ef1136f5f1e966b0a SHA512 234b4b11a78875a61301da45e4ef995bb1169f7ce34656c7102b9a0d89e4f774b17d3c5cd93de4724e5191be9ccc92ad0081870bc5dc586322f31edc37b0ff01
diff --git a/dev-python/metaextract/metadata.xml b/dev-python/metaextract/metadata.xml
deleted file mode 100644
index 36acccda7221..000000000000
--- a/dev-python/metaextract/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>dev@liguros.net</email>
- <name>Development</name>
- </maintainer>
-
- <origin>ports</origin>
-</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/metaextract/metaextract-1.0.8-r1.ebuild b/dev-python/metaextract/metaextract-1.0.8-r1.ebuild
deleted file mode 100644
index c84171a8fd0b..000000000000
--- a/dev-python/metaextract/metaextract-1.0.8-r1.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2020-2022 LiGurOs Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-inherit distutils-r1
-
-DESCRIPTION="get metadata for python modules"
-HOMEPAGE="https://github.com/toabctl/metaextract"
-SRC_URI="https://files.pythonhosted.org/packages/source/m/metaextract/metaextract-${PV}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND=""
-
-DEPEND="${RDEPEND}
- dev-python/setuptools[${PYTHON_USEDEP}]
- "
diff --git a/dev-python/metaextract/metaextract-1.0.9.ebuild b/dev-python/metaextract/metaextract-1.0.9.ebuild
deleted file mode 100644
index c84171a8fd0b..000000000000
--- a/dev-python/metaextract/metaextract-1.0.9.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2020-2022 LiGurOs Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-inherit distutils-r1
-
-DESCRIPTION="get metadata for python modules"
-HOMEPAGE="https://github.com/toabctl/metaextract"
-SRC_URI="https://files.pythonhosted.org/packages/source/m/metaextract/metaextract-${PV}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND=""
-
-DEPEND="${RDEPEND}
- dev-python/setuptools[${PYTHON_USEDEP}]
- "
diff --git a/dev-python/mkdocstrings-python/Manifest b/dev-python/mkdocstrings-python/Manifest
index d9d8b21f9c13..fdc2a1d1e987 100644
--- a/dev-python/mkdocstrings-python/Manifest
+++ b/dev-python/mkdocstrings-python/Manifest
@@ -1,2 +1,3 @@
DIST mkdocstrings_python-1.16.10.tar.gz 205771 BLAKE2B 3eca060176ea85e0191ad618ebf274e741a740ebf0da2d1c3b0ef6bcca4129a8f6486fda940ee161cea54f167a26122b55cb1105359dea17508a9c02e4dec638 SHA512 761a616654b3986feaeaa75e3faf5d6cc19786f740086c5c654444679be54fba4ad1a85d227a51e9798030cef889009a4f51d9461ea00c7ffb0e87fba8e1047c
DIST mkdocstrings_python-1.16.11.tar.gz 205392 BLAKE2B 9442f60570b70912ed9fcb067b8ae507f4c7fe02e209c60e9a9f52171a77552857c01288f1f63f7c48d13857409136ee1c2de70889c7802af6876087eb70a64d SHA512 beb6da8c3fe19b0ffd69cabfb622f03bdc7b5727b628dcb7c7370a24e166fa5e759324585e3b6147521b706d18e2e2037c60ada25bebd7ec2a8ef6fd86978ab7
+DIST mkdocstrings_python-1.16.12.tar.gz 206065 BLAKE2B 444d4208f804423b60e7ca70c5488d8871210d9b83f53ffa99b6bf76adbbc541ab63a6a57fe488ff625a82b42a445e0adbeef33acfc62e208c51cda5e6154b01 SHA512 62ce0960059d0fd307e2d31516b53f79a68726d79ac196e016934778fca4c85b82653e85d75c9fbf89f93f7da9d814837ed930477d2fa207207f8ba20212521c
diff --git a/dev-python/mkdocstrings-python/mkdocstrings-python-1.16.12.ebuild b/dev-python/mkdocstrings-python/mkdocstrings-python-1.16.12.ebuild
new file mode 100644
index 000000000000..d185dcc7a6d0
--- /dev/null
+++ b/dev-python/mkdocstrings-python/mkdocstrings-python-1.16.12.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python handler for dev-python/mkdocstrings"
+HOMEPAGE="
+ https://mkdocstrings.github.io/python/
+ https://github.com/mkdocstrings/python/
+ https://pypi.org/project/mkdocstrings-python/
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/griffe-1.6.2[${PYTHON_USEDEP}]
+ >=dev-python/mkdocstrings-0.28.3[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-autorefs-1.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/beautifulsoup4-4.12.3[${PYTHON_USEDEP}]
+ >=dev-python/inline-snapshot-0.18[${PYTHON_USEDEP}]
+ dev-python/mkdocs-material[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export PDM_BUILD_SCM_VERSION=${PV}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # "None" meaning particular formatter not installed
+ "tests/test_rendering.py::test_format_code[None-print('Hello')]"
+ "tests/test_rendering.py::test_format_code[None-aaaaa(bbbbb, ccccc=1) + ddddd.eeeee[ffff] or {ggggg: hhhhh, iiiii: jjjjj}]"
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p inline_snapshot
+}
diff --git a/dev-python/mwparserfromhell/Manifest b/dev-python/mwparserfromhell/Manifest
deleted file mode 100644
index 8499df6e82c1..000000000000
--- a/dev-python/mwparserfromhell/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST mwparserfromhell-0.6.5.tar.gz 154664 BLAKE2B 1ab661ff1057c99047744ea85dc16e8e497579cc56095ccdb013109a62e39d1c75bfd0c15cff322a704acfefe309e895a3a552ab1ca07474f056c7afff5382f3 SHA512 f60ea3bd3dd0d75e46d0f59f7425fdc88344b266c1f6d8edcf07a9b121396c6587132a5f8080d734571f0d8cc7e58114c3b8cab200c5795300463584ea9e9992
-DIST mwparserfromhell-0.6.6.tar.gz 155160 BLAKE2B a8dc2b23edd1d0ebcde3ac1fbc052669e650ab39791e5f63542e7aacc6e2ecc7424fca39a9949612810159f44c86fb08b63b81e0c87bec8a64bfab572984305e SHA512 860312360276387e32325dd6bee91c5afc688c5f6fa396052742af426b6aad894c5c4f55bcbe4a8c637f9a174f4c1a698f739975931d8b9654717951794f0cd6
diff --git a/dev-python/mwparserfromhell/metadata.xml b/dev-python/mwparserfromhell/metadata.xml
deleted file mode 100644
index 36acccda7221..000000000000
--- a/dev-python/mwparserfromhell/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>dev@liguros.net</email>
- <name>Development</name>
- </maintainer>
-
- <origin>ports</origin>
-</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/mwparserfromhell/mwparserfromhell-0.6.5.ebuild b/dev-python/mwparserfromhell/mwparserfromhell-0.6.5.ebuild
deleted file mode 100644
index 49421ba76cf2..000000000000
--- a/dev-python/mwparserfromhell/mwparserfromhell-0.6.5.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2020-2023 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python MediaWiki parser"
-HOMEPAGE="https://github.com/earwig/mwparserfromhell/"
-SRC_URI="https://github.com/earwig/mwparserfromhell/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-
-DEPEND="dev-python/setuptools[$PYTHON_USEDEP]"
-RDEPEND=""
diff --git a/dev-python/mwparserfromhell/mwparserfromhell-0.6.6.ebuild b/dev-python/mwparserfromhell/mwparserfromhell-0.6.6.ebuild
deleted file mode 100644
index 49421ba76cf2..000000000000
--- a/dev-python/mwparserfromhell/mwparserfromhell-0.6.6.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2020-2023 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python MediaWiki parser"
-HOMEPAGE="https://github.com/earwig/mwparserfromhell/"
-SRC_URI="https://github.com/earwig/mwparserfromhell/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="*"
-IUSE=""
-
-DEPEND="dev-python/setuptools[$PYTHON_USEDEP]"
-RDEPEND=""
diff --git a/dev-python/nuitka/Manifest b/dev-python/nuitka/Manifest
index 6e24df3ab63c..aa638d0cbd60 100644
--- a/dev-python/nuitka/Manifest
+++ b/dev-python/nuitka/Manifest
@@ -1,2 +1,3 @@
DIST Nuitka-2.7.4.tar.gz 3885038 BLAKE2B c0c4456af4e3df2f653b8698a53470114ebd809bf48931240361ae2f5f55c7b88acf2171a07245f13550b9111ec067d2eb9390562718355e07c4f9026d2ba52e SHA512 62b91a298e69d4d8d76608fa5ccd192b8e47764232d6653ec8519244dc099a3623be68554ab7e0a822a69a3f86d19a9b898d2ecb16d68b93d765eed3b84a1937
DIST Nuitka-2.7.5.tar.gz 3885564 BLAKE2B e949b3da418393e7b847e4fce07add049181da6801040ba2c7d1eb46b5d5c0b0f88b98cf0bb1808a727414d3f9ed1d050cad4a3bc54a17d35488c6788effc8ee SHA512 e26f6990dc2a0842dfc5acfb80f5a4de975e2e4244f99d861e9a6e2f18c68dda66d6b1bfa64f4387ce72de321a003ad4582dee4f4385c009e5b54c7e0c63a877
+DIST Nuitka-2.7.6.tar.gz 3885618 BLAKE2B 14425702c4940fd4c7bbf2e02fa717ec9b2d6fd5de2b15e736d74e8ac78617fd9749154ec14395da1ddb465526cc60ec53c55b6d7ec4af71c3da3cf49127f268 SHA512 65e35fd48de4f0cb4655d819d05161a36a73e5d2725e0d3dac3d86a42571c924d6568c4b3dda4b284240ae82575bf677daaddc74d30f94d3af70aea286eea8b3
diff --git a/dev-python/nuitka/nuitka-2.7.6.ebuild b/dev-python/nuitka/nuitka-2.7.6.ebuild
new file mode 100644
index 000000000000..c97d7f3c6ae8
--- /dev/null
+++ b/dev-python/nuitka/nuitka-2.7.6.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN^}
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 flag-o-matic optfeature pypi
+
+DESCRIPTION="Python to native compiler"
+HOMEPAGE="
+ https://nuitka.net/
+ https://github.com/Nuitka/Nuitka/
+ https://pypi.org/project/Nuitka/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~loong ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-build/scons[${PYTHON_USEDEP}]
+ >=dev-python/ordered-set-4.1.0[${PYTHON_USEDEP}]
+ >=dev-python/zstandard-0.15[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? ( dev-util/ccache )
+"
+
+distutils-r1_src_prepare() {
+ # remove vendored version of SCons that is Python2 only
+ # this should be removed when upstream removes support for Python2
+ rm -vR "nuitka/build/inline_copy/lib/scons-2.3.2/SCons" || die
+ eapply_user
+}
+
+python_install() {
+ distutils-r1_python_install
+ doman doc/nuitka.1 doc/nuitka-run.1
+}
+
+python_test() {
+ append-ldflags -Wl,--no-warn-search-mismatch
+ ./tests/basics/run_all.py search || die
+}
+
+pkg_postinst() {
+ optfeature "support for stand-alone executables" dev-util/patchelf
+}
diff --git a/dev-python/openstacksdk/Manifest b/dev-python/openstacksdk/Manifest
index 6a43138f0ea0..cd9a4e38da68 100644
--- a/dev-python/openstacksdk/Manifest
+++ b/dev-python/openstacksdk/Manifest
@@ -1 +1,2 @@
DIST openstacksdk-4.5.0.tar.gz 1284921 BLAKE2B 0b1ef6483c8c3724f20badb1108ec544937b83d9fd25d989289ac4143909d175c9d16b9545315bfe88a371a1ac2088511dbe4333cadf6141dd95200b3b45ed5c SHA512 7c8225089afa4e52ef501810a495c3047a15f31388cb32cecd035474c9cf56bd2b3181b13c71a619f841206935d455fd69787005fa6fcdf5a0d2f627c9a39dc3
+DIST openstacksdk-4.6.0.tar.gz 1287222 BLAKE2B cd2af29901c89bee15ed01fc2d19d75c75a5e2bacd860f999f6696292d171967e7f129ad295fc4556222ba4bf7786cccc4e20bd612b19bf3b6c6507752a88e25 SHA512 9c11a537734e11a25a8e4c664fa700071a47743b12bd8656ce6b91294650c2cd9e119d1f9fe2e68b230c46c1435040ca6b33e28f6e750f3bf88d1686dc66a42c
diff --git a/dev-python/openstacksdk/openstacksdk-4.6.0.ebuild b/dev-python/openstacksdk/openstacksdk-4.6.0.ebuild
new file mode 100644
index 000000000000..773203367ae0
--- /dev/null
+++ b/dev-python/openstacksdk/openstacksdk-4.6.0.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A collection of libraries for building applications to work with OpenStack"
+HOMEPAGE="
+ https://opendev.org/openstack/openstacksdk/
+ https://github.com/openstack/openstacksdk/
+ https://pypi.org/project/openstacksdk/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/cryptography-2.7[${PYTHON_USEDEP}]
+ >=dev-python/decorator-4.4.1[${PYTHON_USEDEP}]
+ >=dev-python/dogpile-cache-0.6.5[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonpatch-1.21[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth1-5.10.0[${PYTHON_USEDEP}]
+ >=dev-python/os-service-types-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/pbr-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3[${PYTHON_USEDEP}]
+ >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.13[${PYTHON_USEDEP}]
+ >=dev-python/requestsexceptions-1.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pbr-2.2.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-6.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/prometheus-client-0.4.2[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/statsd-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.12.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # Internet?
+ sed -e 's:test_create_dynamic_large_object:_&:' \
+ -i openstack/tests/unit/cloud/test_object.py || die
+
+ # TODO
+ sed -e 's:test_generate_form:_&:' \
+ -e 's:test_create_static_large_object:_&:' \
+ -e 's:test_object_segment_retries:_&:' \
+ -e 's:test_object_segment_retry_failure:_&:' \
+ -e 's:test_slo_manifest_retry:_&:' \
+ -i openstack/tests/unit/cloud/test_object.py || die
+ sed -e 's:test_servers:_&:' \
+ -i openstack/tests/unit/test_stats.py || die
+
+ # unhappy about paths due to test runner
+ sed -e 's:test_method_not_supported:_&:' \
+ -i openstack/tests/unit/test_exceptions.py || die
+ sed -e 's:test_repr:_&:' \
+ -i openstack/tests/unit/test_resource.py || die
+
+ # requires hacking
+ rm openstack/tests/unit/test_hacking.py || die
+
+ # fragile warning-based tests
+ sed -e 's:test_unsupported_version_override:_&:' \
+ -i openstack/tests/unit/test_missing_version.py || die
+ sed -e 's:test_create_unknown_proxy:_&:' \
+ -i openstack/tests/unit/test_connection.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # functional tests require cloud instance access
+ eunittest -b openstack/tests/unit
+}
diff --git a/dev-python/opentelemetry-api/Manifest b/dev-python/opentelemetry-api/Manifest
index dd55a70c0c1d..f7fa38a7385f 100644
--- a/dev-python/opentelemetry-api/Manifest
+++ b/dev-python/opentelemetry-api/Manifest
@@ -1 +1,2 @@
DIST opentelemetry-python-1.33.1.gh.tar.gz 1235726 BLAKE2B 13d1ba3667591daef6fe137b959eb04d296392a3d6f3e9944d8a692b483d24629871eae0035ec59002f106dcc4efff055c58b712edb03ee0a8eb829244654e9e SHA512 12152893ba968a7129afd44e7c4b98ab63e35618b1cf7a1724bba41a767b1321eb5ed4c54722bf257b7eb223e60537c0c8acb90e1e1677ac316b54f7748115bd
+DIST opentelemetry-python-1.34.0.gh.tar.gz 1225735 BLAKE2B 1b09460a29608f9b0d1eae4a4fc7868dac8a6f91b93503d9709cc58ad8592494d331c92f46b4a6d780082992315f297e4fc018ec5d2b7f3e63ab1e942bb520e9 SHA512 a2e3533471ad4696c19c39fd658e0c5edebbf9c7dd2953e4e92e1d719b015d51c068912a3300123fb80afc71d79c0b19c5bf57668afdfc797b2c1b1b12369870
diff --git a/dev-python/opentelemetry-api/opentelemetry-api-1.34.0.ebuild b/dev-python/opentelemetry-api/opentelemetry-api-1.34.0.ebuild
new file mode 100644
index 000000000000..e446ef3910c9
--- /dev/null
+++ b/dev-python/opentelemetry-api/opentelemetry-api-1.34.0.ebuild
@@ -0,0 +1,61 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+MY_P="opentelemetry-python-${PV}"
+DESCRIPTION="OpenTelemetry Python API"
+HOMEPAGE="
+ https://opentelemetry.io/
+ https://pypi.org/project/opentelemetry-api/
+ https://github.com/open-telemetry/opentelemetry-python/
+"
+SRC_URI="
+ https://github.com/open-telemetry/opentelemetry-python/archive/refs/tags/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/${PN}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/importlib-metadata-6.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ default
+
+ # Unnecessary restriction
+ sed -i -e '/importlib-metadata/s:, < [0-9.]*::' pyproject.toml || die
+}
+
+python_test() {
+ cp -a "${BUILD_DIR}"/{install,test} || die
+ local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
+
+ for dep in opentelemetry-semantic-conventions opentelemetry-sdk \
+ tests/opentelemetry-test-utils
+ do
+ pushd "${WORKDIR}/${MY_P}/${dep}" >/dev/null || die
+ distutils_pep517_install "${BUILD_DIR}"/test
+ popd >/dev/null || die
+ done
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/opentelemetry-sdk/Manifest b/dev-python/opentelemetry-sdk/Manifest
index dd55a70c0c1d..f7fa38a7385f 100644
--- a/dev-python/opentelemetry-sdk/Manifest
+++ b/dev-python/opentelemetry-sdk/Manifest
@@ -1 +1,2 @@
DIST opentelemetry-python-1.33.1.gh.tar.gz 1235726 BLAKE2B 13d1ba3667591daef6fe137b959eb04d296392a3d6f3e9944d8a692b483d24629871eae0035ec59002f106dcc4efff055c58b712edb03ee0a8eb829244654e9e SHA512 12152893ba968a7129afd44e7c4b98ab63e35618b1cf7a1724bba41a767b1321eb5ed4c54722bf257b7eb223e60537c0c8acb90e1e1677ac316b54f7748115bd
+DIST opentelemetry-python-1.34.0.gh.tar.gz 1225735 BLAKE2B 1b09460a29608f9b0d1eae4a4fc7868dac8a6f91b93503d9709cc58ad8592494d331c92f46b4a6d780082992315f297e4fc018ec5d2b7f3e63ab1e942bb520e9 SHA512 a2e3533471ad4696c19c39fd658e0c5edebbf9c7dd2953e4e92e1d719b015d51c068912a3300123fb80afc71d79c0b19c5bf57668afdfc797b2c1b1b12369870
diff --git a/dev-python/opentelemetry-sdk/opentelemetry-sdk-1.34.0.ebuild b/dev-python/opentelemetry-sdk/opentelemetry-sdk-1.34.0.ebuild
new file mode 100644
index 000000000000..d15ed8a3766f
--- /dev/null
+++ b/dev-python/opentelemetry-sdk/opentelemetry-sdk-1.34.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+MY_P="opentelemetry-python-${PV}"
+DESCRIPTION="OpenTelemetry Python SDK"
+HOMEPAGE="
+ https://opentelemetry.io/
+ https://pypi.org/project/opentelemetry-sdk/
+ https://github.com/open-telemetry/opentelemetry-python/
+"
+SRC_URI="
+ https://github.com/open-telemetry/opentelemetry-python/archive/refs/tags/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+
+S="${WORKDIR}/${MY_P}/${PN}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ ~dev-python/opentelemetry-api-${PV}[${PYTHON_USEDEP}]
+ ~dev-python/opentelemetry-semantic-conventions-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ )
+"
+
+# Tests cannot handle xdist with high makeopts
+# https://bugs.gentoo.org/928132
+distutils_enable_tests pytest
+
+python_test() {
+ cp -a "${BUILD_DIR}"/{install,test} || die
+ local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
+
+ for dep in tests/opentelemetry-test-utils; do
+ pushd "${WORKDIR}/${MY_P}/${dep}" >/dev/null || die
+ distutils_pep517_install "${BUILD_DIR}"/test
+ popd >/dev/null || die
+ done
+
+ local EPYTEST_DESELECT=(
+ # TODO
+ "${PN}"/tests/resources/test_resources.py::TestOTELResourceDetector::test_process_detector
+ "${PN}"/tests/metrics/integration_test/test_console_exporter.py::TestConsoleExporter::test_console_exporter_with_exemplars
+ "${PN}"/tests/logs/test_export.py::TestSimpleLogRecordProcessor::test_simple_log_record_processor_shutdown
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests
+}
diff --git a/dev-python/opentelemetry-semantic-conventions/Manifest b/dev-python/opentelemetry-semantic-conventions/Manifest
index dd55a70c0c1d..f7fa38a7385f 100644
--- a/dev-python/opentelemetry-semantic-conventions/Manifest
+++ b/dev-python/opentelemetry-semantic-conventions/Manifest
@@ -1 +1,2 @@
DIST opentelemetry-python-1.33.1.gh.tar.gz 1235726 BLAKE2B 13d1ba3667591daef6fe137b959eb04d296392a3d6f3e9944d8a692b483d24629871eae0035ec59002f106dcc4efff055c58b712edb03ee0a8eb829244654e9e SHA512 12152893ba968a7129afd44e7c4b98ab63e35618b1cf7a1724bba41a767b1321eb5ed4c54722bf257b7eb223e60537c0c8acb90e1e1677ac316b54f7748115bd
+DIST opentelemetry-python-1.34.0.gh.tar.gz 1225735 BLAKE2B 1b09460a29608f9b0d1eae4a4fc7868dac8a6f91b93503d9709cc58ad8592494d331c92f46b4a6d780082992315f297e4fc018ec5d2b7f3e63ab1e942bb520e9 SHA512 a2e3533471ad4696c19c39fd658e0c5edebbf9c7dd2953e4e92e1d719b015d51c068912a3300123fb80afc71d79c0b19c5bf57668afdfc797b2c1b1b12369870
diff --git a/dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.34.0.ebuild b/dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.34.0.ebuild
new file mode 100644
index 000000000000..68f93356347e
--- /dev/null
+++ b/dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.34.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+MY_P="opentelemetry-python-${PV}"
+DESCRIPTION="OpenTelemetry Semantic Conventions"
+HOMEPAGE="
+ https://opentelemetry.io/
+ https://pypi.org/project/opentelemetry-sdk/
+ https://github.com/open-telemetry/opentelemetry-python/
+"
+SRC_URI="
+ https://github.com/open-telemetry/opentelemetry-python/archive/refs/tags/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/${PN}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ ~dev-python/opentelemetry-api-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ cp -a "${BUILD_DIR}"/{install,test} || die
+ local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
+
+ for dep in opentelemetry-sdk tests/opentelemetry-test-utils; do
+ pushd "${WORKDIR}/${MY_P}/${dep}" >/dev/null || die
+ distutils_pep517_install "${BUILD_DIR}"/test
+ popd >/dev/null || die
+ done
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/paho-mqtt/Manifest b/dev-python/paho-mqtt/Manifest
index 1a4adc2a1081..3ded8d2fee1b 100644
--- a/dev-python/paho-mqtt/Manifest
+++ b/dev-python/paho-mqtt/Manifest
@@ -1,2 +1 @@
-DIST paho-mqtt-1.6.1.gh.tar.gz 145673 BLAKE2B fb583a2505892370737edfc9ad06b195c0feda4fd87794f3aa40fb30679b5710e04483e610a6be9c0e0978084f3ca96c0d285cf8cacb2bf67aca605f1d53ed7c SHA512 8a13c1f6f97138728d5cab6f7bcd6474942fdf9dfc18d1fad723d50de81f4e062953b5bef2ebbde27b08e480eed305ecbfeae467d70eb10f07ec0adca11750ec
DIST paho.mqtt.python-2.1.0.gh.tar.gz 167548 BLAKE2B 71127e4187746fc81e5dfd667178ad3f2bf8cc8fc2c803ee91afd54b9a30432394c53bda8751345aad8739c019081e5f1937bfcee1c91ef1849d12490739ab67 SHA512 50e7222de62d49975e6d34136357df6e95c34034768f06e7f1d39fac280aecfb366da134f8349e7e3f358f69840ee4707ba7567955bd70bb78c737ff3959e7f3
diff --git a/dev-python/paho-mqtt/paho-mqtt-1.6.1-r1.ebuild b/dev-python/paho-mqtt/paho-mqtt-1.6.1-r1.ebuild
deleted file mode 100644
index 36d2ac54260d..000000000000
--- a/dev-python/paho-mqtt/paho-mqtt-1.6.1-r1.ebuild
+++ /dev/null
@@ -1,29 +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_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A client class with support for MQTT v5.0, v3.1.1, and v3.1"
-HOMEPAGE="https://www.eclipse.org/paho/index.php?page=clients/python https://github.com/eclipse/paho.mqtt.python"
-SRC_URI="
- https://github.com/eclipse/paho.mqtt.python/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/paho.mqtt.python-${PV}"
-
-LICENSE="EPL-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-BDEPEND="
- test? (
- dev-python/six[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pbs-installer/Manifest b/dev-python/pbs-installer/Manifest
index d6f6a8804d04..e5504dd1d964 100644
--- a/dev-python/pbs-installer/Manifest
+++ b/dev-python/pbs-installer/Manifest
@@ -1,2 +1,2 @@
-DIST pbs-installer-2025.04.09.gh.tar.gz 88038 BLAKE2B cdd7abd128d369b85041e27c1b0c728af0e64f1efc7b879b682abea1df6f5a2e124fa2f22e697624b3d8a604956fccd594394d426e262c4e7c2c30918bd85a1f SHA512 089aae49a2eb1c9e46f0c47f84497068e6f47bff85840991c6b4cafbda60f6ddddd6e91ea9decedbf93afdbf55499e7fd01dbf04908e42cda634a29654bc7d4b
DIST pbs-installer-2025.05.17.gh.tar.gz 88009 BLAKE2B 8bc50bbfede74827f1a0dac03c9aa13c4af4a1f0ba7bb4dc4b513701cf2f5c41223439c6961c59a5d2c7aaa9807c11f5cf0dfdfe5bd93520bacc3376f91f0fa5 SHA512 472d7e8119ac0660c0b840c3eeb0175dae225341143790b0cc9f1b378f6faa67e9a03b84b84d4c93eb6d42c443e1f19a5d5b7abffb358becd1761a9e2e643b33
+DIST pbs-installer-2025.06.04.gh.tar.gz 91286 BLAKE2B 7385e60a8f0f6b183fb46d015c48925bb81de66f65af322828a87245f53b53d191b5546a314ae91bc82d6baae527e6a2994f3aec861a586328b93b83297df189 SHA512 72e14cce3c689cbb5a961021b3eca1bf2d340c27e61faada9954b98b482dc9a4a2337230c2cd1a7a487c16f10725e454edec5a7dd75febae06f1b69cccddffb1
diff --git a/dev-python/pbs-installer/pbs-installer-2025.04.09.ebuild b/dev-python/pbs-installer/pbs-installer-2025.06.04.ebuild
index 3844530d8280..f50e7c78c738 100644
--- a/dev-python/pbs-installer/pbs-installer-2025.04.09.ebuild
+++ b/dev-python/pbs-installer/pbs-installer-2025.06.04.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=pdm-backend
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/phx-class-registry/Manifest b/dev-python/phx-class-registry/Manifest
deleted file mode 100644
index 735de09ac001..000000000000
--- a/dev-python/phx-class-registry/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST phx-class-registry-4.1.0.tar.gz 26873 BLAKE2B 5e62efb56e315a15d599ea933d2b6f0026f3c0476e961210f073fb355cfaad770f977aa84b79b32d9c396177a86a0e1ab93c93934fc2f319f610e424f068ba72 SHA512 e6aa7fb704f4129be7c15a74e2a8fc568109c95468d732b210ee7af948f7d6678106eafb05f4d1cfdf5b1a9d987acc0e4f3649397e217df5f1cd0c4f4348a714
diff --git a/dev-python/phx-class-registry/metadata.xml b/dev-python/phx-class-registry/metadata.xml
deleted file mode 100644
index d890eace23e5..000000000000
--- a/dev-python/phx-class-registry/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>ezzieyguywuf@gmail.com</email>
- <name>Wolfgang E. Sanyer</name>
- </maintainer>
- <longdescription lang="en">
- At the intersection of the Registry and Factory patterns lies the
- ClassRegistry. This package contains the python modules necessary to use
- this dessign pattern
- </longdescription>
-
- <origin>gentoo-guru-overlay</origin>
-</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/phx-class-registry/phx-class-registry-4.1.0-r1.ebuild b/dev-python/phx-class-registry/phx-class-registry-4.1.0-r1.ebuild
deleted file mode 100644
index 325c368d4d13..000000000000
--- a/dev-python/phx-class-registry/phx-class-registry-4.1.0-r1.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{11..14} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="An intersection of the Registry and Factory pattern"
-HOMEPAGE="https://github.com/todofixthis/class-registry"
-SRC_URI="https://github.com/todofixthis/class-registry/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-S="${WORKDIR}/class-registry-${PV}"
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-distutils_enable_tests unittest
-
-python_test() {
- "${EPYTHON}" -m unittest || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/pip/pip-25.1.1.ebuild b/dev-python/pip/pip-25.1.1.ebuild
index ddbe15c05831..b2bb8ddf64dc 100644
--- a/dev-python/pip/pip-25.1.1.ebuild
+++ b/dev-python/pip/pip-25.1.1.ebuild
@@ -24,7 +24,7 @@ SRC_URI="
LICENSE="MIT"
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="test test-rust"
RESTRICT="!test? ( test )"
diff --git a/dev-python/progress/Manifest b/dev-python/progress/Manifest
index 8bf981ceac0f..b7d992b9b40e 100644
--- a/dev-python/progress/Manifest
+++ b/dev-python/progress/Manifest
@@ -1,2 +1 @@
-DIST 1.5.tar.gz 620082 BLAKE2B 95f7479d10931367320e39a5dd08428324b18fd294d93bb4dcb6cf346273700fcc0c8f217068c570ca5503305b4164f124c5f5fcf174c9707b726b8dee8c8f10 SHA512 ca8f43c22294b16ea09fc05c2d8857509ed40e8fa02b0eb8db585e228add1fc8e67d45e22a9947b3be6ed0c317b07e86f16cf01e529767c80700c3ded61e80a0
-DIST 1.6.tar.gz 620964 BLAKE2B 3e5dc10bc83c1ed7ad77f0e4856fa6cc360f60452b39d7c62172ffad7e48ae1d9831ebb89e253a22deb6acea3cf3cda0ee6eaa2456241dd287c748ddb52fa830 SHA512 e6afd7ecda8cfbda578b53a8f9ced9a017bfa42d3ffe0fbefbcbb3715024983543c919e5d8276b5cd79bebe9e7d9c2b7234e6d8cd20b3142058c28ee4418ff3a
+DIST progress-1.6.tar.gz 7842 BLAKE2B 102f1ac481b5d5007d72b02f5451ad4bf7ef986be35034f68fc94108025ea274494d3d9fe56b9473c8ea6ca4abc2cfc458b453550d180fcf567f8a5c5feeafe6 SHA512 58a614bba5a7273a42ba5e9607b3a965fec17f26a4f24563d4c13679ea32b23dda7509c5da81a2a34bebeeedd91154d0457ab8dac95cc7a092add2567249cc94
diff --git a/dev-python/progress/metadata.xml b/dev-python/progress/metadata.xml
index 36acccda7221..ea8988e8af6a 100644
--- a/dev-python/progress/metadata.xml
+++ b/dev-python/progress/metadata.xml
@@ -2,9 +2,10 @@
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
- <email>dev@liguros.net</email>
- <name>Development</name>
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
- <origin>ports</origin>
+ <origin>gentoo-staging</origin>
+ <stabilize-allarches/>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/progress/progress-1.5.ebuild b/dev-python/progress/progress-1.5.ebuild
deleted file mode 100644
index 9b913f244196..000000000000
--- a/dev-python/progress/progress-1.5.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2020-2021 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit bash-completion-r1 distutils-r1
-
-DESCRIPTION="Easy to use progress bars"
-HOMEPAGE="https://pypi.org/project/progress/ https://github.com/verigak/progress/"
-SRC_URI="https://github.com/verigak/progress/archive/${PV}.tar.gz"
-
-SLOT="0"
-LICENSE="ISC"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
-
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
-
-# Not bundled
-RESTRICT="test"
-
-python_test() {
- "${PYTHON}" test_progress.py || die
-}
diff --git a/dev-python/progress/progress-1.6-r1.ebuild b/dev-python/progress/progress-1.6-r1.ebuild
new file mode 100644
index 000000000000..ab5e9dd0d7a0
--- /dev/null
+++ b/dev-python/progress/progress-1.6-r1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Easy to use progress bars"
+HOMEPAGE="
+ https://github.com/verigak/progress/
+ https://pypi.org/project/progress/
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux"
+
+python_test() {
+ "${EPYTHON}" test_progress.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/progress/progress-1.6.ebuild b/dev-python/progress/progress-1.6.ebuild
deleted file mode 100644
index 9b913f244196..000000000000
--- a/dev-python/progress/progress-1.6.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2020-2021 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit bash-completion-r1 distutils-r1
-
-DESCRIPTION="Easy to use progress bars"
-HOMEPAGE="https://pypi.org/project/progress/ https://github.com/verigak/progress/"
-SRC_URI="https://github.com/verigak/progress/archive/${PV}.tar.gz"
-
-SLOT="0"
-LICENSE="ISC"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
-
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
-
-# Not bundled
-RESTRICT="test"
-
-python_test() {
- "${PYTHON}" test_progress.py || die
-}
diff --git a/dev-python/pylxd/Manifest b/dev-python/pylxd/Manifest
deleted file mode 100644
index 2f7dee502d81..000000000000
--- a/dev-python/pylxd/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST pylxd-2.3.4.tar.gz 84771 BLAKE2B 87c5ba6bae82a56392df23ad43b837ad259e6851602615845e2bee8d7d787d885aa7707a616e766497a7ad03ef4d7a867a720902b81bfa8939a0cf9e64d9bdee SHA512 9f79e02d8504a910c07b60047be80ce959955a474d7f8069745e4906105b5b2005a6208106b78d46a13bd30f296b1eb8f480af5705d86b3e6f64994a260f65fa
-DIST pylxd-2.3.5.tar.gz 89129 BLAKE2B 47bfcf086a7caace72fa1a727fed482cc460ac7e22ce702a9007cbd5e589a5fc2d44f21b2817eed5ea77870e0a65f86b2d2aa15ddf6b6326e6e59ed303d747b2 SHA512 c16cf891a59df74d8c0415c0fae4225fa6499677dcdd63dab31dac8c6425b410eacf09bef3fd7dafa7e2be90de784ff66bcfbfdb7f47e72cccd0638ae19a6086
diff --git a/dev-python/pylxd/pylxd-2.3.4.ebuild b/dev-python/pylxd/pylxd-2.3.4.ebuild
deleted file mode 100644
index 079632951931..000000000000
--- a/dev-python/pylxd/pylxd-2.3.4.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2020-2024 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-DESCRIPTION="A Python library for interacting with the LXD REST API"
-HOMEPAGE="https://github.com/lxc/pylxd"
-SRC_URI="https://github.com/canonical/pylxd/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="*"
-
-DEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- >=dev-python/pbr-1.8[${PYTHON_USEDEP}]
- >=dev-python/requests-2.12[${PYTHON_USEDEP}]
- >=dev-python/requests-toolbelt-0.8.0[${PYTHON_USEDEP}]
- >=dev-python/requests-unixsocket-0.1.5[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.4.2[${PYTHON_USEDEP}]
- >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
- >=dev-python/ws4py-0.4.2[${PYTHON_USEDEP}]
- >=dev-python/cryptography-1.7.1[${PYTHON_USEDEP}]
-"
diff --git a/dev-python/pylxd/pylxd-2.3.5.ebuild b/dev-python/pylxd/pylxd-2.3.5.ebuild
deleted file mode 100644
index 079632951931..000000000000
--- a/dev-python/pylxd/pylxd-2.3.5.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2020-2024 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-DESCRIPTION="A Python library for interacting with the LXD REST API"
-HOMEPAGE="https://github.com/lxc/pylxd"
-SRC_URI="https://github.com/canonical/pylxd/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="*"
-
-DEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- >=dev-python/pbr-1.8[${PYTHON_USEDEP}]
- >=dev-python/requests-2.12[${PYTHON_USEDEP}]
- >=dev-python/requests-toolbelt-0.8.0[${PYTHON_USEDEP}]
- >=dev-python/requests-unixsocket-0.1.5[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.4.2[${PYTHON_USEDEP}]
- >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
- >=dev-python/ws4py-0.4.2[${PYTHON_USEDEP}]
- >=dev-python/cryptography-1.7.1[${PYTHON_USEDEP}]
-"
diff --git a/dev-python/pymorphy3-dicts-ru/Manifest b/dev-python/pymorphy3-dicts-ru/Manifest
deleted file mode 100644
index ac037254ee3f..000000000000
--- a/dev-python/pymorphy3-dicts-ru/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pymorphy3-dicts-ru-2.4.417150.4580142.tar.gz 8381569 BLAKE2B a22439e72d2922a6f7b5999e0eb02b91a7b6b2ad5a0a6f1acd32b025b5f632c51aba6a5a7b7f6bea11615a9042f390091e3a3f8d2f0404fa57c09eb726d5f482 SHA512 a410e8d341ffe3767cffd376dcb807c7961cd386c9fa5aa61706974365210ba7846e9a9a4deecf9ae4337f81abb20e11562e3132639dfc641b69e5ac7f11c244
diff --git a/dev-python/pymorphy3-dicts-ru/metadata.xml b/dev-python/pymorphy3-dicts-ru/metadata.xml
deleted file mode 100644
index bfaf380cb836..000000000000
--- a/dev-python/pymorphy3-dicts-ru/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>dev@notyourcomputer.net</email>
- <name>Shaoyu Tseng</name>
- </maintainer>
-
- <origin>gentoo-guru-overlay</origin>
-</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pymorphy3-dicts-ru/pymorphy3-dicts-ru-2.4.417150.4580142.ebuild b/dev-python/pymorphy3-dicts-ru/pymorphy3-dicts-ru-2.4.417150.4580142.ebuild
deleted file mode 100644
index 8b8879de5be7..000000000000
--- a/dev-python/pymorphy3-dicts-ru/pymorphy3-dicts-ru-2.4.417150.4580142.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-inherit distutils-r1 pypi
-
-DESCRIPTION="Russian dictionary for PyMorphy3"
-HOMEPAGE="https://pypi.org/project/pymorphy3-dicts-ru/"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
diff --git a/dev-python/pymorphy3-dicts-uk/Manifest b/dev-python/pymorphy3-dicts-uk/Manifest
deleted file mode 100644
index 0cc16a655a61..000000000000
--- a/dev-python/pymorphy3-dicts-uk/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pymorphy3-dicts-uk-2.4.1.1.1663094765.tar.gz 8133650 BLAKE2B 5c3b0d56ea7b7153ed89c18d58ac1885eb0c6bd19b7d35625170f8a36e0d622440b4ed28c1791df2f7b86cb67ca289825f9b0b39ab2b5612c34815270230c8f4 SHA512 990e0f85e0b4701459cffe1a1ae365bc66191c652894fbef6d9d3c22359805cfcb4346fc19247113b5e2a2d9bd9ad63a307ae5fba63d03274c8a82864a5b1cb0
diff --git a/dev-python/pymorphy3-dicts-uk/metadata.xml b/dev-python/pymorphy3-dicts-uk/metadata.xml
deleted file mode 100644
index bfaf380cb836..000000000000
--- a/dev-python/pymorphy3-dicts-uk/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>dev@notyourcomputer.net</email>
- <name>Shaoyu Tseng</name>
- </maintainer>
-
- <origin>gentoo-guru-overlay</origin>
-</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pymorphy3-dicts-uk/pymorphy3-dicts-uk-2.4.1.1.1663094765.ebuild b/dev-python/pymorphy3-dicts-uk/pymorphy3-dicts-uk-2.4.1.1.1663094765.ebuild
deleted file mode 100644
index 3e035bb441ed..000000000000
--- a/dev-python/pymorphy3-dicts-uk/pymorphy3-dicts-uk-2.4.1.1.1663094765.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-inherit distutils-r1 pypi
-
-DESCRIPTION="Ukrainian dictionary for PyMorphy3"
-HOMEPAGE="https://pypi.org/project/pymorphy3-dicts-uk/"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
diff --git a/dev-python/pymorphy3/Manifest b/dev-python/pymorphy3/Manifest
deleted file mode 100644
index f9123be04bbd..000000000000
--- a/dev-python/pymorphy3/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pymorphy3-1.2.0.tar.gz 83384 BLAKE2B 56c8b3db776774c321e7231d7fa9a16dd0cd69886ca9e0b4f0cbffbb1be0ca92eaa1d0adc8de43ca021d2b729795db14617a078a97cf4a10c218a30a691150a2 SHA512 2e4c871f939495b47ad78b5f30e422d625235ad3c6592ab1c27dbaad415bf292138a5aec94ec82b665226ea763560af7bce603cfea740ed6b8b8b2715241dee3
diff --git a/dev-python/pymorphy3/metadata.xml b/dev-python/pymorphy3/metadata.xml
deleted file mode 100644
index bfaf380cb836..000000000000
--- a/dev-python/pymorphy3/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>dev@notyourcomputer.net</email>
- <name>Shaoyu Tseng</name>
- </maintainer>
-
- <origin>gentoo-guru-overlay</origin>
-</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pymorphy3/pymorphy3-1.2.0.ebuild b/dev-python/pymorphy3/pymorphy3-1.2.0.ebuild
deleted file mode 100644
index 61180df27872..000000000000
--- a/dev-python/pymorphy3/pymorphy3-1.2.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1 pypi
-
-DESCRIPTION="Morphological analyzer (POS tagger + inflection engine) for Russian language."
-HOMEPAGE="https://github.com/no-plagiarism/pymorphy3 https://pypi.org/project/pymorphy3/"
-DEPEND="
- dev-python/docopt[${PYTHON_USEDEP}]
- dev-python/pymorphy3-dicts-ru[${PYTHON_USEDEP}]
- dev-python/DAWG-Python[${PYTHON_USEDEP}]
-"
-RDEPEND="!dev-python/pymorphy2"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
diff --git a/dev-python/pypi-attestations/Manifest b/dev-python/pypi-attestations/Manifest
index e22da6bb9ae6..9d0118ee41d3 100644
--- a/dev-python/pypi-attestations/Manifest
+++ b/dev-python/pypi-attestations/Manifest
@@ -1,2 +1,2 @@
-DIST pypi_attestations-0.0.25.tar.gz 124877 BLAKE2B cda14a611e8bb2a8f728753639030feffdcc8143c1539dc52bbd3498645879cf6ec24da122cc9e506c39f26d0a76e64374574f56281c9331a5835d0920231232 SHA512 6ebe1854290e017247c688fcc551727e6bfc7a65f3edfa277a703be433b36b940a0815d1b0b8ab6b1c07b04de5c195b93d3bd62a7f54c72e96922fc5cc0c5bd5
DIST pypi_attestations-0.0.26.tar.gz 120512 BLAKE2B 4963c0846dd79e63f3405af8a6e800f772a8fa5c641edc7d02679c9bce0e19d32c6e6fb40c8a5c88f71102af9df18cc2ae9c840236eaf3f0493505ec845db1c8 SHA512 0946016686228ee21be87410d778b8cf024ef23040a1c9bdb9bb2c36be72b8a4543d90f18cdb48055b4755d53b8a6888a0abf21996ad2fbdc8f179a9100144fb
+DIST pypi_attestations-0.0.27.tar.gz 123543 BLAKE2B 11e6dabcb58c5201af4df0392784c5cda02eabfde4d6d2cd39464d3bf89fa7a54495c435e86e5b7031ed7d9a85230ec273279d2f8ab86ba5e1dec2eb431829e4 SHA512 206c6aaf523a0143defe2ef35ee886d8d5d3cc7d3010a5f1ef6d5e9f0af3dac56b2a3b3af87256b50bf475d88ff397ea35f7512aac540a2918e8a52c91ac6e03
diff --git a/dev-python/pypi-attestations/pypi-attestations-0.0.25.ebuild b/dev-python/pypi-attestations/pypi-attestations-0.0.27.ebuild
index 777cc16c5b48..777cc16c5b48 100644
--- a/dev-python/pypi-attestations/pypi-attestations-0.0.25.ebuild
+++ b/dev-python/pypi-attestations/pypi-attestations-0.0.27.ebuild
diff --git a/dev-python/pyqtdarktheme/Manifest b/dev-python/pyqtdarktheme/Manifest
deleted file mode 100644
index 1f72bd69cb90..000000000000
--- a/dev-python/pyqtdarktheme/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pyqtdarktheme-2.1.0.tar.gz 42186 BLAKE2B cfbac5c1fc458188140437bab7e0db75145e98fcb0a8098a61263839b0d9e72ba8d47230b9ea77e9ac0f78f3c0c6a25f1d4915ff9c54a886ca100193a7b94c7e SHA512 d7c4e433ca7195f0daf6fed9c100f587101181e581f196837bbbee314385c9dd7f5a23beb20762c211f607b65c306e42aa303d382df1f18795275df603c10521
diff --git a/dev-python/pyqtdarktheme/metadata.xml b/dev-python/pyqtdarktheme/metadata.xml
deleted file mode 100644
index a7892960b8a7..000000000000
--- a/dev-python/pyqtdarktheme/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>dev@notyourcomputer.net</email>
- <name>Shaoyu Tseng</name>
- </maintainer>
- <upstream>
- <doc>https://pyqtdarktheme.readthedocs.io</doc>
- </upstream>
- <origin>gentoo-guru-overlay</origin>
-</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pyqtdarktheme/pyqtdarktheme-2.1.0.ebuild b/dev-python/pyqtdarktheme/pyqtdarktheme-2.1.0.ebuild
deleted file mode 100644
index 7e0b6899e71e..000000000000
--- a/dev-python/pyqtdarktheme/pyqtdarktheme-2.1.0.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-DISTUTILS_USE_PEP517=poetry
-inherit distutils-r1 pypi
-
-DESCRIPTION="A flat dark theme for PySide and PyQt. "
-HOMEPAGE="https://github.com/5yutan5/PyQtDarkTheme https://pypi.org/project/PyQtDarkTheme"
-DEPEND="
- dev-python/darkdetect[${PYTHON_USEDEP}]
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
diff --git a/dev-python/pytest/Manifest b/dev-python/pytest/Manifest
index c79db7ddf12f..6f97385a31a5 100644
--- a/dev-python/pytest/Manifest
+++ b/dev-python/pytest/Manifest
@@ -3,3 +3,4 @@ DIST pytest-8.0.2.tar.gz 1396924 BLAKE2B ad95d246f5592cfe54faea6c96e38cb60d3e271
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.0.tar.gz 1515232 BLAKE2B fa4252f13af384d425f612d7faef48a6d0075d447aa619efd52029efc2e1c41c57fc78583c5fab818ad9666165f0ae0ad49759292d475ac4586f292553fef6d7 SHA512 aa4aff63e7a4c682322f231538d411b30f7d37335fc42efa8abe7824040278d0a546efaa51794ce2937da993f4972984aacbdad30f96a4d43fe9a3e23317c57a
diff --git a/dev-python/pytest/pytest-8.4.0.ebuild b/dev-python/pytest/pytest-8.4.0.ebuild
new file mode 100644
index 000000000000..361f3a37123a
--- /dev/null
+++ b/dev-python/pytest/pytest-8.4.0.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_TESTED=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+
+inherit distutils-r1 pypi
+
+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}]
+ >=dev-python/pygments-2.7.2[${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/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
+ testing/test_threadexception.py::test_unhandled_thread_exception_after_teardown
+ testing/test_unraisableexception.py::test_refcycle_unraisable
+
+ # 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
+ )
+ ;;
+ esac
+
+ local EPYTEST_XDIST=1
+ epytest
+}
diff --git a/dev-python/python-engineio/Manifest b/dev-python/python-engineio/Manifest
index bd4bcecb366e..560921998d6c 100644
--- a/dev-python/python-engineio/Manifest
+++ b/dev-python/python-engineio/Manifest
@@ -1,2 +1,3 @@
DIST python-engineio-4.12.0.gh.tar.gz 319601 BLAKE2B 3da3382dd568f74ed5a0362b36641cd9cbe60fd0370e4e4172455251250ad6470662e1bfdb1903eb7b2dd934cbb895994e407ab8487a80a9dd2f629c87a55f89 SHA512 4d4996183b837b656566bc94f17f8bed7551a18d46985cb83aca44f040a1c9031ad48abac8f33ec63826cff506bb015826a4c080d3d42d47ee684d67948d0708
DIST python-engineio-4.12.1.gh.tar.gz 319719 BLAKE2B 830fbd7f707aa8929ecd0c945d4d642b0780d812fb5033c0a2e632389cfba6ce0b1f186efef6358187eaf5d0cdec849ceeed9811c5b151f5d071be8d8c48a1df SHA512 025a85412c2fa706b3b660885f75b44d61dfdc9ad214346dd0fb7e739b7984488ba43140fc8836abf2b2339e5d9b5975bfc7ca26b8676522992a4bcb2c4439b6
+DIST python-engineio-4.12.2.gh.tar.gz 319974 BLAKE2B c60dbd3d91fb9772ad11e676a304e337aaab55b36b1ac6fd3329d23cb7a7ed4d79a5d5a1a51de5ed7dfd0850d907ae234916e09051233ac01b68284f3eec42c8 SHA512 9a1740ec4b481aabe34b0b18eec03d03960d857ba0be5f7e00648fece7ca876294f6fd0c0df4627ca85474c9f100a2b79ac6ca8fd39dadfc43d3c5a0b8688188
diff --git a/dev-python/python-engineio/python-engineio-4.12.2.ebuild b/dev-python/python-engineio/python-engineio-4.12.2.ebuild
new file mode 100644
index 000000000000..af34606f1566
--- /dev/null
+++ b/dev-python/python-engineio/python-engineio-4.12.2.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python implementation of the Engine.IO realtime server"
+HOMEPAGE="
+ https://python-engineio.readthedocs.io/
+ https://github.com/miguelgrinberg/python-engineio/
+ https://pypi.org/project/python-engineio/"
+SRC_URI="
+ https://github.com/miguelgrinberg/python-engineio/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ >=dev-python/simple-websocket-0.10.0[${PYTHON_USEDEP}]
+ dev-python/websocket-client[${PYTHON_USEDEP}]
+"
+# Can use eventlet, werkzeug, or gevent, but no tests for werkzeug
+BDEPEND="
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/tornado[${PYTHON_USEDEP}]
+ dev-python/websockets[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ dev-python/alabaster
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # eventlet is masked for removal
+ tests/common/test_async_eventlet.py
+ )
+
+ local EPYTEST_DESELECT=(
+ # also eventlet
+ tests/common/test_server.py::TestServer::test_async_mode_eventlet
+ tests/common/test_server.py::TestServer::test_connect
+ tests/common/test_server.py::TestServer::test_service_task_started
+ tests/common/test_server.py::TestServer::test_upgrades
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio
+}
diff --git a/dev-python/python-tests/Manifest b/dev-python/python-tests/Manifest
index da5fc3f99e73..29c33d6aae75 100644
--- a/dev-python/python-tests/Manifest
+++ b/dev-python/python-tests/Manifest
@@ -1,17 +1,30 @@
DIST Python-3.11.12.tar.xz 20112232 BLAKE2B 95f82af070e86ecf48881103ce6d7211a4a915a93a49b1407eaf445364b7a7daec406cf07eb9334ed47a59397a9796f6a5c70dcc9b7b47103beb3bffc6aa56d7 SHA512 5c95900de73cd187f5d7a89a05314ef85f4d680308d0d5fff5e6ada81f8ecf030018bef0f1a819d007e8b6d01b52e50395572c2d1a56d2c164492e13a69a9926
DIST Python-3.11.12.tar.xz.asc 833 BLAKE2B b874df8019eb3c548598f8723fa38c89189cc375d6ced7cae180ffdc35a8e7b0ba93638861412e19037aa1fee76749186f10c4929dc7f4fb4ef7a8f4561d325c SHA512 cb1f82d44be6de67182747f8ad1054e85cca22753c0c86ff12b95ec7044c5c6c37f40a876e5707a6c422d58f483257b8ddbb3ea87893679f81b9299c48373f20
+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.12.10.tar.xz 20520960 BLAKE2B f05805da36958e3ebb68c69353e8119b20ee4c1a123f4492e9bf614e7faa856180ef2017f2a698bcacf19cac01d89329ed5ee45e00c98b255d4854090a2e6926 SHA512 520c30e3958d0be3c127e5dbb1c52bb3bfc404b5b3c7eb56525e25b9b59af9b21b53bee192f323f470e1df806f6cb2dd3411eb90cbc1c4b7d9b6b0777c29e644
DIST Python-3.12.10.tar.xz.asc 963 BLAKE2B 45e1ec67311d1ac5679cb5a05b92e61f3e5e6e9d3ffa5462c09c2aa066fda7ea915df13f6e5ad33aa924f6ce1f18e2d78a31af15412a10c093fc8a5b536c5133 SHA512 7edfa6fd816cf2a052abdb775d464e2f389105ed3e782cacf90805613aaca54bf71308504a5336ee1204e872e7db28df32413fb10b057056b0d5cb3c7a20a9f1
+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.13.3.tar.xz 22654240 BLAKE2B 24ac47c13cbfa4dc9ce6ae4d18d7b5310f83ac1f4f18722138ef07e01cb8ac37edf6f4301983cb468f533b9b475b5a9d761d3044e61c7ccaa99dceadb954fe34 SHA512 f7559b6dceae69f48742af0a6497fbec42cd1e5304f64b6eb9d89222a1171ccf12fa186cc0decabb4e98d05223184967a4a7537754c01083dacdc9073cb1a578
DIST Python-3.13.3.tar.xz.asc 963 BLAKE2B 4a98965305b80e985512f54d9ce8ab88a74fe0d3ee48e300fbc2b4e251c0f499f4eb935e0aeb6d5ad8262338643325126f094fff926da1e2b9a2b3a2247701dc SHA512 54f8da5f4a4dcadc9830cb07aecf695a26a2de48ab98e1f42b09fdde1c70989476d07ce7ea81337216f1e5fcbf6b688e0608c88a2545ced416b01640108e94db
+DIST Python-3.13.4.tar.xz 22672472 BLAKE2B d453538db82084f490456416829c7d30672e5c05c1c1baf428493f16fa78ce63b69544787373e4679826f32a18af5c5de5225f8f507699113346917df0e3de31 SHA512 91454bb4d04c192721d2df980a806858bd8aadb5cef92159c2844cc33e92b0386b1b33d5cfff0f69d449e9f978a5f67f6032155f7b1425ff38e36477637c0c68
+DIST Python-3.13.4.tar.xz.asc 963 BLAKE2B 5c594f95a7b74c2191b553f50020cd6db9b400f32af62d12094fa4c449651079a662645de8118a7a661c4ceafceb9ce5bcecbbbf8d6bc80d6657a0247e88e510 SHA512 ba9c1dee0f3bf564e6ac19cbe08cf4fdc3779a04ed8289654f6dda3fba9f07a0937764a12f1e7e2f6d7ff17bb5b86c05b8ea19296a2b98d1c81a48362ccf6104
DIST Python-3.14.0b2.tar.xz 23579860 BLAKE2B bf5ebac54531a7c837e7650754264b4be28e28613d488d1c7546db77e2ef3b501ff646d7fb505c6ac0fa1381c3230d1c1899bc82144f369339c89687b5dc7f5c SHA512 cdd37f8a982e6194d5afa80a2eb94c899080809749d59a50a2ce3eed37f720a1fd9a7977f0dd3992650d173a7070b15610077d97cb499bd16a7500c56ef1f8dd
DIST Python-3.14.0b2.tar.xz.sigstore 5131 BLAKE2B 04cab57a4da63f5abf28db94e5fd952206124ce37ef5a5d981839a0790881c9c4ea6d186f233eaaf6e82350bdfdbb0048d761b816d81eaba71c707bd9714a9d9 SHA512 a356037824fbde5950f197cf04f0d71ddaf4b68006b2ab9951f9b4c2df508e84bd0bec7d72051e75d22c17eee767e46e5d2c167e853fb941b0831cb26d518fdc
DIST python-gentoo-patches-3.11.11.tar.xz 10604 BLAKE2B 6be4c66b0458f7a7085aef976cff3dcb4d114ac0b64fb27327a5693e8d41a77f7eeed718b9c5a1b1961278235ee4cd43497aa3dc27e6e6bed65804b95f667a15 SHA512 ab8113a94949cead34d976179f80c3e0a6686bf2476079a74f97b4d08c24a237500dc7ee09dc3b0ec98d2fbcb138397c73d7e2252e617a957a13999e59115158
DIST python-gentoo-patches-3.11.12.tar.xz 15616 BLAKE2B 5d4a47058fc35c4ae966e3dff823f91129852bf81cd586d5b3a34a6daf672732918daf00199394f2f982411ec30a291f45bba55b3ffa3d96a179ecd600ea4647 SHA512 77973ef88403f94d55162e0138cd29b4d8959a8fcf4cec730daf7ddd8fb4a3acfcd0dd1fdaacbdd2b218bd15f6c6715ce339df4eba48227d17520243d96eeb39
DIST python-gentoo-patches-3.11.12_p1.tar.xz 22192 BLAKE2B 2d7f39d1d55428e5dc617a796a3147046c0549bd8fc26a1d3b2701ca2ab17a4cc990b8fed925a7b8d7c410b12f4c22e14f9e64d7ea4b2c387c919570abad259f SHA512 363b049824b520b92541569d315e4e67192f3bd915f44f600acc51858ae3960b0060222cab2612f9aef53c7b2a0e323d197e107c9bcbdc4625572303d6393a5c
+DIST python-gentoo-patches-3.11.12_p2.tar.xz 37360 BLAKE2B 0f8a3b260e4f1d1c824fd962f8ed0fd7e50cb3384795b3bc03f83511dce73235aa4c43a51a5e2198aedc06467b35962b9e55a97eb58d569844d6298b3bee1c15 SHA512 48fbabd1f82c5a6ecc75067e007c62cbefa5efd3276c7aadb802892c3ebe5bdaaad01ad8bff92cec6bfc6f5212c842105540f3bf7c679cb31dee36013a99ee8f
+DIST python-gentoo-patches-3.11.13.tar.xz 16492 BLAKE2B 8b188742dd3f25974cead290e5793c31f02741a901dce65137c596045fa2fbd5baaef332204af90f95ddcd864ee542b252c00b190e15c25af60a7bda771b116f SHA512 b5abad341d2eede81df445b56a98720466ec23df40a8a2e99a04dba5a106205655c8e2b64df0ca2630f036c8fe457ba64524280d137bbc99f52e4fd8e6bbd5ae
DIST python-gentoo-patches-3.12.10.tar.xz 10744 BLAKE2B 2abf4874018156d6735cf8604c410dc4726ac9365bc7500abe6b82472aad100aac7268957256692f4275b02965773e58178519ed8038e121f1ffa3c53770d238 SHA512 62066405aa00f46f9645e9c747d53bb93bf510fc791d14d49e00edfd79981778e6c8e07bfa7bac88d76407a0ffd8f7321dea89f81d90b01dbf13f4d381b6a1a3
DIST python-gentoo-patches-3.12.10_p1.tar.xz 17356 BLAKE2B 9a87b3a6f04977067cb0ce126e45c9d584145bc9cf1d43e46e7ae5e295a14d69b07b6e20c18bff74d02f0e6c3617e8c1ff015097be32cb7dc76ae45ab71d1a41 SHA512 d98f27176d3ea2532c2f8c0a2eadf23f1f0b305e08bbbfd12acfae7308070d70a8d3c3eb60fe157f4ff51cb6302bea5882d75f6a8028310c95309aed3bdaddb5
+DIST python-gentoo-patches-3.12.10_p2.tar.xz 33236 BLAKE2B e73edf8caf53799f4407ebd08211e86e6c8850441c3c845264b7d250b9fd1630865ff9dfa184ab6f0a4ac2f56326f88af24a006c68d62e2f57c027f93ec6cd31 SHA512 36e2bf3d288a06e60f412e4335563d8633ee2a5c4c798d6a90133d7dcbd3cbc4d9a9c8f1167e10f52740f34cb2ea510981166c6b7a333587118c4da85a1ef354
+DIST python-gentoo-patches-3.12.11.tar.xz 12020 BLAKE2B b419d32b1d7bef9408027edda7eac9a920a877e1b8f521483df595199bad1bbadd9dd9500079c09beab63286a801bfb25da5f93a5d31462ed3e457a6e40ad6af SHA512 1b0eaff4c0df06554525a50576da7eadb4067c4f2970851e5c9e3e527a9ccc4216cbd65c45fd562af4a1cedc2c66278a74bee5cf5c1a65df8feb22f34f5a19e4
DIST python-gentoo-patches-3.13.3.tar.xz 8336 BLAKE2B 66393886fbd034eb14732e4f81f5798e77650ea3fe1c4f8176bd93808b711c8977a53c3f52be6c9b97a368299258b851d9bdb6d4c8e0c75695c6aea784d48b44 SHA512 c1ed31d6aaef81addf786c2ccc1013309b122b791c42fe10e467a677d0db8f149e8b1cc21928c146298918c7ceb851b4b19d1e59f491cb161004e1c9386db289
DIST python-gentoo-patches-3.13.3_p1.tar.xz 15164 BLAKE2B 56420b8d051fbf3eb47f2bce08c79f167b9fbaa89f8ee932e3db27ea08a191f042e1f0114c1377c8210060332141b36eb1d582507185c983297a1d61573aa435 SHA512 1e138be3ef5c03e4d0b520aa736cdec44daf2956a931f4080e53b0652ebefa48095cad837e7bae4cc90bd42fbb7aba6f25c61e3c880ca1a581a745744b011fa3
+DIST python-gentoo-patches-3.13.3_p2.tar.xz 36284 BLAKE2B c1f62268013a055ac477e3e7b49c313d8a41e1fdbd806bb9ddb3a57926297ba7d67e20dadc47ab21ec35f1b0bc504ffd4f039846d8588d143f4e379d8bdc5a12 SHA512 d80856c60c519f28660d6ac5c3df0446759df4c962ab5c989dca1147e92e53e07ed19c75f75a7fdce8e85e919bc77c6ad06a25a611c09764b3eafd61f7d8b63d
+DIST python-gentoo-patches-3.13.4.tar.xz 8912 BLAKE2B e3d9f2a12f801dc75e09c5301757f35216d712b5e5394f2ec3ce1d79d0cb57571dbca525e3d5c35b90fa059c2b78ee24341b6a51cbe9691deac84c9ee0578824 SHA512 1a7141accb7aa70c7bd8dd12528f7de031dfeab9ff089f3d044da0b7b52461e2d6d7d1467161e0fe1e259d9fa06d70bcf107d86ad3590e8cf73aa1132ef3aaf9
DIST python-gentoo-patches-3.14.0b1.tar.xz 5680 BLAKE2B 514b3edc3025e5bf675d371b5ada17dea426856edf1fb6095c2ee400eae95bd4265ef81fe593ae9338e801e7d0a25b1d5ba2d05ca563fd9dd020114b13575746 SHA512 74289e42cf532b54bb1b66a283ec19156f8a36ba38764209c133842314c9efb2ce2ebcba5aa9213bcf7fc0c8a5ca9b6e7adbd5dbfa4397233136d7cd55f53ee7
DIST python-gentoo-patches-3.14.0b2.tar.xz 6168 BLAKE2B ecf2fd981efc289fbc16d615c6e69ad7a797bd6906e6f974ece47eace582d7c4b3ea0217b0df9575e522416df2749125ff3658d8aca6a53bf977d5f155dd6b90 SHA512 552ff5306ca43c89e65b1df42cb71753c7e900efc4be7e35150c187184a5e94241fea78bb9084831508fd4a7e71323be59c1565901560ec53fc076c3697baf34
+DIST python-gentoo-patches-3.14.0b2_p1.tar.xz 23992 BLAKE2B 65346fe06b2f03251882542b90821c28bd16d9f1c81d1e594bf78403689b444688a9cffa1d52faf63dd9c4db301a9b2a1e6729026e73525fe2f0622f896b6a46 SHA512 c98600da507541c0ba3a03dcaa6d344596fd8f5ef8169eff276318ed33a38ba4794ea346b25b9d11f9a277334bdcc1105e6332bb212602c3c993866340aa8482
diff --git a/dev-python/python-tests/python-tests-3.11.12_p2.ebuild b/dev-python/python-tests/python-tests-3.11.12_p2.ebuild
new file mode 100644
index 000000000000..eb9af07971ff
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.11.12_p2.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_{9,10,11,12,13} )
+
+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.11.13.ebuild b/dev-python/python-tests/python-tests-3.11.13.ebuild
new file mode 100644
index 000000000000..4ef151bb2870
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.11.13.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_{9,10,11,12,13} )
+
+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.10_p2.ebuild b/dev-python/python-tests/python-tests-3.12.10_p2.ebuild
new file mode 100644
index 000000000000..5a8fcf17b294
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.12.10_p2.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_{9,10,11,12,13} )
+
+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.12.11.ebuild b/dev-python/python-tests/python-tests-3.12.11.ebuild
new file mode 100644
index 000000000000..6edb88b587ae
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.12.11.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_{9,10,11,12,13} )
+
+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.13.3_p2-r100.ebuild b/dev-python/python-tests/python-tests-3.13.3_p2-r100.ebuild
new file mode 100644
index 000000000000..25edd5462511
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.13.3_p2-r100.ebuild
@@ -0,0 +1,70 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit python-r1 verify-sig
+
+MY_PV=${PV}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)t
+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}
+"
+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.13.3_p2.ebuild b/dev-python/python-tests/python-tests-3.13.3_p2.ebuild
new file mode 100644
index 000000000000..6ec6bb7f3ef5
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.13.3_p2.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_{9,10,11,12,13} )
+
+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.13.0_rc1_p3-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.13.4-r100.ebuild b/dev-python/python-tests/python-tests-3.13.4-r100.ebuild
new file mode 100644
index 000000000000..25edd5462511
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.13.4-r100.ebuild
@@ -0,0 +1,70 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit python-r1 verify-sig
+
+MY_PV=${PV}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)t
+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}
+"
+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.13.4.ebuild b/dev-python/python-tests/python-tests-3.13.4.ebuild
new file mode 100644
index 000000000000..7ffb0bc18a44
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.13.4.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_{9,10,11,12,13} )
+
+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.13.0_rc1_p3-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_beta2_p1-r100.ebuild b/dev-python/python-tests/python-tests-3.14.0_beta2_p1-r100.ebuild
new file mode 100644
index 000000000000..a9d84cc6f11e
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.14.0_beta2_p1-r100.ebuild
@@ -0,0 +1,72 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+VERIFY_SIG_METHOD=sigstore
+
+inherit python-r1 verify-sig
+
+MY_PV=${PV/_beta/b}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)t
+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.sigstore
+ )
+"
+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}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+"
+
+# https://www.python.org/downloads/metadata/sigstore/
+VERIFY_SIG_CERT_IDENTITY=hugo@python.org
+VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore}
+ 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_beta2_p1.ebuild b/dev-python/python-tests/python-tests-3.14.0_beta2_p1.ebuild
new file mode 100644
index 000000000000..3dbc65e132eb
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.14.0_beta2_p1.ebuild
@@ -0,0 +1,72 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+VERIFY_SIG_METHOD=sigstore
+
+inherit python-r1 verify-sig
+
+MY_PV=${PV/_beta/b}
+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.sigstore
+ )
+"
+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}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+"
+
+# https://www.python.org/downloads/metadata/sigstore/
+VERIFY_SIG_CERT_IDENTITY=hugo@python.org
+VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore}
+ 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/qiskit-aer/Manifest b/dev-python/qiskit-aer/Manifest
index 5e50d8051767..296ff175a0a5 100644
--- a/dev-python/qiskit-aer/Manifest
+++ b/dev-python/qiskit-aer/Manifest
@@ -1 +1,2 @@
+DIST qiskit-aer-0.17.1.gh.tar.gz 7139029 BLAKE2B 25f0a94c9a5f553285c5da0253485a437ff4d2ce4ba01efba19b59381a952149219edfebc76b0ec3f2245ad0f0470302ef19089b8f07ca7f140a5a307c55ef9e SHA512 14b907dbd9e15ae795bf626f9644aaffab76f08b5ba90556bbbd290ba8df9f8528b9a0c9c9477755d767071daff2cba8f026df33af76630afc1f2af1cc0836d7
DIST qiskit-aer-0.17.gh.tar.gz 7138967 BLAKE2B 7654630890f41a92a731321ab5bd3b3aad05267a558fa769c19511435ca4ed28df46c84522b3bd436efea3b7bc0f3eb703fd46bf2b1db447b37706f38b72be04 SHA512 30387dbbce74f8a60a804c1706a7fa652a49e75805e65f845fdad04cc9db15689af935402c45cc6d25360a8ce94fa56956f55671637e0fc53fc9337d9c98760a
diff --git a/dev-python/qiskit-aer/qiskit-aer-0.17.1.ebuild b/dev-python/qiskit-aer/qiskit-aer-0.17.1.ebuild
new file mode 100644
index 000000000000..dd486833bfa0
--- /dev/null
+++ b/dev-python/qiskit-aer/qiskit-aer-0.17.1.ebuild
@@ -0,0 +1,120 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="High performance simulator for quantum circuits that includes noise models"
+HOMEPAGE="
+ https://github.com/Qiskit/qiskit-aer/
+ https://pypi.org/project/qiskit-aer/
+"
+SRC_URI="
+ https://github.com/Qiskit/qiskit-aer/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# The reference implementation of BLAS/CBLAS is not compatible with qiskit-aer right now,
+# because importing library causes an error.
+# /usr/lib/python3.9/site-packages/qiskit/providers/aer/backends/controller_wrappers.cpython-39-x86_64-linux-gnu.so: undefined symbol: slamch_
+# Using sci-libs/openblas instead here,
+# with the option to switch between reference/openblas implementation runtime (eselect-ldso).
+#
+# <nlohmann_json-3.10.3 for https://github.com/Qiskit/qiskit-aer/issues/1742
+DEPEND="
+ >=dev-python/numpy-1.16.3[${PYTHON_USEDEP}]
+ <dev-cpp/nlohmann_json-3.10.3
+ >=dev-cpp/nlohmann_json-3.1.1
+ >=dev-libs/spdlog-1.9.2:=
+ >=dev-cpp/muParserX-4.0.8
+ virtual/cblas[eselect-ldso]
+ sci-libs/openblas[eselect-ldso]
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/psutil-5[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/qiskit-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-build/cmake-3.17
+ >=dev-python/scikit-build-0.11.0[${PYTHON_USEDEP}]
+ >=dev-python/pybind11-2.6[${PYTHON_USEDEP}]
+ test? (
+ dev-python/ddt[${PYTHON_USEDEP}]
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+check_openblas() {
+ local libdir=$(get_libdir) me="openblas"
+
+ # check blas
+ local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2)
+ if [[ ${current_blas} != "${me}" ]]; then
+ eerror "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
+ eerror "To use qiskit-aer, you have to issue (as root):"
+ eerror "\t eselect blas set ${libdir} ${me}"
+ return 1
+ fi
+ return 0
+}
+
+pkg_setup() {
+ if use test; then
+ check_openblas
+ if [[ $? -ne 0 ]]; then
+ die "Set blas implementation to openblas using 'eselect blas set openblas'!"
+ fi
+ fi
+}
+
+python_prepare_all() {
+ export DISABLE_CONAN="ON"
+ export DISABLE_DEPENDENCY_INSTALL="ON"
+ export SKBUILD_CONFIGURE_OPTIONS="-DTEST_JSON=1"
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires qiskit_qasm3_import
+ test/terra/backends/aer_simulator/test_save_statevector.py::TestSaveStatevector::test_save_statevector_for_qasm3_circuit_1___automatic____CPU__
+ test/terra/backends/aer_simulator/test_save_statevector.py::TestSaveStatevector::test_save_statevector_for_qasm3_circuit_2___statevector____CPU__
+ test/terra/backends/aer_simulator/test_save_statevector.py::TestSaveStatevector::test_save_statevector_for_qasm3_circuit_3___matrix_product_state____CPU__
+ test/terra/backends/aer_simulator/test_save_statevector.py::TestSaveStatevector::test_save_statevector_for_qasm3_circuit_4___extended_stabilizer____CPU__
+ )
+
+ local EPYTEST_IGNORE=(
+ # TODO: qiskit.providers.aer? wtf?
+ test/terra/expression/test_classical_expressions.py
+ )
+
+ # From tox.ini/tests.yml in CI
+ # Needed to suppress a warning in jupyter-core 5.x by eagerly migrating to
+ # a new internal interface that will be the default in jupyter-core 6.x.
+ # This variable should become redundant on release of jupyter-core 6.
+ local -x JUPYTER_PLATFORM_DIRS=1
+
+ rm -rf qiskit_aer || die
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -s
+}
+
+pkg_postinst() {
+ check_openblas
+}
diff --git a/dev-python/rubymarshal/Manifest b/dev-python/rubymarshal/Manifest
deleted file mode 100644
index 6d9b76d4529d..000000000000
--- a/dev-python/rubymarshal/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST 1.2.10.tar.gz 49095 BLAKE2B e69a4e493c6bc5306d36bbcbe56f40d24b9442257fc416b2de6c4a38c0365b8b4e7e4b51f0bf8c53bd75985be615f4fad3c809f426e403580f51bde3eaad5846 SHA512 2d8080cbe3bbbc5af58dcda19d9ffbf351202366cb08696c7dd30c11817c82dd912bf4566930b926664b802b08a217261fa7dd283aaf64fb1bfe712ec11e7368
-DIST 1.2.7.tar.gz 48859 BLAKE2B 0e0f50e78b394f811d8f6dc8b2e29478b4b90f0a07430c44a4aefb26c366d45099c3e79b885161b0b7dcb3c7afbbc1fe10b564f670d66b73f25068f0ad941611 SHA512 e48e728a7db18556ca342e72906d293888c01b10eb283100feacae183ca3992bd829707700ddc1345ab27360ec1d022b7ae7066fad5dbfe9af4bf72f3af6ae1d
diff --git a/dev-python/rubymarshal/metadata.xml b/dev-python/rubymarshal/metadata.xml
deleted file mode 100644
index 36acccda7221..000000000000
--- a/dev-python/rubymarshal/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>dev@liguros.net</email>
- <name>Development</name>
- </maintainer>
-
- <origin>ports</origin>
-</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/rubymarshal/rubymarshal-1.2.10.ebuild b/dev-python/rubymarshal/rubymarshal-1.2.10.ebuild
deleted file mode 100644
index 8035b9bb5125..000000000000
--- a/dev-python/rubymarshal/rubymarshal-1.2.10.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 2021 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-DESCRIPTION="Read and write Ruby-marshalled data"
-HOMEPAGE="https://github.com/d9pouces/RubyMarshal"
-SRC_URI="https://github.com/d9pouces/RubyMarshal/archive/${PV}.tar.gz"
-
-SLOT="0"
-LICENSE="WTFPL"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~amd64-fbsd"
-
-#DEPEND="dev-libs/libversion"
-
-S="${WORKDIR}/RubyMarshal-${PV}"
diff --git a/dev-python/rubymarshal/rubymarshal-1.2.7.ebuild b/dev-python/rubymarshal/rubymarshal-1.2.7.ebuild
deleted file mode 100644
index 8035b9bb5125..000000000000
--- a/dev-python/rubymarshal/rubymarshal-1.2.7.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 2021 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-DESCRIPTION="Read and write Ruby-marshalled data"
-HOMEPAGE="https://github.com/d9pouces/RubyMarshal"
-SRC_URI="https://github.com/d9pouces/RubyMarshal/archive/${PV}.tar.gz"
-
-SLOT="0"
-LICENSE="WTFPL"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~amd64-fbsd"
-
-#DEPEND="dev-libs/libversion"
-
-S="${WORKDIR}/RubyMarshal-${PV}"
diff --git a/dev-python/scrypt/scrypt-0.8.24.ebuild b/dev-python/scrypt/scrypt-0.8.24.ebuild
deleted file mode 100644
index 85147959a4cd..000000000000
--- a/dev-python/scrypt/scrypt-0.8.24.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2021-2024 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-DESCRIPTION="Bindings for the scrypt key derivation function library"
-HOMEPAGE="https://github.com/holgern/py-scrypt/"
-SRC_URI="https://github.com/holgern/py-scrypt/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD-2"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~x64-macos"
-SLOT="0"
-IUSE="libressl"
-
-RDEPEND="
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
-"
-DEPEND="${RDEPEND}"
-S=${WORKDIR}/py-${P}
-
-distutils_enable_tests unittest
diff --git a/dev-python/scrypt/scrypt-0.8.27.ebuild b/dev-python/scrypt/scrypt-0.8.27.ebuild
index 8e06acbeabe0..e01276714a36 100644
--- a/dev-python/scrypt/scrypt-0.8.27.ebuild
+++ b/dev-python/scrypt/scrypt-0.8.27.ebuild
@@ -1,7 +1,9 @@
-# Copyright 2021-2024 Liguros Authors
+# Copyright 2021-2025 Liguros Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9,10,11,12,13} )
inherit distutils-r1
diff --git a/dev-python/seedir/Manifest b/dev-python/seedir/Manifest
index 634c583264bb..f83c886053c4 100644
--- a/dev-python/seedir/Manifest
+++ b/dev-python/seedir/Manifest
@@ -1 +1,2 @@
DIST seedir-0.5.0.gh.tar.gz 3099344 BLAKE2B 27ee50e6dfd91a67bb80452b3065c4183341933ef09de4ec298490264bb66601146a50a0b7550ef37bb332acdee1f2e45c31b8eca6e33f4f7e59b9d8f127f565 SHA512 e6c257787e65c24697e76f75308dc5e8c2f919205a4922aa1bb66673000e2c784959ebe45a7ccd826d3ee1fea03fe0a6a64f6c90321c76d1e36ab68ba3962361
+DIST seedir-0.5.1.gh.tar.gz 3103982 BLAKE2B bfdc149ebba6d9fa86ec295de92ae6a77664d35ed4db7f1b3fb1fac250f23a238adfaf3e6419973fee93964bc1a252bdd691eaa5c2ec34e3b74f3dc22e2ef9db SHA512 279b5480bf66b19449a60a5b6240e0bf34d94383b184495486acd1f4ab55303158f652c8fc88d373e9cec0522aa35e83c40a13df83f372556c8873ac220e6fe2
diff --git a/dev-python/seedir/seedir-0.5.1.ebuild b/dev-python/seedir/seedir-0.5.1.ebuild
new file mode 100644
index 000000000000..b7ae7fbc2d48
--- /dev/null
+++ b/dev-python/seedir/seedir-0.5.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Package for creating, editing, and reading folder tree diagrams"
+HOMEPAGE="
+ https://github.com/earnestt1234/seedir/
+ https://pypi.org/project/seedir/
+"
+SRC_URI="
+ https://github.com/earnestt1234/seedir/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ dev-python/natsort[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/sip/Manifest b/dev-python/sip/Manifest
index 28095519bcad..0dc476c6e3a4 100644
--- a/dev-python/sip/Manifest
+++ b/dev-python/sip/Manifest
@@ -1,3 +1,2 @@
DIST sip-6.10.0.gh.tar.gz 2448793 BLAKE2B bbd88954884c83d489e86b6ffc0098dc0d5266bd06e31e4289464a0455d489fa260373e730ede45873834df8bc09b7ab7a6c411c8b82971aa4f3c9640849941b SHA512 b30a70c7cd62708f552b542e86449e35ae0b79f41ed2420c6c275fb5ccba605590bb3ee511e67c52c657361df0406ad0787f3bbb1c0c79d62f25bf916a0a0cee
-DIST sip-6.11.1.gh.tar.gz 2456897 BLAKE2B d4129455884847e1aa5684828dea6c9136a038acf82569c655dfb9b1a8b6247102bde99810d7447378527dcde73fbabf0d850fcc06cf6e6176ed8d6870c6d094 SHA512 6e801db1c7f439383e613ed3fea9a57c79e5f262831df10d9bc5534709df743e1f8c5cff0622b3f1296f43c91524e48a81faf554e7e9704297a18b11ad77edc2
DIST sip-6.12.0.gh.tar.gz 2457825 BLAKE2B 40676b8f989274cb9466f4d68a63bf53aa5d093325a7627b62a5da129eb878a5c4c7f8d351500ad8aab184a9edde980e2476571e235d99283d99271cc10b85b2 SHA512 36e3a70a60560ce5c741a865dd68f9a1863742b413833386b28e838972a5e9eaa932c8a15300af6a0a1e338634202c9c79706fd3e0a10fc7b932d3fc5c80ddb0
diff --git a/dev-python/sip/files/sip-6.11.1-wxpython.patch b/dev-python/sip/files/sip-6.11.1-wxpython.patch
deleted file mode 100644
index 98fcec49b606..000000000000
--- a/dev-python/sip/files/sip-6.11.1-wxpython.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-https://bugs.gentoo.org/956566
-https://github.com/wxWidgets/Phoenix/issues/2758
-https://github.com/Python-SIP/sip/issues/77#issuecomment-2909587858
---- a/sipbuild/generator/instantiations.py
-+++ b/sipbuild/generator/instantiations.py
-@@ -463,3 +463,3 @@
- if klass.iface_file.module is None and superclass_name.is_simple:
-- superclass = _find_argument_value(superclass_name, p, symbol,
-+ superclass = _find_argument_value(superclass_name.base_name, p, symbol,
- tmpl_names, template, pm)
diff --git a/dev-python/sip/sip-6.11.1-r1.ebuild b/dev-python/sip/sip-6.11.1-r1.ebuild
deleted file mode 100644
index ae9934064820..000000000000
--- a/dev-python/sip/sip-6.11.1-r1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-inherit distutils-r1
-
-DESCRIPTION="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"
-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
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}"/${P}-wxpython.patch
-)
diff --git a/dev-python/sphinxcontrib-apidoc/sphinxcontrib-apidoc-0.6.0.ebuild b/dev-python/sphinxcontrib-apidoc/sphinxcontrib-apidoc-0.6.0.ebuild
index a7f090b36858..9bd385add0c1 100644
--- a/dev-python/sphinxcontrib-apidoc/sphinxcontrib-apidoc-0.6.0.ebuild
+++ b/dev-python/sphinxcontrib-apidoc/sphinxcontrib-apidoc-0.6.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~riscv ~x86"
BDEPEND="
dev-python/pbr[${PYTHON_USEDEP}]
diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest
index 66cdd7c4bd40..c6e3008a4251 100644
--- a/dev-python/sqlglot/Manifest
+++ b/dev-python/sqlglot/Manifest
@@ -1,4 +1,4 @@
-DIST sqlglot-26.23.0-crates.tar.xz 8859792 BLAKE2B abb2051b392c53dc3caa705ddd8df7076819a26dcdaa89fa3760559a79578db01e86943c2d0ffb8006263c2dca3aa50d20023eae9d772f8ebd12a8a2d3266cdd SHA512 7cca439a06433a62bcd4a2af33d240f46e9b5240cc158edbc654efb37a464aa0f1ebbe9749b2fc6352127b4809b63af2341fac6240050c414e578ae99444ba5d
-DIST sqlglot-26.23.0.tar.gz 5369411 BLAKE2B 621d8bba91e72b3671aa0d2fa90ac0e4e9d3b6c116be02a423eb779ab8bd67f9edcabeb6e94ddea6856a22373a02e5517053945f7ea2728ef6b56333671e68c0 SHA512 54b378ad94be7c641b537e9917d2b69c3abdbcfff81a28b8a280d5198b35d6157f518289101332abf0643b3ea56670f948b6db598d358b06ac2a6ace38df8acc
-DIST sqlglot-26.24.0-crates.tar.xz 8859792 BLAKE2B abb2051b392c53dc3caa705ddd8df7076819a26dcdaa89fa3760559a79578db01e86943c2d0ffb8006263c2dca3aa50d20023eae9d772f8ebd12a8a2d3266cdd SHA512 7cca439a06433a62bcd4a2af33d240f46e9b5240cc158edbc654efb37a464aa0f1ebbe9749b2fc6352127b4809b63af2341fac6240050c414e578ae99444ba5d
-DIST sqlglot-26.24.0.tar.gz 5371208 BLAKE2B 76a6e3f1c940a7b2b3f6d9845fc6295b8d28bd32306aaef1b7829861ed6ceb151ab0fb3b7830717a91432f491e1268b404b26b830c5382d8a08b74d83bb27093 SHA512 84512d3adebc369a17dcb5823644b636954ec52cb566491ed7874765fc979f4df5c7e750855026b7eb83481d8779f65723562603ac671b371df0588d2af1d701
+DIST sqlglot-26.25.0-crates.tar.xz 8859792 BLAKE2B abb2051b392c53dc3caa705ddd8df7076819a26dcdaa89fa3760559a79578db01e86943c2d0ffb8006263c2dca3aa50d20023eae9d772f8ebd12a8a2d3266cdd SHA512 7cca439a06433a62bcd4a2af33d240f46e9b5240cc158edbc654efb37a464aa0f1ebbe9749b2fc6352127b4809b63af2341fac6240050c414e578ae99444ba5d
+DIST sqlglot-26.25.0.tar.gz 5320294 BLAKE2B ca9a5d32d191f36685a8c0a278cd4d13b1680e04e5e1d8321c019bb135d261be68df79bd7817842240fd9c4b4ad6883753cf974683937db4eace55f2b7e490dd SHA512 7830df0ff9713cc2097c9adc0a1586c6066b3abb70aea116b73779d253bfeb0b248d28832be038f7844c8b832f649285eb143f4016eb00aca19f0a253e5ac50e
+DIST sqlglot-26.25.3-crates.tar.xz 8859792 BLAKE2B abb2051b392c53dc3caa705ddd8df7076819a26dcdaa89fa3760559a79578db01e86943c2d0ffb8006263c2dca3aa50d20023eae9d772f8ebd12a8a2d3266cdd SHA512 7cca439a06433a62bcd4a2af33d240f46e9b5240cc158edbc654efb37a464aa0f1ebbe9749b2fc6352127b4809b63af2341fac6240050c414e578ae99444ba5d
+DIST sqlglot-26.25.3.tar.gz 5322840 BLAKE2B dcef4993a1b1539f4fbc24de8cd4b83db89582487805d1eebc36ce8e6dba0df2bb6092b940d86bd997715ce24a8aadc7df690918333da507be7e37c849542281 SHA512 9ddd68845aa2e647b12e42e28626818facf33ea917ee126e9a236de426c1fa67c25ebc8349a05dfdbdf569c8a2988d717a6e60455c835a2ed6b0dd0c5c36ecdc
diff --git a/dev-python/sqlglot/sqlglot-26.23.0.ebuild b/dev-python/sqlglot/sqlglot-26.25.0.ebuild
index 84a615136142..84a615136142 100644
--- a/dev-python/sqlglot/sqlglot-26.23.0.ebuild
+++ b/dev-python/sqlglot/sqlglot-26.25.0.ebuild
diff --git a/dev-python/sqlglot/sqlglot-26.24.0.ebuild b/dev-python/sqlglot/sqlglot-26.25.3.ebuild
index 84a615136142..84a615136142 100644
--- a/dev-python/sqlglot/sqlglot-26.24.0.ebuild
+++ b/dev-python/sqlglot/sqlglot-26.25.3.ebuild
diff --git a/dev-python/treq/Manifest b/dev-python/treq/Manifest
index 7291f894e81b..589ccefe0388 100644
--- a/dev-python/treq/Manifest
+++ b/dev-python/treq/Manifest
@@ -1 +1,2 @@
DIST treq-24.9.1.tar.gz 85614 BLAKE2B cce700ae1f18b7e97953c45cb835786655caf47a0e425944e58f94c76a33c5948920c38f89283f50b51624f365326045d6ebb163c86644069f5bf548e137b9c0 SHA512 b8ed6ed5262073559babe8d0413a1f5369215a41ac7459441172a9086c654cf1dc7e51a0497d4c714726ae02d2163760cddde7008e360f37ebb4586b82409bb8
+DIST treq-25.5.0.tar.gz 83588 BLAKE2B 671e3e1f79f76abd1bda8b7826500bfc18c2d0bb192c668667f138fc123b178dcaee33e99e29f0ef437cbcaf12b511d54641b6300e6f068e85850a178dcf6617 SHA512 59fb457c2b4bc60ffa6fc0649c55fedcf4c64fdc43d7ea5c74241ab8e7a8afc23f878138dea249890e64ac0ba33959e8de443decb6ac388a976d8d4dabf64086
diff --git a/dev-python/treq/treq-25.5.0.ebuild b/dev-python/treq/treq-25.5.0.ebuild
new file mode 100644
index 000000000000..a13d435d0958
--- /dev/null
+++ b/dev-python/treq/treq-25.5.0.ebuild
@@ -0,0 +1,57 @@
+# 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} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A requests-like API built on top of twisted.web's Agent"
+HOMEPAGE="
+ https://github.com/twisted/treq/
+ https://pypi.org/project/treq/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/attrs[${PYTHON_USEDEP}]
+ >=dev-python/hyperlink-21.0.0[${PYTHON_USEDEP}]
+ >=dev-python/incremental-24.7.2[${PYTHON_USEDEP}]
+ dev-python/multipart[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/twisted-22.10.0[ssl,${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-3.10.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/incremental-24.7.2[${PYTHON_USEDEP}]
+ test? (
+ dev-python/httpbin[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-rtd-theme
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # fix relative path for docs generation
+ sed -e 's@("..")@("../src")@' -i docs/conf.py || die
+
+ # unbundle multipart
+ rm src/treq/_multipart.py || die
+ find -name '*.py' -exec \
+ sed -i -e 's:from [.]\+_multipart:from multipart:' {} + || die
+}
+
+python_test() {
+ "${EPYTHON}" -m twisted.trial treq || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/trimesh/Manifest b/dev-python/trimesh/Manifest
index 1d64e185b3b4..9a2a1bff5e7d 100644
--- a/dev-python/trimesh/Manifest
+++ b/dev-python/trimesh/Manifest
@@ -1,2 +1,3 @@
DIST trimesh-4.6.10.gh.tar.gz 13636665 BLAKE2B 1362e7db082cd107d801314ece352f61beb704f3b53f0a33daf2b3ebb86cf670209769504e4dcc5f258d80fb7da3a6b20509589e2d7a8ff83b9f892c9ddc0193 SHA512 27e3bdc32a5ff9fe2c9a0b989487815817811db196d1be6d6356a25a23ae39cf13a069318146dfb2c722ac175beeb68b69a12dfcea3689b70f6e376f5ecfd608
+DIST trimesh-4.6.11.gh.tar.gz 13637301 BLAKE2B fc672641ec363794ff90aa1daaa4711838917395771de55376981af1a2bab1dcb58e8240fd23d9c6d17187ed952994927b4896792a0cf1d632eaf88d0ca3808c SHA512 7c1039a845a461b450d5dda54da287a7f35e8ffbe544ee4e920dcb7053a30791796f239d00337f1cb443c3df610bdc2faa6a93e7240c2c494ab6c6ef9d563b96
DIST trimesh-4.6.9.gh.tar.gz 13628313 BLAKE2B 18c98803e0945192dea781cf0a2b19e3a8cf8002e6f5aa96b8c59aaaeceef10e90efb436ba038fbbacd56dcc37e93e0a280c5cd359344ed6b30480c4e12d2349 SHA512 c647fe403caaaba95a0f85b9eef64c5957eb31e68ba564527ff9b076a0c86f7891671ea4c9e80729add28e2b83da9699b551ab047ae89ec5562b7daed43b05e4
diff --git a/dev-python/trimesh/trimesh-4.6.11.ebuild b/dev-python/trimesh/trimesh-4.6.11.ebuild
new file mode 100644
index 000000000000..9a55e3b051f5
--- /dev/null
+++ b/dev-python/trimesh/trimesh-4.6.11.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Python library for loading and using triangular meshes"
+HOMEPAGE="
+ https://trimesh.org/
+ https://github.com/mikedh/trimesh/
+ https://pypi.org/project/trimesh/
+"
+SRC_URI="
+ https://github.com/mikedh/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/charset-normalizer[${PYTHON_USEDEP}]
+ dev-python/colorlog[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/networkx[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.20[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pycollada[${PYTHON_USEDEP}]
+ dev-python/pyglet[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ >=dev-python/shapely-1.8.2[${PYTHON_USEDEP}]
+ dev-python/svg-path[${PYTHON_USEDEP}]
+ dev-python/sympy[${PYTHON_USEDEP}]
+ dev-python/xxhash[${PYTHON_USEDEP}]
+ dev-python/rtree[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mapbox-earcut[${PYTHON_USEDEP}]
+ dev-python/pillow[webp,${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_TIMEOUT=1800
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires manifold3d
+ tests/test_boolean.py::test_multiple_difference
+ # timing nonsense
+ tests/test_bounds.py::BoundsTest::test_obb_mesh_large
+ )
+ local EPYTEST_IGNORE=(
+ # require pyinstrument
+ tests/test_sweep.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+pkg_postinst() {
+ optfeature_header "${PN} functionality can be extended by installing the following packages:"
+ optfeature "making GUI applications with 3D stuff" dev-python/glooey
+ optfeature "2D triangulations of polygons" dev-python/mapbox-earcut
+ optfeature "loading a number of additional mesh formats" dev-python/meshio
+ optfeature "figuring out how much memory we have" dev-python/psutil
+ optfeature "marching cubes and other nice stuff" dev-python/scikit-image
+}
diff --git a/dev-python/typeguard/Manifest b/dev-python/typeguard/Manifest
index 882d81f08ea3..710bde6ee70b 100644
--- a/dev-python/typeguard/Manifest
+++ b/dev-python/typeguard/Manifest
@@ -1 +1,2 @@
DIST typeguard-4.4.2.tar.gz 75746 BLAKE2B f2a2c318a27eea573ce358284aedb97e126ce1aa7f60755079c07eddb1c93785ee6a50f5e95cf47234534cd44541efa974fc1ebe7af737875a328870235ca285 SHA512 205429ae4960563c10b747956a2f4f41504abb300957cc75be0e9a6caecba84bebbbbf2e71d22f2961870f12f29e03fcd78ef0cd54edd7285f62ceaf35a74138
+DIST typeguard-4.4.3.tar.gz 75072 BLAKE2B d80e25c4651c230dca902dad9b3e770c5a35f39d9d71300773126b4565160ce2455b463508ccef47d989e2ccbf8518adf5126cc2e2ed0cabfc6593d17ef4896e SHA512 332765a8b3186f271816c239a0fba994bb2af8e4d2bec8db293860d155835090eda28779eb88c087f395c10a1c46d8ccce9a910589c1bf960d072fbb59a53d05
diff --git a/dev-python/typeguard/typeguard-4.4.3.ebuild b/dev-python/typeguard/typeguard-4.4.3.ebuild
new file mode 100644
index 000000000000..4f5c053fb734
--- /dev/null
+++ b/dev-python/typeguard/typeguard-4.4.3.ebuild
@@ -0,0 +1,40 @@
+# 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_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Run-time type checker for Python"
+HOMEPAGE="
+ https://pypi.org/project/typeguard/
+ https://github.com/agronholm/typeguard/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.14.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-6.4[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # mypy changes results from version to version
+ tests/mypy
+ )
+
+ local -x PYTHONDONTWRITEBYTECODE=
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # the XFAIL test pass due to some package being installed
+ epytest -o xfail_strict=False -p typeguard
+}
diff --git a/dev-python/types-docutils/Manifest b/dev-python/types-docutils/Manifest
index 4461d43f8ace..af5b5dbf19bb 100644
--- a/dev-python/types-docutils/Manifest
+++ b/dev-python/types-docutils/Manifest
@@ -1 +1,2 @@
DIST types_docutils-0.21.0.20250526.tar.gz 38140 BLAKE2B 33a226242e97e9c89db972fc82c664a322deb6b0d1853c5942ba993a4f27d2c193e5456293330abc9d2b98ad60fb094c0972f875d17253329ef8a50b6a5ad2cd SHA512 3945615dc897ba657fb8cba4d8682ad0eeb3617aae4ff62e8f9e4b90ebc30136c4e1abe87c8f5c10a9ec60484d86e9cb5b79510117bbe424ff8f0879313a6561
+DIST types_docutils-0.21.0.20250604.tar.gz 40953 BLAKE2B 35ca47bb71ece85f2786396d224835f74592ec2e7278f6c0459bea8451a4ee7c9299be1fcaa2a8d41a6c0d8a1abacbb72403611069ef24df9940330682c01103 SHA512 84ee5f87686bc75e0e41437b05a23932de4e92a179bc19763bb6cc823b31e8055f143e27d74fd77d1752b945d56db0979ab9a418f8edf63aeb195b621620c0ba
diff --git a/dev-python/types-docutils/types-docutils-0.21.0.20250604.ebuild b/dev-python/types-docutils/types-docutils-0.21.0.20250604.ebuild
new file mode 100644
index 000000000000..9fdbbf2b35dd
--- /dev/null
+++ b/dev-python/types-docutils/types-docutils-0.21.0.20250604.ebuild
@@ -0,0 +1,16 @@
+# 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_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Typing stubs for docutils"
+HOMEPAGE="https://pypi.org/project/types-docutils/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest
index 274688d52857..674b07ee04fd 100644
--- a/dev-python/uv-build/Manifest
+++ b/dev-python/uv-build/Manifest
@@ -1,3 +1,4 @@
DIST uv_build-0.6.17.tar.gz 300696 BLAKE2B 3f15068232e20b4b70ef319f90a258efc0d38be668bc438c91354b5ede4cb03235abc912292e2747249eab5c54c1fbc3cfa91ab1335881b975fce9677340c54e SHA512 2827629a11a9775661554f3eae4f3c6018637203c18f739ce728973ee0e7f905bef7c9fcc200f95393e2e13c167e31fdf0ab8dced59c028c3c600d47ba373752
+DIST uv_build-0.7.10.tar.gz 308530 BLAKE2B 01ec0cc519966665129c29e7cfe5522cf070d3377b4172265f7a8dbea441979022875eb091371e868ca6c9ab80c497c85b789b5c81b93c8e004fd8b6e0e05240 SHA512 744e4ac1e5be3579a7a89cdd2b6f0e40a1d681fd51c7dc44bcfbce8c51a61cffa8cdb8006c02526a7bb27ad7cf2b02cf33be7107b36487a89835e81e079ffa54
DIST uv_build-0.7.8.tar.gz 305609 BLAKE2B 89d2e7ff95f4375d4fff758463c1cf918c3ec475a1e0de04fcc51b4bd0fefe1aca50ea223b3cc456c5944f0673702ab971374829fb568e4521129acb0a770506 SHA512 bde37f82ae781531e50425ff247219e4e2908c7e46200a65a74e8e2b8b48a0d5cd60476138c160bd1d07aa8c9a581f5da01e79fd7883d018f10617ddba8b8349
DIST uv_build-0.7.9.tar.gz 308177 BLAKE2B 38bd8d4640a239dac740503929c7b31ba591e101e0778cbd5e3c9db6513082f0382bc982affc7cf3a5af3998647ae58ebf870388dc0d67e2ed7fda5764cc9176 SHA512 f316aae21cbf15dc281d79eaa10af1b56efd70d484ae37b831d7216c268e03c6a46c50a212e617e932a6cf0805f2cb114e91caf92afe1c1d994ba06209255e90
diff --git a/dev-python/uv-build/uv-build-0.7.10.ebuild b/dev-python/uv-build/uv-build-0.7.10.ebuild
new file mode 100644
index 000000000000..6156796bc3d2
--- /dev/null
+++ b/dev-python/uv-build/uv-build-0.7.10.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=( python3_{9,10,11,12,13} pypy3 )
+
+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"
+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 66962614f5f0..d00587b0f6df 100644
--- a/dev-python/uv/Manifest
+++ b/dev-python/uv/Manifest
@@ -4,6 +4,8 @@ DIST rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.gh.tar.gz 51763 BLAKE
DIST tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.gh.tar.gz 37106 BLAKE2B c30d1c33f6f52e2bc83823eb6319f8a3e462b7c7408fb6a08f995747857ef234f81db4135a04f9d183095fe473a4087f8f0cb89d8f87ef4400285d2ce034ec22 SHA512 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68
DIST uv-0.6.17-crates.tar.xz 58061436 BLAKE2B d86afdb51411ceabb529f7b23dfc10b85eac27b012aca1785a4f9d47c758ef9043ed84ae843c66f55a48ad24b21c2c8c89edad4b6043ac27c82c529db0ee4e28 SHA512 30a7770d2f45db03a618adada46fd1d8a000a940f5750a0c16ec7261c232ee7909d38f4725f82457580e34575342e256bbcc7378e0bec06b69bec17c9c0e69f5
DIST uv-0.6.17.gh.tar.gz 3995730 BLAKE2B 368a877294dc9e1e1f29599b5589242899f9a6cf5767b6fa10d5987d18a1cb6704aad34ad136522ac3256cc0802bad4442bebde94ff4e3dd6d7763b73fa8cca1 SHA512 aae465ef02a29a856f4de69230f77d31149c95ed5a88e489b46c34aa61020f29dcf406168abea77626e7d5297b2e004a89445f343e3ee763c297981b0d50233a
+DIST uv-0.7.10-crates.tar.xz 52013636 BLAKE2B f5063aba01bbb91219d2852be9563f2b48be7c534a1ed69e88bd3b702de12df418484e2c7593a7e5237c4f0d71282cc849e1b2f473275355496a9e2977eeb6ad SHA512 6cb80a362a9abef725e2e062d864fc54a81a83431a15012321f7b561fc4b0a5d30301f52c2f2c50cadfbc821bf3f8a3397a0c55d422649c1c940d43d45e65d03
+DIST uv-0.7.10.gh.tar.gz 4020442 BLAKE2B a7f23494671706b439a14148241066454489fd9df9817ccce0a15bc464c6c07f727932ef973a227bcb4d76bb035be4fe59c1fe00030f8a2121a73dc0f993ad0e SHA512 a92521fcbc03abb07ed5bcda653aa218e7082777b517747224619c7bad6c9b05fad837088198aeb419fd3fac164be8d248cb699ca7a39a77298e83e86398594c
DIST uv-0.7.8-crates.tar.xz 45495772 BLAKE2B f8b9587302dfd96ba15b540f0897b9720ea06434d2d2e93e795793df874179ef79e544a07b9e158e890d119fa2d3beee9d0a884a3c78540ec6c8abe2cc902bba SHA512 78586fd9fbe4cd9e0b737609a8b8c438ac422be1dbcde7a8553234981ee4be8136efe50b2c14b6863b6256a337cab977948641bb196e5f718188a66b25f1f5f5
DIST uv-0.7.8.gh.tar.gz 3993156 BLAKE2B a11245cb77ceab214ee021d973515c164048938afb67d878bf282e26f8c1f190187ef7a52af966247298d6a758baa97e36fce0a556c9ac145b3f01c8aea18d56 SHA512 109821612a9a07bf0fdadcc942893a8e024ef828f22f25b5d3f2a10088882892cb84a8b1e37874e7346c9a0815dcd15cb736a2a768ff525c6198482fe7aba3ff
DIST uv-0.7.9-crates.tar.xz 45526908 BLAKE2B 66951afc70feb4719c5af415c0503c6e8daff850227d9773406f6e4c0c9bb960a56573675327b04297437481852cc9236bdf240476cf1c151e52ff4caf170c72 SHA512 6ea0d4e02e28edc47d420c095b426136aeb1e4af2c3181e104f67405b180d6ce51f1db122cc6d49ac876a68711d43aa2fdae5fd710523c03d6d302d41da47e02
diff --git a/dev-python/uv/uv-0.7.10.ebuild b/dev-python/uv/uv-0.7.10.ebuild
new file mode 100644
index 000000000000..2d1639acdcdb
--- /dev/null
+++ b/dev-python/uv/uv-0.7.10.ebuild
@@ -0,0 +1,175 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+
+declare -A GIT_CRATES=(
+ [async_zip]='https://github.com/charliermarsh/rs-async-zip;c909fda63fcafe4af496a07bfda28a5aae97e58d;rs-async-zip-%commit%'
+ [pubgrub]='https://github.com/astral-sh/pubgrub;06ec5a5f59ffaeb6cf5079c6cb184467da06c9db;pubgrub-%commit%'
+ [tl]='https://github.com/astral-sh/tl;6e25b2ee2513d75385101a8ff9f591ef51f314ec;tl-%commit%'
+ [version-ranges]='https://github.com/astral-sh/pubgrub;06ec5a5f59ffaeb6cf5079c6cb184467da06c9db;pubgrub-%commit%/version-ranges'
+)
+
+RUST_MIN_VER="1.85.0"
+
+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 Boost-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
+
+ # 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/webtest/Manifest b/dev-python/webtest/Manifest
index 24a80620bed8..0f9875281237 100644
--- a/dev-python/webtest/Manifest
+++ b/dev-python/webtest/Manifest
@@ -1 +1,2 @@
DIST webtest-3.0.4.tar.gz 79395 BLAKE2B 8a0aa8fae18e7c4ac816910cf0a7e6dea8905d14a35bacca8b53351189c9d00da0016c533a74b3b0623c81e7d8504260a2ad83ca4a2cb57f7a629cb1f2067d0a SHA512 ebf7a76d18719283af5fcf0ea902285a9eee280e68892f2db35e5e48e04efd18e96e393a020e3c4ac4e001875c6da5583348572fd028c0e1a11d468695362a0b
+DIST webtest-3.0.6.tar.gz 80151 BLAKE2B fde505862a0c7a87923fd7ed70748c045076c9fe70323099ef975153eeba5996cf84534e7acca7a97ad3c1a1a258351e02dd850be1826032da0edd7b0c27c31f SHA512 02341bac9e65bf736954ecaf34245afdae05a45e2e17d36ba5ba8be732e35938aab8a0f7ef58e260bc5f2d3667c87666b985e39de4006ed7cb4be2237c0441d9
diff --git a/dev-python/webtest/webtest-3.0.6.ebuild b/dev-python/webtest/webtest-3.0.6.ebuild
new file mode 100644
index 000000000000..e9571110419f
--- /dev/null
+++ b/dev-python/webtest/webtest-3.0.6.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
+PYPI_PN="WebTest"
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Helper to test WSGI applications"
+HOMEPAGE="
+ https://docs.pylonsproject.org/projects/webtest/en/latest/
+ https://github.com/Pylons/webtest/
+ https://pypi.org/project/WebTest/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="
+ dev-python/paste[${PYTHON_USEDEP}]
+ dev-python/pastedeploy[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2[${PYTHON_USEDEP}]
+ >=dev-python/waitress-3.0.2[${PYTHON_USEDEP}]
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pyquery[${PYTHON_USEDEP}]
+ dev-python/wsgiproxy2[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/legacy-cgi[${PYTHON_USEDEP}]
+ ' 3.{13..14})
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/webtest-2.0.33-no-pylons-theme.patch"
+)
+
+distutils_enable_sphinx docs
+distutils_enable_tests pytest
diff --git a/dev-python/ws4py/Manifest b/dev-python/ws4py/Manifest
deleted file mode 100644
index d1f5b36da5d0..000000000000
--- a/dev-python/ws4py/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST ws4py-0.5.1.tar.gz 116673 BLAKE2B 31db304800f0d3da61dc4c1a3381a8fcfcfa8f16b36d916311cc32f1d294c9f7b3627dac673edf824f529f485f825ca418ab1e1a8a2fda5583c6a6a1bd9b752c SHA512 4c90d66d37fb5bdc8f7fc9fd184b20a7dc2dae811ecf3a041477e3c26a2577008be7041799daca5b8c0de65cb2454022a6c135cf02534ca98b6946abbfce0e11
-DIST ws4py-0.6.0.tar.gz 118090 BLAKE2B d5dde49408a0d2384e3225ab5d4f741b887dca6979ee9ece75edc0251920a5075e07c3642c3bd24dbce130fc8a833bfbe5aebc4bb7771b267191587c9c88ff6e SHA512 515b7f9f16984e92374f5bd4ecb9d56fc5060c29abf1eb477faa3a6d7f26866cadd74498dd4bc78d3047f19674d2881310f840df3a03cbaa21dd248a43900e7b
diff --git a/dev-python/ws4py/files/ws4py-0.5.1-python3.7+-compatibility.patch b/dev-python/ws4py/files/ws4py-0.5.1-python3.7+-compatibility.patch
deleted file mode 100644
index 12b14111634a..000000000000
--- a/dev-python/ws4py/files/ws4py-0.5.1-python3.7+-compatibility.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From: Matthias Klose <doko@ubuntu.com>
-Date: Sun, 29 Jul 2018 09:01:36 +0200
-Subject: Fix compatibility with Python 3.7.
-Origin: http://launchpadlibrarian.net/380629852/python-ws4py_0.4.2+dfsg1-2_0.4.2+dfsg1-2ubuntu1.diff.gz
-Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=903529
-
----
- test/autobahn_test_servers.py | 4 ++--
- ws4py/async_websocket.py | 9 +++++++--
- ws4py/server/tulipserver.py | 7 ++++++-
- 3 files changed, 15 insertions(+), 5 deletions(-)
-
-diff --git a/test/autobahn_test_servers.py b/test/autobahn_test_servers.py
-index 3e33f82..8b77954 100644
---- a/test/autobahn_test_servers.py
-+++ b/test/autobahn_test_servers.py
-@@ -142,7 +142,7 @@ def run_python_wsgi(host="127.0.0.1", port=9002):
- """
- run_python_wsgi_async(host, port, False)
-
--def run_python_wsgi_async(host="127.0.0.1", port=9010, async=True):
-+def run_python_wsgi_async(host="127.0.0.1", port=9010, async_=True):
- """
- Runs wsgi server on python 2.x with async middleware"
- """
-@@ -153,7 +153,7 @@ def run_python_wsgi_async(host="127.0.0.1", port=9010, async=True):
- from ws4py.server.wsgiutils import WebSocketWSGIApplication
-
- app = WebSocketWSGIApplication(handler_cls=EchoWebSocket)
-- if async:
-+ if async_:
- def middleware(app):
- def later(environ, start_response):
- for part in app(environ, start_response):
-diff --git a/ws4py/async_websocket.py b/ws4py/async_websocket.py
-index 9e2a4c7..096763d 100644
---- a/ws4py/async_websocket.py
-+++ b/ws4py/async_websocket.py
-@@ -18,6 +18,11 @@ delegated_generator_websocket_on_top_of_asyncio.py
- import asyncio
- import types
-
-+try: # pragma: no cover
-+ asyncio_ensure_future = asyncio.ensure_future # Python >= 3.5
-+except AttributeError: # pragma: no cover
-+ asyncio_ensure_future = getattr(asyncio, 'async') # Python < 3.5
-+
- from ws4py.websocket import WebSocket as _WebSocket
- from ws4py.messaging import Message
-
-@@ -84,7 +89,7 @@ class WebSocket(_WebSocket):
- def closeit():
- yield from self.proto.writer.drain()
- self.proto.writer.close()
-- asyncio.async(closeit())
-+ asyncio.asyncio_ensure_future(closeit())
-
- def _write(self, data):
- """
-@@ -94,7 +99,7 @@ class WebSocket(_WebSocket):
- def sendit(data):
- self.proto.writer.write(data)
- yield from self.proto.writer.drain()
-- asyncio.async(sendit(data))
-+ asyncio.asyncio_ensure_future(sendit(data))
-
- @asyncio.coroutine
- def run(self):
-diff --git a/ws4py/server/tulipserver.py b/ws4py/server/tulipserver.py
-index 2786c16..ce2e9fb 100644
---- a/ws4py/server/tulipserver.py
-+++ b/ws4py/server/tulipserver.py
-@@ -6,6 +6,11 @@ import io
-
- import asyncio
-
-+try: # pragma: no cover
-+ asyncio_ensure_future = asyncio.ensure_future # Python >= 3.5
-+except AttributeError: # pragma: no cover
-+ asyncio_ensure_future = getattr(asyncio, 'async') # Python < 3.5
-+
- from ws4py import WS_KEY, WS_VERSION
- from ws4py.exc import HandshakeError
- from ws4py.websocket import WebSocket
-@@ -40,7 +45,7 @@ class WebSocketProtocol(asyncio.StreamReaderProtocol):
- #self.stream.set_transport(transport)
- asyncio.StreamReaderProtocol.connection_made(self, transport)
- # Let make it concurrent for others to tag along
-- f = asyncio.async(self.handle_initial_handshake())
-+ f = asyncio.asyncio_ensure_future(self.handle_initial_handshake())
- f.add_done_callback(self.terminated)
-
- @property
diff --git a/dev-python/ws4py/metadata.xml b/dev-python/ws4py/metadata.xml
deleted file mode 100644
index 156ee791fe64..000000000000
--- a/dev-python/ws4py/metadata.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>dev@liguros.net</email>
- <name>Development</name>
- </maintainer>
-
- <use>
- <flag name="client">Install client modules</flag>
- <flag name="server">Install server modules</flag>
- </use>
- <origin>ports</origin>
-</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/ws4py/ws4py-0.5.1-r1.ebuild b/dev-python/ws4py/ws4py-0.5.1-r1.ebuild
deleted file mode 100644
index 0292ab107e14..000000000000
--- a/dev-python/ws4py/ws4py-0.5.1-r1.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2022 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-PYTHON_REQ_USE="threads(+)?"
-
-inherit distutils-r1
-
-DESCRIPTION="WebSocket client and server library for Python 2 and 3 as well as PyPy"
-HOMEPAGE="https://github.com/Lawouach/WebSocket-for-Python"
-MY_PN="WebSocket-for-Python"
-SRC_URI="https://github.com/Lawouach/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-KEYWORDS="amd64 arm x86"
-LICENSE="BSD"
-SLOT="0"
-IUSE="+client +server test +threads"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/greenlet-0.4.1[${PYTHON_USEDEP}]
- >=dev-python/cython-0.19.1[${PYTHON_USEDEP}]
- client? ( >=dev-python/tornado-3.1[${PYTHON_USEDEP}] )
- server? ( >=dev-python/cherrypy-3.2.4[${PYTHON_USEDEP}] )
-"
-DEPEND="
- test? (
- >=dev-python/cherrypy-3.2.4[${PYTHON_USEDEP}]
- >=dev-python/mock-1.0.1[${PYTHON_USEDEP}]
- )
-"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.5.1-python3.7+-compatibility.patch
-)
-
-python_test() {
- "${EPYTHON}" -m unittest discover || die "Tests failed under ${EPYTHON}"
-}
-
-python_install() {
- distutils-r1_python_install
- use client || rm -rf "${D}$(python_get_sitedir)"/ws4py/client
- use server || rm -rf "${D}$(python_get_sitedir)"/ws4py/server
-}
diff --git a/dev-python/ws4py/ws4py-0.6.0.ebuild b/dev-python/ws4py/ws4py-0.6.0.ebuild
deleted file mode 100644
index addcc0e48161..000000000000
--- a/dev-python/ws4py/ws4py-0.6.0.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2022-2024 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-PYTHON_REQ_USE="threads(+)?"
-
-inherit distutils-r1
-
-DESCRIPTION="WebSocket client and server library for Python 2 and 3 as well as PyPy"
-HOMEPAGE="https://github.com/Lawouach/WebSocket-for-Python"
-MY_PN="WebSocket-for-Python"
-SRC_URI="https://github.com/Lawouach/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-KEYWORDS="amd64 arm x86"
-LICENSE="BSD"
-SLOT="0"
-IUSE="+client +server test +threads"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/greenlet-0.4.1[${PYTHON_USEDEP}]
- >=dev-python/cython-0.19.1[${PYTHON_USEDEP}]
- client? ( >=dev-python/tornado-3.1[${PYTHON_USEDEP}] )
- server? ( >=dev-python/cherrypy-3.2.4[${PYTHON_USEDEP}] )
-"
-DEPEND="
- test? (
- >=dev-python/cherrypy-3.2.4[${PYTHON_USEDEP}]
- >=dev-python/mock-1.0.1[${PYTHON_USEDEP}]
- )
-"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-python_test() {
- "${EPYTHON}" -m unittest discover || die "Tests failed under ${EPYTHON}"
-}
-
-python_install() {
- distutils-r1_python_install
- use client || rm -rf "${D}$(python_get_sitedir)"/ws4py/client
- use server || rm -rf "${D}$(python_get_sitedir)"/ws4py/server
-}
diff --git a/dev-python/wxpython/Manifest b/dev-python/wxpython/Manifest
index b7506b2ccfc7..bef61471da19 100644
--- a/dev-python/wxpython/Manifest
+++ b/dev-python/wxpython/Manifest
@@ -1,4 +1 @@
-DIST wxPython-4.2.0.tar.gz 70958238 BLAKE2B 2e8e34c4f5d1992983bfe4e09bb56ee5619b139b9b3b5f05dee48ecdf6971cf9fe1b0fb22aec685904eb44db6f50a4ba132a08aa91930d809040da828efa097e SHA512 9ec937a024efb2916403c84382a66004f0c2bb07471246b7de517778309ce459e929eeb59e261f538d3fa077c950628de62e49a3760fbd03ab9ff2114c6f354f
-DIST wxPython-4.2.1.tar.gz 73724359 BLAKE2B d9569ea172c7279e0b2cfcb3cdcd5d1faab5324e2648c9b0f8c8b838fb2355dc6af28c4593e5dd0cfa02573133bf15a58a6ffa9711d854925a9cada0985dc7f8 SHA512 ee9ab8effb3c71de004c3d61ec583b9980c6b75fe9bb04cf2c76025ea70afc206bc3073c44d1c83c7ba604afed9fd38c01b9ef506617ba279a4ac58e3cf34438
-DIST wxPython-4.2.2.tar.gz 57358880 BLAKE2B 325256e0d57f868453ed48ea4580a1ea6763acffacb7cd937cf440c55f43fc540dab867a947fb2c9eb353855888aaa370d85103b888bd1339cf5abe7302aba19 SHA512 08b74285b94f21ebf30fef8c9ebf8cfd074dd3976209372bb5b704b0b792038f9af484dd1378894052eedb0ce603af6935b7d00d695da4e4a15e1ea3bdb3520f
DIST wxPython-4.2.3.tar.gz 58861286 BLAKE2B 2c674227ff109564be1431f2a86a212250ffac809fed4ca8934f7473c93616603e252098511e443ffdf460ab546b5eb17b3f29ab275fb8b5433041a4d47e48cb SHA512 c7b9f0758b9d77dbeab436e8069c024796b6f252af5043615e14083b3f62fb44386c5f325a118f9e2d99c15eeb7687bb1cc1a13a00263114689b32e2126364a7
diff --git a/dev-python/wxpython/files/wxpython-4.2.0-cython-3.patch b/dev-python/wxpython/files/wxpython-4.2.0-cython-3.patch
deleted file mode 100644
index aff380108b8e..000000000000
--- a/dev-python/wxpython/files/wxpython-4.2.0-cython-3.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-https://bugs.gentoo.org/911703
-https://github.com/wxWidgets/Phoenix/pull/2441
-
-From aeb557d01e7cd37176ebbf0f1ae6d0b53c115378 Mon Sep 17 00:00:00 2001
-From: Scott Talbert <swt@techie.net>
-Date: Tue, 25 Jul 2023 12:42:32 -0400
-Subject: [PATCH] Fix compatibility with Cython 3.0.0
-
-Remove unused import which seems to be removed in Cython 3.
---- a/wx/svg/_nanosvg.pyx
-+++ b/wx/svg/_nanosvg.pyx
-@@ -42,7 +42,6 @@ for manipulating the SVG shape info in memory.
-
- import sys
-
--cimport cython.object
- from cpython.buffer cimport (
- Py_buffer, PyObject_CheckBuffer, PyObject_GetBuffer, PyBUF_SIMPLE,
- PyBuffer_Release)
diff --git a/dev-python/wxpython/files/wxpython-4.2.0-no-attrdict.patch b/dev-python/wxpython/files/wxpython-4.2.0-no-attrdict.patch
deleted file mode 100644
index b3e4beff2cfe..000000000000
--- a/dev-python/wxpython/files/wxpython-4.2.0-no-attrdict.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-As in https://src.fedoraproject.org/rpms/python-wxpython4/raw/rawhide/f/no-attrdict.patch.
---- a/buildtools/config.py
-+++ b/buildtools/config.py
-@@ -27,8 +27,6 @@ from distutils.dep_util import newer
-
- import distutils.sysconfig
-
--from attrdict import AttrDict
--
- runSilently = False
-
- #----------------------------------------------------------------------
-
diff --git a/dev-python/wxpython/files/wxpython-4.2.1-doxygen-1.9.7.patch b/dev-python/wxpython/files/wxpython-4.2.1-doxygen-1.9.7.patch
deleted file mode 100644
index 7baf5708b8ff..000000000000
--- a/dev-python/wxpython/files/wxpython-4.2.1-doxygen-1.9.7.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-https://bugs.gentoo.org/934482
-https://github.com/wxWidgets/Phoenix/commit/6a049ccc0ad96f25c3f7d8540b218ffe8921d8c5
-
-From 6a049ccc0ad96f25c3f7d8540b218ffe8921d8c5 Mon Sep 17 00:00:00 2001
-From: Scott Talbert <swt@techie.net>
-Date: Tue, 5 Dec 2023 23:42:21 -0500
-Subject: [PATCH] Support building with Doxygen 1.9.7
-
-Doxygen 1.9.7 made some changes whereby some method definitions are now
-defined in separate XML files, with a "refid" that links to them. In
-order to support this, we need to follow these "refids" to pick up the
-method definition from the separate group XML files.
---- a/etgtools/extractors.py
-+++ b/etgtools/extractors.py
-@@ -62,6 +62,8 @@ def extract(self, element):
- # class. Should be overridden in derived classes to get what each one
- # needs in addition to the base.
- self.name = element.find(self.nameTag).text
-+ if self.name is None:
-+ self.name = ''
- if '::' in self.name:
- loc = self.name.rfind('::')
- self.name = self.name[loc+2:]
-@@ -1574,12 +1576,21 @@ def addElement(self, element):
- extractingMsg(kind, element)
- for node in element.findall('sectiondef/memberdef'):
- self.addElement(node)
-+ for node in element.findall('sectiondef/member'):
-+ node = self.resolveRefid(node)
-+ self.addElement(node)
-
- else:
- raise ExtractorError('Unknown module item kind: %s' % kind)
-
- return item
-
-+ def resolveRefid(self, node):
-+ from etgtools import XMLSRC
-+ refid = node.get('refid')
-+ fname = os.path.join(XMLSRC, refid.rsplit('_', 1)[0]) + '.xml'
-+ root = et.parse(fname).getroot()
-+ return root.find(".//memberdef[@id='{}']".format(refid))
-
-
- def addCppFunction(self, type, name, argsString, body, doc=None, **kw):
-
diff --git a/dev-python/wxpython/files/wxpython-4.2.1-integer-division-for-randint.patch b/dev-python/wxpython/files/wxpython-4.2.1-integer-division-for-randint.patch
deleted file mode 100644
index b98624d7df8f..000000000000
--- a/dev-python/wxpython/files/wxpython-4.2.1-integer-division-for-randint.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From https://github.com/wxWidgets/Phoenix/pull/2508
-From 3b042c863f4092f802a877a972fd6eb284451a78 Mon Sep 17 00:00:00 2001
-From: Ben Greiner <code@bnavigator.de>
-Date: Sat, 6 Jan 2024 21:58:29 +0100
-Subject: [PATCH] integer division for randint
-
-Python 3.12 does not accept floats for random.randint() anymore
----
- unittests/test_dcDrawLists.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/unittests/test_dcDrawLists.py b/unittests/test_dcDrawLists.py
-index 9e35e5eaf..6696a79a0 100644
---- a/unittests/test_dcDrawLists.py
-+++ b/unittests/test_dcDrawLists.py
-@@ -63,8 +63,8 @@ def makeRandomRectangles():
- rects = []
-
- for i in range(num):
-- W = random.randint(10, w/2)
-- H = random.randint(10, h/2)
-+ W = random.randint(10, w//2)
-+ H = random.randint(10, h//2)
- x = random.randint(0, w - W)
- y = random.randint(0, h - H)
- rects.append( (x, y, W, H) )
diff --git a/dev-python/wxpython/files/wxpython-4.2.1-sip-6.10.0.patch b/dev-python/wxpython/files/wxpython-4.2.1-sip-6.10.0.patch
deleted file mode 100644
index 5d6751d7a8d4..000000000000
--- a/dev-python/wxpython/files/wxpython-4.2.1-sip-6.10.0.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-https://bugs.gentoo.org/949510#c4
-https://github.com/wxWidgets/Phoenix/commit/de9aa4be5bb49adf82991c7582ea3c42ed505bf7.patch
-
-From de9aa4be5bb49adf82991c7582ea3c42ed505bf7 Mon Sep 17 00:00:00 2001
-From: Scott Talbert <swt@techie.net>
-Date: Sun, 9 Feb 2025 17:50:08 -0500
-Subject: [PATCH] Update SIP ABI version to 12.14
-
-We haven't supported 12.8 since before we upgraded to SIP 6.6+.
-However, SIP has not been correctly generating the correct module
-version until very recently, so generating 12.8 doesn't actually compile
-with current wxPython.
---- a/buildtools/config.py
-+++ b/buildtools/config.py
-@@ -88,7 +88,7 @@ class Configuration(object):
- PKGDIR = 'wx'
- # The name of the top-level package
-
-- SIP_ABI = '12.8'
-+ SIP_ABI = '12.14'
- SIP_TRACE = False
-
- # ---------------------------------------------------------------
diff --git a/dev-python/wxpython/files/wxpython-4.2.2-sip-6.10.0.patch b/dev-python/wxpython/files/wxpython-4.2.2-sip-6.10.0.patch
deleted file mode 100644
index 7f15661b601f..000000000000
--- a/dev-python/wxpython/files/wxpython-4.2.2-sip-6.10.0.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-https://bugs.gentoo.org/949510#c4
-https://github.com/wxWidgets/Phoenix/commit/de9aa4be5bb49adf82991c7582ea3c42ed505bf7.patch
-
---- a/buildtools/config.py
-+++ b/buildtools/config.py
-@@ -85,7 +85,7 @@
- PKGDIR = 'wx'
- # The name of the top-level package
-
-- SIP_ABI = '12.9'
-+ SIP_ABI = '12.14'
- SIP_TRACE = False
-
- # ---------------------------------------------------------------
diff --git a/dev-python/wxpython/wxpython-4.2.0.ebuild b/dev-python/wxpython/wxpython-4.2.0.ebuild
deleted file mode 100644
index b320d237f144..000000000000
--- a/dev-python/wxpython/wxpython-4.2.0.ebuild
+++ /dev/null
@@ -1,123 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_IN_SOURCE_BUILD="1"
-PYTHON_COMPAT=( python3_11 )
-PYPI_NO_NORMALIZE=1
-PYPI_PN="wxPython"
-WX_GTK_VER="3.2-gtk3"
-
-inherit distutils-r1 multiprocessing virtualx wxwidgets pypi
-
-DESCRIPTION="A blending of the wxWindows C++ class library with Python"
-HOMEPAGE="https://www.wxpython.org/"
-
-LICENSE="wxWinLL-3"
-SLOT="4.0"
-KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
-IUSE="test webkit"
-# Tests broken: #726812, #722716
-# Nearly there as of 4.2.0 but still quite flaky (inconsistent set of failures)
-RESTRICT="!test? ( test ) test"
-
-# wxPython doesn't seem to be able to optionally disable features. webkit is
-# optionally patched out because it's so huge, but other elements are not,
-# which makes us have to require all features from wxGTK
-RDEPEND="
- >=x11-libs/wxGTK-3.0.4-r301:${WX_GTK_VER}=[gstreamer,libnotify,opengl,sdl,tiff,webkit?,X]
- media-libs/libpng:=
- media-libs/tiff:=
- media-libs/libjpeg-turbo:=
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- app-text/doxygen
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- >=dev-python/sip-6.6.2[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- test? (
- ${VIRTUALX_DEPEND}
- dev-python/appdirs[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- #"${FILESDIR}/${PN}-4.0.6-skip-broken-tests.patch"
- "${FILESDIR}/${PN}-4.2.0-no-attrdict.patch"
- "${FILESDIR}/${PN}-4.2.0-flags.patch"
- "${FILESDIR}/${PN}-4.2.0-cython-3.patch"
-)
-
-python_prepare_all() {
- if ! use webkit; then
- eapply "${FILESDIR}/${PN}-4.2.0-no-webkit.patch"
- rm unittests/test_webview.py || die
- fi
-
- # Most of these tests disabled below fail because of the virtx/portage
- # environment, but some fail for unknown reasons.
- rm unittests/test_uiaction.py \
- unittests/test_notifmsg.py \
- unittests/test_mousemanager.py \
- unittests/test_display.py \
- unittests/test_pi_import.py \
- unittests/test_lib_agw_thumbnailctrl.py \
- unittests/test_sound.py || die
-
- distutils-r1_python_prepare_all
-}
-
-src_configure() {
- setup-wxwidgets
-}
-
-python_compile() {
- DOXYGEN="$(type -P doxygen)" ${PYTHON} build.py dox etg --nodoc || die
-
- # Refresh the bundled/pregenerated sip files
- ${PYTHON} build.py sip || die
-
- # Build the bindings
- ${PYTHON} build.py build_py \
- --use_syswx \
- --no_magic \
- --jobs="$(makeopts_jobs)" \
- --verbose \
- --release || die
-}
-
-python_test() {
- EPYTEST_DESELECT=(
- # Aborts, needs investigation
- unittests/test_utils.py::utils_Tests::test_utilsSomeOtherStuff
-
- # Failures, need investigation
- unittests/test_frame.py::frame_Tests::test_frameRestore
- unittests/test_fswatcher.py::fswatcher_Tests::test_fswatcher1
- unittests/test_intl.py::intl_Tests::test_intlGetString
- unittests/test_lib_busy.py::lib_busy_Tests::test_lib_busy5
- unittests/test_lib_mixins_inspection.py::wit_TestCase::test_App_OnInit
- unittests/test_lib_pubsub_provider.py::lib_pubsub_Except::test1
- unittests/test_lib_pubsub_topicmgr.py::lib_pubsub_TopicMgr2_GetOrCreate_DefnProv::test20_UseProvider
- unittests/test_windowid.py::IdManagerTest::test_newIdRef03
- unittests/test_auibook.py::auibook_Tests::test_auibook02
- unittests/test_lib_agw_persist_persistencemanager.py::lib_agw_persist_persistencemanager_Tests::test_persistencemanagerPersistValue
- unittests/test_lib_agw_persist_persistencemanager.py::lib_agw_persist_persistencemanager_Tests::test_persistencemanagerRestore
- unittests/test_aboutdlg.py::aboutdlg_Tests::test_aboutdlgGeneric
- unittests/test_auiframemanager.py::auiframemanager_Tests::test_auiframemanager02
- )
-
- # We use pytest-forked as opensuse does to avoid tests corrupting each
- # other.
- virtx epytest --forked -n "$(makeopts_jobs)" unittests
-}
-
-python_install() {
- distutils-r1_python_install --skip-build
-}
diff --git a/dev-python/wxpython/wxpython-4.2.1-r2.ebuild b/dev-python/wxpython/wxpython-4.2.1-r2.ebuild
deleted file mode 100644
index 9636fc271872..000000000000
--- a/dev-python/wxpython/wxpython-4.2.1-r2.ebuild
+++ /dev/null
@@ -1,137 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_IN_SOURCE_BUILD="1"
-PYTHON_COMPAT=( python3_{11..12} )
-PYPI_NO_NORMALIZE=1
-PYPI_PN="wxPython"
-WX_GTK_VER="3.2-gtk3"
-
-inherit distutils-r1 multiprocessing virtualx wxwidgets pypi
-
-DESCRIPTION="A blending of the wxWindows C++ class library with Python"
-HOMEPAGE="
- https://www.wxpython.org/
- https://github.com/wxWidgets/Phoenix/
- https://pypi.org/project/wxPython/
-"
-
-LICENSE="wxWinLL-3"
-SLOT="4.0"
-KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
-IUSE="test webkit"
-RESTRICT="!test? ( test )"
-
-# wxPython doesn't seem to be able to optionally disable features. webkit is
-# optionally patched out because it's so huge, but other elements are not,
-# which makes us have to require all features from wxGTK
-DEPEND="
- >=x11-libs/wxGTK-3.0.4-r301:${WX_GTK_VER}=[gstreamer,libnotify,opengl,sdl,tiff,webkit?,X]
- media-libs/libpng:=
- media-libs/tiff:=
- media-libs/libjpeg-turbo:=
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- app-text/doxygen
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- >=dev-python/sip-6.6.2[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- test? (
- ${VIRTUALX_DEPEND}
- dev-python/appdirs[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/pytest-forked[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.2.0-flags.patch"
- "${FILESDIR}/${PN}-4.2.0-cython-3.patch"
- "${FILESDIR}/${PN}-4.2.1-integer-division-for-randint.patch"
- "${FILESDIR}/${PN}-4.2.1-x86-time.patch"
- "${FILESDIR}/${PN}-4.2.1-doxygen-1.9.7.patch"
- "${FILESDIR}/${PN}-4.2.1-sip-6.10.0.patch"
-)
-
-python_prepare_all() {
- if ! use webkit; then
- eapply "${FILESDIR}/${PN}-4.2.0-no-webkit.patch"
- fi
-
- # sip assumes unconditional C99 support since 6.8.4
- # which breaks when trying to use "sip/siplib/bool.cpp"
- # https://github.com/Python-SIP/sip/commit/29fb3df49ff37df7aab9d5666fd72de95ac9e7f8
- if has_version ">=dev-python/sip-6.8.4"; then
- sed -i '\|sip/siplib/bool\.cpp|d' wscript || die
- fi
-
- distutils-r1_python_prepare_all
-}
-
-src_configure() {
- setup-wxwidgets
-}
-
-python_compile() {
- DOXYGEN="$(type -P doxygen)" ${PYTHON} build.py dox etg --nodoc || die
-
- # Refresh the bundled/pregenerated sip files
- "${EPYTHON}" build.py sip || die
-
- # Build the bindings
- "${EPYTHON}" build.py build_py \
- --use_syswx \
- --no_magic \
- --jobs="$(makeopts_jobs)" \
- --verbose \
- --release || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # virtx probably
- unittests/test_display.py::display_Tests::test_display
- unittests/test_frame.py::frame_Tests::test_frameRestore
- unittests/test_mousemanager.py::mousemanager_Tests::test_mousemanager1
- unittests/test_uiaction.py::uiaction_KeyboardTests::test_uiactionKeyboardChar
- unittests/test_uiaction.py::uiaction_KeyboardTests::test_uiactionKeyboardKeyDownUp
- unittests/test_uiaction.py::uiaction_MouseTests
-
- # assertion (TODO)
- unittests/test_aboutdlg.py::aboutdlg_Tests::test_aboutdlgGeneric
- unittests/test_lib_agw_piectrl.py::lib_agw_piectrl_Tests::test_lib_agw_piectrlCtor
-
- # seems to rely on state from a previous test (sigh)
- unittests/test_lib_agw_persist_persistencemanager.py::lib_agw_persist_persistencemanager_Tests::test_persistencemanagerRestore
-
- # requires Spanish localization
- unittests/test_intl.py::intl_Tests::test_intlGetString
-
- # TODO
- unittests/test_tipwin.py::tipwin_Tests::test_tipwinCtor
- unittests/test_lib_pubsub_provider.py::lib_pubsub_Except::test1
- unittests/test_windowid.py::IdManagerTest::test_newIdRef03
- )
- local EPYTEST_IGNORE=()
- if ! use webkit; then
- EPYTEST_IGNORE+=( unittests/test_webview.py )
- fi
-
- # We use pytest-forked as opensuse does to avoid tests corrupting each
- # other.
- virtx epytest --forked -n "$(makeopts_jobs)" unittests
-}
-
-python_install() {
- distutils-r1_python_install --skip-build
-}
diff --git a/dev-python/wxpython/wxpython-4.2.2.ebuild b/dev-python/wxpython/wxpython-4.2.2.ebuild
deleted file mode 100644
index 51d28a550bdd..000000000000
--- a/dev-python/wxpython/wxpython-4.2.2.ebuild
+++ /dev/null
@@ -1,136 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{11..13} )
-PYPI_NO_NORMALIZE=1
-PYPI_PN="wxPython"
-WX_GTK_VER="3.2-gtk3"
-
-inherit distutils-r1 multiprocessing virtualx wxwidgets pypi
-
-DESCRIPTION="A blending of the wxWindows C++ class library with Python"
-HOMEPAGE="
- https://www.wxpython.org/
- https://github.com/wxWidgets/Phoenix/
- https://pypi.org/project/wxPython/
-"
-
-LICENSE="wxWinLL-3"
-SLOT="4.0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
-IUSE="test webkit"
-RESTRICT="!test? ( test )"
-
-# wxPython doesn't seem to be able to optionally disable features. webkit is
-# optionally patched out because it's so huge, but other elements are not,
-# which makes us have to require all features from wxGTK
-DEPEND="
- >=x11-libs/wxGTK-3.2.6:${WX_GTK_VER}=[gstreamer,libnotify,opengl,sdl,tiff,webkit?,X]
- media-libs/libpng:=
- media-libs/tiff:=
- media-libs/libjpeg-turbo:=
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- app-text/doxygen
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- >=dev-python/sip-6.8.5[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- test? (
- ${VIRTUALX_DEPEND}
- dev-python/appdirs[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/pytest-forked[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.2.0-flags.patch"
- "${FILESDIR}/${PN}-4.2.1-x86-time.patch"
- "${FILESDIR}/${P}-sip-6.10.0.patch"
- "${FILESDIR}/${P}-setuppy.patch"
-)
-
-python_prepare_all() {
- if ! use webkit; then
- eapply "${FILESDIR}/${PN}-4.2.0-no-webkit.patch"
- fi
-
- # sip assumes unconditional C99 support since 6.8.4
- # which breaks when trying to use "sip/siplib/bool.cpp"
- # https://github.com/Python-SIP/sip/commit/29fb3df49ff37df7aab9d5666fd72de95ac9e7f8
- if has_version ">=dev-python/sip-6.8.4"; then
- sed -i '\|sip/siplib/bool\.cpp|d' wscript || die
- fi
-
- local build_options="build_py --use_syswx --no_magic --jobs="$(makeopts_jobs)" --verbose --release"
-
- DISTUTILS_ARGS=(
- --verbose
- build
- --buildpy-options="${build_options}"
- )
-
- distutils-r1_python_prepare_all
-}
-
-src_configure() {
- setup-wxwidgets
-}
-
-python_compile() {
- #Patch will fail if copy of refreshed sip file is not restored if using multiple
- #python implementations
- DOXYGEN="$(type -P doxygen)" ${PYTHON} build.py dox etg sip --nodoc || die
- cp "${S}/sip/cpp/sip_corewxAppTraits.cpp" "${S}" || die
-
- eapply "${FILESDIR}/${P}-no-stacktrace.patch" || die
-
- distutils-r1_python_compile
-
- cp "${S}/sip_corewxAppTraits.cpp" "${S}/sip/cpp/" || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # virtx probably
- unittests/test_display.py::display_Tests::test_display
- unittests/test_frame.py::frame_Tests::test_frameRestore
- unittests/test_mousemanager.py::mousemanager_Tests::test_mousemanager1
- unittests/test_uiaction.py::uiaction_KeyboardTests::test_uiactionKeyboardChar
- unittests/test_uiaction.py::uiaction_KeyboardTests::test_uiactionKeyboardKeyDownUp
- unittests/test_uiaction.py::uiaction_MouseTests
-
- # assertion (TODO)
- unittests/test_aboutdlg.py::aboutdlg_Tests::test_aboutdlgGeneric
- unittests/test_lib_agw_piectrl.py::lib_agw_piectrl_Tests::test_lib_agw_piectrlCtor
-
- # seems to rely on state from a previous test (sigh)
- unittests/test_lib_agw_persist_persistencemanager.py::lib_agw_persist_persistencemanager_Tests::test_persistencemanagerRestore
-
- # requires Spanish localization
- unittests/test_intl.py::intl_Tests::test_intlGetString
-
- # TODO
- unittests/test_tipwin.py::tipwin_Tests::test_tipwinCtor
- unittests/test_lib_pubsub_provider.py::lib_pubsub_Except::test1
- unittests/test_windowid.py::IdManagerTest::test_newIdRef03
- )
- local EPYTEST_IGNORE=()
- if ! use webkit; then
- EPYTEST_IGNORE+=( unittests/test_webview.py )
- fi
-
- # We use pytest-forked as opensuse does to avoid tests corrupting each
- # other.
- virtx epytest --forked -n "$(makeopts_jobs)" unittests
-}
diff --git a/dev-python/wxpython/wxpython-4.2.3-r2.ebuild b/dev-python/wxpython/wxpython-4.2.3-r2.ebuild
index 313e3063f78d..79494dce2088 100644
--- a/dev-python/wxpython/wxpython-4.2.3-r2.ebuild
+++ b/dev-python/wxpython/wxpython-4.2.3-r2.ebuild
@@ -20,7 +20,7 @@ HOMEPAGE="
LICENSE="wxWinLL-3"
SLOT="4.0"
-KEYWORDS="~alpha amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
IUSE="test webkit"
RESTRICT="!test? ( test )"
diff --git a/dev-python/xstatic-termjs/.audit b/dev-python/xstatic-termjs/.audit
deleted file mode 100644
index c4de7e12f5c4..000000000000
--- a/dev-python/xstatic-termjs/.audit
+++ /dev/null
@@ -1 +0,0 @@
-FL-4282: add xstatic-termjs ebuild, required for lxdui. Not present in gentoo portage tree.
diff --git a/dev-python/xstatic-termjs/Manifest b/dev-python/xstatic-termjs/Manifest
deleted file mode 100644
index 7643c5067855..000000000000
--- a/dev-python/xstatic-termjs/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST XStatic-term.js-0.0.7.0.tar.gz 38301 BLAKE2B 29b1832e013e32e32c07a32a12fadd242406d1f404a89602f6b48f82b44232cfa7a07e5749e0a506c17efdf6f6b6c4f7f5ef8a98b9a194f24ecf0620cc449b90 SHA512 bde2504b743be3cee191dc9ae42321e432a71ded850bb5b4f585e29a7bba5b3d9c7c4ceb464548b90df7c67e470f6cd6f0587bb0c65635046b58d17818151b95
diff --git a/dev-python/xstatic-termjs/metadata.xml b/dev-python/xstatic-termjs/metadata.xml
deleted file mode 100644
index 36acccda7221..000000000000
--- a/dev-python/xstatic-termjs/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>dev@liguros.net</email>
- <name>Development</name>
- </maintainer>
-
- <origin>ports</origin>
-</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/xstatic-termjs/xstatic-termjs-0.0.7.0-r1.ebuild b/dev-python/xstatic-termjs/xstatic-termjs-0.0.7.0-r1.ebuild
deleted file mode 100644
index cabfe9b135c7..000000000000
--- a/dev-python/xstatic-termjs/xstatic-termjs-0.0.7.0-r1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2020-2023 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-MY_PN="XStatic-term.js"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="term.js javascript library packaged for setuptools (easy_install)/pip"
-HOMEPAGE="https://pypi.org/project/XStatic-term.js"
-SRC_URI="https://files.pythonhosted.org/packages/63/7a/7bfec29f5f28fdda7170ebbbb2204aeb1d33d6050f3476a807590de06434/XStatic-term.js-0.0.7.0.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-
-RDEPEND="dev-python/xstatic[${PYTHON_USEDEP}]"
-
-DEPEND="
- ${RDEPEND}
- dev-python/setuptools[${PYTHON_USEDEP}]"
-
-S="${WORKDIR}/${MY_P}"
-
-python_install() {
- distutils-r1_python_install
- find "${ED}" -name '*.pth' -delete || die
-}
diff --git a/dev-python/xstatic/Manifest b/dev-python/xstatic/Manifest
deleted file mode 100644
index 437bd7f21ae9..000000000000
--- a/dev-python/xstatic/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST xstatic-1.0.2.tar.gz 12267 BLAKE2B 61951a8edd83e7182d1b377c172b0856b45e90772d4873c9d5aff545f955d9e7bb09f989dcccf0260b1b6d6cf197f0c5b8e01895d2c2a2591d848a103c1a388c SHA512 4d810bfe072134e461bfa1f0114c7355c7ac2204154c81c5eb184aba2d72b7d0ef05fac5531eeef23605468b0c91a70ae54990910dea5eb005c894fe3502318a
-DIST xstatic-1.0.3.tar.gz 12298 BLAKE2B 40780bcc99c126ff1c4f1a00bb9bdbd96339ad704145a56cf18f9210c9b172dd2d322af9b7439898a58d54262a3b4e933e71f76dc260f43b77f17c56ffbd9ed8 SHA512 68c3d25b7cbab5ec6ae1f36c9e0803f2c397d6f7f18472217d5bd0a9465a99812a0c14158d32e6e7748a07855db9c49d97e6a085a6aa9f38129a8d9d4d1d3dc8
diff --git a/dev-python/xstatic/metadata.xml b/dev-python/xstatic/metadata.xml
deleted file mode 100644
index 36acccda7221..000000000000
--- a/dev-python/xstatic/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>dev@liguros.net</email>
- <name>Development</name>
- </maintainer>
-
- <origin>ports</origin>
-</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/xstatic/xstatic-1.0.2.ebuild b/dev-python/xstatic/xstatic-1.0.2.ebuild
deleted file mode 100644
index 589a35e8a6c0..000000000000
--- a/dev-python/xstatic/xstatic-1.0.2.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 2020-2021 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-DESCRIPTION="XStatic base package with minimal support code"
-HOMEPAGE="https://pypi.org/project/XStatic"
-SRC_URI="https://github.com/xstatic-py/xstatic/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
-
-python_install() {
- distutils-r1_python_install
- find "${ED}" -name '*.pth' -delete || die
-}
diff --git a/dev-python/xstatic/xstatic-1.0.3.ebuild b/dev-python/xstatic/xstatic-1.0.3.ebuild
deleted file mode 100644
index 3df893acfd7e..000000000000
--- a/dev-python/xstatic/xstatic-1.0.3.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 2020-2023 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-DESCRIPTION="XStatic base package with minimal support code"
-HOMEPAGE="https://pypi.org/project/XStatic"
-SRC_URI="https://github.com/xstatic-py/xstatic/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
-
-python_install() {
- distutils-r1_python_install
- find "${ED}" -name '*.pth' -delete || die
-}