summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-07-17 02:58:50 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-07-17 02:58:50 +0000
commit4e3ec32c2336739b75a0f9bc43b33e0f1cbbd717 (patch)
tree12d9d98277485353fbb06ed38e39009f8b0104bc /dev-python
parent41e0438955d0caa8757aa79e0e41040cada3fc18 (diff)
downloadbaldeagleos-repo-4e3ec32c2336739b75a0f9bc43b33e0f1cbbd717.tar.gz
baldeagleos-repo-4e3ec32c2336739b75a0f9bc43b33e0f1cbbd717.tar.xz
baldeagleos-repo-4e3ec32c2336739b75a0f9bc43b33e0f1cbbd717.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/aiodns/Manifest1
-rw-r--r--dev-python/aiodns/aiodns-3.4.0.ebuild36
-rw-r--r--dev-python/aiodns/aiodns-3.5.0.ebuild2
-rw-r--r--dev-python/aiohttp/Manifest3
-rw-r--r--dev-python/aiohttp/aiohttp-3.11.14.ebuild136
-rw-r--r--dev-python/aiohttp/aiohttp-3.11.18.ebuild2
-rw-r--r--dev-python/aiohttp/aiohttp-3.12.11.ebuild158
-rw-r--r--dev-python/aiohttp/aiohttp-3.12.12.ebuild158
-rw-r--r--dev-python/aiohttp/aiohttp-3.12.13.ebuild2
-rw-r--r--dev-python/apsw/Manifest2
-rw-r--r--dev-python/apsw/apsw-3.49.2.0.ebuild53
-rw-r--r--dev-python/apsw/apsw-3.50.2.0.ebuild53
-rw-r--r--dev-python/argon2-cffi/Manifest1
-rw-r--r--dev-python/argon2-cffi/argon2-cffi-23.1.0.ebuild32
-rw-r--r--dev-python/argon2-cffi/argon2-cffi-25.1.0.ebuild2
-rw-r--r--dev-python/astroid/Manifest1
-rw-r--r--dev-python/astroid/astroid-3.3.11.ebuild72
-rw-r--r--dev-python/audioop-lts/audioop-lts-0.2.1.ebuild2
-rw-r--r--dev-python/audioread/audioread-3.0.1-r1.ebuild2
-rw-r--r--dev-python/b2sdk/b2sdk-2.9.4-r1.ebuild (renamed from dev-python/b2sdk/b2sdk-2.9.4.ebuild)7
-rw-r--r--dev-python/backrefs/Manifest1
-rw-r--r--dev-python/backrefs/backrefs-5.8.ebuild29
-rw-r--r--dev-python/backrefs/backrefs-5.9.ebuild2
-rw-r--r--dev-python/bitarray/Manifest2
-rw-r--r--dev-python/bitarray/bitarray-3.4.3.ebuild2
-rw-r--r--dev-python/bitarray/bitarray-3.5.1.ebuild (renamed from dev-python/bitarray/bitarray-3.4.2.ebuild)2
-rw-r--r--dev-python/blockbuster/Manifest1
-rw-r--r--dev-python/blockbuster/blockbuster-1.5.24.ebuild2
-rw-r--r--dev-python/blockbuster/blockbuster-1.5.25.ebuild60
-rw-r--r--dev-python/boto3/Manifest2
-rw-r--r--dev-python/boto3/boto3-1.38.46.ebuild2
-rw-r--r--dev-python/boto3/boto3-1.39.5.ebuild (renamed from dev-python/boto3/boto3-1.38.41.ebuild)4
-rw-r--r--dev-python/botocore/Manifest2
-rw-r--r--dev-python/botocore/botocore-1.38.46.ebuild2
-rw-r--r--dev-python/botocore/botocore-1.39.5.ebuild (renamed from dev-python/botocore/botocore-1.38.41.ebuild)4
-rw-r--r--dev-python/bottleneck/bottleneck-1.5.0.ebuild2
-rw-r--r--dev-python/bracex/Manifest1
-rw-r--r--dev-python/bracex/bracex-2.5_p1.ebuild49
-rw-r--r--dev-python/bracex/bracex-2.6.ebuild2
-rw-r--r--dev-python/cattrs/Manifest2
-rw-r--r--dev-python/cattrs/cattrs-24.1.3.ebuild107
-rw-r--r--dev-python/cattrs/cattrs-25.1.0.ebuild80
-rw-r--r--dev-python/cattrs/cattrs-25.1.1.ebuild2
-rw-r--r--dev-python/cattrs/files/cattrs-23.2.4_pre20240627-py313.patch74
-rw-r--r--dev-python/cfn-lint/Manifest1
-rw-r--r--dev-python/cfn-lint/cfn-lint-1.38.0.ebuild61
-rw-r--r--dev-python/clang/Manifest2
-rw-r--r--dev-python/clang/clang-21.0.0_pre20250713.ebuild (renamed from dev-python/clang/clang-21.0.0_pre20250614.ebuild)0
-rw-r--r--dev-python/cli-helpers/Manifest1
-rw-r--r--dev-python/cli-helpers/cli-helpers-2.6.0.ebuild36
-rw-r--r--dev-python/cmd2/Manifest2
-rw-r--r--dev-python/cmd2/cmd2-2.5.11.ebuild54
-rw-r--r--dev-python/cmd2/cmd2-2.6.1.ebuild58
-rw-r--r--dev-python/cmd2/cmd2-2.6.2.ebuild2
-rw-r--r--dev-python/colorthief/Manifest1
-rw-r--r--dev-python/colorthief/colorthief-0.2.1.ebuild20
-rw-r--r--dev-python/cons/Manifest1
-rw-r--r--dev-python/cons/cons-0.4.7.ebuild36
-rw-r--r--dev-python/contourpy/contourpy-1.3.2.ebuild2
-rw-r--r--dev-python/coverage/Manifest4
-rw-r--r--dev-python/coverage/coverage-7.8.0.ebuild109
-rw-r--r--dev-python/coverage/coverage-7.8.1.ebuild109
-rw-r--r--dev-python/coverage/coverage-7.8.2.ebuild109
-rw-r--r--dev-python/coverage/coverage-7.9.0.ebuild109
-rw-r--r--dev-python/coverage/coverage-7.9.1.ebuild2
-rw-r--r--dev-python/cython/Manifest2
-rw-r--r--dev-python/cython/cython-3.0.12-r1.ebuild83
-rw-r--r--dev-python/cython/cython-3.1.1.ebuild125
-rw-r--r--dev-python/cython/cython-3.1.2.ebuild2
-rw-r--r--dev-python/cython/files/cython-0.29.23-test_exceptions-py310.patch14
-rw-r--r--dev-python/dependency-groups/dependency-groups-1.3.1.ebuild2
-rw-r--r--dev-python/django/django-4.2.23.ebuild2
-rw-r--r--dev-python/django/django-5.1.11.ebuild2
-rw-r--r--dev-python/django/django-5.2.3.ebuild2
-rw-r--r--dev-python/ensurepip-pip/Manifest2
-rw-r--r--dev-python/ensurepip-pip/ensurepip-pip-25.0.1.ebuild20
-rw-r--r--dev-python/ensurepip-pip/ensurepip-pip-25.1.1.ebuild2
-rw-r--r--dev-python/ensurepip-pip/ensurepip-pip-25.1.ebuild20
-rw-r--r--dev-python/etuples/Manifest1
-rw-r--r--dev-python/etuples/etuples-0.3.10.ebuild37
-rw-r--r--dev-python/expandvars/Manifest1
-rw-r--r--dev-python/expandvars/expandvars-1.1.1.ebuild22
-rw-r--r--dev-python/faker/Manifest1
-rw-r--r--dev-python/faker/faker-37.4.2.ebuild42
-rw-r--r--dev-python/fastapi/Manifest1
-rw-r--r--dev-python/fastapi/fastapi-0.116.0.ebuild111
-rw-r--r--dev-python/feedgenerator/Manifest1
-rw-r--r--dev-python/feedgenerator/feedgenerator-2.2.0.ebuild30
-rw-r--r--dev-python/flask-compress/Manifest1
-rw-r--r--dev-python/flask-compress/flask-compress-1.18.ebuild36
-rw-r--r--dev-python/fonttools/Manifest2
-rw-r--r--dev-python/fonttools/fonttools-4.56.0.ebuild99
-rw-r--r--dev-python/fonttools/fonttools-4.57.0.ebuild99
-rw-r--r--dev-python/fonttools/fonttools-4.58.4.ebuild2
-rw-r--r--dev-python/forbiddenfruit/forbiddenfruit-0.1.4.ebuild2
-rw-r--r--dev-python/freezegun/Manifest1
-rw-r--r--dev-python/freezegun/freezegun-1.5.3.ebuild31
-rw-r--r--dev-python/frozenlist/Manifest4
-rw-r--r--dev-python/frozenlist/frozenlist-1.5.0.ebuild53
-rw-r--r--dev-python/frozenlist/frozenlist-1.6.0.ebuild53
-rw-r--r--dev-python/frozenlist/frozenlist-1.6.1.ebuild53
-rw-r--r--dev-python/frozenlist/frozenlist-1.6.2.ebuild53
-rw-r--r--dev-python/frozenlist/frozenlist-1.7.0.ebuild2
-rw-r--r--dev-python/fsspec/Manifest1
-rw-r--r--dev-python/fsspec/fsspec-2025.7.0.ebuild60
-rw-r--r--dev-python/google-api-python-client/Manifest1
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.173.0.ebuild50
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.174.0.ebuild2
-rw-r--r--dev-python/greenlet/greenlet-3.2.3.ebuild2
-rw-r--r--dev-python/grpcio-status/grpcio-status-1.73.1.ebuild2
-rw-r--r--dev-python/httpx/Manifest1
-rw-r--r--dev-python/httpx/httpx-0.27.2.ebuild95
-rw-r--r--dev-python/hypothesis-gentoo/Manifest1
-rw-r--r--dev-python/hypothesis-gentoo/hypothesis-gentoo-3.ebuild24
-rw-r--r--dev-python/hypothesis-gentoo/metadata.xml (renamed from dev-python/colorthief/metadata.xml)8
-rw-r--r--dev-python/hypothesis/Manifest3
-rw-r--r--dev-python/hypothesis/hypothesis-6.135.29.ebuild124
-rw-r--r--dev-python/hypothesis/hypothesis-6.135.31.ebuild127
-rw-r--r--dev-python/hypothesis/hypothesis-6.135.32.ebuild127
-rw-r--r--dev-python/inline-snapshot/Manifest1
-rw-r--r--dev-python/inline-snapshot/inline-snapshot-0.24.0.ebuild61
-rw-r--r--dev-python/ipython-pygments-lexers/ipython-pygments-lexers-1.1.1.ebuild2
-rw-r--r--dev-python/ipython/Manifest1
-rw-r--r--dev-python/ipython/ipython-9.2.0-r1.ebuild148
-rw-r--r--dev-python/ipython/ipython-9.3.0.ebuild2
-rw-r--r--dev-python/isal/isal-1.7.2-r1.ebuild2
-rw-r--r--dev-python/jaraco-collections/Manifest1
-rw-r--r--dev-python/jaraco-collections/jaraco-collections-5.1.0.ebuild42
-rw-r--r--dev-python/jaraco-collections/jaraco-collections-5.2.1.ebuild2
-rw-r--r--dev-python/jaraco-functools/Manifest1
-rw-r--r--dev-python/jaraco-functools/jaraco-functools-4.1.0.ebuild55
-rw-r--r--dev-python/jaraco-functools/jaraco-functools-4.2.1.ebuild2
-rw-r--r--dev-python/jq/Manifest1
-rw-r--r--dev-python/jq/jq-1.10.0.ebuild48
-rw-r--r--dev-python/jsonschema/jsonschema-4.24.0.ebuild2
-rw-r--r--dev-python/lap/lap-0.5.12.ebuild2
-rw-r--r--dev-python/lazy-object-proxy/Manifest1
-rw-r--r--dev-python/lazy-object-proxy/lazy-object-proxy-1.10.0.ebuild50
-rw-r--r--dev-python/lazy-object-proxy/lazy-object-proxy-1.11.0.ebuild2
-rw-r--r--dev-python/license-expression/Manifest2
-rw-r--r--dev-python/license-expression/license-expression-30.4.1.ebuild34
-rw-r--r--dev-python/license-expression/license-expression-30.4.2.ebuild35
-rw-r--r--dev-python/license-expression/license-expression-30.4.3.ebuild2
-rw-r--r--dev-python/lit/Manifest2
-rw-r--r--dev-python/lit/lit-21.0.0_pre20250713.ebuild (renamed from dev-python/lit/lit-21.0.0_pre20250614.ebuild)0
-rw-r--r--dev-python/lxml/Manifest2
-rw-r--r--dev-python/lxml/lxml-5.3.1-r1.ebuild119
-rw-r--r--dev-python/lxml/lxml-5.3.2-r1.ebuild121
-rw-r--r--dev-python/lxml/lxml-6.0.0.ebuild2
-rw-r--r--dev-python/matplotlib/matplotlib-3.10.3.ebuild2
-rw-r--r--dev-python/meson-python/Manifest1
-rw-r--r--dev-python/meson-python/meson-python-0.17.1.ebuild68
-rw-r--r--dev-python/meson-python/meson-python-0.18.0-r1.ebuild2
-rw-r--r--dev-python/minikanren/Manifest1
-rw-r--r--dev-python/minikanren/minikanren-1.0.4.ebuild41
-rw-r--r--dev-python/minikanren/minikanren-1.0.5.ebuild2
-rw-r--r--dev-python/miniupnpc/Manifest2
-rw-r--r--dev-python/miniupnpc/miniupnpc-2.3.2.ebuild52
-rw-r--r--dev-python/mpmath/mpmath-1.4.0_alpha5-r1.ebuild2
-rw-r--r--dev-python/msgpack/Manifest1
-rw-r--r--dev-python/msgpack/msgpack-1.1.1.ebuild2
-rw-r--r--dev-python/msgpack/msgpack-1.1.1_rc1.ebuild58
-rw-r--r--dev-python/multidict/Manifest4
-rw-r--r--dev-python/multidict/multidict-6.2.0.ebuild61
-rw-r--r--dev-python/multidict/multidict-6.4.4.ebuild64
-rw-r--r--dev-python/multidict/multidict-6.5.1.ebuild2
-rw-r--r--dev-python/multidict/multidict-6.6.0.ebuild65
-rw-r--r--dev-python/multidict/multidict-6.6.2.ebuild65
-rw-r--r--dev-python/mypy/Manifest1
-rw-r--r--dev-python/mypy/mypy-1.16.1.ebuild2
-rw-r--r--dev-python/mypy/mypy-1.17.0.ebuild126
-rw-r--r--dev-python/mysqlclient/mysqlclient-2.2.7.ebuild2
-rw-r--r--dev-python/narwhals/Manifest2
-rw-r--r--dev-python/narwhals/narwhals-1.47.0.ebuild (renamed from dev-python/narwhals/narwhals-1.45.0.ebuild)2
-rw-r--r--dev-python/nh3/Manifest61
-rw-r--r--dev-python/nh3/nh3-0.2.22.ebuild129
-rw-r--r--dev-python/numpy/numpy-2.3.1.ebuild2
-rw-r--r--dev-python/numpydoc/Manifest1
-rw-r--r--dev-python/numpydoc/numpydoc-1.8.0.ebuild52
-rw-r--r--dev-python/numpydoc/numpydoc-1.9.0.ebuild2
-rw-r--r--dev-python/opentelemetry-api/Manifest1
-rw-r--r--dev-python/opentelemetry-api/opentelemetry-api-1.35.0.ebuild61
-rw-r--r--dev-python/opentelemetry-sdk/Manifest1
-rw-r--r--dev-python/opentelemetry-sdk/opentelemetry-sdk-1.35.0.ebuild56
-rw-r--r--dev-python/opentelemetry-semantic-conventions/Manifest1
-rw-r--r--dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.35.0.ebuild52
-rw-r--r--dev-python/orjson/Manifest1
-rw-r--r--dev-python/orjson/orjson-3.10.18.ebuild2
-rw-r--r--dev-python/orjson/orjson-3.11.0.ebuild80
-rw-r--r--dev-python/pbs-installer/Manifest2
-rw-r--r--dev-python/pbs-installer/pbs-installer-2025.07.12.ebuild (renamed from dev-python/pbs-installer/pbs-installer-2025.07.02.ebuild)0
-rw-r--r--dev-python/phonenumbers/Manifest1
-rw-r--r--dev-python/phonenumbers/phonenumbers-9.0.7.ebuild39
-rw-r--r--dev-python/phonenumbers/phonenumbers-9.0.8.ebuild2
-rw-r--r--dev-python/pikepdf/Manifest1
-rw-r--r--dev-python/pikepdf/pikepdf-9.10.0.ebuild65
-rw-r--r--dev-python/pikepdf/pikepdf-9.9.0.ebuild17
-rw-r--r--dev-python/pillow/Manifest3
-rw-r--r--dev-python/pillow/pillow-11.1.0.ebuild172
-rw-r--r--dev-python/pillow/pillow-11.2.0.ebuild166
-rw-r--r--dev-python/pillow/pillow-11.2.1.ebuild2
-rw-r--r--dev-python/pip/Manifest3
-rw-r--r--dev-python/pip/files/pip-24.1-test-offline.patch65
-rw-r--r--dev-python/pip/files/pip-25.0.1-scripttest-2.patch43
-rw-r--r--dev-python/pip/files/pip-25.1-tomli-dep.patch76
-rw-r--r--dev-python/pip/pip-24.1.ebuild137
-rw-r--r--dev-python/pip/pip-25.0.1-r1.ebuild175
-rw-r--r--dev-python/pip/pip-25.1-r1.ebuild179
-rw-r--r--dev-python/pip/pip-25.1.1.ebuild2
-rw-r--r--dev-python/pipdeptree/Manifest1
-rw-r--r--dev-python/pipdeptree/pipdeptree-2.27.0.ebuild57
-rw-r--r--dev-python/pkgconfig/pkgconfig-1.5.5-r1.ebuild2
-rw-r--r--dev-python/poetry-plugin-export/poetry-plugin-export-1.9.0-r1.ebuild (renamed from dev-python/poetry-plugin-export/poetry-plugin-export-1.9.0.ebuild)4
-rw-r--r--dev-python/propcache/Manifest1
-rw-r--r--dev-python/propcache/propcache-0.3.1.ebuild54
-rw-r--r--dev-python/propcache/propcache-0.3.2.ebuild2
-rw-r--r--dev-python/puremagic/puremagic-1.30.ebuild2
-rw-r--r--dev-python/pyacoustid/pyacoustid-1.3.0-r1.ebuild2
-rw-r--r--dev-python/pyalsa/pyalsa-1.2.14.ebuild2
-rw-r--r--dev-python/pycairo/Manifest1
-rw-r--r--dev-python/pycairo/pycairo-1.27.0-r1.ebuild75
-rw-r--r--dev-python/pycairo/pycairo-1.28.0.ebuild2
-rw-r--r--dev-python/pycares/Manifest2
-rw-r--r--dev-python/pycares/pycares-4.6.0.ebuild57
-rw-r--r--dev-python/pycares/pycares-4.8.0.ebuild57
-rw-r--r--dev-python/pycares/pycares-4.9.0.ebuild2
-rw-r--r--dev-python/pycryptodome/pycryptodome-3.23.0.ebuild2
-rw-r--r--dev-python/pydantic-core/pydantic-core-2.33.2.ebuild2
-rw-r--r--dev-python/pydantic/pydantic-2.11.5.ebuild2
-rw-r--r--dev-python/pydantic/pydantic-2.11.7.ebuild2
-rw-r--r--dev-python/pyfakefs/Manifest2
-rw-r--r--dev-python/pyfakefs/pyfakefs-5.7.4.ebuild53
-rw-r--r--dev-python/pyfakefs/pyfakefs-5.9.0.ebuild58
-rw-r--r--dev-python/pyfakefs/pyfakefs-5.9.1.ebuild2
-rw-r--r--dev-python/pygments/Manifest1
-rw-r--r--dev-python/pygments/pygments-2.19.1.ebuild61
-rw-r--r--dev-python/pygments/pygments-2.19.2.ebuild2
-rw-r--r--dev-python/pygobject/pygobject-3.50.1.ebuild2
-rw-r--r--dev-python/pylibacl/Manifest1
-rw-r--r--dev-python/pylibacl/pylibacl-0.7.3.ebuild45
-rw-r--r--dev-python/pylibmc/pylibmc-1.6.3-r1.ebuild1
-rw-r--r--dev-python/pymdown-extensions/Manifest1
-rw-r--r--dev-python/pymdown-extensions/pymdown-extensions-10.15.ebuild37
-rw-r--r--dev-python/pymdown-extensions/pymdown-extensions-10.16.ebuild2
-rw-r--r--dev-python/pymongo/pymongo-4.13.1.ebuild2
-rw-r--r--dev-python/pymongo/pymongo-4.13.2.ebuild2
-rw-r--r--dev-python/pynacl/pynacl-1.5.0-r4.ebuild2
-rw-r--r--dev-python/pyopenssl/pyopenssl-25.1.0.ebuild2
-rw-r--r--dev-python/pypdf/Manifest3
-rw-r--r--dev-python/pypdf/pypdf-5.5.0.ebuild51
-rw-r--r--dev-python/pypdf/pypdf-5.6.1.ebuild2
-rw-r--r--dev-python/pypdf/pypdf-5.7.0.ebuild2
-rw-r--r--dev-python/pypdf/pypdf-5.8.0.ebuild (renamed from dev-python/pypdf/pypdf-5.6.0.ebuild)4
-rw-r--r--dev-python/pyproject-fmt/pyproject-fmt-2.6.0.ebuild2
-rw-r--r--dev-python/pytest-asyncio/Manifest1
-rw-r--r--dev-python/pytest-asyncio/pytest-asyncio-1.0.0.ebuild21
-rw-r--r--dev-python/pytest-asyncio/pytest-asyncio-1.0.0_alpha1.ebuild51
-rw-r--r--dev-python/pytest-datafiles/pytest-datafiles-3.0.0.ebuild2
-rw-r--r--dev-python/pytest-flask/pytest-flask-1.3.0.ebuild2
-rw-r--r--dev-python/pytest-lazy-fixtures/Manifest2
-rw-r--r--dev-python/pytest-lazy-fixtures/pytest-lazy-fixtures-1.2.0.ebuild32
-rw-r--r--dev-python/pytest-lazy-fixtures/pytest-lazy-fixtures-1.3.0.ebuild37
-rw-r--r--dev-python/pytest-regressions/pytest-regressions-2.8.1.ebuild3
-rw-r--r--dev-python/python-dbusmock/Manifest1
-rw-r--r--dev-python/python-dbusmock/python-dbusmock-0.36.0.ebuild53
-rw-r--r--dev-python/python-designateclient/Manifest2
-rw-r--r--dev-python/python-designateclient/python-designateclient-6.3.0.ebuild (renamed from dev-python/python-designateclient/python-designateclient-6.2.0.ebuild)0
-rw-r--r--dev-python/python-dotenv/Manifest1
-rw-r--r--dev-python/python-dotenv/python-dotenv-1.1.0.ebuild47
-rw-r--r--dev-python/python-dotenv/python-dotenv-1.1.1.ebuild2
-rw-r--r--dev-python/python-manilaclient/Manifest2
-rw-r--r--dev-python/python-manilaclient/python-manilaclient-5.5.0.ebuild (renamed from dev-python/python-manilaclient/python-manilaclient-5.4.0.ebuild)0
-rw-r--r--dev-python/python-octaviaclient/Manifest2
-rw-r--r--dev-python/python-octaviaclient/python-octaviaclient-3.11.1.ebuild (renamed from dev-python/python-octaviaclient/python-octaviaclient-3.10.0-r1.ebuild)0
-rw-r--r--dev-python/python-tests/Manifest3
-rw-r--r--dev-python/python-tests/python-tests-0.3.13.5.ebuild (renamed from dev-python/python-tests/python-tests-0.3.14.0_beta3.ebuild)12
-rw-r--r--dev-python/python-tests/python-tests-3.14.0_beta3.ebuild72
-rw-r--r--dev-python/pytools/Manifest3
-rw-r--r--dev-python/pytools/pytools-2025.1.6.ebuild31
-rw-r--r--dev-python/pytools/pytools-2025.1.7.ebuild2
-rw-r--r--dev-python/pytools/pytools-2025.2.2.ebuild (renamed from dev-python/pytools/pytools-2025.2.ebuild)0
-rw-r--r--dev-python/pyudev/metadata.xml3
-rw-r--r--dev-python/pyudev/pyudev-0.24.3.ebuild1
-rw-r--r--dev-python/pyzmq/pyzmq-27.0.0.ebuild2
-rw-r--r--dev-python/pyzstd/metadata.xml8
-rw-r--r--dev-python/pyzstd/pyzstd-0.17.0.ebuild29
-rw-r--r--dev-python/readthedocs-sphinx-ext/readthedocs-sphinx-ext-2.2.5.ebuild2
-rw-r--r--dev-python/reportlab/reportlab-4.4.2.ebuild2
-rw-r--r--dev-python/resolvelib/metadata.xml1
-rw-r--r--dev-python/resolvelib/resolvelib-1.2.0.ebuild2
-rw-r--r--dev-python/respx/files/respx-0.22.0-tests-flexibility.patch98
-rw-r--r--dev-python/respx/respx-0.22.0-r1.ebuild (renamed from dev-python/respx/respx-0.22.0-r2.ebuild)6
-rw-r--r--dev-python/retrying/Manifest3
-rw-r--r--dev-python/retrying/retrying-1.3.4.ebuild29
-rw-r--r--dev-python/retrying/retrying-1.3.5.ebuild29
-rw-r--r--dev-python/retrying/retrying-1.3.6.ebuild26
-rw-r--r--dev-python/retrying/retrying-1.3.7.ebuild2
-rw-r--r--dev-python/rope/Manifest1
-rw-r--r--dev-python/rope/rope-1.14.0.ebuild44
-rw-r--r--dev-python/rpds-py/rpds-py-0.25.1.ebuild2
-rw-r--r--dev-python/scikit-build-core/Manifest3
-rw-r--r--dev-python/scikit-build-core/scikit-build-core-0.11.1.ebuild60
-rw-r--r--dev-python/scikit-build-core/scikit-build-core-0.11.3.ebuild56
-rw-r--r--dev-python/scikit-build-core/scikit-build-core-0.11.4.ebuild56
-rw-r--r--dev-python/scikit-build-core/scikit-build-core-0.11.5.ebuild2
-rw-r--r--dev-python/scipy/scipy-1.15.2.ebuild2
-rw-r--r--dev-python/scipy/scipy-1.15.3.ebuild2
-rw-r--r--dev-python/scipy/scipy-1.16.0.ebuild15
-rw-r--r--dev-python/selenium/selenium-4.33.0-r1.ebuild2
-rw-r--r--dev-python/sphinx-prompt/Manifest1
-rw-r--r--dev-python/sphinx-prompt/sphinx-prompt-1.10.0.ebuild2
-rw-r--r--dev-python/sphinx-prompt/sphinx-prompt-1.9.0.ebuild43
-rw-r--r--dev-python/sphinx-rtd-theme/sphinx-rtd-theme-3.0.2.ebuild2
-rw-r--r--dev-python/sphinxcontrib-katex/Manifest2
-rw-r--r--dev-python/sphinxcontrib-katex/files/sphinxcontrib-katex-0.9.11_fix_install.patch28
-rw-r--r--dev-python/sphinxcontrib-katex/sphinxcontrib-katex-0.9.10.ebuild2
-rw-r--r--dev-python/sphinxcontrib-katex/sphinxcontrib-katex-0.9.11.ebuild (renamed from dev-python/sphinxcontrib-katex/sphinxcontrib-katex-0.9.9.ebuild)15
-rw-r--r--dev-python/sphinxcontrib-mermaid/Manifest1
-rw-r--r--dev-python/sphinxcontrib-mermaid/metadata.xml13
-rw-r--r--dev-python/sphinxcontrib-mermaid/sphinxcontrib-mermaid-1.0.0.ebuild47
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-2.0.41.ebuild2
-rw-r--r--dev-python/starlette/Manifest1
-rw-r--r--dev-python/starlette/starlette-0.47.0.ebuild57
-rw-r--r--dev-python/starlette/starlette-0.47.1.ebuild2
-rw-r--r--dev-python/tavern/Manifest1
-rw-r--r--dev-python/tavern/tavern-2.16.0.ebuild69
-rw-r--r--dev-python/tempest/Manifest1
-rw-r--r--dev-python/tempest/tempest-43.0.0.ebuild75
-rw-r--r--dev-python/tempest/tempest-44.0.0.ebuild2
-rw-r--r--dev-python/tempora/Manifest1
-rw-r--r--dev-python/tempora/tempora-5.8.0.ebuild37
-rw-r--r--dev-python/tempora/tempora-5.8.1.ebuild2
-rw-r--r--dev-python/tornado/Manifest2
-rw-r--r--dev-python/tornado/files/tornado-6.3.2-test-timeout-increase.patch15
-rw-r--r--dev-python/tornado/tornado-6.4.2.ebuild61
-rw-r--r--dev-python/tornado/tornado-6.5.1.ebuild2
-rw-r--r--dev-python/tornado/tornado-6.5.ebuild60
-rw-r--r--dev-python/trimesh/Manifest1
-rw-r--r--dev-python/trimesh/trimesh-4.6.12.ebuild79
-rw-r--r--dev-python/trimesh/trimesh-4.6.13.ebuild2
-rw-r--r--dev-python/twisted/twisted-25.5.0.ebuild2
-rw-r--r--dev-python/txaio/Manifest2
-rw-r--r--dev-python/txaio/txaio-23.1.1.ebuild41
-rw-r--r--dev-python/txaio/txaio-23.6.1.ebuild39
-rw-r--r--dev-python/txaio/txaio-25.6.1.ebuild2
-rw-r--r--dev-python/types-docutils/Manifest1
-rw-r--r--dev-python/types-docutils/types-docutils-0.21.0.20250715.ebuild16
-rw-r--r--dev-python/types-gdb/Manifest1
-rw-r--r--dev-python/types-gdb/types-gdb-15.0.0.20250713.ebuild16
-rw-r--r--dev-python/typing-inspection/typing-inspection-0.4.1.ebuild2
-rw-r--r--dev-python/uv-build/Manifest1
-rw-r--r--dev-python/uv-build/uv-build-0.7.21.ebuild99
-rw-r--r--dev-python/uv/Manifest2
-rw-r--r--dev-python/uv/uv-0.7.21.ebuild184
-rw-r--r--dev-python/versioningit/Manifest1
-rw-r--r--dev-python/versioningit/versioningit-3.2.0.ebuild52
-rw-r--r--dev-python/versioningit/versioningit-3.3.0.ebuild2
-rw-r--r--dev-python/wand/wand-0.6.13.ebuild2
-rw-r--r--dev-python/watchfiles/watchfiles-1.1.0.ebuild2
-rw-r--r--dev-python/wcmatch/Manifest1
-rw-r--r--dev-python/wcmatch/wcmatch-10.0.ebuild61
-rw-r--r--dev-python/wcmatch/wcmatch-10.1.ebuild2
-rw-r--r--dev-python/xcffib/xcffib-1.9.0.ebuild2
-rw-r--r--dev-python/yarl/Manifest3
-rw-r--r--dev-python/yarl/yarl-1.18.3.ebuild66
-rw-r--r--dev-python/yarl/yarl-1.19.0.ebuild66
-rw-r--r--dev-python/yarl/yarl-1.20.0.ebuild66
-rw-r--r--dev-python/yarl/yarl-1.20.1.ebuild2
-rw-r--r--dev-python/zlib-ng/zlib-ng-0.5.1.ebuild2
-rw-r--r--dev-python/zope-event/Manifest1
-rw-r--r--dev-python/zope-event/zope-event-5.0.ebuild44
-rw-r--r--dev-python/zope-event/zope-event-5.1.ebuild2
-rw-r--r--dev-python/zstandard/zstandard-0.23.0-r3.ebuild2
373 files changed, 2870 insertions, 6639 deletions
diff --git a/dev-python/aiodns/Manifest b/dev-python/aiodns/Manifest
index 46c32b652597..3707cc94fd14 100644
--- a/dev-python/aiodns/Manifest
+++ b/dev-python/aiodns/Manifest
@@ -1,2 +1 @@
-DIST aiodns-3.4.0.tar.gz 11433 BLAKE2B b829639ebe3f09b75da8a94bdfd4f8ca90c21710625e8dfb029747ca2fa2ffc37a7c2f1c948b36568b26547daf06881f254d7536909556e42c5394ee13202514 SHA512 0e9d703f13676e5dc057335dc0aa41e694da28ac727e6c5662f9888f225329cc14e4e01e2dfa9e56c72a755393cbc7e70e578cfb1675f71526dfaa0e26f35d69
DIST aiodns-3.5.0.tar.gz 14380 BLAKE2B 7b34d94e7376a0f9ddc5f002bcde64ac15dd31bec97801a35e1b1040f687d5775b5497ba7b76417c45d5cfb35b670d0bce5421e9d6703c7bffe648ee91afaf13 SHA512 0d833cd26db549a06b8bd62835bcac008e24ea4f010065186ff3ca5629c08527eb2c29e6d3f307b8db5d809b264298d3669452a782c19d2454e0b2ce394c814c
diff --git a/dev-python/aiodns/aiodns-3.4.0.ebuild b/dev-python/aiodns/aiodns-3.4.0.ebuild
deleted file mode 100644
index 6b6ccc1d6c9c..000000000000
--- a/dev-python/aiodns/aiodns-3.4.0.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} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Simple DNS resolver for asyncio"
-HOMEPAGE="
- https://pypi.org/project/aiodns/
- https://github.com/aio-libs/aiodns/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-# Tests fail with network-sandbox, since they try to resolve google.com
-PROPERTIES="test_network"
-RESTRICT="test"
-
-RDEPEND=">=dev-python/pycares-3[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p asyncio --asyncio-mode=auto
-}
diff --git a/dev-python/aiodns/aiodns-3.5.0.ebuild b/dev-python/aiodns/aiodns-3.5.0.ebuild
index a9000209a747..a4896b6ad77c 100644
--- a/dev-python/aiodns/aiodns-3.5.0.ebuild
+++ b/dev-python/aiodns/aiodns-3.5.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ~ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
# Tests fail with network-sandbox, since they try to resolve google.com
PROPERTIES="test_network"
RESTRICT="test"
diff --git a/dev-python/aiohttp/Manifest b/dev-python/aiohttp/Manifest
index 026cc0432b16..cadc21d56ba6 100644
--- a/dev-python/aiohttp/Manifest
+++ b/dev-python/aiohttp/Manifest
@@ -1,6 +1,3 @@
-DIST aiohttp-3.11.14.tar.gz 7676994 BLAKE2B e8e048c01db9600df3bdc7bdc6e5066094b4575d08fef3ec7d0a78763a701cd3501dce435b80d3fbea28d2e7bf4110a5cc9e0ccec2bc3745835cadcb27528404 SHA512 38e51d3640b533d9bd639a59657bf7affbfc0b1a9dc40d77175d6528044e23b1e524589b9a10e0159eb8f9ba29e96b3e67529a9d11f1c53760a70800d813d13f
DIST aiohttp-3.11.18.tar.gz 7678653 BLAKE2B 5886778fd0456ef40f1da5abd3d6a3864db03fad01d53755bb34afd77152da338480ba534c5dc1574bd5aa178943ec52814f1ceff736d668868803b19f6c102f SHA512 9b25ad5f9800cd84014c55f6a4f7ac217a788a43e301a83c18667b6f294388adf53c81360fd3219007b10b42ce165331dad1907582dc9d3081fd8585b5bcd042
-DIST aiohttp-3.12.11.tar.gz 7814403 BLAKE2B c08c9ad1a8d194e3d50e92c3c42f50031c0e6592eaab19fc80a4a80ae3a1ce63218b4c54307fed137c83a759207909a5023320e3906aa717944cfdc046457a10 SHA512 9be3e04fad4b2d3b3a72fdfb4a0cfb1cfbe19d3e2beb4589166c6f6aad017e42d4164a0fa542a18935e86cbffdf8c7f20a261a99ba7bcead42ce0f8a1b783b4e
-DIST aiohttp-3.12.12.tar.gz 7818643 BLAKE2B 95086465a2645505d42f61ee8dfc68d094ea692946fe98550f3afa25bff5427315c9a66d3c6e906f15e4136c634ee9b812eb0467d2bc7a43610a6fac75ac48ab SHA512 a9d127dd7098fc4661c5d1c421161696f07d38163ba7df2e87fc142d6815589615ea76cbe966aa2f24bf0e8c3737c03149104e769cca5d2c2b55d86739aa90f8
DIST aiohttp-3.12.13.tar.gz 7819160 BLAKE2B 32584507d6d48a80c8034b0095af1fbbb74f75066e517205c05b7561bf5d7087e89031405dcba5a84c2d686310c44005ede7a67b421153b9d235c0e37c2cf6d9 SHA512 e384a7581a7e0944a7283adcf70b84c3a4f6a04ddf5fafbff74d1919bd46a3fddfd7fd830189278d7d17717ca65695cf0aa26ebbf38d08e850453887a5b7f487
DIST aiohttp-3.12.14.tar.gz 7822921 BLAKE2B 2cbba98737ee1a00083e5a7f4ae2fbfc22bee07634a85c9b7de9bea09d3478be78b0460a9a40d6fe7b9a88a7a5d3ba7a2e446963affb50dca58c6030aa42d6ef SHA512 7031ecc166b10663c56f1ece854d272bf9b26160aef026f13a7ef820a3cbf34ed6d1301a08b440308df5bda08f83f1cba504eacf1a85c7cf2721df1b4facc75a
diff --git a/dev-python/aiohttp/aiohttp-3.11.14.ebuild b/dev-python/aiohttp/aiohttp-3.11.14.ebuild
deleted file mode 100644
index e49a093613f7..000000000000
--- a/dev-python/aiohttp/aiohttp-3.11.14.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_{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 arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="+native-extensions test-rust"
-
-RDEPEND="
- >=dev-python/aiodns-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/aiohappyeyeballs-2.3.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}]
- $(python_gen_cond_dep '
- <dev-python/async-timeout-6[${PYTHON_USEDEP}]
- >=dev-python/async-timeout-4.0[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- >=dev-python/multidict-4.5.0[${PYTHON_USEDEP}]
- native-extensions? (
- dev-python/cython[${PYTHON_USEDEP}]
- )
- test? (
- dev-python/freezegun[${PYTHON_USEDEP}]
- www-servers/gunicorn[${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*')
- test-rust? (
- dev-python/trustme[${PYTHON_USEDEP}]
- )
- )
-"
-
-DOCS=( CHANGES.rst CONTRIBUTORS.txt README.rst )
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-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
-
- distutils-r1_src_prepare
-}
-
-python_configure() {
- if [[ ! -d tools && ${EPYTHON} != pypy3 ]] && use native-extensions
- then
- # workaround missing files
- mkdir tools || die
- > requirements/cython.txt || die
- > tools/gen.py || die
- chmod +x tools/gen.py || die
- # force rehashing first
- emake requirements/.hash/cython.txt.hash
- > .update-pip || die
- > .install-cython || die
- emake cythonize
- fi
-}
-
-python_compile() {
- # implicitly disabled for pypy3
- if ! 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
- # broken by irrelevant deprecation warnings
- tests/test_circular_imports.py::test_no_warnings
- )
-
- # 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.11.18.ebuild b/dev-python/aiohttp/aiohttp-3.11.18.ebuild
index 2427dd010609..91989ccacf18 100644
--- a/dev-python/aiohttp/aiohttp-3.11.18.ebuild
+++ b/dev-python/aiohttp/aiohttp-3.11.18.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="+native-extensions test-rust"
DEPEND="
diff --git a/dev-python/aiohttp/aiohttp-3.12.11.ebuild b/dev-python/aiohttp/aiohttp-3.12.11.ebuild
deleted file mode 100644
index 562da68a921d..000000000000
--- a/dev-python/aiohttp/aiohttp-3.12.11.ebuild
+++ /dev/null
@@ -1,158 +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_{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 ~arm64 ~riscv ~s390 ~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_nonzero_passed
- tests/test_connector.py::test_tcp_connector_ssl_shutdown_timeout_passed_to_create_connection
- tests/test_connector.py::test_tcp_connector_ssl_shutdown_timeout_zero_not_passed
- # 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.12.ebuild b/dev-python/aiohttp/aiohttp-3.12.12.ebuild
deleted file mode 100644
index 562da68a921d..000000000000
--- a/dev-python/aiohttp/aiohttp-3.12.12.ebuild
+++ /dev/null
@@ -1,158 +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_{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 ~arm64 ~riscv ~s390 ~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_nonzero_passed
- tests/test_connector.py::test_tcp_connector_ssl_shutdown_timeout_passed_to_create_connection
- tests/test_connector.py::test_tcp_connector_ssl_shutdown_timeout_zero_not_passed
- # 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.13.ebuild b/dev-python/aiohttp/aiohttp-3.12.13.ebuild
index c299ca3169e2..d0dd168bd2e8 100644
--- a/dev-python/aiohttp/aiohttp-3.12.13.ebuild
+++ b/dev-python/aiohttp/aiohttp-3.12.13.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="+native-extensions test-rust"
DEPEND="
diff --git a/dev-python/apsw/Manifest b/dev-python/apsw/Manifest
index ba4678acbd5d..15fde9857dc7 100644
--- a/dev-python/apsw/Manifest
+++ b/dev-python/apsw/Manifest
@@ -1,3 +1,5 @@
DIST apsw-3.49.1.0.zip 2452578 BLAKE2B 86668de3ffd71581611e1cb2dc8b249d8d104626e167eab3c98cb20747bbed17dc15517808e3c361f13adf89e8af515cffc55d7b3e1c4c75bdaeab37aff8ae16 SHA512 faae9cceb462428345fd2815a970dfc80574848f87bade7cceb09aed17127d020fd16402b3d36afe0fbc6bf707a408feea0ce038486c2a68a2ab1077a9b68d0a
+DIST apsw-3.49.2.0.zip 2440796 BLAKE2B 0984ba94a581d9cdc72d0a9f4dd823207cd7b6cef8b783653c1b750f638d61a68e928bb0189756da9cc15e0dc7b3c6ca0557ac885b9f08cbda47d0e404b352ac SHA512 9367a56c217a4879c771da2bcb8888afc572c8bd47e4b370610fd915320f5e66ba82856180b0bc314814f236e94ef4a715de4c4fd7df67137316441a5e436c07
DIST apsw-3.50.0.0.zip 2530510 BLAKE2B ae129f716ffa2b560e1983513c9cdace5225fda846be64080035f083d0b6e6fedc2367a7039aeb33b373076449862794932db331f0a7c3488e95e3e3c1af7fcf SHA512 90c2df39cf6f2347449b809688c4789105f1e74b19292c82bf7271e6ba4f5ef70a71da65f8e8aec8b34ca16ea1e4ff7fbf386500b9d09958a9611e09c788e91c
DIST apsw-3.50.1.0.zip 2531812 BLAKE2B b187040c31470c975230c09053a09e608b80a2bba0ecf1edbf91ed2c5754d4b52d4a5310275ad3c4900e177124fa2a42f1e895ed607e509289862cfe5fc61e1a SHA512 d4d8e543950587bb772bc9bc04f0882378f430998ba26e1b0dc2bdee46c4a5e1539100770e4d2d9c800a37958730c0e24178cefbfaf01debb2367d738e1ecbde
+DIST apsw-3.50.2.0.zip 2532293 BLAKE2B fbaafb0936bfd3925044615f3ff966162557e34b66c8e2fef4cdf1fdd71d0acf295d52ef94b6c3f4253e76cd506674b6f142c051157ac62e3adabfa154535ed8 SHA512 937c58fcaa62ce71ad64535ee613c1d35f5f46d0951c991f473c94e6c23fc979017a31e4a44af922054529dbb2f33dd5048f7b6e694452f17514d802c56b1d6d
diff --git a/dev-python/apsw/apsw-3.49.2.0.ebuild b/dev-python/apsw/apsw-3.49.2.0.ebuild
new file mode 100644
index 000000000000..73657f2fbf98
--- /dev/null
+++ b/dev-python/apsw/apsw-3.49.2.0.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="APSW - Another Python SQLite Wrapper"
+HOMEPAGE="
+ https://github.com/rogerbinns/apsw/
+ https://pypi.org/project/apsw/
+"
+SRC_URI="
+ https://github.com/rogerbinns/apsw/releases/download/${PV}/${P}.zip
+"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+IUSE="doc"
+
+DEPEND="
+ >=dev-db/sqlite-${PV%.*}:3
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ app-arch/unzip
+"
+
+src_configure() {
+ cat >> setup.apsw <<-EOF || die
+ [build_ext]
+ use_system_sqlite_config=True
+ EOF
+}
+
+python_test() {
+ esetup.py build_test_extension
+ cd "${T}" || die
+ "${EPYTHON}" -m apsw.tests -v || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ doman man/apsw.1
+ use doc && local HTML_DOCS=( doc/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/apsw/apsw-3.50.2.0.ebuild b/dev-python/apsw/apsw-3.50.2.0.ebuild
new file mode 100644
index 000000000000..bbde61020ea5
--- /dev/null
+++ b/dev-python/apsw/apsw-3.50.2.0.ebuild
@@ -0,0 +1,53 @@
+# 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 distutils-r1
+
+DESCRIPTION="APSW - Another Python SQLite Wrapper"
+HOMEPAGE="
+ https://github.com/rogerbinns/apsw/
+ https://pypi.org/project/apsw/
+"
+SRC_URI="
+ https://github.com/rogerbinns/apsw/releases/download/${PV}/${P}.zip
+"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+IUSE="doc"
+
+DEPEND="
+ >=dev-db/sqlite-${PV%.*}:3
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ app-arch/unzip
+"
+
+src_configure() {
+ cat >> setup.apsw <<-EOF || die
+ [build_ext]
+ use_system_sqlite_config=True
+ EOF
+}
+
+python_test() {
+ esetup.py build_test_extension
+ cd "${T}" || die
+ "${EPYTHON}" -m apsw.tests -v || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ doman man/apsw.1
+ use doc && local HTML_DOCS=( doc/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/argon2-cffi/Manifest b/dev-python/argon2-cffi/Manifest
index 6ae04674be6c..a199f53cd5a1 100644
--- a/dev-python/argon2-cffi/Manifest
+++ b/dev-python/argon2-cffi/Manifest
@@ -1,2 +1 @@
-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-23.1.0.ebuild b/dev-python/argon2-cffi/argon2-cffi-23.1.0.ebuild
deleted file mode 100644
index fc846d76960a..000000000000
--- a/dev-python/argon2-cffi/argon2-cffi-23.1.0.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="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/argon2-cffi/argon2-cffi-25.1.0.ebuild b/dev-python/argon2-cffi/argon2-cffi-25.1.0.ebuild
index caac5c468d2d..fc846d76960a 100644
--- a/dev-python/argon2-cffi/argon2-cffi-25.1.0.ebuild
+++ b/dev-python/argon2-cffi/argon2-cffi-25.1.0.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/argon2-cffi-bindings-21.2.0[${PYTHON_USEDEP}]
diff --git a/dev-python/astroid/Manifest b/dev-python/astroid/Manifest
index 10782d3830da..ef8bce72706f 100644
--- a/dev-python/astroid/Manifest
+++ b/dev-python/astroid/Manifest
@@ -1 +1,2 @@
DIST astroid-3.3.10.gh.tar.gz 467911 BLAKE2B da2e62ff056298bd0dc7aed3a9ab5af25968a2343a5339d409a2d03f0043cbe6024e1440332c797f3645db4b836f54b1a7ea2dbd09f3d49ee765a19d0bd0d15c SHA512 bec58f47f26a56f3700a6f10add2b90c018a2127b35036e1e4fc1d6c41fb35b67362195c506affba9ddf8ea120993e17adb562b799f1ee45622c79def4547e84
+DIST astroid-3.3.11.gh.tar.gz 469464 BLAKE2B cb2ad429fa303e1049de685079d814696f9a907f75d85e0eb6aadef34d791ca2564e2727aff604e1f15b8bdd262b6c5dbfaa64193bac008d39e9bb7e642254cc SHA512 7dd0fae9fa6135abb505af567731f9062ea5f45b5c2e9c613fd1c5cbeeb409779a620cde3ecc42cd8a0733ccebc58b5e8e66baa1a38b6f46b1d3fcf2e33914b5
diff --git a/dev-python/astroid/astroid-3.3.11.ebuild b/dev-python/astroid/astroid-3.3.11.ebuild
new file mode 100644
index 000000000000..e988729818d9
--- /dev/null
+++ b/dev-python/astroid/astroid-3.3.11.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Abstract Syntax Tree for logilab packages"
+HOMEPAGE="
+ https://github.com/pylint-dev/astroid/
+ https://pypi.org/project/astroid/
+"
+SRC_URI="
+ https://github.com/pylint-dev/astroid/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+# dev-python/regex isn't available for pypy
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/attrs[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.17.0[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/regex[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+python_test() {
+ local EPYTEST_IGNORE=()
+ local EPYTEST_DESELECT=(
+ # hangs
+ tests/test_nodes.py::AsStringTest::test_recursion_error_trapped
+ # no clue why they're broken
+ tests/test_modutils.py::GetModulePartTest::test_known_values_get_builtin_module_part
+ # TODO
+ tests/test_builder.py::BuilderTest::test_data_build_error_filename
+ # numpy-2 (https://github.com/pylint-dev/astroid/issues/2442)
+ tests/brain/numpy/test_core_einsumfunc.py::test_numpy_function_calls_inferred_as_ndarray
+ tests/brain/numpy/test_core_fromnumeric.py::BrainNumpyCoreFromNumericTest::test_numpy_function_calls_inferred_as_ndarray
+ tests/brain/numpy/test_core_multiarray.py::BrainNumpyCoreMultiarrayTest::test_numpy_function_calls_inferred_as_ndarray
+ tests/brain/numpy/test_core_numerictypes.py::NumpyBrainCoreNumericTypesTest::test_datetime_astype_return
+ tests/brain/numpy/test_core_numerictypes.py::NumpyBrainCoreNumericTypesTest::test_generic_types_are_subscriptables
+ tests/brain/numpy/test_core_umath.py::NumpyBrainCoreUmathTest::test_numpy_core_umath_functions_return_type
+ tests/brain/numpy/test_core_umath.py::NumpyBrainCoreUmathTest::test_numpy_core_umath_functions_return_type_tuple
+ # old pythons only
+ tests/brain/test_dataclasses.py::test_pydantic_field
+ tests/test_regrtest.py::NonRegressionTests::test_numpy_distutils
+ )
+
+ if ! has_version "dev-python/mypy[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ tests/test_raw_building.py
+ )
+ fi
+
+ epytest
+}
diff --git a/dev-python/audioop-lts/audioop-lts-0.2.1.ebuild b/dev-python/audioop-lts/audioop-lts-0.2.1.ebuild
index 0e5a614c05ac..aa6914b515a0 100644
--- a/dev-python/audioop-lts/audioop-lts-0.2.1.ebuild
+++ b/dev-python/audioop-lts/audioop-lts-0.2.1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="PSF-2"
SLOT="0"
-KEYWORDS="amd64 arm64"
+KEYWORDS="amd64 arm64 ~x86"
distutils_enable_tests pytest
diff --git a/dev-python/audioread/audioread-3.0.1-r1.ebuild b/dev-python/audioread/audioread-3.0.1-r1.ebuild
index ebb38c9ae3e6..ae92e63637ce 100644
--- a/dev-python/audioread/audioread-3.0.1-r1.ebuild
+++ b/dev-python/audioread/audioread-3.0.1-r1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm64"
+KEYWORDS="amd64 arm64 ~x86"
IUSE="ffmpeg gstreamer mad"
RDEPEND="
diff --git a/dev-python/b2sdk/b2sdk-2.9.4.ebuild b/dev-python/b2sdk/b2sdk-2.9.4-r1.ebuild
index abbec21a2522..0408c5267d48 100644
--- a/dev-python/b2sdk/b2sdk-2.9.4.ebuild
+++ b/dev-python/b2sdk/b2sdk-2.9.4-r1.ebuild
@@ -23,13 +23,14 @@ KEYWORDS="~amd64"
# pydantic can be used but it has a fallback
RDEPEND="
- dev-python/logfury[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
+ >=dev-python/annotated-types-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/logfury-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.9.1[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
dev-python/pytest-lazy-fixtures[${PYTHON_USEDEP}]
- dev-python/tqdm[${PYTHON_USEDEP}]
+ >=dev-python/tqdm-4.5.0[${PYTHON_USEDEP}]
)
"
diff --git a/dev-python/backrefs/Manifest b/dev-python/backrefs/Manifest
index 0de5620e5857..02b1388b0246 100644
--- a/dev-python/backrefs/Manifest
+++ b/dev-python/backrefs/Manifest
@@ -1,2 +1 @@
-DIST backrefs-5.8.tar.gz 6773994 BLAKE2B e0d1c0c7acb379f2b151ed4e86ac6d574495ada1f96dd3173daafdbf15c769beb9b13a87b1aa23462b292b7df293dbf050a70c4f00a625f168065acce718ee39 SHA512 d0a704179678cf90c3dea080ccca4ab05338393af3ae6a56c108d7aa6ea8797ccea590177f137b552265b63d17528f93bbd1726819199bd3405d1b9dff99cd12
DIST backrefs-5.9.tar.gz 5765857 BLAKE2B ab890ecafc57c5e5e26fe0dc199fd431dd2369f342113c660d8c915fa7708b775989aa0ef7078c77c172583b57f00733410f5ff6a4bf3c7aa451eec0ab6a99d7 SHA512 edd26abe9765284a633bb05ddba36869ad80bc57f37065aba05614398476a1b2bfe94fe51ca7de201905c8e7ed4e5582b19610a5b2d13023abfbfd8ebb477b2c
diff --git a/dev-python/backrefs/backrefs-5.8.ebuild b/dev-python/backrefs/backrefs-5.8.ebuild
deleted file mode 100644
index d4c2c4a243b1..000000000000
--- a/dev-python/backrefs/backrefs-5.8.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{11..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Wrapper around re or regex that adds additional back references"
-HOMEPAGE="
- https://github.com/facelessuser/backrefs/
- https://pypi.org/project/backrefs/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~riscv x86"
-
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/regex[${PYTHON_USEDEP}]
- dev-vcs/git
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/backrefs/backrefs-5.9.ebuild b/dev-python/backrefs/backrefs-5.9.ebuild
index e58e4448622e..d4c2c4a243b1 100644
--- a/dev-python/backrefs/backrefs-5.9.ebuild
+++ b/dev-python/backrefs/backrefs-5.9.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+KEYWORDS="amd64 arm64 ~riscv x86"
BDEPEND="
test? (
diff --git a/dev-python/bitarray/Manifest b/dev-python/bitarray/Manifest
index bc33d8733d7d..cec7b6315584 100644
--- a/dev-python/bitarray/Manifest
+++ b/dev-python/bitarray/Manifest
@@ -1,3 +1,3 @@
-DIST bitarray-3.4.2.tar.gz 143756 BLAKE2B a3b6f54d05b5bb9e77d1384202c6ecc869553064bdcbe18d8c135dfc2d5e7ba55abb2f075238ef85a3a2a11da6308eea2bce5d519a94a9de517bd809d4a8facc SHA512 28dc796f1a25833bfc54035bb9e33d923f8e6ea85b5977cbdf0febd5a189cbd561e3295e6dd06a3f2f5df7b55c5bc3a5b8197d8c47af27e6478cbe2f0d8bc876
DIST bitarray-3.4.3.tar.gz 143930 BLAKE2B 6a41725fa551429dfd1715fde7543520362dbbe193bc8fe60a44508bc88e4d24eb74e28d65f7a32c1129713d2ae11fcac8562d23e5d5ecfb06e3355ffdb46f01 SHA512 4129ccd84ffc698a05f1625307b9becbdc46d9adacff73ea8b82d250da9a2a7071c132a2491b63b5018b3d444038311c35274b33a5a70178bb9bd62c770ed845
DIST bitarray-3.5.0.tar.gz 148024 BLAKE2B ecfe33980cc5e4db191fb706deb3811135836cbc7c47011d43a767053490a3837d87d944c13d2acdfc2b236cf37ac93a46703fc4ebab6d93c2fd394b988b28a7 SHA512 e7d937367b873e5282d785ca0390f5f9e87fe734df733ccf7e77ca536a3e348d423561c4fc789459db9a5b00acf0f5ccc37185cbc55e13f3647db2397ff07778
+DIST bitarray-3.5.1.tar.gz 148859 BLAKE2B ea549d8a4de0f24c12692d7b89deea3f6f16ab1424e26301afdccdee3fd740261334376575fa26adc0d017e837357504d0830f48b165df25ca2964f63af1c29f SHA512 9b417a7c000b3b51fe2c278e82ebe5db4b78265fdd29089eb13098fcb3997a24eeb80c7a3efb1bd21addcfbec6359d2978ef1626bd89fcf2397cc3e1b1b823a4
diff --git a/dev-python/bitarray/bitarray-3.4.3.ebuild b/dev-python/bitarray/bitarray-3.4.3.ebuild
index a510687dc8fd..e988a6477fa3 100644
--- a/dev-python/bitarray/bitarray-3.4.3.ebuild
+++ b/dev-python/bitarray/bitarray-3.4.3.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="PSF-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~arm arm64 x86 ~amd64-linux ~x86-linux"
python_test() {
"${EPYTHON}" bitarray/test_bitarray.py -v || die "Tests fail with ${EPYTHON}"
diff --git a/dev-python/bitarray/bitarray-3.4.2.ebuild b/dev-python/bitarray/bitarray-3.5.1.ebuild
index e988a6477fa3..a510687dc8fd 100644
--- a/dev-python/bitarray/bitarray-3.4.2.ebuild
+++ b/dev-python/bitarray/bitarray-3.5.1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="PSF-2"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
python_test() {
"${EPYTHON}" bitarray/test_bitarray.py -v || die "Tests fail with ${EPYTHON}"
diff --git a/dev-python/blockbuster/Manifest b/dev-python/blockbuster/Manifest
index a26c71f56aa6..1da304e14799 100644
--- a/dev-python/blockbuster/Manifest
+++ b/dev-python/blockbuster/Manifest
@@ -1 +1,2 @@
DIST blockbuster-1.5.24.tar.gz 51245 BLAKE2B 6d1e6a66154603d0a485dd77041b24488a35f9b07ec7b833b3ef2893edaada798e1feca158ceed7ba347cfcc738adc52d846991ec90808aa6a523a03403988cd SHA512 f286c1fad7236783aae81111480a43c946819264c7584fe9cdc466cdfff0c63c5076a9c74397e5f37782f5957c68834a1db7640a5aeae2bc0a2961fc472e7824
+DIST blockbuster-1.5.25.tar.gz 36058 BLAKE2B 75accc4bcba23664206adcd1a5adbfe5b4f4fdae634370e89b72a3122d3908dbba96ea2387766bced0814c47dac9b2b1c1b57647977b90bbd729561d6a2fb205 SHA512 a5201166425fa4449d319ed7265e9ab51c8bff05e1ec84c79d2b5cc54effc70f047154583b2362d6a6b6d0a986cd4f4082e96079a013778507fc5906bf6b7cff
diff --git a/dev-python/blockbuster/blockbuster-1.5.24.ebuild b/dev-python/blockbuster/blockbuster-1.5.24.ebuild
index a57503506b94..373879779766 100644
--- a/dev-python/blockbuster/blockbuster-1.5.24.ebuild
+++ b/dev-python/blockbuster/blockbuster-1.5.24.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
$(python_gen_cond_dep '
diff --git a/dev-python/blockbuster/blockbuster-1.5.25.ebuild b/dev-python/blockbuster/blockbuster-1.5.25.ebuild
new file mode 100644
index 000000000000..ba4aef4437e3
--- /dev/null
+++ b/dev-python/blockbuster/blockbuster-1.5.25.ebuild
@@ -0,0 +1,60 @@
+# Copyright 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="Utility to detect blocking calls in the async event loop"
+HOMEPAGE="
+ https://github.com/cbornet/blockbuster/
+ https://pypi.org/project/blockbuster/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ >=dev-python/forbiddenfruit-0.1.4[${PYTHON_USEDEP}]
+ ' 'python*')
+"
+BDEPEND="
+ test? (
+ dev-python/aiofiles[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-asyncio )
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/test_blockbuster.py::test_ssl_socket
+ )
+
+ case ${EPYTHON} in
+ pypy3.11)
+ EPYTEST_DESELECT+=(
+ # upstream doesn't care, however that doesn't stop
+ # people from depending on it...
+ # https://github.com/cbornet/blockbuster/issues/47
+ tests/test_blockbuster.py::test_file_random
+ tests/test_blockbuster.py::test_file_read_bytes
+ tests/test_blockbuster.py::test_file_text
+ tests/test_blockbuster.py::test_file_write_bytes
+ tests/test_blockbuster.py::test_lock
+ tests/test_blockbuster.py::test_os_scandir
+ tests/test_blockbuster.py::test_scanned_modules
+ )
+ ;;
+ esac
+
+ epytest
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index bbb839e7fc6c..60f6a90fa1fd 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -1,4 +1,4 @@
-DIST boto3-1.38.41.gh.tar.gz 959656 BLAKE2B cf74e27c26735b9a02be41df7e077aed5e3df61fec3cef38fbf08e6b24bb23030579a92f28a717056a86d67251ce69aae82820c4d8af0d34f4d77076ebc45f1b SHA512 dc3110929ac801348f960c419d555160e315e3724101fc3ec551cb60520703fa77a4dd69744e99b8062402b0d53941aa5a7a006bece5a064de7491fbf2050a37
DIST boto3-1.38.46.gh.tar.gz 961156 BLAKE2B 36fe0a2d35176c3419f4a49148b77713e126371930dafa112aaba7f53ca483323500cf23d68fa27372130d07fb9aad090950959ad56c25ae7503f77e2a525905 SHA512 c15c90fad56f476014ef6ae8ff687e088114001750def69cefa25002d0d38a4fee60114943d2c5e7b70f7ecca497fbba987cc9b33bba5ff6637a5fe8aa079149
DIST boto3-1.39.3.gh.tar.gz 967377 BLAKE2B 239fcd2d4492d3848dc473c71cf3bf8cae80b844303c32cf0e405e810b18c892bf100705c39d81c196cd83288db2500331b9d706d481ebcfee8237d245af4bb1 SHA512 89a8e3bb96255c097ffa8a8d2dad6c18835d5404d502ba41fd500aac8dfb0d1229478b6d17e82e5668d00d6df604ade5a209a6c99f3d11fc956dee4c77c2452c
DIST boto3-1.39.4.gh.tar.gz 967954 BLAKE2B 5e63cfb5c2381605475c928c4aec6cf303b99ca13eb67377e5a283e07d0de35eb6846352976a854632e72c34477f964b32ffc8f0fc178d10d7e95df8d4a145cc SHA512 dbe389b4eb1e8ac1f425f34bb96c5baecc42acdc608bef7ddc31e1fbaa3baa6850504cb9513494a6ca782755ce9264fd0d794960eeb495678ef1cb3d2c85fe90
+DIST boto3-1.39.5.gh.tar.gz 969544 BLAKE2B 5be7e1aadcbc78a16b48301a7703d8cdbfabede67a07e5f4d7f835991f85a7436dd76fd3b7bd2cbd0aa3935fe80d1ae3446e559a7c7a9daec60464cbfd1b7c4c SHA512 85d725a10888b0ef95a65cb1a5c0470fb5ae22f8f629e5fdc1266dfaf025abe4e17b1ea811858c162a7cac00326d1212ce07004108dfc4af54305a780545b8de
diff --git a/dev-python/boto3/boto3-1.38.46.ebuild b/dev-python/boto3/boto3-1.38.46.ebuild
index bd6e26787db4..4ee5ecf7976b 100644
--- a/dev-python/boto3/boto3-1.38.46.ebuild
+++ b/dev-python/boto3/boto3-1.38.46.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
RDEPEND="
>=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
diff --git a/dev-python/boto3/boto3-1.38.41.ebuild b/dev-python/boto3/boto3-1.39.5.ebuild
index c9fb73a7ff36..bd6e26787db4 100644
--- a/dev-python/boto3/boto3-1.38.41.ebuild
+++ b/dev-python/boto3/boto3-1.39.5.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
RDEPEND="
>=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
@@ -28,6 +28,7 @@ RDEPEND="
>=dev-python/s3transfer-0.13.0[${PYTHON_USEDEP}]
"
+EPYTEST_PLUGINS=()
EPYTEST_XDIST=1
distutils_enable_tests pytest
@@ -48,6 +49,5 @@ 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 a1b9a364c090..712006944d9d 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -1,4 +1,4 @@
-DIST botocore-1.38.41.gh.tar.gz 14788068 BLAKE2B 3bc2cfb9e45235b076266a96fd3568753c267ab8a1ff438e21159c3d31cfa9f0c6b057ffda665006adacb69d75282c34f31d14095388ee120274dd60cc4e0f2d SHA512 de75b9799754cfa55fd54716ab088719f96403d2fc9b357751263f8382bb513f0526d9815cbff7c317fbd66508354e6024d622bd09d0bef035939f03f172a575
DIST botocore-1.38.46.gh.tar.gz 14834968 BLAKE2B 282c6ddef03b7c4a8f88fbc4816afd65fdac8c050ed2233974dfaa985ed001feaedbdf22fc770f56c1f0aa3fbd1d10e6115289e3c11efe672e3e6ac521eaedc7 SHA512 5fb4d2001084c63caa7c8619b55815d882b6f8b0738197d82919a33634205226dc20e06356b51b0022abfbde32a1585307a9b6058a0363d3a48a612206105c93
DIST botocore-1.39.3.gh.tar.gz 14896843 BLAKE2B a2ddac0665f108b8db6c0b365080d5c7ae762fffce9e9a27af43658e9a595a924651f15c4daee8e4dc996b94972a8ea829cba81b0057df25c3c304449bbb1e3b SHA512 56bb2b79964d41f11d15d628801eb0b4feba700449da2e0a4a79b293a59b81b37b66e2863320eba7847271533c5ab76eb3ff624e19ec32dd632884baf662cf62
DIST botocore-1.39.4.gh.tar.gz 14901512 BLAKE2B 08fc52957828be9ccee26f61c4c006679c4f47754d4ecdf15eecfbb991808035215d1aac24f5ddf76a64673b23132b555fcb24adf57aacda8679abd7b0a16040 SHA512 3a68c96000a4e393abb68a9ca843ad62b74decd12ba551fa642efd21095fb3de50f0eeb8ee71f8934e9efa47486a138ee7bad6f3f4408fd5eff0a0fbf5053e6e
+DIST botocore-1.39.5.gh.tar.gz 14926605 BLAKE2B 5027250eaeb74e8aa55f8f4dbef6ac8095a9588bbd7692fc78bfe337d614fdbd90ac0a687f4e94d921c3273faef888b9c255b75a9c8ec7972c4996b6b104e1fe SHA512 d13df9ecf7036bc88bedc05e82d69273209b1bfdc3691109b37444430659e90784b682b75abe795a0fda9f039a26157e7fbcd9c5b24cca3ac58cde21ba1ce4fc
diff --git a/dev-python/botocore/botocore-1.38.46.ebuild b/dev-python/botocore/botocore-1.38.46.ebuild
index a931fcaefec4..1d8d6070cb92 100644
--- a/dev-python/botocore/botocore-1.38.46.ebuild
+++ b/dev-python/botocore/botocore-1.38.46.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
RDEPEND="
<dev-python/jmespath-2[${PYTHON_USEDEP}]
diff --git a/dev-python/botocore/botocore-1.38.41.ebuild b/dev-python/botocore/botocore-1.39.5.ebuild
index ca4b89701cd0..a931fcaefec4 100644
--- a/dev-python/botocore/botocore-1.38.41.ebuild
+++ b/dev-python/botocore/botocore-1.39.5.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
RDEPEND="
<dev-python/jmespath-2[${PYTHON_USEDEP}]
@@ -38,6 +38,7 @@ BDEPEND="
)
"
+EPYTEST_PLUGINS=()
EPYTEST_XDIST=1
distutils_enable_tests pytest
@@ -62,6 +63,5 @@ python_test() {
tests/functional/test_six_threading.py::test_six_thread_safety
)
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest tests/{functional,unit}
}
diff --git a/dev-python/bottleneck/bottleneck-1.5.0.ebuild b/dev-python/bottleneck/bottleneck-1.5.0.ebuild
index 25921b1e4110..12d5c8302aa7 100644
--- a/dev-python/bottleneck/bottleneck-1.5.0.ebuild
+++ b/dev-python/bottleneck/bottleneck-1.5.0.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
DEPEND="
>=dev-python/numpy-1.9.1:=[${PYTHON_USEDEP}]
diff --git a/dev-python/bracex/Manifest b/dev-python/bracex/Manifest
index b08253efaf67..ab38611b10f7 100644
--- a/dev-python/bracex/Manifest
+++ b/dev-python/bracex/Manifest
@@ -1,2 +1 @@
-DIST bracex-2.5.post1.tar.gz 26641 BLAKE2B ac437977f37e81ce5e5a829e50d71629aa13c22328da2d57fdf7b668be28b87d3720f3e7cae05518fc8ad975de69b8cebbea528bb539d3200c8b1a70537a6434 SHA512 f1eca0a27ad3556513573088c9d0e2afe41fb08c45bdd6dc62828936d8aa532a5757e95eafa1f65bd6802b8f315e7d2d63e01af706a066c656570b06ea8d835f
DIST bracex-2.6.tar.gz 26642 BLAKE2B 283e73a59afb6f90a59c4fb11ba999a13284a2044817feed9af952564387e5caf7e2900bf4bc6ebcc5c9dfce803784d842d9ad0bda6abf8217f0891265a5f148 SHA512 2cd9967751a904d766a07817348727ae913c250b61696e75979c1873f5fe4ef0590a2b78998a784d847f3b6bbbd17b9d5d284b685f642df9f6504bf90233abc0
diff --git a/dev-python/bracex/bracex-2.5_p1.ebuild b/dev-python/bracex/bracex-2.5_p1.ebuild
deleted file mode 100644
index a079d0038c12..000000000000
--- a/dev-python/bracex/bracex-2.5_p1.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-DISTUTILS_USE_PEP517=hatchling
-
-DOCS_BUILDER="mkdocs"
-DOCS_DEPEND="
- dev-python/mkdocs-git-revision-date-localized-plugin
- dev-python/mkdocs-material
- dev-python/mkdocs-minify-plugin
- dev-python/mkdocs-pymdownx-material-extras
- dev-python/pyspelling
-"
-
-inherit distutils-r1 docs pypi
-
-DESCRIPTION="Bash style brace expansion for Python"
-HOMEPAGE="
- https://github.com/facelessuser/bracex/
- https://pypi.org/project/bracex/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-BDEPEND="
- test? (
- dev-vcs/git
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # mkdocs-git-revision-date-localized-plugin needs git repo
- if use doc; then
- git init || die
- git config --global user.email "you@example.com" || die
- git config --global user.name "Your Name" || die
- git add . || die
- git commit -m 'init' || die
- fi
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/bracex/bracex-2.6.ebuild b/dev-python/bracex/bracex-2.6.ebuild
index 4c49e9910c06..5b3db8d6595f 100644
--- a/dev-python/bracex/bracex-2.6.ebuild
+++ b/dev-python/bracex/bracex-2.6.ebuild
@@ -25,7 +25,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ppc ppc64 ~riscv ~s390 sparc x86"
BDEPEND="
test? (
diff --git a/dev-python/cattrs/Manifest b/dev-python/cattrs/Manifest
index b4e62c801d2d..1ba9cf2339ae 100644
--- a/dev-python/cattrs/Manifest
+++ b/dev-python/cattrs/Manifest
@@ -1,3 +1 @@
-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-24.1.3.ebuild b/dev-python/cattrs/cattrs-24.1.3.ebuild
deleted file mode 100644
index 81971a117b1c..000000000000
--- a/dev-python/cattrs/cattrs-24.1.3.ebuild
+++ /dev/null
@@ -1,107 +0,0 @@
-# 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-23.1.0[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.8.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/exceptiongroup-1.1.1[${PYTHON_USEDEP}]
- ' 3.10)
-"
-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.7.0[${PYTHON_USEDEP}]
- test-rust? (
- $(python_gen_cond_dep '
- >=dev-python/orjson-3.9.2[${PYTHON_USEDEP}]
- ' 'python*')
- )
- )
-"
-
-# xdist can randomly break tests, depending on job count
-# https://bugs.gentoo.org/941429
-distutils_enable_tests pytest
-
-PATCHES=(
- # https://github.com/python-attrs/cattrs/pull/543
- "${FILESDIR}/${PN}-23.2.4_pre20240627-py313.patch"
-)
-
-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_msgspec_json_unstruct_collection_overrides
- tests/test_preconf.py::test_msgspec_json_unions
- tests/test_preconf.py::test_msgspec_json_converter
-
- # tests need updating for attrs-24*
- # https://github.com/python-attrs/cattrs/issues/575
- tests/test_baseconverter.py
- tests/test_converter.py
- tests/test_gen_dict.py::test_individual_overrides
- tests/test_gen_dict.py::test_nodefs_generated_unstructuring_cl
- tests/test_gen_dict.py::test_unmodified_generated_structuring
- tests/test_structure_attrs.py::test_structure_simple_from_dict_default
- )
-
- 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
-
- case ${EPYTHON} in
- python3.13)
- EPYTEST_DESELECT+=(
- tests/preconf/test_pyyaml.py::test_pyyaml
- tests/preconf/test_pyyaml.py::test_pyyaml_converter
- tests/test_converter.py::test_simple_roundtrip
- tests/test_gen_dict.py::test_unmodified_generated_structuring
- tests/test_generics.py::test_unstructure_deeply_nested_generics_list
- tests/test_unstructure_collections.py::test_collection_unstructure_override_mapping
- )
- ;;
- esac
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -o addopts= tests
-}
diff --git a/dev-python/cattrs/cattrs-25.1.0.ebuild b/dev-python/cattrs/cattrs-25.1.0.ebuild
deleted file mode 100644
index eae85e98b515..000000000000
--- a/dev-python/cattrs/cattrs-25.1.0.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# 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/cattrs/cattrs-25.1.1.ebuild b/dev-python/cattrs/cattrs-25.1.1.ebuild
index c477157d9f50..717e91ae2549 100644
--- a/dev-python/cattrs/cattrs-25.1.1.ebuild
+++ b/dev-python/cattrs/cattrs-25.1.1.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="test-rust"
RDEPEND="
diff --git a/dev-python/cattrs/files/cattrs-23.2.4_pre20240627-py313.patch b/dev-python/cattrs/files/cattrs-23.2.4_pre20240627-py313.patch
deleted file mode 100644
index 1ea85a653a32..000000000000
--- a/dev-python/cattrs/files/cattrs-23.2.4_pre20240627-py313.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From b0ff7b1e40f4e3c1865da2cd04251eed6b64cd36 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Tin=20Tvrtkovi=C4=87?= <tinchester@gmail.com>
-Date: Fri, 21 Jun 2024 01:25:15 +0200
-Subject: [PATCH] Fix some tests for 3.13
-
----
- tests/test_converter.py | 7 ++++---
- tests/test_gen_dict.py | 4 +++-
- tests/typed.py | 5 ++++-
- 3 files changed, 11 insertions(+), 5 deletions(-)
-
-diff --git a/tests/test_converter.py b/tests/test_converter.py
-index b401860c..63a6502b 100644
---- a/tests/test_converter.py
-+++ b/tests/test_converter.py
-@@ -54,8 +54,8 @@ def test_simple_roundtrip(cls_and_vals, detailed_validation):
-
-
- @given(
-- simple_typed_classes(kw_only=False, newtypes=False)
-- | simple_typed_dataclasses(newtypes=False),
-+ simple_typed_classes(kw_only=False, newtypes=False, allow_nan=False)
-+ | simple_typed_dataclasses(newtypes=False, allow_nan=False),
- booleans(),
- )
- def test_simple_roundtrip_tuple(cls_and_vals, dv: bool):
-@@ -103,7 +103,8 @@ def test_simple_roundtrip_defaults_tuple(attr_and_vals):
-
-
- @given(
-- simple_typed_classes(newtypes=False) | simple_typed_dataclasses(newtypes=False),
-+ simple_typed_classes(newtypes=False, allow_nan=False)
-+ | simple_typed_dataclasses(newtypes=False, allow_nan=False),
- unstructure_strats,
- )
- def test_simple_roundtrip_with_extra_keys_forbidden(cls_and_vals, strat):
-diff --git a/tests/test_gen_dict.py b/tests/test_gen_dict.py
-index 16911d51..5395b9e9 100644
---- a/tests/test_gen_dict.py
-+++ b/tests/test_gen_dict.py
-@@ -185,7 +185,9 @@ def test_unmodified_generated_structuring(cl_and_vals, dv: bool):
-
-
- @given(
-- simple_typed_classes(min_attrs=1) | simple_typed_dataclasses(min_attrs=1), data()
-+ simple_typed_classes(min_attrs=1, allow_nan=False)
-+ | simple_typed_dataclasses(min_attrs=1, allow_nan=False),
-+ data(),
- )
- def test_renaming(cl_and_vals, data):
- converter = Converter()
-diff --git a/tests/typed.py b/tests/typed.py
-index 7589c9a6..fa2573af 100644
---- a/tests/typed.py
-+++ b/tests/typed.py
-@@ -82,7 +82,9 @@ def simple_typed_classes(
- ).flatmap(partial(_create_hyp_class, frozen=frozen))
-
-
--def simple_typed_dataclasses(defaults=None, min_attrs=0, frozen=False, newtypes=True):
-+def simple_typed_dataclasses(
-+ defaults=None, min_attrs=0, frozen=False, newtypes=True, allow_nan=None
-+):
- """Yield tuples of (class, values)."""
- return lists_of_typed_attrs(
- defaults,
-@@ -90,6 +92,7 @@ def simple_typed_dataclasses(defaults=None, min_attrs=0, frozen=False, newtypes=
- for_frozen=frozen,
- allow_mutable_defaults=False,
- newtypes=newtypes,
-+ allow_nan=allow_nan,
- ).flatmap(partial(_create_dataclass, frozen=frozen))
-
-
diff --git a/dev-python/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest
index 75f4f5e9e323..6cbbc20ead8a 100644
--- a/dev-python/cfn-lint/Manifest
+++ b/dev-python/cfn-lint/Manifest
@@ -1,3 +1,4 @@
DIST cfn_lint-1.36.1.tar.gz 3108363 BLAKE2B 21d99e2ccd5edc69cc7c1995f5667e9997764c0d7be6a2662ef3b8f42bf72d633153a0cef5493d25b16eed2e87da1bdad1536b97b9193e4c26a1e44c15790827 SHA512 49adc1844768b9ae70599c02653cfc2b454edf08def22c3d6aa5728f0ebf7b4cc1729f729ab3022a1028f44b54df1e14a626dad684143306766930f398a744a2
DIST cfn_lint-1.37.0.tar.gz 3089485 BLAKE2B 38e855b82064738895e0f056867bbd7e81ffa20b955d5276de0a50f80befbc52a4337280b7ab39288d31497fa03f68485e484e966c775b750530f7116408cb55 SHA512 05346d7c72c5fae61b5f79b3fc1c0c83b04ce083e534c59ada65bc44258e0e5f72874e09009c52f940c908b7172da34c5bb93b62c366b0aa10ef6bb547aa1c04
DIST cfn_lint-1.37.2.tar.gz 3105967 BLAKE2B afa47f8c3669b32a6471e6bd438b68407f87f76c1473d848b8bc70474616418505ffcb69f7a35124fc2c5c1b2a5135d2d9ed51f2227b36e753d7a481fbc5b362 SHA512 e5a24a4cc506c287af3229ca86bee6ece335b8b80c7083f9b8c52a79d09c441043b176464e84051d05e135d2e47b11b307531a9ab0b24de98545e9e276697f64
+DIST cfn_lint-1.38.0.tar.gz 3131464 BLAKE2B d843617918f16882927c31a92d24cb67b7701787f0398dae7fb0432df7db811946a78144641e60e3b09b049ec04493860841fce415d2ce2be977ae4a6760e2a7 SHA512 a38773533b6d2e8c9df39e2195b6d91a621c2b9e6da1dec5c221ef6d4f52d5f3f52232699395c4d54f00152b23daa22ac2dd44515cb888d1b86b88686f0f9c34
diff --git a/dev-python/cfn-lint/cfn-lint-1.38.0.ebuild b/dev-python/cfn-lint/cfn-lint-1.38.0.ebuild
new file mode 100644
index 000000000000..853b42442aa8
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-1.38.0.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="CloudFormation Linter"
+HOMEPAGE="
+ https://github.com/aws-cloudformation/cfn-lint/
+ https://pypi.org/project/cfn-lint/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/aws-sam-translator-1.97.0[${PYTHON_USEDEP}]
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ >=dev-python/jschema-to-python-1.2.3[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-5[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ dev-python/junit-xml[${PYTHON_USEDEP}]
+ <dev-python/networkx-4[${PYTHON_USEDEP}]
+ >dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
+ >=dev-python/regex-2021.7.1[${PYTHON_USEDEP}]
+ >=dev-python/sarif-om-1.0.4[${PYTHON_USEDEP}]
+ >=dev-python/sympy-1.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-77.0.3[${PYTHON_USEDEP}]
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin the deps
+ sed -e 's:~=[0-9.]*::' -i pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # different line wrapping somehow
+ test/unit/module/template/test_template.py::TestTemplate::test_build_graph
+ # requires git repo
+ test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs
+ )
+
+ # from tox.ini
+ local -x AWS_DEFAULT_REGION=us-east-1
+ epytest
+}
diff --git a/dev-python/clang/Manifest b/dev-python/clang/Manifest
index f2016a7cf308..9d354e4a17a9 100644
--- a/dev-python/clang/Manifest
+++ b/dev-python/clang/Manifest
@@ -12,5 +12,5 @@ DIST llvm-project-20.1.7.src.tar.xz 147245448 BLAKE2B f7c57d1eba4e97e875b624dec3
DIST llvm-project-20.1.7.src.tar.xz.sig 566 BLAKE2B 72ce2a18c211cfce9581a9e3e71f1c55cf18672aa355267581220e1a89e3327f9e16107970b69bb8f10f390baa5e286487bdc4cc0a7d9155ec13a4977cd3f472 SHA512 eff885059d547f57b98bda1fc9631f716ca6c650cd48203d9ed5443a6afb9a2d4d91d3f5c8618e307c0a44b3040bce61fdc6bce965073adc537655755d9f2112
DIST llvm-project-20.1.8.src.tar.xz 147242952 BLAKE2B 7657ac0b26acc5affb1bfc91b912ade3191c5d77f3979d5a80d5f6ce52f56a7d1c448bd257398390bf10838f02faa6f3ece37a7327cced69d165ec2e2e699316 SHA512 f330e72e6a1da468569049437cc0ba7a41abb816ccece7367189344f7ebfef730f4788ac7af2bef0aa8a49341c15ab1d31e941ffa782f264d11fe0dc05470773
DIST llvm-project-20.1.8.src.tar.xz.sig 566 BLAKE2B 85beedfcff1195a974fab2c667b9efd4b715b3480c1b44b1b887fe32c69f72aca0d3b8fb276c03b6cc5a866622f669047aeee5ccb976640b4008ccd31dce77a4 SHA512 d74369bdb4d1b82775161ea53c9c5f3a23ce810f4df5ff617123023f9d8ce720e7d6ecc9e17f8ebd39fd9e7a9de79560abdf2ffe73bcb907a43148d43665d619
-DIST llvm-project-814ac2e3735e52c1162ac495c24158e0ac256520.tar.gz 237400805 BLAKE2B 59cbf2f7f5c3c1c2c187c72a40b94b05b2d3286678f78764bc7555d75ead40d2fd60b1807bbe6470f012a5958d0466b1f6b2bc842bba36731e7697a79307532b SHA512 63f31f28b7f01b840d88bfa3ffc4107ccffc623b26c7d0dc3e720a864ce7ca907dcbdcfaec7e31a1711220528a89175334518711a83824c82389343c2e4008d7
+DIST llvm-project-b6313b381ac0e83012ea11b4549cd8cb39b686d2.tar.gz 242588863 BLAKE2B 81e7db20b849ce7a5c7c6b03d1e62a2e225eb68473509baf0adc9e74a2f759d251b61b018528d5db93f77b65ac355a71ede81bec7e97f9c71a41f34a5d8625bd SHA512 258b99ef79d7efd4ec58d6a5370969b8032149f05fea4dfa841398ed59a550219f4223cd79581bc6fc4428dd9b09f44abf9f5369348831f463b9eb401a614d61
DIST llvm-project-e34e02128ec5eb89e36a8f0f7307dcbcfecabbee.tar.gz 238210997 BLAKE2B 80ce4689e3c71a413e36645cdc83590f3492ac3ee39b8bf8844ec50d0b68f40da4c19a7f284625e3550eb78a90d433e74092b5639bcebadf0e0220c36b111cb3 SHA512 5c1ab21b242d1ba62172ae6268a126fd1b049f85b039434b4ff28b0411ec60d46e96e05560b9b85d0420494afdd573b4043999cb34ace508a48f763d4eb5b7aa
diff --git a/dev-python/clang/clang-21.0.0_pre20250614.ebuild b/dev-python/clang/clang-21.0.0_pre20250713.ebuild
index 4dd3bb26996f..4dd3bb26996f 100644
--- a/dev-python/clang/clang-21.0.0_pre20250614.ebuild
+++ b/dev-python/clang/clang-21.0.0_pre20250713.ebuild
diff --git a/dev-python/cli-helpers/Manifest b/dev-python/cli-helpers/Manifest
index 2d48523cf525..322fc9c4f951 100644
--- a/dev-python/cli-helpers/Manifest
+++ b/dev-python/cli-helpers/Manifest
@@ -1,2 +1,3 @@
DIST cli_helpers-2.4.0.gh.tar.gz 35309 BLAKE2B 44c668a66bec3ef0520695ecc54e9115c21bf0675d80e4c67001060fcb5cb1c12aa7bb63229d3bd922728e6b0b20923a00e0e3b7f259eef13d4e9b853b953dd0 SHA512 33d2d706634bcb0143af0fbc2df1baae58004c7544793367cfc8d80ca15b0ac709730ec4b5dfb6a7cdb199323cb153c69988b4127d8bf218040e7be1a9408737
DIST cli_helpers-2.5.0.gh.tar.gz 35922 BLAKE2B 59994bbee0f2e12b67d3980cfe5bded3fe59971ae89850300cec5a31dd5a2010781fa5228b032ee0d86f4d34a28db09ceaeb92ccffd61fa6d1872c7bb5cd2105 SHA512 65dcc95f606d65e421dde8eea6b582aa621b3d48d837cb492386b768ccea599e702e2b13540b50fcd04750b12f42e037c5a908f899822e85d0f3433c14202c67
+DIST cli_helpers-2.6.0.gh.tar.gz 36204 BLAKE2B e825ed40516a7aac647931e9bf36e92131d63110c1ea507f46805ce67a5d253485e168a6481876afb62a2287c40ce7fdf5ce9cfa352171027ac297b286596488 SHA512 33691357819a83460bb95374571280dc61bfde28abfb073ddfb433ed40b115e3c3678673e63c753932704f7a00ba2e0d5a91bb1af9f27e3d879b1c6da0d32cde
diff --git a/dev-python/cli-helpers/cli-helpers-2.6.0.ebuild b/dev-python/cli-helpers/cli-helpers-2.6.0.ebuild
new file mode 100644
index 000000000000..3d106f82e886
--- /dev/null
+++ b/dev-python/cli-helpers/cli-helpers-2.6.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1
+
+MY_P=cli_helpers-${PV}
+DESCRIPTION="Python helpers for common CLI tasks"
+HOMEPAGE="
+ https://cli-helpers.rtfd.io/
+ https://github.com/dbcli/cli_helpers/
+ https://pypi.org/project/cli-helpers/
+"
+SRC_URI="
+ https://github.com/dbcli/cli_helpers/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/configobj-5.0.5[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/tabulate-0.9.0[${PYTHON_USEDEP}]
+ dev-python/wcwidth[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/cmd2/Manifest b/dev-python/cmd2/Manifest
index 80e728ff1b52..830556bf6418 100644
--- a/dev-python/cmd2/Manifest
+++ b/dev-python/cmd2/Manifest
@@ -1,4 +1,2 @@
-DIST cmd2-2.5.11.tar.gz 883350 BLAKE2B 37fb197ff085016152bc33f243852afe71c5cca303bacf02bdee9e1cfa2fa56ad2714321f046b7e501cb1602208f7b8fadaa4454ee349d2c6b5dcf04c31c3df9 SHA512 acf3d339d33822827be85b23491b99c33556bbd1d67715450c19c8877f7b9565253a402e57afd95bf02bb5edf8ec09f9fe7c141e01d81010286a5cfabca27909
-DIST cmd2-2.6.1.tar.gz 888293 BLAKE2B 693495ac2ac63b06b56195ffa8ce2887a78b89d8219a9a2c094004aeb52d260a85e567382a9434418b66df8ec2fcff82bdf0ae56899e6812043e19646ade08b3 SHA512 241ce183d5802f8c11bd68362a025a75a611978acc3592e5ef752faf84fab2af24b8dedea894c1c998253159ccf5c68def779e3daf87cd01bb55f11de524527e
DIST cmd2-2.6.2.tar.gz 592373 BLAKE2B 917ecd684c60c0a6c1b273ef52fa1e317f71522dfd6fc8a9d2c1ee7fa28788b734c6536a9481ac56ef8409002f503837ae51191478a68e364c4780e9feb4b8e8 SHA512 75531dca561427eef259765a55c6385401edd8bc9d5c4cf08ab97e53e118334be932ee5c59f9e1fcd529a7a5f7416e654ee1d618d91623068ef21bcc66dcfdd7
DIST cmd2-2.7.0.tar.gz 593131 BLAKE2B 2488c3c9d8e770fca8046fbd5d9537349cfd2b45cb32ed5775cd0b451ae25425909fadb7414d202aa52587e691e2ef8a39b3fe691e345497a0523e17281228df SHA512 6d2e7f3c9e125782da8983fb27a53d5db0c0cc35a8c86eb129961596ff3ff5751622894ee8fb355b0330de3b2cbb7cf18eddaba2ad0b8781e80b479cf53a1c89
diff --git a/dev-python/cmd2/cmd2-2.5.11.ebuild b/dev-python/cmd2/cmd2-2.5.11.ebuild
deleted file mode 100644
index bcd3e58e863e..000000000000
--- a/dev-python/cmd2/cmd2-2.5.11.ebuild
+++ /dev/null
@@ -1,54 +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 virtualx pypi
-
-DESCRIPTION="Extra features for standard library's cmd module"
-HOMEPAGE="
- https://github.com/python-cmd2/cmd2/
- https://pypi.org/project/cmd2/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/pyperclip-1.8[${PYTHON_USEDEP}]
- >=dev-python/wcwidth-0.2.10[${PYTHON_USEDEP}]
-"
-# pyperclip uses clipboard backends in the following preference order:
-# pygtk, xclip, xsel, klipper, qtpy, pyqt5, pyqt4.
-# klipper is known to be broken in Xvfb, and therefore causes test
-# failures. to avoid them, we must ensure that one of the backends
-# preferred to it is available (i.e. xclip or xsel).
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- || (
- x11-misc/xclip
- x11-misc/xsel
- )
- )
-"
-
-distutils_enable_tests pytest
-
-src_test() {
- # tests rely on very specific text wrapping...
- local -x COLUMNS=80
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # TODO: tests_isolated?
- epytest -o addopts= -p pytest_mock -p rerunfailures --reruns=5 tests || die
-}
diff --git a/dev-python/cmd2/cmd2-2.6.1.ebuild b/dev-python/cmd2/cmd2-2.6.1.ebuild
deleted file mode 100644
index 47fc9c2b609e..000000000000
--- a/dev-python/cmd2/cmd2-2.6.1.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{11..14} )
-
-inherit distutils-r1 optfeature virtualx pypi
-
-DESCRIPTION="Extra features for standard library's cmd module"
-HOMEPAGE="
- https://github.com/python-cmd2/cmd2/
- https://pypi.org/project/cmd2/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/pyperclip-1.8[${PYTHON_USEDEP}]
- >=dev-python/wcwidth-0.2.10[${PYTHON_USEDEP}]
-"
-# pyperclip uses clipboard backends in the following preference order:
-# pygtk, xclip, xsel, klipper, qtpy, pyqt5, pyqt4.
-# klipper is known to be broken in Xvfb, and therefore causes test
-# failures. to avoid them, we must ensure that one of the backends
-# preferred to it is available (i.e. xclip or xsel).
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- || (
- x11-misc/xclip
- x11-misc/xsel
- )
- )
-"
-
-distutils_enable_tests pytest
-
-src_test() {
- # tests rely on very specific text wrapping...
- local -x COLUMNS=80
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # TODO: tests_isolated?
- epytest -o addopts= -p pytest_mock -p rerunfailures --reruns=5 tests || die
-}
-
-pkg_postinst() {
- optfeature "IPython shell integration" dev-python/ipython
-}
diff --git a/dev-python/cmd2/cmd2-2.6.2.ebuild b/dev-python/cmd2/cmd2-2.6.2.ebuild
index c68e753f6584..602937402fff 100644
--- a/dev-python/cmd2/cmd2-2.6.2.ebuild
+++ b/dev-python/cmd2/cmd2-2.6.2.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
RDEPEND="
>=dev-python/pyperclip-1.8[${PYTHON_USEDEP}]
diff --git a/dev-python/colorthief/Manifest b/dev-python/colorthief/Manifest
deleted file mode 100644
index 035d1c142380..000000000000
--- a/dev-python/colorthief/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST colorthief-0.2.1.tar.gz 6164 BLAKE2B 7d05951c5ee6b2ab39aa882f871e5e49cf416f134aa696243e0800d1d7f41fbcb96b32374a2a72bdef3a0e01f9d0987b5789658abd1a6b56ed01a75d888d596b SHA512 33d8f048d6e0fb4b6f3b5a6d7fd53ec8156e1ab4b2fe9c8252d49954929a3046547536ae7cb6d7752c43fd2974b36acffabcc61d733ad462a2504ead36c99da7
diff --git a/dev-python/colorthief/colorthief-0.2.1.ebuild b/dev-python/colorthief/colorthief-0.2.1.ebuild
deleted file mode 100644
index 53938ac4c898..000000000000
--- a/dev-python/colorthief/colorthief-0.2.1.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 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} )
-inherit distutils-r1 pypi
-
-DESCRIPTION="Module for grabbing the color palette from an image"
-HOMEPAGE="
- https://github.com/fengsp/color-thief-py
- https://pypi.org/project/colorthief/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="dev-python/pillow[${PYTHON_USEDEP}]"
diff --git a/dev-python/cons/Manifest b/dev-python/cons/Manifest
index 7c99c719009c..3933786cca70 100644
--- a/dev-python/cons/Manifest
+++ b/dev-python/cons/Manifest
@@ -1 +1,2 @@
DIST cons-0.4.6.gh.tar.gz 40414 BLAKE2B 5d234ed77d44f0b892c3cc8fc4816a4cc1ca5cca36501adca8cbc84a48dff320c3ea45555aaa2203d1ed5072e74404e62184f000db393c155b008943990b7df3 SHA512 195a2e23a6ee37aba1cc34c0f26a2b55f86948c4a2eb5dab50b9b917bdee97bbb53562830c75184c8483260ba9bc9352d1430f99937aa29156cbf3ce2fb0254b
+DIST cons-0.4.7.gh.tar.gz 17476 BLAKE2B 5a2e5487f4ce12249d620a0cf396c30957edca7f4aff33e8ee9e5e52584365480155666f64738075acd415658b2f916183075374afdda9d7c2b8a8c72d8be388 SHA512 710711757a2a705c66c0cabae30f462c1dc1934f6b318af0a6298a2ed15c50310d7037c152f6edf6bb8082d5a72b29816a0b83d6750f1d661b7d7b1b19b55459
diff --git a/dev-python/cons/cons-0.4.7.ebuild b/dev-python/cons/cons-0.4.7.ebuild
new file mode 100644
index 000000000000..28562f401a6b
--- /dev/null
+++ b/dev-python/cons/cons-0.4.7.ebuild
@@ -0,0 +1,36 @@
+# 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} )
+
+inherit distutils-r1
+
+DESCRIPTION="Implementation of Lisp/Scheme-like cons in Python"
+HOMEPAGE="
+ https://pypi.org/project/cons/
+ https://github.com/pythological/python-cons/
+"
+SRC_URI="
+ https://github.com/pythological/python-cons/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/python-${P}"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86"
+
+RDEPEND="
+ dev-python/logical-unification[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/contourpy/contourpy-1.3.2.ebuild b/dev-python/contourpy/contourpy-1.3.2.ebuild
index 0f46d3b405a8..263a6e972354 100644
--- a/dev-python/contourpy/contourpy-1.3.2.ebuild
+++ b/dev-python/contourpy/contourpy-1.3.2.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
RDEPEND="
>=dev-python/numpy-1.23[${PYTHON_USEDEP}]
diff --git a/dev-python/coverage/Manifest b/dev-python/coverage/Manifest
index 3f5f15fdbe69..5b600610e867 100644
--- a/dev-python/coverage/Manifest
+++ b/dev-python/coverage/Manifest
@@ -1,6 +1,2 @@
-DIST coverage-7.8.0.tar.gz 811872 BLAKE2B e2054d58c31fb772b907220d2d8a768242208eb8ab829b579d3a1b081ae9169d8231bf79488e581ef95f53aa22682807fb74200859d8f49a739a3d9ac9859546 SHA512 ccc502d28a2a14ed9fa0b18a87b73ae0a3bd806948ca0887285c388399fa21aa8433d6fa2734ef6c42c92537edb7221406a91aab52b3cfb78bd8b77e6bea394c
-DIST coverage-7.8.1.tar.gz 812193 BLAKE2B 09a3cfb3844395e732985b32a36c11d8aac22b994d77097e3fe37690079ca909e2ae8b0f72ac6f179eb4cbd74aeacb44ddb488ca5186c472ae2280abb7ccf4bc SHA512 208585f522a4c720e31b45b5975ea2e91c30a19d91fa0df88e9f36cc16e173bdcb19b5bc7e15da31769a0b3dd693ca951e45faccc7782fa17e8fb27133bcba7d
-DIST coverage-7.8.2.tar.gz 812759 BLAKE2B 2a60c71bcfd4103f1315fb8b12e9553cc789fd83f626f1e141a0333c5373f052f5b94503c00029c809d030d433a5880432f7e3344deea3c774b48f2fcd3f960d SHA512 e36ddf3eacbe0340433e83d6449c8b497647823fdfeba8d06d7d395e2f86a6c8976f86dc71600bb3b5b58662053e13d9cad7db524d6003f477c4fae3753de04c
-DIST coverage-7.9.0.tar.gz 813385 BLAKE2B d489b9f4fc6f9014703831ece08b5df4e5890a71ec39beb203f70584b56b0f57d0cc6c5bdacf186165df36329cecf2e4e8d9a192babd843f890532b80e1d9742 SHA512 055a33f3cccf95e14478b98d1b40e9fe75ba2aad89e0e2f9080ff0277b05a18bf1683fe5d4ad7b1e8ed707af078adeebb2ba24a1c06cd4f77f7c3028effdee52
DIST coverage-7.9.1.tar.gz 813650 BLAKE2B 42ea77277135a98d812c690aad744db427d6832ff01af68197015e4ff932c7ca88d2f804c0bceaca28b86087cb24245e5f57600444d064f1f008fc8b0a2353b5 SHA512 0bccbf802cdbd7d4df7c88cd7573466b024f7fb4cbf41fc5166a3e2dd70cd107caad01529971eb061cd571faadb342de057d0929f02b3b3e513666c052ecf591
DIST coverage-7.9.2.tar.gz 813556 BLAKE2B 6ed57a0011f7d05634c2a5c1e023f9ccfbb40d9a4bdd9011f2eaf03b658468a18df2044417f15108ec6429b6b62c63cd6a73e31904c0266137a4c6e65557207f SHA512 33ace642aada4b0ff5a72c3df628fe60fcc8b5f586f4851bfecc2ffa237cf019cbd78413c133aa8454e168b8895bfbc1363b722cf072eaf90979935b1982662c
diff --git a/dev-python/coverage/coverage-7.8.0.ebuild b/dev-python/coverage/coverage-7.8.0.ebuild
deleted file mode 100644
index 79d5670a6851..000000000000
--- a/dev-python/coverage/coverage-7.8.0.ebuild
+++ /dev/null
@@ -1,109 +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_{9,10,11,12,13} pypy3 )
-PYTHON_REQ_USE="threads(+),sqlite(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Code coverage measurement for Python"
-HOMEPAGE="
- https://coverage.readthedocs.io/en/latest/
- https://github.com/nedbat/coveragepy/
- https://pypi.org/project/coverage/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-IUSE="+native-extensions"
-
-BDEPEND="
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- >=dev-python/unittest-mixins-1.4[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- sed -i -e '/addopts/s:-q -n auto::' pyproject.toml || die
-}
-
-python_compile() {
- if ! use native-extensions; then
- local -x COVERAGE_DISABLE_EXTENSION=1
- fi
-
- distutils-r1_python_compile
-}
-
-test_tracer() {
- local -x COVERAGE_CORE=${1}
- einfo " Testing with the ${COVERAGE_CORE} core ..."
- epytest -p flaky -p hypothesis -p xdist tests
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO: fails because of additional "Terminated" print on SIGTERM
- tests/test_concurrency.py::SigtermTest::test_sigterm_threading_saves_data
- # broken because of pytest plugins explicity loaded
- tests/test_debug.py::ShortStackTest::test_short_stack{,_skip}
- # these expect specific availability of C extension matching
- # COVERAGE_CORE (which breaks testing pytracer on CPython)
- tests/test_cmdline.py::CmdLineStdoutTest::test_version
- tests/test_debug.py::DebugTraceTest::test_debug_sys_ctracer
- # mismatch of expected concurrency in error message
- # TODO: report upstream?
- tests/test_concurrency.py::ConcurrencyTest::test_greenlet
- tests/test_concurrency.py::ConcurrencyTest::test_greenlet_simple_code
- # packaging tests, fragile to setuptools version
- tests/test_setup.py
- )
- local EPYTEST_IGNORE=(
- # pip these days insists on fetching build deps from Internet
- tests/test_venv.py
- )
-
- "${EPYTHON}" igor.py zip_mods || die
-
- local -x COVERAGE_TESTING=True
- # TODO: figure out why they can't be imported inside test env
- local -x COVERAGE_NO_CONTRACTS=1
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
-
- local prev_opt=$(shopt -p nullglob)
- shopt -s nullglob
- local c_ext=( "${BUILD_DIR}/install$(python_get_sitedir)"/coverage/*.so )
- ${prev_opt}
-
- if [[ -n ${c_ext} ]]; then
- cp "${c_ext}" coverage/ || die
- test_tracer ctrace
- fi
-
- test_tracer pytrace
-
- case ${EPYTHON} in
- python3.1[01]|pypy3|pypy3.11)
- ;;
- *)
- # available since Python 3.12
- test_tracer sysmon
- ;;
- esac
-
- if [[ -n ${c_ext} ]]; then
- rm coverage/*.so || die
- fi
-}
diff --git a/dev-python/coverage/coverage-7.8.1.ebuild b/dev-python/coverage/coverage-7.8.1.ebuild
deleted file mode 100644
index 34b649a6eb90..000000000000
--- a/dev-python/coverage/coverage-7.8.1.ebuild
+++ /dev/null
@@ -1,109 +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_{9,10,11,12,13} pypy3 )
-PYTHON_REQ_USE="threads(+),sqlite(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Code coverage measurement for Python"
-HOMEPAGE="
- https://coverage.readthedocs.io/en/latest/
- https://github.com/nedbat/coveragepy/
- https://pypi.org/project/coverage/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
-IUSE="+native-extensions"
-
-BDEPEND="
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- >=dev-python/unittest-mixins-1.4[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- sed -i -e '/addopts/s:-q -n auto::' pyproject.toml || die
-}
-
-python_compile() {
- if ! use native-extensions; then
- local -x COVERAGE_DISABLE_EXTENSION=1
- fi
-
- distutils-r1_python_compile
-}
-
-test_tracer() {
- local -x COVERAGE_CORE=${1}
- einfo " Testing with the ${COVERAGE_CORE} core ..."
- epytest -p flaky -p hypothesis -p xdist tests
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO: fails because of additional "Terminated" print on SIGTERM
- tests/test_concurrency.py::SigtermTest::test_sigterm_threading_saves_data
- # broken because of pytest plugins explicity loaded
- tests/test_debug.py::ShortStackTest::test_short_stack{,_skip}
- # these expect specific availability of C extension matching
- # COVERAGE_CORE (which breaks testing pytracer on CPython)
- tests/test_cmdline.py::CmdLineStdoutTest::test_version
- tests/test_debug.py::DebugTraceTest::test_debug_sys_ctracer
- # mismatch of expected concurrency in error message
- # TODO: report upstream?
- tests/test_concurrency.py::ConcurrencyTest::test_greenlet
- tests/test_concurrency.py::ConcurrencyTest::test_greenlet_simple_code
- # packaging tests, fragile to setuptools version
- tests/test_setup.py
- )
- local EPYTEST_IGNORE=(
- # pip these days insists on fetching build deps from Internet
- tests/test_venv.py
- )
-
- "${EPYTHON}" igor.py zip_mods || die
-
- local -x COVERAGE_TESTING=True
- # TODO: figure out why they can't be imported inside test env
- local -x COVERAGE_NO_CONTRACTS=1
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
-
- local prev_opt=$(shopt -p nullglob)
- shopt -s nullglob
- local c_ext=( "${BUILD_DIR}/install$(python_get_sitedir)"/coverage/*.so )
- ${prev_opt}
-
- if [[ -n ${c_ext} ]]; then
- cp "${c_ext}" coverage/ || die
- test_tracer ctrace
- fi
-
- test_tracer pytrace
-
- case ${EPYTHON} in
- python3.1[01]|pypy3|pypy3.11)
- ;;
- *)
- # available since Python 3.12
- test_tracer sysmon
- ;;
- esac
-
- if [[ -n ${c_ext} ]]; then
- rm coverage/*.so || die
- fi
-}
diff --git a/dev-python/coverage/coverage-7.8.2.ebuild b/dev-python/coverage/coverage-7.8.2.ebuild
deleted file mode 100644
index a4a05e62ca55..000000000000
--- a/dev-python/coverage/coverage-7.8.2.ebuild
+++ /dev/null
@@ -1,109 +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_{9,10,11,12,13} pypy3 )
-PYTHON_REQ_USE="threads(+),sqlite(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Code coverage measurement for Python"
-HOMEPAGE="
- https://coverage.readthedocs.io/en/latest/
- https://github.com/nedbat/coveragepy/
- https://pypi.org/project/coverage/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos"
-IUSE="+native-extensions"
-
-BDEPEND="
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- >=dev-python/unittest-mixins-1.4[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- sed -i -e '/addopts/s:-q -n auto::' pyproject.toml || die
-}
-
-python_compile() {
- if ! use native-extensions; then
- local -x COVERAGE_DISABLE_EXTENSION=1
- fi
-
- distutils-r1_python_compile
-}
-
-test_tracer() {
- local -x COVERAGE_CORE=${1}
- einfo " Testing with the ${COVERAGE_CORE} core ..."
- epytest -p flaky -p hypothesis -p xdist tests
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO: fails because of additional "Terminated" print on SIGTERM
- tests/test_concurrency.py::SigtermTest::test_sigterm_threading_saves_data
- # broken because of pytest plugins explicity loaded
- tests/test_debug.py::ShortStackTest::test_short_stack{,_skip}
- # these expect specific availability of C extension matching
- # COVERAGE_CORE (which breaks testing pytracer on CPython)
- tests/test_cmdline.py::CmdLineStdoutTest::test_version
- tests/test_debug.py::DebugTraceTest::test_debug_sys_ctracer
- # mismatch of expected concurrency in error message
- # TODO: report upstream?
- tests/test_concurrency.py::ConcurrencyTest::test_greenlet
- tests/test_concurrency.py::ConcurrencyTest::test_greenlet_simple_code
- # packaging tests, fragile to setuptools version
- tests/test_setup.py
- )
- local EPYTEST_IGNORE=(
- # pip these days insists on fetching build deps from Internet
- tests/test_venv.py
- )
-
- "${EPYTHON}" igor.py zip_mods || die
-
- local -x COVERAGE_TESTING=True
- # TODO: figure out why they can't be imported inside test env
- local -x COVERAGE_NO_CONTRACTS=1
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
-
- local prev_opt=$(shopt -p nullglob)
- shopt -s nullglob
- local c_ext=( "${BUILD_DIR}/install$(python_get_sitedir)"/coverage/*.so )
- ${prev_opt}
-
- if [[ -n ${c_ext} ]]; then
- cp "${c_ext}" coverage/ || die
- test_tracer ctrace
- fi
-
- test_tracer pytrace
-
- case ${EPYTHON} in
- python3.1[01]|pypy3|pypy3.11)
- ;;
- *)
- # available since Python 3.12
- test_tracer sysmon
- ;;
- esac
-
- if [[ -n ${c_ext} ]]; then
- rm coverage/*.so || die
- fi
-}
diff --git a/dev-python/coverage/coverage-7.9.0.ebuild b/dev-python/coverage/coverage-7.9.0.ebuild
deleted file mode 100644
index 34b649a6eb90..000000000000
--- a/dev-python/coverage/coverage-7.9.0.ebuild
+++ /dev/null
@@ -1,109 +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_{9,10,11,12,13} pypy3 )
-PYTHON_REQ_USE="threads(+),sqlite(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Code coverage measurement for Python"
-HOMEPAGE="
- https://coverage.readthedocs.io/en/latest/
- https://github.com/nedbat/coveragepy/
- https://pypi.org/project/coverage/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
-IUSE="+native-extensions"
-
-BDEPEND="
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- >=dev-python/unittest-mixins-1.4[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- sed -i -e '/addopts/s:-q -n auto::' pyproject.toml || die
-}
-
-python_compile() {
- if ! use native-extensions; then
- local -x COVERAGE_DISABLE_EXTENSION=1
- fi
-
- distutils-r1_python_compile
-}
-
-test_tracer() {
- local -x COVERAGE_CORE=${1}
- einfo " Testing with the ${COVERAGE_CORE} core ..."
- epytest -p flaky -p hypothesis -p xdist tests
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO: fails because of additional "Terminated" print on SIGTERM
- tests/test_concurrency.py::SigtermTest::test_sigterm_threading_saves_data
- # broken because of pytest plugins explicity loaded
- tests/test_debug.py::ShortStackTest::test_short_stack{,_skip}
- # these expect specific availability of C extension matching
- # COVERAGE_CORE (which breaks testing pytracer on CPython)
- tests/test_cmdline.py::CmdLineStdoutTest::test_version
- tests/test_debug.py::DebugTraceTest::test_debug_sys_ctracer
- # mismatch of expected concurrency in error message
- # TODO: report upstream?
- tests/test_concurrency.py::ConcurrencyTest::test_greenlet
- tests/test_concurrency.py::ConcurrencyTest::test_greenlet_simple_code
- # packaging tests, fragile to setuptools version
- tests/test_setup.py
- )
- local EPYTEST_IGNORE=(
- # pip these days insists on fetching build deps from Internet
- tests/test_venv.py
- )
-
- "${EPYTHON}" igor.py zip_mods || die
-
- local -x COVERAGE_TESTING=True
- # TODO: figure out why they can't be imported inside test env
- local -x COVERAGE_NO_CONTRACTS=1
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
-
- local prev_opt=$(shopt -p nullglob)
- shopt -s nullglob
- local c_ext=( "${BUILD_DIR}/install$(python_get_sitedir)"/coverage/*.so )
- ${prev_opt}
-
- if [[ -n ${c_ext} ]]; then
- cp "${c_ext}" coverage/ || die
- test_tracer ctrace
- fi
-
- test_tracer pytrace
-
- case ${EPYTHON} in
- python3.1[01]|pypy3|pypy3.11)
- ;;
- *)
- # available since Python 3.12
- test_tracer sysmon
- ;;
- esac
-
- if [[ -n ${c_ext} ]]; then
- rm coverage/*.so || die
- fi
-}
diff --git a/dev-python/coverage/coverage-7.9.1.ebuild b/dev-python/coverage/coverage-7.9.1.ebuild
index 36dc498f67dc..79d5670a6851 100644
--- a/dev-python/coverage/coverage-7.9.1.ebuild
+++ b/dev-python/coverage/coverage-7.9.1.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
IUSE="+native-extensions"
BDEPEND="
diff --git a/dev-python/cython/Manifest b/dev-python/cython/Manifest
index d4948a094875..204f84dc5fa4 100644
--- a/dev-python/cython/Manifest
+++ b/dev-python/cython/Manifest
@@ -1,3 +1 @@
-DIST cython-3.0.12.tar.gz 2757617 BLAKE2B 064549e36e03424065eab081b60e2761d198490cfd4d7836ea236b833ada3962e6ed42ba1710b33418f8a31ac282cdc156ceb544ee21be80ee34b7a3d3f6c7fb SHA512 c4e85596eeea444fae983d32ce8731cc5d0d612d1f96b998db3aa7946e8be151a7ea62c6df163d875111e306c870656b82a8468dd873cacf84c7bd5671a39bc3
-DIST cython-3.1.1.tar.gz 3175446 BLAKE2B 4a75df724e313220321b05b7839bd406e5e923eb860337b7819c31152859396e5bda65a0a06ace196839bed729e28e51a1349c178e615ba58cf9bc80dc706b0d SHA512 5c64b5d280b234d93d02e91ab22567342350671c605df30a3ac7b41b64e0605eb0aef7bc721f68d35d6048085eaa392cb0a803df32ca902e51e2009c987d962e
DIST cython-3.1.2.tar.gz 3184825 BLAKE2B 8be6016f3e9a5a7db71fd1cab65424db1a1cd8e9d0118f01432964eb816135021f77542aff2b1f0fd2af8f657f952ebce2f420d7610ae37c6c6956f94e54a636 SHA512 c674027dae58377ea71d8d8b15601e6e0c80435807603251e685608218805fef2e6eac4bbebd3c50c319cd7da660ff9ce1a6daeb673eb40ce70bbfe7f0069600
diff --git a/dev-python/cython/cython-3.0.12-r1.ebuild b/dev-python/cython/cython-3.0.12-r1.ebuild
deleted file mode 100644
index c503866ca262..000000000000
--- a/dev-python/cython/cython-3.0.12-r1.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_TESTED=( python3_{9,10,11,12,13} )
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 multiprocessing pypi toolchain-funcs
-
-DESCRIPTION="A Python to C compiler"
-HOMEPAGE="
- https://cython.org/
- https://github.com/cython/cython/
- https://pypi.org/project/Cython/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- ${RDEPEND}
- test? (
- $(python_gen_cond_dep '
- <dev-python/numpy-2[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.29.22-spawn-multiprocessing.patch"
- "${FILESDIR}/${PN}-0.29.23-test_exceptions-py310.patch"
- "${FILESDIR}/${PN}-0.29.23-pythran-parallel-install.patch"
-)
-
-distutils_enable_sphinx docs \
- dev-python/jinja2 \
- dev-python/sphinx-issues \
- dev-python/sphinx-tabs
-
-python_prepare_all() {
- # Needs dev-python/pip and doesn't like 'externally-managed' (bug #927995)
- rm tests/run/coverage_cmd_src_pkg_layout.srctree || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- # Python gets confused when it is in sys.path before build.
- local -x PYTHONPATH=
-
- distutils-r1_python_compile
-}
-
-python_test() {
- if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
- einfo "Skipping tests on ${EPYTHON} (xfail)"
- return
- fi
-
- # Needed to avoid confusing cache tests
- unset CYTHON_FORCE_REGEN
-
- tc-export CC
- "${PYTHON}" runtests.py \
- -vv \
- -j "$(makeopts_jobs)" \
- --work-dir "${BUILD_DIR}"/tests \
- --no-examples \
- --no-code-style \
- || die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
- local DOCS=( CHANGES.rst README.rst ToDo.txt USAGE.txt )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/cython/cython-3.1.1.ebuild b/dev-python/cython/cython-3.1.1.ebuild
deleted file mode 100644
index c7f396dac572..000000000000
--- a/dev-python/cython/cython-3.1.1.ebuild
+++ /dev/null
@@ -1,125 +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_FULLY_TESTED=( python3_{11..14} )
-PYTHON_TESTED=( python3_{9,10,11,12,13} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 multiprocessing pypi toolchain-funcs
-
-DESCRIPTION="A Python to C compiler"
-HOMEPAGE="
- https://cython.org/
- https://github.com/cython/cython/
- https://pypi.org/project/Cython/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="test test-full"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- ${RDEPEND}
- test? (
- test-full? (
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_USEDEP}]
- ' "${PYTHON_FULLY_TESTED[@]}")
- )
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.29.22-spawn-multiprocessing.patch"
- "${FILESDIR}/${PN}-0.29.23-pythran-parallel-install.patch"
-)
-
-distutils_enable_sphinx docs \
- dev-python/jinja2 \
- dev-python/sphinx-issues \
- dev-python/sphinx-tabs
-
-python_compile() {
- # Python gets confused when it is in sys.path before build.
- local -x PYTHONPATH=
-
- if use elibc_musl ; then
- # Workaround for bug #925318
- local -x LDFLAGS="${LDFLAGS} -Wl,-z,stack-size=2097152"
- fi
-
- distutils-r1_python_compile
-}
-
-python_test() {
- # PYTHON_TESTED controls whether we expect the testsuite to
- # pass at all, while PYTHON_FULLY_TESTED allows skipping before
- # numpy is ported (and possibly other deps in future).
- if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
- einfo "Skipping tests on ${EPYTHON} (xfail)"
- return
- fi
-
- # Needed to avoid confusing cache tests
- unset CYTHON_FORCE_REGEN
-
- tc-export CC
-
- local testargs=(
- -vv
- -j "$(makeopts_jobs)"
- --work-dir "${BUILD_DIR}"/tests
-
- --no-examples
- --no-code-style
-
- # Fails to find embedded.c
- --exclude 'embedded'
- # coverage_installed_pkg needs dev-python/pip and doesn't like
- # 'externally-managed' (bug #927995), but we don't really
- # want automagic test dependencies at all, so just skip
- # unimportant-for-us coverage tests entirely.
- --exclude 'run.coverage*'
- --exclude 'Cython.Coverage'
- # Automagic on dev-python/python-tests, could add this in future
- --exclude 'run.test_exceptions'
- # TODO: Unpackaged dev-python/interpreters-pep-734 (interpreters_backport)
- # This only shows up as a failure with >=3.13.
- --exclude 'subinterpreters_threading_stress_test'
- )
-
- if [[ ${EPYTHON} == pypy3* ]] ; then
- testargs+=(
- # Recursion issue
- --exclude 'run.if_else_expr'
- --exclude 'run.test_patma*'
- # Slight output difference (missing '<')
- --exclude 'run.cpp_exception_ptr_just_handler'
-
- )
- fi
-
- # Keep test-full for numpy as it's large and doesn't pass tests itself
- # on niche arches.
- if ! use test-full || ! has "${EPYTHON/./_}" "${PYTHON_FULLY_TESTED[@]}"; then
- testargs+=(
- --exclude 'run.numpy*'
- --exclude 'run.ufunc'
- --exclude 'numpy*'
- )
- fi
-
- "${PYTHON}" runtests.py "${testargs[@]}" || die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
- local DOCS=( CHANGES.rst README.rst ToDo.txt USAGE.txt )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/cython/cython-3.1.2.ebuild b/dev-python/cython/cython-3.1.2.ebuild
index 61e4a9ff57c6..79b4b8fa3a2c 100644
--- a/dev-python/cython/cython-3.1.2.ebuild
+++ b/dev-python/cython/cython-3.1.2.ebuild
@@ -21,7 +21,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="test test-full"
RESTRICT="!test? ( test )"
diff --git a/dev-python/cython/files/cython-0.29.23-test_exceptions-py310.patch b/dev-python/cython/files/cython-0.29.23-test_exceptions-py310.patch
deleted file mode 100644
index 0c9fb2c9ea56..000000000000
--- a/dev-python/cython/files/cython-0.29.23-test_exceptions-py310.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/tests/run/test_exceptions.pyx
-+++ b/tests/run/test_exceptions.pyx
-@@ -188,7 +188,10 @@
-
- # should not apply to subclasses, see issue #31161
- s = '''if True:\nprint "No indent"'''
-- ckmsg(s, "expected an indented block", IndentationError)
-+ if sys.version_info >= (3, 10):
-+ ckmsg(s, "expected an indented block after 'if' statement on line 1", IndentationError)
-+ else:
-+ ckmsg(s, "expected an indented block", IndentationError)
-
- s = '''if True:\n print()\n\texec "mixed tabs and spaces"'''
- ckmsg(s, "inconsistent use of tabs and spaces in indentation", TabError)
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 cec5523e43eb..2600a43b7a9f 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/django-4.2.23.ebuild b/dev-python/django/django-4.2.23.ebuild
index 2bc7038d3b19..4db963f0b42d 100644
--- a/dev-python/django/django-4.2.23.ebuild
+++ b/dev-python/django/django-4.2.23.ebuild
@@ -27,7 +27,7 @@ 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"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86 ~x64-macos"
IUSE="doc sqlite test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/django/django-5.1.11.ebuild b/dev-python/django/django-5.1.11.ebuild
index 2dca97580558..1413c36072db 100644
--- a/dev-python/django/django-5.1.11.ebuild
+++ b/dev-python/django/django-5.1.11.ebuild
@@ -26,7 +26,7 @@ LICENSE+=" Apache-2.0"
# admin icons, jquery, xregexp.js
LICENSE+=" MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv sparc x86 ~x64-macos"
IUSE="doc sqlite test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/django/django-5.2.3.ebuild b/dev-python/django/django-5.2.3.ebuild
index 2dca97580558..1413c36072db 100644
--- a/dev-python/django/django-5.2.3.ebuild
+++ b/dev-python/django/django-5.2.3.ebuild
@@ -26,7 +26,7 @@ LICENSE+=" Apache-2.0"
# admin icons, jquery, xregexp.js
LICENSE+=" MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv sparc x86 ~x64-macos"
IUSE="doc sqlite test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/ensurepip-pip/Manifest b/dev-python/ensurepip-pip/Manifest
index 1191f38db61b..3622d339ccda 100644
--- a/dev-python/ensurepip-pip/Manifest
+++ b/dev-python/ensurepip-pip/Manifest
@@ -1,4 +1,2 @@
-DIST pip-25.0.1-py3-none-any.whl 1841526 BLAKE2B 928210cf0586b2e17cf96c341babbbf612eb08775af716588fad8840d04153d264b64098f97c8d2d7b219389d571cee8e4190195f8c5cc9f602749aad92df437 SHA512 48315489f2c0a76b49386228f9a2f675e71f20ff2f4aaaf65b2634ba5cac7c98facfbdebeb4651c65efdd2ade053a140d7a2a6b44587549d6663bc8bb5ef2220
-DIST pip-25.1-py3-none-any.whl 1824948 BLAKE2B a237c46c680afca0b72da704db8f390f9723e1a9d262b31d3d1dc7c89adff2dd6908768cdbeff5dc621ade7d68ce056ec1c6373b1b500da3a098d9f9798ad925 SHA512 1f669dce82d5e9238dc4cb776097f96179be9dbacf18a825a0845437cc4c234ab5242009e8d7d5b0d383bc339d0759ea408668b8d7076861d35da275c0d0fbfe
DIST pip-25.1.1-py3-none-any.whl 1825227 BLAKE2B 13170fa08dd26edced5e5fe8d89b38f5b3b63882489d2a951a7238f950a332ce0df11109482840595984bca187960d8fe2b7aeabfcbdaf94e5586631cc1de4e3 SHA512 e0c56f04a306cba9e13ed87f7460ad5a3bda7d6c37e05098082c58acb1f7493c8061e48df279f2c476e75d12df12d0f1a74d82e00e6fc2badffe484d281c56fc
DIST pip-25.1.1.gh.tar.gz 9219969 BLAKE2B eb443451deeb71888c2fc56ac5c8cb2d0515ec0efff975fab98cfa65d1fc5e66948243b3acebf1f4b0446e46082abb9fd350816579a4f5af1292c160490ce930 SHA512 ce61c9861265139b3c5ea9be9dc246097cd75c21687cf8301f80a377d02420c4524f0d6307d2ca0232ff8715b1105343bcfdb9cac6b69503780ab2c4645558dc
diff --git a/dev-python/ensurepip-pip/ensurepip-pip-25.0.1.ebuild b/dev-python/ensurepip-pip/ensurepip-pip-25.0.1.ebuild
deleted file mode 100644
index 23904e1f43a9..000000000000
--- a/dev-python/ensurepip-pip/ensurepip-pip-25.0.1.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2022-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit pypi
-
-DESCRIPTION="Shared pip wheel for ensurepip Python module"
-HOMEPAGE="https://pypi.org/project/pip/"
-SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
-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"
-
-src_install() {
- insinto /usr/lib/python/ensurepip
- doins "${A}"
-}
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 8667f3cbbf85..23904e1f43a9 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/ensurepip-pip/ensurepip-pip-25.1.ebuild b/dev-python/ensurepip-pip/ensurepip-pip-25.1.ebuild
deleted file mode 100644
index dcf21d3e394a..000000000000
--- a/dev-python/ensurepip-pip/ensurepip-pip-25.1.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2022-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit pypi
-
-DESCRIPTION="Shared pip wheel for ensurepip Python module"
-HOMEPAGE="https://pypi.org/project/pip/"
-SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
-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"
-
-src_install() {
- insinto /usr/lib/python/ensurepip
- doins "${A}"
-}
diff --git a/dev-python/etuples/Manifest b/dev-python/etuples/Manifest
index 8cb7c0064e08..80a537523845 100644
--- a/dev-python/etuples/Manifest
+++ b/dev-python/etuples/Manifest
@@ -1 +1,2 @@
+DIST etuples-0.3.10.gh.tar.gz 22424 BLAKE2B 95cfdd30267e3ac9f98d2b6a2282e5476c86b58ea1b782d1a08b729cfc7943c6d90a7e434194261eee52bbf9b586374bb57ec8a3c686c5338aec2b273f38d65e SHA512 f7f320e175c62c545240820d693603ea0defcac33eefeaa638f809333b266e6809b87664416511c763ef4e4cb7a546d584e71e25d89bb859d8abc9b40f4dfffc
DIST etuples-0.3.9.gh.tar.gz 45310 BLAKE2B e639fd4a1a4d9a1b34b32ab2884bfe933a079d721bb8b16b225d62f63e61e5cd1f1aa0f4113769744dd2ab80e537d73efdc3bcce3d1781089746997c11f3d820 SHA512 d66fac192fe14153b3496e6baa5ee3a0ff2813c26bbf0c3293049a0a50a26f32e14b031877f36e336035bf74853e981b6f75410e1f84b4ebcc84b55331d313e0
diff --git a/dev-python/etuples/etuples-0.3.10.ebuild b/dev-python/etuples/etuples-0.3.10.ebuild
new file mode 100644
index 000000000000..cdab1173afba
--- /dev/null
+++ b/dev-python/etuples/etuples-0.3.10.ebuild
@@ -0,0 +1,37 @@
+# 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} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python S-expression emulation using tuple-like objects"
+HOMEPAGE="
+ https://pypi.org/project/etuples/
+ https://github.com/pythological/etuples/
+"
+# tests not in sdist, as of 0.3.9
+SRC_URI="
+ https://github.com/pythological/etuples/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86"
+
+RDEPEND="
+ dev-python/cons[${PYTHON_USEDEP}]
+ dev-python/multipledispatch[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/expandvars/Manifest b/dev-python/expandvars/Manifest
index 69bda1795590..59935e0add09 100644
--- a/dev-python/expandvars/Manifest
+++ b/dev-python/expandvars/Manifest
@@ -1 +1,2 @@
DIST expandvars-1.0.0.tar.gz 11388 BLAKE2B 9964ad75a2b31ee60b65142c4860ce474bb9af40fcdcc548bb32ec5b270682bdc9624f0771c4fd5e89cf77df0fe918936f50276441671d84ed61f9f15c0483db SHA512 06aacf831973386fe4a366477eefa93f9118ed0cb66822b7bca719eb688850e9803cf34a109ee51daa6147352a3b86da87667ba5d6018615778feabbcfaf3c6b
+DIST expandvars-1.1.1.tar.gz 70787 BLAKE2B a75def82317c8b16e04ec72a1ba6b477e14f2694e9621bd0b8864a2e84d7ff990b5149a743ccc63dcadcd0caa6fc070f9e1f96e73eb187d2d0ce62f4fb07e840 SHA512 8924663a2d7edb6c4e09a6ced187dd32d842df1549194fbf3f7f642af075aa3403439f729ead8f5775a8d2ac70b20ed7549c3741680461bbdf1379f9df310556
diff --git a/dev-python/expandvars/expandvars-1.1.1.ebuild b/dev-python/expandvars/expandvars-1.1.1.ebuild
new file mode 100644
index 000000000000..7370e391e62d
--- /dev/null
+++ b/dev-python/expandvars/expandvars-1.1.1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 2023-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="Expand system variables Unix style"
+HOMEPAGE="
+ https://github.com/sayanarijit/expandvars/
+ https://pypi.org/project/expandvars/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/faker/Manifest b/dev-python/faker/Manifest
index 1cb7e1211423..891628cf15e1 100644
--- a/dev-python/faker/Manifest
+++ b/dev-python/faker/Manifest
@@ -1 +1,2 @@
DIST faker-37.4.0.tar.gz 1901976 BLAKE2B bddd0aca8fc5ac63e07f5df7a57eaa2c660e3bbb14ea7882c7b2854bfb261bcb02e43ee0d03e78c140b187509426be687e84bad4e1aea2afdb8cbc1db2cf3587 SHA512 9210908c5ee7a5c6cd542cb99283ec95ada28fcdecd5a1f476db0492f2ca87503762bc21cf5e5f41a54ab590a0af58fa615869fccf2c04fc664e094cb7b56272
+DIST faker-37.4.2.tar.gz 1902890 BLAKE2B a98587022e393513da85e0f2a21b63af7d763f5e5d9d5eba7bd2c9ffe0cb368f6128e73ebb341c93b41fdeb6f065ca2062ec9bfecf82491f0e401926bf05da4b SHA512 f625c289a2748d4df230a21233b1fd07cc06ab07a391ae6f5fa694792917c91f1de11897a723bb931103dba65e16b111b0a3281f2a2e4a39054de8163cf06a24
diff --git a/dev-python/faker/faker-37.4.2.ebuild b/dev-python/faker/faker-37.4.2.ebuild
new file mode 100644
index 000000000000..07e6ec6efccf
--- /dev/null
+++ b/dev-python/faker/faker-37.4.2.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN=${PN^}
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A Python package that generates fake data for you"
+HOMEPAGE="
+ https://github.com/joke2k/faker/
+ https://pypi.org/project/Faker/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/tzdata[${PYTHON_USEDEP}]
+ !dev-ruby/faker
+"
+BDEPEND="
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP},tiff]
+ dev-python/validators[${PYTHON_USEDEP}]
+ )
+"
+
+# note: tests are flaky with xdist
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=faker.contrib.pytest.plugin
+ epytest
+ epytest --exclusive-faker-session tests/pytest/session_overrides
+}
diff --git a/dev-python/fastapi/Manifest b/dev-python/fastapi/Manifest
index 8cedfa132f74..7218f9567f97 100644
--- a/dev-python/fastapi/Manifest
+++ b/dev-python/fastapi/Manifest
@@ -1,2 +1,3 @@
DIST fastapi-0.115.13.tar.gz 295680 BLAKE2B 04fa6fec81e25045f6e6601dc6207973fa4afe7b2fe6ebd27645a48f5b6f0a30758581dba947972fbcfb62e6e5dcf119c03f007c9f31ddc80236f1ea7e39d453 SHA512 0c337265d118ce86e1800251caba4f55ece9c8262870000cf5b3b36f21467079043377a136c1c5aa17f96b724c3633cc600c96093192ced7a2ffa18eba7c8171
DIST fastapi-0.115.14.tar.gz 296263 BLAKE2B 196cf0043d43b9b03b24198c9c001e1fcd9a37ba608ae0190908024dfb0cff2789f85a8a1b5f9b61f66101df5b28c701638e15f414e446b5a57b64d482d52b9e SHA512 48831b78c6a4738b02ba32327d4cef251e776126180b265877fcf3bab3d7631dbb20434b63c5845781d3dae495cce9fb12ee59e35edc656c8806efbddbfc0e53
+DIST fastapi-0.116.0.tar.gz 296518 BLAKE2B c3b157e3723bc4491a0cc25215de0cd0deb1b9918c2bcd7a9cdc4eceac3fbe2306c64374c80668aa3bd1a6c62836fdcad373667a75aadc95885e8ae37d14b5d1 SHA512 1b74671b746c77aa31861979187e387b1e867d43985420adc5dee056f9f97104e754c6e6e9cbbfe96a59b83cdc2e3a67bb9f49d954f6f16d08b441e1be1e63bb
diff --git a/dev-python/fastapi/fastapi-0.116.0.ebuild b/dev-python/fastapi/fastapi-0.116.0.ebuild
new file mode 100644
index 000000000000..02f1bdb283a2
--- /dev/null
+++ b/dev-python/fastapi/fastapi-0.116.0.ebuild
@@ -0,0 +1,111 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="FastAPI framework, high performance, easy to learn, ready for production"
+HOMEPAGE="
+ https://fastapi.tiangolo.com/
+ https://pypi.org/project/fastapi/
+ https://github.com/fastapi/fastapi
+"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/fastapi/fastapi.git"
+else
+ inherit pypi
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="
+ <dev-python/pydantic-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-1.7.4[${PYTHON_USEDEP}]
+ <dev-python/starlette-0.48.0[${PYTHON_USEDEP}]
+ >=dev-python/starlette-0.40.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.8.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/aiosqlite[${PYTHON_USEDEP}]
+ >=dev-python/anyio-3.2.1[${PYTHON_USEDEP}]
+ dev-python/bcrypt[${PYTHON_USEDEP}]
+ dev-python/dirty-equals[${PYTHON_USEDEP}]
+ dev-python/email-validator[${PYTHON_USEDEP}]
+ >=dev-python/flask-1.1.2[${PYTHON_USEDEP}]
+ >=dev-python/inline-snapshot-0.21.1[${PYTHON_USEDEP}]
+ >=dev-python/jinja2-3.1.5[${PYTHON_USEDEP}]
+ dev-python/orjson[${PYTHON_USEDEP}]
+ <dev-python/passlib-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/passlib-1.7.2[${PYTHON_USEDEP}]
+ dev-python/pydantic-settings[${PYTHON_USEDEP}]
+ dev-python/pyjwt[${PYTHON_USEDEP}]
+ >=dev-python/python-multipart-0.0.18[${PYTHON_USEDEP}]
+ <dev-python/pyyaml-7.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.3.1[${PYTHON_USEDEP}]
+ dev-python/sqlmodel[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ dev-python/ujson[${PYTHON_USEDEP}]
+ )
+"
+# brotli and zstd due to starlette based tests expecting it
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.115.6-httpx-0.28-test-fix.patch"
+ "${FILESDIR}/${PN}-0.115.14-starlette-bump.patch"
+)
+
+EPYTEST_PLUGINS=( anyio )
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Depends on coverage
+ "tests/test_fastapi_cli.py::test_fastapi_cli"
+ # Test result affected by unrelated packages such as brotli and zstd
+ # https://github.com/fastapi/fastapi/blob/7c6f2f8fde68f488163376c9e92a59d46c491298/tests/test_tutorial/test_header_param_models/test_tutorial001.py#L77
+ "tests/test_tutorial/test_header_param_models/test_tutorial001.py::test_header_param_model_invalid"
+ "tests/test_tutorial/test_header_param_models/test_tutorial003.py::test_header_param_model_invalid"
+ "tests/test_tutorial/test_header_param_models/test_tutorial003.py::test_header_param_model_no_underscore"
+ # https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6afa196ca0cb1604875847b1b84fa64896a06f6e
+ "tests/test_multipart_installation.py::test_incorrect_multipart_installed_form"
+ "tests/test_multipart_installation.py::test_incorrect_multipart_installed_file_upload"
+ "tests/test_multipart_installation.py::test_incorrect_multipart_installed_file_bytes"
+ "tests/test_multipart_installation.py::test_incorrect_multipart_installed_multi_form"
+ "tests/test_multipart_installation.py::test_incorrect_multipart_installed_form_file"
+ "tests/test_multipart_installation.py::test_no_multipart_installed"
+ "tests/test_multipart_installation.py::test_no_multipart_installed_file"
+ "tests/test_multipart_installation.py::test_no_multipart_installed_file_bytes"
+ "tests/test_multipart_installation.py::test_no_multipart_installed_multi_form"
+ "tests/test_multipart_installation.py::test_no_multipart_installed_form_file"
+ "tests/test_multipart_installation.py::test_old_multipart_installed"
+ # Hangs with network-sandbox
+ "tests/test_tutorial/test_websockets/test_tutorial003_py39.py::test_websocket_handle_disconnection"
+
+)
+
+python_prepare_all() {
+ # Dont install fastapi executable as fastapi-cli is supposed to handle it
+ sed -i -e '/\[project.scripts\]/,/^$/d' pyproject.toml || die
+
+ distutils-r1_python_prepare_all
+}
+
+pkg_postinst() {
+ optfeature "commandline interface" dev-python/fastapi-cli
+ optfeature "test client" dev-python/httpx
+ optfeature "templates" dev-python/jinja2
+ optfeature "forms and file uploads" dev-python/python-multipart
+ optfeature "validate emails" dev-python/email-validator
+ optfeature "uvicorn with uvloop" dev-python/uvicorn
+ optfeature_header "Alternative JSON responses"
+ optfeature "ORJSONResponse" dev-python/orjson
+ optfeature "UJSONResponse" dev-python/ujson
+}
diff --git a/dev-python/feedgenerator/Manifest b/dev-python/feedgenerator/Manifest
index b760d456a806..284f2f86eb05 100644
--- a/dev-python/feedgenerator/Manifest
+++ b/dev-python/feedgenerator/Manifest
@@ -1 +1,2 @@
DIST feedgenerator-2.1.0.tar.gz 20682 BLAKE2B cf78ab6c8f84d82f260a315cdaac2780e563668179f13e087f760f6ba3acc11767d1d639f78b2ead9cec333ff04509b73a9e55ff0184c740cbf2090aad9f3987 SHA512 b8b41f5b256130166c8dba34dd950782f9acb506e3e37a2fe13b5e1f9d33f7d39b7f862e446f4f6f2f480973617feb70303f78a4fb6741f110166e61b92f0075
+DIST feedgenerator-2.2.0.tar.gz 20309 BLAKE2B ba57e46e6ce1ba3b6e11da40b30d53aed046e4ae8c466b31ee3a6163f0188c112f8e714655aef912de5fe2855b25dbf234a3057636e8530e7233f75784b1c0af SHA512 8f5f512ee6da2248c9f9dd56f0bb571a8a0495b7e884013f35b246b77a74d8012390400cdd24b410ae9a03de71d6951f2bc5eb03661fbfbce526397327051bd6
diff --git a/dev-python/feedgenerator/feedgenerator-2.2.0.ebuild b/dev-python/feedgenerator/feedgenerator-2.2.0.ebuild
new file mode 100644
index 000000000000..6b7938a97421
--- /dev/null
+++ b/dev-python/feedgenerator/feedgenerator-2.2.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Standalone version of django.utils.feedgenerator"
+HOMEPAGE="
+ https://github.com/getpelican/feedgenerator/
+ https://pypi.org/project/feedgenerator/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/pytz[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -o addopts=
+}
diff --git a/dev-python/flask-compress/Manifest b/dev-python/flask-compress/Manifest
index 32764863fca0..5de3cb79f54e 100644
--- a/dev-python/flask-compress/Manifest
+++ b/dev-python/flask-compress/Manifest
@@ -1 +1,2 @@
DIST flask_compress-1.17.tar.gz 15733 BLAKE2B f548983e03b66cfbec55726ab14b757d3a079842a9de46e294305409bb1f655478567c43b992b79c8e5c46f50f1f044f2bc8602a683f71a944b4c05f0f33df39 SHA512 58d66f7be21117ad2769743c148b7df6981634341d1ffa1c6c71aabd86119364e85a8242297e6f369b02ecf09ccdd3980806e91c869754f917d0bd83ae7b9b5d
+DIST flask_compress-1.18.tar.gz 16571 BLAKE2B 82a4fae8551136e20befb4a8cc1f26730629e851a555db941023fa98f45813eb3e1e036121daea8713f669b70aceeb2b795ee6995882f4b3dade6af3db5cfcf6 SHA512 a070fca45d0905dabf336151e3014b8cd6727c5fd7b3f157ab5b6fba1571ca05ac973c97727dc787abe9d35957b51e539b72edde8b291954d8fb7ee8919480a2
diff --git a/dev-python/flask-compress/flask-compress-1.18.ebuild b/dev-python/flask-compress/flask-compress-1.18.ebuild
new file mode 100644
index 000000000000..ab073c20c850
--- /dev/null
+++ b/dev-python/flask-compress/flask-compress-1.18.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN="Flask-Compress"
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Compress responses in your Flask app with gzip"
+HOMEPAGE="
+ https://github.com/colour-science/flask-compress/
+ https://pypi.org/project/Flask-Compress/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+# brotli on cpython, brotlicffi on pypy3
+RDEPEND="
+ app-arch/brotli[python,${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/pyzstd[${PYTHON_USEDEP}]
+ ' 3.{11..13})
+"
+BDEPEND="
+ test? (
+ dev-python/flask-caching[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/fonttools/Manifest b/dev-python/fonttools/Manifest
index 2a5272df4c9e..ddcdb6534abd 100644
--- a/dev-python/fonttools/Manifest
+++ b/dev-python/fonttools/Manifest
@@ -1,4 +1,2 @@
-DIST fonttools-4.56.0.gh.tar.gz 3900744 BLAKE2B f75ad562092cadbf2a844fedf47e1b054769227d1fd3e553f62f3f664f07a57df2dda410850b00e1a1aa7d322fb14401255f11570a3f0456b443ae96e484f2d6 SHA512 e1d668b299dcf26d578d1fd7b6830ab6a97f97545024060eda1acb625910a3a430e34ce04c6739db724e974422043d59629ab7380812a72b4a219ab0dbec35a3
-DIST fonttools-4.57.0.gh.tar.gz 3932468 BLAKE2B 7bfcf6aa3b5cffbba7cdabe14a580dc40677a1d80a2d69750925d7e06c1885df9cd586a228c0d06707acdc9870e92241cce373f0eb27f93a4f887ba14631470c SHA512 7e3ef7149b8e6af5953a827e0a078390e67b919ba9752a03672d876f6de3d0d395b2e061c0f87e5d9298c13c74a1f0162d99151c364dfab487eec2ab9adced75
DIST fonttools-4.58.4.gh.tar.gz 3964173 BLAKE2B a4813bb4bb2929c0e3f95389fd2da5729b9b484f3c19c975b2392fa6d6a489d432c86f4ac3dc7bc58e75238b1ab87292e0dd99b1cadda143bf8df61d4770e10f SHA512 746eb64dee02e77321ca60752e1dd77ff0eb4411bf907968c5118de36618f4bc857d5782c289768fee8c43f9e410f225061736509f6a5c25a829a8ee30a0995b
DIST fonttools-4.58.5.gh.tar.gz 3964953 BLAKE2B 55604a10796af825a71e0937032285d4a03c061408474f3af3172aea9155fbccafd314282ca357e539e24f32235927adbbe4e3e1b62c2d6a4a50c2492924a802 SHA512 02a5796b6041561c9f6b7f5a27a5b8de926f5243288ce28f98ec175d890e011427e3be1e0d1a2f259e556225ef0d6f24c7fc5ee03983692beb5486120fb8acc5
diff --git a/dev-python/fonttools/fonttools-4.56.0.ebuild b/dev-python/fonttools/fonttools-4.56.0.ebuild
deleted file mode 100644
index 68656bf956c8..000000000000
--- a/dev-python/fonttools/fonttools-4.56.0.ebuild
+++ /dev/null
@@ -1,99 +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_{9,10,11,12,13} pypy3 )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1 virtualx
-
-DESCRIPTION="Library for manipulating TrueType, OpenType, AFM and Type1 fonts"
-HOMEPAGE="
- https://github.com/fonttools/fonttools/
- https://pypi.org/project/fonttools/
-"
-SRC_URI="
- https://github.com/fonttools/fonttools/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="+native-extensions"
-
-RDEPEND="
- >=dev-python/fs-2.4.9[${PYTHON_USEDEP}]
-"
-BDEPEND="
- native-extensions? (
- $(python_gen_cond_dep '
- dev-python/cython[${PYTHON_USEDEP}]
- ' 'python*')
- )
- test? (
- dev-python/brotlicffi[${PYTHON_USEDEP}]
- dev-python/munkres[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- app-arch/zopfli
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # When dev-python/pytest-shutil is installed, we get weird import errors.
- # This is due to incomplete nesting in the Tests/ tree:
- #
- # Tests/feaLib/__init__.py
- # Tests/ufoLib/__init__.py
- # Tests/svgLib/path/__init__.py
- # Tests/otlLib/__init__.py
- # Tests/varLib/__init__.py
- #
- # This tree requires an __init__.py in Tests/svgLib/ too, bug #701148.
- touch Tests/svgLib/__init__.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- local -x FONTTOOLS_WITH_CYTHON=$(usex native-extensions)
- [[ ${EPYTHON} == pypy3 ]] && FONTTOOLS_WITH_CYTHON=0
- distutils-r1_python_compile
-}
-
-src_test() {
- # virtualx used when matplotlib is installed causing plot module tests to run
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # flaky test
- Tests/ttLib/woff2_test.py::WOFF2ReaderTest::test_get_normal_tables
- )
-
- if [[ ${EPYTHON} == pypy3 ]] &&
- has_version "dev-python/pyxattr[${PYTHON_USEDEP}]" &&
- {
- has_version "<dev-python/pypy3_10-exe-7.3.13_p2" ||
- has_version "<dev-python/pypy3_10-exe-bin-7.3.13_p2"
- }
- then
- EPYTEST_DESELECT+=(
- # affected by a bug in PyPy/pyxattr
- # https://github.com/iustin/pyxattr/issues/41
- Tests/t1Lib/t1Lib_test.py::ReadWriteTest::test_read_with_path
- )
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- nonfatal epytest \
- -p rerunfailures --reruns=5 \
- Tests fontTools || die -n "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/fonttools/fonttools-4.57.0.ebuild b/dev-python/fonttools/fonttools-4.57.0.ebuild
deleted file mode 100644
index 16c8b43c1f07..000000000000
--- a/dev-python/fonttools/fonttools-4.57.0.ebuild
+++ /dev/null
@@ -1,99 +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_{9,10,11,12,13} pypy3 )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1 virtualx
-
-DESCRIPTION="Library for manipulating TrueType, OpenType, AFM and Type1 fonts"
-HOMEPAGE="
- https://github.com/fonttools/fonttools/
- https://pypi.org/project/fonttools/
-"
-SRC_URI="
- https://github.com/fonttools/fonttools/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="+native-extensions"
-
-RDEPEND="
- >=dev-python/fs-2.4.9[${PYTHON_USEDEP}]
-"
-BDEPEND="
- native-extensions? (
- $(python_gen_cond_dep '
- dev-python/cython[${PYTHON_USEDEP}]
- ' 'python*')
- )
- test? (
- dev-python/brotlicffi[${PYTHON_USEDEP}]
- dev-python/munkres[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- app-arch/zopfli
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # When dev-python/pytest-shutil is installed, we get weird import errors.
- # This is due to incomplete nesting in the Tests/ tree:
- #
- # Tests/feaLib/__init__.py
- # Tests/ufoLib/__init__.py
- # Tests/svgLib/path/__init__.py
- # Tests/otlLib/__init__.py
- # Tests/varLib/__init__.py
- #
- # This tree requires an __init__.py in Tests/svgLib/ too, bug #701148.
- touch Tests/svgLib/__init__.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- local -x FONTTOOLS_WITH_CYTHON=$(usex native-extensions)
- [[ ${EPYTHON} == pypy3 ]] && FONTTOOLS_WITH_CYTHON=0
- distutils-r1_python_compile
-}
-
-src_test() {
- # virtualx used when matplotlib is installed causing plot module tests to run
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # flaky test
- Tests/ttLib/woff2_test.py::WOFF2ReaderTest::test_get_normal_tables
- )
-
- if [[ ${EPYTHON} == pypy3 ]] &&
- has_version "dev-python/pyxattr[${PYTHON_USEDEP}]" &&
- {
- has_version "<dev-python/pypy3_10-exe-7.3.13_p2" ||
- has_version "<dev-python/pypy3_10-exe-bin-7.3.13_p2"
- }
- then
- EPYTEST_DESELECT+=(
- # affected by a bug in PyPy/pyxattr
- # https://github.com/iustin/pyxattr/issues/41
- Tests/t1Lib/t1Lib_test.py::ReadWriteTest::test_read_with_path
- )
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- nonfatal epytest \
- -p rerunfailures --reruns=5 \
- Tests fontTools || die -n "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/fonttools/fonttools-4.58.4.ebuild b/dev-python/fonttools/fonttools-4.58.4.ebuild
index 090ae6a05e8f..844b4b1fa2cc 100644
--- a/dev-python/fonttools/fonttools-4.58.4.ebuild
+++ b/dev-python/fonttools/fonttools-4.58.4.ebuild
@@ -22,7 +22,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ~ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="+native-extensions"
RDEPEND="
diff --git a/dev-python/forbiddenfruit/forbiddenfruit-0.1.4.ebuild b/dev-python/forbiddenfruit/forbiddenfruit-0.1.4.ebuild
index 8e057728e332..57dd38ea0ee7 100644
--- a/dev-python/forbiddenfruit/forbiddenfruit-0.1.4.ebuild
+++ b/dev-python/forbiddenfruit/forbiddenfruit-0.1.4.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="|| ( GPL-3 MIT )"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/freezegun/Manifest b/dev-python/freezegun/Manifest
index c7686f55b31c..bda432c61eec 100644
--- a/dev-python/freezegun/Manifest
+++ b/dev-python/freezegun/Manifest
@@ -1 +1,2 @@
DIST freezegun-1.5.2.tar.gz 34855 BLAKE2B e1d3a17bdddccd91fcf99efdf18a6ebbeb7a01f74139c1086f51a149f2704cedc7773c229091d85f13d3c6f306a2813a7a73d5fd59d956c8e48011c9fb092a1c SHA512 63826a9b578dd7f90432c41aeca168a729e5c2fcaf6f8dac84c26d811147678f7416454115aa940e90f6902c6c38984939e28a8bcd04e139c2fc0c2a2d473274
+DIST freezegun-1.5.3.tar.gz 35484 BLAKE2B 38891a2b2f5bb91d1480af1098fbb520a9abf7834b0b48664c27dfdeffd219c268f165da8360fda349c6d7b8bacbaa11d0ebcc3a6af104ee3145b6bccb934375 SHA512 e77910a28627c9c03056639b04bb83b6f76f3f1ff9dc96c25074b160b6c0c053576fd4edca33d11ca69ef06c8a3074af7e251865df8dbb143c045e50a95ccadd
diff --git a/dev-python/freezegun/freezegun-1.5.3.ebuild b/dev-python/freezegun/freezegun-1.5.3.ebuild
new file mode 100644
index 000000000000..4c54ed3caf0e
--- /dev/null
+++ b/dev-python/freezegun/freezegun-1.5.3.ebuild
@@ -0,0 +1,31 @@
+# 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="Let your Python tests travel through time"
+HOMEPAGE="
+ https://github.com/spulec/freezegun/
+ https://pypi.org/project/freezegun/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+RDEPEND="
+ >dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/frozenlist/Manifest b/dev-python/frozenlist/Manifest
index be7617b4366b..106c2ed96585 100644
--- a/dev-python/frozenlist/Manifest
+++ b/dev-python/frozenlist/Manifest
@@ -1,5 +1 @@
-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
DIST frozenlist-1.7.0.gh.tar.gz 51128 BLAKE2B 8ce7444524bcc1d3bc0c4288a21a06830fb461dbb2c6226995dddca5574f90a88aac03bf21caa0401ffacf5d069096c2f7430325c74ae26105d03c6ff7348c06 SHA512 007118195032ebeeba172d2113b8e0af330d6a1ed67ad3ab4313c01b4948a3d5890e526fb3258e930e3ea8a221f239fd061abe3eead0c6b6196a95e78fb29422
diff --git a/dev-python/frozenlist/frozenlist-1.5.0.ebuild b/dev-python/frozenlist/frozenlist-1.5.0.ebuild
deleted file mode 100644
index 04f5a5d2b877..000000000000
--- a/dev-python/frozenlist/frozenlist-1.5.0.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# 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/frozenlist/frozenlist-1.6.0.ebuild b/dev-python/frozenlist/frozenlist-1.6.0.ebuild
deleted file mode 100644
index 4891ed1543ce..000000000000
--- a/dev-python/frozenlist/frozenlist-1.6.0.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# 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/frozenlist/frozenlist-1.6.1.ebuild b/dev-python/frozenlist/frozenlist-1.6.1.ebuild
deleted file mode 100644
index 9ac110983020..000000000000
--- a/dev-python/frozenlist/frozenlist-1.6.1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# 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/frozenlist/frozenlist-1.6.2.ebuild b/dev-python/frozenlist/frozenlist-1.6.2.ebuild
deleted file mode 100644
index 5b9a373d2a4a..000000000000
--- a/dev-python/frozenlist/frozenlist-1.6.2.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# 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/frozenlist/frozenlist-1.7.0.ebuild b/dev-python/frozenlist/frozenlist-1.7.0.ebuild
index 4891ed1543ce..04f5a5d2b877 100644
--- a/dev-python/frozenlist/frozenlist-1.7.0.ebuild
+++ b/dev-python/frozenlist/frozenlist-1.7.0.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="+native-extensions"
BDEPEND="
diff --git a/dev-python/fsspec/Manifest b/dev-python/fsspec/Manifest
index 2b1838ef6658..1f8cb15e7161 100644
--- a/dev-python/fsspec/Manifest
+++ b/dev-python/fsspec/Manifest
@@ -1 +1,2 @@
DIST filesystem_spec-2025.5.1.gh.tar.gz 438472 BLAKE2B 798cb0fdea82640e8c1de76ad6cea113cba0999ee907f2ca71602e6fab415f89ec070d3d1059e11858fe985f657092713b2db29382a2933cfbddeb1c1dea55a8 SHA512 fa645f313f0047531ceac77f74a7ba5f2ff4df363403749b629ac12f3ef2e3b42d7fe964c1f974539ed526515b027de4fde6c0366557bfae258e2fa93a8f1495
+DIST filesystem_spec-2025.7.0.gh.tar.gz 439666 BLAKE2B 9405d29fc9c9cf573966d3a1a46d94611fbc7874589862c7ad2e96c64c9c3e7b30b8ce2206f6723c94f1a4918e8763badc786f444de2c2386c9d83b615f5479c SHA512 662bbd67941cbccde26fc69f444c6566233b03bcb22b0fc219efc7bd3fb6a08d75beeea044414e8a6e2a3d3e82522f0fc13057d4be1660305a2271aee7d46c40
diff --git a/dev-python/fsspec/fsspec-2025.7.0.ebuild b/dev-python/fsspec/fsspec-2025.7.0.ebuild
new file mode 100644
index 000000000000..1aba00c18ebe
--- /dev/null
+++ b/dev-python/fsspec/fsspec-2025.7.0.ebuild
@@ -0,0 +1,60 @@
+# Copyright 2020-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
+
+MY_P=filesystem_spec-${PV}
+DESCRIPTION="A specification that python filesystems should adhere to"
+HOMEPAGE="
+ https://github.com/fsspec/filesystem_spec/
+ https://pypi.org/project/fsspec/
+"
+# upstream removed tests in 2024.6.0
+SRC_URI="
+ https://github.com/fsspec/filesystem_spec/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/tqdm[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+
+# Note: this package is not xdist-friendly
+EPYTEST_PLUGINS=( pytest-{asyncio,mock,rerunfailures} )
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+src_test() {
+ git config --global user.email "you@example.com" || die
+ git config --global user.name "Your Name" || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ fsspec/implementations/tests/test_reference.py::test_async_cat_file_ranges
+ fsspec/implementations/tests/test_github.py
+ fsspec/implementations/tests/test_gist.py
+ )
+
+ epytest -o tmp_path_retention_policy=all
+}
diff --git a/dev-python/google-api-python-client/Manifest b/dev-python/google-api-python-client/Manifest
index 52280de01a38..42a92a60c283 100644
--- a/dev-python/google-api-python-client/Manifest
+++ b/dev-python/google-api-python-client/Manifest
@@ -1,4 +1,3 @@
-DIST google_api_python_client-2.173.0.tar.gz 13091318 BLAKE2B c7135d5ef2ce2b029c3d6d779fa82db69768ed70e366301ab692f746b7b76c3807f823a85e47a01cbe68626b20092b6bf5ea53baaeb416e84ec1d4086858267f SHA512 28947b8dd0cda063ebe5f9a722dfaf07f6a3db9030ac40c949b5ba27353699da32ee13862fc8969e7e4cf0f61a6efba11701ef15a460f827ab3e32b3f80d8b97
DIST google_api_python_client-2.174.0.tar.gz 13127872 BLAKE2B a369b988fc84c27a51d7c9708b00e81196777dbffca4e824f9ba4d65d59f24ae05c57aa3015b5d9d0b0965afefbd57c2d015b4c2e1447157697c036af5509143 SHA512 bf18ecf712c14f2ede60201d332a80bb3014d6ba0c269414f69d24d8f3714929769628ff71bcfb6f9accf23bc942917088431ccdd65b216a6165162dc7815f7e
DIST google_api_python_client-2.175.0.tar.gz 13143355 BLAKE2B 9ac5bd958d2c5de6b57917be04032fb10a9bffb577172e028d944e537726dd6aa85c798e11d032339b9e3f9df73c4e18ee4a429a83a360226449b77a25c7861c SHA512 2459336702ba415c12ae137c5cfbd4264a55df4f39d140514ce875bf6af13e702d76e3ad6716debbaf30364fd2211fd92f0a76be8f8de5b6d587aab4e1d377e4
DIST google_api_python_client-2.176.0.tar.gz 13154773 BLAKE2B 04677d283d132b93b99745619b2e1ee04e8c08c6f3b17ca7be8fcad3a4ba8aef1d3403a31c6c8fd477e6a0f78ea2a4545a99d9464eaeb4eb2ced1721f80c50a8 SHA512 1978849c948ac078992e4c3f38cf9a32ac8d1ac01fafb7bfa2458c8facb29e5597c215f6ba3d6cb3d3a6e439d64210f245e2fbf8bc86c65d5f7a2c5fc6f87fd8
diff --git a/dev-python/google-api-python-client/google-api-python-client-2.173.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.173.0.ebuild
deleted file mode 100644
index 75fc31e16901..000000000000
--- a/dev-python/google-api-python-client/google-api-python-client-2.173.0.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Google API Client for Python"
-HOMEPAGE="
- https://github.com/googleapis/google-api-python-client/
- https://pypi.org/project/google-api-python-client/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-RDEPEND="
- >=dev-python/httplib2-0.15[${PYTHON_USEDEP}]
- <dev-python/httplib2-1[${PYTHON_USEDEP}]
- >=dev-python/google-api-core-2.3.1[${PYTHON_USEDEP}]
- >=dev-python/google-auth-1.35.0[${PYTHON_USEDEP}]
- >=dev-python/google-auth-httplib2-0.1.0[${PYTHON_USEDEP}]
- >=dev-python/uritemplate-3.0.0[${PYTHON_USEDEP}]
- <dev-python/uritemplate-5[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/parameterized[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # require Internet access (and credentials)
- tests/test_discovery.py::DiscoveryErrors::test_credentials_and_credentials_file_mutually_exclusive
- tests/test_discovery.py::DiscoveryFromDocument::test_api_endpoint_override_from_client_options_mapping_object
- tests/test_discovery.py::Universe::test_client_options_universe_configured_with_mtls
- tests/test_discovery.py::Universe::test_universe_env_var_configured_with_mtls
- )
-
- epytest tests
-}
diff --git a/dev-python/google-api-python-client/google-api-python-client-2.174.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.174.0.ebuild
index 83f75ed3d688..eec43f23a911 100644
--- a/dev-python/google-api-python-client/google-api-python-client-2.174.0.ebuild
+++ b/dev-python/google-api-python-client/google-api-python-client-2.174.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 x86"
RDEPEND="
>=dev-python/httplib2-0.15[${PYTHON_USEDEP}]
diff --git a/dev-python/greenlet/greenlet-3.2.3.ebuild b/dev-python/greenlet/greenlet-3.2.3.ebuild
index f4c1e8105620..8ff10e63be43 100644
--- a/dev-python/greenlet/greenlet-3.2.3.ebuild
+++ b/dev-python/greenlet/greenlet-3.2.3.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="MIT PSF-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 -hppa ~m68k ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 -hppa ~m68k ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/grpcio-status/grpcio-status-1.73.1.ebuild b/dev-python/grpcio-status/grpcio-status-1.73.1.ebuild
index c8351188a5ff..ae5e980e4b33 100644
--- a/dev-python/grpcio-status/grpcio-status-1.73.1.ebuild
+++ b/dev-python/grpcio-status/grpcio-status-1.73.1.ebuild
@@ -23,7 +23,7 @@ S=${WORKDIR}/${MY_P}/src/python/grpcio_status
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="~amd64 arm64 x86"
RDEPEND="
>=dev-python/grpcio-${PV}[${PYTHON_USEDEP}]
diff --git a/dev-python/httpx/Manifest b/dev-python/httpx/Manifest
index 4ead50a6e3e0..b734a193e3e7 100644
--- a/dev-python/httpx/Manifest
+++ b/dev-python/httpx/Manifest
@@ -1,2 +1 @@
-DIST httpx-0.27.2.gh.tar.gz 2185609 BLAKE2B 7e77cab0e9bda032cd595549e43dfc102f90bb8668b62f6b1f0df6bce6b6358f34aa1f51457a315eb774dde8c76083d180c02ff45283dd348c39b4a659307713 SHA512 c7852ae3e982bacee1587b66aed506f3f7e12caf296e651d3cdd9c111a7d737af49473be455bcabccc8e52487ad18b4821ea56b39500c3b77ed2325fc55505ae
DIST httpx-0.28.1.gh.tar.gz 4118011 BLAKE2B 76c24a3b3618798d5b65aaaa87ee583f9debf8cb7866204a3e12c151179d9f69a6ad23198c9ee7df61058f73b6ca84f453c3bced25a60f583d7b3ad7681839bb SHA512 5571957a3516533f1c1e76f311316811f6365e192d19ebae10c9ab0d0c4094d811063fd2be2995f3b6a41d6899a7882f27265badecf238a4f7903f976136d3ba
diff --git a/dev-python/httpx/httpx-0.27.2.ebuild b/dev-python/httpx/httpx-0.27.2.ebuild
deleted file mode 100644
index 27f2b8a9bc5e..000000000000
--- a/dev-python/httpx/httpx-0.27.2.ebuild
+++ /dev/null
@@ -1,95 +0,0 @@
-# Copyright 2022-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Fully-featured HTTP client which provides sync and async APIs"
-HOMEPAGE="
- https://www.python-httpx.org/
- https://github.com/encode/httpx/
- https://pypi.org/project/httpx/
-"
-SRC_URI="
- https://github.com/encode/httpx/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="cli"
-
-RDEPEND="
- dev-python/anyio[${PYTHON_USEDEP}]
- dev-python/certifi[${PYTHON_USEDEP}]
- =dev-python/httpcore-1*[${PYTHON_USEDEP}]
- dev-python/idna[${PYTHON_USEDEP}]
- dev-python/sniffio[${PYTHON_USEDEP}]
- cli? (
- =dev-python/click-8*[${PYTHON_USEDEP}]
- =dev-python/pygments-2*[${PYTHON_USEDEP}]
- dev-python/rich[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
- test? (
- dev-python/brotlicffi[${PYTHON_USEDEP}]
- dev-python/chardet[${PYTHON_USEDEP}]
- dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/h2[${PYTHON_USEDEP}]
- dev-python/socksio[${PYTHON_USEDEP}]
- dev-python/trustme[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- dev-python/uvicorn[${PYTHON_USEDEP}]
- >=dev-python/zstandard-0.18.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/trio[${PYTHON_USEDEP}]
- ' 3.{10..13})
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- local PATCHES=(
- "${FILESDIR}/${PN}-0.27.0-opt-trio.patch"
- )
-
- if ! use cli; then
- sed -i -e '/^httpx =/d' pyproject.toml || die
- fi
- sed -i -e '/rich/s:,<14::' pyproject.toml || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local args=()
- local EPYTEST_DESELECT=(
- # Internet
- tests/client/test_proxies.py::test_async_proxy_close
- tests/client/test_proxies.py::test_sync_proxy_close
- )
-
- use cli || EPYTEST_IGNORE+=(
- tests/test_main.py
- )
-
- if ! has_version "dev-python/trio[${PYTHON_USEDEP}]"; then
- args+=( -o filterwarnings= -k "not trio" )
- fi
-
- epytest "${args[@]}"
-}
-
-pkg_postinst() {
- optfeature "HTTP/2 support" dev-python/h2
- optfeature "SOCKS proxy support" dev-python/socksio
- optfeature "Decoding for brotli compressed responses" dev-python/brotlicffi
-}
diff --git a/dev-python/hypothesis-gentoo/Manifest b/dev-python/hypothesis-gentoo/Manifest
new file mode 100644
index 000000000000..22215be2f10e
--- /dev/null
+++ b/dev-python/hypothesis-gentoo/Manifest
@@ -0,0 +1 @@
+DIST hypothesis_gentoo-3.tar.gz 2201 BLAKE2B 7fc480dbbf559ffca71be6eb5cc5c6186e892ad53776bc5d84ddc649be8d1fe9a181cecacb82806c161078d57a9b286434b921f15cd4b57a6ad6005baa300e05 SHA512 2b3df0b18bf3513de77712e3fdda1c14ac049f957c85fe50da4126146e2a95354079a69ebc3c8af962c30808ba97df21a8084ce0c6c5013c0a45fb8e83e9c02a
diff --git a/dev-python/hypothesis-gentoo/hypothesis-gentoo-3.ebuild b/dev-python/hypothesis-gentoo/hypothesis-gentoo-3.ebuild
new file mode 100644
index 000000000000..6a064c0606f7
--- /dev/null
+++ b/dev-python/hypothesis-gentoo/hypothesis-gentoo-3.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Plugin to create 'gentoo' hypothesis profile, disabling health checks"
+HOMEPAGE="
+ https://github.com/projg2/hypothesis-gentoo/
+ https://pypi.org/project/hypothesis-gentoo/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+# No RDEP on hypothesis -- it is only imported in the hypothesis hook
+
+EPYTEST_PLUGINS=( hypothesis )
+distutils_enable_tests pytest
diff --git a/dev-python/colorthief/metadata.xml b/dev-python/hypothesis-gentoo/metadata.xml
index c0f74ac187e2..a0d4c5913ba0 100644
--- a/dev-python/colorthief/metadata.xml
+++ b/dev-python/hypothesis-gentoo/metadata.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>pastalian46@gmail.com</email>
- <name>Takuya Wakazono</name>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
</maintainer>
- <origin>gentoo-guru-overlay</origin>
+ <origin>gentoo-staging</origin>
+ <stabilize-allarches/>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 75599f8c5ecd..8a2750a75080 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -2,3 +2,6 @@ DIST hypothesis-6.135.14.gh.tar.gz 9580007 BLAKE2B deb23f73931fea93e30892a936f00
DIST hypothesis-6.135.20.gh.tar.gz 9589950 BLAKE2B ad3e94e1dc35c9cca9693e3f06e68e0c12ddfed3f5c4d3eac98ef4197d2e3b8ae9c4d19615735189be24811d3c19a13ce77f469605616e03d3ca46738c084548 SHA512 0ef179049c18499f908b63e638c6daaaab8aa42ba54ce0f024d5c1997a14c4e6d95c0cf3930d6d1c52f527885bf2ccb74d346b3032698bb1ab8d0ef880275841
DIST hypothesis-6.135.25.gh.tar.gz 9592222 BLAKE2B 42538cd2fa63968ea75cc42dfa92f998d50fb92e77726c8eee42e10c94ec69ea5a682e070e3c04bfe49b229cbf03e26d4ab04ac7dabe2c34f81e217ad8491f90 SHA512 bb245d38ac9f2b0aced7890cb6c7cba4ce4b98ccb8f843afe02094a63058aad63f6c7c4ad2dcaa4af753f5823544d394875049a0b56ea2d98f84db39351a7668
DIST hypothesis-6.135.26.gh.tar.gz 9592596 BLAKE2B eccc6e968109c4f5e918a06f6e57ab583440c6d06bb2a4fa9b054e9165c4e0c7079118aa73c82eccbfbdf0fd02161cf44a976cd222254054d96b5223c13e6ff2 SHA512 5641c5572779c4250cf8b5e6adf11e3db74edc0129df69a1f304697b25d50d1c85fd6ee3aaa7ec1bc965b508514b702e0e9ab24740a545fe1205bc9717083de9
+DIST hypothesis-6.135.29.gh.tar.gz 9593158 BLAKE2B 290e9e3212ddf01622b29923d99f1cee428af8be9a3a25e8d20c29706e0fa9790f2678da8e32270781952c024474a606b61b9efaa3547403ee54e92b535aa4a4 SHA512 a4e9bf29796b18c69e54c409b03fc0bbcfd4c4d3755fc08b24eee5162dc1ab49f11908cffcdca4ed89b435d9bd4bd347ec003c8c245188f285b638baf5e5eaf2
+DIST hypothesis-6.135.31.gh.tar.gz 9594424 BLAKE2B 4f5f311c6da0fa8cd4d1677ca3094db2060a27ab68b9e91f1870cf48f22aa5ed63acc3d0ae3aaaef909fb3f6a8a9f3f1065d37f927cbf63ec5c3f1cfb532c240 SHA512 8b50bd883bebe706983ebf1119c423e51e0b722752b16ce2d4d0365d3e692f76dc651e7a7a612938b0c4cf52cdb05b2d70ebc6092e2ab4a7f64379a59fa68d16
+DIST hypothesis-6.135.32.gh.tar.gz 9595317 BLAKE2B ad537cfb6f7aeaa73cbce81757310adf95ccbd742a8d7330c644d16612168f1ced8fba3c7cb7c29e5bfb7843503c8a982c90466ef8a51ea6f0a295049f371ea7 SHA512 daf141d96de265c159a915703f64d2afc4df9f66069ea067a606dd503fe8c0165f3d1d68f2d91f61d067a0d3da55754fe038809576fb65000a3d0fc65c5c7db1
diff --git a/dev-python/hypothesis/hypothesis-6.135.29.ebuild b/dev-python/hypothesis/hypothesis-6.135.29.ebuild
new file mode 100644
index 000000000000..f6fc81dd010d
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.135.29.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( python3_{11..13} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 optfeature
+
+TAG=hypothesis-python-${PV}
+MY_P=hypothesis-${TAG}
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="
+ https://github.com/HypothesisWorks/hypothesis/
+ https://pypi.org/project/hypothesis/
+"
+SRC_URI="
+ https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/hypothesis-python"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' "${CLI_COMPAT[@]}")
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-rerunfailures )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ # NB: paths need to be relative to pytest.ini,
+ # i.e. start with hypothesis-python/
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ python3.13t)
+ EPYTEST_DESELECT+=(
+ # TODO: missing warning
+ 'hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns'
+ )
+ ;;
+ python3.14*)
+ EPYTEST_DESELECT+=(
+ 'hypothesis-python/tests/cover/test_compat.py::test_resolve_fwd_refs[Foo-Union]'
+ 'hypothesis-python/tests/cover/test_lookup.py::test_builds_suggests_from_type[Union]'
+ hypothesis-python/tests/cover/test_attrs_inference.py::test_attrs_inference_builds
+ hypothesis-python/tests/cover/test_lookup.py::test_bytestring_not_treated_as_generic_sequence
+ hypothesis-python/tests/cover/test_lookup.py::test_issue_4194_regression
+ hypothesis-python/tests/cover/test_lookup.py::test_resolves_forwardrefs_to_builtin_types
+ hypothesis-python/tests/cover/test_lookup.py::test_specialised_collection_types
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_collection_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_container_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_contextmanager_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_iterable_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_reversible_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_sequence_as_generic
+ hypothesis-python/tests/cover/test_random_module.py::test_evil_prng_registration_nonsense
+ hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns
+ hypothesis-python/tests/cover/test_random_module.py::test_register_random_within_nested_function_scope
+ hypothesis-python/tests/cover/test_random_module.py::test_registering_a_Random_is_idempotent
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_dot_access_forward_ref
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_forward_ref
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_checking_only_forward_ref_wrong_type
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_cheking_only_forward_ref
+ )
+ ;;
+ esac
+
+ # subtests are broken by warnings from random plugins
+ local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin
+ local -x HYPOTHESIS_NO_PLUGINS=1
+
+ epytest -o filterwarnings= --reruns=5 \
+ tests/cover tests/pytest tests/quality
+}
+
+src_install() {
+ local HAD_CLI=
+
+ distutils-r1_src_install
+
+ if [[ ! ${HAD_CLI} ]]; then
+ rm -r "${ED}/usr/bin" || die
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ HAD_CLI=1
+ else
+ rm -r "${D}$(python_get_scriptdir)" || die
+ fi
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}
diff --git a/dev-python/hypothesis/hypothesis-6.135.31.ebuild b/dev-python/hypothesis/hypothesis-6.135.31.ebuild
new file mode 100644
index 000000000000..ac2579cbfd4d
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.135.31.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( python3_{11..13} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 optfeature
+
+TAG=hypothesis-python-${PV}
+MY_P=hypothesis-${TAG}
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="
+ https://github.com/HypothesisWorks/hypothesis/
+ https://pypi.org/project/hypothesis/
+"
+SRC_URI="
+ https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/hypothesis-python"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' "${CLI_COMPAT[@]}")
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ )
+"
+PDEPEND="
+ dev-python/hypothesis-gentoo[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( pytest-rerunfailures )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ # NB: paths need to be relative to pytest.ini,
+ # i.e. start with hypothesis-python/
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ python3.13t)
+ EPYTEST_DESELECT+=(
+ # TODO: missing warning
+ 'hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns'
+ )
+ ;;
+ python3.14*)
+ EPYTEST_DESELECT+=(
+ 'hypothesis-python/tests/cover/test_compat.py::test_resolve_fwd_refs[Foo-Union]'
+ 'hypothesis-python/tests/cover/test_lookup.py::test_builds_suggests_from_type[Union]'
+ hypothesis-python/tests/cover/test_attrs_inference.py::test_attrs_inference_builds
+ hypothesis-python/tests/cover/test_lookup.py::test_bytestring_not_treated_as_generic_sequence
+ hypothesis-python/tests/cover/test_lookup.py::test_issue_4194_regression
+ hypothesis-python/tests/cover/test_lookup.py::test_resolves_forwardrefs_to_builtin_types
+ hypothesis-python/tests/cover/test_lookup.py::test_specialised_collection_types
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_collection_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_container_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_contextmanager_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_iterable_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_reversible_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_sequence_as_generic
+ hypothesis-python/tests/cover/test_random_module.py::test_evil_prng_registration_nonsense
+ hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns
+ hypothesis-python/tests/cover/test_random_module.py::test_register_random_within_nested_function_scope
+ hypothesis-python/tests/cover/test_random_module.py::test_registering_a_Random_is_idempotent
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_dot_access_forward_ref
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_forward_ref
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_checking_only_forward_ref_wrong_type
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_cheking_only_forward_ref
+ )
+ ;;
+ esac
+
+ # subtests are broken by warnings from random plugins
+ local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin
+ local -x HYPOTHESIS_NO_PLUGINS=1
+
+ epytest -o filterwarnings= --reruns=5 \
+ tests/cover tests/pytest tests/quality
+}
+
+src_install() {
+ local HAD_CLI=
+
+ distutils-r1_src_install
+
+ if [[ ! ${HAD_CLI} ]]; then
+ rm -r "${ED}/usr/bin" || die
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ HAD_CLI=1
+ else
+ rm -r "${D}$(python_get_scriptdir)" || die
+ fi
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}
diff --git a/dev-python/hypothesis/hypothesis-6.135.32.ebuild b/dev-python/hypothesis/hypothesis-6.135.32.ebuild
new file mode 100644
index 000000000000..ac2579cbfd4d
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.135.32.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( python3_{11..13} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 optfeature
+
+TAG=hypothesis-python-${PV}
+MY_P=hypothesis-${TAG}
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="
+ https://github.com/HypothesisWorks/hypothesis/
+ https://pypi.org/project/hypothesis/
+"
+SRC_URI="
+ https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/hypothesis-python"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' "${CLI_COMPAT[@]}")
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ )
+"
+PDEPEND="
+ dev-python/hypothesis-gentoo[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( pytest-rerunfailures )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ # NB: paths need to be relative to pytest.ini,
+ # i.e. start with hypothesis-python/
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ python3.13t)
+ EPYTEST_DESELECT+=(
+ # TODO: missing warning
+ 'hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns'
+ )
+ ;;
+ python3.14*)
+ EPYTEST_DESELECT+=(
+ 'hypothesis-python/tests/cover/test_compat.py::test_resolve_fwd_refs[Foo-Union]'
+ 'hypothesis-python/tests/cover/test_lookup.py::test_builds_suggests_from_type[Union]'
+ hypothesis-python/tests/cover/test_attrs_inference.py::test_attrs_inference_builds
+ hypothesis-python/tests/cover/test_lookup.py::test_bytestring_not_treated_as_generic_sequence
+ hypothesis-python/tests/cover/test_lookup.py::test_issue_4194_regression
+ hypothesis-python/tests/cover/test_lookup.py::test_resolves_forwardrefs_to_builtin_types
+ hypothesis-python/tests/cover/test_lookup.py::test_specialised_collection_types
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_collection_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_container_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_contextmanager_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_iterable_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_reversible_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_sequence_as_generic
+ hypothesis-python/tests/cover/test_random_module.py::test_evil_prng_registration_nonsense
+ hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns
+ hypothesis-python/tests/cover/test_random_module.py::test_register_random_within_nested_function_scope
+ hypothesis-python/tests/cover/test_random_module.py::test_registering_a_Random_is_idempotent
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_dot_access_forward_ref
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_forward_ref
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_checking_only_forward_ref_wrong_type
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_cheking_only_forward_ref
+ )
+ ;;
+ esac
+
+ # subtests are broken by warnings from random plugins
+ local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin
+ local -x HYPOTHESIS_NO_PLUGINS=1
+
+ epytest -o filterwarnings= --reruns=5 \
+ tests/cover tests/pytest tests/quality
+}
+
+src_install() {
+ local HAD_CLI=
+
+ distutils-r1_src_install
+
+ if [[ ! ${HAD_CLI} ]]; then
+ rm -r "${ED}/usr/bin" || die
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ HAD_CLI=1
+ else
+ rm -r "${D}$(python_get_scriptdir)" || die
+ fi
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}
diff --git a/dev-python/inline-snapshot/Manifest b/dev-python/inline-snapshot/Manifest
index 4feeaf0864fc..787ac52ede6f 100644
--- a/dev-python/inline-snapshot/Manifest
+++ b/dev-python/inline-snapshot/Manifest
@@ -1 +1,2 @@
DIST inline_snapshot-0.23.2.tar.gz 260704 BLAKE2B db40ec4d77acbadc1cba2772bcdbfdd284f5bb97930e7101a4f9f2cfae5ef53d6084295e11a2a6c23ac736613b0733000222a2f3914c314ed9f2dd0027cd02cc SHA512 af91622c7722faa54c0a2a12c5f427748243dbf4f019aeeca125db0244377daefaa236f4bc5cf3bc65b21215d97923aebee2ac717bea7afd181c4ec515142cc3
+DIST inline_snapshot-0.24.0.tar.gz 263374 BLAKE2B 4d20f973ceae3f138b5f709cf636c8e82ba7d7e3fa2cb8288729f369ef243e9e8155b30b7b9d52758bc1e76ef91badb264f1b5b5dfcb3d91cbf6d170419d5d2e SHA512 d523f29af2ff6026e21fd3c24a6c222784d0db0983fd4a906b852c3d0ec38016eb1df373b4873ae99cb16e7a5e94d582ed6df6803a83d7da244a895a70f37ba9
diff --git a/dev-python/inline-snapshot/inline-snapshot-0.24.0.ebuild b/dev-python/inline-snapshot/inline-snapshot-0.24.0.ebuild
new file mode 100644
index 000000000000..6d9befd1de87
--- /dev/null
+++ b/dev-python/inline-snapshot/inline-snapshot-0.24.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} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Create and update inline snapshots in your Python tests"
+HOMEPAGE="
+ https://15r10nk.github.io/inline-snapshot/
+ https://github.com/15r10nk/inline-snapshot/
+ https://pypi.org/project/inline-snapshot/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/asttokens-2.0.5[${PYTHON_USEDEP}]
+ >=dev-python/executing-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8.3.4[${PYTHON_USEDEP}]
+ >=dev-python/rich-13.7.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/attrs[${PYTHON_USEDEP}]
+ >=dev-python/black-23.3.0[${PYTHON_USEDEP}]
+ >=dev-python/dirty-equals-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.75.5[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/mypy[${PYTHON_USEDEP}]
+ ' 'python*')
+ >=dev-python/pydantic-2[${PYTHON_USEDEP}]
+ >=dev-python/pytest-freezer-0.4.8[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-3.14.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-subtests-0.11.0[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires pyright
+ 'tests/test_typing.py::test_typing_args[pyright]'
+ 'tests/test_typing.py::test_typing_call[pyright]'
+ # TODO
+ tests/test_formating.py::test_format_command_fail
+ )
+
+ local -x COLUMNS=80
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=inline_snapshot.pytest_plugin,pytest_freezer,pytest_subtests.plugin,xdist.plugin
+ local -x PYTHONPATH=${S}/src
+ epytest -p pytest_mock
+}
diff --git a/dev-python/ipython-pygments-lexers/ipython-pygments-lexers-1.1.1.ebuild b/dev-python/ipython-pygments-lexers/ipython-pygments-lexers-1.1.1.ebuild
index 425dde03cc8b..d18f28323775 100644
--- a/dev-python/ipython-pygments-lexers/ipython-pygments-lexers-1.1.1.ebuild
+++ b/dev-python/ipython-pygments-lexers/ipython-pygments-lexers-1.1.1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~ppc ppc64 ~riscv ~s390 sparc ~x86"
RDEPEND="
dev-python/pygments[${PYTHON_USEDEP}]
diff --git a/dev-python/ipython/Manifest b/dev-python/ipython/Manifest
index 89e49f9c7f05..4a78da73332c 100644
--- a/dev-python/ipython/Manifest
+++ b/dev-python/ipython/Manifest
@@ -1,4 +1,3 @@
DIST ipython-8.37.0.tar.gz 5606088 BLAKE2B 4cb3a6ae801fcbbf352eb8aaae11a7bc6911a76a816e1ce8845a6f3044fbb888cf49dc7c5a500305da47497ec2341a7abf6ad5fff863dd9175bf6eae2f03f7a8 SHA512 bde7b6962ca59688cb9f1032a2735df428dec41ec531b98488a5a35ef67c09a375973537c10bef7574ad112f3396b056f8a4f754b63712b72b0f9f20ab052623
-DIST ipython-9.2.0.tar.gz 4424394 BLAKE2B 3a2830461610d3139b64a848217c82f1d363ea5cadd416119a9ac56ccd494cc21738cfc87e6ac766fff28991ddad6261406e1a68a053b060165576eb1dc4c100 SHA512 06fcdb152ff15e780e182276766527a727d8dfd774e87bf5561005a5006764fd44b6da42e76c3372caa2ac7cfdbe3f083ecb3ed7b5303755d444006255cd80eb
DIST ipython-9.3.0.tar.gz 4426460 BLAKE2B d9d6ec38ab7ee2c4128869cd6fa0518c5df8ed3f3eb1db531099ff753b959a2eb1d872b5c782a017b2f559b460c0121cb951893c54f842cb936f08022eb32325 SHA512 21bd98e7f164bdbb799e0316c56620b0d086af943e28fa43f5d1f4c31064e496b01b47babcf0be4282d12d446362a7c0945a29580078279dc3038c66e8e75cf6
DIST ipython-9.4.0.tar.gz 4385338 BLAKE2B 20bf17c945ab2c727aa340a500e2f452dadd440ff809e5aea2ebaa0bd146a6bf2103f2435549a0f4b898690e6aceb15850fc2ba92bb9b94d8e084b1f13cb17a1 SHA512 8e0bd35effa6b5d6d17b7903ae708f1db753717b2271c79b6662fc508e003a7b3b510604ed340e6e89a8c84abf7c3718f785eb39d0914b653c47adc999a1d2f4
diff --git a/dev-python/ipython/ipython-9.2.0-r1.ebuild b/dev-python/ipython/ipython-9.2.0-r1.ebuild
deleted file mode 100644
index 4d2983412fe3..000000000000
--- a/dev-python/ipython/ipython-9.2.0-r1.ebuild
+++ /dev/null
@@ -1,148 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-PYTHON_REQ_USE='readline(+),sqlite,threads(+)'
-
-inherit distutils-r1 optfeature pypi virtualx
-
-DESCRIPTION="Advanced interactive shell for Python"
-HOMEPAGE="
- https://ipython.org/
- https://github.com/ipython/ipython/
- https://pypi.org/project/ipython/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="examples notebook nbconvert qt5 +smp test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/decorator[${PYTHON_USEDEP}]
- dev-python/ipython-pygments-lexers[${PYTHON_USEDEP}]
- >=dev-python/jedi-0.16[${PYTHON_USEDEP}]
- dev-python/matplotlib-inline[${PYTHON_USEDEP}]
- >=dev-python/pexpect-4.3[${PYTHON_USEDEP}]
- >=dev-python/prompt-toolkit-3.0.41[${PYTHON_USEDEP}]
- <dev-python/prompt-toolkit-3.1[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.4.0[${PYTHON_USEDEP}]
- dev-python/stack-data[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.13.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- ' 3.11)
-"
-
-BDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? (
- app-text/dvipng[truetype]
- >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
- >=dev-python/matplotlib-3.9[${PYTHON_USEDEP}]
- dev-python/nbformat[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.23[${PYTHON_USEDEP}]
- dev-python/matplotlib-inline[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pickleshare[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/testpath[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-RDEPEND+="
- nbconvert? (
- dev-python/nbconvert[${PYTHON_USEDEP}]
- )
-"
-PDEPEND="
- $(python_gen_cond_dep '
- qt5? ( dev-python/qtconsole[${PYTHON_USEDEP}] )
- ' 'python*')
- $(python_gen_cond_dep '
- notebook? (
- dev-python/notebook[${PYTHON_USEDEP}]
- dev-python/ipywidgets[${PYTHON_USEDEP}]
- dev-python/widgetsnbextension[${PYTHON_USEDEP}]
- )
- ' 3.{11..12})
- smp? (
- >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
- >=dev-python/ipyparallel-6.2.3[${PYTHON_USEDEP}]
- )
-"
-
-python_prepare_all() {
- # Rename the test directory to reduce sys.path pollution
- # https://github.com/ipython/ipython/issues/12892
- mv IPython/extensions/{,ipython_}tests || die
-
- distutils-r1_python_prepare_all
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local -x IPYTHON_TESTING_TIMEOUT_SCALE=20
- local EPYTEST_DESELECT=()
-
- case ${EPYTHON} in
- pypy3*)
- EPYTEST_DESELECT+=(
- # https://github.com/ipython/ipython/issues/14244
- tests/test_display.py::TestAudioDataWithoutNumpy
- )
- ;;
- esac
-
- # nonfatal implied by virtx
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- nonfatal epytest -p asyncio --asyncio-mode=auto ||
- die "Tests failed on ${EPYTHON}"
-}
-
-python_install() {
- distutils-r1_python_install
-
- # Create ipythonX.Y symlinks.
- # TODO:
- # 1. do we want them for pypy? No. pypy has no numpy
- # 2. handle it in the eclass instead (use _python_ln_rel).
- # With pypy not an option the dosym becomes unconditional
- dosym ../lib/python-exec/${EPYTHON}/ipython \
- /usr/bin/ipython${EPYTHON#python}
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
-
-pkg_postinst() {
- optfeature "code formatting" dev-python/black
- optfeature "sympyprinting" dev-python/sympy
- optfeature "cythonmagic" dev-python/cython
- optfeature "%lprun magic command" dev-python/line-profiler
- optfeature "%matplotlib magic command" dev-python/matplotlib-inline
-
- if use nbconvert; then
- if ! has_version virtual/pandoc ; then
- einfo "Node.js will be used to convert notebooks to other formats"
- einfo "like HTML. Support for that is still experimental. If you"
- einfo "encounter any problems, please use app-text/pandoc instead."
- fi
- fi
-}
diff --git a/dev-python/ipython/ipython-9.3.0.ebuild b/dev-python/ipython/ipython-9.3.0.ebuild
index ff330888120a..3dab8013bc6b 100644
--- a/dev-python/ipython/ipython-9.3.0.ebuild
+++ b/dev-python/ipython/ipython-9.3.0.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~ppc ppc64 ~riscv ~s390 sparc ~x86"
IUSE="examples notebook nbconvert qt5 +smp test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/isal/isal-1.7.2-r1.ebuild b/dev-python/isal/isal-1.7.2-r1.ebuild
index ce173a7ab701..24461dd24867 100644
--- a/dev-python/isal/isal-1.7.2-r1.ebuild
+++ b/dev-python/isal/isal-1.7.2-r1.ebuild
@@ -25,7 +25,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="PSF-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
DEPEND="
dev-libs/isa-l:=
diff --git a/dev-python/jaraco-collections/Manifest b/dev-python/jaraco-collections/Manifest
index 2984c5a05280..3229f19738f8 100644
--- a/dev-python/jaraco-collections/Manifest
+++ b/dev-python/jaraco-collections/Manifest
@@ -1,2 +1 @@
-DIST jaraco_collections-5.1.0.tar.gz 19026 BLAKE2B b0ecae5ddfabe22aca0fb0cb4ef6c07dd0c6b56cfd6920787779eb47631c3b4001f35a97f040a71495975fce40d5ec509799d19e23b81ccbf4afbae461cf0624 SHA512 b03b247657ad25df0b86ad125728e37c8123fdd1834adfc16c7e41fb9c31b9d4c1b168ed40614b965caafc7dd55fd14bba8c355648c8b5cca13b50736bc32883
DIST jaraco_collections-5.2.1.tar.gz 19729 BLAKE2B 16f1b73c22cdc45705d4196d4de04fbe8e16f2b7f2bf9d6e8faccdc1c6dfab6c01182959554f973c1376ee0ea225aa95f7f6b6b2fcb3ab466e220ea3f787caa6 SHA512 fb759a1ff684c2c1d4c23114125f9f83508f2b49701f1e7192ff0cff7db88ec933fc4d7f82bda3e311c23153056244b7d9a7b676a7e8b8831b0ee172642ff51d
diff --git a/dev-python/jaraco-collections/jaraco-collections-5.1.0.ebuild b/dev-python/jaraco-collections/jaraco-collections-5.1.0.ebuild
deleted file mode 100644
index 3a57b4ab1d7e..000000000000
--- a/dev-python/jaraco-collections/jaraco-collections-5.1.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Models and classes to supplement the stdlib collections module"
-HOMEPAGE="
- https://github.com/jaraco/jaraco.collections/
- https://pypi.org/project/jaraco.collections/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-RDEPEND="
- dev-python/jaraco-text[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_configure() {
- grep -q 'build-backend = "setuptools' pyproject.toml ||
- die "Upstream changed build-backend, recheck"
- # write a custom pyproject.toml to ease setuptools bootstrap
- sed -i -e \
- 's/build-backend = .*/build-backend = "flit_core.buildapi"/' \
- -e '/^name = /a\' -e "version = \"${PV}\"" \
- -e '/^dynamic =/d' \
- pyproject.toml || die
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/jaraco-collections/jaraco-collections-5.2.1.ebuild b/dev-python/jaraco-collections/jaraco-collections-5.2.1.ebuild
index c19715e10116..3a57b4ab1d7e 100644
--- a/dev-python/jaraco-collections/jaraco-collections-5.2.1.ebuild
+++ b/dev-python/jaraco-collections/jaraco-collections-5.2.1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
RDEPEND="
dev-python/jaraco-text[${PYTHON_USEDEP}]
diff --git a/dev-python/jaraco-functools/Manifest b/dev-python/jaraco-functools/Manifest
index 68540fe07a2b..269c0c9f8417 100644
--- a/dev-python/jaraco-functools/Manifest
+++ b/dev-python/jaraco-functools/Manifest
@@ -1,2 +1 @@
-DIST jaraco_functools-4.1.0.tar.gz 19159 BLAKE2B 07c240152845cb8ec7c69bc1105b652499da1e62a1b6d7a246910cf22b543784946965e4cc4608c2de8f4c082904242e90bfc5c5c60ee252382308a02f35be19 SHA512 e893533830e176a7ac0a2da3c1b3fa3c53103e7aa163f9ab7c49635040ea845e19348dbf2628252de3c2952330682f5649a8113a6242db72e05995cca6919dfd
DIST jaraco_functools-4.2.1.tar.gz 19661 BLAKE2B 0052dd97f7d6a341d59aacfd089b8973292707cb65653c2f3b3777aee415bce5bd58e0883d903c028d5899cbf62e519e5bad3731dce76d1d1bd68c7072d691f2 SHA512 f32a0a3410cffb9467a2713d2867b95e4b7491f4df28e5191cceb4e748104617ff3df79f4a86916388fca8cbe379cd8f314ed5276826057aa07b35fb7e046568
diff --git a/dev-python/jaraco-functools/jaraco-functools-4.1.0.ebuild b/dev-python/jaraco-functools/jaraco-functools-4.1.0.ebuild
deleted file mode 100644
index 8846af015d0d..000000000000
--- a/dev-python/jaraco-functools/jaraco-functools-4.1.0.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Additional functions used by other projects by developer jaraco"
-HOMEPAGE="
- https://github.com/jaraco/jaraco.functools/
- https://pypi.org/project/jaraco.functools/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-RDEPEND="
- >=dev-python/more-itertools-0.12.0-r1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/jaraco-classes[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_configure() {
- grep -q 'build-backend = "setuptools' pyproject.toml ||
- die "Upstream changed build-backend, recheck"
- # write a custom pyproject.toml to ease setuptools bootstrap
- cat > pyproject.toml <<-EOF || die
- [build-system]
- requires = ["flit_core >=3.2,<4"]
- build-backend = "flit_core.buildapi"
-
- [project]
- name = "jaraco.functools"
- version = "${PV}"
- description = "Functools like those found in stdlib"
- EOF
-}
-
-python_install() {
- distutils-r1_python_install
- # rename to workaround a bug in pkg_resources
- # https://bugs.gentoo.org/834522
- mv "${D}$(python_get_sitedir)"/jaraco{_,.}functools-${PV}.dist-info || die
-}
diff --git a/dev-python/jaraco-functools/jaraco-functools-4.2.1.ebuild b/dev-python/jaraco-functools/jaraco-functools-4.2.1.ebuild
index d524717fff4f..8846af015d0d 100644
--- a/dev-python/jaraco-functools/jaraco-functools-4.2.1.ebuild
+++ b/dev-python/jaraco-functools/jaraco-functools-4.2.1.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~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"
RDEPEND="
>=dev-python/more-itertools-0.12.0-r1[${PYTHON_USEDEP}]
diff --git a/dev-python/jq/Manifest b/dev-python/jq/Manifest
index 8ea6d6fa5393..9516e3641ba1 100644
--- a/dev-python/jq/Manifest
+++ b/dev-python/jq/Manifest
@@ -1,2 +1,3 @@
+DIST jq.py-1.10.0.gh.tar.gz 2029466 BLAKE2B d7131950c06cdc0d81a6743d6af8cafa8b8c00b72df9d3ce4d7f8e75e7389f3d35e551edf3cd641d310a37d89471297974ee3e10cde6f0c1ae1e98bb4dedecf1 SHA512 31494408239c5b0eb943c720e76a4b8048c41f2a052b14d801f73845377976c2b4375d691c964f6179e1e38f4eda4b6da9d4fd3789c3a9e9200e4f8ed418d3e7
DIST jq.py-1.8.0.gh.tar.gz 1954418 BLAKE2B e823ab01a7ce42abc542b58bb1f966e6447b85d66c7b72e8b0765a65f6ae510cf5c6045e14c802237360c2108f84428dc9b18a452e1334ba5ee709a4c835e5bd SHA512 83e9a7599518b5281f25954d5fc66de488678ef86982964bc04ae3739d4627220a9ec92570810f9cf235a8e5351284ac430053e6f826ca42f831d837b4750d83
DIST jq.py-1.9.1.gh.tar.gz 1912461 BLAKE2B 54639964461682c615d243028e6b73cf6dd76648812b19ec9c10452cf55e6e66f53f263a7380aaba0f12ab22af46e16ef8a813ba6c658761fcdfa3cb43403d10 SHA512 41d99fadf7ff3aa98ca0fa3718955aab7a42d003b932dca24c39f2b8c62743551a77495f57a870251c499622cf35ec354000dd6765c3ef94cf561d1b116d8f34
diff --git a/dev-python/jq/jq-1.10.0.ebuild b/dev-python/jq/jq-1.10.0.ebuild
new file mode 100644
index 000000000000..747f62deb536
--- /dev/null
+++ b/dev-python/jq/jq-1.10.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 2021-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 distutils-r1
+
+MY_P="jq.py-${PV}"
+DESCRIPTION="Python bindings for jq"
+HOMEPAGE="
+ https://github.com/mwilliamson/jq.py/
+ https://pypi.org/project/jq/
+"
+# pypi sdist is missing .pyx
+SRC_URI="
+ https://github.com/mwilliamson/jq.py/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+# Minimum versions of jq + onigurama are from setup.py's bundled versions
+DEPEND="
+ >=app-misc/jq-1.8.0:=
+ >=dev-libs/oniguruma-6.9.8:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_compile() {
+ local -x JQPY_USE_SYSTEM_LIBS=1
+
+ distutils-r1_python_compile
+}
diff --git a/dev-python/jsonschema/jsonschema-4.24.0.ebuild b/dev-python/jsonschema/jsonschema-4.24.0.ebuild
index 49d4e04aab33..1e5725dd7475 100644
--- a/dev-python/jsonschema/jsonschema-4.24.0.ebuild
+++ b/dev-python/jsonschema/jsonschema-4.24.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
>=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
diff --git a/dev-python/lap/lap-0.5.12.ebuild b/dev-python/lap/lap-0.5.12.ebuild
index bbc6a81d3bab..b690798110f2 100644
--- a/dev-python/lap/lap-0.5.12.ebuild
+++ b/dev-python/lap/lap-0.5.12.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
RDEPEND="
>=dev-python/numpy-1.21.6[${PYTHON_USEDEP}]
diff --git a/dev-python/lazy-object-proxy/Manifest b/dev-python/lazy-object-proxy/Manifest
index 5335085f09e2..9f9b4c1472e5 100644
--- a/dev-python/lazy-object-proxy/Manifest
+++ b/dev-python/lazy-object-proxy/Manifest
@@ -1,2 +1 @@
-DIST lazy-object-proxy-1.10.0.tar.gz 43271 BLAKE2B f2146db4ebb3e48b4af36fa56a1656c3316896eab9e9b9c5450106b18df27a48a04c7ab8609384caf81899f956a20990e54818c836bd20b607766652d9797eca SHA512 0693a2b6d13909580e7b568a030b884f84fc1578b17e49ac4246572e3e8b18c05a2613572f24b908630528ecb606d149a106b46d079f2c42ced5172146e413c5
DIST lazy_object_proxy-1.11.0.tar.gz 44736 BLAKE2B e620131e34a6862af34aa0bda58f201b0db4a9b94785a4f2f1b27900ce93cce9539c52ac6f8488c94672b7fe3e09965467b568fd596ee4e32b6a88d4763af632 SHA512 1c0fe6a5c8fc549e706109235fc380e45d0ff706d7f0915780f93d1ce19be800bb68983baca9959a80679d10d95e24823ffbd66062f64065364a764737d691d7
diff --git a/dev-python/lazy-object-proxy/lazy-object-proxy-1.10.0.ebuild b/dev-python/lazy-object-proxy/lazy-object-proxy-1.10.0.ebuild
deleted file mode 100644
index 28667be7f9c5..000000000000
--- a/dev-python/lazy-object-proxy/lazy-object-proxy-1.10.0.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A fast and thorough lazy object proxy"
-HOMEPAGE="
- https://github.com/ionelmc/python-lazy-object-proxy/
- https://pypi.org/project/lazy-object-proxy/
- https://python-lazy-object-proxy.readthedocs.io/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="+native-extensions"
-
-BDEPEND="
- >=dev-python/setuptools-scm-8[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- # https://github.com/ionelmc/python-lazy-object-proxy/pull/79
- "${FILESDIR}/${P}-pure-tests.patch"
-)
-
-python_prepare_all() {
- # No need to benchmark
- sed \
- -e '/benchmark/s:test_:_&:g' \
- -e '/pytest.mark.benchmark/d' \
- -i tests/test_lazy_object_proxy.py || die
-
- distutils-r1_python_prepare_all
-
- if use native-extensions; then
- unset SETUPPY_FORCE_PURE
- else
- export SETUPPY_FORCE_PURE=1
- fi
-}
diff --git a/dev-python/lazy-object-proxy/lazy-object-proxy-1.11.0.ebuild b/dev-python/lazy-object-proxy/lazy-object-proxy-1.11.0.ebuild
index 18026fd0b972..1da28ae9bcfc 100644
--- a/dev-python/lazy-object-proxy/lazy-object-proxy-1.11.0.ebuild
+++ b/dev-python/lazy-object-proxy/lazy-object-proxy-1.11.0.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
IUSE="+native-extensions"
BDEPEND="
diff --git a/dev-python/license-expression/Manifest b/dev-python/license-expression/Manifest
index 3f8de35964b8..d84a5d4e81ce 100644
--- a/dev-python/license-expression/Manifest
+++ b/dev-python/license-expression/Manifest
@@ -1,3 +1 @@
-DIST license-expression-30.4.1.gh.tar.gz 172977 BLAKE2B b09352eee9eac0292a0c1ed11381dfa20979ede10f1bddd794617b7cb414233bd872fa76820202ef18286fbbd6beec81c6a6ca0b9588ed40e00e33fb108948ea SHA512 862024b37e304269522b2cb1bca97ca02491bcd7c402c6e1522e0a275f86fe4ae5ec719c9bdb9bec0e883768a7d138883af04f49ffd7ec44f441c7dc1ca3230a
-DIST license-expression-30.4.2.gh.tar.gz 179378 BLAKE2B 776d67f2c44f77be1e3e1da29a4005c9a8cbc43d4e575b9dca37b3048316bd0b2c824c57f343d33f16ca69ccb5b66d6ac8a63ce5548276b462770c63cf4e6358 SHA512 bf1ae85a44b711632403688be062cb1886a9a7a4aa2e8ed59fcda4cb802c96d6204560b926cb698051a23d19a5da585c982c8cb0cedde482ccdd7dbb155d01d8
DIST license-expression-30.4.3.gh.tar.gz 179396 BLAKE2B a1d3b8d0e87a5a4b250cdc68408fdc7087c7d2cd37560bb14ccc7ae34ff27d875c74a3dcea6598f371c4f07a08b19ccd1eba42c00d821d39d34d0e63e75c4e56 SHA512 a6a1762ac90c7f7b487726baa819516553863f5f20ccb7774e9ba22bdc301f1c6ddaea4b2acf3a2a7a782ef183960572c90faead405c80be8eb72bebef67d7f3
diff --git a/dev-python/license-expression/license-expression-30.4.1.ebuild b/dev-python/license-expression/license-expression-30.4.1.ebuild
deleted file mode 100644
index c3904baec509..000000000000
--- a/dev-python/license-expression/license-expression-30.4.1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2022-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Parse, compare, simplify and normalize license expressions"
-HOMEPAGE="
- https://pypi.org/project/license-expression/
- https://github.com/aboutcode-org/license-expression/
-"
-SRC_URI="
- https://github.com/aboutcode-org/license-expression/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"
-
-RDEPEND="
- >=dev-python/boolean-py-4.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools-scm-4[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/license-expression/license-expression-30.4.2.ebuild b/dev-python/license-expression/license-expression-30.4.2.ebuild
deleted file mode 100644
index 202a83ced6f8..000000000000
--- a/dev-python/license-expression/license-expression-30.4.2.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2022-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Parse, compare, simplify and normalize license expressions"
-HOMEPAGE="
- https://pypi.org/project/license-expression/
- https://github.com/aboutcode-org/license-expression/
-"
-SRC_URI="
- https://github.com/aboutcode-org/license-expression/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"
-
-RDEPEND="
- >=dev-python/boolean-py-4.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools-scm-4[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/license-expression/license-expression-30.4.3.ebuild b/dev-python/license-expression/license-expression-30.4.3.ebuild
index 202a83ced6f8..521eea98c66a 100644
--- a/dev-python/license-expression/license-expression-30.4.3.ebuild
+++ b/dev-python/license-expression/license-expression-30.4.3.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
>=dev-python/boolean-py-4.0[${PYTHON_USEDEP}]
diff --git a/dev-python/lit/Manifest b/dev-python/lit/Manifest
index f2016a7cf308..9d354e4a17a9 100644
--- a/dev-python/lit/Manifest
+++ b/dev-python/lit/Manifest
@@ -12,5 +12,5 @@ DIST llvm-project-20.1.7.src.tar.xz 147245448 BLAKE2B f7c57d1eba4e97e875b624dec3
DIST llvm-project-20.1.7.src.tar.xz.sig 566 BLAKE2B 72ce2a18c211cfce9581a9e3e71f1c55cf18672aa355267581220e1a89e3327f9e16107970b69bb8f10f390baa5e286487bdc4cc0a7d9155ec13a4977cd3f472 SHA512 eff885059d547f57b98bda1fc9631f716ca6c650cd48203d9ed5443a6afb9a2d4d91d3f5c8618e307c0a44b3040bce61fdc6bce965073adc537655755d9f2112
DIST llvm-project-20.1.8.src.tar.xz 147242952 BLAKE2B 7657ac0b26acc5affb1bfc91b912ade3191c5d77f3979d5a80d5f6ce52f56a7d1c448bd257398390bf10838f02faa6f3ece37a7327cced69d165ec2e2e699316 SHA512 f330e72e6a1da468569049437cc0ba7a41abb816ccece7367189344f7ebfef730f4788ac7af2bef0aa8a49341c15ab1d31e941ffa782f264d11fe0dc05470773
DIST llvm-project-20.1.8.src.tar.xz.sig 566 BLAKE2B 85beedfcff1195a974fab2c667b9efd4b715b3480c1b44b1b887fe32c69f72aca0d3b8fb276c03b6cc5a866622f669047aeee5ccb976640b4008ccd31dce77a4 SHA512 d74369bdb4d1b82775161ea53c9c5f3a23ce810f4df5ff617123023f9d8ce720e7d6ecc9e17f8ebd39fd9e7a9de79560abdf2ffe73bcb907a43148d43665d619
-DIST llvm-project-814ac2e3735e52c1162ac495c24158e0ac256520.tar.gz 237400805 BLAKE2B 59cbf2f7f5c3c1c2c187c72a40b94b05b2d3286678f78764bc7555d75ead40d2fd60b1807bbe6470f012a5958d0466b1f6b2bc842bba36731e7697a79307532b SHA512 63f31f28b7f01b840d88bfa3ffc4107ccffc623b26c7d0dc3e720a864ce7ca907dcbdcfaec7e31a1711220528a89175334518711a83824c82389343c2e4008d7
+DIST llvm-project-b6313b381ac0e83012ea11b4549cd8cb39b686d2.tar.gz 242588863 BLAKE2B 81e7db20b849ce7a5c7c6b03d1e62a2e225eb68473509baf0adc9e74a2f759d251b61b018528d5db93f77b65ac355a71ede81bec7e97f9c71a41f34a5d8625bd SHA512 258b99ef79d7efd4ec58d6a5370969b8032149f05fea4dfa841398ed59a550219f4223cd79581bc6fc4428dd9b09f44abf9f5369348831f463b9eb401a614d61
DIST llvm-project-e34e02128ec5eb89e36a8f0f7307dcbcfecabbee.tar.gz 238210997 BLAKE2B 80ce4689e3c71a413e36645cdc83590f3492ac3ee39b8bf8844ec50d0b68f40da4c19a7f284625e3550eb78a90d433e74092b5639bcebadf0e0220c36b111cb3 SHA512 5c1ab21b242d1ba62172ae6268a126fd1b049f85b039434b4ff28b0411ec60d46e96e05560b9b85d0420494afdd573b4043999cb34ace508a48f763d4eb5b7aa
diff --git a/dev-python/lit/lit-21.0.0_pre20250614.ebuild b/dev-python/lit/lit-21.0.0_pre20250713.ebuild
index fdf920bda34f..fdf920bda34f 100644
--- a/dev-python/lit/lit-21.0.0_pre20250614.ebuild
+++ b/dev-python/lit/lit-21.0.0_pre20250713.ebuild
diff --git a/dev-python/lxml/Manifest b/dev-python/lxml/Manifest
index f071ba9b1562..a79d48f329d2 100644
--- a/dev-python/lxml/Manifest
+++ b/dev-python/lxml/Manifest
@@ -1,4 +1,2 @@
-DIST lxml-5.3.1.gh.tar.gz 951340 BLAKE2B e73cc8513cfe42d163b8475788472f00f2f3492deb7536b6556ed4f14924ffe57497947e660a161ec5a0821135b3d103799c0da0b9c647ccdcbfa9b0c5d6a1d9 SHA512 e89ada765791b67e4e83a9151c500f2e8d924c05d421a46bece1183666fc566d545d2e6b62987075e82cbafb8cd4b1f48f6f94e9ebcc0bbd7227d687b2282794
-DIST lxml-5.3.2.gh.tar.gz 951502 BLAKE2B d9a9bc49ecbc2d9dba2539c0fa884afc62fbb7a8d6b02571c1ee387386f473472e7cea66e776d758ab1f9307c77f938761ef1be58b029edb2c3b9546aa5f8561 SHA512 d128f7d6dd2a08286f8478508cb2693c7749c5f3822acfcd10877b92bec24e82c3da624b3a1872f95f72d310247083c84f76a42eadfc910b8180749d85b32d8b
DIST lxml-5.4.0.gh.tar.gz 950906 BLAKE2B 00c47f34178df5f1b3555f5980a0c7ca9ecc5f0b54cc2756125fd6b2684e369563220c42d380f43af4e53ed2756ebfd71e9f6e1113aa192f14c76defb56c944a SHA512 a7f297b94fd88f20de9371bef207f8e95243a060b24e4006ec310c4a94f6147c8bb38fc3cff0f874f0b76282e745bb62e65a5cba2ce6e34ee54be0e3fde66724
DIST lxml-6.0.0.gh.tar.gz 987497 BLAKE2B 9d3d61c4f478014942b276d8e5bb8137d67edf05294a821461bd4304a857481cff694a2d97a8c9cbffe0fef7d755aff7c6a6f67eae832f637ff2e5bdc105a7f3 SHA512 05519e03067de5d85be76994070c0a25f35eb52c2df5fc540aa6d2661af09636021c9b6b60d102c687cd9b8f800ecffdb9f2407d7d0f5bbbc43c4c0b38a3b18e
diff --git a/dev-python/lxml/lxml-5.3.1-r1.ebuild b/dev-python/lxml/lxml-5.3.1-r1.ebuild
deleted file mode 100644
index ddb369a109ef..000000000000
--- a/dev-python/lxml/lxml-5.3.1-r1.ebuild
+++ /dev/null
@@ -1,119 +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_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 optfeature toolchain-funcs
-
-DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
-HOMEPAGE="
- https://lxml.de/
- https://pypi.org/project/lxml/
- https://github.com/lxml/lxml/
-"
-SRC_URI="
- https://github.com/lxml/lxml/archive/${P}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/lxml-${P}
-
-LICENSE="BSD ElementTree GPL-2 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"
-IUSE="doc examples +threads test"
-RESTRICT="!test? ( test )"
-
-# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
-DEPEND="
- >=dev-libs/libxml2-2.10.3:=
- >=dev-libs/libxslt-1.1.38
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- virtual/pkgconfig
- >=dev-python/cython-3.0.10[${PYTHON_USEDEP}]
- doc? (
- $(python_gen_any_dep '
- dev-python/docutils[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
- ')
- )
- test? (
- dev-python/cssselect[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-5.3.0-pypy.patch"
-)
-
-python_check_deps() {
- use doc || return 0
- python_has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/pygments[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]"
-}
-
-python_prepare_all() {
- # don't use some random SDK on Darwin
- sed -i -e '/_ldflags =/s/=.*isysroot.*darwin.*None/= None/' \
- setupinfo.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- local DISTUTILS_ARGS=(
- # by default it adds -w to CFLAGS
- --warnings
- )
- tc-export PKG_CONFIG
- distutils-r1_python_compile
-}
-
-python_compile_all() {
- use doc && emake html
-}
-
-python_test() {
- local dir=${BUILD_DIR}/test$(python_get_sitedir)/lxml
- local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
-
- cp -al "${BUILD_DIR}"/{install,test} || die
- cp -al src/lxml/tests "${dir}/" || die
- cp -al src/lxml/html/tests "${dir}/html/" || die
- mkdir "${dir}"/../../doc || die
- # this one needs to be copied, because upstream uses doc/../../../doc
- cp -r "${S}"/doc "${dir}"/../../ || die
- ln -s "${S}"/doc "${dir}"/../../../../ || die
-
- "${EPYTHON}" test.py --no-src -vv --all-levels -p ||
- die "Tests fail on ${EPYTHON}"
-}
-
-python_install_all() {
- if use doc; then
- local DOCS=( README.rst *.txt doc/*.txt )
- local HTML_DOCS=( doc/html/. )
- fi
- if use examples; then
- dodoc -r samples
- fi
-
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- optfeature "Support for BeautifulSoup as a parser backend" dev-python/beautifulsoup4
- optfeature "Translates CSS selectors to XPath 1.0 expressions" dev-python/cssselect
- optfeature "Support for lxml.html.clean sanitizer" dev-python/lxml-html-clean
-}
diff --git a/dev-python/lxml/lxml-5.3.2-r1.ebuild b/dev-python/lxml/lxml-5.3.2-r1.ebuild
deleted file mode 100644
index 9ed24ad50119..000000000000
--- a/dev-python/lxml/lxml-5.3.2-r1.ebuild
+++ /dev/null
@@ -1,121 +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_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 optfeature toolchain-funcs
-
-DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
-HOMEPAGE="
- https://lxml.de/
- https://pypi.org/project/lxml/
- https://github.com/lxml/lxml/
-"
-SRC_URI="
- https://github.com/lxml/lxml/archive/${P}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/lxml-${P}
-
-LICENSE="BSD ElementTree GPL-2 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"
-IUSE="doc examples +threads test"
-RESTRICT="!test? ( test )"
-
-# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
-DEPEND="
- >=dev-libs/libxml2-2.10.3:=
- >=dev-libs/libxslt-1.1.38
-"
-RDEPEND="
- ${DEPEND}
-"
-# cython: they are using __pyx_empty_tuple directly
-BDEPEND="
- virtual/pkgconfig
- <dev-python/cython-3.1[${PYTHON_USEDEP}]
- >=dev-python/cython-3.0.10[${PYTHON_USEDEP}]
- doc? (
- $(python_gen_any_dep '
- dev-python/docutils[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
- ')
- )
- test? (
- dev-python/cssselect[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-5.3.0-pypy.patch"
-)
-
-python_check_deps() {
- use doc || return 0
- python_has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/pygments[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]"
-}
-
-python_prepare_all() {
- # don't use some random SDK on Darwin
- sed -i -e '/_ldflags =/s/=.*isysroot.*darwin.*None/= None/' \
- setupinfo.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- local DISTUTILS_ARGS=(
- # by default it adds -w to CFLAGS
- --warnings
- )
- tc-export PKG_CONFIG
- distutils-r1_python_compile
-}
-
-python_compile_all() {
- use doc && emake html
-}
-
-python_test() {
- local dir=${BUILD_DIR}/test$(python_get_sitedir)/lxml
- local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
-
- cp -al "${BUILD_DIR}"/{install,test} || die
- cp -al src/lxml/tests "${dir}/" || die
- cp -al src/lxml/html/tests "${dir}/html/" || die
- mkdir "${dir}"/../../doc || die
- # this one needs to be copied, because upstream uses doc/../../../doc
- cp -r "${S}"/doc "${dir}"/../../ || die
- ln -s "${S}"/doc "${dir}"/../../../../ || die
-
- "${EPYTHON}" test.py --no-src -vv --all-levels -p ||
- die "Tests fail on ${EPYTHON}"
-}
-
-python_install_all() {
- if use doc; then
- local DOCS=( README.rst *.txt doc/*.txt )
- local HTML_DOCS=( doc/html/. )
- fi
- if use examples; then
- dodoc -r samples
- fi
-
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- optfeature "Support for BeautifulSoup as a parser backend" dev-python/beautifulsoup4
- optfeature "Translates CSS selectors to XPath 1.0 expressions" dev-python/cssselect
- optfeature "Support for lxml.html.clean sanitizer" dev-python/lxml-html-clean
-}
diff --git a/dev-python/lxml/lxml-6.0.0.ebuild b/dev-python/lxml/lxml-6.0.0.ebuild
index 45973607ede9..0e1b9508ed71 100644
--- a/dev-python/lxml/lxml-6.0.0.ebuild
+++ b/dev-python/lxml/lxml-6.0.0.ebuild
@@ -23,7 +23,7 @@ S=${WORKDIR}/lxml-${P}
LICENSE="BSD ElementTree GPL-2 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"
IUSE="doc examples +threads test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/matplotlib/matplotlib-3.10.3.ebuild b/dev-python/matplotlib/matplotlib-3.10.3.ebuild
index e92ae78b1608..642359427daa 100644
--- a/dev-python/matplotlib/matplotlib-3.10.3.ebuild
+++ b/dev-python/matplotlib/matplotlib-3.10.3.ebuild
@@ -29,7 +29,7 @@ SRC_URI+="
# Fonts: BitstreamVera, OFL-1.1
LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
IUSE="cairo excel gtk3 latex qt6 tk webagg wxwidgets"
DEPEND="
diff --git a/dev-python/meson-python/Manifest b/dev-python/meson-python/Manifest
index 4fab811ab911..d8fa20342a26 100644
--- a/dev-python/meson-python/Manifest
+++ b/dev-python/meson-python/Manifest
@@ -1,2 +1 @@
-DIST meson-python-0.17.1.gh.tar.gz 79456 BLAKE2B 88bda9aadc74d186aab41c9b3a2fe5ba7d51b5997c1c043cf4ea9448395d0c5c5763ccf35358ab867d32a4537a4041a3cf480d82c9ec5cd8d1b5d6bc67d35fc8 SHA512 bd5f4c807468b81b3630eeb6973c2a574473c22298eb2c43d30b67b7503ce77fd79d4509a8f1b0186197622d281279a9c3aa5d9d1c2286d46b7aea1ff2461ae5
DIST meson-python-0.18.0.gh.tar.gz 88056 BLAKE2B b8379a6cd37c3b4e89884e21ebb85ebed6a5d86575ea57388564659a0fcfab3d0f6b71bd49fc8014486118cf31af3a0a1c67a37afa1b9b93d634622a1bc40570 SHA512 f32f02851cdfc13f29550b297b3bce9038bdaf02381b15064e36442104e93624e090abeae23b9de97dfa971aa456716cae65dbe04784beee13b510db12de1000
diff --git a/dev-python/meson-python/meson-python-0.17.1.ebuild b/dev-python/meson-python/meson-python-0.17.1.ebuild
deleted file mode 100644
index 5703fc26ec6e..000000000000
--- a/dev-python/meson-python/meson-python-0.17.1.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2022-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Meson PEP 517 Python build backend"
-HOMEPAGE="
- https://pypi.org/project/meson-python/
- https://github.com/mesonbuild/meson-python/
-"
-SRC_URI="
- https://github.com/mesonbuild/meson-python/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- >=dev-python/pyproject-metadata-0.7.1[${PYTHON_USEDEP}]
- >=dev-build/meson-0.63.0
- !kernel_Darwin? ( dev-util/patchelf )
- $(python_gen_cond_dep '
- >=dev-python/tomli-1.0.0[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- ${RDEPEND}
- test? (
- >=dev-python/cython-0.29.34
- >=dev-python/packaging-23.1[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-vcs/git
- )
-"
-
-distutils_enable_tests pytest
-
-src_test() {
- # required by tests/test_sdist.py::test_reproducible
- git config --global user.email "test@example.com" || die
- git config --global user.name "The Test Suite" || die
- git init -q || die
- git add -A || die
- git commit -m init -q || die
-
- distutils-r1_src_test
-}
-
-python_test() {
- unset NINJA
-
- local EPYTEST_DESELECT=()
- if ! has_version "dev-build/meson[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/test_wheel.py::test_vendored_meson
- )
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pytest_mock
-}
diff --git a/dev-python/meson-python/meson-python-0.18.0-r1.ebuild b/dev-python/meson-python/meson-python-0.18.0-r1.ebuild
index 1a89c17b8177..505ffa8dcf44 100644
--- a/dev-python/meson-python/meson-python-0.18.0-r1.ebuild
+++ b/dev-python/meson-python/meson-python-0.18.0-r1.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
RDEPEND="
>=dev-python/pyproject-metadata-0.7.1[${PYTHON_USEDEP}]
diff --git a/dev-python/minikanren/Manifest b/dev-python/minikanren/Manifest
index a165d803bf57..a74c0973ec67 100644
--- a/dev-python/minikanren/Manifest
+++ b/dev-python/minikanren/Manifest
@@ -1,2 +1 @@
-DIST kanren-1.0.4.gh.tar.gz 51385 BLAKE2B 1a998b17757f7586d71e9576daabb06868449920746487c88b05fc7a4cc847f035bfeeac78d8addbcf8d814aeb99cd02ddc15a3a0480abddbf5709d2841001c1 SHA512 ae71b7d33eeb05e4e828b3115fb79157f5cad2166845f7887079ba0ebfe6505dcec1835a8f45d8eae9c3d4cde41804eadd0bc426f211ddba48374b0a9709d2e2
DIST kanren-1.0.5.gh.tar.gz 51391 BLAKE2B 2007374c9e0420b648fd031b3d00b2dcc65abe4888b0b32c61c0e1255599e997d68b8b9e0e670b6036246a6f795755734089f3639f3ddb931deff7e91eaee904 SHA512 cd738e378a2037172c9ed59649f98fa65ce32fa72b6761a9b7cd7f665ac3e0786c500f80e1adbf4a04ad282c5965e7a584c64c723c8bf233f1a910dd907290f4
diff --git a/dev-python/minikanren/minikanren-1.0.4.ebuild b/dev-python/minikanren/minikanren-1.0.4.ebuild
deleted file mode 100644
index 578b43a8685e..000000000000
--- a/dev-python/minikanren/minikanren-1.0.4.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2022-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-MY_P=kanren-${PV}
-DESCRIPTION="Relational programming in Python"
-HOMEPAGE="
- https://pypi.org/project/miniKanren/
- https://github.com/pythological/kanren/
-"
-SRC_URI="
- https://github.com/pythological/kanren/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong ~riscv x86"
-
-RDEPEND="
- >=dev-python/cons-0.4.0[${PYTHON_USEDEP}]
- >=dev-python/etuples-0.3.1[${PYTHON_USEDEP}]
- >=dev-python/logical-unification-0.4.1[${PYTHON_USEDEP}]
- dev-python/multipledispatch[${PYTHON_USEDEP}]
- dev-python/toolz[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/minikanren/minikanren-1.0.5.ebuild b/dev-python/minikanren/minikanren-1.0.5.ebuild
index 7d45c9751e27..1b8ee8d89e6f 100644
--- a/dev-python/minikanren/minikanren-1.0.5.ebuild
+++ b/dev-python/minikanren/minikanren-1.0.5.ebuild
@@ -22,7 +22,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86"
+KEYWORDS="amd64 ~arm arm64 ~loong ~riscv x86"
RDEPEND="
>=dev-python/cons-0.4.0[${PYTHON_USEDEP}]
diff --git a/dev-python/miniupnpc/Manifest b/dev-python/miniupnpc/Manifest
index 248c5eebfe23..c83b33f66f2c 100644
--- a/dev-python/miniupnpc/Manifest
+++ b/dev-python/miniupnpc/Manifest
@@ -1,4 +1,2 @@
-DIST miniupnpc-2.3.2.tar.gz 140137 BLAKE2B 3c9928b06a26ebc023c0e0f740c91803e1e08ff1603916ca77ae959b6ba436016754754f3718add0138cfa82116363981ee95798e72f03457f7ef8aa9945c813 SHA512 c20a74cd5f1b8fcf8663c50565b7d62da4d9231a2a26c20e2a322a0e6874b31155c5c8f0571eb2af142adeb5892693f92e42539bae8c20c50f1e1903b1c098ce
-DIST miniupnpc-2.3.2.tar.gz.sig 543 BLAKE2B e15ff3a1cf923fe5790e6d84ebf7ed685ec5bd9e370cebffc44fe1b3fff643bc791f099f4ca42c8e18d10180b21f57d3e4d458a657be02d0cc7c588d364ad2dd SHA512 05cd7fbfc55adb453bcc82ffaff544612f6f063c53b0a683bf942f8e21afa193f75b3506c71e5a4eb23d6f2921379747640f6058d9b9f8a69fbe43951f731e27
DIST miniupnpc-2.3.3.tar.gz 141281 BLAKE2B 3f20f13c5b4056be1f61dfcfc3c8a8ece65cd6377d8c2a96c2bc937932f7d084820f43f0c4a7c05f1676347c558ee6edea77df9552ed0f13232338114bd910c3 SHA512 a4ac76ae4dac73773b68f4af81f8f8502d168122e16313c986b7fa7cdea02ded0e722a6dd6c8dc8633f167e04b8df1ed6f7202db0d76438c4010780c48e5594c
DIST miniupnpc-2.3.3.tar.gz.sig 543 BLAKE2B ef45851a5e372780e6bbefd81662aa29f5498ca17301f7638ddd497d9816d4a47d36616e5dd98e6cbce61ce1291b00b2734a39e2c9683d99b2a82ace9d6cefc3 SHA512 003fd05a59a9519679f5baad5775c02a64e697150d7ff71bdf0267a803ff2e4585a2c15acd3f87f9543d04eec78288e8e03840faee9e6f5edec9b6eab0310520
diff --git a/dev-python/miniupnpc/miniupnpc-2.3.2.ebuild b/dev-python/miniupnpc/miniupnpc-2.3.2.ebuild
deleted file mode 100644
index 06d6e862899b..000000000000
--- a/dev-python/miniupnpc/miniupnpc-2.3.2.ebuild
+++ /dev/null
@@ -1,52 +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_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 verify-sig
-
-MY_P=${P/python-}
-DESCRIPTION="Python bindings for UPnP client library"
-HOMEPAGE="
- http://miniupnp.free.fr/
- https://miniupnp.tuxfamily.org/
- https://github.com/miniupnp/miniupnp/
-"
-SRC_URI="
- https://miniupnp.tuxfamily.org/files/${MY_P}.tar.gz
- verify-sig? (
- https://miniupnp.tuxfamily.org/files/${MY_P}.tar.gz.sig
- )
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ppc ppc64 x86"
-
-DEPEND="
- >=net-libs/miniupnpc-${PV}:0=
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- verify-sig? ( sec-keys/openpgp-keys-miniupnp )
-"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/miniupnp.asc
-
-PATCHES=(
- "${FILESDIR}"/miniupnpc-2.2.3-shared-lib.patch
-)
-
-# DOCS are installed by net-libs/miniupnpc.
-DOCS=()
-
-# Example test command:
-# python -c 'import miniupnpc; u = miniupnpc.UPnP(); u.discover(); u.selectigd(); print(u.externalipaddress())'
-distutils_enable_tests import-check
diff --git a/dev-python/mpmath/mpmath-1.4.0_alpha5-r1.ebuild b/dev-python/mpmath/mpmath-1.4.0_alpha5-r1.ebuild
index 3641bbf24dea..20dd92fb993f 100644
--- a/dev-python/mpmath/mpmath-1.4.0_alpha5-r1.ebuild
+++ b/dev-python/mpmath/mpmath-1.4.0_alpha5-r1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ~mips ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 ~arm arm64 hppa ~loong ~mips ppc ~ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="test-full"
BDEPEND="
diff --git a/dev-python/msgpack/Manifest b/dev-python/msgpack/Manifest
index 9e64b005fb36..e75ebf2843ca 100644
--- a/dev-python/msgpack/Manifest
+++ b/dev-python/msgpack/Manifest
@@ -1,3 +1,2 @@
DIST msgpack-1.1.0.tar.gz 167260 BLAKE2B fd6497ce248fabae481de41cb27bccf001e75425564f16caff9f5dceb52d82949481589a92635f4c25178f03002daf604073fc2bb07c8133e81a8ee2f1ccb7c4 SHA512 2af3a6ae9a68a0261bf1cbb5ca6925004b421241c445d17023976fe38738049458937a578828cdf3c1f2fd19dfbbcceb21762957bfd459d6862adb110cad3faa
DIST msgpack-1.1.1.tar.gz 173555 BLAKE2B 972ea4174b8b7c91c529c2db55483441fc1fd6c2964b145b73784f877f8699cd26829fd0d77574fb52af50ed3f8a0ac1b815cb67b24f751079ca2a430cec0b45 SHA512 dbd1055dd4b22b43193d381e7e15ff6e8dbb49f04d111bef84555429accc2bd1609359f72604bf0c1859d0b5f2e275d16773a0f8efd50ccebb5984c8b9e84309
-DIST msgpack-1.1.1rc1.tar.gz 172690 BLAKE2B cb64398a412efb0567a69c62bbc3c9e268b1aea8718c6c690e894a238a7a0cdd7bc3b6c78329140a8073a0aad74fa5f16c7dcb5673a806fe1fec483bc2e1f6ed SHA512 5916bb4af272c2eb9169569ae75b6108b4567094db3645dd0d3d5d554d1e3cb71fa6c3c1ca6facbf2dfb3b0ca9b08cf21721cf2c5b6ed0d9b8f08db25df1c91a
diff --git a/dev-python/msgpack/msgpack-1.1.1.ebuild b/dev-python/msgpack/msgpack-1.1.1.ebuild
index 71de9cadcae5..c89877d58560 100644
--- a/dev-python/msgpack/msgpack-1.1.1.ebuild
+++ b/dev-python/msgpack/msgpack-1.1.1.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
IUSE="+native-extensions"
# extension code is relying on CPython implementation details
diff --git a/dev-python/msgpack/msgpack-1.1.1_rc1.ebuild b/dev-python/msgpack/msgpack-1.1.1_rc1.ebuild
deleted file mode 100644
index 76fda2f9fda7..000000000000
--- a/dev-python/msgpack/msgpack-1.1.1_rc1.ebuild
+++ /dev/null
@@ -1,58 +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_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="MessagePack (de)serializer for Python"
-HOMEPAGE="
- https://msgpack.org/
- https://github.com/msgpack/msgpack-python/
- https://pypi.org/project/msgpack/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="+native-extensions"
-
-# extension code is relying on CPython implementation details
-BDEPEND="
- native-extensions? (
- $(python_gen_cond_dep '
- >=dev-python/cython-3.0.8[${PYTHON_USEDEP}]
- ' 'python*')
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Remove pre-generated cython files
- rm msgpack/_cmsgpack.c || die
-
- # native-extensions are always disabled on PyPy
- # https://github.com/msgpack/msgpack-python/blob/main/setup.py#L76
- if ! use native-extensions; then
- export MSGPACK_PUREPYTHON=1
- fi
-
- distutils-r1_python_prepare_all
-}
-
-python_configure() {
- if [[ ${EPYTHON} == python* && ! -f msgpack/_cmsgpack.c ]] &&
- use native-extensions
- then
- cython -v msgpack/_cmsgpack.pyx || die
- fi
-}
-
-python_test() {
- rm -rf msgpack || die
- epytest
-}
diff --git a/dev-python/multidict/Manifest b/dev-python/multidict/Manifest
index 0c1328fc7107..f71add1f8b2f 100644
--- a/dev-python/multidict/Manifest
+++ b/dev-python/multidict/Manifest
@@ -1,6 +1,2 @@
-DIST multidict-6.2.0.gh.tar.gz 82115 BLAKE2B 37b509d409278396f52e39d63b671b3b447039f2f98fa6f1b80b1ff4189105ca5a80b9027e8fcfbb95734b3c5531c1fd4a0cbfd778cdfab85ea5c127fb735717 SHA512 211dfe4900d815be1365284e18183f82f34783b777cbca929e2f8468b6748e237825febe9baa7a6d3e2a97476a8c6e061d2d7d2de94c48a2c526809224379656
-DIST multidict-6.4.4.gh.tar.gz 107158 BLAKE2B 6fbe211f13810464b591d7198c0529c0d7443270b25b2358e10042721abc40feddbf8b7c0525f20810bed510fb50c8ffe3d2e29b0ff0711b4dd5337bb54ac46a SHA512 ccf07263672abfcaa44b4e1b89e82d7a2843da9805cfb52644f44363b196bb025427478e7cf355d1c2692a1713ccd612761939ac32e30c21f5ad2d99012435c5
DIST multidict-6.5.1.gh.tar.gz 116424 BLAKE2B 4c438450a49e7f5a8b5ac49ff124e018aa7e62642ff39ec8b92f6c24e776f9c6ffbaa3d3e8ecafaeff96c8164291d52539a94eb6e286642c4332d3636f691a06 SHA512 7fa411d12b492a2f567c0228e5822200e711a9e1c221595f2a6d40ffaa2c870dfeb9d12f421495e66c2c95673efd7c3275cef9810b1404e7e6afccaac1b6c182
-DIST multidict-6.6.0.gh.tar.gz 117736 BLAKE2B 70a70eaa1bedf050f963641e29748a6abf83200ffa3606fdf0fc7dc2b75990cb4c73fadc88988fbfffd8fa967fcf6b209117817e4ab887a9964200d0b8841708 SHA512 de1a8bcb8210db048eddc06d2d8c346931205512f88a934cac8902b628af38b44705e9e7c8c51542394999c767b794bfbf9e922c28280e6d0ea51d2bcc9812e9
-DIST multidict-6.6.2.gh.tar.gz 119012 BLAKE2B c4d92eb6fb549b8b961d05dce58b11f8847645fb600834b4a8c5c74faf6aa34b482138284ed406b598e6f16f45bfb8d466988111b393baa620b0a5231f4280b7 SHA512 ec6568fd94b5d4915df0e5b02c530dada50b59d3ec3aca80b677373161ec16d3fa54b1117f62126275423ad86c8f2c82deaf61ef905fa388ef010a18174b1e0f
DIST multidict-6.6.3.gh.tar.gz 119092 BLAKE2B f2fbe0c25d527a2841b27b08eb48bb713fbdf4723a0aaba3928abfa0385f3912314f71a2e297212ee0e9bcbe31e64e4477188fd2870a3e3f9f241329fc0a73cb SHA512 ebb517d3f660bb99e19b9ccb7bd5f73579b0cc7ff71ecb4c0a8163bc11c47f564bbf73c47f7b89708631245d7b697944a760952f3ce87125d02b36cac03d4ceb
diff --git a/dev-python/multidict/multidict-6.2.0.ebuild b/dev-python/multidict/multidict-6.2.0.ebuild
deleted file mode 100644
index ee9255f8e535..000000000000
--- a/dev-python/multidict/multidict-6.2.0.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="multidict implementation"
-HOMEPAGE="
- https://github.com/aio-libs/multidict/
- https://pypi.org/project/multidict/
-"
-SRC_URI="
- https://github.com/aio-libs/${PN}/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 ~x64-macos"
-IUSE="+native-extensions"
-
-RDEPEND="
- $(python_gen_cond_dep '
- >=dev-python/typing-extensions-4.1.0[${PYTHON_USEDEP}]
- ' 3.10)
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # don't enable coverage or other pytest settings
- sed -i -e '/cov/d' pytest.ini || die
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- if ! use native-extensions || [[ ${EPYTHON} == pypy3* ]]; then
- local -x MULTIDICT_NO_EXTENSIONS=1
- fi
-
- distutils-r1_python_compile
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- tests/test_multidict_benchmarks.py
- )
-
- rm -rf multidict || die
-
- local cext=--c-extensions
- if ! use native-extensions || [[ ${EPYTHON} == pypy3* ]]; then
- cext=--no-c-extensions
- fi
- epytest "${cext}"
-}
diff --git a/dev-python/multidict/multidict-6.4.4.ebuild b/dev-python/multidict/multidict-6.4.4.ebuild
deleted file mode 100644
index 1041d0b99acd..000000000000
--- a/dev-python/multidict/multidict-6.4.4.ebuild
+++ /dev/null
@@ -1,64 +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_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="multidict implementation"
-HOMEPAGE="
- https://github.com/aio-libs/multidict/
- https://pypi.org/project/multidict/
-"
-SRC_URI="
- https://github.com/aio-libs/${PN}/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 ~x64-macos"
-IUSE="+native-extensions"
-
-BDEPEND="
- test? (
- dev-python/objgraph[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # don't enable coverage or other pytest settings
- sed -i -e '/cov/d' pytest.ini || die
- # don't force -O3
- sed -i -e 's:"-O3"::' setup.py || die
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- if ! use native-extensions || [[ ${EPYTHON} == pypy3* ]]; then
- local -x MULTIDICT_NO_EXTENSIONS=1
- fi
-
- distutils-r1_python_compile
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- tests/test_multidict_benchmarks.py
- tests/test_views_benchmarks.py
- )
-
- rm -rf multidict || die
-
- local cext=--c-extensions
- if ! use native-extensions || [[ ${EPYTHON} == pypy3* ]]; then
- cext=--no-c-extensions
- fi
- epytest "${cext}"
-}
diff --git a/dev-python/multidict/multidict-6.5.1.ebuild b/dev-python/multidict/multidict-6.5.1.ebuild
index 2b1f8c46498a..3c043cade12f 100644
--- a/dev-python/multidict/multidict-6.5.1.ebuild
+++ b/dev-python/multidict/multidict-6.5.1.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
IUSE="+native-extensions"
BDEPEND="
diff --git a/dev-python/multidict/multidict-6.6.0.ebuild b/dev-python/multidict/multidict-6.6.0.ebuild
deleted file mode 100644
index 2b1f8c46498a..000000000000
--- a/dev-python/multidict/multidict-6.6.0.ebuild
+++ /dev/null
@@ -1,65 +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_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="multidict implementation"
-HOMEPAGE="
- https://github.com/aio-libs/multidict/
- https://pypi.org/project/multidict/
-"
-SRC_URI="
- https://github.com/aio-libs/${PN}/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 ~x64-macos"
-IUSE="+native-extensions"
-
-BDEPEND="
- test? (
- dev-python/objgraph[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # don't enable coverage or other pytest settings
- sed -i -e '/cov/d' pytest.ini || die
- # don't force -O3
- sed -i -e 's:"-O3"::' setup.py || die
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- if ! use native-extensions || [[ ${EPYTHON} == pypy3* ]]; then
- local -x MULTIDICT_NO_EXTENSIONS=1
- fi
-
- distutils-r1_python_compile
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- tests/test_multidict_benchmarks.py
- tests/test_views_benchmarks.py
- )
-
- rm -rf multidict || die
-
- local cext=--c-extensions
- if ! use native-extensions || [[ ${EPYTHON} == pypy3* ]]; then
- cext=--no-c-extensions
- fi
- epytest "${cext}"
-}
diff --git a/dev-python/multidict/multidict-6.6.2.ebuild b/dev-python/multidict/multidict-6.6.2.ebuild
deleted file mode 100644
index 2b1f8c46498a..000000000000
--- a/dev-python/multidict/multidict-6.6.2.ebuild
+++ /dev/null
@@ -1,65 +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_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="multidict implementation"
-HOMEPAGE="
- https://github.com/aio-libs/multidict/
- https://pypi.org/project/multidict/
-"
-SRC_URI="
- https://github.com/aio-libs/${PN}/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 ~x64-macos"
-IUSE="+native-extensions"
-
-BDEPEND="
- test? (
- dev-python/objgraph[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # don't enable coverage or other pytest settings
- sed -i -e '/cov/d' pytest.ini || die
- # don't force -O3
- sed -i -e 's:"-O3"::' setup.py || die
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- if ! use native-extensions || [[ ${EPYTHON} == pypy3* ]]; then
- local -x MULTIDICT_NO_EXTENSIONS=1
- fi
-
- distutils-r1_python_compile
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- tests/test_multidict_benchmarks.py
- tests/test_views_benchmarks.py
- )
-
- rm -rf multidict || die
-
- local cext=--c-extensions
- if ! use native-extensions || [[ ${EPYTHON} == pypy3* ]]; then
- cext=--no-c-extensions
- fi
- epytest "${cext}"
-}
diff --git a/dev-python/mypy/Manifest b/dev-python/mypy/Manifest
index fc91a144a164..7bd588598be5 100644
--- a/dev-python/mypy/Manifest
+++ b/dev-python/mypy/Manifest
@@ -1,3 +1,4 @@
DIST mypy-1.15.0.gh.tar.gz 3256122 BLAKE2B e2e5a047246a9898f3a7f406fa06bcd106fa0cfa776c3d2f785c7eec059f67405eaaee97ed40ecc161bb897e6baad1b5f2700cce07eaaadfd1330409b0e58185 SHA512 dac0c91749215f0ed2a29794665b26b047f9ab918ec387632c2e509308e2051aada6856dbdc7b001a4f3090c0e1b2b4f129f780b64c378997df4d78233065efa
DIST mypy-1.16.0.gh.tar.gz 3339707 BLAKE2B 6c5509fe02b81d86af74975f5804d6fe19b9dbebefe551ef35f52758b9c4eb2a7ca538c68625ce006fc74836beaabee71cb3e12416b5f6bf3589bf96994497a0 SHA512 248ac67c1899c543cb5e60fc00a95299dcf11f538b7491f27750477c28942ac869e2a207d9e3ea4ddf33b0a16363137bd8e7b0bd2bb729c82955d0af10ec91be
DIST mypy-1.16.1.gh.tar.gz 3340652 BLAKE2B b602a9f7cdacc9cd939f8232261a00059facd99983b8440104c33d30bb8dd173655decd8b1fae7013f085b641155fd51b138a0c488cda5219d5d55e0379bccd8 SHA512 7d14ea3500f97223c128b07df3dce77c34a4e9913f4dc4b623f9b6f6ba0384d566ef2987bdbf8febcbb12e9d8845f26e53c2f098b513180647156f702c1a6d09
+DIST mypy-1.17.0.gh.tar.gz 3368639 BLAKE2B fc50dccedd8eab757a543e5f63f710281629f7469debfb96a132eb8d200679ce05e441096c5ba6ba62f9b3a9868601df79d80d885c545829da24a08838935031 SHA512 aee414a6e594b289774187b2c2cf1dfec8a5a27a72d08273c1ef014bb486d8902b39a0f5636722ebdc84f7c71cc99b991ce44ab0284200771f99ee36f820d48b
diff --git a/dev-python/mypy/mypy-1.16.1.ebuild b/dev-python/mypy/mypy-1.16.1.ebuild
index 23e813537d92..0d2f00fae59e 100644
--- a/dev-python/mypy/mypy-1.16.1.ebuild
+++ b/dev-python/mypy/mypy-1.16.1.ebuild
@@ -22,7 +22,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ~ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="+native-extensions"
# stubgen collides with this package: https://bugs.gentoo.org/585594
diff --git a/dev-python/mypy/mypy-1.17.0.ebuild b/dev-python/mypy/mypy-1.17.0.ebuild
new file mode 100644
index 000000000000..0d6fe933f582
--- /dev/null
+++ b/dev-python/mypy/mypy-1.17.0.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Optional static typing for Python"
+HOMEPAGE="
+ https://www.mypy-lang.org/
+ https://github.com/python/mypy/
+ https://pypi.org/project/mypy/
+"
+SRC_URI="
+ https://github.com/python/mypy/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="+native-extensions"
+
+# stubgen collides with this package: https://bugs.gentoo.org/585594
+RDEPEND="
+ !dev-util/stubgen
+ >=dev-python/pathspec-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/psutil-4[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.6.0[${PYTHON_USEDEP}]
+ >=dev-python/mypy-extensions-1.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ native-extensions? (
+ ${RDEPEND}
+ dev-python/types-psutil[${PYTHON_USEDEP}]
+ dev-python/types-setuptools[${PYTHON_USEDEP}]
+ )
+ test? (
+ >=dev-python/attrs-18.0[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.9.1[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+# frustratingly, mypyc produces non-deterministic output. If ccache is enabled it will be a waste of time,
+# but simultaneously it might trash your system and fill up the cache with a giant wave of non-reproducible
+# test files (https://github.com/mypyc/mypyc/issues/1014)
+export CCACHE_DISABLE=1
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.14.0-no-werror.patch
+)
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # don't force pytest-xdist, in case user asked for EPYTEST_JOBS=1
+ sed -i -e '/addopts/s:-nauto::' pyproject.toml || die
+}
+
+python_compile() {
+ local -x MYPY_USE_MYPYC=$(usex native-extensions 1 0)
+ distutils-r1_python_compile
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # the majority of them require Internet (via pip)
+ mypy/test/testpep561.py
+ # known broken with assertions enabled
+ # https://github.com/python/mypy/issues/16043
+ mypyc/test/test_external.py::TestExternal::test_c_unit_test
+ mypyc/test/test_run.py::TestRun::run-classes.test::testDelException
+ mypyc/test/test_run.py::TestRun::run-floats.test::testFloatOps
+ mypyc/test/test_run.py::TestRun::run-i64.test::testI64GlueMethodsAndInheritance
+ mypyc/test/test_run.py::TestRunStrictDunderTyping::run-floats.test::testFloatOps_dunder_typing
+ # these assume that types-docutils are not installed
+ mypy/test/testpythoneval.py::PythonEvaluationSuite::pythoneval.test::testIgnoreImportIfNoPython3StubAvailable
+ mypy/test/testpythoneval.py::PythonEvaluationSuite::pythoneval.test::testNoPython3StubAvailable
+ # TODO
+ mypy/test/meta/test_parse_data.py
+ mypy/test/meta/test_update_data.py
+ )
+ case ${EPYTHON} in
+ python3.13)
+ ;&
+ python3.12)
+ EPYTEST_DESELECT+=(
+ # more assertions, sigh
+ mypyc/test/test_run.py::TestRun::run-async.test::testRunAsyncMiscTypesInEnvironment
+ mypyc/test/test_run.py::TestRun::run-bools.test::testBoolOps
+ mypyc/test/test_run.py::TestRun::run-i64.test::testI64BasicOps
+ mypyc/test/test_run.py::TestRun::run-i64.test::testI64DefaultArgValues
+ mypyc/test/test_run.py::TestRun::run-i64.test::testI64ErrorValuesAndUndefined
+ )
+ ;;
+ esac
+
+ # Some mypy/test/testcmdline.py::PythonCmdlineSuite tests
+ # fail with high COLUMNS values
+ local -x COLUMNS=80
+
+ # The tests depend on having in-source compiled extensions if you want to
+ # test those compiled extensions. Various crucial test dependencies aren't
+ # installed. Even pyproject.toml is needed because that's where pytest args
+ # are in. Hack them into the build directory and delete them afterwards.
+ # See: https://github.com/python/mypy/issues/16143
+ local -x MYPY_TEST_PREFIX="${S}"
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ cp -r "${S}"/{conftest.py,pyproject.toml} . || die
+
+ local failed=
+ nonfatal epytest || failed=1
+
+ rm conftest.py pyproject.toml || die
+
+ [[ ${failed} ]] && die "epytest failed with ${EPYTHON}"
+}
diff --git a/dev-python/mysqlclient/mysqlclient-2.2.7.ebuild b/dev-python/mysqlclient/mysqlclient-2.2.7.ebuild
index 77302e6e9e45..044d8899892a 100644
--- a/dev-python/mysqlclient/mysqlclient-2.2.7.ebuild
+++ b/dev-python/mysqlclient/mysqlclient-2.2.7.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
DEPEND="
dev-db/mysql-connector-c:0=
diff --git a/dev-python/narwhals/Manifest b/dev-python/narwhals/Manifest
index 62255d373272..1fdc2a5afd24 100644
--- a/dev-python/narwhals/Manifest
+++ b/dev-python/narwhals/Manifest
@@ -1,2 +1,2 @@
-DIST narwhals-1.45.0.tar.gz 508812 BLAKE2B 97096eb26440f64e190fb707566a1641d060df1b5e4f46feff164b8c2db262e78e78756024bdad34018419bd359035bb1ae54b65822c2c27fb05a67b7bdcd186 SHA512 42e8dcb48865356fe63b80306ee3113bb311dfbf1340a075dd541f481735c541564f2d584b29bb89c394469b51a1f25fe5f7533068c0a3848c9321a3219778b8
DIST narwhals-1.46.0.tar.gz 512060 BLAKE2B 7d1b5da00a9f8ea1da46d10d783a04eb11ecf83acfa819d7e91cbd142fa18d5cc833d5867f206c9dd726fb0dc5f342cd6723ae9e4ba68b4584ae92f54362a4f6 SHA512 2a3da2628389c805d78af2047340cf00d2cac44a0bff4616d4211ac28878bc2e88355936ecd69fd6d82694c3e4423953d294adbdfb7f77768489865d40f9d1a6
+DIST narwhals-1.47.0.tar.gz 514799 BLAKE2B a069ff546c2e8588490aa274be6f5a90a134ce6f98625263389c2500cae53d73d7970599de4cdd26a7d58658d275af7662413b2b17e768c4dd3d24ab29326064 SHA512 ec2794079e5e5a2ec7ca6da49707e392148d2c6786bdc443e09d00d2c04ef02fed4b73308f8b1a05537ef042a5ef4d4f25992559d050bba75bad52eecc34248f
diff --git a/dev-python/narwhals/narwhals-1.45.0.ebuild b/dev-python/narwhals/narwhals-1.47.0.ebuild
index 2ebfce13d84d..d2a95b1951d3 100644
--- a/dev-python/narwhals/narwhals-1.45.0.ebuild
+++ b/dev-python/narwhals/narwhals-1.47.0.ebuild
@@ -21,7 +21,7 @@ KEYWORDS="~amd64 ~arm64"
BDEPEND="
test? (
>=dev-python/pandas-1.1.3[${PYTHON_USEDEP}]
- dev-python/pyarrow[${PYTHON_USEDEP}]
+ >=dev-python/pyarrow-13.0.0[${PYTHON_USEDEP}]
)
"
diff --git a/dev-python/nh3/Manifest b/dev-python/nh3/Manifest
index 6967498bbb08..b0ea9af20eb5 100644
--- a/dev-python/nh3/Manifest
+++ b/dev-python/nh3/Manifest
@@ -1,77 +1,130 @@
DIST ammonia-4.0.0.crate 47763 BLAKE2B 6f952a8030ce2cfb9bcaf01c36d795c470f47bd7fa8e3935e058016876de04c6c43db3d56776c9ec5bb2acd83f315fd5dbd7c60373b397d70336d6926340c816 SHA512 84f523eaf7db9d98e44c7d1198fae40e59e838dcc9fc256ca7ef3f3d243a767755f318e516411b4feba4ecb26e30e77d501e9163f996b4d113804e5f2c41a65e
+DIST ammonia-4.1.1.crate 56029 BLAKE2B ce48c5ba59fcfbc3aff59e7f3f2d6f41fa19a52d8a3b02a18fcab523f8cff13ecd45a5b7fa2d379871ec4319d98409717c65dc72f75d27a403f913dccd944bc2 SHA512 b53b106e7eb006a74d29d54840b09a52e8ec9ebb251dc89227e82993dd896dae9a74ded219fbebb3f160375744123b6b8508057afb9deb5723c293bbf2436286
DIST autocfg-1.4.0.crate 17712 BLAKE2B 7f7300439899be03d001dd32b7e797bc4b9a58103081b6f7353c4b5897813cedf870b3fb1fa25d320a75326b334b44d8287e8603de34fc560d0b567143915cc6 SHA512 3b5e7c30bc73e105e4bfcab584c24fc4016db41fac9c356c6649fd841051704bbe8848e09546eb50d7c1f18ea8ce1cb72fbc268a620d5c609b3472114b5be73c
+DIST autocfg-1.5.0.crate 18729 BLAKE2B 27580e39b366c6fca02c9db09997b6415c409f12068f1249184268bf96fd85ba659e25ec730f99e10caf452f96c486f3d7442bf09c4552b5f39519b21d6f88cc SHA512 f279856f234d39d369623576acf9546a1ca24d7fe449f36d4fb93ea75a7efaf2c4015b9616a69bbbed358c5e5882e16b045352f046aa4c049b3d13b1e8257b08
DIST bitflags-2.8.0.crate 47482 BLAKE2B cfa5dac5bb9fda57a5887773399d2507e83ed30fb0c5a332c48905f912c9b8d3c5e6493a9626a73459cb67d63973efff719ab4153a14e774ff4a632c96872ca2 SHA512 f1bc02c858432b0e1fc3b10f239c5886e51d620d55a75521bdf35c8e8f6b6cf8db97e90e08eb2e96715a2c5b28858af305eb266f1ce0c90f9d3945d6d9bdda8b
+DIST bitflags-2.9.1.crate 47913 BLAKE2B b14ee41348336981ab86459417b9feab90879a11a6524a8b43f2b89c09c844b4441c31e315c471be00ad21fa88b5dcc7671b56567fdcd72bb0790ceeaa25813b SHA512 6baeac42e4227e58030e317125a3c23997beceb44f9262f029e59c6dc36dd1733f2e88b3c3c8ad22f806245ef404512a880b16f3c8c52fa5c4aab287bb3cfe27
DIST cc-1.2.15.crate 103196 BLAKE2B 860665bb58cea2b353c4fcc860a20a0947d05b2e5ab694b96ddb1e132aa32e49d4362884c973590cfb9d6004de55894713ffc90ea3e367e0c34040d08ec0b6a7 SHA512 c8671cc57192cca08601b596b53efd7d37e11ca29c542b2eef2d311f4a902de0cf4c99ee29a1564ea4aca318b7ae4a590035ba7b52b2bcde5c42ff6dbd525b2d
+DIST cc-1.2.29.crate 108072 BLAKE2B 84d494268d43670d008ba0a2abfe3f99fbf52a7d93f6a29b5156eceb48312050ef5b5e094d25b0e25f13c120d916fd2cb231cd7cfbcfe8c0a6d5248a62659e6e SHA512 5dd2e7c9d1cd78d7e71f3a9e0ffa81ca1b97bd1b51ba00154153601eec953f75d84ef8e59799603c70b84bd503b02787d4f48624176e4e9cb4ce7588a8ea6f4b
DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
+DIST cfg-if-1.0.1.crate 8683 BLAKE2B 7d7f98e46b98e0f6fe069fff5dede72390adb7522f13be35c37f99713641e98dff87bd58e594908565a6f42ec898f11597e8a82a01ca2e8e65b38563e09956a8 SHA512 56af0d562fe60022e8df9c5b4e9b2eed6d7ca1874c4d3bbb52148d6f3c6f7d30e0b63d4b1e652ccfc8881a663fb6f450a48447d5a8cce0c2e5a2ac12c6ac655f
+DIST cssparser-0.35.0.crate 54145 BLAKE2B f068cfd1e0fba732757a8fad1565cb3010fd16d59244505143df4ed01f4208ba15b37a3030cf76bd5c69b25ee1f14032ffe39928ff9d2c52c9457950c86cbba7 SHA512 62bdae0d003714378046967f83fab37d0012ee618607684e0ce3e0e872f65a4b7e63a725cb0d6380bbacb20de5c5095377e2f97b3d4737376b61e4299e8eca97
+DIST cssparser-macros-0.6.1.crate 7914 BLAKE2B e754cdabbf678d3f9efab469e72cacd05e2635352c4a3f4c40971772550c3bd48315a65cd121a79542ffcea642cc0868c41cef1c7ad5a31da92ba21a02c41530 SHA512 21d2f8bcaad0a8fff865b23bb2b59dcc5165f8861c4b9d7d70e9f302b58e2cc5ef8555bcab97889bfe81889a2b27863c755494baa64a52c65cd74687fe58b124
DIST displaydoc-0.2.5.crate 24219 BLAKE2B ba3396c93d27a99a92ff4a0f01a8d192b419bad25e48d9427b76260ebf2f9982291d77f2eb24d239c0b1fbb097e866a20bc46dc1879fdfc6637ea49928444a92 SHA512 5ca35fa59f263162389c1180331e9df607d9374bcb056cb04bc46c98e4d87277162ddb2335ffa8a8c5f69218abc3eabccdcaa71c21b8dd9081cc4146f266b948
+DIST dtoa-1.0.10.crate 17584 BLAKE2B 586b5bfca84460b85f5fc54a0de13e94c18c4b08159f47cba40a553d6774a3b0c40d927b8c671d70e67dd59966a93b84e32bd41c24bca0f2fe5d8ac66d50778a SHA512 924434926c411e5ca51afbf20d7ea35ca554aa392385214f0b379b9ae304b93774a249d43ec39d5cca12814209c178d9e978b5b8db0bcaa21b9e64871f569302
+DIST dtoa-short-0.3.5.crate 8287 BLAKE2B 9a8e6625b2358d8f5c1346f2ec7fad73dc566b13f4c354b69a7004b43fdefd8118e76233ca55d8a572a13315504c4ce426b11745242ab713e24bfb774881d4d0 SHA512 da4d7c318b7146775260de71be363fa257ce9b1f7fcee8f5213cf905211379c5f58496d2070a001fd74fd4570a7de2a1ddf4d02e617dae6977e7a1e29b8817f2
DIST form_urlencoded-1.2.1.crate 8969 BLAKE2B 383d3a197b73fba199220b7708e16d770591ac16725faf4efc1a8c230c569c381870d4a11b8fba623e761e68f9d318630b22101d461e67dd26c67e13a73358a1 SHA512 c65104e2dc08fad572bb31f981700fd43dd29fcff42b01c7ccdbd3d4c23dec12360aed3f1b5fc4766fee386d418a65349b2941b8735f788cb0d35d631a6a8dd1
DIST futf-0.1.5.crate 11344 BLAKE2B 2cc5e5f5d4ace47e9273546e46c500432da47f246cee18f24607432305dec9481ec3d02b8a9bff4724efe05ea1d235294c52ee4eeb2f5f285ce56c2987b62d24 SHA512 4cee071c067c879742839d3d32192ca94ee2f9241468656357c3aed116cb7c656bf81722f32b67d60214b7db66858dca6443f0d52f0ff2114fc70971bdddd2d3
DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
DIST html5ever-0.27.0.crate 72913 BLAKE2B 0a3dc8b19ec74ac5b5c1728f9112ed7513285ec47f4e3a3623b995eb9ed0aaf2c83899126268cd2b3e7388a3209952213d4fe0ea0d297e3c0f7b16aa1b5b9d4f SHA512 8d736fc122da78e9ba8b546868d0770837ea0b4951ff027f1b5593dedeb9831c082dad1868659422fab5527711ffed18d4428d519a830a3434d4594a1af6c868
+DIST html5ever-0.35.0.crate 76142 BLAKE2B e323f68ffa24594c0e74efee0063e657f3c4bdf613343f6729a216d707f52797acb5e0fb40afbc72b68aad929c590f647695a28478281c671485170fb61ec120 SHA512 33ec689884aea2f6821099e58acd58ccebcc39a768d8a453185dc733a6f1f504f702e7d0484e867b8853c0f2f1e3ae7f8b4ba1eab4a5faf06dd486674de4365c
DIST icu_collections-1.5.0.crate 82762 BLAKE2B ab89336790ceafe62dd72f0aaef16a6eb47fa5e41424ed990e6c059ad431cdb3dcea943436aed0bf9c6eabd7aba12d255a2233fbbcf9cf5f666ef1dfd5b79a16 SHA512 127f1c91101ba69405b10a2590579606df766166fcf1fe6aa9a74c4900296425cba5c47a391a53a01b02026af5581f068fce4a7a400179809f7ed9922b94c0db
+DIST icu_collections-2.0.0.crate 83033 BLAKE2B a67f95177d820ab3b0f9d5ede716551aece974545c1fa6654e27b923c85b43fbdb9fb73bcf2dab2bf9a0d5b0bad4acd953fcb3418bc73261ef2f6e3407ab155b SHA512 646f41881cc2861504ee9753795e596b85f90f108c2d509563bb007fe52b08e9bb6dbc7b762b8ec60012ec53bd51e25a1e16f9fea2ed2c11355ae619c49c5034
+DIST icu_locale_core-2.0.0.crate 74430 BLAKE2B b01a63614fd91840cbaf00285ecfdec7f90eb9e23066a6c3b1a477574aeb8da1ba0b7f9115f8e5fde8454022cddfb54a25b2791ae33ec827f98fd1daf28a8ffc SHA512 cdebcb5e434b606da9fa24ef741a63d2cc2e6c20a2e47276aaf8923a578f6449bd319baabfd847640a65dac38858734554fc00474511d02c7145dd5d3f10e150
DIST icu_locid-1.5.0.crate 55131 BLAKE2B cde2b988f0af200b8e7851a66b8ae08881670ad6ff79c5caf5135a04c200e5ecd0acf27d8856fb0fce46d502527d506095f469c28f325b9b9d21d2a3657149be SHA512 4b85f0e7cc73166a542b2e502b3ffae1f30d2a9609ab83acf98e90b0edb37fa8ae4592f61ecf48a0ae0779fdd376abeff59e1d5cb97475012eda99ce2a97da57
DIST icu_locid_transform-1.5.0.crate 29094 BLAKE2B c7bb5c5ed273a6a97279d4599f612dccdd796f3ae717411aa5b21949721989986d8b766041b9c7e49a91cdd42a48fc965effb8d7fb6d33554926d203a6535953 SHA512 1779078e2ef9859bee2bfd5414ad7e4b0f0a40e6813f4ccf8de2bbe8c764fac7f99ef001cce22332a8b3840af22e9c7fb7cc0341cf8ba61303794ebe87071e63
DIST icu_locid_transform_data-1.5.0.crate 44727 BLAKE2B 7fc5408510886bd7b7d796850a542f2c1d759d2c67492b695245d46b34930e3918513cae2699963f603d2bd02484960b05afd58cefb6c3152ec201880366d44a SHA512 1c00fb962eb4b8c759b1120313bb890f4388d579890d7450b798d6266a7d6adcbbebc8a8dad2f267668ca6f1c059d0bd2209eafbe2a72f4558c85258eba57405
DIST icu_normalizer-1.5.0.crate 53113 BLAKE2B ccd58f24469da1f237ed9a349f0b3bdbb49b8f5b1995d6254c6e3eab53a71208ff4a0b09bdc68082cdbd288df66499efb19555f41d12a19205d724af22fb504c SHA512 22612b86a24e3ea222469392763ae9d40dcbb37191dd8b9fa1c64332463a4299a53275a1cd3deb7e0f057d137f4312d990762f9925d0ceafbc8839d67c425a13
+DIST icu_normalizer-2.0.0.crate 61543 BLAKE2B c91b1c26e0bc995ca3bc32c743a53074955079de642dba1982816218b38a175af297f3adc4cf0048c354e9bbad813aed817d124fc0bf7f95aeab5c1ea005a22d SHA512 7947a3b7132860935b1f8d77cc02be402933be7c2728b815a455bec3533f5d52f8ef02f762ef5ca3d9fa615677527326fc3dfb0cce0590da0ab44a5ae5f7c84e
DIST icu_normalizer_data-1.5.0.crate 50561 BLAKE2B c7b8c5751c6d6df03b23d63855335ef67b34a0b13b15f1f8a8986943b5131874f5205155889e12253692b39918256fe2cfed70dfe2087011683ab9165a5fd786 SHA512 222fbb819791fb4ec7889e45ed3032ac8d4753e2e9cdce9d0b3f79128baca5ce64157a8a58ecdf39cfddb6c2395001e3cc8828ed51803e85cae133c247cb338f
+DIST icu_normalizer_data-2.0.0.crate 68101 BLAKE2B c129699813d651acc32b900d4d9fb052f352635925b13b33095ec8b66c841654bcd6d0c4cf3389c70587e31e4c1d0368c4d59e7263b8b8a366d6a544cfbee2be SHA512 20e443013977d65441366ca680c923760992ebed24171e87b62e4caf87bd2f52ef9a2a4537fbc1feaf1768a7ed1ece889b0b88449a0dbe025f6567b17996c0f5
DIST icu_properties-1.5.1.crate 64479 BLAKE2B be7d3a1663664095f4af654723ebc74f385a6423fbd3acad325ba0d6188dce9d9321eb323c1b1d8e6d75fc9aaef3d873b609d7049525d2402456c6331bcbf486 SHA512 7e347c0a02a41a3add950290bee90a339091a713546d4369c2995022e64f127f54204b0d46cbb88f396b3bccbd4cf12720a93d8551b73926f78fd5ec01829cac
+DIST icu_properties-2.0.1.crate 58165 BLAKE2B 265ffe58e96b7d3a1cbf56c3208ceb8ff73edb5dd82e719eaaff52c351c07f4a8b019bdeec52d1fb0a646d57f125d54783001545c7384ebf580521b11552bd70 SHA512 a963a6777a72ee044b33b284de95d6031dfdb56c72bfd535769d9c66d7a2cdd9e5734553f9d92708b53db46d1cc008680b6e1ea0ea1f598c2e29b025a5893bb8
DIST icu_properties_data-1.5.0.crate 227993 BLAKE2B 3b3141507077dfdeb4f89316e63e1a651fc5570cda58c6c2d566130858ff67f900c3b151113e6303962fedf1d6b6d617601b21a08c4c0c98e6bf135aace6f299 SHA512 c651d0a50c229acafa648ce234a73bc1d0a85a8bf2369fdadaa62badc741c35e8a7d5392fb1bdb7b720fe2e0f883d1309c78de4ba913691969e5367a4e8bafac
+DIST icu_properties_data-2.0.1.crate 159735 BLAKE2B d9b10e303614d1b380126daf43d36e858aa99740da6fd1ed416afff0f2c3b48ca49791ac5ebe098ee4c931b9d6b33b8598209b8294f54f72a5a6987be6c33f78 SHA512 f503b84491c77e2616f6b5a076acbe117832e5fd924df613389f06a6a479de1aa3d2106d1795692bc2818920c3d2d7005e1911787ae20e194a2fc11c175fa15f
DIST icu_provider-1.5.0.crate 52722 BLAKE2B b1e53ac677e2db5870df0a91de405ebbc635c3f7931960f3bd744b57350c7536116f3861d4177faed2145b79c1c957d79815fadc2dc85faa656a1f0bb338a16d SHA512 6c11d89c7d2b788a44757f02b0e298b558ebe174fe917664401d91109cdc7bd1aba5526b3cdcee1f066018de1b775bc9dfc294bdfb40476c53d552bd6f29d6a1
+DIST icu_provider-2.0.0.crate 50966 BLAKE2B 3e6f00e8c98df2a239a4c9b5c322d0ea9784b4f4401e3a62219fd5ec68a3f5f3c8714bf8c91c2a97b038956b013aacc24c55827138ac5f7b25d6807499766b0e SHA512 9353cfeacb76cfffa3132a77529c8a4cafd4fc943b0d9616d6ec80f04e67677e3cdd9369eaba1e655ecaa3af4433d82e12c1dd45dc190a4cdaeffcb2886ae6e2
DIST icu_provider_macros-1.5.0.crate 6436 BLAKE2B 7405924dca41db72ce422437434a4affece69f888e5c18d2a92f761a8d83b180f40c8de9a34ec15d0e107b63b2fe0502cebd0a0ae6f98d9d6ee37d197e754703 SHA512 a0dd58d731556a010428fe4aebbc9dbcd626b46d380cf28ba5236ec8824045a20f6f2ec986e0c1e791bc8bc2b692a10306f448279f079b4c37237e4a3c3cef63
DIST idna-1.0.3.crate 142515 BLAKE2B 6835a64772e5d301c2456a94f8f5f40ebe6828aaeb1d48e3fbe015917dc3ef95ac7cfd0e1f1763e23950482f4b46ef7987928c8dfddebab63947d5a29fb490ac SHA512 e75ab18297878df11d82bf3623b005a3dbf7a6fa38c8f78830c219adc7d6f4ac07dce24a5f1186de69035ec316421319e487396cfacb053674137342d72a4126
DIST idna_adapter-1.2.0.crate 8206 BLAKE2B 5e8d7dbfea699584542cde53039df9d8c3dd408efa2534f11fce7086f679872c45d9905d6b2cfe523148eda3bb0cd4820a7b14317f91725f3d9cdb475aafbd57 SHA512 1d8b54c19878645749a1bae768dacf353b07d266f2cb3bfa1071a7afb56ca68f534dc1d54cae277b777bc97e5986f297cbe2051a82e14f553ea73cd723d9da7e
+DIST idna_adapter-1.2.1.crate 10389 BLAKE2B 464a9a20da73aad657cb7c0d573d92bd21159032daa8e28fbe61a980b44e59d1a2b2e076d30ca35a49abcaf1bb71ec51f774ee137792dcddc81086a1b6c2eb61 SHA512 e94555b58646c596fe64006ee6f4458962987ceedc3341a12694d809cc298c38799fb56b382adaa966e3171b1f62b7835fbb2e688251e742deb7067975bf1aba
DIST indoc-2.0.5.crate 14396 BLAKE2B fe838c6a855d6ff7396675a3fe9b2e0b06a93cfd4013b0b843d24d2fb81f6566528bfd1753c649646f06cb7e59262bd6ec3ed79d4e6f01d740cf0682355f2e5a SHA512 095fb56a3d87946c42a63065a8b276c2d4b9b835800014b400bb987593bf56701bad9f55d947f090740fdb7641a4f3c87fe8bfa5724709e95254d1e8e2e3616f
+DIST indoc-2.0.6.crate 17164 BLAKE2B 1a6cff95bc12ea885ef36b935bf4f1c7870d65be0ff31ffc67dcab904fa80215c1254c1803c5d0c5686252addfad3512e9e1ec79d3edcba026a879f4706926d1 SHA512 e2ea2e5c8226c802bbe0631c1a99d2edd088cbafbf978b2a7b71c7c7f47754c6d4653f466e286441b61cc46def1c7f7a02d4785caab93a61dd785211dba7d1a9
+DIST itoa-1.0.15.crate 11231 BLAKE2B 17c261baf95bff2f6cf0dbc33ab78ebbab0cf5dc56aeb7f8977377af868deb5957918f1763c2fe8c080e931489ea89ebcc16b3ebd976eeeb7663ff74989a1071 SHA512 158ca5dd4b04cb12d9292a4df63c72443adaf5aab1bd9aacdb964dc58878d847a64251f84897cb25c34648d4c973b44fef5b4c175d7c04cabc2c13b4631c2e42
DIST libc-0.2.170.crate 760076 BLAKE2B 5deb440e04b0614cf5ec5a379d66b0f05f6f3eec1268742eb9052081408ec5da5f5185e63de59f3751506541321c618fd623d7b46b1892d360b86b6e250a4c4c SHA512 b716f1a76b208c5b84692fa3084c14dbfdb4a92b86c0e01215de04dc34c6e581e5f1c4561994c65a828838d5fa232efe93c3935faf5f83c8af127a5996f1f9d3
+DIST libc-0.2.174.crate 779933 BLAKE2B 20ffcbbcad6961e732521940f0595039dc0576d85b2d3b2ad3f1decd37571132a4cd7505b2e108078a4379fc4cec46290b5633bcbcc6e7009c3b474c1a852628 SHA512 243f2ffd5741ef859e4dc5b7ee0396071943b1d10429efcaecb322957e256c4be88a7a649029dfd47e6456acc73ee257893fb6c4e8b4d0fe66a12bc5d1c13c73
DIST litemap-0.7.4.crate 28257 BLAKE2B 52989ad353a782e9592357530dca3504e3ef5475bd2f1b2c795b60825d971ee6d3e6da51fbb6bbc26cb3c3303f6a751a3e15d1caa78c0cb888288a965666279c SHA512 5009c486a87b2f52237e15e2e772365424e4780c146776656d8e1551e52bc8e06e5c1cee8db1c59ef20d0463962fc07ba5221a46020a82df17a2f623a175f58f
+DIST litemap-0.8.0.crate 34344 BLAKE2B 0f083fa9ecb78ef6de4c094db8a7cebe2ff47af6e46414c06cc0dd0e92ecca06c941dca6ea0ac1b4982f14f6027cad979fd37d19db6631e3952dffb6e33c8798 SHA512 61162bd55b28540ec2d61262698045a78efbfadc7e2fa248d9e0215fd7d3ce53a8c50ea0487f2f7df41149e41c0131849e507737e3bbae29cb69ea41dcb8e2d9
DIST lock_api-0.4.12.crate 27591 BLAKE2B 4504d146a114d8f8e1fe9ae70b993c713cbfe884dd69c61c54dec978733b95a853c3e5af26f237e48ebb4ee9dbebfce0f6c06067f74a3d122e92f5ace40e22d7 SHA512 525d971f495449bbd02eb70fcd84d4aab05ca582142144a5f314f9aa67ad4c5b4c98dc919a416d0ed2e555063eab037a441d671d56b633f2cb75dfab5d99bcf7
+DIST lock_api-0.4.13.crate 28565 BLAKE2B 6441c9ae8e764ec1c2920f645153896e967457c96c3a7c0410d3c17f24291a23f8c01ac0b334d88262fc1f262bdbd0085a85f0b6f74aeeaa16d010a7ab2f8c8c SHA512 b9bdf2ca29f0d7950d9174403dfe4d5658fa82da5cc46d623cfb9c1e3673f6b10a0d01212e7701be6180ef31c54e6a35fdae78c2da64522e6ba05e7c783d0028
DIST log-0.4.26.crate 47022 BLAKE2B 529ce84cc92d1258327e148e1fff16cf4cba1d53f311353a15814856ad12d48f654aac5d4c6356a45439858a2f1938bdb7df582a1d62bf75b9380f2cf784caf0 SHA512 d85f3cb8bf90893d59b3174785295616d719c8d2078c04fa3e131c3f3cf84b73c75b932348df70b7eab2aedf261b27e6544f051696eb5c287fb461d1ee699ec1
+DIST log-0.4.27.crate 48120 BLAKE2B 09a2159032baaff7eede480062da30ffec1c1d4c77e76288467941dc13722ab1566742c1821326ca5f8c2f9f7597099e235213ecbf883fd93daf5ae9ad5ee981 SHA512 8d57219b76c8a25bae193e4d16d4d03bf0b8523e1ed3bdc80a692cabe00fc0359ae9bc3be989f04476ecda7187f27e4ad23fe260a96fcefc819af00fe12a1151
DIST mac-0.1.1.crate 4838 BLAKE2B c87e9f9283f179acd28c189d02d9d3de0ec99f9cfbefa590daa2880c275894951c5b0b935b652ab6c8c0172ac59e87f52fd49b787b230e6730365dc076d17578 SHA512 dbc6def04c482911ace311f34be79992fa04042c7ce36b71459b5af5c1c43e9fa66b6b40f63f8c3647daba287bf1c1be9b1a8031ead1d855f99a988898c96f1a
DIST maplit-1.0.2.crate 8871 BLAKE2B 3cf975d35de2d2fbd50227a6d2c5e72227e99197b620c8f29be97bd3666ec162deeef0d9e6bd327a063f175201beeb73c4ed27272449b1df0b78238b2d36ca22 SHA512 917b5cf665e12b687035c895b60b2ae05622963f495f5693515fd24d56f49e95a06ffced68606d061bd20822c655100035930673fd4b0d4790168763b6961a9f
DIST markup5ever-0.12.1.crate 34763 BLAKE2B 8057bde6b03d3e80c920b9007462b134937c80393f7422b4182823676069c4934d0c2806007e0c42b958b2c9f1b73679f62ed1e38b5c872b917937562b9ec7bc SHA512 5063b6591c63897017d79f64d11cc13edce2e8e21462df8a00166d582e83af3132ea7f4e50af4f248b56b75cbd12c6f89b7433da14147c76004fb2ffeda02b92
+DIST markup5ever-0.35.0.crate 15883 BLAKE2B b5b9a5b84c76ad9fe159a1f1a39a4e1f592567126bba94383d4846af16c969b76b5000050582be292c97611906914246497c5ab1e8ec458b952354a7de7cd38a SHA512 12013bfb081ad152eeb4cb3a47673bef9c83f0a5191f05564d70f8a5306058353b962223f41f13841618de3030e795f36f969c7cc5980233181001136f07cad7
+DIST match_token-0.35.0.crate 4570 BLAKE2B 51f533524610c25246633e50e3cb2832725fa1309244bc1bacd98ffca979a1b9789054495511817bc32e2493d3023c470ec5b946d077deb96dbc0cccbd8d9fdf SHA512 e5c592fabfc5c93a1d59d95e41946f813b211fb176a24aa02e2d634abc54114d4c6172d25f7c5a74ab0e4a714e090048c975136179436a14b99b86fabe237f38
DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa
DIST new_debug_unreachable-1.0.6.crate 2582 BLAKE2B 2ac3dd86f1a532832a40ccfda95654e43709a62faebb8182c87309827afdd23e6d3f250f2345f044cb789015c30b7907be63253b487d368e68c4fdbc7de20492 SHA512 73a61acbc9b20b3595925360827ba8798f3338471b291fa37c72a1c9505b3ec9f688808fcaac9a2eb494e5f3ea5331d30545d5f21f89559111bec6126ac90b48
DIST nh3-0.2.21.tar.gz 16581 BLAKE2B a443b5dbec8a60a7b5d7ace59e990db4e67fbd61c95d70aa2d3e1b11b95144fd06cb12f4fc5209f46ace94cbbd3f61b6418ebcf628ad12f7597aecc4066a4f76 SHA512 fc6e1cef19fd53d60d5be396ab35715021dfffae9882698ad8d2e3ea3a69e638bcdf125c3202904587683bd17b39361d4e2fbfdb23b5c3a7e4ef268c9e4a5bcb
+DIST nh3-0.2.22.tar.gz 18326 BLAKE2B f7651ac03d51ed82d3f102b8e54f971052a240a5c39a7edb4e0af2c5862291991541ef62dbeec4d7541464adb2deaa1135e564fd511d9117c24c5e66a6c62e06 SHA512 96ea987b0ddfc2c5db4c40b7211513ed0bf3ee56fb87239e2f09015a7fbf190a6f3f93b0278a05ee1cb205f5bd930f73e81800638afee98bc1fb51d598443c51
DIST once_cell-1.20.3.crate 33456 BLAKE2B b16081751a1b6649d0235fe9cef3fd0a9023d4f6980521933e4a411282458050ca27c1a8aa01d5237d424fa279219b5713da21d8900eccc3100d19c37d24b7a2 SHA512 3ede903f232d6ced73aa74c6b2e2ec306012517eac684db253913df4656515d087d1aff9f437a58fdeecb77cedf8a5960d6772d72bf1f1f19f1ce3fe54bc72dd
+DIST once_cell-1.21.3.crate 34534 BLAKE2B 3578aaef305cad2fdffdc40c392775a3540bfab3f3aeafd22466d9507bf8346b9fcc200929d48525b051070c0aaa423ecbcaa12868b34dca007991effb224166 SHA512 32a87506c6f4598f3ca2c88556014ef2093d5db9a08602335e847caa537a866492fa74c894e7e1da2e4289a1d3dbffcb90a9e37a4a1453203832f434b8206990
DIST parking_lot-0.12.3.crate 41860 BLAKE2B d1899a1132035aaea3a784290cf4951ea3b36b2018d407e27d333b2a2ce3820e040d635009c44cb6e58ad07cec6565c0347af6f6fb02954eac2d4c348bb036f0 SHA512 368c17203fb5b9e4ecfd4857e3b1ab96b86da3770b8f21be392818c845952f72dde1072a10265760a62aa8a1dd65332bfd585667444e5fbb9dbe3280b5862703
+DIST parking_lot-0.12.4.crate 46779 BLAKE2B 061c322aae4c66da34ca241457aabb66d0afbea14897318214caaff1b0336ee1b36f5e38cedbb06f0dfff1019eb59ac6653f33ee822225df74f2cd69c4911990 SHA512 0334bfd39e59f61eeb1bf182b1026825ea7ea50be7be44b1584c62facdb8e30fbb617e29ded4a35a05155b57c1574c980ba75f602044db75b985661305db0671
DIST parking_lot_core-0.9.10.crate 32406 BLAKE2B 25339d028579eb45a957ae5fdbac00288b1472d784c0aa7fa2953fcf9279c750d243ce69744993ee8cbe6899633e71e0a54ffc11e39247755685107f2f8dea54 SHA512 4f30fb60ded274d3154ffb00f6f50ac284b6fb97daebc1a2ac897ce97fa8e2ec6ff30cbdadf3b7419617a410fa7525f30ef5e580334e07d4420f4c0200a57389
+DIST parking_lot_core-0.9.11.crate 34773 BLAKE2B 2e7d8428c89fa9c4c8f4fdb319608a60e383dfd96c5a414edce732032b1aedaf7b9fc3f3fbdae7397039665918519594e259b657054059ce5d04bba0be898b37 SHA512 1beb3778e4cee9c12a07b970887b5f4a414111b6368bd4b247781465b024ccc798471213f0de31d8d3df689fd31ea1fff2a2c9d5099bd19c1a5d71bc958a0ae0
DIST percent-encoding-2.3.1.crate 10235 BLAKE2B cf8e2fd7b359a05b7bdaf731f9ae84c7fe6f468a53482eb2db7f93dfdaab64ac812b3664899db260055a93449462e6d219c695942fc5b030517b197b4df9b95f SHA512 5951ea8315e52cf3acfbaa023cb9e13a136b114c54a7da0bd44619ae24cd2159d4a96469d7572a2fdabd94e19513a033387117d7ca81d0eb409fb383e4acda44
DIST phf-0.11.3.crate 23231 BLAKE2B 588ff9dfc05a3d2cbe223d97c36c8a596d89cd421b568a0526992a089958e4b4ae8f7d33b3f15cf935d20bffea8f60d39ef2d2e1904101f285ca9b8b8155ecb0 SHA512 20a834481bc43ac8c560b00e337294d3c14d1fe359e7f78ed08166b096305e40277f4cd3c179a740911b5c241aeb4e263afa1a50d37f383ef63da113bd6270a9
DIST phf_codegen-0.11.3.crate 13741 BLAKE2B 88b6f0c206a95945c115401a30ba1bbf6a74e3acd4458f892fcd1eae5312765ed4e17272a814b6242240b97cc0d4eaedbf8c1c37a090d9aeda6ab23bd2280e78 SHA512 e86c3b73de198aa0ac67beb6eeebb88865f77d075b9d7f290eb9b73bfdd6728d9479f796d56e4f3358226ee88b877d848017cd951a14804534e4cb656eed209e
DIST phf_generator-0.11.3.crate 15431 BLAKE2B 0c8fa88e391141d36d6f128fdc3708a87e34ebd56e201ad56d62de8c05e9bff62258dd7f3a03b432ddcbd83c4f61fb9a57d93574a9f9a68e931720733ecfe1c6 SHA512 52998e20648b6ecd1eaafa407f7da4667fa829d48fe0c9f8f718377cc86a232a6261fc2f831ffc7051b62dbdb880654b1207ac314e57b23d2b70f634d07c2115
+DIST phf_macros-0.11.3.crate 18436 BLAKE2B f52beba12088a40eb532da1dabab5d633c1c90fe143ea0367afd7ad8263c42336fa81974fb122ae0d30eb45f13a257c7fef85f03b0aee8de45d3cf3b9e903d30 SHA512 331d3392dfd3e48eab0e65c3daca469c3abaf902989ed912e394175876f36c14d06fd1ba4ed03e01234608faf1189743e6dcde75eccdf2f4fe0dc8ffb15e720f
DIST phf_shared-0.11.3.crate 15199 BLAKE2B 82441a3f6db12e9021552b51ef4ad8b564532833dce782938d7d721e9f2d8b7015eee7483724552b8fcfeeed365259cdfd5044e9d2a999f42baf476df8141db4 SHA512 34bc3c0dff5568f0276777614d92d87882ca6be9e3d405c1e7de90ac16ec52a12acc30ea9ab2033074d0e988fa514247f37de1a21a3727de0ef43f42f477e27e
DIST portable-atomic-1.11.0.crate 181258 BLAKE2B 627bd7c306f6c4d7991abd9f995b7e0ce110a7ace738690c287a43ce3b979691214e525876f8ace0c2f0d10d781fba95c7d3bf29aea28e09b05b06f4764db03f SHA512 71774f8308963c5399095c6b755befdf9ff3d28f9529b4bae1fe0f2aba733339a267aa6f0ff854e59fa5044a9b0c2c86bad3bc4fcaa951724c839b0d6a22041e
+DIST portable-atomic-1.11.1.crate 185506 BLAKE2B 953bb1f2059dc1d891305eb89945f1f6a172fa50972725aee499de72b5dd9b4ad8ccefe4e891183ff8e6b64f4d1bb45ec33b06e0f5af34c940f817b290f746d9 SHA512 4c037ae0b4aef43077bdbf803389bc078d963f20d023e2e1d339a54f67fa9b27c174e7c1b6eca8881ecf301e30c431632d2c0dcedfb5b19552892fac0f81e2e1
+DIST potential_utf-0.1.2.crate 9613 BLAKE2B bcda2647db21d8e0e2475a5deb67ca875c2288f481880ac921ac15e058afbf0d74acdf51dc2b020eb02af340a3fcc7a99a45bed93e64cd85d9c3efd3c5fbaa97 SHA512 d6b1d980cd32094b2ffc65746b349883c30c29081bc88725116ae06a57fe7b6a0ef19dfe536681c2daa0bd65a186d09631110832a41a3d0f4836d955c379e338
DIST precomputed-hash-0.1.1.crate 1640 BLAKE2B 64a37ef3edd317f771e833bb394f7c19bc9b8c844156c831d2b550692c7e2e36bce44ecf18dd9f2d0f0511346eaf0d2a0ebe792fc288ca0e94a93933f2051846 SHA512 a118a98286a47e2f0cf35d2678d0325c18b9b7d5bdf40ceadc16483b282307fd1498434d5bdfa25477a4f420d97c34d786e42e9fa70431b788b4b8fde9718e05
DIST proc-macro2-1.0.93.crate 52388 BLAKE2B dae4493215b88f68cc485bc0ae80f0a48ebad68e0260839b1c367832d1ab778197bf040647b3fe36cfe9d5f7a496e05cd71b5914f531eb129c2d458d5f0be896 SHA512 1ae650e390e4f1b18d05f42d2ffcd025cabf72568a326cd85496c722600108b0aa0ab0161b39fcc931b8b302427f678650e703f4db57aa1a60f1751db881dc6c
+DIST proc-macro2-1.0.95.crate 51820 BLAKE2B 93229d80556ec03bce4031607d13c7902cacc2d7e2586a692ffe8543d52e3f3ba253c9c311ddedf6d9348ce8758ae8ff64577675cda2dac557f936a328de47e3 SHA512 f78e4d47ecd29c1b2315554705e445507bbfb9449afd0bf1b74df28f266ac6382ca8c3ce135ddc55c989eaee64d1794a0933a941c8ff55f543fa21c400016547
DIST pyo3-0.23.5.crate 1088533 BLAKE2B 2efae0a42c1d33e25c5871e3f61a3cea9890d278a20e2777307752b544ab3a634059bba896a1df0df4eadd0ae3c2e63b6d637aecd6699b31fac4107e3a43a387 SHA512 efd3a86dd70c199304463c0ae18dbdf4d9176d1af13b664bdd05a1e218cffda3f29f06d868d0d852d51c3e85b7e07c39617206b3feddc913b3b622f3fcf59d5f
+DIST pyo3-0.25.1.crate 1121993 BLAKE2B 79a982131fc4c4f9292e97bc8d938d236ee9cefb99bb90646a84703660ad506aee8ae1f1e626d985aa62c695722510f2697544581fa5c3a01f193be2bc2779fe SHA512 9c842c89d274dba0c8a3085a8524736245d65f07e5c05bc13fc89167cfdeb1a4ff2b4a9da9467eee918e45d01777473f39bda11efe0052859969d4fdeac1adc6
DIST pyo3-build-config-0.23.5.crate 33885 BLAKE2B 14e3897186abb772bcde147a9ebf2a70f5cbd634cb0240e1dbba71079acd2f9cd61fd263a5d32bc583e188ec84b6db8b93f018ab954ac9da66f423183ad5c176 SHA512 72aac032e3026554761eb81dc9c57591abc4d0c329c46918da13a8cc93c0532eba2fe3d971699a50890c66d8853b93a67840b0e8f1c15747d184b873dec2894a
+DIST pyo3-build-config-0.25.1.crate 34126 BLAKE2B ca905f1f74e26f38ab63a4f5754055c9dff01f9396f81ece09b7ce067181b657e6746db3b373f7177805f6564d0df0db064b5fcab8160d5edc357e64dd32d0fc SHA512 d6fe4a46111188203a839c8c73b9835f98cd6bc5982868cbcc9f502c5a09b35c3e61117b50ef8372470051b5bc4959731907748ffca89f42f300a3081b7b0467
DIST pyo3-ffi-0.23.5.crate 74867 BLAKE2B 5c80f7ac77ee516a891c1cb367e27fa396e55a7504dc8f92312219a90860baba3861ca2e83a1410839b99b6b3beb4c068703b841e18ea1854f70d04fef7404bd SHA512 37c25b21acc3718eab842c04489b0c16c04d33a30fe7f3f58cd80943048203375d8788ce84153ba3720df695fc95bf9f7bccacfa02b0e669a5ddbfc44d65f86c
+DIST pyo3-ffi-0.25.1.crate 78058 BLAKE2B 351fe00c99008a34a003e50cd4f6d25e6dae5a446928358cd5146ac9924254614724a015ae77d8aade7bcb497cf5e5b5018021ff5d89a8efa6412f5ccb48744e SHA512 35ab63888f49df13fab8b96b87f6c705186173923fd5898abe8730675156426f020ee517019926ba5e06cdb4fc5f91a75f648ce9eba892e9eaf3ee17864a8ec7
DIST pyo3-macros-0.23.5.crate 8856 BLAKE2B 56e7dea9cc630e21f9e8aa43319db27f3d287baad4035bf8d921b2c8e737142e5a89decf6a04bcc095f97e035cfe4a5edd7091bba79dd68bc110b7420c29477b SHA512 bf9c12b02597cf6f119e92fe827016f393d13cfa21376811ab9bf8f49cbfd6447afe9dcbef564ad2b5b72db5338520c37c77429db8ee1ccb74de3944fc9fce7f
+DIST pyo3-macros-0.25.1.crate 8886 BLAKE2B aad9c975c90ff93429be24287d76edd945578b546a927f54d82b6d4bf184f1f8d426ac112307205346e85999a1e89b097f68310de647f27474790bff01c3517a SHA512 08387f3d1ddb0cc253eed376e6e8ebe5722b31664ec742f16c0454b52f1fbcadbe7720ae9e2d3870fe0ca2690916cf6e3e032f5a3e65d767322c068432f6d470
DIST pyo3-macros-backend-0.23.5.crate 70938 BLAKE2B 20d5b00edf806ff19de3e3a03d10a23a29b16d544faf2bb5781032e51c3e07cd7f1a979e00b9f1abca36bc7cf1546b702ee83f85d021d74ac819b8b13bf8d140 SHA512 5e9a971d98a7b70424bf93b1f7fb326564010562dd376789be2fa6b13b89c3d34f760eb61ed49f0b013bbdfff2658d874d24a8a0b65d8f82d10d8f34b8ef5b53
+DIST pyo3-macros-backend-0.25.1.crate 76006 BLAKE2B 02225f8591585a6cbea7d6e53503bfbac395253cb0f45c588a2eb38908bf241034412832f2fcf4e9301318b5b9b82a888755d970f544f402a4f0cf9e4a6eefe9 SHA512 4c9006424630ab9bcd5dcdd45fe927a95a40a61757f0950396eb9f0c3f1794772092a19773c102220489cc621ad65d81dbbe459a1be472f6cd3211c50ef33cc2
DIST python3-dll-a-0.2.13.crate 85018 BLAKE2B 4531172b7e985041fe3cf7d164c67dc74e5974fbdbc80f1b7fb5e351d8115cda0a7a8f64c037ff7fcf4c20918fa2a53a29c8784035c571e0c46be39cdc7faff4 SHA512 01438c7af7a936ae6b95e1b81f4596627043a4b02eea85241a18ed137c23dff644f3e8d8eeb45b8e64ef1fd2693ab47fde47b6341dfc56f6c4eca032da46647c
+DIST python3-dll-a-0.2.14.crate 103489 BLAKE2B a2868aa62d9b5f33ba0ab3be85f486e7b0594b8e535749e251ae9c829eabf9f0211f928c729b0f5b847a89be978c4b5648d333ac657a82acaa3c39520dfe0b8c SHA512 fde53bac2b7009d409d5dfab991b431aea7c16c5e0227a7bb143e73a043cd0490cec2647f73cfc34f73a192e9b365a70fd5b42d969beb2e3251dff44230a2040
DIST quote-1.0.38.crate 31252 BLAKE2B a3836efbe5c21dec70c684002b47b8fc7cef643c82ee903b537a48bc0707a28106c4b33d98e60ff81e04c7520f7404b1dc4d49446e8d91dded517e476c36e1c2 SHA512 530c47c5e6372b508bf5b2b88a138408a7afa5ef52c47280ed20eccf39f8e97dfc1e0a18c1bd5472efcdc49a7a1e69566333a0a1b4c0b4f0e11e6a7a85bfe8af
+DIST quote-1.0.40.crate 31063 BLAKE2B 09036ff3e5ebbd775c466bb936de91d4c070481eb4b98c62a4cddcda57cd7b67d63f979b321f6ec64aabee3f5da6c28e7a3efb83f4647768ba578f1bd0bd0bdb SHA512 45a76e22a2b0bec47e4ba73c3b73cc41d821dfcce9876134c5d8eed514da214aee4ce7612e372c8709f888c0d8b9b7e5442f27adb7a59f3571f0339ed7e2ac99
DIST rand-0.8.5.crate 87113 BLAKE2B 516f26bb2a969d0d79e957818133f35d2c0b4d9f1b401098ea23c5b80d27599e842b9298c0c5e46e2a6cb6953857bf8a9fb71ec9366c5ce6708cf17df14f179c SHA512 8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2
DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808c66d73d79efa66c4178dc03db06f12201bf0e7930181c4b0f4030c49b20cce6eb7839763cf2217cad9710789a SHA512 36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79
+DIST redox_syscall-0.5.13.crate 29489 BLAKE2B b761131a61c3509640085525b6f99453551f6f3114d4be501c2b7178c8954eac5b1364f6e9012281fd2e9c322dfe54cc531b4cb63e0bb195bd33dfba463ade77 SHA512 fb78d5be1b325c7b6aca292b8a34d8c02100350db87e4062e029a8afe507897fe06b2e2e0ba079aaa56ee423ab3c64f0d744346cc21f206e0d532b5382636289
DIST redox_syscall-0.5.9.crate 30080 BLAKE2B e7a6d1f9e96bda9f5544bddee96ff51225339c96effa4b8f41daa414208a2052ec76a88400a504b7fe7ed7aee6917aaddf031a385955e7d9bebc6064e5e3000d SHA512 5689ab9cb30fd1972fb275aa22afa876ce013cd91c2b0d6afea17d0b3d45d981809e128b0f483b9419597f3974081c115956fcc1fd14172bc94cf0078f5cdc52
DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb
DIST serde-1.0.218.crate 78968 BLAKE2B af7f366a1aaaeb9b5f6f22e7398a30ea486aa3391ccab9a11435d45f7eba10796ce671556b771dbfd8b914563949c54b4a4f14fe447a549e879636339fa8f128 SHA512 35ffd8556287fa270beb90539c1641912d8fb233c53c4017f1f65a483b2dc340385458b9a869b7142b4d514bcc87c25e69c9370b3867e463be887bdebd19ead8
+DIST serde-1.0.219.crate 78983 BLAKE2B 7e9542a04c7f1aeff95b821245034368ff1721d98d7138bb1e0a99cdd6436dc37d69606308834fd33daaea3a1792409b3b2305b802433fa1d155816c55ca2a7d SHA512 0d3fe9a47af027d0d79499e60d940661dba6e29e8f0ce47d0db2ab722030d255aff637248af6f893a9c4224239733db09ffcdc6e1923a7177bfae55c98ebe769
DIST serde_derive-1.0.218.crate 57782 BLAKE2B b2244847b41f1aa396352bcea886d6a28d13ede23ae6ceb813143849cc107b3fe0cf054687d9f35bbb9db4e95c619422d9710532fcfffff291280cbe3649a433 SHA512 e89c076b0aa22ad74010f5b6a60397b9b78b59ca50a9660b29ceb1fd608cab820c47e787e450da306062c0cea1ade7142a7d4626a77aa0ae486096c130442cde
+DIST serde_derive-1.0.219.crate 57798 BLAKE2B 071f02019f829a2753769ce915d11df8f0d202ca67314fe83b42e1f1f3d07bc91b7e7c38fe498a0513714f80d3a3dbf2b447b1f85762de06dd021119801afa89 SHA512 1676bbf09e11273705a35c540d52d35d1bba7cdf1f347d40a364d7ae9269167f9f0f62ff4fa384aaa613c83e432a8eb3c016587ea643bb11434c00664a5c116b
DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a
DIST siphasher-1.0.1.crate 10351 BLAKE2B 6653898cf0eb071fe83b7c317f93ffb73bd26ed601961173875b26ec8851632599891ec178b7e14318abb9eb98d522db8022deb852af9ad9f6bf38a5a5708e82 SHA512 d230991add51a555af95b30ef104c0e5ed7011fafb92d6ac9ba0f238c8bf4d2fbd39f4b04dbbe960453f8fdd16d3768ba39f39e4877ad453562e689ec8f24a28
DIST smallvec-1.14.0.crate 35561 BLAKE2B aa8ee61800a6d13eda5acb4e9dc03543160849479a96a72c50ab38013b23e9593a665773b455a09777038edd436d7a35b501f6d4a0e16ff49544be60345a1e50 SHA512 90de38f208f551cdbf4980fda2314dee57d4e2bbf769a01c47bc849189e9243474932052faa92fe0ca59ecc9c5d1ed84091ef87f724343d38ebbbf710ba232be
+DIST smallvec-1.15.1.crate 38116 BLAKE2B 8dd779d7726694672945e928399e0459f4973d284a6c2d664c2fc757ebb1177658f47c812d9800e982479cbd7413fd4283c64a4d248ba5cff6397f96b758676e SHA512 c26b097a063353beedfcc921129cd0fb838c1c9420218993a05b2655b47b6ec16f11e0054312018658b4abd893beee140c5d2739401a5e5aea2e64575f237047
DIST stable_deref_trait-1.2.0.crate 8054 BLAKE2B 287a65c3e5b47213544a43e57c60a54add60b4c2e3c8d042407d860cc950ba7ca01a2e67ce56aed6744992b61ec1f9aed3321e3d88482e33129548b7d51df205 SHA512 a13cfb22723f1f2cf089b2d07d657846f50c37bc0438d1a76096bea30214cad226b7a422c21f9e191ce87071da8a141d61882aedf9e0203a5fffdfda86a5fb03
DIST string_cache-0.8.8.crate 17181 BLAKE2B 0c24081c48a63815d1f066456ede7d57273bd13647e0ea9b6e7ea4308052d9e68531485ff6d301cefcf9c17786b894d48e0038a0e828f50162d4d63f25e95c2b SHA512 d1a3008a7325e0aa48803f3a1f8a12ec1f17acfbd9b904dbe8c6c70cd85df17ed7adf6566919b54c81f3ba5ea23e6aeb5c36c536048796407ac45375b8246677
+DIST string_cache-0.8.9.crate 17408 BLAKE2B 7b38afd1f0bbd5a6cee1d2cee3579fa071a118025463dd18a1298cee580eade5bbd5c5c780398aac40c1a290a9813ece0f48b3f83ce1f2d594f13f8587ee196d SHA512 a1b85e609d52b2dc01536a34d1b297e353b60255fba538b0e80d37771d180c009500d237050fb95cc80c9bb69b01763d2c367b9dde71c1a0e475967fcee9b0dc
DIST string_cache_codegen-0.5.4.crate 9406 BLAKE2B 20e38c57d612d8b78677e664128a451f50eb18ca7ae839955e4b106b92a667ff7332496b23f24622e5448c7fa44180a27f0c5b7e8bdabc4f7eb18f47f7f7fafa SHA512 0c5e6b3cadde7fa48e5cdf899ae941026b7a8409447b777973afb7cea449ae439b59d0c9d4394cf96a9c34f3e52118696305688771a2dfddcf49bc31a0e6b161
+DIST syn-2.0.104.crate 299699 BLAKE2B f64d2267abe9140456dd31d52ada0c75bfa3e4e0112ca77491245e9e84a0530f6c7cdc7428b73cf567a65ef6e7727f814fb9cb34db0ecc9cc3afd05b69fd36f7 SHA512 da532fa362266161b5604c821c913f8f990eb32c18e18c0a360b7147b9f71ae008e208f377cb203e85818bd5db926951122a971fa97563a10678f0ba4671e64f
DIST syn-2.0.98.crate 297807 BLAKE2B b17e2bb4f151fba26debb722bda8e8677dcc4f57f0e88bec214f8b06e9b15c48731ca3f63d1453a44f34845c9895b3519008ce6cfb69746486324d7a8e0e0c20 SHA512 792dc70249d55face151b5481b0ebabbd3d290de78cff8b5dad8bee08e5a932ee22e54ca5fc5980e0b218197d19822c3672e02eb92ca74c8ac1328081d4d2cbf
DIST synstructure-0.13.1.crate 18327 BLAKE2B b29ee88c559a2d58fa46b7af155b448f001649ea79a1898f0ac87e69108b87c65cbd287d8f9001f360df7fef06ff39c937b48d33e487a30c8eec6a46c639c0c2 SHA512 09024193b44fc9a8901bda845b9f86c57dad65d0f53e309b2e7e968538fab6f67db1c86e5e52a2eb8fd116dc073e3ad10983bd60764662ec6ba94fee22a958aa
+DIST synstructure-0.13.2.crate 18950 BLAKE2B c475f370d901a371262f466dd98e3914dd6f36aa473a33362866c0f781d27b1813233f96b02208f3463a825e8012cab0f8872eed848d9aa0eac88b581a0d261e SHA512 2698f4e80b93f7cf1d8ae97c4c42a7f61e7b7081f7f1bbb94d7f48ab7ae813a666d73c49ba3812cda9155e0138b55cc246fb96e5858e411a8d32bafb3e2b2afb
DIST target-lexicon-0.12.16.crate 26488 BLAKE2B e7950e4a302059a1bfc9bc15618a3c1b971a17cffae117a6e8f5f63a0d82fd2bd02680301d15338612d5426d349dd24cfee30ee787a15a7d3187f2a6825e69ce SHA512 092639957c4a0391560b6442b31c47159c04d12e971010f730a6ec9cb5389e4be903ef3d7daa06db95e64dc78b6970731fb647179ebaad2b12e9ed5e9b24da27
+DIST target-lexicon-0.13.2.crate 27923 BLAKE2B 0761f0ffdc23b9c9df86b384d59611c7b8b5e29ff068f03367ad2fe84cfb6d11e1af149b9338236978e9566fedc51387db9f239d2a602db41045ac3db907faec SHA512 d25e3cc3d679cb6b6f24c03e0c24db9d6ca31b8ed42ac9531bd7637557fbba225a6c8ac4f68a8eaf3569195814d599e668a968afbc73b940a77cbc27552cc90a
DIST tendril-0.4.3.crate 37210 BLAKE2B 0a70926644e8dc492247d49b8939169702903c2458d7b2c0fea2e6ed54166909f484e8e876eddc8ff7491642ec24a200c5d1e51412c6a7c26ee60f1f4164e98c SHA512 53f074aec6e59717fca280b1764f6c2e0a1c073336f48d012ff268a7189697d42d24a91a6a549c7d9e1fe8b0006e34c219f4dba3cc95247d3905c6f8a6a8186f
DIST tinystr-0.7.6.crate 16971 BLAKE2B 33a248261c4cded41a81f0d6e6c8df55437f042b37f235c39787986ec562f0dbff50b282ad0f1483daaf49c4b33e6618e139a6677d1238c21f4e12082562b4ae SHA512 a33051848de248cac0a2d151760a78cb3aa62c787d84ff7aac38b11c0660e9188e4d43d43a77fb8676e49ac6102015e9c3db057848d809e71981851875d0fb25
+DIST tinystr-0.8.1.crate 23333 BLAKE2B 59bc4a522d81bc53c7acff215ec711e0f340c3884858fd4e985d655eb620d4a8b2679854e23f035bbcb6d795647fd314e26707eda564f07c05850c010db084a2 SHA512 07e32300424c9adf7e8bb830efdfcb23460b712c72c3eff11b9d00f1496c8082659bab52914cbac0bd26e45c352fcb859fc6b1cfbb2028a49cfc03e75ab0ea2a
DIST unicode-ident-1.0.17.crate 47704 BLAKE2B cafb0d9dbeabd44d45c73dfec9855d9cc8e41482ff75b7b1f4fc4423e2eeb2a5a04f7e3ce0f721fda6acf1e02f2bae77c6bb346b48bc26ab1972255b080c190d SHA512 1eaf422163126796f3181f8a3cee319ce0492e75c0c293def441872b39eba8282a95e058d0fd5dd39a8d6f3304d4ae13420a0eed901f71c157d5da99e08e1437
+DIST unicode-ident-1.0.18.crate 47743 BLAKE2B 517ab42a847020515b2b871844d0571ea672340f89a762631a791eac18935ac122122fa5566e58b99ab47de179eadb5298e8ff1d05b123c4e93b7fa989c8e31f SHA512 d11f89fb696f9e2953c96a40b5478832651b268c83b9c7a700b07e768e795d6e8dc346597d1226df21219d36866768d1f640bd8edb68db8bd3d5d437b2bfd324
DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
+DIST unindent-0.2.4.crate 7422 BLAKE2B 2e7870cd4f78240dbb1e5fb9c0f9b55c57bb40242fe668f105a0e862f1d6300e31efbffe0cdff676a5f96a8d19dfb148f88bfef1cd8a710556d777fd0f4ee37f SHA512 58bd4fd20a0b0a7200e0ea3ea70553cea135a5a8f7a2fb178520c41228f435becce4b9981019b7c73a17df87a2ee9b2a47c4cec29a3011bfe848d48b2473761b
DIST url-2.5.4.crate 81097 BLAKE2B 74943c63809ca41a526a146bedae66f91f390fbd2ccbd90f9397d8074ee7ec26535f0f67170eb1d7232e139d8d795fde99be37f53f1bc32c6a6a4d46aad1369f SHA512 8f1d62bfdd45f52fa12ad657a521a3478d0ab54d187346a29dd59cc66a0f140ca96d850948e09f6316f08b44b3fc68526c58bd620fed5d065b7e8528df3cd46d
DIST utf-8-0.7.6.crate 10422 BLAKE2B 296690040895ba9da9e69d527aea415f4bd6bd3c010e67a08f9cffd2f4cd92a99f9ddde77512f9ef5a0db069ac9ac3cd6fd91aa18f0bcadf870ed212fdd76f2b SHA512 6bf0787cc297a1ac4e47389464d05ef6850602f549621687e776618bec96c1f7bacbb1ac8faaa63e5d28d975b850db8d6c784eb66e2466128f0521b91c14015b
DIST utf16_iter-1.0.5.crate 9736 BLAKE2B edcd9776113d4d2b267a9cbd58cab11c5497ff1a8252c4e695de619fc8e5eee1595343c857651774b3670d13392144e9d7df579f2e226842aa7e4e023a76fb65 SHA512 44dcbc5a7db149392fdaa31862be240f78fc5d7616f54be32cfc8f3adbee310e8681ae1bbe6edaad8a7fe6e7759dbac8ae4f69d0dbdbe5350c21dccdbbe975fa
DIST utf8_iter-1.0.4.crate 10437 BLAKE2B 1e7a8b9241ebbb62cb497542b970473780f735010a0af900771a43abceae4e7f362d21d4f79f7c00630e4549400875ea17574b2cbe4f5ea19e8ed428e3b5577d SHA512 a72671995b3eb295581c60dc632e4a25ba257227fb5d58a8bec322428b6d69529bba79a6f02b8e7ee6698b7779d9d6695f5badad73e07c254b00c9d6256c9090
+DIST web_atoms-0.1.3.crate 27392 BLAKE2B b1fab629fc1ff153c2c8cbdf63c5ec9e428303649bbdd1466ebd09cdb2f7e85af56b91e00ff9a999a7bfa8e064b4a1acb625dc5e78d79f8b6348d5cdbb0770ed SHA512 05ea03a37d90222570e64f82183f6fdcde229b980f0e1c93a0a95a82295c8fae0607fca679259aa149dc005001ff06e137d100a8eea4fd9886360f1940c8ec19
DIST windows-targets-0.52.6.crate 6403 BLAKE2B eb98d0a8daeed5fe76e7fa8edb2743e2a3e77dfb9c4ea68605a6ab10532cb7cfc43bc1cea0180869445bd940be762a40136500e26b84ca88b5e0c502004c7a4c SHA512 d6d2dbd96096c6c396dba141a9817e377c35877f3b2fe58b2553280c7cfcb1ed6ee75bd4d62c9b882662de67ddaf0c1049b91530d29c94dd709c230e08eb895f
DIST windows_aarch64_gnullvm-0.52.6.crate 435718 BLAKE2B 8b12ae02892cb69401329034bbca671d13bd268a112120b56b90504707cef89decfbd2560492844a9f0588fab62dc1476ab7e931126b939015d25a8cc91ca334 SHA512 f62b2d942bdb3a9353465b07d47b93de179bb706511aa497e4addd74cff95e689a9b633e7801ce786e73b5ae5f30b506b6faa199c5ab86eefdc1d94652df79c5
DIST windows_aarch64_msvc-0.52.6.crate 832615 BLAKE2B adc8ff61b6dc96d39c92c7d4221ae6aa0575edfc016cfcd046067ca5d8fcfd56d10e8e227be1c038ce34684be22c7ccaf5f18cd5a7638d28fbff4ba15b48b90b SHA512 a3e21305ad0e6de38f5b5ed5d37ee5825b7521064163bcdf31d63341cd87983f54377865d2daf3bb480d2d0aa66d6f598fa09540ec1d71baea74569c86bd213b
@@ -83,9 +136,17 @@ DIST windows_x86_64_gnullvm-0.52.6.crate 435707 BLAKE2B ab77dccd06328cdb00175f41
DIST windows_x86_64_msvc-0.52.6.crate 832564 BLAKE2B 8e9a3044654c6de99a9153e7cacd575474e7a8a3d883c67b02132af5d3fc99d03cd5f7a4dd666a3947451d11218e6acc6eb5e2526f012481106cc13453839719 SHA512 21944cd8e3a481b514509e73ae3f62722fe7ed380d37ea0c25f8fbdeba79174dd52ff65d898838da5df4197894b74e00f45d47489418e978753b4e55c7e623e7
DIST write16-1.0.0.crate 7218 BLAKE2B 548796314339463e4b71f8af3d344e45dc89480e103180b6d56c90fcb816ad1a37ab2ba20766c4b9754f2cc686752eb1f3a5a12ec1ed4369a9cef749ad4f3e97 SHA512 655a207b8082bb88e462f992ecb4833cef9d590da06d6356b41d109df2862b49ee5705189c78a607b549e7343035119d158020d58fcad49608e51659357a83c1
DIST writeable-0.5.5.crate 22354 BLAKE2B e4ff9862c070b413568ce0c75d1eccafcf1db8578eee4795ea9046dadd643f8a77258b437be288b93af247199d63455298ac2cff909226bc432f91c0aa863921 SHA512 818b2546c8ec25816aeaf5e31a1ded927d197bf7256e7c5073738c2709bc58a95d382a0256eb38a99235ae83729b578701261866d42ea3357a26024906e196c1
+DIST writeable-0.6.1.crate 24068 BLAKE2B c513c806d6abf7459db1a203c7b4aed4766e6f75cd82a40a874fac50cb50d03970d0500251551192164da14bd7d2341961fff78b7e01c88bab83007008c3e1b2 SHA512 686ca04702815096ac529ae6b9b80a30338f42eb5d414331992518c467c1827462673fcbbeb293818bbe570bd2723e9c60324522071c1b790c862fa6652c1385
DIST yoke-0.7.5.crate 29673 BLAKE2B cd2e42103140e080a29bf579fe5176b36a192f9b1309c1f2fd7557fe93b2f6eadbf6fca4a6a3b1a7b6288403d2f643841dfc7a5b6a4476776943950abe5c1613 SHA512 6bbd99671d1a5a5217890eaa267113d193b3636b265393afb6e72a313f01704d462fe017264f061405e8e84c188b590094c29e3fcf19a63c375ae165d1a0bbef
+DIST yoke-0.8.0.crate 28726 BLAKE2B 1013ebf0478242d9172179b53a638fcf7a167e554b40464ba67a4c4db17f75963703b2c9aba29f9368af7530f475ed79a43672bf6f0840b0d77fb0d2539f8c3d SHA512 6b6efbfd2bcb7e06fd6f9ae7bd213a54fedc7550273e2613fee3b8791bbe1038a7e7209142cc673d71fd57b7184cbb1209115ecd15c647db1a74f2966d593276
DIST yoke-derive-0.7.5.crate 7525 BLAKE2B 9b6b97eaf3c50f0f5ce8cebf685a1a17d4c21eb9b26d38eac99e0a4c0f9d592e95a7843b7a0b897945a14c4eb78ffdf2c0972b448d31d7bc7b077f27aad81d9a SHA512 e30b06b020aa283080905004295fb643c539b130d0d53bda51927b95e79ba562336aad30d8a6202d9a0c62d5b64559a01218c6f02f3faada6003d4b03c205cd6
+DIST yoke-derive-0.8.0.crate 7521 BLAKE2B 088fc7f5954704c453dbd2abd2a9a5a779552067aec8e51793cb6fb8144f0bee7a7b04d777bbd05c1c62f49c9c75c7f3df09b5497d35eb64c079bc04867e42f2 SHA512 38672da30ebb9657e2b5f3d509940ea80ee6cfbdad61b14b84ee8a7d96c1dc597eff7f3c75e5c375bcdcf8ef5bebe21f9f520844f448ca215a3be19763f578c3
DIST zerofrom-0.1.5.crate 5091 BLAKE2B a2b938197957755c4a8ccfb258f60f90931a0a342d9d4bd098c7a25e1c9069148a51ddfffd2b72a6a9856d8c6e66fe1482ab2081a5f3478b4b318062caffff42 SHA512 11f16a1003967b3f30d7b32ffc8541ec05fb335690b08cf4f7554c624ad4312ee0961c83390a997e2a73aee06d8bb09a0ff4e6a5e489f8fb925141e732006544
+DIST zerofrom-0.1.6.crate 5669 BLAKE2B 1428e9cfdcdae13b39b7465524d1b8b79bdd89f743d3db4a3305c2b39d61ad7ced958dabd673a135147a04c8ace69d8c710dc06c6a07b1dd3987fc0a45148094 SHA512 e87c50b4f87caff70d026099bddcced73398c432f6aade32d74ad199cb3a985956bac282f48efdd501e64e80297afe4f8a4518db32437bf297fcf51a6f94bbd9
DIST zerofrom-derive-0.1.5.crate 8285 BLAKE2B d19bf1b74be89f4d27eda36ba6407d598358d3d69bed64f02903ab7dc509faa006cde9c13e19f5f3cde09cf9049120575263996c922b20da366a11e18baa42dc SHA512 75098e0f1c690bd8476f819f4ea2a7645b88237042a8876259bf4e025b070a4b105caf16ca7a824c5dd6c4690b693fcc74bed9ac0b5e6fdab05a5bed1b5cb298
+DIST zerofrom-derive-0.1.6.crate 8305 BLAKE2B 9ab7425b450bf8c47538be7ff32901045393bdd91b9687b8a32ac194b7272dbd4f5310629647c6710f97a50cea45c722c018a77006f24da2b44a4c475daa54cb SHA512 ef4226df3c9ca9c0146639b19d9aa611f2ea3148c10ea875f43ca1960ee8ed438a553b078a9b449a58862f44cb7d4434fa35bbd6db6f0a773618f63d2575c985
+DIST zerotrie-0.2.2.crate 74423 BLAKE2B ddbf7c1a1e45fd4b3c44bd7036e46070a2d9fbb338de719c2c775dfa96ed11d06e14232f05eec4b5c9ac500ed4e7abd8a483dcd06a6a60ba20e6b6b6fa7333ff SHA512 72b6e9633f100172b5e8ef25dce004ea1eb14e110b9189d91faf19f63f8a7714325c2847df559b7ade1f0b2c54369c63fb9745946c4976750a28853790328ee8
DIST zerovec-0.10.4.crate 126398 BLAKE2B b078784d6f178bbb9de1c3c1b6c7ef996f00bdd7dfd2924bda921e62f3e09e953fbf50f8d0da99ac6ff6d134f146253846f5663549dcf8df08eaf34b9d4016b3 SHA512 db12bba1d7476ddead92e6dfcdcc30e2e0defff4f263a740244eabee265a2cab265473a663d3dc3210f48e113b66d951da496dfab7965ce1bc792e5f2db422a0
+DIST zerovec-0.11.2.crate 124500 BLAKE2B a668f982e2e02cf8c1d14aa2c5def275c643124ca68bf0e358f3f0f5d0251e35f3a51fb4e38ac8e880f592a0791aeb53e2204b3b9bda200a76d4f3c3dd26852e SHA512 72297429aad473b6dcd5019cca30f85779aebc826cc47694589a9a9025772b46130a654970b03a9866d51724ec5efc474fa249490365430416dde6002e939255
DIST zerovec-derive-0.10.3.crate 19438 BLAKE2B 9f7df8a4e4a0b62ab25aed967b26509db4bcc5d5b10b3bd73305099a4c49a60be8921484ced1a34d9b7ae30ffa5abe789686f432416a8f1cfc07de1db1dff594 SHA512 caefbffeb35265db9f74933bf07109d57f0da48156cafd4f330af78a5c7eb9ab0831a80789ad4fb119875ebc6cfd7e3de68c9984b77dca5151f9be41f1ae6e09
+DIST zerovec-derive-0.11.1.crate 21294 BLAKE2B cb51fbd289868568f65ca7253059c1c2c94a8130a2a9879b2a0129faf5867e13ff675cfc9b359793629d955a1b39617c6fce9079398a54ae31670ec29eab6ef1 SHA512 5836035134bdf09a4a8cdd5a18f629696902704903c4b3579ddf1adfa49ab47a68287ecf2be165d631ba454daf150c043410359783bf1ce448e7ca46b8cb6039
diff --git a/dev-python/nh3/nh3-0.2.22.ebuild b/dev-python/nh3/nh3-0.2.22.ebuild
new file mode 100644
index 000000000000..110f3b9581ca
--- /dev/null
+++ b/dev-python/nh3/nh3-0.2.22.ebuild
@@ -0,0 +1,129 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+ ammonia@4.1.1
+ autocfg@1.5.0
+ bitflags@2.9.1
+ cc@1.2.29
+ cfg-if@1.0.1
+ cssparser-macros@0.6.1
+ cssparser@0.35.0
+ displaydoc@0.2.5
+ dtoa-short@0.3.5
+ dtoa@1.0.10
+ form_urlencoded@1.2.1
+ futf@0.1.5
+ heck@0.5.0
+ html5ever@0.35.0
+ icu_collections@2.0.0
+ icu_locale_core@2.0.0
+ icu_normalizer@2.0.0
+ icu_normalizer_data@2.0.0
+ icu_properties@2.0.1
+ icu_properties_data@2.0.1
+ icu_provider@2.0.0
+ idna@1.0.3
+ idna_adapter@1.2.1
+ indoc@2.0.6
+ itoa@1.0.15
+ libc@0.2.174
+ litemap@0.8.0
+ lock_api@0.4.13
+ log@0.4.27
+ mac@0.1.1
+ maplit@1.0.2
+ markup5ever@0.35.0
+ match_token@0.35.0
+ memoffset@0.9.1
+ new_debug_unreachable@1.0.6
+ once_cell@1.21.3
+ parking_lot@0.12.4
+ parking_lot_core@0.9.11
+ percent-encoding@2.3.1
+ phf@0.11.3
+ phf_codegen@0.11.3
+ phf_generator@0.11.3
+ phf_macros@0.11.3
+ phf_shared@0.11.3
+ portable-atomic@1.11.1
+ potential_utf@0.1.2
+ precomputed-hash@0.1.1
+ proc-macro2@1.0.95
+ pyo3-build-config@0.25.1
+ pyo3-ffi@0.25.1
+ pyo3-macros-backend@0.25.1
+ pyo3-macros@0.25.1
+ pyo3@0.25.1
+ python3-dll-a@0.2.14
+ quote@1.0.40
+ rand@0.8.5
+ rand_core@0.6.4
+ redox_syscall@0.5.13
+ scopeguard@1.2.0
+ serde@1.0.219
+ serde_derive@1.0.219
+ shlex@1.3.0
+ siphasher@1.0.1
+ smallvec@1.15.1
+ stable_deref_trait@1.2.0
+ string_cache@0.8.9
+ string_cache_codegen@0.5.4
+ syn@2.0.104
+ synstructure@0.13.2
+ target-lexicon@0.13.2
+ tendril@0.4.3
+ tinystr@0.8.1
+ unicode-ident@1.0.18
+ unindent@0.2.4
+ url@2.5.4
+ utf-8@0.7.6
+ utf8_iter@1.0.4
+ web_atoms@0.1.3
+ windows-targets@0.52.6
+ windows_aarch64_gnullvm@0.52.6
+ windows_aarch64_msvc@0.52.6
+ windows_i686_gnu@0.52.6
+ windows_i686_gnullvm@0.52.6
+ windows_i686_msvc@0.52.6
+ windows_x86_64_gnu@0.52.6
+ windows_x86_64_gnullvm@0.52.6
+ windows_x86_64_msvc@0.52.6
+ writeable@0.6.1
+ yoke-derive@0.8.0
+ yoke@0.8.0
+ zerofrom-derive@0.1.6
+ zerofrom@0.1.6
+ zerotrie@0.2.2
+ zerovec-derive@0.11.1
+ zerovec@0.11.2
+"
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Ammonia HTML sanitizer Python binding"
+HOMEPAGE="
+ https://github.com/messense/nh3/
+ https://pypi.org/project/nh3/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT MPL-2.0 Unicode-3.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+# Rust
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/nh3/nh3.*.so"
diff --git a/dev-python/numpy/numpy-2.3.1.ebuild b/dev-python/numpy/numpy-2.3.1.ebuild
index ad28ae7edc9d..c45783895c50 100644
--- a/dev-python/numpy/numpy-2.3.1.ebuild
+++ b/dev-python/numpy/numpy-2.3.1.ebuild
@@ -20,7 +20,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0/2"
-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"
# +lapack because the internal fallbacks are pretty slow. Building without blas
# is barely supported anyway, see bug #914358.
IUSE="big-endian +lapack"
diff --git a/dev-python/numpydoc/Manifest b/dev-python/numpydoc/Manifest
index 518ce3d3136f..b38581c8596c 100644
--- a/dev-python/numpydoc/Manifest
+++ b/dev-python/numpydoc/Manifest
@@ -1,2 +1 @@
-DIST numpydoc-1.8.0.gh.tar.gz 90624 BLAKE2B 112274fa185bd48909a3fbe0cd2a98465f94b30207060234a396278e1802058224164fb6f3c492a6b1e76b7e0f7966ecaf6c592c96675e6e45fae044414f62c7 SHA512 d7ea64f1140395815e0d95697d1b855ba0a5f63fc99e8cf1fb7d240cd799be1958c2efd034cbec64c8b3b1742076c8b7db5a0ddc54af3ef39fc341ea0e3ec586
DIST numpydoc-1.9.0.gh.tar.gz 91390 BLAKE2B a864a4ebddc7ddab11a4ab6ea949b96a6c2447f6e726867ed0f49aba09a29c51cb130d5b565feeaaa3fb3de8b4e24748fa604e77ff3def7ba0f17d601d8563ff SHA512 7ae73a5bbce11e674fe8ca16e8ddce7914498f97dc8ebe85c26ae0cf240299596c20a6915e3a547a394e0e3f9ae6e9ac0694a2de7baa34918df98f523a8bfdf0
diff --git a/dev-python/numpydoc/numpydoc-1.8.0.ebuild b/dev-python/numpydoc/numpydoc-1.8.0.ebuild
deleted file mode 100644
index 441a8761e9da..000000000000
--- a/dev-python/numpydoc/numpydoc-1.8.0.ebuild
+++ /dev/null
@@ -1,52 +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
-
-MY_P=${P/_}
-DESCRIPTION="Sphinx extension to support docstrings in Numpy format"
-HOMEPAGE="
- https://numpydoc.readthedocs.io/en/latest/
- https://github.com/numpy/numpydoc/
- https://pypi.org/project/numpydoc/
-"
-SRC_URI="
- https://github.com/numpy/numpydoc/archive/v${PV/_}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-RDEPEND="
- >=dev-python/sphinx-6[${PYTHON_USEDEP}]
- >=dev-python/tabulate-0.8.10[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-1.1.0[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- test? (
- >=dev-python/matplotlib-3.2.1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # these require Internet (intersphinx)
- numpydoc/tests/test_full.py::test_MyClass
- numpydoc/tests/test_full.py::test_my_function
- # TODO
- numpydoc/tests/test_validate.py::test_extract_ignore_validation_comments
- )
- epytest -o addopts= --pyargs numpydoc
-}
diff --git a/dev-python/numpydoc/numpydoc-1.9.0.ebuild b/dev-python/numpydoc/numpydoc-1.9.0.ebuild
index 943f40036227..b9fc78b62351 100644
--- a/dev-python/numpydoc/numpydoc-1.9.0.ebuild
+++ b/dev-python/numpydoc/numpydoc-1.9.0.ebuild
@@ -23,7 +23,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
RDEPEND="
>=dev-python/sphinx-6[${PYTHON_USEDEP}]
diff --git a/dev-python/opentelemetry-api/Manifest b/dev-python/opentelemetry-api/Manifest
index 7c1ccf7ce7b7..248cf2a826e8 100644
--- a/dev-python/opentelemetry-api/Manifest
+++ b/dev-python/opentelemetry-api/Manifest
@@ -1 +1,2 @@
DIST opentelemetry-python-1.34.1.gh.tar.gz 1225347 BLAKE2B 3694b7370494ed8fcc43559d130c6b6b27faef74b6ff90792525663e0c7a9434ddb9fa9c4693d197e8ed707554694089f8d5f3a72ba7b6188cc8f2c45583848c SHA512 7d2ed9828c7c156fb6444e560af8f9e9df25cba09262e7d9f23ba2f77aaaa90545d2083639c9d8400a269f7d266a94df8849ce32e3cfc5172c3389f13c30411c
+DIST opentelemetry-python-1.35.0.gh.tar.gz 1248960 BLAKE2B ecb5a671300f60657a77d9b86a9dd673c23ee916020f5fbd658d373b0e6b25a1b448cb5ea5ec7ebcf8ca662f87c728316f260d2809c74e193fab5a2f0762ef4a SHA512 5f530f651df307476af5e364f1a0ae20c0b9600e3ce6dd78e66fddaa012fd398a2ff9539c75d8970e162d969809655478604666e79f88a00918421e186cdfb37
diff --git a/dev-python/opentelemetry-api/opentelemetry-api-1.35.0.ebuild b/dev-python/opentelemetry-api/opentelemetry-api-1.35.0.ebuild
new file mode 100644
index 000000000000..d366292b8f82
--- /dev/null
+++ b/dev-python/opentelemetry-api/opentelemetry-api-1.35.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}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+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
+
+ epytest
+}
diff --git a/dev-python/opentelemetry-sdk/Manifest b/dev-python/opentelemetry-sdk/Manifest
index 7c1ccf7ce7b7..248cf2a826e8 100644
--- a/dev-python/opentelemetry-sdk/Manifest
+++ b/dev-python/opentelemetry-sdk/Manifest
@@ -1 +1,2 @@
DIST opentelemetry-python-1.34.1.gh.tar.gz 1225347 BLAKE2B 3694b7370494ed8fcc43559d130c6b6b27faef74b6ff90792525663e0c7a9434ddb9fa9c4693d197e8ed707554694089f8d5f3a72ba7b6188cc8f2c45583848c SHA512 7d2ed9828c7c156fb6444e560af8f9e9df25cba09262e7d9f23ba2f77aaaa90545d2083639c9d8400a269f7d266a94df8849ce32e3cfc5172c3389f13c30411c
+DIST opentelemetry-python-1.35.0.gh.tar.gz 1248960 BLAKE2B ecb5a671300f60657a77d9b86a9dd673c23ee916020f5fbd658d373b0e6b25a1b448cb5ea5ec7ebcf8ca662f87c728316f260d2809c74e193fab5a2f0762ef4a SHA512 5f530f651df307476af5e364f1a0ae20c0b9600e3ce6dd78e66fddaa012fd398a2ff9539c75d8970e162d969809655478604666e79f88a00918421e186cdfb37
diff --git a/dev-python/opentelemetry-sdk/opentelemetry-sdk-1.35.0.ebuild b/dev-python/opentelemetry-sdk/opentelemetry-sdk-1.35.0.ebuild
new file mode 100644
index 000000000000..492084d0c4a9
--- /dev/null
+++ b/dev-python/opentelemetry-sdk/opentelemetry-sdk-1.35.0.ebuild
@@ -0,0 +1,56 @@
+# 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}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+# 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
+
+ epytest tests
+}
diff --git a/dev-python/opentelemetry-semantic-conventions/Manifest b/dev-python/opentelemetry-semantic-conventions/Manifest
index 7c1ccf7ce7b7..248cf2a826e8 100644
--- a/dev-python/opentelemetry-semantic-conventions/Manifest
+++ b/dev-python/opentelemetry-semantic-conventions/Manifest
@@ -1 +1,2 @@
DIST opentelemetry-python-1.34.1.gh.tar.gz 1225347 BLAKE2B 3694b7370494ed8fcc43559d130c6b6b27faef74b6ff90792525663e0c7a9434ddb9fa9c4693d197e8ed707554694089f8d5f3a72ba7b6188cc8f2c45583848c SHA512 7d2ed9828c7c156fb6444e560af8f9e9df25cba09262e7d9f23ba2f77aaaa90545d2083639c9d8400a269f7d266a94df8849ce32e3cfc5172c3389f13c30411c
+DIST opentelemetry-python-1.35.0.gh.tar.gz 1248960 BLAKE2B ecb5a671300f60657a77d9b86a9dd673c23ee916020f5fbd658d373b0e6b25a1b448cb5ea5ec7ebcf8ca662f87c728316f260d2809c74e193fab5a2f0762ef4a SHA512 5f530f651df307476af5e364f1a0ae20c0b9600e3ce6dd78e66fddaa012fd398a2ff9539c75d8970e162d969809655478604666e79f88a00918421e186cdfb37
diff --git a/dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.35.0.ebuild b/dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.35.0.ebuild
new file mode 100644
index 000000000000..238e386e8153
--- /dev/null
+++ b/dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.35.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}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+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
+
+ epytest
+}
diff --git a/dev-python/orjson/Manifest b/dev-python/orjson/Manifest
index f5de64a29c2e..ccd2fe24e333 100644
--- a/dev-python/orjson/Manifest
+++ b/dev-python/orjson/Manifest
@@ -17,6 +17,7 @@ DIST once_cell-1.20.2.crate 33394 BLAKE2B 79dd394fcf1637adfef28b4159ec653c8b71d2
DIST orjson-3.10.15.tar.gz 5282482 BLAKE2B 12ec9b9f5928ac3e9c62362bf7237edc3b68a1559912f7d75f54dcb8d415192c68e5f10d700cf647e9a8e1d7b32b8433fefdd4913c51080ed308b9a96aa5182e SHA512 e20fc9313e494719a1c2ebaeb0fedc45b5c58005dfb868f915b545995b8ca4e705f6bdc691f5df0d8705f393eee439576f82de89c35c0f3c1932a51eca3ef9b3
DIST orjson-3.10.16.tar.gz 5410415 BLAKE2B afa8ddde52e9b15695ca5646dca66a2034fbfe2e4898b8d2aa60f3f67e5cd8ca8803147179c16a37a4748a3d5c003cb0f81f80fbaaa28aeae691a895c9451ade SHA512 ea71aa463206feae1a96bb604366af2f17ddb083a1a4b7cc87c1b8ad1f01b54bd5c4ef148e9472fed8d8308de37b2a4e4fe0b4a4290d19eaf4fc3ae5777791f9
DIST orjson-3.10.18.tar.gz 5422810 BLAKE2B 9f451a01fc7d668c0dabc1176079de82b6e49573710bc1050496bc8148c0bea4305178aef2a415952ae533df18ab048a84def3ef54064a141aa8f5eb0c8733cb SHA512 248a42f671e713bf9d11163fe7744f5d9b626f5db681913071957723f48d77cc35aa883eb695a16df76986ecc8d9e9e493cee4431c47103beabc3517ffcaa65f
+DIST orjson-3.11.0.tar.gz 5318246 BLAKE2B 632c9b03d474c81b48b9bc7912a17efb07b70c945858bed1851deb8bf2258c12a739c84c21ba752e9d4a5761e9352c606b6aee121673516f3b4247f27fe2df3d SHA512 be823592bc5fb28b1d5e90c412c9ec32b5953db27e5dcc088e43e2369dad28586603d0a3e450f72b5761a819bcd68a1305dac60219e5719b24e0a410c6e22af2
DIST portable-atomic-1.10.0.crate 174760 BLAKE2B 9a05d6162c95f5140709cbd005c1997449fb6373700e8ed3966e3379898e95f3cbdb90b387f1c7deb3f1eb33125378852a7168d0d22b433813f6c082112b0365 SHA512 fb47ab53fe240d5b0824dd068c6dda473d3e71ae6f5dfccaa17262a8b6de0e1dde05d83975e53bbfcf43f10ef5c634fc024f94613937927ae93f1adad1dadb19
DIST portable-atomic-util-0.2.4.crate 47043 BLAKE2B 6a8e122bb2b9eb8262e9eb790f336dbb602f6c086f8ac025740c043170360d5474af578b3842b06ec51535535de3f4d1b6753ec54a6871dd0396f5c1012b0bd4 SHA512 f2266e78576181123aaf68e7b5d3523a368fa8136d447bac68a08d65c7051dea677cea84491a1a03b9decb4704b2f9392574d68dda9427092a2ac92cfa0affe8
DIST proc-macro2-1.0.92.crate 52353 BLAKE2B 9aa29fa6f1c56c0392a94a81b4c61953f4d185012cdca37e356817845535da79d7094bf43472ce63109ce479a2fd0cbef4d802afd61daf92c4db303bcac60e7e SHA512 e614f08acc0a7e97ef580479cf5b682378df1ca16f09bfb2296ebb3490a435229dea9d682c621c54ce57e8e1d3b7803eb8ff83c88bd02e07228dba6d02f14aee
diff --git a/dev-python/orjson/orjson-3.10.18.ebuild b/dev-python/orjson/orjson-3.10.18.ebuild
index 56e969844c67..4615fbb7bd22 100644
--- a/dev-python/orjson/orjson-3.10.18.ebuild
+++ b/dev-python/orjson/orjson-3.10.18.ebuild
@@ -27,7 +27,7 @@ LICENSE+="
Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 MIT Unicode-3.0
"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
BDEPEND="
>=dev-util/maturin-1.7.8[${PYTHON_USEDEP}]
diff --git a/dev-python/orjson/orjson-3.11.0.ebuild b/dev-python/orjson/orjson-3.11.0.ebuild
new file mode 100644
index 000000000000..de6e9f4fd756
--- /dev/null
+++ b/dev-python/orjson/orjson-3.11.0.ebuild
@@ -0,0 +1,80 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( python3_{11..14} )
+
+# upstream is vendoring crates
+CRATES="
+ associative-cache@2.0.0
+ bytecount@0.6.9
+ cc@1.2.29
+ cfg-if@1.0.1
+ crunchy@0.2.4
+ encoding_rs@0.8.35
+ gimli@0.31.1
+ half@2.6.0
+ itoa@1.0.15
+ itoap@1.0.1
+ jiff-static@0.2.15
+ jiff@0.2.15
+ libc@0.2.174
+ memchr@2.7.5
+ once_cell@1.21.3
+ portable-atomic-util@0.2.4
+ portable-atomic@1.11.1
+ proc-macro2@1.0.95
+ pyo3-build-config@0.25.1
+ pyo3-ffi@0.25.1
+ quote@1.0.40
+ ryu@1.0.20
+ serde@1.0.219
+ serde_derive@1.0.219
+ serde_json@1.0.140
+ shlex@1.3.0
+ simdutf8@0.1.5
+ smallvec@1.15.1
+ syn@2.0.104
+ target-lexicon@0.13.2
+ unicode-ident@1.0.18
+ unwinding@0.2.5
+ uuid@1.17.0
+ version_check@0.9.5
+ xxhash-rust@0.8.15
+"
+
+RUST_MIN_VER="1.74.1"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy"
+HOMEPAGE="
+ https://github.com/ijl/orjson/
+ https://pypi.org/project/orjson/
+"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 MIT Unicode-3.0
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+BDEPEND="
+ >=dev-util/maturin-1.7.8[${PYTHON_USEDEP}]
+ test? (
+ dev-python/arrow[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+QA_FLAGS_IGNORED=".*"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/pbs-installer/Manifest b/dev-python/pbs-installer/Manifest
index bade4d860d71..e3fe1f062e38 100644
--- a/dev-python/pbs-installer/Manifest
+++ b/dev-python/pbs-installer/Manifest
@@ -1,2 +1,2 @@
-DIST pbs-installer-2025.07.02.gh.tar.gz 90802 BLAKE2B c92e28fbf2b28c6cb11803a898a3b18225cc8d2a5ff7ddf21b0e51fe1301ad46a0694e1cf4cccb0fc7234637aaacb6e1c19f0915f977565d2a46c7b08b695f16 SHA512 d03ec1f0ec446ce1d7d27566141ac4575cce803f2372be9eb6da61963e4f7f2a07ee88a544ca6362d0f6599f510841d7a36d3faa75fbb0a61c7486bfe3a71b61
DIST pbs-installer-2025.07.08.gh.tar.gz 91062 BLAKE2B 57ad3032247b8e625662e905703dad092fd3f3395ddf0de02cf630a6edd0b2fa74c190766c87105047e92b71162c404088ea20c0d452e340a5d1a5b264a7114e SHA512 8899d96793c6c1ab3c540ca60c57c59298baca6793aa2af7243f5866e0936f7e0d269f049f541ea3d97eca307809c7e6122af0409bf4e09ba800da2ace81cc07
+DIST pbs-installer-2025.07.12.gh.tar.gz 91100 BLAKE2B 1ed8dbec8b8ea6d799b03e1ed7ca282bfdeb6fdf8fc865b2d1b10e9f49aa8fd40f56b9ca3ce66f2c03f82114ea06dd11688595604c97b694060ed3c765e050bf SHA512 15632e567e7989b451ebde8d9d32803510cf5e8c26fb2844d794cf85fe34342145b5846fcdceeb3489f2163cf31852b9d7c0239c58d068cd310452818217457f
diff --git a/dev-python/pbs-installer/pbs-installer-2025.07.02.ebuild b/dev-python/pbs-installer/pbs-installer-2025.07.12.ebuild
index 272948979211..272948979211 100644
--- a/dev-python/pbs-installer/pbs-installer-2025.07.02.ebuild
+++ b/dev-python/pbs-installer/pbs-installer-2025.07.12.ebuild
diff --git a/dev-python/phonenumbers/Manifest b/dev-python/phonenumbers/Manifest
index 3ea76ed1db38..fa51320fb221 100644
--- a/dev-python/phonenumbers/Manifest
+++ b/dev-python/phonenumbers/Manifest
@@ -1,3 +1,2 @@
-DIST python-phonenumbers-9.0.7.gh.tar.gz 4916884 BLAKE2B 7290928928a94ade292171296f5257a7aa77031c03572bddf10d125353e06d76c64376edcdbf2387f5dd39bdec3a9a3873291c2136dcfa53a0d787b366012213 SHA512 752c46fc81353796e3a99774fa06e93ccd9b230a6025c00984567f92680d9f8fbc6a3ec1364f6bb0cd7a911a5c5d514c566279d5d43ff0b9f443cbad307a838b
DIST python-phonenumbers-9.0.8.gh.tar.gz 4917342 BLAKE2B 3d721240f59446f3af764e2022d08f0aad46177f7f28072e627485a20930843ed803c54df69c3584197df1f27460d462eaa6cd2feb3c5717a6266f6ced874663 SHA512 8a66403d48de017f5f9f084369d42f4e67a81cc81e3382a68fc97fdbb0fbafbf0ecfaf5baeb26cea9ccf38c0d12dbc6d43d88feacf9cedcb61b688e8cf108f35
DIST python-phonenumbers-9.0.9.gh.tar.gz 4917696 BLAKE2B dd60bcd5030db677c61b27bfb2c2939f6d5f0e5969bf4ce1be2be3cddb4ca84b0eccdbc6fba47b273b6994ff279f5649081d30b083022b58dae7e2006a380a67 SHA512 d2f249d0f3ff59b2e03b193c169b3b097f710fd8b4c39a3b8f73c57bef45618c2383619f3a7cdbc3c59f95937e6a123ed266c518c884f231ce81a1820bf17672
diff --git a/dev-python/phonenumbers/phonenumbers-9.0.7.ebuild b/dev-python/phonenumbers/phonenumbers-9.0.7.ebuild
deleted file mode 100644
index 194e0165d2af..000000000000
--- a/dev-python/phonenumbers/phonenumbers-9.0.7.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{11..14} )
-
-inherit distutils-r1
-
-MY_P=python-${P}
-DESCRIPTION="Python port of Google's libphonenumber"
-HOMEPAGE="
- https://github.com/daviddrysdale/python-phonenumbers/
- https://pypi.org/project/phonenumbers/
-"
-SRC_URI="
- https://github.com/daviddrysdale/python-phonenumbers/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}/python
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- test? (
- dev-python/protobuf[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( ../README.md )
-
-python_test() {
- "${EPYTHON}" testwrapper.py -v || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/phonenumbers/phonenumbers-9.0.8.ebuild b/dev-python/phonenumbers/phonenumbers-9.0.8.ebuild
index a4046879a533..194e0165d2af 100644
--- a/dev-python/phonenumbers/phonenumbers-9.0.8.ebuild
+++ b/dev-python/phonenumbers/phonenumbers-9.0.8.ebuild
@@ -22,7 +22,7 @@ S=${WORKDIR}/${MY_P}/python
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/pikepdf/Manifest b/dev-python/pikepdf/Manifest
index b99d646847dc..5a3a61b0747d 100644
--- a/dev-python/pikepdf/Manifest
+++ b/dev-python/pikepdf/Manifest
@@ -1,3 +1,4 @@
+DIST pikepdf-9.10.0.tar.gz 4545642 BLAKE2B 2ffd0c0ddcbc7dc2f30bc0cec2f7263cce6662c9260af5793bb0ffe9edc81018d5d095768014986649df9bad546e755fea34d1a5dee6200cf194c5bcba99881c SHA512 29bf6edb67282bd2d25a36aab9488db3edd88dcb7d7e6da41fdfb3d5b1a4947c8b38a68145020baded0ce988c532bcb9d881898a6b8bf4eef2ef31c93f3b932f
DIST pikepdf-9.5.2.tar.gz 2916549 BLAKE2B 821fe21cb2ef471ab7313e2dab371f0a5290659225647ca4059995af9112e4f5425e0a9e11f9691dc2da9786beeffb2abc33ec374bb97b3fe1f25bd6feba042a SHA512 ac7c33c7cd23e34eb1bd518aae7167285cca6cc710e37f05cac03512666777848a2ad3d17a72654832564a8521e69ea0d124c70c61aca0bed7123475bf03a359
DIST pikepdf-9.7.0.tar.gz 2921981 BLAKE2B 1f43bed82e73cbe5268199fc511e47f7e2c32419cbf012eecaf3d984dfe950d8a1ae085530d0cf90eee4de78cf1271c81db904787d52085d7585ef402d4ed792 SHA512 da95f966eefbed76ca163fc6ba732b82cf68abd6bb92bfcb972ca56cde60cec8e9a726fe86a11f60797694c7ac20ad69c46e5c68c99c3eef4bf9c3f0cefbacf5
DIST pikepdf-9.8.1.tar.gz 4544526 BLAKE2B 2e842d234a19cd62045fbeac3e3af99df1869777a1f4f22debac0ba823e70b98bbd4536e3d35692581286579278b06f579060e033994a1157b2719a72862c10d SHA512 ea4cde49b8ab96f745c705e3e706fcef405dd66fda35bc00f061836caddfd4049f8ce0b84570e303036d4e94b86e1cba59b73e96123d99c1b039c41a242ae76e
diff --git a/dev-python/pikepdf/pikepdf-9.10.0.ebuild b/dev-python/pikepdf/pikepdf-9.10.0.ebuild
new file mode 100644
index 000000000000..85c9c2457b6b
--- /dev/null
+++ b/dev-python/pikepdf/pikepdf-9.10.0.ebuild
@@ -0,0 +1,65 @@
+# 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="Python library to work with pdf files based on qpdf"
+HOMEPAGE="
+ https://github.com/pikepdf/pikepdf/
+ https://pypi.org/project/pikepdf/
+"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="big-endian"
+
+# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
+# https://qpdf.readthedocs.io/en/stable/release-notes.html.
+DEPEND="
+ >=app-text/qpdf-11.5.0:0=
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/deprecated[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/pillow-10.0.1[lcms,${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pybind11-3[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-77.0.3[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
+ >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
+ >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
+ !big-endian? (
+ >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}]
+ )
+ media-libs/tiff[zlib]
+ )
+"
+
+EPYTEST_PLUGINS=( hypothesis pytest-timeout )
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ sed -e '/-n auto/d' -i pyproject.toml || die
+}
+
+python_test() {
+ # work around https://github.com/pikepdf/pikepdf/issues/660
+ local -x TMPDIR=/tmp
+ epytest
+}
diff --git a/dev-python/pikepdf/pikepdf-9.9.0.ebuild b/dev-python/pikepdf/pikepdf-9.9.0.ebuild
index a20a191b8ba7..65030f24b0be 100644
--- a/dev-python/pikepdf/pikepdf-9.9.0.ebuild
+++ b/dev-python/pikepdf/pikepdf-9.9.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MPL-2.0"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~ppc ~ppc64 ~riscv ~s390 sparc x86"
IUSE="big-endian"
# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
@@ -38,11 +38,9 @@ BDEPEND="
>=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
test? (
>=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.36[${PYTHON_USEDEP}]
>=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
>=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
>=dev-python/psutil-5.9[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
>=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
!big-endian? (
>=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}]
@@ -51,6 +49,7 @@ BDEPEND="
)
"
+EPYTEST_PLUGINS=( hypothesis pytest-timeout )
distutils_enable_tests pytest
src_prepare() {
@@ -60,13 +59,7 @@ src_prepare() {
}
python_test() {
- local EPYTEST_DESELECT=(
- # fragile to system load
- tests/test_image_access.py::test_random_image
- tests/test_image_access.py::test_image_save_compare
- tests/test_image_access.py::test_palette_nonrgb
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p timeout
+ # work around https://github.com/pikepdf/pikepdf/issues/660
+ local -x TMPDIR=/tmp
+ epytest
}
diff --git a/dev-python/pillow/Manifest b/dev-python/pillow/Manifest
index e97fcd4b063a..09ccbd135851 100644
--- a/dev-python/pillow/Manifest
+++ b/dev-python/pillow/Manifest
@@ -1,7 +1,4 @@
-DIST pillow-11.1.0.gh.tar.gz 46815201 BLAKE2B 7990683c90359e0a72e17a13e1a29455bc3ace8ce3616d6af59360edfc1ac87541bd1fd6967160bd8d7dd25cfedfc9d2e9b058c3ed433a6208379834f15bc312 SHA512 bb0622fae0b9c3903ddd945dced8e2b94348b2bd06c14bc74da00d8aa3a795aab2daaff39ca6c40b712dcce4f10218cd30739f0eb616c9dfbc16efcf80886f1e
-DIST pillow-11.2.0.gh.tar.gz 47097571 BLAKE2B d59e87e7249e7a2b64dd420702d08f6da1d29d91fd32d7043eacac7c5cf33e4cef6d378545454bcb460ea1ae49052e2e684335966e00f6003e018e9241ad50eb SHA512 4ab01472accb056ef48feab6c945a3792b622053c1dc166daf0095597a2df846562ae5ee56e66e595d65e76e7b7bfaf3d5b0cf7847777603a1abdc7af135ec44
DIST pillow-11.2.1.gh.tar.gz 47086538 BLAKE2B 306c3f4292681caea75835dc972229854e12260190f7e7b63ad5292091fcbb28a16fe102c9b2359fe72b99ad97821fa37715f5934bfe79a983efa81b07abf2a4 SHA512 4b5eee712b6cedf175e251ca29bb6e6dda27491585d343ef71ed416819e91510c4add6be50fe1151ab5f178f4686968de111beff4143a978b7a32519293a5725
DIST pillow-11.3.0.gh.tar.gz 47173056 BLAKE2B 1260c7025e6013c50782024756a0c891d3735bd7d4c1c9d0a89d9eb1c94bd2f762369086f7269d487100e8a0e2678a73012bf29172697c1a1a18e58f9019a9bd SHA512 7d97e623bd41da94dd89a66dc600cea016d0a4f33fbf036175768ea96b2031c1968acf4fc3d9b2835ce93f9533838a9ce68a6579a7397f4aeccafb6032adb3db
DIST pillow-test-images-7077675d2cda485d63de4aefe0fefbf6f655c5a0.gh.tar.gz 57430276 BLAKE2B 6e8dcde60832004f5a0ea0e14024fdcd0b08cf0e225f27e39b7c2058582d6d5efe7fcaccb5bd28754affa6fe4125735fb4beeaa2075e6aceea0a998ebc0747fe SHA512 795f015c9b73a8c941fb5cd880b1ab36b24d38612db53367ab0e6c05dd1cdbfd47034decb7e36d7de940eeea1582d644ca7bee3b131577578692569c2c60c32b
DIST pillow-test-images-716bdc4adaf97601e5b9a31c9be25f8975381ee1.gh.tar.gz 57416881 BLAKE2B 8ea5fff2231567f957fc911120c1b50610722477da99559639317e4513e4bc4e73b8b49368a6d95c6938333f0c48db7672c3713eaef70494f7896dadd07cc42d SHA512 b00009be0f5ca85ec0c761fa780f0e650c1877b456b9a9426a4d2300a0c5654358495299e129ded411fccb641e4add7e460bcb3ca7be055f3b207407ccefb33c
-DIST pythoncapi_compat.h 61109 BLAKE2B 9b8d9f774a6803dee73aedc5465519f2956c284bf70314f5e046d0d5522a10891bf55358a85fea5a156d4063736424c0f019bc71dd18592bbf56c364db7b6bce SHA512 d0ca43186fdc3cd8d0e993135b50fc86eeea05e8b84cba529d89f60ce28bc9502f8d3825eb508be5d68d1fbfc53423a69756c0e79fe0fe7adf94c602b1cf79ff
diff --git a/dev-python/pillow/pillow-11.1.0.ebuild b/dev-python/pillow/pillow-11.1.0.ebuild
deleted file mode 100644
index 537f4567ccc7..000000000000
--- a/dev-python/pillow/pillow-11.1.0.ebuild
+++ /dev/null
@@ -1,172 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-# setuptools wrapper
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 toolchain-funcs virtualx
-
-MY_PN=Pillow
-MY_P=${MY_PN}-${PV}
-
-# upstream always fetches from main
-TEST_IMAGE_COMMIT="716bdc4adaf97601e5b9a31c9be25f8975381ee1"
-
-DESCRIPTION="Python Imaging Library (fork)"
-HOMEPAGE="
- https://python-pillow.org/
- https://github.com/python-pillow/Pillow/
- https://pypi.org/project/pillow/
-"
-SRC_URI="
- https://github.com/python-pillow/Pillow/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
- https://github.com/python/pythoncapi-compat/raw/c84545f0e1e21757d4901f75c47333d25a3fcff0/pythoncapi_compat.h
- test? (
- https://github.com/python-pillow/test-images/archive/${TEST_IMAGE_COMMIT}.tar.gz
- -> pillow-test-images-${TEST_IMAGE_COMMIT}.gh.tar.gz
- )
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="HPND"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
-IUSE="examples imagequant +jpeg jpeg2k lcms test tiff tk truetype webp xcb zlib"
-REQUIRED_USE="test? ( jpeg jpeg2k lcms tiff truetype )"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- imagequant? ( media-gfx/libimagequant:= )
- jpeg? ( media-libs/libjpeg-turbo:= )
- jpeg2k? ( media-libs/openjpeg:2= )
- lcms? ( media-libs/lcms:2= )
- tiff? ( media-libs/tiff:=[jpeg,zlib] )
- truetype? ( media-libs/freetype:2= )
- webp? ( media-libs/libwebp:= )
- xcb? ( x11-libs/libxcb )
- zlib? ( sys-libs/zlib:= )
-"
-RDEPEND="
- ${DEPEND}
- dev-python/olefile[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/wheel[${PYTHON_USEDEP}]
- virtual/pkgconfig
- test? (
- dev-python/defusedxml[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- || (
- media-gfx/imagemagick[png]
- media-gfx/graphicsmagick[png]
- )
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- local PATCHES=(
- # https://github.com/python-pillow/pillow/pull/7634
- "${FILESDIR}/${PN}-10.2.0-cross.patch"
- )
-
- distutils-r1_src_prepare
-
- if use test; then
- mv "${WORKDIR}/test-images-${TEST_IMAGE_COMMIT}"/* \
- Tests/images || die
- fi
-
- # https://github.com/python-pillow/Pillow/pull/8757
- if ! grep -q 0041177c4f348c8952b4c8980b2c90856e61c7c7 \
- src/thirdparty/pythoncapi_compat.h
- then
- die "Remove pythoncapi_compat.h update"
- fi
- cp "${DISTDIR}/pythoncapi_compat.h" src/thirdparty/ || die
-}
-
-usepil() {
- usex "${1}" enable disable
-}
-
-python_configure_all() {
- cat >> setup.cfg <<-EOF || die
- [build_ext]
- debug = True
- disable_platform_guessing = True
- $(usepil truetype)_freetype = True
- $(usepil jpeg)_jpeg = True
- $(usepil jpeg2k)_jpeg2000 = True
- $(usepil lcms)_lcms = True
- $(usepil tiff)_tiff = True
- $(usepil imagequant)_imagequant = True
- $(usepil webp)_webp = True
- $(usepil xcb)_xcb = True
- $(usepil zlib)_zlib = True
- EOF
- if use truetype; then
- # these dependencies are implicitly disabled by USE=-truetype
- # and we can't pass both disable_* and vendor_*
- # https://bugs.gentoo.org/935124
- cat >> setup.cfg <<-EOF || die
- vendor_raqm = False
- vendor_fribidi = False
- EOF
- fi
-
- tc-export PKG_CONFIG
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO (is clipboard unreliable in Xvfb?)
- Tests/test_imagegrab.py::TestImageGrab::test_grabclipboard
- # requires xz-utils[extra-filters]?
- Tests/test_file_libtiff.py::TestFileLibTiff::test_lzma
- )
-
- case ${ARCH} in
- ppc)
- EPYTEST_DESELECT+=(
- # https://github.com/python-pillow/Pillow/issues/7008
- # (we've reverted the upstream patch because it was worse
- # than the original issue)
- Tests/test_file_libtiff.py::TestFileLibTiff::test_exif_ifd
- )
- ;;
- esac
-
- "${EPYTHON}" selftest.py --installed || die "selftest failed with ${EPYTHON}"
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # leak tests are fragile and broken under xdist
- epytest -k "not leak" -p timeout || die "Tests failed with ${EPYTHON}"
-}
-
-python_install() {
- python_doheader src/libImaging/*.h
- distutils-r1_python_install
-}
-
-python_install_all() {
- if use examples ; then
- docinto example
- dodoc docs/example/*
- docompress -x /usr/share/doc/${PF}/example
- fi
- distutils-r1_python_install_all
-}
diff --git a/dev-python/pillow/pillow-11.2.0.ebuild b/dev-python/pillow/pillow-11.2.0.ebuild
deleted file mode 100644
index 765eaafd427a..000000000000
--- a/dev-python/pillow/pillow-11.2.0.ebuild
+++ /dev/null
@@ -1,166 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-# setuptools wrapper
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 toolchain-funcs virtualx
-
-MY_PN=Pillow
-MY_P=${MY_PN}-${PV}
-
-# upstream always fetches from main
-TEST_IMAGE_COMMIT="716bdc4adaf97601e5b9a31c9be25f8975381ee1"
-
-DESCRIPTION="Python Imaging Library (fork)"
-HOMEPAGE="
- https://python-pillow.org/
- https://github.com/python-pillow/Pillow/
- https://pypi.org/project/pillow/
-"
-SRC_URI="
- https://github.com/python-pillow/Pillow/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
- test? (
- https://github.com/python-pillow/test-images/archive/${TEST_IMAGE_COMMIT}.tar.gz
- -> pillow-test-images-${TEST_IMAGE_COMMIT}.gh.tar.gz
- )
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="HPND"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
-IUSE="examples imagequant +jpeg jpeg2k lcms test tiff tk truetype webp xcb zlib"
-REQUIRED_USE="test? ( jpeg jpeg2k lcms tiff truetype )"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- imagequant? ( media-gfx/libimagequant:= )
- jpeg? ( media-libs/libjpeg-turbo:= )
- jpeg2k? ( media-libs/openjpeg:2= )
- lcms? ( media-libs/lcms:2= )
- tiff? ( media-libs/tiff:=[jpeg,zlib] )
- truetype? (
- media-libs/freetype:2=
- media-libs/harfbuzz:=
- )
- webp? ( media-libs/libwebp:= )
- xcb? ( x11-libs/libxcb )
- zlib? ( sys-libs/zlib:= )
-"
-RDEPEND="
- ${DEPEND}
- dev-python/olefile[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/wheel[${PYTHON_USEDEP}]
- virtual/pkgconfig
- test? (
- dev-python/defusedxml[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- || (
- media-gfx/imagemagick[png]
- media-gfx/graphicsmagick[png]
- )
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- local PATCHES=(
- # https://github.com/python-pillow/pillow/pull/7634
- "${FILESDIR}/${PN}-10.2.0-cross.patch"
- )
-
- distutils-r1_src_prepare
-
- if use test; then
- mv "${WORKDIR}/test-images-${TEST_IMAGE_COMMIT}"/* \
- Tests/images || die
- fi
-}
-
-usepil() {
- usex "${1}" enable disable
-}
-
-python_configure_all() {
- cat >> setup.cfg <<-EOF || die
- [build_ext]
- debug = True
- disable_platform_guessing = True
- $(usepil truetype)_freetype = True
- $(usepil jpeg)_jpeg = True
- $(usepil jpeg2k)_jpeg2000 = True
- $(usepil lcms)_lcms = True
- $(usepil tiff)_tiff = True
- $(usepil imagequant)_imagequant = True
- $(usepil webp)_webp = True
- $(usepil xcb)_xcb = True
- $(usepil zlib)_zlib = True
- EOF
- if use truetype; then
- # these dependencies are implicitly disabled by USE=-truetype
- # and we can't pass both disable_* and vendor_*
- # https://bugs.gentoo.org/935124
- cat >> setup.cfg <<-EOF || die
- vendor_raqm = False
- vendor_fribidi = False
- EOF
- fi
-
- tc-export PKG_CONFIG
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO (is clipboard unreliable in Xvfb?)
- Tests/test_imagegrab.py::TestImageGrab::test_grabclipboard
- # requires xz-utils[extra-filters]?
- Tests/test_file_libtiff.py::TestFileLibTiff::test_lzma
- )
-
- case ${ARCH} in
- ppc)
- EPYTEST_DESELECT+=(
- # https://github.com/python-pillow/Pillow/issues/7008
- # (we've reverted the upstream patch because it was worse
- # than the original issue)
- Tests/test_file_libtiff.py::TestFileLibTiff::test_exif_ifd
- )
- ;;
- esac
-
- "${EPYTHON}" selftest.py --installed || die "selftest failed with ${EPYTHON}"
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # leak tests are fragile and broken under xdist
- epytest -k "not leak" -p timeout || die "Tests failed with ${EPYTHON}"
-}
-
-python_install() {
- python_doheader src/libImaging/*.h
- distutils-r1_python_install
-}
-
-python_install_all() {
- if use examples ; then
- docinto example
- dodoc docs/example/*
- docompress -x /usr/share/doc/${PF}/example
- fi
- distutils-r1_python_install_all
-}
diff --git a/dev-python/pillow/pillow-11.2.1.ebuild b/dev-python/pillow/pillow-11.2.1.ebuild
index e7a87802abd5..318ca8986bfd 100644
--- a/dev-python/pillow/pillow-11.2.1.ebuild
+++ b/dev-python/pillow/pillow-11.2.1.ebuild
@@ -35,7 +35,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="HPND"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
IUSE="avif examples imagequant +jpeg jpeg2k lcms test tiff tk truetype webp xcb zlib"
REQUIRED_USE="test? ( jpeg jpeg2k lcms tiff truetype )"
RESTRICT="!test? ( test )"
diff --git a/dev-python/pip/Manifest b/dev-python/pip/Manifest
index 91bf1f520dbd..08cbb3a739a5 100644
--- a/dev-python/pip/Manifest
+++ b/dev-python/pip/Manifest
@@ -1,4 +1 @@
-DIST pip-24.1.gh.tar.gz 9188658 BLAKE2B 4a43ff0199d811dd30461e376f655a447f3f706a48dd97fe1d0ccf630f558e72209ccd06d98949a1541cd6b2942a816db23ce8aaa7fbbf9aef429502fb91ab92 SHA512 c60ab329fe91202ff64b5f0f90209085fbf8db0f0a05f0703f952ad69e39e2e3edb5dadc006a3f317cdd4ba4fb5abe56dfbd22792249a2d139702eec272186d1
-DIST pip-25.0.1.gh.tar.gz 9224526 BLAKE2B db729b8c75d8e15c6fed1dbc9e08adc4e82114f2bbd953859ec03c7948e521629afd8cea6adb08110b987d6adf48fd600a59a3bcc27774db61ea92675ad90d42 SHA512 a6850c8567082bbf98483a45e523c4de12132136d2b0aa388ac619c02ffd0c8f6aea7d727f7d84167dadec5f1e56dd478b2233b0caa5d9b3e5cadc9e1f3dc12c
DIST pip-25.1.1.gh.tar.gz 9219969 BLAKE2B eb443451deeb71888c2fc56ac5c8cb2d0515ec0efff975fab98cfa65d1fc5e66948243b3acebf1f4b0446e46082abb9fd350816579a4f5af1292c160490ce930 SHA512 ce61c9861265139b3c5ea9be9dc246097cd75c21687cf8301f80a377d02420c4524f0d6307d2ca0232ff8715b1105343bcfdb9cac6b69503780ab2c4645558dc
-DIST pip-25.1.gh.tar.gz 9220205 BLAKE2B 3e719b180dd4f039a1bf15cdd2686fdc270e842e4b9ab416306bf9ea40c037541df05af78239fe067dfa3edc27b7370ea04c1d9cec43cc6cfd2f9e8f347f41ee SHA512 d6b93aeabe6a4e046caf85c028fca380936ab65cb3c5028a7fa7dbc61cef2cf7d0c46c499fe548dc0af8f7bc30f7ecace8f257b20a60c0cc905b531f193b5a9d
diff --git a/dev-python/pip/files/pip-24.1-test-offline.patch b/dev-python/pip/files/pip-24.1-test-offline.patch
deleted file mode 100644
index ebbf5a94a1ba..000000000000
--- a/dev-python/pip/files/pip-24.1-test-offline.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-diff --git a/tests/conftest.py b/tests/conftest.py
-index 35101cef2..5934e9f95 100644
---- a/tests/conftest.py
-+++ b/tests/conftest.py
-@@ -395,6 +395,7 @@ def pip_editable_parts(
- "-m",
- "pip",
- "install",
-+ "--no-build-isolation",
- "--target",
- pip_self_install_path,
- "-e",
-diff --git a/tests/functional/test_config_settings.py b/tests/functional/test_config_settings.py
-index 3f88d9c39..857722dd1 100644
---- a/tests/functional/test_config_settings.py
-+++ b/tests/functional/test_config_settings.py
-@@ -118,6 +118,7 @@ def test_config_settings_implies_pep517(
- )
- result = script.pip(
- "wheel",
-+ "--no-build-isolation",
- "--config-settings",
- "FOO=Hello",
- pkg_path,
-diff --git a/tests/functional/test_install.py b/tests/functional/test_install.py
-index eaea12a16..e19446385 100644
---- a/tests/functional/test_install.py
-+++ b/tests/functional/test_install.py
-@@ -685,7 +685,7 @@ def test_link_hash_in_dep_fails_require_hashes(
- # Build a wheel for pkga and compute its hash.
- wheelhouse = tmp_path / "wheehouse"
- wheelhouse.mkdir()
-- script.pip("wheel", "--no-deps", "-w", wheelhouse, project_path)
-+ script.pip("wheel", "--no-build-isolation", "--no-deps", "-w", wheelhouse, project_path)
- digest = hashlib.sha256(
- wheelhouse.joinpath("pkga-1.0-py3-none-any.whl").read_bytes()
- ).hexdigest()
-@@ -903,7 +903,7 @@ def test_editable_install__local_dir_setup_requires_with_pyproject(
- "setup(name='dummy', setup_requires=['simplewheel'])\n"
- )
-
-- script.pip("install", "--find-links", shared_data.find_links, "-e", local_dir)
-+ script.pip("install", "--no-build-isolation", "--find-links", shared_data.find_links, "-e", local_dir)
-
-
- def test_install_pre__setup_requires_with_pyproject(
-diff --git a/tests/functional/test_self_update.py b/tests/functional/test_self_update.py
-index c50755220..1331a87c3 100644
---- a/tests/functional/test_self_update.py
-+++ b/tests/functional/test_self_update.py
-@@ -11,12 +11,12 @@ def test_self_update_editable(script: Any, pip_src: Any) -> None:
- # Step 1. Install pip as non-editable. This is expected to succeed as
- # the existing pip in the environment is installed in editable mode, so
- # it only places a .pth file in the environment.
-- proc = script.pip("install", pip_src)
-+ proc = script.pip("install", "--no-build-isolation", pip_src)
- assert proc.returncode == 0
- # Step 2. Using the pip we just installed, install pip *again*, but
- # in editable mode. This could fail, as we'll need to uninstall the running
- # pip in order to install the new copy, and uninstalling pip while it's
- # running could fail. This test is specifically to ensure that doesn't
- # happen...
-- proc = script.pip("install", "-e", pip_src)
-+ proc = script.pip("install", "--no-build-isolation", "-e", pip_src)
- assert proc.returncode == 0
diff --git a/dev-python/pip/files/pip-25.0.1-scripttest-2.patch b/dev-python/pip/files/pip-25.0.1-scripttest-2.patch
deleted file mode 100644
index 950f70c192dd..000000000000
--- a/dev-python/pip/files/pip-25.0.1-scripttest-2.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 3c77c106330ca77883e9e3c7a150032bb5db73fd Mon Sep 17 00:00:00 2001
-From: Richard Si <sichard26@gmail.com>
-Date: Sat, 8 Mar 2025 10:44:32 -0500
-Subject: [PATCH] tests: Use script.scratch_path over script.temp_path
-
-script.temp_path is the system temporary directory. scripttest will
-check that there aren't any dangling files left in there, thus it's
-inappropriate to write long-lived packages there.
-
-These tests are currently passing as scripttest's temporary file
-detection logic is broken. However, a newer version of scripttest will
-fail.
----
- tests/functional/test_cli.py | 2 +-
- tests/functional/test_pep517.py | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/tests/functional/test_cli.py b/tests/functional/test_cli.py
-index 65946a1f46a..366d0129b2d 100644
---- a/tests/functional/test_cli.py
-+++ b/tests/functional/test_cli.py
-@@ -24,7 +24,7 @@ def test_entrypoints_work(entrypoint: str, script: PipTestEnvironment) -> None:
- if script.zipapp:
- pytest.skip("Zipapp does not include entrypoints")
-
-- fake_pkg = script.temp_path / "fake_pkg"
-+ fake_pkg = script.scratch_path / "fake_pkg"
- fake_pkg.mkdir()
- fake_pkg.joinpath("setup.py").write_text(
- dedent(
-diff --git a/tests/functional/test_pep517.py b/tests/functional/test_pep517.py
-index fd9380d0eb6..34ddd6633ce 100644
---- a/tests/functional/test_pep517.py
-+++ b/tests/functional/test_pep517.py
-@@ -252,7 +252,7 @@ def test_pep517_backend_requirements_satisfied_by_prerelease(
- script.pip("install", "test_backend", "--no-index", "-f", data.backends)
-
- project_dir = make_project(
-- script.temp_path,
-+ script.scratch_path,
- requires=["test_backend", "myreq"],
- backend="test_backend",
- )
diff --git a/dev-python/pip/files/pip-25.1-tomli-dep.patch b/dev-python/pip/files/pip-25.1-tomli-dep.patch
deleted file mode 100644
index 780d9a84ad35..000000000000
--- a/dev-python/pip/files/pip-25.1-tomli-dep.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From 23d20ea18ab4e43a4a4cb2b721d818a8dcd62542 Mon Sep 17 00:00:00 2001
-From: Eli Schwartz <eschwartz93@gmail.com>
-Date: Mon, 28 Apr 2025 11:42:02 -0400
-Subject: [PATCH] Fix new dependency-groups feature to use the stdlib tomllib
- where possible
-
-Previously, commit 88c9f31ad8a5ffe0bb31ab500b8ddd1b9ff6a5dd modified pip
-to use the stdlib on versions of python where this module is in the
-stdlib. As justified there:
-
-Although a tomli copy is vendored, doing this conditional import allows:
-- automatically upgrading the code, when the time comes to drop py3.10
- support
-
-- slightly simplifying debundling support, as it's no longer necessary
- to depend on a tomli(-wheel)? package on sufficiently newer versions
- of python.
-
-https://github.com/pypa/pip/pull/13065 added a new feature, including a
-vendored "dependency_groups" library that likewise supports using the
-stdlib tomllib via `dependency_groups/_toml_compat.py`. But the code in
-pip itself to use dependency_groups manually loads pyproject.toml and
-passes it to dependency_groups, and fails to use the same compatibility
-dispatch as both the pre-existing pip code and dependency_groups itself.
-
-Add back the conditional logic.
----
- news/13356.vendor.rst | 1 +
- src/pip/_internal/req/req_dependency_group.py | 11 ++++++++---
- tests/unit/test_req_dependency_group.py | 2 +-
- 3 files changed, 10 insertions(+), 4 deletions(-)
- create mode 100644 news/13356.vendor.rst
-
-diff --git a/src/pip/_internal/req/req_dependency_group.py b/src/pip/_internal/req/req_dependency_group.py
-index 8f124de5b81..e81dd45522a 100644
---- a/src/pip/_internal/req/req_dependency_group.py
-+++ b/src/pip/_internal/req/req_dependency_group.py
-@@ -1,6 +1,11 @@
-+import sys
- from typing import Any, Dict, Iterable, Iterator, List, Tuple
-
--from pip._vendor import tomli
-+if sys.version_info >= (3, 11):
-+ import tomllib
-+else:
-+ from pip._vendor import tomli as tomllib
-+
- from pip._vendor.dependency_groups import DependencyGroupResolver
-
- from pip._internal.exceptions import InstallationError
-@@ -65,10 +70,10 @@ def _load_pyproject(path: str) -> Dict[str, Any]:
- """
- try:
- with open(path, "rb") as fp:
-- return tomli.load(fp)
-+ return tomllib.load(fp)
- except FileNotFoundError:
- raise InstallationError(f"{path} not found. Cannot resolve '--group' option.")
-- except tomli.TOMLDecodeError as e:
-+ except tomllib.TOMLDecodeError as e:
- raise InstallationError(f"Error parsing {path}: {e}") from e
- except OSError as e:
- raise InstallationError(f"Error reading {path}: {e}") from e
-diff --git a/tests/unit/test_req_dependency_group.py b/tests/unit/test_req_dependency_group.py
-index b596f6fc5d7..1b180f8d7f8 100644
---- a/tests/unit/test_req_dependency_group.py
-+++ b/tests/unit/test_req_dependency_group.py
-@@ -120,7 +120,7 @@ def epipe_toml_load(*args: Any, **kwargs: Any) -> None:
- raise OSError(errno.EPIPE, "Broken pipe")
-
- monkeypatch.setattr(
-- "pip._internal.req.req_dependency_group.tomli.load", epipe_toml_load
-+ "pip._internal.req.req_dependency_group.tomllib.load", epipe_toml_load
- )
-
- with pytest.raises(InstallationError, match=r"Error reading pyproject\.toml"):
diff --git a/dev-python/pip/pip-24.1.ebuild b/dev-python/pip/pip-24.1.ebuild
deleted file mode 100644
index 6002686008aa..000000000000
--- a/dev-python/pip/pip-24.1.ebuild
+++ /dev/null
@@ -1,137 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# please bump dev-python/ensurepip-pip along with this package!
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_TESTED=( python3_{9,10,11,12,13} )
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-PYTHON_REQ_USE="ssl(+),threads(+)"
-
-inherit bash-completion-r1 distutils-r1
-
-DESCRIPTION="The PyPA recommended tool for installing Python packages"
-HOMEPAGE="
- https://pip.pypa.io/en/stable/
- https://pypi.org/project/pip/
- https://github.com/pypa/pip/
-"
-SRC_URI="
- https://github.com/pypa/pip/archive/${PV}.tar.gz -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-# bundled deps
-LICENSE+=" Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MPL-2.0 PSF-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="test-rust"
-
-RDEPEND="
- >=dev-python/setuptools-39.2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
- test? (
- $(python_gen_cond_dep '
- dev-python/ensurepip-setuptools
- dev-python/ensurepip-wheel
- dev-python/freezegun[${PYTHON_USEDEP}]
- dev-python/pretend[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/scripttest[${PYTHON_USEDEP}]
- dev-python/tomli-w[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- dev-python/wheel[${PYTHON_USEDEP}]
- test-rust? (
- dev-python/cryptography[${PYTHON_USEDEP}]
- )
- ' "${PYTHON_TESTED[@]}")
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- local PATCHES=(
- "${FILESDIR}/pip-23.1-no-coverage.patch"
- # https://github.com/pypa/pip/issues/12786 (and more)
- "${FILESDIR}/pip-24.1-test-offline.patch"
- )
-
- distutils-r1_python_prepare_all
-
- if use test; then
- local wheels=(
- "${BROOT}"/usr/lib/python/ensurepip/{setuptools,wheel}-*.whl
- )
- mkdir tests/data/common_wheels/ || die
- cp "${wheels[@]}" tests/data/common_wheels/ || die
- fi
-}
-
-python_compile_all() {
- # 'pip completion' command embeds full $0 into completion script, which confuses
- # 'complete' and causes QA warning when running as "${PYTHON} -m pip".
- # This trick sets correct $0 while still calling just installed pip.
- local pipcmd='import sys; sys.argv[0] = "pip"; __file__ = ""; from pip._internal.cli.main import main; sys.exit(main())'
- "${EPYTHON}" -c "${pipcmd}" completion --bash > completion.bash || die
- "${EPYTHON}" -c "${pipcmd}" completion --zsh > completion.zsh || die
-}
-
-python_test() {
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- einfo "Skipping tests on ${EPYTHON}"
- return 0
- fi
-
- local EPYTEST_DESELECT=(
- tests/functional/test_inspect.py::test_inspect_basic
- # Internet
- tests/functional/test_config_settings.py::test_backend_sees_config_via_sdist
- tests/functional/test_install.py::test_double_install_fail
- tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed
- )
- local EPYTEST_IGNORE=(
- # requires proxy.py
- tests/functional/test_proxy.py
- )
-
- if ! has_version "dev-python/cryptography[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/functional/test_install.py::test_install_sends_client_cert
- tests/functional/test_install_config.py::test_do_not_prompt_for_authentication
- tests/functional/test_install_config.py::test_prompt_for_authentication
- tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed
- )
- fi
-
- case ${EPYTHON} in
- python3.10)
- EPYTEST_DESELECT+=(
- # no clue why they fail
- tests/unit/test_base_command.py::test_base_command_global_tempdir_cleanup
- tests/unit/test_base_command.py::test_base_command_local_tempdir_cleanup
- tests/unit/test_base_command.py::test_base_command_provides_tempdir_helpers
- )
- ;;
- esac
-
- local -x PIP_DISABLE_PIP_VERSION_CHECK=1
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local EPYTEST_XDIST=1
- epytest -m "not network" -o tmp_path_retention_policy=all
-}
-
-python_install_all() {
- local DOCS=( AUTHORS.txt docs/html/**/*.rst )
- distutils-r1_python_install_all
-
- newbashcomp completion.bash pip
-
- insinto /usr/share/zsh/site-functions
- newins completion.zsh _pip
-}
diff --git a/dev-python/pip/pip-25.0.1-r1.ebuild b/dev-python/pip/pip-25.0.1-r1.ebuild
deleted file mode 100644
index 50c13342fc26..000000000000
--- a/dev-python/pip/pip-25.0.1-r1.ebuild
+++ /dev/null
@@ -1,175 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# please bump dev-python/ensurepip-pip along with this package!
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_TESTED=( python3_{9,10,11,12,13} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-PYTHON_REQ_USE="ssl(+),threads(+)"
-
-inherit distutils-r1 shell-completion
-
-DESCRIPTION="The PyPA recommended tool for installing Python packages"
-HOMEPAGE="
- https://pip.pypa.io/en/stable/
- https://pypi.org/project/pip/
- https://github.com/pypa/pip/
-"
-SRC_URI="
- https://github.com/pypa/pip/archive/${PV}.tar.gz -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="test-rust"
-
-# see src/pip/_vendor/vendor.txt
-RDEPEND="
- >=dev-python/cachecontrol-0.14.1[${PYTHON_USEDEP}]
- >=dev-python/distlib-0.3.9[${PYTHON_USEDEP}]
- >=dev-python/distro-1.9.0[${PYTHON_USEDEP}]
- >=dev-python/msgpack-1.1.0[${PYTHON_USEDEP}]
- >=dev-python/packaging-24.2[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-4.3.6[${PYTHON_USEDEP}]
- >=dev-python/pyproject-hooks-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.32.0[${PYTHON_USEDEP}]
- >=dev-python/rich-13.9.4[${PYTHON_USEDEP}]
- >=dev-python/resolvelib-1.0.1[${PYTHON_USEDEP}]
- >=dev-python/setuptools-69.5.1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-2.2.1[${PYTHON_USEDEP}]
- ' 3.10)
- >=dev-python/truststore-0.10.0[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.12.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
- test? (
- $(python_gen_cond_dep '
- dev-python/ensurepip-setuptools
- dev-python/ensurepip-wheel
- dev-python/freezegun[${PYTHON_USEDEP}]
- dev-python/pretend[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/scripttest[${PYTHON_USEDEP}]
- dev-python/tomli-w[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- dev-python/wheel[${PYTHON_USEDEP}]
- test-rust? (
- dev-python/cryptography[${PYTHON_USEDEP}]
- )
- dev-vcs/git
- ' "${PYTHON_TESTED[@]}")
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- local PATCHES=(
- "${FILESDIR}/pip-23.1-no-coverage.patch"
- # prepare to unbundle dependencies
- "${FILESDIR}/pip-25.0.1-unbundle.patch"
- # https://github.com/pypa/pip/pull/13272
- "${FILESDIR}/${P}-scripttest-2.patch"
- )
-
- distutils-r1_python_prepare_all
-
- # unbundle dependencies
- rm -r src/pip/_vendor || die
- find -name '*.py' -exec sed -i \
- -e 's:from pip\._vendor import:import:g' \
- -e 's:from pip\._vendor\.:from :g' \
- {} + || die
-
- if use test; then
- local wheels=(
- "${BROOT}"/usr/lib/python/ensurepip/{setuptools,wheel}-*.whl
- )
- mkdir tests/data/common_wheels/ || die
- cp "${wheels[@]}" tests/data/common_wheels/ || die
- fi
-}
-
-python_compile_all() {
- # 'pip completion' command embeds full $0 into completion script, which confuses
- # 'complete' and causes QA warning when running as "${PYTHON} -m pip".
- # This trick sets correct $0 while still calling just installed pip.
- local pipcmd='import sys; sys.argv[0] = "pip"; __file__ = ""; from pip._internal.cli.main import main; sys.exit(main())'
- "${EPYTHON}" -c "${pipcmd}" completion --bash > completion.bash || die
- "${EPYTHON}" -c "${pipcmd}" completion --zsh > completion.zsh || die
-}
-
-python_test() {
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- einfo "Skipping tests on ${EPYTHON}"
- return 0
- fi
-
- local EPYTEST_DESELECT=(
- tests/functional/test_inspect.py::test_inspect_basic
- # Internet
- tests/functional/test_config_settings.py::test_backend_sees_config_via_sdist
- tests/functional/test_install.py::test_double_install_fail
- tests/functional/test_install.py::test_install_sdist_links
- tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed
- # broken by system site-packages use
- tests/functional/test_freeze.py::test_freeze_with_setuptools
- tests/functional/test_pip_runner_script.py::test_runner_work_in_environments_with_no_pip
- tests/functional/test_uninstall.py::test_basic_uninstall_distutils
- tests/unit/test_base_command.py::test_base_command_global_tempdir_cleanup
- tests/unit/test_base_command.py::test_base_command_local_tempdir_cleanup
- tests/unit/test_base_command.py::test_base_command_provides_tempdir_helpers
- # broken by unbundling
- "tests/functional/test_debug.py::test_debug[vendored library versions:]"
- tests/functional/test_debug.py::test_debug__library_versions
- tests/functional/test_python_option.py::test_python_interpreter
- tests/functional/test_uninstall.py::test_uninstall_non_local_distutils
- )
- local EPYTEST_IGNORE=(
- # requires proxy.py
- tests/functional/test_proxy.py
- )
-
- case ${EPYTHON} in
- pypy3*)
- EPYTEST_DESELECT+=(
- # unexpected tempfiles?
- tests/functional/test_install_config.py::test_do_not_prompt_for_authentication
- tests/functional/test_install_config.py::test_prompt_for_authentication
- )
- ;;
- esac
-
- if ! has_version "dev-python/cryptography[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/functional/test_install.py::test_install_sends_client_cert
- tests/functional/test_install_config.py::test_do_not_prompt_for_authentication
- tests/functional/test_install_config.py::test_prompt_for_authentication
- tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed
- )
- fi
-
- local -x PIP_DISABLE_PIP_VERSION_CHECK=1
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local EPYTEST_XDIST=1
- # rerunfailures because test suite breaks if packages are installed
- # in parallel
- epytest -m "not network" -o tmp_path_retention_policy=all \
- -p rerunfailures --reruns=5 --use-venv
-}
-
-python_install_all() {
- local DOCS=( AUTHORS.txt docs/html/**/*.rst )
- distutils-r1_python_install_all
-
- newbashcomp completion.bash pip
- newzshcomp completion.zsh _pip
-}
diff --git a/dev-python/pip/pip-25.1-r1.ebuild b/dev-python/pip/pip-25.1-r1.ebuild
deleted file mode 100644
index be46dcf60cf8..000000000000
--- a/dev-python/pip/pip-25.1-r1.ebuild
+++ /dev/null
@@ -1,179 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# please bump dev-python/ensurepip-pip along with this package!
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_TESTED=( python3_{9,10,11,12,13} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-PYTHON_REQ_USE="ssl(+),threads(+)"
-
-inherit distutils-r1 shell-completion
-
-DESCRIPTION="The PyPA recommended tool for installing Python packages"
-HOMEPAGE="
- https://pip.pypa.io/en/stable/
- https://pypi.org/project/pip/
- https://github.com/pypa/pip/
-"
-SRC_URI="
- https://github.com/pypa/pip/archive/${PV}.tar.gz -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~mips ~riscv"
-IUSE="test-rust"
-
-# see src/pip/_vendor/vendor.txt
-RDEPEND="
- >=dev-python/cachecontrol-0.14.2[${PYTHON_USEDEP}]
- >=dev-python/dependency-groups-1.3.0[${PYTHON_USEDEP}]
- >=dev-python/distlib-0.3.9[${PYTHON_USEDEP}]
- >=dev-python/distro-1.9.0[${PYTHON_USEDEP}]
- >=dev-python/msgpack-1.1.0[${PYTHON_USEDEP}]
- >=dev-python/packaging-25.0[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-4.3.7[${PYTHON_USEDEP}]
- >=dev-python/pyproject-hooks-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.32.3[${PYTHON_USEDEP}]
- >=dev-python/rich-14.0.0[${PYTHON_USEDEP}]
- >=dev-python/resolvelib-1.1.0[${PYTHON_USEDEP}]
- >=dev-python/setuptools-70.3.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-2.2.1[${PYTHON_USEDEP}]
- ' 3.10)
- >=dev-python/tomli-w-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/truststore-0.10.1[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.13.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
- test? (
- $(python_gen_cond_dep '
- dev-python/ensurepip-setuptools
- dev-python/ensurepip-wheel
- dev-python/freezegun[${PYTHON_USEDEP}]
- dev-python/pretend[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/scripttest[${PYTHON_USEDEP}]
- dev-python/tomli-w[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- dev-python/wheel[${PYTHON_USEDEP}]
- test-rust? (
- dev-python/cryptography[${PYTHON_USEDEP}]
- )
- dev-vcs/git
- ' "${PYTHON_TESTED[@]}")
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- local PATCHES=(
- "${FILESDIR}/pip-23.1-no-coverage.patch"
- # prepare to unbundle dependencies
- "${FILESDIR}/pip-25.0.1-unbundle.patch"
- # https://github.com/pypa/pip/pull/13356
- "${FILESDIR}/${P}-tomli-dep.patch"
- )
-
- distutils-r1_python_prepare_all
-
- # unbundle dependencies
- rm -r src/pip/_vendor || die
- find -name '*.py' -exec sed -i \
- -e 's:from pip\._vendor import:import:g' \
- -e 's:from pip\._vendor\.:from :g' \
- {} + || die
-
- if use test; then
- local wheels=(
- "${BROOT}"/usr/lib/python/ensurepip/{setuptools,wheel}-*.whl
- )
- mkdir tests/data/common_wheels/ || die
- cp "${wheels[@]}" tests/data/common_wheels/ || die
- fi
-}
-
-python_compile_all() {
- # 'pip completion' command embeds full $0 into completion script, which confuses
- # 'complete' and causes QA warning when running as "${PYTHON} -m pip".
- # This trick sets correct $0 while still calling just installed pip.
- local pipcmd='import sys; sys.argv[0] = "pip"; __file__ = ""; from pip._internal.cli.main import main; sys.exit(main())'
- "${EPYTHON}" -c "${pipcmd}" completion --bash > completion.bash || die
- "${EPYTHON}" -c "${pipcmd}" completion --zsh > completion.zsh || die
-}
-
-python_test() {
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- einfo "Skipping tests on ${EPYTHON}"
- return 0
- fi
-
- local EPYTEST_DESELECT=(
- tests/functional/test_inspect.py::test_inspect_basic
- # Internet
- tests/functional/test_config_settings.py::test_backend_sees_config_via_sdist
- tests/functional/test_install.py::test_double_install_fail
- tests/functional/test_install.py::test_install_sdist_links
- tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed
- tests/functional/test_lock.py::test_lock_archive
- tests/functional/test_lock.py::test_lock_vcs
- # broken by system site-packages use
- tests/functional/test_freeze.py::test_freeze_with_setuptools
- tests/functional/test_pip_runner_script.py::test_runner_work_in_environments_with_no_pip
- tests/functional/test_uninstall.py::test_basic_uninstall_distutils
- tests/unit/test_base_command.py::test_base_command_global_tempdir_cleanup
- tests/unit/test_base_command.py::test_base_command_local_tempdir_cleanup
- tests/unit/test_base_command.py::test_base_command_provides_tempdir_helpers
- # broken by unbundling
- "tests/functional/test_debug.py::test_debug[vendored library versions:]"
- tests/functional/test_debug.py::test_debug__library_versions
- tests/functional/test_python_option.py::test_python_interpreter
- tests/functional/test_uninstall.py::test_uninstall_non_local_distutils
- )
- local EPYTEST_IGNORE=(
- # requires proxy.py
- tests/functional/test_proxy.py
- )
-
- case ${EPYTHON} in
- pypy3*)
- EPYTEST_DESELECT+=(
- # unexpected tempfiles?
- tests/functional/test_install_config.py::test_do_not_prompt_for_authentication
- tests/functional/test_install_config.py::test_prompt_for_authentication
- )
- ;;
- esac
-
- if ! has_version "dev-python/cryptography[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/functional/test_install.py::test_install_sends_client_cert
- tests/functional/test_install_config.py::test_do_not_prompt_for_authentication
- tests/functional/test_install_config.py::test_prompt_for_authentication
- tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed
- )
- fi
-
- local -x PIP_DISABLE_PIP_VERSION_CHECK=1
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local EPYTEST_XDIST=1
- # rerunfailures because test suite breaks if packages are installed
- # in parallel
- epytest -m "not network" -o tmp_path_retention_policy=all \
- -p rerunfailures --reruns=5 --use-venv
-}
-
-python_install_all() {
- local DOCS=( AUTHORS.txt docs/html/**/*.rst )
- distutils-r1_python_install_all
-
- newbashcomp completion.bash pip
- newzshcomp completion.zsh _pip
-}
diff --git a/dev-python/pip/pip-25.1.1.ebuild b/dev-python/pip/pip-25.1.1.ebuild
index 3cdb65190c6c..884674df6ad8 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/pipdeptree/Manifest b/dev-python/pipdeptree/Manifest
index 5972ef69d2e7..3d352634f0ce 100644
--- a/dev-python/pipdeptree/Manifest
+++ b/dev-python/pipdeptree/Manifest
@@ -1,2 +1,3 @@
DIST pipdeptree-2.23.4.tar.gz 39945 BLAKE2B 6f1aaf4652b872a28712cf23fb06c26c9e36baf2c5c734b542d418d78081c19f567c730944fba33b43cf6ad612ecd54f37f625a81e88fc8bb68e3e56d76d9088 SHA512 3beeeceb11f842e5f337167b724354b43b01f972f83b0bac5168504483a079e15758206a8e141dc88e4810954630bff1b1cdec3e69aa2f981b9ec2896e40428d
DIST pipdeptree-2.26.1.tar.gz 41024 BLAKE2B 93121352931669bb343f156673ebff6cf3f7601da34f027aeaa3764f676a578ed1c5360e1a281c18ce07f870f20f594694cec0da1be8f836568400c9861c0b8a SHA512 3cb0aa2a3d07a03aa62c0da9ff0d39496e4afe4f9216c2445c36d34b1f05f5bea5030e04d89aa27f5f41cb65092ded4d949a863bc2f223f1fbbe5fdcf379af62
+DIST pipdeptree-2.27.0.tar.gz 42423 BLAKE2B 1e6593bab1f0e61acbf7f0dd5b168f0afa5cf6c0bd1b49bbe92ec24d37c8051bef4a2a13944369a03a778099af78ac4a9b201c360aeb441f195c68d0126cfdc3 SHA512 4f7c5aeea24baa6a6031b456918897c17abd71ea46d661e54f21774ad90b70beb3fba50f44611e44beeadf1d9cddbc41fd0adea16a4da172a70bb3322876c297
diff --git a/dev-python/pipdeptree/pipdeptree-2.27.0.ebuild b/dev-python/pipdeptree/pipdeptree-2.27.0.ebuild
new file mode 100644
index 000000000000..cfa4b09122dd
--- /dev/null
+++ b/dev-python/pipdeptree/pipdeptree-2.27.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi optfeature
+
+DESCRIPTION="Utility for displaying installed packages in a dependency tree"
+HOMEPAGE="
+ https://github.com/tox-dev/pipdeptree/
+ https://pypi.org/project/pipdeptree/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/packaging-23.1[${PYTHON_USEDEP}]
+ >=dev-python/pip-23.1.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/graphviz[${PYTHON_USEDEP}]
+ <dev-python/virtualenv-21[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20.31.1[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{mock,rerunfailures} )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # upstream lower bounds are meaningless
+ sed -i -e 's:>=[0-9.]*,\?::' pyproject.toml || die
+
+ find -name '*.py' -exec \
+ sed -i -e 's:pip[.]_vendor[.]::' {} + || die
+}
+
+python_test() {
+ # tests can fail if other packages are being merged simultaneously
+ epytest --reruns=5
+}
+
+pkg_postinst() {
+ optfeature \
+ "visualising the dependency graph with --graph-output" \
+ dev-python/graphviz
+}
diff --git a/dev-python/pkgconfig/pkgconfig-1.5.5-r1.ebuild b/dev-python/pkgconfig/pkgconfig-1.5.5-r1.ebuild
index dbc0ec4a7c88..dc11f4efa0f8 100644
--- a/dev-python/pkgconfig/pkgconfig-1.5.5-r1.ebuild
+++ b/dev-python/pkgconfig/pkgconfig-1.5.5-r1.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
RDEPEND="
virtual/pkgconfig
diff --git a/dev-python/poetry-plugin-export/poetry-plugin-export-1.9.0.ebuild b/dev-python/poetry-plugin-export/poetry-plugin-export-1.9.0-r1.ebuild
index 913da38b0a3c..7ca60760550a 100644
--- a/dev-python/poetry-plugin-export/poetry-plugin-export-1.9.0.ebuild
+++ b/dev-python/poetry-plugin-export/poetry-plugin-export-1.9.0-r1.ebuild
@@ -19,12 +19,12 @@ SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="
- >=dev-python/poetry-core-1.7.0[${PYTHON_USEDEP}]
+ =dev-python/poetry-core-2*[${PYTHON_USEDEP}]
"
DEPEND="
test? (
- >=dev-python/poetry-1.7.0[${PYTHON_USEDEP}]
+ =dev-python/poetry-2*[${PYTHON_USEDEP}]
>=dev-python/pytest-mock-3.9[${PYTHON_USEDEP}]
>=dev-python/pytest-xdist-3.1[${PYTHON_USEDEP}]
)
diff --git a/dev-python/propcache/Manifest b/dev-python/propcache/Manifest
index 956ba589e051..244adc493b1b 100644
--- a/dev-python/propcache/Manifest
+++ b/dev-python/propcache/Manifest
@@ -1,2 +1 @@
-DIST propcache-0.3.1.tar.gz 43651 BLAKE2B dbbd70f29c3b4d7ed9a976e0dde766f7ecc0b4e50f90d0d83c60c8633ebadd25dae8e01ce2cd0f8c00d0fae67a35316bc165f5c6e116cbbe290e2371d1e79f47 SHA512 c109678adc26193d972906d923abbfe7ddeb02829fa3adb82d28988b56497a9e8126ce7186f1b0414ca6e6aba6baaddadcefdf19f7e24fbe5831e2f8da06473e
DIST propcache-0.3.2.tar.gz 44139 BLAKE2B ace9070dbfceb08fcef26f01f9aab291982a3f99f1f035fb113d539a613eeeb2b69b36b197c21d733b0a4b5d73cc22180aa6aca9f3a220dbd3cd471dc57d0ee4 SHA512 d85a89dd1d34936578eb05a869e0ec07679d477c716aa047bbda00688a2926fd8a1f712c9ddec3de38faa49762941120df12ebe88dc36278f20d84ee796b91fe
diff --git a/dev-python/propcache/propcache-0.3.1.ebuild b/dev-python/propcache/propcache-0.3.1.ebuild
deleted file mode 100644
index 5437ff88585c..000000000000
--- a/dev-python/propcache/propcache-0.3.1.ebuild
+++ /dev/null
@@ -1,54 +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=standalone
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Yet another URL library"
-HOMEPAGE="
- https://github.com/aio-libs/propcache/
- https://pypi.org/project/propcache/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="+native-extensions"
-
-BDEPEND="
- native-extensions? (
- dev-python/cython[${PYTHON_USEDEP}]
- )
- dev-python/expandvars[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_compile() {
- local -x PROPCACHE_NO_EXTENSIONS=0
- if ! use native-extensions || [[ ${EPYTHON} != python* ]]; then
- PROPCACHE_NO_EXTENSIONS=1
- fi
- distutils-r1_python_compile
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- tests/test_benchmarks.py
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local opts=()
- if ! use native-extensions || [[ ${EPYTHON} != python* ]]; then
- opts+=( --no-c-extensions )
- fi
-
- rm -rf propcache || die
- epytest -o addopts= "${opts[@]}"
-}
diff --git a/dev-python/propcache/propcache-0.3.2.ebuild b/dev-python/propcache/propcache-0.3.2.ebuild
index 57c7fc9e7323..5437ff88585c 100644
--- a/dev-python/propcache/propcache-0.3.2.ebuild
+++ b/dev-python/propcache/propcache-0.3.2.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ~ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="+native-extensions"
BDEPEND="
diff --git a/dev-python/puremagic/puremagic-1.30.ebuild b/dev-python/puremagic/puremagic-1.30.ebuild
index 9a06cb7df79c..3a46cd6652e6 100644
--- a/dev-python/puremagic/puremagic-1.30.ebuild
+++ b/dev-python/puremagic/puremagic-1.30.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
DOCS=( CHANGELOG.md README.rst )
diff --git a/dev-python/pyacoustid/pyacoustid-1.3.0-r1.ebuild b/dev-python/pyacoustid/pyacoustid-1.3.0-r1.ebuild
index 49081d143c89..d953ada397b1 100644
--- a/dev-python/pyacoustid/pyacoustid-1.3.0-r1.ebuild
+++ b/dev-python/pyacoustid/pyacoustid-1.3.0-r1.ebuild
@@ -22,7 +22,7 @@ SRC_URI+="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64"
+KEYWORDS="amd64 ~x86"
IUSE="examples test"
# Tests fail with network-sandbox, since they need to connect to acoustid.org
PROPERTIES="test_network"
diff --git a/dev-python/pyalsa/pyalsa-1.2.14.ebuild b/dev-python/pyalsa/pyalsa-1.2.14.ebuild
index b50d68d7fef0..5d9e162a4d30 100644
--- a/dev-python/pyalsa/pyalsa-1.2.14.ebuild
+++ b/dev-python/pyalsa/pyalsa-1.2.14.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://www.alsa-project.org/files/pub/pyalsa/${P}.tar.bz2"
LICENSE="LGPL-2.1+"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm64 ~hppa ~mips ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 ~arm64 ~hppa ~mips ppc ppc64 ~riscv sparc x86"
# Needs access to system's alsa configuration/devices
RESTRICT="test"
diff --git a/dev-python/pycairo/Manifest b/dev-python/pycairo/Manifest
index 544ac345dac1..774fd592ce84 100644
--- a/dev-python/pycairo/Manifest
+++ b/dev-python/pycairo/Manifest
@@ -1,2 +1 @@
-DIST pycairo-1.27.0.tar.gz 661450 BLAKE2B cc1ef54057d02f3e25fed010c995e4fe400ccdf3a5d2f241c029ded167c5db2560a4d9c8cb09b2f0519e674b5962f2244f0570401f45743fe1ec61d5a8982227 SHA512 1b077917b1d99262da1c1d2ff85ae841dd0ff715925a5a20032162aa876576d966fc6b30c154343cc45f104cce243887de9b5f14af1e15775cb71b6c11e553a6
DIST pycairo-1.28.0.tar.gz 662477 BLAKE2B 26ab0ab926bc209c33eeff2f7578d31ffce138111e923f6bc8e31a5e318f7ead9d0350ee5717e3774c65eb8ac9f3324ff0446c316469796dc866c3530ef2d0dc SHA512 d3fcb6641ad6dcf9b804dbc2a372f653619512e139fb7a196bb1219b00f60e79e5d60fbbddc2e6a0afb959f9fcb37f1f3c460ad6331274581cb241434865b5a5
diff --git a/dev-python/pycairo/pycairo-1.27.0-r1.ebuild b/dev-python/pycairo/pycairo-1.27.0-r1.ebuild
deleted file mode 100644
index 7d43ef9920d6..000000000000
--- a/dev-python/pycairo/pycairo-1.27.0-r1.ebuild
+++ /dev/null
@@ -1,75 +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=no
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit meson distutils-r1
-
-DESCRIPTION="Python bindings for the cairo library"
-HOMEPAGE="
- https://www.cairographics.org/pycairo/
- https://github.com/pygobject/pycairo/
- https://pypi.org/project/pycairo/
-"
-SRC_URI="
- https://github.com/pygobject/${PN}/releases/download/v${PV}/${P}.tar.gz
-"
-
-LICENSE="|| ( LGPL-2.1 MPL-1.1 )"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="X examples test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=x11-libs/cairo-1.15.10[svg(+),X=]
-"
-DEPEND="
- ${RDEPEND}
- x11-base/xorg-proto
-"
-BDEPEND="
- virtual/pkgconfig
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs \
- dev-python/sphinx-rtd-theme
-distutils_enable_tests pytest
-
-python_compile() {
- local emesonargs=(
- # TODO: move that to the eclass?
- -Dpython.bytecompile=2
- -Dtests="$(usex test true false)"
- )
-
- meson_src_configure
- meson_src_compile
-}
-
-python_test() {
- cd "${BUILD_DIR}" || die
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
-
-python_install() {
- meson_src_install
-}
-
-python_install_all() {
- if use examples; then
- dodoc -r examples
- fi
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/pycairo/pycairo-1.28.0.ebuild b/dev-python/pycairo/pycairo-1.28.0.ebuild
index 72cebe021c75..7d43ef9920d6 100644
--- a/dev-python/pycairo/pycairo-1.28.0.ebuild
+++ b/dev-python/pycairo/pycairo-1.28.0.ebuild
@@ -22,7 +22,7 @@ SRC_URI="
LICENSE="|| ( LGPL-2.1 MPL-1.1 )"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="X examples test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/pycares/Manifest b/dev-python/pycares/Manifest
index 63fe8e173e87..7ad8f87303fb 100644
--- a/dev-python/pycares/Manifest
+++ b/dev-python/pycares/Manifest
@@ -1,3 +1 @@
-DIST pycares-4.6.0.tar.gz 822080 BLAKE2B 1bfad7d7afe0eaabe12ac758655889ff2c819137dfd63634646c060d09599b7bc8a18ae8c782742e40f552959298c312c6c152927775f5a5fdc539b148d97a86 SHA512 3b4db74e8411359165bf6c8b2c3ece2b954bd50cbe2db9c8c1678a2f18611f7c548dd2c004c8db40c28d8384a6f41a4863e0661892eda93e735b5182ba68a802
-DIST pycares-4.8.0.tar.gz 647980 BLAKE2B 640312cab61f02952222954a193cabfb81d4be86d26c96737af6c2b56caecc01c17322ad4526679e0a14e2b6653234d57c3de8ec59e3fc85d6ccf5508ba06bee SHA512 51e467d0a58fd865a07fead2e906a7caea8751d45d06ac699c57bf56fe9165da9d17b50104f61200911e77bb3edea6de2d81aa3e2330946f8548905b83ce1be1
DIST pycares-4.9.0.tar.gz 655365 BLAKE2B c30ccd57f31dbaad4dc7689ca4997dc909363a175a33d672e3e9167573c9c7935eb002d2d0ff97aa2f90ccd6ed76b8d1f2a82b17c26378db08422764b6e936ba SHA512 3be5aa36fbfbc47e54f7b41e14ef951bdb1528a60f51a11ef7d010da2ef9ca2830f89d277063788c44468f27fb4d875ce472729106cf1c0bb32000727d2841b7
diff --git a/dev-python/pycares/pycares-4.6.0.ebuild b/dev-python/pycares/pycares-4.6.0.ebuild
deleted file mode 100644
index cfe0f6ee7a06..000000000000
--- a/dev-python/pycares/pycares-4.6.0.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python interface for c-ares"
-HOMEPAGE="
- https://github.com/saghul/pycares/
- https://pypi.org/project/pycares/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="test"
-# Tests fail with network-sandbox, since they try to resolve google.com
-PROPERTIES="test_network"
-RESTRICT="test"
-
-DEPEND="
- net-dns/c-ares:=
-"
-BDEPEND="
- $(python_gen_cond_dep '
- dev-python/cffi[${PYTHON_USEDEP}]
- ' 'python*')
-"
-RDEPEND="
- dev-python/idna[${PYTHON_USEDEP}]
- ${DEPEND}
- ${BDEPEND}
-"
-BDEPEND+="
- test? (
- dev-python/idna[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # regression due to Internet changing (probably)
- # https://github.com/saghul/pycares/issues/187
- tests/test_all.py::DNSTest::test_query_class_chaos
- tests/test_all.py::DNSTest::test_idna_encoding_query_a
- tests/test_all.py::DNSTest::test_query_txt_chunked
- # TODO
- tests/test_all.py::DNSTest::test_custom_resolvconf
-)
-
-export PYCARES_USE_SYSTEM_LIB=1
diff --git a/dev-python/pycares/pycares-4.8.0.ebuild b/dev-python/pycares/pycares-4.8.0.ebuild
deleted file mode 100644
index 3669e7b1ba2f..000000000000
--- a/dev-python/pycares/pycares-4.8.0.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python interface for c-ares"
-HOMEPAGE="
- https://github.com/saghul/pycares/
- https://pypi.org/project/pycares/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="test"
-# Tests fail with network-sandbox, since they try to resolve google.com
-PROPERTIES="test_network"
-RESTRICT="test"
-
-DEPEND="
- net-dns/c-ares:=
-"
-BDEPEND="
- $(python_gen_cond_dep '
- dev-python/cffi[${PYTHON_USEDEP}]
- ' 'python*')
-"
-RDEPEND="
- dev-python/idna[${PYTHON_USEDEP}]
- ${DEPEND}
- ${BDEPEND}
-"
-BDEPEND+="
- test? (
- dev-python/idna[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # regression due to Internet changing (probably)
- # https://github.com/saghul/pycares/issues/187
- tests/test_all.py::DNSTest::test_query_class_chaos
- tests/test_all.py::DNSTest::test_idna_encoding_query_a
- tests/test_all.py::DNSTest::test_query_txt_chunked
- # TODO
- tests/test_all.py::DNSTest::test_custom_resolvconf
-)
-
-export PYCARES_USE_SYSTEM_LIB=1
diff --git a/dev-python/pycares/pycares-4.9.0.ebuild b/dev-python/pycares/pycares-4.9.0.ebuild
index 3669e7b1ba2f..cfe0f6ee7a06 100644
--- a/dev-python/pycares/pycares-4.9.0.ebuild
+++ b/dev-python/pycares/pycares-4.9.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="test"
# Tests fail with network-sandbox, since they try to resolve google.com
PROPERTIES="test_network"
diff --git a/dev-python/pycryptodome/pycryptodome-3.23.0.ebuild b/dev-python/pycryptodome/pycryptodome-3.23.0.ebuild
index c82b17950598..4556bb22dd7e 100644
--- a/dev-python/pycryptodome/pycryptodome-3.23.0.ebuild
+++ b/dev-python/pycryptodome/pycryptodome-3.23.0.ebuild
@@ -23,7 +23,7 @@ SRC_URI="
LICENSE="BSD-2 Unlicense"
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"
DEPEND="
dev-libs/gmp:=
diff --git a/dev-python/pydantic-core/pydantic-core-2.33.2.ebuild b/dev-python/pydantic-core/pydantic-core-2.33.2.ebuild
index fddf11b97e3d..38d76323fbc8 100644
--- a/dev-python/pydantic-core/pydantic-core-2.33.2.ebuild
+++ b/dev-python/pydantic-core/pydantic-core-2.33.2.ebuild
@@ -120,7 +120,7 @@ LICENSE+="
|| ( Apache-2.0 Boost-1.0 )
"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
>=dev-python/typing-extensions-4.7.1[${PYTHON_USEDEP}]
diff --git a/dev-python/pydantic/pydantic-2.11.5.ebuild b/dev-python/pydantic/pydantic-2.11.5.ebuild
index df5287293275..1eb12f5382ee 100644
--- a/dev-python/pydantic/pydantic-2.11.5.ebuild
+++ b/dev-python/pydantic/pydantic-2.11.5.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
>=dev-python/annotated-types-0.6.0[${PYTHON_USEDEP}]
diff --git a/dev-python/pydantic/pydantic-2.11.7.ebuild b/dev-python/pydantic/pydantic-2.11.7.ebuild
index 968d21bef8d2..1eb12f5382ee 100644
--- a/dev-python/pydantic/pydantic-2.11.7.ebuild
+++ b/dev-python/pydantic/pydantic-2.11.7.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ~ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
>=dev-python/annotated-types-0.6.0[${PYTHON_USEDEP}]
diff --git a/dev-python/pyfakefs/Manifest b/dev-python/pyfakefs/Manifest
index 55419ecbea82..488407de055a 100644
--- a/dev-python/pyfakefs/Manifest
+++ b/dev-python/pyfakefs/Manifest
@@ -1,3 +1 @@
-DIST pyfakefs-5.7.4.gh.tar.gz 248270 BLAKE2B 3690b07f2030dc2428936fa34264c6e43b8145f1cfddade3c95bcebb337e483e9cff3e048f0a9d2d1bd6d542d9dc99a3b489a6fedf44c4ef84f2aaeb42200864 SHA512 305e794a66f3e490a60d1e256133edeef8266739fba73b99314a8e2c71990b9a8d774c5b8575709c0cfff7180ff2c4fcf41736d4f8207998053f87ba45d908be
-DIST pyfakefs-5.9.0.gh.tar.gz 255473 BLAKE2B bfdf023a19092ca621c37494b68d4c9a2f2ee72e093b9f04e9af33fe0a5040597c0863f40b922811044d9413fc8838204db8fcf2ec5c6d73c632cd79fe2150d4 SHA512 98d3ad5793602d2e9faacc1ae2252d984b5bcf0610f3e3304d35d98b0357d01a8d00a4f6a22a0929ec21de5eead8af335bf036e6f927b4e976ed2045e1f044fd
DIST pyfakefs-5.9.1.gh.tar.gz 255569 BLAKE2B 510e04d23eba15fe3b74c973ef8856851a2cc5b9411273456f631b086af6fa72a4444c1cf4fcd0bb1f59ccc3e551144883181897a8d74736f7e1ed9f16efa303 SHA512 4d869897b98c73e73397032513304116ec1f3740f35831df053e9e80a6d50a5b063034c44269b6c8488119845246f7a4201af6d06ea7611ed988a11564fa0c5a
diff --git a/dev-python/pyfakefs/pyfakefs-5.7.4.ebuild b/dev-python/pyfakefs/pyfakefs-5.7.4.ebuild
deleted file mode 100644
index 7d6aa538d651..000000000000
--- a/dev-python/pyfakefs/pyfakefs-5.7.4.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A fake file system that mocks the Python file system modules"
-HOMEPAGE="
- https://github.com/pytest-dev/pyfakefs/
- https://pypi.org/project/pyfakefs/
-"
-SRC_URI="
- https://github.com/pytest-dev/pyfakefs/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=()
- local EPYTEST_IGNORE=(
- # test for regression with opentimelineio package
- pyfakefs/pytest_tests/segfault_test.py
- # test for regression with undefined package
- pyfakefs/pytest_tests/pytest_fixture_test.py
- )
-
- if ! has_version "dev-python/pandas[${PYTHON_USEDEP}]"; then
- EPYTEST_IGNORE+=(
- pyfakefs/pytest_tests/pytest_reload_pandas_test.py
- )
- fi
-
- case ${EPYTHON} in
- pypy3.11)
- EPYTEST_DESELECT+=(
- # TODO: this test messes up everything
- pyfakefs/tests/fake_filesystem_unittest_test.py::TestDeprecationSuppression::test_no_deprecation_warning
- )
- ;;
- esac
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pyfakefs.pytest_plugin
-}
diff --git a/dev-python/pyfakefs/pyfakefs-5.9.0.ebuild b/dev-python/pyfakefs/pyfakefs-5.9.0.ebuild
deleted file mode 100644
index 855efcd936f0..000000000000
--- a/dev-python/pyfakefs/pyfakefs-5.9.0.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A fake file system that mocks the Python file system modules"
-HOMEPAGE="
- https://github.com/pytest-dev/pyfakefs/
- https://pypi.org/project/pyfakefs/
-"
-SRC_URI="
- https://github.com/pytest-dev/pyfakefs/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # requires *.dist-info/RECORD file that we're stripping
- pyfakefs/tests/fake_filesystem_test.py::RealFileSystemAccessTest::test_add_package_metadata
- )
- local EPYTEST_IGNORE=(
- # test for regression with opentimelineio package
- pyfakefs/pytest_tests/segfault_test.py
- # test for regression with undefined package
- pyfakefs/pytest_tests/pytest_fixture_test.py
- )
-
- if ! has_version "dev-python/pandas[${PYTHON_USEDEP}]"; then
- EPYTEST_IGNORE+=(
- pyfakefs/pytest_tests/pytest_reload_pandas_test.py
- )
- fi
-
- case ${EPYTHON} in
- pypy3.11)
- EPYTEST_DESELECT+=(
- # TODO: this test messes up everything
- pyfakefs/tests/fake_filesystem_unittest_test.py::TestDeprecationSuppression::test_no_deprecation_warning
- # TODO
- pyfakefs/tests/fake_pathlib_test.py::SkipPathlibTest::test_exists
- )
- ;;
- esac
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pyfakefs.pytest_plugin
-}
diff --git a/dev-python/pyfakefs/pyfakefs-5.9.1.ebuild b/dev-python/pyfakefs/pyfakefs-5.9.1.ebuild
index 855efcd936f0..d40a848d4357 100644
--- a/dev-python/pyfakefs/pyfakefs-5.9.1.ebuild
+++ b/dev-python/pyfakefs/pyfakefs-5.9.1.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
distutils_enable_tests pytest
diff --git a/dev-python/pygments/Manifest b/dev-python/pygments/Manifest
index 0aa5e48c24d5..5f09793a7d05 100644
--- a/dev-python/pygments/Manifest
+++ b/dev-python/pygments/Manifest
@@ -1,2 +1 @@
-DIST pygments-2.19.1.tar.gz 4968581 BLAKE2B 24bc120c4709af2f313010ed953a446bc29ee32269d47c3325067fea60c2a945376426a7c8d37e8916cc09e0534c2b6e63f69226768d6afd6e88dac875cc4419 SHA512 f8547b1eb032fb4c0ad15f1bb61bc6d8c25b309e61850a7ebe4e879fefe1ebb0acba53192d1294e8ef243613ba546e1e7ac7474ab1b49b1a1c1551c6733d9ec7
DIST pygments-2.19.2.tar.gz 4968631 BLAKE2B fad9d5c28194761a77f68f5428a6655c78c498917fa7b91d677e0da18a2fe5521a37440ac52bd7eb7578fac50bf4b55e95dd1ac7334644b775b9ca5b3d0f153e SHA512 3ead3a1fa4c7d86b415287949099cb0e5667ea71f7f69aa3de359bbb5c2f234d90fa5a41ec9c74cb041593e465b934d54bbb7dc87669683f04b94dd3aa6ca03c
diff --git a/dev-python/pygments/pygments-2.19.1.ebuild b/dev-python/pygments/pygments-2.19.1.ebuild
deleted file mode 100644
index 08eb6d0adfc3..000000000000
--- a/dev-python/pygments/pygments-2.19.1.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYPI_PN=${PN^}
-PYTHON_FULLY_TESTED=( python3_{11..14} pypy3_11 )
-PYTHON_COMPAT=( "${PYTHON_FULLY_TESTED[@]}" )
-
-inherit distutils-r1 bash-completion-r1 pypi
-
-DESCRIPTION="Pygments is a syntax highlighting package written in Python"
-HOMEPAGE="
- https://pygments.org/
- https://github.com/pygments/pygments/
- https://pypi.org/project/Pygments/
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-
-BDEPEND="
- test? (
- $(python_gen_cond_dep '
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- ' "${PYTHON_FULLY_TESTED[@]}")
- dev-python/wcag-contrast-ratio[${PYTHON_USEDEP}]
- virtual/ttf-fonts
- )
-"
-
-EPYTEST_DESELECT=(
- # fuzzing tests, very slow
- tests/test_basic_api.py::test_random_input
- # incompatibility with python-ctags3, apparently
- # https://github.com/pygments/pygments/issues/2486
- tests/test_html_formatter.py::test_ctags
-)
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_test() {
- if [[ ${EPYTHON} == python3.14* ]] ; then
- EPYTEST_IGNORE+=(
- # https://github.com/python/cpython/issues/133653
- # https://github.com/python/cpython/pull/133813
- tests/test_cmdline.py
- )
- fi
-
- epytest
-}
-
-src_install() {
- distutils-r1_src_install
- newbashcomp external/pygments.bashcomp pygmentize
-}
diff --git a/dev-python/pygments/pygments-2.19.2.ebuild b/dev-python/pygments/pygments-2.19.2.ebuild
index 6dff00e038a9..08eb6d0adfc3 100644
--- a/dev-python/pygments/pygments-2.19.2.ebuild
+++ b/dev-python/pygments/pygments-2.19.2.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
BDEPEND="
test? (
diff --git a/dev-python/pygobject/pygobject-3.50.1.ebuild b/dev-python/pygobject/pygobject-3.50.1.ebuild
index c5490aefbf33..9ff496735cba 100644
--- a/dev-python/pygobject/pygobject-3.50.1.ebuild
+++ b/dev-python/pygobject/pygobject-3.50.1.ebuild
@@ -15,7 +15,7 @@ HOMEPAGE="https://pygobject.gnome.org"
LICENSE="LGPL-2.1+"
SLOT="3"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm ~arm64 hppa ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="+cairo test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/pylibacl/Manifest b/dev-python/pylibacl/Manifest
index 83f751451c69..e97742db03d4 100644
--- a/dev-python/pylibacl/Manifest
+++ b/dev-python/pylibacl/Manifest
@@ -1 +1,2 @@
DIST pylibacl-0.7.2.tar.gz 49337 BLAKE2B fe567b91af89a7ea275a19744d8b344937feebadea0ce1b5a3468772ff02691920e20363b721854addaeed85766a492cef95d36b8f9777b9bbcd8133dc1387d6 SHA512 1393f76548746e04f258ad5c9873078f894e4f6d4d18754373cd800dfd0ef801e706282908c735ab551182acf72d6b1d93d948452c139220115c2f0b73a2d10c
+DIST pylibacl-0.7.3.tar.gz 49494 BLAKE2B 436d4ae0d12a174eae9b4cd85486a5eee7abe9b869443cdd49ab752d6fe79135064ca2b5fa23f52eda28f7c945c8e29ee881a909f5ce9ce96730e892d71bf783 SHA512 7a0dae30bf83acd9a1cb1d4008a6322e537d3e3f2004a6393c499574fa9bed8762c01182df67811e8ae04dfb73b40e4bab14c3f191034519b5d3d9822e9d0880
diff --git a/dev-python/pylibacl/pylibacl-0.7.3.ebuild b/dev-python/pylibacl/pylibacl-0.7.3.ebuild
new file mode 100644
index 000000000000..f632dd440dad
--- /dev/null
+++ b/dev-python/pylibacl/pylibacl-0.7.3.ebuild
@@ -0,0 +1,45 @@
+# 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 distutils-r1 pypi
+
+DESCRIPTION="POSIX ACLs (Access Control Lists) for Python"
+HOMEPAGE="
+ https://pylibacl.k1024.org/
+ https://pypi.org/project/pylibacl/
+ https://github.com/iustin/pylibacl/
+"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+
+DEPEND="
+ sys-apps/acl
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+distutils_enable_sphinx doc \
+ dev-python/recommonmark
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ if ! nonfatal epytest ; then
+ eerror
+ eerror "If you got the following errors:"
+ eerror "\"IOError: [Errno 95] Operation not supported\","
+ eerror "then you should remount the filesystem containing"
+ eerror "build directory with \"acl\" option enabled."
+ eerror
+ die "Tests fail with ${EPYTHON}"
+ fi
+}
diff --git a/dev-python/pylibmc/pylibmc-1.6.3-r1.ebuild b/dev-python/pylibmc/pylibmc-1.6.3-r1.ebuild
index 1a5a16a9ffc7..7b2029759700 100644
--- a/dev-python/pylibmc/pylibmc-1.6.3-r1.ebuild
+++ b/dev-python/pylibmc/pylibmc-1.6.3-r1.ebuild
@@ -39,7 +39,6 @@ PATCHES=(
"${FILESDIR}/pylibmc-1.6.1-fix-test-failures-r1.patch"
)
-distutils_enable_sphinx docs
distutils_enable_tests pytest
# needed for docs
diff --git a/dev-python/pymdown-extensions/Manifest b/dev-python/pymdown-extensions/Manifest
index e2b8dd2d0367..e988cd308765 100644
--- a/dev-python/pymdown-extensions/Manifest
+++ b/dev-python/pymdown-extensions/Manifest
@@ -1,2 +1 @@
-DIST pymdown_extensions-10.15.tar.gz 852320 BLAKE2B e9dea7fe2cd34d211a036b91adccf71ae9783a55d42e99b4778b709d53b4aed430c891d6082146d8a25ef5e13aad12cc2258166df866f50e1f417bd2d726af1d SHA512 164f85932073fbaacd7146efb58083c47853fe9473da497db308cad8a19c81253417d245c2051a4cd21372152955b85ef3686f4e8631215528f9ad50be0bbcd6
DIST pymdown_extensions-10.16.tar.gz 853197 BLAKE2B 10379f3c41d72c8bb39bdc3d972e4dd1348d3fa2beacee9bf3a25dcd996139676b41b2cc65ffd6b6374d6921f9c841d27c1d5152fa7a1367359346a641b0bdf1 SHA512 042033b39190c156d6da7b30f07e6539c49c26e776ec75d79700b26f7204382bffff7d362b45a1d7110cf3c1a027031e9763dcd0de8978328aee2d0461014916
diff --git a/dev-python/pymdown-extensions/pymdown-extensions-10.15.ebuild b/dev-python/pymdown-extensions/pymdown-extensions-10.15.ebuild
deleted file mode 100644
index 7b7f59ab0ddf..000000000000
--- a/dev-python/pymdown-extensions/pymdown-extensions-10.15.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Extensions for Python Markdown"
-HOMEPAGE="
- https://github.com/facelessuser/pymdown-extensions/
- https://pypi.org/project/pymdown-extensions/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/markdown-3.6[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- >=dev-python/pygments-2.19.1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/pymdown-extensions/pymdown-extensions-10.16.ebuild b/dev-python/pymdown-extensions/pymdown-extensions-10.16.ebuild
index 026c59c7ba0f..7b7f59ab0ddf 100644
--- a/dev-python/pymdown-extensions/pymdown-extensions-10.16.ebuild
+++ b/dev-python/pymdown-extensions/pymdown-extensions-10.16.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
RDEPEND="
>=dev-python/markdown-3.6[${PYTHON_USEDEP}]
diff --git a/dev-python/pymongo/pymongo-4.13.1.ebuild b/dev-python/pymongo/pymongo-4.13.1.ebuild
index a16dcd0ea2a9..a248760a04a2 100644
--- a/dev-python/pymongo/pymongo-4.13.1.ebuild
+++ b/dev-python/pymongo/pymongo-4.13.1.ebuild
@@ -23,7 +23,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ~ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
IUSE="doc kerberos +native-extensions +test-full"
RDEPEND="
diff --git a/dev-python/pymongo/pymongo-4.13.2.ebuild b/dev-python/pymongo/pymongo-4.13.2.ebuild
index cff57c860c0c..46a440660996 100644
--- a/dev-python/pymongo/pymongo-4.13.2.ebuild
+++ b/dev-python/pymongo/pymongo-4.13.2.ebuild
@@ -23,7 +23,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~loong ~mips ppc ~ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm ~arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="doc kerberos +native-extensions +test-full"
RDEPEND="
diff --git a/dev-python/pynacl/pynacl-1.5.0-r4.ebuild b/dev-python/pynacl/pynacl-1.5.0-r4.ebuild
index eeb9efbd82d7..692af2fc650c 100644
--- a/dev-python/pynacl/pynacl-1.5.0-r4.ebuild
+++ b/dev-python/pynacl/pynacl-1.5.0-r4.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
DEPEND="
dev-libs/libsodium:=
diff --git a/dev-python/pyopenssl/pyopenssl-25.1.0.ebuild b/dev-python/pyopenssl/pyopenssl-25.1.0.ebuild
index 4bc13b6bca48..203b12568aa2 100644
--- a/dev-python/pyopenssl/pyopenssl-25.1.0.ebuild
+++ b/dev-python/pyopenssl/pyopenssl-25.1.0.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
<dev-python/cryptography-46[${PYTHON_USEDEP}]
diff --git a/dev-python/pypdf/Manifest b/dev-python/pypdf/Manifest
index 0bdea78f1c3b..9b6f5c5c52f4 100644
--- a/dev-python/pypdf/Manifest
+++ b/dev-python/pypdf/Manifest
@@ -1,5 +1,4 @@
-DIST pypdf-5.5.0.gh.tar.gz 8057519 BLAKE2B 4088f1332e7f34d796db899e500729ccabc427e4bbd3fb1d7dd75d3883c546cc2b5facb95e6e54bd9f62367e1fc2a0e208d97bf6e3abc3f3ff2d64a5fe8435b0 SHA512 7e0592395ea673429fadf8308f26209408e1a4931d2544a4497e02e2b222635eb97dd11f0696021e776d0c481d0febd2f9186e0812f70f248e657d4aa1bfc0e7
-DIST pypdf-5.6.0.gh.tar.gz 8060171 BLAKE2B 96bc7df04d5bc0de1c40e09e40e2e672fedf44ad46a641d4646f7b0d134bef468dac85ac4de3e69f31208f80f74b878fd39140602772c8e6bf3899ca528f4822 SHA512 e82618b67e0f06d12305a66dfa03dcee438e8a231f2ac2a2d06dbb1f6b0b046e033febbf98688f47f770a29a03768989cd0b506ad14e7c93ec25bc4e542b49d0
DIST pypdf-5.6.1.gh.tar.gz 8061244 BLAKE2B ce7aaf9e42fe9be23cd34d293cd13aeb26a34885f9934177faad52ab9e0c98065e9c77f95175429ae05a1e7b46d4b4c2bcede209e944ba671e3f097f30b51bb0 SHA512 0abfe61c240c66ba20c1f1714d02aa2d0f1d235c2ba878ac3641a585093af82ebbb925ce7df73d4649d249ba3ef48ace64b480083f669c161319bf24c1030a6a
DIST pypdf-5.7.0.gh.tar.gz 8064655 BLAKE2B 07136de7c9b13a61b2b7e971d06424bcb990e249f4a0298cedaaeba7034c5ef17c003e2e2662e4a7ca30213f334f34e7e4da2beb28c6f24350ca3f924bcdc3be SHA512 b112237b5f65c01be7613564f551ec8923813c379514df6a6340327be3d764e1bc000b928c3f1083e74a3d19b73ea39b46958b5ff5bd53f370161593c2cc7b56
+DIST pypdf-5.8.0.gh.tar.gz 8067499 BLAKE2B f751305906f3eb67fcea972437efd52cea4a8eeaf31ed789f30539f3f07fdcaf6ab6c4b5c61f9dc1371116019ebf58c07510ca4f9bb1c6fc255bf6c7264ac7da SHA512 f7a18f52b2c13d2471b777937834849843251c742bb25767094b2de77cf8de59ebe5ce93b9447d22d7d0d7f0bef7ad3e56dfc0b9d8ae736935229b5896e2b75f
DIST pypdf-sample-files-8c405ece5eff12396a34a1fae3276132002e1753.gh.tar.gz 11748093 BLAKE2B c5989200893b28a3c2062bb024a5cfc6f3389dc259ec129857979fa43469e1274559612b4d555499e2c7e16cf34be07825229932bf4d147fa6d7324d043e97d5 SHA512 c9771129b7668a2fd1fa79bb859ae9213f3d60341cf1b9937ff0eaab0de9bf4c35adcb7b896e93329038dc0f3809a0c697c523f8fe41b43030b0b029a88058e3
diff --git a/dev-python/pypdf/pypdf-5.5.0.ebuild b/dev-python/pypdf/pypdf-5.5.0.ebuild
deleted file mode 100644
index d318e9a36250..000000000000
--- a/dev-python/pypdf/pypdf-5.5.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{11..14} )
-
-inherit distutils-r1
-
-SAMPLE_COMMIT=8c405ece5eff12396a34a1fae3276132002e1753
-DESCRIPTION="Python library to work with PDF files"
-HOMEPAGE="
- https://pypi.org/project/pypdf/
- https://github.com/py-pdf/pypdf/
-"
-SRC_URI="
- https://github.com/py-pdf/pypdf/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
- test? (
- https://github.com/py-pdf/sample-files/archive/${SAMPLE_COMMIT}.tar.gz
- -> ${PN}-sample-files-${SAMPLE_COMMIT}.gh.tar.gz
- )
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~ppc64 x86"
-
-BDEPEND="
- test? (
- dev-python/cryptography[${PYTHON_USEDEP}]
- >=dev-python/pillow-8.0.0[jpeg,jpeg2k,tiff,zlib,${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_unpack() {
- default
- if use test; then
- mv "sample-files-${SAMPLE_COMMIT}"/* "${S}"/sample-files/ || die
- fi
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -o addopts= -m "not enable_socket"
-}
diff --git a/dev-python/pypdf/pypdf-5.6.1.ebuild b/dev-python/pypdf/pypdf-5.6.1.ebuild
index 7f7c606f0d17..d318e9a36250 100644
--- a/dev-python/pypdf/pypdf-5.6.1.ebuild
+++ b/dev-python/pypdf/pypdf-5.6.1.ebuild
@@ -25,7 +25,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 arm64 ~ppc64 x86"
BDEPEND="
test? (
diff --git a/dev-python/pypdf/pypdf-5.7.0.ebuild b/dev-python/pypdf/pypdf-5.7.0.ebuild
index 8baeeebd057d..7e8501141955 100644
--- a/dev-python/pypdf/pypdf-5.7.0.ebuild
+++ b/dev-python/pypdf/pypdf-5.7.0.ebuild
@@ -25,7 +25,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
BDEPEND="
test? (
diff --git a/dev-python/pypdf/pypdf-5.6.0.ebuild b/dev-python/pypdf/pypdf-5.8.0.ebuild
index d318e9a36250..7e8501141955 100644
--- a/dev-python/pypdf/pypdf-5.6.0.ebuild
+++ b/dev-python/pypdf/pypdf-5.8.0.ebuild
@@ -25,7 +25,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 arm64 ~ppc64 x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
BDEPEND="
test? (
@@ -35,6 +35,7 @@ BDEPEND="
)
"
+EPYTEST_PLUGINS=()
EPYTEST_XDIST=1
distutils_enable_tests pytest
@@ -46,6 +47,5 @@ src_unpack() {
}
python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest -o addopts= -m "not enable_socket"
}
diff --git a/dev-python/pyproject-fmt/pyproject-fmt-2.6.0.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-2.6.0.ebuild
index e996b72a16cd..339308b53113 100644
--- a/dev-python/pyproject-fmt/pyproject-fmt-2.6.0.ebuild
+++ b/dev-python/pyproject-fmt/pyproject-fmt-2.6.0.ebuild
@@ -152,7 +152,7 @@ LICENSE+="
|| ( Apache-2.0 Boost-1.0 )
"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
~dev-python/toml-fmt-common-1.0.1[${PYTHON_USEDEP}]
diff --git a/dev-python/pytest-asyncio/Manifest b/dev-python/pytest-asyncio/Manifest
index aca5c2862393..a084730b3e18 100644
--- a/dev-python/pytest-asyncio/Manifest
+++ b/dev-python/pytest-asyncio/Manifest
@@ -1,3 +1,2 @@
DIST pytest_asyncio-0.26.0.tar.gz 54156 BLAKE2B 763053772ff148a80773bb22457bd1a14e23f8b8c10279731ad356b168618a675f5e5ac20eff11bc5db0989a53ca079fbe3fd00d2afdbee41f61848b375b018e SHA512 60cb6e9bf7554b5d94d8e9c3bb8e60fba92ecb2fd4258ea8967eebf5af2b2050913e08917dafeddf4e27ad09bc52c800f38739eed9705330ce70f653bcd765a0
DIST pytest_asyncio-1.0.0.tar.gz 46960 BLAKE2B e72564ea0f125358c16a1dde81b3d139ffee4f698fe6ccde1c7daba83037eea9b405658c4f919220a29329f4691bc00b1ea530eefeba846d93fb4dd0fddb0ce4 SHA512 d3ae6729e1cc798adc0707c0a08ee32bded6430776e224d5565d7e93b51ec05e2ab0e64b9244d4b69e42275b1c73bdea4a3fe5d38edbfc4bf256857e22e41322
-DIST pytest_asyncio-1.0.0a1.tar.gz 46979 BLAKE2B b474a9f448e41551a3823cb391fcf3becdb9650836811bd16e5f76fad8ad6ede81210727d6b8ff0dc91f2ecfc962fc57935006380733d6e5f61363e8e3a34555 SHA512 2f27d02bd44816592e954c3d0c5aa579f77347dfff535436ede04c250794e7d3acb16370526ddf8c8d18a0b2a509aa1dae1cd88d84e463d2289eabf33cb4f737
diff --git a/dev-python/pytest-asyncio/pytest-asyncio-1.0.0.ebuild b/dev-python/pytest-asyncio/pytest-asyncio-1.0.0.ebuild
index 662df986e12c..ad773e146839 100644
--- a/dev-python/pytest-asyncio/pytest-asyncio-1.0.0.ebuild
+++ b/dev-python/pytest-asyncio/pytest-asyncio-1.0.0.ebuild
@@ -16,34 +16,33 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
RDEPEND="
>=dev-python/pytest-8.2[${PYTHON_USEDEP}]
"
BDEPEND="
dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- >=dev-python/hypothesis-5.7.1[${PYTHON_USEDEP}]
- )
"
+EPYTEST_PLUGINS=( hypothesis )
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
EPYTEST_XDIST=1
distutils_enable_tests pytest
python_test() {
local EPYTEST_DESELECT=(
- # rely on precise warning counts
- tests/hypothesis/test_base.py::test_can_use_explicit_event_loop_fixture
- tests/modes/test_strict_mode.py::test_strict_mode_ignores_unmarked_fixture
+ # fail due to mismatched warning count
tests/test_event_loop_fixture.py::test_event_loop_already_closed
tests/test_event_loop_fixture.py::test_event_loop_fixture_asyncgen_error
tests/test_event_loop_fixture.py::test_event_loop_fixture_handles_unclosed_async_gen
- tests/test_event_loop_fixture_finalizer.py::test_event_loop_fixture_finalizer_raises_warning_when_fixture_leaves_loop_unclosed
- tests/test_event_loop_fixture_finalizer.py::test_event_loop_fixture_finalizer_raises_warning_when_test_leaves_loop_unclosed
+ tests/modes/test_strict_mode.py::test_strict_mode_marked_test_unmarked_fixture_warning
+ tests/modes/test_strict_mode.py::test_strict_mode_marked_test_unmarked_autouse_fixture_warning
+ # TODO
+ tests/modes/test_strict_mode.py::test_strict_mode_ignores_unmarked_coroutine
+ tests/modes/test_strict_mode.py::test_strict_mode_ignores_unmarked_fixture
)
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=pytest_asyncio.plugin,_hypothesis_pytestplugin
+ local EPYTEST_PLUGINS=( "${EPYTEST_PLUGINS[@]}" pytest-asyncio )
epytest
}
diff --git a/dev-python/pytest-asyncio/pytest-asyncio-1.0.0_alpha1.ebuild b/dev-python/pytest-asyncio/pytest-asyncio-1.0.0_alpha1.ebuild
deleted file mode 100644
index 7e75b45aa5c8..000000000000
--- a/dev-python/pytest-asyncio/pytest-asyncio-1.0.0_alpha1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 2019-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Library for testing asyncio code with pytest"
-HOMEPAGE="
- https://github.com/pytest-dev/pytest-asyncio/
- https://pypi.org/project/pytest-asyncio/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-
-RDEPEND="
- >=dev-python/pytest-8.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- >=dev-python/hypothesis-5.7.1[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # rely on precise warning counts
- tests/hypothesis/test_base.py::test_can_use_explicit_event_loop_fixture
- tests/modes/test_strict_mode.py::test_strict_mode_ignores_unmarked_fixture
- tests/test_event_loop_fixture.py::test_event_loop_already_closed
- tests/test_event_loop_fixture.py::test_event_loop_fixture_asyncgen_error
- tests/test_event_loop_fixture.py::test_event_loop_fixture_handles_unclosed_async_gen
- tests/test_event_loop_fixture_finalizer.py::test_event_loop_fixture_finalizer_raises_warning_when_fixture_leaves_loop_unclosed
- tests/test_event_loop_fixture_finalizer.py::test_event_loop_fixture_finalizer_raises_warning_when_test_leaves_loop_unclosed
- # flaky
- # https://github.com/pytest-dev/pytest-asyncio/issues/1114
- tests/async_fixtures/test_async_gen_fixtures.py::test_async_gen_fixture_finalized
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=pytest_asyncio.plugin,_hypothesis_pytestplugin
- epytest
-}
diff --git a/dev-python/pytest-datafiles/pytest-datafiles-3.0.0.ebuild b/dev-python/pytest-datafiles/pytest-datafiles-3.0.0.ebuild
index 144be4ea1934..abdc80230d73 100644
--- a/dev-python/pytest-datafiles/pytest-datafiles-3.0.0.ebuild
+++ b/dev-python/pytest-datafiles/pytest-datafiles-3.0.0.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
RDEPEND="
>=dev-python/pytest-3.6[${PYTHON_USEDEP}]
diff --git a/dev-python/pytest-flask/pytest-flask-1.3.0.ebuild b/dev-python/pytest-flask/pytest-flask-1.3.0.ebuild
index f175581b1830..52223759f499 100644
--- a/dev-python/pytest-flask/pytest-flask-1.3.0.ebuild
+++ b/dev-python/pytest-flask/pytest-flask-1.3.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
RDEPEND="
dev-python/flask[${PYTHON_USEDEP}]
diff --git a/dev-python/pytest-lazy-fixtures/Manifest b/dev-python/pytest-lazy-fixtures/Manifest
index d3f35b64b808..85d7055a7513 100644
--- a/dev-python/pytest-lazy-fixtures/Manifest
+++ b/dev-python/pytest-lazy-fixtures/Manifest
@@ -1 +1,3 @@
DIST pytest_lazy_fixtures-1.1.4.tar.gz 7426 BLAKE2B 31b60ced8c9a1d7f6da128f1f70fe52baec92745496d68b5b64adf17108d304f94aa21f8511c5df4cc4e988e92764cc53f93bff3cb20334a1f76ef8299333db0 SHA512 d8547df290741dbafad43dffc08de05423240d27d30534169e51d44465794e57664331298cdfab291ec1cbed93b03e58887eec5b89e78b4dd3c96bbaaa8b4536
+DIST pytest_lazy_fixtures-1.2.0.tar.gz 32602 BLAKE2B 28710fd5c8a9c805de500af3bd474437a2c41ef5b9bcee4fe1fb9b4a1fc95c58d280f10ded722f25b08b14df5649854a1fa67ec587360c6a3fe190579d1bfc3c SHA512 7ba9c61fde2ee61fdf1a728c9aa59749e25c4ad7478ef28ae8afdec7e02e0d0f24ab3c8d30275ba564adbaf7357a056ffd4e634d13e4e2a505d14646c6941c6d
+DIST pytest_lazy_fixtures-1.3.0.tar.gz 33956 BLAKE2B 47954c0368d0082ad519f1e783508ecbb6cb66ce063b8bcc4626adc114d8f7f594d75587eacae9a2a677a678dad3ad7fcae1f4a50488181bad243fc7384873d6 SHA512 4e969dbc9b8badac36fbf5d2ef69949bf2e88a02311a7f6219cdccf7482390290b4a9a96f6a61e49899da5865a6cb0186aed7e21aa352f7908a184e204018376
diff --git a/dev-python/pytest-lazy-fixtures/pytest-lazy-fixtures-1.2.0.ebuild b/dev-python/pytest-lazy-fixtures/pytest-lazy-fixtures-1.2.0.ebuild
new file mode 100644
index 000000000000..e3a942651455
--- /dev/null
+++ b/dev-python/pytest-lazy-fixtures/pytest-lazy-fixtures-1.2.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Allows you to use fixtures in @pytest.mark.parametrize"
+HOMEPAGE="
+ https://github.com/dev-petrov/pytest-lazy-fixtures/
+ https://pypi.org/project/pytest-lazy-fixtures/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/pytest-7[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_PLUGINS=( pytest-lazy-fixtures )
+ epytest
+}
diff --git a/dev-python/pytest-lazy-fixtures/pytest-lazy-fixtures-1.3.0.ebuild b/dev-python/pytest-lazy-fixtures/pytest-lazy-fixtures-1.3.0.ebuild
new file mode 100644
index 000000000000..aa17ff06c346
--- /dev/null
+++ b/dev-python/pytest-lazy-fixtures/pytest-lazy-fixtures-1.3.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Allows you to use fixtures in @pytest.mark.parametrize"
+HOMEPAGE="
+ https://github.com/dev-petrov/pytest-lazy-fixtures/
+ https://pypi.org/project/pytest-lazy-fixtures/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/pytest-7[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # test for pytest-deadfixtures compatibility
+ tests/test_deadfixtures_support.py
+)
+
+python_test() {
+ local EPYTEST_PLUGINS=( pytest-lazy-fixtures )
+ epytest
+}
diff --git a/dev-python/pytest-regressions/pytest-regressions-2.8.1.ebuild b/dev-python/pytest-regressions/pytest-regressions-2.8.1.ebuild
index 9595fd9f809f..a854d9e66171 100644
--- a/dev-python/pytest-regressions/pytest-regressions-2.8.1.ebuild
+++ b/dev-python/pytest-regressions/pytest-regressions-2.8.1.ebuild
@@ -24,6 +24,7 @@ RDEPEND="
dev-python/pyyaml[${PYTHON_USEDEP}]
"
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
distutils_enable_sphinx doc dev-python/sphinx-rtd-theme
@@ -65,6 +66,6 @@ python_test() {
)
fi
- local -x PYTEST_PLUGINS=pytest_datadir.plugin,pytest_regressions.plugin
+ local EPYTEST_PLUGINS=( pytest-{datadir,regressions} )
epytest
}
diff --git a/dev-python/python-dbusmock/Manifest b/dev-python/python-dbusmock/Manifest
index 4a563c068e5e..c12e5696af9e 100644
--- a/dev-python/python-dbusmock/Manifest
+++ b/dev-python/python-dbusmock/Manifest
@@ -1 +1,2 @@
DIST python_dbusmock-0.35.0.tar.gz 111723 BLAKE2B 3ee9e8763c4093e4f912b1dfe1ff77728348473937c0846a183a137068485c7dfd0adaa1fdeb13a3f1be1f5c671f2a89c7ee2a9607a15504eccba141825656d8 SHA512 ac1a55355127ce68f4c849ef410ed4bbfd7ade49c4f0452e284c1eedc08e5eeb3042e37ac8bd6703bde9740accd03b5817094bc9bcaf4f3f3724fc149958de63
+DIST python_dbusmock-0.36.0.tar.gz 111529 BLAKE2B 38ace6e85858d8f6a275872d7b740f81d44db517216bff03360e92644709bfb7885c7b9884b4cd84bf8fa1d3ed0e2c238cdb496544820a73e97d0b4621ac4d6d SHA512 be5fe55c5da7fd0aea57239ab556e2eb668e692c55f2606895dd88bd4d7d0ba406a1e1c86f705b7f87f00204690eb7982b6534a7f85f83400103a78b4d323d5a
diff --git a/dev-python/python-dbusmock/python-dbusmock-0.36.0.ebuild b/dev-python/python-dbusmock/python-dbusmock-0.36.0.ebuild
new file mode 100644
index 000000000000..1f4e01d1cadf
--- /dev/null
+++ b/dev-python/python-dbusmock/python-dbusmock-0.36.0.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Easily create mock objects on D-Bus for software testing"
+HOMEPAGE="
+ https://github.com/martinpitt/python-dbusmock/
+ https://pypi.org/project/python-dbusmock/
+"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ sys-power/upower
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # linter tests, fragile to newer linter versions
+ tests/test_code.py
+)
+
+src_prepare() {
+ # dev-python/dbus-python uses autotools, so no .dist-info there
+ sed -i '/dbus-python/d' pyproject.toml setup.cfg || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # tests are fragile to long socket paths
+ local -x TMPDIR=/tmp
+ # Tests break if XDG_DATA_DIRS is modified by flatpak install
+ unset XDG_DATA_DIRS
+ epytest
+}
diff --git a/dev-python/python-designateclient/Manifest b/dev-python/python-designateclient/Manifest
index e859fc4efa4f..02e5e187bf42 100644
--- a/dev-python/python-designateclient/Manifest
+++ b/dev-python/python-designateclient/Manifest
@@ -1 +1 @@
-DIST python_designateclient-6.2.0.tar.gz 72182 BLAKE2B 1c39a9d4a8a40c153aa5c2ec6896e9e0b30b7291a0f9bdf7cc79a4b4a16d29e2329029e8f1b9802cf1d1c9dd2ac047a2be67d25e696ead44e1958d6b65b5a9b0 SHA512 72995f35cd86dcf70bb623d89f1b51cace5c459db174478f119253fbfe4cc3f40c7a4d049bf65d992b8307bceef8d7619fc6649a52f9ae7f914b432f654fa6c5
+DIST python_designateclient-6.3.0.tar.gz 72386 BLAKE2B 6296b3ad3c516989c363ee4ac4653656330a0c8c3e2df9de8e8844a88d2c53f8926273e2dc6eda207ea95634f48fde22f99e6c6902c77a160db4c6da7037bccf SHA512 7a7eb0b4a310f921eaa68c5258a81bad91a15bb51b26e81f6ab17d34a0ce91817f47912114278a13ae767b5cd8063dea951f59de0f04d389c21371a77e26ba30
diff --git a/dev-python/python-designateclient/python-designateclient-6.2.0.ebuild b/dev-python/python-designateclient/python-designateclient-6.3.0.ebuild
index 76c1cbc3a772..76c1cbc3a772 100644
--- a/dev-python/python-designateclient/python-designateclient-6.2.0.ebuild
+++ b/dev-python/python-designateclient/python-designateclient-6.3.0.ebuild
diff --git a/dev-python/python-dotenv/Manifest b/dev-python/python-dotenv/Manifest
index 7f6c6b00725f..4e69f93ad3ca 100644
--- a/dev-python/python-dotenv/Manifest
+++ b/dev-python/python-dotenv/Manifest
@@ -1,2 +1 @@
-DIST python_dotenv-1.1.0.tar.gz 39920 BLAKE2B 63509d9b31d42564ba5f477c61de26d02cfee30881a4d16928f287de1f67b81da0a6d9382f9d04a218d8f51e0a695f0ef0b5b251a40a29ed94c138408b304f7e SHA512 453f1262d330e1783dae1ef2ac18b998f817203c10705a974b294b79316a4cee68433622b4fa0aff2efed45e5fad04ec1fa4d15434ec1fc57c1c73a2518ef396
DIST python_dotenv-1.1.1.tar.gz 41978 BLAKE2B 730cc1c4e32af4c22664c6ba2ebd93d5fe4b941bac8ec0387d0badf88f9ef84d6c9ae1807396ae8481765c13e70bb5c020e36368442f8d403ce884a8abedbd11 SHA512 c19d427f845ccdeacfdcd312e340139b9744ec3e8874b06b78b3f7b49e43b1024dd4dc85c5d7d79e65308c2924232729cb6a10301dd6f49142e2574956b2c14d
diff --git a/dev-python/python-dotenv/python-dotenv-1.1.0.ebuild b/dev-python/python-dotenv/python-dotenv-1.1.0.ebuild
deleted file mode 100644
index 104b920e39f2..000000000000
--- a/dev-python/python-dotenv/python-dotenv-1.1.0.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Manage .env files"
-HOMEPAGE="
- https://github.com/theskumar/python-dotenv/
- https://pypi.org/project/python-dotenv/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-BDEPEND="
- test? (
- >=dev-python/click-5[${PYTHON_USEDEP}]
- >=dev-python/sh-2[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( CHANGELOG.md README.md )
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
-
-python_install() {
- distutils-r1_python_install
- ln -s dotenv "${D}$(python_get_scriptdir)"/python-dotenv || die
-}
-
-src_install() {
- distutils-r1_src_install
-
- # Avoid collision with dev-ruby/dotenv (bug #798648)
- mv "${ED}"/usr/bin/{,python-}dotenv || die
-}
diff --git a/dev-python/python-dotenv/python-dotenv-1.1.1.ebuild b/dev-python/python-dotenv/python-dotenv-1.1.1.ebuild
index b6c2d1b22b2a..9d2a15ffa23b 100644
--- a/dev-python/python-dotenv/python-dotenv-1.1.1.ebuild
+++ b/dev-python/python-dotenv/python-dotenv-1.1.1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
BDEPEND="
test? (
diff --git a/dev-python/python-manilaclient/Manifest b/dev-python/python-manilaclient/Manifest
index f5e46c4a4f6d..03671db7e71b 100644
--- a/dev-python/python-manilaclient/Manifest
+++ b/dev-python/python-manilaclient/Manifest
@@ -1 +1 @@
-DIST python_manilaclient-5.4.0.tar.gz 389596 BLAKE2B 3383d59b690f5c694b0fc57101b6569f8b41b0f4e7280f170b330f5e0c70f54cd55f491d9a989bc80194a215da2e88ca244e0b954e7d14697c14a3591fc9fa99 SHA512 c8149acbe151884d29fc520c44a80ab6fe6900bd1b40cc3a74a2bcb70fa8b868df5fffd7062e1fde685af171dc27689b77c6199be6cd272f4a1f21bc466dbf96
+DIST python_manilaclient-5.5.0.tar.gz 389835 BLAKE2B 8637355ffc379ec16f61e1b0f578c2ad5322aef72715e5ff101742cedb083c8d8f749c4e9a9ff9f6da66b3a458717a4828d2ba3bab1df86f8a14f21b0ceb7a13 SHA512 dd42607279e4b01dd5333e78c973808763cc7efa54973d04ef1f9a68cd44e7befe738fa7c01aed0a61a723d8bb63b4ef44041bc00f88a2c984f50fcf81d7345e
diff --git a/dev-python/python-manilaclient/python-manilaclient-5.4.0.ebuild b/dev-python/python-manilaclient/python-manilaclient-5.5.0.ebuild
index 6048f72bc9d2..6048f72bc9d2 100644
--- a/dev-python/python-manilaclient/python-manilaclient-5.4.0.ebuild
+++ b/dev-python/python-manilaclient/python-manilaclient-5.5.0.ebuild
diff --git a/dev-python/python-octaviaclient/Manifest b/dev-python/python-octaviaclient/Manifest
index 75a1db2579b3..13c0c522164d 100644
--- a/dev-python/python-octaviaclient/Manifest
+++ b/dev-python/python-octaviaclient/Manifest
@@ -1 +1 @@
-DIST python_octaviaclient-3.10.0.tar.gz 97294 BLAKE2B ca56e662bf0173ad4a922b6fc9f82fbfe7a5cd7488abc2746836db44b6e128e159272a7b9618703aef143c6f50764da5d16cf2142a7730fba9ceb37648c37de6 SHA512 cf867242794e9c79be283915040d5280134da28fa92c4371a9ff94f7c03189e5fe513c5da42cfc9079e3be54234dce868b1770e3869654135a5be159029c7b1c
+DIST python_octaviaclient-3.11.1.tar.gz 97466 BLAKE2B f148eb93dcd10fa2d11b47d2920018666a22a11e9d88b25aea922a7146db3fa333d270311470421e8f677298768f2ac9b16c283e4dfe1f843b960f9dcbac218c SHA512 c9765255cfc69aed781d8d9d04f35e0548cf5a6f8f4cac52ca41f97f0db0e9a87ef5c902f133b233a5246c49c49364e8398173e6bf6d6bfc8cf89ae723de946e
diff --git a/dev-python/python-octaviaclient/python-octaviaclient-3.10.0-r1.ebuild b/dev-python/python-octaviaclient/python-octaviaclient-3.11.1.ebuild
index d78bdeb4e6cf..d78bdeb4e6cf 100644
--- a/dev-python/python-octaviaclient/python-octaviaclient-3.10.0-r1.ebuild
+++ b/dev-python/python-octaviaclient/python-octaviaclient-3.11.1.ebuild
diff --git a/dev-python/python-tests/Manifest b/dev-python/python-tests/Manifest
index 3ddc90e3fd8f..832dd6210816 100644
--- a/dev-python/python-tests/Manifest
+++ b/dev-python/python-tests/Manifest
@@ -6,8 +6,6 @@ DIST Python-3.13.4.tar.xz 22672472 BLAKE2B d453538db82084f490456416829c7d30672e5
DIST Python-3.13.4.tar.xz.asc 963 BLAKE2B 5c594f95a7b74c2191b553f50020cd6db9b400f32af62d12094fa4c449651079a662645de8118a7a661c4ceafceb9ce5bcecbbbf8d6bc80d6657a0247e88e510 SHA512 ba9c1dee0f3bf564e6ac19cbe08cf4fdc3779a04ed8289654f6dda3fba9f07a0937764a12f1e7e2f6d7ff17bb5b86c05b8ea19296a2b98d1c81a48362ccf6104
DIST Python-3.13.5.tar.xz 22856016 BLAKE2B 9caacad8745dcd238b208022cb140a6655ae57ae0b7f5ac88efc84a96635c310102a5de20cbaa43ef3c329f454b142a0a019141279d49a4d657be5682a1d6521 SHA512 2a058072e87b614b204bd1321b2bfa9c4b6614dbd5ded98dc0ee51c0d6b81504f902b7c003ad14295b371a37918f6975dc37d5a9c836dd9c30f8b086e4759193
DIST Python-3.13.5.tar.xz.asc 963 BLAKE2B 2db0162d18129ec42b48393108a72c28e7f8f8c3fa40b2e231c87fe0bdc3c166fb6ca4a1c1dfb3fffe1aa0c2618c7ccb245513beb7a0919b4aaca5ec7eb23b36 SHA512 07c1a2ec2d6ba2805680b7f1dc262fdc5dc3eec4503780ecdc08cd570ccbb5f1efa736ee03c83d36bdb33ce87db06be5892cf5a6eaf4018d5fe78fff99e615ae
-DIST Python-3.14.0b3.tar.xz 23626928 BLAKE2B 354a07abfe838688ca2e02a989864bfd3dfc903b62968125bd0e74c76caa57b1488aace8cf96942f07a29decb89d72c7ca52cb21cdef5948ca79b8f2fdd710e6 SHA512 621bcaf2ae4b6f0ba6c95ef74b5ffb78d8a2a0bb10415fb4c5eab1cad26c63098237944713a7f0812ec3e014ff62cd0f9bd5663e87799fcf1856aa4b937be914
-DIST Python-3.14.0b3.tar.xz.sigstore 5326 BLAKE2B 61bb9e80c2c2149aa43e7f97f472e14b71af1bbbef0641e891bc440e9ddae7b968d525b0d44e152c911a05e5f04ca0a710483dfbf4675d0894f619f0e7190595 SHA512 80feff3997ff99f053ad3d8b8e488e5b952c6e0cdb1fedfcb31a7a72ca67eff60b99d875767df068c8833ec7d40cec53fdc838ce5bb85d330a86283d3057c567
DIST Python-3.14.0b4.tar.xz 23641472 BLAKE2B e894c115d50371e2ecfd5c0cf79f37d3bff230338524bbb2352af8e42d256cd8fe17a38c68769d3125ddcae33500fd151ed64b5641d7f35f4b8968fcae9e31b4 SHA512 faaea000a474430a4ee41bdc95f9a77aa6573354698bc987a7617a6d36eae4b8e7f02ac945eb5b97df8dc62a256725ccd59fec08d4af2bd7b6e8a31ef4f92e2a
DIST Python-3.14.0b4.tar.xz.sigstore 5038 BLAKE2B 95bd040d9be4d746b8d1a5a7486d309783248093b032b85ac5e7e7eaf35caa99b43bf3bf7c3ad69635a7b4f14bf6e42a9ba0b54d19986069b5dc075d17a8ddd5 SHA512 3e2a7a73d5cd98e4e8139ef89bf75c1213459db7634bb57ea2de126ff403e7f9244ec6fca525bcb55b9cd5342cbc80d659772709ebf405d330dcd4f14f93a7cc
DIST python-gentoo-patches-3.11.11.tar.xz 10604 BLAKE2B 6be4c66b0458f7a7085aef976cff3dcb4d114ac0b64fb27327a5693e8d41a77f7eeed718b9c5a1b1961278235ee4cd43497aa3dc27e6e6bed65804b95f667a15 SHA512 ab8113a94949cead34d976179f80c3e0a6686bf2476079a74f97b4d08c24a237500dc7ee09dc3b0ec98d2fbcb138397c73d7e2252e617a957a13999e59115158
@@ -18,5 +16,4 @@ DIST python-gentoo-patches-3.13.3.tar.xz 8336 BLAKE2B 66393886fbd034eb14732e4f81
DIST python-gentoo-patches-3.13.4.tar.xz 8912 BLAKE2B e3d9f2a12f801dc75e09c5301757f35216d712b5e5394f2ec3ce1d79d0cb57571dbca525e3d5c35b90fa059c2b78ee24341b6a51cbe9691deac84c9ee0578824 SHA512 1a7141accb7aa70c7bd8dd12528f7de031dfeab9ff089f3d044da0b7b52461e2d6d7d1467161e0fe1e259d9fa06d70bcf107d86ad3590e8cf73aa1132ef3aaf9
DIST python-gentoo-patches-3.13.5.tar.xz 8916 BLAKE2B 9d985b12af62b8a917cac1dab9576aac099bc81ad954a5de254a14a3c7d2254edcdcfaadc46314b69a1bb76bd30ca8bed7c866c0de3fc3f89aac0f76af344f32 SHA512 5ac92aa3eef82eae5d707ffcb5085ac98bd9bf64f72fc7ac4aa1b12a0c3aa86c57d0f671ca07f46e2250779f4cf4885916e4d175357ad626eca6e41257a027e7
DIST python-gentoo-patches-3.14.0b1.tar.xz 5680 BLAKE2B 514b3edc3025e5bf675d371b5ada17dea426856edf1fb6095c2ee400eae95bd4265ef81fe593ae9338e801e7d0a25b1d5ba2d05ca563fd9dd020114b13575746 SHA512 74289e42cf532b54bb1b66a283ec19156f8a36ba38764209c133842314c9efb2ce2ebcba5aa9213bcf7fc0c8a5ca9b6e7adbd5dbfa4397233136d7cd55f53ee7
-DIST python-gentoo-patches-3.14.0b3.tar.xz 5708 BLAKE2B 14706315eeed5b2e3d13d0479443e7b9153bc4be8510620e54453ac1b81d2baf0156d1ac67fd2927a2b389c7dfe18cc67ce14e7e7d6e01f2cb0ebe255baf462a SHA512 45d1d194efcc08f7e4b4b593604f52abb34b5f6a6b81370540d489d362a61894ddf86ab59c2d5aa67a5293613f081bc50586257060929702914851170f1b37a6
DIST python-gentoo-patches-3.14.0b4.tar.xz 3780 BLAKE2B ad67e213b21bc039bf33c0a2e6d3a4ce5e06179ce167f89d56561834dfb5c5b5b5d7f43f6fe2597e94e4ea5d544bb0b60d38b847bb0c32277a0151f2084f3618 SHA512 e5e6fa02d2d24e46848fa5a79ba7fd8a6703473e3bee257fee7b5c55d5c82fedb29f0ba6de1117c6ca738df3841bae5bb00962ae0290d553020e3617dc557c6d
diff --git a/dev-python/python-tests/python-tests-0.3.14.0_beta3.ebuild b/dev-python/python-tests/python-tests-0.3.13.5.ebuild
index 737704af00c0..926f8d2cdfe2 100644
--- a/dev-python/python-tests/python-tests-0.3.14.0_beta3.ebuild
+++ b/dev-python/python-tests/python-tests-0.3.13.5.ebuild
@@ -4,12 +4,11 @@
EAPI=8
PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-VERIFY_SIG_METHOD=sigstore
inherit python-r1 verify-sig
REAL_PV=${PV#0.}
-MY_PV=${REAL_PV/_beta/b}
+MY_PV=${REAL_PV}
MY_P="Python-${MY_PV%_p*}"
PYVER=$(ver_cut 2-3)t
PATCHSET="python-gentoo-patches-${MY_PV}"
@@ -23,7 +22,7 @@ SRC_URI="
https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
verify-sig? (
- https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.sigstore
+ https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.asc
)
"
S="${WORKDIR}/${MY_P}/Lib"
@@ -41,15 +40,14 @@ RDEPEND="
"
BDEPEND="
${PYTHON_DEPS}
+ verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
"
-# https://www.python.org/downloads/metadata/sigstore/
-VERIFY_SIG_CERT_IDENTITY=hugo@python.org
-VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth
+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{,.sigstore}
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
fi
default
}
diff --git a/dev-python/python-tests/python-tests-3.14.0_beta3.ebuild b/dev-python/python-tests/python-tests-3.14.0_beta3.ebuild
deleted file mode 100644
index 3dbc65e132eb..000000000000
--- a/dev-python/python-tests/python-tests-3.14.0_beta3.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# 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/pytools/Manifest b/dev-python/pytools/Manifest
index 209191e2dd8f..20f0c68b87cb 100644
--- a/dev-python/pytools/Manifest
+++ b/dev-python/pytools/Manifest
@@ -1,4 +1,3 @@
-DIST pytools-2025.1.6.tar.gz 96212 BLAKE2B f9f538f262158d40aed408d094562cad162a60a330b2bf002b898d473a1085c9f7861c5039770733adb938d67327bfb9d11e130a0385c6f6fc9b79fe732e2927 SHA512 b9602d4a4182fd898a7ff1169cd00c6f886a779655b21b1d42f6fd100cc53df2f3c70fed8a3981a57f63f36122ea224b0f17816eb59e85ed3d625c0ae331de99
DIST pytools-2025.1.7.tar.gz 82709 BLAKE2B c76c9feb16a2f580c2b456ade3952a744d234fc984726704455c04fa0adac9882adebad9c80c70f1a1423a33a04cac2edf4d88058c106735d017b9a9d7720a14 SHA512 0ec0f7011051fee05668b92a639ffaa289b2ca03f0e20c0b2d2e2461535b971ccedf9b1134f4923e9989c96ee5fcc0b96d46a3354129952b5869c6059d8af904
DIST pytools-2025.2.1.tar.gz 83997 BLAKE2B e6683b77f8900686ccb1fe92b7d4998472b9293a7eccb18b84a7f5c217af99a95ade39c7f8f3631f5d8d8bb482d72b71d63e2275cb9691139a487f7a6d28703b SHA512 9d2d2324cef4c229fd36b7e15b5dee73eef77215697eaf1c6d1a10ae11d113e73fda2c90651d9d81f68dfd264bbcc8adbf24542977aec636e4e4c6fcebe8a030
-DIST pytools-2025.2.tar.gz 83961 BLAKE2B 17083c3e64de11d42d940d3f844aee5bb852dd426d5a5a9830c187d1fc2962d3c3e7480b8200a5b9e87a291626eb5e12e7d20cbdaaab923b465e56c81ff383eb SHA512 bb8d8c290ed55e2c6309d417eb842c5f04c9e4ac05c8883d34e855097be1ba0808c5d49bfbe970345349e897ec68c362f01edac6668ed94e96185491e618b673
+DIST pytools-2025.2.2.tar.gz 84641 BLAKE2B 942b949ee3d6c0ad27300cd35bb6b8ae44e352943fb7213769e73295cf337164a028a6f58e5f1b4fd427a68b5e877fcb2ce8086cc44f73d0987ffa29c24518d2 SHA512 eaef09ffedec7d73fe9d397502c0f28ad1383f07d68aa8b317c641cc274148a19ea17e1bc07387d4990fce5783031d4040059f0131aaf8660420096a96e27954
diff --git a/dev-python/pytools/pytools-2025.1.6.ebuild b/dev-python/pytools/pytools-2025.1.6.ebuild
deleted file mode 100644
index 5be75604d234..000000000000
--- a/dev-python/pytools/pytools-2025.1.6.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{11..14} )
-PYTHON_REQ_USE='sqlite'
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Collection of tools missing from the Python standard library"
-HOMEPAGE="
- https://mathema.tician.de/software/pytools/
- https://github.com/inducer/pytools/
- https://pypi.org/project/pytools/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~ppc64 ~riscv"
-
-# NB: numpy are an "extra" (optional) deps
-RDEPEND="
- >=dev-python/numpy-1.6[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-2.2[${PYTHON_USEDEP}]
- >=dev-python/siphash24-1.6[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.5[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytools/pytools-2025.1.7.ebuild b/dev-python/pytools/pytools-2025.1.7.ebuild
index 84c30e41a6c7..11b0be5b1662 100644
--- a/dev-python/pytools/pytools-2025.1.7.ebuild
+++ b/dev-python/pytools/pytools-2025.1.7.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
+KEYWORDS="amd64 arm64 ~ppc64 ~riscv"
# NB: numpy are an "extra" (optional) deps
RDEPEND="
diff --git a/dev-python/pytools/pytools-2025.2.ebuild b/dev-python/pytools/pytools-2025.2.2.ebuild
index 84c30e41a6c7..84c30e41a6c7 100644
--- a/dev-python/pytools/pytools-2025.2.ebuild
+++ b/dev-python/pytools/pytools-2025.2.2.ebuild
diff --git a/dev-python/pyudev/metadata.xml b/dev-python/pyudev/metadata.xml
index 6a024c7c6b18..ae69eca66184 100644
--- a/dev-python/pyudev/metadata.xml
+++ b/dev-python/pyudev/metadata.xml
@@ -14,8 +14,5 @@
and service found in modern linux systems.
</longdescription>
- <use>
- <flag name="qt5">Install PyQt5 bindings</flag>
- </use>
<origin>gentoo-staging</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pyudev/pyudev-0.24.3.ebuild b/dev-python/pyudev/pyudev-0.24.3.ebuild
index c2303a74b64c..b4189ad1e7d2 100644
--- a/dev-python/pyudev/pyudev-0.24.3.ebuild
+++ b/dev-python/pyudev/pyudev-0.24.3.ebuild
@@ -14,7 +14,6 @@ SRC_URI="https://github.com/pyudev/pyudev/archive/refs/tags/v${PV}.tar.gz -> ${P
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
-IUSE="qt5"
# Known to fail on test system that aren't exactly the same devices as on CI
#RESTRICT="test"
diff --git a/dev-python/pyzmq/pyzmq-27.0.0.ebuild b/dev-python/pyzmq/pyzmq-27.0.0.ebuild
index 5c9441bd3409..8ae4a9af7da1 100644
--- a/dev-python/pyzmq/pyzmq-27.0.0.ebuild
+++ b/dev-python/pyzmq/pyzmq-27.0.0.ebuild
@@ -23,7 +23,7 @@ SRC_URI="
LICENSE="LGPL-3"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
IUSE="drafts"
# There are additional test failures if zeromq has the draft api enabled, but pyzmq has it disabled.
diff --git a/dev-python/pyzstd/metadata.xml b/dev-python/pyzstd/metadata.xml
index c0f74ac187e2..853174b8f2ab 100644
--- a/dev-python/pyzstd/metadata.xml
+++ b/dev-python/pyzstd/metadata.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>pastalian46@gmail.com</email>
- <name>Takuya Wakazono</name>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
- <origin>gentoo-guru-overlay</origin>
+ <origin>gentoo-staging</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pyzstd/pyzstd-0.17.0.ebuild b/dev-python/pyzstd/pyzstd-0.17.0.ebuild
index 024b0257eeff..a35ec2ac03a4 100644
--- a/dev-python/pyzstd/pyzstd-0.17.0.ebuild
+++ b/dev-python/pyzstd/pyzstd-0.17.0.ebuild
@@ -5,38 +5,45 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{11..14} )
+DISTUTILS_UPSTREAM_PEP517=standalone
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
inherit distutils-r1 pypi
DESCRIPTION="Python bindings to Zstandard (zstd) compression library"
HOMEPAGE="
- https://github.com/Rogdham/pyzstd
+ https://github.com/Rogdham/pyzstd/
https://pypi.org/project/pyzstd/
"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~arm64 ~x86"
-RDEPEND="
+DEPEND="
app-arch/zstd:=
+"
+RDEPEND="
+ ${DEPEND}
$(python_gen_cond_dep '
dev-python/typing-extensions[${PYTHON_USEDEP}]
- ' 3.{11,12})
+ ' 3.11 3.12)
+"
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
"
-DEPEND="${RDEPEND}"
distutils_enable_tests unittest
src_prepare() {
- # we don't need the custom build backend
- sed -i 's/pyzstd_pep517/setuptools.build_meta/' pyproject.toml || die
sed -i "s/'-g0', '-flto'//" setup.py || die
+
distutils-r1_src_prepare
-}
-python_configure_all() {
- DISTUTILS_ARGS=( --dynamic-link-zstd )
+ DISTUTILS_ARGS=(
+ --dynamic-link-zstd
+ --multi-phase-init
+ )
}
python_test() {
diff --git a/dev-python/readthedocs-sphinx-ext/readthedocs-sphinx-ext-2.2.5.ebuild b/dev-python/readthedocs-sphinx-ext/readthedocs-sphinx-ext-2.2.5.ebuild
index e45157b4143e..30ace5aed263 100644
--- a/dev-python/readthedocs-sphinx-ext/readthedocs-sphinx-ext-2.2.5.ebuild
+++ b/dev-python/readthedocs-sphinx-ext/readthedocs-sphinx-ext-2.2.5.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/reportlab/reportlab-4.4.2.ebuild b/dev-python/reportlab/reportlab-4.4.2.ebuild
index 8a8afa1a5665..11e062983fb4 100644
--- a/dev-python/reportlab/reportlab-4.4.2.ebuild
+++ b/dev-python/reportlab/reportlab-4.4.2.ebuild
@@ -20,7 +20,7 @@ SRC_URI+="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
RDEPEND="
dev-python/charset-normalizer[${PYTHON_USEDEP}]
diff --git a/dev-python/resolvelib/metadata.xml b/dev-python/resolvelib/metadata.xml
index cf0508299585..088101daad99 100644
--- a/dev-python/resolvelib/metadata.xml
+++ b/dev-python/resolvelib/metadata.xml
@@ -19,4 +19,5 @@
<bugs-to>https://github.com/sarugaku/resolvelib/issues</bugs-to>
</upstream>
<origin>gentoo-staging</origin>
+ <stabilize-allarches/>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/resolvelib/resolvelib-1.2.0.ebuild b/dev-python/resolvelib/resolvelib-1.2.0.ebuild
index cabbcb6df618..369858845b7c 100644
--- a/dev-python/resolvelib/resolvelib-1.2.0.ebuild
+++ b/dev-python/resolvelib/resolvelib-1.2.0.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="ISC"
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"
BDEPEND="
test? (
diff --git a/dev-python/respx/files/respx-0.22.0-tests-flexibility.patch b/dev-python/respx/files/respx-0.22.0-tests-flexibility.patch
deleted file mode 100644
index ea9e6cd20252..000000000000
--- a/dev-python/respx/files/respx-0.22.0-tests-flexibility.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From 92925950090c28124d191f81f0f0c6a742e6b136 Mon Sep 17 00:00:00 2001
-From: Eli Schwartz <eschwartz@gentoo.org>
-Date: Tue, 8 Jul 2025 00:21:38 -0400
-Subject: [PATCH] tests: support any httpx version
-
-Signed-off-by: Eli Schwartz <eschwartz@gentoo.org>
----
- noxfile.py | 2 +-
- tests/test_api.py | 23 ++++++++++++++++++-----
- 2 files changed, 19 insertions(+), 6 deletions(-)
-
-diff --git a/noxfile.py b/noxfile.py
-index 39fbef4..40fe124 100644
---- a/noxfile.py
-+++ b/noxfile.py
-@@ -7,7 +7,7 @@ nox.options.keywords = "test + mypy"
-
- @nox.session(python=["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"])
- def test(session):
-- deps = ["pytest", "pytest-asyncio", "pytest-cov", "trio", "starlette", "flask"]
-+ deps = ["pytest", "pytest-asyncio", "pytest-cov", "trio", "starlette", "flask", "packaging"]
- session.install("--upgrade", *deps)
- session.install("-e", ".")
-
-diff --git a/tests/test_api.py b/tests/test_api.py
-index 81ca4b2..170389b 100644
---- a/tests/test_api.py
-+++ b/tests/test_api.py
-@@ -7,12 +7,15 @@ from unittest import mock
- import httpcore
- import httpx
- import pytest
-+from packaging.version import Version
-
- import respx
- from respx.models import Route
- from respx.patterns import M
- from respx.router import MockRouter
-
-+httpx_0_28 = Version(httpx.__version__) >= Version('0.28')
-+
-
- async def test_http_methods(client):
- async with respx.mock:
-@@ -214,7 +217,7 @@ async def test_content_variants(client, key, value, expected_content_type):
- {"X-Foo": "bar"},
- {
- "Content-Type": "application/json",
-- "Content-Length": "13",
-+ "Content-Length": "13" if httpx_0_28 else "14",
- "X-Foo": "bar",
- },
- ),
-@@ -223,7 +226,7 @@ async def test_content_variants(client, key, value, expected_content_type):
- {"Content-Type": "application/json; charset=utf-8", "X-Foo": "bar"},
- {
- "Content-Type": "application/json; charset=utf-8",
-- "Content-Length": "13",
-+ "Content-Length": "13" if httpx_0_28 else "14",
- "X-Foo": "bar",
- },
- ),
-@@ -322,19 +325,29 @@ async def test_callable_content(client):
- assert request.called is True
- assert async_response.status_code == 200
- assert async_response.text == "hello world."
-- assert request.calls[-1][0].content == b'{"x":"."}'
-+ if httpx_0_28:
-+ assert request.calls[-1][0].content == b'{"x":"."}'
-+ else:
-+ assert request.calls[-1][0].content == b'{"x": "."}'
-
- respx_mock.reset()
- sync_response = httpx.post("https://foo.bar/jonas/", json={"x": "!"})
- assert request.called is True
- assert sync_response.status_code == 200
- assert sync_response.text == "hello jonas!"
-- assert request.calls[-1][0].content == b'{"x":"!"}'
-+ if httpx_0_28:
-+ assert request.calls[-1][0].content == b'{"x":"!"}'
-+ else:
-+ assert request.calls[-1][0].content == b'{"x": "!"}'
-
-
- async def test_request_callback(client):
- def callback(request, name):
-- if request.url.host == "foo.bar" and request.content == b'{"foo":"bar"}':
-+ if httpx_0_28:
-+ content = b'{"foo":"bar"}'
-+ else:
-+ content = b'{"foo": "bar"}'
-+ if request.url.host == "foo.bar" and request.content == content:
- return respx.MockResponse(
- 202,
- headers={"X-Foo": "bar"},
---
-2.49.0
-
diff --git a/dev-python/respx/respx-0.22.0-r2.ebuild b/dev-python/respx/respx-0.22.0-r1.ebuild
index 84b80eb2e270..decde3e63df0 100644
--- a/dev-python/respx/respx-0.22.0-r2.ebuild
+++ b/dev-python/respx/respx-0.22.0-r1.ebuild
@@ -25,7 +25,7 @@ SLOT="0"
KEYWORDS="amd64 arm64 x86"
RDEPEND="
- >=dev-python/httpx-0.25.0[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.28.0[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
@@ -37,10 +37,6 @@ BDEPEND="
)
"
-PATCHES=(
- "${FILESDIR}"/${PN}-0.22.0-tests-flexibility.patch
-)
-
distutils_enable_tests pytest
python_test() {
diff --git a/dev-python/retrying/Manifest b/dev-python/retrying/Manifest
index 2a4ca576c589..6a517ace3610 100644
--- a/dev-python/retrying/Manifest
+++ b/dev-python/retrying/Manifest
@@ -1,5 +1,2 @@
-DIST retrying-1.3.4.gh.tar.gz 11789 BLAKE2B 8a75a007bfc8333592aa1aed5b7090a44264a3ad46b71d8a494a0033ce94059751e8276c383c7567da8487230ab2877368bed4b15dca6c45cff2d709eebfd6b4 SHA512 80bd19eefdbd8277ec0ba656d1b1d3589b2e3492cbb902c963376b3df475abbe4725c9902426a1784e4dddbd57ea8bc51ea5925a0a72a6f5c11333893314f2c5
-DIST retrying-1.3.5.gh.tar.gz 12165 BLAKE2B 2c90fefc5397b3daf255189193df97b33c497b112ac13b24872a316aae4b459f93c750ef13c1d07ac0980755e0dcdcb9530c6c4947632d3198bf95a6ecaffbc8 SHA512 87ce6a08861cff34022ed39525a84aab73eb62415aab1334ae8433dd1c3e65b13402eeffc8001d5249abfa9b864c658f00af95ff88db3b30f16e8ec50245a543
-DIST retrying-1.3.6.gh.tar.gz 12186 BLAKE2B dc7f95f2f8a6a23f0ef27218f2b99fb71728c0288923e4528e88c1d4459d3e35d56a6c53a2c6c58122606b68fb0b0ca25bc0298fcebf67097b7193eff7af1be9 SHA512 6980d0a1955092401fe890761ad151e6acfd17fabcac82d8846945877f6b23d2bf795a07c7aadef93bbfe22f3c856da1492f92b00ef1848720ba923814212660
DIST retrying-1.3.7.gh.tar.gz 12286 BLAKE2B 1fdf6ce5871ecffb06fd0f662c51565a617aae985dc40f5a7e415a5d089a438400b9c27e52bc802bde2b135ba276d7dbfd5645472a6e52449f2ac81a6ae18ca0 SHA512 fc5d87bfe02b87054e7e576aa38325c44092e76c0391612b391625687e0af679bce1db77929ad6e5f25fe4b0399971ea5421509651f23d5ba80832ba9908a5e7
DIST retrying-1.4.0.gh.tar.gz 12224 BLAKE2B 796f6792eb581b2b426dcbdff57738e32340b12b962e24e362bd7d094063fd9dc9ad55428a476f3d12126660c506c5595a50d690a55ff06dbb100bd2b257ace0 SHA512 8b018c3f253835de40d568410f8c7ae14813bd1616cf8ad3b1d8b47b34359fc9c669958f60c94af3d32961a1369888c531f588a05d0b8af519b357c5ec954c4a
diff --git a/dev-python/retrying/retrying-1.3.4.ebuild b/dev-python/retrying/retrying-1.3.4.ebuild
deleted file mode 100644
index 515010c46be2..000000000000
--- a/dev-python/retrying/retrying-1.3.4.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="General-purpose retrying library"
-HOMEPAGE="
- https://github.com/groodt/retrying/
- https://pypi.org/project/retrying/
-"
-SRC_URI="
- https://github.com/groodt/retrying/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/retrying/retrying-1.3.5.ebuild b/dev-python/retrying/retrying-1.3.5.ebuild
deleted file mode 100644
index 16c7cc8f6ada..000000000000
--- a/dev-python/retrying/retrying-1.3.5.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="General-purpose retrying library"
-HOMEPAGE="
- https://github.com/groodt/retrying/
- https://pypi.org/project/retrying/
-"
-SRC_URI="
- https://github.com/groodt/retrying/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/retrying/retrying-1.3.6.ebuild b/dev-python/retrying/retrying-1.3.6.ebuild
deleted file mode 100644
index 829b8baf4d6b..000000000000
--- a/dev-python/retrying/retrying-1.3.6.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="General-purpose retrying library"
-HOMEPAGE="
- https://github.com/groodt/retrying/
- https://pypi.org/project/retrying/
-"
-SRC_URI="
- https://github.com/groodt/retrying/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
diff --git a/dev-python/retrying/retrying-1.3.7.ebuild b/dev-python/retrying/retrying-1.3.7.ebuild
index 829b8baf4d6b..e7f5ec468d3b 100644
--- a/dev-python/retrying/retrying-1.3.7.ebuild
+++ b/dev-python/retrying/retrying-1.3.7.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~s390 sparc x86"
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
diff --git a/dev-python/rope/Manifest b/dev-python/rope/Manifest
index 490ab93c1c15..7aab7477d06c 100644
--- a/dev-python/rope/Manifest
+++ b/dev-python/rope/Manifest
@@ -1 +1,2 @@
DIST rope-1.13.0.tar.gz 294457 BLAKE2B 6d859f9a5d09734ef90398671a3ef3c8564f2a8b1d03a064d22161ac7deeceefb38849cd6940a53f61f20199c27edc5ef5e88d59336cfd69f4da22685c705356 SHA512 2f150d8b56165dd3cffc3f41d94394b5f44d7d6274859d7b460c6e61b99cb9d9630f3540940fa97bcd1238fa8a799cf9c80f2d9b5b7fd6a690cebabadf775db4
+DIST rope-1.14.0.tar.gz 296801 BLAKE2B 91bb9f38dc8618958e3acbb0d14bb9996851bc0d8160e66fc379ea98aa3afb0b7bfd0d4fa82eff986f7f5df4c579f2d06145294157a2fa25a5297e8b934319f3 SHA512 c6be815e386b7430eb48de0f09d04243bbcbf37b32bac043c8141fa63f6d33ef29809ce1eb37f0f01d0d0032be9a43c02c984a418a796f86da6ce056ac060785
diff --git a/dev-python/rope/rope-1.14.0.ebuild b/dev-python/rope/rope-1.14.0.ebuild
new file mode 100644
index 000000000000..ee99d65d3dc4
--- /dev/null
+++ b/dev-python/rope/rope-1.14.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python refactoring library"
+HOMEPAGE="
+ https://pypi.org/project/rope/
+ https://github.com/python-rope/rope/
+"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE="doc"
+
+RDEPEND="
+ >=dev-python/pytoolconfig-1.2.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/build[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # our venv style confuses this comparison
+ ropetest/contrib/autoimport/utilstest.py::test_get_package_source_typing
+ ropetest/contrib/autoimport/utilstest.py::test_get_package_tuple_typing
+ ropetest/contrib/autoimport/utilstest.py::test_get_package_tuple_compiled
+ # TODO
+ ropetest/contrib/autoimport/autoimporttest.py::TestQueryUsesIndexes::test_search_by_name_like_uses_index
+ ropetest/contrib/autoimport/autoimporttest.py::TestQueryUsesIndexes::test_search_module_like_uses_index
+)
diff --git a/dev-python/rpds-py/rpds-py-0.25.1.ebuild b/dev-python/rpds-py/rpds-py-0.25.1.ebuild
index 19e9c18abfaf..2db25d8cab22 100644
--- a/dev-python/rpds-py/rpds-py-0.25.1.ebuild
+++ b/dev-python/rpds-py/rpds-py-0.25.1.ebuild
@@ -51,7 +51,7 @@ LICENSE="MIT"
# Dependent crate licenses
LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT MPL-2.0 Unicode-3.0"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/rpds/rpds.*.so"
diff --git a/dev-python/scikit-build-core/Manifest b/dev-python/scikit-build-core/Manifest
index 23619e90dcd4..c8fed1c36529 100644
--- a/dev-python/scikit-build-core/Manifest
+++ b/dev-python/scikit-build-core/Manifest
@@ -1,4 +1 @@
-DIST scikit_build_core-0.11.1.tar.gz 273807 BLAKE2B 31615858d82e3edea1cc90d23f2a6905550e0f55ebb500756b60547c2b21d53f02210fca5dc70952066ee87b8f731c318412e00c168eed9a0ed276d43b85b216 SHA512 552e2e3ba72f993c96224069fb288c08166eaf1670c9c981ce0aa567e83b1c7d06cc17cccd7109bcb0586d2327ee592418e79c03af040ea7e5cc4951204eabc2
-DIST scikit_build_core-0.11.3.tar.gz 289852 BLAKE2B ba9522e3eb532a47f06c312463ab39149bb536046f9190aab345e56c115c4388fc6afe4c91eff2309d9d2ecc596fafab03572e252d1f8c6e6d7cf71751d2965d SHA512 e8152de7a3a099b9829ed18f8961213401c01d0428e2983a6bbc89d04a94d837012be26293da36878b38bc74328f12521f8cb8b1949d7709699d1e3d2d107f67
-DIST scikit_build_core-0.11.4.tar.gz 283403 BLAKE2B d374ca93e1d08deb1a3a41dcfb6e6dff934b8ac696ec196b0fa442e909549c5f2e5c1780be9f092ed99e273a9cc9aaed569f77fc97ba21e2b29f6541cd423b98 SHA512 9ec2ef6642660fd9ed8bbc766c5fbb6152117c7079e21efbace09174ede44c8dcdfb26a1252500dde95bed3422fc343741bed018378c1d5738566a4462a4e7a3
DIST scikit_build_core-0.11.5.tar.gz 285500 BLAKE2B 156d0e242ddcf0781d22d9c948af5cf2866e52876b0cac892e4d9ce0a2e70c916ce83c696decac1e1b2e67d98685b1173cd6a9fdd13b0ae96ec70dbcbaa3f775 SHA512 bc3db29b1ffb79b0f99fc34f825a42bd7d82d6ebba8ade3d3c2d5db95c5795313f572b840454c998ddc3e69916807a9dc3d91bb4fa92723a88ee97f61045a7d7
diff --git a/dev-python/scikit-build-core/scikit-build-core-0.11.1.ebuild b/dev-python/scikit-build-core/scikit-build-core-0.11.1.ebuild
deleted file mode 100644
index 3d76ec882566..000000000000
--- a/dev-python/scikit-build-core/scikit-build-core-0.11.1.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 2023-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="Build backend for CMake based projects"
-HOMEPAGE="
- https://github.com/scikit-build/scikit-build-core/
- https://pypi.org/project/scikit-build-core/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-# we always want [pyproject] extra
-RDEPEND="
- app-alternatives/ninja
- dev-build/cmake
- >=dev-python/packaging-23.2[${PYTHON_USEDEP}]
- >=dev-python/pathspec-0.10.1[${PYTHON_USEDEP}]
- >=dev-python/pyproject-metadata-0.5[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/exceptiongroup[${PYTHON_USEDEP}]
- >=dev-python/tomli-1.2.2[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- dev-python/build[${PYTHON_USEDEP}]
- >=dev-python/cattrs-22.2.0[${PYTHON_USEDEP}]
- dev-python/fastjsonschema[${PYTHON_USEDEP}]
- dev-python/pybind11[${PYTHON_USEDEP}]
- >=dev-python/pytest-subprocess-1.5[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local _EPYTEST_DESELECT=(
- # TODO / we don't package validate_pyproject anyway
- tests/test_schema.py::test_compare_schemas
- )
- local EPYTEST_IGNORE=(
- # needs unpackaged validate_pyproject
- tests/test_schema.py
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pytest-subprocess -m "not isolated and not network"
-}
diff --git a/dev-python/scikit-build-core/scikit-build-core-0.11.3.ebuild b/dev-python/scikit-build-core/scikit-build-core-0.11.3.ebuild
deleted file mode 100644
index 3edae724d0f0..000000000000
--- a/dev-python/scikit-build-core/scikit-build-core-0.11.3.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 2023-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="Build backend for CMake based projects"
-HOMEPAGE="
- https://github.com/scikit-build/scikit-build-core/
- https://pypi.org/project/scikit-build-core/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-# we always want [pyproject] extra
-RDEPEND="
- app-alternatives/ninja
- dev-build/cmake
- >=dev-python/packaging-23.2[${PYTHON_USEDEP}]
- >=dev-python/pathspec-0.10.1[${PYTHON_USEDEP}]
- >=dev-python/pyproject-metadata-0.5[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- dev-python/build[${PYTHON_USEDEP}]
- >=dev-python/cattrs-22.2.0[${PYTHON_USEDEP}]
- dev-python/fastjsonschema[${PYTHON_USEDEP}]
- dev-python/pybind11[${PYTHON_USEDEP}]
- >=dev-python/pytest-subprocess-1.5[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local _EPYTEST_DESELECT=(
- # TODO / we don't package validate_pyproject anyway
- tests/test_schema.py::test_compare_schemas
- )
- local EPYTEST_IGNORE=(
- # needs unpackaged validate_pyproject
- tests/test_schema.py
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pytest-subprocess -m "not isolated and not network"
-}
diff --git a/dev-python/scikit-build-core/scikit-build-core-0.11.4.ebuild b/dev-python/scikit-build-core/scikit-build-core-0.11.4.ebuild
deleted file mode 100644
index 3edae724d0f0..000000000000
--- a/dev-python/scikit-build-core/scikit-build-core-0.11.4.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 2023-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="Build backend for CMake based projects"
-HOMEPAGE="
- https://github.com/scikit-build/scikit-build-core/
- https://pypi.org/project/scikit-build-core/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-# we always want [pyproject] extra
-RDEPEND="
- app-alternatives/ninja
- dev-build/cmake
- >=dev-python/packaging-23.2[${PYTHON_USEDEP}]
- >=dev-python/pathspec-0.10.1[${PYTHON_USEDEP}]
- >=dev-python/pyproject-metadata-0.5[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- dev-python/build[${PYTHON_USEDEP}]
- >=dev-python/cattrs-22.2.0[${PYTHON_USEDEP}]
- dev-python/fastjsonschema[${PYTHON_USEDEP}]
- dev-python/pybind11[${PYTHON_USEDEP}]
- >=dev-python/pytest-subprocess-1.5[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local _EPYTEST_DESELECT=(
- # TODO / we don't package validate_pyproject anyway
- tests/test_schema.py::test_compare_schemas
- )
- local EPYTEST_IGNORE=(
- # needs unpackaged validate_pyproject
- tests/test_schema.py
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pytest-subprocess -m "not isolated and not network"
-}
diff --git a/dev-python/scikit-build-core/scikit-build-core-0.11.5.ebuild b/dev-python/scikit-build-core/scikit-build-core-0.11.5.ebuild
index a0e8965ac50c..e0cbc3c55d9c 100644
--- a/dev-python/scikit-build-core/scikit-build-core-0.11.5.ebuild
+++ b/dev-python/scikit-build-core/scikit-build-core-0.11.5.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
# we always want [pyproject] extra
RDEPEND="
diff --git a/dev-python/scipy/scipy-1.15.2.ebuild b/dev-python/scipy/scipy-1.15.2.ebuild
index 77cbef5cdf4d..bbb3f937f2e6 100644
--- a/dev-python/scipy/scipy-1.15.2.ebuild
+++ b/dev-python/scipy/scipy-1.15.2.ebuild
@@ -70,7 +70,7 @@ BDEPEND="
>=dev-python/cython-3.0.8[${PYTHON_USEDEP}]
>=dev-python/meson-python-0.15.0[${PYTHON_USEDEP}]
>=dev-python/pybind11-2.13.2[${PYTHON_USEDEP}]
- >=dev-build/meson-1.1.0
+ >=dev-build/meson-1.5.0
!kernel_Darwin? ( dev-util/patchelf )
virtual/pkgconfig
doc? ( app-arch/unzip )
diff --git a/dev-python/scipy/scipy-1.15.3.ebuild b/dev-python/scipy/scipy-1.15.3.ebuild
index f453eb22305e..37aea6b881f0 100644
--- a/dev-python/scipy/scipy-1.15.3.ebuild
+++ b/dev-python/scipy/scipy-1.15.3.ebuild
@@ -70,7 +70,7 @@ BDEPEND="
>=dev-python/cython-3.0.8[${PYTHON_USEDEP}]
>=dev-python/meson-python-0.15.0[${PYTHON_USEDEP}]
>=dev-python/pybind11-2.13.2[${PYTHON_USEDEP}]
- >=dev-build/meson-1.1.0
+ >=dev-build/meson-1.5.0
!kernel_Darwin? ( dev-util/patchelf )
virtual/pkgconfig
doc? ( app-arch/unzip )
diff --git a/dev-python/scipy/scipy-1.16.0.ebuild b/dev-python/scipy/scipy-1.16.0.ebuild
index ddcf100b1a80..8b87a29e9e61 100644
--- a/dev-python/scipy/scipy-1.16.0.ebuild
+++ b/dev-python/scipy/scipy-1.16.0.ebuild
@@ -37,7 +37,7 @@ else
)"
if [[ ${PV} != *rc* ]] ; then
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc ~x86"
fi
fi
@@ -49,8 +49,7 @@ IUSE="doc +fortran test-rust"
# to actually compile code generated by pythran (headers and such needed).
#
# umfpack is technically optional but it's preferred to have it available.
-DEPEND="
- dev-libs/boost:=
+COMMON_DEPEND="
>=dev-python/numpy-1.23.5:=[lapack,${PYTHON_USEDEP}]
~media-libs/qhull-2020.2:=
sci-libs/arpack:=
@@ -58,8 +57,14 @@ DEPEND="
virtual/cblas
>=virtual/lapack-3.8
"
+# Only boost.math is used, and meson.build doesn't even look up specific boost modules.
+# Exact version is enforced upstream, so building will fail if subslot isn't enforced.
+DEPEND="
+ ${COMMON_DEPEND}
+ dev-libs/boost:0/1.88.0
+"
RDEPEND="
- ${DEPEND}
+ ${COMMON_DEPEND}
dev-python/pillow[${PYTHON_USEDEP}]
"
DEPEND+="
@@ -72,7 +77,7 @@ BDEPEND="
>=dev-python/cython-3.0.8[${PYTHON_USEDEP}]
>=dev-python/meson-python-0.15.0[${PYTHON_USEDEP}]
>=dev-python/pybind11-2.13.2[${PYTHON_USEDEP}]
- >=dev-build/meson-1.1.0
+ >=dev-build/meson-1.5.0
!kernel_Darwin? ( dev-util/patchelf )
virtual/pkgconfig
doc? ( app-arch/unzip )
diff --git a/dev-python/selenium/selenium-4.33.0-r1.ebuild b/dev-python/selenium/selenium-4.33.0-r1.ebuild
index 6690c973616c..88ad7a151bc5 100644
--- a/dev-python/selenium/selenium-4.33.0-r1.ebuild
+++ b/dev-python/selenium/selenium-4.33.0-r1.ebuild
@@ -29,7 +29,7 @@ SRC_URI+="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc ~ppc64 ~riscv ~s390 sparc ~x86"
IUSE="test test-rust"
RESTRICT="!test? ( test )"
diff --git a/dev-python/sphinx-prompt/Manifest b/dev-python/sphinx-prompt/Manifest
index 3a5c1b82b8c2..263fb4042982 100644
--- a/dev-python/sphinx-prompt/Manifest
+++ b/dev-python/sphinx-prompt/Manifest
@@ -1,2 +1 @@
DIST sphinx-prompt-1.10.0.gh.tar.gz 34718 BLAKE2B 463c3320e96b02336bc0b726cee6be1458ddccf61b484083f1694db9d00807650c555e1969a31e13c1e7ed8a92783d9275e7b54766d9e5ae77e617187debb4b5 SHA512 2253896d64a03598743268d3433321032911ce25a40d8a950750fcbd6586425e049c309116bc46b3cb982166f313b579b81dcd0087c8036a55f85d26e1d58cc6
-DIST sphinx-prompt-1.9.0.gh.tar.gz 39458 BLAKE2B 16b646bd0e288da3d2f401650c3131c7c6b9fb27023617717821927c7bd8b8d031f14d82b7dd02c6603f3ece084e766a28022cc418867646d770886cdce538ce SHA512 f9ee34b86ead0eda791ba7d648ae54785c09ca276279197c4632963892a03080e547d1930743d81ddb3b327c912c70a58dea968b1da763c4875ec84014b207f8
diff --git a/dev-python/sphinx-prompt/sphinx-prompt-1.10.0.ebuild b/dev-python/sphinx-prompt/sphinx-prompt-1.10.0.ebuild
index 7455649b4fe6..a326038fbe35 100644
--- a/dev-python/sphinx-prompt/sphinx-prompt-1.10.0.ebuild
+++ b/dev-python/sphinx-prompt/sphinx-prompt-1.10.0.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
dev-python/sphinx[${PYTHON_USEDEP}]
diff --git a/dev-python/sphinx-prompt/sphinx-prompt-1.9.0.ebuild b/dev-python/sphinx-prompt/sphinx-prompt-1.9.0.ebuild
deleted file mode 100644
index 9fcbf29fc778..000000000000
--- a/dev-python/sphinx-prompt/sphinx-prompt-1.9.0.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{11..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Sphinx directive to add unselectable prompt"
-HOMEPAGE="
- https://github.com/sbrunner/sphinx-prompt/
- https://pypi.org/project/sphinx-prompt/
-"
-SRC_URI="
- https://github.com/sbrunner/sphinx-prompt/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # version number relies on git repo, sigh
- # also all dependencies are pinned to exact versions, sigh
- # also huge hack to install package as "sphinx-prompt", sigh
- sed -i \
- -e "/^version =/s:[0-9.]\+:${PV}:" \
- -e '/^\[tool\.poetry\.dependencies\]$/,$s:"[0-9.]\+:"*:' \
- -e '/include.*sphinx-prompt/d' \
- pyproject.toml || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/sphinx-rtd-theme/sphinx-rtd-theme-3.0.2.ebuild b/dev-python/sphinx-rtd-theme/sphinx-rtd-theme-3.0.2.ebuild
index e6612777ac02..afa5ef1cd00f 100644
--- a/dev-python/sphinx-rtd-theme/sphinx-rtd-theme-3.0.2.ebuild
+++ b/dev-python/sphinx-rtd-theme/sphinx-rtd-theme-3.0.2.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/sphinxcontrib-katex/Manifest b/dev-python/sphinxcontrib-katex/Manifest
index a2981c1e98fe..a252999cfae9 100644
--- a/dev-python/sphinxcontrib-katex/Manifest
+++ b/dev-python/sphinxcontrib-katex/Manifest
@@ -1,2 +1,2 @@
-DIST sphinxcontrib-katex-0.9.9.tar.gz 99711 BLAKE2B 75d8e4acd26bb8b83693ea42d8bb05997195252ae34f8484484f094b124ea629b48b2c496d3f7b5252171cda125c63aaf3161c457032f91057662a76a1a40f8d SHA512 aaac916193d01b32e3e10636294abb5285b18f922c7e7c190e0e4dc66f477860058981f50f38a9441323e79be32d9b0585c0e99f90f4074b555229cceb0a8b8f
DIST sphinxcontrib_katex-0.9.10.tar.gz 100194 BLAKE2B e821a4f43d57c65eeb1439fc0067cf1200bfd7135dc05b08bbe65f0c695180be94f3c496d2438735f76af3cb49653312c79856b28960a399e8ae10cc47bac4c4 SHA512 43c62a37383920d9e328f16e10b437ffa8ff0bb2f1b9e282d5b1e02de2f2d54a2222ab7b7f2314a80eca710472808502f0f152344ed11e3a54b42441007d875f
+DIST sphinxcontrib_katex-0.9.11.tar.gz 100476 BLAKE2B 630fc9ae63ad67f0e65d220922ec5e2077933369b7895f7f58575ca262ea1481b568112eaa78d822b9184bc768f5496e936bc1b715c3e6981173c9b9d54a4205 SHA512 426956366977afc6b89a160a1f20bec245a45a6245c994c449440a7ff814e5ca122963be815b57f8a9a5ffdf9e1c3c70be4c1ce05713716df516f4659784900d
diff --git a/dev-python/sphinxcontrib-katex/files/sphinxcontrib-katex-0.9.11_fix_install.patch b/dev-python/sphinxcontrib-katex/files/sphinxcontrib-katex-0.9.11_fix_install.patch
new file mode 100644
index 000000000000..a54293bcb190
--- /dev/null
+++ b/dev-python/sphinxcontrib-katex/files/sphinxcontrib-katex-0.9.11_fix_install.patch
@@ -0,0 +1,28 @@
+diff '--color=auto' -Naur a/pyproject.toml b/pyproject.toml
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -7,7 +7,7 @@
+ ]
+ description = 'A Sphinx extension for rendering math in HTML pages'
+ readme = 'README.rst'
+-license = {file = 'LICENSE'}
++license-files = ['LICENSE']
+ keywords = [
+ 'sphinx',
+ 'latex',
+@@ -19,7 +19,6 @@
+ 'Development Status :: 5 - Production/Stable',
+ 'Intended Audience :: Science/Research',
+ 'Intended Audience :: Developers',
+- 'License :: OSI Approved :: MIT License',
+ 'Operating System :: OS Independent',
+ 'Programming Language :: Python',
+ 'Programming Language :: Python :: 3',
+@@ -179,6 +178,7 @@
+ #
+ # Find all (sub-)modules of the Python package
+ [tool.setuptools.packages.find]
++exclude = ["docs", "tests"]
+
+ [tool.setuptools.dynamic]
+ version = {attr = 'sphinxcontrib.katex.__version__'}
diff --git a/dev-python/sphinxcontrib-katex/sphinxcontrib-katex-0.9.10.ebuild b/dev-python/sphinxcontrib-katex/sphinxcontrib-katex-0.9.10.ebuild
index e2d1eabebaf1..435a37afc9ac 100644
--- a/dev-python/sphinxcontrib-katex/sphinxcontrib-katex-0.9.10.ebuild
+++ b/dev-python/sphinxcontrib-katex/sphinxcontrib-katex-0.9.10.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-python/sphinxcontrib-katex/sphinxcontrib-katex-0.9.9.ebuild b/dev-python/sphinxcontrib-katex/sphinxcontrib-katex-0.9.11.ebuild
index 07326529f87e..96764ac39e8e 100644
--- a/dev-python/sphinxcontrib-katex/sphinxcontrib-katex-0.9.9.ebuild
+++ b/dev-python/sphinxcontrib-katex/sphinxcontrib-katex-0.9.11.ebuild
@@ -1,11 +1,12 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYPI_PN=${PN/-/_}
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
inherit distutils-r1 pypi
@@ -20,8 +21,16 @@ RDEPEND=">=dev-python/sphinx-4.5.0-r1[${PYTHON_USEDEP}]"
DOCS=()
+PATCHES="
+ ${FILESDIR}/${P}_fix_install.patch
+ ${FILESDIR}/${PN}-0.9.10_fix_use_tomli.patch
+"
+
distutils_enable_sphinx docs \
- dev-python/insipid-sphinx-theme
+ dev-python/insipid-sphinx-theme \
+ dev-python/tomli
+
+distutils_enable_tests pytest
src_prepare() {
default
diff --git a/dev-python/sphinxcontrib-mermaid/Manifest b/dev-python/sphinxcontrib-mermaid/Manifest
new file mode 100644
index 000000000000..fc878f5031db
--- /dev/null
+++ b/dev-python/sphinxcontrib-mermaid/Manifest
@@ -0,0 +1 @@
+DIST sphinxcontrib-mermaid-1.0.0.gh.tar.gz 19126 BLAKE2B 669a34187d00d047dc353fecdcc0adf9d5c5d00e5a05a09696dc29927bf89fa3382095cc3fd9246bf2414f68570b3026516a076614f52c7d720738e92bc255b0 SHA512 f19f21aba74e4bb192d2be6b216b711d7ee6fd2393354451146aacb41ded5323fbc9bc8a58b75e5dfe6e102746dba1e1419d166cca15f6d4c33f6ab9940a269c
diff --git a/dev-python/sphinxcontrib-mermaid/metadata.xml b/dev-python/sphinxcontrib-mermaid/metadata.xml
new file mode 100644
index 000000000000..9b562ad93de4
--- /dev/null
+++ b/dev-python/sphinxcontrib-mermaid/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>kangie@gentoo.org</email>
+ <name>Matt Jolly</name>
+ </maintainer>
+ <upstream>
+ <doc>https://sphinxcontrib-mermaid-demo.readthedocs.io/</doc>
+ </upstream>
+ <origin>gentoo-staging</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/sphinxcontrib-mermaid/sphinxcontrib-mermaid-1.0.0.ebuild b/dev-python/sphinxcontrib-mermaid/sphinxcontrib-mermaid-1.0.0.ebuild
new file mode 100644
index 000000000000..587673934aaf
--- /dev/null
+++ b/dev-python/sphinxcontrib-mermaid/sphinxcontrib-mermaid-1.0.0.ebuild
@@ -0,0 +1,47 @@
+# 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="Sphinx spelling extension"
+HOMEPAGE="
+ https://github.com/mgaitan/sphinxcontrib-mermaid
+ https://pypi.org/project/sphinxcontrib-mermaid/
+"
+# pypi does not include test files, so we use the GitHub tarball
+SRC_URI="
+ https://github.com/mgaitan/sphinxcontrib-mermaid/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/sphinx-3.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ dev-python/myst-parser[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
+
+python_test() {
+ distutils_write_namespace sphinxcontrib
+ rm -rf sphinxcontrib || die
+ epytest tests
+}
diff --git a/dev-python/sqlalchemy/sqlalchemy-2.0.41.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.0.41.ebuild
index 57c4f856a6f1..5de4d6d546c7 100644
--- a/dev-python/sqlalchemy/sqlalchemy-2.0.41.ebuild
+++ b/dev-python/sqlalchemy/sqlalchemy-2.0.41.ebuild
@@ -20,7 +20,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="examples +sqlite test"
RDEPEND="
diff --git a/dev-python/starlette/Manifest b/dev-python/starlette/Manifest
index 79021a2c11cc..021289c2e163 100644
--- a/dev-python/starlette/Manifest
+++ b/dev-python/starlette/Manifest
@@ -1,2 +1 @@
-DIST starlette-0.47.0.gh.tar.gz 2582806 BLAKE2B 4272451fed218d7a2ec0ccb9d7d921bce62be01ff28f6cf0e906e221507f345f850ca8fd3e09aedf748b45df36c2692bb6b3abb4058e8bbaf777312765f51281 SHA512 4a53a0e91cbcb67df1e065217a9a905888049d3bbd7a3f39ce392816cebb9e8e4bdd0b269c191e9d6003dc3f306355dd7d50d180c56b904485fffa793ba82e72
DIST starlette-0.47.1.gh.tar.gz 2583032 BLAKE2B e27b59a89a937cb70cbd4df50f2f55df6c07fab318772e3afb1b3143fd57fa61c07a48df6563b61682832852ea4db5f1df3c0cbebd2fd135f8d2d16d23fe3aa9 SHA512 22744f3697448c9327bdb1a6e71f4ea7fd6c1b868bdce1eaaa797e9a8be5dbd81513ae086c7b9d23e8fbf9c57373a43990f4aacf0bebef5c4c6fb626b16d8ab2
diff --git a/dev-python/starlette/starlette-0.47.0.ebuild b/dev-python/starlette/starlette-0.47.0.ebuild
deleted file mode 100644
index 6efaeab9adac..000000000000
--- a/dev-python/starlette/starlette-0.47.0.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1
-
-MY_P=${P/_p/.post}
-DESCRIPTION="The little ASGI framework that shines"
-HOMEPAGE="
- https://www.starlette.io/
- https://github.com/encode/starlette/
- https://pypi.org/project/starlette/
-"
-# no docs or tests in sdist, as of 0.27.0
-SRC_URI="
- https://github.com/encode/starlette/archive/${PV/_p/.post}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- <dev-python/anyio-5[${PYTHON_USEDEP}]
- >=dev-python/anyio-3.6.2[${PYTHON_USEDEP}]
- <dev-python/httpx-0.29[${PYTHON_USEDEP}]
- >=dev-python/httpx-0.22.0[${PYTHON_USEDEP}]
- dev-python/itsdangerous[${PYTHON_USEDEP}]
- dev-python/jinja2[${PYTHON_USEDEP}]
- >=dev-python/python-multipart-0.0.18[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/pytest-8[${PYTHON_USEDEP}]
- dev-python/trio[${PYTHON_USEDEP}]
- )
-"
-
-: ${EPYTEST_TIMEOUT:-180}
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_IGNORE=(
- # Unpackaged 'databases' dependency
- tests/test_database.py
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p anyio
-}
diff --git a/dev-python/starlette/starlette-0.47.1.ebuild b/dev-python/starlette/starlette-0.47.1.ebuild
index 4a98a9e1debd..80540cce0741 100644
--- a/dev-python/starlette/starlette-0.47.1.ebuild
+++ b/dev-python/starlette/starlette-0.47.1.ebuild
@@ -24,7 +24,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
<dev-python/anyio-5[${PYTHON_USEDEP}]
diff --git a/dev-python/tavern/Manifest b/dev-python/tavern/Manifest
index 94410c03021a..1f44bc52c64e 100644
--- a/dev-python/tavern/Manifest
+++ b/dev-python/tavern/Manifest
@@ -1 +1,2 @@
DIST tavern-2.15.0.gh.tar.gz 240494 BLAKE2B df6876138aa661ff4298b00315eef7b75050e24c076f2c33fad55c3c096d8e4593ae396ddfc29fb09e673e56fb2a708b1c16922b85cee272ba8699d1e63603a8 SHA512 b39ee0150cd631ee33132b91cf1c480f0c5c3afb6a7573f3fba3cb59257e61a0a90eee1b05c3e048e33e8646cd16e9300ae2fe4f7f2dbeda32a5cfc0c3c2c575
+DIST tavern-2.16.0.gh.tar.gz 241605 BLAKE2B 1c813c80de9680f700668200961a0cbe3a16c0fc9e169fa32724c35ff518e9b337639f493c586bd23f42aa1cff1fcbca64fac8807a1cdb0925c61a738450f736 SHA512 9bf582e2f118630bd036dcf726fafe4a79092981e77631e82e9be3f1504d73f68bf650be2fb815412e2dc1fc4ab63587801bff646dcc4dd503415c139f47f3d7
diff --git a/dev-python/tavern/tavern-2.16.0.ebuild b/dev-python/tavern/tavern-2.16.0.ebuild
new file mode 100644
index 000000000000..876b69648246
--- /dev/null
+++ b/dev-python/tavern/tavern-2.16.0.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A tool, library, and Pytest plugin for testing RESTful APIs"
+HOMEPAGE="
+ https://github.com/taverntesting/tavern/
+ https://pypi.org/project/tavern/
+"
+SRC_URI="
+ https://github.com/taverntesting/tavern/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/jmespath-1[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4[${PYTHON_USEDEP}]
+ >=dev-python/paho-mqtt-1.3.1[${PYTHON_USEDEP}]
+ >=dev-python/pyjwt-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/pykwalify-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-7[${PYTHON_USEDEP}]
+ >=dev-python/python-box-6[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-6.0.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.22.0[${PYTHON_USEDEP}]
+ >=dev-python/simpleeval-1.0.3[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/colorlog[${PYTHON_USEDEP}]
+ dev-python/faker[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+src_prepare() {
+ # strip unnecessary pins, upstream doesn't update them a lot
+ sed -i -E -e 's:,?<=?[0-9.]+::' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires grpc
+ tests/unit/test_extensions.py::TestGrpcCodes
+ # broken with paho-mqtt-2
+ tests/unit/test_mqtt.py::TestClient::test_context_connection_success
+ )
+ local EPYTEST_IGNORE=(
+ # require grpc*
+ tavern/_plugins/grpc
+ tests/unit/tavern_grpc
+ )
+
+ local EPYTEST_PLUGINS=( tavern )
+ epytest
+}
diff --git a/dev-python/tempest/Manifest b/dev-python/tempest/Manifest
index e7f0c949f688..360ace79d715 100644
--- a/dev-python/tempest/Manifest
+++ b/dev-python/tempest/Manifest
@@ -1,2 +1 @@
-DIST tempest-43.0.0.tar.gz 1164376 BLAKE2B 90b14dbaec468f41a08b50127299915968d53ddb0358e66ff0c4aaf1e4670e67af9905423f9ac81f9e4735ec9b03efd576595132c2f4809bc1e9a0b3d8681aea SHA512 7ed70378ddc2ee70c68c707364061ba6370cfe9bc85db4602512b6f2c163003fb9aea796da04758f0a6d2d2f666af2ace4715303370a5615fefb5886d32ddae5
DIST tempest-44.0.0.tar.gz 1165834 BLAKE2B 909f7ab4ffe2925b3a62bce15a947711cc0ced9a08a81bf477285c08a2a8ebf8c7d8284c5d7bb14184858e9e52a513c4f4db5bb1dd196874711a59d327c56fcd SHA512 859b3ea3eee5717337bd054807c5a7841f5512aab7c312e0ff0123645b18f2411865943651414ded619022059e929607bdc6c05cf352fc233a2974d0c50e6b79
diff --git a/dev-python/tempest/tempest-43.0.0.ebuild b/dev-python/tempest/tempest-43.0.0.ebuild
deleted file mode 100644
index 5387afe54354..000000000000
--- a/dev-python/tempest/tempest-43.0.0.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# 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} )
-
-inherit distutils-r1 multiprocessing pypi
-
-DESCRIPTION="OpenStack Integration Testing"
-HOMEPAGE="
- https://pypi.org/project/tempest/
- https://docs.openstack.org/tempest/latest/
- https://launchpad.net/tempest/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- >dev-python/cliff-2.9.0[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/paramiko-2.7.0[${PYTHON_USEDEP}]
- >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
- >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-utils-4.7.0[${PYTHON_USEDEP}]
- >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-3.12[${PYTHON_USEDEP}]
- >=dev-python/python-subunit-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
- >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.21.1[${PYTHON_USEDEP}]
- >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/defusedxml-0.7.1[${PYTHON_USEDEP}]
- >=dev-python/fasteners-0.16.0[${PYTHON_USEDEP}]
- >=dev-python/testscenarios-0.5.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- test? (
- >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
- dev-python/stestr[${PYTHON_USEDEP}]
- )
-"
-
-src_prepare() {
- # Small subset of tests, which fail as result of not using specific
- # testing environment.
- rm -r tempest/tests/lib/services/volume/v3/ || die
-
- # remove dep on hacking
- rm tempest/tests/test_hacking.py || die
-
- distutils-r1_src_prepare
-}
-
-python_compile() {
- distutils-r1_python_compile
- mv "${BUILD_DIR}"/install/{usr/,}etc || die
-}
-
-python_test() {
- local -x OS_LOG_CAPTURE=1 OS_STDOUT_CAPTURE=1 OS_STDERR_CAPTURE=1
- local -x OS_TEST_TIMEOUT=300
- stestr --test-path ./tempest/tests run --concurrency="$(makeopts_jobs)" ||
- die "Tests failed for ${EPYTHON}"
-}
diff --git a/dev-python/tempest/tempest-44.0.0.ebuild b/dev-python/tempest/tempest-44.0.0.ebuild
index 1054ab1918be..5387afe54354 100644
--- a/dev-python/tempest/tempest-44.0.0.ebuild
+++ b/dev-python/tempest/tempest-44.0.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/tempora/Manifest b/dev-python/tempora/Manifest
index 9c22daebd758..745c2fb92e1c 100644
--- a/dev-python/tempora/Manifest
+++ b/dev-python/tempora/Manifest
@@ -1,2 +1 @@
-DIST tempora-5.8.0.tar.gz 23019 BLAKE2B 698dfd60181612f95ae5f411af0d909dc966c06250871cebc6ccf46caf9b1212814a15ad57ff00a520c16465a55b7f72fc1de51f0b41626f1c6511511d77adcf SHA512 387c08b2ec9b1f8345835f26a95aa47659399c9b2422168e114b2c28331e0ecdf627d0ba41a0279f3d74cb3da1670e3db918d83ccf9e169d3fc962926b4cfee5
DIST tempora-5.8.1.tar.gz 23072 BLAKE2B fc82f096814853bfff5b5634779daf28539b32b2f84fab6d35ac3e8cba1cf9ac6fff9b29bad1ac7ad7ec66f421c60a4e4871554f2430cbcdd4507378f3a1795f SHA512 d53c44f613c6897b3fee09a4e127e261bfc1b63373b0465fce6d8cc21f9fd38a45c1c32ed33acc23a32f1959ca1b88f9377af4b8267ede2a6504a64e208f9d15
diff --git a/dev-python/tempora/tempora-5.8.0.ebuild b/dev-python/tempora/tempora-5.8.0.ebuild
deleted file mode 100644
index 0b95bcd22174..000000000000
--- a/dev-python/tempora/tempora-5.8.0.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Objects and routines pertaining to date and time"
-HOMEPAGE="
- https://github.com/jaraco/tempora/
- https://pypi.org/project/tempora/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-RDEPEND="
- >=dev-python/jaraco-functools-1.20[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-freezer[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p freezer
-}
diff --git a/dev-python/tempora/tempora-5.8.1.ebuild b/dev-python/tempora/tempora-5.8.1.ebuild
index cf95f543e93c..0b95bcd22174 100644
--- a/dev-python/tempora/tempora-5.8.1.ebuild
+++ b/dev-python/tempora/tempora-5.8.1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
RDEPEND="
>=dev-python/jaraco-functools-1.20[${PYTHON_USEDEP}]
diff --git a/dev-python/tornado/Manifest b/dev-python/tornado/Manifest
index 55e6260e95ff..28d6e4870ed7 100644
--- a/dev-python/tornado/Manifest
+++ b/dev-python/tornado/Manifest
@@ -1,3 +1 @@
-DIST tornado-6.4.2.tar.gz 501135 BLAKE2B 875513089ceaa6d1195cd6959e15bfef51cef4a61c55e678e0e60bd1001afa025d452441938a21ad91189d5c4d07c6cf85d0cec0f41e07cf2c4b7b66e0770c25 SHA512 4f4556f0f7db8e13a101254693f92841374114912960d9874948548452cc9b38933292c0e37971fb151a4d9dbcf5ed7563c1505e090a1aef306f1c46f351534d
DIST tornado-6.5.1.tar.gz 509934 BLAKE2B d60479a2baabc10ff5e858efc74be6f42d051032477009c6e9922969bd4ae40c5137a946182ad7c859d4ab3fe8ec51c313067c58638b38d0c0a9690746e40f63 SHA512 af95a8cb1c387824ed3c8f4d01ad982706d5bd142002ac4c839de76955b33411a7560973f898ef7953468b716ad585f0ebd7989d3948201ace1f0d95ebf52811
-DIST tornado-6.5.tar.gz 508968 BLAKE2B 0b7e64292444582c46bf5e9cf36b438adc9c9345757272518e9a96cac33b5ff00c180224b80cb27ece366e5790f384c86f6c870a52faa4fc60cd504fe571d28c SHA512 30c5caa80fcf7d39bee61f58d7940c57cd1834e0f519501dee49b86a3a00122c1a105205a8edb414b39b6088d217e2628fcd9c8c76b1fceddd81ce087aa31f0a
diff --git a/dev-python/tornado/files/tornado-6.3.2-test-timeout-increase.patch b/dev-python/tornado/files/tornado-6.3.2-test-timeout-increase.patch
deleted file mode 100644
index 271880c28469..000000000000
--- a/dev-python/tornado/files/tornado-6.3.2-test-timeout-increase.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-https://bugs.gentoo.org/727934
---- a/tornado/test/simple_httpclient_test.py
-+++ b/tornado/test/simple_httpclient_test.py
-@@ -293,9 +293,9 @@ class SimpleHTTPClientTestMixin(object):
-
- @skipOnTravis
- def test_request_timeout(self: typing.Any):
-- timeout = 0.1
-+ timeout = 5
- if os.name == "nt":
-- timeout = 0.5
-+ timeout = 10
-
- with self.assertRaises(HTTPTimeoutError):
- self.fetch("/trigger?wake=false", request_timeout=timeout, raise_error=True)
diff --git a/dev-python/tornado/tornado-6.4.2.ebuild b/dev-python/tornado/tornado-6.4.2.ebuild
deleted file mode 100644
index 30703b95dd7e..000000000000
--- a/dev-python/tornado/tornado-6.4.2.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python web framework and asynchronous networking library"
-HOMEPAGE="
- https://www.tornadoweb.org/
- https://github.com/tornadoweb/tornado/
- https://pypi.org/project/tornado/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- $(python_gen_cond_dep '
- >=dev-python/pycurl-7.19.3.1[${PYTHON_USEDEP}]
- ' 'python*')
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-6.3.2-test-timeout-increase.patch"
- "${FILESDIR}/${PN}-6.3.2-ignore-deprecationwarning.patch"
-)
-
-src_prepare() {
- # network-sandbox? ipv6?
- sed -i -e 's:test_localhost:_&:' \
- tornado/test/netutil_test.py || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x ASYNC_TEST_TIMEOUT=60
- # Avoid time-sensitive tests
- # https://github.com/tornadoweb/tornado/blob/10974e6ebee80a26a2a65bb9bd715cf858fafde5/tornado/test/util.py#L19
- local -x TRAVIS=1
- local -x NO_NETWORK=1
-
- cd "${T}" || die
- "${EPYTHON}" -m tornado.test.runtests --verbose ||
- die "tests failed under ${EPYTHON}"
-}
diff --git a/dev-python/tornado/tornado-6.5.1.ebuild b/dev-python/tornado/tornado-6.5.1.ebuild
index 4a04bb53a9b1..aebe0bc0accf 100644
--- a/dev-python/tornado/tornado-6.5.1.ebuild
+++ b/dev-python/tornado/tornado-6.5.1.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/tornado/tornado-6.5.ebuild b/dev-python/tornado/tornado-6.5.ebuild
deleted file mode 100644
index 1c88b4ca5917..000000000000
--- a/dev-python/tornado/tornado-6.5.ebuild
+++ /dev/null
@@ -1,60 +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_{9,10,11,12,13} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python web framework and asynchronous networking library"
-HOMEPAGE="
- https://www.tornadoweb.org/
- https://github.com/tornadoweb/tornado/
- https://pypi.org/project/tornado/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- $(python_gen_cond_dep '
- >=dev-python/pycurl-7.19.3.1[${PYTHON_USEDEP}]
- ' 'python*')
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-6.3.2-ignore-deprecationwarning.patch"
-)
-
-src_prepare() {
- # network-sandbox? ipv6?
- sed -i -e 's:test_localhost:_&:' \
- tornado/test/netutil_test.py || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x ASYNC_TEST_TIMEOUT=60
- # Avoid time-sensitive tests
- # https://github.com/tornadoweb/tornado/blob/10974e6ebee80a26a2a65bb9bd715cf858fafde5/tornado/test/util.py#L19
- local -x TRAVIS=1
- local -x NO_NETWORK=1
-
- cd "${T}" || die
- "${EPYTHON}" -m tornado.test.runtests --verbose ||
- die "tests failed under ${EPYTHON}"
-}
diff --git a/dev-python/trimesh/Manifest b/dev-python/trimesh/Manifest
index 135de175e8d6..36bce02c650a 100644
--- a/dev-python/trimesh/Manifest
+++ b/dev-python/trimesh/Manifest
@@ -1,3 +1,2 @@
-DIST trimesh-4.6.12.gh.tar.gz 13637824 BLAKE2B f1dbc1c7963284d4560847872290d09096673cccefce62758bbea9d055c933aff15eced6a279fba88a8b0489a16df6c9e7211a7977488eb719696d465a6ca8f5 SHA512 01f4f0d3b8b1c7621dc19f2e541d68337298133d331b5950a786a0e07bf0fbbeb10777887ce6b49134c670e3d1bd56fcdbc1f08e7d1eb79527e91b6e9b5b01d9
DIST trimesh-4.6.13.gh.tar.gz 13638435 BLAKE2B fe50c34d263e8e7340e21b8eec86a3ee8417e95015b24ea7189369a6c72ba18d81135566748da59c0c0954225a48408cc9761ff8d5e31aec55ce017fc7f19fa3 SHA512 3ac9528acb239cc02e9604d3d26ee89f5656168122ce37f4e50745f115cb6fcb7834de6697057776025cdc7568818c56e8340993e0ae0781b14fa392933f8f94
DIST trimesh-4.7.0.gh.tar.gz 13638727 BLAKE2B 43ef73a3fc095e1b918280b391dab02b6e1251b15f799df8070d6ce2c9f8ef763e3843474b81dae42346bf2857e8111060872b692ed1520e95931f82653e42ed SHA512 059e7a8d503144d686b4d669e9dee267387a6235cd0db93ce78127c129da28e3477ff9cc9cb3af672bbbb4ec396de823c5d07a7fd54b526be5a9ceb843ed86c0
diff --git a/dev-python/trimesh/trimesh-4.6.12.ebuild b/dev-python/trimesh/trimesh-4.6.12.ebuild
deleted file mode 100644
index 71f4a8bbad96..000000000000
--- a/dev-python/trimesh/trimesh-4.6.12.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Python library for loading and using triangular meshes"
-HOMEPAGE="
- https://trimesh.org/
- https://github.com/mikedh/trimesh/
- https://pypi.org/project/trimesh/
-"
-SRC_URI="
- https://github.com/mikedh/${PN}/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~x86"
-
-RDEPEND="
- dev-python/charset-normalizer[${PYTHON_USEDEP}]
- dev-python/colorlog[${PYTHON_USEDEP}]
- dev-python/httpx[${PYTHON_USEDEP}]
- dev-python/jsonschema[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/networkx[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.20[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/pycollada[${PYTHON_USEDEP}]
- dev-python/pyglet[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- >=dev-python/shapely-1.8.2[${PYTHON_USEDEP}]
- dev-python/svg-path[${PYTHON_USEDEP}]
- dev-python/sympy[${PYTHON_USEDEP}]
- dev-python/xxhash[${PYTHON_USEDEP}]
- dev-python/rtree[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mapbox-earcut[${PYTHON_USEDEP}]
- dev-python/pillow[webp,${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_TIMEOUT=1800
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # requires manifold3d
- tests/test_boolean.py::test_multiple_difference
- # timing nonsense
- tests/test_bounds.py::BoundsTest::test_obb_mesh_large
- )
- local EPYTEST_IGNORE=(
- # require pyinstrument
- tests/test_sweep.py
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
-
-pkg_postinst() {
- optfeature_header "${PN} functionality can be extended by installing the following packages:"
- optfeature "making GUI applications with 3D stuff" dev-python/glooey
- optfeature "2D triangulations of polygons" dev-python/mapbox-earcut
- optfeature "loading a number of additional mesh formats" dev-python/meshio
- optfeature "figuring out how much memory we have" dev-python/psutil
- optfeature "marching cubes and other nice stuff" dev-python/scikit-image
-}
diff --git a/dev-python/trimesh/trimesh-4.6.13.ebuild b/dev-python/trimesh/trimesh-4.6.13.ebuild
index c2dcc3343c6b..4c264a6279c3 100644
--- a/dev-python/trimesh/trimesh-4.6.13.ebuild
+++ b/dev-python/trimesh/trimesh-4.6.13.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 ~x86"
RDEPEND="
dev-python/charset-normalizer[${PYTHON_USEDEP}]
diff --git a/dev-python/twisted/twisted-25.5.0.ebuild b/dev-python/twisted/twisted-25.5.0.ebuild
index 51a3d822b5de..687482bf277e 100644
--- a/dev-python/twisted/twisted-25.5.0.ebuild
+++ b/dev-python/twisted/twisted-25.5.0.ebuild
@@ -22,7 +22,7 @@ SRC_URI+="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
IUSE="conch http2 serial ssl test websockets"
RESTRICT="!test? ( test )"
diff --git a/dev-python/txaio/Manifest b/dev-python/txaio/Manifest
index 17b839fdb00d..c9eeb0676c61 100644
--- a/dev-python/txaio/Manifest
+++ b/dev-python/txaio/Manifest
@@ -1,3 +1 @@
-DIST txaio-23.1.1.tar.gz 53704 BLAKE2B 1c12892c34cc848732d718a715e83059a6be0973cbabe619639c67d230b0d4e55b4e6d1b13baa05b13fe9faa266dadb6f2913bc01491af381fde5ca78ce6941e SHA512 41320501ec3e2555edc63326f2c5ee9bbc2fd103198a515b6dc4c44603a41d633c99a8f12c92ffc85f43546f0382d40f0c9748b13f7a7e70d98c5c4a2de85e2e
-DIST txaio-23.6.1.tar.gz 58613 BLAKE2B e814b33a86132b43a62ea41580b88fa84548951cdb354b213e407f72e3896079b690c94776790a4c63690a2d18c50018340d816295c112cdeb64793b3cbccb39 SHA512 c2312128e01b6978d7c09b29a35adca5a7a45b693737a274c22545120bf2e54ce41ee975bd4422671a5250105196431a179d28af820f30e008acc0ea4a08eede
DIST txaio-25.6.1.tar.gz 58709 BLAKE2B b1dd0801752c16753238d5afa2c5f7f96cc684ff5d5cc1764715f768a589dfd2b488bb3450eac7e7c7228dbb8bebf7770ed2da1303b6bd815edcae9058340767 SHA512 70ebf010c8baf9a374437ef6670215fef29a27f9b15839181031149e712ecb2a9bfeb0554df1a223f1f073d76de38497e01e2e5289622a9249740afc663b4dfb
diff --git a/dev-python/txaio/txaio-23.1.1.ebuild b/dev-python/txaio/txaio-23.1.1.ebuild
deleted file mode 100644
index 5a358a587333..000000000000
--- a/dev-python/txaio/txaio-23.1.1.ebuild
+++ /dev/null
@@ -1,41 +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} )
-
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="Compatibility API between asyncio/Twisted/Trollius"
-HOMEPAGE="
- https://github.com/crossbario/txaio/
- https://pypi.org/project/txaio/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- test? (
- dev-python/test[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs \
- '>=dev-python/sphinxcontrib-spelling-2.1.2' \
- '>=dev-python/sphinx-rtd-theme-0.1.9'
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # we certainly don't need to test "python setup.py sdist" here
- test/test_packaging.py
-)
-
-pkg_postinst() {
- optfeature "Twisted support" "dev-python/twisted dev-python/zope-interface"
-}
diff --git a/dev-python/txaio/txaio-23.6.1.ebuild b/dev-python/txaio/txaio-23.6.1.ebuild
deleted file mode 100644
index d467ca17e1a1..000000000000
--- a/dev-python/txaio/txaio-23.6.1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="Compatibility API between asyncio/Twisted/Trollius"
-HOMEPAGE="
- https://github.com/crossbario/txaio/
- https://pypi.org/project/txaio/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- test? (
- dev-python/test[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # we certainly don't need to test "python setup.py sdist" here
- test/test_packaging.py
-)
-
-pkg_postinst() {
- optfeature "Twisted support" "dev-python/twisted dev-python/zope-interface"
-}
diff --git a/dev-python/txaio/txaio-25.6.1.ebuild b/dev-python/txaio/txaio-25.6.1.ebuild
index d467ca17e1a1..bbdb1ce4d345 100644
--- a/dev-python/txaio/txaio-25.6.1.ebuild
+++ b/dev-python/txaio/txaio-25.6.1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 arm arm64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/types-docutils/Manifest b/dev-python/types-docutils/Manifest
index cb815eb1392a..5ae6b66582a4 100644
--- a/dev-python/types-docutils/Manifest
+++ b/dev-python/types-docutils/Manifest
@@ -1,3 +1,4 @@
DIST types_docutils-0.21.0.20250604.tar.gz 40953 BLAKE2B 35ca47bb71ece85f2786396d224835f74592ec2e7278f6c0459bea8451a4ee7c9299be1fcaa2a8d41a6c0d8a1abacbb72403611069ef24df9940330682c01103 SHA512 84ee5f87686bc75e0e41437b05a23932de4e92a179bc19763bb6cc823b31e8055f143e27d74fd77d1752b945d56db0979ab9a418f8edf63aeb195b621620c0ba
DIST types_docutils-0.21.0.20250708.tar.gz 42011 BLAKE2B bae246422aff90ff0ef9b3403c4cd57c87609d7ea68d21f7d3d55a8f2f088751ce52a88c1c73d82f9acc2bf96adb83a0cd93eb8dc20f14b434b8a5cec476439a SHA512 788e557828421997846573dbf5ca1c741105751f83f85c90373323923a2d57d15d2e7e12078f8f74804a1dac3e03a06989cda13c8e7d9a2896d937d2fff925dc
DIST types_docutils-0.21.0.20250710.tar.gz 42077 BLAKE2B 8e7b9bac166a54a9df0d6c64e585b3a4e8132886e60242d7afb684087bdb6c7e5a3221931c9d27f34cb5a339c49361a98e602963874e8685a3391977993b2979 SHA512 1c1bd2711a196aa54511f8d68f69feee05cebfcd6a05dcf6311aff1645dde8f1157f935481a81e4ffac404151a610be4bf9bcd1641be22c93c5466c18f59c99d
+DIST types_docutils-0.21.0.20250715.tar.gz 44342 BLAKE2B cfbbcd8529fb47b36f6a089036899a20877848bce62e93859daa22b7206ddc7e237894c2bbbc4783a8401103e5cad75ce34bf192730d52b7064ce8b9df5ff4cb SHA512 6249520bc371d7fe828890428a4425baed9aca7f37a4b44481960746378cf6eea6d3342da0f56c5230515efe54825dca76a20a33501db34da3546b1d10daf042
diff --git a/dev-python/types-docutils/types-docutils-0.21.0.20250715.ebuild b/dev-python/types-docutils/types-docutils-0.21.0.20250715.ebuild
new file mode 100644
index 000000000000..9fdbbf2b35dd
--- /dev/null
+++ b/dev-python/types-docutils/types-docutils-0.21.0.20250715.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/types-gdb/Manifest b/dev-python/types-gdb/Manifest
index 0677eb4f2851..ed67746af073 100644
--- a/dev-python/types-gdb/Manifest
+++ b/dev-python/types-gdb/Manifest
@@ -1 +1,2 @@
DIST types_gdb-15.0.0.20250516.tar.gz 20215 BLAKE2B 0c34c6ea42eec6984cd00767d69c9d20545e6b4b4bee2e47167d849136440ae6c7d866c5dea4abda1f9e1d6937d01e102249038825541ab5780cfcb1597dad96 SHA512 e0324a251ff9068cc595177d82e144aca7129c04bc15020baa1255134cabccc66b57c03147876550fa2702052b53813ff386511579c812b899376ca9b6f54ed0
+DIST types_gdb-15.0.0.20250713.tar.gz 24478 BLAKE2B 2aa5ed6644ea3c1afef8751805196228041c772e247992205297da69a5dbda2fab6edd8f6ba9897733372c6a0c14720f80019175c3a7f5d9e26c1e80a4f0eeab SHA512 9e0c90b34721be0b3d5bb3c876ccddd58d67c5c20cc5fcdca0f7704f8f51d36940322465d2e66e616a0feaea4b2ef0d69fe0f503f2e7b803c267208a18354920
diff --git a/dev-python/types-gdb/types-gdb-15.0.0.20250713.ebuild b/dev-python/types-gdb/types-gdb-15.0.0.20250713.ebuild
new file mode 100644
index 000000000000..5249cc2ff879
--- /dev/null
+++ b/dev-python/types-gdb/types-gdb-15.0.0.20250713.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 gdb"
+HOMEPAGE="https://pypi.org/project/types-gdb/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
diff --git a/dev-python/typing-inspection/typing-inspection-0.4.1.ebuild b/dev-python/typing-inspection/typing-inspection-0.4.1.ebuild
index d7ef4fe64132..a71502262cb6 100644
--- a/dev-python/typing-inspection/typing-inspection-0.4.1.ebuild
+++ b/dev-python/typing-inspection/typing-inspection-0.4.1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
>=dev-python/typing-extensions-4.12.0[${PYTHON_USEDEP}]
diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest
index 1097e5ba3010..f29784dab183 100644
--- a/dev-python/uv-build/Manifest
+++ b/dev-python/uv-build/Manifest
@@ -1,3 +1,4 @@
DIST uv_build-0.7.13.tar.gz 310547 BLAKE2B 37a07d3aae9e5c1a1d8c187157473ab4c0bc65779751d2848c2d46228cef9ccb1b7e040f3330f3660b163a5fbf84acbd2433371d7d05014e53716297762bfe24 SHA512 44026e1139c95d082871a93d7d456684b07aa0b8f34609aabf1b7a74a81431a6811973e141cdc98c377b65e06b8ed56c6ca2393688132b6813363a00e622a911
DIST uv_build-0.7.19.tar.gz 311467 BLAKE2B a7e85c3bbaee786ed9729b1331e5506eeb95d4ee875502814555956611449501f6b1c62284945640a2ce95f225a1b1c151b47d17c0d303599fe69bffc4ab8e5c SHA512 c3bc554dd9d86bfdb1e9ebf042d8c00987a790da9d386eb371dcc1bc7cd1c0000ae69a4d1e5f1759ed723d78eed73a461bae26d5047bdb0c0bb75f450fdc009a
DIST uv_build-0.7.20.tar.gz 312893 BLAKE2B 0d675422d95cebebb25241b2d09568d7ca978c7598c5148841abbc228980d0bdd4ef6af977e4258e438474311d3ad13fdecb6c213b21bb4022d4b986ffc69cbd SHA512 bc2ef4f11af2c35e442b8ebc9c0edd0354924007d5d5151a6d3509c827fa3cc0702d372cc2129d4ebe3b98187c151cd30833f15a9cf59955901fcd6209f169b0
+DIST uv_build-0.7.21.tar.gz 314858 BLAKE2B 401135336e5ea8a58263562b398a2f0fd4d1ad8bf81b576d53d7006cc2c19042206fa2557ccf63cef132acd1b76b2ad8c39ebc8b997f35dbc8f8fe316738fca5 SHA512 51a285944e50ce7448e668f7f3c2209a51d9a62841bf8e2f5b0b9eeb355b75ff64e5d61d94c6974369119c0d654600d0f07637b41e35a81bac56d5de5730f6bf
diff --git a/dev-python/uv-build/uv-build-0.7.21.ebuild b/dev-python/uv-build/uv-build-0.7.21.ebuild
new file mode 100644
index 000000000000..6156796bc3d2
--- /dev/null
+++ b/dev-python/uv-build/uv-build-0.7.21.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 4fb5e9b85f67..0679a5c3a2f0 100644
--- a/dev-python/uv/Manifest
+++ b/dev-python/uv/Manifest
@@ -8,3 +8,5 @@ DIST uv-0.7.19-crates.tar.xz 58207040 BLAKE2B 0e8761c020d5931f3ed134482fac5130b2
DIST uv-0.7.19.gh.tar.gz 4120134 BLAKE2B 39fc4a5e9ac753f3bd328f715ca8e3e06177ffefda73eff41e565bd58e4d0c48e2f89d5e887f8efab4de73d1d51cd37c3de106d7b29e5bd2d496e993a05d078d SHA512 c86cd70422a4ac2eb549258c1ab763e12b8cc32afb30a4ca7ec926f7b40b352468c3bf9fddb14fcf4e3c043be088211c37ee43d384d5651ca39922de927a1372
DIST uv-0.7.20-crates.tar.xz 58360308 BLAKE2B c363158cbc522420e5314017151aab27e9a839dc7cf5aa03a7388637f40ef8e1fe6a12d32a26b42c245a7ea0528be52985b8f4dd0a293dc8ceadd07a50be2b0b SHA512 928f94a44b0f81797e6a522b0530bf176107e56b5499aecfa27820696801d7b54f68bb55caa41e31c0696b4f648ea74103f6de1d29c469d13f56b34c708636c1
DIST uv-0.7.20.gh.tar.gz 4127300 BLAKE2B ec33a3d112e15508a7f98f7824885bc9319f0ac6197eabbc6f2b16bcb3c1efcd71f5599947c0f79060cdb95e824b783f0b69da0161a2b8cde8fc35d4aaf7263b SHA512 5a99b6fc216cf0c25865832f630487ead61a7ec313416151a7aa43c4aba08d653b8e198d537d59b6f42f30d494a3c5025fc87f96f28402f69a3a01d00c2036c2
+DIST uv-0.7.21-crates.tar.xz 58688248 BLAKE2B 83bbe7dd3ffe4b7ad439ba3ce56b1ce84bad15433a03e509412da67ac3f41725b0d9d5e8fc9d15860eafb60b0d0fa9061a92fa69f06080583e7e3b31bbbf17e7 SHA512 cf2925f6083439aac2a41dff4e863681c1cb88250693f870904e7b0ed7f11399539c444da1a9a257d5092b38800f63fbeda546dd9c9fa78f43d25fb1f5c905da
+DIST uv-0.7.21.gh.tar.gz 4149924 BLAKE2B 8787ec9f3b38e643919f2b3aa8ece5fd27429306933e70b9c9c5dd21f98e828da63475423f658302149bb26682b84b8821ef987e5d952858f201074d2fe0ba13 SHA512 34e7df50d8e306bd616d203846e96ad76adb0d73cf29f68fc26a79ca5bc85448aceacb8ea2b75b29ac77475ee02ba10f3ec456a43567afd871ee0c1c4b27367d
diff --git a/dev-python/uv/uv-0.7.21.ebuild b/dev-python/uv/uv-0.7.21.ebuild
new file mode 100644
index 000000000000..7bf50e6c7f2a
--- /dev/null
+++ b/dev-python/uv/uv-0.7.21.ebuild
@@ -0,0 +1,184 @@
+# 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/astral-sh/rs-async-zip;c909fda63fcafe4af496a07bfda28a5aae97e58d;rs-async-zip-%commit%'
+ [pubgrub]='https://github.com/astral-sh/pubgrub;06ec5a5f59ffaeb6cf5079c6cb184467da06c9db;pubgrub-%commit%'
+ [reqwest-middleware]='https://github.com/astral-sh/reqwest-middleware;ad8b9d332d1773fde8b4cd008486de5973e0a3f8;reqwest-middleware-%commit%/reqwest-middleware'
+ [reqwest-retry]='https://github.com/astral-sh/reqwest-middleware;ad8b9d332d1773fde8b4cd008486de5973e0a3f8;reqwest-middleware-%commit%/reqwest-retry'
+ [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
+
+ # replace upstream crate substitution with our crate substitution, sigh
+ local pkg
+ for pkg in reqwest-middleware reqwest-retry; do
+ local dep=$(grep "^${pkg}" "${ECARGO_HOME}"/config.toml || die)
+ sed -i -e "/\[patch\.crates-io\]/,\$s;^${pkg}.*$;${dep};" Cargo.toml || die
+ done
+
+ # force thin lto, makes build much faster and less memory hungry
+ # (i.e. makes it possible to actually build uv on 32-bit PPC)
+ sed -i -e '/lto/s:fat:thin:' Cargo.toml || die
+
+ # enable system libraries where supported
+ export ZSTD_SYS_USE_PKG_CONFIG=1
+ # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys?
+
+ # remove unbundled sources, just in case
+ find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die
+
+ # bzip2-sys requires a pkg-config file
+ # https://github.com/alexcrichton/bzip2-rs/issues/104
+ mkdir "${T}/pkg-config" || die
+ export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}}
+ cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die
+ Name: bzip2
+ Version: 9999
+ Description:
+ Libs: -lbz2
+ EOF
+}
+
+src_configure() {
+ local myfeatures=(
+ git
+ pypi
+ python
+ )
+
+ cargo_src_configure --no-default-features
+}
+
+src_compile() {
+ cd crates/uv || die
+ cargo_src_compile
+}
+
+src_test() {
+ # work around https://github.com/astral-sh/uv/issues/4376
+ local -x PATH=${BROOT}/usr/lib/python-exec/python3.12:${PATH}
+ local -x COLUMNS=100
+ local -x PYTHONDONTWRITEBYTECODE=
+ # fix tests failing because of our config
+ local -x XDG_CONFIG_DIRS=${T}
+
+ cd crates/uv || die
+ cargo_src_test --no-fail-fast
+}
+
+src_install() {
+ cd crates/uv || die
+ cargo_src_install
+
+ insinto /etc/xdg/uv
+ newins - uv.toml <<-EOF || die
+ # These defaults match Fedora, see:
+ # https://src.fedoraproject.org/rpms/uv/pull-request/18
+
+ # By default ("automatic"), uv downloads missing Python versions
+ # automatically and keeps them in the user's home directory.
+ # Disable that to make downloading opt-in, and especially
+ # to avoid unnecessarily fetching custom Python when the distro
+ # package would be preferable. Python builds can still be
+ # downloaded manually via "uv python install".
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-downloads
+ python-downloads = "manual"
+
+ # By default ("managed"), uv always prefers self-installed
+ # Python versions over the system Python, independently
+ # of versions. Since we generally expect users to use that
+ # to install old Python versions not in ::gentoo anymore,
+ # this effectively means that uv would end up preferring very
+ # old Python versions over the newer ones that are provided
+ # by the system. Default to using the system versions to avoid
+ # this counter-intuitive behavior.
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-preference
+ python-preference = "system"
+ EOF
+}
diff --git a/dev-python/versioningit/Manifest b/dev-python/versioningit/Manifest
index cf23bea47c8e..e417dd668126 100644
--- a/dev-python/versioningit/Manifest
+++ b/dev-python/versioningit/Manifest
@@ -1,2 +1 @@
-DIST versioningit-3.2.0.tar.gz 217086 BLAKE2B 7989ce8fbdf469fefbd9d26533ee212f8e0fb62e7d29af51df3f7cd42e6f5845db0264ce50d044cd53e22c18469295660a7bffe83e8571d5ee4466516838ee61 SHA512 084a457b7142139f71121f76769adf2ba1672339cdd90e0c3c02a611c19d8db7b0833f9ec4395af57ea794592e2fda1815f4de4a86a7d6fd2996f2b2fba9f70c
DIST versioningit-3.3.0.tar.gz 220280 BLAKE2B 702f8287f8f31eb56cd9901af594193a2f7b3c066e7e077df6905ee320261b356437978999eb1556155c942343a313184973ffa3fd2afb12fbd2d0ad41ba66fd SHA512 dee8884d2be9730f7e4ed8f6e38966b1786ffa82ad62fb8d5527db4552a756d4cf9145ea2ef7c02ea1f48115f4deee0578629ea75c4a46517ee5aa159e2b73d7
diff --git a/dev-python/versioningit/versioningit-3.2.0.ebuild b/dev-python/versioningit/versioningit-3.2.0.ebuild
deleted file mode 100644
index 7fc0b10dd5a3..000000000000
--- a/dev-python/versioningit/versioningit-3.2.0.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_FULLY_TESTED=( pypy3_11 python3_{11..13} )
-PYTHON_COMPAT=( "${PYTHON_FULLY_TESTED[@]}" )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A setuptools plugin for versioning based on git tags"
-HOMEPAGE="
- https://github.com/jwodder/versioningit/
- https://pypi.org/project/versioningit/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/packaging-17.1[${PYTHON_USEDEP}]
- dev-vcs/git
-"
-BDEPEND="
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/pydantic[${PYTHON_USEDEP}]
- ' "${PYTHON_FULLY_TESTED[@]}")
- )
-"
-
-EPYTEST_IGNORE=(
- # Tries to do wheel/pip installs
- test/test_end2end.py
-)
-
-distutils_enable_tests pytest
-
-python_test() {
- if ! has "${EPYTHON/./_}" "${PYTHON_FULLY_TESTED[@]}"; then
- EPYTEST_IGNORE+=(
- # Needs pydantic
- test/test_methods/test_hg.py
- test/test_methods/test_git.py
- )
- fi
-
- epytest -o addopts=
-}
diff --git a/dev-python/versioningit/versioningit-3.3.0.ebuild b/dev-python/versioningit/versioningit-3.3.0.ebuild
index b9afd320a5fb..f20aa39a742a 100644
--- a/dev-python/versioningit/versioningit-3.3.0.ebuild
+++ b/dev-python/versioningit/versioningit-3.3.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm arm64 ~riscv ~x86"
RDEPEND="
>=dev-python/packaging-17.1[${PYTHON_USEDEP}]
diff --git a/dev-python/wand/wand-0.6.13.ebuild b/dev-python/wand/wand-0.6.13.ebuild
index 0728c4f4c08e..cb598fa6cf02 100644
--- a/dev-python/wand/wand-0.6.13.ebuild
+++ b/dev-python/wand/wand-0.6.13.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND="
media-gfx/imagemagick
diff --git a/dev-python/watchfiles/watchfiles-1.1.0.ebuild b/dev-python/watchfiles/watchfiles-1.1.0.ebuild
index 3322bfe39222..fd1776bb99a3 100644
--- a/dev-python/watchfiles/watchfiles-1.1.0.ebuild
+++ b/dev-python/watchfiles/watchfiles-1.1.0.ebuild
@@ -81,7 +81,7 @@ LICENSE+="
Apache-2.0-with-LLVM-exceptions CC0-1.0 ISC MIT Unicode-DFS-2016
"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc ~ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
>=dev-python/anyio-4.0.0[${PYTHON_USEDEP}]
diff --git a/dev-python/wcmatch/Manifest b/dev-python/wcmatch/Manifest
index 6fdf58c53cb2..41d92fee9aa8 100644
--- a/dev-python/wcmatch/Manifest
+++ b/dev-python/wcmatch/Manifest
@@ -1,2 +1 @@
-DIST wcmatch-10.0.gh.tar.gz 118184 BLAKE2B ffc98749b111f472244a35654c8d57144e0f242f33b04e672a3b7d810c5c6c1b2c36172c09437e159c30812916fe15c7690fc3c2a1de14035f04ed801e898dc2 SHA512 db8fcfc7b0bef0256530a86f25491309b0d67f51ec9f60d9e6d2e3f49ae5e94ce432981aa2fb6b1f2086758a4eaa4a53daf9b2f765bd75480230f6064f181e75
DIST wcmatch-10.1.gh.tar.gz 120743 BLAKE2B 4cb96a5305f55527e98ec695b1dc66ac89b2609768e7abe1719d4127f14f60ca79f7c9fd8db5bf18e04c411b7db7733525303336d14cc2056851aa9538e46573 SHA512 5f0588752142d4a0bf0230bb19342db653fbd740413a841ac4edb5b5bf3b63733a901949396017ead9788d100a57ca292a69b61463707a47977020b4cdcd768b
diff --git a/dev-python/wcmatch/wcmatch-10.0.ebuild b/dev-python/wcmatch/wcmatch-10.0.ebuild
deleted file mode 100644
index 8e62352eb4c9..000000000000
--- a/dev-python/wcmatch/wcmatch-10.0.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-DISTUTILS_USE_PEP517=hatchling
-
-DOCS_BUILDER="mkdocs"
-DOCS_DEPEND="
- >=dev-python/mkdocs-pymdownx-material-extras-2.0
- dev-python/mkdocs-material
- dev-python/mkdocs-git-revision-date-localized-plugin
- dev-python/mkdocs-minify-plugin
- dev-python/pyspelling
-"
-
-inherit distutils-r1 docs
-
-DESCRIPTION="Wildcard/glob file name matcher"
-HOMEPAGE="
- https://github.com/facelessuser/wcmatch/
- https://pypi.org/project/wcmatch/
-"
-SRC_URI="
- https://github.com/facelessuser/wcmatch/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/bracex-2.1.1[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-vcs/git
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # tests require some files in homedir
- > "${HOME}"/test1.txt || die
- > "${HOME}"/test2.txt || die
-
- # mkdocs-git-revision-date-localized-plugin needs git repo
- if use doc; then
- git init || die
- git config --global user.email "larry@gentoo.org" || die
- git config --global user.name "Larry the Cow" || die
- git add . || die
- git commit -m 'init' || die
- fi
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/wcmatch/wcmatch-10.1.ebuild b/dev-python/wcmatch/wcmatch-10.1.ebuild
index 70e688627223..7a200b4e7295 100644
--- a/dev-python/wcmatch/wcmatch-10.1.ebuild
+++ b/dev-python/wcmatch/wcmatch-10.1.ebuild
@@ -29,7 +29,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
RDEPEND="
>=dev-python/bracex-2.1.1[${PYTHON_USEDEP}]
diff --git a/dev-python/xcffib/xcffib-1.9.0.ebuild b/dev-python/xcffib/xcffib-1.9.0.ebuild
index 8406f41aca28..ac5d2c25730e 100644
--- a/dev-python/xcffib/xcffib-1.9.0.ebuild
+++ b/dev-python/xcffib/xcffib-1.9.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
DEPEND="
x11-libs/libxcb
diff --git a/dev-python/yarl/Manifest b/dev-python/yarl/Manifest
index 10ad0908e4f7..68dd6b15694f 100644
--- a/dev-python/yarl/Manifest
+++ b/dev-python/yarl/Manifest
@@ -1,4 +1 @@
-DIST yarl-1.18.3.tar.gz 181062 BLAKE2B 41e0e6173bb257b643d7678e3011af7ea7f6ac8100bd68aae6e5a9af95e36ae95f83c516a11169fd1d1d669742b3a8878267533c81289ec56a66bb0d53b2db25 SHA512 1686c5ef1b5f3e1cebd121abb7916e45f4a9b08d941a80c34861e87f6121187ee7a553a373405a9fef2332177adf55ffe89bc9a3cabbf24e31905357fdeceba3
-DIST yarl-1.19.0.tar.gz 184396 BLAKE2B 08e1e1d3aac39a1bace97f3d38f33dfa335309a6a809227d830497fb6fff6c506ff8457ec68de5cfc57f3661e190ecd78fbe2481af7e419d5d889d8f496852e0 SHA512 95cf1f26be8497e39ce150672ac95ff36a4a695b8fbb902edb4811b601cc3f73cf8b72b45625afe957649b7a49d08588db0a7b91b46c449c64c9e55fcbda8e23
-DIST yarl-1.20.0.tar.gz 185258 BLAKE2B 9ffe4d715bcadfa061e4fae7de7c5124c3442abc659cc112b19e02da89691ce13ee434cec1b96be139aca9abbe45afe13d8931a03cea7b41857d43f38cf5f62c SHA512 826bd2d95a8de05630a597b2427a3c37e50b6d44a73d7003ffb20add68abed4742fb5102c7bdfdb69509b39e7e63bf506ffa0f22138715bf9c8c1a3836bb7607
DIST yarl-1.20.1.tar.gz 186428 BLAKE2B 904bc2fba743d7cc0f313166477ff93288816853d7831ed25b3589749878b78c5c10ccb0bb8d11cbad66cea8c5c8eab4fa32ff0542351cf1351a7de5c235ebd6 SHA512 2e7d2c69ddf07f04468b40dc929f5c54bcc3026386fa5fe98bc7f8b8f8aafee05d1df00a42377767e8a9e839f76b8cf569b8e373b3e94af6a954e68a4031fcc1
diff --git a/dev-python/yarl/yarl-1.18.3.ebuild b/dev-python/yarl/yarl-1.18.3.ebuild
deleted file mode 100644
index 314e06198803..000000000000
--- a/dev-python/yarl/yarl-1.18.3.ebuild
+++ /dev/null
@@ -1,66 +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=standalone
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Yet another URL library"
-HOMEPAGE="
- https://github.com/aio-libs/yarl/
- https://pypi.org/project/yarl/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="+native-extensions"
-
-RDEPEND="
- >=dev-python/idna-2.0[${PYTHON_USEDEP}]
- >=dev-python/multidict-4.0[${PYTHON_USEDEP}]
- >=dev-python/propcache-0.2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- native-extensions? (
- dev-python/cython[${PYTHON_USEDEP}]
- )
- dev-python/expandvars[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_compile() {
- local -x YARL_NO_EXTENSIONS=0
- if ! use native-extensions || [[ ${EPYTHON} != python* ]]; then
- YARL_NO_EXTENSIONS=1
- fi
- distutils-r1_python_compile
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- # benchmarks
- tests/test_quoting_benchmarks.py
- tests/test_url_benchmarks.py
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local opts=()
- # note different boolean logic than for backend (sigh)
- local -x YARL_NO_EXTENSIONS=
- if ! use native-extensions || [[ ${EPYTHON} != python* ]]; then
- YARL_NO_EXTENSIONS=1
- fi
-
- rm -rf yarl || die
- epytest -o addopts= "${opts[@]}"
-}
diff --git a/dev-python/yarl/yarl-1.19.0.ebuild b/dev-python/yarl/yarl-1.19.0.ebuild
deleted file mode 100644
index 40e4fb88e184..000000000000
--- a/dev-python/yarl/yarl-1.19.0.ebuild
+++ /dev/null
@@ -1,66 +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=standalone
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Yet another URL library"
-HOMEPAGE="
- https://github.com/aio-libs/yarl/
- https://pypi.org/project/yarl/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="+native-extensions"
-
-RDEPEND="
- >=dev-python/idna-2.0[${PYTHON_USEDEP}]
- >=dev-python/multidict-4.0[${PYTHON_USEDEP}]
- >=dev-python/propcache-0.2.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- native-extensions? (
- dev-python/cython[${PYTHON_USEDEP}]
- )
- dev-python/expandvars[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_compile() {
- local -x YARL_NO_EXTENSIONS=0
- if ! use native-extensions || [[ ${EPYTHON} != python* ]]; then
- YARL_NO_EXTENSIONS=1
- fi
- distutils-r1_python_compile
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- # benchmarks
- tests/test_quoting_benchmarks.py
- tests/test_url_benchmarks.py
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local opts=()
- # note different boolean logic than for backend (sigh)
- local -x YARL_NO_EXTENSIONS=
- if ! use native-extensions || [[ ${EPYTHON} != python* ]]; then
- YARL_NO_EXTENSIONS=1
- fi
-
- rm -rf yarl || die
- epytest -o addopts= "${opts[@]}"
-}
diff --git a/dev-python/yarl/yarl-1.20.0.ebuild b/dev-python/yarl/yarl-1.20.0.ebuild
deleted file mode 100644
index 5cf6ae5c5f20..000000000000
--- a/dev-python/yarl/yarl-1.20.0.ebuild
+++ /dev/null
@@ -1,66 +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=standalone
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Yet another URL library"
-HOMEPAGE="
- https://github.com/aio-libs/yarl/
- https://pypi.org/project/yarl/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="+native-extensions"
-
-RDEPEND="
- >=dev-python/idna-2.0[${PYTHON_USEDEP}]
- >=dev-python/multidict-4.0[${PYTHON_USEDEP}]
- >=dev-python/propcache-0.2.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- native-extensions? (
- dev-python/cython[${PYTHON_USEDEP}]
- )
- dev-python/expandvars[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_compile() {
- local -x YARL_NO_EXTENSIONS=0
- if ! use native-extensions || [[ ${EPYTHON} != python* ]]; then
- YARL_NO_EXTENSIONS=1
- fi
- distutils-r1_python_compile
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- # benchmarks
- tests/test_quoting_benchmarks.py
- tests/test_url_benchmarks.py
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local opts=()
- # note different boolean logic than for backend (sigh)
- local -x YARL_NO_EXTENSIONS=
- if ! use native-extensions || [[ ${EPYTHON} != python* ]]; then
- YARL_NO_EXTENSIONS=1
- fi
-
- rm -rf yarl || die
- epytest -o addopts= "${opts[@]}"
-}
diff --git a/dev-python/yarl/yarl-1.20.1.ebuild b/dev-python/yarl/yarl-1.20.1.ebuild
index 5cf6ae5c5f20..91a9a5973b42 100644
--- a/dev-python/yarl/yarl-1.20.1.ebuild
+++ b/dev-python/yarl/yarl-1.20.1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="+native-extensions"
RDEPEND="
diff --git a/dev-python/zlib-ng/zlib-ng-0.5.1.ebuild b/dev-python/zlib-ng/zlib-ng-0.5.1.ebuild
index 6d265896033e..f242c699249d 100644
--- a/dev-python/zlib-ng/zlib-ng-0.5.1.ebuild
+++ b/dev-python/zlib-ng/zlib-ng-0.5.1.ebuild
@@ -26,7 +26,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="PSF-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
DEPEND="
sys-libs/zlib-ng:=
diff --git a/dev-python/zope-event/Manifest b/dev-python/zope-event/Manifest
index e0205f33c030..a17968de8bef 100644
--- a/dev-python/zope-event/Manifest
+++ b/dev-python/zope-event/Manifest
@@ -1,2 +1 @@
-DIST zope.event-5.0.tar.gz 17350 BLAKE2B 3dc14b321898e9e3031273ee9d51b6a382c041292abb2cfe8d49a863991fc90484fd6e1fe98b4b37916263e1ebc2a943a98ab1096d0792b057e71100834a9cf6 SHA512 f3807580d948c11c75351d306450714b8cc285c45bed581069608e24fd20b705cff73c349c3fb3dd3f0af70508c5b8895f68bf60f8bf0c7e0a1d676191d5ce10
DIST zope_event-5.1.tar.gz 18632 BLAKE2B ba365cfa52e0ff5b10593903cee7cb775a55c6eb325e328fdbdf8b89c25ea08738378ac3dc0d1e5667fd0f5e2417a079e26f3604cd0626d2a76f8afb8205ba8d SHA512 50fc9cc36233d6496a056cc74ddcb92330ecebda881ab5d374068d3b68c25e9bb24c881101b290d995000d9b5d661fd9ad675c7183ca594471ac4c270333f478
diff --git a/dev-python/zope-event/zope-event-5.0.ebuild b/dev-python/zope-event/zope-event-5.0.ebuild
deleted file mode 100644
index b4a5486f1a08..000000000000
--- a/dev-python/zope-event/zope-event-5.0.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Event publishing / dispatch, used by Zope Component Architecture"
-HOMEPAGE="
- https://pypi.org/project/zope.event/
- https://github.com/zopefoundation/zope.event/
-"
-
-LICENSE="ZPL"
-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"
-
-RDEPEND="
- !dev-python/namespace-zope
-"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- # strip rdep specific to namespaces
- sed -i -e "/'setuptools'/d" setup.py || die
- distutils-r1_src_prepare
-}
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_test() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- distutils_write_namespace zope
- eunittest
-}
diff --git a/dev-python/zope-event/zope-event-5.1.ebuild b/dev-python/zope-event/zope-event-5.1.ebuild
index 9a73692b38e9..a7671bddb34e 100644
--- a/dev-python/zope-event/zope-event-5.1.ebuild
+++ b/dev-python/zope-event/zope-event-5.1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="ZPL"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
RDEPEND="
!dev-python/namespace-zope
diff --git a/dev-python/zstandard/zstandard-0.23.0-r3.ebuild b/dev-python/zstandard/zstandard-0.23.0-r3.ebuild
index c0dfe59f47bf..35dca4a59560 100644
--- a/dev-python/zstandard/zstandard-0.23.0-r3.ebuild
+++ b/dev-python/zstandard/zstandard-0.23.0-r3.ebuild
@@ -23,7 +23,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
DEPEND="
>=app-arch/zstd-1.5.7:=