summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/TakeTheTime/Manifest1
-rw-r--r--dev-python/TakeTheTime/TakeTheTime-0.3.1.ebuild25
-rw-r--r--dev-python/TakeTheTime/metadata.xml9
-rw-r--r--dev-python/aiohttp/Manifest2
-rw-r--r--dev-python/aiohttp/aiohttp-3.14.1.ebuild158
-rw-r--r--dev-python/aioresponses/aioresponses-0.7.8-r1.ebuild (renamed from dev-python/aioresponses/aioresponses-0.7.8.ebuild)3
-rw-r--r--dev-python/aioresponses/aioresponses-0.7.8-r2.ebuild45
-rw-r--r--dev-python/aioresponses/files/aioresponses-0.7.8-aiohttp-3.14.patch79
-rw-r--r--dev-python/anyio/Manifest2
-rw-r--r--dev-python/anyio/anyio-4.14.0.ebuild74
-rw-r--r--dev-python/apsw/Manifest1
-rw-r--r--dev-python/apsw/apsw-3.53.0.0.ebuild2
-rw-r--r--dev-python/apsw/apsw-3.53.1.0.ebuild2
-rw-r--r--dev-python/apsw/apsw-3.53.2.0.ebuild53
-rw-r--r--dev-python/arpy/arpy-2.3.0.ebuild2
-rw-r--r--dev-python/array-api-compat/Manifest2
-rw-r--r--dev-python/array-api-compat/array-api-compat-1.15.0.ebuild29
-rw-r--r--dev-python/ast-serialize/ast-serialize-0.3.0.ebuild2
-rw-r--r--dev-python/asteval/Manifest2
-rw-r--r--dev-python/asteval/asteval-1.0.9.ebuild (renamed from dev-python/asteval/asteval-1.0.8.ebuild)2
-rw-r--r--dev-python/asyncssh/Manifest1
-rw-r--r--dev-python/asyncssh/asyncssh-2.23.0.ebuild2
-rw-r--r--dev-python/asyncssh/asyncssh-2.23.1.ebuild50
-rw-r--r--dev-python/authlib/Manifest2
-rw-r--r--dev-python/authlib/authlib-1.7.0.ebuild68
-rw-r--r--dev-python/authlib/authlib-1.7.1.ebuild68
-rw-r--r--dev-python/awkward-cpp/Manifest4
-rw-r--r--dev-python/awkward-cpp/awkward-cpp-53.ebuild (renamed from dev-python/awkward-cpp/awkward-cpp-52.ebuild)0
-rw-r--r--dev-python/awkward/Manifest4
-rw-r--r--dev-python/awkward/awkward-2.9.1.ebuild (renamed from dev-python/awkward/awkward-2.9.0.ebuild)2
-rw-r--r--dev-python/b2sdk/Manifest2
-rw-r--r--dev-python/b2sdk/b2sdk-2.10.4.ebuild52
-rw-r--r--dev-python/b2sdk/b2sdk-2.11.0.ebuild52
-rw-r--r--dev-python/backports-zstd/Manifest6
-rw-r--r--dev-python/backports-zstd/backports-zstd-1.3.0.ebuild47
-rw-r--r--dev-python/backports-zstd/backports-zstd-1.5.0.ebuild2
-rw-r--r--dev-python/backports-zstd/backports-zstd-1.6.0.ebuild (renamed from dev-python/backports-zstd/backports-zstd-1.4.0.ebuild)0
-rw-r--r--dev-python/beautifulsoup4/Manifest1
-rw-r--r--dev-python/beautifulsoup4/beautifulsoup4-4.15.0.ebuild47
-rw-r--r--dev-python/bleach/Manifest1
-rw-r--r--dev-python/bleach/bleach-6.4.0.ebuild27
-rw-r--r--dev-python/blessed/blessed-1.39.0.ebuild2
-rw-r--r--dev-python/boto3/Manifest12
-rw-r--r--dev-python/boto3/boto3-1.42.96.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.43.15.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.43.16.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.43.2.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.43.22.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.43.24.ebuild (renamed from dev-python/boto3/boto3-1.43.17.ebuild)0
-rw-r--r--dev-python/boto3/boto3-1.43.29.ebuild (renamed from dev-python/boto3/boto3-1.43.19.ebuild)0
-rw-r--r--dev-python/boto3/boto3-1.43.30.ebuild (renamed from dev-python/boto3/boto3-1.43.20.ebuild)0
-rw-r--r--dev-python/boto3/boto3-1.43.6.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.43.9.ebuild2
-rw-r--r--dev-python/botocore/Manifest12
-rw-r--r--dev-python/botocore/botocore-1.42.96.ebuild67
-rw-r--r--dev-python/botocore/botocore-1.43.19.ebuild67
-rw-r--r--dev-python/botocore/botocore-1.43.2.ebuild67
-rw-r--r--dev-python/botocore/botocore-1.43.20.ebuild67
-rw-r--r--dev-python/botocore/botocore-1.43.22.ebuild67
-rw-r--r--dev-python/botocore/botocore-1.43.24.ebuild (renamed from dev-python/botocore/botocore-1.43.15.ebuild)0
-rw-r--r--dev-python/botocore/botocore-1.43.29.ebuild (renamed from dev-python/botocore/botocore-1.43.16.ebuild)0
-rw-r--r--dev-python/botocore/botocore-1.43.30.ebuild (renamed from dev-python/botocore/botocore-1.43.17.ebuild)0
-rw-r--r--dev-python/botocore/botocore-1.43.6.ebuild67
-rw-r--r--dev-python/botocore/botocore-1.43.9.ebuild2
-rw-r--r--dev-python/braintree/Manifest1
-rw-r--r--dev-python/braintree/braintree-4.43.0.ebuild39
-rw-r--r--dev-python/btrfsutil/Manifest2
-rw-r--r--dev-python/btrfsutil/btrfsutil-6.19.1.ebuild59
-rw-r--r--dev-python/cachelib/Manifest1
-rw-r--r--dev-python/cachelib/cachelib-0.13.0-r1.ebuild48
-rw-r--r--dev-python/cachelib/cachelib-0.13.0.ebuild48
-rw-r--r--dev-python/cachelib/cachelib-0.14.0.ebuild2
-rw-r--r--dev-python/cbor2/Manifest4
-rw-r--r--dev-python/cbor2/cbor2-6.1.0.ebuild72
-rw-r--r--dev-python/cbor2/cbor2-6.1.1.ebuild72
-rw-r--r--dev-python/cfn-lint/Manifest2
-rw-r--r--dev-python/cfn-lint/cfn-lint-1.51.5.ebuild64
-rw-r--r--dev-python/chump/Manifest1
-rw-r--r--dev-python/chump/chump-1.6.0-r2.ebuild22
-rw-r--r--dev-python/chump/metadata.xml13
-rw-r--r--dev-python/clang/Manifest4
-rw-r--r--dev-python/clang/clang-22.1.6.ebuild54
-rw-r--r--dev-python/clang/clang-23.0.0_pre20260605.ebuild (renamed from dev-python/clang/clang-23.0.0_pre20260512.ebuild)0
-rw-r--r--dev-python/click/Manifest4
-rw-r--r--dev-python/click/click-8.3.2.ebuild33
-rw-r--r--dev-python/click/click-8.3.3.ebuild2
-rw-r--r--dev-python/click/click-8.4.0.ebuild40
-rw-r--r--dev-python/cliff/Manifest1
-rw-r--r--dev-python/cliff/cliff-4.13.3.ebuild44
-rw-r--r--dev-python/cliff/cliff-4.14.0.ebuild2
-rw-r--r--dev-python/clr-loader/Manifest1
-rw-r--r--dev-python/clr-loader/clr-loader-0.2.9.ebuild96
-rw-r--r--dev-python/clr-loader/clr-loader-0.3.1.ebuild2
-rw-r--r--dev-python/cmd2/Manifest1
-rw-r--r--dev-python/cmd2/cmd2-4.0.0.ebuild59
-rw-r--r--dev-python/coverage/coverage-7.14.0.ebuild2
-rw-r--r--dev-python/cross-web/Manifest3
-rw-r--r--dev-python/cross-web/cross-web-0.6.0.ebuild (renamed from dev-python/cross-web/cross-web-0.4.1.ebuild)13
-rw-r--r--dev-python/cross-web/cross-web-0.7.0.ebuild53
-rw-r--r--dev-python/css-parser/Manifest1
-rw-r--r--dev-python/css-parser/css-parser-1.1.1.ebuild29
-rw-r--r--dev-python/cssutils/Manifest1
-rw-r--r--dev-python/cssutils/cssutils-2.11.1.ebuild47
-rw-r--r--dev-python/cucumber-expressions/Manifest3
-rw-r--r--dev-python/cucumber-expressions/cucumber-expressions-19.0.1.ebuild34
-rw-r--r--dev-python/cucumber-expressions/cucumber-expressions-20.0.0.ebuild (renamed from dev-python/cucumber-expressions/cucumber-expressions-19.0.0.ebuild)0
-rw-r--r--dev-python/cucumber-tag-expressions/Manifest2
-rw-r--r--dev-python/cucumber-tag-expressions/cucumber-tag-expressions-10.0.0.ebuild (renamed from dev-python/cucumber-tag-expressions/cucumber-tag-expressions-9.1.0.ebuild)0
-rw-r--r--dev-python/cython/cython-3.2.5-r1.ebuild (renamed from dev-python/cython/cython-3.2.5.ebuild)7
-rw-r--r--dev-python/dbus-fast/Manifest4
-rw-r--r--dev-python/dbus-fast/dbus-fast-4.0.4.ebuild62
-rw-r--r--dev-python/dbus-fast/dbus-fast-4.1.0.ebuild2
-rw-r--r--dev-python/dbus-fast/dbus-fast-5.0.17.ebuild63
-rw-r--r--dev-python/dbus-fast/dbus-fast-5.0.22.ebuild (renamed from dev-python/dbus-fast/dbus-fast-5.0.16.ebuild)0
-rw-r--r--dev-python/denonavr/Manifest1
-rw-r--r--dev-python/denonavr/denonavr-1.3.3.ebuild32
-rw-r--r--dev-python/dep-logic/Manifest2
-rw-r--r--dev-python/dep-logic/dep-logic-0.5.2.ebuild27
-rw-r--r--dev-python/distlib/Manifest1
-rw-r--r--dev-python/distlib/distlib-0.4.3.ebuild50
-rw-r--r--dev-python/django-js-asset/Manifest3
-rw-r--r--dev-python/django-js-asset/django-js-asset-4.0.1.ebuild (renamed from dev-python/django-js-asset/django-js-asset-3.1.2.ebuild)3
-rw-r--r--dev-python/django-polymorphic/Manifest1
-rw-r--r--dev-python/django-polymorphic/django-polymorphic-4.11.4.ebuild55
-rw-r--r--dev-python/django-prometheus/Manifest2
-rw-r--r--dev-python/django-prometheus/django-prometheus-2.4.1.ebuild33
-rw-r--r--dev-python/django-redis/Manifest1
-rw-r--r--dev-python/django-redis/django-redis-6.0.0.ebuild102
-rw-r--r--dev-python/django-tables2/Manifest1
-rw-r--r--dev-python/django-tables2/django-tables2-2.9.0.ebuild49
-rw-r--r--dev-python/django-timezone-field/Manifest2
-rw-r--r--dev-python/django-timezone-field/django-timezone-field-7.2.2.ebuild (renamed from dev-python/django-timezone-field/django-timezone-field-7.2.1.ebuild)3
-rw-r--r--dev-python/django/Manifest6
-rw-r--r--dev-python/django/django-4.2.30.ebuild100
-rw-r--r--dev-python/django/django-5.2.14.ebuild100
-rw-r--r--dev-python/django/django-5.2.15.ebuild2
-rw-r--r--dev-python/django/django-6.0.5.ebuild100
-rw-r--r--dev-python/dns-lexicon/Manifest2
-rw-r--r--dev-python/dns-lexicon/dns-lexicon-3.23.2.ebuild74
-rw-r--r--dev-python/dns-lexicon/dns-lexicon-3.25.1.ebuild75
-rw-r--r--dev-python/dns-lexicon/dns-lexicon-3.25.2.ebuild2
-rw-r--r--dev-python/dockerpty/Manifest1
-rw-r--r--dev-python/dockerpty/dockerpty-0.4.1-r3.ebuild35
-rw-r--r--dev-python/dockerpty/metadata.xml10
-rw-r--r--dev-python/docutils-glep/Manifest1
-rw-r--r--dev-python/docutils-glep/docutils-glep-1.5.ebuild2
-rw-r--r--dev-python/docutils-glep/docutils-glep-1.7.ebuild26
-rw-r--r--dev-python/doublex-expects/Manifest1
-rw-r--r--dev-python/doublex-expects/doublex-expects-0.7.1-r1.ebuild40
-rw-r--r--dev-python/dunamai/Manifest1
-rw-r--r--dev-python/dunamai/dunamai-1.26.1.ebuild48
-rw-r--r--dev-python/dunamai/metadata.xml (renamed from dev-python/pydantic-core/metadata.xml)1
-rw-r--r--dev-python/editables/Manifest1
-rw-r--r--dev-python/editables/editables-0.5.ebuild25
-rw-r--r--dev-python/editables/editables-0.6.ebuild2
-rw-r--r--dev-python/editables/metadata.xml1
-rw-r--r--dev-python/elastic-transport/Manifest1
-rw-r--r--dev-python/elastic-transport/elastic-transport-9.4.0.ebuild68
-rw-r--r--dev-python/elasticsearch/Manifest1
-rw-r--r--dev-python/elasticsearch/elasticsearch-9.4.0.ebuild89
-rw-r--r--dev-python/elementpath/Manifest1
-rw-r--r--dev-python/elementpath/elementpath-5.1.2.ebuild34
-rw-r--r--dev-python/environs/Manifest2
-rw-r--r--dev-python/environs/environs-15.0.0.ebuild37
-rw-r--r--dev-python/eval-type-backport/Manifest1
-rw-r--r--dev-python/eval-type-backport/eval-type-backport-0.4.0.ebuild (renamed from dev-python/iterable-io/iterable-io-1.0.1.ebuild)12
-rw-r--r--dev-python/expects/Manifest1
-rw-r--r--dev-python/expects/expects-0.9.0-r1.ebuild33
-rw-r--r--dev-python/faker/Manifest3
-rw-r--r--dev-python/faker/faker-40.14.1.ebuild41
-rw-r--r--dev-python/faker/faker-40.18.0.ebuild2
-rw-r--r--dev-python/faker/faker-40.23.0.ebuild (renamed from dev-python/faker/faker-40.20.0.ebuild)0
-rw-r--r--dev-python/fakeredis/Manifest6
-rw-r--r--dev-python/fakeredis/fakeredis-2.34.1.ebuild98
-rw-r--r--dev-python/fakeredis/fakeredis-2.35.0.ebuild98
-rw-r--r--dev-python/fakeredis/fakeredis-2.35.1.ebuild2
-rw-r--r--dev-python/fakeredis/fakeredis-2.36.1.ebuild141
-rw-r--r--dev-python/fastapi/Manifest5
-rw-r--r--dev-python/fastapi/fastapi-0.135.1.ebuild117
-rw-r--r--dev-python/fastapi/fastapi-0.136.1.ebuild (renamed from dev-python/fastapi/fastapi-0.135.2.ebuild)0
-rw-r--r--dev-python/fastapi/fastapi-0.136.3.ebuild (renamed from dev-python/fastapi/fastapi-0.135.3.ebuild)0
-rw-r--r--dev-python/filelock/Manifest4
-rw-r--r--dev-python/filelock/filelock-3.29.0.ebuild2
-rw-r--r--dev-python/filelock/filelock-3.29.3.ebuild31
-rw-r--r--dev-python/filelock/filelock-3.29.4.ebuild31
-rw-r--r--dev-python/flask-caching/flask-caching-2.3.1-r1.ebuild2
-rw-r--r--dev-python/flask-caching/flask-caching-2.4.0.ebuild2
-rw-r--r--dev-python/flask-compress/flask-compress-1.24.ebuild2
-rw-r--r--dev-python/flask-cors/Manifest3
-rw-r--r--dev-python/flask-cors/flask-cors-6.0.3.ebuild42
-rw-r--r--dev-python/flask-cors/flask-cors-6.0.4.ebuild42
-rw-r--r--dev-python/flask-cors/flask-cors-6.0.5.ebuild42
-rw-r--r--dev-python/flask-debug/Manifest1
-rw-r--r--dev-python/flask-debug/flask-debug-0.4.3-r2.ebuild36
-rw-r--r--dev-python/flask-debug/metadata.xml13
-rw-r--r--dev-python/flask-nav/Manifest1
-rw-r--r--dev-python/flask-nav/files/flask-nav-0.6-py310.patch19
-rw-r--r--dev-python/flask-nav/flask-nav-0.6-r5.ebuild41
-rw-r--r--dev-python/flufl-lock/Manifest1
-rw-r--r--dev-python/flufl-lock/flufl-lock-9.0.0.ebuild32
-rw-r--r--dev-python/fonttools/Manifest1
-rw-r--r--dev-python/fonttools/fonttools-4.62.1.ebuild62
-rw-r--r--dev-python/fonttools/fonttools-4.63.0.ebuild2
-rw-r--r--dev-python/fs/Manifest1
-rw-r--r--dev-python/fs/fs-2.4.16-r2.ebuild60
-rw-r--r--dev-python/fs/metadata.xml16
-rw-r--r--dev-python/fsspec/Manifest1
-rw-r--r--dev-python/fsspec/fsspec-2026.6.0.ebuild61
-rw-r--r--dev-python/gherkin-official/Manifest2
-rw-r--r--dev-python/gherkin-official/gherkin-official-40.0.0.ebuild (renamed from dev-python/gherkin-official/gherkin-official-39.0.0.ebuild)4
-rw-r--r--dev-python/git-review/git-review-2.5.0.ebuild4
-rw-r--r--dev-python/gitpython/Manifest4
-rw-r--r--dev-python/gitpython/gitpython-3.1.47.ebuild81
-rw-r--r--dev-python/gitpython/gitpython-3.1.49.ebuild81
-rw-r--r--dev-python/gitpython/gitpython-3.1.50.ebuild2
-rw-r--r--dev-python/google-api-python-client/Manifest4
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.194.0.ebuild52
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.195.0.ebuild52
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.196.0.ebuild2
-rw-r--r--dev-python/google-auth-httplib2/Manifest1
-rw-r--r--dev-python/google-auth-httplib2/google-auth-httplib2-0.3.1.ebuild34
-rw-r--r--dev-python/google-auth-httplib2/google-auth-httplib2-0.4.0.ebuild2
-rw-r--r--dev-python/google-auth-oauthlib/Manifest1
-rw-r--r--dev-python/google-auth-oauthlib/google-auth-oauthlib-1.3.1.ebuild28
-rw-r--r--dev-python/google-auth/Manifest10
-rw-r--r--dev-python/google-auth/google-auth-2.50.0.ebuild62
-rw-r--r--dev-python/google-auth/google-auth-2.53.0.ebuild2
-rw-r--r--dev-python/google-auth/google-auth-2.54.0.ebuild (renamed from dev-python/google-auth/google-auth-2.52.0.ebuild)0
-rw-r--r--dev-python/google-auth/google-auth-2.55.0.ebuild (renamed from dev-python/google-auth/google-auth-2.49.2.ebuild)4
-rw-r--r--dev-python/googleapis-common-protos/Manifest7
-rw-r--r--dev-python/googleapis-common-protos/googleapis-common-protos-1.72.0.ebuild32
-rw-r--r--dev-python/googleapis-common-protos/googleapis-common-protos-1.73.0.ebuild33
-rw-r--r--dev-python/googleapis-common-protos/googleapis-common-protos-1.73.1-r1.ebuild33
-rw-r--r--dev-python/googleapis-common-protos/googleapis-common-protos-1.74.0-r1.ebuild33
-rw-r--r--dev-python/googleapis-common-protos/googleapis-common-protos-1.75.0.ebuild2
-rw-r--r--dev-python/griddataformats/Manifest2
-rw-r--r--dev-python/griddataformats/griddataformats-1.1.0.ebuild30
-rw-r--r--dev-python/grpcio-status/Manifest1
-rw-r--r--dev-python/grpcio-status/grpcio-status-1.81.1.ebuild46
-rw-r--r--dev-python/gsd/Manifest2
-rw-r--r--dev-python/gsd/gsd-4.2.0.ebuild41
-rw-r--r--dev-python/gsd/gsd-5.0.0.ebuild41
-rw-r--r--dev-python/guidata/Manifest2
-rw-r--r--dev-python/guidata/guidata-3.14.4.ebuild (renamed from dev-python/guidata/guidata-3.13.4.ebuild)8
-rw-r--r--dev-python/hcloud/Manifest3
-rw-r--r--dev-python/hcloud/hcloud-2.19.0.ebuild51
-rw-r--r--dev-python/hcloud/hcloud-2.20.0.ebuild2
-rw-r--r--dev-python/hcloud/hcloud-2.21.0.ebuild (renamed from dev-python/hcloud/hcloud-2.18.0.ebuild)2
-rw-r--r--dev-python/hishel/Manifest3
-rw-r--r--dev-python/hishel/hishel-1.2.1.ebuild73
-rw-r--r--dev-python/hishel/hishel-1.3.0.ebuild (renamed from dev-python/hishel/hishel-1.1.10.ebuild)0
-rw-r--r--dev-python/httpx2/Manifest1
-rw-r--r--dev-python/httpx2/httpx2-2.4.0.ebuild100
-rw-r--r--dev-python/httpx2/metadata.xml (renamed from dev-python/expects/metadata.xml)4
-rw-r--r--dev-python/hypothesis/Manifest11
-rw-r--r--dev-python/hypothesis/hypothesis-6.151.14.ebuild112
-rw-r--r--dev-python/hypothesis/hypothesis-6.152.4.ebuild110
-rw-r--r--dev-python/hypothesis/hypothesis-6.152.5.ebuild110
-rw-r--r--dev-python/hypothesis/hypothesis-6.152.6.ebuild110
-rw-r--r--dev-python/hypothesis/hypothesis-6.152.7.ebuild2
-rw-r--r--dev-python/hypothesis/hypothesis-6.152.8.ebuild110
-rw-r--r--dev-python/hypothesis/hypothesis-6.155.0.ebuild105
-rw-r--r--dev-python/hypothesis/hypothesis-6.155.1.ebuild105
-rw-r--r--dev-python/hypothesis/hypothesis-6.155.2.ebuild (renamed from dev-python/hypothesis/hypothesis-6.153.2.ebuild)0
-rw-r--r--dev-python/hypothesis/hypothesis-6.155.3.ebuild (renamed from dev-python/hypothesis/hypothesis-6.153.6.ebuild)0
-rw-r--r--dev-python/icalendar/Manifest1
-rw-r--r--dev-python/icalendar/icalendar-7.1.3.ebuild42
-rw-r--r--dev-python/idna/idna-3.15.ebuild2
-rw-r--r--dev-python/ifaddr/ifaddr-0.2.0.ebuild2
-rw-r--r--dev-python/inline-snapshot/Manifest2
-rw-r--r--dev-python/inline-snapshot/inline-snapshot-0.33.0.ebuild3
-rw-r--r--dev-python/inline-snapshot/inline-snapshot-0.34.1.ebuild63
-rw-r--r--dev-python/installer/Manifest2
-rw-r--r--dev-python/installer/installer-0.7.0.ebuild40
-rw-r--r--dev-python/installer/installer-1.0.1.ebuild2
-rw-r--r--dev-python/ipdb/Manifest1
-rw-r--r--dev-python/ipdb/ipdb-0.13.13.ebuild31
-rw-r--r--dev-python/ipdb/metadata.xml10
-rw-r--r--dev-python/ipykernel/Manifest1
-rw-r--r--dev-python/ipykernel/ipykernel-7.3.0.ebuild87
-rw-r--r--dev-python/ipyparallel/ipyparallel-9.2.0.ebuild2
-rw-r--r--dev-python/ipython/Manifest2
-rw-r--r--dev-python/ipython/ipython-9.14.1.ebuild146
-rw-r--r--dev-python/iterable-io/Manifest1
-rw-r--r--dev-python/iterable-io/iterable-io-1.0.2.ebuild2
-rw-r--r--dev-python/jaraco-functools/Manifest1
-rw-r--r--dev-python/jaraco-functools/jaraco-functools-4.4.0.ebuild56
-rw-r--r--dev-python/jaraco-functools/jaraco-functools-4.5.0.ebuild2
-rw-r--r--dev-python/jedi/jedi-0.20.0.ebuild2
-rw-r--r--dev-python/js2py/Manifest1
-rw-r--r--dev-python/js2py/files/js2py-0.74-CVE-2024-28397.patch21
-rw-r--r--dev-python/js2py/files/js2py-0.74-py312-load_attr.patch57
-rw-r--r--dev-python/js2py/js2py-0.74-r2.ebuild47
-rw-r--r--dev-python/jupyter-client/Manifest2
-rw-r--r--dev-python/jupyter-client/jupyter-client-8.9.0.ebuild51
-rw-r--r--dev-python/jupyter-client/jupyter-client-8.9.1.ebuild51
-rw-r--r--dev-python/jupyter-server/Manifest1
-rw-r--r--dev-python/jupyter-server/files/jupyter-server-2.17.0-pytest-rerunfailures.patch113
-rw-r--r--dev-python/jupyter-server/jupyter-server-2.17.0-r1.ebuild74
-rw-r--r--dev-python/jupyter-server/jupyter-server-2.18.2.ebuild2
-rw-r--r--dev-python/jupyterlab/Manifest2
-rw-r--r--dev-python/jupyterlab/jupyterlab-4.5.8.ebuild (renamed from dev-python/jupyterlab/jupyterlab-4.5.6.ebuild)4
-rw-r--r--dev-python/keystoneauth1/Manifest1
-rw-r--r--dev-python/keystoneauth1/keystoneauth1-5.13.1.ebuild61
-rw-r--r--dev-python/keystoneauth1/keystoneauth1-5.14.0.ebuild2
-rw-r--r--dev-python/libtmux/files/libtmux-0.53.1-tests-fixture.patch81
-rw-r--r--dev-python/libtmux/libtmux-0.46.2.ebuild4
-rw-r--r--dev-python/libtmux/libtmux-0.52.1.ebuild4
-rw-r--r--dev-python/libtmux/libtmux-0.53.0.ebuild8
-rw-r--r--dev-python/libtmux/libtmux-0.53.1.ebuild6
-rw-r--r--dev-python/libtmux/libtmux-0.55.0.ebuild6
-rw-r--r--dev-python/libtmux/libtmux-0.55.1.ebuild6
-rw-r--r--dev-python/libtmux/libtmux-0.56.0.ebuild2
-rw-r--r--dev-python/libtmux/libtmux-0.57.1.ebuild2
-rw-r--r--dev-python/libtmux/libtmux-0.58.0.ebuild2
-rw-r--r--dev-python/libusb1/Manifest1
-rw-r--r--dev-python/libusb1/libusb1-3.3.1.ebuild29
-rw-r--r--dev-python/linode-metadata/Manifest2
-rw-r--r--dev-python/linode-metadata/linode-metadata-0.3.4.ebuild23
-rw-r--r--dev-python/lit/Manifest4
-rw-r--r--dev-python/lit/lit-22.1.6.ebuild46
-rw-r--r--dev-python/lit/lit-23.0.0_pre20260605.ebuild (renamed from dev-python/lit/lit-23.0.0_pre20260512.ebuild)0
-rw-r--r--dev-python/litestar/Manifest2
-rw-r--r--dev-python/litestar/litestar-2.22.0.ebuild168
-rw-r--r--dev-python/litestar/litestar-2.23.0.ebuild171
-rw-r--r--dev-python/lmdb/Manifest4
-rw-r--r--dev-python/lmdb/lmdb-2.2.1.ebuild (renamed from dev-python/lmdb/lmdb-1.7.5.ebuild)0
-rw-r--r--dev-python/lsp-tree-sitter/lsp-tree-sitter-0.1.1-r1.ebuild32
-rw-r--r--dev-python/m2crypto/Manifest1
-rw-r--r--dev-python/m2crypto/m2crypto-0.47.0.ebuild69
-rw-r--r--dev-python/mamba/Manifest1
-rw-r--r--dev-python/mamba/mamba-0.11.3.ebuild44
-rw-r--r--dev-python/mamba/metadata.xml10
-rw-r--r--dev-python/markdown-it-py/Manifest2
-rw-r--r--dev-python/markdown-it-py/markdown-it-py-4.0.0.ebuild41
-rw-r--r--dev-python/markdown-it-py/markdown-it-py-4.1.0.ebuild41
-rw-r--r--dev-python/markdown-it-py/markdown-it-py-4.2.0.ebuild2
-rw-r--r--dev-python/matplotlib/Manifest2
-rw-r--r--dev-python/matplotlib/matplotlib-3.11.0.ebuild266
-rw-r--r--dev-python/matterhook/Manifest1
-rw-r--r--dev-python/matterhook/matterhook-0.2-r2.ebuild18
-rw-r--r--dev-python/matterhook/metadata.xml6
-rw-r--r--dev-python/mdit-py-plugins/Manifest2
-rw-r--r--dev-python/mdit-py-plugins/mdit-py-plugins-0.5.0.ebuild30
-rw-r--r--dev-python/mdit-py-plugins/mdit-py-plugins-0.6.0.ebuild31
-rw-r--r--dev-python/mdit-py-plugins/mdit-py-plugins-0.6.1.ebuild2
-rw-r--r--dev-python/mergedeep/Manifest1
-rw-r--r--dev-python/mergedeep/mergedeep-1.3.4.ebuild19
-rw-r--r--dev-python/mergedeep/metadata.xml (renamed from dev-python/js2py/metadata.xml)4
-rw-r--r--dev-python/meson-python/Manifest1
-rw-r--r--dev-python/meson-python/meson-python-0.20.0.ebuild72
-rw-r--r--dev-python/minny/Manifest1
-rw-r--r--dev-python/minny/files/fix-metadata.patch15
-rw-r--r--dev-python/minny/metadata.xml (renamed from dev-python/flask-nav/metadata.xml)7
-rw-r--r--dev-python/minny/minny-0.0.1_alpha2.ebuild48
-rw-r--r--dev-python/mistune/mistune-3.2.1.ebuild2
-rw-r--r--dev-python/moddb/moddb-0.13.0.ebuild2
-rw-r--r--dev-python/moto/Manifest2
-rw-r--r--dev-python/moto/moto-5.2.1.ebuild3
-rw-r--r--dev-python/moto/moto-5.2.2.ebuild105
-rw-r--r--dev-python/mpi4py/Manifest2
-rw-r--r--dev-python/mpi4py/files/mpi4py-4-mpich-no-fortran-fix.patch20
-rw-r--r--dev-python/mpi4py/mpi4py-4.1.2.ebuild (renamed from dev-python/mpi4py/mpi4py-4.0.1.ebuild)4
-rw-r--r--dev-python/msgpack/Manifest2
-rw-r--r--dev-python/msgpack/msgpack-1.2.0.ebuild61
-rw-r--r--dev-python/msgspec/Manifest2
-rw-r--r--dev-python/msgspec/msgspec-0.20.0.ebuild47
-rw-r--r--dev-python/msgspec/msgspec-0.21.0.ebuild47
-rw-r--r--dev-python/mypy/mypy-2.1.0.ebuild2
-rw-r--r--dev-python/myst-parser/Manifest1
-rw-r--r--dev-python/myst-parser/myst-parser-5.0.0.ebuild65
-rw-r--r--dev-python/myst-parser/myst-parser-5.1.0.ebuild2
-rw-r--r--dev-python/nanobind/nanobind-2.12.0.ebuild2
-rw-r--r--dev-python/narwhals/Manifest4
-rw-r--r--dev-python/narwhals/narwhals-2.22.1.ebuild (renamed from dev-python/narwhals/narwhals-2.21.2.ebuild)2
-rw-r--r--dev-python/nbclient/Manifest1
-rw-r--r--dev-python/nbclient/nbclient-0.11.0.ebuild47
-rw-r--r--dev-python/neovim-remote/metadata.xml8
-rw-r--r--dev-python/nest-asyncio2/Manifest1
-rw-r--r--dev-python/nest-asyncio2/metadata.xml (renamed from dev-python/doublex-expects/metadata.xml)1
-rw-r--r--dev-python/nest-asyncio2/nest-asyncio2-1.7.0.ebuild (renamed from dev-python/types-python-dateutil/types-python-dateutil-2.9.0.20260508.ebuild)15
-rw-r--r--dev-python/notebook/Manifest2
-rw-r--r--dev-python/notebook/notebook-7.5.7.ebuild (renamed from dev-python/notebook/notebook-7.5.5.ebuild)4
-rw-r--r--dev-python/nox/Manifest1
-rw-r--r--dev-python/nox/nox-2026.02.09.ebuild65
-rw-r--r--dev-python/nuitka/Manifest2
-rw-r--r--dev-python/nuitka/nuitka-4.1.1.ebuild54
-rw-r--r--dev-python/nuitka/nuitka-4.1.ebuild54
-rw-r--r--dev-python/numpy/numpy-2.4.5.ebuild2
-rw-r--r--dev-python/oct2py/Manifest2
-rw-r--r--dev-python/oct2py/oct2py-6.0.1.ebuild50
-rw-r--r--dev-python/oct2py/oct2py-6.0.2.ebuild50
-rw-r--r--dev-python/octave-kernel/Manifest1
-rw-r--r--dev-python/octave-kernel/octave-kernel-1.0.3.ebuild40
-rw-r--r--dev-python/openstacksdk/Manifest2
-rw-r--r--dev-python/openstacksdk/openstacksdk-4.12.0.ebuild2
-rw-r--r--dev-python/openstacksdk/openstacksdk-4.15.0.ebuild (renamed from dev-python/openstacksdk/openstacksdk-4.11.0.ebuild)3
-rw-r--r--dev-python/osc-lib/Manifest2
-rw-r--r--dev-python/osc-lib/osc-lib-4.4.0.ebuild49
-rw-r--r--dev-python/osc-lib/osc-lib-4.5.0.ebuild49
-rw-r--r--dev-python/osc-lib/osc-lib-4.6.0.ebuild2
-rw-r--r--dev-python/oslo-concurrency/Manifest1
-rw-r--r--dev-python/oslo-concurrency/files/0001-Fix-multiprocessing-tests-under-Python-3.14.patch71
-rw-r--r--dev-python/oslo-concurrency/metadata.xml10
-rw-r--r--dev-python/oslo-concurrency/oslo-concurrency-7.4.0.ebuild54
-rw-r--r--dev-python/oslo-config/Manifest1
-rw-r--r--dev-python/oslo-config/oslo-config-10.5.0.ebuild57
-rw-r--r--dev-python/oslo-utils/Manifest1
-rw-r--r--dev-python/oslo-utils/oslo-utils-10.1.1.ebuild65
-rw-r--r--dev-python/owslib/Manifest1
-rw-r--r--dev-python/owslib/owslib-0.36.0.ebuild45
-rw-r--r--dev-python/pandas/pandas-3.0.3.ebuild2
-rw-r--r--dev-python/paramiko/paramiko-5.0.0.ebuild2
-rw-r--r--dev-python/patiencediff/Manifest15
-rw-r--r--dev-python/patiencediff/patiencediff-0.2.19.ebuild71
-rw-r--r--dev-python/pbs-installer/Manifest2
-rw-r--r--dev-python/pbs-installer/pbs-installer-2026.5.10.ebuild2
-rw-r--r--dev-python/pbs-installer/pbs-installer-2026.6.10.ebuild33
-rw-r--r--dev-python/pdm-backend/Manifest1
-rw-r--r--dev-python/pdm-backend/pdm-backend-2.4.9.ebuild78
-rw-r--r--dev-python/pdm/Manifest1
-rw-r--r--dev-python/pdm/pdm-2.26.9.ebuild84
-rw-r--r--dev-python/peewee/Manifest3
-rw-r--r--dev-python/peewee/peewee-4.0.7.ebuild83
-rw-r--r--dev-python/peewee/peewee-4.0.8.ebuild83
-rw-r--r--dev-python/peewee/peewee-4.0.9.ebuild83
-rw-r--r--dev-python/pelican-minify/Manifest1
-rw-r--r--dev-python/pelican-minify/files/pelican-minify-2.0.0-hatchling.patch24
-rw-r--r--dev-python/pelican-minify/pelican-minify-2.0.0.ebuild31
-rw-r--r--dev-python/phonenumbers/Manifest2
-rw-r--r--dev-python/phonenumbers/phonenumbers-9.0.30.ebuild2
-rw-r--r--dev-python/phonenumbers/phonenumbers-9.0.32.ebuild (renamed from dev-python/phonenumbers/phonenumbers-9.0.29.ebuild)2
-rw-r--r--dev-python/pika/Manifest1
-rw-r--r--dev-python/pika/pika-1.3.2.ebuild63
-rw-r--r--dev-python/pikepdf/Manifest4
-rw-r--r--dev-python/pikepdf/pikepdf-10.6.0.ebuild2
-rw-r--r--dev-python/pikepdf/pikepdf-10.7.3.ebuild61
-rw-r--r--dev-python/pikepdf/pikepdf-10.8.0.ebuild61
-rw-r--r--dev-python/pillow-heif/Manifest3
-rw-r--r--dev-python/pillow-heif/pillow-heif-1.2.1.ebuild38
-rw-r--r--dev-python/pillow-heif/pillow-heif-1.3.0.ebuild (renamed from dev-python/pillow-heif/pillow-heif-1.2.0.ebuild)0
-rw-r--r--dev-python/pillow/pillow-12.2.0-r1.ebuild2
-rw-r--r--dev-python/plotly/Manifest1
-rw-r--r--dev-python/plotly/plotly-6.7.0-r1.ebuild110
-rw-r--r--dev-python/plumbum/Manifest2
-rw-r--r--dev-python/plumbum/plumbum-2.0.1.ebuild61
-rw-r--r--dev-python/poetry-core/poetry-core-2.4.0.ebuild2
-rw-r--r--dev-python/posthog/Manifest4
-rw-r--r--dev-python/posthog/posthog-7.18.0.ebuild (renamed from dev-python/posthog/posthog-7.16.2.ebuild)0
-rw-r--r--dev-python/posthog/posthog-7.18.3.ebuild (renamed from dev-python/posthog/posthog-7.15.3.ebuild)4
-rw-r--r--dev-python/propcache/Manifest2
-rw-r--r--dev-python/propcache/propcache-0.4.1.ebuild55
-rw-r--r--dev-python/propcache/propcache-0.5.2.ebuild2
-rw-r--r--dev-python/proto-plus/Manifest3
-rw-r--r--dev-python/proto-plus/proto-plus-1.27.1.ebuild41
-rw-r--r--dev-python/proto-plus/proto-plus-1.27.2-r1.ebuild34
-rw-r--r--dev-python/proto-plus/proto-plus-1.28.0.ebuild2
-rw-r--r--dev-python/protobuf/Manifest19
-rw-r--r--dev-python/protobuf/protobuf-5.29.5-r1.ebuild29
-rw-r--r--dev-python/protobuf/protobuf-6.30.2-r1.ebuild36
-rw-r--r--dev-python/protobuf/protobuf-6.30.2-r2.ebuild145
-rw-r--r--dev-python/protobuf/protobuf-6.32.0.ebuild156
-rw-r--r--dev-python/protobuf/protobuf-6.32.1-r1.ebuild159
-rw-r--r--dev-python/protobuf/protobuf-6.33.2.ebuild154
-rw-r--r--dev-python/protobuf/protobuf-6.33.3.ebuild154
-rw-r--r--dev-python/protobuf/protobuf-6.33.4.ebuild154
-rw-r--r--dev-python/protobuf/protobuf-6.33.5.ebuild154
-rw-r--r--dev-python/protobuf/protobuf-7.35.1.ebuild (renamed from dev-python/protobuf/protobuf-7.34.0.ebuild)0
-rw-r--r--dev-python/psycopg/Manifest1
-rw-r--r--dev-python/psycopg/psycopg-3.3.3.ebuild123
-rw-r--r--dev-python/psycopg/psycopg-3.3.4.ebuild2
-rw-r--r--dev-python/pwdlib/Manifest1
-rw-r--r--dev-python/pwdlib/pwdlib-0.2.1.ebuild36
-rw-r--r--dev-python/pyamg/pyamg-5.3.0.ebuild57
-rw-r--r--dev-python/pycotap/pycotap-1.3.1.ebuild2
-rw-r--r--dev-python/pycurl/pycurl-7.46.0.ebuild6
-rw-r--r--dev-python/pydantic-core/Manifest93
-rw-r--r--dev-python/pydantic-core/pydantic-core-2.33.2.ebuild178
-rw-r--r--dev-python/pydantic-extra-types/Manifest3
-rw-r--r--dev-python/pydantic-extra-types/pydantic-extra-types-2.11.2.ebuild (renamed from dev-python/pydantic-extra-types/pydantic-extra-types-2.10.6.ebuild)10
-rw-r--r--dev-python/pydantic-settings/pydantic-settings-2.14.1.ebuild2
-rw-r--r--dev-python/pydantic/Manifest24
-rw-r--r--dev-python/pydantic/pydantic-2.12.5.ebuild231
-rw-r--r--dev-python/pydantic/pydantic-2.13.3.ebuild233
-rw-r--r--dev-python/pydantic/pydantic-2.13.4.ebuild2
-rw-r--r--dev-python/pydata-sphinx-theme/Manifest2
-rw-r--r--dev-python/pydata-sphinx-theme/pydata-sphinx-theme-0.19.0.ebuild52
-rw-r--r--dev-python/pyfzf/pyfzf-0.3.1.ebuild2
-rw-r--r--dev-python/pygdbmi/pygdbmi-0.11.0.0.ebuild2
-rw-r--r--dev-python/pyghmi/Manifest4
-rw-r--r--dev-python/pyghmi/pyghmi-1.6.17.ebuild (renamed from dev-python/pyghmi/pyghmi-1.6.15.ebuild)0
-rw-r--r--dev-python/pyghmi/pyghmi-1.6.18.ebuild (renamed from dev-python/pyghmi/pyghmi-1.6.16.ebuild)0
-rw-r--r--dev-python/pygit2/Manifest1
-rw-r--r--dev-python/pygit2/pygit2-1.19.2.ebuild2
-rw-r--r--dev-python/pygit2/pygit2-1.19.3.ebuild47
-rw-r--r--dev-python/pygithub/pygithub-2.9.1.ebuild2
-rw-r--r--dev-python/pyjsparser/Manifest1
-rw-r--r--dev-python/pyjsparser/metadata.xml13
-rw-r--r--dev-python/pyjsparser/pyjsparser-2.7.1_p20190421-r3.ebuild35
-rw-r--r--dev-python/pylint/Manifest2
-rw-r--r--dev-python/pylint/pylint-4.0.6.ebuild82
-rw-r--r--dev-python/pylru/Manifest1
-rw-r--r--dev-python/pylru/pylru-1.2.2.ebuild23
-rw-r--r--dev-python/pymdown-extensions/Manifest2
-rw-r--r--dev-python/pymdown-extensions/pymdown-extensions-10.21.2.ebuild34
-rw-r--r--dev-python/pymdown-extensions/pymdown-extensions-10.21.3.ebuild2
-rw-r--r--dev-python/pyopenssl/Manifest2
-rw-r--r--dev-python/pyopenssl/pyopenssl-26.2.0.ebuild2
-rw-r--r--dev-python/pyopenssl/pyopenssl-26.3.0.ebuild60
-rw-r--r--dev-python/pyotp/Manifest2
-rw-r--r--dev-python/pyotp/pyotp-2.10.0.ebuild27
-rw-r--r--dev-python/pypdf/Manifest5
-rw-r--r--dev-python/pypdf/pypdf-6.11.0.ebuild2
-rw-r--r--dev-python/pypdf/pypdf-6.13.0.ebuild (renamed from dev-python/pypdf/pypdf-6.12.1.ebuild)0
-rw-r--r--dev-python/pypdf/pypdf-6.13.1.ebuild (renamed from dev-python/pypdf/pypdf-6.12.0.ebuild)2
-rw-r--r--dev-python/pypdf/pypdf-6.13.2.ebuild53
-rw-r--r--dev-python/pyperscan/Manifest80
-rw-r--r--dev-python/pyperscan/metadata.xml9
-rw-r--r--dev-python/pyperscan/pyperscan-0.3.0.ebuild118
-rw-r--r--dev-python/pyproject-fmt/Manifest7
-rw-r--r--dev-python/pyproject-fmt/pyproject-fmt-2.21.2.ebuild2
-rw-r--r--dev-python/pyproject-fmt/pyproject-fmt-2.24.0.ebuild113
-rw-r--r--dev-python/pyproject-fmt/pyproject-fmt-2.24.1.ebuild113
-rw-r--r--dev-python/pypy-exe-bin/Manifest8
-rw-r--r--dev-python/pypy-exe-bin/pypy-exe-bin-7.3.20.ebuild74
-rw-r--r--dev-python/pypy-exe-bin/pypy-exe-bin-7.3.22.ebuild2
-rw-r--r--dev-python/pypy-exe/Manifest2
-rw-r--r--dev-python/pypy-exe/pypy-exe-7.3.20.ebuild189
-rw-r--r--dev-python/pypy-exe/pypy-exe-7.3.22.ebuild2
-rw-r--r--dev-python/pyqt6-sip/Manifest1
-rw-r--r--dev-python/pyqt6-sip/pyqt6-sip-13.11.0.ebuild17
-rw-r--r--dev-python/pyqt6-webengine/pyqt6-webengine-6.11.0.ebuild2
-rw-r--r--dev-python/pyqt6/Manifest1
-rw-r--r--dev-python/pyqt6/pyqt6-6.10.1.ebuild193
-rw-r--r--dev-python/pyqt6/pyqt6-6.11.0.ebuild2
-rw-r--r--dev-python/pyrate-limiter/Manifest6
-rw-r--r--dev-python/pyrate-limiter/pyrate-limiter-4.3.1.ebuild (renamed from dev-python/pyrate-limiter/pyrate-limiter-4.1.0.ebuild)0
-rw-r--r--dev-python/pyrate-limiter/pyrate-limiter-4.4.0.ebuild78
-rw-r--r--dev-python/pyside/pyside-6.11.1-r1.ebuild2
-rw-r--r--dev-python/pysmi/Manifest1
-rw-r--r--dev-python/pysmi/pysmi-1.6.3-r1.ebuild44
-rw-r--r--dev-python/pysmi/pysmi-1.6.3.ebuild44
-rw-r--r--dev-python/pysmi/pysmi-2.0.0.ebuild2
-rw-r--r--dev-python/pysnmp/Manifest1
-rw-r--r--dev-python/pysnmp/pysnmp-7.1.25.ebuild51
-rw-r--r--dev-python/pysnmp/pysnmp-7.1.26.ebuild2
-rw-r--r--dev-python/pytest-aiohttp/Manifest1
-rw-r--r--dev-python/pytest-aiohttp/pytest-aiohttp-1.1.1.ebuild38
-rw-r--r--dev-python/pytest-asyncio/Manifest2
-rw-r--r--dev-python/pytest-asyncio/pytest-asyncio-1.4.0.ebuild2
-rw-r--r--dev-python/pytest-asyncio/pytest-asyncio-1.4.0_alpha2.ebuild56
-rw-r--r--dev-python/pytest-codeblocks/Manifest1
-rw-r--r--dev-python/pytest-codeblocks/pytest-codeblocks-0.18.0.ebuild35
-rw-r--r--dev-python/pytest-custom-exit-code/pytest-custom-exit-code-0.3.0.ebuild4
-rw-r--r--dev-python/pytest-describe/Manifest2
-rw-r--r--dev-python/pytest-describe/pytest-describe-3.2.0.ebuild35
-rw-r--r--dev-python/pytest-jobserver/pytest-jobserver-1.1.0.ebuild2
-rw-r--r--dev-python/pytest-markdown/Manifest1
-rw-r--r--dev-python/pytest-markdown/metadata.xml6
-rw-r--r--dev-python/pytest-markdown/pytest-markdown-1.0.2-r1.ebuild22
-rw-r--r--dev-python/pytest-mpl/Manifest1
-rw-r--r--dev-python/pytest-mpl/pytest-mpl-0.17.0.ebuild47
-rw-r--r--dev-python/pytest-order/Manifest3
-rw-r--r--dev-python/pytest-order/pytest-order-1.5.0.ebuild (renamed from dev-python/pytest-order/pytest-order-1.3.0.ebuild)12
-rw-r--r--dev-python/pytest-rerunfailures/Manifest1
-rw-r--r--dev-python/pytest-rerunfailures/pytest-rerunfailures-16.1.ebuild28
-rw-r--r--dev-python/pytest-rerunfailures/pytest-rerunfailures-16.2.ebuild2
-rw-r--r--dev-python/pytest-salt-factories/pytest-salt-factories-1.0.5.ebuild2
-rw-r--r--dev-python/pytest-socket/Manifest1
-rw-r--r--dev-python/pytest-socket/pytest-socket-0.7.0-r1.ebuild40
-rw-r--r--dev-python/pytest-subprocess/Manifest1
-rw-r--r--dev-python/pytest-subprocess/pytest-subprocess-1.5.4.ebuild46
-rw-r--r--dev-python/pytest-subprocess/pytest-subprocess-1.6.0.ebuild2
-rw-r--r--dev-python/pytest/Manifest4
-rw-r--r--dev-python/pytest/pytest-9.0.3.ebuild2
-rw-r--r--dev-python/pytest/pytest-9.1.0.ebuild (renamed from dev-python/pytest/pytest-9.0.2.ebuild)20
-rw-r--r--dev-python/python-debian/Manifest1
-rw-r--r--dev-python/python-debian/python-debian-1.1.1.ebuild52
-rw-r--r--dev-python/python-discovery/Manifest6
-rw-r--r--dev-python/python-discovery/python-discovery-1.3.2.ebuild57
-rw-r--r--dev-python/python-discovery/python-discovery-1.4.0.ebuild2
-rw-r--r--dev-python/python-discovery/python-discovery-1.4.2.ebuild (renamed from dev-python/python-discovery/python-discovery-1.3.1.ebuild)0
-rw-r--r--dev-python/python-engineio/Manifest1
-rw-r--r--dev-python/python-engineio/python-engineio-4.13.1.ebuild55
-rw-r--r--dev-python/python-fire/Manifest1
-rw-r--r--dev-python/python-fire/python-fire-0.6.0.ebuild31
-rw-r--r--dev-python/python-ldap/Manifest1
-rw-r--r--dev-python/python-ldap/python-ldap-3.4.5.ebuild84
-rw-r--r--dev-python/python-ldap/python-ldap-3.4.6.ebuild2
-rw-r--r--dev-python/python-multipart/Manifest2
-rw-r--r--dev-python/python-multipart/python-multipart-0.0.28.ebuild2
-rw-r--r--dev-python/python-multipart/python-multipart-0.0.32.ebuild (renamed from dev-python/python-multipart/python-multipart-0.0.25.ebuild)2
-rw-r--r--dev-python/python-neutronclient/Manifest1
-rw-r--r--dev-python/python-neutronclient/python-neutronclient-11.8.0.ebuild72
-rw-r--r--dev-python/python-neutronclient/python-neutronclient-12.0.0.ebuild2
-rw-r--r--dev-python/python-novaclient/Manifest1
-rw-r--r--dev-python/python-novaclient/python-novaclient-18.12.0.ebuild54
-rw-r--r--dev-python/python-novaclient/python-novaclient-18.13.0.ebuild2
-rw-r--r--dev-python/python-openstackclient/Manifest1
-rw-r--r--dev-python/python-openstackclient/python-openstackclient-10.1.0.ebuild59
-rw-r--r--dev-python/python-pkcs11/Manifest2
-rw-r--r--dev-python/python-pkcs11/files/python-pkcs11-0.9.3-refactor-under-src.patch116
-rw-r--r--dev-python/python-pkcs11/python-pkcs11-0.9.3.ebuild62
-rw-r--r--dev-python/python-subunit/Manifest2
-rw-r--r--dev-python/python-subunit/python-subunit-1.4.4-r1.ebuild94
-rw-r--r--dev-python/python-subunit/python-subunit-1.4.5-r1.ebuild97
-rw-r--r--dev-python/python-subunit/python-subunit-1.4.6.ebuild2
-rw-r--r--dev-python/python-tests/Manifest20
-rw-r--r--dev-python/python-tests/python-tests-0.3.14.4_p1.ebuild73
-rw-r--r--dev-python/python-tests/python-tests-0.3.14.5_rc1.ebuild75
-rw-r--r--dev-python/python-tests/python-tests-0.3.14.6.ebuild (renamed from dev-python/python-tests/python-tests-0.3.14.5.ebuild)0
-rw-r--r--dev-python/python-tests/python-tests-0.3.15.0_beta1.ebuild75
-rw-r--r--dev-python/python-tests/python-tests-3.13.14.ebuild (renamed from dev-python/python-tests/python-tests-3.13.13_p1.ebuild)0
-rw-r--r--dev-python/python-tests/python-tests-3.14.4_p1.ebuild72
-rw-r--r--dev-python/python-tests/python-tests-3.14.5_rc1.ebuild74
-rw-r--r--dev-python/python-tests/python-tests-3.14.6.ebuild (renamed from dev-python/python-tests/python-tests-3.14.5.ebuild)2
-rw-r--r--dev-python/python-tests/python-tests-3.15.0_beta1.ebuild74
-rw-r--r--dev-python/pythonnet/pythonnet-3.0.5-r2.ebuild (renamed from dev-python/pythonnet/pythonnet-3.0.5-r1.ebuild)0
-rw-r--r--dev-python/pytz/Manifest2
-rw-r--r--dev-python/pytz/pytz-2026.1_p1.ebuild52
-rw-r--r--dev-python/pytz/pytz-2026.2.ebuild2
-rw-r--r--dev-python/pyzotero/Manifest6
-rw-r--r--dev-python/pyzotero/pyzotero-1.13.0.ebuild49
-rw-r--r--dev-python/pyzotero/pyzotero-1.13.1.ebuild (renamed from dev-python/pyzotero/pyzotero-1.12.0.ebuild)0
-rw-r--r--dev-python/readme-renderer/Manifest2
-rw-r--r--dev-python/readme-renderer/readme-renderer-45.0.ebuild31
-rw-r--r--dev-python/recurring-ical-events/Manifest1
-rw-r--r--dev-python/recurring-ical-events/recurring-ical-events-3.8.1-r1.ebuild46
-rw-r--r--dev-python/redfish/Manifest1
-rw-r--r--dev-python/redfish/metadata.xml (renamed from dev-python/timeslot/metadata.xml)4
-rw-r--r--dev-python/redfish/redfish-3.3.5.ebuild31
-rw-r--r--dev-python/redis/Manifest1
-rw-r--r--dev-python/redis/redis-7.4.1.ebuild122
-rw-r--r--dev-python/regex/regex-2026.5.9.ebuild2
-rw-r--r--dev-python/repology-client/Manifest2
-rw-r--r--dev-python/repology-client/repology-client-0.7.2.ebuild (renamed from dev-python/repology-client/repology-client-0.6.0.ebuild)2
-rw-r--r--dev-python/reportlab/reportlab-4.5.1.ebuild2
-rw-r--r--dev-python/requests-cache/Manifest1
-rw-r--r--dev-python/requests-cache/requests-cache-1.3.1.ebuild87
-rw-r--r--dev-python/requests-cache/requests-cache-1.3.2.ebuild2
-rw-r--r--dev-python/requests/Manifest6
-rw-r--r--dev-python/requests/requests-2.33.1.ebuild75
-rw-r--r--dev-python/requests/requests-2.34.0.ebuild75
-rw-r--r--dev-python/requests/requests-2.34.1.ebuild75
-rw-r--r--dev-python/requests/requests-2.34.2.ebuild2
-rw-r--r--dev-python/rq/Manifest1
-rw-r--r--dev-python/rq/rq-2.9.1.ebuild78
-rw-r--r--dev-python/sabctools/Manifest1
-rw-r--r--dev-python/sabctools/sabctools-9.4.1.ebuild40
-rw-r--r--dev-python/selenium/Manifest6
-rw-r--r--dev-python/selenium/selenium-4.41.0.ebuild162
-rw-r--r--dev-python/selenium/selenium-4.42.0.ebuild165
-rw-r--r--dev-python/selenium/selenium-4.43.0.ebuild165
-rw-r--r--dev-python/selenium/selenium-4.44.0.ebuild2
-rw-r--r--dev-python/setuptools-gettext/Manifest4
-rw-r--r--dev-python/setuptools-gettext/setuptools-gettext-0.1.16.ebuild34
-rw-r--r--dev-python/setuptools-gettext/setuptools-gettext-0.1.17.ebuild28
-rw-r--r--dev-python/sh/Manifest6
-rw-r--r--dev-python/sh/sh-2.2.3.ebuild27
-rw-r--r--dev-python/sh/sh-2.2.4.ebuild27
-rw-r--r--dev-python/sh/sh-2.3.0.ebuild27
-rw-r--r--dev-python/signxml/Manifest2
-rw-r--r--dev-python/signxml/signxml-4.5.1.ebuild40
-rw-r--r--dev-python/simplejson/simplejson-4.1.1.ebuild2
-rw-r--r--dev-python/sip/Manifest2
-rw-r--r--dev-python/sip/sip-6.15.1.ebuild48
-rw-r--r--dev-python/sip/sip-6.15.2.ebuild48
-rw-r--r--dev-python/slixmpp/Manifest2
-rw-r--r--dev-python/slixmpp/slixmpp-1.16.0.ebuild (renamed from dev-python/slixmpp/slixmpp-1.14.1.ebuild)4
-rw-r--r--dev-python/soundfile/Manifest2
-rw-r--r--dev-python/soundfile/soundfile-0.14.0.ebuild (renamed from dev-python/soundfile/soundfile-0.13.1.ebuild)9
-rw-r--r--dev-python/sphinx-autodoc-typehints/Manifest4
-rw-r--r--dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-3.10.6.ebuild44
-rw-r--r--dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-3.11.0.ebuild44
-rw-r--r--dev-python/sphinx-panels/files/sphinx-panels-0.6.0-docutils-0.22.patch110
-rw-r--r--dev-python/sphinx-panels/files/sphinx-panels-0.6.0-sphinx-7.patch24
-rw-r--r--dev-python/sphinx-panels/sphinx-panels-0.6.0-r2.ebuild (renamed from dev-python/sphinx-panels/sphinx-panels-0.6.0-r1.ebuild)10
-rw-r--r--dev-python/sphinxcontrib-bibtex/Manifest2
-rw-r--r--dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.6.5.ebuild58
-rw-r--r--dev-python/sphinxcontrib-mermaid/Manifest1
-rw-r--r--dev-python/sphinxcontrib-mermaid/sphinxcontrib-mermaid-2.0.1.ebuild44
-rw-r--r--dev-python/sphinxcontrib-mermaid/sphinxcontrib-mermaid-2.0.2.ebuild2
-rw-r--r--dev-python/spyder-terminal/Manifest2
-rw-r--r--dev-python/spyder-terminal/spyder-terminal-1.3.1.ebuild (renamed from dev-python/spyder-terminal/spyder-terminal-1.3.0.ebuild)4
-rw-r--r--dev-python/spyder/Manifest1
-rw-r--r--dev-python/spyder/spyder-6.1.3.ebuild209
-rw-r--r--dev-python/sqlalchemy/Manifest1
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-2.0.51.ebuild95
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-2.1.0_beta2.ebuild26
-rw-r--r--dev-python/sqlglot/Manifest3
-rw-r--r--dev-python/sqlglot/sqlglot-30.11.0.ebuild (renamed from dev-python/sqlglot/sqlglot-30.7.0.ebuild)0
-rw-r--r--dev-python/sqlglot/sqlglot-30.8.0.ebuild53
-rw-r--r--dev-python/sqlmodel/Manifest1
-rw-r--r--dev-python/sqlmodel/sqlmodel-0.0.37.ebuild59
-rw-r--r--dev-python/sse-starlette/Manifest4
-rw-r--r--dev-python/sse-starlette/sse-starlette-3.4.3.ebuild (renamed from dev-python/sse-starlette/sse-starlette-3.3.4.ebuild)3
-rw-r--r--dev-python/sse-starlette/sse-starlette-3.4.4.ebuild (renamed from dev-python/sse-starlette/sse-starlette-3.3.2.ebuild)14
-rw-r--r--dev-python/starlette/Manifest2
-rw-r--r--dev-python/starlette/starlette-1.3.0.ebuild58
-rw-r--r--dev-python/starlette/starlette-1.3.1.ebuild58
-rw-r--r--dev-python/stestr/Manifest2
-rw-r--r--dev-python/stestr/metadata.xml16
-rw-r--r--dev-python/stestr/stestr-4.2.1.ebuild46
-rw-r--r--dev-python/stomp-py/Manifest1
-rw-r--r--dev-python/stomp-py/metadata.xml6
-rw-r--r--dev-python/stomp-py/stomp-py-8.1.2.ebuild30
-rw-r--r--dev-python/strawberry-graphql/Manifest4
-rw-r--r--dev-python/strawberry-graphql/strawberry-graphql-0.315.5.ebuild (renamed from dev-python/strawberry-graphql/strawberry-graphql-0.312.3.ebuild)3
-rw-r--r--dev-python/strawberry-graphql/strawberry-graphql-0.316.0.ebuild (renamed from dev-python/strawberry-graphql/strawberry-graphql-0.311.0.ebuild)3
-rw-r--r--dev-python/stripe/Manifest1
-rw-r--r--dev-python/stripe/stripe-15.2.0.ebuild2
-rw-r--r--dev-python/stripe/stripe-15.2.1.ebuild91
-rw-r--r--dev-python/structlog/Manifest2
-rw-r--r--dev-python/structlog/structlog-26.1.0.ebuild28
-rw-r--r--dev-python/superqt/Manifest2
-rw-r--r--dev-python/superqt/superqt-0.8.1.ebuild73
-rw-r--r--dev-python/sure/sure-2.0.1-r1.ebuild (renamed from dev-python/sure/sure-2.0.1.ebuild)10
-rw-r--r--dev-python/sybil/Manifest1
-rw-r--r--dev-python/sybil/sybil-10.1.0.ebuild38
-rw-r--r--dev-python/tavern/Manifest1
-rw-r--r--dev-python/tavern/tavern-3.6.1.ebuild71
-rw-r--r--dev-python/tempest/Manifest2
-rw-r--r--dev-python/tempest/metadata.xml13
-rw-r--r--dev-python/tempest/tempest-46.1.1.ebuild77
-rw-r--r--dev-python/tempest/tempest-46.2.0.ebuild77
-rw-r--r--dev-python/tempora/tempora-5.9.0.ebuild2
-rw-r--r--dev-python/testfixtures/Manifest4
-rw-r--r--dev-python/testfixtures/testfixtures-12.0.1.ebuild52
-rw-r--r--dev-python/testfixtures/testfixtures-12.1.0.ebuild57
-rw-r--r--dev-python/textile/textile-4.0.4.ebuild2
-rw-r--r--dev-python/thonny/Manifest1
-rw-r--r--dev-python/thonny/thonny-5.0.0.ebuild51
-rw-r--r--dev-python/thrift/Manifest1
-rw-r--r--dev-python/thrift/thrift-0.22.0.ebuild38
-rw-r--r--dev-python/thrift/thrift-0.23.0.ebuild2
-rw-r--r--dev-python/tifffile/Manifest1
-rw-r--r--dev-python/tifffile/tifffile-2026.5.15.ebuild56
-rw-r--r--dev-python/timeslot/Manifest1
-rw-r--r--dev-python/timeslot/timeslot-0.1.2.ebuild19
-rw-r--r--dev-python/tiny-proxy/Manifest1
-rw-r--r--dev-python/tiny-proxy/tiny-proxy-0.3.0.ebuild39
-rw-r--r--dev-python/tomlkit/tomlkit-0.15.0.ebuild2
-rw-r--r--dev-python/tornado/Manifest2
-rw-r--r--dev-python/tornado/tornado-6.5.7.ebuild61
-rw-r--r--dev-python/tox/tox-4.53.1.ebuild2
-rw-r--r--dev-python/tox/tox-4.54.0.ebuild2
-rw-r--r--dev-python/tqdm/Manifest4
-rw-r--r--dev-python/tqdm/tqdm-4.68.1.ebuild43
-rw-r--r--dev-python/tqdm/tqdm-4.68.2.ebuild43
-rw-r--r--dev-python/traitlets/Manifest2
-rw-r--r--dev-python/traitlets/traitlets-5.14.3.ebuild50
-rw-r--r--dev-python/traitlets/traitlets-5.15.0.ebuild36
-rw-r--r--dev-python/traitlets/traitlets-5.15.1.ebuild2
-rw-r--r--dev-python/translate-toolkit/Manifest4
-rw-r--r--dev-python/translate-toolkit/translate-toolkit-3.19.10.ebuild2
-rw-r--r--dev-python/translate-toolkit/translate-toolkit-3.19.6.ebuild130
-rw-r--r--dev-python/translate-toolkit/translate-toolkit-3.19.7.ebuild130
-rw-r--r--dev-python/translate-toolkit/translate-toolkit-3.19.8.ebuild130
-rw-r--r--dev-python/translate-toolkit/translate-toolkit-3.19.9.ebuild131
-rw-r--r--dev-python/trimesh/Manifest2
-rw-r--r--dev-python/trimesh/trimesh-4.11.5.ebuild88
-rw-r--r--dev-python/trimesh/trimesh-4.12.1.ebuild88
-rw-r--r--dev-python/twisted/twisted-26.4.0.ebuild2
-rw-r--r--dev-python/txredisapi/Manifest1
-rw-r--r--dev-python/txredisapi/files/txredisapi-1.4.11-multiple-colons.patch35
-rw-r--r--dev-python/txredisapi/txredisapi-1.4.11-r1.ebuild89
-rw-r--r--dev-python/txredisapi/txredisapi-1.4.12.ebuild2
-rw-r--r--dev-python/typeguard/Manifest2
-rw-r--r--dev-python/typeguard/typeguard-4.5.1.ebuild41
-rw-r--r--dev-python/typeguard/typeguard-4.5.2.ebuild2
-rw-r--r--dev-python/typer/Manifest2
-rw-r--r--dev-python/typer/typer-0.24.2.ebuild67
-rw-r--r--dev-python/typer/typer-0.25.1.ebuild2
-rw-r--r--dev-python/typer/typer-0.26.6.ebuild71
-rw-r--r--dev-python/types-docutils/Manifest2
-rw-r--r--dev-python/types-docutils/types-docutils-0.22.3.20260408.ebuild16
-rw-r--r--dev-python/types-docutils/types-docutils-0.22.3.20260508.ebuild16
-rw-r--r--dev-python/types-docutils/types-docutils-0.22.3.20260518.ebuild2
-rw-r--r--dev-python/types-gdb/Manifest2
-rw-r--r--dev-python/types-gdb/types-gdb-16.3.0.20260408.ebuild16
-rw-r--r--dev-python/types-gdb/types-gdb-16.3.0.20260508.ebuild16
-rw-r--r--dev-python/types-gdb/types-gdb-16.3.0.20260518.ebuild2
-rw-r--r--dev-python/types-psutil/types-psutil-7.2.2.20260518.ebuild2
-rw-r--r--dev-python/types-python-dateutil/Manifest1
-rw-r--r--dev-python/types-setuptools/types-setuptools-82.0.0.20260518.ebuild2
-rw-r--r--dev-python/tzlocal/Manifest1
-rw-r--r--dev-python/tzlocal/tzlocal-5.4.ebuild27
-rw-r--r--dev-python/ubelt/Manifest1
-rw-r--r--dev-python/ubelt/ubelt-1.4.1.ebuild47
-rw-r--r--dev-python/ujson/Manifest4
-rw-r--r--dev-python/ujson/ujson-5.12.1.ebuild2
-rw-r--r--dev-python/ujson/ujson-5.13.0.ebuild (renamed from dev-python/ujson/ujson-5.12.0.ebuild)2
-rw-r--r--dev-python/uuid-utils/Manifest71
-rw-r--r--dev-python/uuid-utils/uuid-utils-0.15.0.ebuild (renamed from dev-python/uuid-utils/uuid-utils-0.14.1.ebuild)73
-rw-r--r--dev-python/uuid-utils/uuid-utils-0.16.0.ebuild48
-rw-r--r--dev-python/uv-build/Manifest10
-rw-r--r--dev-python/uv-build/uv-build-0.11.12.ebuild2
-rw-r--r--dev-python/uv-build/uv-build-0.11.13.ebuild99
-rw-r--r--dev-python/uv-build/uv-build-0.11.14.ebuild2
-rw-r--r--dev-python/uv-build/uv-build-0.11.15.ebuild99
-rw-r--r--dev-python/uv-build/uv-build-0.11.17.ebuild99
-rw-r--r--dev-python/uv-build/uv-build-0.11.18.ebuild99
-rw-r--r--dev-python/uv-build/uv-build-0.11.20.ebuild (renamed from dev-python/uv-build/uv-build-0.11.10.ebuild)0
-rw-r--r--dev-python/uv-build/uv-build-0.11.21.ebuild (renamed from dev-python/uv-build/uv-build-0.11.11.ebuild)0
-rw-r--r--dev-python/uv-build/uv-build-0.11.7.ebuild99
-rw-r--r--dev-python/uv-build/uv-build-0.11.8.ebuild99
-rw-r--r--dev-python/uv-dynamic-versioning/Manifest2
-rw-r--r--dev-python/uv-dynamic-versioning/metadata.xml (renamed from dev-python/cssutils/metadata.xml)1
-rw-r--r--dev-python/uv-dynamic-versioning/uv-dynamic-versioning-0.14.0.ebuild53
-rw-r--r--dev-python/uv/Manifest20
-rw-r--r--dev-python/uv/uv-0.11.10.ebuild164
-rw-r--r--dev-python/uv/uv-0.11.11.ebuild164
-rw-r--r--dev-python/uv/uv-0.11.12.ebuild2
-rw-r--r--dev-python/uv/uv-0.11.13.ebuild164
-rw-r--r--dev-python/uv/uv-0.11.14.ebuild2
-rw-r--r--dev-python/uv/uv-0.11.15.ebuild164
-rw-r--r--dev-python/uv/uv-0.11.20.ebuild (renamed from dev-python/uv/uv-0.11.18.ebuild)0
-rw-r--r--dev-python/uv/uv-0.11.21.ebuild (renamed from dev-python/uv/uv-0.11.17.ebuild)2
-rw-r--r--dev-python/uv/uv-0.11.7.ebuild164
-rw-r--r--dev-python/uv/uv-0.11.8.ebuild164
-rw-r--r--dev-python/uvicorn/Manifest2
-rw-r--r--dev-python/uvicorn/uvicorn-0.46.0.ebuild78
-rw-r--r--dev-python/uvicorn/uvicorn-0.47.0.ebuild2
-rw-r--r--dev-python/vcrpy/Manifest1
-rw-r--r--dev-python/vcrpy/vcrpy-8.2.0.ebuild61
-rw-r--r--dev-python/vcsgraph/Manifest2
-rw-r--r--dev-python/vcsgraph/metadata.xml (renamed from dev-python/m2crypto/metadata.xml)0
-rw-r--r--dev-python/vcsgraph/vcsgraph-0.3.0.ebuild32
-rw-r--r--dev-python/vector/Manifest2
-rw-r--r--dev-python/vector/vector-1.8.0.ebuild50
-rw-r--r--dev-python/virtualenv/Manifest8
-rw-r--r--dev-python/virtualenv/virtualenv-21.4.3.ebuild (renamed from dev-python/virtualenv/virtualenv-21.4.1.ebuild)2
-rw-r--r--dev-python/virtualenv/virtualenv-21.5.0.ebuild (renamed from dev-python/virtualenv/virtualenv-21.4.2.ebuild)2
-rw-r--r--dev-python/wcwidth/Manifest3
-rw-r--r--dev-python/wcwidth/wcwidth-0.8.0.ebuild (renamed from dev-python/wcwidth/wcwidth-0.6.0.ebuild)2
-rw-r--r--dev-python/wcwidth/wcwidth-0.8.1.ebuild32
-rw-r--r--dev-python/webob/webob-1.8.10.ebuild1
-rw-r--r--dev-python/ytmusicapi/Manifest4
-rw-r--r--dev-python/ytmusicapi/ytmusicapi-1.12.1-r1.ebuild (renamed from dev-python/ytmusicapi/ytmusicapi-1.11.5.ebuild)4
839 files changed, 6964 insertions, 17258 deletions
diff --git a/dev-python/TakeTheTime/Manifest b/dev-python/TakeTheTime/Manifest
deleted file mode 100644
index b920959efd10..000000000000
--- a/dev-python/TakeTheTime/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST TakeTheTime-0.3.1.gh.tar.gz 2916 BLAKE2B 841edd7e06d45ce6f2774a8464c391500651a9762ff85115d9b13d9f45e68f7ae7e0aef0d588d5e9cce0ee98b1c5343cef83fe9b026c074cbe27c2e6837ffb72 SHA512 ef33101d850ff39ed85b5f26fa90fb7ece1e85ee39e7f611b444e0d2cba181698cc99bd4183285b24da2a740b6fbf315f2f35d7f67ce67b53acefab0b2eaaee5
diff --git a/dev-python/TakeTheTime/TakeTheTime-0.3.1.ebuild b/dev-python/TakeTheTime/TakeTheTime-0.3.1.ebuild
deleted file mode 100644
index a86818194713..000000000000
--- a/dev-python/TakeTheTime/TakeTheTime-0.3.1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{13..14} )
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-inherit distutils-r1
-
-DESCRIPTION="Take The Time, a super-neat Python library for timing chunks of code"
-HOMEPAGE="https://github.com/ErikBjare/TakeTheTime"
-
-# pypi doesn't contains the tests
-SRC_URI="https://github.com/ErikBjare/TakeTheTime/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-distutils_enable_tests unittest
-
-python_test() {
- eunittest tests
-}
diff --git a/dev-python/TakeTheTime/metadata.xml b/dev-python/TakeTheTime/metadata.xml
deleted file mode 100644
index 6e8632a248e2..000000000000
--- a/dev-python/TakeTheTime/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>stkw0@disroot.org</email>
- <name>David Roman</name>
- </maintainer>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/dev-python/aiohttp/Manifest b/dev-python/aiohttp/Manifest
index 47f36a6063a6..73029c9ff46a 100644
--- a/dev-python/aiohttp/Manifest
+++ b/dev-python/aiohttp/Manifest
@@ -2,3 +2,5 @@ DIST aiohttp-3.13.5.tar.gz 7858271 BLAKE2B 33b8f7f977a429fcd14401042f0be88c4cf68
DIST aiohttp-3.13.5.tar.gz.provenance 9326 BLAKE2B 0ed4219dc79a8b48cbc69f1a926a75210069f8382d61e217aaae6c8d51871c03c03336c812a9c7ecff0972ab070d6f2954482bced18edfaa71cf06cf8ef019bd SHA512 801915c3639db98f363a14e0e2e9e7b3e6e76d8e7988f43749580e4fa04404fe6b72f50370a07f37a922541d111361106d8fd8c4ffa4be326b130148a407c0e0
DIST aiohttp-3.14.0.tar.gz 7940674 BLAKE2B 259de386734fd64e6c9de5d7f0b2d71d4672c24c0ea38a434ca8f1e8bb0ad1ea4e4c0d5e11ecc22dbb95f8e2ff51c89163c1a1ab5ce49463e8b5a3a1b3785be9 SHA512 7888be5d7c285efb84e38cebd3b4dcd8dd199ba654df5faac87d254f9a423d7b5300d195e2d99b196c3d1d53fd8f0cadbcf368ce985e2269ec9c31400e40c036
DIST aiohttp-3.14.0.tar.gz.provenance 9781 BLAKE2B 705c780ee0b659d2e3e2ce8450c1ddc9759f6d03d702996c0754340d9aee0e303fa91a78b6f2922d4932c779d80903c8a73b5734c813a562de23b31aced1e2b3 SHA512 b3ec14b7961fe8be81e67ae556dd89ad85efd16a962ef8a3169a0f8d6f454aa177485a9f8f7ea5eb42d3a754e98c6eea58e18300f4c7b6a28d82a0111a411ae7
+DIST aiohttp-3.14.1.tar.gz 7955794 BLAKE2B b8b66efa9410871de7cce19427b53329460740c32bc46595933f9af21d6807493f6b5549217d993227f50b92850c5ee1a8a4b652b740e8770889ad0991789716 SHA512 8cba5eff6e62f29fc2f600b30c840febc2a6b947134d6e194a2dcd873972ada2d48cbdaa01216b53cc3127b973b0f30ef1ac69713081b5e1ed2efbfd654fdebc
+DIST aiohttp-3.14.1.tar.gz.provenance 9456 BLAKE2B 9cccbaff0ee8d38a6a68704890c8af1d48673b434d52d4fed9fe4045dba84486e764016b1a55d648d81bc266d20dc031cc47798b0a7aa87e6b5b44a22a1b3502 SHA512 267af513e2492462a2da7ac48fb71a47d84efc5129e4b84c79dc86b20f823232e1c199eeb3e278cee9469af9d20a344a920e8c63c7087a2a87b8bfdd0e5ac61e
diff --git a/dev-python/aiohttp/aiohttp-3.14.1.ebuild b/dev-python/aiohttp/aiohttp-3.14.1.ebuild
new file mode 100644
index 000000000000..1f568e4f0d5e
--- /dev/null
+++ b/dev-python/aiohttp/aiohttp-3.14.1.ebuild
@@ -0,0 +1,158 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/aio-libs/aiohttp
+PYTHON_COMPAT=( python3_{13..14} )
+
+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"
+
+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.4.0[${PYTHON_USEDEP}]
+ >=dev-python/attrs-17.3.0[${PYTHON_USEDEP}]
+ >=dev-python/brotlicffi-1.2[${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/backports-zstd[${PYTHON_USEDEP}]
+ ' 3.12 3.13)
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}]
+ ' 3.12)
+"
+BDEPEND="
+ >=dev-python/multidict-4.5.0[${PYTHON_USEDEP}]
+ dev-python/pkgconfig[${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/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_PLUGIN_LOAD_VIA_ENV=1
+EPYTEST_PLUGINS=( pytest-{mock,xdist} )
+EPYTEST_RERUNS=5
+: ${EPYTEST_TIMEOUT:=180}
+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
+ 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
+ tests/test_client_functional.py::test_invalid_idna
+ # broken by irrelevant deprecation warnings
+ tests/test_circular_imports.py::test_no_warnings
+ # https://github.com/aio-libs/aiohttp/issues/11400#issuecomment-4168569526
+ # https://github.com/python/cpython/issues/145599
+ # https://github.com/python/cpython/pull/145600
+ tests/test_cookie_helpers.py::test_parse_set_cookie_headers_uses_unquote_with_octal
+ # some warnings
+ tests/test_multipart.py::TestPartReader::test_read_decode_compressed_exceeds_max_size
+ )
+
+ # 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
+
+ rm -rf aiohttp || die
+ epytest -m "not internal and not dev_mode"
+}
diff --git a/dev-python/aioresponses/aioresponses-0.7.8.ebuild b/dev-python/aioresponses/aioresponses-0.7.8-r1.ebuild
index 613167574607..d67691da75fc 100644
--- a/dev-python/aioresponses/aioresponses-0.7.8.ebuild
+++ b/dev-python/aioresponses/aioresponses-0.7.8-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,6 +19,7 @@ SLOT="0"
KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
RDEPEND="
+ <dev-python/aiohttp-3.14[${PYTHON_USEDEP}]
>=dev-python/aiohttp-3.3.0[${PYTHON_USEDEP}]
"
BDEPEND="
diff --git a/dev-python/aioresponses/aioresponses-0.7.8-r2.ebuild b/dev-python/aioresponses/aioresponses-0.7.8-r2.ebuild
new file mode 100644
index 000000000000..db8b8fec139b
--- /dev/null
+++ b/dev-python/aioresponses/aioresponses-0.7.8-r2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Helper to mock/fake web requests in Python's aiohttp package"
+HOMEPAGE="
+ https://github.com/pnuckowski/aioresponses/
+ https://pypi.org/project/aioresponses/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/aiohttp-3.3.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/pbr[${PYTHON_USEDEP}]
+ test? (
+ dev-python/ddt[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/pnuckowski/aioresponses/pull/292
+ "${FILESDIR}/${P}-aiohttp-3.14.patch"
+)
+
+EPYTEST_DESELECT=(
+ # These tests require Internet access
+ tests/test_aioresponses.py::AIOResponsesTestCase::test_address_as_instance_of_url_combined_with_pass_through
+ tests/test_aioresponses.py::AIOResponsesTestCase::test_pass_through_with_origin_params
+ tests/test_aioresponses.py::AIOResponseRedirectTest::test_pass_through_unmatched_requests
+)
diff --git a/dev-python/aioresponses/files/aioresponses-0.7.8-aiohttp-3.14.patch b/dev-python/aioresponses/files/aioresponses-0.7.8-aiohttp-3.14.patch
new file mode 100644
index 000000000000..a60736062614
--- /dev/null
+++ b/dev-python/aioresponses/files/aioresponses-0.7.8-aiohttp-3.14.patch
@@ -0,0 +1,79 @@
+From 1a48e1f898035e3bedc981f06520842c55977706 Mon Sep 17 00:00:00 2001
+From: kleine-safie <k-guilherme@safie.jp>
+Date: Wed, 10 Jun 2026 11:05:30 +0900
+Subject: [PATCH] support for pause_reading
+
+---
+ aioresponses/compat.py | 5 +++++
+ aioresponses/core.py | 2 ++
+ tests/test_aioresponses.py | 11 ++++++++++-
+ tox.ini | 11 ++++++-----
+ 4 files changed, 23 insertions(+), 6 deletions(-)
+
+diff --git a/aioresponses/compat.py b/aioresponses/compat.py
+index 83fd47a..e95ecb2 100644
+--- a/aioresponses/compat.py
++++ b/aioresponses/compat.py
+@@ -2,6 +2,7 @@
+ import asyncio # noqa: F401
+ from re import Pattern
+ from typing import Dict, Optional, Union # noqa
++from unittest.mock import Mock
+ from urllib.parse import parse_qsl, urlencode
+
+ from aiohttp import __version__ as aiohttp_version, StreamReader
+@@ -17,6 +18,10 @@ def stream_reader_factory( # noqa
+ loop: 'Optional[asyncio.AbstractEventLoop]' = None
+ ) -> StreamReader:
+ protocol = ResponseHandler(loop=loop)
++ # Satisfies BaseProtocol's flow control hooks that
++ # fire when a large payload exceeds the StreamReader limit.
++ protocol._parser = Mock()
++ protocol._parser.feed_data.return_value = ([], False, b'')
+ return StreamReader(protocol, limit=2 ** 16, loop=loop)
+
+
+diff --git a/aioresponses/core.py b/aioresponses/core.py
+index a904cf9..52640f3 100644
+--- a/aioresponses/core.py
++++ b/aioresponses/core.py
+@@ -182,6 +182,8 @@ def _build_response(self, url: 'Union[URL, str]',
+ headers=CIMultiDictProxy(self._prepare_request_headers(request_headers)),
+ real_url=url
+ )
++ if 'stream_writer' in inspect.signature(response_class).parameters:
++ kwargs['stream_writer'] = Mock(output_size=0)
+ kwargs['writer'] = None
+ kwargs['continue100'] = None
+ kwargs['timer'] = TimerNoop()
+diff --git a/tests/test_aioresponses.py b/tests/test_aioresponses.py
+index 68bec3f..45c0d87 100644
+--- a/tests/test_aioresponses.py
++++ b/tests/test_aioresponses.py
+@@ -4,9 +4,10 @@
+ from asyncio import CancelledError, TimeoutError
+ from random import uniform
+ from typing import Coroutine, Generator, Union
+-from unittest.mock import patch
++from unittest.mock import MagicMock, patch
+
+ from aiohttp import hdrs
++from aiohttp.base_protocol import BaseProtocol
+ from aiohttp import http
+ from aiohttp.client import ClientSession
+ from aiohttp.client_reqrep import ClientResponse
+@@ -312,6 +313,14 @@ async def test_streaming(self, m):
+ content = await resp.content.read()
+ self.assertEqual(content, b'Test')
+
++ @aioresponses()
++ async def test_streaming_large_body(self, m):
++ body = b'x' * (1024 * 1024)
++ m.get(self.url, body=body)
++ resp = await self.session.get(self.url)
++ content = await resp.content.read()
++ self.assertEqual(content, body)
++
+ @aioresponses()
+ async def test_streaming_up_to(self, m):
+ m.get(self.url, body='Test')
diff --git a/dev-python/anyio/Manifest b/dev-python/anyio/Manifest
index 730214f9392f..ddbc12a4e64f 100644
--- a/dev-python/anyio/Manifest
+++ b/dev-python/anyio/Manifest
@@ -1,2 +1,4 @@
DIST anyio-4.13.0.tar.gz 231622 BLAKE2B 8224445390cb5a061c9065952ad7a5461aae80ce20be9be7a2984e54ab933373b3037eea4af2f890af8daf26faa2e4a4ee132ca612441828a9130d1a42756bde SHA512 3961bcc1d0d60ba78497203e19ee5a1c3bd7a067777f384d3353a4b0e37db7bf7bea364ef505f87575415db4bd2f06996d85913eb4e91e03f56d6b1e2d3a7ccb
DIST anyio-4.13.0.tar.gz.provenance 9508 BLAKE2B 7f835c0a3a8cc67e258115c3a128f952d649b699fc3fd859150685b6eabdbd0057c033000978c3ea25ebcd67749d4ebd6feefef3809556ff139c62e2f0ea7f4e SHA512 0fd3276663517fbbed2e4fea21a1eb14efa96290f07c509ea28a035d293af4f27d842f5b07b4305b267f0887c9c476ef23e07c0eee4ea75ab55692f252109327
+DIST anyio-4.14.0.tar.gz 253586 BLAKE2B 742b3d27dfc41983e39b61fa19daaa014d3cbba555744f0fe00b466d04da5c429940c98690858d66a3c354a21dded0b64dfeea1140c938fc5d8d70dc3c564612 SHA512 9d0e786c3bfe61f9001d3eac8e53a7efbc74dac0a61e3c07ce64bd7d090966a960f9f0967a41442b7cf99aa5ff1525d6ad2b73c9bf75da6295c44316f882ce47
+DIST anyio-4.14.0.tar.gz.provenance 9955 BLAKE2B 707a0f47ac4a65d6b766b4de926ea3721addfe80a0ece1d30857e3558c3cdeb909860d24b3bf35201e086f80fe2ab428daa295b8efa8e0b3cd2cc5cf953f616d SHA512 1cc0c4db2eacdff59331146831285f7580ef2f4d4d5fc9e49f903d2e876a8464e18ac3d2f6d54eef7c6feaca1273e2c151faad9cc4720401d8c436fdfa3221af
diff --git a/dev-python/anyio/anyio-4.14.0.ebuild b/dev-python/anyio/anyio-4.14.0.ebuild
new file mode 100644
index 000000000000..cbf4f7c1ccce
--- /dev/null
+++ b/dev-python/anyio/anyio-4.14.0.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/agronholm/anyio
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Compatibility layer for multiple asynchronous event loop implementations"
+HOMEPAGE="
+ https://github.com/agronholm/anyio/
+ https://pypi.org/project/anyio/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/idna-2.8[${PYTHON_USEDEP}]
+ >=dev-python/truststore-0.9.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.5[${PYTHON_USEDEP}]
+ ' 3.{11..12})
+"
+# On amd64, let's get more test coverage by dragging in uvloop, but let's
+# not bother on other arches where uvloop may not be supported.
+BDEPEND="
+ >=dev-python/setuptools-scm-6.4[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/blockbuster-1.5.23[${PYTHON_USEDEP}]
+ >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
+ >=dev-python/trustme-1.0.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/trio-0.32.0[${PYTHON_USEDEP}]
+ ' 3.{11..14})
+ amd64? (
+ $(python_gen_cond_dep '
+ >=dev-python/uvloop-0.22.1[${PYTHON_USEDEP}]
+ ' python3_{11..14})
+ )
+ )
+"
+
+EPYTEST_PLUGINS=( hypothesis pytest-{mock,timeout} )
+EPYTEST_RERUNS=5
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ '>=dev-python/sphinx-rtd-theme-1.2.2' \
+ dev-python/sphinxcontrib-jquery \
+ dev-python/sphinx-autodoc-typehints \
+ dev-python/sphinx-tabs
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires link-local IPv6 interface
+ tests/test_sockets.py::TestTCPListener::test_bind_link_local
+ )
+
+ local filter=()
+ if ! has_version ">=dev-python/trio-0.26.1[${PYTHON_USEDEP}]"; then
+ filter+=( -k "not trio" )
+ EPYTEST_DESELECT+=(
+ tests/test_pytest_plugin.py::test_plugin
+ tests/test_pytest_plugin.py::test_autouse_async_fixture
+ tests/test_pytest_plugin.py::test_cancel_scope_in_asyncgen_fixture
+ )
+ fi
+
+ epytest -m 'not network' "${filter[@]}"
+}
diff --git a/dev-python/apsw/Manifest b/dev-python/apsw/Manifest
index c9b861eaa21d..0143007252e7 100644
--- a/dev-python/apsw/Manifest
+++ b/dev-python/apsw/Manifest
@@ -1,3 +1,4 @@
DIST apsw-3.51.3.0.zip 2851810 BLAKE2B cb43f3425d55f23352aced5e9c07f5feec40d0ea037a2983c91e7c381e71f4ff68fcc0ca83eb444f5b37aced861d14ef6ad0c8ae91b677607ca6543ed3fe18f6 SHA512 8c729e3a4344e7b84139bdc686cb7cbbc31e00d134ac3733a27ab63269c143f79658caa899291b3ff010fa5ef7e42ba38c887e0a41b5bd2aeaabf7fe5a523e7b
DIST apsw-3.53.0.0.zip 2862752 BLAKE2B d858e910a0d80417d50a3a9c5e41375dedf7e353317ba4680db5400d2acc728338e8ff7894ff53769bbddf2a43bbc2997406e6b405a1e314c927b67bfbee7272 SHA512 9d086f80c063bd7faf2a20fd55db0a42fa53ad999ea9bd439f63fcd23cd6be07d573adf6a5274885c45d9877ffbfbad4db2b9342825e7f468367f2ea57c74c21
DIST apsw-3.53.1.0.zip 2864390 BLAKE2B d497cf55ab009ee55e2ea2da7b878e4dfe77c83f94ebbfecb4d4f9530b122fc31ec0ea7397372220097c7cbfb423f89b2bdf35dbca25516bfb9e43db8f123574 SHA512 05f48170c3a30c55fd68251431afd5a945a1c7182537e452ae79bb303316ef8e541db07eb340ea7b6eade795d63308251ac1f85960e50bee26ab0f5f15c9a8da
+DIST apsw-3.53.2.0.zip 2869157 BLAKE2B 72800a34a30f5eeb62f4d9f49cabe1d2c8746c41ca01c307130698e497f3bda034c4be84113f9eca1100d4b9f593d7b20c137ffc5ee1fd22dfd34ac1ffb1a8ef SHA512 98226fd20c3f57e14a84418f0af8ab35b7701da9926f6074cd4cc1bc3c5084d7bba081048663687d0c6e19cb11af5815a8bfae1e14f629c89ca82ad80d456c2b
diff --git a/dev-python/apsw/apsw-3.53.0.0.ebuild b/dev-python/apsw/apsw-3.53.0.0.ebuild
index b599d40c008d..bc6e32612825 100644
--- a/dev-python/apsw/apsw-3.53.0.0.ebuild
+++ b/dev-python/apsw/apsw-3.53.0.0.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="ZLIB"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 x86"
IUSE="doc"
DEPEND="
diff --git a/dev-python/apsw/apsw-3.53.1.0.ebuild b/dev-python/apsw/apsw-3.53.1.0.ebuild
index b599d40c008d..bc6e32612825 100644
--- a/dev-python/apsw/apsw-3.53.1.0.ebuild
+++ b/dev-python/apsw/apsw-3.53.1.0.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="ZLIB"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 x86"
IUSE="doc"
DEPEND="
diff --git a/dev-python/apsw/apsw-3.53.2.0.ebuild b/dev-python/apsw/apsw-3.53.2.0.ebuild
new file mode 100644
index 000000000000..b599d40c008d
--- /dev/null
+++ b/dev-python/apsw/apsw-3.53.2.0.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2026 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_{13..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/arpy/arpy-2.3.0.ebuild b/dev-python/arpy/arpy-2.3.0.ebuild
index 1b29f3d15b6f..e8ed884614ab 100644
--- a/dev-python/arpy/arpy-2.3.0.ebuild
+++ b/dev-python/arpy/arpy-2.3.0.ebuild
@@ -14,8 +14,6 @@ HOMEPAGE="https://github.com/viraptor/arpy"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="test"
-
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
distutils_enable_tests unittest
diff --git a/dev-python/array-api-compat/Manifest b/dev-python/array-api-compat/Manifest
index 692f5ef9d578..d32ef81dd03a 100644
--- a/dev-python/array-api-compat/Manifest
+++ b/dev-python/array-api-compat/Manifest
@@ -1,2 +1,4 @@
DIST array_api_compat-1.14.0.tar.gz 106369 BLAKE2B 3fc2b8388fcb85ebf19075c64c9ef1206835cae43d4a760e2998491f51b7226b834e519964341e073f21d3b3a62996bed4daa1720ff25b0e136c92926f30288f SHA512 bf233eb506b783d2d0500a93e7f5ee4b3deb826b33e01e504be14188b5b432deeb8a5bd85b050814afe1f60d1128cc6ebf4373c2453e274cf885bf9eafbda48a
DIST array_api_compat-1.14.0.tar.gz.provenance 9918 BLAKE2B 20a13459baa793462f7dab2e0d5dd51b27facaa7db3dbeb06cd4e1b6d99330414e3311822eaf1430a1079927fd48d655f401c3841afa10e51fa2d892af5ae962 SHA512 de2c0eb809322ce3762634dda54218a4348659a59d5fa4c7db6bcec929c2836495f6ef601698250f2a53a30d029448b1a0d7b2860352cb3e13b4d90a02d7c014
+DIST array_api_compat-1.15.0.tar.gz 129305 BLAKE2B 20a113e9e075946b11c76b024cab55df726ac3bef64ea1a2e3c8f070d2a810c3adb1f47e03ae5b1a85551502cb2f2e78f5786202859415213e830bc04d09f630 SHA512 b9e36c1412dd3c4f16fa89471ed2611b5728e5581730e58ef8a4090178a91fde69ca580b6bbdcee3c21460ba4e2836feb2175bc91a3f8759abe9fefc1b20c3a4
+DIST array_api_compat-1.15.0.tar.gz.provenance 10018 BLAKE2B cac26f15a88b441405caaa2efcdd20d548b110e952fab41fc4d942ac41540b84b9486d1f621c36b90a5396bbb787b5de022b7dc0336ae0025149610d749bd800 SHA512 bc2024a77c46be220732e0386e0d4c11d79e9bec40dc18032fd4f451bb6d4530aa9e954ce8d81541d9a813022ed443b82499b8f75b808d3ac784fb4970b8deaf
diff --git a/dev-python/array-api-compat/array-api-compat-1.15.0.ebuild b/dev-python/array-api-compat/array-api-compat-1.15.0.ebuild
new file mode 100644
index 000000000000..6803db1ed556
--- /dev/null
+++ b/dev-python/array-api-compat/array-api-compat-1.15.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2025-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=meson-python
+PYPI_VERIFY_REPO=https://github.com/data-apis/array-api-compat
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Array API standard compatibility wrapper over NumPy and others"
+HOMEPAGE="
+ https://github.com/data-apis/array-api-compat/
+ https://pypi.org/project/array-api-compat/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+BDEPEND="
+ test? (
+ >=dev-python/numpy-1.22[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/ast-serialize/ast-serialize-0.3.0.ebuild b/dev-python/ast-serialize/ast-serialize-0.3.0.ebuild
index 7bf8d59d0171..b6b599f7a33a 100644
--- a/dev-python/ast-serialize/ast-serialize-0.3.0.ebuild
+++ b/dev-python/ast-serialize/ast-serialize-0.3.0.ebuild
@@ -121,7 +121,7 @@ LICENSE+="
Unicode-DFS-2016
"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="amd64 arm64 ~ppc64 ~riscv ~s390 ~sparc ~x86"
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
diff --git a/dev-python/asteval/Manifest b/dev-python/asteval/Manifest
index 827edc2e4420..83073bbb9370 100644
--- a/dev-python/asteval/Manifest
+++ b/dev-python/asteval/Manifest
@@ -1 +1 @@
-DIST asteval-1.0.8.gh.tar.gz 49490 BLAKE2B 2c93101bb5a3cce16fcd97b85324ec325ea3d39fc306fc91537a3a8a7109d51fac98d411f06f86a6f5c3389dcca26c3bd1daf01fddc64bb9c749fc6ddd042928 SHA512 5d4df68aed50f3f8bb1371bf415f4c2d12ed8b4c623a67555143234d734a040d63c324d28993e8b82089a26ed3e141725384a5c121260a3731faebda643a513b
+DIST asteval-1.0.9.gh.tar.gz 50725 BLAKE2B 1f9a13e8e0dab427f6d448d3ffe7832542748d53c41ca632d705d907a5f433270ec0771d62e97a96ec1412a70508cc9aa2bb32e1920d8992f8660b2982a9c2cf SHA512 54ea5508bf36a087b99a68365662327b0f1963b9ad4565cd94ab1cddbb0f12cb4e56baa5b7d2d3be42ece845da0d65fabbf4e656f68f98230b6ffa92aea52118
diff --git a/dev-python/asteval/asteval-1.0.8.ebuild b/dev-python/asteval/asteval-1.0.9.ebuild
index ed76d9a60891..7ebe09e89337 100644
--- a/dev-python/asteval/asteval-1.0.8.ebuild
+++ b/dev-python/asteval/asteval-1.0.9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-python/asyncssh/Manifest b/dev-python/asyncssh/Manifest
index f2fb47fba037..39d9c1d93f2a 100644
--- a/dev-python/asyncssh/Manifest
+++ b/dev-python/asyncssh/Manifest
@@ -1,2 +1,3 @@
DIST asyncssh-2.22.0.tar.gz 540523 BLAKE2B 250253711d7a4bfda448f63888f6665d7af8ffc27c1da7389dbd996b64c028d3c0b5a0baa3f5d6e04294857cf5a8ff6b3d4a6d5c5e3a46094ddfde7f59ac4205 SHA512 30340dbfa0db60071458ce51f24d972760b3284ed7bc10613546eddb39cb191076e02c0f1405d9f2f74bed8d5102f182d5e7e8264ad0c46b10e536cd80819da6
DIST asyncssh-2.23.0.tar.gz 542154 BLAKE2B 8754476a48209e37841594373b4cf9be2f8adab529200893bf79a7fb8d7b25925a32627a0bdbd0314f2a15d2513668565a750aacfeae0c1032674b0186321769 SHA512 473404e08a4f77a35ce7cd5722d046f0e6b06f87a77a44050b1abfa0a971360c9775d9ec44493de1a4b4ad4bc729d59ffb2bdf6e17390620ad9e121317c2ca2a
+DIST asyncssh-2.23.1.tar.gz 542883 BLAKE2B 37233c585fa4471e3d8cc72034ae2ada556c25e6e0ae5400783508d9d28bbb40d7c110ce3a50a1b6d5a576b2ba96093b9c444f96179394360d54488b015b7a5b SHA512 26e25ba1bc4cbed9ae11ed10e83cc3e10421f36dce4202d1e7f89bd23ba86d41c3dec7d9e15f2e6d733da84fa748e626eba4f43b5e1f17ec496bc9cbc879ee16
diff --git a/dev-python/asyncssh/asyncssh-2.23.0.ebuild b/dev-python/asyncssh/asyncssh-2.23.0.ebuild
index e76337edf17a..fc7f30a9d071 100644
--- a/dev-python/asyncssh/asyncssh-2.23.0.ebuild
+++ b/dev-python/asyncssh/asyncssh-2.23.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="|| ( EPL-2.0 GPL-2+ )"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~s390 ~sparc ~x86"
+KEYWORDS="amd64 arm arm64 ~ppc ~s390 ~sparc x86"
RDEPEND="
virtual/openssh
diff --git a/dev-python/asyncssh/asyncssh-2.23.1.ebuild b/dev-python/asyncssh/asyncssh-2.23.1.ebuild
new file mode 100644
index 000000000000..e76337edf17a
--- /dev/null
+++ b/dev-python/asyncssh/asyncssh-2.23.1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Asynchronous SSHv2 client and server library"
+HOMEPAGE="
+ https://github.com/ronf/asyncssh/
+ https://pypi.org/project/asyncssh/
+"
+
+LICENSE="|| ( EPL-2.0 GPL-2+ )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~s390 ~sparc ~x86"
+
+RDEPEND="
+ virtual/openssh
+ >=dev-python/cryptography-39.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/aiofiles[${PYTHON_USEDEP}]
+ >=dev-python/bcrypt-3.1.3[${PYTHON_USEDEP}]
+ >=dev-python/gssapi-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/ifaddr-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-23.0.0[${PYTHON_USEDEP}]
+ amd64? (
+ >=dev-python/fido2-2[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+EPYTEST_PLUGINS=()
+# xdist: fails on serializing 'type'
+distutils_enable_tests pytest
+distutils_enable_sphinx docs
+
+pkg_postinst() {
+ optfeature "OpenSSH private key encryption support" ">=dev-python/bcrypt-3.1.3"
+ optfeature "key exchange and authentication with U2F/FIDO2 security keys support" ">=dev-python/fido2-2"
+ optfeature "GSSAPI key exchange and authentication support" ">=dev-python/gssapi-1.2.0"
+ optfeature "using asyncssh with dev-libs/libsodium" "dev-python/libnacl"
+ optfeature "X.509 certificate authentication support" ">=dev-python/pyopenssl-23.0.0"
+}
diff --git a/dev-python/authlib/Manifest b/dev-python/authlib/Manifest
index f6cc553001dd..6d06912ba66c 100644
--- a/dev-python/authlib/Manifest
+++ b/dev-python/authlib/Manifest
@@ -1,3 +1 @@
-DIST authlib-1.7.0.gh.tar.gz 354993 BLAKE2B 14aec891290fa8997ebcbbbb5f4c42c7993333aa05629f5d3d03461b990b878ea24d8fbe3391a33182316fadbf690196f4f18db03c7997c6ae97c212b973a332 SHA512 67682d33e7e6686e4b00171fa483b32b8dfea3ace9b329804a9243ad8b8be3d93526676105f87707d9cb88fd88e4ec656ef6952cb657bed765e3260e2846b9cd
-DIST authlib-1.7.1.gh.tar.gz 355175 BLAKE2B 7c593b7b85b29ed9ece574e4e202784c00254f12cfb129057eaf1727ab20d516aea0abb92d5ca9265a32ad12abd41f9612e1fce4ac4e398212006fdb48a4bc30 SHA512 2af4f1109678a182ac7afa6f6b8fcfd3bc1ec89c3175ace3bd25ae6e49386e305b90a06547dc1f5f6557098dd52d713f690661823b87edb9fe97b1734322ecff
DIST authlib-1.7.2.gh.tar.gz 356607 BLAKE2B 60d232c26a672bdbd2cb57073ed05bcde2d5ed1caa143cb1d64760758c0a93adf0cde3db579c787d219fd741c50eb182d932c91e3a23251837784e963dc2b37c SHA512 814d5160baec83de80ba4a9bed86a611ae4b2605c3674dc6fe24844bd5da1bb9dc2d73e8c42bb44e378991f2479ed478477e42535cf2888c29506ee25e629aa7
diff --git a/dev-python/authlib/authlib-1.7.0.ebuild b/dev-python/authlib/authlib-1.7.0.ebuild
deleted file mode 100644
index d5fa583bda73..000000000000
--- a/dev-python/authlib/authlib-1.7.0.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517="setuptools"
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="A Python library in building OAuth and OpenID Connect servers and clients"
-HOMEPAGE="
- https://authlib.org/
- https://github.com/authlib/authlib/
- https://pypi.org/project/Authlib/
-"
-# pypi source distribution excludes the tests
-SRC_URI="
- https://github.com/authlib/authlib/archive/refs/tags/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="django jose test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/cryptography[${PYTHON_USEDEP}]
- django? (
- dev-python/django[${PYTHON_USEDEP}]
- )
- jose? (
- dev-python/joserfc[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- test? (
- dev-python/anyio[${PYTHON_USEDEP}]
- dev-python/cachelib[${PYTHON_USEDEP}]
- dev-python/django[${PYTHON_USEDEP}]
- dev-python/httpx[${PYTHON_USEDEP}]
- >=dev-python/pycryptodome-3.10[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/starlette[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( pytest-asyncio )
-# EPYTEST_XDIST makes tests flaky
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # convert from pycryptodomex to pycryptodome
- sed -i -e 's:from Cryptodome:from Crypto:' \
- authlib/jose/drafts/_jwe_enc_cryptodome.py || die
-}
-
-python_test() {
- local -x DJANGO_SETTINGS_MODULE=tests.django_settings
- epytest tests/{core,jose,clients}
-
- # TODO: django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
- #epytest tests/django
-}
diff --git a/dev-python/authlib/authlib-1.7.1.ebuild b/dev-python/authlib/authlib-1.7.1.ebuild
deleted file mode 100644
index d5fa583bda73..000000000000
--- a/dev-python/authlib/authlib-1.7.1.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517="setuptools"
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="A Python library in building OAuth and OpenID Connect servers and clients"
-HOMEPAGE="
- https://authlib.org/
- https://github.com/authlib/authlib/
- https://pypi.org/project/Authlib/
-"
-# pypi source distribution excludes the tests
-SRC_URI="
- https://github.com/authlib/authlib/archive/refs/tags/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="django jose test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/cryptography[${PYTHON_USEDEP}]
- django? (
- dev-python/django[${PYTHON_USEDEP}]
- )
- jose? (
- dev-python/joserfc[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- test? (
- dev-python/anyio[${PYTHON_USEDEP}]
- dev-python/cachelib[${PYTHON_USEDEP}]
- dev-python/django[${PYTHON_USEDEP}]
- dev-python/httpx[${PYTHON_USEDEP}]
- >=dev-python/pycryptodome-3.10[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/starlette[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( pytest-asyncio )
-# EPYTEST_XDIST makes tests flaky
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # convert from pycryptodomex to pycryptodome
- sed -i -e 's:from Cryptodome:from Crypto:' \
- authlib/jose/drafts/_jwe_enc_cryptodome.py || die
-}
-
-python_test() {
- local -x DJANGO_SETTINGS_MODULE=tests.django_settings
- epytest tests/{core,jose,clients}
-
- # TODO: django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
- #epytest tests/django
-}
diff --git a/dev-python/awkward-cpp/Manifest b/dev-python/awkward-cpp/Manifest
index 1c773d0c4b21..a6106dd0cc2a 100644
--- a/dev-python/awkward-cpp/Manifest
+++ b/dev-python/awkward-cpp/Manifest
@@ -1,2 +1,2 @@
-DIST awkward_cpp-52.tar.gz 1486576 BLAKE2B def9c90066e0056996aa2800be9d728d7f06a67ae5729c53a08550f70ae9c0fb2dc88b40f90a2dae54c85dbf763eb67b6ac0c005e00579d20abe7c263bdac103 SHA512 da45fbdab03aaf44a74d04e025b40fbece9cf3201887ff4063fe8fd639967a6575ee819419b4fca9e805dd35ffab4233399a81f89ed2413c54ac3760a1c59088
-DIST awkward_cpp-52.tar.gz.provenance 9498 BLAKE2B 17d56a2beba2974f1be8bb24067380f65a4853e69240711daf703ef122ce381a50f22fadfff5c45e985d10a59e4aba723100d9cc308ea20e7788c0972431b36b SHA512 e828d1d1e6e39bf21b5c32e5970133ae9bd16d6e4740778c308d1dbb8ce34ff5edd850b3ebfedf73ceb13c1169be868855d6588d951c96849076db023022bbf9
+DIST awkward_cpp-53.tar.gz 1495744 BLAKE2B afa6aec4c233009a9054a41f1b38dfbce94495ed98767c2a8dff8ec16d94ccb04e0f93388196d7daf9f6217e8ac67a01429134ee335c1f082f8fb523f97b0832 SHA512 3c2e349f582f04d47e5b8cb1c33d5d3d46bd4f176e29d51749cdc33ac082d9f5fd11d1215c1dc76f71c30781cd48a3e76dd507810c5f0d4f0f221433cfdd4b35
+DIST awkward_cpp-53.tar.gz.provenance 9851 BLAKE2B c420450eeba8a63c6d448c3ba3e58e93c30d9702e4db7d6c9d627f8ac7c5313dcaba530b7a70a9a345ef190c85ae3e0813cfd7825434c73f8f41972529f9a4ca SHA512 35357efd86aca9ab3b9e06887588f4e003ac9da4797c8e60d9225e83a67e57d0e2e343d20a713881e1db2f624d74871ebaaa21f2f89abbe9130198ce5f5f6517
diff --git a/dev-python/awkward-cpp/awkward-cpp-52.ebuild b/dev-python/awkward-cpp/awkward-cpp-53.ebuild
index 5ab4874ad1dc..5ab4874ad1dc 100644
--- a/dev-python/awkward-cpp/awkward-cpp-52.ebuild
+++ b/dev-python/awkward-cpp/awkward-cpp-53.ebuild
diff --git a/dev-python/awkward/Manifest b/dev-python/awkward/Manifest
index ae5b585ab388..60847ad7e2f8 100644
--- a/dev-python/awkward/Manifest
+++ b/dev-python/awkward/Manifest
@@ -1,2 +1,2 @@
-DIST awkward-2.9.0.tar.gz 6287845 BLAKE2B b8a329b3b3a89b8785122d95c915a9ddf48371236991434622e5d22bd23871c2e9cf3be7b59d7c86af9f42462e8e37a0345271dfa32a848309efe61e9d53d667 SHA512 a8292b9d149016030b80eb159cb634572ad337a1224f9725bbe51c23a1a757a9e3ee2438e33bc0dc343d0758afc91fa3e6c72f6382aa2567b5f0856d42bfe8be
-DIST awkward-2.9.0.tar.gz.provenance 9327 BLAKE2B 9a6aff4f547024fb9c3de4a4608def000bb093bbb40ac8e8229da8edceecd466b9ea6ac8cda9f68b6a9c91243227c2eb03968ae8dc4423dcae533a61cc3e5079 SHA512 51ec3f09b3e9607701a2fbd5f85825d7c0f9d3bb835093c023110ea8d50f41196cf2037cab4102f171a05e3bf14be4ed8764674645a3647908d6f318f4847b40
+DIST awkward-2.9.1.tar.gz 6303886 BLAKE2B 5b17e9934e335c86c0bfec9c191b016505812167e08cf474d436dfb9543337538e35454572f76b9776023f4c5097fa2ef784ec7d6f8c1c7401646bd8aea39311 SHA512 836b59c231a0c06fa38bcfac6412db0e8a68553c67f9803fc7785b7f2dc5b24f870749641e5be6c1305a6fe36228f3786296ebf32e24a7bfb995aa44d4826fe0
+DIST awkward-2.9.1.tar.gz.provenance 9547 BLAKE2B ec83d985d2f2bc3c0270f34fda2712916c09af7efa8bbd9e513601ac047bb2947e931049f8c74d8a81d512580b2370da35a331e41e421783344da3c9ae539a56 SHA512 0775aa8f79a2d4bd5d07286c5420dd3ea365d79519116ea54e5d42c0185df2d056ac30f492105d8c542a255914483f5ff44f81a03676640d622e2a4c046001ab
diff --git a/dev-python/awkward/awkward-2.9.0.ebuild b/dev-python/awkward/awkward-2.9.1.ebuild
index 92aef677d3b7..21b92953eb34 100644
--- a/dev-python/awkward/awkward-2.9.0.ebuild
+++ b/dev-python/awkward/awkward-2.9.1.ebuild
@@ -21,7 +21,7 @@ SLOT="0"
KEYWORDS="~amd64"
RDEPEND="
- ~dev-python/awkward-cpp-52[${PYTHON_USEDEP}]
+ ~dev-python/awkward-cpp-53[${PYTHON_USEDEP}]
$(python_gen_cond_dep '
>=dev-python/importlib-metadata-4.13.0[${PYTHON_USEDEP}]
' 3.11)
diff --git a/dev-python/b2sdk/Manifest b/dev-python/b2sdk/Manifest
index 721cdd0d6414..fc4cf285ad98 100644
--- a/dev-python/b2sdk/Manifest
+++ b/dev-python/b2sdk/Manifest
@@ -1,3 +1 @@
-DIST b2sdk-2.10.4.gh.tar.gz 564873 BLAKE2B a6b06e110d725907568e27e15e8ea76636632ad6f2ca36a45587fa8596c0bdcd387f631ea2c2289e8865e20a0d475bc2c278d9471d2e24a4303932c4bbee0dfa SHA512 9854882551d3a4adf558cf914f1afbdd50ca89ac33b3c89731474e78a55e34bbc7b0a2a23d1f794c55254b714cd6f50553dbb82dbdb2e9ccfaa8c61cb14c41ec
-DIST b2sdk-2.11.0.gh.tar.gz 564361 BLAKE2B 5f0645a23c924c4dec1e851e602b782b8ea7203e667c160520ec7019a8c3500440149ab11c94084ee0aad59d185fbff90f64fc7d4b40d8d47099e7311f3d8437 SHA512 53e511824dcb95e7aa70866ddb75a7b1abd780031b87021f65874d2cb18c527414ad19f291bc87788d8a801aa20f1a676ba27972e56ae76b15766de756163f50
DIST b2sdk-2.12.0.gh.tar.gz 491790 BLAKE2B 07fb95e44751e48f20da5df8baf81235eed128c655e5993cf38cf78c26201328d377e50d3a243e7a8a3609e01f6a5a86bab3dc20f2b38feff89ce7aa697213f5 SHA512 cf1d37112dc5b6059bab5f6f5d970a29cfc89a9825ad6044c107d5f7a0a38024c7851e3d72b41a1c750d86bcd25d1234d37aabcddc9c77692e67abcd8b4df622
diff --git a/dev-python/b2sdk/b2sdk-2.10.4.ebuild b/dev-python/b2sdk/b2sdk-2.10.4.ebuild
deleted file mode 100644
index ab5e92078f78..000000000000
--- a/dev-python/b2sdk/b2sdk-2.10.4.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 2025-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Library to access Backblaze B2 cloud storage"
-HOMEPAGE="
- https://github.com/Backblaze/b2-sdk-python
- https://pypi.org/project/b2sdk/
-"
-# No tests in sdist
-SRC_URI="https://github.com/Backblaze/b2-sdk-python/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-S="${WORKDIR}"/b2-sdk-python-${PV}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-# pydantic can be used but it has a fallback
-RDEPEND="
- >=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}]
- >=dev-python/tenacity-9.1.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- dev-python/responses[${PYTHON_USEDEP}]
- >=dev-python/tqdm-4.5.0[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_IGNORE=(
- # Requires network access and real API keys
- test/integration/test_bucket.py
- test/integration/test_download.py
- test/integration/test_file_version_attributes.py
- test/integration/test_sync.py
- test/integration/test_upload.py
- test/integration/test_raw_api.py
-)
-
-EPYTEST_PLUGINS=( pytest-{lazy-fixtures,mock,timeout} )
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/b2sdk/b2sdk-2.11.0.ebuild b/dev-python/b2sdk/b2sdk-2.11.0.ebuild
deleted file mode 100644
index ab5e92078f78..000000000000
--- a/dev-python/b2sdk/b2sdk-2.11.0.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 2025-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Library to access Backblaze B2 cloud storage"
-HOMEPAGE="
- https://github.com/Backblaze/b2-sdk-python
- https://pypi.org/project/b2sdk/
-"
-# No tests in sdist
-SRC_URI="https://github.com/Backblaze/b2-sdk-python/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-S="${WORKDIR}"/b2-sdk-python-${PV}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-# pydantic can be used but it has a fallback
-RDEPEND="
- >=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}]
- >=dev-python/tenacity-9.1.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- dev-python/responses[${PYTHON_USEDEP}]
- >=dev-python/tqdm-4.5.0[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_IGNORE=(
- # Requires network access and real API keys
- test/integration/test_bucket.py
- test/integration/test_download.py
- test/integration/test_file_version_attributes.py
- test/integration/test_sync.py
- test/integration/test_upload.py
- test/integration/test_raw_api.py
-)
-
-EPYTEST_PLUGINS=( pytest-{lazy-fixtures,mock,timeout} )
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/backports-zstd/Manifest b/dev-python/backports-zstd/Manifest
index d8380eab2246..0f63e22940fa 100644
--- a/dev-python/backports-zstd/Manifest
+++ b/dev-python/backports-zstd/Manifest
@@ -1,6 +1,4 @@
-DIST backports_zstd-1.3.0.tar.gz 997138 BLAKE2B 17fc2627b1cd498e6e808ac62fa56aa744f9124df0c7954fa9f58ff2eceb201fc414afeaa67b92a74ad23eaac0f01199f276ac1b156a9462f0cacd4e9a64aa40 SHA512 f9318e5e86ca284e96d64e53b6ebe15b534c13f95ea2f8a36fb48189ce0690b3d8cd952ba69a369a7da555665786753d70bddb66b3aa43bcc04a654fb466d158
-DIST backports_zstd-1.3.0.tar.gz.provenance 9389 BLAKE2B e6f8bcf6bc755e5e4f9d7e85adbb930018a761e37f2b0cde08905cc3cc0a5bd25ea75283f3012df84fd15a7be81d0708c9a5b202c72d2a8ce7ebbff0fed8958b SHA512 2c846b90a4049a1eef2cc5b4c89c0311f92513558cffae4bc918dd778f9648d13c854592ab7416b1b15f1942ff106b4d714905b9ffcd15746cad4fa60282fe8c
-DIST backports_zstd-1.4.0.tar.gz 997918 BLAKE2B 86943a7639da562f67aeae1f59bc240b2bcf8092f2a662d56e42ee34687668d4b953b95afca491dd611c6b2c2647a724f76d5e0ef9b2829f9edc29e510aa85b9 SHA512 ab0627af0aea8839674eadbdad4fb6aa33149c832f37b5bb15a0db4141325eb881c8cace24b35d0de057641d698fef9850f8c39aee4c00aa745ca37cdb7fda9d
-DIST backports_zstd-1.4.0.tar.gz.provenance 9726 BLAKE2B 4ad960deadb81d27d40d757b8c688f39fe4200f34adea1343a4d25f26d39b5ac756b9fdb1f98a17fddc707f0ea309edfc0e0b275a529ae0ccd4e5a02bf5252a2 SHA512 d310a4bfc3cbbfad93c0eb7397d4a4da1b7b1134d03bd7b515609b511617773160fb0ad17cdd5f57cd3ef75d3e0274b6a527840b92c30301e6f1946aaf815ef8
DIST backports_zstd-1.5.0.tar.gz 998556 BLAKE2B 0fbcf631730d01afece73a68d80c1df93d7af0205b105c93a901e4688c5414575fa37a177c7fec0b673edb49bdda7c7c06da1179cd7d84641bf11aee8d68f596 SHA512 47298459a77eb5dcbb47d362414e7f9b1347bba0c9a724a465a55e137d1c4aaffc8e79897aa5d0e30c7855b0cf6e537e8439a18edef452a45407a66be3447276
DIST backports_zstd-1.5.0.tar.gz.provenance 9628 BLAKE2B b476f6b73845195092ffc97b94199650df9e8f27d4e4ae7b9676d83b0a0c48b8b3c215e63b361b38857241e9ce123f94c18e35976b1095f5c49812b9eb1e4502 SHA512 77101ebd8e3409a67da8ca31d30305cb4753b9e20d73dbb148c77c970addc4035f96777f64f343109d28287ba42c3e347bd8bd027c63cd7a667740114fe03aaa
+DIST backports_zstd-1.6.0.tar.gz 1000009 BLAKE2B a906fd579650bec328ba0ba496952f621095abc0c1febeb2b2b7ba8fe48f16f1562cdae1851305495c1e539e3749f90cc35fe41ae77b961ee7dbbb2548dd0d81 SHA512 6f5e1f595eb9ee98036e06f3bceb10b6bc4b5555185fbaba789dccd9edd41c10594ea8fd1863b8e27e9dad7260772ce345d52462f72d794ce4ef9580dc656613
+DIST backports_zstd-1.6.0.tar.gz.provenance 9813 BLAKE2B 7308538f1a6022da536c6b9881420416e3d8c9f5acbad375d6278518d368879893e33e3b3966474fc39c4d88726d9886ad5d4eae3f7f69cdade173fb4337a5b7 SHA512 56f0bfd41bacba9ecc88da90a32a17f098073703df962f6a212111a27c4b486952eeb36df5a165033bc47e06f9e17e03485651cc8f8cd23fc6393fcdd917229e
diff --git a/dev-python/backports-zstd/backports-zstd-1.3.0.ebuild b/dev-python/backports-zstd/backports-zstd-1.3.0.ebuild
deleted file mode 100644
index f67e9c4ae35b..000000000000
--- a/dev-python/backports-zstd/backports-zstd-1.3.0.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2025-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYPI_PN=${PN/-/.}
-PYPI_VERIFY_REPO=https://github.com/Rogdham/backports.zstd
-# this is a backport from py3.14, so don't add it
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Backport of PEP-784: adding Zstandard to the standard library"
-HOMEPAGE="
- https://github.com/Rogdham/backports.zstd/
- https://pypi.org/project/backports.zstd/
-"
-
-LICENSE="PSF-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-DEPEND="
- app-arch/zstd:=
-"
-RDEPEND="
- ${DEPEND}
-"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # remove -flto and other forced cflags
- sed -i -e 's:kwargs\["extra.*:pass:' setup.py || die
-
- DISTUTILS_ARGS=(
- --system-zstd
- )
-}
-
-python_test() {
- eunittest tests
-}
diff --git a/dev-python/backports-zstd/backports-zstd-1.5.0.ebuild b/dev-python/backports-zstd/backports-zstd-1.5.0.ebuild
index 8b72d545ef85..f67e9c4ae35b 100644
--- a/dev-python/backports-zstd/backports-zstd-1.5.0.ebuild
+++ b/dev-python/backports-zstd/backports-zstd-1.5.0.ebuild
@@ -20,7 +20,7 @@ HOMEPAGE="
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="
app-arch/zstd:=
diff --git a/dev-python/backports-zstd/backports-zstd-1.4.0.ebuild b/dev-python/backports-zstd/backports-zstd-1.6.0.ebuild
index 8b72d545ef85..8b72d545ef85 100644
--- a/dev-python/backports-zstd/backports-zstd-1.4.0.ebuild
+++ b/dev-python/backports-zstd/backports-zstd-1.6.0.ebuild
diff --git a/dev-python/beautifulsoup4/Manifest b/dev-python/beautifulsoup4/Manifest
index 7d1d5665384c..0311e20bd114 100644
--- a/dev-python/beautifulsoup4/Manifest
+++ b/dev-python/beautifulsoup4/Manifest
@@ -1 +1,2 @@
DIST beautifulsoup4-4.14.3.tar.gz 627737 BLAKE2B e5b32c33afefcfccfa952b55e800b903e5c65ed54704d39a28603b54a75508079c6cba8db425595fa2b47fa7cf07fa1172dbff4c13c3bc1cc0a705bc786dd1fd SHA512 5c535534045cac033112b7c060539d6b5a748620df9d15fb4c719708cde263ac506f3734a39156681633942543dc555af51c619dae430311a8889204d8ee325e
+DIST beautifulsoup4-4.15.0.tar.gz 632571 BLAKE2B c9c3745b338ffdf4c8d51246d914f52f7a0caf45933ef413c16f4c7a5a80b9c090463efa9960044065b074b9790db80271cc1cb51af50714bb809c991cca8477 SHA512 ccf07cac23ca52f50802b3d6271b42c1367022e2bc409b1be2924bbbd274cebce3b5afde1c1c4f253802b7a58f907cb60a29d347ae2765c33ce85bec9dcc473c
diff --git a/dev-python/beautifulsoup4/beautifulsoup4-4.15.0.ebuild b/dev-python/beautifulsoup4/beautifulsoup4-4.15.0.ebuild
new file mode 100644
index 000000000000..93c3dac04ac9
--- /dev/null
+++ b/dev-python/beautifulsoup4/beautifulsoup4-4.15.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Pythonic idioms for iterating, searching, and modifying an HTML/XML parse tree"
+HOMEPAGE="
+ https://www.crummy.com/software/BeautifulSoup/bs4/
+ https://pypi.org/project/beautifulsoup4/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="
+ dev-python/html5lib[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ >=dev-python/soupsieve-2.6[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.0.0[${PYTHON_USEDEP}]
+"
+# bs4 prefers cchardet > chardet > charset-normalizer
+# however, charset-normalizer causes test failures, so force the other two
+# dev-python/chardet[${PYTHON_USEDEP}]
+BDEPEND="
+ test? (
+ || (
+ dev-python/faust-cchardet[${PYTHON_USEDEP}]
+ dev-python/chardet[${PYTHON_USEDEP}]
+ )
+ dev-python/packaging[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+distutils_enable_sphinx doc
+
+EPYTEST_DESELECT=(
+ # broken by security backports, already skipped on py3.13+
+ "bs4/tests/test_fuzz.py::TestFuzz::test_rejected_markup[crash-ffbdfa8a2b26f13537b68d3794b0478a4090ee4a]"
+)
diff --git a/dev-python/bleach/Manifest b/dev-python/bleach/Manifest
index 9719ff37c02c..660aee993cdd 100644
--- a/dev-python/bleach/Manifest
+++ b/dev-python/bleach/Manifest
@@ -1 +1,2 @@
DIST bleach-6.3.0.tar.gz 203533 BLAKE2B b81c1337155f43ed2dcaff0fe91035b65a4d44b3916f53a29353a9fd18d623e9908db7218dc59589a487d978933dd2680c2e82ab78cb14f64c8d674542ecc248 SHA512 8ebf85f78f7daae90db91e54f368fcc36dde8d93f04cbe469e861d76c55c52d147e756a9d0198e01b3cd93aca966fdaf4d5d35bd2ed3c731e772ed67d5d484a3
+DIST bleach-6.4.0.tar.gz 204857 BLAKE2B e7aacd01ada6a28a04d03c13585f3febbe5aba581f07e743265a90c69d9f0b6314e1e687505b2f17285d687add3d9a739772260f6561a09cde6b705ff65b51cd SHA512 3d60b3a96b41d574bb5318bfe7d28e1db94c38d4635b9b46c5d7b4ebd462244b4f424c70ea7b7882aeeabcce7bddae8e14c395455b0eaaff5b377cfd9a1c4198
diff --git a/dev-python/bleach/bleach-6.4.0.ebuild b/dev-python/bleach/bleach-6.4.0.ebuild
new file mode 100644
index 000000000000..d3a65f9d1409
--- /dev/null
+++ b/dev-python/bleach/bleach-6.4.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="An easy whitelist-based HTML-sanitizing tool"
+HOMEPAGE="
+ https://github.com/mozilla/bleach/
+ https://pypi.org/project/bleach/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/webencodings[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/blessed/blessed-1.39.0.ebuild b/dev-python/blessed/blessed-1.39.0.ebuild
index b62fbe9993d0..c9bc3221055c 100644
--- a/dev-python/blessed/blessed-1.39.0.ebuild
+++ b/dev-python/blessed/blessed-1.39.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+KEYWORDS="amd64 arm64 ~riscv x86"
RDEPEND="
>=dev-python/wcwidth-0.7[${PYTHON_USEDEP}]
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 6be34ef468ee..ec79501dffa6 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -1,12 +1,6 @@
-DIST boto3-1.42.96.gh.tar.gz 1129293 BLAKE2B 186684ffe3d8e776e6f7462b4c7fdd996febcfc84ef87b3fe7399bc44bf00578177dab353d758231d0b2437fdbbef9204fc58b2eeda8f5be95b1d74e967c0d1d SHA512 c265a94e7fb4e7ed19e2f5aa152410c83d8e171373eb95c3572e8cc03fae6371c2ee7145722adffdab4e680b8f2abd0f3c3f4ff52bbd20fdfccd932f30cb9a20
DIST boto3-1.43.14.gh.tar.gz 1146029 BLAKE2B f8de3d46b90f55873492212afeab44b63abf1165920f75fd24178970fc3881904eb557268e5837d25e15a5fe9804ed895d351b17d377f5dfbdb7f11ef200910e SHA512 96721de4aa3387c3101686f62bbda63132eac02a03557fa8f26a61ac59af8506d829c38e9381088af4deb7b3bd4a79f82070a575f8c34eaeb387f9e1820331ed
-DIST boto3-1.43.15.gh.tar.gz 1146686 BLAKE2B e2e610e2ec99d6eb6a200014ddcc3674bec61715d340f6ca9fa89ff0d4d19afd8d58b971909d935c97387bd999ddbbdf9c64956aed40f609e40e9c8262cd2ccf SHA512 eab581355c8213badf91bffeb64cbb8fcb3957619794c287984d96fccf9b6df093b73e4253b92f69a2c92c595d8b5720cee05c61d05c17a2807afea1694829ac
-DIST boto3-1.43.16.gh.tar.gz 1148009 BLAKE2B 5b303a49faabe253b133c8d5fd5fe95caef3ba00166d2193ef6638d24115779e6678db4571920ab9f1ebbfecd6c3cada6349eaec9b9a9d0449760b19ac5ee98c SHA512 bc5306f9fa25a23e0b4882605d938b04fb9033d16a2a5be2f2cac4b5d60557c8139bca08b18ca6022fbdc7291ad34210f0f4ed24846099746df803f3f813d645
-DIST boto3-1.43.17.gh.tar.gz 1149899 BLAKE2B 156dca381b1d0900c9191852081ba81f8d1d2f9d4b2523a363d0693ea71fd7792b183c2cd8dfaa734112dd4f4bdfc3340c1e46c405698d1668f3de512e0c8071 SHA512 1b5309bf6786c8c2d5e08885ed930981845c8013c7306959362a17cdcf65de4cf70f213c631ceecd951e584d04ccb5c56ba5227ca1bef414dc3fbf9387ba0a08
DIST boto3-1.43.18.gh.tar.gz 1151413 BLAKE2B 81013f13acbc4e1c154b62b63163b8034cc122b0c66d8213af81fe046f72a759b329126bf28ec261156e6e459d5283ab61e4965375b0b8264d5aed98396f019b SHA512 9a6eac48ffd61872a0a30ce2142b7e94eb4eefeae932eb0e7273f89f574e20a9bad4dc9a789a60ecfa552ab907df46423cffb1cdf2c1804ebd6b3578c3330f26
-DIST boto3-1.43.19.gh.tar.gz 1151877 BLAKE2B 2e0841161be1264af7314127ef7ca145a374dff3ec0e5ac5b00d9ee38076300f40ecfc06881084dec3325d3d85f71aa562b3327ec63fb726715995b64b194d90 SHA512 91cc620b226736b763abc8e7790c763485a53d5175a6f981d50cd3780106f794d1f09e009a4c236dd3c02f9177d9f189daba97b4bfeb1535139f63f14966d8ff
-DIST boto3-1.43.2.gh.tar.gz 1133320 BLAKE2B 21890b9f6629ec5af1da155d767a6117beada74550c292ba07d6900666bef39722740493e343a4770cf7f8adbb0030462d9e41366daee4c2bc17c391f14153f2 SHA512 b807ff1e6133285f6f64a83e328b7522f18d2de63838e9d6d70b982f44316b63aed90ddf3cbc12c6c32967c35807c0ef548d647588cd76c09a363e4de0c9b1e0
-DIST boto3-1.43.20.gh.tar.gz 1153608 BLAKE2B 14c74c4983763e063110c401406a7023ec4a26e12442d083c85f5757067a3b2a9f2c8def2547e8328de8dbcc372007bc2e782b0efdb1b0ffa584262e47c26a4a SHA512 ce9c0abc4278141549fb98c073f5f3e16d708207129953181546c53ff0c222ce63cf717efb2b5c727de6ee19817abc97561e5b03c3c81b6e76466bafddbb51b7
-DIST boto3-1.43.22.gh.tar.gz 1154525 BLAKE2B ecf768e7dfbb30cc111caaf16b21db86c5ce686e8c049b394533f8e9f6cd75868a629cb0e55bda56e32cc9b65da76c81203bf93d510eeec16e813b9b623644c1 SHA512 cc9514fb65605ef1d36044d671b2b3fe93e34dff13a7f1eafb4bd2810380460f510d7c37265395009e3da60d7f52e56b8695a8b355b13a948a6db423569bb4ce
-DIST boto3-1.43.6.gh.tar.gz 1137408 BLAKE2B 11a92806102c847f0072394f726a56c84f2378f9b75394d3b23f9357a35dd8ae2794149d7d20c0b4f0ba64a14e4234606ac49b846320e770b20eca51c9f53790 SHA512 e51787a036386af77a77f39ef1b857bf1fa6a6a106694ae0f6fd07097420fb1a01ad14037e55a8279c1aa8968c64becede89ef3ecbd5bd43c4af0f30f4e5cae5
+DIST boto3-1.43.24.gh.tar.gz 1156465 BLAKE2B 52937853e047217550a0cad9ee09e61f8d5210bb6c943be85f55ae0bbf9a427f2662153df6be4c95dca419208171b427c40b7c254ee6873fbb342cb93e5c599f SHA512 7db83d4c793acab0cb049b4c84e153d958c23c945893a17eb7f84e1e854adfdc18cb94e9c5f9ef5fb9fa4e2cac99b764de87c5a9fbdc93e65283d9528712360c
+DIST boto3-1.43.29.gh.tar.gz 1161648 BLAKE2B 3f0a040019fd8ea2a42a82c75bf31e563ef1e74745e3848f59fd8e1eb9946c5470cce0ece81d602cdd104e1d1a0cce68460a0ad993b47cb9d25b40fa3963b9e0 SHA512 c52a78f22daf6b79d772f5661cb56a4c1c35a7ad0001742d84d1c3f308c10534377ade5618bb5a3f95d0c7b4aacc82f42c10a30e521b31d41b9a403adbee1560
+DIST boto3-1.43.30.gh.tar.gz 1162726 BLAKE2B fe0050e7ef6187bc9bd96f90e05a216cfc80ddba18c7913548d9371530b8c900d32babd42c20e584f49b36996d13a25a6dbff44ffdb5e6691fbd3884815d2653 SHA512 7ba475dfff395d1d6ba3113a967f090650d75a6e4cfb01f0e2abc157b64b90ba00600501b76a9910fc4586f4480301dca07b304a5c98d6d6ecb555435e0929ba
DIST boto3-1.43.9.gh.tar.gz 1141698 BLAKE2B 37721c03d15d8cc7d290dcf9e56c5a83d480379514b0504a5164ab0dcec1211f3df001a966562f5f69e94325ccd42bc0da787121c68b75419fa45913feb5a4e6 SHA512 a130960634934428ab43845f69a2997638077c3bf856e12b00637dcd995dd835ad0a01eedd0a25d003d7c3e4515077c5ff19f90d289f5fe3c8bf5d837a629d09
diff --git a/dev-python/boto3/boto3-1.42.96.ebuild b/dev-python/boto3/boto3-1.42.96.ebuild
deleted file mode 100644
index 474c3ca084f8..000000000000
--- a/dev-python/boto3/boto3-1.42.96.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="The AWS SDK for Python"
-HOMEPAGE="
- https://github.com/boto/boto3/
- https://pypi.org/project/boto3/
-"
-SRC_URI="
- https://github.com/boto/boto3/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
-
-RDEPEND="
- >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
- >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
- >=dev-python/s3transfer-0.16.0[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # don't lock versions to narrow ranges
- sed -e '/botocore/ d' \
- -e '/jmespath/ d' \
- -e '/s3transfer/ d' \
- -i setup.py || die
-
- # do not rely on bundled deps in botocore (sic!)
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/boto3/boto3-1.43.15.ebuild b/dev-python/boto3/boto3-1.43.15.ebuild
deleted file mode 100644
index 6b5162666b99..000000000000
--- a/dev-python/boto3/boto3-1.43.15.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="The AWS SDK for Python"
-HOMEPAGE="
- https://github.com/boto/boto3/
- https://pypi.org/project/boto3/
-"
-SRC_URI="
- https://github.com/boto/boto3/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
- >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
- >=dev-python/s3transfer-0.17.0[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # don't lock versions to narrow ranges
- sed -e '/botocore/ d' \
- -e '/jmespath/ d' \
- -e '/s3transfer/ d' \
- -i setup.py || die
-
- # do not rely on bundled deps in botocore (sic!)
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/boto3/boto3-1.43.16.ebuild b/dev-python/boto3/boto3-1.43.16.ebuild
deleted file mode 100644
index 6b5162666b99..000000000000
--- a/dev-python/boto3/boto3-1.43.16.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="The AWS SDK for Python"
-HOMEPAGE="
- https://github.com/boto/boto3/
- https://pypi.org/project/boto3/
-"
-SRC_URI="
- https://github.com/boto/boto3/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
- >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
- >=dev-python/s3transfer-0.17.0[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # don't lock versions to narrow ranges
- sed -e '/botocore/ d' \
- -e '/jmespath/ d' \
- -e '/s3transfer/ d' \
- -i setup.py || die
-
- # do not rely on bundled deps in botocore (sic!)
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/boto3/boto3-1.43.2.ebuild b/dev-python/boto3/boto3-1.43.2.ebuild
deleted file mode 100644
index 6a6bbecf6a0a..000000000000
--- a/dev-python/boto3/boto3-1.43.2.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="The AWS SDK for Python"
-HOMEPAGE="
- https://github.com/boto/boto3/
- https://pypi.org/project/boto3/
-"
-SRC_URI="
- https://github.com/boto/boto3/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
-
-RDEPEND="
- >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
- >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
- >=dev-python/s3transfer-0.17.0[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # don't lock versions to narrow ranges
- sed -e '/botocore/ d' \
- -e '/jmespath/ d' \
- -e '/s3transfer/ d' \
- -i setup.py || die
-
- # do not rely on bundled deps in botocore (sic!)
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/boto3/boto3-1.43.22.ebuild b/dev-python/boto3/boto3-1.43.22.ebuild
deleted file mode 100644
index 015f6e99eeec..000000000000
--- a/dev-python/boto3/boto3-1.43.22.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="The AWS SDK for Python"
-HOMEPAGE="
- https://github.com/boto/boto3/
- https://pypi.org/project/boto3/
-"
-SRC_URI="
- https://github.com/boto/boto3/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
- >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
- >=dev-python/s3transfer-0.18.0[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # don't lock versions to narrow ranges
- sed -e '/botocore/ d' \
- -e '/jmespath/ d' \
- -e '/s3transfer/ d' \
- -i setup.py || die
-
- # do not rely on bundled deps in botocore (sic!)
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/boto3/boto3-1.43.17.ebuild b/dev-python/boto3/boto3-1.43.24.ebuild
index 015f6e99eeec..015f6e99eeec 100644
--- a/dev-python/boto3/boto3-1.43.17.ebuild
+++ b/dev-python/boto3/boto3-1.43.24.ebuild
diff --git a/dev-python/boto3/boto3-1.43.19.ebuild b/dev-python/boto3/boto3-1.43.29.ebuild
index 015f6e99eeec..015f6e99eeec 100644
--- a/dev-python/boto3/boto3-1.43.19.ebuild
+++ b/dev-python/boto3/boto3-1.43.29.ebuild
diff --git a/dev-python/boto3/boto3-1.43.20.ebuild b/dev-python/boto3/boto3-1.43.30.ebuild
index 015f6e99eeec..015f6e99eeec 100644
--- a/dev-python/boto3/boto3-1.43.20.ebuild
+++ b/dev-python/boto3/boto3-1.43.30.ebuild
diff --git a/dev-python/boto3/boto3-1.43.6.ebuild b/dev-python/boto3/boto3-1.43.6.ebuild
deleted file mode 100644
index 6b5162666b99..000000000000
--- a/dev-python/boto3/boto3-1.43.6.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="The AWS SDK for Python"
-HOMEPAGE="
- https://github.com/boto/boto3/
- https://pypi.org/project/boto3/
-"
-SRC_URI="
- https://github.com/boto/boto3/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
- >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
- >=dev-python/s3transfer-0.17.0[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # don't lock versions to narrow ranges
- sed -e '/botocore/ d' \
- -e '/jmespath/ d' \
- -e '/s3transfer/ d' \
- -i setup.py || die
-
- # do not rely on bundled deps in botocore (sic!)
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/boto3/boto3-1.43.9.ebuild b/dev-python/boto3/boto3-1.43.9.ebuild
index 6b5162666b99..6a6bbecf6a0a 100644
--- a/dev-python/boto3/boto3-1.43.9.ebuild
+++ b/dev-python/boto3/boto3-1.43.9.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
RDEPEND="
>=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index 39f9893c3bc0..33ce7024f302 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -1,12 +1,6 @@
-DIST botocore-1.42.96.gh.tar.gz 16190988 BLAKE2B c63dbf335904dd9fd56d2881428fab2500ef36104fee2f979fb8394860eb30743022db17ffaabfe14bb896bed2b03728e32f0d0f8e7e6f1979abefb171f87a7c SHA512 d3f55cb1c05cb587b89f83eb3ca58fc002d67187e958deb25d8bd571bac89802e63231da4e6b9261616003e6cb3972291697141ad4208cec76ce39769aa81fc4
DIST botocore-1.43.14.gh.tar.gz 16327415 BLAKE2B 418cbdd5f997fe0ec31ba4f19abe3c19e1e162d12fd0773e1bee26be83bb4f74c562493731c99a58d1dde6491d54f1f04bd19d084f51471423ff64ed40605830 SHA512 71728063cc6ef47bdbde33da2492a41af5bc9cc6c0d7db688ff3462eeace2b778c000b9ea3b945a3571b7b04ffada8bc65c90279657c9417498d5d31494b50c9
-DIST botocore-1.43.15.gh.tar.gz 16329896 BLAKE2B 57aa912b797537ec2160c41f7e449d68f1548db877a04eef3b825f6354f3fa966d9863b6ec08f43720161220b5593268576ba39523ec1c3581f5b675bdfbed7b SHA512 be470525bc5acb51040ce19fcd84dce51a3fd3c1dcffda6a16cbea180dc51a1871e5f8239cd22c51f7a8fe80d7eaf79d3eabb5cf95c0b3ab59da405aab3beb96
-DIST botocore-1.43.16.gh.tar.gz 16335573 BLAKE2B 5c4c806d73382fb844b79482555519f4ab65a0c37eef20a167951fd85fab7a2d3788482efd26bfe9a4ce0adfc43317e4a2cd68852f057e476dede696c5799c3d SHA512 60f94107454a80985e1baed185b625df4f24e7e7c49aeb462b0d13b35e03d7fdab155c1cfb09be6ef1367ee12ace0309b08d7d92139f5ab9b4cf0155411aeb6d
-DIST botocore-1.43.17.gh.tar.gz 16365343 BLAKE2B b2ad485869dd06882eb5286a379d0aeecd3adcb5c08151cd2ee3bebc54a0c26a0e7efdd7be3afedd10d048d61457cf0eed4373e548cc498175fb68192a3e801d SHA512 80e94345d384b15e4dcacb7a618f811e70a957ba296ebccdc890957449570a0fdf038763c9b0fe8dd6df1875e121355f151e0a76af095d18f32db32c8a54c5a3
DIST botocore-1.43.18.gh.tar.gz 16377376 BLAKE2B 4eb2808f4aa3b2b64f9d4b5d2df19c0dfbcc461da6588e10e939bfca794426460b28a306f2c4c3a1e9065b8c7299011b0dd035229b9d4bda67f9a51a1994d5ab SHA512 ce6506bd52fbc16127f7300c3f09c99320462de15036c66d89c65cf6533c94f0cc7b4153055a79ec36bf295af5206009517de1cb654f22d19a7426d34a2fb78e
-DIST botocore-1.43.19.gh.tar.gz 16389618 BLAKE2B e6a7fa90e34505f40d780d44e0d99ee5b408f8c47204a13a02a10984fe7753941724599cd78ed1b63c45bf22eba35945b6127e5ac8cffd7765c45d2fe808ccef SHA512 9d58dc82d27cc9c74f2a65138203492825b3b311d08e22c33620ff2c33ec0701082072a5b573e4a609bfd5d8f66f36620dea9f36f4cf92cd79d773b6e5951a68
-DIST botocore-1.43.2.gh.tar.gz 16233880 BLAKE2B f35f27344dd853b1c6e7c1049d501f034c378149ccff13ebffafa054a1f76d56f54104046804e6957f533c0db7aa49c4249af8820ad9d382e522b1c1149de65d SHA512 72cc8eaf651b0634af1d023098994db3dc8d879f8c685e75c226935010d5dee08da00577a5192d68bb0c23c928efc9573820c74f468e79594ddc1f6e96e89e61
-DIST botocore-1.43.20.gh.tar.gz 16407359 BLAKE2B 75ebcbd2952672e445fcd00755dd8da50036da029f9d74daf6f972c78a3663f8beb39f104b7ffa093238bc0d317af59d9c8c8e904c4e3838204714584e2278b3 SHA512 6c45b08a1c2552c9f129c6ba16356facfbe60cba3d3aef7fb76b7bfadeefe0529d34ab6578fbc20e4d861a98ac1e324dfedd0cdacb23d392adf35696d10cbf56
-DIST botocore-1.43.22.gh.tar.gz 16413439 BLAKE2B 8516d423cc67f4110ddc0163546b540fda793021ae16231d381241f07d87dc77b074c50a780023d897a6e18105ac96f1905be8ceb97a72065b08b9a2837ba1a6 SHA512 e6223cf519811e4c66ee930a7944406f24636ff7d2e035ff16f41da964225963b726294498749019af9ccd1a2b699651a439f85af9d9954ea0737def4fb17795
-DIST botocore-1.43.6.gh.tar.gz 16273836 BLAKE2B 42049eda3d77066f53733fb4a7df1cbc4e0c7b5e7b2f6398ded8917935935ec7fcae1dd029156eba1eaaf16a73bea6ffe2983b39036552a34b17934985f8a002 SHA512 771d17792bf1c8e75028dcd0fb618ee52fb7c0a57fe2560f564d136cfe17ecdcb1f7185486a10ef60ce80ceb0d446c518e3b2e93facf52e736030b764e8c254b
+DIST botocore-1.43.24.gh.tar.gz 16430918 BLAKE2B 526fc9ab71c37cbae5a6b23a0c0bb7e324d6f85bc00cb7c084ad1ed8b1a02c7ed128a006b2f108813bc39ef35cc19279c93a1003e65000e5778c17d8719451b8 SHA512 9086d2dc96221f9886468bbba082711d3fecb2355968db5ed5c1eb69fe0ffaa5a0ce038c62c44bfbc93dcc946780fef264edcefa46d21f4b978ce46a0025ba12
+DIST botocore-1.43.29.gh.tar.gz 16476072 BLAKE2B 2525545c2425568e8765100bad446e2ddb7c4ea80f78d52827456a368a4da68ad5e86c60ef6af5611a342e2c8b44c8a057d341941db31d6b1c6cd01506b912b3 SHA512 6d37f50ec4ace4252e7d303e9ddaac8571e28695beadf3d7c23f3d1f413bcc06734e88be6f834d8ef82b3583954b8acc7da325630ae4cce7371684957f3547ae
+DIST botocore-1.43.30.gh.tar.gz 16486799 BLAKE2B 222aa0d179e48243317f78f828e1d897b4fd1e8cf5848963d47c2dabfb05890d79a10cd1d3b448661e36c116e94d9c28f6cad48a7e8c4053b1bb655082e6ca13 SHA512 a9e9ba3e57f0c71a654c226633afe4fa699c798c4ddcedd3c0c66238bc2c9d1a27e404e27d691865d558b17b6ea63b483ea326369b5c94a4673a9a3f32d89bcd
DIST botocore-1.43.9.gh.tar.gz 16299354 BLAKE2B fcb35ec47d892c36c319a14e62ffedec51fe48ad68beeb2e527c3f282647a5f980a182c8d66ff12a69a45e4c137f1f486b0056345cfeb2c1e52b03b76df5015c SHA512 20033802430564aa77607a0c042511c7831c75f92240da388aaf036d90969f5560b9cb5dbb01f590b95cc9a2039557fd3f540fd6c4170104d732d033e142c08a
diff --git a/dev-python/botocore/botocore-1.42.96.ebuild b/dev-python/botocore/botocore-1.42.96.ebuild
deleted file mode 100644
index 0dca2a67c593..000000000000
--- a/dev-python/botocore/botocore-1.42.96.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Low-level, data-driven core of boto 3"
-HOMEPAGE="
- https://github.com/boto/botocore/
- https://pypi.org/project/botocore/
-"
-SRC_URI="
- https://github.com/boto/botocore/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
-
-RDEPEND="
- <dev-python/jmespath-2[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
-"
-# unbundled packages
-RDEPEND+="
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/jsonschema[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin deps
- sed -i -e "s:>=.*':':" setup.py || die
-
- # unbundle deps
- rm -r botocore/vendored || die
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # rely on bundled six
- tests/functional/test_six_imports.py::test_no_bare_six_imports
- tests/functional/test_six_threading.py::test_six_thread_safety
- )
-
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/botocore/botocore-1.43.19.ebuild b/dev-python/botocore/botocore-1.43.19.ebuild
deleted file mode 100644
index a3a161f78545..000000000000
--- a/dev-python/botocore/botocore-1.43.19.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Low-level, data-driven core of boto 3"
-HOMEPAGE="
- https://github.com/boto/botocore/
- https://pypi.org/project/botocore/
-"
-SRC_URI="
- https://github.com/boto/botocore/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- <dev-python/jmespath-2[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
-"
-# unbundled packages
-RDEPEND+="
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/jsonschema[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin deps
- sed -i -e "s:>=.*':':" setup.py || die
-
- # unbundle deps
- rm -r botocore/vendored || die
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # rely on bundled six
- tests/functional/test_six_imports.py::test_no_bare_six_imports
- tests/functional/test_six_threading.py::test_six_thread_safety
- )
-
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/botocore/botocore-1.43.2.ebuild b/dev-python/botocore/botocore-1.43.2.ebuild
deleted file mode 100644
index 0dca2a67c593..000000000000
--- a/dev-python/botocore/botocore-1.43.2.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Low-level, data-driven core of boto 3"
-HOMEPAGE="
- https://github.com/boto/botocore/
- https://pypi.org/project/botocore/
-"
-SRC_URI="
- https://github.com/boto/botocore/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
-
-RDEPEND="
- <dev-python/jmespath-2[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
-"
-# unbundled packages
-RDEPEND+="
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/jsonschema[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin deps
- sed -i -e "s:>=.*':':" setup.py || die
-
- # unbundle deps
- rm -r botocore/vendored || die
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # rely on bundled six
- tests/functional/test_six_imports.py::test_no_bare_six_imports
- tests/functional/test_six_threading.py::test_six_thread_safety
- )
-
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/botocore/botocore-1.43.20.ebuild b/dev-python/botocore/botocore-1.43.20.ebuild
deleted file mode 100644
index a3a161f78545..000000000000
--- a/dev-python/botocore/botocore-1.43.20.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Low-level, data-driven core of boto 3"
-HOMEPAGE="
- https://github.com/boto/botocore/
- https://pypi.org/project/botocore/
-"
-SRC_URI="
- https://github.com/boto/botocore/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- <dev-python/jmespath-2[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
-"
-# unbundled packages
-RDEPEND+="
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/jsonschema[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin deps
- sed -i -e "s:>=.*':':" setup.py || die
-
- # unbundle deps
- rm -r botocore/vendored || die
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # rely on bundled six
- tests/functional/test_six_imports.py::test_no_bare_six_imports
- tests/functional/test_six_threading.py::test_six_thread_safety
- )
-
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/botocore/botocore-1.43.22.ebuild b/dev-python/botocore/botocore-1.43.22.ebuild
deleted file mode 100644
index a3a161f78545..000000000000
--- a/dev-python/botocore/botocore-1.43.22.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Low-level, data-driven core of boto 3"
-HOMEPAGE="
- https://github.com/boto/botocore/
- https://pypi.org/project/botocore/
-"
-SRC_URI="
- https://github.com/boto/botocore/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- <dev-python/jmespath-2[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
-"
-# unbundled packages
-RDEPEND+="
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/jsonschema[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin deps
- sed -i -e "s:>=.*':':" setup.py || die
-
- # unbundle deps
- rm -r botocore/vendored || die
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # rely on bundled six
- tests/functional/test_six_imports.py::test_no_bare_six_imports
- tests/functional/test_six_threading.py::test_six_thread_safety
- )
-
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/botocore/botocore-1.43.15.ebuild b/dev-python/botocore/botocore-1.43.24.ebuild
index a3a161f78545..a3a161f78545 100644
--- a/dev-python/botocore/botocore-1.43.15.ebuild
+++ b/dev-python/botocore/botocore-1.43.24.ebuild
diff --git a/dev-python/botocore/botocore-1.43.16.ebuild b/dev-python/botocore/botocore-1.43.29.ebuild
index a3a161f78545..a3a161f78545 100644
--- a/dev-python/botocore/botocore-1.43.16.ebuild
+++ b/dev-python/botocore/botocore-1.43.29.ebuild
diff --git a/dev-python/botocore/botocore-1.43.17.ebuild b/dev-python/botocore/botocore-1.43.30.ebuild
index a3a161f78545..a3a161f78545 100644
--- a/dev-python/botocore/botocore-1.43.17.ebuild
+++ b/dev-python/botocore/botocore-1.43.30.ebuild
diff --git a/dev-python/botocore/botocore-1.43.6.ebuild b/dev-python/botocore/botocore-1.43.6.ebuild
deleted file mode 100644
index a3a161f78545..000000000000
--- a/dev-python/botocore/botocore-1.43.6.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Low-level, data-driven core of boto 3"
-HOMEPAGE="
- https://github.com/boto/botocore/
- https://pypi.org/project/botocore/
-"
-SRC_URI="
- https://github.com/boto/botocore/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- <dev-python/jmespath-2[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
-"
-# unbundled packages
-RDEPEND+="
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/jsonschema[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin deps
- sed -i -e "s:>=.*':':" setup.py || die
-
- # unbundle deps
- rm -r botocore/vendored || die
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # rely on bundled six
- tests/functional/test_six_imports.py::test_no_bare_six_imports
- tests/functional/test_six_threading.py::test_six_thread_safety
- )
-
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/botocore/botocore-1.43.9.ebuild b/dev-python/botocore/botocore-1.43.9.ebuild
index a3a161f78545..0dca2a67c593 100644
--- a/dev-python/botocore/botocore-1.43.9.ebuild
+++ b/dev-python/botocore/botocore-1.43.9.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
RDEPEND="
<dev-python/jmespath-2[${PYTHON_USEDEP}]
diff --git a/dev-python/braintree/Manifest b/dev-python/braintree/Manifest
index b8cf8299f976..8c6d822dfc4c 100644
--- a/dev-python/braintree/Manifest
+++ b/dev-python/braintree/Manifest
@@ -1,2 +1 @@
-DIST braintree_python-4.43.0.gh.tar.gz 272734 BLAKE2B 1c44ec217643a44e847e76a01cce6ea3a6ea93a12885f0a549efaf7dd03f9577041c066058bb73339f6162a1a41a33a5aa622c2ba68d27df7463b44f459d992b SHA512 6b7bfa243fb88ab785f19e2ed18ebf85cab4e75a262e661148a19f845d4d81228f09cacdd928e783b0b6ee9a2c15c3ff7865cdcb932ddf836ea7e71b36c2532f
DIST braintree_python-4.44.0.gh.tar.gz 273269 BLAKE2B afddc608f6ee2cb4decd86ec44492031945a4d3880344dd5ed0a7b9d7d7ede6a38a4d6c5975ce3ea78e13c31768c718ec52423f0e148ee168f2b0c6394b0e75c SHA512 5e93ea7c4a12bbdb1e4ac45a48f7f02f45c1b27f77d0e6e0ea798092534bbb24dc01bbf66bdb4110e718a681302053ba174204738b48a5de5a61758af1c2427f
diff --git a/dev-python/braintree/braintree-4.43.0.ebuild b/dev-python/braintree/braintree-4.43.0.ebuild
deleted file mode 100644
index 376089a2bfd1..000000000000
--- a/dev-python/braintree/braintree-4.43.0.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2020-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-MY_P=braintree_python-${PV}
-DESCRIPTION="Braintree Python Library"
-HOMEPAGE="
- https://developer.paypal.com/braintree/docs/reference/overview/
- https://github.com/braintree/braintree_python/
- https://pypi.org/project/braintree/
-"
-# no tests in sdist, as of 4.19.0
-SRC_URI="
- https://github.com/braintree/braintree_python/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-python/requests-0.11.0[${PYTHON_USEDEP}]
-"
-
-DOCS=( README.md )
-
-distutils_enable_tests unittest
-
-python_test() {
- eunittest tests/unit
-}
diff --git a/dev-python/btrfsutil/Manifest b/dev-python/btrfsutil/Manifest
index 643d96ea2d2b..3cebf1c368fd 100644
--- a/dev-python/btrfsutil/Manifest
+++ b/dev-python/btrfsutil/Manifest
@@ -1,4 +1,2 @@
-DIST btrfs-progs-v6.19.1.tar.sign 566 BLAKE2B f743d46a80b03ae63dfe0eea262577228db56b305fc105ac9b24d5672dc60dac59e35673ee96a3f5cc72e4d048fdf7b92c8ea1e96f089bc96bb0d36628af1c97 SHA512 364b858320aa976807d58532b96fb4baaf814e9c6ed54b675275f101d7fb3b9f9187a6e07b0a85e53bae831f7217107c0e838436fda9b6788c3dbf2cd807ae5b
-DIST btrfs-progs-v6.19.1.tar.xz 4977432 BLAKE2B 555bf1c0625afd30dae3cc38f293de195450133cea701096010cadde3d8be405681ed2c4b5e43db777df146e1d2d90697746bc9eea253211df216bd4456e04a1 SHA512 ece500bf512a7970bd6a611c4f74aa3f7285eb55b86987fb8a21bc82cb7d0b1e6b683d02efc34ec8c4ff7f6d620b5ec12ef277af0d6d831586f9f70087355ca9
DIST btrfs-progs-v7.0.tar.sign 594 BLAKE2B 3b31dc3b529600d65721994742786a65ebec3e296a26f1510c34ceac9f5309ca72068af6322a46925d9b80b0f0492e0624ebb7ddd3904c610a161bb28ad45834 SHA512 78a358f5ba7b4e8ee3477bbcd8eab623c05dd8d157ac3858a7ea7e0ceda8c296363b6bf50a8bdf3f3a590580e4ea8e885d596f0fc3e2d6263337f9847b014813
DIST btrfs-progs-v7.0.tar.xz 4989268 BLAKE2B a0e8ef7a5bca5c4f4deb5487215a3543ae99759ffec191cd23b776d21621fb9aba173115a47ae34ebd0e6e38d720d430e5092151e938b0b65cff4aabffd9c607 SHA512 f6fc13f16a1f170eacbcb53efb2e5a86e89c73fd797fc8d9a419b7024f5a13a788cd92e0caa41964e7716d8bccc24ce4b8a5e3b3861d85c793642021c5b03791
diff --git a/dev-python/btrfsutil/btrfsutil-6.19.1.ebuild b/dev-python/btrfsutil/btrfsutil-6.19.1.ebuild
deleted file mode 100644
index 697198827de5..000000000000
--- a/dev-python/btrfsutil/btrfsutil-6.19.1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 2024-2026 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_{13..14} )
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/dsterba.asc
-
-inherit distutils-r1 verify-sig
-
-DESCRIPTION="Library for managing Btrfs filesystems"
-HOMEPAGE="https://github.com/kdave/btrfs-progs"
-
-MY_PN="btrfs-progs"
-MY_PV="v${PV/_/-}"
-MY_P="${MY_PN}-${MY_PV}"
-SRC_URI="
- https://mirrors.edge.kernel.org/pub/linux/kernel/people/kdave/${MY_PN}/${MY_P}.tar.xz
- verify-sig? ( https://mirrors.edge.kernel.org/pub/linux/kernel/people/kdave/${MY_PN}/${MY_P}.tar.sign )
-"
-S="${WORKDIR}/${MY_P}/libbtrfsutil/python"
-
-LICENSE="LGPL-2+"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-DEPEND="~sys-fs/btrfs-progs-${PV}"
-RDEPEND="${DEPEND}"
-
-distutils_enable_tests unittest
-
-RDEPEND+=" !sys-fs/btrfs-progs[python(-)]"
-
-src_unpack() {
- if use verify-sig; then
- verify-sig_uncompress_verify_unpack "${DISTDIR}"/${MY_P}.tar.xz \
- "${DISTDIR}"/${MY_P}.tar.sign
- else
- default
- fi
-}
-
-src_prepare() {
- cat <<-EOF > version.py || die
- #!/usr/bin/env python3
- btrfs_util_py_version = '${PV}'
- EOF
-
- distutils-r1_src_prepare
-}
-
-src_install() {
- distutils-r1_src_install
-
- rm "${ED}"/usr/share/doc/${PF}/README.md || die
- dodoc "${S}"/../README.md
-}
diff --git a/dev-python/cachelib/Manifest b/dev-python/cachelib/Manifest
index 083c553f15e9..aa848d2a6e5c 100644
--- a/dev-python/cachelib/Manifest
+++ b/dev-python/cachelib/Manifest
@@ -1,3 +1,2 @@
-DIST cachelib-0.13.0.gh.tar.gz 31116 BLAKE2B fcb5f065778533bbe9200c77f12d374a62111c5dc26e366c07ea0986bba138a97c56de0440dd3b4a5603b8700ec8035b65ebe95d48e4dcf60c03f78a2215f128 SHA512 6b58f3823d1169ca1e25a5accc7a51752e26c8e7f62b58a571b0de4d8792dd6c3eb3d3c60f3843653b7aaa17177a1d6d56e442ceb6b69a486d76511003ff97b2
DIST cachelib-0.14.0.tar.gz 170320 BLAKE2B eef18a1840468057ddd79a1b647de81d20d49abdc4b51c6b13ae1ed18cc5a635447c6e8ebe2112a3853c4809982f45ad5f2ac09afe66c36442c327fb584f0f02 SHA512 ed14f9e944454067b30c748b558670fc50343f332ec4bf91e7df97bbc2ad9647e97d221b62287b139df70faafcccbbf1c455710c71cb969e096e61997e98d13e
DIST cachelib-0.14.0.tar.gz.provenance 9394 BLAKE2B cbb5092520d5510df628b504cc67b24d970ec202beead31831792f10da048c8bac02b86a2077778fe71e51884a5c50120fdab77248e438b9f81c196e9d662ddf SHA512 830d3d3b2a693e668aaed43cfbad7ada69b1670033c36d1354ab069cf7ba19ed4197b1c2cb7da77f8a5fa4817b8140982777cc2ba9d84362d963cf3c6684848f
diff --git a/dev-python/cachelib/cachelib-0.13.0-r1.ebuild b/dev-python/cachelib/cachelib-0.13.0-r1.ebuild
deleted file mode 100644
index 809cdc1501cc..000000000000
--- a/dev-python/cachelib/cachelib-0.13.0-r1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Collection of cache libraries in the same API interface. Extracted from werkzeug"
-HOMEPAGE="
- https://pypi.org/project/cachelib/
- https://github.com/pallets-eco/cachelib/
-"
-SRC_URI="
- https://github.com/pallets-eco/cachelib/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 x86"
-
-BDEPEND="
- test? (
- dev-db/redis
- dev-python/redis[${PYTHON_USEDEP}]
- net-misc/memcached
- www-servers/uwsgi[python,${PYTHON_USEDEP}]
- !sparc? (
- dev-python/pylibmc[${PYTHON_USEDEP}]
- )
- )
-"
-
-EPYTEST_PLUGINS=( pytest-xprocess )
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # bug #818523
- tests/test_redis_cache.py
- # requires some test server running
- # (these tests require dev-python/boto3)
- tests/test_dynamodb_cache.py
- # requires mongo test server
- tests/test_mongodb_cache.py
-)
diff --git a/dev-python/cachelib/cachelib-0.13.0.ebuild b/dev-python/cachelib/cachelib-0.13.0.ebuild
deleted file mode 100644
index ea2eaa02acd7..000000000000
--- a/dev-python/cachelib/cachelib-0.13.0.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Collection of cache libraries in the same API interface. Extracted from werkzeug"
-HOMEPAGE="
- https://pypi.org/project/cachelib/
- https://github.com/pallets-eco/cachelib/
-"
-SRC_URI="
- https://github.com/pallets-eco/cachelib/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 x86"
-
-BDEPEND="
- test? (
- dev-db/redis
- dev-python/pytest-xprocess[${PYTHON_USEDEP}]
- dev-python/redis[${PYTHON_USEDEP}]
- net-misc/memcached
- www-servers/uwsgi[python,${PYTHON_USEDEP}]
- !sparc? (
- dev-python/pylibmc[${PYTHON_USEDEP}]
- )
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # bug #818523
- tests/test_redis_cache.py
- # requires some test server running
- # (these tests require dev-python/boto3)
- tests/test_dynamodb_cache.py
- # requires mongo test server
- tests/test_mongodb_cache.py
-)
diff --git a/dev-python/cachelib/cachelib-0.14.0.ebuild b/dev-python/cachelib/cachelib-0.14.0.ebuild
index fa49124a9780..7115ebf015db 100644
--- a/dev-python/cachelib/cachelib-0.14.0.ebuild
+++ b/dev-python/cachelib/cachelib-0.14.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 x86"
BDEPEND="
test? (
diff --git a/dev-python/cbor2/Manifest b/dev-python/cbor2/Manifest
index e9b5a0334a01..19cf4a05b709 100644
--- a/dev-python/cbor2/Manifest
+++ b/dev-python/cbor2/Manifest
@@ -4,10 +4,6 @@ DIST cbor2-5.9.0.tar.gz 111231 BLAKE2B 2ab6315866e4c252ccc51a12358e1f6420ae9f284
DIST cbor2-5.9.0.tar.gz.provenance 9582 BLAKE2B 22f32c67af2ab3d9c1df9713aa0be0106542b13eaaf70b8ed0e09ccefd414619b721b87c8f74bf02ab583a744d02348cd3a0e45c6813686f18536d6c50d7d579 SHA512 0b44b4fa821d9df85b3891b98ad3cc724f906b3f9850f3251f14eb1450a9c3c60da8d6891f2473b465a9c275cc077fe7c0f6e1233ff1ca7ce274d23596694848
DIST cbor2-6.0.1.tar.gz 84191 BLAKE2B 0f8522a2462d5362c8d19900d1973386060f08f3ff1d6780cb9639df1132706860fc6ecbef2be3bb3b24385168f1426e2c9ff652fafb924a0e9e7b44b75777ec SHA512 c753a24b61c8d07635ee8c5f78df53f135acd7415b75d758d9681c04586a117e6ecdf8f1cd11021c4b175cfce06236cbe9c6e6ab67c5a059d625de5aa921c8cd
DIST cbor2-6.0.1.tar.gz.provenance 9155 BLAKE2B fab57134c5eed10943d62ba66db393e448a1ac36e1f6b71e1e4ca63f820ffd3ec188228503815faef8f636e6c1fdee8ca1abeb221d4902ee6102ce9182e303d7 SHA512 ac48dcb4e5e6dcbdf1044a669adc84f7833f75262266c20a1665d7a895221562080db61404eb7407c63dc57939a2bf97c34c31fb4264b6a5c720557f841e2957
-DIST cbor2-6.1.0.tar.gz 85870 BLAKE2B eb2d6b699d9294242acd1c626fb7e5c9f5dcb67d19ddd19fb58add69d0db56bac16162304bb00e26748a6171510a7ec99bb8d2c1d3ad159f19d405b6d28baa99 SHA512 e8ed4d21518b45f47e02233fe9d835c834aad6c4c6eb675f2d3fc66d90810e36f5673783b428fdabe79ced863a79698cbf50b088443a3315b411fd8e8d572a08
-DIST cbor2-6.1.0.tar.gz.provenance 9625 BLAKE2B 106dc7b9667c195bd6934ee6c824c46f8290608a1e212d533c4dccc5e25c531a47caf1cd3babb8d093588a5118e5c72c5141df8037a92020738053dde650ffd2 SHA512 62e3cf64344be19ff1192cc748c28f276c1b02c2bd4bbe92b10636c752b68b453ec0e018e8a940bd9c1b2d36278e8bee158373a495498ab8c75195d698a16878
-DIST cbor2-6.1.1.tar.gz 86297 BLAKE2B 433a3b0d194eeca03158281216395d523d88155ecc01e415875c35fdb6b0c4900acdb2f5bdbe71cb792f1059743d7fc6040c9b190be30779dcf1496589e45f8c SHA512 0066671ae72229e415f857432cb352a5e6895aa0502e843e8442c93f3135ecd6acc2bf73172298b6e7714691f1965c5ac85232648588cc95971a75b035f84953
-DIST cbor2-6.1.1.tar.gz.provenance 9296 BLAKE2B c66d939f064649f7eae974870e11fefc00f577fd867b5c4774c8828ae21a982388f2aee60a6a227b14289b76ac50fcf93e6b6d1c0590df66eec86fa409811da2 SHA512 16bbd212dd36330380e3cd3e09cf70a4d6df9cf8704de8b0d5f2d3b6e46f649d4559b13fe465418469bae4b0af1464099fb0904fab24e78118bfc2ed62b2ca6e
DIST cbor2-6.1.2.tar.gz 86760 BLAKE2B a432aab05df5c1049925e5601e773ac7dc770710ecbe6e08617376625e97d50d6344b25ea88db42b46780821b7ba8633b06dc42650b86f3287245e7edf88768b SHA512 9e9f55d0e8dc6a913d316384563eb7da62e1e7cef97df3bcb104934567a94c41de3a8716633205cb5ed5eec593415a05c5b3b6d074ba2b8b1ec17c65294edd7b
DIST cbor2-6.1.2.tar.gz.provenance 9696 BLAKE2B de5fef7b5b7d54268a00cb8ef7299a83712806ee5f51330fbcb99b7d973a646e5bd12d21f0bd39eee932227120ec07e683c29f7ed0614a6f5b37643434a3dd2a SHA512 6be8e65d2abbc6055940a39c47286ddd3e7eedc6b9af4b5dad8fbbc3d37390fe8f60e3745febecc37ebfb6d801bb87d5e44ec666223056d86c3d01a1eec66283
DIST cfg-if-1.0.4.crate 9360 BLAKE2B beadbfb273ee97cbb6e3740891fbace57511399ad203459b66b397587d794677a9515cde4e9ec4320c3795518bf1551d72b9a889f8ac4b225168f493288b7c19 SHA512 176e04df7ba783b7143bb84397b777f5c5a1305c08a5c3a218d4a66830620be89ed68992ba27686165bcd3fb2f34b2daf80b2a1d4b481ecc267c988e84d28e9d
diff --git a/dev-python/cbor2/cbor2-6.1.0.ebuild b/dev-python/cbor2/cbor2-6.1.0.ebuild
deleted file mode 100644
index 05373a95ec69..000000000000
--- a/dev-python/cbor2/cbor2-6.1.0.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYPI_VERIFY_REPO=https://github.com/agronholm/cbor2
-PYTHON_COMPAT=( python3_{13..14} )
-
-RUST_MIN_VER="1.85.0"
-CRATES="
- autocfg@1.5.0
- bigdecimal@0.4.10
- cfg-if@1.0.4
- crunchy@0.2.4
- half@2.7.1
- heck@0.5.0
- libc@0.2.182
- libm@0.2.16
- num-bigint@0.4.6
- num-integer@0.1.46
- num-traits@0.2.19
- once_cell@1.21.3
- portable-atomic@1.13.1
- proc-macro2@1.0.106
- pyo3-build-config@0.28.2
- pyo3-ffi@0.28.2
- pyo3-macros-backend@0.28.2
- pyo3-macros@0.28.2
- pyo3@0.28.2
- quote@1.0.44
- syn@2.0.117
- target-lexicon@0.13.5
- unicode-ident@1.0.24
- zerocopy-derive@0.8.40
- zerocopy@0.8.40
-"
-
-inherit cargo distutils-r1 pypi
-
-DESCRIPTION="CBOR (de)serializer with extensive tag support"
-HOMEPAGE="
- https://github.com/agronholm/cbor2/
- https://pypi.org/project/cbor2/
-"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="MIT"
-# Dependent crate licenses
-LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-BDEPEND="
- >=dev-python/setuptools-61[${PYTHON_USEDEP}]
- dev-python/setuptools-rust[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-6.4[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=( hypothesis )
-distutils_enable_tests pytest
-
-# Files built without CFLAGS/LDFLAGS, acceptable for rust
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/cbor2/_cbor2.*.so"
-
-src_unpack() {
- pypi_src_unpack
- cargo_src_unpack
-}
diff --git a/dev-python/cbor2/cbor2-6.1.1.ebuild b/dev-python/cbor2/cbor2-6.1.1.ebuild
deleted file mode 100644
index 05373a95ec69..000000000000
--- a/dev-python/cbor2/cbor2-6.1.1.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYPI_VERIFY_REPO=https://github.com/agronholm/cbor2
-PYTHON_COMPAT=( python3_{13..14} )
-
-RUST_MIN_VER="1.85.0"
-CRATES="
- autocfg@1.5.0
- bigdecimal@0.4.10
- cfg-if@1.0.4
- crunchy@0.2.4
- half@2.7.1
- heck@0.5.0
- libc@0.2.182
- libm@0.2.16
- num-bigint@0.4.6
- num-integer@0.1.46
- num-traits@0.2.19
- once_cell@1.21.3
- portable-atomic@1.13.1
- proc-macro2@1.0.106
- pyo3-build-config@0.28.2
- pyo3-ffi@0.28.2
- pyo3-macros-backend@0.28.2
- pyo3-macros@0.28.2
- pyo3@0.28.2
- quote@1.0.44
- syn@2.0.117
- target-lexicon@0.13.5
- unicode-ident@1.0.24
- zerocopy-derive@0.8.40
- zerocopy@0.8.40
-"
-
-inherit cargo distutils-r1 pypi
-
-DESCRIPTION="CBOR (de)serializer with extensive tag support"
-HOMEPAGE="
- https://github.com/agronholm/cbor2/
- https://pypi.org/project/cbor2/
-"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="MIT"
-# Dependent crate licenses
-LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-BDEPEND="
- >=dev-python/setuptools-61[${PYTHON_USEDEP}]
- dev-python/setuptools-rust[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-6.4[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=( hypothesis )
-distutils_enable_tests pytest
-
-# Files built without CFLAGS/LDFLAGS, acceptable for rust
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/cbor2/_cbor2.*.so"
-
-src_unpack() {
- pypi_src_unpack
- cargo_src_unpack
-}
diff --git a/dev-python/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest
index eeac0a390579..ff2706f2e2ae 100644
--- a/dev-python/cfn-lint/Manifest
+++ b/dev-python/cfn-lint/Manifest
@@ -6,3 +6,5 @@ DIST cfn_lint-1.51.3.tar.gz 4155028 BLAKE2B 545b321d12f33736773490b6e60a62ee8046
DIST cfn_lint-1.51.3.tar.gz.provenance 10240 BLAKE2B 3a84b9e84086a244660d2998d40b96160a87b0a985df3423efe87cd7f786c78e7347f741dc7dc70f6d0f621f5b0936193d8a5f52d12ee4e28995c75815aaa181 SHA512 8736cfa8f830c88dbab41396635a233253fb82d02159e2d59442ea35aad94562488ab04bfbf2ae0fd9d8ec4c2850fd70907ae74b8e0b16552d48ff166f9a8cff
DIST cfn_lint-1.51.4.tar.gz 4156267 BLAKE2B 7445b3ac5ba060f7d3004027a6571a091b067180b7709122439a7886660db7aabe5009d2df17b48f1f0f133ea1ed43974a5bebdc7e9b97ae74da640dd455e399 SHA512 3633252f455be097d80a9c9b6660a41f106e4ee833178c29241a77f8f7140f0db9e9b4be729056966f59a59aca6ec206f8fd375ea9a045c21a48444c438d428d
DIST cfn_lint-1.51.4.tar.gz.provenance 10130 BLAKE2B 887befe8d89d2ae67dbdb319824fad4e51f9ac29e6bc4561b2d4875a2df3626f0f063a1ea2f9c320a881c22d572aff703a1b8f5bab16cb65503bb6e505cf87f9 SHA512 8cd061ba39d9716f2f1ea502b8d1c3c8ce294a797c503d56a01c66e138d988905a18fafa5908033521f6dcb3bda12f70cd92aa7912d059026e490d3a4740895f
+DIST cfn_lint-1.51.5.tar.gz 4114038 BLAKE2B 21932e73fdc81b2d8485ccb06dc7e527951a02170f210d9466312f4048070a33ab0bab6ae9fda1b589ce3060e4a98175b8249da55992eccb33722e086293d7cc SHA512 032ce12bdf22a4787887ca490d665e533172d9e90f8d7231b671d20c41e7a550c2411a55f807faacd55b71a3d36a83de0da3e02e2bceaf188da97a40a6a98ab0
+DIST cfn_lint-1.51.5.tar.gz.provenance 10032 BLAKE2B 9e5830cdbb37342a07349ae71816a93abf1e943f91c836cfef6ceb39cf1b735373530b68418b0501488c92e338b493a09028e365fd6aed048ccc0e4958a6e863 SHA512 ca84d91a9860a2d4967fa431a134c92ed65e2bf304ed0b7b54763c04bcde16f5873baef0a3ce550bb58e5d308259660f62acaa0768ba494e7860f16e35a288ec
diff --git a/dev-python/cfn-lint/cfn-lint-1.51.5.ebuild b/dev-python/cfn-lint/cfn-lint-1.51.5.ebuild
new file mode 100644
index 000000000000..d7de023d99dc
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-1.51.5.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/aws-cloudformation/cfn-lint
+PYTHON_COMPAT=( python3_{13..14} )
+
+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.110.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-6.0.3[${PYTHON_USEDEP}]
+ >=dev-python/regex-2021.7.1[${PYTHON_USEDEP}]
+ >=dev-python/sarif-om-1.0.4[${PYTHON_USEDEP}]
+ >=dev-python/sympy-1.14.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-77.0.3[${PYTHON_USEDEP}]
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # different line wrapping somehow
+ test/unit/module/template/test_template.py::TestTemplate::test_build_graph
+ # requires git repo
+ test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs
+ # TODO: suddenly started failing in older versions too
+ # https://github.com/aws-cloudformation/cfn-lint/issues/4207
+ test/integration/test_good_templates.py
+ test/unit/module/override/test_exclude.py::TestExclude::test_success_run
+ test/unit/module/test_api.py::TestLintFile::test_good_template
+ test/unit/module/test_rules_collections.py::TestRulesCollection::test_success_run
+ # crashes on 3.12+, probably pygraphviz
+ test/unit/module/test_api.py::TestLintByConfig::test_graph
+ )
+
+ # from tox.ini
+ local -x AWS_DEFAULT_REGION=us-east-1
+ epytest
+}
diff --git a/dev-python/chump/Manifest b/dev-python/chump/Manifest
deleted file mode 100644
index ed1c2289344c..000000000000
--- a/dev-python/chump/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST chump-1.6.0.tar.gz 15646 BLAKE2B 8cab76e633fd4084d349115fae925c152439d06acbe629d5c23c474f2dc0a3cb1b5b727b856a9d54a82e39698b3cfd7470086a976cfc6b4870f1af02bac71f87 SHA512 d219f1b9e28dd17f834dc807cd42a288adc4f5579bf97cf6b1833e63f339bd811953c3a74cafad9021beb05cd5fddb46cf49b62a4803c62ece62d037fe38a4ee
diff --git a/dev-python/chump/chump-1.6.0-r2.ebuild b/dev-python/chump/chump-1.6.0-r2.ebuild
deleted file mode 100644
index 6c936c1a8e70..000000000000
--- a/dev-python/chump/chump-1.6.0-r2.ebuild
+++ /dev/null
@@ -1,22 +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_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="API wrapper for Pushover"
-HOMEPAGE="https://github.com/karanlyons/chump"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-# 'html_theme' is unset, meaning alabaster will be used
-# and sphinx depends on it
-distutils_enable_sphinx docs
-
-# The package has no test suite
diff --git a/dev-python/chump/metadata.xml b/dev-python/chump/metadata.xml
deleted file mode 100644
index 1e33f02bbe29..000000000000
--- a/dev-python/chump/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>sbraz@gentoo.org</email>
- <name>Louis Sautier</name>
- </maintainer>
- <upstream>
- <bugs-to>https://github.com/karanlyons/chump/issues</bugs-to>
- <changelog>https://github.com/karanlyons/chump/blob/master/HISTORY.rst</changelog>
- </upstream>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/dev-python/clang/Manifest b/dev-python/clang/Manifest
index c4576cf69876..91d9f2577d36 100644
--- a/dev-python/clang/Manifest
+++ b/dev-python/clang/Manifest
@@ -10,8 +10,6 @@ DIST llvm-project-20.1.8.src.tar.xz 147242952 BLAKE2B 7657ac0b26acc5affb1bfc91b9
DIST llvm-project-20.1.8.src.tar.xz.sig 566 BLAKE2B 85beedfcff1195a974fab2c667b9efd4b715b3480c1b44b1b887fe32c69f72aca0d3b8fb276c03b6cc5a866622f669047aeee5ccb976640b4008ccd31dce77a4 SHA512 d74369bdb4d1b82775161ea53c9c5f3a23ce810f4df5ff617123023f9d8ce720e7d6ecc9e17f8ebd39fd9e7a9de79560abdf2ffe73bcb907a43148d43665d619
DIST llvm-project-21.1.8.src.tar.xz 158958576 BLAKE2B 0d3d4ee920f8e5db50e98152616f16004c74df0e7313cc86d893428fb7b1c875109988a5e40ea6f2e5d0fef53c7bfe2fc2b69e84807f6eb440b03afa1b228a36 SHA512 cae4c44e7bf678071723da63ad5839491d717a7233e7f4791aa408207f3ea42f52de939ad15189b112c02a0770f1bb8d59bae6ad31ef53417a6eea7770fe52ab
DIST llvm-project-21.1.8.src.tar.xz.sig 119 BLAKE2B cffc1825f5778a3e3c128ec3e856ff6ee50687319d621cdf42e895abf67e05cc51cb7493308e2b506ab60dbdbaca7aa75eb9f78d91d42c81f9682a36f4042e9d SHA512 10f58eff58ed6e701d0f123b15e68c82ab8cbdf99b1c86c0d83e3b8553e90ea51055e30327e8e442ded57c8f503e2a2de9ee075e9c28b5ba815a0f8922f8671c
-DIST llvm-project-22.1.6.src.tar.xz 167043464 BLAKE2B 86b5f0da9ced0ffc6e2c765f4d2c1537000062bd1bbfa6d060e192251c8e28d253924e1a164e76edef3ec05fa4447a75d554bc89f6ea7e33c6792a1f5d67f3a6 SHA512 39ee3a66b92abe4eed5f9db086f6279faa72d8a3fe1beee8897da2dcc8b6982d169054b394995090c9cc6519f50a03a7fc465905dda3c61eb1063b9ba4696b0c
-DIST llvm-project-22.1.6.src.tar.xz.sig 119 BLAKE2B faba6f95374bc9ffda950b7cb727246e3d05173a1b790f669722fe97aff5f5a7a840324b3f1721a424393e3dbf56d768868d65a1cfac107a49487e0111a8d87f SHA512 6aeaac226c3099ac1120e57daf9be4161855e17415df7117b9091a0c1a32022d27a842cdf208d17ee389b2be003577688565abbb18c78d94d56c3a38d56bb035
DIST llvm-project-22.1.7.src.tar.xz 167066344 BLAKE2B 201b7f8f8b4216ad250f9dcdc87f817ac2dac99c1c7f151077e46165c0efae6d04c33c84c70c04c670fe0733e621af866f78d4d93f49e4d8385645f71495f53b SHA512 b7e56121cd6cb24085185ca0b621fec272dd9aa237c49a901043a9a4c31fdbc1ff33e650891d9786cd9495c006e87d4553ac36b518c864c75e99a80e40771bfd
DIST llvm-project-22.1.7.src.tar.xz.sig 119 BLAKE2B 0a1125837ae881dcb356c43e6fcd24dd14e107cd045524906b3879db94184e2c74835ce1e3ee026e55790af5be4b861d629546de6f74374e71e164a571c6ecd0 SHA512 d56bc596b642d6e6e63f1d141dbc7b8151e58befc70fd3d28847f023789823c9daf90100be233ab6597219037ee28187e6e8996992b7226568265c205abad266
-DIST llvm-project-8789401c6f0b2c53ba348860c1b0c5df1fa40c8c.tar.gz 271359638 BLAKE2B 31d1c91b535f129cac4b1da7ce2e6f0765231ebe6a5b1cb83f00d56d68820cdd029f7d2fdf602148e37bc9a22d99b71e25284eab74b8d52fa87ed4636712171f SHA512 4ca908b0b5d7ae9a2b334d033d2c11b557dcc3305b9107017965ae612716beade09a0c73e1a5f5eab1c9794728558d4a981715bb9b01d5ba2c2c5c6c53d1a9b6
+DIST llvm-project-6d4cd34d861baec5a761d15b81395fbe88f4391b.tar.gz 273781215 BLAKE2B 9ca9896ac0cfcb9449bd0975e16aca725e14ce5a4c3afd859799ef056a0e1341d63fa21b9bfd3ec1bee2a8482c5cecdd59482d373db72f083d399748a2396e15 SHA512 407e7d2ae1df19bf6095a953a1506583de91e203c4d0461b85a87f86d2069f2b23114b65c5c7f0065d9fbbf8d657bec6ef489ba9310b89f0bddab22c86cccb04
diff --git a/dev-python/clang/clang-22.1.6.ebuild b/dev-python/clang/clang-22.1.6.ebuild
deleted file mode 100644
index 500848f4e75b..000000000000
--- a/dev-python/clang/clang-22.1.6.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{13..14} )
-inherit llvm.org python-r1
-
-DESCRIPTION="Python bindings for llvm-core/clang"
-HOMEPAGE="https://llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-# The module is opening libclang.so directly, and doing some blasphemy
-# on top of it.
-DEPEND="
- >=llvm-core/clang-${PV}:*
- !llvm-core/llvm:0[clang(-),python(-)]
- !llvm-core/clang:0[python(-)]
-"
-RDEPEND="
- ${DEPEND}
- ${PYTHON_DEPS}
-"
-BDEPEND="
- ${PYTHON_DEPS}
- test? (
- llvm-core/clang:${LLVM_MAJOR}
- )
-"
-
-LLVM_COMPONENTS=( clang/{bindings/python,include} )
-llvm.org_set_globals
-
-python_test() {
- # tests rely on results from a specific clang version, so override
- # the search path
- local -x CLANG_LIBRARY_PATH=${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)
- local -x CLANG_NO_DEFAULT_CONFIG=1
- "${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}"
-}
-
-src_test() {
- python_foreach_impl python_test
-}
-
-src_install() {
- python_foreach_impl python_domodule clang
-}
diff --git a/dev-python/clang/clang-23.0.0_pre20260512.ebuild b/dev-python/clang/clang-23.0.0_pre20260605.ebuild
index aa99ad725bb8..aa99ad725bb8 100644
--- a/dev-python/clang/clang-23.0.0_pre20260512.ebuild
+++ b/dev-python/clang/clang-23.0.0_pre20260605.ebuild
diff --git a/dev-python/click/Manifest b/dev-python/click/Manifest
index aca07a79df5a..146b3168b7af 100644
--- a/dev-python/click/Manifest
+++ b/dev-python/click/Manifest
@@ -1,8 +1,4 @@
-DIST click-8.3.2.tar.gz 302856 BLAKE2B 2575a13ae056cdf910a1ad92610b694e73881575ab891761981231a57db8f70667baa871fe5368b7f5baa9080efba98ec16149ceff1be6bb5877be75ada70947 SHA512 909c9421ef05dfabc6b685b290fbc7cc673bba5ebcf57e082dc75fe6a2d3843ae54de14aa886574c5371b80f51c0e2edafc0f0416a267b1bc6965dbe4e22be1f
-DIST click-8.3.2.tar.gz.provenance 9383 BLAKE2B 7ce95cd1a2299e1f1bc28673d827cba8daf385c39d00f8b65f9a24f448f162e15067c166baf53251004f96455b5ed6addd5849e4a86868766907c65632530dd4 SHA512 d9d5e2e89458a6c296a09881fdd89e589e0e98aa7262f11dbf042857b197c17757167b8d1f4c8985fe01d746af714b0754da4ae14353fca0b6c5e77cae23e8b3
DIST click-8.3.3.tar.gz 328061 BLAKE2B e089d4f6597b339b259c31423d925fb987c42f63f18446d88bcc4a591ef007f24e9e43ac4ec1bdca16cb1da94519b3763653c86cd23b3aff7c732638d87cb147 SHA512 4755a0314c6df7021451698fa52c4aa43bdaac59c0b57df7bbae825efbbba008c457e4132bebe661c93b23e37c1c4de2daad7e5f58f7ccf3ed232fca36424912
DIST click-8.3.3.tar.gz.provenance 9524 BLAKE2B 59936593b12a2ee3818f37ec57a5da822f7766bda13052e69234b1d94f838ff316050f02701561a5a0133d76b615f2810c61d7fe0dd6048389a156e8d0a5f63a SHA512 bff0af4270b9587bc7e596946bc1326c4b7e2b6392320d56f9a97bd56b6d2c40637e85a147a3b1c941bf35b5c48465ef75588e5bc5e452c990311f4501e48d61
-DIST click-8.4.0.tar.gz 350843 BLAKE2B d7d1e0159a6d7db93276dc72c238f11fb0ae0fab424f2e2b094fa2e647de3455beb7b0c39d4a0c7306c6888b4fce76b5ec764ec0f620bfea7e310a39ed2858b5 SHA512 7b1e82888b2859e417c2086e72113394ccab442110822fa4ae59df8cc9937b01f4886e6461d1ade809faa885db542cc298fe7d0e42c3045abb59b0bf71b23192
-DIST click-8.4.0.tar.gz.provenance 9375 BLAKE2B 10783399154c47ceeb5f0e9b10f1f4c0f1847f2d8cfd92d0812d3aa6d290fd9ecfc75f0ad86ccfd847df5a0f3961c955255cbc8f7d2f4eefe7a287a37ae7d75c SHA512 51c10c469cc5ef259c60ff99ed9701e9be18938ed3ef5900e8913de4537a0a8d099afe06bcba00e65d9afcf03fb37b0e449f37d9c6d2d57d9d300beb26ac2818
DIST click-8.4.1.tar.gz 353007 BLAKE2B 7de8fdf4bfc9ae65c31a0fed199f3fc5269d0d44ec56acd8288048d4f6ad45dce9563c968b8dd4cd6aef34c1366c53ce0480345640929b2664757c113e603017 SHA512 f759377dfa249e912dc0aa04cf826fd4f6da7a0459e2a076f3f2fd67c22e784d4c03dcf4b91d1763021e9c4d44a198f78050678023106f838d1fa5c6374ec918
DIST click-8.4.1.tar.gz.provenance 9148 BLAKE2B f1b7e7ae1f69f10be9aa2bdba5689388df731de425ccd43baa2b1007ad82584ff7eaeb52f28642f568f55740d49fd25c085a52677c63ffc0050e92e60a22924a SHA512 fee27ae0a5d9de9a278c87797c8e694a604b87eef8f5ffc548f2fc984da4fd7580d2b88f31da1fbb04367a78e090714ad5a84e914a65216c5ef01667fad696a8
diff --git a/dev-python/click/click-8.3.2.ebuild b/dev-python/click/click-8.3.2.ebuild
deleted file mode 100644
index c346f047cd7c..000000000000
--- a/dev-python/click/click-8.3.2.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYPI_VERIFY_REPO=https://github.com/pallets/click
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A Python package for creating beautiful command line interfaces"
-HOMEPAGE="
- https://palletsprojects.com/p/click/
- https://github.com/pallets/click/
- https://pypi.org/project/click/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos"
-
-# this is causing major peformance problems for pkgcheck
-# https://github.com/pkgcore/pkgcheck/issues/782
-#distutils_enable_sphinx docs \
-# '>=dev-python/docutils-0.14' \
-# dev-python/myst-parser \
-# dev-python/pallets-sphinx-themes \
-# dev-python/sphinxcontrib-log-cabinet \
-# dev-python/sphinx-tabs
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
diff --git a/dev-python/click/click-8.3.3.ebuild b/dev-python/click/click-8.3.3.ebuild
index 772b1bdd31e2..c346f047cd7c 100644
--- a/dev-python/click/click-8.3.3.ebuild
+++ b/dev-python/click/click-8.3.3.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 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos"
# this is causing major peformance problems for pkgcheck
# https://github.com/pkgcore/pkgcheck/issues/782
diff --git a/dev-python/click/click-8.4.0.ebuild b/dev-python/click/click-8.4.0.ebuild
deleted file mode 100644
index 1dc540b041e5..000000000000
--- a/dev-python/click/click-8.4.0.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYPI_VERIFY_REPO=https://github.com/pallets/click
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A Python package for creating beautiful command line interfaces"
-HOMEPAGE="
- https://palletsprojects.com/p/click/
- https://github.com/pallets/click/
- https://pypi.org/project/click/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
-
-# this is causing major peformance problems for pkgcheck
-# https://github.com/pkgcore/pkgcheck/issues/782
-#distutils_enable_sphinx docs \
-# '>=dev-python/docutils-0.14' \
-# dev-python/myst-parser \
-# dev-python/pallets-sphinx-themes \
-# dev-python/sphinxcontrib-log-cabinet \
-# dev-python/sphinx-tabs
-
-EPYTEST_PLUGINS=()
-# tests/test_utils.py::test_echo_via_pager is flaky
-EPYTEST_RERUNS=5
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # -Wdefault, https://github.com/pallets/click/issues/3476
- tests/test_options.py::test_flag_group_competition_duplicate_option_name
-)
diff --git a/dev-python/cliff/Manifest b/dev-python/cliff/Manifest
index 5b3ca722ce74..4c49ab4af502 100644
--- a/dev-python/cliff/Manifest
+++ b/dev-python/cliff/Manifest
@@ -1,2 +1 @@
-DIST cliff-4.13.3.tar.gz 89309 BLAKE2B b7ca32ff1d2c64090491a773d3374b081e1dda308844928d882a5d770cb87d46579165f304ab8eef0b60e0944992285ea5d6223839a0834c3165bc74338c92b1 SHA512 542b84b6eb6633926490939c1b4505ccf0d69ffc0e9d128352763dc6edc51aace29a53a3c68b778d30e3cb7f553726a9b46909f87a5147c0d61f55305a477f77
DIST cliff-4.14.0.tar.gz 89670 BLAKE2B 2e7b640d333cfb8d0e08f003bef5ac28180689977e4f55d170e9e95499883d62079854ad239db9dff9e783d7b29f974cc05006535e7c83f2993f2587fef2d189 SHA512 dbd1e92a56752cb2f8b6cf2af49ad3d465b113dd937bfdf12c4a6aef4c258712328e51774c189e5dfca0f7b8146fb9b242c7ca2225677915f691061e449bcb7b
diff --git a/dev-python/cliff/cliff-4.13.3.ebuild b/dev-python/cliff/cliff-4.13.3.ebuild
deleted file mode 100644
index 6beb40cbf80e..000000000000
--- a/dev-python/cliff/cliff-4.13.3.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pbr
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Command Line Interface Formulation Framework"
-HOMEPAGE="
- https://opendev.org/openstack/cliff/
- https://github.com/openstack/cliff/
- https://pypi.org/project/cliff/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~mips ~ppc64 ~riscv ~s390 ~sparc x86"
-
-RDEPEND="
- >=dev-python/autopage-0.4.0[${PYTHON_USEDEP}]
- >=dev-python/cmd2-0.8.0[${PYTHON_USEDEP}]
- dev-python/prettytable[${PYTHON_USEDEP}]
- >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-3.12.0[${PYTHON_USEDEP}]
- >=dev-python/stevedore-5.6.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/sphinx-5.0.0[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-python_test() {
- local -x COLUMNS=80
- eunittest
-}
diff --git a/dev-python/cliff/cliff-4.14.0.ebuild b/dev-python/cliff/cliff-4.14.0.ebuild
index 6c86613f9f8e..0017ad3fdf7e 100644
--- a/dev-python/cliff/cliff-4.14.0.ebuild
+++ b/dev-python/cliff/cliff-4.14.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc64 ~riscv ~s390 ~x86"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~mips ~ppc64 ~riscv ~s390 x86"
RDEPEND="
>=dev-python/autopage-0.4.0[${PYTHON_USEDEP}]
diff --git a/dev-python/clr-loader/Manifest b/dev-python/clr-loader/Manifest
index 42bb78870a0c..7200ab2c7f9a 100644
--- a/dev-python/clr-loader/Manifest
+++ b/dev-python/clr-loader/Manifest
@@ -1,4 +1,3 @@
-DIST clr_loader-0.2.9.tar.gz 84829 BLAKE2B e74b27ecac4d37c1f3ed43d6612b15cd24788b38e39b978aba513c458111124fdda7069579e3121edefb0f47907afb2503ee819f59663b921b87ed64b9960bb1 SHA512 02f481f9af5317917f75feabef7d9fa4bea01d29af9b89de2430485418f3442db9440dc630f789cf3178a1be6a0287150e6b8d91a7515df1704bc9da9bb8cda1
DIST clr_loader-0.3.1.tar.gz 86805 BLAKE2B 2fc91dd0c791ba126abcf407b0a1ee9cebdffc7b78e38b58f91c78c89e737de51e7c9dd0728113cbed79cb2bb7bcd20f9d8c2fd583e25c26a92572f83a3ad2ca SHA512 2f2c58947511b82199347c8609ead4fce9c513abdd16546d4f9b5d506b8db00b3ed75f53e57d295ed0c6ff7702e32b39d8c214c05a76b9d50b411a0afc056cf9
DIST microsoft.netcore.platforms.1.1.0.nupkg 17960 BLAKE2B 6a9fa22d75f5a1c65746dd71a63c3d4e37c393e99c23007c10f5ecce248a04863bf26e7562c7751177a6985eaac266c29cc6a5443a4a853e773f88994ad2a3fd SHA512 6bf892c274596fe2c7164e3d8503b24e187f64d0b7bec6d9b05eb95f04086fceb7a85ea6b2685d42dc465c52f6f0e6f636c0b3fddac48f6f0125dfd83e92d106
DIST microsoft.netframework.referenceassemblies.1.0.0.nupkg 20946 BLAKE2B ac609f5ddaec68f4afca36b710408e8f5601f13e6b2c793dae11e1afd3f8fc9b45c3ae9abba2429b4f414a43a48f8e0ea11498f439a17158257701466f372582 SHA512 c8f18b9fc83113c65086d93f7dfd9d62600edd614f5eaaeb294d96cc46bb024cc1cbd93b665f849a33d367acd4df30913db1e50ebc695de7e12cd185a6e1ee9e
diff --git a/dev-python/clr-loader/clr-loader-0.2.9.ebuild b/dev-python/clr-loader/clr-loader-0.2.9.ebuild
deleted file mode 100644
index 98a62bd84757..000000000000
--- a/dev-python/clr-loader/clr-loader-0.2.9.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517="setuptools"
-PYTHON_COMPAT=( python3_{13..14} )
-
-DOTNET_PKG_COMPAT="10.0"
-NUGETS="
-microsoft.netcore.platforms@1.1.0
-microsoft.netframework.referenceassemblies.net461@1.0.0
-microsoft.netframework.referenceassemblies.net461@1.0.3
-microsoft.netframework.referenceassemblies.net472@1.0.3
-microsoft.netframework.referenceassemblies@1.0.0
-microsoft.netframework.referenceassemblies@1.0.3
-netstandard.library@2.0.3
-nxports@1.1.0
-"
-
-inherit check-reqs dotnet-pkg distutils-r1
-
-DESCRIPTION="Generic pure Python loader for .NET runtimes"
-HOMEPAGE="https://pythonnet.github.io/clr-loader/
- https://github.com/pythonnet/clr-loader/
- https://pypi.org/project/clr_loader/"
-
-if [[ "${PV}" == *9999* ]] ; then
- inherit git-r3
-
- EGIT_REPO_URI="https://github.com/pythonnet/${PN}"
-else
- inherit pypi
-
- KEYWORDS="amd64"
-fi
-
-SRC_URI+=" ${NUGET_URIS} "
-
-LICENSE="MIT"
-SLOT="0"
-
-RDEPEND="
- dev-python/cffi[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
-"
-
-CHECKREQS_DISK_BUILD="500M"
-DOTNET_PKG_PROJECTS=(
- example/example.csproj
- netfx_loader/ClrLoader.csproj
-)
-
-EPYTEST_DESELECT=(
- # Mono only.
- 'tests/test_common.py::test_mono'
- 'tests/test_common.py::test_mono_debug'
- 'tests/test_common.py::test_mono_signal_chaining'
- 'tests/test_common.py::test_mono_set_dir'
-
- # MS Windows only.
- 'tests/test_common.py::test_netfx'
- 'tests/test_common.py::test_netfx_chinese_path'
- 'tests/test_common.py::test_netfx_separate_domain'
-
- # Fails.
- 'tests/test_common.py::test_coreclr_properties'
-)
-
-distutils_enable_tests pytest
-
-pkg_setup() {
- check-reqs_pkg_setup
- dotnet-pkg_pkg_setup
-}
-
-src_prepare() {
- # To be compatible with .NET >= 6.0.
- cat <<-EOF > Directory.Build.props || die
-<Project>
-<PropertyGroup>
-<RollForward>Major</RollForward>
-</PropertyGroup>
-</Project>
-EOF
- nuget_writeconfig "$(pwd)/"
-
- distutils-r1_src_prepare
-}
-
-src_configure() {
- dotnet-pkg_src_configure
- distutils-r1_src_configure
-}
diff --git a/dev-python/clr-loader/clr-loader-0.3.1.ebuild b/dev-python/clr-loader/clr-loader-0.3.1.ebuild
index aa202490ad2e..6350d3db7c8c 100644
--- a/dev-python/clr-loader/clr-loader-0.3.1.ebuild
+++ b/dev-python/clr-loader/clr-loader-0.3.1.ebuild
@@ -32,7 +32,7 @@ if [[ "${PV}" == *9999* ]] ; then
else
inherit pypi
- KEYWORDS="~amd64"
+ KEYWORDS="amd64"
fi
SRC_URI+=" ${NUGET_URIS} "
diff --git a/dev-python/cmd2/Manifest b/dev-python/cmd2/Manifest
index 869f75b8bb93..5c212f401c8e 100644
--- a/dev-python/cmd2/Manifest
+++ b/dev-python/cmd2/Manifest
@@ -1,2 +1,3 @@
DIST cmd2-2.6.2.tar.gz 592373 BLAKE2B 917ecd684c60c0a6c1b273ef52fa1e317f71522dfd6fc8a9d2c1ee7fa28788b734c6536a9481ac56ef8409002f503837ae51191478a68e364c4780e9feb4b8e8 SHA512 75531dca561427eef259765a55c6385401edd8bc9d5c4cf08ab97e53e118334be932ee5c59f9e1fcd529a7a5f7416e654ee1d618d91623068ef21bcc66dcfdd7
DIST cmd2-3.5.1.tar.gz 707325 BLAKE2B 5fd287a1a984c425cc7fdb3ef6c1f709b4af470b3280e715bcbad8200b52d5f8d698716eb540a9c9603ed090e2394b3aac319aaf80afc652459c127d968020bc SHA512 30414090390c1087173d2a259b5af2dc12228ab16892ea8617ec4168882565ebeef7e76a2c86b6e614fe45e3e454f74c49b633358b5da84d57365e7e70432054
+DIST cmd2-4.0.0.tar.gz 813155 BLAKE2B b9b61d8a2e302f2acaee8420077f48d92728e910a73bbba9195600ed1dc7c4695abcdec5f0a08928798d24f83b333de076bc9f7d4c281c5cd502d1fd05be752b SHA512 a1df4bb215a098e2902826ff4686ec10664a4b9d8e0433c6103ba395f325ae56d8c4fa2d83d770b4cc9e4c1e5b456fa03a6bac6af9b7f8398a5fc61394cf15f7
diff --git a/dev-python/cmd2/cmd2-4.0.0.ebuild b/dev-python/cmd2/cmd2-4.0.0.ebuild
new file mode 100644
index 000000000000..dadcd6a482d2
--- /dev/null
+++ b/dev-python/cmd2/cmd2-4.0.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..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 ~x86"
+
+RDEPEND="
+ >=dev-python/prompt-toolkit-3.0.52[${PYTHON_USEDEP}]
+ >=dev-python/pyperclip-1.8.2[${PYTHON_USEDEP}]
+ >=dev-python/rich-15.0.0[${PYTHON_USEDEP}]
+ >=dev-python/rich-argparse-1.7.2[${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? (
+ || (
+ x11-misc/xclip
+ x11-misc/xsel
+ )
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-mock )
+EPYTEST_RERUNS=5
+distutils_enable_tests pytest
+
+src_test() {
+ # tests rely on very specific text wrapping...
+ local -x COLUMNS=80
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ # TODO: tests_isolated?
+ nonfatal epytest -o addopts= tests || die
+}
+
+pkg_postinst() {
+ optfeature "IPython shell integration" dev-python/ipython
+}
diff --git a/dev-python/coverage/coverage-7.14.0.ebuild b/dev-python/coverage/coverage-7.14.0.ebuild
index 6aae2bf728ac..7c0113de2c2e 100644
--- a/dev-python/coverage/coverage-7.14.0.ebuild
+++ b/dev-python/coverage/coverage-7.14.0.ebuild
@@ -20,7 +20,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/cross-web/Manifest b/dev-python/cross-web/Manifest
index dcca15ed8b67..3a9256b83060 100644
--- a/dev-python/cross-web/Manifest
+++ b/dev-python/cross-web/Manifest
@@ -1 +1,2 @@
-DIST cross_web-0.4.1.tar.gz 157385 BLAKE2B be861d08154b766bfde1c49cd8e086991706a7e63bd1b0a787346b62a7cde0eb872521a9f6fed25d19ad77bf56ee4bee27fceb8075f2707e9422f3003356e9bb SHA512 ace491ccb9ae102db8918cf6854021530f1b608d55f00055f15f159b71effc5bf37711aa3fe607c13042d6848adb2b39672d8ef528f993ace790db0e2ef1c457
+DIST cross_web-0.6.0.tar.gz 331315 BLAKE2B 24ff3e1292e5a418e33c229d40c32a07a2d93ec35e5e1a3e5c0296733dab29af15a20eed1aeef9541f8341382d99e3bf206eb69f86383d1271c5cfc947b9d959 SHA512 0a05048d213d9bf4a95942e94f508909fb7b768a91804352be0710c54e29eecee5d0191612d4396f50b7b605e7ac454c002fc38263833fe05e27717622b54535
+DIST cross_web-0.7.0.tar.gz 332407 BLAKE2B d0767e347baa127ce8ef703f7580d2ead7254c6fb056ef8c161a9b9ee2c8f1d43634b0c70a2a5db0d2337e4a23fdee593de8115815a39d32afb6fe60bfaecd47 SHA512 6758e6b0c1b51d3dd73cef7ac947743d5b327f3633c107685b3ebb6f6ed3ad4665e5a837013e575bd2f4831f527a1d804eaac800fff3ac0b3295e382eada464b
diff --git a/dev-python/cross-web/cross-web-0.4.1.ebuild b/dev-python/cross-web/cross-web-0.6.0.ebuild
index 5c6aeae054dc..dab8e5e150c2 100644
--- a/dev-python/cross-web/cross-web-0.4.1.ebuild
+++ b/dev-python/cross-web/cross-web-0.6.0.ebuild
@@ -33,14 +33,21 @@ BDEPEND="
>=dev-python/starlette-0.46.1[${PYTHON_USEDEP}]
>=dev-python/werkzeug-2.3[${PYTHON_USEDEP}]
>=dev-python/yarl-1.9[${PYTHON_USEDEP}]
- >=dev-python/chalice-1.20[${PYTHON_USEDEP}]
>=dev-python/litestar-2.0[${PYTHON_USEDEP}]
)
"
+# chalice seems dead upstream, avoid it for an easier py3.14 transition
+EPYTEST_DESELECT=(
+ # unpackaged sanic
+ "tests/testing/clients/test_http_clients.py::test_request_adapter_json[http_client_config8]"
+ "tests/testing/clients/test_http_clients.py::test_request_adapter_form_data[http_client_config8]"
+)
EPYTEST_IGNORE=(
- # avoid unpackaged test dependencies
+ # unpackaged sanic
tests/request/test_sanic.py
+ # avoid chalice
+ tests/request/test_chalice.py
)
-EPYTEST_PLUGINS=( pytest-asyncio )
+EPYTEST_PLUGINS=( pytest-asyncio pytest-django )
distutils_enable_tests pytest
diff --git a/dev-python/cross-web/cross-web-0.7.0.ebuild b/dev-python/cross-web/cross-web-0.7.0.ebuild
new file mode 100644
index 000000000000..dab8e5e150c2
--- /dev/null
+++ b/dev-python/cross-web/cross-web-0.7.0.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A library for working with web frameworks"
+HOMEPAGE="
+ https://github.com/usecross/cross-web/
+ https://pypi.org/project/cross-web/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.14.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/aiohttp-3.9[${PYTHON_USEDEP}]
+ >=dev-python/django-4.2[${PYTHON_USEDEP}]
+ >=dev-python/fastapi-0.115.12[${PYTHON_USEDEP}]
+ >=dev-python/flask-2.3[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.28.1[${PYTHON_USEDEP}]
+ >=dev-python/python-multipart-0.0.20[${PYTHON_USEDEP}]
+ >=dev-python/quart-0.19[${PYTHON_USEDEP}]
+ >=dev-python/starlette-0.46.1[${PYTHON_USEDEP}]
+ >=dev-python/werkzeug-2.3[${PYTHON_USEDEP}]
+ >=dev-python/yarl-1.9[${PYTHON_USEDEP}]
+ >=dev-python/litestar-2.0[${PYTHON_USEDEP}]
+ )
+"
+
+# chalice seems dead upstream, avoid it for an easier py3.14 transition
+EPYTEST_DESELECT=(
+ # unpackaged sanic
+ "tests/testing/clients/test_http_clients.py::test_request_adapter_json[http_client_config8]"
+ "tests/testing/clients/test_http_clients.py::test_request_adapter_form_data[http_client_config8]"
+)
+EPYTEST_IGNORE=(
+ # unpackaged sanic
+ tests/request/test_sanic.py
+ # avoid chalice
+ tests/request/test_chalice.py
+)
+EPYTEST_PLUGINS=( pytest-asyncio pytest-django )
+distutils_enable_tests pytest
diff --git a/dev-python/css-parser/Manifest b/dev-python/css-parser/Manifest
index 0d20783a1967..03bcfbdd582e 100644
--- a/dev-python/css-parser/Manifest
+++ b/dev-python/css-parser/Manifest
@@ -1 +1,2 @@
DIST css-parser-1.0.10.tar.gz 349673 BLAKE2B 30ba106620e488532d3cfbd84fc44b0bc15f1e98c7ca3db5a04476810f1bd7ff62c425a052e141a2f13d15e30bd8d1ad83bf769ccce256bef5b723560e230810 SHA512 1f339eb5771fb1ff2f2fc5dbcbe86f6ad09d0ae1abeca96194e6d3c0c4e385ae7366618f28d01010e764fa81d30aec7ccfcbeea2a084c8528be33812307149c8
+DIST css_parser-1.1.1.tar.gz 349706 BLAKE2B cfdf7cadce8f8ffd6204a46e2efa4b1bbe2a842c7c8a53c427f643c4feee6de636c6db3c58fca7f904e5082822c0d2b94bcae81ca34a7f63e993769ebd2986b6 SHA512 ba7877cfff7066c9b15ef85e28795fe3c6051a97805c2ac70348cf8612cc53e28d9e421060d5ce31a207d3a1e3ec55ba9daf7691788379d9ecf72607e09a6d23
diff --git a/dev-python/css-parser/css-parser-1.1.1.ebuild b/dev-python/css-parser/css-parser-1.1.1.ebuild
new file mode 100644
index 000000000000..02256a19e612
--- /dev/null
+++ b/dev-python/css-parser/css-parser-1.1.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A CSS Cascading Style Sheets library (fork of cssutils)"
+HOMEPAGE="
+ https://github.com/ebook-utils/css-parser/
+ https://pypi.org/project/css-parser/
+"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ dev-python/chardet[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/cssutils/Manifest b/dev-python/cssutils/Manifest
deleted file mode 100644
index 4396da943f61..000000000000
--- a/dev-python/cssutils/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST cssutils-2.11.1.tar.gz 711657 BLAKE2B 08522271238efd160dba06e580e01136ec1dab69bef8400f458edcf58a179ffc1d5bbca9423afddb66b5c781c2742a00f9a9fc0c5119ed3d865f914ebce2238f SHA512 7e38f08c5ff340b82ea39bda207d099b39ce6b88c8ac0d7ac1fb29e7b4ae6d8baa341e0a9b27e6d2285e31266112ec51d1fff9ef3e5a17a4bf55546fb4927845
diff --git a/dev-python/cssutils/cssutils-2.11.1.ebuild b/dev-python/cssutils/cssutils-2.11.1.ebuild
deleted file mode 100644
index bc5bf02a97d5..000000000000
--- a/dev-python/cssutils/cssutils-2.11.1.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_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A CSS Cascading Style Sheets library"
-HOMEPAGE="
- https://pypi.org/project/cssutils/
- https://github.com/jaraco/cssutils/
-"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc x86"
-
-RDEPEND="
- dev-python/more-itertools[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/cssselect[${PYTHON_USEDEP}]
- >=dev-python/jaraco-test-5.1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # network
- encutils/__init__.py::encutils
- examples/website.py::examples.website.logging
- )
- local EPYTEST_IGNORE=(
- # path mismatch with "parse" package
- examples/parse.py
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -m "not network"
-}
diff --git a/dev-python/cucumber-expressions/Manifest b/dev-python/cucumber-expressions/Manifest
index 52cf83c6ba63..247efa804bbe 100644
--- a/dev-python/cucumber-expressions/Manifest
+++ b/dev-python/cucumber-expressions/Manifest
@@ -1,2 +1 @@
-DIST cucumber-expressions-19.0.0.gh.tar.gz 309977 BLAKE2B 89d297402e78081843d8319dee500c2be4e43493e74f04413e970bd1ddbba44136fc63afafc4c609a5c41254c65e338a3e6f2e988f09d81a40782a1907804ad9 SHA512 8743abd54c9c4e7538f21c7c2033f1410dbfb18815714add222024d013e91ed4f775b83f989981ee5d840af7e02aaf3b42d134563be484b8ffc7c1d839828d93
-DIST cucumber-expressions-19.0.1.gh.tar.gz 270820 BLAKE2B f5787440882f60244d47403c7dd74dd0c41483dcdf1a67ed115b1fd07b68035329c5c742b662c01ba3c4c146729b4c90e3c3361bc9b93bf7440b39e0ff000f54 SHA512 23c525007959f9fc52f03aa815fa8cd5277063688b670129a8e49d6f439dedc5608782a41b209709d20ccff970f7d4302da9a1c25a36337ee6c301215c9601d0
+DIST cucumber-expressions-20.0.0.gh.tar.gz 270736 BLAKE2B 6e1b84cf2b92eb72c5fba3dc92615c33865bcac75a3ea9690e69e517c5e8eab39a6e22819491178f238c110a0bf0d4edb372b5e01935cdd234cca7c4e6e27c6f SHA512 016198a2f354f3207412eb386d3a0e3a09916b5b8d77340e59f94b78b818b3fa326baf9a7121ecd9fcfa89455525188a3b3604a47b5aa8e89f9229c9fa2a99a4
diff --git a/dev-python/cucumber-expressions/cucumber-expressions-19.0.1.ebuild b/dev-python/cucumber-expressions/cucumber-expressions-19.0.1.ebuild
deleted file mode 100644
index 8bb5b1ca1cd3..000000000000
--- a/dev-python/cucumber-expressions/cucumber-expressions-19.0.1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=uv-build
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Human friendly alternative to Regular Expressions"
-HOMEPAGE="
- https://github.com/cucumber/cucumber-expressions/
- https://pypi.org/project/cucumber-expressions/
-"
-# no tests in sdist
-SRC_URI="
- https://github.com/cucumber/cucumber-expressions/archive/refs/tags/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/${P}/python"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-BDEPEND="
- test? (
- >=dev-python/pyyaml-6.0.3[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
diff --git a/dev-python/cucumber-expressions/cucumber-expressions-19.0.0.ebuild b/dev-python/cucumber-expressions/cucumber-expressions-20.0.0.ebuild
index 8bb5b1ca1cd3..8bb5b1ca1cd3 100644
--- a/dev-python/cucumber-expressions/cucumber-expressions-19.0.0.ebuild
+++ b/dev-python/cucumber-expressions/cucumber-expressions-20.0.0.ebuild
diff --git a/dev-python/cucumber-tag-expressions/Manifest b/dev-python/cucumber-tag-expressions/Manifest
index 1ea1e5b481a7..f3a2742cb8f2 100644
--- a/dev-python/cucumber-tag-expressions/Manifest
+++ b/dev-python/cucumber-tag-expressions/Manifest
@@ -1 +1 @@
-DIST cucumber-tag-expressions-9.1.0.gh.tar.gz 188956 BLAKE2B 8e8dbba47811f7f367062f18e405025655238755642314e1fab1ed76eeca215a80efe94ca50357f5257153379fb34d7a34760026b9b04507ca777b2faa5cb928 SHA512 d3886c65b678fd87b093fca88e243972322a48afabfeb2e3d38b69ce813e3705924e1475e77b54f98687f9c4235bc343cc9d7c20ba194880d9acceb228161275
+DIST cucumber-tag-expressions-10.0.0.gh.tar.gz 151228 BLAKE2B 73b572ea424ed6d0dfebb4609f2340e032245a11910e149fe8677dc872f2072aae3a4f6ff123b1f210430a4646c654cd33a1b2954e143547c826683953ca837f SHA512 93b15f847c91dfff3987de765a29d2548f11bf4a9184d049453db67f85082375edf99b19304ac6ebb1c2a90eeae0474ee6a2025200cd23429775d98771304079
diff --git a/dev-python/cucumber-tag-expressions/cucumber-tag-expressions-9.1.0.ebuild b/dev-python/cucumber-tag-expressions/cucumber-tag-expressions-10.0.0.ebuild
index 7b0baef63f29..7b0baef63f29 100644
--- a/dev-python/cucumber-tag-expressions/cucumber-tag-expressions-9.1.0.ebuild
+++ b/dev-python/cucumber-tag-expressions/cucumber-tag-expressions-10.0.0.ebuild
diff --git a/dev-python/cython/cython-3.2.5.ebuild b/dev-python/cython/cython-3.2.5-r1.ebuild
index 5d75cee21fd8..99b974ce9c0d 100644
--- a/dev-python/cython/cython-3.2.5.ebuild
+++ b/dev-python/cython/cython-3.2.5-r1.ebuild
@@ -10,7 +10,7 @@ PYTHON_TESTED=( python3_{13..14} )
PYTHON_COMPAT=( python3_{13..14} )
PYTHON_REQ_USE="threads(+)"
-inherit distutils-r1 multiprocessing pypi toolchain-funcs
+inherit distutils-r1 flag-o-matic multiprocessing pypi toolchain-funcs
DESCRIPTION="A Python to C compiler"
HOMEPAGE="
@@ -47,6 +47,11 @@ PATCHES=(
# dev-python/sphinx-issues \
# dev-python/sphinx-tabs
+python_configure_all() {
+ # https://gcc.gnu.org/PR125730 (bug #976797)
+ tc-is-gcc && [[ $(gcc-major-version) -ge 16 ]] && append-cflags -fno-ivopts
+}
+
python_compile() {
# Python gets confused when it is in sys.path before build.
local -x PYTHONPATH=
diff --git a/dev-python/dbus-fast/Manifest b/dev-python/dbus-fast/Manifest
index c196d500f378..925b36b6601b 100644
--- a/dev-python/dbus-fast/Manifest
+++ b/dev-python/dbus-fast/Manifest
@@ -1,6 +1,4 @@
-DIST dbus-fast-4.0.4.gh.tar.gz 209703 BLAKE2B b59bded537f19d90edcda03a3469e430a2fe4dfe2b9bea4a8ab0db825a7a419fc56410e2c38267f88aae1d9e1810e87875f56f70c29f497e29dff9d347cea44a SHA512 622e4030a97b6684b3d0e0848fd2d6e5029d3082ab009dd1a2802bb8dce1afb37722aeb9b2626f0c22f3f7c888571b5ccf1f39d24e0f3bf06f4490012bee0136
DIST dbus-fast-4.1.0.gh.tar.gz 212685 BLAKE2B 2d2b275c049223657db7ddf910ed31b55c6f8014e77df2d8fb037a97dba77f0889a6fce05a2416c252fe003cf6151defb38ac086cab8cb86e0a5703463f87a83 SHA512 85e0492589181313ca4342c870613343b348e357c1e408ef387bc490cd2d11a4a97df3cf717321727b6e8c66fe97da4fb63f88ff4579d562aa2b9e343e647dbb
DIST dbus-fast-4.2.8.gh.tar.gz 233457 BLAKE2B ab74853654a0f742372a9bfb8fa162296d8ba9bbb771b9ed4864938a937dde8fc9d4db3d7cc518a706b325e4d400938ee4773a2922c2d3311d19248cd62441fc SHA512 e4929b64b5dd2239ba8cf3b65b5fb536a032a99a6b78d24bef8eb53d261b9a596a2d9f8b397de748fad087eea2007a35ccc1c41efbd659f9e407fa86ff87788b
DIST dbus-fast-4.3.0.gh.tar.gz 233863 BLAKE2B 1e708125ecfa2ce1c26fa3e99935e2fac358f97d8585d712defe2d3a4a4dd7f2c52f18945b7f1af8b619e8c654b264ec8b8873b8b42da3b9d7e36a059a5baba1 SHA512 da0c3ed9d58621c76458ec61aaeeb97c0e9e780989a47f7c0f8629a8d9b762b255ba75664efe6f4cc3776d30b52fce83bbcc9e7e543a1ece1e1ecfdea27f3214
-DIST dbus-fast-5.0.16.gh.tar.gz 257894 BLAKE2B 1fdab82bd90868c4e42a25cf431d131df6e9ccf38ce71c0a8fa927a38b1ccbcd9749d2dd020732f08a2ae5fb970a7606b18fb76a2c5c99fede13fb48bbaa6ec3 SHA512 9e335136588bd4bb7fc17944232959579f5c9a35a27bd21fae5104abd082dea71ebf58d45eeb7a5e6f3fbcca8a1249d5d05ab9251ca4c4a34916d936a3e03527
-DIST dbus-fast-5.0.17.gh.tar.gz 258907 BLAKE2B 67da914ef9234302a9784c6293863c399ac96c0f73099dfd8e58f03dda366621108793309e626a44d7abafd1ffd0f9ec2c5baabb14881073424072354f8b72b0 SHA512 c34ff3728b32d9b86fd10c324c92aa7c100c58584e26ff417f918ccd5007938d8e443784734ce6b14b1c48e3dcc0befc57c35f40868a17495f62628118c8eb12
+DIST dbus-fast-5.0.22.gh.tar.gz 262681 BLAKE2B 10a4f0a9917e528109d79cee97620f4a4f78755db7d36c755d29b82f2ae47a93a9a5c1ded936cdbe0156df1675c2914f4642f6bbc4d2c22bca75e0da8590eac9 SHA512 de1dbeeb21d81d2819dee632a7617cd72a05f15cab8ff35de343c25d3ff3dd2ad794a99d842abf4da8b9432bf933df98999b545c81de9ebeed4288c0ca2dd1bb
diff --git a/dev-python/dbus-fast/dbus-fast-4.0.4.ebuild b/dev-python/dbus-fast/dbus-fast-4.0.4.ebuild
deleted file mode 100644
index 68352c97fed2..000000000000
--- a/dev-python/dbus-fast/dbus-fast-4.0.4.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=poetry
-# TODO: freethreading compatible
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 virtualx
-
-DESCRIPTION="A faster version of dbus-next"
-HOMEPAGE="
- https://github.com/bluetooth-devices/dbus-fast/
- https://pypi.org/project/dbus-fast/
-"
-SRC_URI="
- https://github.com/Bluetooth-Devices/dbus-fast/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~riscv"
-
-BDEPEND="
- >=dev-python/cython-3[${PYTHON_USEDEP}]
- >=dev-python/setuptools-65.4.1[${PYTHON_USEDEP}]
- test? (
- >=dev-python/pycairo-1.21.0[${PYTHON_USEDEP}]
- >=dev-python/pygobject-3.50[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( pytest-{asyncio,timeout} )
-distutils_enable_tests pytest
-
-export REQUIRE_CYTHON=1
-
-src_test() {
- local dbus_params=(
- $(dbus-daemon --session --print-address --fork --print-pid)
- )
- local -x DBUS_SESSION_BUS_ADDRESS=${dbus_params[0]}
-
- virtx distutils-r1_src_test
-
- kill "${dbus_params[1]}" || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # interface not found on this object: org.freedesktop.DBus.Debug.Stats
- tests/client/test_signals.py::test_signals
- )
- local EPYTEST_IGNORE=(
- tests/benchmarks
- )
-
- nonfatal epytest -o addopts= || die
-}
diff --git a/dev-python/dbus-fast/dbus-fast-4.1.0.ebuild b/dev-python/dbus-fast/dbus-fast-4.1.0.ebuild
index d5d17c317555..68352c97fed2 100644
--- a/dev-python/dbus-fast/dbus-fast-4.1.0.ebuild
+++ b/dev-python/dbus-fast/dbus-fast-4.1.0.ebuild
@@ -22,7 +22,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~riscv"
+KEYWORDS="amd64 ~riscv"
BDEPEND="
>=dev-python/cython-3[${PYTHON_USEDEP}]
diff --git a/dev-python/dbus-fast/dbus-fast-5.0.17.ebuild b/dev-python/dbus-fast/dbus-fast-5.0.17.ebuild
deleted file mode 100644
index 5527caecf6da..000000000000
--- a/dev-python/dbus-fast/dbus-fast-5.0.17.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=poetry
-# TODO: freethreading compatible
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 virtualx
-
-DESCRIPTION="A faster version of dbus-next"
-HOMEPAGE="
- https://github.com/bluetooth-devices/dbus-fast/
- https://pypi.org/project/dbus-fast/
-"
-SRC_URI="
- https://github.com/Bluetooth-Devices/dbus-fast/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv"
-
-BDEPEND="
- >=dev-python/cython-3[${PYTHON_USEDEP}]
- >=dev-python/setuptools-65.4.1[${PYTHON_USEDEP}]
- test? (
- dev-python/blockbuster[${PYTHON_USEDEP}]
- >=dev-python/pycairo-1.21.0[${PYTHON_USEDEP}]
- >=dev-python/pygobject-3.50[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( pytest-{asyncio,timeout} )
-distutils_enable_tests pytest
-
-export REQUIRE_CYTHON=1
-
-src_test() {
- local dbus_params=(
- $(dbus-daemon --session --print-address --fork --print-pid)
- )
- local -x DBUS_SESSION_BUS_ADDRESS=${dbus_params[0]}
-
- virtx distutils-r1_src_test
-
- kill "${dbus_params[1]}" || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # interface not found on this object: org.freedesktop.DBus.Debug.Stats
- tests/client/test_signals.py::test_signals
- )
- local EPYTEST_IGNORE=(
- tests/benchmarks
- )
-
- nonfatal epytest -o addopts= || die
-}
diff --git a/dev-python/dbus-fast/dbus-fast-5.0.16.ebuild b/dev-python/dbus-fast/dbus-fast-5.0.22.ebuild
index 5527caecf6da..5527caecf6da 100644
--- a/dev-python/dbus-fast/dbus-fast-5.0.16.ebuild
+++ b/dev-python/dbus-fast/dbus-fast-5.0.22.ebuild
diff --git a/dev-python/denonavr/Manifest b/dev-python/denonavr/Manifest
index 5871da904666..d9181ed1fff4 100644
--- a/dev-python/denonavr/Manifest
+++ b/dev-python/denonavr/Manifest
@@ -1 +1,2 @@
DIST denonavr-1.3.2.tar.gz 220846 BLAKE2B e7b99f465d6302bc5898097e1db1b32b3264bf2b35b88ed7fb976f41a6b1a58d7429ab515c6f5b952c19e556cee97f50fae499e680edeed37d6b87d1a1fb77cd SHA512 8dc742476d62e9fc50e1d6b92347a0fccdd13d16aa590880ec83644305a08d3447ebc935b67ba90f3996121e8c381eb9eb4334f1e19746fe62f1bddf4a31cb29
+DIST denonavr-1.3.3.tar.gz 222060 BLAKE2B 70dde943d5a8bfb6dcec37449299993570e6667104647c861f0d39549ecdf4fb13caa23986817f04921a479c7736ac017b95fe918e813e1685e522e425e01856 SHA512 94a897218a9ee09d3276d76e23ddba4039665fb694c86b6fb3a34d7d210a61af6326736a38a21e825aa703f3c5eeb73a526286b8d5af97667af327397db8f9d2
diff --git a/dev-python/denonavr/denonavr-1.3.3.ebuild b/dev-python/denonavr/denonavr-1.3.3.ebuild
new file mode 100644
index 000000000000..8fd52cb94593
--- /dev/null
+++ b/dev-python/denonavr/denonavr-1.3.3.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Automation Library for Denon AVR receivers"
+HOMEPAGE="
+ https://github.com/ol-iver/denonavr/
+ https://pypi.org/project/denonavr/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ >=dev-python/asyncstdlib-3.10.2[${PYTHON_USEDEP}]
+ >=dev-python/attrs-21.2.0[${PYTHON_USEDEP}]
+ >=dev-python/defusedxml-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/ftfy-6.1.1[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.23.1[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.11.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( pytest-{asyncio,httpx,timeout} )
+distutils_enable_tests pytest
diff --git a/dev-python/dep-logic/Manifest b/dev-python/dep-logic/Manifest
index 4983b88f81fb..221a5d07362a 100644
--- a/dev-python/dep-logic/Manifest
+++ b/dev-python/dep-logic/Manifest
@@ -1,4 +1,2 @@
-DIST dep_logic-0.5.2.tar.gz 36816 BLAKE2B 14cfb818a4f199fc5888d73c6047e2f9908e9ad7deee30fc15e17801e9d403921bbff294e9f0c4b1ca087b02960866d230f6b1539a51219554b04673d8c375c9 SHA512 7df9383dd2dc197764d162389d66f04562d1195e412567f26e410e6d369acbd815183ca9e5b780f01aab5e29d06dfe0eb9afb2b991ee3f58bb81ffabc7459ed0
-DIST dep_logic-0.5.2.tar.gz.provenance 9428 BLAKE2B aada653f69da4d840f9bbecc70d45790da34dffa2f8905c1711fcdc2398c8f4cb384f428cd8e955034ca9c43d6a621bdc63c6e4e162e6ea013c4a42524fd1d40 SHA512 f809a4e2689848f61866b294e17176d27cb99de049c2d96920164cc0bd59cb805067c48aaf89effade87af9d7c88b67b4292736e23bd0ee8837bc288a59bb8b9
DIST dep_logic-0.6.0.tar.gz 36869 BLAKE2B 265ca52585e6d9a6fa293c93bddc6928f0b27765ab17ce8f2986557433822a89546d4007c8588dc5638492cf59a24614bc72c72b0ba1630ca021fb82ae93c7ff SHA512 c8154d7aa1717d39ed964604b28525bf85257783eb07a3aecea2b9f5cd97d80555dea5c35949aec17209a32d6eae299508ce8fa96cd4132329104ad74e44f887
DIST dep_logic-0.6.0.tar.gz.provenance 9461 BLAKE2B 0963fc8719c15544d7ce46620ba17a4ac80952fe263d14e61cce2c82adcd34ec46a2191b63db111ad0b17f9fc1f55bcf17071044e1005ae3aa9c239bbc34064f SHA512 94c4f0b727259e3c8c71ffebee3a0ce3fb166bf04b87a21483ae0610f5722be1b9b32a9381c841c80e9ccd9d1a4f5c041eca17f35174f40b97b638c36fbff272
diff --git a/dev-python/dep-logic/dep-logic-0.5.2.ebuild b/dev-python/dep-logic/dep-logic-0.5.2.ebuild
deleted file mode 100644
index 8ab7a519387e..000000000000
--- a/dev-python/dep-logic/dep-logic-0.5.2.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2023-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pdm-backend
-PYPI_VERIFY_REPO=https://github.com/pdm-project/dep-logic
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python dependency specifications supporting logical operations"
-HOMEPAGE="
- https://github.com/pdm-project/dep-logic/
- https://pypi.org/project/dep-logic/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- >=dev-python/packaging-22[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
diff --git a/dev-python/distlib/Manifest b/dev-python/distlib/Manifest
index 51132f026dc4..b40a2bf015aa 100644
--- a/dev-python/distlib/Manifest
+++ b/dev-python/distlib/Manifest
@@ -1,2 +1,3 @@
DIST distlib-0.4.0.gh.tar.gz 1245571 BLAKE2B c36fe726918bc04849465a55a2708b8686d2ba0b05baa7ff0595e03b7ff95a1afc45b037dbeab9bd14ec7a26ec49807ea5a7c458d8f8da16038c92f32291c62e SHA512 ff61f9ab4e38061d5fee3168c8b26c741a21403d793476477e0733b28b2ba5b1fb31ae6ddb5275efe7ad6936b7e79a5e7ec1b160c86bfbfe6b4ecff10e0193d2
DIST distlib-0.4.1.gh.tar.gz 1246126 BLAKE2B 3399dce7e1c064964edbe0eecb7f96974ce65d97dcf7645547584396008e6036885725a32b323f76c767762607fd9e58feac4b4d10ac28095fcfa0546302e61b SHA512 a8d99a1b6f32fb0ca3a705db109d12ddb46aa344b153b0a8c56c857f4c1fed681cfb4f34c594ade0bbbd5097e389c2b164b2347a30b9d114d62a5e23d8733714
+DIST distlib-0.4.3.tar.gz 615141 BLAKE2B ef9c33d960b719ad6c8d66eaba6469915e19e9a89882b9a2a85244c041f40ca92222134ef9a5d1d00810eece628d07b65b0ffb09600fbcfb03f4f6b0c278bfa4 SHA512 0f6b44640cbfa9bccef10c6cdeedaec8582a2bd5878fcbc803a6feedb81daee5f28506004e23749f3eba206199cadae99808dbcd956066ba948cde455301fd74
diff --git a/dev-python/distlib/distlib-0.4.3.ebuild b/dev-python/distlib/distlib-0.4.3.ebuild
new file mode 100644
index 000000000000..3fad2c05140a
--- /dev/null
+++ b/dev-python/distlib/distlib-0.4.3.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2021-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Low-level components of distutils2/packaging"
+HOMEPAGE="
+ https://pypi.org/project/distlib/
+ https://github.com/pypa/distlib/
+"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# pypiserver is called as external executable
+BDEPEND="
+ test? (
+ dev-python/pypiserver
+ )
+"
+
+src_prepare() {
+ local PATCHES=(
+ # use system pypiserver instead of bundled one
+ "${FILESDIR}/distlib-0.3.9-system-pypiserver.patch"
+ )
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x SKIP_ONLINE=1
+ local -x PYTHONHASHSEED=0
+
+ # disable system-site-packages -- distlib has no deps, and is very
+ # fragile to packages actually installed on the system
+ sed -i -e '/system-site-packages/s:true:false:' \
+ "${BUILD_DIR}/install${EPREFIX}/usr/pyvenv.cfg" || die
+
+ "${EPYTHON}" tests/test_all.py -v -x ||
+ die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/django-js-asset/Manifest b/dev-python/django-js-asset/Manifest
index f5f62a7317fb..d9cd4a3d0421 100644
--- a/dev-python/django-js-asset/Manifest
+++ b/dev-python/django-js-asset/Manifest
@@ -1 +1,2 @@
-DIST django_js_asset-3.1.2.tar.gz 9471 BLAKE2B 975bbadd6c342ed200f8f3abe9b94e034bc65bb41f6f64ac6b54ece193fdf10eb143cb83d314a26128449af021cfe139f9ee5d53d821fba0c664570c73688316 SHA512 e564bbac86a2d2663e3bb36b677bdb2c12b3ec43501ff624dcacc808994bea40764da541ca8410c0473c8fbfc290d21b565655b4d1b1dc115bcb7a2f6066115e
+DIST django_js_asset-4.0.1.tar.gz 26827 BLAKE2B 95594dae9a0826fee6e9203ea358ff21e255f472c0723185a91d6fe7e9e3e33e9cded5aaba1dd816dfaa7072332831b21f346fed556c7dd66f87cc444407613b SHA512 76b940fd47f4e3c1cfee6998c2867aef1707a0c4d549b041030df5f8bd6cd2d98c27a2bbda835dbd7a6e92f4965b4aade815eaaf8218867631e7b0fd59deb80e
+DIST django_js_asset-4.0.1.tar.gz.provenance 9931 BLAKE2B 48cb24010a60da9562fed062b8b70f6f23643e01cd4865941f094c0a2f0e68b2c690a98ce1d2ddc87d027bc7a53b2622b9b61ed9dd40285f95505b2ef2d523d7 SHA512 8332f4ad562cd922dc2ba391f756c71104796387154b8732b4ed1d571336a1c0731166467f3f2530e51546a3b95009b8c3bcb26371f6aae57657ea5065bfffc7
diff --git a/dev-python/django-js-asset/django-js-asset-3.1.2.ebuild b/dev-python/django-js-asset/django-js-asset-4.0.1.ebuild
index c7db3041d0e8..4f303d655c84 100644
--- a/dev-python/django-js-asset/django-js-asset-3.1.2.ebuild
+++ b/dev-python/django-js-asset/django-js-asset-4.0.1.ebuild
@@ -1,9 +1,10 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/feincms/django-js-asset
PYTHON_COMPAT=( python3_{13..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/django-polymorphic/Manifest b/dev-python/django-polymorphic/Manifest
index 643c6f1b385a..3ec6a971a632 100644
--- a/dev-python/django-polymorphic/Manifest
+++ b/dev-python/django-polymorphic/Manifest
@@ -1,2 +1 @@
-DIST django-polymorphic-4.11.4.gh.tar.gz 387155 BLAKE2B c2ade27a061c33d58f966cdddd998e2d6660d060c1458ed3c538d9bcdbf0c25dce7bc6b91239cbd618674912845766d9762768dc2ebc21922c862836723abe9b SHA512 08bd57ce75273a796f1519cb1a0f38fb19207666303782a6c3dfa1c7e5ebbe848c85eac946160870a156b34aabab6af6d6ebb4bcf068f63a147c435a3af71244
DIST django-polymorphic-4.11.5.gh.tar.gz 405422 BLAKE2B 39d7b5b1f3d905b41a70c9fb0ee58913eeec7082b89ae4a895f201196cbec07d43d3b3a3889ccbf10e1fb73ed37c34942ec050c6c168aa7fd2793bf0bc4c5afa SHA512 17426c4dd859892335612961f7d672264142b7e1ac89c087f4c19abf4a1df603b36843ed8879f7b5aa4f9ed803f8490c31d76968769171b597dcb15270c1e5a2
diff --git a/dev-python/django-polymorphic/django-polymorphic-4.11.4.ebuild b/dev-python/django-polymorphic/django-polymorphic-4.11.4.ebuild
deleted file mode 100644
index fee978bdb834..000000000000
--- a/dev-python/django-polymorphic/django-polymorphic-4.11.4.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Seamless Polymorphic Inheritance for Django Models"
-HOMEPAGE="
- https://github.com/django-commons/django-polymorphic/
- https://pypi.org/project/django-polymorphic/
-"
-SRC_URI="
- https://github.com/django-commons/django-polymorphic/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/django-4.2[$PYTHON_USEDEP]
- >=dev-python/typing-extensions-4.12.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- $(python_gen_impl_dep sqlite)
- ${RDEPEND}
- dev-python/dj-database-url[${PYTHON_USEDEP}]
- >=dev-python/packaging-24.2[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( pytest-{django,mock} )
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_IGNORE=(
- # requires playwright
- src/polymorphic/tests/test_admin.py
- # some of them require playwright, others break subsequent tests
- src/polymorphic/tests/examples
- # require django-test-migrations
- src/polymorphic/tests/test_migration_managers.py
- src/polymorphic/tests/test_migrations
- src/polymorphic/tests/test_serialization.py
- )
-
- rm -f conftest.py || die
- epytest -o addopts=
-}
diff --git a/dev-python/django-prometheus/Manifest b/dev-python/django-prometheus/Manifest
index 4e63111c85e9..0cc6fbf6d441 100644
--- a/dev-python/django-prometheus/Manifest
+++ b/dev-python/django-prometheus/Manifest
@@ -1,4 +1,2 @@
-DIST django_prometheus-2.4.1.tar.gz 24464 BLAKE2B b0a94e0a7eb35401d6ba17d3436bdec1bd4ea01f6d54fa6927213e6ff1f66ea259aa2241f9443a68d9427cbc1c377e4979cfe0f8e3736639818be536d37c34c3 SHA512 bfcf5afd1c209db350697000419078ae021f50e187a699922ed2f6b5d1b61b6b845ebd26eba812c0d4aceb31d5a424251d558473dd5739351ef4fd63fde77170
-DIST django_prometheus-2.4.1.tar.gz.provenance 9624 BLAKE2B c714b0c6d65c94dd59a444239ee78cd1a8bfb092dc3b3b06b941f04eef133a0d4802efdca2c35acdd8ac249139466560b583cdf50e6a91c6df62d014ba419497 SHA512 fb3611e883fe31916159f7de33bca4bf86910b84894e93b3c4762f9307f994964ea397995b9a2fb35e05e254f3faa6f318803562623e282c3cde912f9938d0f0
DIST django_prometheus-2.5.0.tar.gz 26465 BLAKE2B 76579bdfc885419a442423fb78e59ac88de1c57736d3d6ceb8200d99ebadd3f5894396da594244745bb7a15753d39d3faf20da2d371857ce1d9f49f2636845d3 SHA512 7f129bb74c073054a871527dbf554c57a57520cea01dbc7242f5128f46118779789fe89188d0861c644b89a4fa468296e74a9362ea5454c8234b59e76edbb5a6
DIST django_prometheus-2.5.0.tar.gz.provenance 9773 BLAKE2B 9256a9cda824fae355c489295f0f8fed28972f6b8f2c5ea03f0d0a6be648db7453f39a1f789dde0959f1bb038c1b366f63175b04fd8d6258b318dff89e6bd7a4 SHA512 27d4a57bcc86da953f380b94a80fec8a93df212fc27c7969b771336ca559ef037d8a453ae7e7c3f05aaace97aa72c42ace2616c58263b89348fd758882cddafe
diff --git a/dev-python/django-prometheus/django-prometheus-2.4.1.ebuild b/dev-python/django-prometheus/django-prometheus-2.4.1.ebuild
deleted file mode 100644
index 75c23e5d6f92..000000000000
--- a/dev-python/django-prometheus/django-prometheus-2.4.1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_VERIFY_REPO=https://github.com/django-commons/django-prometheus
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Library to export Django metrics for Prometheus"
-HOMEPAGE="
- https://github.com/django-commons/django-prometheus/
- https://pypi.org/project/django-prometheus/
-"
-
-LICENSE="Apache-1.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- >=dev-python/django-4.2[${PYTHON_USEDEP}]
- >=dev-python/prometheus-client-0.7[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-python_prepare_all() {
- sed -i "/pytest-runner/d" setup.py || die
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/django-redis/Manifest b/dev-python/django-redis/Manifest
index 1dfee763e06d..b9fff553eff0 100644
--- a/dev-python/django-redis/Manifest
+++ b/dev-python/django-redis/Manifest
@@ -1,2 +1 @@
-DIST django_redis-6.0.0.tar.gz 56904 BLAKE2B 795c285fde69dff4809323e7da2aa0d2720c5939ab68197cbc8ab2b3cf468397146d25791e46b148e0214ff25169a8ac9dac990befb07ade16ed695e4b28c7c0 SHA512 616f3a81d986c5958b2d2740ad1becbd304ed395b9907758fd80a1cf2a5457c8f66a158874ee4b416b85c3540dc45f4127587cdf15d7b884c624ab7e8f84272e
DIST django_redis-7.0.0.tar.gz 64601 BLAKE2B 509b980baca70f3ea325cb65c49d457a1a8a5f3ae3dc8ae286e30618300016945be8f9c4d3993dc2a6a3e0c55e611c4022d446e76e7a38a09c40ea7db9f445ef SHA512 6a3a2ccfa57c7c8c0938d3224fd4c94d0a1f36d273108e7e9e3734dfa3bfefba1e011c749c8a89f15e450335d1c198bfe067e5742c6334a18294a5bb1a2f4ba9
diff --git a/dev-python/django-redis/django-redis-6.0.0.ebuild b/dev-python/django-redis/django-redis-6.0.0.ebuild
deleted file mode 100644
index 3486874e7818..000000000000
--- a/dev-python/django-redis/django-redis-6.0.0.ebuild
+++ /dev/null
@@ -1,102 +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_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Full featured redis cache backend for Django"
-HOMEPAGE="
- https://github.com/jazzband/django-redis/
- https://pypi.org/project/django-redis/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-python/django-4.2[${PYTHON_USEDEP}]
- >=dev-python/redis-4.0.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-db/redis
- dev-python/lz4[${PYTHON_USEDEP}]
- dev-python/msgpack[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( pytest-{mock,xdist} )
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -e '/--cov/d' \
- -e '/--no-cov/d' \
- -i setup.cfg || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- # no clue why we need to set it explicitly
- local -x DJANGO_SETTINGS_MODULE=settings.sqlite
- # sqlite_zstd requires pyzstd
- # the test suite only works with -n4
- # https://github.com/jazzband/django-redis/issues/777
- epytest -n 4 -k "not sqlite_zstd"
-}
-
-src_test() {
- local redis_pid="${T}"/redis.pid
- local redis_port=6379
- local redis_sock="${T}"/redis.sock
- local redis_test_config="
- daemonize yes
- pidfile ${redis_pid}
- port ${redis_port}
- unixsocket ${redis_sock}
- bind 127.0.0.1
- logfile ${T}/redis.log
- enable-debug-command yes
- "
- local sentinel_pid="${T}"/sentinel.pid
- local sentinel_port=26379
-
- # Spawn Redis itself for testing purposes
- einfo "Spawning Redis"
- einfo "NOTE: Port ${redis_port} must be free"
- "${EPREFIX}"/usr/sbin/redis-server - <<< "${redis_test_config}" || die
-
- # Also Redis sentinel
- cat > "${T}"/sentinel.conf <<-EOF || die
- # from docker/sentinel.conf
- sentinel monitor default_service 127.0.0.1 ${redis_port} 1
- sentinel down-after-milliseconds default_service 3200
- sentinel failover-timeout default_service 10000
-
- # for some reason, tests expect 127.0.0.1 too
- sentinel monitor 127.0.0.1 127.0.0.1 ${redis_port} 1
- sentinel down-after-milliseconds 127.0.0.1 3200
- sentinel failover-timeout 127.0.0.1 10000
-
- daemonize yes
- pidfile ${sentinel_pid}
- port ${sentinel_port}
- logfile ${T}/sentinel.log
- EOF
- "${EPREFIX}"/usr/sbin/redis-sentinel "${T}"/sentinel.conf || die
-
- # Update the socket path, we don't want hardcoded /tmp
- sed -e "s^/tmp/redis.sock^${redis_sock}^g" \
- -i tests/settings/sqlite_usock.py || die
-
- # Run the tests
- distutils-r1_src_test
-
- # Clean up afterwards
- kill "$(<"${sentinel_pid}")" "$(<"${redis_pid}")" || die
-}
diff --git a/dev-python/django-tables2/Manifest b/dev-python/django-tables2/Manifest
index 44098af4ceb3..31a4fb648839 100644
--- a/dev-python/django-tables2/Manifest
+++ b/dev-python/django-tables2/Manifest
@@ -1,2 +1 @@
-DIST django-tables2-2.9.0.gh.tar.gz 433751 BLAKE2B f0c134da1dde3c6eaf73bf4b6cd08e73b53126051c5ba7e341b4b1c5be0799ca3c497ad10ebd465e8b9e319fa55bec96a892e94362ef67765a329d515158e40c SHA512 760fdc5a7892e435e214d99f0563a905ac2360dbd718f5966746666f9722a8428e6f328c04fef98193fb28d7f8964267e1030f9a7509f4050d41c4a76a7366c7
DIST django-tables2-3.0.0.gh.tar.gz 433992 BLAKE2B 7826832cc0bbd060a0732f5dfb32b1be92a9acec5eff324ea9b0b0dc501dd9be0683aaf479624978aaba3301272f5236274f3ab19bbf6f3e6cf8f665a8f21210 SHA512 ae1687dbc0d13f5dda7ce9cf949eab937c96506eed742f7a6966d9bc52abef54174c12df9847b15e110feb4ffe330fd14f85c0f809a026321d1b3a0d43a0a9d1
diff --git a/dev-python/django-tables2/django-tables2-2.9.0.ebuild b/dev-python/django-tables2/django-tables2-2.9.0.ebuild
deleted file mode 100644
index 0883d91aa8c9..000000000000
--- a/dev-python/django-tables2/django-tables2-2.9.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Table/data-grid framework for Django"
-HOMEPAGE="
- https://pypi.org/project/django-tables2/
- https://github.com/jieter/django-tables2/
-"
-SRC_URI="
- https://github.com/jieter/django-tables2/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/django-4.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- dev-python/django-filter[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/psycopg:*[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- )
-"
-
-src_prepare() {
- # these tests require tablib
- rm tests/test_export.py tests/test_templatetags.py || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- "${EPYTHON}" manage.py test -v 2 tests || die
-}
diff --git a/dev-python/django-timezone-field/Manifest b/dev-python/django-timezone-field/Manifest
index 3364a6804a48..b3d7bd86206a 100644
--- a/dev-python/django-timezone-field/Manifest
+++ b/dev-python/django-timezone-field/Manifest
@@ -1 +1 @@
-DIST django-timezone-field-7.2.1.gh.tar.gz 39077 BLAKE2B 29c51cf5c4614891cb7d3ec82d629a98914f5efe0f15d024073cd7518d43547eb978544aee7ef0f3e5bca940cc64ec2845806881d64fe4eae1ce6bc1c713857a SHA512 700d98603a9c6345b6107ae970c7ceebcc02571798a7fcfa96820ea759d7784ff5385d56544ca93a0a03d9160d3eb71a847dd839d621d107da76310cf45d22c1
+DIST django-timezone-field-7.2.2.gh.tar.gz 39593 BLAKE2B f0db77b4ed0dafbfa12d34e7e0817b98930c50730bffef836c279ec20d3820459636c32d566df9ff9d7260504791c17dfe30a34d49f0b0d7a61f8e0916a824c5 SHA512 5f0672adf4ffc61d7bf695301ab3b7c8bb218837a7c57494bf44f15d42f2cb4329e72befc3be189bcdc6f543665e1590b2bc5815e0f4196aba14a21f77d7c561
diff --git a/dev-python/django-timezone-field/django-timezone-field-7.2.1.ebuild b/dev-python/django-timezone-field/django-timezone-field-7.2.2.ebuild
index 7c47cc1636b4..2b64cc3d46b0 100644
--- a/dev-python/django-timezone-field/django-timezone-field-7.2.1.ebuild
+++ b/dev-python/django-timezone-field/django-timezone-field-7.2.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -23,7 +23,6 @@ SLOT="0"
KEYWORDS="~amd64 ~arm64"
RDEPEND="
- <dev-python/django-6[${PYTHON_USEDEP}]
>=dev-python/django-2.2[${PYTHON_USEDEP}]
"
BDEPEND="
diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index 7d4fedba47ad..8d9fdeefdafb 100644
--- a/dev-python/django/Manifest
+++ b/dev-python/django/Manifest
@@ -1,10 +1,4 @@
-DIST Django-4.2.30.checksum.txt 2498 BLAKE2B 82da291f4b5df6d4058f30e918f47388938429b0b4030672e80ac0b566dd138aa7edf88479cbafe9757c9443b16bc20d8a0708ddad310ebd16390847793cbe20 SHA512 a71849dd02eb2cbfed340ae286c7d02bf6b9cef0509ea04c6b38160ae2779240f54b50ec25487d485ef505c04cb5dc20afd01708460bc1ef5485f1ff0adecba2
-DIST Django-5.2.14.checksum.txt 2317 BLAKE2B 0cd012b8815ec7305520483ea1c9db5b3b1373ede52b120010472c662ba55f110c8ac3fd5e12ef539618911dae28d81fbe9886f8436e941b95f2d7d3ae09f4ea SHA512 b81cb4877274d11f6270b55b9726aeec378f92e48f4ce9394a556156aad07af28f622dcad86ab93a594314639259888194a4f8df63bfaa109f69ad7a9441c7a7
DIST Django-5.2.15.checksum.txt 2678 BLAKE2B 0b7491d214b65731b3d4ca6b9f7628456b520abf96bfbba47daee1e038c58ae485cea7605463cc3902fe92417af93c8cb5ade0ccb3e0804abf98ddbbc3598960 SHA512 ea4588b01a5a0abb8a340bc0fbda7ede35a5ee835c02d4490999f582a1a56df7bffb9f3c5aa8461a2b84f193daee046a6467d980bc011a14918d5709830d438b
-DIST Django-6.0.5.checksum.txt 2307 BLAKE2B 8dcc3a52c9cce9dc00d4911025deb818ec2eccdc3f5254dd640720ac81077ea4ab7b8cd39ec96a4c099f9796e81f4980a8b38e5e4750c405fa3fdc1a783c227b SHA512 7acf5c8e6732eb4208b85b31ba2ab939e3bd7a773827d7f8cbb524b255c8f05ad3acb02c40077f2b7e418ae7287f30090f559bbe44c69c91dba6517e5f42a865
DIST Django-6.0.6.checksum.txt 2667 BLAKE2B ccd5eca7611836d94bf85c6636d7d8adf794aaa6624edc1f051cbffe6b8ebec84166ccf65c8e9ad771fdf6505e5a75e8079092519867f6b8077badccadb0e481 SHA512 d8d0ae636d3f63d46e0b4a922f24abb5ccb97074a07cedc8f195b051342c262f7190c954c36b966089980e562424efff9342a3d6e8913e622f260d7130c86aa9
-DIST django-4.2.30.tar.gz 10468707 BLAKE2B 760101d8eede890455e1df29bf6cd018007216f8f7ceaba8381c757eec5387b0d8524af2e4519cf6adeca93d3116f3f82b57887f73cc68c89dfbffddc79158e8 SHA512 62bbb451a3ab61ab1679ce9e86178147930cc711f01a0d983aa231ffbc4152f1926d3da240751ee4636f1c0c421248d2f3ee5ebd6827c45a4743adae7b46fbe8
-DIST django-5.2.14.tar.gz 10895118 BLAKE2B de911089a503cce7c12ee50e4729ea94c5400f6260c84d79ef12f8fbd251ea7d332eb26b5194fbb1663602ff4b2488673498f81e013fb967fe358ef3b6339257 SHA512 e6e05195d4693209de15be99fc6621cc23b5a0d28fbcf2516b271274aa1637be4f55a6b607fb1c5dc8e913a78eca99d76645bce1cc71468a8dfed7e16c129a84
DIST django-5.2.15.tar.gz 10873669 BLAKE2B 8ecd4b927ddce91a4e0b6d069824798b79098a43832072f8cef84c877bc0b237d25ae761452a5131d350eca4afe9dab5dd1c3e0fbb1af8d5c5ce6e88076341c8 SHA512 ac222ce040bd55dc580bfbc38d5c35802960fcd90070271f2f990f3a2f8c429c837b511fce1c45ef2d21ad518fdd47c26a6486a8f4696f3f2e9ee9e114421a3c
-DIST django-6.0.5.tar.gz 10924131 BLAKE2B 03c0e2e5b62efa2a1462d3beba4103d4b30714ecd42f573b3665399feba335925e8032ad01826b4f31da7bf1686768b45b1f872af52c4315900440f4b033bd6d SHA512 c8f06e11217a1ec5a089646c9d3581cbda7c0d1178cdad3547e0d8a3444bd78a093ecea04deebd2d15f6179f43cf9e427385e28ca310de56b8cd7310e3fcb260
DIST django-6.0.6.tar.gz 10905525 BLAKE2B 129a68d95c31159df5072a95725184784feb310c8e2389d687eb3a50ed066365fc3c981f936a399c3b570b18a3def442220a915a91bc8de1c602a04a0a9e7b2f SHA512 0e8d651d2efa1c368b2177ae48e3a3e17656ab28d1655a3b561acac88558c1db66160461e79b2ef6d589fb589e1afa90e63c5f51d28a215c4abb91de1299f01b
diff --git a/dev-python/django/django-4.2.30.ebuild b/dev-python/django/django-4.2.30.ebuild
deleted file mode 100644
index 5b10891d8c6d..000000000000
--- a/dev-python/django/django-4.2.30.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-PYTHON_REQ_USE='sqlite?,threads(+)'
-
-inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig
-
-DESCRIPTION="High-level Python web framework"
-HOMEPAGE="
- https://www.djangoproject.com/
- https://github.com/django/django/
- https://pypi.org/project/Django/
-"
-SRC_URI="
- https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P}.tar.gz
- verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt )
-"
-
-LICENSE="BSD"
-# admin fonts: Roboto (media-fonts/roboto)
-LICENSE+=" Apache-2.0"
-# admin icons, jquery, xregexp.js
-LICENSE+=" MIT"
-SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86 ~x64-macos"
-IUSE="doc sqlite test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- <dev-python/asgiref-4[${PYTHON_USEDEP}]
- >=dev-python/asgiref-3.6.0[${PYTHON_USEDEP}]
- >=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}]
- sys-libs/timezone-data
-"
-BDEPEND="
- test? (
- $(python_gen_impl_dep sqlite)
- ${RDEPEND}
- dev-python/docutils[${PYTHON_USEDEP}]
- dev-python/jinja2[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pillow[webp,${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/selenium[${PYTHON_USEDEP}]
- dev-python/tblib[${PYTHON_USEDEP}]
- sys-devel/gettext
- )
- verify-sig? ( >=sec-keys/openpgp-keys-django-20241002 )
-"
-
-PATCHES=(
- "${FILESDIR}"/django-4.0-bashcomp.patch
- # https://code.djangoproject.com/ticket/34900
- "${FILESDIR}"/django-4.2.21-py313.patch
-)
-
-distutils_enable_sphinx docs --no-autodoc
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc
-
-src_unpack() {
- if use verify-sig; then
- cd "${DISTDIR}" || die
- verify-sig_verify_signed_checksums \
- "${P^}.checksum.txt" sha256 "${P}.tar.gz"
- cd "${WORKDIR}" || die
- fi
-
- default
-}
-
-python_test() {
- # Tests have non-standard assumptions about PYTHONPATH,
- # and don't work with ${BUILD_DIR}/lib.
- PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \
- -v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" ||
- die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
- newbashcomp extras/django_bash_completion ${PN}-admin
- bashcomp_alias ${PN}-admin django-admin.py
-
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- optfeature_header "Additional Backend support can be enabled via:"
- optfeature "MySQL backend support" dev-python/mysqlclient
- optfeature "PostgreSQL backend support" dev-python/psycopg:0
- optfeature_header
- optfeature "GEO Django" "sci-libs/gdal[geos]"
- optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached
- optfeature "ImageField Support" dev-python/pillow
- optfeature "Password encryption" dev-python/bcrypt
-}
diff --git a/dev-python/django/django-5.2.14.ebuild b/dev-python/django/django-5.2.14.ebuild
deleted file mode 100644
index a9c65577d416..000000000000
--- a/dev-python/django/django-5.2.14.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-PYTHON_REQ_USE='sqlite?,threads(+)'
-
-inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig
-
-DESCRIPTION="High-level Python web framework"
-HOMEPAGE="
- https://www.djangoproject.com/
- https://github.com/django/django/
- https://pypi.org/project/Django/
-"
-SRC_URI="
- https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P}.tar.gz
- verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt )
-"
-
-LICENSE="BSD"
-# admin fonts: Roboto (media-fonts/roboto)
-LICENSE+=" Apache-2.0"
-# admin icons, jquery, xregexp.js
-LICENSE+=" MIT"
-SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86 ~x64-macos"
-IUSE="doc sqlite test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- <dev-python/asgiref-4[${PYTHON_USEDEP}]
- >=dev-python/asgiref-3.8.1[${PYTHON_USEDEP}]
- >=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}]
- sys-libs/timezone-data
-"
-BDEPEND="
- test? (
- $(python_gen_impl_dep sqlite)
- ${RDEPEND}
- >=dev-python/docutils-0.19[${PYTHON_USEDEP}]
- >=dev-python/jinja2-2.11.0[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pillow[webp,${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- >=dev-python/selenium-4.8.0[${PYTHON_USEDEP}]
- >=dev-python/tblib-1.5.0[${PYTHON_USEDEP}]
- sys-devel/gettext
- )
- verify-sig? ( >=sec-keys/openpgp-keys-django-20241002 )
-"
-
-PATCHES=(
- "${FILESDIR}"/django-4.0-bashcomp.patch
- # d55979334dcefdb11626220000bec97ade09df07
- "${FILESDIR}"/django-5.2.7-py314.patch
-)
-
-distutils_enable_sphinx docs --no-autodoc
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc
-
-src_unpack() {
- if use verify-sig; then
- cd "${DISTDIR}" || die
- verify-sig_verify_signed_checksums \
- "${P^}.checksum.txt" sha256 "${P}.tar.gz"
- cd "${WORKDIR}" || die
- fi
-
- default
-}
-
-python_test() {
- # Tests have non-standard assumptions about PYTHONPATH,
- # and don't work with ${BUILD_DIR}/lib.
- PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \
- -v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" ||
- die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
- newbashcomp extras/django_bash_completion ${PN}-admin
- bashcomp_alias ${PN}-admin django-admin.py
-
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- optfeature_header "Additional Backend support can be enabled via:"
- optfeature "MySQL backend support" dev-python/mysqlclient
- optfeature "PostgreSQL backend support" dev-python/psycopg:0
- optfeature_header
- optfeature "GEO Django" "sci-libs/gdal[geos]"
- optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached
- optfeature "ImageField Support" dev-python/pillow
- optfeature "Password encryption" dev-python/bcrypt
-}
diff --git a/dev-python/django/django-5.2.15.ebuild b/dev-python/django/django-5.2.15.ebuild
index 9749f699e1ed..a9c65577d416 100644
--- a/dev-python/django/django-5.2.15.ebuild
+++ b/dev-python/django/django-5.2.15.ebuild
@@ -26,7 +26,7 @@ LICENSE+=" Apache-2.0"
# admin icons, jquery, xregexp.js
LICENSE+=" MIT"
SLOT="0/$(ver_cut 1-2)"
-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-6.0.5.ebuild b/dev-python/django/django-6.0.5.ebuild
deleted file mode 100644
index c68dd7757e2f..000000000000
--- a/dev-python/django/django-6.0.5.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-PYTHON_REQ_USE='sqlite?,threads(+)'
-
-inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig
-
-MY_P=${P/_}
-DESCRIPTION="High-level Python web framework"
-HOMEPAGE="
- https://www.djangoproject.com/
- https://github.com/django/django/
- https://pypi.org/project/Django/
-"
-SRC_URI="
- https://media.djangoproject.com/releases/$(ver_cut 1-2)/${MY_P}.tar.gz
- verify-sig? ( https://media.djangoproject.com/pgp/${MY_P^}.checksum.txt )
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-# admin fonts: Roboto (media-fonts/roboto)
-LICENSE+=" Apache-2.0"
-# admin icons, jquery, xregexp.js
-LICENSE+=" MIT"
-SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86 ~x64-macos"
-IUSE="doc sqlite test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- <dev-python/asgiref-4[${PYTHON_USEDEP}]
- >=dev-python/asgiref-3.9.1[${PYTHON_USEDEP}]
- >=dev-python/sqlparse-0.5.0[${PYTHON_USEDEP}]
- sys-libs/timezone-data
-"
-BDEPEND="
- test? (
- $(python_gen_impl_dep sqlite)
- ${RDEPEND}
- >=dev-python/docutils-0.19[${PYTHON_USEDEP}]
- >=dev-python/jinja2-2.11.0[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pillow[webp,${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- >=dev-python/selenium-4.8.0[${PYTHON_USEDEP}]
- >=dev-python/tblib-1.5.0[${PYTHON_USEDEP}]
- sys-devel/gettext
- )
- verify-sig? ( >=sec-keys/openpgp-keys-django-20240807 )
-"
-
-PATCHES=(
- "${FILESDIR}"/django-4.0-bashcomp.patch
-)
-
-distutils_enable_sphinx docs --no-autodoc
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc
-
-src_unpack() {
- if use verify-sig; then
- cd "${DISTDIR}" || die
- verify-sig_verify_signed_checksums \
- "${MY_P^}.checksum.txt" sha256 "${MY_P}.tar.gz"
- cd "${WORKDIR}" || die
- fi
-
- default
-}
-
-python_test() {
- # Tests have non-standard assumptions about PYTHONPATH,
- # and don't work with ${BUILD_DIR}/lib.
- PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \
- -v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" ||
- die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
- newbashcomp extras/django_bash_completion django-admin
- bashcomp_alias django-admin django-admin.py
-
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- optfeature_header "Additional Backend support can be enabled via:"
- optfeature "MySQL backend support" dev-python/mysqlclient
- optfeature "PostgreSQL backend support" dev-python/psycopg:0
- optfeature_header
- optfeature "GEO Django" "sci-libs/gdal[geos]"
- optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached
- optfeature "ImageField Support" dev-python/pillow
- optfeature "Password encryption" dev-python/bcrypt
-}
diff --git a/dev-python/dns-lexicon/Manifest b/dev-python/dns-lexicon/Manifest
index 65efe553326e..83708c160fe0 100644
--- a/dev-python/dns-lexicon/Manifest
+++ b/dev-python/dns-lexicon/Manifest
@@ -1,3 +1 @@
-DIST dns-lexicon-3.23.2.gh.tar.gz 5826336 BLAKE2B b4ec01ac220a4174753e35791eb7b46589e9f5bc866c51cf8473533ffdb929afa02ac9dffcd5d47fe82fa70133ff16a587098ccf7ee633187a79368ed96199f2 SHA512 9b9a3a4dc6811282c1016f38df2238e768887389ea1acc57b89374fe4d59456adddd1ae2ed772d9a519d87e3f27affddef95bf3cd8ed2e175da6e843f6d40453
-DIST dns-lexicon-3.25.1.gh.tar.gz 5897936 BLAKE2B 6ac1441199992e996dcf1454d0ceefdbfd1ceec8271f3398dcdd7d491bb8e77deb36ee39a5229e8a6c244af6bcd6774383c06112ca7850eef1afeb03eaf7b707 SHA512 bc19b64f2e1268993dff0755c29f026b76e660e06dbd15eea445911ad816cd671efb308a79d49e0d309c0d45e4f15d229a9759ec25c13b79e3288932da6a93a0
DIST dns-lexicon-3.25.2.gh.tar.gz 5897582 BLAKE2B 453b81924ced8d82e2d489eb58386402e7292dec37fca15ba3412ae43bd299453cad118c3cd1defee47849ae9d0789f196e0a33e062a9a8afdf15f5639b2c8ce SHA512 79357a25420cfe9f3d8430a91371e1c6a742c962c09df0d280833e3cc1d11aaed883eb04e723d82ed17fbf955e166c93c1647d7bc78f47d47d1799b0bb462628
diff --git a/dev-python/dns-lexicon/dns-lexicon-3.23.2.ebuild b/dev-python/dns-lexicon/dns-lexicon-3.23.2.ebuild
deleted file mode 100644
index 40bb70ab10d0..000000000000
--- a/dev-python/dns-lexicon/dns-lexicon-3.23.2.ebuild
+++ /dev/null
@@ -1,74 +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_{13..14} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Manipulate DNS records on various DNS providers in a standardized/agnostic way"
-HOMEPAGE="
- https://github.com/dns-lexicon/dns-lexicon/
- https://pypi.org/project/dns-lexicon/
-"
-SRC_URI="
- https://github.com/dns-lexicon/dns-lexicon/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/beautifulsoup4-4[${PYTHON_USEDEP}]
- >=dev-python/cryptography-2[${PYTHON_USEDEP}]
- >=dev-python/dnspython-2[${PYTHON_USEDEP}]
- >=dev-python/pyotp-2[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-3[${PYTHON_USEDEP}]
- >=dev-python/requests-2[${PYTHON_USEDEP}]
- >=dev-python/tldextract-2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/boto3-1.28[${PYTHON_USEDEP}]
- >=dev-python/zeep-3[${PYTHON_USEDEP}]
- dev-python/vcrpy[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # TODO
- tests/test_client.py::test_client_init_when_missing_action_should_fail
-)
-
-EPYTEST_IGNORE=(
- # Requires the "localzone" module
- tests/providers/test_localzone.py
- # Requires the "softlayer" module
- tests/providers/test_softlayer.py
- # Requires the "transip" module
- tests/providers/test_transip.py
- # Requires the "oci" module
- tests/providers/test_oci.py
- # Uses tldextract which needs Internet access to download its database
- tests/providers/test_auto.py
- # Same (https://github.com/dns-lexicon/dns-lexicon/issues/61)
- tests/providers/test_godaddy.py
-)
-
-pkg_postinst() {
- if [[ -z ${REPLACING_VERSIONS} ]]; then
- optfeature_header \
- "Install the following packages to enable support for additional DNS providers:"
- optfeature Gransy dev-python/zeep
- optfeature Route53 dev-python/boto3
- optfeature DDNS dev-python/dnspython
- fi
-}
diff --git a/dev-python/dns-lexicon/dns-lexicon-3.25.1.ebuild b/dev-python/dns-lexicon/dns-lexicon-3.25.1.ebuild
deleted file mode 100644
index f359f790ab29..000000000000
--- a/dev-python/dns-lexicon/dns-lexicon-3.25.1.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Manipulate DNS records on various DNS providers in a standardized/agnostic way"
-HOMEPAGE="
- https://github.com/dns-lexicon/dns-lexicon/
- https://pypi.org/project/dns-lexicon/
-"
-SRC_URI="
- https://github.com/dns-lexicon/dns-lexicon/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/beautifulsoup4-4[${PYTHON_USEDEP}]
- >=dev-python/cryptography-2[${PYTHON_USEDEP}]
- >=dev-python/dnspython-2[${PYTHON_USEDEP}]
- >=dev-python/pyotp-2[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-3[${PYTHON_USEDEP}]
- >=dev-python/requests-2[${PYTHON_USEDEP}]
- >=dev-python/requests-unixsocket-0.4[${PYTHON_USEDEP}]
- >=dev-python/tldextract-2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/boto3-1.28[${PYTHON_USEDEP}]
- >=dev-python/zeep-3[${PYTHON_USEDEP}]
- dev-python/vcrpy[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # TODO
- tests/test_client.py::test_client_init_when_missing_action_should_fail
-)
-
-EPYTEST_IGNORE=(
- # Requires the "localzone" module
- tests/providers/test_localzone.py
- # Requires the "softlayer" module
- tests/providers/test_softlayer.py
- # Requires the "transip" module
- tests/providers/test_transip.py
- # Requires the "oci" module
- tests/providers/test_oci.py
- # Uses tldextract which needs Internet access to download its database
- tests/providers/test_auto.py
- # Same (https://github.com/dns-lexicon/dns-lexicon/issues/61)
- tests/providers/test_godaddy.py
-)
-
-pkg_postinst() {
- if [[ -z ${REPLACING_VERSIONS} ]]; then
- optfeature_header \
- "Install the following packages to enable support for additional DNS providers:"
- optfeature Gransy dev-python/zeep
- optfeature Route53 dev-python/boto3
- optfeature DDNS dev-python/dnspython
- fi
-}
diff --git a/dev-python/dns-lexicon/dns-lexicon-3.25.2.ebuild b/dev-python/dns-lexicon/dns-lexicon-3.25.2.ebuild
index f359f790ab29..d7662f4c2f17 100644
--- a/dev-python/dns-lexicon/dns-lexicon-3.25.2.ebuild
+++ b/dev-python/dns-lexicon/dns-lexicon-3.25.2.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86"
RDEPEND="
>=dev-python/beautifulsoup4-4[${PYTHON_USEDEP}]
diff --git a/dev-python/dockerpty/Manifest b/dev-python/dockerpty/Manifest
deleted file mode 100644
index d5528775f24e..000000000000
--- a/dev-python/dockerpty/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST dockerpty-0.4.1.gh.tar.gz 19608 BLAKE2B 1c7229bdd18100bb75a8ec80f0b8a636137efce40affb2bbadf27eef5ee13322ab92f9a3f77db0ef79c35366daf700550eb9a358534f7a1f1c2b92ec2cd4d5d0 SHA512 1f27a1d1cf9bfa21a77f2c0695334ec09a81ed5b70190b16fb23ec0e2ab4cb84af334b5e9275265eff2d8014aac5f96890276bed5775bb805c3f30260c99da70
diff --git a/dev-python/dockerpty/dockerpty-0.4.1-r3.ebuild b/dev-python/dockerpty/dockerpty-0.4.1-r3.ebuild
deleted file mode 100644
index e471a12397fe..000000000000
--- a/dev-python/dockerpty/dockerpty-0.4.1-r3.ebuild
+++ /dev/null
@@ -1,35 +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_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python library to use the pseudo-tty of a docker container"
-HOMEPAGE="
- https://github.com/d11wtq/dockerpty/
- https://pypi.org/project/dockerpty/
-"
-SRC_URI="
- https://github.com/d11wtq/dockerpty/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64"
-
-RDEPEND="
- >=dev-python/six-1.3.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/docker-0.7.0_rc2[${PYTHON_USEDEP}]
- >=dev-python/expects-0.4[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/dockerpty/metadata.xml b/dev-python/dockerpty/metadata.xml
deleted file mode 100644
index 5e95859f915a..000000000000
--- a/dev-python/dockerpty/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches />
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/dev-python/docutils-glep/Manifest b/dev-python/docutils-glep/Manifest
index 2a8b170858d9..00adb7df8a64 100644
--- a/dev-python/docutils-glep/Manifest
+++ b/dev-python/docutils-glep/Manifest
@@ -1 +1,2 @@
DIST docutils-glep-1.5.gh.tar.gz 6826 BLAKE2B 09decf04f7978c86a2f7161ebfd858f6ff59450d8a22d22963fdea36bb595615337b2c7a565794d86128764512b6e3dda3a7db7124905c74c186513965117da3 SHA512 2d740b02a46265e27b3d0b82a8424bd66f875fdc3f9fb6c1596522e2924bb6484e028ad060af62e4f5747b4046fe850e3d7fdcc48e4bd0bf1c6e2851599dbbc8
+DIST docutils_glep-1.7.tar.gz 7416 BLAKE2B 83dbaaebb28af28e9b028c1af25a4abf297895e302e5be74247142c7ccabb7f093c503ba7bcce5b064e3066a95f2dc060c2799284723402c5d4ffd9416615728 SHA512 cb6d0ebabc5c0dd9439f5b80771c5000f2e783ca0412f4c7058d9121e3b43deb8709da1ce6dcd8036a6cbf244d68e328b58d28930a50ce026d36f060caeaaffa
diff --git a/dev-python/docutils-glep/docutils-glep-1.5.ebuild b/dev-python/docutils-glep/docutils-glep-1.5.ebuild
index 73a6462e874d..4fb31f30e08b 100644
--- a/dev-python/docutils-glep/docutils-glep-1.5.ebuild
+++ b/dev-python/docutils-glep/docutils-glep-1.5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-python/docutils-glep/docutils-glep-1.7.ebuild b/dev-python/docutils-glep/docutils-glep-1.7.ebuild
new file mode 100644
index 000000000000..6df8a408a0e6
--- /dev/null
+++ b/dev-python/docutils-glep/docutils-glep-1.7.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Gentoo GLEP support for docutils"
+HOMEPAGE="
+ https://github.com/projg2/docutils-glep/
+ https://pypi.org/project/docutils-glep/
+"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ >=dev-python/docutils-0.10[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests import-check
diff --git a/dev-python/doublex-expects/Manifest b/dev-python/doublex-expects/Manifest
deleted file mode 100644
index 55b82a8784c1..000000000000
--- a/dev-python/doublex-expects/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST doublex-expects-0.7.1.gh.tar.gz 6315 BLAKE2B 4af2832244578237821ba29baec54ffe1f226dfb1c92a5a03122c1a30c0e78d472ab8f75e6412a9014b97265120b5c60a8b5674cb42be58b46397a537bd534bf SHA512 2aaff2e58556ed9eb91ebb418e65058367411e011e843afb5adb08ab69705b6bdfb478d3052aae093ad1c1a1b49ba1e084e4c5510acde4874182a658330e3448
diff --git a/dev-python/doublex-expects/doublex-expects-0.7.1-r1.ebuild b/dev-python/doublex-expects/doublex-expects-0.7.1-r1.ebuild
deleted file mode 100644
index 08e45613aea1..000000000000
--- a/dev-python/doublex-expects/doublex-expects-0.7.1-r1.ebuild
+++ /dev/null
@@ -1,40 +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_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Expects matchers for Doublex test doubles assertions"
-HOMEPAGE="
- https://github.com/jaimegildesagredo/doublex-expects/
- https://pypi.org/project/doublex-expects/
-"
-SRC_URI="
- https://github.com/jaimegildesagredo/doublex-expects/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/doublex[${PYTHON_USEDEP}]
- >=dev-python/expects-0.8.0_rc1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- dev-python/mamba[${PYTHON_USEDEP}]
- )
-"
-
-python_test() {
- mamba || die "Tests failed under ${EPYTHON}"
-}
diff --git a/dev-python/dunamai/Manifest b/dev-python/dunamai/Manifest
new file mode 100644
index 000000000000..d00261247111
--- /dev/null
+++ b/dev-python/dunamai/Manifest
@@ -0,0 +1 @@
+DIST dunamai-1.26.1.tar.gz 45567 BLAKE2B ecfb8a375346fa28fef8a9bd039d2bc0112242c1f74cc508c0e9574f676b65e191042e81f01ff524596a5fea80aab82800e892b517db5571b9f36a380fbfaec3 SHA512 1c900b0b665cdca3ddce38f9c31ce674e630d31fb1fdb66e06242dabc24453cb25921d1b73ebff3238287d235696f33e7bd72c3992115bf7a1f63ffb11b95408
diff --git a/dev-python/dunamai/dunamai-1.26.1.ebuild b/dev-python/dunamai/dunamai-1.26.1.ebuild
new file mode 100644
index 000000000000..f689cb6b7a72
--- /dev/null
+++ b/dev-python/dunamai/dunamai-1.26.1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Dynamic version generation"
+HOMEPAGE="
+ https://github.com/mtkennerly/dunamai/
+ https://pypi.org/project/dunamai/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/packaging-20.9[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-vcs/git
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/integration/test_dunamai.py::test__version__from_git__shallow
+ # Broken
+ tests/integration/test_dunamai.py::test__version__from_pijul
+ )
+
+ git config --global user.email "you@example.com" || die
+ git config --global user.name "Your Name" || die
+ if type -P bzr &>/dev/null; then
+ brz whoami "Your Name <name@example.com>" || die
+ fi
+ distutils-r1_src_test
+}
diff --git a/dev-python/pydantic-core/metadata.xml b/dev-python/dunamai/metadata.xml
index acfe7097587e..988ae9a6a6fe 100644
--- a/dev-python/pydantic-core/metadata.xml
+++ b/dev-python/dunamai/metadata.xml
@@ -3,7 +3,6 @@
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
- <name>Python</name>
</maintainer>
<origin>baldeagleos-repo</origin>
</pkgmetadata>
diff --git a/dev-python/editables/Manifest b/dev-python/editables/Manifest
index dda0ae854a24..8dd202f557ef 100644
--- a/dev-python/editables/Manifest
+++ b/dev-python/editables/Manifest
@@ -1,2 +1 @@
-DIST editables-0.5.gh.tar.gz 15469 BLAKE2B 9bbbc61a4e0a57edc6b7ba463da0d6c2f40090e347e67f203f16163bec70b63a2289332e9d69a46919f8aa009be1ec96e1b1cd2708ce5eb6ab33af6eb36360e0 SHA512 ac39d2e6a51625697c517b85fec11b525b1a41f82cf4f55c7595fed19da867065a62eee5e3656706f7402d0499754f4a142da77d699c59dffc8b769fa1c3dbe2
DIST editables-0.6.gh.tar.gz 18722 BLAKE2B 8970dd52a93b99f2af62e9fe9c0c2b6f9a97cff9f1d4574e8960336ba73cf570dbba9467847fadf127b593384b1de29a81028432b3f923accefe41ca63e4f38d SHA512 123a5aec65cfa259dddfd6a8c0e4a51f5ad722e36cd360fd4d5094b853805b0332ec1b143a19e5fae79e5f841124bbd6162bb6fe64d8d92d7edcf5b640afcdc4
diff --git a/dev-python/editables/editables-0.5.ebuild b/dev-python/editables/editables-0.5.ebuild
deleted file mode 100644
index 5739e155ccce..000000000000
--- a/dev-python/editables/editables-0.5.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2022-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="A Python library for creating 'editable wheels'"
-HOMEPAGE="
- https://pypi.org/project/editables/
- https://github.com/pfmoore/editables/
-"
-SRC_URI="
- https://github.com/pfmoore/editables/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 ~x64-solaris"
-
-distutils_enable_tests pytest
diff --git a/dev-python/editables/editables-0.6.ebuild b/dev-python/editables/editables-0.6.ebuild
index 0b9f2e31be5e..c0eceba90c84 100644
--- a/dev-python/editables/editables-0.6.ebuild
+++ b/dev-python/editables/editables-0.6.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 ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
diff --git a/dev-python/editables/metadata.xml b/dev-python/editables/metadata.xml
index 988ae9a6a6fe..d34971a915e9 100644
--- a/dev-python/editables/metadata.xml
+++ b/dev-python/editables/metadata.xml
@@ -4,5 +4,6 @@
<maintainer type="project">
<email>python@gentoo.org</email>
</maintainer>
+ <stabilize-allarches />
<origin>baldeagleos-repo</origin>
</pkgmetadata>
diff --git a/dev-python/elastic-transport/Manifest b/dev-python/elastic-transport/Manifest
index 084caa6404ff..2ab21e532a2a 100644
--- a/dev-python/elastic-transport/Manifest
+++ b/dev-python/elastic-transport/Manifest
@@ -1,3 +1,2 @@
DIST elastic-transport-python-9.2.1.gh.tar.gz 78272 BLAKE2B d469e4caa01f741dac083e30fd06b8770739060ae4eee5e4b6b5de1c043bbaf4a5267b3bac3bae63513416d0ddde2981b7c4867cd8a14dd53ea16e14e5187b4f SHA512 5de5929b01e213f61891c6e535da2d4a6197f31a8bc68b372622ce128141a1521fe2c20a92c83afdd0fd65487c9c753755bc0f08716e252fbc3e8ed1906305a6
-DIST elastic-transport-python-9.4.0.gh.tar.gz 78628 BLAKE2B 4bf9e5c7ed5829c13316df701e094feb72168e577f926df987878a40b6c7b9d27ffbd9dd8171a6781cef3e32e7e729fbd49e65640903c965a8099fd332c7c412 SHA512 e03c43dc8ee6866c705c2170a610d8f1c78a6957cffe3d41d92e7d54c6dc68ed537585cff5fcc21c0a98711ae38f7547ea1adfb637033a659db89421da2e07bc
DIST elastic-transport-python-9.4.1.gh.tar.gz 79921 BLAKE2B 34813c01b8988e98ea54699f979f4689a6a15c00ed72c6358b3efee27c40f348de9aadc690c732242ef74f06428d9a64973d462f324997c3b2d899610ccd5309 SHA512 f7aa92bad0455d82de01329905bd561b3a3159d5cb711df9dd962f16f4a45557d486b38128c190dfe27e9f073592cb650e3ecd6165c4330f5c0e5b07922d9c8e
diff --git a/dev-python/elastic-transport/elastic-transport-9.4.0.ebuild b/dev-python/elastic-transport/elastic-transport-9.4.0.ebuild
deleted file mode 100644
index 60eb4adb4105..000000000000
--- a/dev-python/elastic-transport/elastic-transport-9.4.0.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2023-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-MY_P=elastic-transport-python-${PV}
-DESCRIPTION="Transport classes and utilities shared among Python Elastic client libraries"
-HOMEPAGE="
- https://github.com/elastic/elastic-transport-python/
- https://pypi.org/project/elastic-transport/
-"
-SRC_URI="
- https://github.com/elastic/elastic-transport-python/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-PROPERTIES="test_network"
-RESTRICT="test"
-
-RDEPEND="
- dev-python/certifi[${PYTHON_USEDEP}]
- dev-python/sniffio[${PYTHON_USEDEP}]
- >=dev-python/urllib3-2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/aiohttp[${PYTHON_USEDEP}]
- dev-python/httpx[${PYTHON_USEDEP}]
- dev-python/opentelemetry-api[${PYTHON_USEDEP}]
- dev-python/opentelemetry-sdk[${PYTHON_USEDEP}]
- dev-python/orjson[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/respx[${PYTHON_USEDEP}]
- dev-python/trustme[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs/sphinx \
- dev-python/furo \
- dev-python/sphinx-autodoc-typehints
-EPYTEST_PLUGINS=( anyio pytest-asyncio pytest-httpbin pytest-httpserver )
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # fragile to random warnings
- tests/node/test_http_aiohttp.py::TestAiohttpHttpNode::test_uses_https_if_verify_certs_is_off
- tests/node/test_http_aiohttp.py::test_ssl_assert_fingerprint
- tests/node/test_urllib3_chain_certs.py::test_assert_fingerprint_in_cert_chain
- # hardcodes supported Accept-Encoding
- # https://github.com/elastic/elastic-transport-python/issues/269
- tests/async_/test_async_transport.py::test_async_transport_httpbin
- tests/async_/test_httpbin.py::test_node
- tests/test_httpbin.py::test_node
-)
-
-python_test() {
- epytest -o addopts= # avoid coverage
-}
diff --git a/dev-python/elasticsearch/Manifest b/dev-python/elasticsearch/Manifest
index d5cce6ee01b9..d1f2baca8724 100644
--- a/dev-python/elasticsearch/Manifest
+++ b/dev-python/elasticsearch/Manifest
@@ -1,3 +1,2 @@
DIST elasticsearch-py-9.3.0.gh.tar.gz 2522110 BLAKE2B c0ff3ea253156aa8eeb264bca5f9a088a7c20fb93267b0c49e113b5865a3c5745203c4f7285a4f10da02e29db469cbac8d8e7de5b478a022e019d34080ec28bf SHA512 1398bea065f48dbf87b42801a2e19d91a27a5b13bbc158535657b49b40a4b914b9ddc610cc88cfab5b56d69106f530eb472e6a1222f26b7c792db844091bbad8
-DIST elasticsearch-py-9.4.0.gh.tar.gz 2554289 BLAKE2B b8e48559989b20cad7b4aadddf4f8d3b72d0c6e40b70c76ba82a1365bf6b15c7b0e729eade2709ea12efe350d88b73bd137551ef6bc5d6e5d633ed40065a5402 SHA512 48396b40f9eab9ceb41c2a4c4124bea0f4037ff8345a1c8a7d6d417154866b31a9e30c4822c360e1bb41a2f19b4c8ccdce38153861acf3c210578d629b3bcaf2
DIST elasticsearch-py-9.4.1.gh.tar.gz 2556895 BLAKE2B 56563f06057450c071cd2c3a70d96d457d7b03ee5a6e421721cbd2b684a1667b5d4d41e079cfc54105da338f6985c5526a30599817fdb8da9b3e7d83dc8d2d89 SHA512 a8513c2340bb596b1f648509fccbc9855644e8bee3b9aa3f655a85e0ce1a037a07c47ce5e24fe07ed8bd33069806953535c46c52d0e0c05224ab2126c424cbed
diff --git a/dev-python/elasticsearch/elasticsearch-9.4.0.ebuild b/dev-python/elasticsearch/elasticsearch-9.4.0.ebuild
deleted file mode 100644
index 9b1f344b10a2..000000000000
--- a/dev-python/elasticsearch/elasticsearch-9.4.0.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-MY_P="elasticsearch-py-${PV}"
-DESCRIPTION="Official Elasticsearch client library for Python"
-HOMEPAGE="
- https://ela.st/es-python
- https://github.com/elastic/elasticsearch-py/
- https://pypi.org/project/elasticsearch/
-"
-SRC_URI="
- https://github.com/elastic/elasticsearch-py/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0/$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- <dev-python/aiohttp-4[${PYTHON_USEDEP}]
- >=dev-python/aiohttp-3[${PYTHON_USEDEP}]
- dev-python/anyio[${PYTHON_USEDEP}]
- <dev-python/elastic-transport-10[${PYTHON_USEDEP}]
- >=dev-python/elastic-transport-9.2.0[${PYTHON_USEDEP}]
- >=dev-python/orjson-3[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- <dev-python/requests-3[${PYTHON_USEDEP}]
- >=dev-python/requests-2.4[${PYTHON_USEDEP}]
- dev-python/sniffio[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- dev-python/httpx[${PYTHON_USEDEP}]
- dev-python/mapbox-vector-tile[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/opentelemetry-api[${PYTHON_USEDEP}]
- dev-python/opentelemetry-sdk[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/pyarrow[${PYTHON_USEDEP}]
- dev-python/pydantic[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
- dev-python/trio[${PYTHON_USEDEP}]
- dev-python/unasync[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs/sphinx \
- dev-python/sphinx-autodoc-typehints \
- dev-python/sphinx-rtd-theme
-
-EPYTEST_PLUGINS=( anyio pytest-asyncio )
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_IGNORE=(
- # REST api tests are a black hole for effort. It downloads the tests
- # so its an ever moving target. It also requires effort to blacklist
- # tests for apis which are license restricted.
- "test_elasticsearch/test_server/test_rest_api_spec.py"
- # Counting deprecation warnings from python is bound to fail even
- # if all are fixed in this package. Not worth it.
- "test_elasticsearch/test_client/test_deprecated_options.py"
- # Running daemon for tests is finicky and upstream CI fails at it
- # as well.
- "test_elasticsearch/test_server/"
- "test_elasticsearch/test_async/test_server/"
- "test_elasticsearch/test_dsl/test_integration/"
- "test_elasticsearch/test_dsl/_async/test_esql.py"
- "test_elasticsearch/test_dsl/_sync/test_esql.py"
- # require nltk
- "test_elasticsearch/test_dsl/test_integration/test_examples/_async/test_vectors.py"
- "test_elasticsearch/test_dsl/test_integration/test_examples/_sync/test_vectors.py"
- )
-
- local -x TEST_WITH_OTEL=1
- epytest -o addopts=
-}
diff --git a/dev-python/elementpath/Manifest b/dev-python/elementpath/Manifest
index 9b092dc9b359..f4db921f2abb 100644
--- a/dev-python/elementpath/Manifest
+++ b/dev-python/elementpath/Manifest
@@ -1 +1,2 @@
DIST elementpath-5.1.1.tar.gz 375378 BLAKE2B f9992f063753c1e836e346759ec8eaf6444ccd1228aabc0bdf15fdc0c655117ff89ef4277a7368fcb320762da707486c9f7ba774aef70a92f31c300fd238cc3c SHA512 2787eb8879064f0ecad49ec35f6804630bc3cab192d314ddd6a2abaa651c932044210780983e17a0cdbe9ffabf64237bd25382e66092d2c5ec599d67791b9554
+DIST elementpath-5.1.2.tar.gz 375909 BLAKE2B 75d455068a998f0892b79dd1b33794e631be101dd423f748c9f1ba7c1a8e232c0fc920bd36f0d7feeed526e0be72d498697b1f7d8924023158aacbf25b05efdc SHA512 f235d36952200720446f9f1b7370fc63e95c2f385d1227069be496e381b90d3a8cdc4419b3c6d4599316d29313e470dc94c4134794fa136582b620422145e2fe
diff --git a/dev-python/elementpath/elementpath-5.1.2.ebuild b/dev-python/elementpath/elementpath-5.1.2.ebuild
new file mode 100644
index 000000000000..32c0ff12b73b
--- /dev/null
+++ b/dev-python/elementpath/elementpath-5.1.2.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2019-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="XPath 1.0/2.0 parsers and selectors for ElementTree and lxml"
+HOMEPAGE="
+ https://github.com/sissaschool/elementpath/
+ https://pypi.org/project/elementpath/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+BDEPEND="
+ test? (
+ dev-python/lxml[${PYTHON_USEDEP}]
+ >=dev-python/xmlschema-4.0.1[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # fails for some reason, more fit for upstream testing anyway
+ tests/test_typing.py
+)
diff --git a/dev-python/environs/Manifest b/dev-python/environs/Manifest
index 89206216ac2f..779eb05da2f0 100644
--- a/dev-python/environs/Manifest
+++ b/dev-python/environs/Manifest
@@ -1,4 +1,2 @@
-DIST environs-15.0.0.tar.gz 36264 BLAKE2B 1064538d19aaec7803d1a2aa142239a2665c1eb97596ccf7c80c53000ecaf1633f1691a366c05f84953edc163f9adfcb33136c1676b9886f24c59860ab8d042e SHA512 d56266342b02f5486abb38f9cfd2151a166b15f3549a6b061ec3af2bb2a5cdc7c6b43efa815e3299cfd413429c12e2ffbf368d90e195362abd4650cdfd63e4c0
-DIST environs-15.0.0.tar.gz.provenance 9291 BLAKE2B 0309afc0df7ddd682268d27841e4f3387744c9507d234f527fe72ca2451bb94145b7cb880ede8242df5ead2e2055dfa1aead74991fce85499b9c6c768474e0ed SHA512 31070c4c588af4702b2f29588d6844df027068df9ba5906acc5629c1006cd75fcb08777e856d8705a3272d83e2c02e8391625e0291c49bf7dbbf00792f0b416d
DIST environs-15.0.1.tar.gz 36385 BLAKE2B 14d5e3a7f75027d275008af5bf8a3fae146b50ee249f98f105d5117acf230ad532cead7cfaa7ba922306da7fc8d3d5231126b4f140e56f20b7c0b529c68a9a93 SHA512 510ff5de019a9656b3d84a674e2096c8e62149671c6e93ada6b61165681a3ed31641dedd9910fe48007352ee43db7c9e6cd01ec52df4259a2f2e95b07d4c9918
DIST environs-15.0.1.tar.gz.provenance 9338 BLAKE2B 591cea55878c76c4dac4d8aa8b8f9d72f2cd0f67b9fa06198440632936f5d39a7fd235fd50717cd4a3616ac8b37595d082330bf17c6138a9a6e406e14912e8e0 SHA512 11bf77d764b789bc630747868444f055f9b97cda350ce2666e31c7b08bd065ad0f6388bf40e5da28a71607a9a0419aa9db84306b3af408c9b9178fbef26b917c
diff --git a/dev-python/environs/environs-15.0.0.ebuild b/dev-python/environs/environs-15.0.0.ebuild
deleted file mode 100644
index 6ddf29e77dc0..000000000000
--- a/dev-python/environs/environs-15.0.0.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2021-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYPI_VERIFY_REPO=https://github.com/sloria/environs
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python library for simplified environment variable parsing"
-HOMEPAGE="
- https://github.com/sloria/environs/
- https://pypi.org/project/environs/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- dev-python/python-dotenv[${PYTHON_USEDEP}]
- >=dev-python/marshmallow-4.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/django-cache-url[${PYTHON_USEDEP}]
- dev-python/dj-database-url[${PYTHON_USEDEP}]
- dev-python/dj-email-url[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( CHANGELOG.md CONTRIBUTING.md README.md )
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
diff --git a/dev-python/eval-type-backport/Manifest b/dev-python/eval-type-backport/Manifest
index 225b89d15162..63ea838618a8 100644
--- a/dev-python/eval-type-backport/Manifest
+++ b/dev-python/eval-type-backport/Manifest
@@ -1 +1,2 @@
DIST eval_type_backport-0.3.1.tar.gz 9445 BLAKE2B 96aadb7accc8d143795ac846ce1a744d1ac7b84b3d8c020366cabf30cfcd7c092b4a6fbaade8bffc76415d56921569a8c9c760d057945bf1cc321c94d5189d35 SHA512 fe5f5b9641359f24c6d088321b018102a398b44aecd2b29762d3ad9b9c2a53abc3a9490f01b4ec63048a5dfb24218d07fa6b478264cd2ee3255c3cc33259ed2e
+DIST eval_type_backport-0.4.0.tar.gz 10260 BLAKE2B 6f2f53bcfead984dac7ae0a61676b87b43ee45d3ad95acac978c8613eb869620741b7a0184de78a2163ce2ff0d6148f00dce4a7cf3dc4c307845af920ea6f035 SHA512 4fbb95e8bab77860e4a989e9e49ff089b93d9216ed58f1f3855c0150c1565c22f135498f6145ad7c16756eb3f1340ee0d44d9f15a5a4ab003e42a9ee0d7a3555
diff --git a/dev-python/iterable-io/iterable-io-1.0.1.ebuild b/dev-python/eval-type-backport/eval-type-backport-0.4.0.ebuild
index 31adbbf6c0bb..1e45d8d8910e 100644
--- a/dev-python/iterable-io/iterable-io-1.0.1.ebuild
+++ b/dev-python/eval-type-backport/eval-type-backport-0.4.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2024-2026 Gentoo Authors
+# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -8,15 +8,15 @@ PYTHON_COMPAT=( python3_{13..14} )
inherit distutils-r1 pypi
-DESCRIPTION="Adapt generators and other iterables to a file-like interface"
+DESCRIPTION="Backport of typing._eval_type"
HOMEPAGE="
- https://github.com/pR0Ps/iterable-io/
- https://pypi.org/project/iterable-io/
+ https://github.com/alexmojaki/eval_type_backport/
+ https://pypi.org/project/eval-type-backport/
"
-LICENSE="LGPL-3"
+LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~x86"
+KEYWORDS="~amd64"
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
diff --git a/dev-python/expects/Manifest b/dev-python/expects/Manifest
deleted file mode 100644
index 219add3fc1c6..000000000000
--- a/dev-python/expects/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST expects-0.9.0.tar.gz 27901 BLAKE2B b504f0d7dc91f76a2e036693873efaecdbe1e96a376d930924e00268d6374fad2bdc953e7f684f2ad44bf4d9ca962c377d753ef627304a036c1197b23230a2b0 SHA512 82465cfa48d2c28e6584bc05b9895bf5a0ebb90f43ac828c8e2888a10695c24da7833560880fcd8e7deef9996187ec7be7d993fc9973e2887a66b0b463125fff
diff --git a/dev-python/expects/expects-0.9.0-r1.ebuild b/dev-python/expects/expects-0.9.0-r1.ebuild
deleted file mode 100644
index f9f20205cb08..000000000000
--- a/dev-python/expects/expects-0.9.0-r1.ebuild
+++ /dev/null
@@ -1,33 +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_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Expressive and extensible TDD/BDD assertion library for Python"
-HOMEPAGE="
- https://github.com/jaimegildesagredo/expects/
- https://pypi.org/project/expects/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- test? (
- dev-python/mamba[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs
-
-python_test() {
- mamba || die "tests failed under ${EPYTHON}"
-}
diff --git a/dev-python/faker/Manifest b/dev-python/faker/Manifest
index f95cc9568ca8..297ef25f7166 100644
--- a/dev-python/faker/Manifest
+++ b/dev-python/faker/Manifest
@@ -1,5 +1,4 @@
-DIST faker-40.14.1.tar.gz 1962264 BLAKE2B edfedc3d138937c87dfe27e3249a823053caac7befa2dc2d534b98dd0d20aa3a91965b056cd3a0b63afb976c9b6cbaea024801dc9ae0227d54897fe6ff463d88 SHA512 d97d1789c9bafa8c6e56af535db0b4af3bf3fd2ff251820b4e6bbca443ef37a243ae785ec8051a0597df6ca91c78349a23b312674ba6d6d315e8739f37d1277f
DIST faker-40.18.0.tar.gz 1968243 BLAKE2B 931d7835aada7cad4b16a85af8b04b1284393210bd7faeaa07d9b54aae93318690e375d8f1e6729260bb3e02348ed3ed68cf8c63be7711d81900e290bd2c14c4 SHA512 eeb812137bc60176c34b448b902b5621c3c01a9036b4d0e83887741d32586458ddd0b8bfd66fb1ffc0f2defe056813352129d26fa31387c63bdd34dbdf42f1bc
DIST faker-40.19.1.tar.gz 1969318 BLAKE2B b2e7fdda254c8c1c0a4ec2a756ec7b7b31f9c373c9b9492f13f6db7970c9e8f7701c07ee895edf8527d66c6081811a07cba752d14aa208092b03403f7b869b27 SHA512 d650db7ef33b3303ef534af8baa97308ac13b6c77806118f33f4b5e13e886d2cc53e662e392f8966e659905d10ca5d28dc7050a9a502574beb50319d58fc4ec8
-DIST faker-40.20.0.tar.gz 1970005 BLAKE2B c14ff9753e037160f11f2a293cb0c6d60d464cdcc2b777f74d3afe74326a3195a79b5e4c3f84dd97113aa9e8a266d73c88e4549e0f6849a0f9983c7354126236 SHA512 615276aa0dde11b460944bbd32370c75aa0f5e34feb228a64d42bfb5bca01109438a1130a99361223cff06d2442b21664808747b9b2d2bec0a34bca21e18696f
DIST faker-40.21.0.tar.gz 1970295 BLAKE2B 7df1c57d91d604e748532351240369d1b08992a3cecf2f60cf472a907e7ad8912befb2a9fc840fc28c1d1b5af96ed539d4083ead4e7005156973f4899677aa19 SHA512 64acde47e79732466efdf65cca8e76640bb2538956b72baafde307b412d7f54ebb9293bf1ec7b1a38e51cbcbc61fbe53c298bef5e4b014295f17043c464bbdb3
+DIST faker-40.23.0.tar.gz 1972975 BLAKE2B bd31c81933c72a1cb367e764331295656e5b92f8b2aab19ee15bbf41a5c9cadae504e76068ee3882b90f13be9a323131e4d1b2af224f9462121acdbf9c6b5988 SHA512 734a4e51073596f6ba8b46cea54257e32f5f1567c21c44f15d82e5eff19a8209a07dd130767d57c02626d95e17cd517ee3c0aec3fc4682761b56e10c25058165
diff --git a/dev-python/faker/faker-40.14.1.ebuild b/dev-python/faker/faker-40.14.1.ebuild
deleted file mode 100644
index a2455830ee3f..000000000000
--- a/dev-python/faker/faker-40.14.1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2022-2026 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_{13..14} )
-
-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-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
-EPYTEST_PLUGIN_LOAD_VIA_ENV=1
-EPYTEST_PLUGINS=( "${PN}" )
-distutils_enable_tests pytest
-
-python_test() {
- epytest
- epytest --exclusive-faker-session tests/pytest/session_overrides
-}
diff --git a/dev-python/faker/faker-40.18.0.ebuild b/dev-python/faker/faker-40.18.0.ebuild
index 125fe3904e57..a2455830ee3f 100644
--- a/dev-python/faker/faker-40.18.0.ebuild
+++ b/dev-python/faker/faker-40.18.0.ebuild
@@ -17,7 +17,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-ruby/faker
diff --git a/dev-python/faker/faker-40.20.0.ebuild b/dev-python/faker/faker-40.23.0.ebuild
index 125fe3904e57..125fe3904e57 100644
--- a/dev-python/faker/faker-40.20.0.ebuild
+++ b/dev-python/faker/faker-40.23.0.ebuild
diff --git a/dev-python/fakeredis/Manifest b/dev-python/fakeredis/Manifest
index 3581dc589ed5..2c6a1493a639 100644
--- a/dev-python/fakeredis/Manifest
+++ b/dev-python/fakeredis/Manifest
@@ -1,8 +1,6 @@
-DIST fakeredis-2.34.1.tar.gz 177315 BLAKE2B ed0ca71b7feeeb81cb5bd927eb19a4bc3af56ae1de08334c5825dce88af8197dcc946b8cd3d98ac32972f99c47a480c9669b9fb252e66022ff0dfbe8fce0056f SHA512 26b60db9d4d142cbaaaf51085e4efe44380626c9600145ef4b8254a92eec02423a90b0587817d94c6559f046c7d9adbce1fb25a678d00390be91132de192ece3
-DIST fakeredis-2.34.1.tar.gz.provenance 9528 BLAKE2B bd549cae9bb98f5d85879b38f87d4aed02ebd0b79e858eb273ef94b7c68caec221f684766ad107c445219a792ee9cd61a68791b956b90312ee6160899dbf622f SHA512 d93171e6b50361fc3717461e926d05a4c9773f5381d33c7f5ef8eba6630bb0393cbe9ffa3222f91b375576b457fa431e4037b25a75fcfa39c35b1a25050db899
-DIST fakeredis-2.35.0.tar.gz 189000 BLAKE2B 425fa7663898fd8d3ea8c628c82528fe7654d11daf057daee31c9c35daa643ec557668e127ecd4ca652b40dcd8e5e95af4f235098335b711a4900f30e4fbadc1 SHA512 8ac1876c4d2a01338083c180d8eaa8575faf016770947ff8ad90019117f4e1df88ab4be370f6e1b286c265cc446fdc832fbeb2ae19fd9f6d8aadf217e2f59578
-DIST fakeredis-2.35.0.tar.gz.provenance 9493 BLAKE2B 08f75a47d77f6eb860922dcd23cbd6fff6ed9c659b8f557a2b739049c49713f546af0a5c091ba0aae2d6b86a11808ab19e1a44fbbe6a96c4be795cac2abc629d SHA512 8545733e64c6d996e498c4bff46641a71068c92c8f91aee1a35bd0f06e2020e79db5a4f1dd65c2decaa8a3df253f84913d79b5159c30a30fadcdc58432e1845f
DIST fakeredis-2.35.1.tar.gz 189118 BLAKE2B 00fcb8ef49091db4dfebe3febcfe8d06a789dac73692a305e62457b944e6567005d27d50b5eb08282be9d5e71615660a2e336a1fd26938d41233db5c41bb2714 SHA512 2a0e25d7319beb6be5647d88d3c675b28011b35b1e48ed545420a17a4707edc552555cf9240d27a4505b26c69cfb3e1e28dc9ff3f78c2471ad18c40a5ed69001
DIST fakeredis-2.35.1.tar.gz.provenance 9532 BLAKE2B fcf1ca04a303898904d338b7afeeba5731800aad686a7db916091842a9cde6953fd056f6567da3a0b7481c2c127f8e69eea6e672f711ec87cf244480c25ea7f6 SHA512 3e9f6ae3ec809c08110e2b2cad301891c1fd637e0527354f3c81aaa28cef2ea67f2e60103e66cbe78cab7c2d48c28c52a29d82896ba2750d3b159794c271c176
DIST fakeredis-2.36.0.tar.gz 209484 BLAKE2B a8b29331c923aa0b9194ff1416d2ca59d5f9fd6c75b521c8271fefa4d2699d3d6ee0b65bcf51cf78f0ee6c49cd45ec1c14faaf8b60f03bc99802204515839537 SHA512 f873ee4b711ad994cc714125fc0b0456ba519bc1369ab2a25f3e4be043fc8697532336a1953c1b3d29dfc00fb4618e840b82578a67e6e33cd34f7727273e4fb5
DIST fakeredis-2.36.0.tar.gz.provenance 9846 BLAKE2B 0441207c408eb0688aaf5b2e51521ea5d3764b2ab8923aac64f9b87c06da566052d7305cc6336e313f9fd9ff8dd3ec414f913027864169272b9ae634e6388231 SHA512 ed5b13ebfd9661a0643d97059baaf5535271e9fab2fd9877af8dd21c1bb28f67e176bc975e78056cc04930bbf81e6db963ea613a54f326b9582ca4b47aade9d6
+DIST fakeredis-2.36.1.tar.gz 210959 BLAKE2B bfbf4d397707a8d5cbb4a94fc4d89b814c4367ef20b894033301b640186ba6846a4102e580be103954fc04f53bb7f1aac0c9976dcfc62f0b9ffac8c5fc6e3405 SHA512 2eaa78273f2a7e1f11d4ccf8937406a81d546671e3bcb70e821ae8f80caf1b38cac908a127c0a7710fc12c50188fe2234b0fea510718fd1f463dcfb5aab1f3d5
+DIST fakeredis-2.36.1.tar.gz.provenance 9944 BLAKE2B f20fb9ad9027e4fd3fae7b37bd9cfaf0112b01c6ac1218506bee74e6aa7f8683d73740e00bd46bba54d0d0b48c266967ec93bf1533c588fe3753afe20c6895f0 SHA512 d2f129e81474f472b5a5437245a176840c935fc4d28e80f90510290c48acd02bbdbcc44a29793b8342a40fead5ba3906542ff6c0837807f5acb7b3d450bca724
diff --git a/dev-python/fakeredis/fakeredis-2.34.1.ebuild b/dev-python/fakeredis/fakeredis-2.34.1.ebuild
deleted file mode 100644
index 0d482e6d5680..000000000000
--- a/dev-python/fakeredis/fakeredis-2.34.1.ebuild
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright 2020-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYPI_VERIFY_REPO=https://github.com/cunla/fakeredis-py
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Fake implementation of redis API for testing purposes"
-HOMEPAGE="
- https://github.com/cunla/fakeredis-py/
- https://pypi.org/project/fakeredis/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/redis-4.3[${PYTHON_USEDEP}]
- >=dev-python/sortedcontainers-2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-db/redis
- dev-python/packaging[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( pytest-{asyncio,mock} )
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # TODO
- "test/test_mixins/test_pubsub_commands.py::test_pubsub_channels[StrictRedis2]"
- "test/test_mixins/test_pubsub_commands.py::test_pubsub_channels[StrictRedis3]"
- "test/test_mixins/test_pubsub_commands.py::test_published_message_to_shard_channel[StrictRedis3]"
- test/test_mixins/test_set_commands.py::test_smismember_wrong_type
- "test/test_mixins/test_pubsub_commands.py::test_pubsub_shardnumsub[StrictRedis2]"
- "test/test_mixins/test_pubsub_commands.py::test_pubsub_shardnumsub[StrictRedis3]"
- "test/test_mixins/test_streams_commands.py::test_xgroup_setid_redis7[StrictRedis2]"
- "test/test_mixins/test_streams_commands.py::test_xgroup_setid_redis7[StrictRedis3]"
- # json ext
- test/test_json/test_json.py
- test/test_json/test_json_arr_commands.py
- # unknown command 'evalsha'
- "test/test_asyncredis.py::test_async_lock[fake_resp2]"
- "test/test_asyncredis.py::test_async_lock[fake_resp3]"
- # incompatible with xdist, not worth extra effort
- test/test_tcp_server/test_connectivity.py
- # flaky
- test/test_mixins/test_server_commands.py::test_bgsave
-)
-EPYTEST_IGNORE=(
- # these tests fail a lot...
- test/test_hypothesis
- test/test_hypothesis_joint.py
- # require valkey package
- test/test_valkey
-)
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # do not install duplicate license
- sed -i -e '\@fakeredis/LICENSE@d' pyproject.toml || die
-}
-
-src_test() {
- local redis_pid="${T}"/redis.pid
- local redis_port=6390
-
- einfo "Spawning Redis"
- einfo "NOTE: Port ${redis_port} must be free"
- "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server"
- daemonize yes
- pidfile ${redis_pid}
- port ${redis_port}
- bind 127.0.0.1
- EOF
-
- # Run the tests
- distutils-r1_src_test
-
- # Clean up afterwards
- kill "$(<"${redis_pid}")" || die
-}
-
-python_test() {
- # we can run "fake" tests in parallel, but "real" seem to share
- # the same connection
- epytest -m "not real"
- EPYTEST_XDIST= epytest -m "real"
-}
diff --git a/dev-python/fakeredis/fakeredis-2.35.0.ebuild b/dev-python/fakeredis/fakeredis-2.35.0.ebuild
deleted file mode 100644
index 01c771cc9b64..000000000000
--- a/dev-python/fakeredis/fakeredis-2.35.0.ebuild
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright 2020-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYPI_VERIFY_REPO=https://github.com/cunla/fakeredis-py
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Fake implementation of redis API for testing purposes"
-HOMEPAGE="
- https://github.com/cunla/fakeredis-py/
- https://pypi.org/project/fakeredis/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/redis-4.3[${PYTHON_USEDEP}]
- >=dev-python/sortedcontainers-2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-db/redis
- dev-python/packaging[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( pytest-{asyncio,mock} )
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # TODO
- "test/test_mixins/test_pubsub_commands.py::test_pubsub_channels[StrictRedis2]"
- "test/test_mixins/test_pubsub_commands.py::test_pubsub_channels[StrictRedis3]"
- "test/test_mixins/test_pubsub_commands.py::test_published_message_to_shard_channel[StrictRedis3]"
- test/test_mixins/test_set_commands.py::test_smismember_wrong_type
- "test/test_mixins/test_pubsub_commands.py::test_pubsub_shardnumsub[StrictRedis2]"
- "test/test_mixins/test_pubsub_commands.py::test_pubsub_shardnumsub[StrictRedis3]"
- "test/test_mixins/test_streams_commands.py::test_xgroup_setid_redis7[StrictRedis2]"
- "test/test_mixins/test_streams_commands.py::test_xgroup_setid_redis7[StrictRedis3]"
- # json ext
- test/test_json/test_json.py
- test/test_json/test_json_arr_commands.py
- # unknown command 'evalsha'
- "test/test_asyncredis.py::test_async_lock[fake_resp2]"
- "test/test_asyncredis.py::test_async_lock[fake_resp3]"
- # incompatible with xdist, not worth extra effort
- test/test_tcp_server/test_connectivity.py
- # flaky
- test/test_mixins/test_server_commands.py::test_bgsave
-)
-EPYTEST_IGNORE=(
- # these tests fail a lot...
- test/test_hypothesis
- test/test_hypothesis_joint.py
- # require valkey package
- test/test_valkey
-)
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # do not install duplicate license
- sed -i -e '\@fakeredis/LICENSE@d' pyproject.toml || die
-}
-
-src_test() {
- local redis_pid="${T}"/redis.pid
- local redis_port=6390
-
- einfo "Spawning Redis"
- einfo "NOTE: Port ${redis_port} must be free"
- "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server"
- daemonize yes
- pidfile ${redis_pid}
- port ${redis_port}
- bind 127.0.0.1
- EOF
-
- # Run the tests
- distutils-r1_src_test
-
- # Clean up afterwards
- kill "$(<"${redis_pid}")" || die
-}
-
-python_test() {
- # we can run "fake" tests in parallel, but "real" seem to share
- # the same connection
- epytest -m "not real"
- EPYTEST_XDIST= epytest -m "real"
-}
diff --git a/dev-python/fakeredis/fakeredis-2.35.1.ebuild b/dev-python/fakeredis/fakeredis-2.35.1.ebuild
index 01c771cc9b64..0d482e6d5680 100644
--- a/dev-python/fakeredis/fakeredis-2.35.1.ebuild
+++ b/dev-python/fakeredis/fakeredis-2.35.1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv ~sparc ~x86"
RDEPEND="
>=dev-python/redis-4.3[${PYTHON_USEDEP}]
diff --git a/dev-python/fakeredis/fakeredis-2.36.1.ebuild b/dev-python/fakeredis/fakeredis-2.36.1.ebuild
new file mode 100644
index 000000000000..ec98dd5020bf
--- /dev/null
+++ b/dev-python/fakeredis/fakeredis-2.36.1.ebuild
@@ -0,0 +1,141 @@
+# Copyright 2020-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/cunla/fakeredis-py
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Fake implementation of redis API for testing purposes"
+HOMEPAGE="
+ https://github.com/cunla/fakeredis-py/
+ https://pypi.org/project/fakeredis/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/redis-4.3[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-db/redis
+ dev-db/valkey
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/valkey[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{asyncio,mock} )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # do not install duplicate license
+ sed -i -e '\@fakeredis/LICENSE@d' pyproject.toml || die
+}
+
+wait_for_status() {
+ local expected=${1}
+
+ local i
+ for i in {1..50}; do
+ "${server}-cli" -p "${redis_port}" ping
+ [[ ${?} -eq ${expected} ]] && return
+ sleep 0.2
+ done
+
+ die "Timeout while waiting for ${1}-server to start/stop"
+}
+
+src_test() {
+ local server
+ server=fake
+ einfo "Running ${server} server tests"
+ distutils-r1_src_test
+
+ for server in redis valkey; do
+ local redis_pid="${T}/${server}.pid"
+ local redis_port=6390
+ local redis_log="${T}/${server}.log"
+ local redis_db="${T}/${server}.db"
+
+ einfo "Running ${server} server tests"
+ "${EPREFIX}/usr/sbin/${server}-server" - <<- EOF || die "Unable to start ${server} server"
+ daemonize yes
+ pidfile ${redis_pid}
+ port ${redis_port}
+ logfile ${redis_log}
+ dir ${redis_db%/*}
+ dbfilename ${redis_db##*/}
+ bind 127.0.0.1
+ EOF
+
+ # wait for the server to start
+ wait_for_status 0
+
+ distutils-r1_src_test
+
+ "${server}-cli" -p "${redis_port}" shutdown || die "Unable to stop ${server} server"
+
+ # wait for the server to stop
+ wait_for_status 1
+ done
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # json ext
+ test/test_json/test_json.py
+ test/test_json/test_json_arr_commands.py
+ # TODO
+ "test/test_mixins/test_pubsub_commands.py::test_published_message_to_shard_channel[Strict3]"
+ "test/test_mixins/test_pubsub_commands.py::test_pubsub_shardnumsub[Strict2]"
+ "test/test_mixins/test_pubsub_commands.py::test_pubsub_shardnumsub[Strict3]"
+ )
+
+ local EPYTEST_IGNORE=(
+ # these tests fail a lot...
+ test/test_hypothesis
+ test/test_hypothesis_joint.py
+ )
+
+ case ${server} in
+ fake)
+ EPYTEST_DESELECT=(
+ # TODO
+ test/test_tcp_server/test_connectivity.py::test_bulk_string_length
+ )
+
+ # every test starts its own server
+ EPYTEST_XDIST= epytest -m "tcp_server"
+ return
+ ;;
+ redis)
+ EPYTEST_DESELECT+=(
+ "test/test_mixins/test_set_commands.py::test_smismember_wrong_type[Strict2]"
+ "test/test_mixins/test_set_commands.py::test_smismember_wrong_type[Strict3]"
+
+ "test/test_async/test_redis_only.py::test_async_lock[fake_resp2]"
+ "test/test_async/test_redis_only.py::test_async_lock[fake_resp3]"
+ "test/test_mixins/test_set_commands.py::test_smismember_wrong_type[FakeStrict2]"
+ "test/test_mixins/test_set_commands.py::test_smismember_wrong_type[FakeStrict3]"
+ )
+
+ # run fake tests only once
+ epytest -m "not real and not tcp_server"
+ ;;
+ esac
+
+ # we can run "fake" tests in parallel, but "real" seem to share
+ # the same connection
+ EPYTEST_XDIST= epytest -m "real"
+}
diff --git a/dev-python/fastapi/Manifest b/dev-python/fastapi/Manifest
index 3ceb1c1acf6b..30a2ce342b58 100644
--- a/dev-python/fastapi/Manifest
+++ b/dev-python/fastapi/Manifest
@@ -1,3 +1,2 @@
-DIST fastapi-0.135.1.tar.gz 394962 BLAKE2B 95e002ac88880562fb19c51d6a9fa5b3a10f58ebfed32d70f8e4fcb9dd2e3c3366c5cbdefc3b4a8cd4d0fee8dc2e64dd9b1f5393d479cb6b3a62d5ee9b34abca SHA512 bd9b2789dbf98fbf566f340f9c890229ccb6f283066df54a82fab62763bd417a08b5fe3aa287409f224c30dbb4879b78f48e0a90d2261303879926621f4bc326
-DIST fastapi-0.135.2.tar.gz 395833 BLAKE2B 2177788bea82b840256beb46b1b15414a4aa26753c727107a3528101dd51f1f5f05e02f3603d4076df07c62824ba76d769aa72ad41c023c52072fa3e7c02d5b1 SHA512 62744ff30649569e74ee067c8d8fc96308f17a4d9ed055cb70b61cb38b7f0d0dd6d06a218294e2e6b96bd41a7b8b54947d75a56534f4b65af41e89c5cb108760
-DIST fastapi-0.135.3.tar.gz 396524 BLAKE2B 83ad655935be38c602c3a851910ab02dcc5e744241bb0e8f90864d97d37304a65e6d93790dbf8d7f05cc2d8e65e7d4ff1e5f934b4b272bbec43229db2a78e2d9 SHA512 3813ef68b3b090bb37970acdc43b29e468f9d17f48ebd960422188cc73854204eb425f743c13e84df622926475b971c74dacfac062f8392e1608b3ee1a47511c
+DIST fastapi-0.136.1.tar.gz 397448 BLAKE2B df2de34519aeb26a5963c08c3dbd9e5d715f99d263bae23c9e5f8268198e559eeeae426c2e2d47d8b26854b38b11b7a6938a1c8ae15be76c1939fdfbdd78860c SHA512 78ca4e6409d15c36f93c9975baa1e13007730192077d106663c7d4dbc063fa4b4d0097838143411eb475265eb39a7d16ee412a5a3d4a207e1c3d2c93dc536bdf
+DIST fastapi-0.136.3.tar.gz 396410 BLAKE2B eb55e632fea8e59a5f133b0b4c18dd158a8427bbcb8ecfd1656e019fb3c117598b18286afab6e1c27492ca3d8e0b5eb286d027428707890097ca5ea5d4e7a354 SHA512 a97358391f0c86f370949296c3c79e31086fc8faa8b721d216ac47fdce0b6052ab7fce0b4448e89c3faeb8b500dface43b86a4084c599e7d19fcc6dfca7a54d3
diff --git a/dev-python/fastapi/fastapi-0.135.1.ebuild b/dev-python/fastapi/fastapi-0.135.1.ebuild
deleted file mode 100644
index e06dff5edb46..000000000000
--- a/dev-python/fastapi/fastapi-0.135.1.ebuild
+++ /dev/null
@@ -1,117 +0,0 @@
-# Copyright 2024-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pdm-backend
-PYTHON_COMPAT=( python3_{13..14} )
-
-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/annotated-doc-0.0.2[${PYTHON_USEDEP}]
- >=dev-python/pydantic-2.7.0[${PYTHON_USEDEP}]
- >=dev-python/starlette-0.46.0[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.8.0[${PYTHON_USEDEP}]
- >=dev-python/typing-inspection-0.4.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/aiosqlite[${PYTHON_USEDEP}]
- >=dev-python/anyio-3.2.1[${PYTHON_USEDEP}]
- dev-python/argon2-cffi[${PYTHON_USEDEP}]
- <dev-python/a2wsgi-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/a2wsgi-1.9.0[${PYTHON_USEDEP}]
- dev-python/dirty-equals[${PYTHON_USEDEP}]
- dev-python/email-validator[${PYTHON_USEDEP}]
- <dev-python/flask-4.0.0[${PYTHON_USEDEP}]
- >=dev-python/flask-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/inline-snapshot-0.21.1[${PYTHON_USEDEP}]
- >=dev-python/jinja2-3.1.5[${PYTHON_USEDEP}]
- >=dev-python/orjson-3.9.3[${PYTHON_USEDEP}]
- >=dev-python/pwdlib-0.2.1[${PYTHON_USEDEP}]
- >=dev-python/pydantic-extra-types-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/pydantic-settings-2.0.0[${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/strawberry-graphql-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/strawberry-graphql-0.200.0[${PYTHON_USEDEP}]
- dev-python/sqlmodel[${PYTHON_USEDEP}]
- dev-python/trio[${PYTHON_USEDEP}]
- dev-python/typer[${PYTHON_USEDEP}]
- >=dev-python/ujson-5.8.0[${PYTHON_USEDEP}]
- dev-python/uvicorn[${PYTHON_USEDEP}]
- )
-"
-# brotli and zstd due to starlette based tests expecting it
-
-# Hung once
-: ${EPYTEST_TIMEOUT:=60}
-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 "settings management" dev-python/pydantic-settings
- optfeature "extra Pydantic data types" dev-python/pydantic-extra-types
- optfeature_header "Alternative JSON responses"
- optfeature "ORJSONResponse" dev-python/orjson
- optfeature "UJSONResponse" dev-python/ujson
-}
diff --git a/dev-python/fastapi/fastapi-0.135.2.ebuild b/dev-python/fastapi/fastapi-0.136.1.ebuild
index e032286d80d2..e032286d80d2 100644
--- a/dev-python/fastapi/fastapi-0.135.2.ebuild
+++ b/dev-python/fastapi/fastapi-0.136.1.ebuild
diff --git a/dev-python/fastapi/fastapi-0.135.3.ebuild b/dev-python/fastapi/fastapi-0.136.3.ebuild
index e032286d80d2..e032286d80d2 100644
--- a/dev-python/fastapi/fastapi-0.135.3.ebuild
+++ b/dev-python/fastapi/fastapi-0.136.3.ebuild
diff --git a/dev-python/filelock/Manifest b/dev-python/filelock/Manifest
index 1a3a151a0bd6..5317435311ec 100644
--- a/dev-python/filelock/Manifest
+++ b/dev-python/filelock/Manifest
@@ -4,3 +4,7 @@ DIST filelock-3.29.0.tar.gz 57571 BLAKE2B d253183ce329cffd2242670fd77f3b4e629bf0
DIST filelock-3.29.0.tar.gz.provenance 9288 BLAKE2B f4ee6047fc7532a609bc6ee634d77c1eea96c8881e0d793e29aa4b97edac884d0c265b874fb31b2aaa54be1a184bb2b24ed986d0cbe46795379d4438475e5708 SHA512 3b44c5b625211cf8f6d31655a6f4592138b63cb1a27948685bb3b2902c3ce59caf5d23f2dcf367b24c20184214586a1e3f9e3f1d9f9e4d7df7258eb9f95b3417
DIST filelock-3.29.1.tar.gz 59335 BLAKE2B 69fee586a49b80e69c159c1737c8ab4d63fcfbc7fe9ef5c591336b3dd901e8fb4b2e6f87e6fb29e67fdb392e86413dbe820100389fb9067cc4bc7f0bb5af75d9 SHA512 ae11921d0b3df0e0501a47fad9d4da2bf1ce7c93b69b2bb52e6896a74464cd14197246a8dc20754a7aec881539499a230afab4125214e4bc44eeb4037d043161
DIST filelock-3.29.1.tar.gz.provenance 9943 BLAKE2B 33a80d142c0ff469a61f8497a1cfb1e30e504ebdef7667f94209314569edecb5c9ca97acbea3fd08350e37931628987925c8d901b790e2e1d9b0074bdef7c326 SHA512 0b84a5aca134d6479605353132076e1137353cf1dbd5db93f3f2ea8de079afe93f8556a99bcda7e07c5def3db186edfca8ae603e096c722ebd5d236f76baf2a3
+DIST filelock-3.29.3.tar.gz 61956 BLAKE2B 0ed0cbbe5369aab9ea1df4e17e43259951f082657e2f98605fc97f9a11db043f0718670cc7eedfa029914c08e0359d6e78d8e5597c36f995e79c876243c9e252 SHA512 ebf7fce93c269085d9c7190b47aeab76e7e28a00d0d32125f5e923435c180587d4bd1b84c543005b023561ee1a38bb5eaa1d9b4ba5f9ce52db92adcd25fb9488
+DIST filelock-3.29.3.tar.gz.provenance 9855 BLAKE2B 4a527df2b23dda435f858ad272188ebc5ee3ad1bc857077ea2de40bc0e579503b355eff097d929350012ae353e80d99382fb2cf1a752d24f396ad112045ec853 SHA512 22c0ae0303317c7cc5ee8b8f7a3b89d53408e0cc76eab0d1b26b81757a0e1668edfd7b290b3dacdcbe395716b453b4e408dc6c5f5a5ed52dfa47dcc9d1589c5d
+DIST filelock-3.29.4.tar.gz 63028 BLAKE2B 9e918f65b3f7e4126a42864c5bdb8734b09e12ae2f64ea7285026d77bd1b22e3e6024c5b509cebc18b2c01e1388abff3b2183ac59a27db2cb8faea1c4adc63de SHA512 18ad0d05522f529f9197e8270bd05e6c248ee652cc2b7ad19b77be6bf899aff4c908e277b5ef6e1d43db2666428eacbdeaa33a477ec451beb35a83b265f6db09
+DIST filelock-3.29.4.tar.gz.provenance 9479 BLAKE2B d6541ac68521d0d58b6e2acebb0d9812a47a81d83ea29dfd66c4b782bc89a25aeb6402a2430d8ef2aed24358d79b9f5235262f6e82b9d84a8bfa5c0268632a0f SHA512 3a46b418d4ad473e7973a0eb5da831970ea21d662aaf764b626eff514c59829b224b0e8f0df5e7540f8ea6b027a6990dcc4425d7e1a71d7249f4b5bd44d92731
diff --git a/dev-python/filelock/filelock-3.29.0.ebuild b/dev-python/filelock/filelock-3.29.0.ebuild
index 1f38026c0588..0c8f0c0c6c99 100644
--- a/dev-python/filelock/filelock-3.29.0.ebuild
+++ b/dev-python/filelock/filelock-3.29.0.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 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos"
BDEPEND="
dev-python/hatch-vcs[${PYTHON_USEDEP}]
diff --git a/dev-python/filelock/filelock-3.29.3.ebuild b/dev-python/filelock/filelock-3.29.3.ebuild
new file mode 100644
index 000000000000..1f38026c0588
--- /dev/null
+++ b/dev-python/filelock/filelock-3.29.3.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2018-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/tox-dev/filelock
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A platform independent file lock for Python"
+HOMEPAGE="
+ https://github.com/tox-dev/filelock/
+ https://pypi.org/project/filelock/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{asyncio,mock,timeout} )
+EPYTEST_RERUNS=5
+distutils_enable_tests pytest
diff --git a/dev-python/filelock/filelock-3.29.4.ebuild b/dev-python/filelock/filelock-3.29.4.ebuild
new file mode 100644
index 000000000000..1f38026c0588
--- /dev/null
+++ b/dev-python/filelock/filelock-3.29.4.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2018-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/tox-dev/filelock
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A platform independent file lock for Python"
+HOMEPAGE="
+ https://github.com/tox-dev/filelock/
+ https://pypi.org/project/filelock/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{asyncio,mock,timeout} )
+EPYTEST_RERUNS=5
+distutils_enable_tests pytest
diff --git a/dev-python/flask-caching/flask-caching-2.3.1-r1.ebuild b/dev-python/flask-caching/flask-caching-2.3.1-r1.ebuild
index 1009a0f29b27..479827c18a12 100644
--- a/dev-python/flask-caching/flask-caching-2.3.1-r1.ebuild
+++ b/dev-python/flask-caching/flask-caching-2.3.1-r1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 x86"
+KEYWORDS="amd64 arm64 x86"
RDEPEND="
>=dev-python/cachelib-0.9.0[${PYTHON_USEDEP}]
diff --git a/dev-python/flask-caching/flask-caching-2.4.0.ebuild b/dev-python/flask-caching/flask-caching-2.4.0.ebuild
index 674f8733b1a7..e74d3e281869 100644
--- a/dev-python/flask-caching/flask-caching-2.4.0.ebuild
+++ b/dev-python/flask-caching/flask-caching-2.4.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 x86"
RDEPEND="
>=dev-python/cachelib-0.9.0[${PYTHON_USEDEP}]
diff --git a/dev-python/flask-compress/flask-compress-1.24.ebuild b/dev-python/flask-compress/flask-compress-1.24.ebuild
index 00683e5a5b4f..8e112470e022 100644
--- a/dev-python/flask-compress/flask-compress-1.24.ebuild
+++ b/dev-python/flask-compress/flask-compress-1.24.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 x86"
# brotli on cpython, brotlicffi on pypy3
RDEPEND="
diff --git a/dev-python/flask-cors/Manifest b/dev-python/flask-cors/Manifest
index 42c3c76ee16d..de6f33d1e655 100644
--- a/dev-python/flask-cors/Manifest
+++ b/dev-python/flask-cors/Manifest
@@ -1 +1,4 @@
DIST flask-cors-6.0.2.gh.tar.gz 87929 BLAKE2B 7eabcd020ebd1695aefd30d41d2d45417f26a0489e35ba66cf62bfa2ce4158c62e2d04a79e7f8b5a6e3392bb88ee8a2dbd48f5ea3f8dadcb3ca8a89465f54cc7 SHA512 abf2a633979ebd11dd395bf01ae65b78e135c73b23db5308249f8e56db5fc5bca6c460629663609065e9e9ce885e9ce409808cc4b7dbbc88e02adf62f2b39a84
+DIST flask-cors-6.0.3.gh.tar.gz 89012 BLAKE2B 969fa7b47274b8e94ac60d4d207d84e18708bffd88ebdd2c105ad79516efa84e1ff6d6d86675f6290ed33d33c391694267824199536fedcb48960ec7b82de84b SHA512 60f22ba4b9ffb51983f11a5a30e6e6d543ef1b285224e12b6a2c1bf79c13de384d588edf81c3df5718d2bb4af4c5dbaa09855476e6cbc53ea8709c7a42a2e6d4
+DIST flask-cors-6.0.4.gh.tar.gz 97226 BLAKE2B 46375a7a053b87a1633f992ebc99ab5adf056ce2a91263220eacf651355cdc4caf11bfecdef8abe5cc939734bdb13a642efe66c49a39dc184e950639368e1a54 SHA512 465904623400317ed1b9bb53955340dccf2f27f8ed686e5714101c22132d3acab27c087dd824e58e4e94c60e77c9b9ae2e5b5e04b3b20d52a22c5695ffa85085
+DIST flask-cors-6.0.5.gh.tar.gz 98754 BLAKE2B 7a5267fc6f1b0c314182aca80f4d7a5cde8dd4beab08d3693d1cbf78888232823144d9d74929141043c177489c37539f1e458ad8e24acb2bc19fe202e4477f43 SHA512 728f977cf627f61d31fa91103bb7dc4cd3ad67c58e03c616bb3f627d638055a60962989fd056d81f884bbc3d74e6676e4074aa198941b7fc932985511b4281c8
diff --git a/dev-python/flask-cors/flask-cors-6.0.3.ebuild b/dev-python/flask-cors/flask-cors-6.0.3.ebuild
new file mode 100644
index 000000000000..c8faaefad331
--- /dev/null
+++ b/dev-python/flask-cors/flask-cors-6.0.3.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+if [[ "${PV}" == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/corydolphin/flask-cors.git"
+ inherit git-r3
+else
+ SRC_URI="
+ https://github.com/corydolphin/flask-cors/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ "
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+fi
+
+DESCRIPTION="A Flask extension for Cross Origin Resource Sharing (CORS)"
+HOMEPAGE="
+ https://github.com/corydolphin/flask-cors/
+ https://pypi.org/project/flask-cors/
+"
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="
+ >=dev-python/flask-0.9[${PYTHON_USEDEP}]
+ >=dev-python/werkzeug-0.7[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/packaging[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/flask-cors/flask-cors-6.0.4.ebuild b/dev-python/flask-cors/flask-cors-6.0.4.ebuild
new file mode 100644
index 000000000000..c8faaefad331
--- /dev/null
+++ b/dev-python/flask-cors/flask-cors-6.0.4.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+if [[ "${PV}" == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/corydolphin/flask-cors.git"
+ inherit git-r3
+else
+ SRC_URI="
+ https://github.com/corydolphin/flask-cors/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ "
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+fi
+
+DESCRIPTION="A Flask extension for Cross Origin Resource Sharing (CORS)"
+HOMEPAGE="
+ https://github.com/corydolphin/flask-cors/
+ https://pypi.org/project/flask-cors/
+"
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="
+ >=dev-python/flask-0.9[${PYTHON_USEDEP}]
+ >=dev-python/werkzeug-0.7[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/packaging[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/flask-cors/flask-cors-6.0.5.ebuild b/dev-python/flask-cors/flask-cors-6.0.5.ebuild
new file mode 100644
index 000000000000..c8faaefad331
--- /dev/null
+++ b/dev-python/flask-cors/flask-cors-6.0.5.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+if [[ "${PV}" == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/corydolphin/flask-cors.git"
+ inherit git-r3
+else
+ SRC_URI="
+ https://github.com/corydolphin/flask-cors/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ "
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+fi
+
+DESCRIPTION="A Flask extension for Cross Origin Resource Sharing (CORS)"
+HOMEPAGE="
+ https://github.com/corydolphin/flask-cors/
+ https://pypi.org/project/flask-cors/
+"
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="
+ >=dev-python/flask-0.9[${PYTHON_USEDEP}]
+ >=dev-python/werkzeug-0.7[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/packaging[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/flask-debug/Manifest b/dev-python/flask-debug/Manifest
deleted file mode 100644
index 9162a41a8cd6..000000000000
--- a/dev-python/flask-debug/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST Flask-Debug-0.4.3.gh.tar.gz 9148 BLAKE2B 9263a4df08f1a9518a42a025a14a89b902c62ab08b25d79b3dfffb25675a47785d0bf9075290190ee4622a30a89e190a465a87986b47ceed7d724ce0b59ad218 SHA512 7bc1cf9f88f28e2ca5a24c1454dcdb4e2a450eff3c00329f299c3840032e0803079f565652974f4c3a0e5aac443365ce47a3d2c2fee8e21e2e0c7150367e8816
diff --git a/dev-python/flask-debug/flask-debug-0.4.3-r2.ebuild b/dev-python/flask-debug/flask-debug-0.4.3-r2.ebuild
deleted file mode 100644
index 207f4f877b50..000000000000
--- a/dev-python/flask-debug/flask-debug-0.4.3-r2.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_{13..14} )
-
-inherit distutils-r1
-
-MY_P="Flask-Debug-${PV}"
-DESCRIPTION="Flask extension that displays various debugging insights during development"
-HOMEPAGE="
- https://github.com/mbr/Flask-Debug/
- https://pypi.org/project/Flask-Debug/
-"
-# PyPI tarballs don't include tests
-# https://github.com/mbr/Flask-Debug/pull/2
-SRC_URI="
- https://github.com/mbr/Flask-Debug/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/inflection[${PYTHON_USEDEP}]
- dev-python/jinja2[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs dev-python/alabaster
diff --git a/dev-python/flask-debug/metadata.xml b/dev-python/flask-debug/metadata.xml
deleted file mode 100644
index 129ae75403bf..000000000000
--- a/dev-python/flask-debug/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>sbraz@gentoo.org</email>
- <name>Louis Sautier</name>
- </maintainer>
- <stabilize-allarches />
- <upstream>
- <bugs-to>https://github.com/mbr/Flask-Debug/issues</bugs-to>
- </upstream>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/dev-python/flask-nav/Manifest b/dev-python/flask-nav/Manifest
deleted file mode 100644
index 610ccc8eb327..000000000000
--- a/dev-python/flask-nav/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST flask-nav-0.6.gh.tar.gz 12270 BLAKE2B eff90b6fc08629139012e2d920b4d464ed06954040a5e97636a7aa4d59d11654839460ef52477cfcec967bd774d942028a53675d682e850f08f6359c5cfbb54e SHA512 a7930687425a53fac9ad9a7cb65c2e2a759a0c9660189965bf37ea6e9925dd869074d37a283801631b3e6c3391f9f4167e0a36294104f72970e876b5a7a0930c
diff --git a/dev-python/flask-nav/files/flask-nav-0.6-py310.patch b/dev-python/flask-nav/files/flask-nav-0.6-py310.patch
deleted file mode 100644
index 02a06a9c99d9..000000000000
--- a/dev-python/flask-nav/files/flask-nav-0.6-py310.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff --git a/flask_nav/__init__.py b/flask_nav/__init__.py
-index 7c25dfa..5826b9e 100644
---- a/flask_nav/__init__.py
-+++ b/flask_nav/__init__.py
-@@ -1,4 +1,4 @@
--import collections
-+import collections.abc
- from importlib import import_module
- import re
-
-@@ -46,7 +46,7 @@ class NavbarRenderingError(Exception):
- pass
-
-
--class ElementRegistry(collections.MutableMapping):
-+class ElementRegistry(collections.abc.MutableMapping):
- def __init__(self):
- self._elems = {}
-
diff --git a/dev-python/flask-nav/flask-nav-0.6-r5.ebuild b/dev-python/flask-nav/flask-nav-0.6-r5.ebuild
deleted file mode 100644
index ed514fd326ed..000000000000
--- a/dev-python/flask-nav/flask-nav-0.6-r5.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Easily create navigation for Flask applications"
-HOMEPAGE="
- https://pythonhosted.org/flask-nav/
- https://github.com/mbr/flask-nav/
- https://pypi.org/project/flask-nav/
-"
-# docs are missing from PyPI tarballs
-# https://github.com/mbr/flask-nav/pull/12
-SRC_URI="
- https://github.com/mbr/flask-nav/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- dev-python/dominate[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/markupsafe[${PYTHON_USEDEP}]
- dev-python/visitor[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs dev-python/alabaster
-
-PATCHES=(
- # https://github.com/mbr/flask-nav/pull/27
- "${FILESDIR}/${P}-py310.patch"
-)
diff --git a/dev-python/flufl-lock/Manifest b/dev-python/flufl-lock/Manifest
index d8136f161080..001ae8bf836a 100644
--- a/dev-python/flufl-lock/Manifest
+++ b/dev-python/flufl-lock/Manifest
@@ -1,2 +1 @@
-DIST flufl_lock-9.0.0.tar.gz 34151 BLAKE2B 3b75f8d9d173739bcf11391440953e96e5490732556aea16d56274a6f77d1ebb9715ac5ecaf69c37a954c7c7a0e9739dfde9a6904b54794e0f413068a09e0347 SHA512 4177c45988527114344d8d6e5f439f4f7446ef805578491a808091b20d5289b1203728f7b83bf1ab44e77a5d6c9a6e145a27f18a79f6c28fc4f98ab02e6999bc
DIST flufl_lock-9.1.0.tar.gz 33999 BLAKE2B 4008040448a8b6c7f63dd9f9021cac9b8a01a16f747864db29e33fd29463f115266617f0513bf742c89e724b352e0e2de1992fd45e6815494d04c0995fd270f8 SHA512 fb07b5f1898f7ae997663f42d14fc5cd6600f5576abcfb82a194748b559b8782bd62d40f26d7a6cc0b52fa82d6e527e5effae40407fe345cb23b1be2b5d0a5f8
diff --git a/dev-python/flufl-lock/flufl-lock-9.0.0.ebuild b/dev-python/flufl-lock/flufl-lock-9.0.0.ebuild
deleted file mode 100644
index b87583f11e15..000000000000
--- a/dev-python/flufl-lock/flufl-lock-9.0.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_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="NFS-safe file locking with timeouts for POSIX systems"
-HOMEPAGE="
- https://gitlab.com/warsaw/flufl.lock/
- https://pypi.org/project/flufl.lock/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/atpublic[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/sybil[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
diff --git a/dev-python/fonttools/Manifest b/dev-python/fonttools/Manifest
index ca00ca27133e..638c9c3177da 100644
--- a/dev-python/fonttools/Manifest
+++ b/dev-python/fonttools/Manifest
@@ -1,2 +1 @@
-DIST fonttools-4.62.1.gh.tar.gz 4012183 BLAKE2B a0ce63a4ee0a77ec52b00da7b2772f0e4916a41c58c9ce9eaa43c1120cace352ed244219dd0f9657ae7142c4a9c4d25d9c42746e941896ab10223c023820d9ae SHA512 6cd85502ea215c8d76918f82a633eae5e8961ad529f137e1064ab321c75167d86764198e9ae7bcdcbe6aed07ea6353a8e8ce318df58193afd2564a6f1d849b49
DIST fonttools-4.63.0.gh.tar.gz 4031830 BLAKE2B 8cdb1d9018a44898fd792ee538c88443ecda34d7c896d280578d96b80c2f80064ad057b1e4bcb4a865dd706eb3605e86768eb141317fdcf5947a99fc873a7421 SHA512 a2d8df4fd11f36c45e838953d6c8bf1e25999382422d5fc3fe3418c985c06f30b52073f738278cb2a7b19da6e227e5ae709f016661a17e7ae96023b7a762365e
diff --git a/dev-python/fonttools/fonttools-4.62.1.ebuild b/dev-python/fonttools/fonttools-4.62.1.ebuild
deleted file mode 100644
index 1d2fdb7145dd..000000000000
--- a/dev-python/fonttools/fonttools-4.62.1.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2026 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_{13..14} )
-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"
-
-BDEPEND="
- native-extensions? (
- $(python_gen_cond_dep '
- dev-python/cython[${PYTHON_USEDEP}]
- ' 'python*')
- )
- test? (
- dev-python/brotlicffi[${PYTHON_USEDEP}]
- dev-python/munkres[${PYTHON_USEDEP}]
- app-arch/zopfli
- )
-"
-
-EPYTEST_PLUGINS=( pytest-rerunfailures )
-# woff2 tests are extremely flaky
-EPYTEST_RERUNS=20
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-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() {
- # nonfatal for virtx
- nonfatal epytest Tests fontTools ||
- die -n "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/fonttools/fonttools-4.63.0.ebuild b/dev-python/fonttools/fonttools-4.63.0.ebuild
index fdf4877e363d..1d2fdb7145dd 100644
--- a/dev-python/fonttools/fonttools-4.63.0.ebuild
+++ b/dev-python/fonttools/fonttools-4.63.0.ebuild
@@ -22,7 +22,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
IUSE="+native-extensions"
BDEPEND="
diff --git a/dev-python/fs/Manifest b/dev-python/fs/Manifest
deleted file mode 100644
index 7d112fee3d53..000000000000
--- a/dev-python/fs/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST fs-2.4.16.tar.gz 187441 BLAKE2B 5a59dd5bcaae19180a918ba0ceb99b598134d73e4c9ecad840b3cf3041613171367d878d147f045005a87636e8f2145451252d646dbffb8d0f3ae6ac254142ee SHA512 7d9a03b5a782cce048189a7ff527757e60ef6fbb99925713b0179dc9c483f63b54fb1911f39bf2230366c789c526a1b8927863ce93e13a0f71fd8734a7fdb9df
diff --git a/dev-python/fs/fs-2.4.16-r2.ebuild b/dev-python/fs/fs-2.4.16-r2.ebuild
deleted file mode 100644
index cbabdd657299..000000000000
--- a/dev-python/fs/fs-2.4.16-r2.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-# py3.14: https://github.com/PyFilesystem/pyfilesystem2/issues/596
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="Filesystem abstraction layer"
-HOMEPAGE="
- https://github.com/PyFilesystem/pyfilesystem2/
- https://pypi.org/project/fs/
-"
-
-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/appdirs-1.4.3[${PYTHON_USEDEP}]
- dev-python/pkg-resources[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- >=dev-python/six-1.10[${PYTHON_USEDEP}]
-"
-# NB: we skip tests requiring pyftpdlib
-BDEPEND="
- test? (
- dev-python/parameterized[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs/source dev-python/sphinx-rtd-theme dev-python/recommonmark
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # TODO: fails at teardown due to unfreed resources
- tests/test_ftpfs.py
-)
-
-src_prepare() {
- # fix for python 3.12
- sed -i -e 's/self.assertRaisesRegexp/self.assertRaisesRegex/g' fs/test.py || die
-
- # remove explicit namespace (this is the only package in the namespace)
- sed -i -e '/pkg_resources/d' fs/__init__.py || die
-
- distutils-r1_src_prepare
-}
-
-pkg_postinst() {
- optfeature "S3 support" dev-python/boto
- optfeature "SFTP support" dev-python/paramiko
- optfeature "Browser support" dev-python/wxpython
-}
diff --git a/dev-python/fs/metadata.xml b/dev-python/fs/metadata.xml
deleted file mode 100644
index fa5bbfdc1bac..000000000000
--- a/dev-python/fs/metadata.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches />
- <upstream>
- <maintainer status="unknown">
- <email>will@willmcgugan.com</email>
- <name>Will McGugan</name>
- </maintainer>
- </upstream>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/dev-python/fsspec/Manifest b/dev-python/fsspec/Manifest
index af07139ac84a..0bd7f0fdad7e 100644
--- a/dev-python/fsspec/Manifest
+++ b/dev-python/fsspec/Manifest
@@ -1,2 +1,3 @@
DIST filesystem_spec-2026.3.0.gh.tar.gz 452108 BLAKE2B cf4f4ef45908453934a1b63e1114d012f7c33bd4400b4c1193215e616243340dce642508c11e4b4f38f3e3db3b3ce6a5ad339669cf2e1a6ce8725ada7d9122b2 SHA512 861a9b1f88b80e41a3aa1e6d199a6c1a33db481fd9da17659c6a8e56857043103c6215a52550a403207ee296355e58acad8334ea6fe0af52a0a8cab8ac06dc7e
DIST filesystem_spec-2026.4.0.gh.tar.gz 455367 BLAKE2B b47f54816eb19caf256e1291be7395493db82fa10c90f81a3b06ed49a8bf90aff23350f904ae0aae4fa4b54b7c6d4d6a08279c3307036822bd7dc35888fa3440 SHA512 289669397c965af7e9242b9cc181bba5bbac8ead95e4288135ce2cd209e37a15c0361652f221f2e0c68161041b24848113ad104582bc27188357da5ca3e29701
+DIST filesystem_spec-2026.6.0.gh.tar.gz 458381 BLAKE2B 730479548ddc6f7727e0ff1d303f037951b71c3eefd0635e82923c262bf3f613ab8351ba7363c0498b98ccc8cb9b4f5312e669a93412f49fb3b6bca77c291959 SHA512 d05023fe56a643bfcfe7cd02898734334d78c9d72ad37be19778263ec25aa3ce2a66c26f3fc4468090dec4e93e17acb79a583ff622fe77b5a3b9fdc095730f7d
diff --git a/dev-python/fsspec/fsspec-2026.6.0.ebuild b/dev-python/fsspec/fsspec-2026.6.0.ebuild
new file mode 100644
index 000000000000..ea1bfbb272c6
--- /dev/null
+++ b/dev-python/fsspec/fsspec-2026.6.0.ebuild
@@ -0,0 +1,61 @@
+# Copyright 2020-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{13..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/gherkin-official/Manifest b/dev-python/gherkin-official/Manifest
index 20b6cb4cca56..a3bc98bdc73f 100644
--- a/dev-python/gherkin-official/Manifest
+++ b/dev-python/gherkin-official/Manifest
@@ -1,2 +1,2 @@
-DIST gherkin-39.0.0.gh.tar.gz 3885357 BLAKE2B 209acde06c105b64850812d06045aff6f458800cfe67a9a403ab6698c85f3fa0f66e78942348249aed3f037f065b754d56502832b59f7d61f97c54c144995423 SHA512 dcb42b7b4dcdad5584d0de15a7e1381ae67a4e15f0970a46e726af39c5c1a3c19be7b6bbb0332b96bb7c0d95a1c6b03b02916e5b9c73002989b85f6ec7612e30
DIST gherkin-39.1.0.gh.tar.gz 3795075 BLAKE2B 06f19e8166edaa552b9e65313bb8f02006d94e39dd301777b2ae659e7ddd582f5ac2b7b397a97fab0327a1f264f211cfaa9902977dd9c04fc3944ac347a63804 SHA512 b38926b8477c8aca32296f95a4dc3a5f4a36572a331b02c8da3fca53538e1311cd409cc619f50172921afbf0cb0e3e0392f4336cff58f8ee54c625fc5cd493f8
+DIST gherkin-40.0.0.gh.tar.gz 3794860 BLAKE2B d2eabb4ea0c826b97f4b667da3d846d9d4fe5e9486e7735e8564c606a6e21e10a89f4f73112d40b970f8a5c8feeaad8dbb048bcb5598958e657a18548dc79826 SHA512 ee0d0cc7fd38f1365d42dca47d9dd5e93a6ec9830c891821b116416a4e1d4206c8dc849b69d1ae28183788a6243f64f37659efb3d46455adb84a62163e075bfb
diff --git a/dev-python/gherkin-official/gherkin-official-39.0.0.ebuild b/dev-python/gherkin-official/gherkin-official-40.0.0.ebuild
index 49aec666478b..46e2dca9e598 100644
--- a/dev-python/gherkin-official/gherkin-official-39.0.0.ebuild
+++ b/dev-python/gherkin-official/gherkin-official-40.0.0.ebuild
@@ -21,13 +21,13 @@ S=${WORKDIR}/gherkin-${PV}/python
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm64"
+KEYWORDS="~amd64 ~arm64"
RDEPEND="
dev-python/typing-extensions[${PYTHON_USEDEP}]
"
BDEPEND="
- >=dev-python/uv-build-0.10[${PYTHON_USEDEP}]
+ >=dev-python/uv-build-0.11[${PYTHON_USEDEP}]
"
EPYTEST_PLUGINS=()
diff --git a/dev-python/git-review/git-review-2.5.0.ebuild b/dev-python/git-review/git-review-2.5.0.ebuild
index 8e72ce5591df..ac6e66cb3357 100644
--- a/dev-python/git-review/git-review-2.5.0.ebuild
+++ b/dev-python/git-review/git-review-2.5.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -34,6 +34,8 @@ RDEPEND="
BDEPEND="
>=dev-python/pbr-4.1.0[${PYTHON_USEDEP}]
test? (
+ >=dev-python/fixtures-4.3.2[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}]
virtual/jre:*
)
"
diff --git a/dev-python/gitpython/Manifest b/dev-python/gitpython/Manifest
index 447026eff836..9b1ed9472471 100644
--- a/dev-python/gitpython/Manifest
+++ b/dev-python/gitpython/Manifest
@@ -1,8 +1,4 @@
-DIST GitPython-3.1.47.gitbundle 11335288 BLAKE2B a8abc7a62394e17b68db20564c96b46c92e2d9b3478ddf92118ead3d1ebb3ee808fc12ee8a0a6c198933fdfa05bb85e1f5c81f83e2a42f2236f56b02397d01e0 SHA512 902fd87069f61b1cf3612a50a329c21547b1139729e5f360c4353203139754f742b23c1ab4186bed86c5ede52d3efa7443386ebafe4b1a181e1805b79ced38a6
-DIST GitPython-3.1.49.gitbundle 11348614 BLAKE2B d1f5326acfd7de2f89a703ee464e7a60505e32d0b73dadf095f3ab4420143605690381bd33f9528510c45e102d3834ad2d96d57cbfdda8e67f885cafd22fccbf SHA512 02c2426c8c9405623e9c985dc4ea740c5b23ed872410b1e6078cbf4117e0d267569ff9da81bd13c627ccea7771ef11de5a1b90bdb3ed83e86404fa7c44cd64c0
DIST GitPython-3.1.50.gitbundle 11365195 BLAKE2B a1c889dd431d94ef6a70aa7c26b29fcbc2a27224a7f939422ed2fb0bc77ccd63f96adb9fffde05ea8bf7947cdf6855c7096582f6763b1a4c790ab5e00011560c SHA512 11a09d70d5ba8527d0907739b6a7c355d62692afddfcd2cc4f31f30e0546746c824b29264429676f3a5b27136945901147590e4862fab6561e30a42aac059801
DIST gitdb-4.0.12.gitbundle 1627457 BLAKE2B 2fb730fb72f682bac9a71a2b70af6ed476f69d57e00b323e669550793bcc330bd4b71575e0d0f008ed58f39e5beb622213ce2a10df6f512f1f5536b72c77871a SHA512 2fc619f511e373ad2ee51a108057e3a558dbfd68cbd7632244d7fd7914ed5fce99c182de5542264273de642e6e7680ee9b54a6da95224c562f43cf65e325db56
-DIST gitpython-3.1.47.tar.gz 216978 BLAKE2B 8a593b3791d8d862fce40e34edde06eaf65f7a8ecb30312cb16ddac575fd5fee8b516ce2f9af396acaa932dd8f0d61d50e1f08becb857739e99c32bade6e8dd7 SHA512 8d22607c14fccf3566e1f8da36703af3e2cc4fa5a04b20a02598b42373ede9a189cc87f8450e0c45f20097c06d76c906aaf1186f2b768570b7ca1e19516f2af4
-DIST gitpython-3.1.49.tar.gz 219367 BLAKE2B 25e2d27ad324ee55227e016bddc40988e0d8bc7d6b9dcb66426939876ce18e1e1cc75873ea5ed9279ea8f169708ec17080a55c255dc557e61fe1c94425a4d52a SHA512 918c279d4c8834b0230c846ca4e4d81ed3a827060d5996f0971cd59ac81ccf1e373b0334b8316fddc6f35df9166bbbba8413b786b50cf46362731c13e209d035
DIST gitpython-3.1.50.tar.gz 219798 BLAKE2B 405dce7a580de35973d460750df020d6c6959da36b46f724d45ed369d4a2bca98afe45947f35a66ee4ca746315a501173786b2e78970945ba285cd97199503cc SHA512 f5233ddd8eec95673df7ec035bc17c0f320277fa1392dff43e44f6781954d7e8d017832ae5e7b166bce094a16859468cbe0cef65ad40b13d75b77ab9a166c7f1
DIST smmap-5.0.1.gitbundle 362567 BLAKE2B 72c8b48ad3250a33b94218c145c02033dee84c1da5f1eea57983a58699262d51844be675330d95c7d64924b6aeaacd4b0a57e9a5acad3be184aaad62102202e7 SHA512 9ca8386bfec25d1562cdf1c2ee85f7edb15fd3f44ecd1abbef738979f12b82f0b0f39a06589203a39f89518d981d7129e35f64f2d855cd162cd964bdd87c8d18
diff --git a/dev-python/gitpython/gitpython-3.1.47.ebuild b/dev-python/gitpython/gitpython-3.1.47.ebuild
deleted file mode 100644
index 1e2b4aa78374..000000000000
--- a/dev-python/gitpython/gitpython-3.1.47.ebuild
+++ /dev/null
@@ -1,81 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_PN=GitPython
-PYTHON_COMPAT=( python3_{13..14} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 pypi
-
-TEST_P=GitPython-${PV}
-GITDB_P=gitdb-4.0.12
-SMMAP_P=smmap-5.0.1
-
-DESCRIPTION="Library used to interact with Git repositories"
-HOMEPAGE="
- https://github.com/gitpython-developers/GitPython/
- https://pypi.org/project/GitPython/
-"
-SRC_URI+="
- test? (
- https://distfiles.gentoo.org/pub/proj/python/GitPython/${TEST_P}.gitbundle
- https://distfiles.gentoo.org/pub/proj/python/GitPython/${GITDB_P}.gitbundle
- https://distfiles.gentoo.org/pub/proj/python/GitPython/${SMMAP_P}.gitbundle
- )
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-RDEPEND="
- dev-vcs/git
- >=dev-python/gitdb-4.0.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/ddt-1.1.1[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( pytest-mock )
-distutils_enable_tests pytest
-
-src_test() {
- git config --global user.email "travis@ci.com" || die
- git config --global user.name "Travis Runner" || die
-
- git clone "${DISTDIR}/${TEST_P}.gitbundle" "${T}"/test || die
- git clone "${DISTDIR}/${GITDB_P}.gitbundle" \
- "${T}"/test/git/ext/gitdb || die
- git clone "${DISTDIR}/${SMMAP_P}.gitbundle" \
- "${T}"/test/git/ext/gitdb/gitdb/ext/smmap || die
-
- cd "${T}"/test || die
- git rev-parse HEAD > .git/refs/remotes/origin/master || die
- # this tries to fetch again
- sed -i -e '/git submodule/d' init-tests-after-clone.sh || die
- TRAVIS=1 ./init-tests-after-clone.sh || die
- cat test/fixtures/.gitconfig >> ~/.gitconfig || die
-
- distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # performance tests are unreliable by design
- test/performance
- # unimportant and problematic
- test/test_installation.py
- # Internet
- test/test_quick_doc.py::QuickDoc::test_cloned_repo_object
- # TODO
- test/test_submodule.py::TestSubmodule::test_base_rw
- test/test_submodule.py::TestSubmodule::test_root_module
- )
-
- epytest -o addopts= test
-}
diff --git a/dev-python/gitpython/gitpython-3.1.49.ebuild b/dev-python/gitpython/gitpython-3.1.49.ebuild
deleted file mode 100644
index 1e2b4aa78374..000000000000
--- a/dev-python/gitpython/gitpython-3.1.49.ebuild
+++ /dev/null
@@ -1,81 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_PN=GitPython
-PYTHON_COMPAT=( python3_{13..14} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 pypi
-
-TEST_P=GitPython-${PV}
-GITDB_P=gitdb-4.0.12
-SMMAP_P=smmap-5.0.1
-
-DESCRIPTION="Library used to interact with Git repositories"
-HOMEPAGE="
- https://github.com/gitpython-developers/GitPython/
- https://pypi.org/project/GitPython/
-"
-SRC_URI+="
- test? (
- https://distfiles.gentoo.org/pub/proj/python/GitPython/${TEST_P}.gitbundle
- https://distfiles.gentoo.org/pub/proj/python/GitPython/${GITDB_P}.gitbundle
- https://distfiles.gentoo.org/pub/proj/python/GitPython/${SMMAP_P}.gitbundle
- )
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-RDEPEND="
- dev-vcs/git
- >=dev-python/gitdb-4.0.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/ddt-1.1.1[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( pytest-mock )
-distutils_enable_tests pytest
-
-src_test() {
- git config --global user.email "travis@ci.com" || die
- git config --global user.name "Travis Runner" || die
-
- git clone "${DISTDIR}/${TEST_P}.gitbundle" "${T}"/test || die
- git clone "${DISTDIR}/${GITDB_P}.gitbundle" \
- "${T}"/test/git/ext/gitdb || die
- git clone "${DISTDIR}/${SMMAP_P}.gitbundle" \
- "${T}"/test/git/ext/gitdb/gitdb/ext/smmap || die
-
- cd "${T}"/test || die
- git rev-parse HEAD > .git/refs/remotes/origin/master || die
- # this tries to fetch again
- sed -i -e '/git submodule/d' init-tests-after-clone.sh || die
- TRAVIS=1 ./init-tests-after-clone.sh || die
- cat test/fixtures/.gitconfig >> ~/.gitconfig || die
-
- distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # performance tests are unreliable by design
- test/performance
- # unimportant and problematic
- test/test_installation.py
- # Internet
- test/test_quick_doc.py::QuickDoc::test_cloned_repo_object
- # TODO
- test/test_submodule.py::TestSubmodule::test_base_rw
- test/test_submodule.py::TestSubmodule::test_root_module
- )
-
- epytest -o addopts= test
-}
diff --git a/dev-python/gitpython/gitpython-3.1.50.ebuild b/dev-python/gitpython/gitpython-3.1.50.ebuild
index 696f647771d9..1e2b4aa78374 100644
--- a/dev-python/gitpython/gitpython-3.1.50.ebuild
+++ b/dev-python/gitpython/gitpython-3.1.50.ebuild
@@ -29,7 +29,7 @@ SRC_URI+="
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-vcs/git
diff --git a/dev-python/google-api-python-client/Manifest b/dev-python/google-api-python-client/Manifest
index 19046202101b..4c43bf1abb6e 100644
--- a/dev-python/google-api-python-client/Manifest
+++ b/dev-python/google-api-python-client/Manifest
@@ -1,7 +1,3 @@
-DIST google_api_python_client-2.194.0.tar.gz 14443469 BLAKE2B 23bf328f9bde6ddc9a34fda4d2e9be87ff560f3c4190a3fb3a4adf441d6178d1cbb531e3d532974a28d388d43b8327f0329501d659360eef49fea01d41ab7fc6 SHA512 51c62af97c360270f2574b9c5c573a89258afb737d6267457cc86504e0fc66132b19bfbd2bb9413f9d73d3c5f8edcaa155fcb807c5e0407a7a1eed378238c3d0
-DIST google_api_python_client-2.194.0.tar.gz.provenance 5928 BLAKE2B c6f2f746d633be242e131d5aaafe7ee51f418eb0e489ccaae6186be32ba67bd909528479b0ba8800a2729bda6ca89f39f6388c801456cf3aac3808d0ec40081e SHA512 575884e1fd22321abdab31523e0d27f1e98f9a886cf6222ff7a923d60e6f00fa7635d3db80c55cf5ab873765248e5651a3bbefa0c5e1a6bc3f4b94ff243e4dac
-DIST google_api_python_client-2.195.0.tar.gz 14584819 BLAKE2B 603ea91e53864e3e20202de31de44a54652d7a7c20bfb20f5e138dca9eab1dcf2fe099426eaf83fa0a5a080c3f9348dba2f507da92a8f41d08f2b1274fa325bf SHA512 93c08c43fe4a2d2d2dd7f9b876d2fffea3b83d1b7b1f6750e023dd131c2756037957b58b34c4e657bc2e7f1b26978856bb84edfc17819f14bedba625f4a7fe90
-DIST google_api_python_client-2.195.0.tar.gz.provenance 5489 BLAKE2B baa6c5b529988bc9e74d8db9d28f3871f880d82a59f97a431880a700adb0921c7bd224b511bd976e3fc75ee67bf8a411ab99d85c4899f0c9247c48598f23dce7 SHA512 f0449e3a2f63c7507a036edf09d3fbfe0a4733fae39cf627dec99b50511ecf22b5b4fc443d0e0575e52d3feee0eca3bf63dc0d89eef163b7e508fec2a1763336
DIST google_api_python_client-2.196.0.tar.gz 14628129 BLAKE2B 009ce49622479b8c2945e2bd5e21db352d48a3ad19634f8683fe2d43f377f9e2e083326da58f930ebf7a528084418e88fc539cd455309e7f44ab35eb8105e477 SHA512 aed489e9fd8c21d78f2b28b11e79cc6b0eae91f36e26e7b7a3ff0b751a753ab6ed2e12252043aa439a2e488d1d354e985e60588588712ac2fda09588ffe60367
DIST google_api_python_client-2.196.0.tar.gz.provenance 5646 BLAKE2B ef634fe2f2b7319f85e43288c537d7f40f5c3f25d32a2c65f793eea41cd91466e750ff4f77bdc86c1b10b0b15555fceceb61de74240ae2ad49bba7ab80596f98 SHA512 e7411c26e2d2f31b957e0443bf2ccd73a6615c421ea7ecde8c215cc1d12287772c5c8c0b12abab90ecd790486b0fec90675d19d4765d7fc56fb5580e5cf708b0
DIST google_api_python_client-2.197.0.tar.gz 14707398 BLAKE2B e0eaf69bbf4ca9d16140fb7934d9c508c0a47b768a4499060a3a7a1760534d07ea3a4c899a24f3f36ac2ffaf58ea57397a43f65209f5fb3f97a463f6a49a8e8c SHA512 d6d81bcd8ceb5374bc05efc42e4a1a992e9ccd7558a7cdd35e41b5fc80938cb4d5394950d464630d858297f4637223ceae40f78e1d979328d1f8619e92f396c3
diff --git a/dev-python/google-api-python-client/google-api-python-client-2.194.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.194.0.ebuild
deleted file mode 100644
index c4890dfc16d7..000000000000
--- a/dev-python/google-api-python-client/google-api-python-client-2.194.0.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_VERIFY_REPO=gcp:google-cloud-sdk-py@oss-exit-gate-prod.iam.gserviceaccount.com
-PYTHON_COMPAT=( python3_{13..14} )
-
-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}]
- )
-"
-
-EPYTEST_PLUGINS=()
-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.195.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.195.0.ebuild
deleted file mode 100644
index c4890dfc16d7..000000000000
--- a/dev-python/google-api-python-client/google-api-python-client-2.195.0.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_VERIFY_REPO=gcp:google-cloud-sdk-py@oss-exit-gate-prod.iam.gserviceaccount.com
-PYTHON_COMPAT=( python3_{13..14} )
-
-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}]
- )
-"
-
-EPYTEST_PLUGINS=()
-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.196.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.196.0.ebuild
index 3512667538c8..c4890dfc16d7 100644
--- a/dev-python/google-api-python-client/google-api-python-client-2.196.0.ebuild
+++ b/dev-python/google-api-python-client/google-api-python-client-2.196.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 x86"
RDEPEND="
>=dev-python/httplib2-0.15[${PYTHON_USEDEP}]
diff --git a/dev-python/google-auth-httplib2/Manifest b/dev-python/google-auth-httplib2/Manifest
index 090633842fdd..6426a022741f 100644
--- a/dev-python/google-auth-httplib2/Manifest
+++ b/dev-python/google-auth-httplib2/Manifest
@@ -1,3 +1,2 @@
-DIST google_auth_httplib2-0.3.1.tar.gz 11152 BLAKE2B fdf8ae1af14f8322cd53418bcc7b200d817ec5f4c12b45cfc429c6544c2e90d5ab2376858536d7e19f9976a9edd3d353f3e9f5fa1ddd975a9e8eb5e5ac862b06 SHA512 9c5df884fdb7ca6b33a86b55a3ceedf5ff32dac676cb419d592d21dcef887c09580a748895e7bc34ede610e4a2ebcba101b4f2e8ff17512bca81a95cdc620408
DIST google_auth_httplib2-0.4.0.tar.gz 11161 BLAKE2B 49754f561cc1ae00f9a5f92ccd02765d9f089ffa60cda7338e322fa10406cc577c9f5a745e6be7a72b67c3a7e44c6f23dfa4253739b68ef1aae5e7c115a7a5bf SHA512 edbe485786d497cf58eafc66bad70eaea66e242b5be07e66a8290ea4bd4f8b6c3c5e7851bb72160021e75ab56fb952a090b33b55e60f43085f966f2cdccff21a
DIST google_auth_httplib2-0.4.0.tar.gz.provenance 6108 BLAKE2B 82c89f074de30d96259f4266f33ee1c2e5da9b95ee0c6cfd60bb1f42a545b065e94e8d5626c4ae97a9e93ac8e08e0478b13a50eca553e2df10d073a8458807a4 SHA512 77b6963f3f13f8911a717e1ee9a08bb5846bfc42262b07eeca0e1ba2da8fa57d245ad1246e47e536291a58592d08f642eaee29b8c1c30649922c209d8693da02
diff --git a/dev-python/google-auth-httplib2/google-auth-httplib2-0.3.1.ebuild b/dev-python/google-auth-httplib2/google-auth-httplib2-0.3.1.ebuild
deleted file mode 100644
index 0e550348a388..000000000000
--- a/dev-python/google-auth-httplib2/google-auth-httplib2-0.3.1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="httplib2 Transport for Google Auth"
-HOMEPAGE="
- https://pypi.org/project/google-auth-httplib2/
- https://github.com/googleapis/google-auth-library-python-httplib2/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-RDEPEND="
- <dev-python/httplib2-1[${PYTHON_USEDEP}]
- >=dev-python/httplib2-0.19.0[${PYTHON_USEDEP}]
- <dev-python/google-auth-3[${PYTHON_USEDEP}]
- >=dev-python/google-auth-1.32.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/flask[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( pytest-localserver )
-distutils_enable_tests pytest
diff --git a/dev-python/google-auth-httplib2/google-auth-httplib2-0.4.0.ebuild b/dev-python/google-auth-httplib2/google-auth-httplib2-0.4.0.ebuild
index d6b715d8aebc..dd9f6190432f 100644
--- a/dev-python/google-auth-httplib2/google-auth-httplib2-0.4.0.ebuild
+++ b/dev-python/google-auth-httplib2/google-auth-httplib2-0.4.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 x86"
RDEPEND="
<dev-python/httplib2-1[${PYTHON_USEDEP}]
diff --git a/dev-python/google-auth-oauthlib/Manifest b/dev-python/google-auth-oauthlib/Manifest
index 2f171303c4c1..a456794bd70b 100644
--- a/dev-python/google-auth-oauthlib/Manifest
+++ b/dev-python/google-auth-oauthlib/Manifest
@@ -1,3 +1,2 @@
-DIST google_auth_oauthlib-1.3.1.tar.gz 21663 BLAKE2B 3f13da63b5e11a07f7149cb16b8bdb6bdaca3c2b5099d0f90b7fd027b80142b1c2ced39b3ff67b9789a36300b20bcd6bdc917a6450e4b192f273725e5c4c9ccf SHA512 1da9dcd3de906dddf8f230ca20891a62deee42e7299e41ac93354e75dcc4fc06e1daaf6b8133055445b906d19ce8fffce7341e89290eac5fae20007898e06f3b
DIST google_auth_oauthlib-1.4.0.tar.gz 21675 BLAKE2B 47f0ab27e922ea95f64dde1409ddb02b50ed293302dd4d2528cfdf5ebcebfb30883f6635d5cdd9d3f9ff8ffe503dfa4f37102a807f84792c46d179fa0f3dd263 SHA512 5bf3d2d91b23f3e2ed2abbf65e3318de8470224624afce2e0c980521a5b6b2e83b73f3c583ef4ff1e7d4932f5cc2c087f677ff287fb2851da701c0e0013b255e
DIST google_auth_oauthlib-1.4.0.tar.gz.provenance 6108 BLAKE2B 1a94fbbf2a00921265f2c0d025a757e310d09718b1771a33964a938b4a9939f6b60c54b20e2b32ff4b0abb88133417f33f66cd5ee2fed6723567b2d73774e272 SHA512 53771de2c0c0961dcbdc3c87b9819b2c36ccde57d7c3b6dcdeea7e81b3f0126f9f3738e00de354c88b72a7097ac99c331b974338fd1f25b9fbeb9767efb4d2c8
diff --git a/dev-python/google-auth-oauthlib/google-auth-oauthlib-1.3.1.ebuild b/dev-python/google-auth-oauthlib/google-auth-oauthlib-1.3.1.ebuild
deleted file mode 100644
index eb8dd1266e58..000000000000
--- a/dev-python/google-auth-oauthlib/google-auth-oauthlib-1.3.1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Google Authentication Library"
-HOMEPAGE="
- https://github.com/googleapis/google-auth-library-python-oauthlib/
- https://pypi.org/project/google-auth-oauthlib/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/click-6.0.0[${PYTHON_USEDEP}]
- >=dev-python/google-auth-2.46.0[${PYTHON_USEDEP}]
- >=dev-python/requests-oauthlib-0.7.0[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
diff --git a/dev-python/google-auth/Manifest b/dev-python/google-auth/Manifest
index e87c734a6dcf..cc94027fd034 100644
--- a/dev-python/google-auth/Manifest
+++ b/dev-python/google-auth/Manifest
@@ -1,8 +1,6 @@
-DIST google_auth-2.49.2.tar.gz 333958 BLAKE2B e89901c46b0f4b84ecc43eeb99c45d26afac6d5bfe0989bbf8619afabeaca7d3968a6a1a9a09aefcdc9de48d4390bc5a4e5d25cc8fe2681ed570fa018be56a0d SHA512 9f4d937577a9f007ba53c38031b36ea30f75383b2764f94bf95024c7537d3c75bce4482b8e27ff6a31c72b33623455eb32df0709d9351eff3a942d080c74c007
-DIST google_auth-2.49.2.tar.gz.provenance 5673 BLAKE2B 397cc01fadb64b9c7d04ef86bf109466b3676702139604d5cc856e9f98afcc39102db269c3b58c05b50d18ce3700f59d1c4b180a91affc31efe7b3270b1d1e72 SHA512 9299e45f499b8a12745e983fcca235fb0dcfe693c776b58a00a2baef4dd1d1eec456fe5f8fc991539acc082f1864e7dfcb2b8756a58afb7ffc360a50a4c8d1f5
-DIST google_auth-2.50.0.tar.gz 336523 BLAKE2B 901da978eb40c2e3e715fe5317f3e54a0bb293dacfd13a2a93ffafe68961a7062ecb7a3530435b2280ba9a36e0596ef7ae2f65290ad076d21cae1e51635e93c7 SHA512 970fbd2f72073be9b642c904530dbc1538621c828c85d7a1b941b79f1fdbb591a7a993787eeb9bc327335dfeb78b5808bebbf8b0159c75403ad8a6e7bf18fd45
-DIST google_auth-2.50.0.tar.gz.provenance 6080 BLAKE2B 69f78d8197460ecc31d43a1a620774e0f396a4a48165c7421156f0c609afa7fe163660bd1a1d5f548c9436cf7a60f882a0c52ae1113a2bb8d132d0c029041fbd SHA512 b2f6aa52cd2c410be60ee9622eb962a96e048335b7d3a5dc880f1987d3fecaec8c5f779c03dab2bedeaa8e163e192d86c3172af121c348c7577b58733661246a
-DIST google_auth-2.52.0.tar.gz 335027 BLAKE2B 173ed406dc121a8e42ac0f18de82152acadade9023ee5fd2b20b8ff19e87d4ce8dcc74362c2fd4b48a2bacd4a362acf5924a45eb5277a6c08e46d8e57cc4bce5 SHA512 8394fed5deea5d174399377cf4c5669ee7d937c6c7ddd983e6675daf0940fe7c9d22af95ab74e177ff83be4279082061df71a066612931e091d800e533d34b99
-DIST google_auth-2.52.0.tar.gz.provenance 6002 BLAKE2B 0b66f2927501f0e68b9218a30caf32c69f18f61d54e9b9993a05bc32ef6d957888c51dc9bcf6139e57cd1e349f32ee841b648c481f897137298e8b2b3b391660 SHA512 0aff27e739cce13a7c5571e913b7c2c923d6491cc24fb26dfeaa17f0befeb49cfb4626f5a9a4bde43bcfd713893d7f2a1073a80ba4e97812ed218ab25af92156
DIST google_auth-2.53.0.tar.gz 335844 BLAKE2B 6a7c276fb2d801dac37e586031ea156fd48243aa97f4159e03d4767a041276bfff3d2fbc33af4add4d6302c95fb725aa9ebe70c1b5cfc0094349b76b9c4a755e SHA512 fecfb268bd969ce3f37e79c252e109ea805159f84f51777e5665b0692c9e600f0f11728a6896dfcee92421bafa71be5ea1fcf5fdbabbad4eb1acb18474cfdb31
DIST google_auth-2.53.0.tar.gz.provenance 5798 BLAKE2B d21344a0a764b295ed7f6f5fcd97e4a931ba7eaeb0c7890b184ce737d7ca8b92eafdc62c23b5c07c3005a2349530856c3027941cdf9ae4c3919e12703a344c84 SHA512 cfac1fe0415f24d6024b2d968818a8feecce6af2c9886dfbc52a17eb35197190278176202b5c3e859b330ec90fe729f38b755bf66bd7388508d499e0896d8aaa
+DIST google_auth-2.54.0.tar.gz 343161 BLAKE2B 69268cb3678e3ec09380936e4d5aa1d3ea011664269366d9228451c478d651f1f0fe3240899ad648fbc99433b0d1ba2a546391e588e74620f5dec7111f831f29 SHA512 fc65a273381f63215062c79609b35e43fdd7f802e165b3b1f609f85a498418ff9cc8463110779d2280d8d38de883e5e744acd2ad1148b9b33da4aa14b0d1a22c
+DIST google_auth-2.54.0.tar.gz.provenance 5950 BLAKE2B 08c92d3ea4e325b0ffa9cd63747ed54915cc482b34aed06904de44e27d82639f279751a42f9930115e76fadaf157d53fda0c31abaec87709ad18e69b69fbf45b SHA512 11a6a3f0db49560a74bd791f3811fdacd1bddf1f8d2b165b72447f3969b720850ed5187d6fd16a2dd8b14499f4432b5bd752f3deda480b42ec5a4ecbccd7d851
+DIST google_auth-2.55.0.tar.gz 349379 BLAKE2B 9f990ddee219af69fb3c7596fe3ef6ea878c699f4c09bee660d782bc5452ae06da8752b7e95b023014daf3f9486673a809da74b2c0e032992d8248f8ae61d71b SHA512 923e043d59a406eaf297b03ed865d67d25ab7f938684d4c4c55523d7dbb90699edd4ce206a3f3670cf9e6ba6939195f9f668c9fa2d9a8e8dee23fb8acafd4e35
+DIST google_auth-2.55.0.tar.gz.provenance 5852 BLAKE2B eae13be386a314dcb388906e7911f01238246da96338153bf59c906917bb25fc05855cd769669490a91c42a56dfbd9659c76324e5bd3611069b2fabd9b4f64f8 SHA512 e413a49690520b5a20ef12cec8d41ddc08ac023130aa384c85f7648f4dfdb3e910ed3f5c5ae1efc962960ba5d5769df5d6160536b04d8efa0bdc53dfb43ce5ea
diff --git a/dev-python/google-auth/google-auth-2.50.0.ebuild b/dev-python/google-auth/google-auth-2.50.0.ebuild
deleted file mode 100644
index fb04c82a3fd3..000000000000
--- a/dev-python/google-auth/google-auth-2.50.0.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_VERIFY_REPO=gcp:google-cloud-sdk-py@oss-exit-gate-prod.iam.gserviceaccount.com
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Google Authentication Library"
-HOMEPAGE="
- https://github.com/googleapis/google-auth-library-python/
- https://pypi.org/project/google-auth/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-# TODO: rsa is now optional
-RDEPEND="
- >=dev-python/cryptography-38.0.3[${PYTHON_USEDEP}]
- >=dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}]
- >=dev-python/pyasn1-modules-0.2.1[${PYTHON_USEDEP}]
- >=dev-python/rsa-3.1.4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/aioresponses[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/freezegun[${PYTHON_USEDEP}]
- >=dev-python/pyjwt-2.0[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/pyu2f[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/responses[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( pytest-{asyncio,localserver} )
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # tests are broken with up-to-date pyopenssl
- tests/transport/test__mtls_helper.py::TestDecryptPrivateKey::test_success
-)
-
-EPYTEST_IGNORE=(
- # these are compatibility tests with oauth2client
- # disable them to unblock removal of that package
- tests/test__oauth2client.py
-)
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # unpin deps
- sed -i -e 's:,<[0-9.]*::' setup.py || die
-}
diff --git a/dev-python/google-auth/google-auth-2.53.0.ebuild b/dev-python/google-auth/google-auth-2.53.0.ebuild
index f3170dac084a..fb04c82a3fd3 100644
--- a/dev-python/google-auth/google-auth-2.53.0.ebuild
+++ b/dev-python/google-auth/google-auth-2.53.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 x86"
# TODO: rsa is now optional
RDEPEND="
diff --git a/dev-python/google-auth/google-auth-2.52.0.ebuild b/dev-python/google-auth/google-auth-2.54.0.ebuild
index f3170dac084a..f3170dac084a 100644
--- a/dev-python/google-auth/google-auth-2.52.0.ebuild
+++ b/dev-python/google-auth/google-auth-2.54.0.ebuild
diff --git a/dev-python/google-auth/google-auth-2.49.2.ebuild b/dev-python/google-auth/google-auth-2.55.0.ebuild
index fb04c82a3fd3..d5de668c806b 100644
--- a/dev-python/google-auth/google-auth-2.49.2.ebuild
+++ b/dev-python/google-auth/google-auth-2.55.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 arm64 x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
# TODO: rsa is now optional
RDEPEND="
@@ -46,6 +46,8 @@ distutils_enable_tests pytest
EPYTEST_DESELECT=(
# tests are broken with up-to-date pyopenssl
tests/transport/test__mtls_helper.py::TestDecryptPrivateKey::test_success
+ # modern aiohttp
+ tests/transport/aio/test_aiohttp.py::TestRequest::test_request_clone_with_active_session
)
EPYTEST_IGNORE=(
diff --git a/dev-python/googleapis-common-protos/Manifest b/dev-python/googleapis-common-protos/Manifest
index 7153cfc671ef..fcdebf290da9 100644
--- a/dev-python/googleapis-common-protos/Manifest
+++ b/dev-python/googleapis-common-protos/Manifest
@@ -1,9 +1,2 @@
-DIST googleapis_common_protos-1.72.0.tar.gz 147433 BLAKE2B faff25167527b2798d7d32267818771246590f07c8ba9f6a75da4e3e904d56e27e2fc6b722e9f0ac2eda2ac99307114d6235d9c410d4df0df861fa289c9e6424 SHA512 daa6e3497e9849a323aaf4d5394bb3dc3fc5102f1547a6d9d09f9ae7112f32de62ba2bd5c18debdde7520b42b046ed8bd91485b900657631b16b92f58ce8195f
-DIST googleapis_common_protos-1.73.0.tar.gz 147323 BLAKE2B 6c471d1f246affbfd2e9f368bf1fd3b4bf9d0401f3bd3cda5633c21a822cc8e543cea16d2adebc11c64c20221718a7590216f90f3b5c00e42a74c84cf5d60872 SHA512 e1da403b6d5e7ba2dab0f6c6b8a1421bf25d7ad8ca0197662d7f336df9028341744f64cb61d83d414274fc2a66d15f9a45be28eb4cdccbed2e6dfb1145793679
-DIST googleapis_common_protos-1.73.0.tar.gz.provenance 5968 BLAKE2B 36ec8c8325dd097877874f29a6c9e8575e7cb0f49c42f81dd2986146bc690af37d8d47c6163b29dde2646544cd61fd057729043fb78b0012e6c972cec56c074d SHA512 e80a81c931fa25fdbc67c4607d23df98d5d52a5c803461c7f858a94da042b53fd248d1eef374477c0cd5d4cd42f56c7713452ae227e14a27f6636e04d8c01ae8
-DIST googleapis_common_protos-1.73.1.tar.gz 147506 BLAKE2B 69f01483bb738a7b4aab13a6d16152699b3a1c7cc221eba0eebb09d511c39ef6093951cb916b44807a4fdc5d04bead28cf35a9943d8b129cadfd90fd2a747ae3 SHA512 8b2a4ddf80d08d09acbff5c246ee43a95ad66b7ebc91a1fdb8c5eb3074e41f64aea9161104bbe126fadf5855bf9dcbb3a86c2f6c7aa889251c2ac103af605e04
-DIST googleapis_common_protos-1.73.1.tar.gz.provenance 6159 BLAKE2B f0a7a335e133cbb484e7cbf7486c6a448694ca67dc0d28b63ad0b7523503dfe646084ea1da4b07ee1434ac3fd4428c5536fee80cdf21248d60439530c2c5bbf3 SHA512 c5023e83b9e000f0b343faef1876e16056b0221748f04f50cb3153692754c8ba3e67988686bb881f6ee11901b5ed807d00fc75ab5598ee9d50d3f5ecbf2f3e20
-DIST googleapis_common_protos-1.74.0.tar.gz 151254 BLAKE2B 77cc297df72f6a9ec878cc7c98dab795ee3ed2848e35f72412e25266b5c878b9a32c5d73c935c913f0fb6a8c1a59c3ba2c7df82157dccc5cc5a561142131d216 SHA512 99b8d650aff8e9a26b2d5ed6bdb0f13bffcb4041d5d1d6519b8a3be7a45a2ca73d2b5dd51690a4bfe3bf14122fed34d3bc12b83996a6fcbab554e98f7d8132c0
-DIST googleapis_common_protos-1.74.0.tar.gz.provenance 5677 BLAKE2B 9203b2990e9456cbd7ba6ffe13ec27d1636d90c6c07219f872d085652dd6849343ecf9e12095b97474752d5d6a188330a47dd05fba8362f5b9467f1912d689ef SHA512 6cee6c16d59632e9d52c8adeb01660d70aaba4b9a0b6e547f6694e471b79eefe0caa9f3aaa054bf3a189a17a4955126e2639f2d861419f847a773d6a23be822c
DIST googleapis_common_protos-1.75.0.tar.gz 151035 BLAKE2B d6910486f1524f1ff02343481772958a62c4c3457c65b0b31a22cb640583303d391d8e04bb087c6f41cccd06da0e1a4f3f5c9afad3eab88d7ef2a5c62368a402 SHA512 08c87d0a4d828b46e24d3caf44b85c31c045b6316621e9afdcca8e652d04daab67f9067f4add0ee5082b68f74ea63ba615836eb9492fec79e89689edee0a6684
DIST googleapis_common_protos-1.75.0.tar.gz.provenance 5955 BLAKE2B 9ee1ee297caeba0a7f3c9bdf42e55d09acf286289e6f156f3417dac329838e1c6d1ea62c15fa99ec3f08003fa889e2b1022c742addbfa4802bdae74f0f156b32 SHA512 c4ec17bfcb93faf2f8a840e1d120c62282766f272c8d2578a7841f3bd45f84f71544b20692c6e655aa45e91a3e112f92b6d0009e10b306a046de8df33b724ac9
diff --git a/dev-python/googleapis-common-protos/googleapis-common-protos-1.72.0.ebuild b/dev-python/googleapis-common-protos/googleapis-common-protos-1.72.0.ebuild
deleted file mode 100644
index e4610c4a0fea..000000000000
--- a/dev-python/googleapis-common-protos/googleapis-common-protos-1.72.0.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2020-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python classes generated from the common protos in the googleapis repository"
-HOMEPAGE="
- https://github.com/googleapis/python-api-common-protos/
- https://pypi.org/project/googleapis-common-protos/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 x86"
-
-RDEPEND="
- <dev-python/protobuf-7[${PYTHON_USEDEP}]
- >=dev-python/protobuf-3.15.0[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
diff --git a/dev-python/googleapis-common-protos/googleapis-common-protos-1.73.0.ebuild b/dev-python/googleapis-common-protos/googleapis-common-protos-1.73.0.ebuild
deleted file mode 100644
index 98d8c9ad88a1..000000000000
--- a/dev-python/googleapis-common-protos/googleapis-common-protos-1.73.0.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2020-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_VERIFY_REPO=gcp:google-cloud-sdk-py@oss-exit-gate-prod.iam.gserviceaccount.com
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python classes generated from the common protos in the googleapis repository"
-HOMEPAGE="
- https://github.com/googleapis/python-api-common-protos/
- https://pypi.org/project/googleapis-common-protos/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 x86"
-
-RDEPEND="
- <dev-python/protobuf-7[${PYTHON_USEDEP}]
- >=dev-python/protobuf-3.15.0[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
diff --git a/dev-python/googleapis-common-protos/googleapis-common-protos-1.73.1-r1.ebuild b/dev-python/googleapis-common-protos/googleapis-common-protos-1.73.1-r1.ebuild
deleted file mode 100644
index 59d82ba58983..000000000000
--- a/dev-python/googleapis-common-protos/googleapis-common-protos-1.73.1-r1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2020-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_VERIFY_REPO=gcp:google-cloud-sdk-py@oss-exit-gate-prod.iam.gserviceaccount.com
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python classes generated from the common protos in the googleapis repository"
-HOMEPAGE="
- https://github.com/googleapis/python-api-common-protos/
- https://pypi.org/project/googleapis-common-protos/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-
-RDEPEND="
- <dev-python/protobuf-8[${PYTHON_USEDEP}]
- >=dev-python/protobuf-3.15.0[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
diff --git a/dev-python/googleapis-common-protos/googleapis-common-protos-1.74.0-r1.ebuild b/dev-python/googleapis-common-protos/googleapis-common-protos-1.74.0-r1.ebuild
deleted file mode 100644
index 63ee0486e0a1..000000000000
--- a/dev-python/googleapis-common-protos/googleapis-common-protos-1.74.0-r1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2020-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_VERIFY_REPO=gcp:google-cloud-sdk-py@oss-exit-gate-prod.iam.gserviceaccount.com
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python classes generated from the common protos in the googleapis repository"
-HOMEPAGE="
- https://github.com/googleapis/python-api-common-protos/
- https://pypi.org/project/googleapis-common-protos/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 x86"
-
-RDEPEND="
- <dev-python/protobuf-8[${PYTHON_USEDEP}]
- >=dev-python/protobuf-3.15.0[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
diff --git a/dev-python/googleapis-common-protos/googleapis-common-protos-1.75.0.ebuild b/dev-python/googleapis-common-protos/googleapis-common-protos-1.75.0.ebuild
index de57a97f061d..54305ab2f3d4 100644
--- a/dev-python/googleapis-common-protos/googleapis-common-protos-1.75.0.ebuild
+++ b/dev-python/googleapis-common-protos/googleapis-common-protos-1.75.0.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 x86"
RDEPEND="
<dev-python/protobuf-8[${PYTHON_USEDEP}]
diff --git a/dev-python/griddataformats/Manifest b/dev-python/griddataformats/Manifest
index 64daa92f0ba7..aeec57a7a56d 100644
--- a/dev-python/griddataformats/Manifest
+++ b/dev-python/griddataformats/Manifest
@@ -1,4 +1,2 @@
-DIST griddataformats-1.1.0.tar.gz 5602377 BLAKE2B 158a1ffbc2792b0aaf91ce10729deb45640428585d8d02db5a6cc21ca6d006b58cb8dbadbec3e78c3136b54ea54ef320d7fbe160b0a460f6451bcc2fb98f15e1 SHA512 c33cb98c15d3cfba7b868bb729dd77e700cbb28f9e53e2cd217eeea0c886b1d86d46fac3f1c19a7361b52626e468492eb5c8875f3720b2639650c049234b5d7c
-DIST griddataformats-1.1.0.tar.gz.provenance 9662 BLAKE2B 0a273e756c7ab8c9fa5d48b3515a906e37547707b1ee440fe9987a15999c98455899ed87675a66c42d47efd73a27c1e1701ad8319f2fa47ebd0e7642a2e2d886 SHA512 1db9e6820dbe538b1bb56ca9c9a15c7820423e816b0bb94475f1b237850c0db5f7956bcd672fc3a2c57954b3987a0b807bd2fb73f140a6ab03bb936d5b045996
DIST griddataformats-1.2.0.tar.gz 5609433 BLAKE2B 6717f1cb84f80e9943939094f99017cb068adf8b1173f16043a26ac7937978ee2a5aa985f1e81e41ca791c0c372047ba3095486d1394ed2d119a0e7acb189887 SHA512 39853affa74a1c12f2b1feed7f984ba376655deac388c23619e61479c606acc46f6f0321af172a077fb37a87d31601764190abb993aa302beb8ea1f86612ff7f
DIST griddataformats-1.2.0.tar.gz.provenance 9529 BLAKE2B 0394ebd82c7ff558afce05c8858b396da3089558218534bbf0b7e8d07d97fbf034ec3eb83f910d5bc18c2cef3d80448797f78f5ce749812909d08483e7350768 SHA512 495a147d90efca41e274a37865053b3d2ebc735966145b41cf312fb7cb4dbd2cf43d74f3f7ad395a54e032b0c91b1a354f13d084b50c01aaf68cd0ad93da0356
diff --git a/dev-python/griddataformats/griddataformats-1.1.0.ebuild b/dev-python/griddataformats/griddataformats-1.1.0.ebuild
deleted file mode 100644
index 5479896252f5..000000000000
--- a/dev-python/griddataformats/griddataformats-1.1.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_PN=GridDataFormats
-PYPI_VERIFY_REPO=https://github.com/MDAnalysis/GridDataFormats
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Reading and writing of data on regular grids in Python"
-HOMEPAGE="
- https://pypi.org/project/GridDataFormats/
- https://github.com/MDAnalysis/GridDataFormats/
-"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/mrcfile[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.21[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
diff --git a/dev-python/grpcio-status/Manifest b/dev-python/grpcio-status/Manifest
index 97b6dc887025..43fc3f666f76 100644
--- a/dev-python/grpcio-status/Manifest
+++ b/dev-python/grpcio-status/Manifest
@@ -1,2 +1,3 @@
DIST grpc-1.80.0.gh.tar.gz 15772645 BLAKE2B 48f3acc5c3268f651dc865ce3095c306ad3fa0a4eacf6e6eea499d961c0e001e2ab43fe8f0d53713d19998f28ce0184045ad2a8ef4cdc41aee31e2fe70e2b53e SHA512 5ef6ec2277dcb2257f8ac7546057e9a3da6668676a3a4ff64e08e66abb465b5705103c4aa0b41955535ee437d4feef5b811aa3e31636c4cb76bf68c52caaccf7
DIST grpc-1.81.0.gh.tar.gz 15840050 BLAKE2B 01defbe7386b8f7752b4abe9b3081fc09801a0d4cbccc083ac45dea63b3d32a6c4c7b87b57de9a33f7d82d3bc7ee173e0e291742a8b09aaf3a70bfef033c2473 SHA512 38966090a498392b727ea7d8149b59fbcb2fe630a8cada1a78d57e54359d125ca9b5e6d528efcdff05392f01c8418f25798fe823c900d480a3b768943c17a621
+DIST grpc-1.81.1.gh.tar.gz 15840192 BLAKE2B 900ca16869e1295428054c2bb4c4363ec855878faef2705cdd81249d46596958c25983dbbd87358d942caae6d5910a781d45da71f8e2a4b714affba02aba0dd5 SHA512 2fcc219bf91de49607ed1f74243c2d43c0fb0def4944e48fbd4b382033d648f0e0b8551426993d04db49b9cae8d8b9efe20a817f6985ed3c72f086bf8ea2e26e
diff --git a/dev-python/grpcio-status/grpcio-status-1.81.1.ebuild b/dev-python/grpcio-status/grpcio-status-1.81.1.ebuild
new file mode 100644
index 000000000000..daa9f2d13263
--- /dev/null
+++ b/dev-python/grpcio-status/grpcio-status-1.81.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+MY_P=grpc-${PV}
+DESCRIPTION="Reference package for GRPC Python status proto mapping"
+HOMEPAGE="
+ https://grpc.io/
+ https://github.com/grpc/grpc/
+ https://pypi.org/project/grpcio-status/
+"
+SRC_URI="
+ https://github.com/grpc/grpc/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}/src/python/grpcio_status
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/grpcio-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/googleapis-common-protos-1.5.5[${PYTHON_USEDEP}]
+ <dev-python/protobuf-8[${PYTHON_USEDEP}]
+ >=dev-python/protobuf-6.33.5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ cd "${WORKDIR}/${MY_P}/src/python/grpcio_tests" || die
+ epytest tests{,_aio}/status
+}
diff --git a/dev-python/gsd/Manifest b/dev-python/gsd/Manifest
index 791d381f73c1..3c9c19a6b57d 100644
--- a/dev-python/gsd/Manifest
+++ b/dev-python/gsd/Manifest
@@ -1,3 +1 @@
-DIST gsd-4.2.0.tar.gz 141527 BLAKE2B 243223caff126a999cfa3cb35faec09a41a43ab91f4595724a23d346874bfe1e1b6f7d0dfd383075b97078316cf3d0478308adb88ff7ea90dad4719d0523542e SHA512 a1ce3855dd01403fc52ad209589f201d169c766f99a9bea2ddc7dfc7d3b05022e2658759b757408df38bc4ebbdb38fde560b71d19600ca6b2387c0f6ba1c3a48
-DIST gsd-5.0.0.tar.gz 140095 BLAKE2B 9fcfd0b4984a80c4a8ca1880184a89ebd6bd4c4c5eec616d138fe18d8fd21f76bd5ce02b5477eb472327b4c2cf1f00d51dfd0b2bda48d257d6c3aff12600c575 SHA512 92426fb313b68c0916ded14971da918f1a672b12fa67b5394c7dee7b8d7dff956ef2f2131fae9d8ccbed0ef819d715e7ea16ab7e4e0209da81faf92711385954
DIST gsd-5.0.1.tar.gz 140861 BLAKE2B 85aecd32b1f9e5970c9b1bc72a7073bcd21eb48027eefd83c65fd8db69c6f0999e9df71f19d22c3d186aa81694badc03c661fca934d961d32e78d7abc4e104d8 SHA512 04e7c2e8f3501306ecf9f3a117754294e28b54abb24ad0bdf2efc6b5fc520e8533feb69ef508d32b83e3ff2db880457a19b88c1ba411c0c08176d1d1a4407f10
diff --git a/dev-python/gsd/gsd-4.2.0.ebuild b/dev-python/gsd/gsd-4.2.0.ebuild
deleted file mode 100644
index fe1055ce099f..000000000000
--- a/dev-python/gsd/gsd-4.2.0.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="GSD - file format specification and a library to read and write it"
-HOMEPAGE="
- https://github.com/glotzerlab/gsd/
- https://pypi.org/project/gsd/
-"
-SRC_URI="
- https://github.com/glotzerlab/gsd/releases/download/v${PV}/${P}.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="
- dev-python/numpy[${PYTHON_USEDEP}]
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-python_test() {
- cd "${T}" || die
- epytest --pyargs gsd
-}
diff --git a/dev-python/gsd/gsd-5.0.0.ebuild b/dev-python/gsd/gsd-5.0.0.ebuild
deleted file mode 100644
index 5654e9b86cd9..000000000000
--- a/dev-python/gsd/gsd-5.0.0.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2026 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_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="GSD - file format specification and a library to read and write it"
-HOMEPAGE="
- https://github.com/glotzerlab/gsd/
- https://pypi.org/project/gsd/
-"
-SRC_URI="
- https://github.com/glotzerlab/gsd/releases/download/v${PV}/${P}.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="
- dev-python/numpy[${PYTHON_USEDEP}]
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-python_test() {
- cd "${T}" || die
- epytest --pyargs gsd
-}
diff --git a/dev-python/guidata/Manifest b/dev-python/guidata/Manifest
index 19e8898cfd77..d7415a230f45 100644
--- a/dev-python/guidata/Manifest
+++ b/dev-python/guidata/Manifest
@@ -1,3 +1,3 @@
-DIST guidata-3.13.4.tar.gz 783773 BLAKE2B 4643802dca5a9c838ceb22baa7f7ac56e2b886a0e7d612e546979ea2df942dcdab23faadcf5bbb6b7856028e6e8eb62e7d7617ed68762c185f9324c813513b62 SHA512 c11acf082821443c14ab613342a1b397bbff361f223144ee9a570354867c1e0c71db95803cb2fbda9d2c25e284717bb38df4457bdd4b433b513d63fcac783f60
DIST guidata-3.14.2.tar.gz 869891 BLAKE2B 77a9c0531536fca57fd8acaebd6b994246edee7c64180b08952c920cb4992e38bfbd6ef6e90372238d83e5d4a1eabde423e89a8e551bfd6f29bc770b3bd7cda1 SHA512 ed3691e27c0df48576efaa213702acd0399fe74fd94555ba47a300b5a27e150047713ebe6cc5c3907009829a70f392e962b12a0ed85e643d3007ce0493d11a6e
DIST guidata-3.14.3.tar.gz 872027 BLAKE2B c1f4d7ef5b7ae561ebc595d2f3bda9b1f9335bf34c25a0733bb57cc0cdabeff383b9644a2badd899c12e3aa309bd3d371ea07914e06374016471b1833a322c85 SHA512 68cddfa0dfd3264429757faea3520c2200058c5712100d54c2799851bf3cf91dcbf857764df374a1edd3745ed091e23e42cf58cc1f95f63125899b37b8b5e23f
+DIST guidata-3.14.4.tar.gz 874873 BLAKE2B 43707d4fdd8c428d1e22e590d7ebbbc03ee9b0c702761191e654008d79ded1c6e8f38de8d92e8abd6bc50ad3b80ec74306894d1bf5e139d73691acb2100a9981 SHA512 c2863a684888619f157b56fe1a4ad06f000a2515302ddc0fdaecd7a3a19516c73ad7b5f1dc333c80f92e40ab8bf0300870761be311a59131feea110275327459
diff --git a/dev-python/guidata/guidata-3.13.4.ebuild b/dev-python/guidata/guidata-3.14.4.ebuild
index ff0a963630e3..f4e756c181f2 100644
--- a/dev-python/guidata/guidata-3.13.4.ebuild
+++ b/dev-python/guidata/guidata-3.14.4.ebuild
@@ -25,13 +25,7 @@ RDEPEND="
dev-python/tomli[${PYTHON_USEDEP}]
"
-BDEPEND="
- test? (
- dev-python/pytest-qt[${PYTHON_USEDEP}]
- dev-python/pytest-xvfb[${PYTHON_USEDEP}]
- )
-"
-
+EPYTEST_PLUGINS=(pytest-xvfb pytest-qt)
distutils_enable_tests pytest
EPYTEST_DESELECT=(
diff --git a/dev-python/hcloud/Manifest b/dev-python/hcloud/Manifest
index e04f5efeac29..f3ca39828b97 100644
--- a/dev-python/hcloud/Manifest
+++ b/dev-python/hcloud/Manifest
@@ -1,3 +1,2 @@
-DIST hcloud-python-2.18.0.gh.tar.gz 150688 BLAKE2B 298b0747aca32c66342b5b6bdaa90cbea10ed563edbcfda4aaa884dd2ee853fe544b10fc82c94946678a29eb9443f8b66ffb8c1e35c0ffbfecfd94b19b6c27de SHA512 af7100650ac156826024e50c2d72f4e2cc499b20c43e021659c702482945b9eda24a97b64be8d6555c3acbc28f17fa05f4ff9d744e13ca37b4d3942fe85801fa
-DIST hcloud-python-2.19.0.gh.tar.gz 151248 BLAKE2B 2c9e7c622d8eed10ee11759eec5bbba70658942ee028d9b688ade11b6006b71316b4cb7d82f55470b45448db42bbde2a0fa95b6835497e43bf0da7fb17f2b9a8 SHA512 4642acd2b2de77fe6e49006acc42984f69dec1dc899c201af99e698a2427c1d3dbd094d7fc2761538c863cbdd702a9d2752704cb8356df06a449d6c1afdee7d1
DIST hcloud-python-2.20.0.gh.tar.gz 151611 BLAKE2B e4c713352523c773108fa3807dd0374bc60b006dd62790cebdc32fbeda50e01fadccd823cdcc5c35d312fae9c404e08d0cbe91f240a11cf057c782229c7e48cf SHA512 bdb2280fc68c3cae275689bdd40cbe9d9d6f680535040bb250a7beeacc01411815d841ddb2b55d42ebb0bef3c201b1a3626df8e605a21574d2a8d6f88634907a
+DIST hcloud-python-2.21.0.gh.tar.gz 152096 BLAKE2B 4fdda2178958cb159f178ad4574e4c3b647008cef13fe1fe66543a4569664b3d9eeedb824adc29330fd02b50feef4c71a70f7674c83bd568adf05391f0d25498 SHA512 f4b5c6d1b53b0f4f31da607e84e4db98c1a23fe00e17631db3216e23dca1db8d2f1443b1da50dae346f63b4e5756113ce460bc7fb9e8d3f05c32ccb2ed59eae8
diff --git a/dev-python/hcloud/hcloud-2.19.0.ebuild b/dev-python/hcloud/hcloud-2.19.0.ebuild
deleted file mode 100644
index 08e3c96a695f..000000000000
--- a/dev-python/hcloud/hcloud-2.19.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-MY_P=hcloud-python-${PV}
-DESCRIPTION="Official Hetzner Cloud python library"
-HOMEPAGE="
- https://github.com/hetznercloud/hcloud-python/
- https://pypi.org/project/hcloud/
-"
-# sdist is missing doc assets as of 1.19.0
-# https://github.com/hetznercloud/hcloud-python/pull/183
-SRC_URI="
- https://github.com/hetznercloud/hcloud-python/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64"
-IUSE="examples"
-
-RDEPEND="
- >=dev-python/python-dateutil-2.7.5[${PYTHON_USEDEP}]
- >=dev-python/requests-2.20[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx docs \
- dev-python/myst-parser \
- dev-python/sphinx-rtd-theme
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # Integration tests need docker:
- # https://github.com/hetznercloud/hcloud-python/blob/master/.travis.yml#L16
- tests/integration
-)
-
-python_install_all() {
- use examples && dodoc -r examples
- distutils-r1_python_install_all
-}
diff --git a/dev-python/hcloud/hcloud-2.20.0.ebuild b/dev-python/hcloud/hcloud-2.20.0.ebuild
index 9b729306ac26..08e3c96a695f 100644
--- a/dev-python/hcloud/hcloud-2.20.0.ebuild
+++ b/dev-python/hcloud/hcloud-2.20.0.ebuild
@@ -24,7 +24,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
IUSE="examples"
RDEPEND="
diff --git a/dev-python/hcloud/hcloud-2.18.0.ebuild b/dev-python/hcloud/hcloud-2.21.0.ebuild
index 08e3c96a695f..9b729306ac26 100644
--- a/dev-python/hcloud/hcloud-2.18.0.ebuild
+++ b/dev-python/hcloud/hcloud-2.21.0.ebuild
@@ -24,7 +24,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64"
+KEYWORDS="~amd64"
IUSE="examples"
RDEPEND="
diff --git a/dev-python/hishel/Manifest b/dev-python/hishel/Manifest
index 0fb3032db96d..526766fbc901 100644
--- a/dev-python/hishel/Manifest
+++ b/dev-python/hishel/Manifest
@@ -1,2 +1 @@
-DIST hishel-1.1.10.gh.tar.gz 749424 BLAKE2B 5757ad0f64711fb2616f4c6b209f78ded5049d186acaea41ae4f9d0c254ca3bf1c0f6b745b8d6720068c6ad925968b2fa2fa0f16fb0cb66c605dc6ebf3640de8 SHA512 9aa2a797152f0b23160f91f505999508d1507b08da576405c0bf4c1dbfa3ab7dbe8863b9c01727b74a3dec29ad82a5d953bb0ef094f12de6b637fa5a654ef3d9
-DIST hishel-1.2.1.gh.tar.gz 821044 BLAKE2B 71057e49836c406b703fcba2e8a839cc401abb1a584466b3943044529fd9ac5591c239bc7a34c00b5919eb064d5cbc19efa36a66a91112b3bfc90dfa88a2ef2c SHA512 52571a8e4ec44e45fddc432491e6c8fcdada42cf7bf07b11c3f95f0e96414e271057bdd1ea8aa0a50a2087aa171792b932a3e24cacbd05f117e50769aaef59d7
+DIST hishel-1.3.0.gh.tar.gz 820064 BLAKE2B b72932d00c848d135dc0607a1ea916ab6390faa7f75135a5e1f0bbc39a3f957ad87d04db27869abd86e21b12350225afe00c2d672f921b1367fb8dc5148d5bd5 SHA512 bf7ba8be77a73030f2f5395a3ffc46054ced3a0269b5d1bab8ff08d2d1c6561482984990946c48c58e6741281bc621f0b0a121c96fb3e9307f1858a089fe31c1
diff --git a/dev-python/hishel/hishel-1.2.1.ebuild b/dev-python/hishel/hishel-1.2.1.ebuild
deleted file mode 100644
index 9a0e19f97648..000000000000
--- a/dev-python/hishel/hishel-1.2.1.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 2024-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="An elegant HTTP Cache implementation for HTTPX and HTTP Core"
-HOMEPAGE="
- https://github.com/karpetrosyan/hishel/
- https://pypi.org/project/hishel/
-"
-SRC_URI="
- https://github.com/karpetrosyan/${PN}/archive/refs/tags/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- >=dev-python/anyio-4.9.0[${PYTHON_USEDEP}]
- >=dev-python/anysqlite-0.0.5[${PYTHON_USEDEP}]
- >=dev-python/httpx-0.28.1[${PYTHON_USEDEP}]
- >=dev-python/msgpack-1.1.2[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-1.14.1[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- ${RDEPEND}
- dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
- test? (
- dev-db/redis
- >=dev-python/boto3-1.15.3[${PYTHON_USEDEP}]
- >=dev-python/inline-snapshot-0.28.0[${PYTHON_USEDEP}]
- >=dev-python/redis-6.2.0[${PYTHON_USEDEP}]
- >=dev-python/time-machine-2.19.0[${PYTHON_USEDEP}]
- >=dev-python/trio-0.30.0[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( anyio )
-distutils_enable_tests pytest
-
-src_test() {
- local EPYTEST_DESELECT=(
- # Internet
- tests/test_async_httpx.py
- tests/test_requests.py
- tests/test_sync_httpx.py
- )
-
- local redis_pid="${T}"/redis.pid
- local redis_port=6379
-
- einfo "Starting Redis"
- "${EPREFIX}"/usr/sbin/redis-server - <<- EOF
- daemonize yes
- pidfile ${redis_pid}
- port ${redis_port}
- bind 127.0.0.1 ::1
- EOF
-
- # Run the tests
- distutils-r1_src_test
-
- # Clean up afterwards
- kill "$(<"${redis_pid}")" || die
-}
diff --git a/dev-python/hishel/hishel-1.1.10.ebuild b/dev-python/hishel/hishel-1.3.0.ebuild
index 9a0e19f97648..9a0e19f97648 100644
--- a/dev-python/hishel/hishel-1.1.10.ebuild
+++ b/dev-python/hishel/hishel-1.3.0.ebuild
diff --git a/dev-python/httpx2/Manifest b/dev-python/httpx2/Manifest
new file mode 100644
index 000000000000..11fdf3f7e74a
--- /dev/null
+++ b/dev-python/httpx2/Manifest
@@ -0,0 +1 @@
+DIST httpx2-2.4.0.gh.tar.gz 2049043 BLAKE2B ec36c399853c4264bfb8247b770f6ddddecab3de150e75659455820fed1d41758326201684c1ec4adaa4a2e5451fceeba58b4ef0210aed7978e285b750ccf806 SHA512 f6033c1032faa078cb954fc9107a3c34ad46a6ab71ef426048f64147b94bd1737ab80447e5bcceec7c3147fd9ccfdf1b58dbaac5d3b9ab8b9bbb46f9e28617ab
diff --git a/dev-python/httpx2/httpx2-2.4.0.ebuild b/dev-python/httpx2/httpx2-2.4.0.ebuild
new file mode 100644
index 000000000000..c8d74970d895
--- /dev/null
+++ b/dev-python/httpx2/httpx2-2.4.0.ebuild
@@ -0,0 +1,100 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+# This package combines httpx2 and httpcore2 (because of exact version pin).
+DESCRIPTION="The next generation HTTP client (Pydantic fork)"
+HOMEPAGE="
+ https://pypi.org/project/httpx2/
+ https://pypi.org/project/httpcore2/
+ https://github.com/pydantic/httpx2/
+"
+SRC_URI="
+ https://github.com/pydantic/httpx2/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ dev-python/anyio[${PYTHON_USEDEP}]
+ >=dev-python/idna-3.18[${PYTHON_USEDEP}]
+ >=dev-python/h11-0.16[${PYTHON_USEDEP}]
+ >=dev-python/truststore-0.10[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}]
+ ' 3.12)
+ cli? (
+ =dev-python/click-8*[${PYTHON_USEDEP}]
+ =dev-python/pygments-2*[${PYTHON_USEDEP}]
+ >=dev-python/rich-10[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
+ dev-python/uv-dynamic-versioning[${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/trio[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/uvicorn[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/zstandard-0.18.0[${PYTHON_USEDEP}]
+ ' 3.12 3.13)
+ )
+"
+
+EPYTEST_PLUGINS=( anyio pytest-{httpbin,trio} )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_compile() {
+ local -x UV_DYNAMIC_VERSIONING_BYPASS=${PV}
+
+ cd src/httpcore2 || die
+ distutils-r1_python_compile
+ cd ../httpx2 || die
+ distutils-r1_python_compile
+ cd ../.. || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # random HTTP header case mismatch
+ tests/httpx2/test_main.py::test_auth
+ tests/httpx2/test_main.py::test_binary
+ tests/httpx2/test_main.py::test_follow_redirects
+ tests/httpx2/test_main.py::test_get
+ tests/httpx2/test_main.py::test_json
+ tests/httpx2/test_main.py::test_post
+ tests/httpx2/test_main.py::test_redirects
+ tests/httpx2/test_main.py::test_verbose
+ # Internet
+ tests/httpcore2/test_cancellations.py::test_h2_timeout_during_request
+ tests/httpx2/client/test_proxies.py::test_async_proxy_close
+ tests/httpx2/client/test_proxies.py::test_sync_proxy_close
+ )
+
+ local EPYTEST_IGNORE=()
+ if ! use cli; then
+ EPYTEST_IGNORE+=(
+ tests/httpx2/test_main.py
+ )
+ fi
+
+ epytest tests/{httpcore2,httpx2}
+}
diff --git a/dev-python/expects/metadata.xml b/dev-python/httpx2/metadata.xml
index 5e95859f915a..26b9d5caa8fb 100644
--- a/dev-python/expects/metadata.xml
+++ b/dev-python/httpx2/metadata.xml
@@ -3,8 +3,10 @@
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
- <name>Python</name>
</maintainer>
<stabilize-allarches />
+ <use>
+ <flag name="cli">Install the CLI "httpx2" client.</flag>
+ </use>
<origin>baldeagleos-repo</origin>
</pkgmetadata>
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 6557e55ccb30..013c8f2191a0 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -1,12 +1,5 @@
-DIST hypothesis-6.151.14.gh.tar.gz 9871044 BLAKE2B bed431dcd481f5af11043fd0beca9caf207c918052dd054ef0e758d07646b1870417d868179bb251c6f6463fe73d10a8adabce5f0b0cfa9858be77e876575a46 SHA512 c1e3e3b03d3ed3ac50c7e83b236b8eda65ab6694adde07c88e5096df7361242d194b7624743656e8f30d885e554428d1af3cb9cbfd20514dca1e50bf3d29b4e5
DIST hypothesis-6.152.11.gh.tar.gz 9614710 BLAKE2B 4d020765eef6d0faf19d5a61639e7c664090477a78104a1dbdeab9879bcc3c77beb018ee2902d3be8c4edb42baf2fe29ee3cc512d8217fc6b5bf8f557979cea9 SHA512 e0d8e8bf2bd9065706b73b0f0d89990f73635ef3b7e886cc1b6b1a4aefcb9ea6f90ae7db515173da39b21930126b3c044a49a63a09b716e1d26b0fad78ef9c32
-DIST hypothesis-6.152.4.gh.tar.gz 9602982 BLAKE2B 7eb3bf424f35707fa323affc9e5e00c35716c32ac69acfdbc7981634f30abf20dee20a8271c21e561b868e24f175a12f484d0e436132ac8194ad48dc361c1ebe SHA512 8f7490051c49f1a3d7b91b00a63527600ff8aba03456bcb2360a9c6a004eea67995354cadf40eabcdaec0d7cd53ecac013963e2c6e19be3e348e79f9e40d9e8e
-DIST hypothesis-6.152.5.gh.tar.gz 9603889 BLAKE2B cc892069eb1b9d28073974cd5f5d23b7c32f3679ebe127acae9783b71d5a2d9dbfb5b1390f102447f62a5c557e34717911d46de4020e9cef6f93a85a24080848 SHA512 ff36abf597a43bf527dafc85e3bce84d352419650cd6a3854bcaee5bb91443ad8651cce9b2e9a7cb2f69f076e98531e323a14fb65ae05a202142a1856dbd5756
-DIST hypothesis-6.152.6.gh.tar.gz 9606311 BLAKE2B 96664ceb08b3870f71ca0b93a9214ed6150d0556660e9e20b0756c2778295af6cacd5c5a1f3b600695013880a274bb4517110cbeaf8c2dcf818ab8166814e732 SHA512 535947d3e5eecd1a0a45805a3011a82e992fc76bfa6ece63e2b8af85f22e93229a28c1746a64201886160432b087c0bb58045a38e3867efd8285c8b62e5814aa
DIST hypothesis-6.152.7.gh.tar.gz 9606598 BLAKE2B cdb7eb39e0ae74dada61ba4573e874c2bcf1fecf4c6a03306f8fab7863793eebe1710ad0bd252939163cc561b09c0b700b64552290ba570d9deee86ea494937a SHA512 7550521047694ba84adf8fbe4f5d6f4727cead280baa6ca080c4002d1474d55091e88ca0432c70335b409e9e13a6aa513517791a312909e7603bc384f87cbc82
-DIST hypothesis-6.152.8.gh.tar.gz 9606671 BLAKE2B 446a28680368e1b8a764c5346bff2ddd22625631b9c4a9a7e51a86c10355bf939141c233b89387f63ecbcadc2f7c5329e71ce8943932ddb600c3143833126489 SHA512 08dcbc66335b25901874a148d92db61389db9755a2e4359210333efa0b43a449d56be98bf31ef70dfaeb67d1f179ac3a53262243018711b860804ce10ee9f48e
DIST hypothesis-6.152.9.gh.tar.gz 9612140 BLAKE2B b4d2009d46eb28751446963edc51a653d05c5a39a28e76aa120a2ca00fd7d6c0f07c42f1026a16e0b4dc75742a66a191a8f5aa67249ecc3a397e8123f8153058 SHA512 b1f2301b7ced669dd4d53ee37173a48e8a937241138900c9dd17e70c1e4c8357215679c9ebb6e8a96c0d2fbe5e8e43aa45a21da569c624111b17417d0be1d426
-DIST hypothesis-6.153.2.gh.tar.gz 9618984 BLAKE2B b9107632220d14cb2022f5867bc41f42b76a15dc01cd042b6c9e2d057049a06138f96eb39434f433b8084dd3cc0f7d4eeec39f737102fde60761bb76e354e94b SHA512 42af13bc6934fa758931713c138f12a8c4b83b26a9cdf848e67731ade3f89e09c0c5f71a1a91f5d2ad3c10233c1976856b1233c1a231872ed662ce2d3e2f12b8
-DIST hypothesis-6.153.6.gh.tar.gz 9621507 BLAKE2B 3ec84c19c22a10417630dcb4987c2e9256ea7bc81f459c3734aa6af832222a829e9db1cffe82b531017f8dc42976fcc59726460cae86c8004528a4d4be2b81e1 SHA512 f2eb02367de4488be88184c543ef59deaf4fa4e402a429381648be0b207bd9369d7c476cedb9b1cd3b706615e5d3ecf9d2aa71ae341690c1c341cb047f0ed02a
-DIST hypothesis-6.155.0.gh.tar.gz 9624529 BLAKE2B 4eb9efd21e4eef5900cc54182303f63d68d3ae2df83f9fbabe5cf660b77ed1cd3c9e6a5a4659e2a1599a5c045b4fe2cae49f3587487db922f7bde3472edfb173 SHA512 d514b1869c8f6ff1d937c1ea8ca86627674316ab3268feac57a6c3fd49df9d75454beb9f4bab9d6ed9221bd257fddd5c286f39dcdc1bdd44fb139160647fe67e
-DIST hypothesis-6.155.1.gh.tar.gz 9626267 BLAKE2B 41eb5b33731f91b8efe17c9bc6a688f3a2cf235042b97eeaa61468024afbe6483dc49a608d4c25a4faa934bbf3cc234211bbc549fdac4936093c399ceb7f6809 SHA512 17c7641c9638cc9e49129f1d061e2160b195f46c9a99d41f571c4ec41a7373e0e0ce8fb53f48bc44983445c8ab5d923fc05d89f6bfbc54f81f8cec74e6ece359
+DIST hypothesis-6.155.2.gh.tar.gz 9627022 BLAKE2B 26d1a794ffce5268febc83aae708794fc60d2e1ab40620826a499e254a8f8d00dce2b984547c683ca768751bc2a35554a64e83b9ba3156e5139319ed9683be1d SHA512 559670b3f42ead6aa830335a273984f036c8b26226bc9b3e2f83c751a53d7364e02479e11c7e1aaa468fad69c37920e30e7416028177753c042a4571613a8e91
+DIST hypothesis-6.155.3.gh.tar.gz 9627758 BLAKE2B 57673977f3188c76fbacdda7494408490373c9eefe71195aae915b32ee7502189262028fc63d117e5ec801059bb2f7d7dafdcb25bb4c2c92986942222c493316 SHA512 5293d4c9c3bff7d72e417853b7cc45bf3bdf55c4931ac1cdeeabc014a1fe8e11128b7cc2b8bd21ccc4b9bca128ac4e6f990be309ce4c9c24f8f53c463584417d
diff --git a/dev-python/hypothesis/hypothesis-6.151.14.ebuild b/dev-python/hypothesis/hypothesis-6.151.14.ebuild
deleted file mode 100644
index d6c81cdef340..000000000000
--- a/dev-python/hypothesis/hypothesis-6.151.14.ebuild
+++ /dev/null
@@ -1,112 +0,0 @@
-# Copyright 1999-2026 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_{13..14} )
-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/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/attrs-22.2.0[${PYTHON_USEDEP}]
- dev-python/pexpect[${PYTHON_USEDEP}]
- >=dev-python/pytest-8[${PYTHON_USEDEP}]
- )
-"
-PDEPEND="
- dev-python/hypothesis-gentoo[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGIN_LOAD_VIA_ENV=1
-EPYTEST_PLUGINS=( "${PN}" pytest-xdist )
-EPYTEST_RERUNS=5
-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=(
- # broken somehow (xdist?)
- 'hypothesis-python/tests/pytest/test_constant_collection_timing.py::test_constant_collection_timing[True]'
- )
- local EPYTEST_IGNORE=(
- # require syrupy
- tests/cover/test_custom_reprs.py
- )
- case ${EPYTHON} in
- pypy3.11)
- EPYTEST_DESELECT+=(
- 'hypothesis-python/tests/cover/test_lambda_formatting.py::test_modifying_lambda_source_code_returns_unknown[False]'
- )
- ;;
- python3.14t)
- EPYTEST_DESELECT+=(
- # TODO
- 'hypothesis-python/tests/cover/test_lambda_formatting.py::test_modifying_lambda_source_code_returns_unknown[False]'
- )
- ;;
- esac
-
- local -x HYPOTHESIS_NO_PLUGINS=1
- epytest -o filterwarnings= tests/{cover,pytest,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.152.4.ebuild b/dev-python/hypothesis/hypothesis-6.152.4.ebuild
deleted file mode 100644
index e64cc4dc01b6..000000000000
--- a/dev-python/hypothesis/hypothesis-6.152.4.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 1999-2026 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_{13..14} )
-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/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/attrs-22.2.0[${PYTHON_USEDEP}]
- dev-python/pexpect[${PYTHON_USEDEP}]
- >=dev-python/pytest-8[${PYTHON_USEDEP}]
- )
-"
-PDEPEND="
- dev-python/hypothesis-gentoo[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGIN_LOAD_VIA_ENV=1
-EPYTEST_PLUGINS=( "${PN}" pytest-xdist )
-EPYTEST_RERUNS=5
-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=(
- # broken somehow (xdist?)
- 'hypothesis-python/tests/pytest/test_constant_collection_timing.py::test_constant_collection_timing[True]'
- # used to fail for a few impls, now fails everywhere
- 'hypothesis-python/tests/cover/test_lambda_formatting.py::test_modifying_lambda_source_code_returns_unknown[False]'
- )
- local EPYTEST_IGNORE=(
- # require syrupy
- tests/cover/test_custom_reprs.py
- )
-
- case ${EPYTHON} in
- python3.15*)
- EPYTEST_DESELECT+=(
- 'hypothesis-python/tests/cover/test_lookup.py::test_resolves_forwardrefs_to_builtin_types[sentinel]'
- 'hypothesis-python/tests/cover/test_lookup.py::test_resolves_builtin_types[sentinel]'
- )
- ;;
- esac
-
- local -x HYPOTHESIS_NO_PLUGINS=1
- epytest -o filterwarnings= tests/{cover,pytest,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.152.5.ebuild b/dev-python/hypothesis/hypothesis-6.152.5.ebuild
deleted file mode 100644
index e64cc4dc01b6..000000000000
--- a/dev-python/hypothesis/hypothesis-6.152.5.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 1999-2026 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_{13..14} )
-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/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/attrs-22.2.0[${PYTHON_USEDEP}]
- dev-python/pexpect[${PYTHON_USEDEP}]
- >=dev-python/pytest-8[${PYTHON_USEDEP}]
- )
-"
-PDEPEND="
- dev-python/hypothesis-gentoo[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGIN_LOAD_VIA_ENV=1
-EPYTEST_PLUGINS=( "${PN}" pytest-xdist )
-EPYTEST_RERUNS=5
-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=(
- # broken somehow (xdist?)
- 'hypothesis-python/tests/pytest/test_constant_collection_timing.py::test_constant_collection_timing[True]'
- # used to fail for a few impls, now fails everywhere
- 'hypothesis-python/tests/cover/test_lambda_formatting.py::test_modifying_lambda_source_code_returns_unknown[False]'
- )
- local EPYTEST_IGNORE=(
- # require syrupy
- tests/cover/test_custom_reprs.py
- )
-
- case ${EPYTHON} in
- python3.15*)
- EPYTEST_DESELECT+=(
- 'hypothesis-python/tests/cover/test_lookup.py::test_resolves_forwardrefs_to_builtin_types[sentinel]'
- 'hypothesis-python/tests/cover/test_lookup.py::test_resolves_builtin_types[sentinel]'
- )
- ;;
- esac
-
- local -x HYPOTHESIS_NO_PLUGINS=1
- epytest -o filterwarnings= tests/{cover,pytest,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.152.6.ebuild b/dev-python/hypothesis/hypothesis-6.152.6.ebuild
deleted file mode 100644
index e64cc4dc01b6..000000000000
--- a/dev-python/hypothesis/hypothesis-6.152.6.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 1999-2026 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_{13..14} )
-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/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/attrs-22.2.0[${PYTHON_USEDEP}]
- dev-python/pexpect[${PYTHON_USEDEP}]
- >=dev-python/pytest-8[${PYTHON_USEDEP}]
- )
-"
-PDEPEND="
- dev-python/hypothesis-gentoo[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGIN_LOAD_VIA_ENV=1
-EPYTEST_PLUGINS=( "${PN}" pytest-xdist )
-EPYTEST_RERUNS=5
-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=(
- # broken somehow (xdist?)
- 'hypothesis-python/tests/pytest/test_constant_collection_timing.py::test_constant_collection_timing[True]'
- # used to fail for a few impls, now fails everywhere
- 'hypothesis-python/tests/cover/test_lambda_formatting.py::test_modifying_lambda_source_code_returns_unknown[False]'
- )
- local EPYTEST_IGNORE=(
- # require syrupy
- tests/cover/test_custom_reprs.py
- )
-
- case ${EPYTHON} in
- python3.15*)
- EPYTEST_DESELECT+=(
- 'hypothesis-python/tests/cover/test_lookup.py::test_resolves_forwardrefs_to_builtin_types[sentinel]'
- 'hypothesis-python/tests/cover/test_lookup.py::test_resolves_builtin_types[sentinel]'
- )
- ;;
- esac
-
- local -x HYPOTHESIS_NO_PLUGINS=1
- epytest -o filterwarnings= tests/{cover,pytest,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.152.7.ebuild b/dev-python/hypothesis/hypothesis-6.152.7.ebuild
index e64cc4dc01b6..db99d15ebaf8 100644
--- a/dev-python/hypothesis/hypothesis-6.152.7.ebuild
+++ b/dev-python/hypothesis/hypothesis-6.152.7.ebuild
@@ -25,7 +25,7 @@ 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"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
IUSE="cli"
RDEPEND="
diff --git a/dev-python/hypothesis/hypothesis-6.152.8.ebuild b/dev-python/hypothesis/hypothesis-6.152.8.ebuild
deleted file mode 100644
index e64cc4dc01b6..000000000000
--- a/dev-python/hypothesis/hypothesis-6.152.8.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 1999-2026 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_{13..14} )
-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/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/attrs-22.2.0[${PYTHON_USEDEP}]
- dev-python/pexpect[${PYTHON_USEDEP}]
- >=dev-python/pytest-8[${PYTHON_USEDEP}]
- )
-"
-PDEPEND="
- dev-python/hypothesis-gentoo[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGIN_LOAD_VIA_ENV=1
-EPYTEST_PLUGINS=( "${PN}" pytest-xdist )
-EPYTEST_RERUNS=5
-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=(
- # broken somehow (xdist?)
- 'hypothesis-python/tests/pytest/test_constant_collection_timing.py::test_constant_collection_timing[True]'
- # used to fail for a few impls, now fails everywhere
- 'hypothesis-python/tests/cover/test_lambda_formatting.py::test_modifying_lambda_source_code_returns_unknown[False]'
- )
- local EPYTEST_IGNORE=(
- # require syrupy
- tests/cover/test_custom_reprs.py
- )
-
- case ${EPYTHON} in
- python3.15*)
- EPYTEST_DESELECT+=(
- 'hypothesis-python/tests/cover/test_lookup.py::test_resolves_forwardrefs_to_builtin_types[sentinel]'
- 'hypothesis-python/tests/cover/test_lookup.py::test_resolves_builtin_types[sentinel]'
- )
- ;;
- esac
-
- local -x HYPOTHESIS_NO_PLUGINS=1
- epytest -o filterwarnings= tests/{cover,pytest,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.155.0.ebuild b/dev-python/hypothesis/hypothesis-6.155.0.ebuild
deleted file mode 100644
index 28342394d688..000000000000
--- a/dev-python/hypothesis/hypothesis-6.155.0.ebuild
+++ /dev/null
@@ -1,105 +0,0 @@
-# Copyright 1999-2026 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_{13..14} )
-PYTHON_REQ_USE="threads(+),sqlite"
-
-inherit distutils-r1 optfeature
-
-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/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/${P}/hypothesis"
-
-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/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/attrs-22.2.0[${PYTHON_USEDEP}]
- dev-python/pexpect[${PYTHON_USEDEP}]
- >=dev-python/pytest-8[${PYTHON_USEDEP}]
- )
-"
-PDEPEND="
- dev-python/hypothesis-gentoo[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGIN_LOAD_VIA_ENV=1
-EPYTEST_PLUGINS=( "${PN}" pytest-xdist )
-EPYTEST_RERUNS=5
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_test() {
- # NB: paths need to be relative to pytest.ini, i.e. start with hypothesis/
- local EPYTEST_DESELECT=(
- # broken somehow (xdist?)
- 'hypothesis/tests/pytest/test_constant_collection_timing.py::test_constant_collection_timing[True]'
- )
- local EPYTEST_IGNORE=(
- # require syrupy
- tests/cover/test_custom_reprs.py
- )
-
- case ${EPYTHON} in
- python3.15*)
- EPYTEST_DESELECT+=(
- 'hypothesis/tests/cover/test_lookup.py::test_resolves_forwardrefs_to_builtin_types[sentinel]'
- 'hypothesis/tests/cover/test_lookup.py::test_resolves_builtin_types[sentinel]'
- )
- ;;
- esac
-
- local -x HYPOTHESIS_NO_PLUGINS=1
- epytest -o filterwarnings= tests/{cover,pytest,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.155.1.ebuild b/dev-python/hypothesis/hypothesis-6.155.1.ebuild
deleted file mode 100644
index 28342394d688..000000000000
--- a/dev-python/hypothesis/hypothesis-6.155.1.ebuild
+++ /dev/null
@@ -1,105 +0,0 @@
-# Copyright 1999-2026 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_{13..14} )
-PYTHON_REQ_USE="threads(+),sqlite"
-
-inherit distutils-r1 optfeature
-
-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/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/${P}/hypothesis"
-
-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/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/attrs-22.2.0[${PYTHON_USEDEP}]
- dev-python/pexpect[${PYTHON_USEDEP}]
- >=dev-python/pytest-8[${PYTHON_USEDEP}]
- )
-"
-PDEPEND="
- dev-python/hypothesis-gentoo[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGIN_LOAD_VIA_ENV=1
-EPYTEST_PLUGINS=( "${PN}" pytest-xdist )
-EPYTEST_RERUNS=5
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_test() {
- # NB: paths need to be relative to pytest.ini, i.e. start with hypothesis/
- local EPYTEST_DESELECT=(
- # broken somehow (xdist?)
- 'hypothesis/tests/pytest/test_constant_collection_timing.py::test_constant_collection_timing[True]'
- )
- local EPYTEST_IGNORE=(
- # require syrupy
- tests/cover/test_custom_reprs.py
- )
-
- case ${EPYTHON} in
- python3.15*)
- EPYTEST_DESELECT+=(
- 'hypothesis/tests/cover/test_lookup.py::test_resolves_forwardrefs_to_builtin_types[sentinel]'
- 'hypothesis/tests/cover/test_lookup.py::test_resolves_builtin_types[sentinel]'
- )
- ;;
- esac
-
- local -x HYPOTHESIS_NO_PLUGINS=1
- epytest -o filterwarnings= tests/{cover,pytest,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.153.2.ebuild b/dev-python/hypothesis/hypothesis-6.155.2.ebuild
index 28342394d688..28342394d688 100644
--- a/dev-python/hypothesis/hypothesis-6.153.2.ebuild
+++ b/dev-python/hypothesis/hypothesis-6.155.2.ebuild
diff --git a/dev-python/hypothesis/hypothesis-6.153.6.ebuild b/dev-python/hypothesis/hypothesis-6.155.3.ebuild
index 28342394d688..28342394d688 100644
--- a/dev-python/hypothesis/hypothesis-6.153.6.ebuild
+++ b/dev-python/hypothesis/hypothesis-6.155.3.ebuild
diff --git a/dev-python/icalendar/Manifest b/dev-python/icalendar/Manifest
index 21f575550d75..4223a383e691 100644
--- a/dev-python/icalendar/Manifest
+++ b/dev-python/icalendar/Manifest
@@ -2,3 +2,4 @@ DIST icalendar-7.0.3.tar.gz 443788 BLAKE2B 4af785c029194833bc9c9d0e0f966617a8345
DIST icalendar-7.1.0.tar.gz 467258 BLAKE2B 12082d8c80e395be1e6d759e5e207482adae62cb6a8abad6f57f3c288a3fd7998ded2c5e516c05512cdf79f6ef0d862b761ae68ba62ba4d73ba9d4415b4a01b3 SHA512 e266942a6baf9b9abe469db37e258bf78e07a5c439269b65f6aabcfede5803fb941c1d5f48361e919c75c91a98dbca2b9577dae7bfae235c695afc1509462343
DIST icalendar-7.1.1.tar.gz 469560 BLAKE2B 223a2d69acc71efaf5f43e296993bb4b0a37a6e5d25a64b8cee4c9672e38786a73aa50b562d478b93203dab0813e6f897071c78241291e36a75e85e89dc041d4 SHA512 36a807d8482ebdd4f29ee367b4ba4227ff4baa24879f02c40123e40f835589b2c6059cd4752556a2bc4e837571de4f0b55417f25b5365e6f41fcefbabfa87857
DIST icalendar-7.1.2.tar.gz 471132 BLAKE2B d87f3a72213ac3c93b83d3c5bb2adcebc960eda7808432a6d7b4de62215e51b6d34005ec62245dea6fd1187c1223abea9a678108e73988a1cdd554a655571cee SHA512 bd1ea4a536c90a80234fdca538d6d8a5ae715dd7581effb9427a33c6abb86a2166397d717ee6d6f336a9c6229a56c5c43bfd538d7ea5e8c749d7a0411ab0abbe
+DIST icalendar-7.1.3.tar.gz 472734 BLAKE2B 4bd73502055c8156d6f4a952b5349ab0285fce727620d96a118ec78b4e588adaeeff3d24ce62f9e5efde8bc621a9553893f1dac163c1d287dd1ad7ab63255244 SHA512 0c98ca1353e77488ca8d6a2d6c10bdb0518b4c0ae77047f7004b8b5f650cb80f619a17936e67e053d152812ed5e36b1585bc1d0667961b79941c8ede7441add1
diff --git a/dev-python/icalendar/icalendar-7.1.3.ebuild b/dev-python/icalendar/icalendar-7.1.3.ebuild
new file mode 100644
index 000000000000..45ee133c1418
--- /dev/null
+++ b/dev-python/icalendar/icalendar-7.1.3.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="RFC 5545 compatible parser and generator of iCalendar files"
+HOMEPAGE="
+ https://github.com/collective/icalendar/
+ https://pypi.org/project/icalendar/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/tzdata[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.10[${PYTHON_USEDEP}]
+ ' 3.12 3.13)
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/pytz-2025.2[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( hypothesis )
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # upstream puts quite an effort for funding.json, but failed to
+ # include it in sdist
+ src/icalendar/tests/test_funding_json.py
+)
diff --git a/dev-python/idna/idna-3.15.ebuild b/dev-python/idna/idna-3.15.ebuild
index de4f5101014b..e1b9e747b9e0 100644
--- a/dev-python/idna/idna-3.15.ebuild
+++ b/dev-python/idna/idna-3.15.ebuild
@@ -18,6 +18,6 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
distutils_enable_tests unittest
diff --git a/dev-python/ifaddr/ifaddr-0.2.0.ebuild b/dev-python/ifaddr/ifaddr-0.2.0.ebuild
index 531e901e26fc..c917982a6285 100644
--- a/dev-python/ifaddr/ifaddr-0.2.0.ebuild
+++ b/dev-python/ifaddr/ifaddr-0.2.0.ebuild
@@ -16,6 +16,6 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ~s390 ~sparc x86"
+KEYWORDS="amd64 arm arm64 ~ppc ~s390 ~sparc x86"
distutils_enable_tests pytest
diff --git a/dev-python/inline-snapshot/Manifest b/dev-python/inline-snapshot/Manifest
index 9c6a420c9f11..f688b361ab19 100644
--- a/dev-python/inline-snapshot/Manifest
+++ b/dev-python/inline-snapshot/Manifest
@@ -4,3 +4,5 @@ DIST inline_snapshot-0.33.0.tar.gz 2637158 BLAKE2B 1bc372dd7f4a546410570b7a2a02e
DIST inline_snapshot-0.33.0.tar.gz.provenance 9520 BLAKE2B 812259517d0fb1a0ba26b25986a8335810fe9542b581f7ced793cf3f1e64d6e10fbf2934252adc4352b113535028cc8a158ffe8c99aef993acbd08bcae35adea SHA512 241f66837bd510f10b2897fe8de4815d6352e78d0a9153ffb4be5fbd0be80fca693e5cf3c30ae32a3042a3294b175b865999a628607ecec414c81f7768570d6d
DIST inline_snapshot-0.34.0.tar.gz 2638680 BLAKE2B 0540a851ceb06874a36537628312cda2d118b6e401c9ac73f1d9ebd915a62cc7be6e3f9bc3ca5ee9f72040cde9b72df1c14ec9cbf74db24ea083133f598b7069 SHA512 e0d1d6b7f64bcea982a16f760814a063c9fa2adc0d3469946fcdd3af0fc8a179709eca93433258a24d526f836125d96c8c5c7adb62d6063b7ff90b68ac4d25e7
DIST inline_snapshot-0.34.0.tar.gz.provenance 9846 BLAKE2B 08198647620931ab9c6acfe7fdaed68f92c51c3808b5a5c47175743f1b3d41ec1eb3b26999acd54e87530376fc581034026c2daf5665fa41da05749db4dbbad3 SHA512 ac8a50540da932a73ea83bd3b314d324140680699a1d76a3e32076fd020b9cb448f252d779484aa58b34b8a3e63d7d062f8e309082e6b70e1deaff837f7d0cf2
+DIST inline_snapshot-0.34.1.tar.gz 2638769 BLAKE2B 4e12ab83e23a0eb4e49d2da0f182bf53c6e56585aee22c2f5b5668a89afe0f107eab663e8c72412284bfe7f190996ab75c8b6ced5a9724899daac1cd76d3d693 SHA512 e13d7834f183a822ee413726876fd24a64199d049fe17403506e20dbc31ba959d99d59fdebe38b30c6ac84cdee0598513d8ebf7ea5888fa36007179161b314e7
+DIST inline_snapshot-0.34.1.tar.gz.provenance 9721 BLAKE2B b981170f55b63a2bfd41fb77e1362cadd4d939359cd2ea71ece024490e0f469e533fd52d8d38ac731beea849ec9d1c6a660c16d6158bd8fee3748437fba7dc99 SHA512 ac6186bd5f481646b8f27f5556185ae17b883a5238b44d1318fe8259ab320f347f744db11d64f8a9216797f0c40fe1e5b1c3239ad3ad6b30ee9fccbeb2ceaf38
diff --git a/dev-python/inline-snapshot/inline-snapshot-0.33.0.ebuild b/dev-python/inline-snapshot/inline-snapshot-0.33.0.ebuild
index c39c79f1e89a..8e651ccb3a44 100644
--- a/dev-python/inline-snapshot/inline-snapshot-0.33.0.ebuild
+++ b/dev-python/inline-snapshot/inline-snapshot-0.33.0.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86"
RDEPEND="
>=dev-python/asttokens-2.0.5[${PYTHON_USEDEP}]
@@ -33,6 +33,7 @@ BDEPEND="
>=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}]
+ dev-python/isort[${PYTHON_USEDEP}]
$(python_gen_cond_dep '
dev-python/mypy[${PYTHON_USEDEP}]
' 'python*')
diff --git a/dev-python/inline-snapshot/inline-snapshot-0.34.1.ebuild b/dev-python/inline-snapshot/inline-snapshot-0.34.1.ebuild
new file mode 100644
index 000000000000..2271ce4c1de9
--- /dev/null
+++ b/dev-python/inline-snapshot/inline-snapshot-0.34.1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/15r10nk/inline-snapshot
+PYTHON_COMPAT=( python3_{13..14} )
+
+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}]
+ dev-python/typing-extensions[${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}]
+ dev-python/isort[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/mypy[${PYTHON_USEDEP}]
+ ' 'python*')
+ >=dev-python/pydantic-2[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
+EPYTEST_PLUGINS=( "${PN}" pytest-{freezer,mock,xdist} )
+# TODO: EPYTEST_XDIST=1 gotten flaky with 0.33.0
+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
+ 'tests/test_docs.py::test_docs[categories.md]'
+ 'tests/test_docs.py::test_docs[code_generation.md]'
+ 'tests/test_docs.py::test_docs[testing.md]'
+ )
+
+ local -x PYTHONPATH=${S}/src
+ epytest
+}
diff --git a/dev-python/installer/Manifest b/dev-python/installer/Manifest
index 057413dffd01..c8b26df8e4ce 100644
--- a/dev-python/installer/Manifest
+++ b/dev-python/installer/Manifest
@@ -1,5 +1,3 @@
-DIST installer-0.7.0-py3-none-any.whl.zip 453838 BLAKE2B 59bb698e7a4232a5254b6f6c4a042c68a22a26e15c1205707d3c9734513e92bf4518a09341619eab9ef0023ee65fcaa9837a4befb7a2452f1592411654374595 SHA512 8e10013521238ef8fb2f5ab4bd00f6154c05046011cad8824d96b7cdc4ed235b87e534d1e163a47a11dbfb5bb3cf19d9a2ea3edd1e9c9ce5fbc9a375010c36dc
-DIST installer-0.7.0.tar.gz 474349 BLAKE2B 76b86d14c0f4f0eba091ff08ef27e1b2f23c93318d197b3c41f5fef45eb11acc54bb1d35e3afc1e0dd98b30cc4cd3d9963ab1ba0bfe9d294ee3d0933ddaa24db SHA512 e89c2d28ca73d9c4291d645dda675fdcfcaba2e4f8765b9fa4a2f211e27711510f3d171b96a6b024c11808ba7f06b7b560a7cb31fafba815bd5c7396f26789f7
DIST installer-1.0.1-py3-none-any.whl 464455 BLAKE2B 2856ed291d82acae94af2ea622554356f960175bb7961da11d2e434eb80fbc5346e24e01a0603c55a2bd8a22e44be1d8200a872d35d88d339e91461ac62e004c SHA512 655b26bea8a979a23f752346e54117b2513bfa8cc7932efa4ed8d6ccccc52f320d84904d989c235321cf69688eeec806e749632cfd57873dc91b59524823c85c
DIST installer-1.0.1-py3-none-any.whl.provenance 9282 BLAKE2B 1b2400ad2db330c2f0e1a72deae66779fe4261bbd7433b13b87cd9be8d0bc7a273f681ca77136cbaf7c7edc2c132b16d0e30a86b2a56bd194654cc07cca26041 SHA512 5831d2c3608ee8fa5477283b6dfddaedb6730da5da0568261b17e22117c6c4a5a2ae21ed0d6d5549cbcab88f9dd3823462a1fff487ec5335ac1dff867e715a63
DIST installer-1.0.1.tar.gz 481132 BLAKE2B 95bf26cb5d14c934f8126b656aec519a51199ec9ea95bc903016a170cbc906a884f4571a060c175ca4bb47f27cabf265c91c5c769b62d51158ee66a128aae040 SHA512 cabc4efb8ce66ce85c2139e264f66c449f9e5cf1f8c860afa7f147daf0b983716fe02182ef1f6e4abbc4b6be34d75738a0281c77dda9d48a075c212301278a73
diff --git a/dev-python/installer/installer-0.7.0.ebuild b/dev-python/installer/installer-0.7.0.ebuild
deleted file mode 100644
index 00dc80e6c01d..000000000000
--- a/dev-python/installer/installer-0.7.0.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2022-2026 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=no
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A library for installing Python wheels"
-HOMEPAGE="
- https://pypi.org/project/installer/
- https://github.com/pypa/installer/
- https://installer.readthedocs.io/en/latest/
-"
-SRC_URI+="
- $(pypi_wheel_url --unpack)
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
-
-BDEPEND="
- app-arch/unzip
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-python_compile() {
- python_domodule src/installer "${WORKDIR}"/*.dist-info
-}
-
-python_install() {
- distutils-r1_python_install
- python_optimize
-}
diff --git a/dev-python/installer/installer-1.0.1.ebuild b/dev-python/installer/installer-1.0.1.ebuild
index b28a232118cc..ac679a26d3f2 100644
--- a/dev-python/installer/installer-1.0.1.ebuild
+++ b/dev-python/installer/installer-1.0.1.ebuild
@@ -26,7 +26,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 ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
BDEPEND="
app-arch/unzip
diff --git a/dev-python/ipdb/Manifest b/dev-python/ipdb/Manifest
deleted file mode 100644
index 51b77090020f..000000000000
--- a/dev-python/ipdb/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST ipdb-0.13.13.tar.gz 17042 BLAKE2B 8f7a5b96816e97e9bad969889c9ee8d22870890eff6052828b1fbc65ff10b7719cecf2d5c5b59d3a4fceedf4cd829bddfd7fa09e57e6fef16295fb807bc4be0f SHA512 941c353ca4412bab54f3630825cb426534330fef3b00d39c1a492219b4d85783abf3a41c16c8516011df751b1e17a35a20dde66f3efca0948acdf870ae6bf089
diff --git a/dev-python/ipdb/ipdb-0.13.13.ebuild b/dev-python/ipdb/ipdb-0.13.13.ebuild
deleted file mode 100644
index 90359d727c30..000000000000
--- a/dev-python/ipdb/ipdb-0.13.13.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="IPython-enabled pdb"
-HOMEPAGE="
- https://github.com/gotcha/ipdb/
- https://pypi.org/project/ipdb/
-"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ppc64 ~riscv ~sparc x86"
-
-RDEPEND="
- >=dev-python/ipython-7.17[${PYTHON_USEDEP}]
-"
-
-DOCS=( AUTHORS HISTORY.txt README.rst )
-
-distutils_enable_tests unittest
-
-pkg_postinst() {
- optfeature "pyproject.toml support" dev-python/tomli
-}
diff --git a/dev-python/ipdb/metadata.xml b/dev-python/ipdb/metadata.xml
deleted file mode 100644
index 5e95859f915a..000000000000
--- a/dev-python/ipdb/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches />
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/dev-python/ipykernel/Manifest b/dev-python/ipykernel/Manifest
index 82ca903ea2b8..65a2acf2b17f 100644
--- a/dev-python/ipykernel/Manifest
+++ b/dev-python/ipykernel/Manifest
@@ -1,3 +1,4 @@
DIST ipykernel-6.31.0.tar.gz 167493 BLAKE2B 0cb5f208b5cc1fc2d9da971cdd63158865036006ffbe697a375bf81e7242a99f168e9b6c8cdb1a2e3da46a973a1ed8b9ab2c1455de15a33f010b78db2fd939af SHA512 3ace064d1c78eb55d6f5f201349eb4a5b64eee387ea9adf4b7ad69875e15839eaecfd1940379dee367fbbba01426454ab70dc1526a7dd7cfdb250b31340d5872
DIST ipykernel-7.1.0.tar.gz 174579 BLAKE2B 61827326e033648643da186f11b9376265eb486f7eeb05140817e2377ea605079a172577c87c3b8605ba547fb9f41e72749052aa260c2e4c1f76d9a3be792e4b SHA512 5b7c7960c46a761af0d0407d66832bd78ef304c6ee7b0e2aaffd1a99fb0a32cee21480d5f436759328688d4ff2a1f0c24df0716da13260d22734b5acc41dbcb7
DIST ipykernel-7.2.0.tar.gz 176046 BLAKE2B 8cdba3db6ced2a5a9226077e72bcc4b2825869043d4b918bb8b8e989b6d6fa5cb0b6911aba942823177bedf7aaaf5385c84df56d18214ca38c17730da87de974 SHA512 b49cf006f4cd552f173b3341672e0a4dd3f68906f4c85ed924d128b85564bfb98a76dc23d68eb9fcad5f64f2aba9bca9e15e74a7a383667fab1b998bc019ae86
+DIST ipykernel-7.3.0.tar.gz 184899 BLAKE2B a1914b36e41ee9a483281c8283bf864fc7ce481bee7489f39ade824c8d4e348178f5a6fa494b56aee16f91bd0c8f876d9844acb10f51c4a0156ae44c9819b860 SHA512 d8e8f328bd966018ecb80da61725c4b9f5136aee7eeede7bb3cc30b2c3ee3603c44d417c94ca709f851081a14a4251fcf8e25038603e8b2fcd6c1dd5a3c80bae
diff --git a/dev-python/ipykernel/ipykernel-7.3.0.ebuild b/dev-python/ipykernel/ipykernel-7.3.0.ebuild
new file mode 100644
index 000000000000..9bbb92d2da05
--- /dev/null
+++ b/dev-python/ipykernel/ipykernel-7.3.0.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi virtualx
+
+DESCRIPTION="IPython Kernel for Jupyter"
+HOMEPAGE="
+ https://github.com/ipython/ipykernel/
+ https://pypi.org/project/ipykernel/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/comm-0.1.1[${PYTHON_USEDEP}]
+ >=dev-python/ipython-7.23.1[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-client-8.9.0[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-core-5.1[${PYTHON_USEDEP}]
+ >=dev-python/matplotlib-inline-0.1[${PYTHON_USEDEP}]
+ >=dev-python/nest-asyncio2-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/packaging-22[${PYTHON_USEDEP}]
+ >=dev-python/psutil-5.7[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-25[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.4.1[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.4.0[${PYTHON_USEDEP}]
+"
+# RDEPEND seems specifically needed in BDEPEND, at least jupyter
+# bug #816486
+# pytest-8 runs a small subset of tests, we allow newer for 3.13
+# since a few tests are better than skipping entirely
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/ipyparallel[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{asyncio,rerunfailures,timeout} )
+distutils_enable_tests pytest
+
+src_prepare() {
+ # debugpy is actually optional
+ sed -i -e '/debugpy/d' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ # Use python3 in kernel.json configuration, bug #784764
+ sed -i -e '/python3.[0-9]\+/s//python3/' \
+ "${BUILD_DIR}/install${EPREFIX}/usr/share/jupyter/kernels/python3/kernel.json" || die
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # hangs?
+ tests/test_eventloop.py::test_tk_loop
+ # flaky
+ tests/test_eventloop.py::test_qt_enable_gui
+ # fails without pytest-cov; apparently "time-sensitive" too
+ tests/test_subshells.py::test_run_concurrently_sequence
+ )
+
+ case ${EPYTHON} in
+ python3.14)
+ EPYTEST_DESELECT+=(
+ tests/test_kernel.py::test_subprocess_{error,print}
+ )
+ ;;
+ esac
+
+ epytest
+}
diff --git a/dev-python/ipyparallel/ipyparallel-9.2.0.ebuild b/dev-python/ipyparallel/ipyparallel-9.2.0.ebuild
index 510f7f168578..71522f1413fb 100644
--- a/dev-python/ipyparallel/ipyparallel-9.2.0.ebuild
+++ b/dev-python/ipyparallel/ipyparallel-9.2.0.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="BSD"
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/decorator[${PYTHON_USEDEP}]
diff --git a/dev-python/ipython/Manifest b/dev-python/ipython/Manifest
index c27d7ce7defb..e3b9bcd591dd 100644
--- a/dev-python/ipython/Manifest
+++ b/dev-python/ipython/Manifest
@@ -2,3 +2,5 @@ DIST ipython-9.13.0.tar.gz 4430549 BLAKE2B e57be94d752a7de861cfe8a86e65e9827894c
DIST ipython-9.13.0.tar.gz.provenance 9426 BLAKE2B 89a5b4d09efc361b080dc78eaa1007c237036a3ba8101cfa812fc634c90f8cbe5ddc3cfa8e1018e6be209fc45203c6ee0ad1ec79257dbe0dcc296629b05050b3 SHA512 e72798ac68a3b731c65f36f53c62a0dc642458657c6fc0093b66a5d0a8f8fe1638d6cf47f0b3b3702501f28e6f4791a3799566c8efc224f6c11bfbb03ccfa700
DIST ipython-9.14.0.tar.gz 4432601 BLAKE2B 996998361fc0503d2ef7e6f8928917495f51ec5cef39807a2302c01dce5c6bcea64d2a5f890531561939429cdde2ae2d956de93d7f4ceed30a12d4caadfb4801 SHA512 2cad3ee542fc9a2bc29c5bd532c6fc448bfabe352078010335c87fcf98d16432cb2d5fb0d00b053b040eeba137ad0d2c04449dc7f50e7314a59067b0faa9d25a
DIST ipython-9.14.0.tar.gz.provenance 9740 BLAKE2B 95418d7244f3c58491752779e9b9012a125004d359e8a1f6f18f89bf12ba6835104147ca7d8d14a02d8303783012b4b1f96e0cd44accb61d2cc0b9a0d5cf09ee SHA512 7d472a1014c1740dc221986bcce831e5632545bad635ed4047cf6225c24eb7b11b762282bea95dcd21391506e581f5f683f803f0abff001f316093843105a346
+DIST ipython-9.14.1.tar.gz 4433457 BLAKE2B ea140038e628767dc44fb1cbbab393ae14a3b06f13908957cd8f1790aee82225a31c3f5cc390d87697c00921d995045da6692af4c1beb4d505f9c2e75fc7d4b0 SHA512 1ffdd0ae5640e8f9c50a9f6f490394dfaf0aeb2ccfa0206923773057d45f57f8091ebbd7d33eec1a2a44ed0d7fe5946635556995de88ee19c1caa47e98235c91
+DIST ipython-9.14.1.tar.gz.provenance 9787 BLAKE2B 6b6ede8bfb37cee2d9af4d290439a89c40952b6a5a3d49efe6245f5ac01454d377c00823796661fdf248095561f3da81658c069bb3c6e8893954639713356840 SHA512 7d76ae2f9e7a680414d84c76f76e05589d0df5fbbf05f92b6d9d7428d4e377a2972e2ded9a2e23b0c3b25eaf5a829b2cafcec1e8c1bde215edeb4802d7e08258
diff --git a/dev-python/ipython/ipython-9.14.1.ebuild b/dev-python/ipython/ipython-9.14.1.ebuild
new file mode 100644
index 000000000000..8d7c72a165d5
--- /dev/null
+++ b/dev-python/ipython/ipython-9.14.1.ebuild
@@ -0,0 +1,146 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYPI_VERIFY_REPO=https://github.com/ipython/ipython
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE='readline(+),sqlite,threads(+)'
+
+inherit distutils-r1 optfeature toolchain-funcs 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 gui notebook nbconvert +smp test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/decorator-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/ipython-pygments-lexers-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/jedi-0.18.2[${PYTHON_USEDEP}]
+ >=dev-python/matplotlib-inline-0.1.6[${PYTHON_USEDEP}]
+ >=dev-python/pexpect-4.7[${PYTHON_USEDEP}]
+ >=dev-python/prompt-toolkit-3.0.41[${PYTHON_USEDEP}]
+ <dev-python/prompt-toolkit-3.1[${PYTHON_USEDEP}]
+ >=dev-python/psutil-7[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.14.0[${PYTHON_USEDEP}]
+ >=dev-python/stack-data-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.13.0[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ >=dev-python/setuptools-80[${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-2.0[${PYTHON_USEDEP}]
+ dev-python/matplotlib-inline[${PYTHON_USEDEP}]
+ >=dev-python/packaging-23.0.0[${PYTHON_USEDEP}]
+ dev-python/pickleshare[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ >=dev-python/testpath-0.2[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-asyncio )
+distutils_enable_tests pytest
+
+RDEPEND+="
+ nbconvert? (
+ dev-python/nbconvert[${PYTHON_USEDEP}]
+ )
+"
+PDEPEND="
+ $(python_gen_cond_dep '
+ gui? ( 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.{12..14})
+ 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=()
+
+ if [[ $(tc-get-ptr-size) == 4 ]] ; then
+ EPYTEST_DESELECT+=(
+ # https://github.com/ipython/ipython/issues/15107
+ IPython/extensions/ipython_tests/test_deduperreload.py::DecoratorPatchingSuite::test_function_decorator_from_other_module
+ IPython/extensions/ipython_tests/test_deduperreload.py::DecoratorPatchingSuite::test_function_decorators
+ IPython/extensions/tests/test_deduperreload.py::DecoratorPatchingSuite::test_method_decorator
+ )
+ fi
+
+ # nonfatal implied by virtx
+ nonfatal epytest || die "Tests failed on ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # Create ipythonX.Y symlinks.
+ # TODO:
+ # 1. do we want them for pypy?
+ # 2. handle it in the eclass instead (use _python_ln_rel).
+ # With pypy not an option the dosym becomes unconditional
+ # TODO2: figure out what TODO meant.
+ 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/iterable-io/Manifest b/dev-python/iterable-io/Manifest
index 2ae70993a4ef..b6795a1f4f93 100644
--- a/dev-python/iterable-io/Manifest
+++ b/dev-python/iterable-io/Manifest
@@ -1,3 +1,2 @@
-DIST iterable_io-1.0.1.tar.gz 6199 BLAKE2B b7c8667746939b6e5f85e79789d314cd2a4d428d21572661a548e5c4c829a60c86195e42ea84d43c388b540438d5909e666a6cb3b7cf53be83ac5b682927b713 SHA512 7019080afab3a1d890635c1a98dc722dbebe9d0cf777c37f41412bade4d153953ae7defff2c082852c34ba7e7e460c6599e9d4f2ce3aa30e1d43d37314506fb8
DIST iterable_io-1.0.2.tar.gz 6315 BLAKE2B e79972c65e78dafd984448a557c085f80192ea1cf48f3c474f354ea5eced68d24555e10a7edaec2d144491c447a97ae17f4126d447d22a8c69bcbe276f687789 SHA512 24cb8465bdac63080bdbb29966515abde35c958ba0c0d545303d517e27e41df74c8c6d4360853db615397db89e857f30b39626e7b2a98194c1a72b0a3da6047f
DIST iterable_io-1.0.4.tar.gz 5617 BLAKE2B 89881e44f125f53cf0e951313501e3aadc891074febdc9cc7cf4c3c50f94ed20afbea053a2269f68c761f38ecb07ef414da5ea2a2bffc88b8ce9ab2b711bf6d0 SHA512 83e7d636f78eae794a713627619e6fae3b1cea1a741c6ed723b6083bb34d29ca3d154d0e589f9832fd1e9ea6db26bb9403a6b7f2ac2f6d9e21d4b28ee0a31ed6
diff --git a/dev-python/iterable-io/iterable-io-1.0.2.ebuild b/dev-python/iterable-io/iterable-io-1.0.2.ebuild
index 6f667014db2b..695e8e71d31f 100644
--- a/dev-python/iterable-io/iterable-io-1.0.2.ebuild
+++ b/dev-python/iterable-io/iterable-io-1.0.2.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="LGPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 ~arm64 ~x86"
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
diff --git a/dev-python/jaraco-functools/Manifest b/dev-python/jaraco-functools/Manifest
index 9c8661f6a114..b772321b47f7 100644
--- a/dev-python/jaraco-functools/Manifest
+++ b/dev-python/jaraco-functools/Manifest
@@ -1,2 +1 @@
-DIST jaraco_functools-4.4.0.tar.gz 19943 BLAKE2B c731e73db1fc74d33d0d312f3c93fc61dae1d47a239f34ad2ab8c5cd45b5dba40a1f50c96fa5d30740bb6a4dcbeae2eec99e5b1ca370574c6c226c107dd344a1 SHA512 7bfdddd2da31dee0461e791726254fcfbcf69dd198ccdfd2c87c771feb589b17a5789669e23c2cc8be4b207c073d84b03c26da3fcf7ae9c3157efd088f50cec3
DIST jaraco_functools-4.5.0.tar.gz 20272 BLAKE2B 5e6c7fee636eac91bdfbe226bccc70c98ae7c92c70ebf79436f8b7db226992921b48dad180a21ca01338a628a41a71a87c1f1511a709f8b322b6a4df1bf64e16 SHA512 b674baff8f5f882b82deb86f09da8db8a2a78cf7658f0348edaf690da38804f064191a9311d95b6aefe74a3bb31408e0a1acd577a6e4f2553a7ebb340521615f
diff --git a/dev-python/jaraco-functools/jaraco-functools-4.4.0.ebuild b/dev-python/jaraco-functools/jaraco-functools-4.4.0.ebuild
deleted file mode 100644
index 902c991b3e2e..000000000000
--- a/dev-python/jaraco-functools/jaraco-functools-4.4.0.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2026 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_{13..14} )
-
-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 ~arm64-macos ~x64-macos ~x64-solaris"
-
-RDEPEND="
- >=dev-python/more-itertools-0.12.0-r1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/jaraco-classes[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-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.5.0.ebuild b/dev-python/jaraco-functools/jaraco-functools-4.5.0.ebuild
index e12dabb4f58b..902c991b3e2e 100644
--- a/dev-python/jaraco-functools/jaraco-functools-4.5.0.ebuild
+++ b/dev-python/jaraco-functools/jaraco-functools-4.5.0.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 ~arm64-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
RDEPEND="
>=dev-python/more-itertools-0.12.0-r1[${PYTHON_USEDEP}]
diff --git a/dev-python/jedi/jedi-0.20.0.ebuild b/dev-python/jedi/jedi-0.20.0.ebuild
index c32bbb4cd1bd..5f974213fd54 100644
--- a/dev-python/jedi/jedi-0.20.0.ebuild
+++ b/dev-python/jedi/jedi-0.20.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
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/parso-0.9[${PYTHON_USEDEP}]
diff --git a/dev-python/js2py/Manifest b/dev-python/js2py/Manifest
deleted file mode 100644
index b697ae236583..000000000000
--- a/dev-python/js2py/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST Js2Py-0.74.tar.gz 2504984 BLAKE2B 1e4f34ad94947118aeaf84ff438f9bec5b2a8ca3c722d907d3b8015acfcaafe1f229cfe401ae0f3d07c0f074ecf2f9ca3aeb94ef9c394b7ed6d90f1279c1ffa2 SHA512 cb2f42c2bec0c15dadc301ee0a7ac452cc8c4bba4669e95f1155863590d6d00781883b54d4dab755a0f66eb6e30990fedca732494b1f8b6c07dc29f5203a8c8c
diff --git a/dev-python/js2py/files/js2py-0.74-CVE-2024-28397.patch b/dev-python/js2py/files/js2py-0.74-CVE-2024-28397.patch
deleted file mode 100644
index c8ecfab22485..000000000000
--- a/dev-python/js2py/files/js2py-0.74-CVE-2024-28397.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-# https://nvd.nist.gov/vuln/detail/CVE-2024-28397
-# https://github.com/Marven11/CVE-2024-28397-js2py-Sandbox-Escape/blob/main/patch.txt
-# https://github.com/PiotrDabkowski/Js2Py/pull/323
-# https://github.com/Marven11/Js2Py/commit/56e244eb
-
-Author: Marven11 <110723864+Marven11@users.noreply.github.com>
-Date: Fri, 1 Mar 2024 12:53:58 +0800
-
-diff --git a/js2py/constructors/jsobject.py b/js2py/constructors/jsobject.py
-index c4e0ada3..b1806ea6 100644
---- a/js2py/constructors/jsobject.py
-+++ b/js2py/constructors/jsobject.py
-@@ -49,7 +49,7 @@ def getOwnPropertyNames(obj):
- raise MakeError(
- 'TypeError',
- 'Object.getOwnPropertyDescriptor called on non-object')
-- return obj.own.keys()
-+ return list(obj.own.keys())
-
- def create(obj):
- if not (obj.is_object() or obj.is_null()):
diff --git a/dev-python/js2py/files/js2py-0.74-py312-load_attr.patch b/dev-python/js2py/files/js2py-0.74-py312-load_attr.patch
deleted file mode 100644
index 6dfa467cc41f..000000000000
--- a/dev-python/js2py/files/js2py-0.74-py312-load_attr.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From fd7df4a91fb08060914c7b1d9e94583d18f3371b Mon Sep 17 00:00:00 2001
-From: Felix Yan <felixonmars@archlinux.org>
-Date: Wed, 17 Apr 2024 16:47:47 +0300
-Subject: [PATCH] Fix bytecode for Python 3.12
-
-`LOAD_ATTR` has been changed in Python 3.12 and it seems reusing the
-`LOAD_GLOBAL` logic makes the simple tests passing.
-
-I am not sure if this is correct since I'm pretty new to the code, but
-maybe it's still helpful.
----
- js2py/translators/translating_nodes.py | 2 +-
- js2py/utils/injector.py | 4 +++-
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/js2py/translators/translating_nodes.py b/js2py/translators/translating_nodes.py
-index 4e2b5760..a780ba73 100644
---- a/js2py/translators/translating_nodes.py
-+++ b/js2py/translators/translating_nodes.py
-@@ -543,7 +543,7 @@ def TryStatement(type, block, handler, handlers, guardedHandlers, finalizer):
- if handler:
- identifier = handler['param']['name']
- holder = 'PyJsHolder_%s_%d' % (to_hex(identifier),
-- random.randrange(1e8))
-+ random.randrange(six.integer_types[-1](1e8)))
- identifier = repr(identifier)
- result += 'except PyJsException as PyJsTempException:\n'
- # fill in except ( catch ) block and remember to recover holder variable to its previous state
-diff --git a/js2py/utils/injector.py b/js2py/utils/injector.py
-index 88e0d93e..835229f0 100644
---- a/js2py/utils/injector.py
-+++ b/js2py/utils/injector.py
-@@ -14,6 +14,7 @@
- # Opcode constants used for comparison and replacecment
- LOAD_FAST = opcode.opmap['LOAD_FAST']
- LOAD_GLOBAL = opcode.opmap['LOAD_GLOBAL']
-+LOAD_ATTR = opcode.opmap['LOAD_ATTR']
- STORE_FAST = opcode.opmap['STORE_FAST']
-
-
-@@ -79,6 +80,7 @@ def append_arguments(code_obj, new_locals):
- (co_names.index(name), varnames.index(name)) for name in new_locals)
-
- is_new_bytecode = sys.version_info >= (3, 11)
-+ is_new_load_attr = sys.version_info >= (3, 12)
- # Now we modify the actual bytecode
- modified = []
- drop_future_cache = False
-@@ -97,7 +99,7 @@ def append_arguments(code_obj, new_locals):
- # it's one of the globals that we are replacing. Either way,
- # update its arg using the appropriate dict.
- drop_future_cache = False
-- if inst.opcode == LOAD_GLOBAL:
-+ if inst.opcode == LOAD_GLOBAL or (is_new_load_attr and inst.opcode == LOAD_ATTR):
- idx = inst.arg
- if is_new_bytecode:
- idx = idx // 2
diff --git a/dev-python/js2py/js2py-0.74-r2.ebuild b/dev-python/js2py/js2py-0.74-r2.ebuild
deleted file mode 100644
index d1e190e17b9d..000000000000
--- a/dev-python/js2py/js2py-0.74-r2.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2024 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="Js2Py"
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="JavaScript to Python Translator & JavaScript interpreter in Python"
-HOMEPAGE="http://piter.io/projects/js2py
- https://github.com/PiotrDabkowski/Js2Py
- https://pypi.org/project/Js2Py/"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~hppa ~mips ~ppc ~ppc64 ~s390 ~sparc x86"
-RESTRICT="test"
-
-RDEPEND="
- >=dev-python/pyjsparser-2.5.1[${PYTHON_USEDEP}]
- >=dev-python/tzlocal-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.74-CVE-2024-28397.patch"
- "${FILESDIR}/${PN}-0.74-py312-load_attr.patch"
-)
-
-python_test() {
- pushd ./tests >/dev/null || die
-
- # run.py requires "node_failed.txt" file
- touch ./node_failed.txt || die
-
- # https://bugs.gentoo.org/831356
- # make run.py return a non-zero exit code if any test failed
- echo 'sys.exit(len(FAILING))' >> ./run.py || die
-
- "${EPYTHON}" ./run.py || die "tests failed with ${EPYTHON}"
-
- popd >/dev/null || die
-}
diff --git a/dev-python/jupyter-client/Manifest b/dev-python/jupyter-client/Manifest
index 752d1c645189..8fb1ef7fec2e 100644
--- a/dev-python/jupyter-client/Manifest
+++ b/dev-python/jupyter-client/Manifest
@@ -1 +1,3 @@
DIST jupyter_client-8.8.0.tar.gz 348020 BLAKE2B 440930a9db3d50c1dae8ae8e59ea77487b23f7a28ecbd631fc14ec1b27cf69c9baa182edf29dfde01ce61d83ae082894107769da78f528c81410d714ce7d0507 SHA512 6b154318f1ab52adcf4d64ad80a588ddd71325a69ec9193030d4dfcb3d6da5c9d9eea4e28f12a6f60de06aaa3a44b22bd10990464efb36d187724bedb98c2101
+DIST jupyter_client-8.9.0.tar.gz 358714 BLAKE2B 1b7df9122f508e27f35e085fb1775c5cc0d1239f815af1def5f1f62241e9dcf1f0eec1202034866ba90d6e98ecf45257e63f0dc2a604d282b8df1116e786294b SHA512 84180c5a0dd12de8a2cbade4f660c12ce1a52fca033b7392c47f5b876e5662ea7eed661f24435e9d747f49ae580b12382f027b36c4426d05af681a92e989e7c0
+DIST jupyter_client-8.9.1.tar.gz 359256 BLAKE2B e02afbe26352908302a48e552915c94a08087fbb271c5895a890c599853591f4d19f7b15687dfc1e32cf25ff837b8c2080e53b524274b7d5e85603adb789e35c SHA512 8a125344a458bfa4102a8895220a659b39fc72e2a0a9ee99ca3d25471c2bc4b09b307c17d6c1103501ad4eff058269ed0688239aa8f4d753ff079d9de014822b
diff --git a/dev-python/jupyter-client/jupyter-client-8.9.0.ebuild b/dev-python/jupyter-client/jupyter-client-8.9.0.ebuild
new file mode 100644
index 000000000000..5b074abeb4db
--- /dev/null
+++ b/dev-python/jupyter-client/jupyter-client-8.9.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Jupyter protocol implementation and client libraries"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter/jupyter_client/
+ https://pypi.org/project/jupyter-client/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/jupyter-core-5.1[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-25.0[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.4.1[${PYTHON_USEDEP}]
+ dev-python/traitlets[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.13.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/ipykernel-6.14[${PYTHON_USEDEP}]
+ dev-python/msgpack[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_RERUNS=3
+EPYTEST_PLUGINS=( anyio pytest-{jupyter,timeout} )
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO: times out
+ tests/test_client.py::TestAsyncKernelClient::test_input_request
+ # TODO
+ tests/test_multikernelmanager.py::TestKernelManager::test_tcp_cinfo
+ )
+
+ epytest -o tmp_path_retention_policy=all
+}
diff --git a/dev-python/jupyter-client/jupyter-client-8.9.1.ebuild b/dev-python/jupyter-client/jupyter-client-8.9.1.ebuild
new file mode 100644
index 000000000000..5b074abeb4db
--- /dev/null
+++ b/dev-python/jupyter-client/jupyter-client-8.9.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Jupyter protocol implementation and client libraries"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter/jupyter_client/
+ https://pypi.org/project/jupyter-client/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/jupyter-core-5.1[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-25.0[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.4.1[${PYTHON_USEDEP}]
+ dev-python/traitlets[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.13.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/ipykernel-6.14[${PYTHON_USEDEP}]
+ dev-python/msgpack[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_RERUNS=3
+EPYTEST_PLUGINS=( anyio pytest-{jupyter,timeout} )
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO: times out
+ tests/test_client.py::TestAsyncKernelClient::test_input_request
+ # TODO
+ tests/test_multikernelmanager.py::TestKernelManager::test_tcp_cinfo
+ )
+
+ epytest -o tmp_path_retention_policy=all
+}
diff --git a/dev-python/jupyter-server/Manifest b/dev-python/jupyter-server/Manifest
index eb73806c8f5c..a818ccd5d73f 100644
--- a/dev-python/jupyter-server/Manifest
+++ b/dev-python/jupyter-server/Manifest
@@ -1,3 +1,2 @@
-DIST jupyter_server-2.17.0.tar.gz 731949 BLAKE2B e15b8e385f620549ce965a553a49f4606180fc782cd1617b4cc723a5a6443c2a0a7e3c19c9f00577afd125ea9f8e8a68e60eb42d2e73c09b69e0181f6fc8b790 SHA512 9eb386bee25e2fa28ef30a2d00178fcbe3a6ab0b3033c461863cfabb78433701fe7c856af27084e57d312d092610c7d50890637114c90c126e39b9f78bc15355
DIST jupyter_server-2.18.2.tar.gz 753177 BLAKE2B 6b93d51e21c0f0c34e7df7bd930d0c238699f6edc0ba8c2be4dbaa80e900c9b8069f315fa0077441d1678859405ba7dbb6281fc29cced88067e6f04347cd1de0 SHA512 66fe709003a497d4cd3cee890dffdd0c9109b3c9fbfdc3fc54036ccc700414e6a9755bfdc845180b1255d06a8cf37eb467f905c90ad1dc8969e6912a909ba6ee
DIST jupyter_server-2.19.0.tar.gz 754561 BLAKE2B 1d7c52340fd86152aaea2fc08de49502bd893d58067d5da8e64f2261fc8348f961295b65fa27d44cc45401ddc1dccc7af921758f088b6dded80b5b4816e0522d SHA512 021be211c40541b84f0adbd04c31a8cf5e1a99ed0480d75bd5bb28ef5102e9a08652d0712cbfd5ba4126974d961818f1d9eb8b3a206870e171ed8285a658ae99
diff --git a/dev-python/jupyter-server/files/jupyter-server-2.17.0-pytest-rerunfailures.patch b/dev-python/jupyter-server/files/jupyter-server-2.17.0-pytest-rerunfailures.patch
deleted file mode 100644
index b88aacc515b2..000000000000
--- a/dev-python/jupyter-server/files/jupyter-server-2.17.0-pytest-rerunfailures.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-From 336adff91dfc7e592fc60e49b15a31ee67014832 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Thu, 24 Jul 2025 11:41:20 +0200
-Subject: [PATCH] Replace `@flaky.flaky` decorate with pytest marker
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Use the `@pytest.mark.flaky` marker in place of the `@flaky.flaky`
-decorator, to modernize the code and improve compatibility with other
-plugins providing the feature such as `pytest-rerunfailures`.
-
-Signed-off-by: Michał Górny <mgorny@gentoo.org>
----
- tests/services/kernels/test_api.py | 3 +--
- tests/services/kernels/test_execution_state.py | 3 +--
- tests/services/sessions/test_api.py | 3 +--
- tests/test_terminal.py | 5 ++---
- 4 files changed, 5 insertions(+), 9 deletions(-)
-
-diff --git a/tests/services/kernels/test_api.py b/tests/services/kernels/test_api.py
-index 60009e8978..8bea6acae1 100644
---- a/tests/services/kernels/test_api.py
-+++ b/tests/services/kernels/test_api.py
-@@ -7,7 +7,6 @@
- import jupyter_client
- import pytest
- import tornado
--from flaky import flaky
- from jupyter_client.kernelspec import NATIVE_KERNEL_NAME
- from tornado.httpclient import HTTPClientError
-
-@@ -257,7 +256,7 @@ async def test_kernel_handler_startup_error_pending(
- await jp_ws_fetch("api", "kernels", kid, "channels")
-
-
--@flaky
-+@pytest.mark.flaky
- @pytest.mark.timeout(TEST_TIMEOUT)
- async def test_connection(jp_fetch, jp_ws_fetch, jp_http_port, jp_auth_header):
- # Create kernel
-diff --git a/tests/services/kernels/test_execution_state.py b/tests/services/kernels/test_execution_state.py
-index 50155ec76f..7625a16608 100644
---- a/tests/services/kernels/test_execution_state.py
-+++ b/tests/services/kernels/test_execution_state.py
-@@ -9,7 +9,6 @@
-
- import jupyter_client
- import pytest
--from flaky import flaky
- from tornado.httpclient import HTTPClientError
- from traitlets.config import Config
-
-@@ -18,7 +17,7 @@
- MINIMUM_CONSISTENT_COUNT = 4
-
-
--@flaky
-+@pytest.mark.flaky
- async def test_execution_state(jp_fetch, jp_ws_fetch):
- r = await jp_fetch("api", "kernels", method="POST", allow_nonstandard_methods=True)
- kernel = json.loads(r.body.decode())
-diff --git a/tests/services/sessions/test_api.py b/tests/services/sessions/test_api.py
-index a0502b544e..3a8ad5437b 100644
---- a/tests/services/sessions/test_api.py
-+++ b/tests/services/sessions/test_api.py
-@@ -9,7 +9,6 @@
- import jupyter_client
- import pytest
- import tornado
--from flaky import flaky
- from jupyter_client.ioloop import AsyncIOLoopKernelManager
- from nbformat import writes
- from nbformat.v4 import new_notebook
-@@ -505,7 +504,7 @@ async def test_modify_kernel_id(session_client, jp_fetch, jp_serverapp, session_
- assert kernel_list == [kernel]
-
-
--@flaky
-+@pytest.mark.flaky
- @pytest.mark.timeout(TEST_TIMEOUT)
- async def test_restart_kernel(session_client, jp_base_url, jp_fetch, jp_ws_fetch, session_is_ready):
- # Create a session.
-diff --git a/tests/test_terminal.py b/tests/test_terminal.py
-index 8f35c7df60..d4e9464dd6 100644
---- a/tests/test_terminal.py
-+++ b/tests/test_terminal.py
-@@ -7,7 +7,6 @@
- import warnings
-
- import pytest
--from flaky import flaky # type:ignore[import-untyped]
- from tornado.httpclient import HTTPClientError
- from traitlets.config import Config
-
-@@ -230,7 +229,7 @@ async def test_terminal_create_with_bad_cwd(jp_fetch, jp_ws_fetch):
- assert non_existing_path not in message_stdout
-
-
--@flaky
-+@pytest.mark.flaky
- def test_culling_config(jp_server_config, jp_configurable_serverapp):
- app = jp_configurable_serverapp()
- terminal_mgr_config = app.config.ServerApp.TerminalManager
-@@ -242,7 +241,7 @@ def test_culling_config(jp_server_config, jp_configurable_serverapp):
- assert terminal_mgr_settings.cull_interval == CULL_INTERVAL
-
-
--@flaky
-+@pytest.mark.flaky
- async def test_culling(jp_server_config, jp_fetch):
- # POST request
- resp = await jp_fetch(
diff --git a/dev-python/jupyter-server/jupyter-server-2.17.0-r1.ebuild b/dev-python/jupyter-server/jupyter-server-2.17.0-r1.ebuild
deleted file mode 100644
index b58bd8f1a9e7..000000000000
--- a/dev-python/jupyter-server/jupyter-server-2.17.0-r1.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Core services, APIs, and REST endpoints to Jupyter web applications"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter-server/jupyter_server/
- https://pypi.org/project/jupyter-server/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-RDEPEND="
- >=dev-python/anyio-3.1.0[${PYTHON_USEDEP}]
- >=dev-python/argon2-cffi-21.1[${PYTHON_USEDEP}]
- >=dev-python/jinja2-3.0.3[${PYTHON_USEDEP}]
- >=dev-python/jupyter-client-7.4.4[${PYTHON_USEDEP}]
- >=dev-python/jupyter-core-5.1.0[${PYTHON_USEDEP}]
- >=dev-python/jupyter-server-terminals-0.4.4[${PYTHON_USEDEP}]
- >=dev-python/jupyter-events-0.11.0[${PYTHON_USEDEP}]
- >=dev-python/nbconvert-6.4.4[${PYTHON_USEDEP}]
- >=dev-python/nbformat-5.3.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/overrides-5.0[${PYTHON_USEDEP}]
- ' 3.11)
- >=dev-python/packaging-22.0[${PYTHON_USEDEP}]
- >=dev-python/prometheus-client-0.9[${PYTHON_USEDEP}]
- >=dev-python/pyzmq-24[${PYTHON_USEDEP}]
- >=dev-python/send2trash-1.8.2[${PYTHON_USEDEP}]
- >=dev-python/terminado-0.8.3[${PYTHON_USEDEP}]
- >=dev-python/tornado-6.2[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.6.0[${PYTHON_USEDEP}]
- >=dev-python/websocket-client-1.7[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/hatch-jupyter-builder[${PYTHON_USEDEP}]
- test? (
- dev-python/ipykernel[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( pytest-{console-scripts,jupyter,timeout,tornasync} )
-EPYTEST_RERUNS=5
-distutils_enable_tests pytest
-
-PATCHES=(
- # https://github.com/jupyter-server/jupyter_server/pull/1544
- "${FILESDIR}/${P}-pytest-rerunfailures.patch"
-)
-
-python_test() {
- local EPYTEST_DESELECT=(
- # This fails if your terminal is zsh (and maybe other non-bash as well?)
- tests/test_terminal.py
- # Fails because above is ignored
- tests/auth/test_authorizer.py
- # Fails with additional extensions installed
- tests/extension/test_app.py::test_stop_extension
- )
-
- # FIXME: tests seem to be affected by previously installed version
- epytest \
- -o tmp_path_retention_policy=all
-}
diff --git a/dev-python/jupyter-server/jupyter-server-2.18.2.ebuild b/dev-python/jupyter-server/jupyter-server-2.18.2.ebuild
index 7b485879e0d6..1e26e0404740 100644
--- a/dev-python/jupyter-server/jupyter-server-2.18.2.ebuild
+++ b/dev-python/jupyter-server/jupyter-server-2.18.2.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="BSD"
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/anyio-3.1.0[${PYTHON_USEDEP}]
diff --git a/dev-python/jupyterlab/Manifest b/dev-python/jupyterlab/Manifest
index 26b50c027836..4b165bd7dd43 100644
--- a/dev-python/jupyterlab/Manifest
+++ b/dev-python/jupyterlab/Manifest
@@ -1,3 +1,3 @@
DIST jupyterlab-4.4.10.tar.gz 22969303 BLAKE2B 478b424ff65b4f88ee849f0e87cebf30a1a95d7da390e3179f0675c4d37cb6cc80aef0262e2e4ca09fecda71a76c6d92ed99a6b52337ff2ab22cc010122513a4 SHA512 fbdd4429ddc5c14f0085d3dc4a9cd1f93c8db3b438e62c7e653fb605819ec97f41aba182c48a54f25f5ed53d36a9137522e7901a2b36349596c8f03beeefe351
-DIST jupyterlab-4.5.6.tar.gz 23970670 BLAKE2B 362d6557cf74858186a815d41d63ab6c987859d033484bd59b431924fc95eec8c692b5dd6fd9f1b110e17c8f8a285a96e1b45371379c2e5c485cf39783437f0d SHA512 67c63e8717384b334b421bc95f46a38a9a0ade3edc319a66f20e86102aa6583df3828b47fb4d90ff6291779fb078e42034f3dcbb293a2428bf554503e2495910
DIST jupyterlab-4.5.7.tar.gz 23992763 BLAKE2B a8393ca503e6d35c8cd896948dc7201d10b9493bc55ed9898b706a9c88e98dc8000cb9d66e306600d0908aa23f6244860f7d271cfea6c54b339c5249ee2a6f33 SHA512 b2bc3190586c2f25688aef12a6ca04d77c69f21ce35f53bee926de10961c84e55e5441cd812f03e5deb649e8fa38674e97db7fd5a00edc965c19b2b7e1d90996
+DIST jupyterlab-4.5.8.tar.gz 23994076 BLAKE2B 6a42c5892bd1e89c19c7acf7d92a91abebe79c2b4246a99495ef04b1c4357a7d8cdfe22b3e67a382672c86efe52438009624d74714fd709295f541888068dbd1 SHA512 d6341b649299aada9be6d50169a18c9e0c300de76f9306582155e3592c560aa3c16d148942404e87c0d9706c28da8b0ba7305d026b1c9e3bc3b954760f7c6da1
diff --git a/dev-python/jupyterlab/jupyterlab-4.5.6.ebuild b/dev-python/jupyterlab/jupyterlab-4.5.8.ebuild
index e7ca7e0f2ba4..856de048ea98 100644
--- a/dev-python/jupyterlab/jupyterlab-4.5.6.ebuild
+++ b/dev-python/jupyterlab/jupyterlab-4.5.8.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="BSD MIT GPL-3 Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
RDEPEND="
>=dev-python/async-lru-1.0.0[${PYTHON_USEDEP}]
@@ -31,7 +31,7 @@ RDEPEND="
>=dev-python/jupyterlab-server-2.28.0[${PYTHON_USEDEP}]
<dev-python/jupyterlab-server-3[${PYTHON_USEDEP}]
>=dev-python/notebook-shim-0.2[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/packaging-23.2[${PYTHON_USEDEP}]
>=dev-python/setuptools-41.1.0[${PYTHON_USEDEP}]
>=dev-python/tornado-6.2.0[${PYTHON_USEDEP}]
dev-python/traitlets[${PYTHON_USEDEP}]
diff --git a/dev-python/keystoneauth1/Manifest b/dev-python/keystoneauth1/Manifest
index 19726f238a6a..5a2600152713 100644
--- a/dev-python/keystoneauth1/Manifest
+++ b/dev-python/keystoneauth1/Manifest
@@ -1,2 +1 @@
-DIST keystoneauth1-5.13.1.tar.gz 288548 BLAKE2B e07c9a7b47ca0c01594ad344fbdf473b6a46b11ffffb968e93e94421485ef6fb15287675d46037317441a13bb4202ae581e099cea0c519c7420344ea45cfdc41 SHA512 10a5277feb08bf7926c2ede4a92be30d540c6be58334f664075ba94ff6cca10cce668d75f23e6354c1927aaaa0b7e057d1b7b1018b815dd4ee6c87c69dbd075f
DIST keystoneauth1-5.14.0.tar.gz 288739 BLAKE2B aebcb73326eb9ef9b6885de8d5bd1931216862d3aeb8f815eca44eb3a88a7624b670f9c493ec96693fb4cbd83f7959170bb0a3311917b3d0bdab4bf243964c9a SHA512 d533b164c9d99e5035ef985fde1d696f75a47af8e83ad5b7a4f335fb6bc1f44874df06cbf34583896818225d89b47c8725b0de52a15efb866cd062d4bcd89171
diff --git a/dev-python/keystoneauth1/keystoneauth1-5.13.1.ebuild b/dev-python/keystoneauth1/keystoneauth1-5.13.1.ebuild
deleted file mode 100644
index dc6abd76ad9e..000000000000
--- a/dev-python/keystoneauth1/keystoneauth1-5.13.1.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pbr
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="This package contains tools for authenticating to an OpenStack-based cloud"
-HOMEPAGE="
- https://opendev.org/openstack/keystoneauth/
- https://github.com/openstack/keystoneauth/
- https://pypi.org/project/keystoneauth1/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/iso8601-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
- >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
- >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
- >=dev-python/os-service-types-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.12[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/betamax-0.7.0[${PYTHON_USEDEP}]
- >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.2.0[${PYTHON_USEDEP}]
- >=dev-python/oauthlib-0.6.2[${PYTHON_USEDEP}]
- >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
- >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-3.13[${PYTHON_USEDEP}]
- >=dev-python/requests-kerberos-0.8.0[${PYTHON_USEDEP}]
- >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/testresources-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # fragile to test runner name
- keystoneauth1/tests/unit/test_session.py::SessionTests::test_user_agent
- # broken betamax
- keystoneauth1/tests/unit/test_betamax_fixture.py::TestBetamaxFixture::test_keystoneauth_betamax_fixture
-)
-
-EPYTEST_IGNORE=(
- # require hacking
- keystoneauth1/tests/unit/test_hacking_checks.py
-)
diff --git a/dev-python/keystoneauth1/keystoneauth1-5.14.0.ebuild b/dev-python/keystoneauth1/keystoneauth1-5.14.0.ebuild
index e03f6271e6ca..dc6abd76ad9e 100644
--- a/dev-python/keystoneauth1/keystoneauth1-5.14.0.ebuild
+++ b/dev-python/keystoneauth1/keystoneauth1-5.14.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"
RDEPEND="
>=dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
diff --git a/dev-python/libtmux/files/libtmux-0.53.1-tests-fixture.patch b/dev-python/libtmux/files/libtmux-0.53.1-tests-fixture.patch
new file mode 100644
index 000000000000..d516d5ab94fc
--- /dev/null
+++ b/dev-python/libtmux/files/libtmux-0.53.1-tests-fixture.patch
@@ -0,0 +1,81 @@
+https://bugs.gentoo.org/896406
+https://github.com/tmux-python/libtmux/issues/664
+https://github.com/tmux-python/libtmux/pull/665
+
+From 8151ec39c4cf4c1c797bbfa26b8b485dffd4f43d Mon Sep 17 00:00:00 2001
+From: Tony Narlock <tony@git-pull.com>
+Date: Sat, 2 May 2026 12:26:44 -0500
+Subject: [PATCH 1/2] test_server(fix[isolation]): use `server` fixture for "no
+ server" tests
+
+why: Tests using hardcoded socket_name strings (e.g. test_no_server_is_alive,
+test_no_server_sessions, test_raise_if_dead_no_server_raises) fail whenever a
+stale tmux daemon happens to be alive at the same socket path. tmux does not
+reliably unlink its socket on non-graceful exit, so leftover daemons accumulate
+in /tmp/tmux-<uid>/ and persist across runs - breaking the tests even in
+isolation.
+
+what:
+- Convert test_no_server_sessions, test_no_server_attached_sessions,
+ test_no_server_is_alive, and test_raise_if_dead_no_server_raises to take
+ the existing `server` fixture (src/libtmux/pytest_plugin.py:144-182), which
+ already produces a Server with a unique random socket_name and registers
+ a finalizer that kills any daemon and unlinks the socket file.
+- A freshly-created Server with a unique name has no daemon running on it,
+ so it IS the "dead server" these tests want.
+- Drops the typo coupling where test_no_server_sessions and
+ test_raise_if_dead_no_server_raises both hardcoded the unrelated socket
+ name "test_attached_session_no_server".
+
+Fixes #664
+---
+ tests/test_server.py | 18 +++++++-----------
+ 1 file changed, 7 insertions(+), 11 deletions(-)
+
+diff --git a/tests/test_server.py b/tests/test_server.py
+index 38c05636f..c58613749 100644
+--- a/tests/test_server.py
++++ b/tests/test_server.py
+@@ -192,22 +192,19 @@ def test_new_session_environmental_variables(
+ assert my_session.show_environment()["FOO"] == "HI"
+
+
+-def test_no_server_sessions() -> None:
++def test_no_server_sessions(server: Server) -> None:
+ """Verify ``Server.sessions`` returns empty list without tmux server."""
+- server = Server(socket_name="test_attached_session_no_server")
+ assert server.sessions == []
+
+
+-def test_no_server_attached_sessions() -> None:
++def test_no_server_attached_sessions(server: Server) -> None:
+ """Verify ``Server.attached_sessions`` returns empty list without tmux server."""
+- server = Server(socket_name="test_no_server_attached_sessions")
+ assert server.attached_sessions == []
+
+
+-def test_no_server_is_alive() -> None:
++def test_no_server_is_alive(server: Server) -> None:
+ """Verify is_alive() returns False without tmux server."""
+- dead_server = Server(socket_name="test_no_server_is_alive")
+- assert not dead_server.is_alive()
++ assert not server.is_alive()
+
+
+ def test_with_server_is_alive(server: Server) -> None:
+@@ -216,11 +213,10 @@ def test_with_server_is_alive(server: Server) -> None:
+ assert server.is_alive()
+
+
+-def test_raise_if_dead_no_server_raises() -> None:
+- """Verify new_session() raises if tmux server is dead."""
+- dead_server = Server(socket_name="test_attached_session_no_server")
++def test_raise_if_dead_no_server_raises(server: Server) -> None:
++ """Verify ``Server.raise_if_dead`` raises if tmux server is dead."""
+ with pytest.raises(subprocess.CalledProcessError):
+- dead_server.raise_if_dead()
++ server.raise_if_dead()
+
+
+ def test_raise_if_dead_does_not_raise_if_alive(server: Server) -> None:
+
diff --git a/dev-python/libtmux/libtmux-0.46.2.ebuild b/dev-python/libtmux/libtmux-0.46.2.ebuild
index 8547b43e02d2..cd4a280680b5 100644
--- a/dev-python/libtmux/libtmux-0.46.2.ebuild
+++ b/dev-python/libtmux/libtmux-0.46.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -43,6 +43,8 @@ python_prepare_all() {
}
python_test() {
+ # Avoid stale /tmp/tmux-$(id -u) confusing things (bug #896406)
+ local -x TMUX_TMPDIR=$(mktemp --directory --tmpdir=/tmp libtmux.XXXXXXXXXX)
# tests/test_window.py::test_fresh_window_data fails if TMUX_PANE is set
# https://bugs.gentoo.org/927158
local -x TMUX_PANE=
diff --git a/dev-python/libtmux/libtmux-0.52.1.ebuild b/dev-python/libtmux/libtmux-0.52.1.ebuild
index aef467b28738..a85d2d5eaa37 100644
--- a/dev-python/libtmux/libtmux-0.52.1.ebuild
+++ b/dev-python/libtmux/libtmux-0.52.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -30,6 +30,8 @@ EPYTEST_RERUNS=5
distutils_enable_tests pytest
python_test() {
+ # Avoid stale /tmp/tmux-$(id -u) confusing things (bug #896406)
+ local -x TMUX_TMPDIR=$(mktemp --directory --tmpdir=/tmp libtmux.XXXXXXXXXX)
# tests/test_window.py::test_fresh_window_data fails if TMUX_PANE is set
# https://bugs.gentoo.org/927158
local -x TMUX_PANE=
diff --git a/dev-python/libtmux/libtmux-0.53.0.ebuild b/dev-python/libtmux/libtmux-0.53.0.ebuild
index aef467b28738..06410722433e 100644
--- a/dev-python/libtmux/libtmux-0.53.0.ebuild
+++ b/dev-python/libtmux/libtmux-0.53.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -24,12 +24,18 @@ RDEPEND="
>=app-misc/tmux-3.0a
"
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.53.1-tests-fixture.patch
+)
+
EPYTEST_PLUGIN_LOAD_VIA_ENV=1
EPYTEST_PLUGINS=( "${PN}" pytest-mock )
EPYTEST_RERUNS=5
distutils_enable_tests pytest
python_test() {
+ # Avoid stale /tmp/tmux-$(id -u) confusing things (bug #896406)
+ local -x TMUX_TMPDIR=$(mktemp --directory --tmpdir=/tmp libtmux.XXXXXXXXXX)
# tests/test_window.py::test_fresh_window_data fails if TMUX_PANE is set
# https://bugs.gentoo.org/927158
local -x TMUX_PANE=
diff --git a/dev-python/libtmux/libtmux-0.53.1.ebuild b/dev-python/libtmux/libtmux-0.53.1.ebuild
index 0e4764782f80..06410722433e 100644
--- a/dev-python/libtmux/libtmux-0.53.1.ebuild
+++ b/dev-python/libtmux/libtmux-0.53.1.ebuild
@@ -24,12 +24,18 @@ RDEPEND="
>=app-misc/tmux-3.0a
"
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.53.1-tests-fixture.patch
+)
+
EPYTEST_PLUGIN_LOAD_VIA_ENV=1
EPYTEST_PLUGINS=( "${PN}" pytest-mock )
EPYTEST_RERUNS=5
distutils_enable_tests pytest
python_test() {
+ # Avoid stale /tmp/tmux-$(id -u) confusing things (bug #896406)
+ local -x TMUX_TMPDIR=$(mktemp --directory --tmpdir=/tmp libtmux.XXXXXXXXXX)
# tests/test_window.py::test_fresh_window_data fails if TMUX_PANE is set
# https://bugs.gentoo.org/927158
local -x TMUX_PANE=
diff --git a/dev-python/libtmux/libtmux-0.55.0.ebuild b/dev-python/libtmux/libtmux-0.55.0.ebuild
index 0e4764782f80..06410722433e 100644
--- a/dev-python/libtmux/libtmux-0.55.0.ebuild
+++ b/dev-python/libtmux/libtmux-0.55.0.ebuild
@@ -24,12 +24,18 @@ RDEPEND="
>=app-misc/tmux-3.0a
"
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.53.1-tests-fixture.patch
+)
+
EPYTEST_PLUGIN_LOAD_VIA_ENV=1
EPYTEST_PLUGINS=( "${PN}" pytest-mock )
EPYTEST_RERUNS=5
distutils_enable_tests pytest
python_test() {
+ # Avoid stale /tmp/tmux-$(id -u) confusing things (bug #896406)
+ local -x TMUX_TMPDIR=$(mktemp --directory --tmpdir=/tmp libtmux.XXXXXXXXXX)
# tests/test_window.py::test_fresh_window_data fails if TMUX_PANE is set
# https://bugs.gentoo.org/927158
local -x TMUX_PANE=
diff --git a/dev-python/libtmux/libtmux-0.55.1.ebuild b/dev-python/libtmux/libtmux-0.55.1.ebuild
index 0e4764782f80..06410722433e 100644
--- a/dev-python/libtmux/libtmux-0.55.1.ebuild
+++ b/dev-python/libtmux/libtmux-0.55.1.ebuild
@@ -24,12 +24,18 @@ RDEPEND="
>=app-misc/tmux-3.0a
"
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.53.1-tests-fixture.patch
+)
+
EPYTEST_PLUGIN_LOAD_VIA_ENV=1
EPYTEST_PLUGINS=( "${PN}" pytest-mock )
EPYTEST_RERUNS=5
distutils_enable_tests pytest
python_test() {
+ # Avoid stale /tmp/tmux-$(id -u) confusing things (bug #896406)
+ local -x TMUX_TMPDIR=$(mktemp --directory --tmpdir=/tmp libtmux.XXXXXXXXXX)
# tests/test_window.py::test_fresh_window_data fails if TMUX_PANE is set
# https://bugs.gentoo.org/927158
local -x TMUX_PANE=
diff --git a/dev-python/libtmux/libtmux-0.56.0.ebuild b/dev-python/libtmux/libtmux-0.56.0.ebuild
index 0e4764782f80..a85d2d5eaa37 100644
--- a/dev-python/libtmux/libtmux-0.56.0.ebuild
+++ b/dev-python/libtmux/libtmux-0.56.0.ebuild
@@ -30,6 +30,8 @@ EPYTEST_RERUNS=5
distutils_enable_tests pytest
python_test() {
+ # Avoid stale /tmp/tmux-$(id -u) confusing things (bug #896406)
+ local -x TMUX_TMPDIR=$(mktemp --directory --tmpdir=/tmp libtmux.XXXXXXXXXX)
# tests/test_window.py::test_fresh_window_data fails if TMUX_PANE is set
# https://bugs.gentoo.org/927158
local -x TMUX_PANE=
diff --git a/dev-python/libtmux/libtmux-0.57.1.ebuild b/dev-python/libtmux/libtmux-0.57.1.ebuild
index 0e4764782f80..a85d2d5eaa37 100644
--- a/dev-python/libtmux/libtmux-0.57.1.ebuild
+++ b/dev-python/libtmux/libtmux-0.57.1.ebuild
@@ -30,6 +30,8 @@ EPYTEST_RERUNS=5
distutils_enable_tests pytest
python_test() {
+ # Avoid stale /tmp/tmux-$(id -u) confusing things (bug #896406)
+ local -x TMUX_TMPDIR=$(mktemp --directory --tmpdir=/tmp libtmux.XXXXXXXXXX)
# tests/test_window.py::test_fresh_window_data fails if TMUX_PANE is set
# https://bugs.gentoo.org/927158
local -x TMUX_PANE=
diff --git a/dev-python/libtmux/libtmux-0.58.0.ebuild b/dev-python/libtmux/libtmux-0.58.0.ebuild
index 0e4764782f80..a85d2d5eaa37 100644
--- a/dev-python/libtmux/libtmux-0.58.0.ebuild
+++ b/dev-python/libtmux/libtmux-0.58.0.ebuild
@@ -30,6 +30,8 @@ EPYTEST_RERUNS=5
distutils_enable_tests pytest
python_test() {
+ # Avoid stale /tmp/tmux-$(id -u) confusing things (bug #896406)
+ local -x TMUX_TMPDIR=$(mktemp --directory --tmpdir=/tmp libtmux.XXXXXXXXXX)
# tests/test_window.py::test_fresh_window_data fails if TMUX_PANE is set
# https://bugs.gentoo.org/927158
local -x TMUX_PANE=
diff --git a/dev-python/libusb1/Manifest b/dev-python/libusb1/Manifest
index 27ffb65ee1f0..4ca5f7c835bb 100644
--- a/dev-python/libusb1/Manifest
+++ b/dev-python/libusb1/Manifest
@@ -1,2 +1 @@
-DIST libusb1-3.3.1.tar.gz 107600 BLAKE2B 7ec6a0fecc4f2c7520a7b8dc47d9000176ef3054b4171bac82f4c77824c62f2532346ef356dcd9b677ccac3a24f29913668a5be60c7c10b35ceca38f1eb7904c SHA512 a565130a81751b5927bb5c9023e3236314bbf9fbc5c3bbdd7ae21f45197bb545ad189af034e9f187ffe626659d2bf65a5ecb9d323c99837fbae0a7ff0dac99ce
DIST libusb1-3.4.0.tar.gz 91206 BLAKE2B 2ef71f87ca00c41c7365584c2c67781d1d8ddb106b35ae941d45f185720f42f60573379055d4bbc83596cbf04200d9151b36577dbb301e0fd51b7327cd4504fe SHA512 d8a66a08f9737aa071d083efa7a41d52093e5efe7997e29df84552a70b201e034b16c8646f1647128092b8d6063a7ad020b1a49ad3f895cd2c102d76e3268bc8
diff --git a/dev-python/libusb1/libusb1-3.3.1.ebuild b/dev-python/libusb1/libusb1-3.3.1.ebuild
deleted file mode 100644
index 0517e507dc23..000000000000
--- a/dev-python/libusb1/libusb1-3.3.1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python ctype-based wrapper around libusb1"
-HOMEPAGE="https://github.com/vpelletier/python-libusb1"
-SRC_URI="https://github.com/vpelletier/python-libusb1/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="test"
-
-RDEPEND="virtual/libusb:1"
-DEPEND="test? ( ${RDEPEND} )"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- # Don't need this.
- rm -r usb1/__pyinstaller || die
- default
-}
diff --git a/dev-python/linode-metadata/Manifest b/dev-python/linode-metadata/Manifest
index 3f711818997a..27e90d5200fc 100644
--- a/dev-python/linode-metadata/Manifest
+++ b/dev-python/linode-metadata/Manifest
@@ -1,4 +1,2 @@
-DIST linode_metadata-0.3.4.tar.gz 17748 BLAKE2B c6f76e9c7c21a68f91fa908d6e6943df20e00acf624c182b27350a067994d53be29c593749c3df91b4225a6091d8d1d7855affeaa495a74e5e236fb71fc0b25c SHA512 da56c62148a3b6c32d26832b434fcf9f1169d9327e3a0d4c949de9efabc8b7287919157f640fe3a6f47b833dd48709f7bb35edd527bfe7ee96c6553ba35f766e
-DIST linode_metadata-0.3.4.tar.gz.provenance 9477 BLAKE2B fde62b876d92d00ce6af8e8d35dc481c84dc93ece79014d85fa9e9ceab54dac8f97bf8c645761339eed5fe464585667880e921370d381568d28d4d82a245eabc SHA512 94c9eb711905c349d3ffea43c60de30446482403bd517e66aa0b2ac4121d0160d2f3567196c24b6f34ddeef5f4a3585674b59be8723ffe801883fc64358dca33
DIST linode_metadata-0.3.5.tar.gz 17760 BLAKE2B db9373a64654136daf0c6211d8c75d59dfebdb3d3e528295407f7aaf0877ed7747f6be0d4aa63809c9774989872c0c717d514e14d793c78b7cdc48e5bf7180cd SHA512 d20c6666ecb1b0ba91c95309c7045d9831e727437fdb69af8d86db3189a36cdae0dcd1bd7ddba65b2d9c66fe36e93ced3947421c4d6765f787722e48ef1810a8
DIST linode_metadata-0.3.5.tar.gz.provenance 9668 BLAKE2B ba199b0dd14788abafbdf0398f1fa689e7c7bd7048d1ede0176c582717b6928f4f1314390fc8a6c650b44e4970ec8b925c7f4d238fc62ca062e97d16e520fa8b SHA512 6e9eb52ee6944a7e23c5b54770de9bf44b2a20ecbfc7b919e2980f830d879ce3e29e77640bf31e113580e830123b51477fa43fe2cd878b49d30962c2af728973
diff --git a/dev-python/linode-metadata/linode-metadata-0.3.4.ebuild b/dev-python/linode-metadata/linode-metadata-0.3.4.ebuild
deleted file mode 100644
index 68f310bef3e1..000000000000
--- a/dev-python/linode-metadata/linode-metadata-0.3.4.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 2023-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{13..14} )
-DISTUTILS_USE_PEP517=setuptools
-PYPI_VERIFY_REPO=https://github.com/linode/py-metadata
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python bindings for the Linode Metadata Service"
-HOMEPAGE="https://github.com/linode/py-metadata https://www.linode.com/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-# Tests require network, a linode account, an API key and a ssh key.
-RESTRICT="test"
-
-RDEPEND="
- dev-python/httpx[${PYTHON_USEDEP}]
-"
diff --git a/dev-python/lit/Manifest b/dev-python/lit/Manifest
index c4576cf69876..91d9f2577d36 100644
--- a/dev-python/lit/Manifest
+++ b/dev-python/lit/Manifest
@@ -10,8 +10,6 @@ DIST llvm-project-20.1.8.src.tar.xz 147242952 BLAKE2B 7657ac0b26acc5affb1bfc91b9
DIST llvm-project-20.1.8.src.tar.xz.sig 566 BLAKE2B 85beedfcff1195a974fab2c667b9efd4b715b3480c1b44b1b887fe32c69f72aca0d3b8fb276c03b6cc5a866622f669047aeee5ccb976640b4008ccd31dce77a4 SHA512 d74369bdb4d1b82775161ea53c9c5f3a23ce810f4df5ff617123023f9d8ce720e7d6ecc9e17f8ebd39fd9e7a9de79560abdf2ffe73bcb907a43148d43665d619
DIST llvm-project-21.1.8.src.tar.xz 158958576 BLAKE2B 0d3d4ee920f8e5db50e98152616f16004c74df0e7313cc86d893428fb7b1c875109988a5e40ea6f2e5d0fef53c7bfe2fc2b69e84807f6eb440b03afa1b228a36 SHA512 cae4c44e7bf678071723da63ad5839491d717a7233e7f4791aa408207f3ea42f52de939ad15189b112c02a0770f1bb8d59bae6ad31ef53417a6eea7770fe52ab
DIST llvm-project-21.1.8.src.tar.xz.sig 119 BLAKE2B cffc1825f5778a3e3c128ec3e856ff6ee50687319d621cdf42e895abf67e05cc51cb7493308e2b506ab60dbdbaca7aa75eb9f78d91d42c81f9682a36f4042e9d SHA512 10f58eff58ed6e701d0f123b15e68c82ab8cbdf99b1c86c0d83e3b8553e90ea51055e30327e8e442ded57c8f503e2a2de9ee075e9c28b5ba815a0f8922f8671c
-DIST llvm-project-22.1.6.src.tar.xz 167043464 BLAKE2B 86b5f0da9ced0ffc6e2c765f4d2c1537000062bd1bbfa6d060e192251c8e28d253924e1a164e76edef3ec05fa4447a75d554bc89f6ea7e33c6792a1f5d67f3a6 SHA512 39ee3a66b92abe4eed5f9db086f6279faa72d8a3fe1beee8897da2dcc8b6982d169054b394995090c9cc6519f50a03a7fc465905dda3c61eb1063b9ba4696b0c
-DIST llvm-project-22.1.6.src.tar.xz.sig 119 BLAKE2B faba6f95374bc9ffda950b7cb727246e3d05173a1b790f669722fe97aff5f5a7a840324b3f1721a424393e3dbf56d768868d65a1cfac107a49487e0111a8d87f SHA512 6aeaac226c3099ac1120e57daf9be4161855e17415df7117b9091a0c1a32022d27a842cdf208d17ee389b2be003577688565abbb18c78d94d56c3a38d56bb035
DIST llvm-project-22.1.7.src.tar.xz 167066344 BLAKE2B 201b7f8f8b4216ad250f9dcdc87f817ac2dac99c1c7f151077e46165c0efae6d04c33c84c70c04c670fe0733e621af866f78d4d93f49e4d8385645f71495f53b SHA512 b7e56121cd6cb24085185ca0b621fec272dd9aa237c49a901043a9a4c31fdbc1ff33e650891d9786cd9495c006e87d4553ac36b518c864c75e99a80e40771bfd
DIST llvm-project-22.1.7.src.tar.xz.sig 119 BLAKE2B 0a1125837ae881dcb356c43e6fcd24dd14e107cd045524906b3879db94184e2c74835ce1e3ee026e55790af5be4b861d629546de6f74374e71e164a571c6ecd0 SHA512 d56bc596b642d6e6e63f1d141dbc7b8151e58befc70fd3d28847f023789823c9daf90100be233ab6597219037ee28187e6e8996992b7226568265c205abad266
-DIST llvm-project-8789401c6f0b2c53ba348860c1b0c5df1fa40c8c.tar.gz 271359638 BLAKE2B 31d1c91b535f129cac4b1da7ce2e6f0765231ebe6a5b1cb83f00d56d68820cdd029f7d2fdf602148e37bc9a22d99b71e25284eab74b8d52fa87ed4636712171f SHA512 4ca908b0b5d7ae9a2b334d033d2c11b557dcc3305b9107017965ae612716beade09a0c73e1a5f5eab1c9794728558d4a981715bb9b01d5ba2c2c5c6c53d1a9b6
+DIST llvm-project-6d4cd34d861baec5a761d15b81395fbe88f4391b.tar.gz 273781215 BLAKE2B 9ca9896ac0cfcb9449bd0975e16aca725e14ce5a4c3afd859799ef056a0e1341d63fa21b9bfd3ec1bee2a8482c5cecdd59482d373db72f083d399748a2396e15 SHA512 407e7d2ae1df19bf6095a953a1506583de91e203c4d0461b85a87f86d2069f2b23114b65c5c7f0065d9fbbf8d657bec6ef489ba9310b89f0bddab22c86cccb04
diff --git a/dev-python/lit/lit-22.1.6.ebuild b/dev-python/lit/lit-22.1.6.ebuild
deleted file mode 100644
index a233dc0bef70..000000000000
--- a/dev-python/lit/lit-22.1.6.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 llvm.org
-
-DESCRIPTION="A stand-alone install of the LLVM suite testing tool"
-HOMEPAGE="https://llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-# Tests require 'FileCheck' and 'not' utilities (from llvm)
-BDEPEND="
- test? (
- dev-python/psutil[${PYTHON_USEDEP}]
- llvm-core/llvm
- )
-"
-
-LLVM_COMPONENTS=( llvm/utils/lit )
-llvm.org_set_globals
-
-# TODO: move the manpage generation here (from llvm-core/llvm)
-
-src_prepare() {
- # flaky test
- # https://github.com/llvm/llvm-project/issues/72022
- rm tests/progress-bar.py || die
-
- cd "${WORKDIR}" || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x LIT_PRESERVES_TMP=1
- local litflags=$(get_lit_flags)
- ./lit.py ${litflags//;/ } tests || die
-}
diff --git a/dev-python/lit/lit-23.0.0_pre20260512.ebuild b/dev-python/lit/lit-23.0.0_pre20260605.ebuild
index 48b365e13379..48b365e13379 100644
--- a/dev-python/lit/lit-23.0.0_pre20260512.ebuild
+++ b/dev-python/lit/lit-23.0.0_pre20260605.ebuild
diff --git a/dev-python/litestar/Manifest b/dev-python/litestar/Manifest
index b09c8baafd0b..4f97b6c7fe03 100644
--- a/dev-python/litestar/Manifest
+++ b/dev-python/litestar/Manifest
@@ -1 +1,3 @@
DIST litestar-2.21.1.gh.tar.gz 2954454 BLAKE2B e25249995e390027266bf94eac23feb73a6b4730d71f8e4384e22ddb80ecb4d7df9710b27e54a5eb3bdb5b6aeb44aef7d390a9db849280f11419c283a0c77d2a SHA512 214989cf82d49feb57a1bfcc6ac57604088b544e6ccb10492269f207490ce019e73432982644707028baaee3067ee905106f93607f33776b13b4b2ef4575a566
+DIST litestar-2.22.0.gh.tar.gz 2969643 BLAKE2B 0dd53c9dae4315affd25f351941c9e3a67e450cb0ec10b701250780e7191fd5e172c61608051106de49cdb8df0793d6f0783012edd6fe28d6bb45e5aa0e54ebf SHA512 e01dbdf600504b15c81387f3d0172353a635c37eaf9899458b68a365d219a91d687c6564d2776da13c551d503799c8683568ae583852151c84167932b184eb3e
+DIST litestar-2.23.0.gh.tar.gz 2985974 BLAKE2B 8e54f2c083dce1932311fe432846ea40e00f486f64c7ede5d483d20b1521ab7436aa555e38fbd8446a87b88cd74a6643071a642904299c6f1bde2a73096004b2 SHA512 28b8b3d205e8384f78e5e181b7763ea21931c502c55264ddedb633036c2b56048d76f6808c798e22d3172104d224604b8106743af6681ff24d1c3fa7540f85ad
diff --git a/dev-python/litestar/litestar-2.22.0.ebuild b/dev-python/litestar/litestar-2.22.0.ebuild
new file mode 100644
index 000000000000..42c9b93030e1
--- /dev/null
+++ b/dev-python/litestar/litestar-2.22.0.ebuild
@@ -0,0 +1,168 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Light, flexible and extensible ASGI framework"
+HOMEPAGE="
+ https://github.com/litestar-org/litestar/
+ https://pypi.org/project/litestar/
+"
+# no tests in sdist
+SRC_URI="
+ https://github.com/litestar-org/litestar/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/anyio-3[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.22[${PYTHON_USEDEP}]
+ >=dev-python/litestar-htmx-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/msgspec-0.18.2[${PYTHON_USEDEP}]
+ >=dev-python/multidict-6.0.2[${PYTHON_USEDEP}]
+ >=dev-python/multipart-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/polyfactory-2.6.3[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/rich-13.0.0[${PYTHON_USEDEP}]
+ dev-python/rich-click[${PYTHON_USEDEP}]
+ >=dev-python/sniffio-1.3.1[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ app-arch/brotli[python,${PYTHON_USEDEP}]
+ dev-python/aiosqlite[${PYTHON_USEDEP}]
+ >=dev-python/asyncpg-0.29.0[${PYTHON_USEDEP}]
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/fsspec[${PYTHON_USEDEP}]
+ dev-python/greenlet[${PYTHON_USEDEP}]
+ dev-python/httpx-sse[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/hypercorn[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/prometheus-client[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/psycopg:0[${PYTHON_USEDEP}]
+ dev-python/pydantic-extra-types[${PYTHON_USEDEP}]
+ dev-python/redis[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/starlette[${PYTHON_USEDEP}]
+ dev-python/structlog[${PYTHON_USEDEP}]
+ >=dev-python/time-machine-3[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ dev-python/uvicorn[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_IGNORE=(
+ # Requires docker
+ "tests/unit/test_channels/test_plugin.py"
+ "tests/unit/test_testing/test_test_client.py"
+ "tests/unit/test_channels/test_backends.py"
+
+ # Unpackaged advanced alchemy
+ "tests/examples/test_dto/test_example_apps.py"
+ "tests/unit/test_dto/test_factory/test_integration.py"
+ "tests/e2e/test_advanced_alchemy.py"
+ "tests/examples/test_contrib/test_sqlalchemy/plugins/test_example_apps.py"
+ "tests/examples/test_contrib/test_sqlalchemy/plugins/test_tutorial_example_apps.py"
+ "tests/examples/test_contrib/test_sqlalchemy/test_sqlalchemy_examples.py"
+ "tests/unit/test_app.py"
+ "tests/unit/test_contrib/test_sqlalchemy.py"
+ "tests/unit/test_plugins/test_base.py"
+ "tests/unit/test_plugins/test_sqlalchemy.py"
+ "tests/unit/test_repository/test_generic_mock_repository.py"
+ "tests/examples/test_plugins/test_sqlalchemy_init_plugin.py"
+
+ # Unpackaged minijinja
+ "tests/examples/test_templating/test_engine_instance.py"
+ "tests/examples/test_templating/test_returning_templates.py"
+ "tests/examples/test_templating/test_template_functions.py"
+ "tests/unit/test_contrib/test_minijinja.py"
+ "tests/unit/test_plugins/test_flash.py"
+ "tests/unit/test_template/test_built_in.py"
+ "tests/unit/test_template/test_builtin_functions.py"
+ "tests/unit/test_template/test_context.py"
+ "tests/unit/test_template/test_csrf_token.py"
+ "tests/unit/test_template/test_template.py"
+
+ # Unpackaged beanie
+ "tests/unit/test_plugins/test_pydantic/test_beanie_integration.py"
+
+ # Unpackaged valkey
+ "tests/unit/test_stores.py"
+
+ # Avoid the dependency
+ "tests/unit/test_contrib/test_opentelemetry.py"
+ "tests/unit/test_plugins/test_opentelemetry.py"
+ "tests/unit/test_plugins/test_prometheus.py"
+
+ # appears to require installing litestar properly prior
+ "tests/e2e/test_routing/test_path_mounting.py"
+ "tests/e2e/test_routing/test_path_resolution.py"
+
+ # network?
+ "tests/examples/test_data_transfer_objects/test_defining_dtos_on_layers.py"
+)
+EPYTEST_DESELECT=(
+ # Requires docker
+ "tests/e2e/test_response_caching.py::test_with_stores[redis_store]"
+ "tests/e2e/test_routing/test_path_resolution.py::test_server_root_path_handling_empty_path[hypercorn]"
+
+ # Unpackaged daphne
+ "tests/e2e/test_routing/test_path_resolution.py::test_no_path_traversal_from_static_directory[daphne]"
+ "tests/e2e/test_routing/test_path_resolution.py::test_server_root_path_handling_empty_path[daphne]"
+ "tests/e2e/test_routing/test_path_resolution.py::test_server_root_path_handling[daphne]"
+ "tests/e2e/test_routing/test_path_mounting.py::test_path_mounting_live_server[daphne]"
+
+ # Deprecation test
+ "tests/unit/test_deprecations.py::test_contrib_minijnja_deprecation"
+ "tests/unit/test_deprecations.py::test_minijinja_from_state_deprecation"
+
+ # Unpackaged advanced alchemy
+ "tests/examples/test_data_transfer_objects/test_factory/test_type_checking.py::test_should_raise_error_on_route_registration"
+ "tests/unit/test_contrib/test_repository.py::test_advanced_alchemy_imports"
+ "tests/unit/test_deprecations.py::test_litestar_repository_deprecations"
+ "tests/unit/test_contrib/test_repository.py::test_deprecated_abc_imports"
+ "tests/unit/test_deprecations.py::test_repository_deprecations"
+
+ # Fragile to configuration differences
+ "tests/e2e/test_logging/test_structlog_to_file.py::test_structlog_to_file"
+ "tests/unit/test_connection/test_request.py::test_request_headers"
+ "tests/unit/test_connection/test_websocket.py::test_websocket_headers"
+
+ # Fragile to background load
+ #"tests/unit/test_handlers/test_http_handlers/test_kwarg_handling.py::test_route_handler_kwarg_handling"
+
+ # TypeError: Issuer (iss) must be a string.
+ "tests/unit/test_security/test_jwt/test_auth.py::test_jwt_auth_validation_error_returns_not_authorized"
+
+ # rich?
+ "tests/unit/test_cli/test_suggestions.py::test_suggest_version"
+)
+
+EPYTEST_RERUNS=5 # upstream does it, and yes flaky is real
+EPYTEST_XDIST=1
+EPYTEST_PLUGINS=( pytest-asyncio pytest-mock pytest-lazy-fixtures )
+distutils_enable_tests pytest
+
+PATCHES=(
+ # valkey not packaged
+ "${FILESDIR}"/litestar-2.19.0-no-valkey.patch
+
+ "${FILESDIR}"/litestar-2.21-timemachine-3.patch
+)
+
+python_test() {
+ epytest -o addopts= tests
+}
diff --git a/dev-python/litestar/litestar-2.23.0.ebuild b/dev-python/litestar/litestar-2.23.0.ebuild
new file mode 100644
index 000000000000..f7f8a76509e1
--- /dev/null
+++ b/dev-python/litestar/litestar-2.23.0.ebuild
@@ -0,0 +1,171 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Light, flexible and extensible ASGI framework"
+HOMEPAGE="
+ https://github.com/litestar-org/litestar/
+ https://pypi.org/project/litestar/
+"
+# no tests in sdist
+SRC_URI="
+ https://github.com/litestar-org/litestar/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/anyio-3[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.22[${PYTHON_USEDEP}]
+ >=dev-python/litestar-htmx-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/msgspec-0.18.2[${PYTHON_USEDEP}]
+ >=dev-python/multidict-6.0.2[${PYTHON_USEDEP}]
+ >=dev-python/multipart-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/polyfactory-2.6.3[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/rich-13.0.0[${PYTHON_USEDEP}]
+ dev-python/rich-click[${PYTHON_USEDEP}]
+ >=dev-python/sniffio-1.3.1[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ app-arch/brotli[python,${PYTHON_USEDEP}]
+ dev-python/aiosqlite[${PYTHON_USEDEP}]
+ >=dev-python/asyncpg-0.29.0[${PYTHON_USEDEP}]
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/fsspec[${PYTHON_USEDEP}]
+ dev-python/greenlet[${PYTHON_USEDEP}]
+ dev-python/httpx-sse[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/hypercorn[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/prometheus-client[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/psycopg:0[${PYTHON_USEDEP}]
+ dev-python/pydantic-extra-types[${PYTHON_USEDEP}]
+ dev-python/redis[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/starlette[${PYTHON_USEDEP}]
+ dev-python/structlog[${PYTHON_USEDEP}]
+ >=dev-python/time-machine-3[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ dev-python/uvicorn[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_IGNORE=(
+ # Requires docker
+ "tests/unit/test_channels/test_plugin.py"
+ "tests/unit/test_testing/test_test_client.py"
+ "tests/unit/test_channels/test_backends.py"
+
+ # Unpackaged advanced alchemy
+ "tests/examples/test_dto/test_example_apps.py"
+ "tests/unit/test_dto/test_factory/test_integration.py"
+ "tests/e2e/test_advanced_alchemy.py"
+ "tests/examples/test_contrib/test_sqlalchemy/plugins/test_example_apps.py"
+ "tests/examples/test_contrib/test_sqlalchemy/plugins/test_tutorial_example_apps.py"
+ "tests/examples/test_contrib/test_sqlalchemy/test_sqlalchemy_examples.py"
+ "tests/unit/test_app.py"
+ "tests/unit/test_contrib/test_sqlalchemy.py"
+ "tests/unit/test_plugins/test_base.py"
+ "tests/unit/test_plugins/test_sqlalchemy.py"
+ "tests/unit/test_repository/test_generic_mock_repository.py"
+ "tests/examples/test_plugins/test_sqlalchemy_init_plugin.py"
+
+ # Unpackaged minijinja
+ "tests/examples/test_templating/test_engine_instance.py"
+ "tests/examples/test_templating/test_returning_templates.py"
+ "tests/examples/test_templating/test_template_functions.py"
+ "tests/unit/test_contrib/test_minijinja.py"
+ "tests/unit/test_plugins/test_flash.py"
+ "tests/unit/test_template/test_built_in.py"
+ "tests/unit/test_template/test_builtin_functions.py"
+ "tests/unit/test_template/test_context.py"
+ "tests/unit/test_template/test_csrf_token.py"
+ "tests/unit/test_template/test_template.py"
+
+ # Unpackaged beanie
+ "tests/unit/test_plugins/test_pydantic/test_beanie_integration.py"
+
+ # Unpackaged valkey
+ "tests/unit/test_stores.py"
+
+ # Avoid the dependency
+ "tests/unit/test_contrib/test_opentelemetry.py"
+ "tests/unit/test_plugins/test_opentelemetry.py"
+ "tests/unit/test_plugins/test_prometheus.py"
+
+ # appears to require installing litestar properly prior
+ "tests/e2e/test_routing/test_path_mounting.py"
+ "tests/e2e/test_routing/test_path_resolution.py"
+
+ # network?
+ "tests/examples/test_data_transfer_objects/test_defining_dtos_on_layers.py"
+)
+EPYTEST_DESELECT=(
+ # Requires docker
+ "tests/e2e/test_response_caching.py::test_with_stores[redis_store]"
+ "tests/e2e/test_routing/test_path_resolution.py::test_server_root_path_handling_empty_path[hypercorn]"
+
+ # Unpackaged daphne
+ "tests/e2e/test_routing/test_path_resolution.py::test_no_path_traversal_from_static_directory[daphne]"
+ "tests/e2e/test_routing/test_path_resolution.py::test_server_root_path_handling_empty_path[daphne]"
+ "tests/e2e/test_routing/test_path_resolution.py::test_server_root_path_handling[daphne]"
+ "tests/e2e/test_routing/test_path_mounting.py::test_path_mounting_live_server[daphne]"
+
+ # Deprecation test
+ "tests/unit/test_deprecations.py::test_contrib_minijnja_deprecation"
+ "tests/unit/test_deprecations.py::test_minijinja_from_state_deprecation"
+
+ # Unpackaged advanced alchemy
+ "tests/examples/test_data_transfer_objects/test_factory/test_type_checking.py::test_should_raise_error_on_route_registration"
+ "tests/unit/test_contrib/test_repository.py::test_advanced_alchemy_imports"
+ "tests/unit/test_deprecations.py::test_litestar_repository_deprecations"
+ "tests/unit/test_contrib/test_repository.py::test_deprecated_abc_imports"
+ "tests/unit/test_deprecations.py::test_repository_deprecations"
+
+ # Fragile to configuration differences
+ "tests/e2e/test_logging/test_structlog_to_file.py::test_structlog_to_file"
+ "tests/unit/test_connection/test_request.py::test_request_headers"
+ "tests/unit/test_connection/test_websocket.py::test_websocket_headers"
+
+ # Fragile to background load
+ #"tests/unit/test_handlers/test_http_handlers/test_kwarg_handling.py::test_route_handler_kwarg_handling"
+
+ # TypeError: Issuer (iss) must be a string.
+ "tests/unit/test_security/test_jwt/test_auth.py::test_jwt_auth_validation_error_returns_not_authorized"
+
+ # rich?
+ "tests/unit/test_cli/test_suggestions.py::test_suggest_version"
+
+ # FIXME
+ "tests/unit/test_kwargs/test_body_markers.py::test_deprecated_default_warns"
+)
+
+EPYTEST_RERUNS=5 # upstream does it, and yes flaky is real
+EPYTEST_XDIST=1
+EPYTEST_PLUGINS=( pytest-asyncio pytest-mock pytest-lazy-fixtures )
+distutils_enable_tests pytest
+
+PATCHES=(
+ # valkey not packaged
+ "${FILESDIR}"/litestar-2.19.0-no-valkey.patch
+
+ "${FILESDIR}"/litestar-2.21-timemachine-3.patch
+)
+
+python_test() {
+ epytest -o addopts= tests
+}
diff --git a/dev-python/lmdb/Manifest b/dev-python/lmdb/Manifest
index b24e6996d4a2..90ede3deb7b9 100644
--- a/dev-python/lmdb/Manifest
+++ b/dev-python/lmdb/Manifest
@@ -1,2 +1,2 @@
-DIST lmdb-1.7.5.tar.gz 883490 BLAKE2B 8246b475bdf6a64f29090a00f4715ee149ee846fdd4d10f1f94c50c2cf17574ce3c44dd94ccbc5e9f5ad925c2a75f79858de235f1217319c5cc1b8c7127435dd SHA512 2813f556a9499bb7555f0119ddaf139d033c5f58f427a983d61cb3d3b1a8f2978cfcc9e8424e81af5476aac00e1e498ff33aabdcaecd5a6d1dafebd604c56bc3
-DIST lmdb-1.7.5.tar.gz.provenance 9533 BLAKE2B 0807dbcf672307567c17ee7e82dab116e2a802352066ba3f3484da58eba7b939b18fe5ded2c20fb775d8b3180097b3a6115eef15715d65abbc37ecd9ee9c6d20 SHA512 5bfc77f23c331fd809b2903d0b5601e3def68554c2283209aaa5c26f86ce377b5bdd3f23ee41e0b5feed3f37baa8e45f7cf76472b845393cc905d7e2fa9dfec3
+DIST lmdb-2.2.1.tar.gz 938665 BLAKE2B f89d62b84779ddc72f4f5b3b7cfbb0c34c5fe321f2279d96ed6a1d4c9e5f717677c902967def0bb334cf29b670e650768cbf0b0e60c53c4ec84f2dcfb334c293 SHA512 3a20a20e0efbf8dd242a7a76c3966595c33b98d6af53f5bd38ad7c39dcbba9ab87333ae09b50ae31cd7098d3eecdce23736f000a08097a4ce345a8aa272d000d
+DIST lmdb-2.2.1.tar.gz.provenance 10020 BLAKE2B 58a00d5855ad8830d37dfb981e0412c9e173cfba0a8a006631a585748adf97cbc47c0cf9aa463ccc526c9719aa06b5c35170cd071671a0ebc06a1c43917bae4f SHA512 6382771cd752f2dbedbee0990a869c37aad24b7039aa20f45d8011e51734690d71e476f7f4608a04dd9450262ab68f20994a4f8b0bcc0d5c4764e4f1b2a06b56
diff --git a/dev-python/lmdb/lmdb-1.7.5.ebuild b/dev-python/lmdb/lmdb-2.2.1.ebuild
index 82a3ad5dbe7e..82a3ad5dbe7e 100644
--- a/dev-python/lmdb/lmdb-1.7.5.ebuild
+++ b/dev-python/lmdb/lmdb-2.2.1.ebuild
diff --git a/dev-python/lsp-tree-sitter/lsp-tree-sitter-0.1.1-r1.ebuild b/dev-python/lsp-tree-sitter/lsp-tree-sitter-0.1.1-r1.ebuild
new file mode 100644
index 000000000000..fbfbc155f306
--- /dev/null
+++ b/dev-python/lsp-tree-sitter/lsp-tree-sitter-0.1.1-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A library to create language servers"
+HOMEPAGE="
+ https://github.com/neomutt/lsp-tree-sitter
+ https://pypi.org/project/lsp-tree-sitter
+"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/colorama[${PYTHON_USEDEP}]
+ dev-python/jinja2[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/lsprotocol[${PYTHON_USEDEP}]
+ dev-python/pygls[${PYTHON_USEDEP}]
+ dev-python/tree-sitter[${PYTHON_USEDEP}]
+"
+BDEPEND="test? ( ${RDEPEND} )"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/m2crypto/Manifest b/dev-python/m2crypto/Manifest
deleted file mode 100644
index e7bea36370a3..000000000000
--- a/dev-python/m2crypto/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST m2crypto-0.47.0.tar.gz 662529 BLAKE2B f1ba6628ae713470850c2fa5db3230b000666ee93184622498ffc5b8527d445b96a0868addd491988147487553fc62aaedff4a651fd2e0b2efacc5fcfb81ec19 SHA512 a99a0e084831fde0bafe4be0ca748ec171a9c38225dd5d49d1af5a80122e89c75921589936b58fcd8b71f53ab006038d10dfd362d5cc37ae6bf1018ab378cce8
diff --git a/dev-python/m2crypto/m2crypto-0.47.0.ebuild b/dev-python/m2crypto/m2crypto-0.47.0.ebuild
deleted file mode 100644
index b901813c7f93..000000000000
--- a/dev-python/m2crypto/m2crypto-0.47.0.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 2018-2026 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_{13..14} )
-PYPI_PN="M2Crypto"
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 toolchain-funcs pypi
-
-DESCRIPTION="A Python crypto and SSL toolkit"
-HOMEPAGE="
- https://sr.ht/~mcepl/m2crypto/
- https://gitlab.com/m2crypto/m2crypto/
- https://pypi.org/project/M2Crypto/
-"
-
-# openssl via src/SWIG/_lib11_compat.i
-LICENSE="BSD-2 openssl"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos"
-IUSE="abi_mips_n32 abi_mips_n64 abi_mips_o32"
-
-DEPEND="
- dev-libs/openssl:=
-"
-RDEPEND="
- ${DEPEND}
- dev-python/packaging[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-lang/swig-2.0.9
-"
-
-distutils_enable_tests unittest
-
-swig_define() {
- local x
- for x; do
- if tc-cpp-is-true "defined(${x})"; then
- SWIG_FEATURES+=" -D${x}"
- fi
- done
-}
-
-src_prepare() {
- # relies on very exact clock behavior which apparently fails
- # with inconvenient CONFIG_HZ*
- sed -e 's:test_server_simple_timeouts:_&:' \
- -i tests/test_ssl.py || die
- distutils-r1_src_prepare
-}
-
-python_compile() {
- # setup.py looks at platform.machine() to determine swig options.
- # For exotic ABIs, we need to give swig a hint.
- local -x SWIG_FEATURES=
-
- # https://bugs.gentoo.org/617946
- swig_define __ILP32__
-
- # https://bugs.gentoo.org/674112
- swig_define __ARM_PCS_VFP
-
- distutils-r1_python_compile
-}
diff --git a/dev-python/mamba/Manifest b/dev-python/mamba/Manifest
deleted file mode 100644
index 89349607d497..000000000000
--- a/dev-python/mamba/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST mamba-0.11.3.gh.tar.gz 37456 BLAKE2B e7e9fc53783cf238745d6d97f335443a569d3a88e4a26fb74c024f305eca707b3d73ea1d23d8a9b2d3463be0c31bfa1f30a6d2ec1ded58c6140909591fe961b8 SHA512 0d4ee434ff2a42dc95a8a5c94980fa224652e38b1ed7e617383882b38a8327861464424f78fb46b2f3e08dabb241bb0e1e9e6734dd68376a43bc3a5b41c01d8c
diff --git a/dev-python/mamba/mamba-0.11.3.ebuild b/dev-python/mamba/mamba-0.11.3.ebuild
deleted file mode 100644
index e4f380bdec03..000000000000
--- a/dev-python/mamba/mamba-0.11.3.ebuild
+++ /dev/null
@@ -1,44 +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_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python test runner born under the banner of Behavior Driven Development"
-HOMEPAGE="
- https://nestorsalceda.com/mamba/
- https://github.com/nestorsalceda/mamba/
- https://pypi.org/project/mamba/
-"
-SRC_URI="
- https://github.com/nestorsalceda/mamba/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/clint-0.3.1[${PYTHON_USEDEP}]
- >=dev-python/coverage-3.7.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- >=dev-python/doublex-expects-0.7.0_rc1[${PYTHON_USEDEP}]
- >=dev-python/expects-0.8.0_rc2[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs --no-autodoc
-
-python_test() {
- "${EPYTHON}" -m mamba.cli || die "Tests failed under ${EPYTHON}"
-}
diff --git a/dev-python/mamba/metadata.xml b/dev-python/mamba/metadata.xml
deleted file mode 100644
index 5e95859f915a..000000000000
--- a/dev-python/mamba/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches />
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/dev-python/markdown-it-py/Manifest b/dev-python/markdown-it-py/Manifest
index 4a2ee8ce3855..ed2f0466003c 100644
--- a/dev-python/markdown-it-py/Manifest
+++ b/dev-python/markdown-it-py/Manifest
@@ -1,3 +1 @@
-DIST markdown-it-py-4.0.0.gh.tar.gz 279903 BLAKE2B c878259ae684875dfd9dd017ff5b541b842f2ef917e0f23fa00df77646684794f904eb3693106ce859853a375f8bd2e877346ef775341ed4452856f1793aa8a9 SHA512 617927d7038e2918b395c720d4b8d8327342c266c75b6fd5957961944c2bed51a8e2f01a9c184e5d85dfc4fd8b28e07f3cc1d677aa29192e1a8e54f29d6a0829
-DIST markdown-it-py-4.1.0.gh.tar.gz 292015 BLAKE2B b264b91bde959694b79de2ba8058a7a3938249d4c89b36da81b9edd6ea8e15af55b7dfac6a10ea2837f0df051b6d751fa8ebf37da7ecdac123b3a5d7fc773351 SHA512 483df889994a789b51f0a3dabb010d51bb5ca462f46a5b9a2096bd4f63b2a5f7d79a1ef86305e1ac43cbe65219b8541eff64c5bf1414a51fadc6f399dc234ad7
DIST markdown-it-py-4.2.0.gh.tar.gz 294564 BLAKE2B 0f220d32998e07de0613ee623baca1c16cde5ef8e110bccc65e7dfad2054562a7c9767cad70905dad811c5eacb66b758cf36c0fa813ac8056c9da4202fdefa72 SHA512 81e659729f8da1ad269f40c693d66f0192c129dc42fcbcb09a14c617794816555d9f69137d09458d79f96eb5c92ea29e4d625616f994f7fcffa1b198a9830be0
diff --git a/dev-python/markdown-it-py/markdown-it-py-4.0.0.ebuild b/dev-python/markdown-it-py/markdown-it-py-4.0.0.ebuild
deleted file mode 100644
index 78cc2d32005e..000000000000
--- a/dev-python/markdown-it-py/markdown-it-py-4.0.0.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=flit
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python port of markdown-it, Markdown parser"
-HOMEPAGE="
- https://pypi.org/project/markdown-it-py/
- https://github.com/executablebooks/markdown-it-py/
-"
-SRC_URI="
- https://github.com/executablebooks/markdown-it-py/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-RDEPEND="
- <dev-python/linkify-it-py-3[${PYTHON_USEDEP}]
- dev-python/mdurl[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/requests[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( pytest-{datadir,regressions} )
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # No need to benchmark
- benchmarking/
-)
diff --git a/dev-python/markdown-it-py/markdown-it-py-4.1.0.ebuild b/dev-python/markdown-it-py/markdown-it-py-4.1.0.ebuild
deleted file mode 100644
index 883385620ad1..000000000000
--- a/dev-python/markdown-it-py/markdown-it-py-4.1.0.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2022-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python port of markdown-it, Markdown parser"
-HOMEPAGE="
- https://pypi.org/project/markdown-it-py/
- https://github.com/executablebooks/markdown-it-py/
-"
-SRC_URI="
- https://github.com/executablebooks/markdown-it-py/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- <dev-python/linkify-it-py-3[${PYTHON_USEDEP}]
- dev-python/mdurl[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/requests[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( pytest-{datadir,regressions,timeout} )
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # No need to benchmark
- benchmarking/
-)
diff --git a/dev-python/markdown-it-py/markdown-it-py-4.2.0.ebuild b/dev-python/markdown-it-py/markdown-it-py-4.2.0.ebuild
index 883385620ad1..e41482d99de8 100644
--- a/dev-python/markdown-it-py/markdown-it-py-4.2.0.ebuild
+++ b/dev-python/markdown-it-py/markdown-it-py-4.2.0.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"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
RDEPEND="
<dev-python/linkify-it-py-3[${PYTHON_USEDEP}]
diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index c3a212a07af0..5db565b4c648 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,5 +1,7 @@
DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2f7dded4c552d6e22e204c32b7858f20d41d1e809ecdad6e5353d6cec81bea0e0b06a4533363a41ecab83ce3f7ca SHA512 ff2daed64d712737085924c50e75862fafbcbb24eef6d72dac9eaae63bb656d7245397fd828f5d3e47ac847f7ff83d73dedfdd61fde1f7d6e0f0cdeb49bcf83b
DIST matplotlib-3.10.9.tar.gz 34811233 BLAKE2B 93a2b76390f68f366ad9e761e32a8fd2e85c95ac53ed1359bbfa3aef29c368a1c74284b65113b6f503109d4e1c72f899728afd1c327d62ce80cfb3e7583bbfce SHA512 432b234e78e416d779cb1c5c7924f2e68997d9da8a204e7bd5b199aeaafdc900a93e492a464d21daccb11124c01567437c440c4d3ddbf3f772834e4217460a1f
DIST matplotlib-3.10.9.tar.gz.provenance 9742 BLAKE2B 0c46e3818add6d952b1e1a7b45ec523fb7637bb030bb83b89d2b9f60cf2cc41c728ed3bb537db396fe88a436f0bcd33d656e5d68aa04e23651aa44c31b6725c2 SHA512 e86e176981d5736517a14b8eb0be633068bff2d24d4028d2eb5a1a4612a24cba98d9cef884cd98daa57252cdff4db5419be5bdc4b4b3aae8d778fd16e954a1fe
+DIST matplotlib-3.11.0.tar.gz 33251176 BLAKE2B becc1da603c014acb2e8ed9c6cd4558cc75c715adc021d397495fcf59b6f0a57c3e6b700469d23570043f221a1a807234868070588fc35c7aef0de0b2c9d0c46 SHA512 129dc761ca38b368d9981b9e079ca853ed07c2bd7c9c991f504ad5f1fab4f709c5281b7853c5d90c07952c9ef8bc598500618c88bdb0db21c259d7a43fa616b8
+DIST matplotlib-3.11.0.tar.gz.provenance 10233 BLAKE2B fb45ccc496c4198763f370423d8e5517d188e5a92435d08262e3bfb5b23976d9d0705cb583609fe570f624378c5fc13e1a58ac769344f8288d99c67bc48653e7 SHA512 ceb6374ee0bb8c7fe4fe1d3bc6cff687d3ed5e8d87bba416aed477deff284b85c6eff26f0867f158bfaeea93ea707837a39fd9850439d586233a8b3ae0fcaf78
DIST matplotlib-3.11.0rc2.tar.gz 33206182 BLAKE2B 54ec520fa553e94ba916a7e4a0c081e91b65f570891995707fef71e3e34af740ee5786b7cca18ce416d8cf37d98d6ae977ab6d52c3e01a7ab81e1ad17724b09a SHA512 8ded3dcaf3abf52640b11d1560b5a0b673cc864ff082020255b84699772c4ed4f4695f46dc5b5d9e9a0fc136051b63cb7255c323b59943768f502eeddf43d2e1
DIST matplotlib-3.11.0rc2.tar.gz.provenance 9981 BLAKE2B 65b5efa306d4ae7c107a3b69404748b414bf8f3f4b1eae1ca01880e7160bdeb07a034905e0cba6cab45b8664c5132797566fea94610a33d870ec15339ca3dcbb SHA512 d36424ad521cec542d71589d2135c4728fc3a7bcf40d35c32a94e002355a014827350882598ef0ecfddf94b2f9dbf66c4c51e6d5a5526b08c3a8e7cfae6f8263
diff --git a/dev-python/matplotlib/matplotlib-3.11.0.ebuild b/dev-python/matplotlib/matplotlib-3.11.0.ebuild
new file mode 100644
index 000000000000..0b5964defe64
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-3.11.0.ebuild
@@ -0,0 +1,266 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYPI_VERIFY_REPO=https://github.com/matplotlib/matplotlib-release
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+inherit distutils-r1 pypi virtualx
+
+DESCRIPTION="Pure python plotting library with matlab like syntax"
+HOMEPAGE="
+ https://matplotlib.org/
+ https://github.com/matplotlib/matplotlib/
+ https://pypi.org/project/matplotlib/
+"
+
+# Main license: matplotlib
+# Some modules: BSD
+# matplotlib/backends/qt4_editor: MIT
+# Fonts: BitstreamVera, OFL-1.1
+LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
+SLOT="0"
+if [[ ${PV} != *_rc* ]]; then
+ KEYWORDS="~alpha ~amd64 ~arm64 ~ppc ~riscv ~x86"
+fi
+IUSE="cairo excel gtk3 latex qt6 tk webagg wxwidgets"
+
+LATEX_DEPEND="
+ virtual/latex-base
+ app-text/dvipng
+ app-text/ghostscript-gpl
+ app-text/poppler[cairo,png,utils]
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-luatex
+ dev-texlive/texlive-xetex
+"
+
+DEPEND="
+ media-libs/freetype:2
+ >=media-libs/raqm-0.10.4:=
+ >=media-libs/qhull-2013:=
+ >=dev-python/numpy-1.25:=[${PYTHON_USEDEP}]
+"
+# internal copy of pycxx highly patched
+# dev-python/pycxx
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
+ >=dev-python/kiwisolver-1.3.1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ >=dev-python/pillow-8[jpeg,webp,${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-3[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+ media-fonts/dejavu
+ media-fonts/stix-fonts
+ media-libs/libpng:0
+ virtual/imagemagick-tools[jpeg,tiff]
+ cairo? (
+ dev-python/cairocffi[${PYTHON_USEDEP}]
+ )
+ excel? (
+ dev-python/xlwt[${PYTHON_USEDEP}]
+ )
+ gtk3? (
+ >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ )
+ latex? (
+ ${LATEX_DEPEND}
+ )
+ qt6? (
+ $(python_gen_cond_dep '
+ || (
+ dev-python/pyqt6[gui,widgets,${PYTHON_USEDEP}]
+ dev-python/pyside:6[gui,widgets,${PYTHON_USEDEP}]
+ )
+ ' 'python3*')
+ )
+ webagg? (
+ >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
+ )
+ wxwidgets? (
+ $(python_gen_cond_dep '
+ dev-python/wxpython:*[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+BDEPEND="
+ ${RDEPEND}
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-scm-7[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ test? (
+ $(python_gen_impl_dep 'tk')
+ ${LATEX_DEPEND}
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
+ !hppa? ( !s390? (
+ || (
+ media-video/ffmpeg[openh264]
+ media-video/ffmpeg[x264]
+ )
+ ) )
+ gtk3? (
+ >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ )
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_RERUNS=3
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+
+ # Increase lock timeout to 30 s.
+ sed -i -e 's:retries = 50:retries = 300:' lib/matplotlib/cbook.py || die
+ # Upstream uses 'x86_64' condition to require exact matches no their CI
+ # which doesn't match results from other x86_64 systems.
+ # Apparently Darwin is given higher tolerances too.
+ find -name 'test_*.py' -exec sed -i \
+ -e "s:if platform.machine() == 'x86_64' else:if False else:" \
+ -e "s:if sys.platform == 'darwin' else:if True else:" \
+ {} + || die
+
+ # Enable installing test data.
+ # TODO: do it only for the test phase?
+ sed -i -e '/--tags/d' pyproject.toml || die
+}
+
+src_configure() {
+ # Affects installed _version.py, bug #854600
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV/_}
+
+ unset DISPLAY # bug #278524
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+ DISTUTILS_ARGS=(
+ -Dsystem-freetype=true
+ -Dsystem-libraqm=true
+ -Dsystem-qhull=true
+ -Dmacosx=false
+ )
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # broken by -Wdefault
+ tests/test_testing.py::test_warn_to_fail
+ tests/test_legend.py::test_legend_nolabels_warning
+ # TODO: timezone mismatch? DST?
+ tests/test_dates.py::test_auto_date_locator_intmult_tz
+ # TODO: some latex error
+ 'tests/test_backend_pdf.py::test_font_heuristica[pdf]'
+ )
+
+ case ${EPYTHON} in
+ pypy3.11)
+ EPYTEST_DESELECT+=(
+ # TODO: warning isn't passed through
+ tests/test_image.py::test_large_image
+ # TODO: regression in 7.3.18+
+ tests/test_axes.py::test_axes_clear_reference_cycle
+ # TODO
+ tests/test_text.py::test_metrics_cache2
+ )
+ ;;
+ esac
+
+ # TODO: recheck these
+ case ${ABI} in
+ hppa)
+ EPYTEST_DESELECT+=(
+ 'tests/test_mathtext.py::test_mathtext_exceptions[hspace without value]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[hspace with invalid value]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[function without space]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[accent without space]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[frac without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[frac with empty parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[binom without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[binom with empty parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac with empty parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt with invalid value]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[overline without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[overline with empty parameter]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[left with invalid delimiter]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[right with invalid delimiter]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses with sizing]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses without sizing]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac with empty parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[overset without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[underset without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[unknown symbol]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[double superscript]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[double subscript]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[super on sub without braces]'
+ 'tests/test_quiver.py::test_barbs[png]'
+ 'tests/test_quiver.py::test_barbs_pivot[png]'
+ 'tests/test_quiver.py::test_barbs_flip[png]'
+ 'tests/test_text.py::test_parse_math'
+ 'tests/test_text.py::test_parse_math_rcparams'
+ )
+ ;;
+ arm)
+ EPYTEST_DESELECT+=(
+ tests/test_backend_ps.py::test_savefig_to_stringio
+ # too large for 32-bit platforms
+ 'tests/test_axes.py::test_psd_csd[png]'
+ )
+ ;;
+ sparc64)
+ EPYTEST_DESELECT+=(
+ tests/test_backend_pgf.py::test_pdf_pages_metadata_check
+ tests/test_backend_pgf.py::test_minus_signs_with_tex
+ )
+ ;;
+ x86)
+ EPYTEST_DESELECT+=(
+ 'tests/test_tightlayout.py::test_tight_layout2[png]'
+ 'tests/test_patches.py::test_wedge_range[pdf]'
+ 'tests/test_tightlayout.py::test_tight_layout3[png]'
+ 'tests/test_quiver.py::test_barbs[png]'
+ 'tests/test_axes.py::test_fill_between_interpolate_decreasing[png]'
+ # too large for 32-bit platforms
+ 'tests/test_axes.py::test_psd_csd[png]'
+ )
+ ;;
+ # NB: The overlap here is deliberate. We copy the same deselect
+ # to the blocks above, but if we remove others, it will fall back here.
+ alpha|arm|m68k|o32|ppc|s390|sh|sparc|x86)
+ EPYTEST_DESELECT+=(
+ # too large for 32-bit platforms
+ 'tests/test_axes.py::test_psd_csd[png]'
+ )
+ ;;
+ *)
+ ;;
+ esac
+
+ # pretend we're on CI to increase timeouts
+ local -x CI=1
+ nonfatal epytest --pyargs matplotlib -m "not network" \
+ -o tmp_path_retention_policy=all || die
+}
diff --git a/dev-python/matterhook/Manifest b/dev-python/matterhook/Manifest
deleted file mode 100644
index 60369b785ff6..000000000000
--- a/dev-python/matterhook/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST matterhook-0.2.tar.gz 4458 BLAKE2B 83dae9d38eaa9de3abdca4925378475660ab6f9571565f9275425cb9579397c2f3d106735d4268b7045d6af2572bdb8e1f60aa89030b1fa44c4c5c1b19fcd106 SHA512 aa476a00a5b571c5c8bb21eccc5b1c325e0932da7e4f8095e3ad29356afd4716384abfa9e4927a820e6d1fcf8e62a516943f6372d90cd7a9e76d0292c352c483
diff --git a/dev-python/matterhook/matterhook-0.2-r2.ebuild b/dev-python/matterhook/matterhook-0.2-r2.ebuild
deleted file mode 100644
index 96527fee772e..000000000000
--- a/dev-python/matterhook/matterhook-0.2-r2.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Interact with Mattermost incoming webhooks easily"
-HOMEPAGE="https://github.com/numberly/matterhook"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="dev-python/requests[${PYTHON_USEDEP}]"
diff --git a/dev-python/matterhook/metadata.xml b/dev-python/matterhook/metadata.xml
deleted file mode 100644
index 3a8349e6ffc5..000000000000
--- a/dev-python/matterhook/metadata.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <stabilize-allarches />
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/dev-python/mdit-py-plugins/Manifest b/dev-python/mdit-py-plugins/Manifest
index 65c7bee828eb..9599aa8a6c52 100644
--- a/dev-python/mdit-py-plugins/Manifest
+++ b/dev-python/mdit-py-plugins/Manifest
@@ -1,3 +1 @@
-DIST mdit-py-plugins-0.5.0.gh.tar.gz 66467 BLAKE2B 17c95adb7ff1ae627b0491d2e02dd864ce06cc70ad05b00088bdcfafa2d254344e2aa830f16166ba35eae01561a93ba7021ffa6597c5c1b44d52e80bc4dc5098 SHA512 2da41e32000ba735466969cc890e0d8f07d6e5ef6cb604b9cf7c02cf4187849fcd9734cef38807afcdd492c7a43795386798fbb86885b2e7ea522bc28b3d0796
-DIST mdit-py-plugins-0.6.0.gh.tar.gz 79769 BLAKE2B 9a38b89b619f06412ecc1fe19f108c7d16a07a0cb009134ad618350971925ad105af57b39f9262153035d274dae2752286351312779ab67cc2684e2be1780131 SHA512 5e9a1cc90d65fd92b25aef7c59b32ebf4da8b33c6b787b22b407d44c4c80126ed20e966c346f0da565ace73f0179cdd61ffca6cc52d54c6eb8e6471adf4de03b
DIST mdit-py-plugins-0.6.1.gh.tar.gz 80137 BLAKE2B 8562b80e03c59703fb32ed6f8e34becc578b9d7709235eec1e23839fb32cd91c655d8e85e82d5954afb9c173089e8cd4dc33f1d91abdefb3a782c0dac552109d SHA512 5ad01008fd930a945f9c9bd44d690f23646f08df23ccc4bd5a44e312496f592addfd87e954e511cf6fb207b7758e3044e1fb9acf2821a4285d07bfe527e2ec17
diff --git a/dev-python/mdit-py-plugins/mdit-py-plugins-0.5.0.ebuild b/dev-python/mdit-py-plugins/mdit-py-plugins-0.5.0.ebuild
deleted file mode 100644
index d6bd987111b2..000000000000
--- a/dev-python/mdit-py-plugins/mdit-py-plugins-0.5.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2022-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Collection of plugins for markdown-it-py"
-HOMEPAGE="
- https://pypi.org/project/mdit-py-plugins/
- https://github.com/executablebooks/mdit-py-plugins/
-"
-SRC_URI="
- https://github.com/executablebooks/mdit-py-plugins/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-RDEPEND="
- <dev-python/markdown-it-py-5[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=( pytest-{datadir,regressions} )
-distutils_enable_tests pytest
diff --git a/dev-python/mdit-py-plugins/mdit-py-plugins-0.6.0.ebuild b/dev-python/mdit-py-plugins/mdit-py-plugins-0.6.0.ebuild
deleted file mode 100644
index 1d5984457ec0..000000000000
--- a/dev-python/mdit-py-plugins/mdit-py-plugins-0.6.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2022-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Collection of plugins for markdown-it-py"
-HOMEPAGE="
- https://pypi.org/project/mdit-py-plugins/
- https://github.com/executablebooks/mdit-py-plugins/
-"
-SRC_URI="
- https://github.com/executablebooks/mdit-py-plugins/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- <dev-python/markdown-it-py-5[${PYTHON_USEDEP}]
- >=dev-python/markdown-it-py-4.1.0[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=( pytest-{datadir,regressions,timeout} )
-distutils_enable_tests pytest
diff --git a/dev-python/mdit-py-plugins/mdit-py-plugins-0.6.1.ebuild b/dev-python/mdit-py-plugins/mdit-py-plugins-0.6.1.ebuild
index 1d5984457ec0..ad79f6a38cba 100644
--- a/dev-python/mdit-py-plugins/mdit-py-plugins-0.6.1.ebuild
+++ b/dev-python/mdit-py-plugins/mdit-py-plugins-0.6.1.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"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
RDEPEND="
<dev-python/markdown-it-py-5[${PYTHON_USEDEP}]
diff --git a/dev-python/mergedeep/Manifest b/dev-python/mergedeep/Manifest
new file mode 100644
index 000000000000..0c9f4a0278dc
--- /dev/null
+++ b/dev-python/mergedeep/Manifest
@@ -0,0 +1 @@
+DIST mergedeep-1.3.4.gh.tar.gz 26627 BLAKE2B 334f5ec6948185e3f7758e079e65d92fb04dd3ae3bb208cb8fc67d2fd2d90ce16fecb28562d42eea75db978d9d323983efb85abbf7e5ff18e40c95fb066c47e7 SHA512 24cb1dbae9be715045b66b6d3a3c3deb98a41176ff2fae405f254baeebf5f45b69c948f7780b67762e613e20b5df3c5987e730c5cd91fe7dd1fbda6408906559
diff --git a/dev-python/mergedeep/mergedeep-1.3.4.ebuild b/dev-python/mergedeep/mergedeep-1.3.4.ebuild
new file mode 100644
index 000000000000..b329a2cbf670
--- /dev/null
+++ b/dev-python/mergedeep/mergedeep-1.3.4.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="A deep merge function for Python"
+HOMEPAGE="https://github.com/clarketm/mergedeep https://pypi.org/project/mergedeep/"
+SRC_URI="https://github.com/clarketm/mergedeep/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+distutils_enable_tests unittest
diff --git a/dev-python/js2py/metadata.xml b/dev-python/mergedeep/metadata.xml
index b3a44919ce8d..9db031e6d8d3 100644
--- a/dev-python/js2py/metadata.xml
+++ b/dev-python/mergedeep/metadata.xml
@@ -2,8 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>xgqt@gentoo.org</email>
- <name>Maciej Barć</name>
+ <email>devrin@fastmail.com</email>
+ <name>Devrin Talen</name>
</maintainer>
<origin>baldeagleos-repo</origin>
</pkgmetadata>
diff --git a/dev-python/meson-python/Manifest b/dev-python/meson-python/Manifest
index 61c685d115a6..d11b358071c1 100644
--- a/dev-python/meson-python/Manifest
+++ b/dev-python/meson-python/Manifest
@@ -1 +1,2 @@
DIST meson-python-0.19.0.gh.tar.gz 93690 BLAKE2B 609aa2bbbfa63bd3b1a8954dd17d9c6182870b3567fc3d8954e5bb583b931e72ca1afc8b0dddb4ff48d798b88714b9c43810ea7e34d8c339884b243db3e3c403 SHA512 f3943b8b00eee962da5c734419d2793dca19bab962a2247369287b46f80203bc24eaa394ace93e988bf2f91808b6201d574907bd7070ab2e4c3f4f5df972e639
+DIST meson-python-0.20.0.gh.tar.gz 94677 BLAKE2B 9ab721d6c547f63a5235ac240f7eaa301ad1dda7d6cf077d11e06a5938ca58089f70396366fb9d0c73f94d190891eb46e0a20cde8aa2e4504b69784f1b4dfa25 SHA512 804f2885e2ebf8f2dfc2a91bf30a5306409684a8b6acdcb69217f45a5c6411e32b1373897efc71e148739502388727efc4e5d52b5f9375be676663ca3d189b6b
diff --git a/dev-python/meson-python/meson-python-0.20.0.ebuild b/dev-python/meson-python/meson-python-0.20.0.ebuild
new file mode 100644
index 000000000000..e16aee261d69
--- /dev/null
+++ b/dev-python/meson-python/meson-python-0.20.0.ebuild
@@ -0,0 +1,72 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{13..14} )
+
+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 )
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ >=dev-python/cython-0.29.34
+ >=dev-python/packaging-23.1[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-mock )
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # Strip unnecessary Python-level dependency on meson, it is used
+ # as an external executable anyway.
+ sed -i -e '/meson >=/d' pyproject.toml || die
+}
+
+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
+
+ epytest
+}
diff --git a/dev-python/minny/Manifest b/dev-python/minny/Manifest
new file mode 100644
index 000000000000..0c98e2731ae4
--- /dev/null
+++ b/dev-python/minny/Manifest
@@ -0,0 +1 @@
+DIST minny-0.0.1_alpha2.tar.gz 181910 BLAKE2B 5de005f9bd6ca8002cc3ec5d3688646de9e382fc224c68fc8445dac484b8f845bbb27892a88461d8affdb7beb17d69973af65b0efad295f92e72d0b0d7ef6ad3 SHA512 f465843240f3f3851f4c1cc7c26120cae9f556cdd1d9cb60f1765335b745f772d788ac8edc08bc5eb1204dee58438ed6391c1656f2c189ea23260b382d74c00d
diff --git a/dev-python/minny/files/fix-metadata.patch b/dev-python/minny/files/fix-metadata.patch
new file mode 100644
index 000000000000..6c2335937cfd
--- /dev/null
+++ b/dev-python/minny/files/fix-metadata.patch
@@ -0,0 +1,15 @@
+Subject: Fix project meta-data
+Bug-Upstream: https://github.com/aivarannamaa/minny/issues/2
+From: Dominik George <nik+gentoo@squirrel.land>
+diff '--color=auto' -ru minny-fa7bcdfc54a846c604d1600db79a05e636de6667.orig/pyproject.toml minny-fa7bcdfc54a846c604d1600db79a05e636de6667/pyproject.toml
+--- minny-fa7bcdfc54a846c604d1600db79a05e636de6667.orig/pyproject.toml 2026-06-09 22:23:59.792619308 +0200
++++ minny-fa7bcdfc54a846c604d1600db79a05e636de6667/pyproject.toml 2025-12-19 21:58:35.000000000 +0100
+@@ -19,7 +19,7 @@
+ description = "Package and project manager for MicroPython and CircuitPython"
+ readme = "README.md"
+ license = "MIT"
+-license-files = ["LICEN[CS]E.*"]
++license-files = ["LICEN[CS]E"]
+ keywords = ["MicroPython", "CircuitPython"]
+ classifiers = [
+ "Development Status :: 4 - Beta",
diff --git a/dev-python/flask-nav/metadata.xml b/dev-python/minny/metadata.xml
index 592a999bee9d..059cc2f3af7e 100644
--- a/dev-python/flask-nav/metadata.xml
+++ b/dev-python/minny/metadata.xml
@@ -2,12 +2,11 @@
<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>sbraz@gentoo.org</email>
- <name>Louis Sautier</name>
+ <name>Dominik George</name>
+ <email>nik+gentoo@squirrel.land</email>
</maintainer>
- <stabilize-allarches />
<upstream>
- <bugs-to>https://github.com/mbr/flask-nav/issues</bugs-to>
+ <bugs-to>https://github.com/aivarannamaa/minny/issues</bugs-to>
</upstream>
<origin>baldeagleos-repo</origin>
</pkgmetadata>
diff --git a/dev-python/minny/minny-0.0.1_alpha2.ebuild b/dev-python/minny/minny-0.0.1_alpha2.ebuild
new file mode 100644
index 000000000000..cedf3f1d78f3
--- /dev/null
+++ b/dev-python/minny/minny-0.0.1_alpha2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=uv-build
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Package and project manager for MicroPython and CircuitPython"
+HOMEPAGE="
+ https://github.com/aivarannamaa/minny
+ https://pypi.org/project/minny/
+"
+
+# Upstream has incomplete sdist on PyPI and missing tags in git
+# reported upstream; temporary workaround
+MY_COMMIT=fa7bcdfc54a846c604d1600db79a05e636de6667
+SRC_URI="
+ https://github.com/aivarannamaa/minny/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz
+"
+S="${WORKDIR}/${PN}-${MY_COMMIT}"
+
+PATCHES=(
+ "${FILESDIR}/fix-metadata.patch"
+)
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pyserial[${PYTHON_USEDEP}]
+ dev-python/websockets[${PYTHON_USEDEP}]
+"
+
+# Tests broken
+EPYTEST_DESELECT=(
+ tests/test_circup_install.py::test_with_deps_install
+ tests/test_circup_install.py::test_no_deps_install
+ tests/test_deploy.py::test_basic_deploy
+ tests/test_sync.py::test_sync_command
+ tests/test_circup_build.py::test_single_build
+ tests/test_circup_build.py::test_build_matches_bundle
+)
+distutils_enable_tests pytest
diff --git a/dev-python/mistune/mistune-3.2.1.ebuild b/dev-python/mistune/mistune-3.2.1.ebuild
index 785e0815b9d6..5eae05275c0d 100644
--- a/dev-python/mistune/mistune-3.2.1.ebuild
+++ b/dev-python/mistune/mistune-3.2.1.ebuild
@@ -17,7 +17,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"
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
diff --git a/dev-python/moddb/moddb-0.13.0.ebuild b/dev-python/moddb/moddb-0.13.0.ebuild
index 386bc2daf757..0f96bd19b805 100644
--- a/dev-python/moddb/moddb-0.13.0.ebuild
+++ b/dev-python/moddb/moddb-0.13.0.ebuild
@@ -20,6 +20,8 @@ KEYWORDS="~amd64 ~x86"
RESTRICT="test"
PROPERTIES="test? ( test_network )"
+BDEPEND="dev-python/pkg-resources[${PYTHON_USEDEP}]"
+
RDEPEND="
dev-python/beautifulsoup4[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
diff --git a/dev-python/moto/Manifest b/dev-python/moto/Manifest
index 1a23d205ce3b..94e48560967d 100644
--- a/dev-python/moto/Manifest
+++ b/dev-python/moto/Manifest
@@ -3,3 +3,5 @@ DIST moto-5.1.22.tar.gz 8547792 BLAKE2B fda4ea90318a1eb8501ed29b2c6cc23c0779c9cc
DIST moto-5.1.22.tar.gz.provenance 9052 BLAKE2B 50c2c73d5a6afac0c84c333ddbc00370e83d5dd713af7ee1c412c8f11a50922b1ace8ec79aee35465a840a7754b313c61d9baf47c44933e99cc95f3bf2172fdd SHA512 a9800117bf73b7d51d795732f0589c2e217187465322a20614fcc3fdfbdbcf0d682613dcae3d826c01e2beb672af43f62458d36f0c2d155e87ab8d5a259458c4
DIST moto-5.2.1.tar.gz 8634437 BLAKE2B bcf2a13d611a3ab8c25b071f8b2655db4abecce75e1b7386828104673a83ad4d138bc629b379d03fe20a0ab450e4675cd2415c46a6813a06cf0368119197c4cb SHA512 eb723316f996becdbe73a89bf01dd1aee9faec7bbace1c0a1c9455a623c8c0e3214d076686306f12b214422ce7bf28528dec46dc0c357bba6a84d9f2b04f7ab8
DIST moto-5.2.1.tar.gz.provenance 9290 BLAKE2B b5c6c010a9265b12d6a6e2fda6b63f3debffd6c9f006c844f54be3880827691ff6cd1df143e6745561efd373e4893b83f0d4ad49704c9a01b34fa5617ed72b61 SHA512 24cb296cdeabb350200572a5e10f4cdafb16ce20fe1dfc6a0162f16aacbfbe484e200278e12e6ff01d9eb40273474b551ed1384aaf2b88c3aa1e543144c17438
+DIST moto-5.2.2.tar.gz 8678761 BLAKE2B e920f3b92f9b29e2c4390540e413865be10fa717f79fe70af7a833a2a12c463d9410a8c657025e5ba11b9780bbca5c8e8cf4de151105dcfa2423ddb4ff272c8a SHA512 2a1c545a7077ce0df3999d3f391096f4a9296ca522848b88cde2c3142d1774e10ab87e68f9fd953b2c40767c8dbdd0d5a07f67267e32f86d6c8606a23c5d3f79
+DIST moto-5.2.2.tar.gz.provenance 9361 BLAKE2B 1aae6952ea53fa7a5adc795fdca15ae3b8c24eb4e80845db3bd9b8ac34d384bfb30d02efa69702d5eb34af8949f4b8e49bc84b3ce94328ffd81c6433e88f8a75 SHA512 5845f3eacbe22321c01122ec35d8e4e5ac093ec27a760bc87d7848394392f1f469b5271aad3580423557afcf8dda80ca870743683d792c0d66f6d1416ca5a92c
diff --git a/dev-python/moto/moto-5.2.1.ebuild b/dev-python/moto/moto-5.2.1.ebuild
index 9a815d6e5aa4..fcad17214803 100644
--- a/dev-python/moto/moto-5.2.1.ebuild
+++ b/dev-python/moto/moto-5.2.1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 ~x86"
RDEPEND="
>=dev-python/aws-xray-sdk-0.93[${PYTHON_USEDEP}]
@@ -51,6 +51,7 @@ BDEPEND="
dev-python/antlr4-python3-runtime[${PYTHON_USEDEP}]
dev-python/freezegun[${PYTHON_USEDEP}]
dev-python/joserfc[${PYTHON_USEDEP}]
+ dev-python/pyotp[${PYTHON_USEDEP}]
)
"
diff --git a/dev-python/moto/moto-5.2.2.ebuild b/dev-python/moto/moto-5.2.2.ebuild
new file mode 100644
index 000000000000..65d1508a80d2
--- /dev/null
+++ b/dev-python/moto/moto-5.2.2.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/getmoto/moto
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi toolchain-funcs
+
+DESCRIPTION="Mock library for boto"
+HOMEPAGE="
+ https://github.com/getmoto/moto/
+ https://pypi.org/project/moto/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/aws-xray-sdk-0.93[${PYTHON_USEDEP}]
+ dev-python/boto3[${PYTHON_USEDEP}]
+ >=dev-python/botocore-1.35.47[${PYTHON_USEDEP}]
+ >=dev-python/cfn-lint-0.40.0[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-35.0.0[${PYTHON_USEDEP}]
+ dev-python/cookies[${PYTHON_USEDEP}]
+ >=dev-python/docker-3.0.0[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/flask-cors[${PYTHON_USEDEP}]
+ >=dev-python/idna-2.5[${PYTHON_USEDEP}]
+ dev-python/jsonpath-ng[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-3.0.7[${PYTHON_USEDEP}]
+ >=dev-python/openapi-spec-validator-0.5.0[${PYTHON_USEDEP}]
+ dev-python/pyaml[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
+ dev-python/python-jose[${PYTHON_USEDEP}]
+ >=dev-python/responses-0.25.6[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.5[${PYTHON_USEDEP}]
+ dev-python/sshpubkeys[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/xmltodict[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/zipp[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/antlr4-python3-runtime[${PYTHON_USEDEP}]
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/joserfc[${PYTHON_USEDEP}]
+ dev-python/pyotp[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_RERUNS=5
+: "${EPYTEST_TIMEOUT:=180}"
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ tests/test_dynamodb/test_dynamodb_import_table.py
+ # require py_partiql_parser
+ tests/test_dynamodb/test_dynamodb_statements.py
+ tests/test_s3/test_s3_select.py
+ # require graphql
+ tests/test_appsync/test_appsync_schema.py
+ # Internet
+ tests/test_core/test_request_passthrough.py::test_passthrough_calls_for_entire_service
+ tests/test_core/test_request_passthrough.py::test_passthrough_calls_for_specific_url
+ tests/test_core/test_request_passthrough.py::test_passthrough_calls_for_wildcard_urls
+ tests/test_firehose/test_firehose_put.py::test_put_record_http_destination
+ tests/test_firehose/test_firehose_put.py::test_put_record_batch_http_destination
+ # Appears to be internet issues with timing out
+ tests/test_s3/test_multiple_accounts_server.py::TestAccountIdResolution::test_with_custom_request_header
+ tests/test_s3/test_server.py::test_s3_server_post_cors_multiple_origins
+ )
+ local EPYTEST_IGNORE=(
+ # require joserfc
+ tests/test_cognitoidp/test_cognitoidp.py
+ )
+
+ if ! tc-has-64bit-time_t; then
+ einfo "time_t is smaller than 64 bits, will skip broken tests"
+ EPYTEST_DESELECT+=(
+ tests/test_acm/test_acm.py::test_request_certificate_with_optional_arguments
+ tests/test_s3/test_multiple_accounts_server.py::TestAccountIdResolution::test_with_custom_request_header
+ tests/test_s3/test_server.py::test_s3_server_post_cors_multiple_origins
+ )
+ EPYTEST_IGNORE+=(
+ tests/test_route53domains/test_route53domains_domain.py
+ )
+ fi
+
+ local -x TZ=UTC
+ local -x AWS_DEFAULT_REGION=us-east-1
+
+ # -o timeout_func_only=true: bad interaction with pytest-rerunfailures and pytest-timeout leads to a permanent hang otherwise
+ epytest -m 'not network and not requires_docker' -o timeout_func_only=true
+}
diff --git a/dev-python/mpi4py/Manifest b/dev-python/mpi4py/Manifest
index de66a3a0886f..2c360cf4e0af 100644
--- a/dev-python/mpi4py/Manifest
+++ b/dev-python/mpi4py/Manifest
@@ -1 +1 @@
-DIST mpi4py-4.0.1.tar.gz 466179 BLAKE2B 4e678f08c257a32922914448c82d13c0a1e29aa1e39a1f669d8c2d766a1ecbd8bdf2bf3b12dae8eca9bf3846c096d0ecb0bbdb9147b3048acfe48e067d72161f SHA512 7721ef4f0859e90ca91d6911c3e5a897249f57c8b575065cdb1d537602ce0b30909f144b292c7d74013361cdf9e464cb0c16e408f37fd6c8c1554cbbe9785c05
+DIST mpi4py-4.1.2.tar.gz 501709 BLAKE2B 1d5dc6aa81750ddc64e65c8688ba680ba4e1e53da532bc66c5ec7b1dc2eafcdb3947c35cf5d3e6a07da3eecb80aeac7dbf314f335a056a3de276b25531af92eb SHA512 dbf6c23622c1b09d44b5635216ee764f148d502bc3e405ca66b369a4a42accaee06be3bd99593dff0f306754aa102f19c05f8b3760b1c1c2a1d91410320cfc59
diff --git a/dev-python/mpi4py/files/mpi4py-4-mpich-no-fortran-fix.patch b/dev-python/mpi4py/files/mpi4py-4-mpich-no-fortran-fix.patch
deleted file mode 100644
index 82415dae491d..000000000000
--- a/dev-python/mpi4py/files/mpi4py-4-mpich-no-fortran-fix.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/src/lib-mpi/compat/mpich.h b/src/lib-mpi/compat/mpich.h
-index 2cd50c1..3ea9510 100644
---- a/src/lib-mpi/compat/mpich.h
-+++ b/src/lib-mpi/compat/mpich.h
-@@ -123,7 +123,6 @@ static int PyMPI_MPICH_MPI_Reduce_c(const void *sendbuf, void *recvbuf,
-
- /* -------------------------------------------------------------------------- */
-
--#if defined(CIBUILDWHEEL)
-
- #define PyMPI_MPICH_CALL_WEAK_SYMBOL(function, ...) \
- if (function) return function(__VA_ARGS__); \
-@@ -159,7 +158,6 @@ static int PyMPI_MPICH_MPI_Status_f2c(const MPI_Fint *fs, MPI_Status *cs)
- { PyMPI_MPICH_CALL_WEAK_SYMBOL(MPI_Status_f2c, fs, cs); }
- #define MPI_Status_f2c PyMPI_MPICH_MPI_Status_f2c
-
--#endif
-
- /* -------------------------------------------------------------------------- */
-
diff --git a/dev-python/mpi4py/mpi4py-4.0.1.ebuild b/dev-python/mpi4py/mpi4py-4.1.2.ebuild
index fd474ebb5b16..c50d9fb43b60 100644
--- a/dev-python/mpi4py/mpi4py-4.0.1.ebuild
+++ b/dev-python/mpi4py/mpi4py-4.1.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -33,7 +33,6 @@ BDEPEND="
PATCHES=(
"${FILESDIR}/${PN}-4-use-mesonpy.patch"
- "${FILESDIR}/${PN}-4-mpich-no-fortran-fix.patch"
)
python_prepare_all() {
@@ -67,6 +66,7 @@ python_test() {
"--mca" "osc" "^ucx"
)
fi
+
mpiexec \
"${mpi_opts[@]}" \
"${PYTHON}" -B -v ./test/runtests.py -v ||
diff --git a/dev-python/msgpack/Manifest b/dev-python/msgpack/Manifest
index c2bd46002280..8374f19fd46a 100644
--- a/dev-python/msgpack/Manifest
+++ b/dev-python/msgpack/Manifest
@@ -1,3 +1,5 @@
DIST msgpack-1.1.1.tar.gz 173555 BLAKE2B 972ea4174b8b7c91c529c2db55483441fc1fd6c2964b145b73784f877f8699cd26829fd0d77574fb52af50ed3f8a0ac1b815cb67b24f751079ca2a430cec0b45 SHA512 dbd1055dd4b22b43193d381e7e15ff6e8dbb49f04d111bef84555429accc2bd1609359f72604bf0c1859d0b5f2e275d16773a0f8efd50ccebb5984c8b9e84309
DIST msgpack-1.1.2.tar.gz 173581 BLAKE2B f1631eef4699525d58f258194a9ca216294eb0c4966b264eb2bd0cc175400793d2228941d7035ec7b37a49a2b2a1cdc3478f677940b262275248963e1f811798 SHA512 75b1536e180f6cdd2cb7b525d7c4bd79ddbe8807a5276b2e119f499769497552b682a7ef76df9a82957832b7646853be8c6df5bf2881c61d716fa3de9042e4fd
DIST msgpack-1.1.2.tar.gz.provenance 9256 BLAKE2B 0b8cb372ad31aae1a03e9c9467264b0eea53849a3d291c16426f91eaa8ee61eae69f313da9bad8cd64ed355e787553cfc7deed7aa709671e4296aa153c9c7988 SHA512 64eef61e138039043d7610d3718fb9374bb65704f1c2b7cccabf37c44f316f2cfa9b1695fd5918c1f2b6526332bb570293019a0e59c3aa5f2918905c904b8c53
+DIST msgpack-1.2.0.tar.gz 183017 BLAKE2B 7ee574414901552d50fd3ab870e7d84470890078b96ba42502746597f4f748d868858bf81376754d034366995299bc9d7151b87a159fbf1f56a26e612de756e6 SHA512 0a0c9a83d2348354ab7f4edfef009561bba4584c07e1523fc27cb0ab3890045c91984ef9ad14b20de63a05c27753fa8037c77e3d521f1f92f86d552e62b07163
+DIST msgpack-1.2.0.tar.gz.provenance 9905 BLAKE2B 99b29e47e13eeaa13874ca06e8a6ada16676992d1fe024d35e01fff7a0a69198fd76fa144c34d7b8c634adf45e82447913e4d5b18d359938e05b5d2e9d439bb5 SHA512 a58ed4e6ec4bf137165562602ef8970edf0607b43d0a14a6a641eba9fa0d7cf023471414c27052c11da5fa6ab2e6cbb93f582f270863bc526f348a7322f37d40
diff --git a/dev-python/msgpack/msgpack-1.2.0.ebuild b/dev-python/msgpack/msgpack-1.2.0.ebuild
new file mode 100644
index 000000000000..cf8f4ff54a1c
--- /dev/null
+++ b/dev-python/msgpack/msgpack-1.2.0.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/msgpack/msgpack-python
+PYTHON_COMPAT=( python3_{13..14} )
+
+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"
+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
+BDEPEND="
+ native-extensions? (
+ $(python_gen_cond_dep '
+ >=dev-python/cython-3.0.8[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+EPYTEST_PLUGINS=()
+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/msgspec/Manifest b/dev-python/msgspec/Manifest
index bb9b16e69665..a8c1ae089b0a 100644
--- a/dev-python/msgspec/Manifest
+++ b/dev-python/msgspec/Manifest
@@ -1,3 +1 @@
-DIST msgspec-0.20.0.gh.tar.gz 1328648 BLAKE2B 848b29f99148ee1d5a81a6f57fdb515760c838e3ed9b8161f775d5c17b5decf7fc16a6ebd04599a1f2580e98882a7674720da899ba789ae6dbc9659da0d5ba6f SHA512 91d66d79d25ba824bb39dc02b28038c61ce3aa20576867bacbba9e22146dce424247f941b51023cce02d069d25bb2eedfb749feb597679c623d7438bc04422e4
-DIST msgspec-0.21.0.gh.tar.gz 1329617 BLAKE2B fcb1581d808e615001a7b5de75a75a4c5d7e03404b353218d733333d3142ab1f3aab23fc0f206bab5862c52be09f9b924baed3e45b203e17011fbf07ca1bdf7c SHA512 4936bd1a514a9118e016c86a2f2d4018f76aafbeb1b40b97c906774d9d7655d0794ba9b6ec3514948572b24044b08d26ad1ae26ee5f02d45ca1600f21df6c46b
DIST msgspec-0.21.1.gh.tar.gz 1333165 BLAKE2B cb00e1eef1f4b44744e73b632c1d1828196904a0ed424cb84336e1c0300dbfb582c25286dcd65ad9833099d478f250858428820c5272f4c284898237a986249c SHA512 dd4429d8e5c84727620bf8479c03e99a97b4aaa6e1464646bdf650ad3f88651ac8292da4c6f5fb12cd7af4dfcd5d5b12132d642d713dbc333b238ad2d6867875
diff --git a/dev-python/msgspec/msgspec-0.20.0.ebuild b/dev-python/msgspec/msgspec-0.20.0.ebuild
deleted file mode 100644
index 81727b42a3bc..000000000000
--- a/dev-python/msgspec/msgspec-0.20.0.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 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_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Fast serialization and validation library, with builtin support for many formats"
-HOMEPAGE="
- https://jcristharif.com/msgspec/
- https://github.com/jcrist/msgspec
- https://pypi.org/project/msgspec/
-"
-# No tests in sdist
-SRC_URI="https://github.com/jcrist/msgspec/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-8[${PYTHON_USEDEP}]
- test? (
- dev-python/attrs[${PYTHON_USEDEP}]
- dev-python/msgpack[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/tomli-w[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_IGNORE=(
- # Lint tests
- tests/unit/test_cpylint.py
- )
-
- rm -rf msgspec || die
- epytest tests/unit
-}
diff --git a/dev-python/msgspec/msgspec-0.21.0.ebuild b/dev-python/msgspec/msgspec-0.21.0.ebuild
deleted file mode 100644
index ec311215b7c7..000000000000
--- a/dev-python/msgspec/msgspec-0.21.0.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2025-2026 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_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Fast serialization and validation library, with builtin support for many formats"
-HOMEPAGE="
- https://jcristharif.com/msgspec/
- https://github.com/jcrist/msgspec
- https://pypi.org/project/msgspec/
-"
-# No tests in sdist
-SRC_URI="https://github.com/jcrist/msgspec/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-8[${PYTHON_USEDEP}]
- test? (
- dev-python/attrs[${PYTHON_USEDEP}]
- dev-python/msgpack[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/tomli-w[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_IGNORE=(
- # Lint tests
- tests/unit/test_cpylint.py
- )
-
- rm -rf msgspec || die
- epytest tests/unit
-}
diff --git a/dev-python/mypy/mypy-2.1.0.ebuild b/dev-python/mypy/mypy-2.1.0.ebuild
index 845ae01501ed..590b6e0b9599 100644
--- a/dev-python/mypy/mypy-2.1.0.ebuild
+++ b/dev-python/mypy/mypy-2.1.0.ebuild
@@ -23,7 +23,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="amd64 arm64 ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="native-extensions"
# stubgen collides with this package: https://bugs.gentoo.org/585594
diff --git a/dev-python/myst-parser/Manifest b/dev-python/myst-parser/Manifest
index 77488569c34d..fdbcd1f769ff 100644
--- a/dev-python/myst-parser/Manifest
+++ b/dev-python/myst-parser/Manifest
@@ -1,2 +1 @@
-DIST MyST-Parser-5.0.0.gh.tar.gz 830837 BLAKE2B ecad12739d924d7af7f37bdf23f4c8ccd90112d1a59e6208fd63056684883482574cab0c008da955fdddc9a14d53a2653659f8905c39fbbe7cce5fcf7a95262d SHA512 765385bcb0716fa8d9a42c6860846d504e75b1aa3bc32b4a2cfd1f1717555872e5c35da687a47ae7ece2043aed37d84ee9f0609e078f250e640149a9bb7487a8
DIST MyST-Parser-5.1.0.gh.tar.gz 836550 BLAKE2B 7bd8695cec837587089e81eeb019d018b15dee1618e8902e9f80032f4cc736336206aedf451466df9f1aa029eca9f9dc2e57412087fd7df3b1fbef4ddbd4b7e1 SHA512 db3c9b2173f0e3ca1c53053c4b5150291436dc50203e6c93660d0b9aafb2e0b27f06765dfb18b1147ec5629ca11a5fcb8b83862783c58099ee214c4d4b9a60a0
diff --git a/dev-python/myst-parser/myst-parser-5.0.0.ebuild b/dev-python/myst-parser/myst-parser-5.0.0.ebuild
deleted file mode 100644
index 2236afd45742..000000000000
--- a/dev-python/myst-parser/myst-parser-5.0.0.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 2022-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-MY_P=MyST-Parser-${PV}
-DESCRIPTION="Extended commonmark compliant parser, with bridges to Sphinx"
-HOMEPAGE="
- https://github.com/executablebooks/MyST-Parser/
- https://pypi.org/project/myst-parser/
-"
-SRC_URI="
- https://github.com/executablebooks/MyST-Parser/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-RDEPEND="
- >=dev-python/docutils-0.20[${PYTHON_USEDEP}]
- dev-python/jinja2[${PYTHON_USEDEP}]
- =dev-python/markdown-it-py-4*[${PYTHON_USEDEP}]
- =dev-python/mdit-py-plugins-0.5*[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- <dev-python/sphinx-10[${PYTHON_USEDEP}]
- >=dev-python/sphinx-8[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- dev-python/defusedxml[${PYTHON_USEDEP}]
- <dev-python/linkify-it-py-3[${PYTHON_USEDEP}]
- >=dev-python/linkify-it-py-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/sphinx-7.3[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( pytest-{datadir,param-files,regressions} sphinx-pytest )
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # minor pygments mismatch
- tests/test_sphinx/test_sphinx_builds.py::test_includes
- # sphinx-8.2.3
- # https://github.com/executablebooks/MyST-Parser/issues/1030
- 'tests/test_renderers/test_fixtures_sphinx.py::test_sphinx_directives[320-math (`sphinx.directives.patches.MathDirective`):]'
- tests/test_sphinx/test_sphinx_builds.py::test_references_singlehtml
- tests/test_sphinx/test_sphinx_builds.py::test_extended_syntaxes
- tests/test_sphinx/test_sphinx_builds.py::test_fieldlist_extension
-)
-
-src_prepare() {
- default
-
- # unpin docutils
- sed -i -e '/docutils/s:,<[0-9.]*::' pyproject.toml || die
-}
diff --git a/dev-python/myst-parser/myst-parser-5.1.0.ebuild b/dev-python/myst-parser/myst-parser-5.1.0.ebuild
index d6abc4fe6399..9be7b866c749 100644
--- a/dev-python/myst-parser/myst-parser-5.1.0.ebuild
+++ b/dev-python/myst-parser/myst-parser-5.1.0.ebuild
@@ -22,7 +22,7 @@ S=${WORKDIR}/${MY_P}
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/docutils-0.20[${PYTHON_USEDEP}]
diff --git a/dev-python/nanobind/nanobind-2.12.0.ebuild b/dev-python/nanobind/nanobind-2.12.0.ebuild
index 8f67ea40de6a..01ee434463e0 100644
--- a/dev-python/nanobind/nanobind-2.12.0.ebuild
+++ b/dev-python/nanobind/nanobind-2.12.0.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~ppc ~ppc64 ~riscv ~s390 ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~ppc ~ppc64 ~riscv ~s390 x86"
DEPEND="
>=dev-cpp/robin-map-1.3.0
diff --git a/dev-python/narwhals/Manifest b/dev-python/narwhals/Manifest
index c2aaf3c57dd8..c5df3c7383c5 100644
--- a/dev-python/narwhals/Manifest
+++ b/dev-python/narwhals/Manifest
@@ -1,2 +1,2 @@
-DIST narwhals-2.21.2.tar.gz 632176 BLAKE2B 56d0336a1e40af867372800b06604083b88c36663cdaebb210c1f8be677a95dba379a91aa25a9356cbdd45f9aa180052eef33b775edc65eb08d9946e03340b5a SHA512 52174013ac10285d8ac920e7a0d19bd5f66f19f3162bdc0a408df734b68fc9a6da7c8f88cddd01c4459b2438931b91478bf9d3a93034b7c811e078a811c67c6d
-DIST narwhals-2.21.2.tar.gz.provenance 9671 BLAKE2B cef8354e755a27c5871f75125b9929f326ade522b84241d6aa79d3cc0f65bbbbab335b32dcdcecdae3c9283c498f6a33dd3246bc168910b229236bfdd088c04c SHA512 f0cbee7564534b418d3e9a094b12fb7b0c595fabe0777b28d0dfc42ed69dbe997bd468e4f75229857526ce797dae70fe3d0207817636f12f881a2fac0c99b0c5
+DIST narwhals-2.22.1.tar.gz 647493 BLAKE2B 46d228e1d5dac6aefd084593e6caa0e44152f1a8747604c27c81c970605e6d76f4300df69064d8261b1dfcc19af3bb28fcb6ca2c696e7c8f657f2c2c54652f35 SHA512 88406008edb73f64fee1bc5ccdf9aeb9bd5e6a59c97955095b5540a19dd34f5c2813bba322285d8a2bf82706420e432efd1bacf59922d778f9069cab3ad99ae1
+DIST narwhals-2.22.1.tar.gz.provenance 9801 BLAKE2B 292135ea0a646db5d29a90457dcfa1d3a95818106ff7f08cc7cbfcfe4ab82809727eede03da9c9512b9840ca39066e4b8107bebab02b0ee18c79f03f9e438cb5 SHA512 fc108f76456c48cb48e031d2832ac37536a9967b455e8ae809b3deb803981418cbf6ef3316901fd0cabf4d571b6c45e7678d3a9ca421e0bac8669051e47c42a2
diff --git a/dev-python/narwhals/narwhals-2.21.2.ebuild b/dev-python/narwhals/narwhals-2.22.1.ebuild
index f424c5455cdc..359955646416 100644
--- a/dev-python/narwhals/narwhals-2.21.2.ebuild
+++ b/dev-python/narwhals/narwhals-2.22.1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-DISTUTILS_USE_PEP517=hatchling
+DISTUTILS_USE_PEP517=uv-build
PYPI_VERIFY_REPO=https://github.com/narwhals-dev/narwhals
PYTHON_COMPAT=( python3_{13..14} )
diff --git a/dev-python/nbclient/Manifest b/dev-python/nbclient/Manifest
index 0ac9538b1ba2..ac48f7ff2af0 100644
--- a/dev-python/nbclient/Manifest
+++ b/dev-python/nbclient/Manifest
@@ -1 +1,2 @@
DIST nbclient-0.10.4.tar.gz 62554 BLAKE2B f8af764820ac6f9da69bd9ad32584b873c826ae5eff51ec4efd41f161e95be3f4079a87a822f4520ba2e6018485be589f90ec9c3533caf82f26a6d7b85c11ec0 SHA512 c8be6d60e0adb6ed2c4f168affe2581d57bfa510461459e9a7c01066998a0dadee73c501fb0144a8148744e95942238b11c8bfce54fe7744add9d20663da859b
+DIST nbclient-0.11.0.tar.gz 62535 BLAKE2B a9a983f5474113f226a2a9ec9ca32db6e5916e5abcc8f0c8eb8c0a1d768c1474015a554294a95d9fd94ec78ea6ed7debdf1b75afaca4d8dbd13ebf965ba57bfe SHA512 eb83cd9a1971b132ba4352d3f5bf2dcb9e97dd200481f829b57de06456b606d22c54793ea3ba8a979409a5f2a7f75a8edb676c6ea79789cc7fd894df208899e4
diff --git a/dev-python/nbclient/nbclient-0.11.0.ebuild b/dev-python/nbclient/nbclient-0.11.0.ebuild
new file mode 100644
index 000000000000..cc846641dc6f
--- /dev/null
+++ b/dev-python/nbclient/nbclient-0.11.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2020-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A client library for executing Jupyter notebooks"
+HOMEPAGE="
+ https://nbclient.readthedocs.io/en/latest/
+ https://github.com/jupyter/nbclient/
+ https://pypi.org/project/nbclient/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/jupyter-client-7.0.0[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-core-5.4.0[${PYTHON_USEDEP}]
+ >=dev-python/nbformat-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.13[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/ipython[${PYTHON_USEDEP}]
+ >=dev-python/ipykernel-6.19.3[${PYTHON_USEDEP}]
+ dev-python/ipywidgets[${PYTHON_USEDEP}]
+ >=dev-python/nbconvert-7.1.0[${PYTHON_USEDEP}]
+ dev-python/testpath[${PYTHON_USEDEP}]
+ dev-python/xmltodict[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( flaky pytest-asyncio )
+EPYTEST_RERUNS=3
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # hangs?
+ 'tests/test_client.py::test_run_all_notebooks[Interrupt.ipynb-opts6]'
+)
diff --git a/dev-python/neovim-remote/metadata.xml b/dev-python/neovim-remote/metadata.xml
index 1a45d435b8e2..acfe7097587e 100644
--- a/dev-python/neovim-remote/metadata.xml
+++ b/dev-python/neovim-remote/metadata.xml
@@ -1,14 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>jeffrey@icurse.nl</email>
- <name>Jeffrey Lin</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/nest-asyncio2/Manifest b/dev-python/nest-asyncio2/Manifest
new file mode 100644
index 000000000000..bb8a124f5198
--- /dev/null
+++ b/dev-python/nest-asyncio2/Manifest
@@ -0,0 +1 @@
+DIST nest_asyncio2-1.7.0.tar.gz 13797 BLAKE2B 0c575ea965b49c6f4d4b9b764e2c4595de6fae45d03ad058e93ec01d8f5a25414cbdf6d2c54a08a6644d0cc31836c7809f5e35ebdece60e0919be836524c1e95 SHA512 3bbdbca192ed0dbd9417ba7dff2d39d1729b49ef258a747c2afd8164f3894269267d238f49ea9c8c2df2004c21893ed2c619cba2a424343eeb705b8880bc79e0
diff --git a/dev-python/doublex-expects/metadata.xml b/dev-python/nest-asyncio2/metadata.xml
index 5e95859f915a..d34971a915e9 100644
--- a/dev-python/doublex-expects/metadata.xml
+++ b/dev-python/nest-asyncio2/metadata.xml
@@ -3,7 +3,6 @@
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
- <name>Python</name>
</maintainer>
<stabilize-allarches />
<origin>baldeagleos-repo</origin>
diff --git a/dev-python/types-python-dateutil/types-python-dateutil-2.9.0.20260508.ebuild b/dev-python/nest-asyncio2/nest-asyncio2-1.7.0.ebuild
index 866a75258277..91b87c2ab79b 100644
--- a/dev-python/types-python-dateutil/types-python-dateutil-2.9.0.20260508.ebuild
+++ b/dev-python/nest-asyncio2/nest-asyncio2-1.7.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2026 Gentoo Authors
+# Copyright 2020-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -8,16 +8,15 @@ PYTHON_COMPAT=( python3_{13..14} )
inherit distutils-r1 pypi
-DESCRIPTION="Typing stubs for python-dateutil"
+DESCRIPTION="Patch asyncio to allow nested event loops"
HOMEPAGE="
- https://github.com/python/typeshed/
- https://pypi.org/project/types-python-dateutil/
+ https://github.com/Chaoses-Ib/nest-asyncio2/
+ https://pypi.org/project/nest-asyncio2/
"
-LICENSE="Apache-2.0"
+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="
- >=dev-python/setuptools-82.0.1[${PYTHON_USEDEP}]
-"
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/notebook/Manifest b/dev-python/notebook/Manifest
index 0d91fd6da528..c0e1070b060f 100644
--- a/dev-python/notebook/Manifest
+++ b/dev-python/notebook/Manifest
@@ -1,3 +1,3 @@
DIST notebook-7.4.7.tar.gz 13937702 BLAKE2B 3c63eb57e0e439de7d08b319a1770767ae0bd32a2ff6caec4bf371a948f208eb03ac63ddf44f1d7f78ee898147696082e188ae53b096cb79dcb0d65feb77c95a SHA512 038046d891e7af6d64259e7f52e10be1bb5cd8d5928f44a8039eb916e48f8d4a926a55bb6ab5f5fd803baa32972636afd4498ec41911797e7bb1396bc8ca257f
-DIST notebook-7.5.5.tar.gz 14169167 BLAKE2B 1b11b6bad62c2aecc9cf740c82deb45be60f43a904e946f02e47281492f5955362d12aee78e8bb5a43a1eeebe650a9c34f7f38e3ba4af288709efe5c7d858667 SHA512 d2b48eb01fdc65fd1dba96fcabfc1c9a3ec05140d66bd353968e8485fb0cfb4d591800a682f21177d2250a48ecf1015db703fceaa44bc9d8b29023e527969494
DIST notebook-7.5.6.tar.gz 14170814 BLAKE2B d3da4b96180f0d55abcb93758390dd6a08095950b9cf1570d5271c88774dcde5909fbbdd295301b961332283b23dc909e1005cd6b7282ba9251ae9af372194d4 SHA512 80c36c26f0f02225308c37960ff38a5e73e459043a96c3f5c5e483855ecc020ea992a0b5aa6e81443ea3012fb5dbe27d9acc220f7862afa71b27eeeadf74b4d8
+DIST notebook-7.5.7.tar.gz 14171612 BLAKE2B 13fc91f63ddd5992e13d2f7b8805e90f940bbcf935ed89270e14e405f6f09dce39d7f5c5e2ba0150d05f5350235af749fe657935addb86281371465bb050aa8f SHA512 e92bfd6fe253e4b3468978c110acb43e98336595ebbfe39a0ed8b421926cb20d3c8f284f76cabd5108f3642d19fe446e79620bc99761b3214fa93301853370b2
diff --git a/dev-python/notebook/notebook-7.5.5.ebuild b/dev-python/notebook/notebook-7.5.7.ebuild
index 1e4c09bbb41b..b19274edf970 100644
--- a/dev-python/notebook/notebook-7.5.5.ebuild
+++ b/dev-python/notebook/notebook-7.5.7.ebuild
@@ -18,12 +18,12 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
RDEPEND="
>=dev-python/jupyter-server-2.4.0[${PYTHON_USEDEP}]
<dev-python/jupyter-server-3[${PYTHON_USEDEP}]
- >=dev-python/jupyterlab-4.5.6[${PYTHON_USEDEP}]
+ >=dev-python/jupyterlab-4.5.8[${PYTHON_USEDEP}]
<dev-python/jupyterlab-4.6[${PYTHON_USEDEP}]
>=dev-python/jupyterlab-server-2.28.0[${PYTHON_USEDEP}]
<dev-python/jupyterlab-server-3[${PYTHON_USEDEP}]
diff --git a/dev-python/nox/Manifest b/dev-python/nox/Manifest
index 663eb76cc8ab..d631d8aee44d 100644
--- a/dev-python/nox/Manifest
+++ b/dev-python/nox/Manifest
@@ -1,2 +1 @@
-DIST nox-2026.02.09.gh.tar.gz 4031394 BLAKE2B 6d2c04dec43c09ef2163c04f73ea0833c1963abae7c13a96d6f526e2f936b976d19e4fe79e5272d7b86bed920e9cb362c60fae655a07296d7b509c959096a8e0 SHA512 3ae5901f7f001e5cc607e99d8360697343dd8c7717f2f5b55937b2a759617d0493b37779672cefa0f18153529f46945b10db6a8352e222b0508bc683fc6fbd3f
DIST nox-2026.04.10.gh.tar.gz 4035107 BLAKE2B c714b751e689643ef340a08e1d004cde2775180688be683bd699dc2ed950809c322cb33c4891bc0e3b3b2c87cb51139f6ac07038763eedfdd0e17342fc805edd SHA512 4771fcb8df3a43a2aa3c4a01d4bb377d1f5720b234e147c062c5bbe539173da67823318a821c89f754e8eff1206ea84c43d32006438c98131e9eda766567b1ba
diff --git a/dev-python/nox/nox-2026.02.09.ebuild b/dev-python/nox/nox-2026.02.09.ebuild
deleted file mode 100644
index 55aeb8285158..000000000000
--- a/dev-python/nox/nox-2026.02.09.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 2023-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Flexible test automation for Python"
-HOMEPAGE="
- https://github.com/wntrblm/nox/
- https://pypi.org/project/nox/
-"
-SRC_URI="
- https://github.com/wntrblm/nox/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- >=dev-python/argcomplete-1.9.4[${PYTHON_USEDEP}]
- >=dev-python/attrs-24.1[${PYTHON_USEDEP}]
- >=dev-python/colorlog-2.6.1[${PYTHON_USEDEP}]
- >=dev-python/dependency-groups-1.1[${PYTHON_USEDEP}]
- >=dev-python/humanize-4[${PYTHON_USEDEP}]
- >=dev-python/packaging-22[${PYTHON_USEDEP}]
- >=dev-python/virtualenv-20.15[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/pbs-installer-2025.01.06[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO: conda?
- 'tests/test_sessions.py::TestSessionRunner::test__create_venv_options[nox.virtualenv.CondaEnv.create-conda-CondaEnv]'
- # Internet
- tests/test_virtualenv.py::test_uv_install
- tests/test_main.py::test_noxfile_script_mode
- )
-
- case ${EPYTHON} in
- pypy3*)
- EPYTEST_DESELECT+=(
- # hardcoded CPython assumption
- tests/test_tox_to_nox.py::test_commands_with_requirements
- tests/test_tox_to_nox.py::test_skipinstall
- tests/test_tox_to_nox.py::test_trivial
- tests/test_tox_to_nox.py::test_usedevelop
- )
- ;;
- esac
-
- epytest -o tmp_path_retention_policy=all
-}
diff --git a/dev-python/nuitka/Manifest b/dev-python/nuitka/Manifest
index 5c76bf4b391c..4aa72856172a 100644
--- a/dev-python/nuitka/Manifest
+++ b/dev-python/nuitka/Manifest
@@ -1,3 +1 @@
-DIST nuitka-4.1.1.tar.gz 4558061 BLAKE2B b4432b4e21773bc02a811e3641ea96ddb3b1cb7fd65bf6d80a86474b90f2cc8d3464319ba790ed6829479e5189cc23a8c3094e25f6426b828fa1dc6cab2cee53 SHA512 56d2ff052510f1f4bb0ef6d383eddc075f38afd7b3a51b615f259cc6089c55787ef73bc389fb26dea403b1ee594becd439c01861fd9e5b04dcb695d8e77127a6
DIST nuitka-4.1.2.tar.gz 4561050 BLAKE2B ff9687a28f51746cab2f1483440c5a4078baa9b8f21268d9cbed35f0e5bda0f7c1d7f23a4fad09e46870514162c8ec28767610b33c3548a40d5ee08cc7f06249 SHA512 0e6d2db12fa44819c319f99cfc074591ff5863eb4a3f40155c362beebea3243f7e3d69d33b39c9168379c1e9e8cd3cae945b1b2dbfbe85e337357fed0092cd53
-DIST nuitka-4.1.tar.gz 4543258 BLAKE2B 37bb8d5b5a8cb89cf3f8deadb3f995995c2dfe5cac928a14fca857e61aa4e6aa0c3a842c2453346032965cbf2d600a20f1d245f256d41ee55a4abe94d3f7d898 SHA512 d5b5b56214e5ceeffe0fd0b0456e197f094ebec22573c53b998021538362ac6bceaeb8ef25a2e15c8362825b2ad8e3ba2ed6080199e09703ef5e29f53796411d
diff --git a/dev-python/nuitka/nuitka-4.1.1.ebuild b/dev-python/nuitka/nuitka-4.1.1.ebuild
deleted file mode 100644
index 541234567ed4..000000000000
--- a/dev-python/nuitka/nuitka-4.1.1.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2026 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_{13..14} )
-
-inherit distutils-r1 flag-o-matic optfeature pypi
-
-DESCRIPTION="Python to native compiler"
-HOMEPAGE="
- https://nuitka.net/
- https://github.com/Nuitka/Nuitka/
- https://pypi.org/project/Nuitka/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~loong ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-build/scons[${PYTHON_USEDEP}]
- >=dev-python/ordered-set-4.1.0[${PYTHON_USEDEP}]
- >=dev-python/zstandard-0.15[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
- test? ( dev-util/ccache )
-"
-
-distutils-r1_src_prepare() {
- # remove vendored version of SCons that is Python2 only
- # this should be removed when upstream removes support for Python2
- rm -vR "nuitka/build/inline_copy/lib/scons-2.3.2/SCons" || die
- eapply_user
-}
-
-python_install() {
- distutils-r1_python_install
- doman doc/nuitka.1 doc/nuitka-run.1
-}
-
-python_test() {
- append-ldflags -Wl,--no-warn-search-mismatch
- ./tests/basics/run_all.py search || die
-}
-
-pkg_postinst() {
- optfeature "support for stand-alone executables" dev-util/patchelf
-}
diff --git a/dev-python/nuitka/nuitka-4.1.ebuild b/dev-python/nuitka/nuitka-4.1.ebuild
deleted file mode 100644
index 541234567ed4..000000000000
--- a/dev-python/nuitka/nuitka-4.1.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2026 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_{13..14} )
-
-inherit distutils-r1 flag-o-matic optfeature pypi
-
-DESCRIPTION="Python to native compiler"
-HOMEPAGE="
- https://nuitka.net/
- https://github.com/Nuitka/Nuitka/
- https://pypi.org/project/Nuitka/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~loong ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-build/scons[${PYTHON_USEDEP}]
- >=dev-python/ordered-set-4.1.0[${PYTHON_USEDEP}]
- >=dev-python/zstandard-0.15[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
- test? ( dev-util/ccache )
-"
-
-distutils-r1_src_prepare() {
- # remove vendored version of SCons that is Python2 only
- # this should be removed when upstream removes support for Python2
- rm -vR "nuitka/build/inline_copy/lib/scons-2.3.2/SCons" || die
- eapply_user
-}
-
-python_install() {
- distutils-r1_python_install
- doman doc/nuitka.1 doc/nuitka-run.1
-}
-
-python_test() {
- append-ldflags -Wl,--no-warn-search-mismatch
- ./tests/basics/run_all.py search || die
-}
-
-pkg_postinst() {
- optfeature "support for stand-alone executables" dev-util/patchelf
-}
diff --git a/dev-python/numpy/numpy-2.4.5.ebuild b/dev-python/numpy/numpy-2.4.5.ebuild
index dda0acf87827..5d0abca45634 100644
--- a/dev-python/numpy/numpy-2.4.5.ebuild
+++ b/dev-python/numpy/numpy-2.4.5.ebuild
@@ -22,7 +22,7 @@ HOMEPAGE="
LICENSE="BSD 0BSD MIT ZLIB CC0-1.0"
SLOT="0/2"
if [[ ${PV} != *_rc* ]]; then
- 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"
fi
# +lapack because the internal fallbacks are pretty slow. Building without blas
# is barely supported anyway, see bug #914358.
diff --git a/dev-python/oct2py/Manifest b/dev-python/oct2py/Manifest
index 35f732fe2c7a..01a02363088f 100644
--- a/dev-python/oct2py/Manifest
+++ b/dev-python/oct2py/Manifest
@@ -1,3 +1 @@
-DIST oct2py-6.0.1.tar.gz 73861 BLAKE2B b8b4c28875f56c4b88f292ea98d78b71769544e036c3ae5b84b925a597cf732c6187853247dd9e3715a220fc3c15b9ab4c38a19f2f844196aa4eb3d78d598d08 SHA512 853d397eb76ba047ebd3be8fbb77e8a28851a14d413539ca24cc0049f73215a7d037805e21cbf0f46a104c78fbdc98f8925919a9690c12fa1019096cff49acea
-DIST oct2py-6.0.2.tar.gz 74126 BLAKE2B fd0d2aad24f9660175b61e49c550ba3f7289294cbd5e1ecfbeeab671623aa4afc2718081fa5e332f6c75346d1f7c4b797785a897fbce114959c4a50b033b51ad SHA512 2f5b2dc4ef8ee59aac90fc0598faef1503f88258789392746540250d8c2a6f44d44bd157a0eaecb319f59f3b9dbe07c657c22123918dd6f2f5ccf1e09cbb0310
DIST oct2py-6.0.3.tar.gz 74152 BLAKE2B 281bfd20b4685011e236d1c619726350f52667385f8d3d8ba7e8c8d28f844b8068a80698232b5e03bc22170c2e5cee5f77aba676dd7718e92938cb0ed7ade7cb SHA512 8f117fc3a825b0d91030edb2ba3afed48c70b47e93c458e92be7fd0a193cc4ea5fa0daf9c13bcaac8219ad53d9d128aac1642fb8f03fd8e14c68e7bd4244d429
diff --git a/dev-python/oct2py/oct2py-6.0.1.ebuild b/dev-python/oct2py/oct2py-6.0.1.ebuild
deleted file mode 100644
index f4646ab82f2c..000000000000
--- a/dev-python/oct2py/oct2py-6.0.1.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi virtualx
-
-DESCRIPTION="Python to GNU Octave bridge"
-HOMEPAGE="
- https://github.com/blink1073/oct2py
- https://blink1073.github.io/oct2py/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-python/numpy-1.25.0[${PYTHON_USEDEP}]
- >=dev-python/octave-kernel-1.0[${PYTHON_USEDEP}]
- >=dev-python/pydantic-settings-2.0[${PYTHON_USEDEP}]
- >=dev-python/scipy-0.17.1[${PYTHON_USEDEP}]
- >=dev-python/tornado-0.5.5[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/ipython-9.0[${PYTHON_USEDEP}]
- dev-python/nbconvert[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # No graphics toolkit available: 743589
- "oct2py/ipython/tests/test_octavemagic.py::OctaveMagicTest::test_octave_plot"
- # TODO
- tests/test_misc.py::TestMisc::test_func_without_docstring
- tests/test_usage.py::TestUsage::test_pkg_load
- )
-
- virtx epytest
-}
diff --git a/dev-python/oct2py/oct2py-6.0.2.ebuild b/dev-python/oct2py/oct2py-6.0.2.ebuild
deleted file mode 100644
index 64f69e722c7e..000000000000
--- a/dev-python/oct2py/oct2py-6.0.2.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi virtualx
-
-DESCRIPTION="Python to GNU Octave bridge"
-HOMEPAGE="
- https://github.com/blink1073/oct2py
- https://blink1073.github.io/oct2py/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-python/numpy-1.25.0[${PYTHON_USEDEP}]
- >=dev-python/octave-kernel-1.0[${PYTHON_USEDEP}]
- >=dev-python/pydantic-settings-2.0[${PYTHON_USEDEP}]
- >=dev-python/scipy-0.17.1[${PYTHON_USEDEP}]
- >=dev-python/tornado-0.5.5[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/ipython-9.0[${PYTHON_USEDEP}]
- dev-python/nbconvert[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( flaky )
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # No graphics toolkit available: 743589
- "oct2py/ipython/tests/test_octavemagic.py::OctaveMagicTest::test_octave_plot"
- # TODO
- tests/test_misc.py::TestMisc::test_func_without_docstring
- tests/test_usage.py::TestUsage::test_pkg_load
- )
-
- virtx epytest
-}
diff --git a/dev-python/octave-kernel/Manifest b/dev-python/octave-kernel/Manifest
index 2fc2ad7bd3ad..bd7766b933d4 100644
--- a/dev-python/octave-kernel/Manifest
+++ b/dev-python/octave-kernel/Manifest
@@ -1,2 +1 @@
-DIST octave_kernel-1.0.3.tar.gz 566566 BLAKE2B 15fad097cc309e4d4a0bb0c92ad9ebb010723a633ac8ac68440690a4ffcae2ce548879b87c4121a2db3dd8a8d6d9792de0cf2ddc4e985eeff03981a2806b7a19 SHA512 0991a9e3819c5a517752f880e2141fba91a74463f81aff581c9a0dba649d11597a2b25dee259da769b2134014c5aed03c964eac3878117b706725da87128ab8e
DIST octave_kernel-1.0.4.tar.gz 566796 BLAKE2B 6c48ec49e9ff247a8cd6883a4366572a8446e8bd74f2f53c339165504fe00e8e5f9039002eae21c0b5c477e1ce5f04ffc0ab2256b02868e938a8dfac4a1a945e SHA512 b99d45b8ae0916efc45faf5640cdbb3379b9e987fa8143b099c175393faef60b5d44fba1b7621f1a06067092987981c86949d40c41309b5f925cfd6e874e7f2e
diff --git a/dev-python/octave-kernel/octave-kernel-1.0.3.ebuild b/dev-python/octave-kernel/octave-kernel-1.0.3.ebuild
deleted file mode 100644
index 3eacc808b9bb..000000000000
--- a/dev-python/octave-kernel/octave-kernel-1.0.3.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{13..14} )
-DISTUTILS_USE_PEP517=hatchling
-
-inherit distutils-r1 virtualx pypi
-
-DESCRIPTION="Jupyter kernel for octave"
-HOMEPAGE="
- https://github.com/Calysto/octave_kernel/
- https://pypi.org/project/octave-kernel/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/ipykernel-6.22.0[${PYTHON_USEDEP}]
- >=dev-python/jupyter-client-8.1.0[${PYTHON_USEDEP}]
- >=dev-python/metakernel-1.0[${PYTHON_USEDEP}]
- sci-mathematics/octave
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- test? (
- dev-python/jupyter-kernel-test[${PYTHON_USEDEP}]
- dev-python/nbconvert[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-src_test() {
- virtx distutils-r1_src_test
-}
diff --git a/dev-python/openstacksdk/Manifest b/dev-python/openstacksdk/Manifest
index 5646ebd3ea23..13ee1946b2be 100644
--- a/dev-python/openstacksdk/Manifest
+++ b/dev-python/openstacksdk/Manifest
@@ -1,4 +1,4 @@
-DIST openstacksdk-4.11.0.tar.gz 1328665 BLAKE2B 074becf5fb7ad714b96aca0cc2087f721ca56cb64fa6d4fbe967ff207e5d7874d38c3f70447c81cac827d10665fa46f52ee5a4d6c82204f25a35688f54da562d SHA512 540510094106c5ac5647b8fb847dc44f59f254d6f4108bfe209d4dd812d159a3c2eb7d7c2257c782dce7032014751448d81d6ce47c8a3526d5a718246518d3eb
DIST openstacksdk-4.12.0.tar.gz 1336787 BLAKE2B 4beacf1f769f1ba8f114087e70952671549bfbd3cfd2d5d4996ee8fe6d8973a7b8f3e79bff8f073e3f0a1de7989a52cce17d977314bef3b0b18de8224e380976 SHA512 3aec43968d53e56aef5acf00f1bb343be383a8250db24d2cbf7a0de180d7d5b90a295d464e4d8da7b451956dbf0f0250419a0bdea532e0bb26692781e15fb6b9
DIST openstacksdk-4.13.0.tar.gz 1341338 BLAKE2B 2b7b74c7fa3f94aecf67b68ff48b24f8d44ab4f3e07d49ef6fc85facf7676e3a70fcdeb32b3aa129d0920ec25317c18647d268d308d5cdbb3346b2f11b57e23d SHA512 ba00c75a4c7575972d7218a0271b7261717e7386db84528fba304efc0607746a3b36f31c39d7eb594238004c523284e51db1836dd1e8764c55205268774fb733
DIST openstacksdk-4.14.0.tar.gz 1357501 BLAKE2B 574036f4827e045dae7da7058e86ab384614b03a669f25e8bdafc05d5f773265bb9282ddc764851d7391fd442f5b8c0f94c0e19ddc963c4baea13acd3c47fd3f SHA512 baf6234a52ddd1cffe1126f59fbc2daae014667fbbdd0dd8d65866e3f89da2372de00b7b6d54d486cd2a47d28d23c0e3ae9affcb79b4bc124270179eb67b7afc
+DIST openstacksdk-4.15.0.tar.gz 1379204 BLAKE2B 2a1405af243909af4f7bfe356b42976a5ac2e21d9962da133971cfed087bfb8d387ae800ff420154bd189b97f148c7b0d517f1083e32da8a2ff3fe59315aad37 SHA512 ec4b16322db900c83a37a98a2ce59396dc82d69a5f6552a852422a4ceb9d333efe67c215290d051c8c0fcc14dec652f9db50930676101653d431e91f89a444dd
diff --git a/dev-python/openstacksdk/openstacksdk-4.12.0.ebuild b/dev-python/openstacksdk/openstacksdk-4.12.0.ebuild
index 69b5e2b60c73..0671708ccc93 100644
--- a/dev-python/openstacksdk/openstacksdk-4.12.0.ebuild
+++ b/dev-python/openstacksdk/openstacksdk-4.12.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"
RDEPEND="
>=dev-python/cryptography-2.7[${PYTHON_USEDEP}]
diff --git a/dev-python/openstacksdk/openstacksdk-4.11.0.ebuild b/dev-python/openstacksdk/openstacksdk-4.15.0.ebuild
index 0671708ccc93..fc37787b90c1 100644
--- a/dev-python/openstacksdk/openstacksdk-4.11.0.ebuild
+++ b/dev-python/openstacksdk/openstacksdk-4.15.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"
RDEPEND="
>=dev-python/cryptography-2.7[${PYTHON_USEDEP}]
@@ -45,7 +45,6 @@ BDEPEND="
>=dev-python/statsd-3.3.0[${PYTHON_USEDEP}]
>=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
>=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.12.0[${PYTHON_USEDEP}]
)
"
diff --git a/dev-python/osc-lib/Manifest b/dev-python/osc-lib/Manifest
index 06b66dee386a..8cf59a51e1ab 100644
--- a/dev-python/osc-lib/Manifest
+++ b/dev-python/osc-lib/Manifest
@@ -1,3 +1 @@
-DIST osc_lib-4.4.0.tar.gz 105435 BLAKE2B f4a9f359d8376aeaa94f70594993d66a5cbd396c7d827155f2d72df847d823f394410732a194a1ec7a112ebc494902fbeef84ebedb5e209f284d6ac324655024 SHA512 0d949c2f172324f12ae130a3487d6a017968bf2737685e274d5778705a9413a1f401edfa08d64573450715b347d583c2819583c5781ddddeb5f8eff632d69775
-DIST osc_lib-4.5.0.tar.gz 105164 BLAKE2B 555e929bc3701328d0d4989f1e9457d89aa200c832fcb793916ff1811943ab5b34a6dffc4dd4ec06b23182b8c97a0497984bf68bbb2d229e5a61436da0bc8322 SHA512 777a1548a6fe9b6bed890faf088447378bfda11f47b8d8d64c1d3a398c78b7bf73c1ac820cdab796e9a2e5caa8ccd47a8aaac04061cf54c23987a1060c03847a
DIST osc_lib-4.6.0.tar.gz 105274 BLAKE2B 7c15ba55268c4ebdf12b310fa3da0dde12be31e40845e676add9c9d9270c935108fb9042913bdb8cad98c36fe989ee5e39434c1d92e69abf75a9786c58639177 SHA512 3af1a206bbd7ee0d3b4ea109692fb816fbb00febd7cc567ce1e7e16d66910a0a7745f5b52dbb3614b8ad0435de416f6a555c282d604b53f38308ac952d767610
diff --git a/dev-python/osc-lib/osc-lib-4.4.0.ebuild b/dev-python/osc-lib/osc-lib-4.4.0.ebuild
deleted file mode 100644
index d16c18dde410..000000000000
--- a/dev-python/osc-lib/osc-lib-4.4.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pbr
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A package of common support modules for writing OSC plugins"
-HOMEPAGE="
- https://opendev.org/openstack/osc-lib/
- https://github.com/openstack/osc-lib/
- https://pypi.org/project/osc-lib/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/cliff-4.9.0[${PYTHON_USEDEP}]
- >=dev-python/keystoneauth1-5.10.0[${PYTHON_USEDEP}]
- >=dev-python/openstacksdk-0.15.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
- >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
- >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/statsd-3.3.0[${PYTHON_USEDEP}]
- >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- # need to skip all tests under TestTagHelps class
- # checks exact help message, based on another unittest runner
- sed -e '179,$s/test_add_tag_/_&/' -i osc_lib/tests/utils/test_tags.py || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/osc-lib/osc-lib-4.5.0.ebuild b/dev-python/osc-lib/osc-lib-4.5.0.ebuild
deleted file mode 100644
index d16c18dde410..000000000000
--- a/dev-python/osc-lib/osc-lib-4.5.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pbr
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A package of common support modules for writing OSC plugins"
-HOMEPAGE="
- https://opendev.org/openstack/osc-lib/
- https://github.com/openstack/osc-lib/
- https://pypi.org/project/osc-lib/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/cliff-4.9.0[${PYTHON_USEDEP}]
- >=dev-python/keystoneauth1-5.10.0[${PYTHON_USEDEP}]
- >=dev-python/openstacksdk-0.15.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
- >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
- >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/statsd-3.3.0[${PYTHON_USEDEP}]
- >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- # need to skip all tests under TestTagHelps class
- # checks exact help message, based on another unittest runner
- sed -e '179,$s/test_add_tag_/_&/' -i osc_lib/tests/utils/test_tags.py || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/osc-lib/osc-lib-4.6.0.ebuild b/dev-python/osc-lib/osc-lib-4.6.0.ebuild
index 78ec35ad46d5..07bf644c973a 100644
--- a/dev-python/osc-lib/osc-lib-4.6.0.ebuild
+++ b/dev-python/osc-lib/osc-lib-4.6.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"
RDEPEND="
>=dev-python/cliff-4.9.0[${PYTHON_USEDEP}]
diff --git a/dev-python/oslo-concurrency/Manifest b/dev-python/oslo-concurrency/Manifest
deleted file mode 100644
index cfe106eec394..000000000000
--- a/dev-python/oslo-concurrency/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST oslo_concurrency-7.4.0.tar.gz 62256 BLAKE2B 17726948ccd2dfa0376b1d9edf645719a3b8ade02df4b5ee0c1da3a1c8b328f603b0c0624a9df0626a7194bad7ccf1465fb0f2496a7fb0d9a2db83eb0b4f1806 SHA512 e42e22e5d88e1f7b1e7331dea72c006389e9b2c2dc767f1373f5105d2f80aff6b1c9130eef185adb42aee6588ec65235313618212d7bdac84b1d5d76d48f4ba3
diff --git a/dev-python/oslo-concurrency/files/0001-Fix-multiprocessing-tests-under-Python-3.14.patch b/dev-python/oslo-concurrency/files/0001-Fix-multiprocessing-tests-under-Python-3.14.patch
deleted file mode 100644
index 007df5eafd43..000000000000
--- a/dev-python/oslo-concurrency/files/0001-Fix-multiprocessing-tests-under-Python-3.14.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 2b475f6333b13d3496eef93863847d29d0b04794 Mon Sep 17 00:00:00 2001
-From: Jay Faulkner <jay@jvf.cc>
-Date: Mon, 13 Apr 2026 07:47:02 -0700
-Subject: [PATCH] Fix multiprocessing tests under Python 3.14
-
-Python 3.14 changed the default multiprocessing start method from
-'fork' to 'forkserver' (see https://github.com/python/cpython/issues/84559).
-With forkserver, child processes do not inherit parent memory state,
-which broke three tests: child processes could not access oslo_config
-settings or pickle local function targets.
-
-Use multiprocessing.get_context('fork') explicitly for the affected
-tests, which already assume fork semantics (the same file uses
-os.fork() directly elsewhere).
-
-Assisted-By: claude
-Change-Id: Ie89e9a12b8d69e180115018d2953ec1e689d9d98
-Signed-off-by: Jay Faulkner <jay@jvf.cc>
----
- oslo_concurrency/tests/unit/test_lockutils.py | 12 +++++++-----
- 1 file changed, 7 insertions(+), 5 deletions(-)
-
-diff --git a/oslo_concurrency/tests/unit/test_lockutils.py b/oslo_concurrency/tests/unit/test_lockutils.py
-index 94f45dc..3e80161 100644
---- a/oslo_concurrency/tests/unit/test_lockutils.py
-+++ b/oslo_concurrency/tests/unit/test_lockutils.py
-@@ -200,10 +200,11 @@ class LockTestCase(test_base.BaseTestCase):
-
- def _do_test_lock_externally(self):
- """We can lock across multiple processes."""
-+ ctx = multiprocessing.get_context('fork')
- children = []
- for n in range(50):
-- queue: multiprocessing.Queue[int] = multiprocessing.Queue()
-- proc = multiprocessing.Process(
-+ queue: multiprocessing.Queue[int] = ctx.Queue()
-+ proc = ctx.Process(
- target=lock_files, args=(tempfile.mkdtemp(), queue)
- )
- proc.start()
-@@ -433,7 +434,8 @@ class FileBasedLockingTestCase(test_base.BaseTestCase):
- def test_interprocess_nonblocking_external_lock(self):
- """Check that we're not actually blocking between processes."""
-
-- nb_calls = multiprocessing.Value('i', 0)
-+ ctx = multiprocessing.get_context('fork')
-+ nb_calls = ctx.Value('i', 0)
-
- @lockutils.synchronized(
- 'foo', blocking=False, external=True, lock_path=self.lock_dir
-@@ -446,7 +448,7 @@ class FileBasedLockingTestCase(test_base.BaseTestCase):
- def other(param):
- foo(param)
-
-- process = multiprocessing.Process(target=other, args=(nb_calls,))
-+ process = ctx.Process(target=other, args=(nb_calls,))
- process.start()
- # Make sure the other process grabs the lock
- start = time.time()
-@@ -454,7 +456,7 @@ class FileBasedLockingTestCase(test_base.BaseTestCase):
- if time.time() - start > 5:
- self.fail('Timed out waiting for process to grab lock')
- time.sleep(0)
-- process1 = multiprocessing.Process(target=other, args=(nb_calls,))
-+ process1 = ctx.Process(target=other, args=(nb_calls,))
- process1.start()
- process1.join()
- process.join()
---
-2.52.0
-
diff --git a/dev-python/oslo-concurrency/metadata.xml b/dev-python/oslo-concurrency/metadata.xml
deleted file mode 100644
index 5e95859f915a..000000000000
--- a/dev-python/oslo-concurrency/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches />
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/dev-python/oslo-concurrency/oslo-concurrency-7.4.0.ebuild b/dev-python/oslo-concurrency/oslo-concurrency-7.4.0.ebuild
deleted file mode 100644
index 84f03715697c..000000000000
--- a/dev-python/oslo-concurrency/oslo-concurrency-7.4.0.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 2021-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pbr
-PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Oslo Concurrency library"
-HOMEPAGE="
- https://opendev.org/openstack/oslo.concurrency/
- https://github.com/openstack/oslo.concurrency/
- https://pypi.org/project/oslo.concurrency/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/debtcollector-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
- >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
- >=dev-python/fasteners-0.7.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-PATCHES=(
- # https://review.opendev.org/c/openstack/oslo.concurrency/+/984403
- "${FILESDIR}/0001-Fix-multiprocessing-tests-under-Python-3.14.patch"
-)
-
-src_prepare() {
- # fails, then hangs
- rm oslo_concurrency/tests/unit/test_lockutils_eventlet.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- eunittest
-}
diff --git a/dev-python/oslo-config/Manifest b/dev-python/oslo-config/Manifest
index f1ada17116ea..5ed4f4e363a3 100644
--- a/dev-python/oslo-config/Manifest
+++ b/dev-python/oslo-config/Manifest
@@ -1,2 +1,3 @@
DIST oslo_config-10.3.0.tar.gz 164302 BLAKE2B 973e637cd4e75904a651fda32517a5fd4b42c69fe4f6674ac6163a4eab5588c5188ccbbc923861b0f9b4c587304746df676ab6c5994842da14edec6594eee925 SHA512 c72ecea5670d4e9267096f5499821156fa795d359ce072ce9b730155b10b218768926d5e4104f5a4aa3d2f9a79db2e419d227567e9ff5d83e900efad956097f1
DIST oslo_config-10.4.0.tar.gz 168943 BLAKE2B 7621204df281296ac5c7d80f99369f37385e12cae1da06799c9158a0b7b17043c82612379864b2c3a007cd986ad3ce2643db4076fbce8658350ea0d8af843ee4 SHA512 a390700c5f824cb0d3c7ba79fd692f61714ddcc2e446ac0cf7648a1939096767b5b26a425b1156ca8d078035696c43119c3d8ff1214c67637cf21f74ac996da4
+DIST oslo_config-10.5.0.tar.gz 169305 BLAKE2B 7e287d82e0655ee960a6df174fa651671ab42c9616099d9158c3349c47a3e7b522546407705c07932d01227254a462f142b661b80d10c83a42183f5f725606dc SHA512 8323dba544d1a98dacaed82b708110eb37d194d31090046d9362b20ed46b6d1d0834d50af09328fe033c3ce38f298ea457a5efdc2f715942bfd7e24cfe2c9b85
diff --git a/dev-python/oslo-config/oslo-config-10.5.0.ebuild b/dev-python/oslo-config/oslo-config-10.5.0.ebuild
new file mode 100644
index 000000000000..e09c7a788d49
--- /dev/null
+++ b/dev-python/oslo-config/oslo-config-10.5.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pbr
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Oslo Configuration API"
+HOMEPAGE="
+ https://opendev.org/openstack/oslo.config/
+ https://github.com/openstack/oslo.config/
+ https://pypi.org/project/oslo.config/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/pbr-1.3[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-5.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/rfc3986-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.18.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # broken by some dep upgrade
+ sed -i oslo_config/tests/test_cfg.py \
+ -e '/DeprecationWarningTestsNoOsloLog/,$d' \
+ -e 's/test_sub_command_multiple/_&/' || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x COLUMNS=80
+ eunittest -b
+}
diff --git a/dev-python/oslo-utils/Manifest b/dev-python/oslo-utils/Manifest
index 1730fd9b0a1a..1d4a5c61e781 100644
--- a/dev-python/oslo-utils/Manifest
+++ b/dev-python/oslo-utils/Manifest
@@ -1,2 +1,3 @@
DIST oslo_utils-10.0.1.tar.gz 141965 BLAKE2B 7c4c6ff4337d908f719c5b942cb2ddc652eaf2f575fbb7bd1a120cd3c30bb2b625fce3fa7fef9b6fcc5215a01dc7b0c068fdec89a312f5358c1d6551013cfbc3 SHA512 a3650dcd0674c9183f1635ec0346476fe4ed9194833a58174cc08ef6cc6b673092c87e9e09788df8798c96e9bb669b7151bbdf04292aee2961e8e80dfc295c5c
DIST oslo_utils-10.1.0.tar.gz 159282 BLAKE2B 694ed00521cd98c5b508337d8f2506ac30c4fcf484f97bd42d3bed353f53035b80ea6d8c0787e991faedacd6982202470a3f3b3ed9c632bee94574671dcdcae1 SHA512 08b016b42c82b247b8c5038ddb783c20b9a6b8e84ad4c18b52c02adcb47f8ba43d72ddc6beec84215b2a560ccdd72ab70c183b1c64775d263745859197d0f8ea
+DIST oslo_utils-10.1.1.tar.gz 159381 BLAKE2B 0bfe6d4bf8aa3986726cd31068b853bf53d6ebe98fdb78fec3edcb64733fbcfffa1bdd9f76abac0cb89779170e2eb3020b36fa2a555897dcb7f72356e3842399 SHA512 20396749fc5df2761c34944ed87635b9626562853d315b70c280f42fcbec8c99aad700a1e0c50f0e7e4d77173bd035c7ca69e6d67a900298a0d353702bb54aa9
diff --git a/dev-python/oslo-utils/oslo-utils-10.1.1.ebuild b/dev-python/oslo-utils/oslo-utils-10.1.1.ebuild
new file mode 100644
index 000000000000..382ada9f7d97
--- /dev/null
+++ b/dev-python/oslo-utils/oslo-utils-10.1.1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pbr
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit check-reqs distutils-r1 pypi
+
+DESCRIPTION="Oslo Utility library"
+HOMEPAGE="
+ https://opendev.org/openstack/oslo.utils/
+ https://github.com/openstack/oslo.utils/
+ https://pypi.org/project/oslo.utils/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.10.0[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.4[${PYTHON_USEDEP}]
+ >=dev-python/pbr-6.1.0[${PYTHON_USEDEP}]
+ >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.13[${PYTHON_USEDEP}]
+"
+# qemu needed for qemu-img
+BDEPEND="
+ test? (
+ app-cdr/cdrtools
+ app-emulation/qemu
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+# note this only applies to USE=test
+CHECKREQS_DISK_BUILD=8G
+
+pkg_pretend() {
+ use test && check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ use test && check-reqs_pkg_setup
+}
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # require eventlet
+ rm oslo_utils/tests/test_eventletutils.py || die
+}
diff --git a/dev-python/owslib/Manifest b/dev-python/owslib/Manifest
index 39e8db4b1c57..2d9897ab0a52 100644
--- a/dev-python/owslib/Manifest
+++ b/dev-python/owslib/Manifest
@@ -1 +1,2 @@
DIST OWSLib-0.35.0.gh.tar.gz 1083891 BLAKE2B e05c29e61f7e8810a847151c86e3e8e675b38fbc65fe0380d9096bbf7e3d42b43c5d13c2374d56be6ed39427c90dd4345c743c18656abadf623fed91e42af741 SHA512 d9b9075739e8a684ffd6ab738f857ef2cd6e17efbc368afb56f8b88f49368bf1ec52922ce9fa89fb5935bc5d11c23532175fd38baf74627a0eba3beabf0e658c
+DIST OWSLib-0.36.0.gh.tar.gz 1105698 BLAKE2B eb5f4ebfaa6956b7cdfbbfcd0579bace165ea9c464361a7214887a72e53173e56e89d819975e9543ae646d1f9b9cd9ecd35ed2c3b3cbb118c15420e0efe7a059 SHA512 2d631293c8533b03bdfa7a191a8ea52c7204addae7a31e0892775be9cc9b9a8ad44f1c7e5c602c1f116dd6a7b0638411fe4896f2dc5baf51b77b53c78de1c2d5
diff --git a/dev-python/owslib/owslib-0.36.0.ebuild b/dev-python/owslib/owslib-0.36.0.ebuild
new file mode 100644
index 000000000000..3883c198dc48
--- /dev/null
+++ b/dev-python/owslib/owslib-0.36.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+MY_P=OWSLib-${PV}
+DESCRIPTION="Library for client programming with Open Geospatial Consortium web service"
+HOMEPAGE="
+ https://geopython.github.io/OWSLib/
+ https://github.com/geopython/owslib/
+ https://pypi.org/project/owslib/
+"
+SRC_URI="
+ https://github.com/geopython/${PN}/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pillow[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-httpserver )
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -o addopts= -m "not online"
+}
diff --git a/dev-python/pandas/pandas-3.0.3.ebuild b/dev-python/pandas/pandas-3.0.3.ebuild
index 328b2ad1be21..71f7b4db6756 100644
--- a/dev-python/pandas/pandas-3.0.3.ebuild
+++ b/dev-python/pandas/pandas-3.0.3.ebuild
@@ -23,7 +23,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
if [[ ${PV} != *_rc* ]]; then
- KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+ KEYWORDS="amd64 arm64 ~riscv ~x86"
fi
IUSE="big-endian full-support minimal test X"
RESTRICT="!test? ( test )"
diff --git a/dev-python/paramiko/paramiko-5.0.0.ebuild b/dev-python/paramiko/paramiko-5.0.0.ebuild
index 2961af781f78..edb63b3bb00b 100644
--- a/dev-python/paramiko/paramiko-5.0.0.ebuild
+++ b/dev-python/paramiko/paramiko-5.0.0.ebuild
@@ -22,7 +22,7 @@ SRC_URI="
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos"
RDEPEND="
>=dev-python/bcrypt-3.2[${PYTHON_USEDEP}]
diff --git a/dev-python/patiencediff/Manifest b/dev-python/patiencediff/Manifest
index 890f8062e624..b16a768a8fc0 100644
--- a/dev-python/patiencediff/Manifest
+++ b/dev-python/patiencediff/Manifest
@@ -2,20 +2,35 @@ DIST autocfg-1.5.0.crate 18729 BLAKE2B 27580e39b366c6fca02c9db09997b6415c409f120
DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
DIST indoc-2.0.6.crate 17164 BLAKE2B 1a6cff95bc12ea885ef36b935bf4f1c7870d65be0ff31ffc67dcab904fa80215c1254c1803c5d0c5686252addfad3512e9e1ec79d3edcba026a879f4706926d1 SHA512 e2ea2e5c8226c802bbe0631c1a99d2edd088cbafbf978b2a7b71c7c7f47754c6d4653f466e286441b61cc46def1c7f7a02d4785caab93a61dd785211dba7d1a9
DIST libc-0.2.177.crate 792045 BLAKE2B ecea1ade26b0faa9cb5fb025e237f3a59dfb562e7b3de3682b42a41038b1d436e83b42b53158c1fc1cc4b1cc64ab55ba1497e869ae850a677c089fcce9138912 SHA512 9d737091dba80244137987d06a52ffcd44a968c96b59ae9af9cfa40c38cb9675d023f6324fbf25c436ce1b9592ebf26248f85b0a7c97ee02360ca624b0efb3e0
+DIST libc-0.2.186.crate 821883 BLAKE2B ebe7aac5f8937a8064c64a0d4dc72e5fc794080e09b96c6d245bdec0fd9a19d49ab38e25306e22e47564764cf5dcde45855237cffc70230a143eca2626bd5c3c SHA512 6a58e671ec6811dff9a0d7d4db8f37d38bcbca9efff20dad4706190e5cdb77b426567754bcf0ef0f2d0c31d6506401f724f3ca500b9bed57bb8605b1141ed690
DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa
DIST once_cell-1.21.3.crate 34534 BLAKE2B 3578aaef305cad2fdffdc40c392775a3540bfab3f3aeafd22466d9507bf8346b9fcc200929d48525b051070c0aaa423ecbcaa12868b34dca007991effb224166 SHA512 32a87506c6f4598f3ca2c88556014ef2093d5db9a08602335e847caa537a866492fa74c894e7e1da2e4289a1d3dbffcb90a9e37a4a1453203832f434b8206990
+DIST once_cell-1.21.4.crate 35010 BLAKE2B 9117ed1d478e626b7b7be2e3ff8b68a382b051112c7ca4425367bdae86977671f8b5c576131c82fb437740b6d98b72501f718f4172d39781decac2385e8fbd4d SHA512 af67669b0107f44268ba74c355200cb2ed1aab235a6989a8bc54323eb2c9a45677010f8672e7790edadd4c981e939436e0c3a099d33c06dce9c14fd5ede86155
DIST patiencediff-0.2.1.crate 21717 BLAKE2B 839dab29b4a5f830df1edc2eb9b46373e8adf6a2f2474b3cb7622899e5cad4de9d19d2b6ace3e6b44d3772a934c3469c85cdd9d2bb31d138f8a28edcd52e7ab3 SHA512 500b3f42a6fd936a3a2fa6b65f5ea0f6b8e37f50be5f002dd2ae76d2138765e45547a6aac68586ded2d5970609e5c2238ce0f5b2fb5b7396e7ca8914f0c1c2c1
DIST patiencediff-0.2.18.tar.gz 24521 BLAKE2B 6b0fd39874b2fc95ab0b964471a129fac3e80be979a3683a14672508ed9e3ec74c2c7e805796e8f33bc7f43bcc2ee3b8dadadaa4c6482d23d261f362ff0e573a SHA512 9eaddfb4533bb213f982b83c4d82fc9235d32b587820af9b1575395ce8b53bb05818b16cb9e721eb41880ffa4cf614f420332aeb2c2823f4fe78372fa629c2e7
DIST patiencediff-0.2.18.tar.gz.provenance 9668 BLAKE2B ba3581f670a4718310effdb9d12e8ed1c064add4d1f39ae2dd67538171bf1a6c76fbbc91f64d2ac04d962a2314046777263e17df473c99e21dc33470971c5438 SHA512 4eb8229d71937b66217601385891ebe7b3703e6547f49b3efffc5cf5e2841055917f942551314587d8b921541b4a2820d5be046c25e40d387a5dfe16fbd40d0c
+DIST patiencediff-0.2.19.tar.gz 24536 BLAKE2B 7df2f59d1de7fb3b4d0c0a8f2a1acb08c7d43dc96fc23a2cd788641eae0079fa869c82a79a18a820419bc0db352f0de99f19d7e7270e51f1588baa22578045c4 SHA512 714dd4f1107d75070233ff545d026c075e3afafb91e86571ef8a1a27fe938a678716b660bbac1caaa708144e52de76414d36dd1987d5f09dfcf6d8ee7a8820ed
+DIST patiencediff-0.2.19.tar.gz.provenance 10070 BLAKE2B 3093fc309254ad05b3b33304aac4217b11f6d152d4e07e906748b684a730003f415c31b33b037d7438337dcfe6f3cc1b0d4ab62a8d2025ef10ecbec763702288 SHA512 b45c71dbc773d3e3c381324f37511dbdc48219cccfd6909c8c162e40b35290d515f0ad4001dffeca786968126c816b038cbf4d1bddb4d8f5636ec4104857fe3e
DIST portable-atomic-1.11.1.crate 185506 BLAKE2B 953bb1f2059dc1d891305eb89945f1f6a172fa50972725aee499de72b5dd9b4ad8ccefe4e891183ff8e6b64f4d1bb45ec33b06e0f5af34c940f817b290f746d9 SHA512 4c037ae0b4aef43077bdbf803389bc078d963f20d023e2e1d339a54f67fa9b27c174e7c1b6eca8881ecf301e30c431632d2c0dcedfb5b19552892fac0f81e2e1
+DIST portable-atomic-1.13.1.crate 197001 BLAKE2B 6d0898c2a537a9bf204b7749cca5f5fddf280772b56eb7ce8fdd9cf7d71561137b26ef89f415c40277a1c89981333eef78e5bb4624515a294ba28fdaeb4c70ea SHA512 2a1b31ac9814af884640b3398ab824a9795c72d260527a0966b193113808cfbb3345d50cd1beaebb45863437c3d06c8706d34b26efecceefc649319a4bc274a3
DIST proc-macro2-1.0.101.crate 53886 BLAKE2B db566c4fb6a197e0aa45cc074310853eaa24ceeafe9fb91f2014ba47cf6b1cbc34e4e9391456c946587540c8e270e1a37f5195cf03bd15ea5d4f171bba9772db SHA512 3171c807d24371da2931f9c706fb3129bb9bf3ac40418e5d14cfc372baf96e5fee9ede72091163858e3ba0b4f88594efa1031b0bb7128ca68e7b847dead6856c
+DIST proc-macro2-1.0.106.crate 59765 BLAKE2B 87f95795621c4c992c370dc3a1240a2d5580e3362356525efe640f8f26ad0492b3c88755d575c080ff7db11376b0d82f31141bf6f86c895249b85e46c081220f SHA512 b726e2c92af434bfa88cd4f53c3fe6db647503567675fb439890dee3d15f5111137e3242b28d164114ce081c10acf3fd11950753ddb349190c87ee04e7d97744
DIST pyo3-0.26.0.crate 1151579 BLAKE2B bcc8236785502928bf4a0b7a320e0a8f3d6140c562de4351a52d015aaebb8dd6b4d68fe607c8ea13ec66941c8f01d2c18c4249adfacb521355d4bf158667f3a3 SHA512 e073a4d893f88aa0301ef0ead78048137515edd93c490e6dccbc301ff65a208534c65c1d216b04639d4b1ec1e4b69bc87bd34974e5d0659134c28dcce589c194
+DIST pyo3-0.29.0.crate 1241253 BLAKE2B 29deb7fa70010bf3d7e9e93bbcd87c0b56c4ee7ef0c2e5956181d2fb5f06f4c9b3f28bd1ad280126c26c048808b91b847e1fb69ddd617ef9e9e5e004cf4e48ae SHA512 e6822400de53ebcef4a14c899dc065abae621a126483873139f5eb850877c94f4bccee3a183d4e2a69eadcd3c3b82b0a6f3e1053d926b103be572329607f2f67
DIST pyo3-build-config-0.26.0.crate 34309 BLAKE2B 5ea8b51da2f425674cd3bfcc1090ffdd08da01d2161dc66b08995c20cc859422f9f84077c545e5a0580182910aeb9dbba97838915148a82b86948d1cca3c8722 SHA512 a982d0a0baa4af58c2cef7c0c4b2671e3f559ca7f30586eda9fbd05e842efa2bfea0089ddbc729225b848871f6a25f85e86576e1dff519192ba289cd92c6aa8b
+DIST pyo3-build-config-0.29.0.crate 39616 BLAKE2B 7b62a5976b890db84e5256f3136185c2a9c3b7110782b5b0cdc314a5231fde30a853ddcd17af63b53488b3e8d5e310b01002b6f3c32cfeb1e5c3e168cd6460d7 SHA512 df77e8d7d5fe173749437ff6b90fa1703083377d515ab8a85dc77d9cac9c3fc331ede4b040f7e3694311ddb5adff577cf90c181a27c196ab93a4569e918fdea8
DIST pyo3-ffi-0.26.0.crate 78247 BLAKE2B 65f1c399bc763bf8afc36ccac27d28242ebcccebd08ab8d9b3165ca5c9abb10f76e76fe5a250aa1e0cdc1d1e8a613160660f07bc0dbc2812675acb9dfc8e89c2 SHA512 91c2ae828e997dee5e48d839794727e94576228e9329c358a3bc77a59f8f37fa0ae6c2579229782b3f46ab90725844ce9194b9de4d3849d824adf1d40743bf7e
+DIST pyo3-ffi-0.29.0.crate 88184 BLAKE2B 5891af92a3bcba764c4701dcc0a99edbced010a5ac46df3217d004f5c3a368f18331733c6723bd49e522c6f7105455df13e2be0f07695ed5ce6ae71c15dec438 SHA512 baaf01d13ddc09316ba16b22e9ca15a67e5bda5b861ed7961c3393fd4692fc1c96952f81465d1dcb6531b9083f96c5630981b3d7802cb1ac2af67aafaffbec76
DIST pyo3-macros-0.26.0.crate 8906 BLAKE2B 60eef72d27b5bc922b75f71ae24bb6f380288cb3a619bf2940b0de47b27e86cce0ffdb1fbdc9c0540d3f15c9df4884497aa1e6efec0f1579ac722b414818a428 SHA512 07bcddba0926c3dff7629da3260f9a38593fbb337b6a68d55c223f5944d912885e5319cd635ae1785026fed4adea1fcc19695ae83aca5bea127c5a8868fd2c43
+DIST pyo3-macros-0.29.0.crate 8915 BLAKE2B c12d23753d5aba7333183d4b41f16c8da1d4297a3ff86b3b150e9185c1978fc184ac198e566a41833292a8a78ab59446eafd5ef7169e5cb41493e7cbeaa68280 SHA512 fb6633ac76229d2e0ad88d51136a9318f03823b27c700a62cfbc957b4c834985e2f4c0cdaf5ea5e9993ec9e8ce3d63cd6b3fb823f2a042e65186adbed78da7c2
DIST pyo3-macros-backend-0.26.0.crate 81809 BLAKE2B 73885035855daf00b001e97e0a5ebe09412d212c8f01aa4db6638ef09990bf1bccbacf2e5a7e6ec21929bb1c2beba06587ecdb6ee954eda9e9c51c6c276cea95 SHA512 4146011a8ef18ecaa44b425eebe6e5e1370945063b98aaa83452e57b66aefbf5d483367b1d4d44aa5091303c4ba7f568c6428ecec0cfa6c90ba41631d4e99367
+DIST pyo3-macros-backend-0.29.0.crate 91943 BLAKE2B 7c2977dd9c80f3dd1f5375b0c65492b46048ca02e6355ad746bc8430cf92eaf25c701f416469eb69724fde5220651b1095c09eb9e3ff860176f862d7c7287407 SHA512 13a7af3958c09969637827d97ab9bbc664c407dda9e4283afaf495757798cf6f84932468bc092160fa75211ce0aafe6efc657f3a390234d77a67362cfb31fe0f
DIST quote-1.0.41.crate 31408 BLAKE2B 9d496e0878fc329ac9492ecbd470e762bd807ec8ca4e17a856b4d1c776351434778f519977137a67b8c143ee60b20774c09768d480cff51b22f2cfcb364a20d9 SHA512 64374d70eb29f7d7e02e535ba383586d93f68a9b6464c79840fa6c42a1ac47be7ba14e415a40e158f845e486ed33d5c564c882913780d296360b30a56301ff7e
+DIST quote-1.0.45.crate 31564 BLAKE2B 1b2c2c3e6ebabfe10affa4c43ca0bfd1f52d8fd49e1df463e13e63a82de41272089c8e09e4c02e8a33cfee768ace26d4d42a50752de8fb5a776c59806139ad5d SHA512 df96ede01ebd0ed642b758bf1d0862d0e116fc2b3343e14edb657ce5438ccabe743dec4a0a40de4dee98c134d169af9aba459faadf9c7a832b26377e755d49b0
DIST syn-2.0.106.crate 301514 BLAKE2B 6b28b30ee067c23dc4bd1b38365d14c1700245c974e785173965b0822301966d642b36bdda25210d61f17a99fc71eb81e29a56c89d1649773908bae32778fb1f SHA512 e07e1058770fa3f1039eaf335340cefb597c0dd11bb90fec9fa777ca5815d0e0bb1711bb4db52cac77e205dd68fbe2bce0e1aa9895c2a52a1ea6d7758d13424c
+DIST syn-2.0.117.crate 306011 BLAKE2B bbaec02c4322f522bdfc87caa4ce6fd1e09bbf8f4a102d9ed8728efacdd843a2750f616dce5b2d3a3e46bbb7d57439fbd10e328bc1d4a01e980986cd815798af SHA512 035c2e63542592b6a4058a2a82d4c2c1f5793f84fb1b04cbd393337a26fcf661a1f3bea439ce98a1fe943b1c4d36d2bda16df3bbc3fa6ca35e1548d530dc8416
DIST target-lexicon-0.13.3.crate 28498 BLAKE2B 397315667737abde41949081f8377f704c3a1105790162249a9f0c08b60f012e67d66550e9063d900ac98f5191d13c5ed23d1a8045f99373e7a673a3cfc029e7 SHA512 23422df6edb2a8cb0a9f048864faf76ccb27d6e97fbed7b208b77206941b196f155896a0381150e387142e976439a0a296dcf4cbb4df6bc0e11c65f97f979443
+DIST target-lexicon-0.13.5.crate 26928 BLAKE2B f8c62cb91f68a635e6ce3fc254df9ce378b5e8f62c1147404c967484b9ed97fb33d7993b4671611db76566063e999d658d201f856f70196ec678d72cc758cf6d SHA512 956df27c01e1186c5356117ffd07810fc0b62fb919d5bfd215955ba85be00ef675212a3c0dc36679986be7b825442fec5c93c7643b7e1e19c04572e6463546fc
DIST unicode-ident-1.0.19.crate 47480 BLAKE2B d1b9d26833fcd1f3a8498abe2f4ba4202e4547315e48aa927c0f6e4a760c6c7000ff0c18d0cf45af362323c42843d745958c1b0419835f39e13dbc1559487026 SHA512 b17fcf6bffdb4745e0b1bf4983a0dcc4c84f8b4e2c2c618eefbbeae83f94ec75df87b55f9e2dede8c3b4c6e22107fcfc589475c0cbc2c58dfb8630db8d362183
+DIST unicode-ident-1.0.24.crate 49298 BLAKE2B 34ba2906a3ebc06f52a4ba77dff96a8f3fb977718d260886fa9e051c5830765641b65a63977110f3a79f31fa177b385f81b01d56c80f6a0324d36eae72e2ebf0 SHA512 7be712d8d0075ac9341790180e312f66264d3e0255c91b38df0951baa5e446dec24551bb2125a66a1cb9b6ca2f1ea37c0cc15fa3dd74f398ecf4d5302c7dc259
DIST unindent-0.2.4.crate 7422 BLAKE2B 2e7870cd4f78240dbb1e5fb9c0f9b55c57bb40242fe668f105a0e862f1d6300e31efbffe0cdff676a5f96a8d19dfb148f88bfef1cd8a710556d777fd0f4ee37f SHA512 58bd4fd20a0b0a7200e0ea3ea70553cea135a5a8f7a2fb178520c41228f435becce4b9981019b7c73a17df87a2ee9b2a47c4cec29a3011bfe848d48b2473761b
diff --git a/dev-python/patiencediff/patiencediff-0.2.19.ebuild b/dev-python/patiencediff/patiencediff-0.2.19.ebuild
new file mode 100644
index 000000000000..a502e3cf68fa
--- /dev/null
+++ b/dev-python/patiencediff/patiencediff-0.2.19.ebuild
@@ -0,0 +1,71 @@
+# Copyright 2021-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/breezy-team/patiencediff
+PYTHON_COMPAT=( python3_{13..14} )
+
+RUST_MIN_VER="1.83.0"
+CRATES="
+ heck@0.5.0
+ libc@0.2.186
+ once_cell@1.21.4
+ patiencediff@0.2.1
+ portable-atomic@1.13.1
+ proc-macro2@1.0.106
+ pyo3-build-config@0.29.0
+ pyo3-ffi@0.29.0
+ pyo3-macros-backend@0.29.0
+ pyo3-macros@0.29.0
+ pyo3@0.29.0
+ quote@1.0.45
+ syn@2.0.117
+ target-lexicon@0.13.5
+ unicode-ident@1.0.24
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Python implementation of the patiencediff algorithm"
+HOMEPAGE="
+ https://github.com/breezy-team/patiencediff/
+ https://pypi.org/project/patiencediff/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="GPL-2+"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0-with-LLVM-exceptions GPL-2+ Unicode-3.0
+ || ( Apache-2.0 MIT )
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+BDEPEND="
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/patiencediff/_patiencediff_rs.*.so"
+
+src_unpack() {
+ pypi_src_unpack
+ cargo_src_unpack
+}
+
+src_configure() {
+ # makes extension builds fatal
+ export CIBUILDWHEEL=1
+}
+
+python_test() {
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ eunittest
+}
diff --git a/dev-python/pbs-installer/Manifest b/dev-python/pbs-installer/Manifest
index 43d43b890e43..6575ddaaeb63 100644
--- a/dev-python/pbs-installer/Manifest
+++ b/dev-python/pbs-installer/Manifest
@@ -2,5 +2,7 @@ DIST pbs_installer-2026.5.10.tar.gz 72513 BLAKE2B c20f78d1e026c94b4f9a09036fde6e
DIST pbs_installer-2026.5.10.tar.gz.provenance 9932 BLAKE2B 3d366fd8f3306ce1e66c338bec1cb776b925ef37081366a946182ce68b3781b0ebca32eba55d29e36f734d1554b34486963116b2360d77693313a53fe78c3640 SHA512 c5394edb6f18fd767af548242ba97738e4a1e062d3467abb30060b7950b305e78895311811abb8389d247727f3eb2478c0efeaa6d1e6970c292c6c4ae7f95506
DIST pbs_installer-2026.5.8.tar.gz 71877 BLAKE2B b85346c84c7e2b8859c44a13e844f015feb6f77938c853aa2f31f6572e23bddc8f4fcff2c0a21c814f20517953ed0f273bd5f6cb2ce1bcca0eb20bad8c78e674 SHA512 e3c3fad7358af454c08e31132a74d77afcbb3400e71c31d87440b194e21f00ebb7c663732329e3f5cad224c99d46a84c6958451379c2f0751afe1b372328be0d
DIST pbs_installer-2026.5.8.tar.gz.provenance 9611 BLAKE2B e5191bb1aaf8f1d3cb427ebe6e27186eeac4392db5cdf4bfefdea45361ac490e198e3a30e8f66c42d2be6d317aba4ec477e5c6cebc4cd5d8889b9358cc37eb98 SHA512 d8e146b3939996443e87d1f9ee0814863c9d0274f5390868245bebdc7ac9f379d7fcbd69c6e6a9e65be68b3dc105b05263eae14745b5ad44fb9c23efd6d60fe8
+DIST pbs_installer-2026.6.10.tar.gz 73893 BLAKE2B 3af87ea1be1a7fc41059ae0b0b77ded24d6ab29439b5bc9a92f5c35e601a35aa10fcb18a756e34471e4dc135c4cee907a27436aa4f6df6b338ef1aa9f0027495 SHA512 88544fa5126e6f9ea259a74e8f8f6b1c6ba5cbc9bc7b586af05a561063c5950501e6a75923b60ea7e52f0b3686269ada6b8265fedeec7f143f158fb18061c9e8
+DIST pbs_installer-2026.6.10.tar.gz.provenance 9988 BLAKE2B f0a457eadcccb409dc78aa55018765a1a2d25034dd3ad5633bdf344c8ed78f7f2df4a537ae2d28b0c04ac7077c42800e971d9915bf3243f5bedfcf72e1d2ca68 SHA512 341494699b0398d7ff043132f4fdc1d52f5934c0d3a26fa550783735b7070fe66a0696858b79a67f26adfccff3c488ef504660a3585653f5505390d599a6e40d
DIST pbs_installer-2026.6.2.tar.gz 72505 BLAKE2B 631cc767640288849ca45b3c657f71345d4d26e5928c409750d8cea847a66313e232045fa04fc7da8f7c1507ea0cdb5d96f0f598f0e91de2675606a621461779 SHA512 39718058055ae3102187c4c0c58c913f6984841967e63fe3d81f65f2747fe1c6f54e337c076b7af1048d1b3911c2d75b1d6ca834d3820a4c6701a9257329cb03
DIST pbs_installer-2026.6.2.tar.gz.provenance 10047 BLAKE2B c4c1a314119d1447ae2a391f9a879d1dee14b93af7c7dde85040f484c4bb28a0bf2e12d7305cfa83d9c045785358eabf1220389bf4a2e5dcb78999801c232338 SHA512 2ce2939a90b7aa73c0a5dcac971ef7f8ec5c406c30f5084422216ef9af3ea5033f29ab606ef65ee42e965a615b33abc5d2c02d671cf48989c8a1318811ea605d
diff --git a/dev-python/pbs-installer/pbs-installer-2026.5.10.ebuild b/dev-python/pbs-installer/pbs-installer-2026.5.10.ebuild
index 5255989ad0b2..f3bc021d04f4 100644
--- a/dev-python/pbs-installer/pbs-installer-2026.5.10.ebuild
+++ b/dev-python/pbs-installer/pbs-installer-2026.5.10.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 ~x86"
# httpx is needed to download builds
# zstandard is needed to install them
diff --git a/dev-python/pbs-installer/pbs-installer-2026.6.10.ebuild b/dev-python/pbs-installer/pbs-installer-2026.6.10.ebuild
new file mode 100644
index 000000000000..5255989ad0b2
--- /dev/null
+++ b/dev-python/pbs-installer/pbs-installer-2026.6.10.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYPI_VERIFY_REPO=https://github.com/frostming/pbs-installer
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Installer for Python Build Standalone"
+HOMEPAGE="
+ https://pypi.org/project/pbs-installer/
+ https://github.com/frostming/pbs-installer/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+# httpx is needed to download builds
+# zstandard is needed to install them
+RDEPEND="
+ $(python_gen_cond_dep '
+ >=dev-python/backports-zstd-1.0.0[${PYTHON_USEDEP}]
+ ' 3.11 3.12 3.13)
+ <dev-python/httpx-1[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.27.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests import-check
diff --git a/dev-python/pdm-backend/Manifest b/dev-python/pdm-backend/Manifest
index 7ef7ed1f3a5d..4ca01b1d4fb5 100644
--- a/dev-python/pdm-backend/Manifest
+++ b/dev-python/pdm-backend/Manifest
@@ -1 +1,2 @@
DIST pdm-backend-2.4.8.gh.tar.gz 159228 BLAKE2B ddba89eab214262813cbe003f2793a5cd8edf03cf0650b7b4a625d2b6e54233cb63bd06e5f8ed4a47ca061e68d796d509555d53657fbb64b34ceaf2d48cf047c SHA512 ba5ff3926b3dfaa194b9faa2bb3727343aa36f28a60d5a33dc39d822900c0c650a39c34338c95f4c8ffaf1736aac24a215812ff5ea2c58e3e68cf2d431826c79
+DIST pdm-backend-2.4.9.gh.tar.gz 159329 BLAKE2B 869796a9f68971c050f93c0fce2dec2f6891d2df198cdfd5be5e514b9929c7ab1271daf1a343225a0de90c346c0d344343b75d9ed1625fecff4e12220c6bcad6 SHA512 69cc6669448dd36cf55bf5260fe9eaf28169b2dc5700648f6992ab29662adf97ba3febf1083aec4d1649fbd973f9c918afd0709784cedecd4b115b947bd7760e
diff --git a/dev-python/pdm-backend/pdm-backend-2.4.9.ebuild b/dev-python/pdm-backend/pdm-backend-2.4.9.ebuild
new file mode 100644
index 000000000000..c1c35dde58f6
--- /dev/null
+++ b/dev-python/pdm-backend/pdm-backend-2.4.9.ebuild
@@ -0,0 +1,78 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="A PEP 517 backend for PDM that supports PEP 621 metadata"
+HOMEPAGE="
+ https://pypi.org/project/pdm-backend/
+ https://github.com/pdm-project/pdm-backend/
+"
+SRC_URI="
+ https://github.com/pdm-project/pdm-backend/archive/${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"
+
+# see src/pdm/backend/_vendor/vendor.txt
+RDEPEND="
+ >=dev-python/editables-0.5[${PYTHON_USEDEP}]
+ >=dev-python/packaging-24.0[${PYTHON_USEDEP}]
+ >=dev-python/pyproject-metadata-0.9.0_beta7[${PYTHON_USEDEP}]
+ >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+# setuptools are used to build C extensions
+RDEPEND+="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # changes in editables or somewhere
+ tests/test_api.py::test_build_editable
+ tests/test_api.py::test_build_editable_src
+ tests/test_api.py::test_build_editable_pep420
+)
+
+src_prepare() {
+ rm -r src/pdm/backend/_vendor || die
+ find -name '*.py' -exec sed \
+ -e 's:from pdm\.backend\._vendor\.:from :' \
+ -e 's:from pdm\.backend\._vendor ::' \
+ -e 's:import pdm\.backend\._vendor\.:import :' \
+ -i {} + || die
+ distutils-r1_src_prepare
+}
+
+src_compile() {
+ # this must not be set during src_test()
+ local -x PDM_BUILD_SCM_VERSION=${PV}
+ distutils-r1_src_compile
+}
+
+src_test() {
+ git config --global user.email "test@example.com" || die
+ git config --global user.name "Test User" || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ epytest -k "not [hg"
+}
diff --git a/dev-python/pdm/Manifest b/dev-python/pdm/Manifest
index 1723b521393e..ccc0041d8459 100644
--- a/dev-python/pdm/Manifest
+++ b/dev-python/pdm/Manifest
@@ -1,2 +1 @@
-DIST pdm-2.26.9.tar.gz 2682146 BLAKE2B 8bf0a7071501e6fd2ebea650f62cda29352f6801c64ec34cd77ee62e2a74515d9368c0525572611cd13f00f75fc9e088309f984e793729120e5ba6d14340e972 SHA512 def7fb5a8312f597db661f62ed7a3a297075bbd6295e6eccd6e975df242c3f553b835c04ef1b5e2f3bbb49fdf6376b863ab2ae046d7d1bd84fb0830674091994
DIST pdm-2.27.0.tar.gz 2686064 BLAKE2B 4b970f08091548e2e5597f56f3cbf1e61b8ff941b96a3c28523c76a6c80dc9a4496c815f2b3f9bd50975ccb18912f84fc23b9e6a5e77c7b283901197e1ccc011 SHA512 f3828367a641bc9f9427d6348092bf92f6da73198dd41294c3e9c8de0108fd97d3388d887df69146f4474c3d48a79f36f41d7aad1f442b5d8eb69263646ced37
diff --git a/dev-python/pdm/pdm-2.26.9.ebuild b/dev-python/pdm/pdm-2.26.9.ebuild
deleted file mode 100644
index b0c09a56d577..000000000000
--- a/dev-python/pdm/pdm-2.26.9.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 2023-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pdm-backend
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python package and dependency manager supporting the latest PEP standards"
-HOMEPAGE="
- https://pdm-project.org/
- https://github.com/pdm-project/pdm/
- https://pypi.org/project/pdm/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- dev-python/certifi[${PYTHON_USEDEP}]
- >=dev-python/dep-logic-0.5[${PYTHON_USEDEP}]
- <dev-python/findpython-1[${PYTHON_USEDEP}]
- >=dev-python/findpython-0.7.0[${PYTHON_USEDEP}]
- dev-python/blinker[${PYTHON_USEDEP}]
- dev-python/filelock[${PYTHON_USEDEP}]
- >=dev-python/hishel-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/httpcore-1.0.6[${PYTHON_USEDEP}]
- dev-python/httpx[${PYTHON_USEDEP}]
- >=dev-python/id-1.5.0[${PYTHON_USEDEP}]
- dev-python/installer[${PYTHON_USEDEP}]
- >=dev-python/packaging-22.1[${PYTHON_USEDEP}]
- >=dev-python/pbs-installer-2025.10.07[${PYTHON_USEDEP}]
- dev-python/platformdirs[${PYTHON_USEDEP}]
- dev-python/pyproject-hooks[${PYTHON_USEDEP}]
- dev-python/python-dotenv[${PYTHON_USEDEP}]
- >=dev-python/resolvelib-1.2.0[${PYTHON_USEDEP}]
- dev-python/rich[${PYTHON_USEDEP}]
- dev-python/shellingham[${PYTHON_USEDEP}]
- dev-python/tomlkit[${PYTHON_USEDEP}]
- >=dev-python/truststore-0.10.4[${PYTHON_USEDEP}]
- >=dev-python/unearth-0.17.5[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
- test? (
- dev-python/msgpack[${PYTHON_USEDEP}]
- dev-python/uv
- )
-"
-
-EPYTEST_PLUGINS=( pytest-{httpserver,httpx,mock,rerunfailures} )
-EPYTEST_RERUNS=5
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # unpin deps
- sed -i -e 's:,<[0-9.a]*::' pyproject.toml || die
- # remove pkgutil namespace magic, as it doesn't work and makes
- # dev-python/pdm-backend tests test the wrong package
- rm src/pdm/__init__.py || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Internet
- 'tests/models/test_candidates.py::test_expand_project_root_in_url[demo @ file:///${PROJECT_ROOT}/tests/fixtures/artifacts/demo-0.0.1.tar.gz]'
- # unhappy about extra packages being installed?
- # (also fails randomly in venv)
- tests/cli/test_build.py::test_build_with_no_isolation
- # TODO: random regression?
- tests/cli/test_python.py::test_find_python
- # TODO
- tests/test_formats.py::test_export_from_pylock_not_empty
- )
-
- epytest -m "not network and not integration and not path"
-}
diff --git a/dev-python/peewee/Manifest b/dev-python/peewee/Manifest
index f7506271107e..075d8b4c9645 100644
--- a/dev-python/peewee/Manifest
+++ b/dev-python/peewee/Manifest
@@ -1,2 +1,5 @@
DIST peewee-4.0.5.gh.tar.gz 957569 BLAKE2B e2a8a37cf23c78975f7c98853b4ee6f34cb213a8736e13cbef48f30711e31bacf231dfa0591b1b38a51ce553b362d8dded33a43521b7ee21695daa2360474a53 SHA512 7292c6dc5211a0ffc46911b5f160db059921d02349b0c039f52463a2f9d1aa69b2b419270955b005dfcce645ac91790fbf9dc6c9bb980a464708a1b9801a5460
DIST peewee-4.0.6.gh.tar.gz 963861 BLAKE2B 4f1edded4a1e708ec2bf04b2af42b3fabe04124394e3acc4d49517768778cb06e225d6a0f8d249f947a9ca4a7f062e5e484c8e8169aac33acd026632f5219e08 SHA512 2bc67a655ccd5a38c76b941dcc4a5b66c6668381b20e6423afaa29709fa5ee8154b2ab18091da815ef60104ccd0402e911b9c7ef01c0b29a4246796167b984a2
+DIST peewee-4.0.7.gh.tar.gz 990613 BLAKE2B cec728c18d5be72b04cf82f9f0b58a7aa1de4bc7b8ff1b49ac543210e50f91ebf51c39d16315aed7c183e20dcb21a4c3e4a093d52bd8f05aaf1db90affefcafa SHA512 6e57b4cb98e68eb1a046c2ca9a58a3f07641b4c7a1ec3c8db23e97b199d2c61971178a3abbb9d7893e8f73ce83808124fdfa821a427ace116df826f1bd9000d3
+DIST peewee-4.0.8.gh.tar.gz 1001592 BLAKE2B 4b2328fa31aab3315511ce4320008d56e51882c041a15f4ec5e4732fd4c72e2a5c98346b4e515619d2cde056d030e52e76a128db31e00b985b6ed6aa19623166 SHA512 2c9ee4d98f4e63eeb4ec1a28762a32efe41c506fd7437667325a65c73cad821c35d18faad8da5a30f8dde25af88f4f6431cc73858c735468be3837e675fa46d0
+DIST peewee-4.0.9.gh.tar.gz 1002262 BLAKE2B 456af69c3d57d2e8344080cf40845163c9d0a9bd6b4a418940adc28ed388aea7faad8e3759973b23fcc8fb0e27e6a88c40b953081825f8a7acf6f8eb64c91894 SHA512 dd68b9e38dca84eff67c90f1f78cd6d59713c18b73faa8e2a36fa1b343e2e1f154a0dd57415803b763fd7368a151eb08c30312c72d1c2db665f7941a99a0ad8c
diff --git a/dev-python/peewee/peewee-4.0.7.ebuild b/dev-python/peewee/peewee-4.0.7.ebuild
new file mode 100644
index 000000000000..354b1a91f483
--- /dev/null
+++ b/dev-python/peewee/peewee-4.0.7.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2026 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_{13..14} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1
+
+DESCRIPTION="Small Python ORM"
+HOMEPAGE="
+ https://github.com/coleifer/peewee/
+ https://pypi.org/project/peewee/
+"
+SRC_URI="
+ https://github.com/coleifer/peewee/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+IUSE="examples +native-extensions test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ native-extensions? ( dev-db/sqlite:3= )
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ native-extensions? (
+ dev-python/cython[${PYTHON_USEDEP}]
+ )
+ test? (
+ dev-db/postgresql
+ dev-python/psycopg:0[${PYTHON_USEDEP}]
+ sys-libs/timezone-data
+ )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-rtd-theme
+
+src_prepare() {
+ default
+
+ # disable test failing on postgres 16
+ sed -e 's/test_timeout/_&/' -i tests/sqliteq.py || die
+}
+
+src_compile() {
+ if ! use native-extensions; then
+ local -x NO_SQLITE=1
+ fi
+
+ distutils-r1_src_compile
+}
+
+src_test() {
+ initdb -D "${T}"/pgsql || die
+ pg_ctl -w -D "${T}"/pgsql start -o "-h '' -k '${T}'" || die
+ createdb -h "${T}" peewee_test || die
+ psql -h "${T}" peewee_test -c 'create extension hstore;' || die
+
+ local -x PEEWEE_PSQL_HOST="${T}"
+ distutils-r1_src_test
+
+ pg_ctl -w -D "${T}"/pgsql stop || die
+}
+
+python_test() {
+ "${EPYTHON}" runtests.py -v 2 || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && DOCS=( examples/ )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/peewee/peewee-4.0.8.ebuild b/dev-python/peewee/peewee-4.0.8.ebuild
new file mode 100644
index 000000000000..354b1a91f483
--- /dev/null
+++ b/dev-python/peewee/peewee-4.0.8.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2026 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_{13..14} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1
+
+DESCRIPTION="Small Python ORM"
+HOMEPAGE="
+ https://github.com/coleifer/peewee/
+ https://pypi.org/project/peewee/
+"
+SRC_URI="
+ https://github.com/coleifer/peewee/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+IUSE="examples +native-extensions test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ native-extensions? ( dev-db/sqlite:3= )
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ native-extensions? (
+ dev-python/cython[${PYTHON_USEDEP}]
+ )
+ test? (
+ dev-db/postgresql
+ dev-python/psycopg:0[${PYTHON_USEDEP}]
+ sys-libs/timezone-data
+ )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-rtd-theme
+
+src_prepare() {
+ default
+
+ # disable test failing on postgres 16
+ sed -e 's/test_timeout/_&/' -i tests/sqliteq.py || die
+}
+
+src_compile() {
+ if ! use native-extensions; then
+ local -x NO_SQLITE=1
+ fi
+
+ distutils-r1_src_compile
+}
+
+src_test() {
+ initdb -D "${T}"/pgsql || die
+ pg_ctl -w -D "${T}"/pgsql start -o "-h '' -k '${T}'" || die
+ createdb -h "${T}" peewee_test || die
+ psql -h "${T}" peewee_test -c 'create extension hstore;' || die
+
+ local -x PEEWEE_PSQL_HOST="${T}"
+ distutils-r1_src_test
+
+ pg_ctl -w -D "${T}"/pgsql stop || die
+}
+
+python_test() {
+ "${EPYTHON}" runtests.py -v 2 || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && DOCS=( examples/ )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/peewee/peewee-4.0.9.ebuild b/dev-python/peewee/peewee-4.0.9.ebuild
new file mode 100644
index 000000000000..354b1a91f483
--- /dev/null
+++ b/dev-python/peewee/peewee-4.0.9.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2026 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_{13..14} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1
+
+DESCRIPTION="Small Python ORM"
+HOMEPAGE="
+ https://github.com/coleifer/peewee/
+ https://pypi.org/project/peewee/
+"
+SRC_URI="
+ https://github.com/coleifer/peewee/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+IUSE="examples +native-extensions test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ native-extensions? ( dev-db/sqlite:3= )
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ native-extensions? (
+ dev-python/cython[${PYTHON_USEDEP}]
+ )
+ test? (
+ dev-db/postgresql
+ dev-python/psycopg:0[${PYTHON_USEDEP}]
+ sys-libs/timezone-data
+ )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-rtd-theme
+
+src_prepare() {
+ default
+
+ # disable test failing on postgres 16
+ sed -e 's/test_timeout/_&/' -i tests/sqliteq.py || die
+}
+
+src_compile() {
+ if ! use native-extensions; then
+ local -x NO_SQLITE=1
+ fi
+
+ distutils-r1_src_compile
+}
+
+src_test() {
+ initdb -D "${T}"/pgsql || die
+ pg_ctl -w -D "${T}"/pgsql start -o "-h '' -k '${T}'" || die
+ createdb -h "${T}" peewee_test || die
+ psql -h "${T}" peewee_test -c 'create extension hstore;' || die
+
+ local -x PEEWEE_PSQL_HOST="${T}"
+ distutils-r1_src_test
+
+ pg_ctl -w -D "${T}"/pgsql stop || die
+}
+
+python_test() {
+ "${EPYTHON}" runtests.py -v 2 || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && DOCS=( examples/ )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pelican-minify/Manifest b/dev-python/pelican-minify/Manifest
index 4a220c93ef22..74178841cd8b 100644
--- a/dev-python/pelican-minify/Manifest
+++ b/dev-python/pelican-minify/Manifest
@@ -1,3 +1,2 @@
-DIST pelican_minify-2.0.0.tar.gz 9566 BLAKE2B 2345f9b053a4b79fbeba9741b4eb64d5d490d455bc25f869e6479ceca951c64d88aa962ef28a04a39c480299882a6c5354c2b4b4c221e64f3281987dda20bd10 SHA512 bcf6cd497fc8c42d9a63b869f04a7bcec6a115ed52698ae9cac5e117d075b16dee904173a577f793f4e74367527d8841d9e6db69e4a2ba70bb79434e4a776c34
DIST pelican_minify-2.0.2.tar.gz 6355 BLAKE2B fdbb7e01004c8134c62427e339c89698c5538b759be442844a3302eeb7bfc02b794fa6d8745cf594c28b6a450e0192959d51efb61a73c7b7eb2ebaf4b18d8450 SHA512 8032abf559c80c2e1bca22588a619a4c5b56095ef7378628a6ffc721872bfcb9bd31dc66c2803ba7ae8db55b6485963b027ef8b8dfa7492f0d2902d516fbe804
DIST pelican_minify-2.0.2.tar.gz.provenance 9450 BLAKE2B 979819b2bdfed6917b950417b2295ca2cafab737b07a221281ccfff96d5bd9d13e9a58fe65d334c8e71157c688410383798ef235cead251ffb2186bc21cef7d5 SHA512 4472393eb97fca7bbedb24ae91ba1604d247dd66b0d972c5d688e83a22f877ab3bac78e09c1345fd8f9ba39e77eee1e43c4f9f808d5ee576df10f1ede1a8b71b
diff --git a/dev-python/pelican-minify/files/pelican-minify-2.0.0-hatchling.patch b/dev-python/pelican-minify/files/pelican-minify-2.0.0-hatchling.patch
deleted file mode 100644
index 96de2470e68e..000000000000
--- a/dev-python/pelican-minify/files/pelican-minify-2.0.0-hatchling.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 222b4c97f75f5dc426419bc1ffa45f8015af2e64 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Fri, 15 Dec 2023 10:01:22 +0100
-Subject: [PATCH] Fix install with hatchling >= 1.19.0
-
-Explicitly specify the top-level package name in order to fix installing
-with hatchling >= 1.19.0. These new versions default to installing
-packages that match the project name only, and fail if one cannot
-be found.
----
- pyproject.toml | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/pyproject.toml b/pyproject.toml
-index 98926f2..ef390de 100644
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -110,3 +110,6 @@ known-first-party = ["pelican"]
- [build-system]
- requires = ["hatchling"]
- build-backend = "hatchling.build"
-+
-+[tool.hatch.build.targets.wheel]
-+packages = ["pelican"]
diff --git a/dev-python/pelican-minify/pelican-minify-2.0.0.ebuild b/dev-python/pelican-minify/pelican-minify-2.0.0.ebuild
deleted file mode 100644
index 89434052a888..000000000000
--- a/dev-python/pelican-minify/pelican-minify-2.0.0.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_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="An HTML minification plugin for Pelican, the static site generator"
-HOMEPAGE="
- https://github.com/pelican-plugins/minify/
- https://pypi.org/project/pelican-minify/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- >=app-text/pelican-4.5[${PYTHON_USEDEP}]
- >=dev-python/minify-html-0.10.8[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- # https://github.com/pelican-plugins/minify/pull/3
- "${FILESDIR}/${P}-hatchling.patch"
-)
diff --git a/dev-python/phonenumbers/Manifest b/dev-python/phonenumbers/Manifest
index 71313f0451d2..ec12eb748602 100644
--- a/dev-python/phonenumbers/Manifest
+++ b/dev-python/phonenumbers/Manifest
@@ -1,3 +1,3 @@
-DIST phonenumbers-9.0.29.tar.gz 2300063 BLAKE2B 1cdd4722f2996a04d7ff86a01e24a27caff544223c0544b89654dee9c5f0562b78e10956d8c881c2770aad90cd0dca75caae4c86003305fe1aff2ccb04460145 SHA512 88999b96686eb3e44f5039cc61b73e6746be1206094996c03fa9f6a41b157bc54689122a5aa6a390af2db01a1d43ee3acc2e73458fd6b41db30a6dbcb95790a9
DIST phonenumbers-9.0.30.tar.gz 2306521 BLAKE2B 53ad196cf1a55dce9020cb173a12becf7df80b5b425134ef94a25d12ff4a7ae35492f6180ac058c508ade08a24625f24cd7773f4a67adb5af8ae0a405fc0195f SHA512 d687b0d4e4bdbd0c0d63d9c2e5574deb4b529c6eacd5ba5c0acbe6fd84bad86780e7569fc5a315b3f96749e4cc9afc4fb8531b2017485d1de4fd31c292748f8f
DIST phonenumbers-9.0.31.tar.gz 2306679 BLAKE2B b1ce7eaf25f1c9738cb49360c0db4eeb544f383604d3472eff3c4112a215d0dfd61a2e34aa263380b54abf40cc2fe5a129999050fc66d71ae259d80688e86ea2 SHA512 855929204dac672e3e956568d93c7b86e49489efa9a5ef7142e45b98234738483c78a0ea31fc9662cda570fc347cf6e8ce041360ec670121d51d53acd2dbc3ff
+DIST phonenumbers-9.0.32.tar.gz 2306598 BLAKE2B 09d335aa32d96fa73b405bc8cc3d3f8064f09fe816c099d210988f510bef1d892f8a4ab407ab9afc3fb0abde50dca2cb9eedf0ee4310a5a328c827c01b74fa3f SHA512 22a5be30c34fdd0cad9b0daf1a9965f9caeeb3c7457f5ff4504d69a4d7a58eab88e698a403e83ae8bb8ef6baa6d7bb5095b944a50b1065ed1c97c3c99d57302f
diff --git a/dev-python/phonenumbers/phonenumbers-9.0.30.ebuild b/dev-python/phonenumbers/phonenumbers-9.0.30.ebuild
index de79c2ad9678..ca291505d9f2 100644
--- a/dev-python/phonenumbers/phonenumbers-9.0.30.ebuild
+++ b/dev-python/phonenumbers/phonenumbers-9.0.30.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
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/phonenumbers/phonenumbers-9.0.29.ebuild b/dev-python/phonenumbers/phonenumbers-9.0.32.ebuild
index ca291505d9f2..de79c2ad9678 100644
--- a/dev-python/phonenumbers/phonenumbers-9.0.29.ebuild
+++ b/dev-python/phonenumbers/phonenumbers-9.0.32.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
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/pika/Manifest b/dev-python/pika/Manifest
index 39e6dff3b91b..6528b8eab09a 100644
--- a/dev-python/pika/Manifest
+++ b/dev-python/pika/Manifest
@@ -1,2 +1 @@
-DIST pika-1.3.2.gh.tar.gz 323647 BLAKE2B 30cd1154bd35708a29a924d6f0f646ebdd3737745ba588e5d56fd2ae6b2a138005352475b346738b5eea66adadedb0c50fa9411f659c4f6c6b81bc9bf048c7fb SHA512 86c1c33db808274052cbe18af68bef685fafa260f692d16dcd3ce6259107c343ebdd3482713a7948583566581defa6037f3344d03b11c50458432d044d8b2057
DIST pika-1.4.1.gh.tar.gz 337544 BLAKE2B e6c402cfefd08e1667de322d3ed6190cafb2abbd18e6e95876528390a9ff92592b7d95db5d2a08e6d1ebd3b112252c0f223d77a1c9542ba9259f0e6bcf670ae5 SHA512 6a40eeb17bb8687648c3c0b2bb791421c1af7275b92e94514adb3d4a5f58743d789616e9de447518f16b57cae9ef37c1e44b841a7239059a564a3a7ef6be5455
diff --git a/dev-python/pika/pika-1.3.2.ebuild b/dev-python/pika/pika-1.3.2.ebuild
deleted file mode 100644
index ef54bc76a6dd..000000000000
--- a/dev-python/pika/pika-1.3.2.ebuild
+++ /dev/null
@@ -1,63 +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_{13..14} )
-inherit distutils-r1
-
-DESCRIPTION="Pure-Python implementation of the AMQP"
-HOMEPAGE="
- https://pika.readthedocs.io/
- https://github.com/pika/pika/
- https://pypi.org/project/pika/
-"
-SRC_URI="https://github.com/pika/pika/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="test"
-RESTRICT="test !test? ( test )"
-PROPERTIES="test_network"
-
-BDEPEND="
- test? (
- dev-python/nose2[${PYTHON_USEDEP}]
- dev-python/twisted[${PYTHON_USEDEP}]
- dev-python/tornado[${PYTHON_USEDEP}]
- net-misc/rabbitmq-server
- )
-"
-
-src_prepare() {
- sed -e 's/test_with_gevent/_&/' -i tests/base/async_test_base.py || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- nose2 -v || die "Tests failed with ${EPYTHON}"
-}
-
-src_test() {
- einfo "Starting rabbitmq"
- local -x RABBITMQ_LOG_BASE="${T}/rabbitmq/log"
- local -x RABBITMQ_MNESIA_BASE="${T}/rabbitmq/mnesia"
- local -x RABBITMQ_LOGS="${T}/rabbitmq.log"
- local -x RABBITMQ_PID_FILE="${T}/rabbitmq.pid"
- local -x RABBITMQ_ENABLED_PLUGINS_FILE="${T}/rabbitmq/enabled_plugins"
- /usr/libexec/rabbitmq/rabbitmq-server -p 5672:5672 &
-
- einfo "Waiting for rabbitmq to fully load"
- while ! { echo >/dev/tcp/localhost/5672 ; } &> /dev/null; do
- sleep 1
- done
- einfo "rabbitmq is ready"
-
- distutils-r1_src_test
-
- einfo "Stopping rabbitmq"
- kill "$(<"${RABBITMQ_PID_FILE}")" || die
-}
diff --git a/dev-python/pikepdf/Manifest b/dev-python/pikepdf/Manifest
index 668a42645b9a..f80cb88d3291 100644
--- a/dev-python/pikepdf/Manifest
+++ b/dev-python/pikepdf/Manifest
@@ -6,3 +6,7 @@ DIST pikepdf-10.7.1.tar.gz 23663665 BLAKE2B d709e1702083e1ba1f01be22ceb44cfb82a1
DIST pikepdf-10.7.1.tar.gz.provenance 9594 BLAKE2B a8a3da707c87763b6564ab5b73dcc6b2d7f06cec79eb0c1920f121eb610ab20d9ca3e0c2ce29a9e455f03d9d09dfb7fa7f9996dcbea1e21d9938fba40bd29111 SHA512 b99edccb87bdb8b6e6bda75bf909705579d374be3961aef263a38beec21103d398609d5406bd0bf3be16c071672d894816cea05a6e4298bb869d4e5c8ed25cda
DIST pikepdf-10.7.2.tar.gz 23666284 BLAKE2B 7d672f82b936fcd64b1b9bc050915060e18dc7947f63204d4571ae339d50c8a4fc772c8e0d109522757b53721ee1edef6a89ddda90149abdd75ef41d8b703489 SHA512 b70c132e3e3d2101641eaf5dfa01bca3f2d2644116e132ec5b6e27dbc43ad4c5ca010ef93e66691a38579169d1c70dc0c8bacf6a03403a9d16d1871e22c66294
DIST pikepdf-10.7.2.tar.gz.provenance 9488 BLAKE2B af2c4d084af56131a2566623956a6f5877a6de681e5070244897ba4cee50d27db3a8133983ae4e73a935da82b838f79c05678740faf0873fa11db8b992317ce7 SHA512 090801470f8cf89be26b9723c6dadcced0e475de6a7a3667fc215bd76552a8459b52889124c62fa65da57beee54d8b56bff4cc12bca89fdec8a0079df42b1be5
+DIST pikepdf-10.7.3.tar.gz 23669571 BLAKE2B 837ba311d77a1da30e83afad86c6911500766b5c006ebbdd346a15efbceba0107083e572d79ff836534d071912000907d61a60e95dccb9a45d6e205aa65d228b SHA512 7b9c1e15a792e6c01bde0d9bee342f1be9023081b2b43e44e6d7ab37485db5b3542d9813344e9b24e3f8ceea17a5cb75e25af1943ab738a54f362f52e05cc6f7
+DIST pikepdf-10.7.3.tar.gz.provenance 9606 BLAKE2B 659e899c3852ba81d8c36d1e5f0078e9b5143e0043e9d06301642a6751db9fa9369e97a854ccdc99cdb728ead0ae2db02fbfaf12f2a19823c9c26ac59ca58b20 SHA512 a6a2711a864412dc50757a234ca00873f7acfc75d8e24cdbef181765260ad1ee02d247eb017adb7f64109aec2d63404e5c261348bad6e818f05748c581b479a9
+DIST pikepdf-10.8.0.tar.gz 23700828 BLAKE2B a7ba70ac8e644b0bc8c891f253a4117f8af617fbdf9dfa9e3f8d73532cab52d5756885c8a46b3212c2e916583a825cb7152f41b89c9bd485e5f8ee0aff661488 SHA512 315097512d4235685cd977578fb3f60612eaeadb368705b00374e021c6322863665d88550b938d5c1777c3dc7158a5351899cb3a799052aa8739c199d54d11d5
+DIST pikepdf-10.8.0.tar.gz.provenance 9759 BLAKE2B 4a156321b2b7c723a81f02f4f9827b5ba7a97a5e6ed2935b1c35075f0f06a6ed567dca70072cf0b0b8deba1387575d27a80816afb4718f127069ef13898e1819 SHA512 f1b1661d30a95a49eb948b5b008476e952d9b16d9485a87bbb7403a2e269d42adb79f04c0703da8df3f3b722a27fb35df38c9e8748ea2b97c65ca96859029c45
diff --git a/dev-python/pikepdf/pikepdf-10.6.0.ebuild b/dev-python/pikepdf/pikepdf-10.6.0.ebuild
index fc9cdb72eb4c..4b96fb8ce2e7 100644
--- a/dev-python/pikepdf/pikepdf-10.6.0.ebuild
+++ b/dev-python/pikepdf/pikepdf-10.6.0.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="MPL-2.0"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~ppc ~ppc64 ~riscv ~s390 x86"
IUSE="big-endian"
# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
diff --git a/dev-python/pikepdf/pikepdf-10.7.3.ebuild b/dev-python/pikepdf/pikepdf-10.7.3.ebuild
new file mode 100644
index 000000000000..634c4f07cb5a
--- /dev/null
+++ b/dev-python/pikepdf/pikepdf-10.7.3.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=scikit-build-core
+PYPI_VERIFY_REPO=https://github.com/pikepdf/pikepdf
+PYTHON_COMPAT=( python3_{13..14} )
+
+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 ~ppc ~ppc64 ~riscv ~s390 ~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-12.2.0:0=
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/pillow-10.0.1[lcms,${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/nanobind-2.0[${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
+ # remove bundled qpdf
+ rm -rf qpdf || die
+}
diff --git a/dev-python/pikepdf/pikepdf-10.8.0.ebuild b/dev-python/pikepdf/pikepdf-10.8.0.ebuild
new file mode 100644
index 000000000000..634c4f07cb5a
--- /dev/null
+++ b/dev-python/pikepdf/pikepdf-10.8.0.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=scikit-build-core
+PYPI_VERIFY_REPO=https://github.com/pikepdf/pikepdf
+PYTHON_COMPAT=( python3_{13..14} )
+
+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 ~ppc ~ppc64 ~riscv ~s390 ~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-12.2.0:0=
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/pillow-10.0.1[lcms,${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/nanobind-2.0[${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
+ # remove bundled qpdf
+ rm -rf qpdf || die
+}
diff --git a/dev-python/pillow-heif/Manifest b/dev-python/pillow-heif/Manifest
index 6227aa5bba62..bf0b7776e9a4 100644
--- a/dev-python/pillow-heif/Manifest
+++ b/dev-python/pillow-heif/Manifest
@@ -1,2 +1 @@
-DIST pillow_heif-1.2.0.tar.gz 17128367 BLAKE2B 93cc8f38b4d8591f3e641fab8535465c59614f5db53a68ea993c0ac7ba6ffcd940b101278a00c4f321444741d3896784cb998f9da471ff8fcaf8dd7f4d6da5ed SHA512 3dbdb33d5b0aab9607cc7e863ff7737de1c9c4f7cd1e476a78ac4735dd677dd00f96ada4c0de13fe2166a7951718b369561656b46d8fbfeb3d96b3b96b8f7c50
-DIST pillow_heif-1.2.1.tar.gz 17128668 BLAKE2B 38056ed465547ae7e7f8425ab25f15197aca0a22569e9175a5e9eb963ddc6ddf686ba62e119cc72579e5f3a816eca95b87154f7ff8a1313cbd9b665c73b55df3 SHA512 444311a16dadcb5099fb49a9f7e298933f6488e53b70fae536ae89dfc93f447e1c3bdf59eb84f3aff517ea5922547e93bc08dfb22beabd425db8eb24caf46550
+DIST pillow_heif-1.3.0.tar.gz 17133211 BLAKE2B d0f4d63a7d5f1b4ef8b1e11e1c9a1b597bff1fa97466e8a6f1b8c51b5a83d24f7e044f604574ff40b463a71ca28f4953e04e19a0e76f89dda6aa92d883adeb25 SHA512 1e82f99b44da4f1f17161050882df1ddd6953c49c6f3e236c09c972c20a3b378cbca7e3152eba7a96538a66069ce860fdde28d3fe61f81763560e45072cfdafc
diff --git a/dev-python/pillow-heif/pillow-heif-1.2.1.ebuild b/dev-python/pillow-heif/pillow-heif-1.2.1.ebuild
deleted file mode 100644
index 9c34c9312712..000000000000
--- a/dev-python/pillow-heif/pillow-heif-1.2.1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2024-2026 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_{13..14} )
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python interface for libheif library"
-HOMEPAGE="
- https://github.com/bigcat88/pillow_heif
- https://pypi.org/project/pillow-heif/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/pillow[${PYTHON_USEDEP}]
- >=media-libs/libheif-1.19.5:=
-"
-BDEPEND="
- test? (
- dev-python/defusedxml[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pillow[jpeg,lcms,webp,zlib,${PYTHON_USEDEP}]
- >=media-libs/libheif-1.19.5:=[x265]
- media-libs/opencv[png,python,${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=( "${FILESDIR}/${PN}-0.21.0-respect-cflags.patch" )
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
diff --git a/dev-python/pillow-heif/pillow-heif-1.2.0.ebuild b/dev-python/pillow-heif/pillow-heif-1.3.0.ebuild
index 9c34c9312712..9c34c9312712 100644
--- a/dev-python/pillow-heif/pillow-heif-1.2.0.ebuild
+++ b/dev-python/pillow-heif/pillow-heif-1.3.0.ebuild
diff --git a/dev-python/pillow/pillow-12.2.0-r1.ebuild b/dev-python/pillow/pillow-12.2.0-r1.ebuild
index 1c2fdd355930..25b890b693c8 100644
--- a/dev-python/pillow/pillow-12.2.0-r1.ebuild
+++ b/dev-python/pillow/pillow-12.2.0-r1.ebuild
@@ -35,7 +35,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="HPND"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm64 ~ppc ~riscv ~x86"
+KEYWORDS="~alpha amd64 arm64 ppc ~riscv x86"
IUSE="avif examples imagequant +jpeg jpeg2k lcms raqm test tiff tk truetype webp xcb zlib"
REQUIRED_USE="
raqm? ( truetype )
diff --git a/dev-python/plotly/Manifest b/dev-python/plotly/Manifest
index c7b09016c7dc..66a6f82836bc 100644
--- a/dev-python/plotly/Manifest
+++ b/dev-python/plotly/Manifest
@@ -1,2 +1 @@
-DIST plotly.py-6.7.0.gh.tar.gz 10364351 BLAKE2B 335dcabc60048651d6e356bbb59320977989be15d5ea33d03e6ff2b2f5c19d0774679fccbe7da442287ee1dd94cfba14beb2f40fd538f13ffde3acf56839346a SHA512 ad651e9a79be30bb9123f2fd26d8847eba7cc7168924af5237c495352749bebd12c823e5294865ad9aca69ccaeb4636baa1f82b4bcc39b747a02b9b58c52da5d
DIST plotly.py-6.8.0.gh.tar.gz 10539690 BLAKE2B d76f29669cc393bc8e842a95182f876b15d869cf75dff6ecdd7c4bc01de2239f6d3bcecf2e2a29171fead59e1cbac38820caa7ad9632b3b8d9fda4cbba528be0 SHA512 8be8a6f2cd6ba94bc18130524853679ce8f58d3b220eed06e508dc147209e94df51da68a9b8934288caddcbdf82ef93c3b50ad9c563a7298726383634c7e5ec4
diff --git a/dev-python/plotly/plotly-6.7.0-r1.ebuild b/dev-python/plotly/plotly-6.7.0-r1.ebuild
deleted file mode 100644
index 8e0e8fb4c131..000000000000
--- a/dev-python/plotly/plotly-6.7.0-r1.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{13..14} )
-DISTUTILS_USE_PEP517=hatchling
-
-inherit distutils-r1
-
-MY_P=plotly.py-${PV/_}
-DESCRIPTION="Browser-based graphing library for Python"
-HOMEPAGE="
- https://plotly.com/python/
- https://github.com/plotly/plotly.py/
- https://pypi.org/project/plotly/
-"
-SRC_URI="
- https://github.com/plotly/plotly.py/archive/refs/tags/v${PV/_}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}"
-# The tests are not included in the PyPI tarball, to use the GitHub tarball
-# we have to skip npm, which means that the resulting install will
-# unfortunately lack the jupyterlab extension.
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- >=dev-python/narwhals-1.15.1[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/jupyter[${PYTHON_USEDEP}]
- dev-python/jupyterlab[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/scikit-image[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/statsmodels[${PYTHON_USEDEP}]
- dev-python/xarray[${PYTHON_USEDEP}]
- )
-"
-
-# There are sphinx docs but we are missing a bunch of dependencies.
-# distutils_enable_sphinx ../../../doc/apidoc
-
-EPYTEST_PLUGINS=()
-# xdist is causing pretty nasty race conditions here
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # requires polars
- tests/test_optional/test_px
-
- # requires kaleido
- tests/test_optional/test_kaleido/test_kaleido.py
-)
-
-EPYTEST_DESELECT=(
- # requires polars
- 'tests/test_plotly_utils/validators/test_fig_deepcopy.py::test_deepcopy_dataframe[polars]'
-
- # require anywidgets
- 'tests/test_io/test_to_from_json.py::test_from_json_output_type[FigureWidget-FigureWidget0]'
- 'tests/test_io/test_to_from_json.py::test_from_json_output_type[FigureWidget-FigureWidget1]'
- 'tests/test_io/test_to_from_json.py::test_read_json_from_filelike[FigureWidget-FigureWidget0]'
- 'tests/test_io/test_to_from_json.py::test_read_json_from_filelike[FigureWidget-FigureWidget1]'
- 'tests/test_io/test_to_from_json.py::test_read_json_from_pathlib[FigureWidget-FigureWidget0]'
- 'tests/test_io/test_to_from_json.py::test_read_json_from_pathlib[FigureWidget-FigureWidget1]'
- 'tests/test_io/test_to_from_json.py::test_read_json_from_file_string[FigureWidget-FigureWidget0]'
- 'tests/test_io/test_to_from_json.py::test_read_json_from_file_string[FigureWidget-FigureWidget1]'
-
- # minor matplotlib incompatibility
- plotly/matplotlylib/mplexporter/tests/test_basic.py::test_legend_dots
- plotly/matplotlylib/mplexporter/tests/test_utils.py::test_linestyle
-
- # fails in non-isolated env
- test_init/test_dependencies_not_imported.py::test_dependencies_not_imported
- test_init/test_lazy_imports.py::test_lazy_imports
-
- # TODO
- 'tests/test_plotly_utils/validators/test_colorscale_validator.py::test_acceptance_named[Inferno_r]'
-
- # numpy 2.4
- tests/test_optional/test_figure_factory/test_figure_factory.py::TestViolin::test_violin_fig
- tests/test_optional/test_utils/test_utils.py::TestJSONEncoder::test_encode_customdata_datetime_homogeneous_dataframe
- tests/test_optional/test_utils/test_utils.py::TestJSONEncoder::test_encode_customdata_datetime_series
- tests/test_optional/test_utils/test_utils.py::TestJSONEncoder::test_numpy_datetime64
-)
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # stop installing junk "js" package
- sed -i -e '/used by Jupyter extension/d' pyproject.toml || die
-}
-
-src_configure() {
- # Do not try to fetch stuff with npm
- export SKIP_NPM=1
-}
diff --git a/dev-python/plumbum/Manifest b/dev-python/plumbum/Manifest
index 7e5ea13077c9..bd7e760a2f2a 100644
--- a/dev-python/plumbum/Manifest
+++ b/dev-python/plumbum/Manifest
@@ -2,3 +2,5 @@ DIST plumbum-1.10.0.tar.gz 320039 BLAKE2B 6fa83c89d1585219a0a333929aefb52747d5f0
DIST plumbum-1.10.0.tar.gz.provenance 9486 BLAKE2B d25167ce4077f4704731cf9ed7bbd4ded0b2372c2328991514ab6d1bc720b86296787f8412e4e1168d27eb691ae8c1d33bbf774301fa7a9557698be215d94af9 SHA512 e85f298df0907fd8e7f343d56580059ab689c627db21989a4879d799eb1f07b3a31d8db67fbd72fcdb4e3fdbc6e18abf4dba7b9097bb7168c111ea23738d512d
DIST plumbum-2.0.0.tar.gz 378026 BLAKE2B 49ccbefb7e4bae7f85281c62e6c81207270dda7a1d6a587a782cbe34532c4698bf587da8f22b1c092592a3dd55e26d636d082f0e0af5884faf137c32c1ce2cfe SHA512 cc8e8ebaccee5ef7cc79eb0f65057a78f6b2caf946c27b9c8806814b9e50f8925ba7115c58fef8e6bfe7b0bda54c4c4d8985863b0ba214e6c09a07b9bfc4f081
DIST plumbum-2.0.0.tar.gz.provenance 9484 BLAKE2B b6fe479624642e1b5d34b773efe8c2ec4435bef92f9939d4fc1e5457b4ca603ffa722f3b5546bda61d9b8dd2e146d67a6646e3f3035c658f5d2853ae31af9ba4 SHA512 c32c02f9aa3e2bb77d9eae169b9e92316e6308dc5c30a49108705c02ac194dc5fabfadedf307c45fd2bad5b3ee695d1cede73fdf08176b3f92c61e9624ccc7e3
+DIST plumbum-2.0.1.tar.gz 377668 BLAKE2B 8a961808fdb3ce3efcec79604e9f74cd099056b63cfb77f5f9ee6feb824c1b6ad0db8cb0ad2c394ca85210c0e05be1f0ae9bf2560528e6ac9d86e94cc046f2e1 SHA512 251e6e4f960c353c3c482f3c82598d001a9ca62a8f2cad38621c7789813b91404034541c92758e2cb88148964e13983643c78b61b72e1cf3f1d06ad219bb2f7f
+DIST plumbum-2.0.1.tar.gz.provenance 9684 BLAKE2B 557e4df62962015d6d722bce116236d9bd8ad7bc544ad9376ab41ddb6eaef66ebf723d5a06885c1b06f054cd520f05d6131518007c8a5875f9fda3fb0bfc6b84 SHA512 f9ff4463bf590d85c0e341c975766f59f5bba67c0bb1b99cb7fb28f508cc84f9a6b55085783a2499a389ce46b45639b8972c95df5c0602503fbcde2bf793666c
diff --git a/dev-python/plumbum/plumbum-2.0.1.ebuild b/dev-python/plumbum/plumbum-2.0.1.ebuild
new file mode 100644
index 000000000000..96b8fd152ab1
--- /dev/null
+++ b/dev-python/plumbum/plumbum-2.0.1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/tomerfiliba/plumbum
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="A library for shell script-like programs in python"
+HOMEPAGE="
+ https://plumbum.readthedocs.io/en/latest/
+ https://github.com/tomerfiliba/plumbum/
+ https://pypi.org/project/plumbum/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ' 3.12)
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/psutil[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{asyncio,mock,timeout} )
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Need sshd running
+ tests/test_remote.py
+ tests/test_utils.py
+ # Windows specific
+ tests/test_putty.py
+ # Needs sudo without password
+ tests/test_sudo.py
+ # Wrong assumptions about env handling
+ tests/test_env.py::TestEnv::test_change_env
+ tests/test_env.py::TestEnv::test_dictlike
+ tests/test_local.py::TestLocalPath::test_iterdir
+ )
+
+ epytest -o addopts=
+}
+
+pkg_postinst() {
+ optfeature "remote commands via ssh" dev-python/paramiko
+ optfeature "progress bars in jupyter" dev-python/ipywidgets
+ optfeature "colored output in jupyter" dev-python/ipython
+ optfeature "images on the command line" dev-python/pillow
+}
diff --git a/dev-python/poetry-core/poetry-core-2.4.0.ebuild b/dev-python/poetry-core/poetry-core-2.4.0.ebuild
index 06cd8dfc0edd..b2f449e8ddc5 100644
--- a/dev-python/poetry-core/poetry-core-2.4.0.ebuild
+++ b/dev-python/poetry-core/poetry-core-2.4.0.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 ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/posthog/Manifest b/dev-python/posthog/Manifest
index db93b11c5513..f84c5ca9cdae 100644
--- a/dev-python/posthog/Manifest
+++ b/dev-python/posthog/Manifest
@@ -1,2 +1,2 @@
-DIST posthog-7.15.3.gh.tar.gz 3632571 BLAKE2B e8b722ce05e6c728c612749c2dd97502762cace492100a434c99ccf24b5da784337f8baaf426056f13a3b2d853b1bca3813b42b5c86b7383e617a3955e5a25b6 SHA512 a41406bcd2f447662866dcfcc520fefd39a492766c1912d907b52742e35f2001521614080b89ec31b65df1646676e6557b9c8a7569a9539616bddb1d6a972901
-DIST posthog-7.16.2.gh.tar.gz 3699657 BLAKE2B 687325405dcb33b2aa2569f6b018183b791fdbba19bd1a9a25aadec51d3e3f18adf0b7a6078a1fe51b522ef9e9a2fde70d77b2246fdc5b000d12a841e88852ec SHA512 d49c373964688201e8ed156e8006b65ea3993e9e581eda467b6bdb2a76c6c16dac90034d663dba105ac3e5eb404fad8a9566296f3433a3b7dd2a071d157ae6aa
+DIST posthog-7.18.0.gh.tar.gz 3751133 BLAKE2B d8d7bc7932c0d0855fd79ed69f865d3fa807757cbf24dab71584907eac8d41d5658c72e78143021ddfedec24efe1cbbff97daeb56e03b4d4d6e9b6be57015a27 SHA512 e9858bc870ae1906e6130d611f1451559d3857a27b73d20bcb346a306ca4bf8a87925e054b69dc05529fd6751a249f310c66da07cc85ebf4311095aa7bffce16
+DIST posthog-7.18.3.gh.tar.gz 3792845 BLAKE2B 5265039cd9dc75bf2ae60ff3f7fba28c0b338efec7915ad005b463a10880039422b7704aa0e1c2868a593d561626d73c7e8e860290227f4bc53abb4b751e6e5d SHA512 3f44c40b3e54764550daf461e1182d9206c7e877850ee26ef04540ace341db8a0c7072b8ca074a00819b1fa5fcc4fd355d4ac86b6a6229a7475e69c56d6c204e
diff --git a/dev-python/posthog/posthog-7.16.2.ebuild b/dev-python/posthog/posthog-7.18.0.ebuild
index 658fc3ec7e99..658fc3ec7e99 100644
--- a/dev-python/posthog/posthog-7.16.2.ebuild
+++ b/dev-python/posthog/posthog-7.18.0.ebuild
diff --git a/dev-python/posthog/posthog-7.15.3.ebuild b/dev-python/posthog/posthog-7.18.3.ebuild
index ad5ef0da7d38..658fc3ec7e99 100644
--- a/dev-python/posthog/posthog-7.15.3.ebuild
+++ b/dev-python/posthog/posthog-7.18.3.ebuild
@@ -53,5 +53,7 @@ EPYTEST_DESELECT=(
"posthog/test/test_request.py::TestRequests::test_valid_request"
)
-EPYTEST_PLUGINS=( pytest-asyncio )
+EPYTEST_IGNORE=( posthog/test/ai/ )
+
+EPYTEST_PLUGINS=( pytest-asyncio pytest-bdd )
distutils_enable_tests pytest
diff --git a/dev-python/propcache/Manifest b/dev-python/propcache/Manifest
index d89c3bdcea5d..5552abe176b2 100644
--- a/dev-python/propcache/Manifest
+++ b/dev-python/propcache/Manifest
@@ -1,4 +1,2 @@
-DIST propcache-0.4.1.tar.gz 46442 BLAKE2B ff554a2dfd9c4944ab5b16c516510eb33b78b09729d271487bd85994f5c7695b7bcb274becdcab601b771b4c75267dd0dde1acaf4afdac9683bd3ee4ff225af2 SHA512 10342a0e64107eea991fe163901e02537304225fca4a0e9c62d1f5dd0077e3eac6a892e6cd2dffe943d52ba121fb603e2150e1aa63deb0cd5003083310a07070
-DIST propcache-0.4.1.tar.gz.provenance 9198 BLAKE2B 34cab350c955c33d662d59d40adb265ea28a46a03b701768801733891aefdf84af0acfbc779a7f10775f039512502f606031314757d250eef0bfbe746300cedc SHA512 d38429d3ec212d826ab38e05961f16c8a19190089e6411be08b85e1758daf91ad27d270b83e6c597e5161717c2da1c091c2be8bd4391c90ee7a8cffa56ef99d9
DIST propcache-0.5.2.tar.gz 50208 BLAKE2B 53b0a36724277bbe1b08e4fe9b6bf7b32933fbb52b5c4fa3477b3fba1d021875f9311cb4abc020989a40c3482707b0e9e3b40669b9d219334b10b0303dfbfbe9 SHA512 7d720b55a54a3dc35a13c27c8b2821e5dc8ccabae1c004c4049df6a4d914c7f5247cac4efb8a6e0cc95cb9cf62119c27febfeaaaa900343f19ee8c8cef92e15f
DIST propcache-0.5.2.tar.gz.provenance 9321 BLAKE2B 4a48da3e3c88f767ef481373c560fc6d0895987422a43a4a9cd09d27a70c254d2b05fe19876c03f72d094770965992d1df0d8b066cbb9cd15f3eb4ee867dfc33 SHA512 ef3796ac1f4b65bfec89d1d9944870dfdead6f932671eb0725d6bf0ba1e19a8a8d50dd9e1b73c02d97b64d19af314e782dfda52a131c9851bb506f4a2a3cd08e
diff --git a/dev-python/propcache/propcache-0.4.1.ebuild b/dev-python/propcache/propcache-0.4.1.ebuild
deleted file mode 100644
index 4e53a2f394d7..000000000000
--- a/dev-python/propcache/propcache-0.4.1.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=standalone
-PYPI_VERIFY_REPO=https://github.com/aio-libs/propcache
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Accelerated property cache"
-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}]
-"
-
-EPYTEST_PLUGINS=()
-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 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.5.2.ebuild b/dev-python/propcache/propcache-0.5.2.ebuild
index b7f6c241980e..4e53a2f394d7 100644
--- a/dev-python/propcache/propcache-0.5.2.ebuild
+++ b/dev-python/propcache/propcache-0.5.2.ebuild
@@ -18,7 +18,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/proto-plus/Manifest b/dev-python/proto-plus/Manifest
index 00f05c9df62a..c17e423a2738 100644
--- a/dev-python/proto-plus/Manifest
+++ b/dev-python/proto-plus/Manifest
@@ -1,5 +1,2 @@
-DIST proto-plus-python-1.27.1.gh.tar.gz 76528 BLAKE2B fcf6ae9365d56d98cb3263f4ea2d60ee4d09664809d7ceb763f612abfff0edcd5a5d756756dfc2a9df91a5928ebfdfe943bec109cb95d5e560636d8a119326c8 SHA512 0b9183708684d1dbc5bba72af6f1b359b92eb99db4c888c21d607a42f759ef018f2c428c7ee611d2fff138851edac8fdd9f5e7cf6da88535a43e8a7e91dba760
-DIST proto_plus-1.27.2.tar.gz 57204 BLAKE2B 196bf423073c57ddd15057dc744f22dbbd71da7baeef7cb8bfe75281402ec435dc25a34a7c0734d60afca8e02668112e84c5012ad7716c5ec08ee399e060540c SHA512 d17d3752a60161cec645842929be7a4186a7e099baa00f11e6d31091d6dabf49bbe249e5538732ba932c91a9f695ebc45a4fe497a6ad7b51ea909b19d3580a96
-DIST proto_plus-1.27.2.tar.gz.provenance 5908 BLAKE2B f247df33488f6b3f60167efde85b00abe6ea1d0cbe0bf5199b690a85dae5b389cbfc89726f082631256c8679574c7c0705d3b53004eb45208009a026e9b788c5 SHA512 8d37a1c4502e8034d1db4bae8f731e43a9669cc2825c84b1ef32784fcbb3a26856e8700e9c10e3084bbeb3494c091ccf78e5f808d626e9b65d6155900256cdd2
DIST proto_plus-1.28.0.tar.gz 57221 BLAKE2B c904fdc0478eee98310252d26e0217faf3f2e3588d1ce5f592c5f8c0d98d4cd34906b31507a945e1fbe77fffd4df6bd8af76a46ef7c2533bc873af286ca598e7 SHA512 e56bb69c43d90426cf2335138979b4559b8b58759f1e66e4d214f5ae66b7a786681b8366ff8a8a4bae45c1b4c1f5c3e9a07969670cf016a093aa4a59389d8db8
DIST proto_plus-1.28.0.tar.gz.provenance 5943 BLAKE2B ffc00e46cbb90a0b07874a5f302aa96e1cb17ce7370bae61a394bcb923c91818e9af8faceb13a61ec7f76b60a6993144c19f3057b30236159a69cfe5a800473d SHA512 092644eb83d402c5fdd02cbdc16219d8692e87332b258c508de1ed5d84ed88e34bfe08b583119918210e7e86ea19930df1723e35acc3c88d4628ed11fde50fc3
diff --git a/dev-python/proto-plus/proto-plus-1.27.1.ebuild b/dev-python/proto-plus/proto-plus-1.27.1.ebuild
deleted file mode 100644
index 5b565cdbbdb4..000000000000
--- a/dev-python/proto-plus/proto-plus-1.27.1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2021-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-MY_P=${PN}-python-${PV}
-DESCRIPTION="Beautiful, Pythonic protocol buffers"
-HOMEPAGE="
- https://github.com/googleapis/proto-plus-python/
- https://pypi.org/project/proto-plus/
-"
-SRC_URI="
- https://github.com/googleapis/proto-plus-python/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-RDEPEND="
- <dev-python/protobuf-7[${PYTHON_USEDEP}]
- >=dev-python/protobuf-3.19.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/google-api-core-1.31.5[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/sphinx-rtd-theme
diff --git a/dev-python/proto-plus/proto-plus-1.27.2-r1.ebuild b/dev-python/proto-plus/proto-plus-1.27.2-r1.ebuild
deleted file mode 100644
index b88701e74d17..000000000000
--- a/dev-python/proto-plus/proto-plus-1.27.2-r1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2021-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_VERIFY_REPO=gcp:google-cloud-sdk-py@oss-exit-gate-prod.iam.gserviceaccount.com
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Beautiful, Pythonic protocol buffers"
-HOMEPAGE="
- https://github.com/googleapis/proto-plus-python/
- https://pypi.org/project/proto-plus/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-RDEPEND="
- <dev-python/protobuf-8[${PYTHON_USEDEP}]
- >=dev-python/protobuf-3.19.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/google-api-core-1.31.5[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
diff --git a/dev-python/proto-plus/proto-plus-1.28.0.ebuild b/dev-python/proto-plus/proto-plus-1.28.0.ebuild
index 65f147944d45..b88701e74d17 100644
--- a/dev-python/proto-plus/proto-plus-1.28.0.ebuild
+++ b/dev-python/proto-plus/proto-plus-1.28.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 x86"
RDEPEND="
<dev-python/protobuf-8[${PYTHON_USEDEP}]
diff --git a/dev-python/protobuf/Manifest b/dev-python/protobuf/Manifest
index 14fc8dc655e4..34adf835508e 100644
--- a/dev-python/protobuf/Manifest
+++ b/dev-python/protobuf/Manifest
@@ -1,28 +1,13 @@
-DIST protobuf-32.0.gh.tar.gz 9692366 BLAKE2B 37e09bec62a5c35a3ca45d4bd4fd27e719a4f04b95f049b265ca7c231459d8333eafc13cfd1126dda5ccf799ab2e2e9f305fcae5525a64b4b1eb45b1fb3a897b SHA512 89806b219fa2132e46bf01b7a5831c2977ad7ebe06750956d0e17bcdc028498e883704445fca56bb813f4b78e935709f67f8fa1b46b597840c58a843483cdafb
-DIST protobuf-32.1.gh.tar.gz 9694736 BLAKE2B 37a310799eaa58b14f67c62410f1e150c031b94db5a499ceeda749bd13a1165403a5d4c86ffa45729ae333080697ce0619b29a51d2bc345de012f99a3ce5dd20 SHA512 840239f4fb57450ffe61f2cdc73daf5f1f3ea317b1ab1135a90303783e62722cfa410ff27bb2c5c6d3106be39ccdc95cdfbc5bf271ba79f935ab85f9b8ce3075
-DIST protobuf-33.2.gh.tar.gz 6875303 BLAKE2B 74e09134d5a8c524f1c2c11244d41c7b26a075872fbf99a95759878cf8e6a3effaf946b7e1994f3cbdfd8a465218bd1f226278e9e6ac6b1f9a1f7d54a0a366cf SHA512 7b84fee0cb0a3b5de4b59899b12a7cccfe330b588a26bf397ec46c3ac61ce883018116f6a0ef73e621b35e7eacde1d13086317dad5cfa1066aa558c950ef48a2
-DIST protobuf-33.3.gh.tar.gz 6889779 BLAKE2B 8031047309ee32633860b23e93bb30984d87a65749cdb4d36b93abcccc6b22782aea0d69970d849a3f43dafc75a27a5c98335a18dc72c3600a4ffb04b16c357b SHA512 fa54336ad4ee40fdf7024122dac455b5da3262e965b25096b7e5f7e4cbc94ee9179aa02a0570b4a732c06f6f921a17d8b3d44dfd367afb0ec52fe5bd7e00068b
-DIST protobuf-33.4.gh.tar.gz 6889595 BLAKE2B fd378ca66464f39d32551bcf8ccab719b7d97e0fafa896bb69fa34c3866b5ae0d3938e75f57df6a712831ca5ea302595b35508037b11ea35c14ee54bb43a2fa2 SHA512 540059a93721447cf4723bcca06e91c43a4399cb366c05bf84e9d8e2c439f3107ba17803f9d912549b54c471f2dcc4c9fc834145ec441dff31ca24f9a3543aa9
-DIST protobuf-33.5.gh.tar.gz 6890609 BLAKE2B d6069a5189cc02d7d1c7586883caab626d09bde61194fca54619f4e940ac4669d73fa7af4145b7559eb53f2d5b2b3c6184391c7c15ad920b04eebe53b520b2c8 SHA512 71110cd2cbf9f2e7f1bda4eed346ad6cad84a05ab0214d1e0880afc20a788f43176e2ccc8ac284eab38ec21578db147c2837b58789baf2823e4615d4b3557937
DIST protobuf-33.6.gh.tar.gz 6890866 BLAKE2B 318a24f478084c8c0e97f4fe14677b86f1c01e4bdc148564fd1fda997e8fecf39c2dba4903784d10733ebcf4671bd4ba67f739f54218074e9c3dd883bae717c3 SHA512 16f8689ec7aba47d29f27c2360c33c78d6e11ae9f29e815f792e6b943713395e680f0ab6d48f9395e8bec1df44c4afdc212ad4e4fc3629b820e7b3ac82e132e9
-DIST protobuf-34.0.gh.tar.gz 7036108 BLAKE2B da33db4c3a81cf40c327fc3560db253a694b947e7282e1b1a35a9699efe4e316616942041e9ddfbfbe6add687a9815235940a4943fdb7416b7468e88ab77f480 SHA512 ba7fb01479c169003d8258896092a217f9781f51dcd59ebe7f5cc9b274f7f242bab2963f8eacb7ae6e1250db6fe8c2099ab54a9a9f399ef2aaeb44455f9afb98
DIST protobuf-34.1.gh.tar.gz 7037923 BLAKE2B 38e0717361f8130f404217c7d8feba1984fc18424245a471be70eeb34bdab6c50f3b8d1cce5e0914065d1ebf607c022cae58fbcebe3e0495ee7279e011b17553 SHA512 87820e7792dc42e20dc084174f096031e2173d68a8fcf8c5deb8e91c25396d6ce423da2019b8757f27c9adbc030b7cfd9b3efcb41e18ac19b2f36c995953b8b7
DIST protobuf-34.2.gh.tar.gz 7039262 BLAKE2B f4164b583b0cb9b4fd6f42795f3061c78dc4f55c23bbc47013c9f4ec216978f3abaa0e2e890f39750ffe0f10f478fa2675ae963f787eb53dad08e1f28b5288d5 SHA512 680a03ee2a9fdb32010762ff9e5dd877f6e723a593277a4dd76e15db795e6b2b5c6c2dee1c27c1a645e2d8d304634bd65ca322778e03f3df77571df8d8623361
DIST protobuf-35.0.gh.tar.gz 7153471 BLAKE2B 1deed56c80be6613ed8d67a8b28b4a62c0ccae2ba89b44b886c5030377b495c1d0d8e0f15786e69aae928067e2eb8877503e14a64946a20901a4872470ca989a SHA512 0d97b06f4e40b631cf5498bdb895846fd98943eeb97abe7993ee23a200c4956d34bc3c8c1436e5ac8413d217b49ba8689b3a58908a8e4ab5283864d678950aaf
-DIST protobuf-5.29.5.py.tar.gz 425226 BLAKE2B 1d7461e94ba8bc097d6f52170678665e3cd97ef44e4757e6c20bcb1bdfbfe673d26cd4a63f8e6972af964e381dfffedeb9a4959ec7a7d5a3a3f87f917c8aa329 SHA512 cbb39efe7f6499362b3e4cc9f073df921c8b83d3aafde245a2ca3432f3e744a428e946799c48b2797e08312342e164eced0bf2b8865b8d042b54913855abb1c8
+DIST protobuf-35.1.gh.tar.gz 7153431 BLAKE2B b4e14b64b43140bf8a018dd7754c2578d66f09717094d590a2145768e37f45feffae7c8fa9036d2c16f75ff6db767fa00099b0e18fe021c4ea5b7b0c75c0e495 SHA512 e718c23d3c1f9fb4f2a438dec13cb3f3f09d6ffcaaab71c0059426cc5e130525ad2d7a231ec436d1d910b44837c585a401feebb806a2f28945e26fd96c0451cc
DIST protobuf-5.29.6.py.tar.gz 425623 BLAKE2B 113d56d001efde5d432437b0740c92255d7178a6900bf7b8266cece0d9c99815f12029034697f7363566d7500b853fc0825c5b3c01d8104b483323fcdbbcbb07 SHA512 42cb4c9b69dec89f001e6b70e35a25ddc94708e2977076ecd7d0e414b9547b2d1a044a1e8bfbf7eb7bebe6395888056f30cfb4c29608d86c9d0fcb7733c2b69a
-DIST protobuf-6.30.2.gh.tar.gz 9523913 BLAKE2B d3950abfe8b3b61dc2bb61f683b014de29451252c46b670dee75a81eb0b8ed30a3209227aa9483800244af16058469deb281521609d769a3456a798ca8a9a4a3 SHA512 f2ee857a36b49f87257a306b3f3c361770d74aaf24c4650b9d00994e1e1a0b09079fb0ce5ffb4d5a4a32d8ca46e3247d6db454918fa0b104fc8d58e8a0546a96
-DIST protobuf-6.30.2.py.tar.gz 429315 BLAKE2B 6b56e23a8a962ce9da282ec49c4807877f4bfb677ad84bb6930b83cc436e9839f5791cfb19105678881c8361e27d62d3dde51e5e6c42f7a0e146d9e469282780 SHA512 48ddb2b63acc91759ba4243926c50bb0d16601aace9019129975701634b77a59415659751c69b06464afe994a0fbbd8da6640a208b743ba7df8bf6d60c5ec2b9
DIST protobuf-6.31.1.gh.tar.gz 9602805 BLAKE2B 349a528acaad6bae8c39be2888fcfe855dc71605d2b52e20c24e63b3171a855b0f16c60e4fa8a69bcad8b484edd46232132e7b0256634f420aea2dd207da129e SHA512 9138ac1b1c248246ed9840ab3879a6e18da60c709454ede2cb8e45e66e949998ab6e2c8aba557f0bb0b650ec430caeb546695b23387321ced5bc288866e04ad7
DIST protobuf-6.31.1.py.tar.gz 441797 BLAKE2B 867ee81473a733020098f76c2ccf22161a73b3a1219e08f0f339f202cff871447d874cc6c13d42ef314a0134d65c56631ba4ab6feb806749f3d18443f666f5d9 SHA512 595c125a116020344d5706adf444e1a3259eae5bce3ca61b92c1ab4cb63c167f97210c71e5e24b8c49c6489777ca6de95abdd398125ba3925313ad5ebe09cc18
-DIST protobuf-6.32.0.py.tar.gz 440614 BLAKE2B 615338e96a26c5a9f254b41da41598d9826fa039cff088c94fe3693a1f042631a7b48ac9a3a9bf6de2f6c5d61209796e227df080f4388f46d76afa9fecc94ddd SHA512 c29d1b01984e0cc204bffa5c757e4df4eb8ee696b6f5557414e65310b15956192fc73db5daae176f2b4db03e98c36a46cc74ca8b377df193bc9461142c8269cf
-DIST protobuf-6.32.1.py.tar.gz 440635 BLAKE2B 4d6c7c398378e04f130ec281234a96ef59fc34511d9c1c3153851a2623b894dc64d559e02bd8f55c9b7f82d98d43e914ca5967481dcf4eb92f7cd22aa47a4e77 SHA512 f8aeb9cdbde385e728f3006d16f26c540a5ec46f7046486b34cdf254a22acdcf6a152791517cd852cfa866809b0b79b3233757c4f898e4768d00b0d902c30776
-DIST protobuf-6.33.2.py.tar.gz 444296 BLAKE2B d91fd1164ac67c33b04a4f882aba253bd9736de61bf23c082808fa311a2a17ae6b1b26a8fcf11257127a3374e1f8ae979261f3f1ebdbd51d4b3a19f310a5170d SHA512 ee52d5d3f8726e0d86cdeb522ec22b5366ee87cfea86a679cd188857103ba040bb6f0cae956ba7e3ecc05ef7e4ad3c691ecfd99b0710e909a7ebf66108cf1b7a
-DIST protobuf-6.33.3.py.tar.gz 444318 BLAKE2B 42c4bf4e7878eee03a0728feaf83bfcb037614d28332dddb490052586484cb034c20fefc95d82926a8183b6171f9b8d53b7fdf00e5a254824d7a8c4b3c6e9bfb SHA512 ba532469efd48e9541db67fb127846080ffee8e89b4b72587587f584e31b577c737f36c830a7591186722e6c432674ed033c037ce8813360af8023b1399329e9
-DIST protobuf-6.33.4.py.tar.gz 444346 BLAKE2B a6b0481e7ed353081bf32ded3fc821196b3c67cbefc3320c2dda0ffc1616fb5162f024a469df404aa91409eeff12d99ecbe67471d664d1d8e356f4301a0c2ff5 SHA512 d556fd78572967b3ce0421c1838cd4f0c3f5ebff981ce9f4b95919cd9c3ddb7faa10083ea3e160a8f571ba9893d9523533c077f75bc14d2254664dbf66c21453
-DIST protobuf-6.33.5.py.tar.gz 444465 BLAKE2B c00267bc22ce78a8ae717b2feed153a8749088184842509178a5a9074def2236d04eba3b7fc7a6d5106625a4e094df76637d62c51fda68d9adfd3ade5b09d080 SHA512 56a92cf4b5092965c925a7c6faa058aea5ad03b09efb871e3a9485e6cb03b16b1cc7b1e74184981b5108153febdfec1ad457b5b177831309c20b0e12416d45e1
DIST protobuf-6.33.6.py.tar.gz 444531 BLAKE2B cdb81c0a64ee24937677bd34731b816854d2479bc9ab09092ff72d318951252b029efed8c8b25a331bc83719141e1a62aff1a398472f9f39e005cc9d9daaffc5 SHA512 074d035d5894dd8b7cab0ad8603f88a4e346034c07896ac0be2f207e3785c6c1b35f094c5a8d48920ce3c8e10232c571135f08215c8526ecf50ac3ebe1547b80
-DIST protobuf-7.34.0.py.tar.gz 454726 BLAKE2B 8aef8d604226f0eaddb7c5a9a59f2fa92af1bc860c5221d8db728cb9df76759c210ecda60c0db06daa69a44d29f0d787b4ee446a874cf7ed7f4a2a3fadb53822 SHA512 e41a9ab227b8cadd7410d9e782d635899d63d22777931eabdf57f89d99e8eaeed994faf535d2ffc4a8f9f7e419155437d79065f0f466926bc51308257c68a219
DIST protobuf-7.34.1.py.tar.gz 454708 BLAKE2B 47c069501355a0a19b075e01c661d4bb0cdd2d35b4a4d574320649136e3cfded8ef2a16c70c2c8633723c09efc74fab22d636fcde54813ebb7cffe8d489f85a7 SHA512 9ad533b9bb72c7d490578e63afd704b1ec50b5b1689cfe4da8c7897ec523b7286f690e4952646fa95e65bac9c6a9722e55df41f42116e163bfec89e84d251b7f
DIST protobuf-7.34.2.py.tar.gz 454776 BLAKE2B 64fe4ca16baa6d26afc16055cfa0e593d2d4b518ec7171532bdca41069a42e714b847fbf1a195c39a480bdfdc257b8ac6385c5c6b2446c458a94c50231dc0766 SHA512 d0d619c2c459f2172a5b0f0d5235e89789738ad1c4fca4d93c71e89e9641de426c2919db69fd967c0070307b4cd88d86c1fdb8dfd39162202e1634043c437db2
DIST protobuf-7.35.0.py.tar.gz 458677 BLAKE2B a98b765cb4291b5f9abaf7302052857b8b7c8256690921f4f18012a74747b234ff091b8b160fc616693a5b5c8f5f0fb5e8b40c11ae892ed42d0114528c06efe5 SHA512 009307d9d19139ec219f7d3f05db1f9d2894bcd8029c7ba12c367ea7f08a2393af2008baf92ae86b6ebbf1ab51f9578b842a124d2d8203a5d9ce6f2fbdb5ef2e
+DIST protobuf-7.35.1.py.tar.gz 458717 BLAKE2B 70d0ff4a320d5d246e77df8e5284f7a0712feb73bf20a0e0ccd8155bc9674bb1ff8b0717c4c573fa612562cfb16eca93e9415266b0e58dba2cbf1b6fe923a776 SHA512 f732067c69921340aaf295e2b55c21d244e60f59430379c0dbda3657bcd104a094c8747f64bbc692ce6d2e2ee6593c587f04d42369d11f97cc2fd27d03864a1d
diff --git a/dev-python/protobuf/protobuf-5.29.5-r1.ebuild b/dev-python/protobuf/protobuf-5.29.5-r1.ebuild
deleted file mode 100644
index d9df918b85b9..000000000000
--- a/dev-python/protobuf/protobuf-5.29.5-r1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2008-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Default implementation currently is upb, which doesn't match dev-libs/protobuf
-# https://github.com/protocolbuffers/protobuf/blob/main/python/README.md#implementation-backends
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-PYPI_PN="protobuf"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Google's Protocol Buffers - Python bindings"
-HOMEPAGE="
- https://protobuf.dev/
- https://pypi.org/project/protobuf/
-"
-
-# Rename sdist to avoid conflicts with dev-libs/protobuf
-SRC_URI="
- $(pypi_sdist_url) -> ${P}.py.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0/$(ver_cut 1-3)"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
diff --git a/dev-python/protobuf/protobuf-6.30.2-r1.ebuild b/dev-python/protobuf/protobuf-6.30.2-r1.ebuild
deleted file mode 100644
index 79931ec1a938..000000000000
--- a/dev-python/protobuf/protobuf-6.30.2-r1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2008-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Default implementation currently is upb, which doesn't match dev-libs/protobuf
-# https://github.com/protocolbuffers/protobuf/blob/main/python/README.md#implementation-backends
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-PYPI_PN="protobuf"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Google's Protocol Buffers - Python bindings"
-HOMEPAGE="
- https://protobuf.dev/
- https://pypi.org/project/protobuf/
-"
-
-# Rename sdist to avoid conflicts with dev-libs/protobuf
-SRC_URI="
- $(pypi_sdist_url) -> ${P}.py.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0/$(ver_cut 1-3)"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~x64-macos"
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # strip old-style namespace
- rm google/__init__.py || die
-}
diff --git a/dev-python/protobuf/protobuf-6.30.2-r2.ebuild b/dev-python/protobuf/protobuf-6.30.2-r2.ebuild
deleted file mode 100644
index b84da0ba36ac..000000000000
--- a/dev-python/protobuf/protobuf-6.30.2-r2.ebuild
+++ /dev/null
@@ -1,145 +0,0 @@
-# Copyright 2008-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Default implementation currently is upb, which doesn't match dev-libs/protobuf
-# https://github.com/protocolbuffers/protobuf/blob/main/python/README.md#implementation-backends
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Google's Protocol Buffers - Python bindings"
-HOMEPAGE="
- https://protobuf.dev/
- https://pypi.org/project/protobuf/
-"
-# Rename sdist to avoid conflicts with dev-libs/protobuf
-SRC_URI="
- $(pypi_sdist_url) -> ${P}.py.tar.gz
- test? (
- https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
- )
-"
-
-LICENSE="BSD"
-SLOT="0/$(ver_cut 1-3)"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
-
-# need protobuf compiler
-BDEPEND="
- test? (
- dev-libs/protobuf[protoc(+)]
- dev-python/absl-py[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_unpack() {
- unpack "${P}.py.tar.gz"
-
- if use test; then
- mkdir "${WORKDIR}/test" || die
- cd "${WORKDIR}/test" || die
- unpack "${P}.gh.tar.gz"
- fi
-}
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # strip old-style namespace
- rm google/__init__.py || die
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- # TODO: figure out how to build the pybind11 test extension
- google/protobuf/internal/recursive_message_pybind11_test.py
- )
-
- case ${EPYTHON} in
- python3.11)
- EPYTEST_IGNORE+=(
- # syntax error...
- google/protobuf/internal/json_format_test.py
- )
- ;;
- python3.13)
- # TODO: segfaults on exit
- return
- ;;
- esac
-
- cp -r "${BUILD_DIR}"/{install,test} || die
- local -x PATH="${BUILD_DIR}/test${EPREFIX}/usr/bin:${PATH}"
- cd "${BUILD_DIR}/test$(python_get_sitedir)" || die
-
- # copy test files from the source tree
- cp -r "${WORKDIR}/test/${P}/python/google/protobuf/internal/." \
- google/protobuf/internal/ || die
- # link the test data for text_format_test.py
- # (it traverses directories upwards until to finds src/google...)
- ln -s "${WORKDIR}/test/${P}/src" ../src || die
-
- # compile test-related protobufs
- local test_protos=(
- # from src
- any_test.proto
- map_proto2_unittest.proto
- map_unittest.proto
- unittest.proto
- unittest_custom_options.proto
- unittest_delimited.proto
- unittest_delimited_import.proto
- unittest_features.proto
- unittest_import.proto
- unittest_import_public.proto
- unittest_legacy_features.proto
- unittest_mset.proto
- unittest_mset_wire_format.proto
- unittest_no_field_presence.proto
- unittest_no_generic_services.proto
- unittest_proto3.proto
- unittest_proto3_arena.proto
- unittest_proto3_extensions.proto
- unittest_retention.proto
- util/json_format.proto
- util/json_format_proto3.proto
- # from python
- internal/descriptor_pool_test1.proto
- internal/descriptor_pool_test2.proto
- internal/factory_test1.proto
- internal/factory_test2.proto
- internal/file_options_test.proto
- internal/import_test_package/import_public.proto
- internal/import_test_package/import_public_nested.proto
- internal/import_test_package/inner.proto
- internal/import_test_package/outer.proto
- internal/message_set_extensions.proto
- internal/missing_enum_values.proto
- internal/more_extensions.proto
- internal/more_messages.proto
- internal/no_package.proto
- internal/packed_field_test.proto
- internal/self_recursive.proto
- internal/test_bad_identifiers.proto
- internal/test_proto2.proto
- internal/test_proto3_optional.proto
- internal/well_known_types_test.proto
- )
- local proto
- for proto in "${test_protos[@]}"; do
- protoc --python_out=. -I"${WORKDIR}/test/${P}/src" -I. \
- "google/protobuf/${proto}" || die
- done
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -s
-}
diff --git a/dev-python/protobuf/protobuf-6.32.0.ebuild b/dev-python/protobuf/protobuf-6.32.0.ebuild
deleted file mode 100644
index 6ae190a6cf7c..000000000000
--- a/dev-python/protobuf/protobuf-6.32.0.ebuild
+++ /dev/null
@@ -1,156 +0,0 @@
-# Copyright 2008-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Default implementation currently is upb, which doesn't match dev-libs/protobuf
-# https://github.com/protocolbuffers/protobuf/blob/main/python/README.md#implementation-backends
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-GH_PV=$(ver_cut 2-3)
-GH_P=${PN}-${GH_PV}
-
-DESCRIPTION="Google's Protocol Buffers - Python bindings"
-HOMEPAGE="
- https://protobuf.dev/
- https://pypi.org/project/protobuf/
-"
-# Rename sdist to avoid conflicts with dev-libs/protobuf
-SRC_URI="
- $(pypi_sdist_url) -> ${P}.py.tar.gz
- test? (
- https://github.com/protocolbuffers/protobuf/archive/v${GH_PV}.tar.gz
- -> ${GH_P}.gh.tar.gz
- )
-"
-
-LICENSE="BSD"
-SLOT="0/$(ver_cut 1-3)"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-# need protobuf compiler
-BDEPEND="
- test? (
- dev-libs/protobuf[protoc(+)]
- dev-python/absl-py[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pytest-forked[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_unpack() {
- unpack "${P}.py.tar.gz"
-
- if use test; then
- mkdir "${WORKDIR}/test" || die
- cd "${WORKDIR}/test" || die
- unpack "${GH_P}.gh.tar.gz"
- fi
-}
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # strip old-style namespace
- rm google/__init__.py || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=()
- local EPYTEST_IGNORE=(
- # TODO: figure out how to build the pybind11 test extension
- google/protobuf/internal/recursive_message_pybind11_test.py
- )
-
- case ${EPYTHON} in
- python3.11)
- EPYTEST_IGNORE+=(
- # syntax error...
- google/protobuf/internal/json_format_test.py
- )
- ;;
- python3.14*)
- EPYTEST_DESELECT+=(
- # exception message mismatch
- google/protobuf/internal/json_format_test.py::JsonFormatTest::testInvalidTimestamp
- google/protobuf/internal/well_known_types_test.py::TimeUtilTest::testInvalidTimestamp
- )
- ;;
- esac
-
- cp -r "${BUILD_DIR}"/{install,test} || die
- local -x PATH="${BUILD_DIR}/test${EPREFIX}/usr/bin:${PATH}"
- cd "${BUILD_DIR}/test$(python_get_sitedir)" || die
-
- # copy test files from the source tree
- cp -r "${WORKDIR}/test/${GH_P}/python/google/protobuf/internal/." \
- google/protobuf/internal/ || die
- # link the test data for text_format_test.py
- # (it traverses directories upwards until to finds src/google...)
- ln -s "${WORKDIR}/test/${GH_P}/src" ../src || die
-
- # compile test-related protobufs
- local test_protos=(
- # from src
- any_test.proto
- map_proto2_unittest.proto
- map_unittest.proto
- unittest.proto
- unittest_custom_options.proto
- unittest_delimited.proto
- unittest_delimited_import.proto
- unittest_features.proto
- unittest_import.proto
- unittest_import_public.proto
- unittest_legacy_features.proto
- unittest_mset.proto
- unittest_mset_wire_format.proto
- unittest_no_field_presence.proto
- unittest_no_generic_services.proto
- unittest_proto3.proto
- unittest_proto3_arena.proto
- unittest_proto3_extensions.proto
- unittest_retention.proto
- util/json_format.proto
- util/json_format_proto3.proto
- # from python
- internal/descriptor_pool_test1.proto
- internal/descriptor_pool_test2.proto
- internal/factory_test1.proto
- internal/factory_test2.proto
- internal/file_options_test.proto
- internal/import_test_package/import_public.proto
- internal/import_test_package/import_public_nested.proto
- internal/import_test_package/inner.proto
- internal/import_test_package/outer.proto
- internal/message_set_extensions.proto
- internal/missing_enum_values.proto
- internal/more_extensions.proto
- internal/more_messages.proto
- internal/no_package.proto
- internal/packed_field_test.proto
- internal/self_recursive.proto
- internal/test_bad_identifiers.proto
- internal/test_proto2.proto
- internal/test_proto3_optional.proto
- internal/well_known_types_test.proto
- )
- local proto
- for proto in "${test_protos[@]}"; do
- protoc --python_out=. -I"${WORKDIR}/test/${GH_P}/src" -I. \
- "google/protobuf/${proto}" || die
- done
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # pytest-forked prevents segfault on py3.13
- # https://github.com/protocolbuffers/protobuf/issues/22067
- epytest -p pytest_forked --forked
-}
diff --git a/dev-python/protobuf/protobuf-6.32.1-r1.ebuild b/dev-python/protobuf/protobuf-6.32.1-r1.ebuild
deleted file mode 100644
index 3ff3e05534f1..000000000000
--- a/dev-python/protobuf/protobuf-6.32.1-r1.ebuild
+++ /dev/null
@@ -1,159 +0,0 @@
-# Copyright 2008-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Default implementation currently is upb, which doesn't match dev-libs/protobuf
-# https://github.com/protocolbuffers/protobuf/blob/main/python/README.md#implementation-backends
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-GH_PV=$(ver_cut 2-3)
-GH_P=${PN}-${GH_PV}
-
-DESCRIPTION="Google's Protocol Buffers - Python bindings"
-HOMEPAGE="
- https://protobuf.dev/
- https://pypi.org/project/protobuf/
-"
-# Rename sdist to avoid conflicts with dev-libs/protobuf
-SRC_URI="
- $(pypi_sdist_url) -> ${P}.py.tar.gz
- test? (
- https://github.com/protocolbuffers/protobuf/archive/v${GH_PV}.tar.gz
- -> ${GH_P}.gh.tar.gz
- )
-"
-
-LICENSE="BSD"
-SLOT="0/$(ver_cut 1-3)"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~mips ~ppc ppc64 ~riscv ~sparc ~x86"
-
-# need protobuf compiler
-BDEPEND="
- test? (
- dev-libs/protobuf[protoc(+)]
- dev-python/absl-py[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_unpack() {
- unpack "${P}.py.tar.gz"
-
- if use test; then
- mkdir "${WORKDIR}/test" || die
- cd "${WORKDIR}/test" || die
- unpack "${GH_P}.gh.tar.gz"
- fi
-}
-
-src_prepare() {
- local PATCHES=(
- # https://github.com/protocolbuffers/protobuf/commit/d57d2708b371bda5e7212b0eca63091fa2d7ab42
- # potentially fixes https://github.com/protocolbuffers/protobuf/issues/22067
- "${FILESDIR}/${P}-crash.patch"
- )
-
- distutils-r1_src_prepare
-
- # strip old-style namespace
- rm google/__init__.py || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=()
- local EPYTEST_IGNORE=(
- # TODO: figure out how to build the pybind11 test extension
- google/protobuf/internal/recursive_message_pybind11_test.py
- )
-
- case ${EPYTHON} in
- python3.11)
- EPYTEST_IGNORE+=(
- # syntax error...
- google/protobuf/internal/json_format_test.py
- )
- ;;
- python3.14*)
- EPYTEST_DESELECT+=(
- # exception message mismatch
- google/protobuf/internal/json_format_test.py::JsonFormatTest::testInvalidTimestamp
- google/protobuf/internal/well_known_types_test.py::TimeUtilTest::testInvalidTimestamp
- )
- ;;
- esac
-
- cp -r "${BUILD_DIR}"/{install,test} || die
- local -x PATH="${BUILD_DIR}/test${EPREFIX}/usr/bin:${PATH}"
- cd "${BUILD_DIR}/test$(python_get_sitedir)" || die
-
- # copy test files from the source tree
- cp -r "${WORKDIR}/test/${GH_P}/python/google/protobuf/internal/." \
- google/protobuf/internal/ || die
- # link the test data for text_format_test.py
- # (it traverses directories upwards until to finds src/google...)
- ln -s "${WORKDIR}/test/${GH_P}/src" ../src || die
-
- # compile test-related protobufs
- local test_protos=(
- # from src
- any_test.proto
- map_proto2_unittest.proto
- map_unittest.proto
- unittest.proto
- unittest_custom_options.proto
- unittest_delimited.proto
- unittest_delimited_import.proto
- unittest_features.proto
- unittest_import.proto
- unittest_import_public.proto
- unittest_legacy_features.proto
- unittest_mset.proto
- unittest_mset_wire_format.proto
- unittest_no_field_presence.proto
- unittest_no_generic_services.proto
- unittest_proto3.proto
- unittest_proto3_arena.proto
- unittest_proto3_extensions.proto
- unittest_retention.proto
- util/json_format.proto
- util/json_format_proto3.proto
- # from python
- internal/descriptor_pool_test1.proto
- internal/descriptor_pool_test2.proto
- internal/factory_test1.proto
- internal/factory_test2.proto
- internal/file_options_test.proto
- internal/import_test_package/import_public.proto
- internal/import_test_package/import_public_nested.proto
- internal/import_test_package/inner.proto
- internal/import_test_package/outer.proto
- internal/message_set_extensions.proto
- internal/missing_enum_values.proto
- internal/more_extensions.proto
- internal/more_messages.proto
- internal/no_package.proto
- internal/packed_field_test.proto
- internal/self_recursive.proto
- internal/test_bad_identifiers.proto
- internal/test_proto2.proto
- internal/test_proto3_optional.proto
- internal/well_known_types_test.proto
- )
- local proto
- for proto in "${test_protos[@]}"; do
- protoc --python_out=. -I"${WORKDIR}/test/${GH_P}/src" -I. \
- "google/protobuf/${proto}" || die
- done
-
- epytest
-}
diff --git a/dev-python/protobuf/protobuf-6.33.2.ebuild b/dev-python/protobuf/protobuf-6.33.2.ebuild
deleted file mode 100644
index bfcc0e6beb1a..000000000000
--- a/dev-python/protobuf/protobuf-6.33.2.ebuild
+++ /dev/null
@@ -1,154 +0,0 @@
-# Copyright 2008-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Default implementation currently is upb, which doesn't match dev-libs/protobuf
-# https://github.com/protocolbuffers/protobuf/blob/main/python/README.md#implementation-backends
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-GH_PV=$(ver_cut 2-3)
-GH_P=${PN}-${GH_PV}
-
-DESCRIPTION="Google's Protocol Buffers - Python bindings"
-HOMEPAGE="
- https://protobuf.dev/
- https://pypi.org/project/protobuf/
-"
-# Rename sdist to avoid conflicts with dev-libs/protobuf
-SRC_URI="
- $(pypi_sdist_url) -> ${P}.py.tar.gz
- test? (
- https://github.com/protocolbuffers/protobuf/archive/v${GH_PV}.tar.gz
- -> ${GH_P}.gh.tar.gz
- )
-"
-
-LICENSE="BSD"
-SLOT="0/$(ver_cut 1-3)"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-# need protobuf compiler
-BDEPEND="
- test? (
- dev-libs/protobuf[protoc(+)]
- dev-python/absl-py[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_unpack() {
- unpack "${P}.py.tar.gz"
-
- if use test; then
- mkdir "${WORKDIR}/test" || die
- cd "${WORKDIR}/test" || die
- unpack "${GH_P}.gh.tar.gz"
- fi
-}
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # strip old-style namespace
- rm google/__init__.py || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=()
- local EPYTEST_IGNORE=(
- # TODO: figure out how to build the pybind11 test extension
- google/protobuf/internal/recursive_message_pybind11_test.py
- )
-
- case ${EPYTHON} in
- python3.11)
- EPYTEST_IGNORE+=(
- # syntax error...
- google/protobuf/internal/json_format_test.py
- )
- ;;
- python3.14*)
- EPYTEST_DESELECT+=(
- # exception message mismatch
- google/protobuf/internal/json_format_test.py::JsonFormatTest::testInvalidTimestamp
- google/protobuf/internal/well_known_types_test.py::TimeUtilTest::testInvalidTimestamp
- )
- ;;
- esac
-
- cp -r "${BUILD_DIR}"/{install,test} || die
- local -x PATH="${BUILD_DIR}/test${EPREFIX}/usr/bin:${PATH}"
- cd "${BUILD_DIR}/test$(python_get_sitedir)" || die
-
- # copy test files from the source tree
- cp -r "${WORKDIR}/test/${GH_P}/python/google/protobuf/internal/." \
- google/protobuf/internal/ || die
- # link the test data for text_format_test.py
- # (it traverses directories upwards until to finds src/google...)
- ln -s "${WORKDIR}/test/${GH_P}/src" ../src || die
-
- # compile test-related protobufs
- local test_protos=(
- # from src
- any_test.proto
- map_proto2_unittest.proto
- map_unittest.proto
- unittest.proto
- unittest_custom_options.proto
- unittest_delimited.proto
- unittest_delimited_import.proto
- unittest_features.proto
- unittest_import.proto
- unittest_import_option.proto
- unittest_import_public.proto
- unittest_legacy_features.proto
- unittest_mset.proto
- unittest_mset_wire_format.proto
- unittest_no_field_presence.proto
- unittest_no_generic_services.proto
- unittest_proto3.proto
- unittest_proto3_arena.proto
- unittest_proto3_extensions.proto
- unittest_retention.proto
- util/json_format.proto
- util/json_format_proto3.proto
- # from python
- internal/descriptor_pool_test1.proto
- internal/descriptor_pool_test2.proto
- internal/factory_test1.proto
- internal/factory_test2.proto
- internal/file_options_test.proto
- internal/import_test_package/import_public.proto
- internal/import_test_package/import_public_nested.proto
- internal/import_test_package/inner.proto
- internal/import_test_package/outer.proto
- internal/message_set_extensions.proto
- internal/missing_enum_values.proto
- internal/more_extensions.proto
- internal/more_messages.proto
- internal/no_package.proto
- internal/packed_field_test.proto
- internal/self_recursive.proto
- internal/test_bad_identifiers.proto
- internal/test_proto2.proto
- internal/test_proto3_optional.proto
- internal/well_known_types_test.proto
- )
- local proto
- for proto in "${test_protos[@]}"; do
- protoc --python_out=. -I"${WORKDIR}/test/${GH_P}/src" -I. \
- "google/protobuf/${proto}" || die
- done
-
- epytest
-}
diff --git a/dev-python/protobuf/protobuf-6.33.3.ebuild b/dev-python/protobuf/protobuf-6.33.3.ebuild
deleted file mode 100644
index 3ebcbc3454bd..000000000000
--- a/dev-python/protobuf/protobuf-6.33.3.ebuild
+++ /dev/null
@@ -1,154 +0,0 @@
-# Copyright 2008-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Default implementation currently is upb, which doesn't match dev-libs/protobuf
-# https://github.com/protocolbuffers/protobuf/blob/main/python/README.md#implementation-backends
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-GH_PV=$(ver_cut 2-3)
-GH_P=${PN}-${GH_PV}
-
-DESCRIPTION="Google's Protocol Buffers - Python bindings"
-HOMEPAGE="
- https://protobuf.dev/
- https://pypi.org/project/protobuf/
-"
-# Rename sdist to avoid conflicts with dev-libs/protobuf
-SRC_URI="
- $(pypi_sdist_url) -> ${P}.py.tar.gz
- test? (
- https://github.com/protocolbuffers/protobuf/archive/v${GH_PV}.tar.gz
- -> ${GH_P}.gh.tar.gz
- )
-"
-
-LICENSE="BSD"
-SLOT="0/$(ver_cut 1-3)"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-# need protobuf compiler
-BDEPEND="
- test? (
- dev-libs/protobuf[protoc(+)]
- dev-python/absl-py[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_unpack() {
- unpack "${P}.py.tar.gz"
-
- if use test; then
- mkdir "${WORKDIR}/test" || die
- cd "${WORKDIR}/test" || die
- unpack "${GH_P}.gh.tar.gz"
- fi
-}
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # strip old-style namespace
- rm google/__init__.py || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=()
- local EPYTEST_IGNORE=(
- # TODO: figure out how to build the pybind11 test extension
- google/protobuf/internal/recursive_message_pybind11_test.py
- )
-
- case ${EPYTHON} in
- python3.11)
- EPYTEST_IGNORE+=(
- # syntax error...
- google/protobuf/internal/json_format_test.py
- )
- ;;
- python3.14*)
- EPYTEST_DESELECT+=(
- # exception message mismatch
- google/protobuf/internal/json_format_test.py::JsonFormatTest::testInvalidTimestamp
- google/protobuf/internal/well_known_types_test.py::TimeUtilTest::testInvalidTimestamp
- )
- ;;
- esac
-
- cp -r "${BUILD_DIR}"/{install,test} || die
- local -x PATH="${BUILD_DIR}/test${EPREFIX}/usr/bin:${PATH}"
- cd "${BUILD_DIR}/test$(python_get_sitedir)" || die
-
- # copy test files from the source tree
- cp -r "${WORKDIR}/test/${GH_P}/python/google/protobuf/internal/." \
- google/protobuf/internal/ || die
- # link the test data for text_format_test.py
- # (it traverses directories upwards until to finds src/google...)
- ln -s "${WORKDIR}/test/${GH_P}/src" ../src || die
-
- # compile test-related protobufs
- local test_protos=(
- # from src
- any_test.proto
- map_proto2_unittest.proto
- map_unittest.proto
- unittest.proto
- unittest_custom_options.proto
- unittest_delimited.proto
- unittest_delimited_import.proto
- unittest_features.proto
- unittest_import.proto
- unittest_import_option.proto
- unittest_import_public.proto
- unittest_legacy_features.proto
- unittest_mset.proto
- unittest_mset_wire_format.proto
- unittest_no_field_presence.proto
- unittest_no_generic_services.proto
- unittest_proto3.proto
- unittest_proto3_arena.proto
- unittest_proto3_extensions.proto
- unittest_retention.proto
- util/json_format.proto
- util/json_format_proto3.proto
- # from python
- internal/descriptor_pool_test1.proto
- internal/descriptor_pool_test2.proto
- internal/factory_test1.proto
- internal/factory_test2.proto
- internal/file_options_test.proto
- internal/import_test_package/import_public.proto
- internal/import_test_package/import_public_nested.proto
- internal/import_test_package/inner.proto
- internal/import_test_package/outer.proto
- internal/message_set_extensions.proto
- internal/missing_enum_values.proto
- internal/more_extensions.proto
- internal/more_messages.proto
- internal/no_package.proto
- internal/packed_field_test.proto
- internal/self_recursive.proto
- internal/test_bad_identifiers.proto
- internal/test_proto2.proto
- internal/test_proto3_optional.proto
- internal/well_known_types_test.proto
- )
- local proto
- for proto in "${test_protos[@]}"; do
- protoc --python_out=. -I"${WORKDIR}/test/${GH_P}/src" -I. \
- "google/protobuf/${proto}" || die
- done
-
- epytest
-}
diff --git a/dev-python/protobuf/protobuf-6.33.4.ebuild b/dev-python/protobuf/protobuf-6.33.4.ebuild
deleted file mode 100644
index 3ebcbc3454bd..000000000000
--- a/dev-python/protobuf/protobuf-6.33.4.ebuild
+++ /dev/null
@@ -1,154 +0,0 @@
-# Copyright 2008-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Default implementation currently is upb, which doesn't match dev-libs/protobuf
-# https://github.com/protocolbuffers/protobuf/blob/main/python/README.md#implementation-backends
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-GH_PV=$(ver_cut 2-3)
-GH_P=${PN}-${GH_PV}
-
-DESCRIPTION="Google's Protocol Buffers - Python bindings"
-HOMEPAGE="
- https://protobuf.dev/
- https://pypi.org/project/protobuf/
-"
-# Rename sdist to avoid conflicts with dev-libs/protobuf
-SRC_URI="
- $(pypi_sdist_url) -> ${P}.py.tar.gz
- test? (
- https://github.com/protocolbuffers/protobuf/archive/v${GH_PV}.tar.gz
- -> ${GH_P}.gh.tar.gz
- )
-"
-
-LICENSE="BSD"
-SLOT="0/$(ver_cut 1-3)"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-# need protobuf compiler
-BDEPEND="
- test? (
- dev-libs/protobuf[protoc(+)]
- dev-python/absl-py[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_unpack() {
- unpack "${P}.py.tar.gz"
-
- if use test; then
- mkdir "${WORKDIR}/test" || die
- cd "${WORKDIR}/test" || die
- unpack "${GH_P}.gh.tar.gz"
- fi
-}
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # strip old-style namespace
- rm google/__init__.py || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=()
- local EPYTEST_IGNORE=(
- # TODO: figure out how to build the pybind11 test extension
- google/protobuf/internal/recursive_message_pybind11_test.py
- )
-
- case ${EPYTHON} in
- python3.11)
- EPYTEST_IGNORE+=(
- # syntax error...
- google/protobuf/internal/json_format_test.py
- )
- ;;
- python3.14*)
- EPYTEST_DESELECT+=(
- # exception message mismatch
- google/protobuf/internal/json_format_test.py::JsonFormatTest::testInvalidTimestamp
- google/protobuf/internal/well_known_types_test.py::TimeUtilTest::testInvalidTimestamp
- )
- ;;
- esac
-
- cp -r "${BUILD_DIR}"/{install,test} || die
- local -x PATH="${BUILD_DIR}/test${EPREFIX}/usr/bin:${PATH}"
- cd "${BUILD_DIR}/test$(python_get_sitedir)" || die
-
- # copy test files from the source tree
- cp -r "${WORKDIR}/test/${GH_P}/python/google/protobuf/internal/." \
- google/protobuf/internal/ || die
- # link the test data for text_format_test.py
- # (it traverses directories upwards until to finds src/google...)
- ln -s "${WORKDIR}/test/${GH_P}/src" ../src || die
-
- # compile test-related protobufs
- local test_protos=(
- # from src
- any_test.proto
- map_proto2_unittest.proto
- map_unittest.proto
- unittest.proto
- unittest_custom_options.proto
- unittest_delimited.proto
- unittest_delimited_import.proto
- unittest_features.proto
- unittest_import.proto
- unittest_import_option.proto
- unittest_import_public.proto
- unittest_legacy_features.proto
- unittest_mset.proto
- unittest_mset_wire_format.proto
- unittest_no_field_presence.proto
- unittest_no_generic_services.proto
- unittest_proto3.proto
- unittest_proto3_arena.proto
- unittest_proto3_extensions.proto
- unittest_retention.proto
- util/json_format.proto
- util/json_format_proto3.proto
- # from python
- internal/descriptor_pool_test1.proto
- internal/descriptor_pool_test2.proto
- internal/factory_test1.proto
- internal/factory_test2.proto
- internal/file_options_test.proto
- internal/import_test_package/import_public.proto
- internal/import_test_package/import_public_nested.proto
- internal/import_test_package/inner.proto
- internal/import_test_package/outer.proto
- internal/message_set_extensions.proto
- internal/missing_enum_values.proto
- internal/more_extensions.proto
- internal/more_messages.proto
- internal/no_package.proto
- internal/packed_field_test.proto
- internal/self_recursive.proto
- internal/test_bad_identifiers.proto
- internal/test_proto2.proto
- internal/test_proto3_optional.proto
- internal/well_known_types_test.proto
- )
- local proto
- for proto in "${test_protos[@]}"; do
- protoc --python_out=. -I"${WORKDIR}/test/${GH_P}/src" -I. \
- "google/protobuf/${proto}" || die
- done
-
- epytest
-}
diff --git a/dev-python/protobuf/protobuf-6.33.5.ebuild b/dev-python/protobuf/protobuf-6.33.5.ebuild
deleted file mode 100644
index 3ebcbc3454bd..000000000000
--- a/dev-python/protobuf/protobuf-6.33.5.ebuild
+++ /dev/null
@@ -1,154 +0,0 @@
-# Copyright 2008-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Default implementation currently is upb, which doesn't match dev-libs/protobuf
-# https://github.com/protocolbuffers/protobuf/blob/main/python/README.md#implementation-backends
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-GH_PV=$(ver_cut 2-3)
-GH_P=${PN}-${GH_PV}
-
-DESCRIPTION="Google's Protocol Buffers - Python bindings"
-HOMEPAGE="
- https://protobuf.dev/
- https://pypi.org/project/protobuf/
-"
-# Rename sdist to avoid conflicts with dev-libs/protobuf
-SRC_URI="
- $(pypi_sdist_url) -> ${P}.py.tar.gz
- test? (
- https://github.com/protocolbuffers/protobuf/archive/v${GH_PV}.tar.gz
- -> ${GH_P}.gh.tar.gz
- )
-"
-
-LICENSE="BSD"
-SLOT="0/$(ver_cut 1-3)"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-# need protobuf compiler
-BDEPEND="
- test? (
- dev-libs/protobuf[protoc(+)]
- dev-python/absl-py[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_unpack() {
- unpack "${P}.py.tar.gz"
-
- if use test; then
- mkdir "${WORKDIR}/test" || die
- cd "${WORKDIR}/test" || die
- unpack "${GH_P}.gh.tar.gz"
- fi
-}
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # strip old-style namespace
- rm google/__init__.py || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=()
- local EPYTEST_IGNORE=(
- # TODO: figure out how to build the pybind11 test extension
- google/protobuf/internal/recursive_message_pybind11_test.py
- )
-
- case ${EPYTHON} in
- python3.11)
- EPYTEST_IGNORE+=(
- # syntax error...
- google/protobuf/internal/json_format_test.py
- )
- ;;
- python3.14*)
- EPYTEST_DESELECT+=(
- # exception message mismatch
- google/protobuf/internal/json_format_test.py::JsonFormatTest::testInvalidTimestamp
- google/protobuf/internal/well_known_types_test.py::TimeUtilTest::testInvalidTimestamp
- )
- ;;
- esac
-
- cp -r "${BUILD_DIR}"/{install,test} || die
- local -x PATH="${BUILD_DIR}/test${EPREFIX}/usr/bin:${PATH}"
- cd "${BUILD_DIR}/test$(python_get_sitedir)" || die
-
- # copy test files from the source tree
- cp -r "${WORKDIR}/test/${GH_P}/python/google/protobuf/internal/." \
- google/protobuf/internal/ || die
- # link the test data for text_format_test.py
- # (it traverses directories upwards until to finds src/google...)
- ln -s "${WORKDIR}/test/${GH_P}/src" ../src || die
-
- # compile test-related protobufs
- local test_protos=(
- # from src
- any_test.proto
- map_proto2_unittest.proto
- map_unittest.proto
- unittest.proto
- unittest_custom_options.proto
- unittest_delimited.proto
- unittest_delimited_import.proto
- unittest_features.proto
- unittest_import.proto
- unittest_import_option.proto
- unittest_import_public.proto
- unittest_legacy_features.proto
- unittest_mset.proto
- unittest_mset_wire_format.proto
- unittest_no_field_presence.proto
- unittest_no_generic_services.proto
- unittest_proto3.proto
- unittest_proto3_arena.proto
- unittest_proto3_extensions.proto
- unittest_retention.proto
- util/json_format.proto
- util/json_format_proto3.proto
- # from python
- internal/descriptor_pool_test1.proto
- internal/descriptor_pool_test2.proto
- internal/factory_test1.proto
- internal/factory_test2.proto
- internal/file_options_test.proto
- internal/import_test_package/import_public.proto
- internal/import_test_package/import_public_nested.proto
- internal/import_test_package/inner.proto
- internal/import_test_package/outer.proto
- internal/message_set_extensions.proto
- internal/missing_enum_values.proto
- internal/more_extensions.proto
- internal/more_messages.proto
- internal/no_package.proto
- internal/packed_field_test.proto
- internal/self_recursive.proto
- internal/test_bad_identifiers.proto
- internal/test_proto2.proto
- internal/test_proto3_optional.proto
- internal/well_known_types_test.proto
- )
- local proto
- for proto in "${test_protos[@]}"; do
- protoc --python_out=. -I"${WORKDIR}/test/${GH_P}/src" -I. \
- "google/protobuf/${proto}" || die
- done
-
- epytest
-}
diff --git a/dev-python/protobuf/protobuf-7.34.0.ebuild b/dev-python/protobuf/protobuf-7.35.1.ebuild
index 9c8a2178cc2c..9c8a2178cc2c 100644
--- a/dev-python/protobuf/protobuf-7.34.0.ebuild
+++ b/dev-python/protobuf/protobuf-7.35.1.ebuild
diff --git a/dev-python/psycopg/Manifest b/dev-python/psycopg/Manifest
index 0592bcbfe710..f455776795fd 100644
--- a/dev-python/psycopg/Manifest
+++ b/dev-python/psycopg/Manifest
@@ -1,3 +1,2 @@
-DIST psycopg-3.3.3.gh.tar.gz 610053 BLAKE2B 4fbb34ea6f6c02eea6c140743f0e81629e57cf01b82eac26e603af9be7a3bee1f9e31044acb91ff26fab5cbc2edcb584629699dd6753980753f742a0a0ded34f SHA512 40d27d978c4c25384d2572a8b7603fd040f7edccc427c7f4db889a7e949a679afe57ce4effda86c06be899892ff191ee73161020ef364b80f57c3ccee4bf31ab
DIST psycopg-3.3.4.gh.tar.gz 611451 BLAKE2B 5c15f36c1fd291d1ef58c22fbb6af2c4da0a38e5c05cb40b50e06471b834924a7c55d322e335457f3a017cd31b3900ec5bd1694b6e293e5e3c740be68a9aa66c SHA512 4cfeeb118088d704c6ebd17f42916b77825e89827411116a5e9ad813e756b71969c800179aa7337a1fcb379efde937c8d33c828b87305d5bb63ef06e66185b83
DIST psycopg2-2.9.12.tar.gz 379683 BLAKE2B bb5e5cdee0fef649c46d414b916d6f49096c27571897cfe1ecbaa9416c8c4f8c79eeff94a3475421981e3659a123e8e8852442968539d084e7cc46c54829c946 SHA512 0d37b51408298baad8b2b095af24b1c0d0b67ba99a2532ed7344a931c6f4d431be9c21c94811eace1b4418899f070f80e80266bfe0386aac2e64289ab1b8862e
diff --git a/dev-python/psycopg/psycopg-3.3.3.ebuild b/dev-python/psycopg/psycopg-3.3.3.ebuild
deleted file mode 100644
index 9617f756b6fc..000000000000
--- a/dev-python/psycopg/psycopg-3.3.3.ebuild
+++ /dev/null
@@ -1,123 +0,0 @@
-# Copyright 1999-2026 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_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="PostgreSQL database adapter for Python"
-HOMEPAGE="
- https://www.psycopg.org/psycopg3/
- https://github.com/psycopg/psycopg/
- https://pypi.org/project/psycopg/
-"
-SRC_URI="
- https://github.com/psycopg/psycopg/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos"
-IUSE="+native-extensions"
-
-DEPEND="
- native-extensions? (
- >=dev-db/postgresql-8.1:=
- )
- !native-extensions? (
- >=dev-db/postgresql-8.1:*
- )
-"
-RDEPEND="
- ${DEPEND}
- $(python_gen_cond_dep '
- >=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}]
- ' 3.11 3.12)
-"
-BDEPEND="
- native-extensions? (
- dev-python/cython[${PYTHON_USEDEP}]
- )
- test? (
- >=dev-db/postgresql-8.1[server]
- >=dev-python/dnspython-2.1[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( anyio )
-distutils_enable_tests pytest
-
-python_compile() {
- # Python code + ctypes backend
- cd psycopg || die
- distutils-r1_python_compile
-
- # optional C backend
- if use native-extensions && [[ ${EPYTHON} != pypy3* ]]; then
- local DISTUTILS_USE_PEP517=standalone
- cd ../psycopg_c || die
- distutils-r1_python_compile
- fi
- cd .. || die
-}
-
-src_test() {
- rm -r psycopg{,_c} || die
-
- initdb -D "${T}"/pgsql || die
- # TODO: random port
- pg_ctl -w -D "${T}"/pgsql start \
- -o "-h '' -k '${T}'" || die
- createdb -h "${T}" test || die
-
- local -x PSYCOPG_TEST_DSN="host=${T} dbname=test"
- distutils-r1_src_test
-
- pg_ctl -w -D "${T}"/pgsql stop || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # tests for the psycopg_pool package
- tests/pool
- # some broken mypy magic
- tests/test_module.py::test_version
- tests/test_module.py::test_version_c
- tests/test_typing.py
- tests/crdb/test_typing.py
- # TODO, relying on undefined ordering in Python?
- tests/test_dns_srv.py::test_srv
- # requires pproxy?
- tests/test_waiting.py::test_remote_closed
- tests/test_waiting.py::test_wait_remote_closed
- tests/test_waiting_async.py::test_remote_closed
- tests/test_waiting_async.py::test_wait_remote_closed
- )
-
- case ${ARCH} in
- arm|x86)
- EPYTEST_DESELECT+=(
- # TODO
- tests/types/test_numpy.py::test_classes_identities
- )
- ;;
- esac
-
- local impls=( python )
- if use native-extensions && [[ ${EPYTHON} != pypy3* ]]; then
- impls+=( c )
- fi
-
- local -x PSYCOPG_IMPL
- for PSYCOPG_IMPL in "${impls[@]}"; do
- einfo "Testing with ${PSYCOPG_IMPL} implementation ..."
- # leak and timing tests are fragile whereas slow tests are slow
- epytest -k "not leak" \
- -m "not timing and not slow and not flakey"
- done
-}
diff --git a/dev-python/psycopg/psycopg-3.3.4.ebuild b/dev-python/psycopg/psycopg-3.3.4.ebuild
index ee8c0e9246bc..9617f756b6fc 100644
--- a/dev-python/psycopg/psycopg-3.3.4.ebuild
+++ b/dev-python/psycopg/psycopg-3.3.4.ebuild
@@ -22,7 +22,7 @@ SRC_URI="
LICENSE="LGPL-3"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos"
IUSE="+native-extensions"
DEPEND="
diff --git a/dev-python/pwdlib/Manifest b/dev-python/pwdlib/Manifest
index caf7856e8b1d..ce7c5e3a315e 100644
--- a/dev-python/pwdlib/Manifest
+++ b/dev-python/pwdlib/Manifest
@@ -1,2 +1 @@
-DIST pwdlib-0.2.1.tar.gz 11699 BLAKE2B 79913b1d4b52b5813defee6130707bd0444c106b1aa9b5a8a455cf0f61c42fc8878eb77b139d8cd3deae73483e570cc932b78db63347ed236d17e1af73fe5a06 SHA512 82d43867cda32faece5a21c4b348945ed25ee10ab49517f9d3a7200d0c3bc89010ffbdf9893accfcee366ea351fde9da40cbcf172be6dcc9828f1af614251864
DIST pwdlib-0.3.0.tar.gz 215810 BLAKE2B d25c97dc5e8ca20a816b8ce823eccb5ae666e0b3d45582eafe230a70680bf84db092028425e2e0854b819a60847fa8f6d48a3ecaec290ddbfea019508ce5881e SHA512 0bedb03f588d8b9f6413a5e660f11ee85f5f608dc96bf2a7de12953339db83b347741f7e783c5a939f5fec0057b80b923a0785c9ef89865236efa0adca7df98c
diff --git a/dev-python/pwdlib/pwdlib-0.2.1.ebuild b/dev-python/pwdlib/pwdlib-0.2.1.ebuild
deleted file mode 100644
index a19bf0c6714a..000000000000
--- a/dev-python/pwdlib/pwdlib-0.2.1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Modern password hashing for Python"
-HOMEPAGE="
- https://github.com/frankie567/pwdlib/
- https://pypi.org/project/pwdlib/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-BDEPEND="
- test? (
- dev-python/argon2-cffi[${PYTHON_USEDEP}]
- dev-python/bcrypt[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # no coverage please
- sed -e '/[tool.pytest.ini_options]/,/^$/ { /^addopts/d }' -i pyproject.toml || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/pyamg/pyamg-5.3.0.ebuild b/dev-python/pyamg/pyamg-5.3.0.ebuild
deleted file mode 100644
index a145f2a12b04..000000000000
--- a/dev-python/pyamg/pyamg-5.3.0.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2026 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_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Algebraic multigrid solvers in Python"
-HOMEPAGE="
- https://github.com/pyamg/pyamg/
- https://pypi.org/project/pyamg/
-"
-SRC_URI="
- https://github.com/pyamg/pyamg/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-DEPEND="
- dev-python/pybind11[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
-"
-RDEPEND="
- dev-python/cppheaderparser[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.11.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${DEPEND}
- >=dev-python/setuptools-scm-7.0.0[${PYTHON_USEDEP}]
- test? (
- dev-python/matplotlib[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # invalid with >=setuptools-scm-9
- sed -i -e '/version =/d' setup.cfg || die
-}
-
-python_test() {
- cd "${T}" || die
- epytest --pyargs pyamg
-}
diff --git a/dev-python/pycotap/pycotap-1.3.1.ebuild b/dev-python/pycotap/pycotap-1.3.1.ebuild
index 44b5a82f3c8a..d23372043f42 100644
--- a/dev-python/pycotap/pycotap-1.3.1.ebuild
+++ b/dev-python/pycotap/pycotap-1.3.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2025 Gentoo Authors
+# Copyright 2025-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-python/pycurl/pycurl-7.46.0.ebuild b/dev-python/pycurl/pycurl-7.46.0.ebuild
index 4f336852b569..6e6a3d286743 100644
--- a/dev-python/pycurl/pycurl-7.46.0.ebuild
+++ b/dev-python/pycurl/pycurl-7.46.0.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="LGPL-2.1"
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="curl_ssl_gnutls +curl_ssl_openssl examples ssl"
# Depend on a curl with curl_ssl_* USE flags.
@@ -43,12 +43,12 @@ RDEPEND="
BDEPEND="
test? (
dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
net-misc/curl[curl_ssl_gnutls(-)=,curl_ssl_openssl(-)=,-curl_ssl_axtls(-),-curl_ssl_cyassl(-),http2]
)
"
-EPYTEST_PLUGINS=()
-EPYTEST_RERUNS=5
+EPYTEST_PLUGINS=( flaky )
: ${EPYTEST_TIMEOUT:=120}
distutils_enable_tests pytest
diff --git a/dev-python/pydantic-core/Manifest b/dev-python/pydantic-core/Manifest
deleted file mode 100644
index e32dea8f5dca..000000000000
--- a/dev-python/pydantic-core/Manifest
+++ /dev/null
@@ -1,93 +0,0 @@
-DIST ahash-0.8.11.crate 43607 BLAKE2B 7dff8e41798ba25df8c4827ff414a182bb25da4825f0119a74916fe775db5445b87be8fc87f7c7f98d3b5053e1d47546f98873de1a942d36e5f308a3fb7dd620 SHA512 47d211b2422de0b381dfe32229faa346406eb7a22dff867dc04c22389609a8671ce3218e662000c49891a06c259d82e0ff4413740f007729d80e097a6c3f0d9d
-DIST aho-corasick-1.1.3.crate 183311 BLAKE2B 8dfcbba0b9d94e55eae739b16f5c6474baa43ee7854c5ca792f426a9f46fb0eece79cd493b804e51449181bcad338b96819fe977c02c9907654d713e26b9f830 SHA512 ba422a54688c4678fcf16e34fdf3ed06c333e6e3fc8b75af9272a215add494d43ebaef319021134b61327fd5d3572aec0dc655b714ffb3bc71ba3c265c9ebb69
-DIST autocfg-1.3.0.crate 16524 BLAKE2B 7d5a03853d6b4f0da08d8e139fb200da21e47fa7e50d1956270d0ff0cc496f660f8f800122c95eee9ba98d9210ab200c3010b782097483d12d6be4ac0df0e7c9 SHA512 a5570b955d57a7183ba148b335837dc5af24b202e80681027536d33fe2822509ba644fc70c29f018c893285ced2bf6774f44ca6c59f7c7e2226d5349cf7c3635
-DIST base64-0.22.1.crate 81597 BLAKE2B 6f216a560bd36e6e6b74e908344b457594cc768d9763070e269b56a14b150cbfc4b7f599d4c2a0a5f783638170ee132f0796fefb14fcac7fd73c58db0791007a SHA512 91cf2e4e7fc8815f9b8a86a7fa722a20eee3dc1dd57111b29e420de87ce7836bcdb1db01d3cafb9a977710ef63e7cc41b7772762323e68e0e832156858aace20
-DIST bitvec-1.0.1.crate 224375 BLAKE2B 9f109db6888cf73d69646911cc1c9e90535e54a7afc436d878bbc63ca20a30cc6e5b5b5cd42aa78c38df5a4012454769c126f9072f39d58bdd09e54887ba6d9f SHA512 83d643c5aca020ebbe9094b5aaba6a796e7c3c509228a4348444e57a06bc3a5dd042eed57a2254d91661e73bdab2bc0d1bd02be376906acc6b6d75b5354a8d8e
-DIST cc-1.0.101.crate 79446 BLAKE2B fbecc04723577abd209d16c34269b5ac2652fbd5385838190c744abf573912fa7a062e2fcf1dc76486c5b61677225a826a65dbd6eca58398ff60ddd1e47a3caf SHA512 6edaf3dcc2e58dffd7221a6b457057c83bdec03b6fad9cbd2d702af6820fd8354fdb3960cd78d8b38568ef408171354f0313f17a32f0caa64f97736c0840a148
-DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
-DIST displaydoc-0.2.5.crate 24219 BLAKE2B ba3396c93d27a99a92ff4a0f01a8d192b419bad25e48d9427b76260ebf2f9982291d77f2eb24d239c0b1fbb097e866a20bc46dc1879fdfc6637ea49928444a92 SHA512 5ca35fa59f263162389c1180331e9df607d9374bcb056cb04bc46c98e4d87277162ddb2335ffa8a8c5f69218abc3eabccdcaa71c21b8dd9081cc4146f266b948
-DIST enum_dispatch-0.3.13.crate 29876 BLAKE2B 8fa66a72b1f35e174abcc8266e8a36e835923a1b31aa2fbbbbefe3bcf1287bb01b456597915c0a36a9ab7e6a6cd0ce7ebae38c09028ceb9109b7d18f26f023df SHA512 9ff73db5852d8c515f8f3beae0e62ac3845b42fb39a2ecdcda50e44535e9183790406652024e3f968ecbf4413488a02344831c45498294ba97c345b31e1d0782
-DIST equivalent-1.0.1.crate 6615 BLAKE2B 302d78069d9df05e78b53f0488a9e4eb98fa2bc1e21893dc8a0acf2234347ba7c4df4b9d6b380ae77d8ffb1074b9c790460fe2dae47318aa1c4fe4208244540a SHA512 b2bc60e804c1b02c461dcefcfd60fc37145af710d183ebe65f9a4d63f2b2072d23193f98dc550a9213c7fdc6a2a837af23b04a89294ebbb681a4aaf5d5031140
-DIST form_urlencoded-1.2.1.crate 8969 BLAKE2B 383d3a197b73fba199220b7708e16d770591ac16725faf4efc1a8c230c569c381870d4a11b8fba623e761e68f9d318630b22101d461e67dd26c67e13a73358a1 SHA512 c65104e2dc08fad572bb31f981700fd43dd29fcff42b01c7ccdbd3d4c23dec12360aed3f1b5fc4766fee386d418a65349b2941b8735f788cb0d35d631a6a8dd1
-DIST funty-2.0.0.crate 13160 BLAKE2B db6315d63fffe9f70698da0b1b0e4aea4b509242c60e6639f00303dad8d2ba60c6c1c04fe9289695b7aa2d7a0c90c31fba72656afa7ad111b77358772b14a9f5 SHA512 691e1c275b648110ef42c4adece8178cf037bad40d469780280eb2ebe07aa4b0406737c5ba02c9f9f63ee57a99fec27e5e51712e2113655f7522c8678f689155
-DIST getrandom-0.2.15.crate 37163 BLAKE2B 7d534e799a4711d01c6553b8c9422dbf01e384a850fb0f7cd76e444628f2b96d28d0f5e8dae042f8081a2bf9340f57c558be50a6f22ed5fa6b0301a15898fb35 SHA512 04789a53d3f4a84862e1e8b2113641af67e471b468de1222470d5e6cef0015232463a2cf3c3518dc2a533b3983b175a7c8922da00665bcf71c1e4e279b67e6fb
-DIST hashbrown-0.14.5.crate 141498 BLAKE2B 7d7f31b6377c901de12f78f0004a347e3e3b948b1336a54b6abd8dd2210db0ac415efcdded421a00723f16563a7b833b5d1db3cad5c12cac916e273bf3e588b3 SHA512 215ea860bd3de80e2dd2d4647c9dd31c0ac895ea7c08b87256dc11d36407e412ffefaebc6cdbec024057dd4f24b3762b4fe427be307e15d1e68ccfde89a99742
-DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
-DIST hex-0.4.3.crate 13299 BLAKE2B deab49bf3d97f6fd7c0a0855b50232422443b226362bc7a4a19e57c2e662fff2cb046d4c5bd7618ddd523045f3d8c78754508f862f9a8ca29ca9247da6d6ec79 SHA512 fd8ff33b68eea2d6f2c6b02a6d82a2807cbcdc209ca5a76e3e3e5d006917ee151f236b6d18e2646cc9a9674bcdda1d6ce6ee363a89cadd99bef00d0eea9989e6
-DIST icu_collections-1.5.0.crate 82762 BLAKE2B ab89336790ceafe62dd72f0aaef16a6eb47fa5e41424ed990e6c059ad431cdb3dcea943436aed0bf9c6eabd7aba12d255a2233fbbcf9cf5f666ef1dfd5b79a16 SHA512 127f1c91101ba69405b10a2590579606df766166fcf1fe6aa9a74c4900296425cba5c47a391a53a01b02026af5581f068fce4a7a400179809f7ed9922b94c0db
-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_data-1.5.0.crate 50561 BLAKE2B c7b8c5751c6d6df03b23d63855335ef67b34a0b13b15f1f8a8986943b5131874f5205155889e12253692b39918256fe2cfed70dfe2087011683ab9165a5fd786 SHA512 222fbb819791fb4ec7889e45ed3032ac8d4753e2e9cdce9d0b3f79128baca5ce64157a8a58ecdf39cfddb6c2395001e3cc8828ed51803e85cae133c247cb338f
-DIST icu_properties-1.5.1.crate 64479 BLAKE2B be7d3a1663664095f4af654723ebc74f385a6423fbd3acad325ba0d6188dce9d9321eb323c1b1d8e6d75fc9aaef3d873b609d7049525d2402456c6331bcbf486 SHA512 7e347c0a02a41a3add950290bee90a339091a713546d4369c2995022e64f127f54204b0d46cbb88f396b3bccbd4cf12720a93d8551b73926f78fd5ec01829cac
-DIST icu_properties_data-1.5.0.crate 227993 BLAKE2B 3b3141507077dfdeb4f89316e63e1a651fc5570cda58c6c2d566130858ff67f900c3b151113e6303962fedf1d6b6d617601b21a08c4c0c98e6bf135aace6f299 SHA512 c651d0a50c229acafa648ce234a73bc1d0a85a8bf2369fdadaa62badc741c35e8a7d5392fb1bdb7b720fe2e0f883d1309c78de4ba913691969e5367a4e8bafac
-DIST icu_provider-1.5.0.crate 52722 BLAKE2B b1e53ac677e2db5870df0a91de405ebbc635c3f7931960f3bd744b57350c7536116f3861d4177faed2145b79c1c957d79815fadc2dc85faa656a1f0bb338a16d SHA512 6c11d89c7d2b788a44757f02b0e298b558ebe174fe917664401d91109cdc7bd1aba5526b3cdcee1f066018de1b775bc9dfc294bdfb40476c53d552bd6f29d6a1
-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 indexmap-2.2.6.crate 82420 BLAKE2B fac5cf6339dc3c0a40b100035a5c874cc7b2efeafeb31c51488d25156e392dc9db86a497e76eead351d2126f69d060422faa9c55d73407a0de9f5be18d234123 SHA512 53211c4a9003d751feb6dcdf1a76495764cbf32d24bbfe2be7023946622ef4f2b07a6de57109e5d24ee01892f4b2be0e0692e10cd31fd39c4ffdff4d37abe9ea
-DIST indoc-2.0.5.crate 14396 BLAKE2B fe838c6a855d6ff7396675a3fe9b2e0b06a93cfd4013b0b843d24d2fb81f6566528bfd1753c649646f06cb7e59262bd6ec3ed79d4e6f01d740cf0682355f2e5a SHA512 095fb56a3d87946c42a63065a8b276c2d4b9b835800014b400bb987593bf56701bad9f55d947f090740fdb7641a4f3c87fe8bfa5724709e95254d1e8e2e3616f
-DIST itoa-1.0.11.crate 10563 BLAKE2B 94da07e0f7f2535d0b1491b3a3c64905274b315ffd35ec8e9a3e36e26cd7211733b462eefb5208963e388345f65be9694804c344a6132b2b595b0bc716c0b328 SHA512 7e22dffac34c9c9f432daef395e0ec710ed658164bc9cd9fc6445c9f984c912a10bac556214a026bcddbe27a3197b35b0c87d6709fd605062637d086b2d20311
-DIST jiter-0.9.0.crate 149952 BLAKE2B e2709be1213cdf022141126f4700d2a3041241681c789df1accb26293334e3b9e86610459a6315e4a84c8d92ffa0e2c4c0e5e284aef66fd8b26893df20d42507 SHA512 2abbd018fb13e939068fc1f3b24d732a624c9776cb1ab712a3b6f0f00f4bb376a9919a0bfa57b33a84b7f35db318e0d4bb9f53780a3538a495fbfc6067fd1065
-DIST lexical-parse-float-1.0.5.crate 186731 BLAKE2B 145c7cda05e7f1c949a693e77df96f6eaedb7005d864a819e522a787d05102c44352a28ac1e4598162841214bc3f1350ed121e30ca6aa5e243dc78ef1a64fa05 SHA512 3785bac5f2694febf1ce5f094ff04dc032fc1adf992949087bb18f8316fdaf416701365b34defd2529012d077032fe62ba32f898a6dfad7eefb8b7b59a06742e
-DIST lexical-parse-integer-1.0.5.crate 36912 BLAKE2B de63a3241c79a79b12fcc7ac515812bcd17cbd74c10bf0e2d329f4630218001118424b7016918cdfcbe27d5cbb77caf7f6c759883dea4e957d28e44437427cb7 SHA512 3239abf7200d3c480f19848d197168dea36428b1edfa565e21a568642400a32136020b2308a81f55aeaee9f8c7db448d913b1971eab4f146ef2c1a7e29cc9715
-DIST lexical-util-1.0.6.crate 106117 BLAKE2B 751538c250e353a28b56c3881ee1ea10dda53847cf75fe0be7023d08dbf189f7f2e765033f5d08a272adaf59264355679075f18db7db24a265629fb0e397986c SHA512 6df0a49097809351fb798cffe783173b357bdd420de035a4eff34ee7b4e8f350d8ef7de976e3393c0e00df1cb6809212a5e0630a7915e9cf937ec532e9faeae6
-DIST libc-0.2.155.crate 743539 BLAKE2B 42cdcf8d4a187383548b1f09d404474f168916d626d614463fe10a1fd886e972e1caf6297e75445214af3f31fe631d0927e54ec1cdc63e20082b3587e38dce16 SHA512 05354bba532b8338bda1f88f12c7f3893429734a06e33925fca2b99d49548ae5216e2cd84e782d2368a2dfef20b0e035e2dcad8dd13ede7119462a8c639b2807
-DIST litemap-0.7.3.crate 28728 BLAKE2B 00a04ca0e4e774b317218ab990da4c6ca1f342bbf229957db51801f8ec36339b665133bfe3847ca68a40d901d78d87e0041e09f0740898ac38ea3c8504309c31 SHA512 2c3bc6c4cbf6609f3cc2d986e701d23b73f5bac55995887c90aed01bf4392a42c718a69c0050296fa635a46f7cc9ef3dd6c6a2a505d3cccc690899aa345455a8
-DIST memchr-2.7.4.crate 96670 BLAKE2B da38114beca670467c3e1fbf4e415af6f22d52e3223715d52e181babb89b872b46511563985bcc16d7ff4e82f812c6e83ad904b0fe2501b14445119dfa8240e6 SHA512 8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2
-DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa
-DIST num-bigint-0.4.6.crate 102801 BLAKE2B 0460e7dfdbd44b6c68fc8ead6bff4353e549127158dab8bb5d217ee33104fe9ad5f58b63a01d56fffa8d7c4df1a87dcf5b536e436a0ef98dc4418a4690c4cc15 SHA512 19d14a7755de2b559026547d9e3e1775e636781bdfdd418f2e1d962c51411a0973a46d84d0356e30c0f708a7c7b2097926611960043f71391919cab1aeb6aa04
-DIST num-integer-0.1.46.crate 22331 BLAKE2B d88c9f84e5d803a3aa8f44dfc1bd6d9b5e336e7cbf47231cb3a7de30dfe263c41c62c586d31f0029459c8c240475cd329b3fce79f355be7643bdccf8d56dcbba SHA512 e27986d91f6c6dc3d5a0900defe28ab5f47905cde3f84d0914b7acee076dca8fec6fdb7b631ac94d3a31eb01ecbc5854e51afc3187cd1abfa21e1bfafdc700ae
-DIST num-traits-0.2.19.crate 51631 BLAKE2B 78637360cbf32d172510a62bd9442708af9730c0296a2bb4ebd200c08facd49bc31bf8ddd58967e0df7273a938832b620265d9f8f4d26ad16049bf6dac1cb4e5 SHA512 180018a5eceb45085e4e8d103ff21bb4d5079cea874c42a0ad4c76c99d275d434bbc1cc289f0cdec172866daa89dbfe0871410b2cc3407233fe1129786905956
-DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c
-DIST percent-encoding-2.3.1.crate 10235 BLAKE2B cf8e2fd7b359a05b7bdaf731f9ae84c7fe6f468a53482eb2db7f93dfdaab64ac812b3664899db260055a93449462e6d219c695942fc5b030517b197b4df9b95f SHA512 5951ea8315e52cf3acfbaa023cb9e13a136b114c54a7da0bd44619ae24cd2159d4a96469d7572a2fdabd94e19513a033387117d7ca81d0eb409fb383e4acda44
-DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c
-DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434
-DIST pydantic_core-2.33.2.tar.gz 435195 BLAKE2B 8ac251da2eb8b9f4e54a55ca79945f18d5a229c76386b6076bc3c7e33f2a18f4e47b430afc952b4b19e48d3d5bb8d7b8ad1aca012a8b0707445c06c00a649a0a SHA512 253609ca32aa0a1f0e15271982494832e02f2b4e072439d9a9372ead3d914edf60d6ab50e38bbeea17c233eb20a938948631e1c704bc31785d7e81442d043893
-DIST pyo3-0.24.1.crate 1113050 BLAKE2B 5a203f8c845b08b40ed64561d385d2e4134a38916723ef6b0b4be8f44fa9de594c4eca138c318ad83a156f66273b20b55acb19897dca3eba5d479e6333be815e SHA512 6c2a8f9d554a3cf151a796ee20610b596ebdbf9e642d6b2ddc35d0142841d7be51e739ddef4332cfa8c4625c972d9705eae5f694b4d8907882bec4add7c6c6ed
-DIST pyo3-build-config-0.24.1.crate 34020 BLAKE2B 34ed5a2385de138fde0308439c5fcd8a92a48b215b41799838d5b3106b0845f70023ccd97d60c39cea4729cd8bd850e1ef4e372ac332a06037dc5dd574b09834 SHA512 6008f6737685882b2fd958fcc5f171c0ddc10520631904ca759f857117241dc0a648d4cf30d9a84483662bfbc435eccc3deed9981f98b88016b12a5944ae3ff7
-DIST pyo3-ffi-0.24.1.crate 76435 BLAKE2B 1fc7b122f0c1064382bf304491617abfd5a8f275ab7511cf31ed892576728b7b55814ea454761bb0fb4d01e263daf8f2c302504fc624970fc9940a5a2cb143fe SHA512 b06265f3852f419a2a788fef049cf9032a5dd4fa6ca818d8d5ceae24b3642164497c61e67492a6576f1c8b22d66e2d887b295c48317fee94f8db8e14de25a71e
-DIST pyo3-macros-0.24.1.crate 8866 BLAKE2B 48436f5f1a6a6e93d916873be5e18cfdc892d59479e4963f267d2a1805bd134eed6890d53915fdafa8ff93c7458d136b57fbf783bee18f34a6087f7819c9dd92 SHA512 7b9fc55232284d7b138e3e9c9a9c864a1b0d9b5317c3263a057df5dc1976087e934558d6c046d784735e063f1009df35b91776c850ad709800ca8b2be8e993d8
-DIST pyo3-macros-backend-0.24.1.crate 72588 BLAKE2B 35f1810f5d1da5b5f0b5533d0c9e832ea7c7a7a5be20711d9694b84aad62d13b8a9a1c498c61a9a1f2679fda7d25bf508536d38cded43520ed97524681dcfabe SHA512 8378154aa74c75a4d4533de673515298d8ada8377feb687694688bcf21fc5c2bcf856c2db7ce172cb038936b407e57a665ad6c3b9ce1a499a474e54c6bf119ff
-DIST python3-dll-a-0.2.13.crate 85018 BLAKE2B 4531172b7e985041fe3cf7d164c67dc74e5974fbdbc80f1b7fb5e351d8115cda0a7a8f64c037ff7fcf4c20918fa2a53a29c8784035c571e0c46be39cdc7faff4 SHA512 01438c7af7a936ae6b95e1b81f4596627043a4b02eea85241a18ed137c23dff644f3e8d8eeb45b8e64ef1fd2693ab47fde47b6341dfc56f6c4eca032da46647c
-DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685
-DIST radium-0.7.0.crate 10906 BLAKE2B d576e0ea5c5287bcb6740cee3a3838b6ae4dfdef0ef05d34634b96dba5159e48260233db57a767c9e032fa5d9a5798361335cb19f7844f450113ece30ffbc51d SHA512 51e23cf52997b46c0018a94b0259b29d7bf33ddba19f6db406ca57ee5b1417d7e5f27dda3bb487d0099886011a97f238e8b3dd4d6c86e8464c0b471c1a7622a0
-DIST regex-1.11.1.crate 254170 BLAKE2B 5cf41012fc2ba8a006c0eb4a922cbbf1614bf300be361c9e2d98956a9a5e9b140e37bea09132fab7bfb633d4439158723624bcf45e8c619c4061b399253c1b82 SHA512 d065f6dc405771518260425f39a5eaaf8cab62e78c91ceed3b3994a9a121674d2484cadaaf816bdad89c87a40550d57b66a3d9de6618a7119a658301ce7e67d8
-DIST regex-automata-0.4.8.crate 617784 BLAKE2B 7535c79f6ddf1b1225e21171921594dcf32fc3afd47519d2067b2047b19070cb7e6fdfd1563b884fec6f91dd568522fc95d85bf095c11f8c02daeac128c45020 SHA512 278e3e2ab230ed5fa7d4837e8ea879fae68ebf35c2da5cc3a67f46b7d593abbcf71e6326a0cf34e38edc0f3f2166ff42a4fcc17a400d9604429aa5b4be075a3f
-DIST regex-syntax-0.8.5.crate 357541 BLAKE2B fc6d125f7a8574c37d81c75cbfd447cbcff736f2d9991b19814ffc1a414ebc5b76e84fb8fd36c983b38e8e391d165cdd9047832b0d9100f0e1ba7085484b7db5 SHA512 549d8d130fea9ec0d5806126f57f31d433f50e9328c5532ad417c44bb5488ec0d20acb0983dbe54dabaa0b453cbea4533cf7baac7144df119e8f78dfe55c5ab8
-DIST rustversion-1.0.17.crate 17621 BLAKE2B 1f077ca6fd90333724d1ea9df7f5b178f37f895b71a7b2814e9ba8618bffcd2307f9cb4ac2eea25d461a6686a4b5b51eebb80f1b1ccc773d4da1948c47fe8abe SHA512 0565cddecaedae17e7cd99bc34f54cda242d4c29cd4269f8e3b178ff91d49f3682e7ffe66e436bbb138299736c8e55cc143fefb74c076911fefcc41ba98064f3
-DIST ryu-1.0.18.crate 47713 BLAKE2B 409cdf4b4e77685394018371e91ad6fdb175ac57e1df9f902871f13208515e5a2ab1daa226fc1e7291278e64448332845be4cc9409bce3b2f3daed409259e104 SHA512 a9b2beac778ec47e6be303148d7512ee681bd2361f6e4ac6db32c8b4baf86a8c5eb5b0d02eacd6131ae88c7b5105c57018c3050676e0b3dd1ed9c4d2fd650e84
-DIST serde-1.0.218.crate 78968 BLAKE2B af7f366a1aaaeb9b5f6f22e7398a30ea486aa3391ccab9a11435d45f7eba10796ce671556b771dbfd8b914563949c54b4a4f14fe447a549e879636339fa8f128 SHA512 35ffd8556287fa270beb90539c1641912d8fb233c53c4017f1f65a483b2dc340385458b9a869b7142b4d514bcc87c25e69c9370b3867e463be887bdebd19ead8
-DIST serde_derive-1.0.218.crate 57782 BLAKE2B b2244847b41f1aa396352bcea886d6a28d13ede23ae6ceb813143849cc107b3fe0cf054687d9f35bbb9db4e95c619422d9710532fcfffff291280cbe3649a433 SHA512 e89c076b0aa22ad74010f5b6a60397b9b78b59ca50a9660b29ceb1fd608cab820c47e787e450da306062c0cea1ade7142a7d4626a77aa0ae486096c130442cde
-DIST serde_json-1.0.140.crate 154852 BLAKE2B 733aecfb88fc37de37b60fdd33a45fecc2bf0ac2165b81bdb12665de7e26633836160e927be5d538eb2056a799e85ca4a1008cbd30af23b72a594643c6015f22 SHA512 bafa26fd43ba30cbf73572b8203292b1f275995636e9dfc3d47954939453fe4ecf0c60f25d2af1ec16c7cb0e7ce3b96cc07507d1b53b7db566fe7cb2624f0e12
-DIST smallvec-1.14.0.crate 35561 BLAKE2B aa8ee61800a6d13eda5acb4e9dc03543160849479a96a72c50ab38013b23e9593a665773b455a09777038edd436d7a35b501f6d4a0e16ff49544be60345a1e50 SHA512 90de38f208f551cdbf4980fda2314dee57d4e2bbf769a01c47bc849189e9243474932052faa92fe0ca59ecc9c5d1ed84091ef87f724343d38ebbbf710ba232be
-DIST speedate-0.15.0.crate 33698 BLAKE2B 81a1c87bfeaab44aeb6f7a813275b139b26a618af4b24d3018e866a2855eca897144c863a2dfabec20912046fe17a60749c41ce8cee45450137440cda5d7d934 SHA512 2c3a210e06e3960e2dd24f696e27141f00b186d5ea58272f1ac11ba455d4467459fdb076a65766c2fb242163299aea08f692e86553fe4edccf2e9714f9a9303e
-DIST stable_deref_trait-1.2.0.crate 8054 BLAKE2B 287a65c3e5b47213544a43e57c60a54add60b4c2e3c8d042407d860cc950ba7ca01a2e67ce56aed6744992b61ec1f9aed3321e3d88482e33129548b7d51df205 SHA512 a13cfb22723f1f2cf089b2d07d657846f50c37bc0438d1a76096bea30214cad226b7a422c21f9e191ce87071da8a141d61882aedf9e0203a5fffdfda86a5fb03
-DIST static_assertions-1.1.0.crate 18480 BLAKE2B 358dd5ac413d06f62da0388e2016c5fcb8ec68fd7dceb0dbbcb97665c032b7509b7e083c20701648b6a9174485f117c02682ae4bde7ef037e80a85cdf6a0c86e SHA512 46d0e35f77941dee6f60f574c130472248063dc38494c1c4f84f7c048244cc2a58a86fe17c0990e3f0f01406b75ed385a13d00058612b27cf0e867c8d31c92ee
-DIST strum-0.26.3.crate 7237 BLAKE2B bdc348c718c39609c00b9fa7d47b7090b1467022b7a8a28cc7c8a72a0aef20569c6ab22a8a8d26c2d9272f18d000e4ce94858a6647194f0a7b86d812d52b05a9 SHA512 62f116d5bbc6167a6ac68b049f8045bc660901f1ce1252f8bdcd91cb28bef821aad8098905369db6c2fe74c134a5d549e55ddd28e383d7d78f7175258924b268
-DIST strum_macros-0.26.4.crate 27531 BLAKE2B 7f7d57c957a1591054288fcae6590a5e669fba1b47d8f1a52371ce60fd84f91fdb430e48cc7edbb5fc72914be5ce12af29758b653680da3f4177339b31206750 SHA512 77a17ce47d5e8fe8a89cb6aa6c3ca5d5c2625aea0f93456f05a9994238cd3b08b3f7c6a45e9b3db21bca8fb5759f505f15cc111ac84acbbb34d59cdae8307b0b
-DIST syn-2.0.82.crate 272300 BLAKE2B 2982faee84539879f87ad34a426027b4b9117dea9ebc2249517070c98495f85f4c04017898705f256161f1fef1c450dd494b6044cfb91fe916fbae1e2ae51752 SHA512 b1e90fc37a68998e4708ba5c68581feeb88d73ce56b73e6c87f1341ddba04cb6afd43ebf83abecee94c03b2bf9df5b0dd9dfad32d7914e82ddf6c50cab81267d
-DIST synstructure-0.13.1.crate 18327 BLAKE2B b29ee88c559a2d58fa46b7af155b448f001649ea79a1898f0ac87e69108b87c65cbd287d8f9001f360df7fef06ff39c937b48d33e487a30c8eec6a46c639c0c2 SHA512 09024193b44fc9a8901bda845b9f86c57dad65d0f53e309b2e7e968538fab6f67db1c86e5e52a2eb8fd116dc073e3ad10983bd60764662ec6ba94fee22a958aa
-DIST tap-1.0.1.crate 11316 BLAKE2B 60786fd5f12c2f06097330c26809fdcfce62716586d2e1985f8c01406d356ed0ab730a04dfe72ee3e1d6208a53c76c66883d45a76130750b41ba5b82aa721b83 SHA512 d69ff11a46e2fbc276212511878f48eb93640c0b147df6578ea057b23625f9366a7fc3926693fc3809688537af5ca919c91605beed364decf83c35a032310995
-DIST target-lexicon-0.13.2.crate 27923 BLAKE2B 0761f0ffdc23b9c9df86b384d59611c7b8b5e29ff068f03367ad2fe84cfb6d11e1af149b9338236978e9566fedc51387db9f239d2a602db41045ac3db907faec SHA512 d25e3cc3d679cb6b6f24c03e0c24db9d6ca31b8ed42ac9531bd7637557fbba225a6c8ac4f68a8eaf3569195814d599e668a968afbc73b940a77cbc27552cc90a
-DIST tinystr-0.7.6.crate 16971 BLAKE2B 33a248261c4cded41a81f0d6e6c8df55437f042b37f235c39787986ec562f0dbff50b282ad0f1483daaf49c4b33e6618e139a6677d1238c21f4e12082562b4ae SHA512 a33051848de248cac0a2d151760a78cb3aa62c787d84ff7aac38b11c0660e9188e4d43d43a77fb8676e49ac6102015e9c3db057848d809e71981851875d0fb25
-DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
-DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
-DIST url-2.5.4.crate 81097 BLAKE2B 74943c63809ca41a526a146bedae66f91f390fbd2ccbd90f9397d8074ee7ec26535f0f67170eb1d7232e139d8d795fde99be37f53f1bc32c6a6a4d46aad1369f SHA512 8f1d62bfdd45f52fa12ad657a521a3478d0ab54d187346a29dd59cc66a0f140ca96d850948e09f6316f08b44b3fc68526c58bd620fed5d065b7e8528df3cd46d
-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 uuid-1.16.0.crate 58549 BLAKE2B ec9eff05e887f519776a7ad860334ef856d06479f402d2ce7d600523e15b3357630e3c7747d3c87cdd06cdc226e017d8fddee4ab81e172fef12144d62c4af606 SHA512 2165fcc016fd318e00a07fbd6f68f7b4e4c3be74ddfb9475282d5d7fccb10a76b9a660bd7b95884714b11fd84d783ef20907399ac5f5de95fab6226a6e349c6a
-DIST version_check-0.9.5.crate 15554 BLAKE2B 131e75cc287518831e142430e2a39b48e4275874f4473780d47a27552294097aa1cddb65c385583e1022478f940b495eb43c24a8b1617b8ac5a24af3340c0d72 SHA512 d11d5a2240ab0c67ea69db56561ce202201edeef9a8e5eda3d9ae7ab7bb5752d8f343fe7f6536d8383de8d55f9024efa84f66a0c21e69563b7a38c4a628014db
-DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f
-DIST write16-1.0.0.crate 7218 BLAKE2B 548796314339463e4b71f8af3d344e45dc89480e103180b6d56c90fcb816ad1a37ab2ba20766c4b9754f2cc686752eb1f3a5a12ec1ed4369a9cef749ad4f3e97 SHA512 655a207b8082bb88e462f992ecb4833cef9d590da06d6356b41d109df2862b49ee5705189c78a607b549e7343035119d158020d58fcad49608e51659357a83c1
-DIST writeable-0.5.5.crate 22354 BLAKE2B e4ff9862c070b413568ce0c75d1eccafcf1db8578eee4795ea9046dadd643f8a77258b437be288b93af247199d63455298ac2cff909226bc432f91c0aa863921 SHA512 818b2546c8ec25816aeaf5e31a1ded927d197bf7256e7c5073738c2709bc58a95d382a0256eb38a99235ae83729b578701261866d42ea3357a26024906e196c1
-DIST wyz-0.5.1.crate 18790 BLAKE2B 07ac1435a812d2f50309348ef8378ea4955c001f01edaf2ffab108f7d524ee731f06b22fd42c043349a4a2271ec47ea203e89562076e8c7c1719112b0214c89a SHA512 15d86c167145c90e3fbabcefd11754fb1cb835896e32d1bb7f4b027e5b2092f5fdbdca4062c129bc38e655cb87c6a3f4e181747ee25d89db5e01fb1fcac18fe9
-DIST yoke-0.7.4.crate 27781 BLAKE2B 42d6176af3e8d046b42fa89eacc0bb249eb0a6e13dbe7e97890b0cae98c3cc0059255f15314bbc343610d60605bf2d13869402c17d36cbf7f495956496572212 SHA512 b3d1456e28d53723470644ae15a4298fa96a79593d90729221ca4e45a6f09de4d7c554703425c61595c4e78959652122db95865c0337cc0cd6a4ec57d7bea84d
-DIST yoke-derive-0.7.4.crate 7470 BLAKE2B e5c0ca6f9cad4336b6b7554d05c3926d1720707aa70b588ebb884426747eb7d3d82614ba20563a5e801c4645f90fed9e067f50f43749a66e52f20c4204fb94db SHA512 5be38b8ae8dcb640a3fcb097e5b118354b45a41a0367afeff3c2ba5d13458524e88f9433848f09c670533d36a49a0e2b393e23368921553b5bb008e66e8e4a40
-DIST zerocopy-0.7.34.crate 151177 BLAKE2B 30b65131370dfa4f41d3c2705d3b75da9b76f2a4ed723dec66345939de8bafe2c181ab6c98036c25a30739cae1720d927e27e5fa5587442d5cfb7f39a7018c8f SHA512 4d27b1230ebcea4e9d4c15f38a979aa3fe8b23833e95df781a0a67054e920637642b89345596fe331907edc27abab83c766967f2a04399a6fe0a4e89fa0dd148
-DIST zerocopy-derive-0.7.34.crate 37907 BLAKE2B 23a698c3c892187307007cbc76c9338dbe163e4f14d4ea73969ba834f5c6732d16f5bc26e2e85c5e3df2100b28e6e72ae6473b2159f5160ee19befdef3615f98 SHA512 1bd93062b0d2c699066f8a991326b4470426aae0517d33748a8f0e52b009fc46e6b0b238abe97462a2e13c870fa3d0d070615870e6dbbf8b6991c0e3fb5c3e63
-DIST zerofrom-0.1.4.crate 5044 BLAKE2B 8ad9a14b8b0c251cffb420f7ac673669fd29b74bc2f5e220c8e86d592f58cbb2c7be88d906b7dac8803dbd76ec459c4a249b7d1ede75a055454a1626b387f128 SHA512 11f37a67108185a8090cda71338b02492fabd15e6cfe018833a165cd869ed65338e12d7c5680ffb0b763fc3acbdff6fe4df30457653dfe4d79ecc864b69d780f
-DIST zerofrom-derive-0.1.4.crate 8232 BLAKE2B 98f69cdeff7df52822b982e3c089ccfa3ac2ce67f320b0d32eeffa899d2b34627268ed0a01b03504a0a6fcb6bef34d808cc79c811d5daed7f8acf59282e82088 SHA512 f2ea4650fcb4e7c3583f0f7c6146c7734cf6e80e07d92c330c6bc6a0a4e0fe14ae3393845713331240c70685e92eec114565c5be21189e687fe6232aef75a9c0
-DIST zerovec-0.10.4.crate 126398 BLAKE2B b078784d6f178bbb9de1c3c1b6c7ef996f00bdd7dfd2924bda921e62f3e09e953fbf50f8d0da99ac6ff6d134f146253846f5663549dcf8df08eaf34b9d4016b3 SHA512 db12bba1d7476ddead92e6dfcdcc30e2e0defff4f263a740244eabee265a2cab265473a663d3dc3210f48e113b66d951da496dfab7965ce1bc792e5f2db422a0
-DIST zerovec-derive-0.10.3.crate 19438 BLAKE2B 9f7df8a4e4a0b62ab25aed967b26509db4bcc5d5b10b3bd73305099a4c49a60be8921484ced1a34d9b7ae30ffa5abe789686f432416a8f1cfc07de1db1dff594 SHA512 caefbffeb35265db9f74933bf07109d57f0da48156cafd4f330af78a5c7eb9ab0831a80789ad4fb119875ebc6cfd7e3de68c9984b77dca5151f9be41f1ae6e09
diff --git a/dev-python/pydantic-core/pydantic-core-2.33.2.ebuild b/dev-python/pydantic-core/pydantic-core-2.33.2.ebuild
deleted file mode 100644
index 023f5ff237ed..000000000000
--- a/dev-python/pydantic-core/pydantic-core-2.33.2.ebuild
+++ /dev/null
@@ -1,178 +0,0 @@
-# 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_{13..14} )
-
-CRATES="
- ahash@0.8.11
- aho-corasick@1.1.3
- autocfg@1.3.0
- base64@0.22.1
- bitvec@1.0.1
- cc@1.0.101
- cfg-if@1.0.0
- displaydoc@0.2.5
- enum_dispatch@0.3.13
- equivalent@1.0.1
- form_urlencoded@1.2.1
- funty@2.0.0
- getrandom@0.2.15
- hashbrown@0.14.5
- heck@0.5.0
- hex@0.4.3
- icu_collections@1.5.0
- icu_locid@1.5.0
- icu_locid_transform@1.5.0
- icu_locid_transform_data@1.5.0
- icu_normalizer@1.5.0
- icu_normalizer_data@1.5.0
- icu_properties@1.5.1
- icu_properties_data@1.5.0
- icu_provider@1.5.0
- icu_provider_macros@1.5.0
- idna@1.0.3
- idna_adapter@1.2.0
- indexmap@2.2.6
- indoc@2.0.5
- itoa@1.0.11
- jiter@0.9.0
- lexical-parse-float@1.0.5
- lexical-parse-integer@1.0.5
- lexical-util@1.0.6
- libc@0.2.155
- litemap@0.7.3
- memchr@2.7.4
- memoffset@0.9.1
- num-bigint@0.4.6
- num-integer@0.1.46
- num-traits@0.2.19
- once_cell@1.19.0
- percent-encoding@2.3.1
- portable-atomic@1.6.0
- proc-macro2@1.0.86
- pyo3-build-config@0.24.1
- pyo3-ffi@0.24.1
- pyo3-macros-backend@0.24.1
- pyo3-macros@0.24.1
- pyo3@0.24.1
- python3-dll-a@0.2.13
- quote@1.0.36
- radium@0.7.0
- regex-automata@0.4.8
- regex-syntax@0.8.5
- regex@1.11.1
- rustversion@1.0.17
- ryu@1.0.18
- serde@1.0.218
- serde_derive@1.0.218
- serde_json@1.0.140
- smallvec@1.14.0
- speedate@0.15.0
- stable_deref_trait@1.2.0
- static_assertions@1.1.0
- strum@0.26.3
- strum_macros@0.26.4
- syn@2.0.82
- synstructure@0.13.1
- tap@1.0.1
- target-lexicon@0.13.2
- tinystr@0.7.6
- unicode-ident@1.0.12
- unindent@0.2.3
- url@2.5.4
- utf16_iter@1.0.5
- utf8_iter@1.0.4
- uuid@1.16.0
- version_check@0.9.5
- wasi@0.11.0+wasi-snapshot-preview1
- write16@1.0.0
- writeable@0.5.5
- wyz@0.5.1
- yoke-derive@0.7.4
- yoke@0.7.4
- zerocopy-derive@0.7.34
- zerocopy@0.7.34
- zerofrom-derive@0.1.4
- zerofrom@0.1.4
- zerovec-derive@0.10.3
- zerovec@0.10.4
-"
-
-inherit cargo distutils-r1 pypi
-
-DESCRIPTION="Core validation logic for pydantic written in Rust"
-HOMEPAGE="
- https://github.com/pydantic/pydantic-core/
- https://pypi.org/project/pydantic-core/
-"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="MIT"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0 Unicode-DFS-2016
- || ( Apache-2.0 Boost-1.0 )
-"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-RDEPEND="
- >=dev-python/typing-extensions-4.7.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.63.0[${PYTHON_USEDEP}]
- >=dev-python/inline-snapshot-0.13.3[${PYTHON_USEDEP}]
- >=dev-python/pytest-mock-3.10.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/pydantic-1.10.4[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so"
-
-src_prepare() {
- distutils-r1_src_prepare
-
- sed -i -e '/--benchmark/d' pyproject.toml || die
- sed -i -e '/^strip/d' Cargo.toml || die
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- tests/benchmarks
- )
- local EPYTEST_DESELECT=(
- # TODO: recursion till segfault
- tests/serializers/test_functions.py::test_recursive_call
- )
-
- case ${EPYTHON} in
- pypy3.11)
- EPYTEST_DESELECT+=(
- # different repr() in exception
- # https://github.com/pypy/pypy/issues/5220
- tests/validators/test_arguments.py::test_error_display
- tests/validators/test_definitions_recursive.py::test_error_inside_definition_wrapper
- tests/validators/test_string.py::test_invalid_regex
- tests/validators/test_string.py::test_backtracking_regex_rust_unsupported
- tests/validators/test_union.py::test_empty_choices
- )
- ;;
- esac
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- rm -rf pydantic_core || die
- # tests link to libpython, so they fail to link on pypy3
- [[ ${EPYTHON} != pypy3* ]] && cargo_src_test
- epytest -p pytest_mock -p timeout -o xfail_strict=False -o addopts=
-}
diff --git a/dev-python/pydantic-extra-types/Manifest b/dev-python/pydantic-extra-types/Manifest
index 5401752dd271..8dc7b292841b 100644
--- a/dev-python/pydantic-extra-types/Manifest
+++ b/dev-python/pydantic-extra-types/Manifest
@@ -1,3 +1,4 @@
-DIST pydantic_extra_types-2.10.6.tar.gz 141858 BLAKE2B 23d999682e3c8e76cc27935f4c47da4ddbdbc4cdc3015e86b3b7fb3183f6353ff1faf28b6aa947c55e03b1799f87e3cfa612411bfe4b5b18bfb1ccabed6ba049 SHA512 9e469386e583a1be6ab51fa510cceaef043a40b8c76cbc0d477f7c660bdf779cca1df533c99a76d11b6d84db6735b355ad70526f8dfc03b89ae7844f309c47f7
DIST pydantic_extra_types-2.11.1.tar.gz 172002 BLAKE2B 1d6a7130f8731e8ba81723a7a98ebb140b4776bc84d90ed31befad724b2df0fa96637747398b6fa671441f0153543e46443251584f698831827ebb25580ad67d SHA512 2903f9406757e121fedff13f323c105d0ee5098454925119c2b5da35819621ad6003c837b4ae908298a0b0b785347d27b891b78c9746834466c48e447bad5d14
DIST pydantic_extra_types-2.11.1.tar.gz.provenance 9691 BLAKE2B dd684d242463d78f9560488b693e2679feca2c0fd7d88cdf77b15c4ba0cc841f4c602710205ed3af2e859b8ce3fdf9fc0a56d76279e15bc533a54b981891b212 SHA512 e512b0f527c174561c3215544be65f11979d4632bef8899636df0688d235ebbed2090cb6321a6281423b79cfa2a8c0ef903581b27a2ff37ce7d58c51f56aae12
+DIST pydantic_extra_types-2.11.2.tar.gz 203929 BLAKE2B 53594efc429b9e6909db16bd4e6aee649cf957711072e2695940035974521cd3b71aab1ba6cde5ee83664ca55e6cf994e622fc8db50324ce7f4bf45c34096d10 SHA512 814cad82b30042821aa11fbc11c690b53c7b4c2b5b310a1bbe4dc633191b0ab8840772d96eeec1bd7f391d20bc3d12899ab9b8dc2ef5e424b473555fd22f4619
+DIST pydantic_extra_types-2.11.2.tar.gz.provenance 9455 BLAKE2B 1d9324b631c7a85513669fb82b03f788599d2da37cd4d0f6bd86b7d85033b5507a1e88a840dd7581375150a122f596cada75241ba221215a10a33150f0b3cc84 SHA512 b02efd731012406091a378cd33885e584e8afa45a0d6365ee1f9054ca7ceae317fb5e120ae66bd56e23be814106f293a8e16dde6a41faf0f7bfabbc633aad880
diff --git a/dev-python/pydantic-extra-types/pydantic-extra-types-2.10.6.ebuild b/dev-python/pydantic-extra-types/pydantic-extra-types-2.11.2.ebuild
index ca46fe1f24d6..458f3e2c33d4 100644
--- a/dev-python/pydantic-extra-types/pydantic-extra-types-2.10.6.ebuild
+++ b/dev-python/pydantic-extra-types/pydantic-extra-types-2.11.2.ebuild
@@ -1,16 +1,16 @@
-# Copyright 2025 Gentoo Authors
+# Copyright 2025-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=hatchling
PYTHON_COMPAT=( python3_{13..14} )
-
+PYPI_VERIFY_REPO=https://github.com/pydantic/pydantic-extra-types
inherit distutils-r1 optfeature pypi
DESCRIPTION="Extra Pydantic types"
HOMEPAGE="
- https://github.com/pydantic/pydantic-extra-types
+ https://github.com/pydantic/pydantic-extra-types/
https://pypi.org/project/pydantic-extra-types/
"
@@ -29,6 +29,9 @@ BDEPEND="
dev-python/semver[${PYTHON_USEDEP}]
dev-python/pymongo[${PYTHON_USEDEP}]
dev-python/pytz[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/uuid-utils[${PYTHON_USEDEP}]
+ ' python3_{12..13})
)
"
@@ -59,4 +62,5 @@ pkg_postinst() {
# optfeature "pendulum_dt" pendulum
optfeature "mongo_object_id" dev-python/pymongo
# optfeature "cron" cron-converter
+ optfeature "JsonSchema" dev-python/jsonschema
}
diff --git a/dev-python/pydantic-settings/pydantic-settings-2.14.1.ebuild b/dev-python/pydantic-settings/pydantic-settings-2.14.1.ebuild
index 5c836cd0b241..04d77d519415 100644
--- a/dev-python/pydantic-settings/pydantic-settings-2.14.1.ebuild
+++ b/dev-python/pydantic-settings/pydantic-settings-2.14.1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86"
RDEPEND="
>=dev-python/pydantic-2.7.0[${PYTHON_USEDEP}]
diff --git a/dev-python/pydantic/Manifest b/dev-python/pydantic/Manifest
index 7c43f32242e9..1cad312e03a6 100644
--- a/dev-python/pydantic/Manifest
+++ b/dev-python/pydantic/Manifest
@@ -12,7 +12,6 @@ DIST displaydoc-0.2.5.crate 24219 BLAKE2B ba3396c93d27a99a92ff4a0f01a8d192b419ba
DIST enum_dispatch-0.3.13.crate 29876 BLAKE2B 8fa66a72b1f35e174abcc8266e8a36e835923a1b31aa2fbbbbefe3bcf1287bb01b456597915c0a36a9ab7e6a6cd0ce7ebae38c09028ceb9109b7d18f26f023df SHA512 9ff73db5852d8c515f8f3beae0e62ac3845b42fb39a2ecdcda50e44535e9183790406652024e3f968ecbf4413488a02344831c45498294ba97c345b31e1d0782
DIST equivalent-1.0.2.crate 7419 BLAKE2B 7ce4fb7b911961cd4ccfb48323eea4952110a069789c6bd177a63391c270df861afadd00c07db7b22768f0864f320e429e0200c433284f528336e2f81d071eff SHA512 8e0e2dc070794a85b276e93f9e4a65d3bbb8587b33fda211c34479a0b88504c913d8bef9e84d7996254aeabe1efe4ff1ef6259ff4fe3f9ccb90dd90070b3e4d4
DIST foldhash-0.2.0.crate 23329 BLAKE2B 49af83a79ca7954f05d8a52566d7d20cbe057c89c2c767ef76b4c8d83bf099196d053054c8fbaac74da7fd5eb0224fe43731102f2f0bcb18ccdbc0c8150774c3 SHA512 1495281089a8a1b7bbacf8004a5e8051bb00bf37718e9ddce9d43e4e198f529135f864b6850ee4422456b0d4731ae58647f0a1aaae0d67921c389f5d108fc163
-DIST form_urlencoded-1.2.1.crate 8969 BLAKE2B 383d3a197b73fba199220b7708e16d770591ac16725faf4efc1a8c230c569c381870d4a11b8fba623e761e68f9d318630b22101d461e67dd26c67e13a73358a1 SHA512 c65104e2dc08fad572bb31f981700fd43dd29fcff42b01c7ccdbd3d4c23dec12360aed3f1b5fc4766fee386d418a65349b2941b8735f788cb0d35d631a6a8dd1
DIST form_urlencoded-1.2.2.crate 9347 BLAKE2B e02670f9af81a09e8df16680dbb80708632ac9e708297fda2f821af8076fb827c011ff359d4ce50d5ddb8f4403d4e19f74a4b68d11441f32eabc6fa2e38b3b09 SHA512 07d27d852504e146d586d007b090e53cbe740da140859dfb7d647c83c1b55265a83ea0a0e514587699b1dc6b6ffea2fc913319bcc83b55ebe191801a3b429c8a
DIST funty-2.0.0.crate 13160 BLAKE2B db6315d63fffe9f70698da0b1b0e4aea4b509242c60e6639f00303dad8d2ba60c6c1c04fe9289695b7aa2d7a0c90c31fba72656afa7ad111b77358772b14a9f5 SHA512 691e1c275b648110ef42c4adece8178cf037bad40d469780280eb2ebe07aa4b0406737c5ba02c9f9f63ee57a99fec27e5e51712e2113655f7522c8678f689155
DIST getrandom-0.3.3.crate 49493 BLAKE2B 17bf881c1ec8e70b263dad11fbb307484d7ff6a7bb6c0ed217730c0a766adb3a19e6633b28cff9eb7c1f9deea55a647ad53636533c392a5c39ac82e26623a18c SHA512 8188d8fab05e8bdb3918eea6fc6f89aaf3767f8350fa953aeadfcdf24a513bb4e0d464853a264939bf2fa17f95ebd4077b74d813d587a7368072c5d7748c4c5b
@@ -31,21 +30,17 @@ DIST icu_provider-1.5.0.crate 52722 BLAKE2B b1e53ac677e2db5870df0a91de405ebbc635
DIST icu_provider_macros-1.5.0.crate 6436 BLAKE2B 7405924dca41db72ce422437434a4affece69f888e5c18d2a92f761a8d83b180f40c8de9a34ec15d0e107b63b2fe0502cebd0a0ae6f98d9d6ee37d197e754703 SHA512 a0dd58d731556a010428fe4aebbc9dbcd626b46d380cf28ba5236ec8824045a20f6f2ec986e0c1e791bc8bc2b692a10306f448279f079b4c37237e4a3c3cef63
DIST idna-1.1.0.crate 148747 BLAKE2B 89c6bec54cc2717741ddb5cff2939c08823189a490b79ec0e9c7acb3aa2b4fee472e33f36d7c345fb6658c863d3c174577aa1f1a10c9bba7558fca9f76b8ae82 SHA512 1d49993145fe694f33f7c71ebe62face416f2229b12690cec23ae2e4be2fc1c5aa5ad5651d815ab70057b68edc450ef6004306a775b920b8773c221c0fe6c106
DIST idna_adapter-1.2.0.crate 8206 BLAKE2B 5e8d7dbfea699584542cde53039df9d8c3dd408efa2534f11fce7086f679872c45d9905d6b2cfe523148eda3bb0cd4820a7b14317f91725f3d9cdb475aafbd57 SHA512 1d8b54c19878645749a1bae768dacf353b07d266f2cb3bfa1071a7afb56ca68f534dc1d54cae277b777bc97e5986f297cbe2051a82e14f553ea73cd723d9da7e
-DIST indoc-2.0.5.crate 14396 BLAKE2B fe838c6a855d6ff7396675a3fe9b2e0b06a93cfd4013b0b843d24d2fb81f6566528bfd1753c649646f06cb7e59262bd6ec3ed79d4e6f01d740cf0682355f2e5a SHA512 095fb56a3d87946c42a63065a8b276c2d4b9b835800014b400bb987593bf56701bad9f55d947f090740fdb7641a4f3c87fe8bfa5724709e95254d1e8e2e3616f
DIST itoa-1.0.11.crate 10563 BLAKE2B 94da07e0f7f2535d0b1491b3a3c64905274b315ffd35ec8e9a3e36e26cd7211733b462eefb5208963e388345f65be9694804c344a6132b2b595b0bc716c0b328 SHA512 7e22dffac34c9c9f432daef395e0ec710ed658164bc9cd9fc6445c9f984c912a10bac556214a026bcddbe27a3197b35b0c87d6709fd605062637d086b2d20311
-DIST jiter-0.11.1.crate 154396 BLAKE2B 5e510ad85739de9965c6f802df761252bcd2e57467adcee5a8ddcb41819d785463f0edce379ae243fc4b00e7d6f9016f8eb247d92ad5fb53239219fb4b0b1708 SHA512 977d20ba5ea1d770cf27434eefba328a36768160b2673b516eadc6fdc09654482967d9561515e6295b6892c65dcc0316b9bb1c5123b140eb10438dd88282e8a2
DIST jiter-0.14.0.crate 155564 BLAKE2B d31c05d688da325b8708ec499e2e962dfdcf0dfb4a0242446bcfd5fa50cd7806f8dd21cf33565ed62377b568ec7f1edeeb17b77a105dfd2ec635b88dda381d55 SHA512 ac3d398d1ab8c3323d7a218f29fddf10642464b1097bfa5498496b5bc01379291ab7565e56cf1490e3287e4593f6352b9c7aaec8afff60a078362c71bbba945c
DIST js-sys-0.3.77.crate 55538 BLAKE2B 8a4c04a8e93bf5dab63784a24320a314cc5cb629df788e116c452857b8c049c6bf357f3bf8f35086eaa81bc2d7f0954001addfd0577d845844871ee138e81bc6 SHA512 d9370ed6ea892bd51ea181630ca661c348f82d575381aa4c8b529113dfcab6687f4d19bceecad7e1b28ebaca74d405862150a5b5ee2d5d55efdaf98eed1ab255
DIST lexical-parse-float-1.0.5.crate 186731 BLAKE2B 145c7cda05e7f1c949a693e77df96f6eaedb7005d864a819e522a787d05102c44352a28ac1e4598162841214bc3f1350ed121e30ca6aa5e243dc78ef1a64fa05 SHA512 3785bac5f2694febf1ce5f094ff04dc032fc1adf992949087bb18f8316fdaf416701365b34defd2529012d077032fe62ba32f898a6dfad7eefb8b7b59a06742e
DIST lexical-parse-integer-1.0.5.crate 36912 BLAKE2B de63a3241c79a79b12fcc7ac515812bcd17cbd74c10bf0e2d329f4630218001118424b7016918cdfcbe27d5cbb77caf7f6c759883dea4e957d28e44437427cb7 SHA512 3239abf7200d3c480f19848d197168dea36428b1edfa565e21a568642400a32136020b2308a81f55aeaee9f8c7db448d913b1971eab4f146ef2c1a7e29cc9715
DIST lexical-util-1.0.6.crate 106117 BLAKE2B 751538c250e353a28b56c3881ee1ea10dda53847cf75fe0be7023d08dbf189f7f2e765033f5d08a272adaf59264355679075f18db7db24a265629fb0e397986c SHA512 6df0a49097809351fb798cffe783173b357bdd420de035a4eff34ee7b4e8f350d8ef7de976e3393c0e00df1cb6809212a5e0630a7915e9cf937ec532e9faeae6
-DIST libc-0.2.155.crate 743539 BLAKE2B 42cdcf8d4a187383548b1f09d404474f168916d626d614463fe10a1fd886e972e1caf6297e75445214af3f31fe631d0927e54ec1cdc63e20082b3587e38dce16 SHA512 05354bba532b8338bda1f88f12c7f3893429734a06e33925fca2b99d49548ae5216e2cd84e782d2368a2dfef20b0e035e2dcad8dd13ede7119462a8c639b2807
DIST libc-0.2.185.crate 821775 BLAKE2B e0e93466a29c9d19f7d9ab3581b491908d06873a9c57a96b0cae2eed0f0d1cb184ebe80bc61e36d5ab316ab35dca529a322b29e6895f7f339e72c79cca7f8ca2 SHA512 c8dbcaaf2e5d8377a4d1003af4a7210fbfe4f9b1e8497f07d88a231a8d5c9f67014e650a5e18e913e7b4d6a1835c4cbc9c31ce0cd224ea28acbdbb39034a300e
DIST litemap-0.7.3.crate 28728 BLAKE2B 00a04ca0e4e774b317218ab990da4c6ca1f342bbf229957db51801f8ec36339b665133bfe3847ca68a40d901d78d87e0041e09f0740898ac38ea3c8504309c31 SHA512 2c3bc6c4cbf6609f3cc2d986e701d23b73f5bac55995887c90aed01bf4392a42c718a69c0050296fa635a46f7cc9ef3dd6c6a2a505d3cccc690899aa345455a8
DIST log-0.4.27.crate 48120 BLAKE2B 09a2159032baaff7eede480062da30ffec1c1d4c77e76288467941dc13722ab1566742c1821326ca5f8c2f9f7597099e235213ecbf883fd93daf5ae9ad5ee981 SHA512 8d57219b76c8a25bae193e4d16d4d03bf0b8523e1ed3bdc80a692cabe00fc0359ae9bc3be989f04476ecda7187f27e4ad23fe260a96fcefc819af00fe12a1151
DIST lru-0.16.3.crate 16743 BLAKE2B 0574e82714425293593e399930903da1004062ce84e5b90126c66d004e872ac580c6f474f7c39e1a8eafc9f78c6fe7a3049b50f248e8f3a9ecd03e9f04133b9b SHA512 5092b87dfbb7666e224dc6d8ed01fb8276929a2d1a31173034155afadb90e0762dbe6d5ce263bbf0353c079bb249027eff71dcac87228514a5406ef67dd06c15
DIST memchr-2.7.4.crate 96670 BLAKE2B da38114beca670467c3e1fbf4e415af6f22d52e3223715d52e181babb89b872b46511563985bcc16d7ff4e82f812c6e83ad904b0fe2501b14445119dfa8240e6 SHA512 8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2
-DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa
DIST num-bigint-0.4.6.crate 102801 BLAKE2B 0460e7dfdbd44b6c68fc8ead6bff4353e549127158dab8bb5d217ee33104fe9ad5f58b63a01d56fffa8d7c4df1a87dcf5b536e436a0ef98dc4418a4690c4cc15 SHA512 19d14a7755de2b559026547d9e3e1775e636781bdfdd418f2e1d962c51411a0973a46d84d0356e30c0f708a7c7b2097926611960043f71391919cab1aeb6aa04
DIST num-integer-0.1.46.crate 22331 BLAKE2B d88c9f84e5d803a3aa8f44dfc1bd6d9b5e336e7cbf47231cb3a7de30dfe263c41c62c586d31f0029459c8c240475cd329b3fce79f355be7643bdccf8d56dcbba SHA512 e27986d91f6c6dc3d5a0900defe28ab5f47905cde3f84d0914b7acee076dca8fec6fdb7b631ac94d3a31eb01ecbc5854e51afc3187cd1abfa21e1bfafdc700ae
DIST num-traits-0.2.19.crate 51631 BLAKE2B 78637360cbf32d172510a62bd9442708af9730c0296a2bb4ebd200c08facd49bc31bf8ddd58967e0df7273a938832b620265d9f8f4d26ad16049bf6dac1cb4e5 SHA512 180018a5eceb45085e4e8d103ff21bb4d5079cea874c42a0ad4c76c99d275d434bbc1cc289f0cdec172866daa89dbfe0871410b2cc3407233fe1129786905956
@@ -53,40 +48,25 @@ DIST once_cell-1.21.3.crate 34534 BLAKE2B 3578aaef305cad2fdffdc40c392775a3540bfa
DIST percent-encoding-2.3.2.crate 11583 BLAKE2B 58925243b23a6a1decc3d92c4ce17d06af5206844ad283b49e69e523ac0db2c36c3f4407af4104ab92c029c2581c228bdf416a054a2531191a9e912448ba4408 SHA512 495b4aac88a7a46420811671d6bd82817e4eb2fe51d5068d11c5b50d0d927895d54c855cb07d4f4ad5a2d42b22f9419ad0183c14781dbfa240804fd49761035a
DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c
DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434
-DIST pydantic-2.12.5.tar.gz 821591 BLAKE2B 7b139db92fc103cc5e0e5820a3541af8ffaa850ecca9d0136f09768bf5f51ceddb933b12434ea3428b9e2f10e587d9227ec22ced9609b83759765446e6a9cb9d SHA512 93968bf402ba1b2ea48375be021f8e2cfc61bee2cb39a7ec470bf445d752f1bfd638dd951b34f443ddb6a853aa81f1860b11cc6478eb20c142e48347c80ec827
-DIST pydantic-2.12.5.tar.gz.provenance 9274 BLAKE2B 9796b665fbb38345b99cbe1ca5890c14a1bbdc2f1995f69685aab53590aaabdc841544d4cacb0e723414bfc8cc18b0368ae958d486b84bfdd201537c78eab3a4 SHA512 e95f64e35c6fbc35d3d6fee2b1104b0a48df5fc0376d95dc4102961f957eed6ebbcb51903cd51e7a61dbd97e6f0e0b5c1d50e26a352018e4a1079169e34a249a
-DIST pydantic-2.13.3.tar.gz 844068 BLAKE2B 9ac95faf9b902b2f2ed89e1095ffdd8b1d091c89f3e3bb34c5956ab0c0efc19ee9c2eec5cd81b7e94d7b2dc1aa4d345ed6dbc2cfc24049944bbc396ddecc16a4 SHA512 fb807b94eec1ac603e515e11e99d1b4c19d31c0008d2ae02f4798eab8ad524202b38a71211f1667b476f38385f7e13f7e16b38a5912081eb5df22402020f618a
-DIST pydantic-2.13.3.tar.gz.provenance 9147 BLAKE2B 104db25bf29dcb8a766959d75f4fde3b6f64f6af4c2691a61625a95d14f308ab2ffbbbebf9b7956bca4d3bf7fcb9eea382587160e58140566fd940c866fd1b48 SHA512 6126eff0d22b51d976440c75827e953928aad9e47ec7409c61167e9d923c63c9baf31dad1fa1ffa7c8af91b2505146f3e33b40f3e2caa993cd3c358cf7f907f4
DIST pydantic-2.13.4.tar.gz 844775 BLAKE2B 67bc75e8c5582a4e4704c56f1b93fa9f1a9fb4daae8eb087351d8c14a1bb0be2e6671e7a3b80b8d4dc7aac9aba1a8c639406f3dd6605ebeac21c87d7108be5b9 SHA512 c1cd883a44e3664cccf5f8c7a10cfd8d27748af0dc50cbc0bf76d2c591d3b19dd247d8b12ab2f494fd144e80e5a4aeaf94632ef6577c5bee2aadaacd07915249
DIST pydantic-2.13.4.tar.gz.provenance 9347 BLAKE2B 226b939cf131b7eabc7dfc8d2564a2190b4807cd15c5ee44118874b6b59dcd5478adffa97b68c1ead59cdbb905ff57484c265ab6e98fc3651057d65e27eb9bbe SHA512 fa3d57b0b1f1d5aa688ae3cd330d8e604fdb34d7e911cd350e91cb476228a29af084d9d3f060c14b35c3a594c68944fce6791676460c4c8d34e37b6df6dea6a9
-DIST pydantic_core-2.41.5.tar.gz 460952 BLAKE2B dd7d45acdc5f3093668cb57813c0c4e40e5916d04f75ef8f06308ec00243c9b0469cba5ffd2eb8449e11279d28c12ccc039dc03ed108cdb879da675d9f61aebe SHA512 1447f257efdbad0f70b490569c073696f8bdcdbd0baccac40e843520eb3cabfd23d499dca31afdc67581dd6a690cc138b882f393a91f57afcc309c800b9620c3
-DIST pydantic_core-2.46.3.tar.gz 471412 BLAKE2B e9d0efa96b0e3bfee66ca77dcca2d35e178b318c99daf66eca613c287c8be7750580e9e049b21af583ef0161174f1a0a3304b654567f5e4a5e501d8d239fa874 SHA512 3c41c963ea85dc4b43395fbfccb1b65bbafc35dd7450581688ff228fda9b336e980a18f6acc3f8beddf468f760d367ef754d52a45637e3c300489e2a20133f35
DIST pydantic_core-2.46.4.tar.gz 471464 BLAKE2B af359fd74700d806189578a0c401bc76263cc86ca039a854379d65d0e7e4d94bb48819f75656b66f8e9cd3cffa54e319a85faebde2c3dc61baf20572e1ee4be2 SHA512 828573e575da201f486bd02d0a4a95bced6b8e7594cad7a2bdcce372a8e7d389bcb85ac5be10594d2b5847c93e00e3443a9c6d081110ca47d2ce931b90ad2973
-DIST pyo3-0.26.0.crate 1151579 BLAKE2B bcc8236785502928bf4a0b7a320e0a8f3d6140c562de4351a52d015aaebb8dd6b4d68fe607c8ea13ec66941c8f01d2c18c4249adfacb521355d4bf158667f3a3 SHA512 e073a4d893f88aa0301ef0ead78048137515edd93c490e6dccbc301ff65a208534c65c1d216b04639d4b1ec1e4b69bc87bd34974e5d0659134c28dcce589c194
DIST pyo3-0.28.3.crate 1204476 BLAKE2B 8540a1c51bac4fbe04ea34d5ce38471c13d5a3f0759e60cf21d67e846b00feb8316e70f32cb8dc6b74d09f0901ffc83d5f41b1a06da6d34790ef13e4cefcad45 SHA512 f955957eec4b95cc9337d331bba3bba52b4754b301cf86cd974601e64eb20c2424023b19be89a224661fe2e185de646cd3d0d00705b6b5cbd139856c9443a247
-DIST pyo3-build-config-0.26.0.crate 34309 BLAKE2B 5ea8b51da2f425674cd3bfcc1090ffdd08da01d2161dc66b08995c20cc859422f9f84077c545e5a0580182910aeb9dbba97838915148a82b86948d1cca3c8722 SHA512 a982d0a0baa4af58c2cef7c0c4b2671e3f559ca7f30586eda9fbd05e842efa2bfea0089ddbc729225b848871f6a25f85e86576e1dff519192ba289cd92c6aa8b
DIST pyo3-build-config-0.28.3.crate 35961 BLAKE2B 61a0101913c6d563721049ca99256c2aefd89b017a7e18c82f4a6aceca0aefeaa71fd559cd43adfb5034ce076c904e5188f8f73961ea217287fbfd12caab9401 SHA512 78f85696901b16540d42187d10e888bd929b9f23415faeb73f9798abda1af3506a308145dd4113b070521271c72624d7930fb4b19bad25aa1afd3082030c9126
-DIST pyo3-ffi-0.26.0.crate 78247 BLAKE2B 65f1c399bc763bf8afc36ccac27d28242ebcccebd08ab8d9b3165ca5c9abb10f76e76fe5a250aa1e0cdc1d1e8a613160660f07bc0dbc2812675acb9dfc8e89c2 SHA512 91c2ae828e997dee5e48d839794727e94576228e9329c358a3bc77a59f8f37fa0ae6c2579229782b3f46ab90725844ce9194b9de4d3849d824adf1d40743bf7e
DIST pyo3-ffi-0.28.3.crate 80881 BLAKE2B 4ac7066c911e2aec18aa9245efed00585d063f81d69910e6a146f8efbf2939ab5de519bbf2a3dde78b40c264e97c62490db80e9b2e84aaf080d63659a6676459 SHA512 ec49b5cc67d19f46c9daea76b37b4988af0f63b9ed67c71190f015a0aa9691d4a8ffd4128413de430928428e1e8e26d44c3103f561e6b71b7e8c4597ab602d9f
-DIST pyo3-macros-0.26.0.crate 8906 BLAKE2B 60eef72d27b5bc922b75f71ae24bb6f380288cb3a619bf2940b0de47b27e86cce0ffdb1fbdc9c0540d3f15c9df4884497aa1e6efec0f1579ac722b414818a428 SHA512 07bcddba0926c3dff7629da3260f9a38593fbb337b6a68d55c223f5944d912885e5319cd635ae1785026fed4adea1fcc19695ae83aca5bea127c5a8868fd2c43
DIST pyo3-macros-0.28.3.crate 8963 BLAKE2B ca9967cfba565b873ed77565ff6eb8408473c227d191797e9db8c6b5cbc89abc17ffd57ae71e28877088fe19373da2f503cdefeae6b0a47796f6abcf62044f08 SHA512 57d178bd9b53dd98916e60c89bc26c34f9949829dc17bf7d6cc15b704bba7c874d85d6bd3c827d401268660a79230a6e32711048da939ec4e22342f3e08046d1
-DIST pyo3-macros-backend-0.26.0.crate 81809 BLAKE2B 73885035855daf00b001e97e0a5ebe09412d212c8f01aa4db6638ef09990bf1bccbacf2e5a7e6ec21929bb1c2beba06587ecdb6ee954eda9e9c51c6c276cea95 SHA512 4146011a8ef18ecaa44b425eebe6e5e1370945063b98aaa83452e57b66aefbf5d483367b1d4d44aa5091303c4ba7f568c6428ecec0cfa6c90ba41631d4e99367
DIST pyo3-macros-backend-0.28.3.crate 88063 BLAKE2B a484b12bbab3031838f61149ab9f08b9e460a2bd02089e08e58dac2cb747afbc0cdfe64018ed4c8cb0bbbd1d22e3eb05a6a72b020da6b71a584ec51ca8d24292 SHA512 45ce31ed64ee4fd0249736d480c9840a756bc45934d6803ae11e0680057ecf4cc74c71b47ccf9241fc3ab5c1e0b9c758426f08bd523d1ace92fc308302ea3c84
DIST python3-dll-a-0.2.14.crate 103489 BLAKE2B a2868aa62d9b5f33ba0ab3be85f486e7b0594b8e535749e251ae9c829eabf9f0211f928c729b0f5b847a89be978c4b5648d333ac657a82acaa3c39520dfe0b8c SHA512 fde53bac2b7009d409d5dfab991b431aea7c16c5e0227a7bb143e73a043cd0490cec2647f73cfc34f73a192e9b365a70fd5b42d969beb2e3251dff44230a2040
-DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685
DIST quote-1.0.44.crate 31629 BLAKE2B 6e34e4121b7a37fd7492fc22d652c44ff90b8b3391b5cfa320a606871a43a4494beca15c1d4416c342bf511adb6442afa5513821514c52376175e2f8a98b7293 SHA512 6c1e9b31e0c8bd13cd865e6846dc243d88f2c057adeb8e674117bdcb46947219a6a352a6a50be1132c483f55331e6556275ac514513dbf017825c64e5d96010d
DIST r-efi-5.2.0.crate 64764 BLAKE2B ee17fae983b2c39137cb75698062a3bf8edb4bc680b04900797730618b54298e2f1d13ceab6b660f7a1799f6fc4113ca15d4320b1b95fc42913e0930f3aa16f8 SHA512 80f89d467b482297ec2c13cb0dc8e310442495483e25c33bb523f1cb66d6ce01fee4a57b36880a4f51c0e9f20eb3f993a5bc0a13224d52693dbc81b97c630158
DIST radium-0.7.0.crate 10906 BLAKE2B d576e0ea5c5287bcb6740cee3a3838b6ae4dfdef0ef05d34634b96dba5159e48260233db57a767c9e032fa5d9a5798361335cb19f7844f450113ece30ffbc51d SHA512 51e23cf52997b46c0018a94b0259b29d7bf33ddba19f6db406ca57ee5b1417d7e5f27dda3bb487d0099886011a97f238e8b3dd4d6c86e8464c0b471c1a7622a0
-DIST regex-1.12.2.crate 163843 BLAKE2B 4e36124886e35c2e06ecf3310c32f45bb80fff978a99509abd7d7eb6378f81123819470c227d5c234fd6e3bc7a8e7baa331ee0ed3137f9256c76cb32413ecb7f SHA512 c459657944679350369462c3c7686dcdf412597f75bc13c450a131bfceebfe2cd1e1d7f95f0f55b4aa16bfc1acb5c777f344fcfd6a5927aa76b8a2d7aa954d3c
DIST regex-1.12.3.crate 153392 BLAKE2B 30f272fc2cda1e36219dfccf0338edacceb5bfada7ac81dd01429661b01b0fa72f6bb343e753e2388251aa0aadc0b5cf61e07670020c9ab351f418c23653ad47 SHA512 73ea9581c861490ad4c8c767c09f1f39be525f4298f5b19ba7b658dfade4c91f7ffd170214382ef4694855c0a48a4db57c39b75d8fa6a9312b07409170c66000
DIST regex-automata-0.4.13.crate 625250 BLAKE2B e8682eff5df93737430a783cd913265dd45a9692fc4623a956557cd7d6553f34eff731f6f3ec5fed5c0dc6b7f8f31236203ad9f459a998fede053d990d9faea6 SHA512 f76939dc573a88d17b4cf37fedfcdf95202171ca8607374a5c2bcdc515abd1ef9231376175c6cf11cc567eddda34e0c5f90ed1c592f2c5efbd1dee883954a932
DIST regex-syntax-0.8.5.crate 357541 BLAKE2B fc6d125f7a8574c37d81c75cbfd447cbcff736f2d9991b19814ffc1a414ebc5b76e84fb8fd36c983b38e8e391d165cdd9047832b0d9100f0e1ba7085484b7db5 SHA512 549d8d130fea9ec0d5806126f57f31d433f50e9328c5532ad417c44bb5488ec0d20acb0983dbe54dabaa0b453cbea4533cf7baac7144df119e8f78dfe55c5ab8
DIST rustversion-1.0.17.crate 17621 BLAKE2B 1f077ca6fd90333724d1ea9df7f5b178f37f895b71a7b2814e9ba8618bffcd2307f9cb4ac2eea25d461a6686a4b5b51eebb80f1b1ccc773d4da1948c47fe8abe SHA512 0565cddecaedae17e7cd99bc34f54cda242d4c29cd4269f8e3b178ff91d49f3682e7ffe66e436bbb138299736c8e55cc143fefb74c076911fefcc41ba98064f3
-DIST ryu-1.0.18.crate 47713 BLAKE2B 409cdf4b4e77685394018371e91ad6fdb175ac57e1df9f902871f13208515e5a2ab1daa226fc1e7291278e64448332845be4cc9409bce3b2f3daed409259e104 SHA512 a9b2beac778ec47e6be303148d7512ee681bd2361f6e4ac6db32c8b4baf86a8c5eb5b0d02eacd6131ae88c7b5105c57018c3050676e0b3dd1ed9c4d2fd650e84
DIST serde-1.0.228.crate 83652 BLAKE2B d1909d671ea6d5c2eb4ce34ee4493ecaf665d416111b4cac754b5d33b85f916296110bae7aa961efd987a2ceb4a31ba645752ce99dd28dedb9f1eecdd4d7b1b2 SHA512 9b645d6214203533b303fc5e88ad4f7686c22df084878d18a0209a92304a340fcb62fdde88a7080cf7a7348d47b9b363885c4e1da90dba08cc99ff620f375e97
DIST serde_core-1.0.228.crate 63111 BLAKE2B 8a64e4627ad21a3d16dd37d53fb809d11171bf337ec16bb1223075cbf81b6b85cd1c8d19abadf42460d0fbea323e2f351eeb6ef823389d519121b74e68edb215 SHA512 43897e3a7ebdc85d81d1cb30cda8f0a11610f6f551529c8a21462c24fb83110652b462846aa3e1bed5fbf8b5d7927018845a524ee9e079e2c8acf2c687efd6c4
DIST serde_derive-1.0.228.crate 59605 BLAKE2B 166ee2f9ff9f7a0928d0a65a72db3d9226c377bca2a1771956e8ecd9c7faf0544673c9c21be2a5553e621b55c74c7b958052592a1cf6eb6427a2d4f3e3dc6bb8 SHA512 8bfdfeee10ee7ef0670972aa963ef63b13e8eb2c8a09b9e0b717f92551aa89b3dd2a0dcbae6ccf20a1caece07e6adb18f0db56fdac020e4e0281b0d24e376003
-DIST serde_json-1.0.145.crate 155748 BLAKE2B fdb06251cf3a18f2f3685823585f4ac16f2f3b762e528e3f815168a6d7991d384eb140698f9f5c39c4ce04e17fbe062f3f9c07cfea9915415a7e1f9046b6a83e SHA512 e2054b7914e6cde0c58e952d9c129f7fe8c55981b74a9700cb282480688868ebedeb44281c1e3ccef2e2a04a9a18fbdafc8a4d43169f4d09ce905808e4e056be
DIST serde_json-1.0.149.crate 155994 BLAKE2B 7564c287a05c95feeba2b3a17e2e43ba047b0132b40fc4dd0c09141c2aac559c00bf4c63cbd24c17f12f5e6b49cf38b240d2c6c66677ee7a9edb197aba7d57fd SHA512 85fa8cb7b479f8241a4fd2255dd80e346fa5cde103aa7f25c14ccbcdf0e3276578fd0645e1d2542ee07c7e08c32058ff662bbf03926cd796c38622a12f423d43
DIST smallvec-1.15.1.crate 38116 BLAKE2B 8dd779d7726694672945e928399e0459f4973d284a6c2d664c2fc757ebb1177658f47c812d9800e982479cbd7413fd4283c64a4d248ba5cff6397f96b758676e SHA512 c26b097a063353beedfcc921129cd0fb838c1c9420218993a05b2655b47b6ec16f11e0054312018658b4abd893beee140c5d2739401a5e5aea2e64575f237047
DIST speedate-0.17.0.crate 40124 BLAKE2B 665d5adb431bb8dd56405354e64d8769d1582bb10f22c1d85897a745f37f07ce7166137f0003221f1948a5481a1e1667ad548be6dc7b0b60ed4db4a5069a9b69 SHA512 d24dafd1be59c99118bf73369dbf5fe4fd6d0a3b4d09d59d00019e66e9e1300f0089a04f48191c1fb7b1890b7ef575baf0a8f07d487d0bbf537c0d8e87328e1c
@@ -97,16 +77,12 @@ DIST strum_macros-0.27.2.crate 30522 BLAKE2B c70e2f27074e04b796f2b0e1a1856e95fa7
DIST syn-2.0.82.crate 272300 BLAKE2B 2982faee84539879f87ad34a426027b4b9117dea9ebc2249517070c98495f85f4c04017898705f256161f1fef1c450dd494b6044cfb91fe916fbae1e2ae51752 SHA512 b1e90fc37a68998e4708ba5c68581feeb88d73ce56b73e6c87f1341ddba04cb6afd43ebf83abecee94c03b2bf9df5b0dd9dfad32d7914e82ddf6c50cab81267d
DIST synstructure-0.13.1.crate 18327 BLAKE2B b29ee88c559a2d58fa46b7af155b448f001649ea79a1898f0ac87e69108b87c65cbd287d8f9001f360df7fef06ff39c937b48d33e487a30c8eec6a46c639c0c2 SHA512 09024193b44fc9a8901bda845b9f86c57dad65d0f53e309b2e7e968538fab6f67db1c86e5e52a2eb8fd116dc073e3ad10983bd60764662ec6ba94fee22a958aa
DIST tap-1.0.1.crate 11316 BLAKE2B 60786fd5f12c2f06097330c26809fdcfce62716586d2e1985f8c01406d356ed0ab730a04dfe72ee3e1d6208a53c76c66883d45a76130750b41ba5b82aa721b83 SHA512 d69ff11a46e2fbc276212511878f48eb93640c0b147df6578ea057b23625f9366a7fc3926693fc3809688537af5ca919c91605beed364decf83c35a032310995
-DIST target-lexicon-0.13.2.crate 27923 BLAKE2B 0761f0ffdc23b9c9df86b384d59611c7b8b5e29ff068f03367ad2fe84cfb6d11e1af149b9338236978e9566fedc51387db9f239d2a602db41045ac3db907faec SHA512 d25e3cc3d679cb6b6f24c03e0c24db9d6ca31b8ed42ac9531bd7637557fbba225a6c8ac4f68a8eaf3569195814d599e668a968afbc73b940a77cbc27552cc90a
DIST target-lexicon-0.13.4.crate 26832 BLAKE2B 923aace3258de547e6813c7d58069a0d3b18941f05debef5954cf872490d9be8bc2036c8e807ee3f74d33c59cb01ce5b105bff95c79a79596cf328783633737a SHA512 0bad8add6b8767f1217b9a3aa83fb176f080ed9241ebd3a208ce3196650b01254c306520f1f950571bda463994631b64af9ddaca8a2478fc40f64b1381e880e2
DIST tinystr-0.7.6.crate 16971 BLAKE2B 33a248261c4cded41a81f0d6e6c8df55437f042b37f235c39787986ec562f0dbff50b282ad0f1483daaf49c4b33e6618e139a6677d1238c21f4e12082562b4ae SHA512 a33051848de248cac0a2d151760a78cb3aa62c787d84ff7aac38b11c0660e9188e4d43d43a77fb8676e49ac6102015e9c3db057848d809e71981851875d0fb25
DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
-DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
-DIST url-2.5.4.crate 81097 BLAKE2B 74943c63809ca41a526a146bedae66f91f390fbd2ccbd90f9397d8074ee7ec26535f0f67170eb1d7232e139d8d795fde99be37f53f1bc32c6a6a4d46aad1369f SHA512 8f1d62bfdd45f52fa12ad657a521a3478d0ab54d187346a29dd59cc66a0f140ca96d850948e09f6316f08b44b3fc68526c58bd620fed5d065b7e8528df3cd46d
DIST url-2.5.8.crate 86512 BLAKE2B f289265720ff9243a27c371a938abd00e2c458a440e6ffc30cb0fb0ea4aae4a6b82eace80c3655a9dbfdf2c9428a10844cb3fe6299cd8820e86a13e5cb078d8a SHA512 5848b47d63ae9c195fd5f82bd8333c53cb399f383240e84a606c486d3dbb37db4e268b01a147deb8cdf5bc534a4ebc7b11391e73f81dc3ea3ad7254507ac0c6c
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 uuid-1.18.1.crate 60468 BLAKE2B 0e70361595e8d0baf8c4c69a09878fd39fee414d404a7b3cb457ad60cd3cd351418a8981090f4c3d507fee42c575eaf6699f494a604da0470573e81b7a56366e SHA512 2a088f752c4dc05291b8563f83ff8efd6534697f55da76baa89d64122ae436a7f0e19fa46a9e615d4e9b013bbc575bbe0f7646c182b37a6c24edcfe24e518400
DIST uuid-1.23.0.crate 63006 BLAKE2B 77bcbf3c658f0bb5d09bed862b9a8720110d62094a2bf9065ab8f98e6c458e4213767a9152280bdd71941eae7077036deae56adbcdddc14fdcbbac4cbd030061 SHA512 60e476dcbc407a0447f362ee019abb128c0441503e0adacdcac5685ecc16aa680faa575b25fcce147e9c49bfb5b8fa04964a25c5d7e4e9870e0078bf8f18fabf
DIST version_check-0.9.5.crate 15554 BLAKE2B 131e75cc287518831e142430e2a39b48e4275874f4473780d47a27552294097aa1cddb65c385583e1022478f940b495eb43c24a8b1617b8ac5a24af3340c0d72 SHA512 d11d5a2240ab0c67ea69db56561ce202201edeef9a8e5eda3d9ae7ab7bb5752d8f343fe7f6536d8383de8d55f9024efa84f66a0c21e69563b7a38c4a628014db
DIST wasi-0.14.2+wasi-0.2.4.crate 140921 BLAKE2B 6b3ce7cb8ed888ad65053352b02b827bced3b59118d546ba593ffa9de48305bef62419751036e22b0f95c22fe34ea1d7bdf7fee0f6981181026d1eedfacf73d9 SHA512 57e47ba27fb2b66b34f017c85743b99687eb8bcdc1312fb36e30d0c501e670f00dc7d6113730d819364abef5e8ec04d95f0d1150ec2b6049e605fa8bbdaa2cb3
diff --git a/dev-python/pydantic/pydantic-2.12.5.ebuild b/dev-python/pydantic/pydantic-2.12.5.ebuild
deleted file mode 100644
index 70da9b0f1a66..000000000000
--- a/dev-python/pydantic/pydantic-2.12.5.ebuild
+++ /dev/null
@@ -1,231 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=hatchling
-# no provenance for pydantic-core:
-# https://github.com/pydantic/pydantic-core/issues/1842
-PYPI_VERIFY_REPO=https://github.com/pydantic/pydantic
-PYTHON_COMPAT=( python3_{13..14} )
-
-PYDANTIC_CORE_PV=2.41.5
-RUST_MIN_VER="1.75.0"
-CRATES="
- ahash@0.8.12
- aho-corasick@1.1.3
- autocfg@1.3.0
- base64@0.22.1
- bitflags@2.9.1
- bitvec@1.0.1
- bumpalo@3.19.0
- cc@1.0.101
- cfg-if@1.0.0
- displaydoc@0.2.5
- enum_dispatch@0.3.13
- form_urlencoded@1.2.1
- funty@2.0.0
- getrandom@0.3.3
- heck@0.5.0
- hex@0.4.3
- icu_collections@1.5.0
- icu_locid@1.5.0
- icu_locid_transform@1.5.0
- icu_locid_transform_data@1.5.0
- icu_normalizer@1.5.0
- icu_normalizer_data@1.5.0
- icu_properties@1.5.1
- icu_properties_data@1.5.0
- icu_provider@1.5.0
- icu_provider_macros@1.5.0
- idna@1.1.0
- idna_adapter@1.2.0
- indoc@2.0.5
- itoa@1.0.11
- jiter@0.11.1
- js-sys@0.3.77
- lexical-parse-float@1.0.5
- lexical-parse-integer@1.0.5
- lexical-util@1.0.6
- libc@0.2.155
- litemap@0.7.3
- log@0.4.27
- memchr@2.7.4
- memoffset@0.9.1
- num-bigint@0.4.6
- num-integer@0.1.46
- num-traits@0.2.19
- once_cell@1.21.3
- percent-encoding@2.3.2
- portable-atomic@1.6.0
- proc-macro2@1.0.86
- pyo3-build-config@0.26.0
- pyo3-ffi@0.26.0
- pyo3-macros-backend@0.26.0
- pyo3-macros@0.26.0
- pyo3@0.26.0
- python3-dll-a@0.2.14
- quote@1.0.36
- r-efi@5.2.0
- radium@0.7.0
- regex-automata@0.4.13
- regex-syntax@0.8.5
- regex@1.12.2
- rustversion@1.0.17
- ryu@1.0.18
- serde@1.0.228
- serde_core@1.0.228
- serde_derive@1.0.228
- serde_json@1.0.145
- smallvec@1.15.1
- speedate@0.17.0
- stable_deref_trait@1.2.0
- static_assertions@1.1.0
- strum@0.27.2
- strum_macros@0.27.2
- syn@2.0.82
- synstructure@0.13.1
- tap@1.0.1
- target-lexicon@0.13.2
- tinystr@0.7.6
- unicode-ident@1.0.12
- unindent@0.2.3
- url@2.5.4
- utf16_iter@1.0.5
- utf8_iter@1.0.4
- uuid@1.18.1
- version_check@0.9.5
- wasi@0.14.2+wasi-0.2.4
- wasm-bindgen-backend@0.2.100
- wasm-bindgen-macro-support@0.2.100
- wasm-bindgen-macro@0.2.100
- wasm-bindgen-shared@0.2.100
- wasm-bindgen@0.2.100
- wit-bindgen-rt@0.39.0
- write16@1.0.0
- writeable@0.5.5
- wyz@0.5.1
- yoke-derive@0.7.4
- yoke@0.7.4
- zerocopy-derive@0.8.25
- zerocopy@0.8.25
- zerofrom-derive@0.1.4
- zerofrom@0.1.4
- zerovec-derive@0.10.3
- zerovec@0.10.4
-"
-
-inherit cargo distutils-r1 pypi
-
-DESCRIPTION="Data parsing and validation using Python type hints"
-HOMEPAGE="
- https://github.com/pydantic/pydantic/
- https://pypi.org/project/pydantic/
-"
-# pydantic-core & pydantic have a perfect circular test dep now
-SRC_URI+="
- $(pypi_sdist_url pydantic_core "${PYDANTIC_CORE_PV}")
- ${CARGO_CRATE_URIS}
-"
-PYDANTIC_CORE_S=${WORKDIR}/pydantic_core-${PYDANTIC_CORE_PV}
-
-LICENSE="MIT"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0 Unicode-DFS-2016
- || ( Apache-2.0 Boost-1.0 )
-"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-RDEPEND="
- >=dev-python/annotated-types-0.6.0[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.14.1[${PYTHON_USEDEP}]
- >=dev-python/typing-inspection-0.4.2[${PYTHON_USEDEP}]
- dev-python/tzdata[${PYTHON_USEDEP}]
- !dev-python/pydantic-core
-"
-BDEPEND="
- >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
- dev-util/maturin[${PYTHON_USEDEP}]
- test? (
- $(python_gen_cond_dep '
- dev-python/cloudpickle[${PYTHON_USEDEP}]
- ' 'python3*')
- dev-python/dirty-equals[${PYTHON_USEDEP}]
- >=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/faker-18.13.0[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-4.23.0[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- dev-python/rich[${PYTHON_USEDEP}]
- )
-"
-# pydantic-core
-BDEPEND+="
- test? (
- >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}]
- >=dev-python/inline-snapshot-0.13.3[${PYTHON_USEDEP}]
- >=dev-python/typing-inspection-0.4.1[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( hypothesis pytest-mock )
-distutils_enable_tests pytest
-
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so"
-
-src_unpack() {
- pypi_src_unpack
- cargo_src_unpack
-}
-
-src_prepare() {
- sed -i -e '/benchmark/d' {.,"${PYDANTIC_CORE_S}"}/pyproject.toml || die
- sed -i -e '/^strip/d' "${PYDANTIC_CORE_S}"/Cargo.toml || die
- distutils-r1_src_prepare
-}
-
-python_compile() {
- distutils-r1_python_compile
-
- local DISTUTILS_USE_PEP517=maturin
- local DISTUTILS_UPSTREAM_PEP517=maturin
- cd "${PYDANTIC_CORE_S}" || die
- distutils-r1_python_compile
- cd - >/dev/null || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # == pydantic ==
- # -Werror, sigh
- tests/test_types_typeddict.py::test_readonly_qualifier_warning
-
- # == pydantic-core ==
- # TODO: recursion till segfault
- tests/serializers/test_functions.py::test_recursive_call
- )
- local EPYTEST_IGNORE=(
- # require pytest-examples (pydantic)
- tests/test_docs.py
- # benchmarks (both)
- tests/benchmarks
- )
-
- if ! has_version "dev-python/cloudpickle[${PYTHON_USEDEP}]"; then
- EPYTEST_IGNORE+=(
- # (pydantic)
- tests/test_pickle.py
- )
- fi
-
- cd "${PYDANTIC_CORE_S}" || die
- rm -rf pydantic_core || die
- # tests link to libpython, so they fail to link on pypy3
- [[ ${EPYTHON} != pypy3* ]] && cargo_src_test
- epytest -o xfail_strict=False -o addopts=
- cd - 2>/dev/null || die
-
- epytest
-}
diff --git a/dev-python/pydantic/pydantic-2.13.3.ebuild b/dev-python/pydantic/pydantic-2.13.3.ebuild
deleted file mode 100644
index 4e9ef51460f3..000000000000
--- a/dev-python/pydantic/pydantic-2.13.3.ebuild
+++ /dev/null
@@ -1,233 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=hatchling
-# no provenance for pydantic-core:
-# https://github.com/pydantic/pydantic-core/issues/1842
-PYPI_VERIFY_REPO=https://github.com/pydantic/pydantic
-PYTHON_COMPAT=( python3_{13..14} )
-
-PYDANTIC_CORE_PV=2.46.${PV##*.}
-RUST_MIN_VER="1.88.0"
-CRATES="
- ahash@0.8.12
- aho-corasick@1.1.3
- allocator-api2@0.2.21
- autocfg@1.3.0
- base64@0.22.1
- bitflags@2.9.1
- bitvec@1.0.1
- bumpalo@3.19.0
- cc@1.0.101
- cfg-if@1.0.0
- displaydoc@0.2.5
- enum_dispatch@0.3.13
- equivalent@1.0.2
- foldhash@0.2.0
- form_urlencoded@1.2.2
- funty@2.0.0
- getrandom@0.3.3
- hashbrown@0.16.1
- heck@0.5.0
- hex@0.4.3
- icu_collections@1.5.0
- icu_locid@1.5.0
- icu_locid_transform@1.5.0
- icu_locid_transform_data@1.5.0
- icu_normalizer@1.5.0
- icu_normalizer_data@1.5.0
- icu_properties@1.5.1
- icu_properties_data@1.5.0
- icu_provider@1.5.0
- icu_provider_macros@1.5.0
- idna@1.1.0
- idna_adapter@1.2.0
- itoa@1.0.11
- jiter@0.14.0
- js-sys@0.3.77
- lexical-parse-float@1.0.5
- lexical-parse-integer@1.0.5
- lexical-util@1.0.6
- libc@0.2.155
- litemap@0.7.3
- log@0.4.27
- lru@0.16.3
- memchr@2.7.4
- num-bigint@0.4.6
- num-integer@0.1.46
- num-traits@0.2.19
- once_cell@1.21.3
- percent-encoding@2.3.2
- portable-atomic@1.6.0
- proc-macro2@1.0.86
- pyo3-build-config@0.28.3
- pyo3-ffi@0.28.3
- pyo3-macros-backend@0.28.3
- pyo3-macros@0.28.3
- pyo3@0.28.3
- python3-dll-a@0.2.14
- quote@1.0.44
- r-efi@5.2.0
- radium@0.7.0
- regex-automata@0.4.13
- regex-syntax@0.8.5
- regex@1.12.3
- rustversion@1.0.17
- serde@1.0.228
- serde_core@1.0.228
- serde_derive@1.0.228
- serde_json@1.0.149
- smallvec@1.15.1
- speedate@0.17.0
- stable_deref_trait@1.2.0
- static_assertions@1.1.0
- strum@0.27.2
- strum_macros@0.27.2
- syn@2.0.82
- synstructure@0.13.1
- tap@1.0.1
- target-lexicon@0.13.4
- tinystr@0.7.6
- unicode-ident@1.0.12
- url@2.5.8
- utf16_iter@1.0.5
- utf8_iter@1.0.4
- uuid@1.23.0
- version_check@0.9.5
- wasi@0.14.2+wasi-0.2.4
- wasm-bindgen-backend@0.2.100
- wasm-bindgen-macro-support@0.2.100
- wasm-bindgen-macro@0.2.100
- wasm-bindgen-shared@0.2.100
- wasm-bindgen@0.2.100
- wit-bindgen-rt@0.39.0
- write16@1.0.0
- writeable@0.5.5
- wyz@0.5.1
- yoke-derive@0.7.4
- yoke@0.7.4
- zerocopy-derive@0.8.25
- zerocopy@0.8.25
- zerofrom-derive@0.1.4
- zerofrom@0.1.4
- zerovec-derive@0.10.3
- zerovec@0.10.4
- zmij@1.0.6
-"
-
-inherit cargo distutils-r1 pypi
-
-DESCRIPTION="Data parsing and validation using Python type hints"
-HOMEPAGE="
- https://github.com/pydantic/pydantic/
- https://pypi.org/project/pydantic/
-"
-# pydantic-core & pydantic have a perfect circular test dep now
-SRC_URI+="
- $(pypi_sdist_url pydantic_core "${PYDANTIC_CORE_PV}")
- ${CARGO_CRATE_URIS}
-"
-PYDANTIC_CORE_S=${WORKDIR}/pydantic_core-${PYDANTIC_CORE_PV}
-
-LICENSE="MIT"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0 Unicode-DFS-2016
- ZLIB
-"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-RDEPEND="
- >=dev-python/annotated-types-0.6.0[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.14.1[${PYTHON_USEDEP}]
- >=dev-python/typing-inspection-0.4.2[${PYTHON_USEDEP}]
- dev-python/tzdata[${PYTHON_USEDEP}]
- !dev-python/pydantic-core
-"
-BDEPEND="
- >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
- dev-util/maturin[${PYTHON_USEDEP}]
- test? (
- $(python_gen_cond_dep '
- dev-python/cloudpickle[${PYTHON_USEDEP}]
- ' 'python3*')
- dev-python/dirty-equals[${PYTHON_USEDEP}]
- >=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/faker-18.13.0[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-4.23.0[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- dev-python/rich[${PYTHON_USEDEP}]
- )
-"
-# pydantic-core
-BDEPEND+="
- test? (
- >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}]
- >=dev-python/inline-snapshot-0.13.3[${PYTHON_USEDEP}]
- >=dev-python/typing-inspection-0.4.1[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( hypothesis pytest-mock )
-distutils_enable_tests pytest
-
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so"
-
-src_unpack() {
- pypi_src_unpack
- cargo_src_unpack
-}
-
-src_prepare() {
- sed -i -e '/benchmark/d' {.,"${PYDANTIC_CORE_S}"}/pyproject.toml || die
- sed -i -e '/^strip/d' "${PYDANTIC_CORE_S}"/Cargo.toml || die
- distutils-r1_src_prepare
-}
-
-python_compile() {
- distutils-r1_python_compile
-
- local DISTUTILS_USE_PEP517=maturin
- local DISTUTILS_UPSTREAM_PEP517=maturin
- cd "${PYDANTIC_CORE_S}" || die
- distutils-r1_python_compile
- cd - >/dev/null || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # == pydantic ==
- # -Werror, sigh
- tests/test_types_typeddict.py::test_readonly_qualifier_warning
-
- # == pydantic-core ==
- # TODO: recursion till segfault
- tests/serializers/test_functions.py::test_recursive_call
- )
- local EPYTEST_IGNORE=(
- # require pytest-examples (pydantic)
- tests/test_docs.py
- # benchmarks (both)
- tests/benchmarks
- )
-
- if ! has_version "dev-python/cloudpickle[${PYTHON_USEDEP}]"; then
- EPYTEST_IGNORE+=(
- # (pydantic)
- tests/test_pickle.py
- )
- fi
-
- cd "${PYDANTIC_CORE_S}" || die
- rm -rf pydantic_core || die
- # tests link to libpython, so they fail to link on pypy3
- [[ ${EPYTHON} != pypy3* ]] && cargo_src_test
- epytest -o xfail_strict=False -o addopts=
- cd - 2>/dev/null || die
-
- epytest
-}
diff --git a/dev-python/pydantic/pydantic-2.13.4.ebuild b/dev-python/pydantic/pydantic-2.13.4.ebuild
index 89aff939f935..5cde6e6147f8 100644
--- a/dev-python/pydantic/pydantic-2.13.4.ebuild
+++ b/dev-python/pydantic/pydantic-2.13.4.ebuild
@@ -139,7 +139,7 @@ LICENSE+="
ZLIB
"
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/pydata-sphinx-theme/Manifest b/dev-python/pydata-sphinx-theme/Manifest
index 865984c57d3f..fa1b84d0d637 100644
--- a/dev-python/pydata-sphinx-theme/Manifest
+++ b/dev-python/pydata-sphinx-theme/Manifest
@@ -1,4 +1,6 @@
DIST pydata-sphinx-theme-0.17.1.gh.tar.gz 4987274 BLAKE2B 5243687885e05ba88064bfd84fff6ebb4b48879aa93d67aa9c377b6ca0ac8f7c1fa85c5040e819200660107bc436ef49a3c5aeefd8d8201edb4130f7da003682 SHA512 883a3e11a200ecb05f7bd4a9cb528168963a161a3c2c263534359e94abc982de1ea249731a5a63a467bc99f6b0e3bb7de59d093b8c9a67c83377a7d866899fc6
DIST pydata-sphinx-theme-0.18.0.gh.tar.gz 5000514 BLAKE2B 3c44cce6131dc5b4fa8db2161fce3b05dd9929457651edf6c74affeffc3a231b1f7718a2c5e8ee724c77d1f295c58a610fadc31446610801e5319fffb5921584 SHA512 ecd6d9e138007ca7c42807d3fad9d275abc1531f3360beeae18d8b960825a2704de1c136c6bc49e74f82a7bf29094fcee5c43da551d6b99831b4f8e82156dcfd
+DIST pydata-sphinx-theme-0.19.0.gh.tar.gz 5000939 BLAKE2B 591572b2421812a943faa9d991916dcce034d36bdda414a47dbfd158edad48eee6082432fe64d0b70de75b47d087236ead374039d7fb282d9a203bf045de9185 SHA512 04cd626facb2f83a4518eb9279654d16d3e8e255d6037571a915047a680ff1c710402a97afc884a1cc73ba2db97673d342066aa11f3580c70055b5cff6ecc942
DIST pydata_sphinx_theme-0.17.1-py3-none-any.whl 6823346 BLAKE2B 20559376e998b2e3cdc3e6c6ccaf15e9aba263deb6548c679b0c7f084b5c5179fc3e4ccbb3d8346d1aaabc28fcc85e77dbccec6f4c9173c79905525d7fccaa2e SHA512 06bdf3a470aee5edbc2ce97119757f1b9418dc3afe127d951bf43d6963e8e83f7e04a7be9de05c24774b93efdfa0481d8ae195fff2e4b1899feac344757c770c
DIST pydata_sphinx_theme-0.18.0-py3-none-any.whl 6200747 BLAKE2B d18565462011b51eff6b58370ded7567c0099a260464e89fdea3e6bcb266fb102c41c70e7ea1d3e11da832b2deab876071c4578b8844bc0567bfff2776a61011 SHA512 882f8826e0d3bf5076083808c678e0d560c7a2fb076b320481cb8845882dd267f42338a3a4f4faced8ceb51740847e45bd6452f79ac4e3f0a09c37850c0bcfbe
+DIST pydata_sphinx_theme-0.19.0-py3-none-any.whl 6201132 BLAKE2B 0a4ed0b9182400d6362cde32f4cb5e319979ab63efa57a1e5bb4a01b31e894b20c78804a010384d4d0c9e0fb49a510bce538cca3a2731c1a9b5021fc88591abd SHA512 a93d58be7ad004aed61eb6737e8bdc51a724cb67335351dba8a8ca7ad7f5e62ff78499e9cb9e98a66d023ca376fdba4cae9338e8462b54b0a7c9f69ee7b34ffb
diff --git a/dev-python/pydata-sphinx-theme/pydata-sphinx-theme-0.19.0.ebuild b/dev-python/pydata-sphinx-theme/pydata-sphinx-theme-0.19.0.ebuild
new file mode 100644
index 000000000000..f7365f8455d3
--- /dev/null
+++ b/dev-python/pydata-sphinx-theme/pydata-sphinx-theme-0.19.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+MY_P=${P/_/}
+DESCRIPTION="Bootstrap-based Sphinx theme from the PyData community"
+HOMEPAGE="
+ https://github.com/pydata/pydata-sphinx-theme/
+ https://pypi.org/project/pydata-sphinx-theme/
+"
+SRC_URI="
+ https://github.com/pydata/pydata-sphinx-theme/archive/v${PV/_/}.tar.gz
+ -> ${P}.gh.tar.gz
+ $(pypi_wheel_url)
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD-with-disclosure"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/accessible-pygments[${PYTHON_USEDEP}]
+ dev-python/babel[${PYTHON_USEDEP}]
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/docutils[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.7[${PYTHON_USEDEP}]
+ <dev-python/sphinx-10[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-8.0[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( pytest-{datadir,regressions} )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Requires sphinx-intl
+ 'tests/test_build.py::test_translations'
+)
+
+python_compile() {
+ distutils_wheel_install "${BUILD_DIR}/install" \
+ "${DISTDIR}/$(pypi_wheel_name)"
+}
diff --git a/dev-python/pyfzf/pyfzf-0.3.1.ebuild b/dev-python/pyfzf/pyfzf-0.3.1.ebuild
index 15ebd2c1429e..37f4d736c3dd 100644
--- a/dev-python/pyfzf/pyfzf-0.3.1.ebuild
+++ b/dev-python/pyfzf/pyfzf-0.3.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2025 Gentoo Authors
+# Copyright 2025-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-python/pygdbmi/pygdbmi-0.11.0.0.ebuild b/dev-python/pygdbmi/pygdbmi-0.11.0.0.ebuild
index 4092ad7a0f79..272433ed4d8b 100644
--- a/dev-python/pygdbmi/pygdbmi-0.11.0.0.ebuild
+++ b/dev-python/pygdbmi/pygdbmi-0.11.0.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023-2025 Gentoo Authors
+# Copyright 2023-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-python/pyghmi/Manifest b/dev-python/pyghmi/Manifest
index 0665628f12dc..7f3853273895 100644
--- a/dev-python/pyghmi/Manifest
+++ b/dev-python/pyghmi/Manifest
@@ -1,2 +1,2 @@
-DIST pyghmi-1.6.15.tar.gz 284731 BLAKE2B b26ba91dc36619d81351e94ee35ac456691e8f3ac74873f30dd4ae5e94709480881c38c0ec29fccf6594eff7489abfab42edcc6d138cf1b08ca86efa9ea5e8bc SHA512 2098304c7c03ae1ecabac35c8287bde69eedb2aee9e85d702014001cb6ad99880ddf427fbd47c9a6f69c331db1c11ea1d333a38a43f36507d8c373856e220837
-DIST pyghmi-1.6.16.tar.gz 284898 BLAKE2B 7ad59de92f40ecf4fe67d7a0e27abe1f124b7cc35989245261d56243abcc0c1e396bfd656bb2515b0343aad10fbdd0bec1c60458d03476a792ecb49b157c5cd6 SHA512 fa4f41e262e63312010da0f51cb558a0ba99e74ffd6e90a108ca5310aa7b065b96f9967e4e39596a09d33795d0d9919d13f0b66eeb73b630b23eec68f1dde596
+DIST pyghmi-1.6.17.tar.gz 285830 BLAKE2B 40155e56cb4bfb9463ac42f33a15e4f1fefce7cb0796ab5e871f89d87009bd603689ef66ffeb257438577798e4742fefcde91b44555f4a18e255cabfda638948 SHA512 fb13d0b3d10541f7449da5bc087ea8db6242310b1c95c2bb8ee811e605315f8349231daa0f88aa1a4daf735570d2d38ed66e684034e3e39dc9f4f3f875aa1932
+DIST pyghmi-1.6.18.tar.gz 286180 BLAKE2B 1fed199f2df8142e2d2dde91fd6c53c327a4899432fc8bca73e8bcb8db91bb2d6cb404ac40f8b1c989ce8854d12353692f6359e1906e0d7f989530808abaed0c SHA512 28182d2b13dd9100acf46f07781fd8a6e7fac757471dfa484a760de5b331dd4c71e1113eb3c03d2d7378d64986f5226fc0e20ca4b6c50184f11ac622718068a9
diff --git a/dev-python/pyghmi/pyghmi-1.6.15.ebuild b/dev-python/pyghmi/pyghmi-1.6.17.ebuild
index ad0c0c312dde..ad0c0c312dde 100644
--- a/dev-python/pyghmi/pyghmi-1.6.15.ebuild
+++ b/dev-python/pyghmi/pyghmi-1.6.17.ebuild
diff --git a/dev-python/pyghmi/pyghmi-1.6.16.ebuild b/dev-python/pyghmi/pyghmi-1.6.18.ebuild
index ad0c0c312dde..ad0c0c312dde 100644
--- a/dev-python/pyghmi/pyghmi-1.6.16.ebuild
+++ b/dev-python/pyghmi/pyghmi-1.6.18.ebuild
diff --git a/dev-python/pygit2/Manifest b/dev-python/pygit2/Manifest
index ef87c6a29170..c68b58a69a05 100644
--- a/dev-python/pygit2/Manifest
+++ b/dev-python/pygit2/Manifest
@@ -1 +1,2 @@
DIST pygit2-1.19.2.tar.gz 803448 BLAKE2B ec15daaca0b7a01ffd53bbaac64d20aa5e06073974770b27f33772e63b3f03375fcdfa8784933930e55881a79e2fbe2e92c86b658d1d927a4e39c7d33f547f2e SHA512 e40699d38709fd24c3ca8e9e224e17af45aa0dd2c8149b5e766164b28dd93c1b0603ad4dc358e80a8ea223a60030fa8552f6b6fb28e0320fc040abee30dace7a
+DIST pygit2-1.19.3.tar.gz 810489 BLAKE2B 51921590e53d5146fd7bbdf62e426aa88158e82d10ac83cb6666b03169889a8f7990a2fc6d79d6337f5fc98c4b33ec771b5edee0d46937133bbeeecfc46feea3 SHA512 6089eeb3a2af2c9ec9f09815cc3bcc7e0c41acbc8cec68d09f50de803ef526b7ea321858934b89e8d34d1c4974e2456596ebd26a179be6023616c5abbde7fe58
diff --git a/dev-python/pygit2/pygit2-1.19.2.ebuild b/dev-python/pygit2/pygit2-1.19.2.ebuild
index a83f5ac90f7e..007b9fe02a3b 100644
--- a/dev-python/pygit2/pygit2-1.19.2.ebuild
+++ b/dev-python/pygit2/pygit2-1.19.2.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="GPL-2-with-linking-exception"
SLOT="0"
-KEYWORDS="amd64 ~loong ~riscv x86"
+KEYWORDS="amd64 ~arm64 ~loong ~riscv x86"
DEPEND="
<dev-libs/libgit2-1.10:=
diff --git a/dev-python/pygit2/pygit2-1.19.3.ebuild b/dev-python/pygit2/pygit2-1.19.3.ebuild
new file mode 100644
index 000000000000..fe0d4c3ae938
--- /dev/null
+++ b/dev-python/pygit2/pygit2-1.19.3.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2026 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_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python bindings for libgit2"
+HOMEPAGE="
+ https://github.com/libgit2/pygit2/
+ https://pypi.org/project/pygit2/
+"
+
+LICENSE="GPL-2-with-linking-exception"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
+
+DEPEND="
+ <dev-libs/libgit2-1.10:=
+ >=dev-libs/libgit2-1.9.0:=
+"
+BDEPEND="
+ >=dev-python/cffi-2.0.0:=[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+ ${BDEPEND}
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unconditionally prevent it from using network
+ sed -i -e '/has_network/s:True:False:' test/utils.py || die
+}
+
+src_test() {
+ rm -r pygit2 || die
+ distutils-r1_src_test
+}
diff --git a/dev-python/pygithub/pygithub-2.9.1.ebuild b/dev-python/pygithub/pygithub-2.9.1.ebuild
index d590b1635171..3a33d11582a2 100644
--- a/dev-python/pygithub/pygithub-2.9.1.ebuild
+++ b/dev-python/pygithub/pygithub-2.9.1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="LGPL-3+"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 x86"
# cryptography via pyjwt[crypto]
RDEPEND="
diff --git a/dev-python/pyjsparser/Manifest b/dev-python/pyjsparser/Manifest
deleted file mode 100644
index 7ad8aba46e11..000000000000
--- a/dev-python/pyjsparser/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pyjsparser-2.7.1_p20190421.tar.gz 210147 BLAKE2B 1286167a8ff9a0ee08019af2c1ba36a0dd1c22004a4e1ea3764f0a2a06e87b649435f332b9a9dea461ceade32340f7388489c972dafc9e558f973d7bbea4ac42 SHA512 2e4b3ee1cd863099da262eaf4df5ec4f364ce54e7c7535558f36d3449e21c9f851460078e1a7057ef8c82e2ed9c82f54944cd92782fe3f8cd05411edca191a40
diff --git a/dev-python/pyjsparser/metadata.xml b/dev-python/pyjsparser/metadata.xml
deleted file mode 100644
index fcac38206385..000000000000
--- a/dev-python/pyjsparser/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>xgqt@gentoo.org</email>
- <name>Maciej Barć</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/dev-python/pyjsparser/pyjsparser-2.7.1_p20190421-r3.ebuild b/dev-python/pyjsparser/pyjsparser-2.7.1_p20190421-r3.ebuild
deleted file mode 100644
index 7a96b6f236dd..000000000000
--- a/dev-python/pyjsparser/pyjsparser-2.7.1_p20190421-r3.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-[[ ${PV} == *_p20190421 ]] && COMMIT=5465d037b30e334cb0997f2315ec1e451b8ad4c1
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Fast javascript parser based on esprima.js"
-HOMEPAGE="https://github.com/PiotrDabkowski/pyjsparser/
- https://pypi.org/project/pyjsparser/"
-SRC_URI="https://github.com/PiotrDabkowski/${PN}/archive/${COMMIT}.tar.gz
- -> ${P}.tar.gz"
-S="${WORKDIR}"/${PN}-${COMMIT}
-
-RESTRICT="!test? ( test )"
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~hppa ~mips ~ppc ~ppc64 ~s390 ~sparc x86"
-IUSE="test"
-
-BDEPEND="
- test? (
- dev-python/js2py[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- )
-"
-
-python_test() {
- "${EPYTHON}" ./test_runner.py || die "tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/pylint/Manifest b/dev-python/pylint/Manifest
index 551f9258b192..21ea259a01f2 100644
--- a/dev-python/pylint/Manifest
+++ b/dev-python/pylint/Manifest
@@ -1,2 +1,4 @@
DIST pylint-4.0.5.tar.gz 1572474 BLAKE2B fdc5b999151fdb88bef549bd2e2c93561242b1ac4cf137a95fb14f6f96cfe4dec113ce743366ea586ca4556cc9c403f1bae5136f6613184c012d620e60b6ec0f SHA512 96959f57f7730e8b6fd281afa5429a0a1ebe4815db9ffb175498e18b3132f7e52e04dbc9da3818d460a565567d27072f06cf79b21ea4be82ad7618ae6ff1be40
DIST pylint-4.0.5.tar.gz.provenance 9456 BLAKE2B b2ba66073acdd3c9c9fadf21b0743c67c186e301e1ced8c4ada6e0f8a9d5b90854cabdc37e3000ea2417db360d20113e944bf59b9523601d42f1d786a29aab51 SHA512 24e5ab2e6f8f590627106b3e999fab48d9c46ec21fbaac92c553a53b469f9ef26082112e3059aaa43579f068e26166fc6878a78a784035d8bfe3b09520435b2f
+DIST pylint-4.0.6.tar.gz 1585588 BLAKE2B d5e33b547814a949f631cd7c751d4428989cd1e067d9db67b040fb3a1d8e714e8b05a1b587a7d8281b55d5eb0ff0eddff60bfa86458e270474c3b9c17298bb00 SHA512 f52002cce9c163a6ee8cc4daa1a7a7461d8fa989654ab5c9d8b1298267f1d4e4e828b9eb04d675380a7b89f154afa62278f92c2e84e91a37e8b435431a8d9f22
+DIST pylint-4.0.6.tar.gz.provenance 9637 BLAKE2B 54a4b116a7536e5cf6132555b35191f09b731d2519746bda2a0e21682f74e70e5318466fb91f9d81f22328e064462e9756fac12e9b1a1d2c7d47bcf52291fc56 SHA512 18cc29ce12955111360fff48438c68bcf943073a0df82b542adbed63ad01e5e591d5309f6d5cf98041e956bdc6e4cec668491f6a6a888dc0625007e0794fc5c4
diff --git a/dev-python/pylint/pylint-4.0.6.ebuild b/dev-python/pylint/pylint-4.0.6.ebuild
new file mode 100644
index 000000000000..15ca18638155
--- /dev/null
+++ b/dev-python/pylint/pylint-4.0.6.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/pylint-dev/pylint
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python code static checker"
+HOMEPAGE="
+ https://pypi.org/project/pylint/
+ https://github.com/pylint-dev/pylint/
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="examples"
+
+RDEPEND="
+ <dev-python/astroid-4.1[${PYTHON_USEDEP}]
+ >=dev-python/astroid-4.0.2[${PYTHON_USEDEP}]
+ >=dev-python/dill-0.3.7[${PYTHON_USEDEP}]
+ >=dev-python/isort-5.14[${PYTHON_USEDEP}]
+ <dev-python/isort-9[${PYTHON_USEDEP}]
+ >=dev-python/mccabe-0.6[${PYTHON_USEDEP}]
+ <dev-python/mccabe-0.8[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/tomlkit-0.10.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/gitpython-3[${PYTHON_USEDEP}]
+ ' 'python*' )
+ >=dev-python/pytest-8.3[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.12[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-timeout )
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ 'tests/test_functional.py::test_functional[dataclass_with_field]'
+ 'tests/test_functional.py::test_functional[no_name_in_module]'
+ 'tests/test_functional.py::test_functional[shadowed_import]'
+ 'tests/test_functional.py::test_functional[use_yield_from]'
+ )
+ local EPYTEST_IGNORE=(
+ # No need to run the benchmarks
+ tests/benchmark/test_baseline_benchmarks.py
+ # Internal stuff, missing data in sdist
+ tests/testutils/_primer/test_primer.py
+ )
+
+ if ! has_version "dev-python/gitpython[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ tests/profile/test_profile_against_externals.py
+ tests/testutils/_primer/test_package_to_lint.py
+ tests/testutils/_primer/test_primer.py
+ )
+ fi
+
+ epytest
+}
+
+python_install_all() {
+ if use examples ; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ docinto examples
+ dodoc -r examples/.
+ fi
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pylru/Manifest b/dev-python/pylru/Manifest
index 8e8395d87f4b..8746f0228234 100644
--- a/dev-python/pylru/Manifest
+++ b/dev-python/pylru/Manifest
@@ -1,2 +1 @@
-DIST pylru-1.2.2.tar.gz 10793 BLAKE2B f80d0b22bcff16a8c4efa9535c89e6539b65f4c0443e157a9a5af8df5d858f9463b9319be3527bd2249397f85adab9335abe009037a708db5d1205bb51b93425 SHA512 a4779fba2cf7230c7ebc6b6b2931cafcd91158c8ecbb0306a894888429442bbc5aa427d671ea6d9f23a2e554cd08dbac2802abc06f7e0a4ff95bc2fac3e7381a
DIST pylru-1.3.1.tar.gz 10582 BLAKE2B 5c176e06195220bb0fcc6d8736bdae146a5129266b2f73d55f268eebb35c0cd537947bd9e326c730a3f3388870e60793c5e4bf1fafcdcc34b7403ce84053e8dd SHA512 9ae5c103f230a80dfe6222075509e446a48c87be9adaa1c7bad6de9ef257b746f9f5e2809cf45509b78b2e0f6b1affe597662071845f8e031f3d7fd5b3a36497
diff --git a/dev-python/pylru/pylru-1.2.2.ebuild b/dev-python/pylru/pylru-1.2.2.ebuild
deleted file mode 100644
index be1dd5df9748..000000000000
--- a/dev-python/pylru/pylru-1.2.2.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A least recently used (LRU) cache for Python"
-HOMEPAGE="
- https://github.com/jlhutch/pylru/
- https://pypi.org/project/pylru/
-"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64"
-
-python_test() {
- "${EPYTHON}" test.py || die "tests failed under ${EPYTHON}"
-}
diff --git a/dev-python/pymdown-extensions/Manifest b/dev-python/pymdown-extensions/Manifest
index 0355a10994eb..d5c319ba437b 100644
--- a/dev-python/pymdown-extensions/Manifest
+++ b/dev-python/pymdown-extensions/Manifest
@@ -1,4 +1,2 @@
-DIST pymdown_extensions-10.21.2.tar.gz 853922 BLAKE2B 8fd57fe59b7f781fce5de51f046e64d6c54e3ca54f72914842ceab88d1fc1f89c53e6bd4edc5995ccfcce57815820d76479f7d9a5580058ddd02833301e46fdd SHA512 429fe9379e98905631df92235323be7125195502f98b0da4fd56910f76fa5499b2d633d9373467b5a3e0fc602f2bf51c6294ed983f37d3105e82d53c2a671eb9
-DIST pymdown_extensions-10.21.2.tar.gz.provenance 9793 BLAKE2B a78252e2abd66f941497f13788bc89afc2fe0bd6507ded373a1ad928afdb0ce8d709d2921e90fd1e57d4adc26f229994bd08c7d509f12e517f2fb54f194f560e SHA512 f75ce990b1918e3c23f38f05a1922a47de4450cc047f3a9a77a0aea046931d61288803937b45b944613bfea1a71f8dbf60f7a14e0ef2cd2bb0f526ac087ef1cb
DIST pymdown_extensions-10.21.3.tar.gz 854140 BLAKE2B 931b33c568c4bc5fdafbaed14ec28afb7c54c2328bf68b1a8b8551a601cda6f79523f90f8ed46381e23b9390a5193f02e1389ca297ce8fa3e190dc856433415f SHA512 a7f480509eb4d589b17364b70eddc2aed506bc7507577e4738b6099cf4384177a21364f4b9c11e871d2d4d99e2227f461801f92388874a10aac3adbc76b513b3
DIST pymdown_extensions-10.21.3.tar.gz.provenance 9926 BLAKE2B c862c2499b076eded65d8998885cce57be5838a13e9804bb1e789a1fa2eab41c27aa3fda8f2b7157597fe5b67964c8fd01e255fd7a4877a08021584549c0b98f SHA512 e4b9c754314128907cc0a5684243614449e38ccc2055d24e8745c10e197d8b3681c5c48b156e1da7657dd499fb2a4f7c0d34e42f512845b3e89c8981bc854f88
diff --git a/dev-python/pymdown-extensions/pymdown-extensions-10.21.2.ebuild b/dev-python/pymdown-extensions/pymdown-extensions-10.21.2.ebuild
deleted file mode 100644
index 29ef1f17706c..000000000000
--- a/dev-python/pymdown-extensions/pymdown-extensions-10.21.2.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYPI_VERIFY_REPO=https://github.com/facelessuser/pymdown-extensions
-PYTHON_COMPAT=( python3_{13..14} )
-
-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}]
- )
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
diff --git a/dev-python/pymdown-extensions/pymdown-extensions-10.21.3.ebuild b/dev-python/pymdown-extensions/pymdown-extensions-10.21.3.ebuild
index 1c6dfb8c42e4..29ef1f17706c 100644
--- a/dev-python/pymdown-extensions/pymdown-extensions-10.21.3.ebuild
+++ b/dev-python/pymdown-extensions/pymdown-extensions-10.21.3.ebuild
@@ -17,7 +17,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/pyopenssl/Manifest b/dev-python/pyopenssl/Manifest
index f92567717845..e808b1d17321 100644
--- a/dev-python/pyopenssl/Manifest
+++ b/dev-python/pyopenssl/Manifest
@@ -2,3 +2,5 @@ DIST pyopenssl-26.1.0.tar.gz 186181 BLAKE2B 047bfcbcd21bb00bb8ae6d2e39c30f21f392
DIST pyopenssl-26.1.0.tar.gz.provenance 9212 BLAKE2B 2a0d770895ffd4d306f87a15b273233f3297741fc4ab0032f176d76319bdd8997868ceebdf6e6f75a4d169a69a3304de236809fe864d31374c830d4f8749bda1 SHA512 6542d8fb16868c390600c452ef99f05b831645dcf78ec0aba5a71b0504a88a5b0ac2f4467d776423ec5cc97f36020e35904a5f01d9418d69695dfc45850117a6
DIST pyopenssl-26.2.0.tar.gz 182195 BLAKE2B aa86a2869e83fc133f0a608b6769199ecc57f7a9847dda018266c6be9fd34fb89c258eef42f42cc7f7fb392799bbe6a297148dd627d81bfccda9bc20b0b44e46 SHA512 701f205adad7384731710f572b48a41af87ea4ba7c7111421962e01079407f3e7b289dd5972feec80a6d182b818ee39e45c88464108589b16fe8239c19080265
DIST pyopenssl-26.2.0.tar.gz.provenance 9306 BLAKE2B 114c21eafc21fcde8f3d12f84826a819d134d5ca357d9928073654027077e2cee7795200611e12d1900923e1084aff56880f39baa8f2b5badc46830adb5d8a31 SHA512 8976149e09e1dda78292578c53aa9d988004cff346a0f602fd1373c3fb209a86a3f0db3a3e5e9ae0b252275e1448e8190076a1811ff48b3ba7873cb438eb7d00
+DIST pyopenssl-26.3.0.tar.gz 182024 BLAKE2B f683028e0735b0b5517ae6a7b3cfd65da76280a5acbd2f9c0896972e69656a2afa8023a7c144498dde021e95733081ba1934d76ef474a5d80de972da9566789f SHA512 b3f98a1d2b7ad85606dc38a85449b89660049384b4914b0c66465f0bceafa5b26316223bf41dd2929cd36091e871d2226d06d0d84c969835bc199632c882b484
+DIST pyopenssl-26.3.0.tar.gz.provenance 9624 BLAKE2B 501c0a5a517886847555dd0f8eb6384cf7e815b08a01e972989af70f2d753bb6c7159dabb6f5d7fb068375bbeea38d831a1fa6d328df0426a05589fa180c9843 SHA512 3de2c37148c12033d582c5a54de487cbb2b8b8be3edef111e230725d6caf2d8d3ae4c6f1ca35546fd3cc3b23cc42bfa84b35d0d3aa52f217011670e2bd8627c5
diff --git a/dev-python/pyopenssl/pyopenssl-26.2.0.ebuild b/dev-python/pyopenssl/pyopenssl-26.2.0.ebuild
index 983167e80aba..90c6a34941bb 100644
--- a/dev-python/pyopenssl/pyopenssl-26.2.0.ebuild
+++ b/dev-python/pyopenssl/pyopenssl-26.2.0.ebuild
@@ -20,7 +20,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-49[${PYTHON_USEDEP}]
diff --git a/dev-python/pyopenssl/pyopenssl-26.3.0.ebuild b/dev-python/pyopenssl/pyopenssl-26.3.0.ebuild
new file mode 100644
index 000000000000..313b5bc399e4
--- /dev/null
+++ b/dev-python/pyopenssl/pyopenssl-26.3.0.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN=pyOpenSSL
+PYPI_VERIFY_REPO=https://github.com/pyca/pyopenssl
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 toolchain-funcs pypi
+
+DESCRIPTION="Python interface to the OpenSSL library"
+HOMEPAGE="
+ https://www.pyopenssl.org/
+ https://github.com/pyca/pyopenssl/
+ https://pypi.org/project/pyOpenSSL/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ <dev-python/cryptography-50[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-49.0.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.9[${PYTHON_USEDEP}]
+ ' 3.12)
+"
+BDEPEND="
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/cffi[${PYTHON_USEDEP}]
+ ' 'python*')
+ dev-python/pretend[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx doc \
+ dev-python/sphinx-rtd-theme
+EPYTEST_PLUGINS=( pytest-rerunfailures )
+distutils_enable_tests pytest
+
+src_test() {
+ local -x TZ=UTC
+ local EPYTEST_DESELECT=(
+ tests/test_ssl.py::TestContext::test_set_default_verify_paths
+ )
+
+ if ! tc-has-64bit-time_t; then
+ einfo "time_t is smaller than 64 bits, will skip broken tests"
+ EPYTEST_DESELECT+=(
+ tests/test_crypto.py::TestX509StoreContext::test_verify_with_time
+ )
+ fi
+
+ distutils-r1_src_test
+}
diff --git a/dev-python/pyotp/Manifest b/dev-python/pyotp/Manifest
index f6d0aa7c9d7f..4a63a02d9b72 100644
--- a/dev-python/pyotp/Manifest
+++ b/dev-python/pyotp/Manifest
@@ -1 +1,3 @@
+DIST pyotp-2.10.0.tar.gz 18625 BLAKE2B 012541b4e617176f11f8dbe7c1b1ba87460bf3b0ddef09793efa631debdcc6aefed4f61237e5e2a00e7cf5e8272ec63ad91c064f5900515c7fef6c3083096440 SHA512 9eb6005699beed4a14ce2e9c8b90eb7a4b931db703220f209131e6915911ad001dd6ad2b7559e049579425e86196ba825ec6229df448a99a29d48b41fc457b27
+DIST pyotp-2.10.0.tar.gz.provenance 9594 BLAKE2B b090cd3967527c58504f29e78e0f81652633011bdf3fc33334a6fb49d9e5fc147da74eb10b57b0173578747f2788032988c61dd9bb1a286a4cac9ee964bd67dc SHA512 45274735b1b476229bf65a9e580fbb33b6b57f4e4df9cfb238739472ef42ee7cee4703f6784e102dffa8875f3f97e5dcf70606874ee997b5e72d6d704e41ff8f
DIST pyotp-2.9.0.tar.gz 17763 BLAKE2B 32dd9772e0fc9de1cb13c204f5037dcf8352029e85a5df92c35f026e3960c649cd1d6f2b70b171133598e57a58707eebf34b4a8af18291a72f3e3aed8c659944 SHA512 2d3dd43997bbeceb078d9dfc4ec2d2ea608f1ac60c2189d45f775e1f47ff0cefcdfd36b77db1e022a8f8307b46329fbbad270e054853b63b5d7d457ad358731c
diff --git a/dev-python/pyotp/pyotp-2.10.0.ebuild b/dev-python/pyotp/pyotp-2.10.0.ebuild
new file mode 100644
index 000000000000..ee7501297ebc
--- /dev/null
+++ b/dev-python/pyotp/pyotp-2.10.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_PN=PyOTP
+PYPI_VERIFY_REPO=https://github.com/pyauth/pyotp
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="PyOTP is a Python library for generating and verifying one-time passwords"
+HOMEPAGE="
+ https://github.com/pyauth/pyotp/
+ https://pypi.org/project/PyOTP/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/pypdf/Manifest b/dev-python/pypdf/Manifest
index dfc10d977dd9..9cadee7e2f63 100644
--- a/dev-python/pypdf/Manifest
+++ b/dev-python/pypdf/Manifest
@@ -1,7 +1,8 @@
DIST pypdf-6.10.2.gh.tar.gz 8408895 BLAKE2B 50d6bdfbc2483f7ffbb8d22a0d9b23230fdf6592ff4a75f806388d85e2a8327e21d17e1a0eb0dea502de3f49e7345a689c7dc4dc5ad29ee5499b3be11b909782 SHA512 d17c24a92a660593379b432af25c1a4009df4bb467720fa3fd5f8c616ce2e21fdf1eff6a8ad3cb7cccc8d8a71b8781cd4a499502aa15a84794b155ec84521214
DIST pypdf-6.11.0.gh.tar.gz 9554012 BLAKE2B 31a91e0137639d120e042906b22de3f5839dd4c1006e48f74837d920ae6f87fd6967ff9507311a3a6173905b7216ddb9f299b334ed7bed718c4394d80aa7c194 SHA512 9ef7ad34d34a56aafc128dbeff86ff65666682498ab0c46b2d2e96859a05941f8eb5904d8d73a7d31e5b855829f731017d9fa3eb1c85782a0e5416a5ae6aa0ce
-DIST pypdf-6.12.0.gh.tar.gz 9563895 BLAKE2B cc0f0a2e7d9baa2f6cafdf5d6f7bb338055d58c8c1da7a12d2f3654175733bbe24c939640e14bbf02a69212988815e25ac2d360830e719b3cbd127d546ab922e SHA512 0adf4796e7baa57c353c335f18da8743a1959102c470e62d4ccc4c05f55ea9bebba7dc9ee416d63dc39f02a33657ec43b699b5e7f1a7967baaff46d7c812fa93
-DIST pypdf-6.12.1.gh.tar.gz 9564771 BLAKE2B b83bc1effb0978c4caa449075a0bd58a25527d0839eff1f97f97b4d0fba67ab651d5558f1e2b00c65fdbf3e126f63d9a4576403e02bdf3c1fd385d47e3f79aa2 SHA512 06622020ae3d1613a00a6b9db776a7338c2b2c1c5ae0a69fa499856b4802308a26f52e48461d2db794a7d4dcf3dcb8a2751a9abafe1e840f90914bdf201176b6
DIST pypdf-6.12.2.gh.tar.gz 9564951 BLAKE2B 3d4e38bbbec4e503a6f5a351b975075b598c34ddc66764d0ab2ff36827d7ea4098275ee3c619a5dcd71034d8af6b8f3ae3ecd60539cc8e051d23064da7a27a66 SHA512 c72d351c7603b30a8f18041f151b1930790889b488cc6fc4bf1804073f71b5ca0202a0bca96c2d7f3ffa32eb6b23408fe43579f6c9d05447e8cdcf94b881c1be
+DIST pypdf-6.13.0.gh.tar.gz 9574131 BLAKE2B 73ec727a0e33c6a963ed8757110fd802f55b87823b4c68eb873199fc48c10345c8c526fdb702c70d555fba13d9c51e1b16cf59ab61c0e85365da32897b62422e SHA512 a45354d0be67d1e92e8935f6261a376fdd22e849135b99f0a5615d697e70eaba5475ba36fd94897d66d943fc9e160b06645e8ce94903a897749eea0fd4a3dca4
+DIST pypdf-6.13.1.gh.tar.gz 9573137 BLAKE2B c2375ef5b1558a681ea0bfc24050c8ff43b35cbb896c711d6d06ad930ddc6367dda944c09fa612c8d56ec67500267de86270fcf8d4b2629fbe57e0667aa0e230 SHA512 160107859717d7caf1de379b9cb2e97d8703a4275f35c8e98c7f75f886503fba9ed34743a16f2991ae03ee70716e5190a53cfeb52f52e5eb30a5f092f6fa52a9
+DIST pypdf-6.13.2.gh.tar.gz 9573514 BLAKE2B 992997319cfdd79172862490b2c13383c345c228f87fe266a8c4b9640768115db9c5908990aaaa65ba7c69431fc056479d922a4febc2a4307f485d459e2664d5 SHA512 23e9c7db1da5717ba77143bad3cff8921121079f5720d10fdb5336e51d421a0a3e690626fa0e2087fcdffb59de68b801195716ef2b4820a8a6ad57be688f52df
DIST pypdf-sample-files-65e82ed36c1efd9bd7172a35c8dcfd6e18aabfb2.gh.tar.gz 11748256 BLAKE2B f1820f38ebda08bbf2019e81e2cc605fef3dc366904ed552c3f95673d93c1bd440fdee4b8c199b6cbfd90a7ebfd5aab55b22edc6a3ad8418f9efdafd4e4c741d SHA512 5795189231e9e5f176b530c602ca778b1b8864c88b69c16c37f430ef6a2f3d4b08c3a8757f6522a1472b1b09583bd8df50f2628319bb076af45326b36f6b876a
DIST pypdf-sample-files-8c405ece5eff12396a34a1fae3276132002e1753.gh.tar.gz 11748093 BLAKE2B c5989200893b28a3c2062bb024a5cfc6f3389dc259ec129857979fa43469e1274559612b4d555499e2c7e16cf34be07825229932bf4d147fa6d7324d043e97d5 SHA512 c9771129b7668a2fd1fa79bb859ae9213f3d60341cf1b9937ff0eaab0de9bf4c35adcb7b896e93329038dc0f3809a0c697c523f8fe41b43030b0b029a88058e3
diff --git a/dev-python/pypdf/pypdf-6.11.0.ebuild b/dev-python/pypdf/pypdf-6.11.0.ebuild
index a71a821980b0..a6e3179b6fcb 100644
--- a/dev-python/pypdf/pypdf-6.11.0.ebuild
+++ b/dev-python/pypdf/pypdf-6.11.0.ebuild
@@ -25,7 +25,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
BDEPEND="
test? (
diff --git a/dev-python/pypdf/pypdf-6.12.1.ebuild b/dev-python/pypdf/pypdf-6.13.0.ebuild
index 8356f2373919..8356f2373919 100644
--- a/dev-python/pypdf/pypdf-6.12.1.ebuild
+++ b/dev-python/pypdf/pypdf-6.13.0.ebuild
diff --git a/dev-python/pypdf/pypdf-6.12.0.ebuild b/dev-python/pypdf/pypdf-6.13.1.ebuild
index a71a821980b0..8356f2373919 100644
--- a/dev-python/pypdf/pypdf-6.12.0.ebuild
+++ b/dev-python/pypdf/pypdf-6.13.1.ebuild
@@ -25,7 +25,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
BDEPEND="
test? (
diff --git a/dev-python/pypdf/pypdf-6.13.2.ebuild b/dev-python/pypdf/pypdf-6.13.2.ebuild
new file mode 100644
index 000000000000..8356f2373919
--- /dev/null
+++ b/dev-python/pypdf/pypdf-6.13.2.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{13..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 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+
+BDEPEND="
+ test? (
+ >=dev-python/cryptography-3.1[${PYTHON_USEDEP}]
+ dev-python/fonttools[${PYTHON_USEDEP}]
+ >=dev-python/pillow-8.0.0[jpeg,jpeg2k,tiff,zlib,${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ media-libs/jbig2dec[png]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-timeout )
+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() {
+ epytest -o addopts= -m "not enable_socket"
+}
diff --git a/dev-python/pyperscan/Manifest b/dev-python/pyperscan/Manifest
deleted file mode 100644
index 4f3ced8597f0..000000000000
--- a/dev-python/pyperscan/Manifest
+++ /dev/null
@@ -1,80 +0,0 @@
-DIST aho-corasick-1.1.2.crate 183136 BLAKE2B 2d4306d8968061b9f7e50190be6a92b3f668169ba1b9f9691de08a57c96185f7a4288d20c64cb8488a260eb18d3ed4b0e8358b0cca47aa44759b2e448049cbaa SHA512 61ef5092673ab5a60bec4e92df28a91fe6171ba59d5829ffe41fc55aff3bfb755533a4ad53dc7bf827a0b789fcce593b17e69d1fcfb3694f06ed3b1bd535d40c
-DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
-DIST bindgen-0.69.1.crate 219972 BLAKE2B bbbc5b275134af2070ac7fda7dc757eab460764e773112bfd0f89e6ba1e2e368c2d5c3cdc693db34b9a739101ceace2ce06f5f18bb43e17e0f091bf12dc5b55c SHA512 bfe97f17f6b19ef3fbaa5df2a396e2ebbccf0edd428c88464bd3e6acf2b34119ad3bdc43741c7923dfd3661168c1b3a8987273dec9742dd7cbad1c2148761fff
-DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
-DIST bitflags-2.4.1.crate 37043 BLAKE2B f61c45b142265e9c2944c7054e01704de47510735e9ee5351cd02b98676cc4eb42d68b1fc4849ad5f54654617a74f20cb533b4207c2fe76516b724ba9318b414 SHA512 d3fd7abc95acc1cb5bf16d6acc12dbb8eadd250f069268df13c2e8dc3d5f5c15a929cd17ca931c77393b64dce0516ef8674c469789ed32d78e315b5faada062b
-DIST cc-1.0.83.crate 68343 BLAKE2B 33245b33fa845ea2f36da36e3830ec835f937e4319865b357ee9d5ea29a0f9f8392eadb38bf1d95e3c15ed201e561acaa87aedcef744f8db3dabff87a96c7f02 SHA512 742a248c3a7547bb220a0b9c97b67a831fab9b4ac21daa08c85a3966b9fe576088def33e16132fcabec9a2828a6fc437088bb045bfc98b2cea829df6742565a7
-DIST cexpr-0.6.0.crate 17966 BLAKE2B cb46f066eb1f4dbac00ec86dc3e562db7ee8ea5ff17d16a60004fa020405e455b8aeb3d001f669cb33d1b62525bfd04ec657ffca4ed44a83af4a5e75b2c820e3 SHA512 766bff7ca7f9bf0885aee6f014bcfc084e7fdfcd567a49443d5340acfe8f257db109de17b24588504fc35c53f2d4303e2d22da21f73669125cfca984950cf886
-DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
-DIST clang-sys-1.6.1.crate 41346 BLAKE2B b70104e6c6b3c1b85caa111c2b1fb2c20d30eeb85059bc616afc49bce9409f7ee2dd8b800750a466accad6a74ef29d10c6a2ee4459d854a2c0c54050ff51cc4b SHA512 a6c62c1d3faae3796f5e7d98ed4f1a8119f0ffaf8fceee8e728cd4da57b0140e82631012450bb0c551cd13814a97065e9e47015320707a87bdfbb6fd317e952c
-DIST cmake-0.1.50.crate 16748 BLAKE2B cd3b131fbc27764e15fcefdac31f97a9d12f82ac9758b2aad256ccb371ce3e2db8aed3c76fbf4816df3483dad9fffe9973940ced65be6d31463d8c059c543646 SHA512 868d5cece75d79382ac6176aabde1723bb7e26dc745383a636516ff45856dc9187fe5a83e139f17e3bb0c114624e9e71b93c8a460b89b8facbafbca50d1d0923
-DIST either-1.9.0.crate 16660 BLAKE2B ad61038bfacb16f678fff5dd9ccf8f345e1bef18bd7aa0aa9c99d44abf8428939362f32fc8dbb1b60ac56016e0096201071d0bf8c0431b660605d0dfa97da466 SHA512 4978d50842386f51e31a47ad037d5e491106a668bc701bb833e6ec3998afe3ebd80efddc47756b2f300f534b39b26fc01386dc878d3b02cc8c1fec6a474c2177
-DIST errno-0.3.8.crate 10645 BLAKE2B 4a7af10845f11b3d8f177a75a692be468e8ef0ee53fb84a4d212335f1499456b6739a59af260894b5c3853d3bf21ef3490d1e3a613305561203ca334a636c3b3 SHA512 29753c421c6f929760cd7565f8171696e4f70e677654a7507253f4fc495edbcf214ace27be46bdfe5c1a0d782f4b688f591476e56f4a1096471cb353c643328d
-DIST foreign-types-0.5.0.crate 7824 BLAKE2B 01a5111a11e48462914f9877d3228008590093633e957883fdafd3a7017e144c14fbbe713bb8b0061ebae78d20a49978191ce416a4e28317b67ec69e38acb879 SHA512 d07c92cf99c99419a3ebe05ba9154e396ab88116f46af736ffdd958c8e47741bca5d9f478f6719d5361360e844375968c1cbf6ac40995d47128a5e5fda3f6c82
-DIST foreign-types-macros-0.2.3.crate 7635 BLAKE2B ee89f576f2d892209c0f344dcab9dd85a671c976c8034b33dc984b93a5c872ff0353311657fa1dafc499243e55d3293a7bfc532ba55894a719a50ddaa6957589 SHA512 c3965e058d15159f789a8ab1597770ff6325e8ac9e6914c98450225ce27af849698646d53326e07b13eb3a9730452d926b73fd76e5a1fbd8ae4a6083bdce3367
-DIST foreign-types-shared-0.3.1.crate 6006 BLAKE2B 27c26518e0de0a298df2996da4959727dcc6a21bb4efa6c28869a9affe7ee3b427d1bae25ed6928477d07959bd143d5d4fa27325f8f5a5cb0ddd3cdb9e5314df SHA512 c68da34b55230941d6655f6a52d5dcb8ee02149f25c25a5ef782402f9a18b33047905f28b70183a5f45b45977c011a5320cf7283b7901c76ede4d82082ca4c9e
-DIST glob-0.3.1.crate 18880 BLAKE2B dc89b3a664e810264dd7a01ad892e865ce35b504bfe5dba12d7ea8084da7de84feaa94c2208f1a1eefed90297e552636ad61ccebf6fc8cb4d01f27d605ad0a09 SHA512 29368160138bcb7ea5660f9f30c5711cfca8bc8ba836bbade3fbe8c424e7b4118daf27cffa677962e37e36f025fd2bb5a9c2aea865b0ff155cace455dfbb658b
-DIST home-0.5.5.crate 8557 BLAKE2B b14225f6e967ccd37fa734f50991a50065047f3814c4e526f3b4605ceb9206d4d12e189b4033ab85792ffea34a30f2b0267b10b9b0ed88df52c37f6ae1ecea4d SHA512 4ba97149d8f70e9b6eefc930292c7e62fab6ad03d5e4e6bf93d40209d3a65e40932c6f3d14ca579ed19ba33195977c60fc52b3d3788629fc760f41ce90fa1e58
-DIST indoc-1.0.9.crate 13475 BLAKE2B a9696788574e56dd125c3371169fd59d6947d188f76e2669b21c0304692efd6709cd048920f7822e92c6a5620fb178e0e85c7776118cef8ccee0f58398e14abf SHA512 db8aef4a7bb606452dc8ed45aa29a255c7a135357a0bd586fb4429c5f56a1aa2ca9400d6fac39956aeb486a15d25cf5d1b9524967867f2c651d9d563e3e85be8
-DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8
-DIST lazycell-1.3.0.crate 12502 BLAKE2B dca2d3f46823a52dcf87b7d6103fc4f1f83bc5247ce361946ac2d9df239fb43ce4b418104503698dff0242480cd014996e77da4ae0a88f3cedbce4eb9d3c9ef8 SHA512 f9d627afc28b61e9687a3f72260eb013401fd64057647641ff2e763770d7380ab1d2d8cbb4a3c8818d53d504c618a3b46aaf701f72f4d7b25d226042824c2f8d
-DIST libc-0.2.151.crate 736640 BLAKE2B ba8ea6d22b0eefdc5c1c5ee9fab960b6ea0eb7098a21b032563ec78b5d6e2a8f1d7ca4d5bb721c71de2c5de28e105029f229b9b03cd5168c78a65c7164e6d07d SHA512 2039bdfd704c5a876ff7d609622bb968260d6e0fd264ca457e92b75660503eca10e1ff21864b3c919d2656de521f03ef443895f5c0150271ae2502857742b0ec
-DIST libloading-0.7.4.crate 27580 BLAKE2B 491faef2659270b10bb88ac46e0453f747f35e78d7f28b7d6d9151177b4c7a7aec0a1efdf702eda0988c31e9dafff2990eba4e6a9b0b695c535ea9086ccf36e7 SHA512 34439d9eca68bac8fcbe2bc94a70e07550e7e95d713ab74ed60ba6736ec807fd9c9135c178d436fbeb39afb074b2a9b05775d953340845c088f5f8712f5f56a1
-DIST linux-raw-sys-0.4.12.crate 1465800 BLAKE2B 2f70a344c427093fd55732b68239f771cf6563edfe2db4b2f50cdbc904dfc7565b30bf06454b91482eaeea787b9cd4214979665bfa32f3c1c586551333cf4d2e SHA512 d9564d02d5f41356478066592e438629adb3275df0e5a1a44030cc99bf8856b8af64f18f27371f84122a828b34712aae16495a1a16050fbdbece6d95e9cdace9
-DIST lock_api-0.4.11.crate 27487 BLAKE2B 87116cf908f7f1f9c300cedded989df305f855883e3df5a482de2c76814c48739582d3079d76a2bdd14a6999204b7fd31dcd8fd06d1dc7f9418f0e2f70a1450e SHA512 9946adf313a5c67a0dd87a1b679b7d9d16a86149fb95974d3f28aa57a9a1a3932e4a5ee1d332097559329c5e3b2295be2e4b655b115d9f75269f33a758b17fb3
-DIST log-0.4.20.crate 38307 BLAKE2B cb9c9a401b49bd68c18d5e42f2ed94446f1aeb184caa23cefacad4ce54a2a357143af54a5595c45d6f3c3d20b054c451d9e6ccdc09c19cca99ffffdaf8bbfc72 SHA512 8661b0c71d3b7fc0d679aa3d7f06910e6d3da1c53862aa06526000e1bcaa0b0b068415a1a9ab317c318f00d15346dba8a4f5d2a60d8850790bed9cfaaf757b3e
-DIST memchr-2.6.4.crate 94439 BLAKE2B d1136f7105a33565214fdeecdc5a95e74d7fc7cf45997f81bf3cf389f3015fa561ab326433ddcff2db0b7259246eb6d26fc7b4e3c90c3af8b9b7ed7e8ec56ba0 SHA512 1065a67e04ec9210c70e430288e0a8d39f36ce6414722099553e99112ea2f8f710eae44bf39f8775b9850e6c8a50e634a1b1b084a8eb4f6b2eae6697dcf5b5f4
-DIST memoffset-0.8.0.crate 8912 BLAKE2B 19ad3abed21fc39461b0382b15a8cc312378aba36f042b1e5335012115d31b350a4e3bc720f1eea300d7d19b9b317f75a28d4ccd78ff3b31defd9e4b3147899c SHA512 47adcae0848ff967035e10543ea599c7af9c5bad387023eb4dc77c9e8d875994ec8139b9941b3ecc4fc17214d80944a47a3be174a45b334661914a5a7382dfbe
-DIST minimal-lexical-0.2.1.crate 94841 BLAKE2B e6b8919b80d938d0b98d60d4f5f29ce43d77ebfcf8b18bde08909141915c6ef4f0d07a543538d4f3ba8527a9f55926d4a8e83473248469d087e80b274d701d61 SHA512 385fab51884bdcc7b0f2728a219ab164d0dc8efe42160b918f2c09f79ecf853fb12bda006d11e649f097bae1499dcd41ddf2a8784ee7d178cf2c28059e46078c
-DIST nom-7.1.3.crate 117570 BLAKE2B 5643b67990b7305e101b16b8cd27c447e162a7adc6d0dfac00920b0cb50fea98c9d4edca63c34f6845cba05f8d0acb407cf3045cf64a4cb28e53c8b6bc9090cf SHA512 1ffce08dde299bc0e0367ad59c7b6a83e23decfa11115ee076ab91ec53cdd9ef37e4c2103c96eff23a7b6b8b5c3f67c83ce1917928c7d4c6462083bdfa0c9cad
-DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c
-DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c
-DIST parking_lot_core-0.9.9.crate 32445 BLAKE2B 811d8de671bf6e0911cf0df7dcaee4fb03a3b223173a3bb8cee65a28724eeb7bac87f62aa7b1df5ea3fc93af3cee3ef30b83d06c6773d6b856a7e6fa5fa197ea SHA512 7f0df70f9f1ca8d3da0b9dcc96e49daf05d95c3a995289266b5333f68818d686d32b0c733dfe3a0f62da78fa45caa843a963923b2d0c80899c33413dc749c032
-DIST peeking_take_while-0.1.2.crate 6697 BLAKE2B 31571604d00872900abcb677a483da93654de523bbdb0331c326dc9a3e531f246e571bebcb983e79dc46e33ed6dd32b978be509841ec0d9f1e7209c06289c22a SHA512 7bf8721987c3e2e1986683dd897746592a909382f02b840b777effec7d8b0a864c1a83b03c73d555e359f22c423168a54b75448a7e7b996b739527ce8c88b721
-DIST prettyplease-0.2.15.crate 57034 BLAKE2B 251f4b19f2580c5503c7c1d1c47bb9fc125f5c9b8d41c960430c953ae83484049df0fcb1bed11693389c1fe48b9a41a5be35701c4f19cec90ee1cdee592f4e4c SHA512 789f9e381964f2da75e9def9f2474bc8a15adb598faae5044088543c9cd53f6f2fb70875263adaa7504e73a9fe1890949bdb9930dad199638c00196b24da6929
-DIST proc-macro2-1.0.70.crate 44343 BLAKE2B fff0dec06b21e391783cc136790238acb783780eaedcf14875a350e7ceb46fdc100c8b9e3f09fb7f4c2196c25d4c6b61e574c0dad762d94533b628faab68cf5c SHA512 ae9366856853f7d96caf7a7581843d36bfc7843f8683897b19ffc666c03b0b1eff502ddb18ca4c1c1a239a368f03f6cc258b0e2795f64b61c6a31404462eec5f
-DIST pyo3-0.18.3.crate 420236 BLAKE2B bc00a825a67ed3590b31d3ea6bd77f6c4c927c0355d9d03ce64ca44e36ae3e29ab4d891bf2d94ca074b3bf858e077c516dc64e4620f875fe1e8fbffb5c9db1ec SHA512 39f044a19a42a5e2f46049431fbe3fe10c14d12a4741cc789b42de7cbf448bcbded7fe38a0f124d994ff9bcd3d95a19305dbfdc7462331fda3e6686cc4289be5
-DIST pyo3-build-config-0.18.3.crate 29137 BLAKE2B 5fa645b64f50a078f38cc10a27ed52bd7e7aadd8a069c05ec2963f0b7c869b94d29eddda97cc31d200cf749ab8e2cd9cd1ea00e75620287e9187745ae0e100a5 SHA512 7ccad5f245e84895e147389f05270f32d12f81aba46bcd0dc184b8d62af2ea579efc50383502efda40601c981c4dbcf911aa7d8192364caa2e177ad939062cdb
-DIST pyo3-ffi-0.18.3.crate 64474 BLAKE2B 32bedfb4c7d88e539e958af0dd48af311934a817282a01f860af7cd824fa1e3825c505463b78cda57541bea8ccbbedacdc0f67bef686e6775fab3787c26c6d2c SHA512 55240c7824ad1e5c69e05a31ec03e2064290c89c4c98f06c3ebc38c311a10b1690571c977a103790ddcc9623ac42fbf525fb028e910baedb9acafe39fd6e4a82
-DIST pyo3-macros-0.18.3.crate 7175 BLAKE2B 424cda4d0d75c7d4df6aeab0a475fc744039c9a663215c633e62762083930eb6736348f431b6f00d11a093961433fb13fb4c9da8a18268d1904e933157255646 SHA512 2b643ec3451267e836076bd79d110826fa0a2407955543c8a6a46b0dd16c477eb3ad919d51b7beca90eca2938a59577b32e1e67169df67429fac4cfaae5bf5ab
-DIST pyo3-macros-backend-0.18.3.crate 48922 BLAKE2B 4937f6d9459c6651f85fd520e4783c051f28932192d02aba5711fbf0294ed617f5b0b35ebbac74f3e6048a3fd3b75028518ebadf1277eefaa501015a91269c77 SHA512 1e607e4925486e1a48748ef3163666910a06f9a4f4a2fd7eb6a6af87ea37b5b7edb9d3ab4958e6fe907a55c5f4bcb702a251d836dc3b57c4ab1c5d9248b8cd35
-DIST pyperscan-0.3.0.gh.tar.gz 78481 BLAKE2B 183b996dfd6ef23b7728798bc5959e68e92aaa4160544665feec38e57972906c99c34b9a3dafc0846510b1da2d88a4d14adaac26e56e556939b9210915736fc2 SHA512 88c7f6af02e56db6dd9b584a3da78c414be29d60c44a9e11bce2c07d800899c09f9620908e5aaf77fe4d0213899f5546d5d99aab1190036c42a37265b49db294
-DIST quote-1.0.33.crate 28090 BLAKE2B 77c4b166f1200e1ee2ab94a5014acd334c1fe4b7d72851d73768d491c56c6779a0882a304c1f30c88732a6168351f0f786b10516ae537cff993892a749175848 SHA512 c1e76c3c017e8554eebe309f8167fd56fce931981c06798aa85a0cc6d64a9cba6ab103f5a1324e69c6f9ca5dc47a8e31ff2e847850542748697afcd265b5939c
-DIST redox_syscall-0.4.1.crate 24858 BLAKE2B c3301137a0b84e03b09d28dfa377ab3bea74d574a08cee21d35713b278d8b5b30ca2a1d73a0981baeb4644cbb88c86c8eb15ab3bb2692e38b93e6b35fab4e0da SHA512 073ed9d96090cf46eab9877742277a013c62d8da86d9caf2310b4fa868af306511936553579e01309f27067d344226cc8dc5e3aef01d9b900da2febd33848f8d
-DIST regex-1.10.2.crate 252839 BLAKE2B 4be7bede72d41634c52eea25566fb13337a84a055aae6fb73d3b18ab9168085ed04ffbfd5b6f87c2f85c9922893b9c9a253a8c874eae9185b2100850443b1517 SHA512 e594f70cc540586e4039e7b905ede9e507757b531f22a94aae185e47732ae0d54bceb2c6aceb815819a9652c01ccf697798d372631f2f864c04ca2eec59759d3
-DIST regex-automata-0.4.3.crate 617011 BLAKE2B e685724eb037411c1a73d6d355c76e9e32c40f1c9029acaf86477796d3f5ad092b0c5619f4df2fc1ce34243f2ad8af147aa31f83a435e5b5adf55b4c9c8a9359 SHA512 4fc82fe3556f829956c3172447589555ef286fd66ee9a445cbdcdbe57970655e35b6eb0895ba02c344d826609257e0c95d3f7f51858aa260103bed7b08d8c1a8
-DIST regex-syntax-0.8.2.crate 347228 BLAKE2B 211fd1c35ad0f28874d4b4d276e0fb0a27e5a1608f2f16ba2333641b154624e378419daf8d1c955f21ff5f40f6d49c89569b7e11ea5649850846d0fe447a675c SHA512 301dde555f300298f2594490ccd8b92033e4917fe9b8671b8a97db6c827793c73969be85a92999964dcaf3177edda51abeb576811ad6cab9772964dc0a77e728
-DIST rustc-hash-1.1.0.crate 9331 BLAKE2B 16ac56622897f47a06b661fb59a196b08d48e782ab87549c8bd5c6fe92f374c9bfd44dcb36588512bd9b6125c2fd79a12d648aaa308fd9694bcca3a7c1b49ac9 SHA512 84e673ea9b046f7b989d47f2c4505557fbd5de991e6fc9f56a03605d40e0b4ba5427cd566954890153cc033ccbec6c984306634571935bfe0d4cdfbe56f39544
-DIST rustix-0.38.28.crate 365398 BLAKE2B cd9401511363c806f0c8de5076031aebd22a9c6cdc49963277bd7a58ebdccaa59c33710ee625bc0a07fe2102f370e39143adca0651d123a0dfeb562d32e7a537 SHA512 a48c959c0fbc9700294b1ab0fb71a303bcef89a01b4407c2d7dc7c83b35dfbdb69bb6ac9a364ba7d68b4e561445e6c227af586cab15d9799de9e6622e89ada12
-DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb
-DIST shlex-1.2.0.crate 6584 BLAKE2B ac07c648d9affe62512edab307fe07436dce69b428570ba6455aaf21c178145b1026e35704f920fc177b334cf190f57e393e4dd9e522dd26d133f80fb2c15f47 SHA512 cf48c0c47aac44654a48047fed3568c30f53f19cd131615cabbc247dbdf1eb1b7540b0d188f341251b4876dd0d5fcc13792800f0160f7907e8d8fe9a5e75083f
-DIST smallvec-1.11.2.crate 34801 BLAKE2B 58645e99db8f02db64d02c75860c7ea41836c427c03ee3b0b23365e73a406e4fd6ac312bf13fc5faef8bb6111c10fcfd5f839d5b3686e9b34d1626f8469fc327 SHA512 5cfb427c3b99b0dbd71f6154ed899abcde9d7d2992977ac7b2ef3a4c3ff51e4efafd133071a69609b4ed6cb269bdc26b79eb72e1988f10dfcaef8185d950cd1d
-DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
-DIST syn-2.0.40.crate 245201 BLAKE2B 70876ef8e459f582d8045e46fbee7cc00088693d7d6feef1c07bd14dad3f6a555fa97762b8df018847bddbd2e9ad432a2640153adc6eb0e6d9bac821910c74c1 SHA512 27f9bda7df0549142ac0f732387182d5372f1a49facb2c5f20cfafd9b03afa0ed8c1e35b9b6f2659add33f01f00a2bee24de3b5709bb9238503e0064b791e612
-DIST target-lexicon-0.12.12.crate 25156 BLAKE2B f3803596c75f6c89438592a1176c3748fc2c0524d7d50a20056de1cd26d40c572b05bafcdf6dd702752864bea37c8b4f28f96dadc12a5b3bb1d279b25e489f85 SHA512 6147295c43ba1b7b087a3c5ab51534b2985e4e77e5e15687978cfb9d07e21c4fd9bc7191576d6cabd268d08a44dc733c4a957e59dba8b948c2055d8bb433aeca
-DIST thiserror-1.0.50.crate 19414 BLAKE2B a093f66ad191a8c4b15356f8d29578273b36f9f11b5843195eaa15b70bd4c8eaf6dffb631564386acf35a9ddf856e05055b419af52d4e008f582ae444f3dd5d2 SHA512 65605a9cfbc43447a50980739259a45d933f1eb315926dce909892f7162c79bd04bfcee7b38b5a9fa71b24fbe4416d050ae8e2443932577541513a23ebeeac46
-DIST thiserror-impl-1.0.50.crate 15357 BLAKE2B 41309507014a2c628b7e91d250335070e4cca6c6c452c90ee7e6173bed049df83ca197b37c16537cf15415550919c248e0f6c798aead760e7bbcd25eab701d50 SHA512 8555e010f94390e93ba757bce9ef25d066ed542f23b843db431a66fbab722584ea0ce6c9d4b6f4d92cea3d91c190336abd567c4a0aa4a27893db25720c5b89c9
-DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
-DIST unindent-0.1.11.crate 7700 BLAKE2B d4d1dde410c4194acb51f74f374cf11fa872e49fad8f5f24b596d72476403e5e312fedf7b0bcb1027384d53c8de565368d63c30eaf70a6e6cd958b82e5288ca3 SHA512 f800d6c37fe72477908c91457a738a73d2b8085bb5ae303d6d954405d6ccd98833b5da16a12c3ad1ab75d32a68dedc706dfaacc0fcbb95571dd829cdc03a356a
-DIST which-4.4.2.crate 15953 BLAKE2B 40ca22cd2f625cb035a1d919ed457a300b482c7751dcee4441974c53d56ce13f1f502535e1f7c0746a01981f4de2e2f761c3a255902d6353db1a4c3c62637448 SHA512 2d12aa1d4c2dbc140e39c8f15bd4ee1eeb8e8de71bcdf579479ef4be860fb0839eaf4cdb818addba242d50420f6e08acaf2bfc979a889e092c83644819246fd5
-DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
-DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
-DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
-DIST windows-sys-0.48.0.crate 2628884 BLAKE2B 551e900de4f67187ef034b60df9fd0e0d8f82a3100ef28e1eabd543ac129d882dc86ffcc1714071aba09e4cb2ae2d2f07ace1a32b99fd989ce525cf05991edab SHA512 bdf534bcf3face31e9ebe11427a911a53f89f4ff5eaea8cccd094e139bfe14b2aec602b1cab1df774794d999477439d9adc6b627a8e33c20334fc348ba2c47ed
-DIST windows-sys-0.52.0.crate 2576877 BLAKE2B 69d6b560ccfc8f679e2678663ba606060d71fa28efa82c8aef8cceaa2c63b06f2052764d60163964f939649a26bbec6361ee4b094555e941fae92070db566980 SHA512 24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03
-DIST windows-targets-0.48.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709
-DIST windows-targets-0.52.0.crate 6229 BLAKE2B 4b1efdd32202f112d3782b586ce60667f5d3b6f97ccae0d7da833aee2ae81ceece88b5ef4126db2448c9019de3f77e4fe66ed4286bb6275d9a5e8ab74725b804 SHA512 0ea09552d89b802ec0d419b640fa02d0af7af602704a0e88ba10f81d123dee0c907460f6ec91224177ec9a948970abd7414740eb219148a4d66c269c2362740e
-DIST windows_aarch64_gnullvm-0.48.5.crate 418492 BLAKE2B 5c6f7d73ad05740f0bac304ed1ef9b2ea63b0d6ca8f875552ae299a0b73b1557e8fe996f1c2b69be9f2df350c9288690f49ee62239a2896991364331d6c55462 SHA512 20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996
-DIST windows_aarch64_gnullvm-0.52.0.crate 430182 BLAKE2B f23370c62c4ab3fd885e3ee22e8ec2fb5a3a837a57044c1df3f9986dd4e7e9d0a44ec58be1648a41e1ea4d037afa3077f0f03de0204199a82fb8395731815a4a SHA512 b7c3fe0a2ad5149be0df48fc7a4d15879eb130bd9441c58c25fc71b8a91483f0b553fb1bf29a9302acd348e9083a547430a840b059b0cfe19867ecaffcae986f
-DIST windows_aarch64_msvc-0.48.5.crate 798483 BLAKE2B 60c466d6536426425a34b5ca20da97c8127ebeb4fb9b1363911165bada484f8913fcd50e90410b5661e0c27dbfe8f4eeaa62fb17d1f3566bfc82b6255e11619b SHA512 223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff
-DIST windows_aarch64_msvc-0.52.0.crate 821663 BLAKE2B e6f772858205f7cd871722136aec4d00daea4793ff9dcae53e6311e74526c46aa11c2b3df7a85e6c577757254cbfa5a713e68c694625ca274b64e7a1c5532c23 SHA512 8446bfe5b9fe538415762c8129ab3bf2fe45482e045bce367475747786602ad4ae1187c6e508dd9d7b6be81bfc8d430e0db9c624e35c7cc52e823023e46f5cf1
-DIST windows_i686_gnu-0.48.5.crate 844891 BLAKE2B fdc37cd74a4982056bf22fdb7b84e1c55dc838f3cb19ff3648730a77e673ef4ecc0380b3e4277bb8df2fcfa25f57b69014713d9e3ed27c28e19b25b3ea2ab774 SHA512 931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a
-DIST windows_i686_gnu-0.52.0.crate 870285 BLAKE2B a7688062a128a1b1394b3978210334e4e2aaa10dce131457c4a11ce0cb3f551e7f4962d1ece1846d8e9526983ced0e0a3ee8c933858e9314b62e76381e086ef9 SHA512 fe993f5bb6e039c257be9b35337e0221f718d23866818bfd19c76aaae236aafc2de4bb5014fcdf919563b5901cdaa14a2136cd086eeed3c83e46a5d02f6aa77e
-DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1dffb925a1a78f456d683e4450d9f2fd287ad2e8494d65b2b770c677a12b3a60d10f0435e16c61880e3867c3657fd44892442 SHA512 70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e
-DIST windows_i686_msvc-0.52.0.crate 888693 BLAKE2B 7a6e9d03e503c8f543e80a8c7bcf3f50cfa7eed462e487ae7b581746d7cc4d871b33e307110d3a3a75226d88e837f9452ac56bf3baf71b66cfab2626cc15558a SHA512 817ac796fd00bed51d80133ec873cf3d3d582ba41fec8a6f6407fbd7544f198e928aa5d710f70c13bbf74a1dde4c91c54e65eb9d3b7518a7f011ea42725eb671
-DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74
-DIST windows_x86_64_gnu-0.52.0.crate 826213 BLAKE2B 3ca03285ef289fc844261142154e710e996c29940b1c0a7dc3016906ff6452fa50b24f8668fce0ca44bf169ab1228c217fece9f7bddac9ab8bdc54fddafaf8a8 SHA512 2d81af56ad0bc9536f6e066776642a546ce6c6d99551edc0603ffcafe6db15d5d5a32a642b204bbfadf34231daa3894ad7897a9c0c575c2b6bc1e3e58a9a3eb7
-DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa
-DIST windows_x86_64_gnullvm-0.52.0.crate 430165 BLAKE2B af9345a1f6e0ed1392ca1534c68d23f3be0fbb6a42b3c5518cee14373e645038526da15e849d14abe45c53766a30c6c2042a626482ba4a05409f325eb6aa36b1 SHA512 e88af35fd1c694dc189783e5c81aafa61aeffbddce4d7130e1125d0ce3d932fafeb345990ffd98477c41b578b7f5090f4f9c0457b02146309b95549c9f8f44f0
-DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0
-DIST windows_x86_64_msvc-0.52.0.crate 821600 BLAKE2B cc448b65f98fc0fc4949ae622b7020d2dae927ae45310649f6ef71809740eda9d3db0fc035676c201fd9ab9639e9e7f21e2e992b4c789542f12b419d2c752179 SHA512 3aaee31533a1a48a6ab5cd15b3cadfbd906a93a153e53919d0aa74e440d11e29830554e4e014c215f5b88a475bb733fa8ba4ce9d773d3e23a40ea9ad37ddd0a7
diff --git a/dev-python/pyperscan/metadata.xml b/dev-python/pyperscan/metadata.xml
deleted file mode 100644
index 6e8632a248e2..000000000000
--- a/dev-python/pyperscan/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>stkw0@disroot.org</email>
- <name>David Roman</name>
- </maintainer>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/dev-python/pyperscan/pyperscan-0.3.0.ebuild b/dev-python/pyperscan/pyperscan-0.3.0.ebuild
deleted file mode 100644
index da2c79e6e8f6..000000000000
--- a/dev-python/pyperscan/pyperscan-0.3.0.ebuild
+++ /dev/null
@@ -1,118 +0,0 @@
-# Copyright 1999-2023 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_{13..14} )
-
-CRATES="
- aho-corasick@1.1.2
- autocfg@1.1.0
- bindgen@0.69.1
- bitflags@1.3.2
- bitflags@2.4.1
- cc@1.0.83
- cexpr@0.6.0
- cfg-if@1.0.0
- clang-sys@1.6.1
- cmake@0.1.50
- either@1.9.0
- errno@0.3.8
- foreign-types@0.5.0
- foreign-types-macros@0.2.3
- foreign-types-shared@0.3.1
- glob@0.3.1
- home@0.5.5
- indoc@1.0.9
- lazy_static@1.4.0
- lazycell@1.3.0
- libc@0.2.151
- libloading@0.7.4
- linux-raw-sys@0.4.12
- lock_api@0.4.11
- log@0.4.20
- memchr@2.6.4
- memoffset@0.8.0
- minimal-lexical@0.2.1
- nom@7.1.3
- once_cell@1.19.0
- parking_lot@0.12.1
- parking_lot_core@0.9.9
- peeking_take_while@0.1.2
- prettyplease@0.2.15
- proc-macro2@1.0.70
- pyo3@0.18.3
- pyo3-build-config@0.18.3
- pyo3-ffi@0.18.3
- pyo3-macros@0.18.3
- pyo3-macros-backend@0.18.3
- quote@1.0.33
- redox_syscall@0.4.1
- regex@1.10.2
- regex-automata@0.4.3
- regex-syntax@0.8.2
- rustc-hash@1.1.0
- rustix@0.38.28
- scopeguard@1.2.0
- shlex@1.2.0
- smallvec@1.11.2
- syn@1.0.109
- syn@2.0.40
- target-lexicon@0.12.12
- thiserror@1.0.50
- thiserror-impl@1.0.50
- unicode-ident@1.0.12
- unindent@0.1.11
- which@4.4.2
- winapi@0.3.9
- winapi-i686-pc-windows-gnu@0.4.0
- winapi-x86_64-pc-windows-gnu@0.4.0
- windows-sys@0.48.0
- windows-sys@0.52.0
- windows-targets@0.48.5
- windows-targets@0.52.0
- windows_aarch64_gnullvm@0.48.5
- windows_aarch64_gnullvm@0.52.0
- windows_aarch64_msvc@0.48.5
- windows_aarch64_msvc@0.52.0
- windows_i686_gnu@0.48.5
- windows_i686_gnu@0.52.0
- windows_i686_msvc@0.48.5
- windows_i686_msvc@0.52.0
- windows_x86_64_gnu@0.48.5
- windows_x86_64_gnu@0.52.0
- windows_x86_64_gnullvm@0.48.5
- windows_x86_64_gnullvm@0.52.0
- windows_x86_64_msvc@0.48.5
- windows_x86_64_msvc@0.52.0
-"
-
-inherit cargo distutils-r1
-
-DESCRIPTION="An opinionated Python binding for Hyperscan"
-HOMEPAGE="https://github.com/vlaci/pyperscan https://vlaci.github.io/pyperscan/"
-
-SRC_URI="https://github.com/vlaci/pyperscan/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-SRC_URI+=" ${CARGO_CRATE_URIS}"
-
-LICENSE="MIT"
-LICENSE+=" Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC Unicode-DFS-2016 Unlicense"
-
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/vectorscan:=
- llvm-core/clang
-"
-DEPEND="${RDEPEND}"
-
-QA_FLAGS_IGNORED="
- usr/lib/python.*/site-packages/pyperscan/_pyperscan.abi3.so
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pyproject-fmt/Manifest b/dev-python/pyproject-fmt/Manifest
index a038b85da07b..95912043c5bd 100644
--- a/dev-python/pyproject-fmt/Manifest
+++ b/dev-python/pyproject-fmt/Manifest
@@ -4,9 +4,16 @@ DIST pyproject_fmt-2.21.1.tar.gz 152372 BLAKE2B d3c71cfad8dc645f4c02c98fccd4c417
DIST pyproject_fmt-2.21.1.tar.gz.provenance 9617 BLAKE2B d64c03acd2d43cf10e77e53f9c80cdd4fb3afdec2d4fd84ce09868dea1942a8ad4749a210ec54bbf31ff4698ef09eb71a1a4d2172cd982c299cf6d0c2cea10c7 SHA512 81a3bf26b5a6cc0bab6918f6e2ddc288f52373e91bbd337a9c8482e14b604b926e19bd4b51e43c5e44f11d7fc5dbdcd65e4654e23907e4ae3614df37e3484edc
DIST pyproject_fmt-2.21.2.tar.gz 155067 BLAKE2B e1d5ed9ad538c934d176d54c64030312f430746e3450d383c9bce7156bb953cefeb1976b81825e8dd108ccd5c5c4b5f0af2c6986a838b9b8c206132ed5b738a1 SHA512 6e13de792660c3dcb01f4857df08c12e099a3c6ce411886f0d63d66aff126980f283428dd1de322f0f1d5fc4dcde8d23b1490bedf6e580340542895d315bd39a
DIST pyproject_fmt-2.21.2.tar.gz.provenance 9899 BLAKE2B dd64f16733cdceab98a70dd4680d3ef603976ba1d2a7e088c2906cd0ec05f3081586dd4d09a56c772106ff3dd8d3d81ffda497e34bd205aec0eec5ec5f0b108b SHA512 2585c2ab36baa9a1fce11e11d1468c990a736c543ce4de6c7476dd7df6f754b107795c238762110555eec284aefaa53e6eddc5733fce5b5ee701344baae5d086
+DIST pyproject_fmt-2.24.0.tar.gz 281070 BLAKE2B a3b8b23f7a3f3e422423a5806e54d3678eb4465b53f339b90e04c3caa16c1306f40bf01b38f4289f28f342a9b45e4b9214fb62a4edcecd6313f6c26b1c7a5aa1 SHA512 90eb0564ed6e22dffce25da12096fdc06f3cf7d5008a2852a32b8da6ae286496991b81d9b60e13cab298c1a26a57322d9a21ef4e130e213850da820dabbb432a
+DIST pyproject_fmt-2.24.0.tar.gz.provenance 9841 BLAKE2B 68e52f9f7642d98206a45c582dc60201c7a7cb67fa9c152b1ef1c7dbfe29dfcf4716da98c218605274b2e45cb515662c09a8ab77cd03bd25fae486b029448457 SHA512 ea24c7c0aa8201f681f2dd525798b6ff52886f0eb25cb77ea4a674b89bb5eb221d32741a477a0f6f6370b69b5894bbdfc847b613c1b888d2d802f70944607fcf
+DIST pyproject_fmt-2.24.1.tar.gz 280585 BLAKE2B 76dbf5443a7ff7215437b6b4d4a2cb9f6c752335d73dcec893fa1e222b3d459298e11265367ff2e76d63548b47e6c752266703d59329653d02113b2c410d178e SHA512 5b044182e27f881bc13d24406f5dabd68ab60e325ba748f460533640e87731cb30651e744ad0011e2ef4cddf5907f42e6f9d2aca6aa0a558dddfa5beaefbab9c
+DIST pyproject_fmt-2.24.1.tar.gz.provenance 10064 BLAKE2B ec74f53fae059829f6e44434666d196b5ea92b787d80fe04d6a001e93f1563be978c6771918a3fe7af19ef1a41cc8ce04d21ef0f15ce9e7af39b3cbfe2af00b2 SHA512 4220f4b3fd4372dc0593da35341255778f25c4386eca6007f6e49252cccc861df75980ab74fc437ca26105687198c8b0bfad81579ef4341fd0e97c4ee3a9e79a
DIST tombi-0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b.gh.tar.gz 10564681 BLAKE2B 1cc4e307d89ae978c8022aed63ad7a7c08e71f810e42743589a6bf44499051250102ca3a60aa2cea65292dfd187240da96f6fb963511b6d4c06559c20bbc67a3 SHA512 e398e14c9b092f2378dfa848c697ea5cb0af705bcb801f288d2ca98b8c0d4aa3abf7a71f2f5a10a4a6a77e1e8d1f7089a0359b2a3ec9b226a19bbb40f0aa0a14
DIST tombi-afbc4d39033e872c0739d43b66cb4b5c278ba11c.gh.tar.gz 10400276 BLAKE2B f697615f6538f0b47da592dc217342d915036223ecf0b97e05f6dcef15e8788e4314214dd7b624c1d6b7715df15ef5e6c480a0a9113f2016c58ab2744ec03f32 SHA512 87cfe1cf661c974dfb74382a178eb5d060cadc90eb62dbe8fe6671e3e29ff6cc77f4205be7a7ac0b15ad73be1529c2203a07e9fb383f81c72e07342705769d23
DIST tombi-d5056f9743d7e3f194158e125b90d7294aa59ad7.gh.tar.gz 10475854 BLAKE2B 6a629d533e576930e8e988662e3d350137d32ce9b517578f4ee5f20437b75d31300568adf4a4fae2e9fc7a033af1031d4fbcaafa51656a3af2b8a7e03365495e SHA512 74aa91819f15420207850951d0d6b41d61dadf3bdb38406299ae1126bb9ae597a7eb9b69a4485165bf465eb10384b67c73b0e231ce22e1910bc2db448c4eb626
+DIST tombi-e9213370947e9d7ab6dd98c1cf17533bbbcc797f.gh.tar.gz 10608653 BLAKE2B 7fd8a27bec2e0c5ab357f2c56ca50c848d71e02da3faca9b0650541b35b177ce7b669d294c20add3dac2ba70e5ced46046d5c2de14df81fcee418fccaaa47344 SHA512 a84ca3f676b95d11c121df08382e3bc6ca2e31c0c867ff3027c5564219f637abda34bcc00d563d777280e1b4522354e83b6bb4b0412b067e9ce57272a4e34d15
DIST toml-fmt-pyproject-fmt-2.20.0-crates.tar.xz 18775804 BLAKE2B 2b977dce1adc8a43f0a6932dbb821a17a0885f570fbbb0cec6e5bf3ea8177baa6c9c6725a20e3326eeab337f7c521817f41b42225b18029baaa8d9eb2f31706c SHA512 495f714fcded00a9ad8da1deed04ed871c1ddca977c9ba0d28fc2a69a4ed693e0f2d2c0fb976417f98e2a52420d59543fbf7a0cc50599588b725f9f56c6285ef
DIST toml-fmt-pyproject-fmt-2.21.1-crates.tar.xz 18661404 BLAKE2B cb19d8ebbb7d4fb43494a89a910bc844862bbbc6f677dff27fceca27a74cc573d42f009cf2e0d979f286b7efe80bb72e88072b20da3afdc98b023b6740ccdba6 SHA512 1699771da1ee01a593d963b8d945038c8d2abdadaf40203a56504ec6a9dfbca896b1aa77a63c98ed77bed779fe3dfe365fab219eced7c3b7b222876be0a68170
DIST toml-fmt-pyproject-fmt-2.21.2-crates.tar.xz 18776904 BLAKE2B ae748ae98a2769a78b34a2051e3237c40bc6714d88c58a22aec5af85caa86e4690e9749ddd1f87d2ebe0908a1a3f24a01a48e4abcf107fcdbd5d8322a0738c6a SHA512 474d707babc9a3f98a933ae645ffb951062491158c6863ff9dea7fee065b19f440501e092fbc28e62e4e67dce435689096a27b96c6acde3b8128b76b5890ca3e
+DIST toml-fmt-pyproject-fmt-2.24.0-crates.tar.xz 18713448 BLAKE2B 6b5c71bc419891391ec4f375a29821ff8b2039222ace04da609d155b9260a187520ff70c3b71a7d804f628041e41df20d5b69c0e2cea9cc415404535407363dc SHA512 7a3726f24f7a4e00e892c24f1ee94e763f7faa212ed908c2b13ba70b5ae67cab3b269fcffc0c0755a13cdc6a290e281a274b5746fec0620cc6c980d0f3ddb7a5
+DIST toml-fmt-pyproject-fmt-2.24.1-crates.tar.xz 18725980 BLAKE2B 75f6c4a07b14fc60cd3b7a00e902c2b37fe79ea3d03172e7271300d5ea5bd0bf9b7727c4af7e47e82d28424f677235a6e9c1d22ad3314210be93170d9f36ff76 SHA512 88da1827c097f712489276c48fbf10e4c61ef92b877cd8eb7f34eeb1e289ce0362661d3b01bf34c23c1f4cc67e23b05462773407eba7d17814c96d7885f23bd9
diff --git a/dev-python/pyproject-fmt/pyproject-fmt-2.21.2.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-2.21.2.ebuild
index 94b31f78c565..a577bd49a005 100644
--- a/dev-python/pyproject-fmt/pyproject-fmt-2.21.2.ebuild
+++ b/dev-python/pyproject-fmt/pyproject-fmt-2.21.2.ebuild
@@ -67,7 +67,7 @@ LICENSE+="
Unicode-3.0 ZLIB
"
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[${PYTHON_USEDEP}]
diff --git a/dev-python/pyproject-fmt/pyproject-fmt-2.24.0.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-2.24.0.ebuild
new file mode 100644
index 000000000000..34e567a3bb59
--- /dev/null
+++ b/dev-python/pyproject-fmt/pyproject-fmt-2.24.0.ebuild
@@ -0,0 +1,113 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+DISTUTILS_UPSTREAM_PEP517=standalone
+PYPI_VERIFY_REPO=https://github.com/tox-dev/toml-fmt
+PYTHON_COMPAT=( python3_{13..14} )
+
+RUST_MIN_VER="1.87.0"
+CRATES="
+"
+
+declare -A GIT_CRATES=(
+ [tombi-accessor]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-accessor'
+ [tombi-ast-editor]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-ast-editor'
+ [tombi-ast]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-ast'
+ [tombi-cache]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-cache'
+ [tombi-comment-directive-serde]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-comment-directive-serde'
+ [tombi-comment-directive-store]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-comment-directive-store'
+ [tombi-comment-directive]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-comment-directive'
+ [tombi-config]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-config'
+ [tombi-date-time]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-date-time'
+ [tombi-diagnostic]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-diagnostic'
+ [tombi-document-tree]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-document-tree'
+ [tombi-document]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-document'
+ [tombi-formatter]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-formatter'
+ [tombi-future]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-future'
+ [tombi-hashmap]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-hashmap'
+ [tombi-json-lexer]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-json-lexer'
+ [tombi-json-syntax]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-json-syntax'
+ [tombi-json-value]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-json-value'
+ [tombi-json]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-json'
+ [tombi-lexer]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-lexer'
+ [tombi-parser]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-parser'
+ [tombi-regex]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-regex'
+ [tombi-rg-tree]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-rg-tree'
+ [tombi-schema-store]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-schema-store'
+ [tombi-severity-level]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-severity-level'
+ [tombi-syntax]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-syntax'
+ [tombi-text]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-text'
+ [tombi-toml-text]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-toml-text'
+ [tombi-toml-version]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-toml-version'
+ [tombi-uri]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-uri'
+ [tombi-validator]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-validator'
+ [tombi-version-sort]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-version-sort'
+ [tombi-x-keyword]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-x-keyword'
+)
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Format your pyproject.toml file"
+HOMEPAGE="
+ https://github.com/tox-dev/toml-fmt/
+ https://pypi.org/project/pyproject-fmt/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+ https://github.com/gentoo-crate-dist/toml-fmt/releases/download/pyproject-fmt%2F${PV}/toml-fmt-${P}-crates.tar.xz
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC MIT MPL-2.0
+ Unicode-3.0 ZLIB
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/toml-fmt-common[${PYTHON_USEDEP}]
+"
+# tox is called as a subprocess, to get targets from tox.ini
+BDEPEND="
+ test? (
+ dev-python/tox
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-mock )
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/pyproject_fmt/_lib.*.so"
+
+src_unpack() {
+ pypi_src_unpack
+ cargo_src_unpack
+}
+
+src_prepare() {
+ distutils-r1_src_prepare
+ sed -i -e '/strip/d' pyproject.toml || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # something about ANSI codes, no clue
+ pyproject-fmt/tests/test_main.py::test_main[format-absolute-no_check-in_place]
+ pyproject-fmt/tests/test_main.py::test_main[format-cwd-no_check-in_place]
+ )
+
+ epytest pyproject-fmt
+}
+
+python_test_all() {
+ # default features cause linking errors because they make pyo3
+ # wrongly assume it's compiling a Python extension
+ # https://github.com/tox-dev/toml-fmt/issues/23
+ cargo_src_test --no-default-features
+}
diff --git a/dev-python/pyproject-fmt/pyproject-fmt-2.24.1.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-2.24.1.ebuild
new file mode 100644
index 000000000000..34e567a3bb59
--- /dev/null
+++ b/dev-python/pyproject-fmt/pyproject-fmt-2.24.1.ebuild
@@ -0,0 +1,113 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+DISTUTILS_UPSTREAM_PEP517=standalone
+PYPI_VERIFY_REPO=https://github.com/tox-dev/toml-fmt
+PYTHON_COMPAT=( python3_{13..14} )
+
+RUST_MIN_VER="1.87.0"
+CRATES="
+"
+
+declare -A GIT_CRATES=(
+ [tombi-accessor]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-accessor'
+ [tombi-ast-editor]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-ast-editor'
+ [tombi-ast]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-ast'
+ [tombi-cache]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-cache'
+ [tombi-comment-directive-serde]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-comment-directive-serde'
+ [tombi-comment-directive-store]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-comment-directive-store'
+ [tombi-comment-directive]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-comment-directive'
+ [tombi-config]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-config'
+ [tombi-date-time]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-date-time'
+ [tombi-diagnostic]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-diagnostic'
+ [tombi-document-tree]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-document-tree'
+ [tombi-document]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-document'
+ [tombi-formatter]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-formatter'
+ [tombi-future]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-future'
+ [tombi-hashmap]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-hashmap'
+ [tombi-json-lexer]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-json-lexer'
+ [tombi-json-syntax]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-json-syntax'
+ [tombi-json-value]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-json-value'
+ [tombi-json]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-json'
+ [tombi-lexer]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-lexer'
+ [tombi-parser]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-parser'
+ [tombi-regex]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-regex'
+ [tombi-rg-tree]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-rg-tree'
+ [tombi-schema-store]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-schema-store'
+ [tombi-severity-level]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-severity-level'
+ [tombi-syntax]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-syntax'
+ [tombi-text]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-text'
+ [tombi-toml-text]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-toml-text'
+ [tombi-toml-version]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-toml-version'
+ [tombi-uri]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-uri'
+ [tombi-validator]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-validator'
+ [tombi-version-sort]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-version-sort'
+ [tombi-x-keyword]='https://github.com/tombi-toml/tombi;e9213370947e9d7ab6dd98c1cf17533bbbcc797f;tombi-%commit%/crates/tombi-x-keyword'
+)
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Format your pyproject.toml file"
+HOMEPAGE="
+ https://github.com/tox-dev/toml-fmt/
+ https://pypi.org/project/pyproject-fmt/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+ https://github.com/gentoo-crate-dist/toml-fmt/releases/download/pyproject-fmt%2F${PV}/toml-fmt-${P}-crates.tar.xz
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC MIT MPL-2.0
+ Unicode-3.0 ZLIB
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/toml-fmt-common[${PYTHON_USEDEP}]
+"
+# tox is called as a subprocess, to get targets from tox.ini
+BDEPEND="
+ test? (
+ dev-python/tox
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-mock )
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/pyproject_fmt/_lib.*.so"
+
+src_unpack() {
+ pypi_src_unpack
+ cargo_src_unpack
+}
+
+src_prepare() {
+ distutils-r1_src_prepare
+ sed -i -e '/strip/d' pyproject.toml || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # something about ANSI codes, no clue
+ pyproject-fmt/tests/test_main.py::test_main[format-absolute-no_check-in_place]
+ pyproject-fmt/tests/test_main.py::test_main[format-cwd-no_check-in_place]
+ )
+
+ epytest pyproject-fmt
+}
+
+python_test_all() {
+ # default features cause linking errors because they make pyo3
+ # wrongly assume it's compiling a Python extension
+ # https://github.com/tox-dev/toml-fmt/issues/23
+ cargo_src_test --no-default-features
+}
diff --git a/dev-python/pypy-exe-bin/Manifest b/dev-python/pypy-exe-bin/Manifest
index 3861b384c83a..d0d84f930dff 100644
--- a/dev-python/pypy-exe-bin/Manifest
+++ b/dev-python/pypy-exe-bin/Manifest
@@ -1,11 +1,3 @@
-DIST pypy-exe-7.3.20-1.amd64-musl.gpkg.tar 13076480 BLAKE2B 5baa61d48ea0e6d94567262b67a62eeb20f695cb641ec8e1e19d5009501f51b62c8a9f28729a3093631a3303ff0eb770207f34fe38f5a68ab616630c859edc3e SHA512 03c4009f202f1f5316836f054e41b755dc6959929ad52e1588b6f95af7243e2da95ccb7120a8a373280819ac261bef7aa544fc5a8420b2f7892be32f2585599c
-DIST pypy-exe-7.3.20-1.amd64.gpkg.tar 13045760 BLAKE2B 54fdc97154a4776b498d2ea9589e9676dad7de319767f4c1ec7c0c7f7f5f7864215edb5988b0589205f46a76b62e01a7afc73cb9b8f6bcd8096cf8a88cbe5740 SHA512 70d4793db27c92e5c08b0e41c382569210463183eb7756d3c0c5815ee954699e297d721a5c10e02a8aeddf3b3df5aeb30fb1d4ee30beda1ce6aa7d005759831c
-DIST pypy-exe-7.3.20-1.arm64-musl.gpkg.tar 11069440 BLAKE2B 9a3172c91e2976123e08762ace8d6e3b4de26cfde54a4255c1fe3b3c606a3b9b520092dad72c674001ad48bba79a0c798754fcd82c5cb217b3bf8cb9a5fc663d SHA512 6570d288e701c36765642f1b62815abacc54f8aba1f62a715827785402f40ecbccb77d2936697524eb552aea6804d2bd983b939e1745ab7b8040ac014d6832b3
-DIST pypy-exe-7.3.20-1.arm64.gpkg.tar 11038720 BLAKE2B e3e321d1b881728303943b2f55d6341ebf8dd81011d331857d07152d78d7967b7f117e786964510cbe434952748c91df30883565c0b0830c440d0608624a8c75 SHA512 99420b6ef43b623dc38e64989966c422d10285e9f2d6f527bcce77a0f010e8015705ac4088b79ce543a011c85145348023f2c212b8bb87b17ef220559055a0d2
-DIST pypy-exe-7.3.20-1.ppc64le-musl.gpkg.tar 6656000 BLAKE2B c1cfdd5c344c6c3a5cef6958df09928a50e6d00653fdff1b88be11a1d49140c0f92ff9bd58e6fe02e1945824b6a1627f72f0897215bd9468d367ac766b3a8f38 SHA512 6e99631287b28a84db5ce9cdc20f00f45c45c6856f24f3f88ce3a411c7606ad72d82418ba85b0db4708f412071aa277062a13fe2bb8183be564e1771248028fe
-DIST pypy-exe-7.3.20-1.ppc64le.gpkg.tar 11141120 BLAKE2B a1d49d28fb87b4a18c81a4a7821585e593d36cc665a2f4a144ba143477812aff552f38d72658ffa672fc62adaea4ccf00357cb433da30bc0fb579496d94bbc60 SHA512 cb7e1624620c6fc99d18baee690ceaa3bffd9175f6392b9f5d65de136d1b47b01f09438eceeab7c18c55970f8d90de32c76abe7682ca5dba81d948a39a657936
-DIST pypy-exe-7.3.20-1.x86-musl.gpkg.tar 10014720 BLAKE2B 276a3f2d70a73829cb5acb7c185e9c9c0ded5f9e43fae82cd715297fe8dfd6a1a816e6ca6f7d4046f90d3271ca18042765e2eb4a051a60b6ac65530fed9549fc SHA512 e5ac44f88402466c3fe3fea27958a61e5f274fd5de303a9172bb80b4caa914a727bc0533ddd1007adea1be9937e2100fb86d7b04c22420bdd0fbd423dd4409b0
-DIST pypy-exe-7.3.20-1.x86.gpkg.tar 9973760 BLAKE2B ccac855fc15d5a9b5915eb42b1b201867fd621c1ef351386176b33b2e68c983d7f82695a19248208d431489a194a2c5f07839a881de77ff98da2ab77b15f5299 SHA512 008d27f98b65e41d88c594aeffcef57f1f48eb9590958462adbd98c00ff48acd260c378d9f02122e21b2a77d923a901dd55228faed039fcd612f9011d8779967
DIST pypy-exe-7.3.22-1.amd64-musl.gpkg.tar 13025280 BLAKE2B 83dba63a8cc348b308f3ab3638678e8021162f6959d0bde8fe5cbe9575c7efd63c2f54891eaf51998bad87005ff0fba7807d7f19c5e40c8cd74cf2c01e4ead3c SHA512 005b747e81eadbde25c832a8584358fdd13155a7c300435ec77ec55fd24ac7cdbe623e57c8414032dd926b6ca9934878ce370edfb529279b6cf653f46b5f6a55
DIST pypy-exe-7.3.22-1.amd64.gpkg.tar 13025280 BLAKE2B 3316aae1cd1b381f6dd7d040ef60ebfdbb8fd71293357e374303fe93a9715628a8e68f6c5e4b26a924dee804dda46640c377f71df56d2ebbd728324e1f2acabd SHA512 ac806071453fc74b605551371e3fcf20aee1f871f17e6674abdc49155146bf449296bb72312c5d0ee5ef16fef46fbb7124ea5f4cfeca5eaf0c4ce13c0acb5126
DIST pypy-exe-7.3.22-1.arm64-musl.gpkg.tar 11438080 BLAKE2B 2df11ab4b88f6602d96f359907c510043c03b2988d8b64f5b20e665de8720e3cccbfff0877240c6a21f8f1bfc5d4b9ff1675b562eb97d7370d69033e153f1dbb SHA512 c8dce7df92648ce19b66bfd7d510f3605b1e8e32ecb4df052dd2f9cf1d1dd3bb4bd7a19aa7cb7e61db9e100a988d6ea661b044c9a1c82d500a1a84aa8378e355
diff --git a/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.20.ebuild b/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.20.ebuild
deleted file mode 100644
index a66da0908693..000000000000
--- a/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.20.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit pax-utils unpacker
-
-MY_P=pypy-exe-${PV}-1
-DESCRIPTION="PyPy executable (pre-built version)"
-HOMEPAGE="
- https://pypy.org/
- https://github.com/pypy/pypy/
-"
-SRC_URI="
- elibc_glibc? (
- amd64? (
- https://distfiles.gentoo.org/pub/proj/python/binpkg/amd64/pypy-exe/${MY_P}.amd64.gpkg.tar
- )
- arm64? (
- https://distfiles.gentoo.org/pub/proj/python/binpkg/arm64/pypy-exe/${MY_P}.arm64.gpkg.tar
- )
- ppc64? (
- https://distfiles.gentoo.org/pub/proj/python/binpkg/ppc64le/pypy-exe/${MY_P}.ppc64le.gpkg.tar
- )
- x86? (
- https://distfiles.gentoo.org/pub/proj/python/binpkg/x86/pypy-exe/${MY_P}.x86.gpkg.tar
- )
- )
- elibc_musl? (
- amd64? (
- https://distfiles.gentoo.org/pub/proj/python/binpkg/amd64-musl/pypy-exe/${MY_P}.amd64-musl.gpkg.tar
- )
- arm64? (
- https://distfiles.gentoo.org/pub/proj/python/binpkg/arm64-musl/pypy-exe/${MY_P}.arm64-musl.gpkg.tar
- )
- ppc64? (
- https://distfiles.gentoo.org/pub/proj/python/binpkg/ppc64le-musl/pypy-exe/${MY_P}.ppc64le-musl.gpkg.tar
- )
- x86? (
- https://distfiles.gentoo.org/pub/proj/python/binpkg/x86-musl/pypy-exe/${MY_P}.x86-musl.gpkg.tar
- )
- )
-"
-S="${WORKDIR}"
-
-LICENSE="MIT"
-SLOT="${PV%_p*}"
-KEYWORDS="amd64 ~arm64 ~ppc64 x86"
-
-# sys-devel/gcc for libgcc_s.so
-RDEPEND="
- app-arch/bzip2:0/1
- dev-libs/expat:0/0
- dev-libs/libffi:0/8
- sys-libs/ncurses:0/6
- >=virtual/zlib-1.1.3:0/1
- virtual/libintl:0/0
- elibc_glibc? (
- sys-devel/gcc
- >=sys-libs/glibc-2.35
- )
- !dev-python/pypy-exe:${SLOT}
-"
-
-QA_PREBUILT="
- usr/lib/pypy2.7/pypy-c-${SLOT}
-"
-
-src_install() {
- insinto /
- doins -r */image/usr
- fperms +x "/usr/lib/pypy2.7/pypy-c-${SLOT}"
- pax-mark m "${ED}/usr/lib/pypy2.7/pypy-c-${SLOT}"
-}
diff --git a/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.22.ebuild b/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.22.ebuild
index 3efe4577874e..a66da0908693 100644
--- a/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.22.ebuild
+++ b/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.22.ebuild
@@ -45,7 +45,7 @@ S="${WORKDIR}"
LICENSE="MIT"
SLOT="${PV%_p*}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm64 ~ppc64 x86"
# sys-devel/gcc for libgcc_s.so
RDEPEND="
diff --git a/dev-python/pypy-exe/Manifest b/dev-python/pypy-exe/Manifest
index 3fade5b1edd7..b87a6ee87fbc 100644
--- a/dev-python/pypy-exe/Manifest
+++ b/dev-python/pypy-exe/Manifest
@@ -1,6 +1,4 @@
-DIST pypy2.7-gentoo-patches-7.3.20.tar.xz 5324 BLAKE2B d2ac71ae4360292d1f4661e10ec817bebdaceb00c6deb92eb8ffaf023d7f0e511c10f10aac6c60d436f9b0f34185e989a87780c99913d011a679df8cdb6f255d SHA512 69839ed3c5cba8983661da8719b06a3054b94fc1a3eca9ccf3546c523745811cd91963afb39ea9551fe98e8f71fab6c9344ccbb0378c2b51f0dca8aef7f04ac4
DIST pypy2.7-gentoo-patches-7.3.22.tar.xz 5312 BLAKE2B e407ac29b598a20f930e6ea0c6dbbedcb169b045f9bc2a40cb3e9ef9f32af3be647217ac00434fc2f109280de07c468329515b0ac655346052217e5455c84261 SHA512 3e88b7b5635f43a9ce141bf4ca30654bd4dd15f1f39a41ca219ad855700af1a9dd4a7ec512bab922b64f4f8c3930f36de1a78ed779e769f891592a0fb4c0fcaa
DIST pypy2.7-gentoo-patches-7.3.23.tar.xz 5316 BLAKE2B 923494c49ef09b1929ba1986891a08f23e4343c44eac792a688ac88b48d21770101ca50fcdf3986c686adefb24fbf58aef674ec608feea775984ab8a16385cb6 SHA512 c1d07caef19b77cb4950d56c1de8079900fc21728061f8620210932d2cd85f701407ce7b9947d2ef044211d1ffe8b77ce445da3c5aef69321b45e7ab8550dee3
-DIST pypy2.7-v7.3.20-src.tar.bz2 21016441 BLAKE2B 382830a4e2511b77861a96a52038f0f6ca69fd3a938cdc0434285dac217bbeacacb71a5566edad0240e7e7723924ee449b2237b3a84008e80922b19df8880638 SHA512 f23a065efc7f4ab4020de554ff1411b21d05364e19dd49f7026a9a1f90761342bdf5606f1522094991c189df449387ebf0f79240902b6836235cb3a4e89d6d3a
DIST pypy2.7-v7.3.22-src.tar.bz2 21025542 BLAKE2B 6bf17c72cc4d8d1ba7db9d726b29f15d1e7b04e767dec5399c0831eb3211256e9e981b430e02071522c4bc23cca0618e5b3fb1cb72f22ec39540a20fd96a8fa7 SHA512 482020a7a40e5642d88d1474979d733b079dc65d75f5d0a431c6ee2a8136cc101be42dabe51063e9f376c606f62559c6ab681dc65cd0abb5fef4e8d69931ad39
DIST pypy2.7-v7.3.23-src.tar.bz2 21023543 BLAKE2B 7638e5aecd30d9c2c9ab22b1ab9a43331685885ee90ebfda8d2a88da34e4b0b998bd967eed30b309110b9d40b14df75f24a7e9219c7383b542602869ee1a12d9 SHA512 3750fc9c5309baa7627d00a77b4b2b1e0d755b75841acd0fcee484bc332f1e9ed9c1f33d2f4800777f20ea8849356f39c84167f96b9ebfdd7e479798d62eac06
diff --git a/dev-python/pypy-exe/pypy-exe-7.3.20.ebuild b/dev-python/pypy-exe/pypy-exe-7.3.20.ebuild
deleted file mode 100644
index 6db7039b6c97..000000000000
--- a/dev-python/pypy-exe/pypy-exe-7.3.20.ebuild
+++ /dev/null
@@ -1,189 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit check-reqs pax-utils toolchain-funcs
-
-PYVER=2.7
-PYPY_PV=${PV%_p*}
-
-MY_P=pypy${PYVER}-v${PYPY_PV/_}
-PATCHSET="pypy${PYVER}-gentoo-patches-${PV/_}"
-
-DESCRIPTION="PyPy executable (build from source)"
-HOMEPAGE="
- https://pypy.org/
- https://github.com/pypy/pypy/
-"
-SRC_URI="
- https://downloads.python.org/pypy/${MY_P}-src.tar.bz2
- https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
- https://distfiles.gentoo.org/pub/proj/python/patchsets/pypy${PYVER}/${PATCHSET}.tar.xz
-"
-S="${WORKDIR}/${MY_P}-src"
-
-LICENSE="MIT"
-SLOT="${PYPY_PV}"
-KEYWORDS="amd64 ~arm64 x86"
-IUSE="bzip2 +jit low-memory ncurses cpu_flags_x86_sse2"
-
-DEPEND="
- >=virtual/zlib-1.1.3:=
- dev-libs/libffi:0=
- virtual/libintl:0=
- dev-libs/expat:0=
- bzip2? ( app-arch/bzip2:0= )
- ncurses? ( sys-libs/ncurses:0= )
-"
-RDEPEND="
- ${DEPEND}
- !dev-python/pypy-exe-bin:${PYPY_PV}
-"
-# don't enforce the dep on dev-python/pypy with USE=low-memory
-# since it's going to cause circular dep with unhelpful error message
-BDEPEND="
- !low-memory? (
- || (
- dev-lang/pypy:2.7
- dev-python/pypy
- dev-lang/python:2.7
- )
- )
-"
-
-check_env() {
- if ! has_version -b dev-lang/pypy:2.7 &&
- ! has_version -b dev-python/pypy
- then
- if use low-memory; then
- eerror "USE=low-memory requires (a prior version of) dev-python/pypy"
- eerror "installed."
- else
- ewarn "CPython 2.7 will be used to perform the translation. Upstream"
- ewarn "recommends using (a prior version of) dev-python/pypy instead."
- fi
- elog "You can install a prebuilt version of PyPy first using e.g.:"
- elog " $ emerge -1v dev-python/pypy dev-python/pypy-exe-bin"
-
- if use low-memory; then
- die "dev-python/pypy needs to be installed for USE=low-memory"
- fi
- fi
-
- if use low-memory; then
- CHECKREQS_MEMORY="1750M"
- use amd64 && CHECKREQS_MEMORY="3500M"
- else
- CHECKREQS_MEMORY="3G"
- use amd64 && CHECKREQS_MEMORY="6G"
- fi
-
- check-reqs_pkg_pretend
-}
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && check_env
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && check_env
-}
-
-src_prepare() {
- local PATCHES=(
- "${WORKDIR}/${PATCHSET}"
- )
- default
-}
-
-src_configure() {
- tc-export CC
-
- local jit_backend
- if use jit; then
- jit_backend='--jit-backend='
-
- # We only need the explicit sse2 switch for x86.
- # On other arches we can rely on autodetection which uses
- # compiler macros. Plus, --jit-backend= doesn't accept all
- # the modern values...
-
- if use x86; then
- if use cpu_flags_x86_sse2; then
- jit_backend+=x86
- else
- jit_backend+=x86-without-sse2
- fi
- else
- jit_backend+=auto
- fi
- fi
-
- local args=(
- --no-shared
- $(usex jit -Ojit -O2)
-
- ${jit_backend}
-
- pypy/goal/targetpypystandalone
- )
-
- # Avoid linking against libraries disabled by use flags
- local opts=(
- bzip2:bz2
- ncurses:_minimal_curses
- )
-
- local opt
- for opt in "${opts[@]}"; do
- local flag=${opt%:*}
- local mod=${opt#*:}
-
- args+=(
- $(usex ${flag} --withmod --withoutmod)-${mod}
- )
- done
-
- local interp
- if use low-memory ||
- has_version -b dev-lang/pypy:2.7 ||
- has_version -b dev-python/pypy
- then
- einfo "Using already-installed PyPy to perform the translation."
- interp=( pypy )
- if use low-memory; then
- local -x PYPY_GC_MAX_DELTA=200MB
- interp+=( --jit loop_longevity=300 )
- fi
- else
- einfo "Using CPython 2.7 to perform the translation."
- interp=( python2.7 )
-
- # reuse bundled pycparser to avoid external dep
- mkdir -p "${T}"/pymod/cffi || die
- : > "${T}"/pymod/cffi/__init__.py || die
- cp -r lib_pypy/cffi/_pycparser "${T}"/pymod/cffi/ || die
- local -x PYTHONPATH=${T}/pymod:${PYTHONPATH}
- fi
-
- # translate into the C sources
- # we're going to build them ourselves since otherwise pypy does not
- # free up the unneeded memory before spawning the compiler
- set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
- echo -e "\033[1m${@}\033[0m"
- "${@}" || die "translation failed"
-}
-
-src_compile() {
- emake -C "${T}"/usession*-0/testing_1
-}
-
-src_install() {
- local dest=/usr/lib/pypy${PYVER}
- exeinto "${dest}"
- newexe "${T}"/usession*-0/testing_1/pypy-c pypy-c-${PYPY_PV}
- insinto "${dest}"/include/${PYPY_PV}
- doins include/pypy_*
- pax-mark m "${ED}${dest}/pypy-c-${PYPY_PV}"
-}
diff --git a/dev-python/pypy-exe/pypy-exe-7.3.22.ebuild b/dev-python/pypy-exe/pypy-exe-7.3.22.ebuild
index be5539ebfca9..d94134eda1e1 100644
--- a/dev-python/pypy-exe/pypy-exe-7.3.22.ebuild
+++ b/dev-python/pypy-exe/pypy-exe-7.3.22.ebuild
@@ -25,7 +25,7 @@ S="${WORKDIR}/${MY_P}-src"
LICENSE="MIT"
SLOT="${PYPY_PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm64 ~ppc64 x86"
IUSE="bzip2 +jit low-memory ncurses cpu_flags_x86_sse2"
DEPEND="
diff --git a/dev-python/pyqt6-sip/Manifest b/dev-python/pyqt6-sip/Manifest
index cc6231166f62..5dda22dfe105 100644
--- a/dev-python/pyqt6-sip/Manifest
+++ b/dev-python/pyqt6-sip/Manifest
@@ -1,2 +1 @@
-DIST pyqt6_sip-13.11.0.tar.gz 92509 BLAKE2B 8dbcaabd85a0286dbd9ded7e5f98aa970eaabb0d1282c8d2fd6f0bb640124c0e6e0736d778e14922f92b80f95f92b2e3fc3d58ecc115c281f31614ab9189a467 SHA512 4432ac7fe4e6a8943e4bcd0637b7e8453b3124476f703fc530a5d0eb499d218ccd9886d136ea18e4e078313bd4accf8d239ad865ae05d6ba47c811de40283737
DIST pyqt6_sip-13.11.1.tar.gz 92574 BLAKE2B 36f5f32d250545af70e0666c167e4b51be01ca49a909391c3c9c8e1b57858949da7974a0730a7443f8e67b53dc24123204857d16d42d3862ddf985220cc74c93 SHA512 9697ae8a1b2dd8edb41642da2db30a5bb90886dc71033345aa1f12ca52f2a2784b8f181be65fd953adfdc9482c59c32a8c14f3334b0c242cdf10cf3bdf08d336
diff --git a/dev-python/pyqt6-sip/pyqt6-sip-13.11.0.ebuild b/dev-python/pyqt6-sip/pyqt6-sip-13.11.0.ebuild
deleted file mode 100644
index 030dcc8529d3..000000000000
--- a/dev-python/pyqt6-sip/pyqt6-sip-13.11.0.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 2022-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-# keep compat in sync with pyqt6 or else it confuses some revdeps
-PYTHON_COMPAT=( python3_{13..14} )
-inherit distutils-r1 pypi
-
-DESCRIPTION="sip module support for PyQt6"
-HOMEPAGE="https://pypi.org/project/PyQt6-sip/"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86"
diff --git a/dev-python/pyqt6-webengine/pyqt6-webengine-6.11.0.ebuild b/dev-python/pyqt6-webengine/pyqt6-webengine-6.11.0.ebuild
index 0044e4bb7fcc..32cb2358a1c6 100644
--- a/dev-python/pyqt6-webengine/pyqt6-webengine-6.11.0.ebuild
+++ b/dev-python/pyqt6-webengine/pyqt6-webengine-6.11.0.ebuild
@@ -15,7 +15,7 @@ HOMEPAGE="https://www.riverbankcomputing.com/software/pyqtwebengine/"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~arm64"
+KEYWORDS="amd64 arm64"
IUSE="debug quick +widgets"
RDEPEND="
diff --git a/dev-python/pyqt6/Manifest b/dev-python/pyqt6/Manifest
index c85b984cf329..c476c79a7336 100644
--- a/dev-python/pyqt6/Manifest
+++ b/dev-python/pyqt6/Manifest
@@ -1,3 +1,2 @@
-DIST pyqt6-6.10.1.tar.gz 1085250 BLAKE2B cebdae9fc19c9e07cb9ce8963f04aa380a81f78ed6026e863a6d37c02e46b44200aa3ed2afcaac234f3b3993ead9c1a2a97655ff7c65760705abace2603574d9 SHA512 af9bb54b20fd177cf1dac5fe8fb0ff289e1e7e42716d09093d49dd99a7d8065c6b6f34784ed19e21e7e07ba0d550b270cb6be7273f7180e2bf886160fc773d01
DIST pyqt6-6.10.2.tar.gz 1085573 BLAKE2B 7ff8427cb7616817023e7040a410e51cd22ff3f3cf1e5daa1d557fcc35df65052e439b4ed7411ad3b05976b2b4438b2869e3ec6d905f3ebfa4dda71a9aad3d16 SHA512 d58515d181530fdd71edc3edfa0b647a3aeeb56cbc33f4d7fd0d40a7a99d52298ac5bb4438b5dadea5439759e52cc459e601f1fab5d9afdd61f2a492d0bae1ef
DIST pyqt6-6.11.0.tar.gz 1087430 BLAKE2B ecc40adaa80516795b35b3708adfb8114a9e528b08a62fdcb68b85aa14a473dbd6ed5a99ae02a1108deac2f7dacec9170c113575bbaa9642dda3b71f2807fa2e SHA512 41f5f1f33eb2120d4966775455c63cdfeb8375dd268d330f163b6a76928a958b9cf53a6bad3050d819b9deadaa2118f194a84c19e518c9d75db34a146aa52366
diff --git a/dev-python/pyqt6/pyqt6-6.10.1.ebuild b/dev-python/pyqt6/pyqt6-6.10.1.ebuild
deleted file mode 100644
index 26dd4914304a..000000000000
--- a/dev-python/pyqt6/pyqt6-6.10.1.ebuild
+++ /dev/null
@@ -1,193 +0,0 @@
-# Copyright 2022-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=sip
-PYTHON_COMPAT=( python3_{13..14} )
-inherit distutils-r1 flag-o-matic multiprocessing pypi qmake-utils
-
-# can work with older Qt depending on the features the ebuild enables,
-# but a same major.minor version lower bound is simpler to manage/test
-QT_PV=$(ver_cut 1-2):6
-
-DESCRIPTION="Python bindings for the Qt framework"
-HOMEPAGE="https://www.riverbankcomputing.com/software/pyqt/"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86"
-# defaults match what is provided with qtbase by default (except testlib),
-# reduces the need to set flags but does increase build time a fair amount
-IUSE="
- +X bluetooth +dbus debug designer examples gles2-only +gui help
- multimedia +network nfc opengl pdfium positioning +printsupport
- qml quick quick3d remoteobjects scxml serialport sensors
- spatialaudio speech +sql +ssl svg testlib webchannel websockets
- vulkan wayland +widgets +xml
-"
-# see `grep -r "%Import " sip` and `grep qmake_QT project.py`
-REQUIRED_USE="
- designer? ( gui widgets )
- help? ( gui widgets )
- multimedia? ( gui network )
- opengl? ( gui )
- pdfium? ( gui )
- printsupport? ( gui widgets )
- qml? ( network )
- quick3d? ( gui qml )
- quick? ( gui qml )
- remoteobjects? ( network )
- scxml? ( gui )
- spatialaudio? ( multimedia )
- sql? ( widgets )
- svg? ( gui )
- testlib? ( gui widgets )
- vulkan? ( gui )
- webchannel? ( network )
- websockets? ( network )
- widgets? ( gui )
-"
-
-# may use qt private symbols wrt qtbase's :=
-# non-trivially broken with Qt6.8 wrt upper bound, waiting for PyQt6-6.8.0
-COMMON_DEPEND="
- >=dev-qt/qtbase-${QT_PV}=[X?,dbus?,gles2-only=,gui?,network?,opengl?,sql?,ssl=,vulkan?,wayland?,widgets?,xml?]
- bluetooth? ( >=dev-qt/qtconnectivity-${QT_PV}[bluetooth] )
- dbus? (
- dev-python/dbus-python[${PYTHON_USEDEP}]
- sys-apps/dbus
- )
- designer? ( >=dev-qt/qttools-${QT_PV}[designer] )
- help? ( >=dev-qt/qttools-${QT_PV}[assistant] )
- multimedia? ( >=dev-qt/qtmultimedia-${QT_PV} )
- nfc? ( >=dev-qt/qtconnectivity-${QT_PV}[nfc] )
- opengl? (
- gles2-only? ( media-libs/libglvnd )
- )
- pdfium? ( >=dev-qt/qtwebengine-${QT_PV}[pdfium,widgets?] )
- positioning? ( >=dev-qt/qtpositioning-${QT_PV} )
- qml? ( >=dev-qt/qtdeclarative-${QT_PV}[widgets?] )
- quick3d? ( >=dev-qt/qtquick3d-${QT_PV} )
- quick? ( >=dev-qt/qtdeclarative-${QT_PV}[opengl] )
- remoteobjects? ( >=dev-qt/qtremoteobjects-${QT_PV} )
- scxml? ( >=dev-qt/qtscxml-${QT_PV} )
- sensors? ( >=dev-qt/qtsensors-${QT_PV} )
- serialport? ( >=dev-qt/qtserialport-${QT_PV} )
- speech? (
- >=dev-qt/qtdeclarative-${QT_PV}
- >=dev-qt/qtspeech-${QT_PV}
- )
- svg? ( >=dev-qt/qtsvg-${QT_PV} )
- webchannel? ( >=dev-qt/qtwebchannel-${QT_PV} )
- websockets? ( >=dev-qt/qtwebsockets-${QT_PV} )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- >=dev-python/pyqt6-sip-13.8[${PYTHON_USEDEP}]
-"
-DEPEND="
- ${COMMON_DEPEND}
- vulkan? ( dev-util/vulkan-headers )
-"
-BDEPEND="
- >=dev-python/pyqt-builder-1.19[${PYTHON_USEDEP}]
- >=dev-python/sip-6.13.1[${PYTHON_USEDEP}]
- >=dev-qt/qtbase-${QT_PV}
- dbus? ( virtual/pkgconfig )
-"
-
-src_prepare() {
- default
-
- # hack: PyQt-builder runs qmake without our arguments and calls g++
- # or clang++ depending on what qtbase was built with, not used for
- # building but fails with -native-symlinks
- mkdir "${T}"/cxx || die
- local cxx
- ! cxx=$(type -P "${CHOST}"-g++) || ln -s -- "${cxx}" "${T}"/cxx/g++ || die
- ! cxx=$(type -P "${CHOST}"-clang++) || ln -s -- "${cxx}" "${T}"/cxx/clang++ || die
- PATH=${T}/cxx:${PATH}
-}
-
-python_configure_all() {
- append-cxxflags -std=c++17 # for old gcc / clang that use <17 (bug #892331)
- append-cxxflags ${CPPFLAGS} # respect CPPFLAGS notably for DISTUTILS_EXT=1
-
- pyqt_use_enable() {
- local state=$(usex ${1} --enable= --disable=)
- shift
- echo ${*/#/${state}}
- }
-
- DISTUTILS_ARGS=(
- --jobs="$(makeopts_jobs)"
- --qmake="$(qt6_get_bindir)"/qmake
- --qmake-setting="$(qt6_get_qmake_args)"
- --verbose
- --confirm-license
-
- --enable=QtCore
-
- $(pyqt_use_enable bluetooth QtBluetooth)
- $(pyqt_use_enable dbus QtDBus)
- $(pyqt_use_enable designer QtDesigner)
- $(pyqt_use_enable help QtHelp)
- $(pyqt_use_enable gui QtGui)
- #--disable=QtLocation # force-disabled in project.py
- $(pyqt_use_enable multimedia QtMultimedia \
- $(usev widgets QtMultimediaWidgets))
- $(pyqt_use_enable network QtNetwork)
- $(pyqt_use_enable nfc QtNfc)
- $(pyqt_use_enable opengl QtOpenGL \
- $(usev widgets QtOpenGLWidgets))
- $(pyqt_use_enable pdfium QtPdf \
- $(usev widgets QtPdfWidgets))
- $(pyqt_use_enable positioning QtPositioning)
- $(pyqt_use_enable printsupport QtPrintSupport)
- $(pyqt_use_enable qml QtQml)
- $(pyqt_use_enable quick QtQuick \
- $(usev widgets QtQuickWidgets))
- $(pyqt_use_enable quick3d QtQuick3D)
- $(pyqt_use_enable remoteobjects QtRemoteObjects)
- $(pyqt_use_enable scxml QtStateMachine)
- $(pyqt_use_enable sensors QtSensors)
- $(pyqt_use_enable serialport QtSerialPort)
- $(pyqt_use_enable spatialaudio QtSpatialAudio)
- $(pyqt_use_enable sql QtSql)
- $(pyqt_use_enable svg QtSvg \
- $(usev widgets QtSvgWidgets))
- $(pyqt_use_enable testlib QtTest)
- $(pyqt_use_enable speech QtTextToSpeech)
- $(pyqt_use_enable webchannel QtWebChannel)
- $(pyqt_use_enable websockets QtWebSockets)
- $(pyqt_use_enable widgets QtWidgets)
- $(pyqt_use_enable xml QtXml)
-
- $(usev debug '--debug --qml-debug --tracing')
-
- $(usev !dbus --no-dbus-python)
- # note: upstream currently intentionally skips installing these two
- # plugins when using wheels w/ pep517 so, *if* something does need
- # them, it will need to be handled manually
- $(usev !designer --no-designer-plugin)
- $(usev !qml --no-qml-plugin)
-
- $(usev !X --disabled-feature=PyQt_XCB)
- $(usev !gles2-only --disabled-feature=PyQt_OpenGL_ES2)
- $(usev !opengl --disabled-feature=PyQt_OpenGL)
- $(usev !ssl --disabled-feature=PyQt_SSL)
- $(usev !vulkan --disabled-feature=PyQt_Vulkan)
- $(usev !wayland --disabled-feature=PyQt_Wayland)
-
- # intended for Windows / Android or others
- --disable=QAxContainer
- --disabled-feature=PyQt_Permissions
- )
-}
-
-python_install_all() {
- einstalldocs
- use examples && dodoc -r examples
-}
diff --git a/dev-python/pyqt6/pyqt6-6.11.0.ebuild b/dev-python/pyqt6/pyqt6-6.11.0.ebuild
index b119d5512ce6..4c118034a1c2 100644
--- a/dev-python/pyqt6/pyqt6-6.11.0.ebuild
+++ b/dev-python/pyqt6/pyqt6-6.11.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="https://www.riverbankcomputing.com/software/pyqt/"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86"
# defaults match what is provided with qtbase by default (except testlib),
# reduces the need to set flags but does increase build time a fair amount
IUSE="
diff --git a/dev-python/pyrate-limiter/Manifest b/dev-python/pyrate-limiter/Manifest
index a40ffccb844f..d78db3f2241e 100644
--- a/dev-python/pyrate-limiter/Manifest
+++ b/dev-python/pyrate-limiter/Manifest
@@ -1,4 +1,6 @@
-DIST pyrate_limiter-4.1.0.tar.gz 306136 BLAKE2B ca1231e7033f755b60f03439a9cc023df0333c4bfef30632743530c6fc1679c9b3696580c44c83988829f21091bb46f1d1aa6d6384fe0ede95073b64cd94a2a9 SHA512 3ffae7a8412989d37ca4ac3f30e3ca7cd44f8491537767094205c22594bd5ce543c861712929cd618f73b047260148be02d160cc44f03f92788a6209a82ed3c8
-DIST pyrate_limiter-4.1.0.tar.gz.provenance 9604 BLAKE2B eb99bcf9e09d32392ece5bd072897850af7cc9b3d420e0bb1db4ce5c3a8f9e1a4e6f2fbcd7a97311df21cfaa7d1a885f6cf94fdff9d5d41f4fce71b1275c0bb6 SHA512 ef23e57f7fe5abf2d9c191088b51e9f25e7adc720e3dfe6db1aa2d701619a97b3917766c22798b1ec8eacb4e3ffc58c6fe667088979e7bab4d73b86b1214ca8c
DIST pyrate_limiter-4.2.0.tar.gz 306505 BLAKE2B d0c74f31689f150c9b3b8cdddc51b999d37d326f6ddf14d15c61ee1e5fef660abe1de960375ef3895a4dd79ba62c3579de0f9c260ac885fa6615bcca498d696d SHA512 16780a32f12cb9ce793fb048df7a94399817f43b6ab641ed2c3f20627985a49fa573fa732bed0a82df7838959218db4e37ae75f5837ee0110131fc638eff33e8
DIST pyrate_limiter-4.2.0.tar.gz.provenance 9813 BLAKE2B a1e46defe4be197c470066b1099b362fdec0d01eedaecf2f1ab91d9373bfae30ee76a5aa0b7af003bf4d10a117aa94b3b8e179563f3839c66d4ef1e0e8b70548 SHA512 58e982e22d08be90d6a51a5d4ddd47aaa2bb53691ca60ae1fbccc8212321edc0a2064a3be1369d9d6bd75c9aea15b94fe17f0c0c83b5c30594057c8609673974
+DIST pyrate_limiter-4.3.1.tar.gz 82959 BLAKE2B 273f2d0eb5c1eafec2b441a7dd02f187c5663dd5915a349cd6dc2ff0550172d9f1353cc031f6d8161e22d7699a73127d498ab0465da98e9b8dfb858348a0b1d7 SHA512 5b390e3493831b08881013ec5e686115b400e8afe896c3f35dd196677a7b8600a25a041cc7f5dcb5521d55e355dcb168920b56e3569ff37c9cca15f970fc1f0a
+DIST pyrate_limiter-4.3.1.tar.gz.provenance 9954 BLAKE2B c877547263725e87c34f5036f207b8440dad55ef7427b0e042e4bfe36db2283d82636b0c0272b87f58e1c85a6d2c2592fe198647eec8b2595e21b96b901b7aec SHA512 47c4bcd4f64a6dc01d64c7855f7862f57a9e9f229e4473f7d533c04d95ea463ec8c4e16f3b8c6c8e19dcc90e9171816e3aec5c49e429b50e43b1f82cff83ae0a
+DIST pyrate_limiter-4.4.0.tar.gz 90955 BLAKE2B 1ba672f860f6cd7f537a6e0c67bdaa619c1ef4e3b0d074b0e6c6c2c6aa64471af9eb4f035a17393bd580fd2003060c65a5b51b0aab370cc059d63243d325f588 SHA512 e4b6d63ebaec949c154f117ab30d04e3b94cb4b771299a08ba8bad1bd92ed004ceb89c352c66914c9fb8ae29dbe33b8ef5103a74d174dc83398a45f733ac5f84
+DIST pyrate_limiter-4.4.0.tar.gz.provenance 9907 BLAKE2B 44623ed73e9c1d358712fc5df80a87952572a3a9c86dc7beb34d6a873aef69c802891ba5d541bb14ffc6a75346f387df34292103f34329b42f09b4d4fb8e06f0 SHA512 4904cb915dfc2120b53554620a7e033ee35e84ff61cd84433e01d28bb0edcd9c854d49dc19a765f5a20fb69555f70bfed8e8b0b2da874f07d38c8a6eae1084e4
diff --git a/dev-python/pyrate-limiter/pyrate-limiter-4.1.0.ebuild b/dev-python/pyrate-limiter/pyrate-limiter-4.3.1.ebuild
index 252b3bdb277d..252b3bdb277d 100644
--- a/dev-python/pyrate-limiter/pyrate-limiter-4.1.0.ebuild
+++ b/dev-python/pyrate-limiter/pyrate-limiter-4.3.1.ebuild
diff --git a/dev-python/pyrate-limiter/pyrate-limiter-4.4.0.ebuild b/dev-python/pyrate-limiter/pyrate-limiter-4.4.0.ebuild
new file mode 100644
index 000000000000..a3c01e5b9b2c
--- /dev/null
+++ b/dev-python/pyrate-limiter/pyrate-limiter-4.4.0.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/vutran1710/PyrateLimiter
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python Rate-Limiter using Leaky-Bucket Algorimth Family"
+HOMEPAGE="
+ https://github.com/vutran1710/PyrateLimiter/
+ https://pypi.org/project/pyrate-limiter/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/redis[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-db/redis
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # Optional dependency redis-py-cluster not packaged
+ "tests/test_02.py::test_redis_cluster"
+)
+
+EPYTEST_PLUGINS=( pytest-{asyncio,rerunfailures} )
+EPYTEST_RERUNS=5
+: "${EPYTEST_TIMEOUT:=60}"
+EPYTEST_XDIST=1
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-autodoc-typehints \
+ dev-python/sphinx-copybutton \
+ dev-python/furo \
+ dev-python/myst-parser \
+ dev-python/sphinxcontrib-apidoc \
+ dev-python/sphinxcontrib-mermaid
+distutils_enable_tests pytest
+
+src_test() {
+ local redis_pid="${T}"/redis.pid
+ local redis_port=6379
+
+ # Spawn Redis itself for testing purposes
+ einfo "Spawning Redis"
+ einfo "NOTE: Port ${redis_port} must be free"
+ "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server"
+ daemonize yes
+ pidfile ${redis_pid}
+ port ${redis_port}
+ bind 127.0.0.1 ::1
+ ${extra_conf}
+ EOF
+
+ # Run the tests
+ distutils-r1_src_test
+
+ # Clean up afterwards
+ kill "$(<"${redis_pid}")" || die
+}
+
+python_test() {
+ # postgres tests require psycopg-pool
+ epytest -k "not postgres"
+}
diff --git a/dev-python/pyside/pyside-6.11.1-r1.ebuild b/dev-python/pyside/pyside-6.11.1-r1.ebuild
index 02c5cf55b5df..d61b3519a06f 100644
--- a/dev-python/pyside/pyside-6.11.1-r1.ebuild
+++ b/dev-python/pyside/pyside-6.11.1-r1.ebuild
@@ -32,7 +32,7 @@ if [[ ${PV} == *.9999 ]]; then
else
SRC_URI="https://download.qt.io/official_releases/QtForPython/${PN}6/PySide6-${PV}-src/${MY_P}.tar.xz"
S="${WORKDIR}/${MY_P}"
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+ KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv ~x86"
fi
LICENSE="|| ( GPL-2 GPL-3 LGPL-3 )"
diff --git a/dev-python/pysmi/Manifest b/dev-python/pysmi/Manifest
index 799e46c076f1..ab63b8fb9eef 100644
--- a/dev-python/pysmi/Manifest
+++ b/dev-python/pysmi/Manifest
@@ -1,2 +1 @@
-DIST pysmi-1.6.3.gh.tar.gz 190769 BLAKE2B bf15c93dc1a8f1eb7bf9c1e2cafb179b5c38e74c22cebcd92607e23f65668bcd6890004f50c34b0a50fecff691a614ecad85adf9b74deb7d30bf783098be1806 SHA512 879d4f3ab087c8b41349f9304b09082612a112a00fca13ff121a4bbe4ec034f1d33f7b394703f8e1216e311fdcd40085fd75294d1a8248b33975eff59a228ab0
DIST pysmi-2.0.0.gh.tar.gz 187481 BLAKE2B a3445c81b351282a2431a6c305f55df82e409af2c9341a7dba37c906edf291b06c025a4edb72a37e32e5566f0a5e07c9a3d98efe0d6e2da1009676e686341104 SHA512 34db8ad62fd8951948b123448bc3fbdb3b40c515c5a5de5034968137207b5e4b5016d7e02d3fa5f9cb39f10b631ae6fc76b3e26871e4d86370935445b67c7f79
diff --git a/dev-python/pysmi/pysmi-1.6.3-r1.ebuild b/dev-python/pysmi/pysmi-1.6.3-r1.ebuild
deleted file mode 100644
index d3a96509b2f3..000000000000
--- a/dev-python/pysmi/pysmi-1.6.3-r1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2017-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Pure-Python implementation of SNMP/SMI MIB parsing and conversion library"
-HOMEPAGE="
- https://github.com/lextudio/pysmi/
- https://pypi.org/project/pysmi/
-"
-# 1.6.1 removed tests
-SRC_URI="
- https://github.com/lextudio/pysmi/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc ~sparc x86"
-
-RDEPEND="
- >=dev-python/jinja2-3.1.3[${PYTHON_USEDEP}]
- >=dev-python/ply-3.11[${PYTHON_USEDEP}]
- >=dev-python/requests-2.26.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/pysnmp-7.1.16[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # incompatibility with pysnmp >= 7
- tests/test_objecttype_smiv2_pysnmp.py::ObjectTypeBitsTestCase::testObjectTypeSyntax
-)
diff --git a/dev-python/pysmi/pysmi-1.6.3.ebuild b/dev-python/pysmi/pysmi-1.6.3.ebuild
deleted file mode 100644
index d3a96509b2f3..000000000000
--- a/dev-python/pysmi/pysmi-1.6.3.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2017-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Pure-Python implementation of SNMP/SMI MIB parsing and conversion library"
-HOMEPAGE="
- https://github.com/lextudio/pysmi/
- https://pypi.org/project/pysmi/
-"
-# 1.6.1 removed tests
-SRC_URI="
- https://github.com/lextudio/pysmi/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc ~sparc x86"
-
-RDEPEND="
- >=dev-python/jinja2-3.1.3[${PYTHON_USEDEP}]
- >=dev-python/ply-3.11[${PYTHON_USEDEP}]
- >=dev-python/requests-2.26.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/pysnmp-7.1.16[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # incompatibility with pysnmp >= 7
- tests/test_objecttype_smiv2_pysnmp.py::ObjectTypeBitsTestCase::testObjectTypeSyntax
-)
diff --git a/dev-python/pysmi/pysmi-2.0.0.ebuild b/dev-python/pysmi/pysmi-2.0.0.ebuild
index 335d69443f98..e35b14d9b9ab 100644
--- a/dev-python/pysmi/pysmi-2.0.0.ebuild
+++ b/dev-python/pysmi/pysmi-2.0.0.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~sparc ~x86"
+KEYWORDS="amd64 ~arm arm64 ppc ~sparc x86"
RDEPEND="
>=dev-python/jinja2-3.1.3[${PYTHON_USEDEP}]
diff --git a/dev-python/pysnmp/Manifest b/dev-python/pysnmp/Manifest
index 4c81606d0590..e85b42f7a472 100644
--- a/dev-python/pysnmp/Manifest
+++ b/dev-python/pysnmp/Manifest
@@ -1,3 +1,2 @@
-DIST pysnmp-7.1.25.gh.tar.gz 474626 BLAKE2B 719dc01aed012e29f45fa13c1e4132fe2dfff6a9e852c36d990ee184555ef61067ca626bfb5836b8cd255cc40452e929808002dcc7277d4018f9b09a6bcb136b SHA512 ec6ae8f19e8ee242e36cd1c2fa28c03eb3526b76dd4d7226bc21f63f4b645342c22e66d88880f2083b8a11e8721df50e29ef73329374304349e9c9af0d4a9996
DIST pysnmp-7.1.26.gh.tar.gz 474653 BLAKE2B b5a501dde4f9b528cdda7072b04903b52ea8f4428c7efde683ae009add053aefa8bbcfa95bf694f55dfbe69dc770be3fa31a89250061c1b4745360c17e6e54cd SHA512 10f1420e76ebb5388668b34f9e9107e33d02568b9c327278d2bee4de054677967eccd36efcf93d9a6f7f33a3442a1daf9445e33dd372987ab44c2f56b94c33f6
DIST pysnmp-7.1.27.gh.tar.gz 476101 BLAKE2B 37c7e51ad115b0c166cc2f84ddcbaab965ecf2db16dd464be56e3acf214ef3089a3586d49e6765528a8ff8298a08adb495898cfa8fff2e4922e5d1d6b219c0ba SHA512 0e9f720e5c097692466f03e3c28aea1a8686c8061a46e08014bedca1de1a505c1fb74b8876241386e93cbc5aeefae5668fef7d64e201e76961d0ff90f4c84e1a
diff --git a/dev-python/pysnmp/pysnmp-7.1.25.ebuild b/dev-python/pysnmp/pysnmp-7.1.25.ebuild
deleted file mode 100644
index 3c41ce669089..000000000000
--- a/dev-python/pysnmp/pysnmp-7.1.25.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python SNMP library"
-HOMEPAGE="
- https://pypi.org/project/pysnmp/
- https://github.com/lextudio/pysnmp/
-"
-SRC_URI="
- https://github.com/lextudio/pysnmp/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc ~sparc x86"
-PROPERTIES="test_network"
-RESTRICT="test"
-
-RDEPEND="
- >=dev-python/cryptography-43.0.1[${PYTHON_USEDEP}]
- >=dev-python/pyasn1-0.6.3[${PYTHON_USEDEP}]
- >=dev-python/pysmi-1.5.7[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=( pytest-{asyncio,rerunfailures} )
-# flaky because of timeouts
-EPYTEST_RERUNFAILURES=5
-distutils_enable_tests pytest
-# TODO
-# distutils_enable_sphinx docs/source dev-python/furo dev-python/sphinx-copybutton dev-python/sphinx-sitemap
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- tests/smi/manager/test_mib-tree-inspection.py::test_getNodeName_by_symbol_description_with_module_name_2
- )
-
- mibdump CISCO-ENHANCED-IPSEC-FLOW-MIB.py || die
- mibdump LEXTUDIO-TEST-MIB || die
- mibdump NET-SNMP-EXAMPLES-MIB || die
- mibdump IF-MIB || die
- epytest
-}
diff --git a/dev-python/pysnmp/pysnmp-7.1.26.ebuild b/dev-python/pysnmp/pysnmp-7.1.26.ebuild
index e15b406dd439..6a845433f798 100644
--- a/dev-python/pysnmp/pysnmp-7.1.26.ebuild
+++ b/dev-python/pysnmp/pysnmp-7.1.26.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~sparc ~x86"
+KEYWORDS="amd64 ~arm arm64 ppc ~sparc x86"
PROPERTIES="test_network"
RESTRICT="test"
diff --git a/dev-python/pytest-aiohttp/Manifest b/dev-python/pytest-aiohttp/Manifest
index b8183d664787..be12587af088 100644
--- a/dev-python/pytest-aiohttp/Manifest
+++ b/dev-python/pytest-aiohttp/Manifest
@@ -1 +1,2 @@
DIST pytest_aiohttp-1.1.0.tar.gz 12842 BLAKE2B 96a9164d041e417a9176aba97ade3eb22a58ec7042de38745956b0a9525389f1615b626cf014d86df78491b948f7f6820b25dceb58937b674d2ca33aa534e38c SHA512 891a379535f1ecc9e74282d813cfc11b74c79c852d08e94942e1bb29c0eafecdce73ffbf6aefce24c37315c502bdfe0861bc97b6be1489dd3dd59b2aa215f4e8
+DIST pytest_aiohttp-1.1.1.tar.gz 13704 BLAKE2B f0f893b21f0e5782775129839d6889ca23036b6f92b8012135a1fa49a3c0af76600d571e08c94b49d280407337e69e85d749cd3c8b16082a8336e1c0f8d5372e SHA512 d45f4e1116569c80c01b502871fbf38bfc9f6935feb30cd58e7631cde44231350b5849d508a8a6ebd44611203034aea95583bbaf0e39d834ca76531c1acce8c2
diff --git a/dev-python/pytest-aiohttp/pytest-aiohttp-1.1.1.ebuild b/dev-python/pytest-aiohttp/pytest-aiohttp-1.1.1.ebuild
new file mode 100644
index 000000000000..87471480857b
--- /dev/null
+++ b/dev-python/pytest-aiohttp/pytest-aiohttp-1.1.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="pytest plugin for aiohttp support"
+HOMEPAGE="
+ https://github.com/aio-libs/pytest-aiohttp/
+ https://pypi.org/project/pytest-aiohttp/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/aiohttp-3.11.0_beta1[${PYTHON_USEDEP}]
+ >=dev-python/pytest-6.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-asyncio-0.17.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-6.2[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( "${PN}" pytest-asyncio )
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # warning doesn't seem to be emitted for some reason
+ # doesn't look very important
+ tests/test_obsolete_fixtures.py::test_loop_fixture
+)
diff --git a/dev-python/pytest-asyncio/Manifest b/dev-python/pytest-asyncio/Manifest
index 0df065f40a47..61cffbe57eb8 100644
--- a/dev-python/pytest-asyncio/Manifest
+++ b/dev-python/pytest-asyncio/Manifest
@@ -2,5 +2,3 @@ DIST pytest_asyncio-1.3.0.tar.gz 50087 BLAKE2B 7a7c913cd31c9412947b63ab4fdf67998
DIST pytest_asyncio-1.3.0.tar.gz.provenance 9390 BLAKE2B 3d73af4756ba0860af2ddea485595d6b09fe60c67d21fd5e441bca5e8b66de3dfd21e804283dbfc722d23ad690245bee2f8f620e58a872bdec0641e3c4a1041c SHA512 0e31a7de06316ac6fdd2a9e05325ca3fcdc6bad4837384c3a9b9230720994c1d71ba405c3bb9497c6dbe8c26f05df46e7a5459faef4ef2cbe5898dfd8e2fe4fe
DIST pytest_asyncio-1.4.0.tar.gz 58514 BLAKE2B e6c60b530c04ed7abcdccb83b6048499157950a4759afa8c49ec63e7107102f7343bd282c449a4e7e1788843b382d8dd71d027dc1106f3fffc7e207fd813693a SHA512 29e05011f2f515b0ac517e43936bb853ec3aedc8016cdc3a0e3a97aa1a4b1f2e815db7e79f10d2edb59971a224c92229a1d9354d54f10a7fa9a04474afebd39c
DIST pytest_asyncio-1.4.0.tar.gz.provenance 9588 BLAKE2B 8a85513c6b3a48388db398860b9fef327987eabc51fb8b5b7b462c48e0c9c5b856c45b10346a80af2222996af4b9a53f52a2ca574830753497c05f18c760095a SHA512 8b4bca02b8345e49fee0fd041f72ab040f89062adb05ee20f10df86710f62bed02510ed5e2f9643bddac5153c7dd04109bc6d060e7901204b831bfb9a3c06447
-DIST pytest_asyncio-1.4.0a2.tar.gz 57596 BLAKE2B c7e78fb44dfaa6175130971c08d2f2c7db786d7e9f27c794ef94400ee7140cbaa0bf3530960389da1d6f3fa49915a77478efe5535fb0da20be11e4d3846fcce6 SHA512 7bd28309b4cb0da9e3352145603416a72032d54cab6ce6464783c19e41742c9550bbddb8333cec5fd78ee935b0866427aeb5ccdc55cd24eca05a28a9ea25fb81
-DIST pytest_asyncio-1.4.0a2.tar.gz.provenance 9722 BLAKE2B 2c44a53e0ddefb3b5be15db11d5c5c24eb26343fc0a73d6fe643217fb54d92825c2e72a643329839a4d1e3600855efea0ffa99d5a59247df4e84d85fc202c288 SHA512 b96a9ec255ade5b2c283581877912a85ff33d3c7590f30d47a80b36e442abd2ecfa68cc329ca9b4fb5a3322bc775fdbe62aa1012b57e7ab98c88a23bdb2ddaee
diff --git a/dev-python/pytest-asyncio/pytest-asyncio-1.4.0.ebuild b/dev-python/pytest-asyncio/pytest-asyncio-1.4.0.ebuild
index cec892dc607a..f7d50a56eae2 100644
--- a/dev-python/pytest-asyncio/pytest-asyncio-1.4.0.ebuild
+++ b/dev-python/pytest-asyncio/pytest-asyncio-1.4.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-if [[ ${PV} == *_alpha* ]]; then
+if [[ ${PV} != *_alpha* ]]; then
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
fi
diff --git a/dev-python/pytest-asyncio/pytest-asyncio-1.4.0_alpha2.ebuild b/dev-python/pytest-asyncio/pytest-asyncio-1.4.0_alpha2.ebuild
deleted file mode 100644
index cec892dc607a..000000000000
--- a/dev-python/pytest-asyncio/pytest-asyncio-1.4.0_alpha2.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 2019-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_VERIFY_REPO=https://github.com/pytest-dev/pytest-asyncio
-PYTHON_COMPAT=( python3_{13..14} )
-
-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"
-if [[ ${PV} == *_alpha* ]]; then
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
-fi
-
-RDEPEND="
- >=dev-python/pytest-8.2[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/typing-extensions-4.12[${PYTHON_USEDEP}]
- ' 3.{11..12})
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=( hypothesis "${PN}" )
-EPYTEST_PLUGIN_LOAD_VIA_ENV=1
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # fail due to mismatched warning count
- tests/modes/test_strict_mode.py::test_strict_mode_ignores_unmarked_fixture
- tests/test_event_loop_fixture.py::test_closing_event_loop_in_sync_fixture_teardown_raises_warning
- 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
- # docs often fail randomly over test ordering (xdist)
- docs
- # probably manual plugin loading
- tests/test_set_event_loop.py::test_asyncio_run_after_async_fixture_does_not_leak_loop
-)
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # remove pins
- sed -i -e 's:,<[0-9.]*::' pyproject.toml || die
-}
diff --git a/dev-python/pytest-codeblocks/Manifest b/dev-python/pytest-codeblocks/Manifest
index 2279b509d24b..e9fcbbff47a8 100644
--- a/dev-python/pytest-codeblocks/Manifest
+++ b/dev-python/pytest-codeblocks/Manifest
@@ -1 +1,2 @@
DIST pytest-codeblocks-0.17.0.gh.tar.gz 9104 BLAKE2B 50f6d7cdf0c2d355c91a1a518622f65c4520a4e655d9c6aae64b0ea7697cf2605f37cf070fc9b7c60c2aef655b5a9adacd5acf4dbfbca2ccb8224316733dc269 SHA512 20044f10e997fbe15a8389aebdad324c2b102a11287315c8c85042f5497f51723c030b918f0cd923beb9f0c5b33a41673426a8c550814e1bd8b9b5476dd0dbf5
+DIST pytest-codeblocks-0.18.0.gh.tar.gz 8610 BLAKE2B 0611f571243ed932766ade7b4c6929e3d847496288931bf57db5b9192f6fcb575ba02c1577982f05ee521281cd7a43cce0a0dc9200769875a3f69accc13b5ad7 SHA512 7e5a497b430ca5d38b8c6db0f30c2e1b73e0a4b82cf6269a29f122f75f5184929c5a8058c08bb11faa943a44521097f224a80528f28a47e013efd7b43e454699
diff --git a/dev-python/pytest-codeblocks/pytest-codeblocks-0.18.0.ebuild b/dev-python/pytest-codeblocks/pytest-codeblocks-0.18.0.ebuild
new file mode 100644
index 000000000000..19088134a2f4
--- /dev/null
+++ b/dev-python/pytest-codeblocks/pytest-codeblocks-0.18.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2019-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Extract code blocks from markdown"
+HOMEPAGE="
+ https://github.com/nschloe/pytest-codeblocks/
+ https://pypi.org/project/pytest-codeblocks/
+"
+SRC_URI="
+ https://github.com/nschloe/pytest-codeblocks/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/pytest-7.0.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( "${PN}" )
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -p pytester
+}
diff --git a/dev-python/pytest-custom-exit-code/pytest-custom-exit-code-0.3.0.ebuild b/dev-python/pytest-custom-exit-code/pytest-custom-exit-code-0.3.0.ebuild
index 873d4054f16b..410b0e4f0647 100644
--- a/dev-python/pytest-custom-exit-code/pytest-custom-exit-code-0.3.0.ebuild
+++ b/dev-python/pytest-custom-exit-code/pytest-custom-exit-code-0.3.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023-2025 Gentoo Authors
+# Copyright 2023-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -21,7 +21,7 @@ S="${WORKDIR}/${MY_PN}-${PV}"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
+KEYWORDS="amd64 ~arm64 ~riscv x86"
RDEPEND="
>=dev-python/pytest-7.0.2[${PYTHON_USEDEP}]
diff --git a/dev-python/pytest-describe/Manifest b/dev-python/pytest-describe/Manifest
index 2ae70338c29b..553e32965c5e 100644
--- a/dev-python/pytest-describe/Manifest
+++ b/dev-python/pytest-describe/Manifest
@@ -1,2 +1,4 @@
DIST pytest_describe-3.1.0.tar.gz 9180 BLAKE2B 9bfc8cfe0a31e12d12415d4d57a99849e2f1480e616255ac5cc01a5420e99b79e0591cb1a5dca03699f53c0d868b59932fed567f707673a48f89c1ceb42fb0b1 SHA512 f5e46573767fdfdc00450b7ca9c96462f3895eaf4b633fa00613df50758d011af62dc74db1546d404fcfa746e887ada403db415cdc6ae09f011d1ab3b6e04606
DIST pytest_describe-3.1.0.tar.gz.provenance 9441 BLAKE2B 20122d336bd38df79d51e329183daa06bfdd0fcfc83fe886a8051ef0be95d9edb15d77f8f79d0fe96e33356e976e2c4c58009f5b372800543896efd90e0958a4 SHA512 6a1091fbca66f4bbb3ec85700e87f025014a54ccb90ea1b5fbc5417ea16872fc3636194a936ce051c97fac3a5bcfff5078dff84ab1612e0885a0a3de88573766
+DIST pytest_describe-3.2.0.tar.gz 15042 BLAKE2B 39b201e533744903d6c0d5fbb9b070b85a9da3ed1d66c28469c4adab0629a9fdeeb191fa2a8c94838d2d4f656bb1b17f4243db9be10d1421f9be097fa6498c05 SHA512 8f3cef040f4c24fb12e2af1722e094ad1eb49a136b70ec4978f8bf0d73c5adc56eb4180e26069c7187782d18340947dca5b55ab269481f4a392a2c6ba10397ae
+DIST pytest_describe-3.2.0.tar.gz.provenance 9787 BLAKE2B 11d750ac9fbb3ffa90bdbab58f54b09681ab1f2ec7fd909bbd2b0dfad9df1f7cfc1a6c2b0cebf77f27d513ccd5a45cc805345e6f0125f98b76fc5d4867dcbd7f SHA512 e23acf420f532780bbb32fc08041a116dce11500ef56e9581e64140df7a74786558c7e61cb3af4987f0e4805d96b45c9a7857770828346479d712cc53d18bf38
diff --git a/dev-python/pytest-describe/pytest-describe-3.2.0.ebuild b/dev-python/pytest-describe/pytest-describe-3.2.0.ebuild
new file mode 100644
index 000000000000..c0de51adbbcd
--- /dev/null
+++ b/dev-python/pytest-describe/pytest-describe-3.2.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=uv-build
+PYPI_VERIFY_REPO=https://github.com/pytest-dev/pytest-describe
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Describe-style plugin for pytest"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-describe/
+ https://pypi.org/project/pytest-describe/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+
+RDEPEND="
+ >=dev-python/pytest-7[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
+EPYTEST_PLUGINS=( "${PN}" )
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unpin dependencies
+ sed -i -e 's:,<[0-9]*::' pyproject.toml || die
+}
diff --git a/dev-python/pytest-jobserver/pytest-jobserver-1.1.0.ebuild b/dev-python/pytest-jobserver/pytest-jobserver-1.1.0.ebuild
index f19364db61b2..1f2b5bdb87dc 100644
--- a/dev-python/pytest-jobserver/pytest-jobserver-1.1.0.ebuild
+++ b/dev-python/pytest-jobserver/pytest-jobserver-1.1.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~riscv ~s390 ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ppc ~riscv ~s390 x86"
RDEPEND="
dev-python/pytest[${PYTHON_USEDEP}]
diff --git a/dev-python/pytest-markdown/Manifest b/dev-python/pytest-markdown/Manifest
deleted file mode 100644
index fb3b39898a02..000000000000
--- a/dev-python/pytest-markdown/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pytest_markdown-1.0.2.tar.gz 2991 BLAKE2B 489bd1ccd6060b9588515772ff1f269dc57c328b3695405d0dd755340968899a2b912644e325ce5792528da90e5eac828314dbb9d1396eb34dffe0da04261848 SHA512 a2d5b38982f004a362ec2bda7aec45a6fb9e0b33dfd212647d8eab38fdadf6501b7fec8ad8838b286d81a156429aeb0ad3aa63361a580c2c7528fe19e474a7f6
diff --git a/dev-python/pytest-markdown/metadata.xml b/dev-python/pytest-markdown/metadata.xml
deleted file mode 100644
index 3a8349e6ffc5..000000000000
--- a/dev-python/pytest-markdown/metadata.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <stabilize-allarches />
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/dev-python/pytest-markdown/pytest-markdown-1.0.2-r1.ebuild b/dev-python/pytest-markdown/pytest-markdown-1.0.2-r1.ebuild
deleted file mode 100644
index ea67bd57e600..000000000000
--- a/dev-python/pytest-markdown/pytest-markdown-1.0.2-r1.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{13..14} )
-DISTUTILS_USE_PEP517="poetry"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Run tests in your markdown"
-HOMEPAGE="
- https://github.com/Jc2k/pytest-markdown/
- https://pypi.org/project/pytest-markdown/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~riscv"
-
-RDEPEND=">=dev-python/commonmark-0.9.1[${PYTHON_USEDEP}]
- >=dev-python/pytest-6.0.0[${PYTHON_USEDEP}]"
diff --git a/dev-python/pytest-mpl/Manifest b/dev-python/pytest-mpl/Manifest
index b157c15e79ef..a83b3472799e 100644
--- a/dev-python/pytest-mpl/Manifest
+++ b/dev-python/pytest-mpl/Manifest
@@ -1,2 +1 @@
-DIST pytest-mpl-0.17.0.tar.gz 885613 BLAKE2B d1a6d4551052eeeb7ecbf9722c782796aa74215a3241d1c037fca98972777dd35d7616ec8ef2bd4f00b6428f5dea516243244b61f56ec38d72a4805a75c91a50 SHA512 968397b1d75482729ad73f4844970c3c335c009e689f4163bd5a028c84627455a7d20563e62c6940b27c62229e5744496bec36c2440d402c0aee0a7853550f9b
DIST pytest_mpl-0.19.0.tar.gz 881884 BLAKE2B 4d57155ec3af24572ce7f881ace78e88289fafcfc4edf2e433561d4a20970434cfbb4798aa3ec0c882c939ef32f20a5a5976c62d7e9ddc8c15b608923750fa55 SHA512 fcfd1ba11ff3a6bfec6100893421cba245a259835c823f2c2d2bb472f5a5031e699a1f0ffc5608b245691f95827f411ffc60c8b5c5d4ff33a9642ccd1bfbda80
diff --git a/dev-python/pytest-mpl/pytest-mpl-0.17.0.ebuild b/dev-python/pytest-mpl/pytest-mpl-0.17.0.ebuild
deleted file mode 100644
index abd19c1122af..000000000000
--- a/dev-python/pytest-mpl/pytest-mpl-0.17.0.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2026 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_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Facilitate image comparison for Matplotlib figures"
-HOMEPAGE="
- https://pypi.org/project/pytest-mpl/
- https://github.com/matplotlib/pytest-mpl
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- dev-python/jinja2[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # these tests are pinned to specific output image hashes
- # and none match nowadays
- tests/subtests/test_subtest.py
- tests/test_baseline_path.py::test_config
- tests/test_pytest_mpl.py::test_formats
- tests/test_results_always.py::test_config
- tests/test_use_full_test_name.py::test_config
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=pytest_mpl.plugin
- epytest
-}
diff --git a/dev-python/pytest-order/Manifest b/dev-python/pytest-order/Manifest
index 69891c3c3c28..0b8450f3238e 100644
--- a/dev-python/pytest-order/Manifest
+++ b/dev-python/pytest-order/Manifest
@@ -1,3 +1,4 @@
-DIST pytest_order-1.3.0.tar.gz 47544 BLAKE2B 9f061910babc8f9ffe25180cc3d4c708c97fbd6afd167ce5d937b57977de1694c2be2abf1995ad91d6aa15c2593d14e39576ada3dfc4e33132cc1a813ea44d5e SHA512 e6accdf49fee88b4911eca991a404e00071a58291bdd564a361640ede68e4c3f80ad79522075258f9e7451dd704627c2950922015f66068dd4969e9da20caef9
DIST pytest_order-1.4.0.tar.gz 49891 BLAKE2B 8cd9b4586ba5093b96ea96a777717a736e64d6dc0502b6919feaab6c694a4d01d3a5e57dc80879aee767d193e9bbb307abc0dbcb4d5c6022fb3c0ea47518c266 SHA512 11213fd825a5092d273a3a3508816097f5f376ea9457cd445be796bdeb2a672bfaedd8acbd278f3012152faf0cb5ec8de647fe86499745e541409a32bb888ec0
DIST pytest_order-1.4.0.tar.gz.provenance 9826 BLAKE2B f5a825ad31ed44d024e334fe4f2a6d00c22932c61b7ff622ae16a64bbf8c176601eee95f4ba27149ddf63bffbd3c80f62c59d2da87d034794d4f2c645a93f554 SHA512 6b7ae442c1de7df9e17cb336bdac232fb3688d64df7a98323cfc649fe23595bef8f95ccd6158a718e3fdf34bcdf326e0610ee40486193d1cfeb08fe5eeffe19a
+DIST pytest_order-1.5.0.tar.gz 54136 BLAKE2B 8cd121c94eb85187c44cbfd7bce359979cf75c1cc0f363cdb23d9f05c93dcfb029b17f4b6cb81bb1a899c08f06e3bcd34ed3b7ad27f2bf3d528315017f9f931e SHA512 cfee7cd4c9153eee4d25e59991d905680950265d8c64efc40304e32b8eaaf631017f9f27ebf8491bc8b9e07bad027927ae9091abf5394a21e9904ef5d2ed73f7
+DIST pytest_order-1.5.0.tar.gz.provenance 10023 BLAKE2B 897aed897e6055c3cb85fe41c751450e6f14aa9bb6625b7609c5966f04a1204335d53adfc51d2f6232a89975feb4ce6e5b209211ba9adf6f4f7fbac13ca13097 SHA512 23ba9315244650d00b041bfd93382c29247887524e018eb6b078034b14acf6bfdc6fae2f29e222f2932773bca4de16168af181ec20d48e8d1bc91e2be026d013
diff --git a/dev-python/pytest-order/pytest-order-1.3.0.ebuild b/dev-python/pytest-order/pytest-order-1.5.0.ebuild
index c815b0a8fb4b..9447e07196dd 100644
--- a/dev-python/pytest-order/pytest-order-1.3.0.ebuild
+++ b/dev-python/pytest-order/pytest-order-1.5.0.ebuild
@@ -1,9 +1,10 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/pytest-dev/pytest-order
PYTHON_COMPAT=( python3_{13..14} )
inherit distutils-r1 pypi
@@ -19,14 +20,7 @@ SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="
- >=dev-python/pytest-6.4.2[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
+ >=dev-python/pytest-7.4[${PYTHON_USEDEP}]
"
EPYTEST_PLUGINS=( "${PN}" pytest-{mock,xdist} )
diff --git a/dev-python/pytest-rerunfailures/Manifest b/dev-python/pytest-rerunfailures/Manifest
index 4b295731cf7f..bdd9a4079b81 100644
--- a/dev-python/pytest-rerunfailures/Manifest
+++ b/dev-python/pytest-rerunfailures/Manifest
@@ -1,3 +1,2 @@
-DIST pytest_rerunfailures-16.1.tar.gz 30889 BLAKE2B 05e4f4a209371b33acfc469a95e5b9ca6a80f97f7529355bf315a78f384e79c60895f6aace0df223591d041015bb280c3ee4c24db9fb97eb44a5b6268042d60c SHA512 ad5d55b7d7dfa9ea3f488a021b1ab3624f297ff723ee99f7a4bf77c402f7e9770b81d7590d6e2701c19fa744b8e1695c96b8272d9c2de0625309489a4337a223
DIST pytest_rerunfailures-16.2.tar.gz 32121 BLAKE2B f4beff5202f72734be455b60dd0f597f437fe5bedade220a1c863df907d1f058c6692268029e15395aadc9c53d48b7ad78321b038b9b8f5d6005a086a79ef052 SHA512 e31ebdd258a43211ef8c3f789eb217b413a4ee1e0a31fb037e6642dad6a247f596ab537896d50ff069a06b72c89f2c1e3a65dc1394bf4d81753ccdb25f79a124
DIST pytest_rerunfailures-16.3.tar.gz 34148 BLAKE2B 29e9d4e0f7455b7f41b7654e1399d0735f40ce508ce7def89eeb42aa4d1eaf2ab749b05312158e450316262ff6fa95ec6633345ad94f7c6d92165a07e4ea0e41 SHA512 084fe9eee35d7158d20ea9b0c49315c2cf6503a0a6e0aafabb9f4ec8e42955160cb0b9f2c75a8dc6fd1ab9188c5e1aa1a39bb26639ba0a94e9983de5a4ab3f5e
diff --git a/dev-python/pytest-rerunfailures/pytest-rerunfailures-16.1.ebuild b/dev-python/pytest-rerunfailures/pytest-rerunfailures-16.1.ebuild
deleted file mode 100644
index 43571a7b0bb1..000000000000
--- a/dev-python/pytest-rerunfailures/pytest-rerunfailures-16.1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="pytest plugin to re-run tests to eliminate flaky failures"
-HOMEPAGE="
- https://github.com/pytest-dev/pytest-rerunfailures/
- https://pypi.org/project/pytest-rerunfailures/
-"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-RDEPEND="
- >=dev-python/packaging-17.1[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGIN_LOAD_VIA_ENV=1
-EPYTEST_PLUGINS=( "${PN}" )
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
diff --git a/dev-python/pytest-rerunfailures/pytest-rerunfailures-16.2.ebuild b/dev-python/pytest-rerunfailures/pytest-rerunfailures-16.2.ebuild
index 5e7b796a718c..43571a7b0bb1 100644
--- a/dev-python/pytest-rerunfailures/pytest-rerunfailures-16.2.ebuild
+++ b/dev-python/pytest-rerunfailures/pytest-rerunfailures-16.2.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MPL-2.0"
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-17.1[${PYTHON_USEDEP}]
diff --git a/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.5.ebuild b/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.5.ebuild
index fa4f33909cd3..5a59e4e1afeb 100644
--- a/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.5.ebuild
+++ b/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.5.ebuild
@@ -21,7 +21,7 @@ S=${WORKDIR}/${P//_/}
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~riscv ~x86"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
RDEPEND="
dev-python/attrs[${PYTHON_USEDEP}]
diff --git a/dev-python/pytest-socket/Manifest b/dev-python/pytest-socket/Manifest
index 8d277f293b5a..d4f9ece8c065 100644
--- a/dev-python/pytest-socket/Manifest
+++ b/dev-python/pytest-socket/Manifest
@@ -1,3 +1,2 @@
-DIST pytest_socket-0.7.0.tar.gz 12389 BLAKE2B e99e607e1a614c1e59a1d0d3a2eb00124e43906af5b25b812e7b7975f80e7b31bf5900403e1618e41583e2438bbd25a17fd984f9460356876305de748a376bd0 SHA512 b32d0077287cbdea19c65f750f904084aeb9ede6b95916a471b4d16ba89648a77b799d33d1b33e1aee0fa7560bd9fe532fc1e59406aee08648efe35499fc936b
DIST pytest_socket-0.8.0.tar.gz 13912 BLAKE2B 4b4b1754219db8e3afdb1c4802e58e5734d57417ee0feb6e29d9ee7c3439b436c44242c24780bfda36554d0d24e465d9bb612c7bd2170c6c51b84ec65d9f351b SHA512 2ae68d3302e90893094a94a842e0c98b71bc9beef9a54465b3177151353048fe582559123679efc45b688b329a175591d217654e8e3fa0ca237b461206263365
DIST pytest_socket-0.8.0.tar.gz.provenance 9514 BLAKE2B 11909cc1cd125119868ea271c694875779606e22164f6d1fc50962aee6a437f460c1857fdc44b702adf4fcae0a5adfbfd12b13e942b780f89c77e7036b981f20 SHA512 528f8cb754b570a0323b08b1c3e81921b59ca841b6a1c4e101173bb189c9cf88cd11e9fc958c0b2a8caa51ac7bcb7ea8b8bad696baffc1d6b7804756e0678157
diff --git a/dev-python/pytest-socket/pytest-socket-0.7.0-r1.ebuild b/dev-python/pytest-socket/pytest-socket-0.7.0-r1.ebuild
deleted file mode 100644
index 49bbf1d8207b..000000000000
--- a/dev-python/pytest-socket/pytest-socket-0.7.0-r1.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2025-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Pytest Plugin to disable socket calls during tests"
-HOMEPAGE="
- https://github.com/miketheman/pytest-socket/
- https://pypi.org/project/pytest-socket/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- dev-python/pytest[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=( "${PN}" pytest-http{bin,x} )
-EPYTEST_PLUGIN_LOAD_VIA_ENV=1
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- tests/test_async.py::test_starlette
- tests/test_restrict_hosts.py::test_help_message
-
- # require DNS access
- tests/test_async.py::test_httpx_fails
- tests/test_combinations.py::test_parametrize_with_socket_enabled_and_allow_hosts
- tests/test_precedence.py::test_global_disable_and_allow_host
- tests/test_socket.py::test_urllib_succeeds_by_default
- tests/test_socket.py::test_enabled_urllib_succeeds
- tests/test_socket.py::test_disabled_urllib_fails
-)
diff --git a/dev-python/pytest-subprocess/Manifest b/dev-python/pytest-subprocess/Manifest
index 4cf41d008399..3b5613932698 100644
--- a/dev-python/pytest-subprocess/Manifest
+++ b/dev-python/pytest-subprocess/Manifest
@@ -1,2 +1 @@
-DIST pytest-subprocess-1.5.4.gh.tar.gz 39954 BLAKE2B 55998187a3492dd418d394ed373b29238ff26a2a82e806cf0833adf5d1ef9a8003f2f1677f916528ff414faba5ef6f739740c999f2784538717aca8563a5ad90 SHA512 c1f4e7ca0c318a47caf74886f7352983e5bc90b8d29d206649beb570e32da1cd48c94f435aee2e802c1b66f79548b1b3846fe573a8b1df28a082b3369b1f664d
DIST pytest-subprocess-1.6.0.gh.tar.gz 43337 BLAKE2B 445941ff835134076ff937cde38d1c6df61ae74e5671d987db09596cae221d2b8760abeee0b16647ce44fb1613d919c7d077e76caafd4bcd98f1dfe366a76527 SHA512 5da3f4af4b9226d88af22532027b3746e4640583d60f5022a97ae58b69c41831e94518464a77821a9cb4add85b0a29c345bc1089c70452ecf65836c80cd6c809
diff --git a/dev-python/pytest-subprocess/pytest-subprocess-1.5.4.ebuild b/dev-python/pytest-subprocess/pytest-subprocess-1.5.4.ebuild
deleted file mode 100644
index 92f8f48f7f9c..000000000000
--- a/dev-python/pytest-subprocess/pytest-subprocess-1.5.4.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2023-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="A plugin to fake subprocess for pytest"
-HOMEPAGE="
- https://github.com/aklajnert/pytest-subprocess/
- https://pypi.org/project/pytest-subprocess/
-"
-SRC_URI="
- https://github.com/aklajnert/pytest-subprocess/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"
-
-RDEPEND="
- >=dev-python/pytest-4.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/anyio[${PYTHON_USEDEP}]
- >=dev-python/docutils-0.12[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-asyncio-0.15.1[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGIN_LOAD_VIA_ENV=1
-EPYTEST_PLUGINS=( "${PN}" pytest-{asyncio,rerunfailures} )
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # broken in plain venv
- # https://github.com/aklajnert/pytest-subprocess/issues/201
- 'tests/test_examples.py::test_documentation[README.rst]'
-)
diff --git a/dev-python/pytest-subprocess/pytest-subprocess-1.6.0.ebuild b/dev-python/pytest-subprocess/pytest-subprocess-1.6.0.ebuild
index 516176ba7134..92f8f48f7f9c 100644
--- a/dev-python/pytest-subprocess/pytest-subprocess-1.6.0.ebuild
+++ b/dev-python/pytest-subprocess/pytest-subprocess-1.6.0.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"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
RDEPEND="
>=dev-python/pytest-4.0.0[${PYTHON_USEDEP}]
diff --git a/dev-python/pytest/Manifest b/dev-python/pytest/Manifest
index 9519f194a906..de2311115c10 100644
--- a/dev-python/pytest/Manifest
+++ b/dev-python/pytest/Manifest
@@ -1,4 +1,4 @@
-DIST pytest-9.0.2.tar.gz 1568901 BLAKE2B dfee0770197f86ca8a13cb80f39c5d0e6a017097daca590fdbc0ef32e8882f03eb1ec8850682414da194deb63c48f7e280f2c9b14ed3b87e2de81b27a9ded366 SHA512 4f8177b30e39a644763d3e37a78d28d2e8b40e47a834862096571255279adfde22278d27801e36e366cc49e7ab59c38a0f4597b9f5b4c3e45912bd046ef214c9
-DIST pytest-9.0.2.tar.gz.provenance 9481 BLAKE2B e92eceb4757782e5c8654c7f5cb788e5c197f1f9c198d684104cbc5d540322f4c0f0e6a93d6352e318ec79660c48ea792c3bd3714be59ee7e2a0c40d11000e1f SHA512 07c5c0a21a593cb02810b7beb3e882c3bb3671873d2755f9490c737532ee3934f00be679cdcd0c8650f4cb85d302797978e89d8b5fab623f872a771086b64df1
DIST pytest-9.0.3.tar.gz 1572165 BLAKE2B a86001e79e630f8e7aa3007d287271702b11eef00938f50f8f404a646c90cacb2f661e9d7ce08fa6820ec1dbc858c30a0c450126b52388356ef23d138669e297 SHA512 228908e1f9718c418b5e118e7c49cb4b998b907982e277f29cdd13199383425cce9c7cee3275440bb1d0b0ae68b4a88443ef3400f506e9b787fc4d816bc47003
DIST pytest-9.0.3.tar.gz.provenance 9379 BLAKE2B e5d6d3cfde46cfa80ddb436fbf7608e79ced8a08fad3a5841ccc30ecd40a425e37745a9994c9cf75602467934d14d23df07ed1c20ae4801ea3e60b3fde4d805b SHA512 6e93af12b5ab40e5c76ca6f42298767a9d04f1ace4af4403e4d2589962e3dc79d8a8e0c308f528a4cf8d0b60ad600bd33128982a59bbb74c2eb0ca16192b0f51
+DIST pytest-9.1.0.tar.gz 1634181 BLAKE2B 46588d912f67c468ada6b2d4c280226b0e448225c502fed31a864b737d3d68867788cc3709441a30177f2ef4a449f8ea93afb552718e82dd5fdab8826e06ee93 SHA512 808ec20f7a50092d1795d04e0857325b979b686654f76d8b24a6d8000c2e8226458b70f26492710abfe75527250641fc47d34b4f6a0ecb8d57aedc9fb96af830
+DIST pytest-9.1.0.tar.gz.provenance 9897 BLAKE2B f373d56efc0a202661325ba4e92286bd897840dc0d1474a68969c31f2768fe19e2be1c9d4a4b64af3695de3942a06d6d973db083014fbedf58591144b01417ba SHA512 5313644bfded7b7d12763be4eac8ffd7313570f1a707d135d68d59060d2a66d992511598db740fb48622371627cb3dd05b458cc816a864230b2e13f688c91d90
diff --git a/dev-python/pytest/pytest-9.0.3.ebuild b/dev-python/pytest/pytest-9.0.3.ebuild
index ed769b0ac66d..a1c1a844cbac 100644
--- a/dev-python/pytest/pytest-9.0.3.ebuild
+++ b/dev-python/pytest/pytest-9.0.3.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos ~x64-solaris"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/pytest/pytest-9.0.2.ebuild b/dev-python/pytest/pytest-9.1.0.ebuild
index a1c1a844cbac..32d56f37e013 100644
--- a/dev-python/pytest/pytest-9.0.2.ebuild
+++ b/dev-python/pytest/pytest-9.1.0.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris"
IUSE="test"
RESTRICT="!test? ( test )"
@@ -98,22 +98,10 @@ python_test() {
# PDB tests seem quite flaky (they time out often)
testing/test_debugging.py::TestPDB
- )
- case ${EPYTHON} in
- pypy3*)
- EPYTEST_DESELECT+=(
- # regressions on pypy3.9
- # https://github.com/pytest-dev/pytest/issues/9787
- testing/test_skipping.py::test_errors_in_xfail_skip_expressions
- )
- ;;
- python3.14)
- EPYTEST_DESELECT+=(
- testing/test_doctest.py::TestDoctests::test_doctest_unexpected_exception
- )
- ;;
- esac
+ # TODO
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_times
+ )
local EPYTEST_PLUGINS=()
local EPYTEST_XDIST=1
diff --git a/dev-python/python-debian/Manifest b/dev-python/python-debian/Manifest
index e11f66fd46f7..d7691448abe7 100644
--- a/dev-python/python-debian/Manifest
+++ b/dev-python/python-debian/Manifest
@@ -1 +1,2 @@
DIST python-debian_1.1.0.tar.xz 200940 BLAKE2B 24d31e04fc08c43f9b9e4c9ad71eedaa3529f47266eed2610fc9cfd8a2c3ab932bf9570fcc5c49a219189d6a522af92ee8378aa520932d83ec8153463657484b SHA512 e93e8e6b0127a2f78b70c827ae9afec6302daf790315d1d3445d51f0da487768ec134a5173ea2ec75482fdd1da6af0e8fdb9037234a3c35f9b982a49dfbddfcf
+DIST python-debian_1.1.1.tar.xz 199876 BLAKE2B 93496ba92f4b1d408f7ade96cc8369e3d6bd807c66b5078eb308336e91089ae0de831b77529bc1ec75af54c64fe93f1c31cc9a01273c6a0febc8e0a9ccbdd889 SHA512 8cf5521f21c0de15dd54f939085f64e6be4c17ccdfbaed9053791b8340597c54b7303e4cf331ce27be83305828a9422599e517d6444a2cee79e001e06cc11124
diff --git a/dev-python/python-debian/python-debian-1.1.1.ebuild b/dev-python/python-debian/python-debian-1.1.1.ebuild
new file mode 100644
index 000000000000..12b5ced435a1
--- /dev/null
+++ b/dev-python/python-debian/python-debian-1.1.1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 2011-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python modules to work with Debian-related data formats"
+HOMEPAGE="
+ https://salsa.debian.org/python-debian-team/python-debian/
+ https://pypi.org/project/python-debian/
+"
+SRC_URI="mirror://debian/pool/main/${PN::1}/${PN}/${PN}_${PV}.tar.xz"
+
+LICENSE="GPL-2 GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/charset-normalizer[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ app-arch/dpkg
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+
+ # silence false positives
+ rm -rf debian || die
+
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+}
+
+python_compile_all() {
+ # See debian/rules.
+ "${EPYTHON}" src/debian/doc-debtags > README.debtags || die
+}
+
+python_test() {
+ epytest --doctest-modules
+}
diff --git a/dev-python/python-discovery/Manifest b/dev-python/python-discovery/Manifest
index 382f3fe804c3..a3c61890dca1 100644
--- a/dev-python/python-discovery/Manifest
+++ b/dev-python/python-discovery/Manifest
@@ -1,6 +1,4 @@
-DIST python_discovery-1.3.1.tar.gz 68011 BLAKE2B ba0e1e7320a8d5834c80f6218c48badd1668e189daa8d5b4d616dc24b275fa07b154381ff683fb48ac4400004cb1106d46c70b2b1b470eb6b948b0799c9b1e36 SHA512 af8a90cf411d6c914ce12e7f198e92bc166100eff1dbe814b1731abc8913abf7a8a0d44a269bd86985cc19e9235cc3995056014f7bdd02dba5e62af4117bdf47
-DIST python_discovery-1.3.1.tar.gz.provenance 9549 BLAKE2B 46c2c90661a8f0f59f6e33ef9bdcfebf99f194c7d27b5f76bdb9a6c4d2f92d8c1d1eb2fa922f37a8dee7b800eef0685ca49ac2221253c670c4fa3171ac9ec0bf SHA512 df2a72238637c04fa7d7ba316a82a18bf1c057bd21fea7a4278d26a7eec156614c56ea47209ce875de42d82a5dce84d176e223e2504edf1ef6ab89713f11af5a
-DIST python_discovery-1.3.2.tar.gz 68199 BLAKE2B dc1b79e7581d42f61494d50319ba6c76a77a78a3d20c23096b826979a7e20953d18936a9165d3bbee926efa0d7d0c8dda50dd0f537d3d4742b8088fb6945539c SHA512 4f1072b5f872f3bc53466e7d2dc6a5a216099af8d7207abe520c4117dbc3cfb17b77094e601b22334e44a2bc4acd01e5e7eabac535e03aea484d6621b1698c4b
-DIST python_discovery-1.3.2.tar.gz.provenance 10087 BLAKE2B 9ea3c60064be68e44f67da236dd969b152eae89c76b7ead46b4b4e4ac5db7dc58f41dda76f01cb2c5068e659bc88d7e37a852f82b9917e42cccf865e7a75576b SHA512 62e45f92fa3b7c6199900d2574d36921982a6bbe4fde5ce747fa9f01e71498ab2a23155a26be6862ca96f9f1a9a579cd7e6265afaf72013df563af2165bdeafb
DIST python_discovery-1.4.0.tar.gz 68455 BLAKE2B a2c0c4785aadbf829ae784b9cef80f621661a9bbcbe4d9f483b8471b58dd76f9d1e10e7a8690ff6a52d7d58c9315afd0053bdb6a3e7ae0371b2b74c991a8eb8a SHA512 689aa141e7d1dd5c00ea474836a248b71c13abbc72780f21f6cb1be1b0e202a1c88b53a1f0dd3e8949134fe5b8892298884b9348a2b7209d7bba8f2ab9d0466e
DIST python_discovery-1.4.0.tar.gz.provenance 9934 BLAKE2B 7e0949b3a7ebbc8bc8ac5b8b01f6ad1e0e38bece245bfb9d75567712ed3bb84939221565bbc823027949a14a857d4e1c6b682618c9cb612ca075e4f4848e48cc SHA512 671054e43f9c6db32468c08e30e955371d8a731db9322480ede309589b59ef3e2eaf9492a367f3eefc6e49293c08bb9a4034b09864b7f68b660198cd9d884421
+DIST python_discovery-1.4.2.tar.gz 70277 BLAKE2B 9155da6b7112f2711654884933280298c06c1a18dc933a3c8f1c2d88261350ebd90769f323e1af37283841c63af4617e13afd4a94cf44a328c71ea68a849050c SHA512 5dc2964d2ca3df494ec6eaeea64fa931aeb10dc81a9e628b981dbd47ab6c940430089b93abd9dcd7443e2ae2bb184b5170d9c6087b4e3c25d1b40e7840d938e7
+DIST python_discovery-1.4.2.tar.gz.provenance 9899 BLAKE2B 3e1e4c628614146f6f34b5de2412947c5bd6cdde0c314e05478cff6f4ade95ff4f4bdf9737252cf0666ee422f7183e98b6e422bfb17ef508165c77b57cf8e934 SHA512 08f15ca855e980ae309ad28b3a5c58240371b814ac10cb3fb4ba74f55b823e30425f1421e7cb2d06f65b8ee84977575b4b08d3cf22d776f0358042c20afc497d
diff --git a/dev-python/python-discovery/python-discovery-1.3.2.ebuild b/dev-python/python-discovery/python-discovery-1.3.2.ebuild
deleted file mode 100644
index 984af8461c7b..000000000000
--- a/dev-python/python-discovery/python-discovery-1.3.2.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYPI_VERIFY_REPO=https://github.com/tox-dev/python-discovery
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python interpreter discovery"
-HOMEPAGE="
- https://github.com/tox-dev/python-discovery/
- https://pypi.org/project/python-discovery/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc64 ~riscv ~s390 ~x86"
-
-RDEPEND="
- >=dev-python/filelock-3.15.4[${PYTHON_USEDEP}]
- <dev-python/platformdirs-5[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-4.3.6[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- >=dev-python/setuptools-75.1[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( pytest-mock )
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=()
-
- case ${EPYTHON} in
- python3.*t)
- EPYTEST_DESELECT+=(
- # TODO
- tests/test_py_info_extra.py::test_satisfies_path_not_abs_basename_match
- )
- ;;
- python3.15)
- EPYTEST_DESELECT+=(
- # TODO
- tests/test_discovery.py::test_predicate_with_fallback_specs
- )
- ;;
- esac
-
- epytest
-}
diff --git a/dev-python/python-discovery/python-discovery-1.4.0.ebuild b/dev-python/python-discovery/python-discovery-1.4.0.ebuild
index e5cdf3b2adba..0d71bc6cbdd8 100644
--- a/dev-python/python-discovery/python-discovery-1.4.0.ebuild
+++ b/dev-python/python-discovery/python-discovery-1.4.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~m68k ppc ppc64 ~riscv ~s390 x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ppc ppc64 ~riscv ~s390 x86"
RDEPEND="
>=dev-python/filelock-3.15.4[${PYTHON_USEDEP}]
diff --git a/dev-python/python-discovery/python-discovery-1.3.1.ebuild b/dev-python/python-discovery/python-discovery-1.4.2.ebuild
index 984af8461c7b..984af8461c7b 100644
--- a/dev-python/python-discovery/python-discovery-1.3.1.ebuild
+++ b/dev-python/python-discovery/python-discovery-1.4.2.ebuild
diff --git a/dev-python/python-engineio/Manifest b/dev-python/python-engineio/Manifest
index 4127a1ff1f93..155f834bf5dd 100644
--- a/dev-python/python-engineio/Manifest
+++ b/dev-python/python-engineio/Manifest
@@ -1,2 +1 @@
-DIST python-engineio-4.13.1.gh.tar.gz 323343 BLAKE2B c09f45ced6e82d7586ddd5d0444728e71b7c1ea9e45ac219065d66c70d8b3552651c053c265d40caf43652dd6e28aff9e6b091f01e7b41492f064488dfe067ec SHA512 f5ae57672c5d7bb1263f1e786bde09da5247e7d39dc43cdfa21f9daf7a7674cb4e394a2811d97000a9440665ac2720b31465b202b6dcd6c4bc8e1995ce3c5850
DIST python-engineio-4.13.2.gh.tar.gz 324984 BLAKE2B 7f77292a1a0932d458fcc2cecec497ee59d6baa21e52ff6b2950c71b33e3b3412b52d00467472500c70db9712a0d40bdbb2cf791475debcb9386297019360924 SHA512 a25cf314e741944fa4472675484f95ca2117d71d9fb6add2660aa0f3a12684bd4cf6f004eb86455e9017576b0d3c42a6aa5e9114bf73d3454e579f326f9b1861
diff --git a/dev-python/python-engineio/python-engineio-4.13.1.ebuild b/dev-python/python-engineio/python-engineio-4.13.1.ebuild
deleted file mode 100644
index 0c50c2cc22ee..000000000000
--- a/dev-python/python-engineio/python-engineio-4.13.1.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python implementation of the Engine.IO realtime server"
-HOMEPAGE="
- https://python-engineio.readthedocs.io/
- https://github.com/miguelgrinberg/python-engineio/
- https://pypi.org/project/python-engineio/"
-SRC_URI="
- https://github.com/miguelgrinberg/python-engineio/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/aiohttp-3.11[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- >=dev-python/simple-websocket-0.10.0[${PYTHON_USEDEP}]
- dev-python/websocket-client[${PYTHON_USEDEP}]
-"
-# Can use eventlet, werkzeug, or gevent, but no tests for werkzeug
-BDEPEND="
- test? (
- dev-python/tornado[${PYTHON_USEDEP}]
- dev-python/websockets[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( pytest-asyncio )
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/alabaster
-
-EPYTEST_IGNORE=(
- # eventlet is masked for removal
- tests/common/test_async_eventlet.py
-)
-
-EPYTEST_DESELECT=(
- # also eventlet
- tests/common/test_server.py::TestServer::test_async_mode_eventlet
- tests/common/test_server.py::TestServer::test_connect
- tests/common/test_server.py::TestServer::test_service_task_started
- tests/common/test_server.py::TestServer::test_upgrades
-)
diff --git a/dev-python/python-fire/Manifest b/dev-python/python-fire/Manifest
index b41a8d3e3904..978471d2b02a 100644
--- a/dev-python/python-fire/Manifest
+++ b/dev-python/python-fire/Manifest
@@ -1,2 +1 @@
-DIST fire-0.6.0.tar.gz 88439 BLAKE2B 5eb8a7ec2e0f93bec50f0b6a03edfe9ec6040ca2f3a85a77875df752457281c7614874254db935dcd94c229af3fd6722088c43dae7664e99c3f09047f9d4453f SHA512 491f224d31038494be2f40dd55e8713da20e4a20dc044ed1346deaeff69d65908ac754679b36ae1dbf42319c26cb30acc664a444f2d735d173971001447a9dd3
DIST fire-0.7.0.tar.gz 87189 BLAKE2B a1cc759466ac78bae82b4ed50ce3915fe0e45308fb96e7b4c76fc0e04cc5ae950351fc736f8790d79d1cbd441240d41eebf9130fd57a1f7cc46f5b40404dbe5c SHA512 f451c19dde5359fc63298ef48f6cc9b2626f6693769d41031232eff024895b0f7f6679adc9ad5c5eb9036fad80b86fd787c2f4aaee4961c109904b8381c94119
diff --git a/dev-python/python-fire/python-fire-0.6.0.ebuild b/dev-python/python-fire/python-fire-0.6.0.ebuild
deleted file mode 100644
index de322d972495..000000000000
--- a/dev-python/python-fire/python-fire-0.6.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2022-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{13..14} )
-DISTUTILS_USE_PEP517=setuptools
-PYPI_PN="fire"
-inherit distutils-r1 pypi
-
-DESCRIPTION="Library for automatically generating command line interfaces from Python objects"
-HOMEPAGE="https://pypi.org/project/python-fire/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/six
- dev-python/termcolor
-"
-DEPEND="
- ${RDEPEND}
- test? (
- dev-python/hypothesis
- dev-python/mock
- dev-python/pytest-asyncio
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/python-ldap/Manifest b/dev-python/python-ldap/Manifest
index 092908cb28ee..224bbcd5c075 100644
--- a/dev-python/python-ldap/Manifest
+++ b/dev-python/python-ldap/Manifest
@@ -1,3 +1,2 @@
-DIST python-ldap-3.4.5.gh.tar.gz 380704 BLAKE2B bd047f4472d23cbdb8573549e8b769b485bab1797d8325337a659e4388683ba44f8ab2709fa31289b46ab7198d3528247e0d156631c0e48ec7ee989d2b43802d SHA512 5161b7f2b5a0d975f7e5c7e16df132f0b709b986ec8a8e304d836bad278b971f5fdaf4ef39116d62947695f9eb5d7b3315317a3c7973d045c3cbde03933f4308
DIST python-ldap-3.4.6.gh.tar.gz 381136 BLAKE2B 5d57d2f6d58facf4942a36ecfccd542e9a3bce91dbce1a49e7c94360f11486266aac469c4d4df00b61081395014def4c856c156c5f78ea1c1fb7dcc6edbbf26b SHA512 29d5fbb4e6c7e07160e591ef74aa342e4a7906ab712f6054f6e3eca1c7bd1164083c6bb9653260c12015a6e8ebcfe673e36f7614ff02f0dc1d9de7683a557a54
DIST python-ldap-3.4.7.gh.tar.gz 381197 BLAKE2B 03ecb8681da5f0df821baf7bf5bd5da4ca2dad18214edb4ea475fc5b8df7535a07ba5684dc6c4ed6af5c4d39a3561dab336146a2cf157c139592726e3c2ecf50 SHA512 ecf20c6a23b32fe21cde969407287f415a091d15dd0de49d986472de23de35e2d9dd590ceb7b26353e8eb3d4f2ee4fd9c9d8c9bd6c600cd45d80ab73bcd4c8df
diff --git a/dev-python/python-ldap/python-ldap-3.4.5.ebuild b/dev-python/python-ldap/python-ldap-3.4.5.ebuild
deleted file mode 100644
index 171e364f41cd..000000000000
--- a/dev-python/python-ldap/python-ldap-3.4.5.ebuild
+++ /dev/null
@@ -1,84 +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_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Various LDAP-related Python modules"
-HOMEPAGE="
- https://www.python-ldap.org/en/latest/
- https://pypi.org/project/python-ldap/
- https://github.com/python-ldap/python-ldap/
-"
-SRC_URI="
- https://github.com/python-ldap/python-ldap/archive/${P}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/${PN}-${P}
-
-LICENSE="MIT PSF-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ~ppc ppc64 ~riscv ~sparc x86"
-IUSE="examples sasl ssl"
-
-RDEPEND="
- >=dev-python/pyasn1-0.3.7[${PYTHON_USEDEP}]
- >=dev-python/pyasn1-modules-0.1.5[${PYTHON_USEDEP}]
- net-nds/openldap:=[sasl?,ssl?]
-"
-# We do not link against cyrus-sasl but we use some
-# of its headers during the build.
-DEPEND="
- net-nds/openldap:=[sasl?,ssl?]
- sasl? ( >=dev-libs/cyrus-sasl-2.1 )
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-distutils_enable_sphinx Doc
-
-python_prepare_all() {
- if ! use sasl; then
- sed -i 's/HAVE_SASL//g' setup.cfg || die
- fi
- if ! use ssl; then
- sed -i 's/HAVE_TLS//g' setup.cfg || die
- fi
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- # Run all tests which don't require slapd
- local EPYTEST_IGNORE=(
- t_bind.py
- t_cext.py
- t_edit.py
- t_ldapobject.py
- t_ldap_options.py
- t_ldap_sasl.py
- t_ldap_schema_subentry.py
- t_ldap_syncrepl.py
- t_slapdobject.py
- )
- pushd Tests >/dev/null || die
- epytest
- popd > /dev/null || die
-}
-
-python_install_all() {
- if use examples; then
- docinto examples
- dodoc -r Demo/.
- docompress -x /usr/share/doc/${PF}/examples
- fi
- distutils-r1_python_install_all
-}
diff --git a/dev-python/python-ldap/python-ldap-3.4.6.ebuild b/dev-python/python-ldap/python-ldap-3.4.6.ebuild
index 3776e37fe032..faa8e583a990 100644
--- a/dev-python/python-ldap/python-ldap-3.4.6.ebuild
+++ b/dev-python/python-ldap/python-ldap-3.4.6.ebuild
@@ -23,7 +23,7 @@ S=${WORKDIR}/${PN}-${P}
LICENSE="MIT PSF-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ~ppc ppc64 ~riscv ~sparc x86"
IUSE="examples sasl ssl"
RDEPEND="
diff --git a/dev-python/python-multipart/Manifest b/dev-python/python-multipart/Manifest
index 9ba952bc8fe6..9b0ab72c1a85 100644
--- a/dev-python/python-multipart/Manifest
+++ b/dev-python/python-multipart/Manifest
@@ -1,5 +1,5 @@
-DIST python-multipart-0.0.25.gh.tar.gz 109366 BLAKE2B 73c80b51c5bb24b30e2afdc3896032b8b6bf58072bd7a7ae002fe068355faaee97db7af3ff28ac5ea238ed18392fb4dbc11bf6566f3a640425cdc0e05018dcc5 SHA512 eab6a101dce9bb374b974b2ce12f6cb5bd6035327d35c66bc7b478ce9d0c9c7dc87e06d52c6ebaebf9171e1e207de1aae7a901f812e7150b70bc3f6b65552bea
DIST python-multipart-0.0.27.gh.tar.gz 111753 BLAKE2B 4fd4c14cd47d7d492edcb8ee88b78559f61ab109a92c8809430b5ae4c9b291dba48c9c8eb2a6db6deb0562249261cf319d93d4caf3ce2242f8c3eb72d2f6bf03 SHA512 75e85ed0d71ea526369e8010c92f6c0cb02f34df6064de98b2e984ffb927359ca32838eedacd1647bf2cf76a1dadb5b7026f51cacd6d0a561397a1f56d3f9f4f
DIST python-multipart-0.0.28.gh.tar.gz 123332 BLAKE2B 6351341a5dd0eea431f84759c4fb17a2753ac2bab493ec0b0c9dd4205d99aae8f221cbb0f62aade67a4001a917b3c8032bc977ff4f5d9ad7dc4b57c6f18ac8fe SHA512 6631866906882fff1b44627e28d2d3f178b2bd569e1675b10f50ea673889bd93300958834ed8947092442b622d782754020669ec6ffee981bfedd96d1229428e
DIST python-multipart-0.0.29.gh.tar.gz 123649 BLAKE2B d8ed40f744b16879dfe617fc7d4f5b6e5ecf4a9d09c95b69569b5c12e11f07f750b7741d9c6096015a1947d742ef78ab3e107bbc25727651428a707b685efbf2 SHA512 37a20b6fdb26fda1513e6911bbcc699b169a3317bd30c37536a0c3bb3333500cbca432f345c8e199d36e7134a152a9bf471dd3073e3aa48964281fb12c56f8c0
DIST python-multipart-0.0.30.gh.tar.gz 113838 BLAKE2B 7fef19cb94d0dc5957783c829f7d8719bfba1e31fe70715f0fc5d758088eee80a8d7d5022a232294a07dfcec2d0353b4f30591e0213446954fd036acb1230058 SHA512 bc1794c2c15b71378d631fe6720541c9abb2a073dae1cab4119388bc4ab691ce2d2bdd2019317c10b33e5071275f91bb8d6afb675241cf96982c3d28a65792a4
+DIST python-multipart-0.0.32.gh.tar.gz 132024 BLAKE2B e7097b56281aaa326e7202eede71c7b879f19032c7e6bb542b8359b77da8f442fe43fcee026c195b832848396a925482e979aba2ff53b5870258cc130e65b273 SHA512 58bdfabec8a6840fccdfc759cf57f88dabf9e2cec06499ba23c8690a1a73a308e8789b17a9559a9e0a0eda2c09c5b5755e4336b65ff9d173d68dbab649476ba1
diff --git a/dev-python/python-multipart/python-multipart-0.0.28.ebuild b/dev-python/python-multipart/python-multipart-0.0.28.ebuild
index cbb77fc73024..baf480839387 100644
--- a/dev-python/python-multipart/python-multipart-0.0.28.ebuild
+++ b/dev-python/python-multipart/python-multipart-0.0.28.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"
BDEPEND="
test? (
diff --git a/dev-python/python-multipart/python-multipart-0.0.25.ebuild b/dev-python/python-multipart/python-multipart-0.0.32.ebuild
index baf480839387..cbb77fc73024 100644
--- a/dev-python/python-multipart/python-multipart-0.0.25.ebuild
+++ b/dev-python/python-multipart/python-multipart-0.0.32.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"
BDEPEND="
test? (
diff --git a/dev-python/python-neutronclient/Manifest b/dev-python/python-neutronclient/Manifest
index 00117a3ae978..98de232b972d 100644
--- a/dev-python/python-neutronclient/Manifest
+++ b/dev-python/python-neutronclient/Manifest
@@ -1,2 +1 @@
-DIST python_neutronclient-11.8.0.tar.gz 213135 BLAKE2B fc38678c2e5f922096e84f4c11f4a6bb07ec4dff3caac94d1a858ea29e0e28c934312c0c0ca9fc7534decd5509904a58dc346dd74256152acc7ce72d01fffee6 SHA512 2b83f4cd336190f4872e5dc53a3b0bbdf8736d6e1704c07dac83fc5f218b0b213105067cdbd35e2f1f76062909304da0bf4efd0482f2fe7ab3b2a7cd1fe10143
DIST python_neutronclient-12.0.0.tar.gz 185697 BLAKE2B 18e21a98eef52f487796a6d4a517d1468bf7140f49426cb2b7e70dcff7245d47565944b5981f29ca2bbfda35a8d2c872639064b04369780b07f43a3074cff908 SHA512 e85793c58cd55974be6fe215d9b08d1776111c523e0dcf3d5c93718cb7d8387e0dc91714971adcdd21e33f9d4fb583640f46a7700a506c76fc16f6493c1628da
diff --git a/dev-python/python-neutronclient/python-neutronclient-11.8.0.ebuild b/dev-python/python-neutronclient/python-neutronclient-11.8.0.ebuild
deleted file mode 100644
index 8e81b18a8aa1..000000000000
--- a/dev-python/python-neutronclient/python-neutronclient-11.8.0.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A client for the OpenStack Quantum API"
-HOMEPAGE="
- https://opendev.org/openstack/python-neutronclient/
- https://github.com/openstack/python-neutronclient/
- https://pypi.org/project/python-neutronclient/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~riscv x86"
-
-RDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/cliff-3.4.0[${PYTHON_USEDEP}]
- >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
- >=dev-python/openstacksdk-1.5.0[${PYTHON_USEDEP}]
- >=dev-python/osc-lib-1.8.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
- >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
- >dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
- >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
- >=dev-python/keystoneauth1-3.8.0[${PYTHON_USEDEP}]
- >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- test? (
- dev-python/bandit[${PYTHON_USEDEP}]
- dev-python/fixtures[${PYTHON_USEDEP}]
- dev-python/oslotest[${PYTHON_USEDEP}]
- dev-python/python-openstackclient[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- dev-python/testtools[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- # Needs osprofile
- rm neutronclient/tests/unit/test_http.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- # functional tests require cloud instance access
- eunittest -b neutronclient.tests.unit
-}
-
-python_install() {
- distutils-r1_python_install
- # stupid stupid stupid
- local SITEDIR="${D}$(python_get_sitedir)" || die
- cd "${SITEDIR}" || die
- local egg=( python_neutronclient*.dist-info )
- [[ -d ${egg[0]} ]] || die "python_quantumclient*.dist-info not found"
- ln -s "${egg[0]}" "${egg[0]/neutron/quantum}" || die
- ln -s neutronclient quantumclient || die
- ln -s neutron quantumclient/quantum || die
-}
diff --git a/dev-python/python-neutronclient/python-neutronclient-12.0.0.ebuild b/dev-python/python-neutronclient/python-neutronclient-12.0.0.ebuild
index ae0ee770f050..178ecba8837e 100644
--- a/dev-python/python-neutronclient/python-neutronclient-12.0.0.ebuild
+++ b/dev-python/python-neutronclient/python-neutronclient-12.0.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+KEYWORDS="amd64 arm64 ~riscv x86"
RDEPEND="
>=dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
diff --git a/dev-python/python-novaclient/Manifest b/dev-python/python-novaclient/Manifest
index 75e44c6c69d1..4e837b6edf2a 100644
--- a/dev-python/python-novaclient/Manifest
+++ b/dev-python/python-novaclient/Manifest
@@ -1,2 +1 @@
-DIST python_novaclient-18.12.0.tar.gz 340638 BLAKE2B 00505d69408eba728a8567df4e81291a1ecfa17f8f11bd10486c3d64f022339a6590915cecffae5c4831219c98ab6dccb4d457ce3e56567e718e9b7def61463e SHA512 d8d159dc58ea37bd68f98a5db633dd4972bdfceebe92d1324c5e9525c9f50d173ea31885a4ba5d72a934ee25c8bf51f9851bf56e72221fe717af5c1f76d5224b
DIST python_novaclient-18.13.0.tar.gz 340695 BLAKE2B 23f9de0a7d3e93a544311b5b17a81a7bc5ffe448b1aa0c1eddd4a5dde595293e39cdd8828e974000783ea6947e98273d8eac1986bf03872cb70003ff80ee8909 SHA512 88f9b447700fb89ccebf0078423dd12b6d45c72549fef0bb15b2d9bb05813c126b6bd301f55e9c1913b0b28f4d17144d49b38a26caf785a5501762c8bfe23c12
diff --git a/dev-python/python-novaclient/python-novaclient-18.12.0.ebuild b/dev-python/python-novaclient/python-novaclient-18.12.0.ebuild
deleted file mode 100644
index 58a1ea0f14f1..000000000000
--- a/dev-python/python-novaclient/python-novaclient-18.12.0.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pbr
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A client for the OpenStack Nova API"
-HOMEPAGE="
- https://opendev.org/openstack/python-novaclient/
- https://github.com/openstack/python-novaclient/
- https://pypi.org/project/python-novaclient/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/keystoneauth1-3.5.0[${PYTHON_USEDEP}]
- >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
- >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
- >=dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
- >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
- >=dev-python/prettytable-0.7.2[${PYTHON_USEDEP}]
- >=dev-python/requests-2.12.2[${PYTHON_USEDEP}]
- >=dev-python/stevedore-2.0.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/fixtures[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- dev-python/openstacksdk[${PYTHON_USEDEP}]
- dev-python/testscenarios[${PYTHON_USEDEP}]
- dev-python/testtools[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- sed -e 's/test_osprofiler/_&/' -i novaclient/tests/unit/test_shell.py || die
- sed -e 's/novaclient\.tests\.unit\.//' -i novaclient/tests/unit/test_api_versions.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- # functional tests require cloud instance access
- eunittest -b novaclient/tests/unit
-}
diff --git a/dev-python/python-novaclient/python-novaclient-18.13.0.ebuild b/dev-python/python-novaclient/python-novaclient-18.13.0.ebuild
index 334b43dd6473..58a1ea0f14f1 100644
--- a/dev-python/python-novaclient/python-novaclient-18.13.0.ebuild
+++ b/dev-python/python-novaclient/python-novaclient-18.13.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+KEYWORDS="amd64 arm64 ~riscv x86"
RDEPEND="
>=dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
diff --git a/dev-python/python-openstackclient/Manifest b/dev-python/python-openstackclient/Manifest
index 2f8d16bbf566..911056a0a471 100644
--- a/dev-python/python-openstackclient/Manifest
+++ b/dev-python/python-openstackclient/Manifest
@@ -1,2 +1,3 @@
DIST python_openstackclient-10.0.0.tar.gz 971236 BLAKE2B f22d46cd76921907b3e4f0831ce8b5be626806011520ad6115c9f9bb61e783eb537c6cb28ce4ce477374bcd7daba6f4b6217c3702c033e5d221ff56bf0008c9e SHA512 057c7dd31e215e518569ed766e8851b3ba9254827b84c6384f1d6d7a684efedbaddff11951c9dd13a0b4b1d32eb4d23a33d14f792315a1ec7a62f1877769f330
+DIST python_openstackclient-10.1.0.tar.gz 994222 BLAKE2B 6b13897115e8f72113ff815cb120e0d5ff52edd7cd863d478f3c196fce005b149c1af39492306cac20278375d3bd20d6da00609398884d791f4695a226de3f75 SHA512 caa16f30705f2b5d8779f2513df3b50b2aabe1fbe986aa70e0e74e11f0b2026d0814224ddbc6541bdfe9c377e93d254671544ba88e2be6e0ac5c32d5b10b9041
DIST python_openstackclient-9.0.0.tar.gz 944832 BLAKE2B eed30eee035450268eb8be6fa8e6bf5f2513cb5a36fabcac3f6389e4325739d80d30fc4b1ac61b91d0fa74c6a416a5fa3bee6e303cf28599ba2ef38058365233 SHA512 a42c2f5af76c9403982eef8b1711779155e18819c4028a80f27c60ec2bac862be060d60909eb1a0f4d069f23edc8c7163e4b61a29daddcf3060763192be490d5
diff --git a/dev-python/python-openstackclient/python-openstackclient-10.1.0.ebuild b/dev-python/python-openstackclient/python-openstackclient-10.1.0.ebuild
new file mode 100644
index 000000000000..c6e0c4e5e7c9
--- /dev/null
+++ b/dev-python/python-openstackclient/python-openstackclient-10.1.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pbr
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A client for the OpenStack APIs"
+HOMEPAGE="
+ https://opendev.org/openstack/python-openstackclient/
+ https://github.com/openstack/python-openstackclient/
+ https://pypi.org/project/python-openstackclient/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/cliff-4.13.0[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-2.7[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-4.14.0[${PYTHON_USEDEP}]
+ >=dev-python/osc-lib-4.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-3.22.0[${PYTHON_USEDEP}]
+ >=dev-python/python-cinderclient-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.27.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-2.0.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/wrapt-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # Depends on a specific runner
+ sed -e 's/test_command_has_logger/_&/' \
+ -i openstackclient/tests/unit/common/test_command.py || die
+ # we do not package hacking
+ rm openstackclient/tests/unit/test_hacking.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # functional tests require cloud instance access
+ eunittest -b openstackclient/tests/unit
+}
diff --git a/dev-python/python-pkcs11/Manifest b/dev-python/python-pkcs11/Manifest
index 2702c2ac2e1f..85b5764849d0 100644
--- a/dev-python/python-pkcs11/Manifest
+++ b/dev-python/python-pkcs11/Manifest
@@ -1,4 +1,2 @@
-DIST python_pkcs11-0.9.3.tar.gz 174748 BLAKE2B 1f69a75e907276ec518afbf391fd69388c77a85ec7408d89b2f869434c2be1315c892d4bcbafd03e60d67795b2254c9da3ab976e391e2165c8d79535159191d0 SHA512 571947182264df94e4c2ec3e5922f85c5826006089ec87f194d3b782a46db9e19140a2d5076e130872b5f2068d3402f959a4acabace23250a05e3d1d5cd77fb3
-DIST python_pkcs11-0.9.3.tar.gz.provenance 9543 BLAKE2B 1cd704f6480996a62135b82fa85394f02e8e25dc54a23ac899a55fadff4544f54e206fbbe869fd863ecc97adb0454b40edd95874c0cffde2ca6c625a067ba489 SHA512 0a75f6341b06874c7692abdfc0594bc93ea2769723e08c27e1ff50de1fae5350ebb97ea50638123be583dd6159b9effe6f2a477d4f7cdfff44591768bf822b5e
DIST python_pkcs11-0.9.4.tar.gz 180658 BLAKE2B 1621c8453313ae652660277dcb027e84a96b48788c33cdb964e2e0e3120d52146638ad729137f7e782db0cfc491ede786002d23286fd57e882ca65a6e0b40419 SHA512 f902107d4f3935f279b44c39d1dc261834e614a3573111898ff6f97f93f34d9aa1a66522b722188e5343072ee830b34795b7a7541205a09d1ab48c018b705640
DIST python_pkcs11-0.9.4.tar.gz.provenance 9559 BLAKE2B d3b1d9a3cfade54d6dfd53d51b190447b090131035d952a92f59f951a2209e69981a910485b150ebf8c70319d1bb229fb9ae2594501118280339ac66255aa2d1 SHA512 1e13ef9fc9486c51888519435194761208fdbbfe2cefdec2fa1da49c9acfc2022079300c777efdddb3937a8734bb9334ae7a9331f4f23de07b4e7f3d40fefec9
diff --git a/dev-python/python-pkcs11/files/python-pkcs11-0.9.3-refactor-under-src.patch b/dev-python/python-pkcs11/files/python-pkcs11-0.9.3-refactor-under-src.patch
deleted file mode 100644
index 52cbe0246349..000000000000
--- a/dev-python/python-pkcs11/files/python-pkcs11-0.9.3-refactor-under-src.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-diff --git a/MANIFEST.in b/MANIFEST.in
-index c426022..1bd1806 100644
---- a/MANIFEST.in
-+++ b/MANIFEST.in
-@@ -1,2 +1,2 @@
- graft extern/
--include pkcs11/*.pxd
-\ No newline at end of file
-+include src/pkcs11/*.pxd
-diff --git a/pyproject.toml b/pyproject.toml
-index 79b3e86..b119388 100644
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -53,7 +53,7 @@ combine-as-imports = true
-
- [tool.setuptools]
- ext-modules = [
-- {name = "pkcs11._pkcs11", sources = ["pkcs11/_pkcs11.pyx"]}
-+ {name = "pkcs11._pkcs11", sources = ["src/pkcs11/_pkcs11.pyx"]}
- ]
-
- [tool.cibuildwheel]
-@@ -68,9 +68,6 @@ archs = ["AMD64"]
- [tool.cibuildwheel.macos]
- archs = ["universal2"]
-
--[tool.setuptools.packages.find]
--include = ["pkcs11*"]
--
- [tool.coverage.run]
- plugins = ["Cython.Coverage"]
-
-diff --git a/pkcs11/__init__.py b/src/pkcs11/__init__.py
-similarity index 100%
-rename from pkcs11/__init__.py
-rename to src/pkcs11/__init__.py
-diff --git a/pkcs11/_pkcs11.pxd b/src/pkcs11/_pkcs11.pxd
-similarity index 99%
-rename from pkcs11/_pkcs11.pxd
-rename to src/pkcs11/_pkcs11.pxd
-index ba1903d..03f094a 100644
---- a/pkcs11/_pkcs11.pxd
-+++ b/src/pkcs11/_pkcs11.pxd
-@@ -6,7 +6,7 @@ from cython.view cimport array
-
- from pkcs11.exceptions import *
-
--cdef extern from '../extern/cryptoki.h':
-+cdef extern from '../../extern/cryptoki.h':
-
- ctypedef unsigned char CK_BYTE
- ctypedef CK_BYTE CK_BBOOL
-diff --git a/pkcs11/_pkcs11.pyx b/src/pkcs11/_pkcs11.pyx
-similarity index 99%
-rename from pkcs11/_pkcs11.pyx
-rename to src/pkcs11/_pkcs11.pyx
-index 27f692e..6a33094 100644
---- a/pkcs11/_pkcs11.pyx
-+++ b/src/pkcs11/_pkcs11.pyx
-@@ -1946,7 +1946,7 @@ _CLASS_MAP = {
- ObjectClass.CERTIFICATE: Certificate,
- }
-
--cdef extern from "../extern/load_module.c":
-+cdef extern from "../../extern/load_module.c":
- ctypedef struct P11_HANDLE:
- void *get_function_list_ptr
-
-diff --git a/pkcs11/attributes.py b/src/pkcs11/attributes.py
-similarity index 100%
-rename from pkcs11/attributes.py
-rename to src/pkcs11/attributes.py
-diff --git a/pkcs11/constants.py b/src/pkcs11/constants.py
-similarity index 100%
-rename from pkcs11/constants.py
-rename to src/pkcs11/constants.py
-diff --git a/pkcs11/defaults.py b/src/pkcs11/defaults.py
-similarity index 100%
-rename from pkcs11/defaults.py
-rename to src/pkcs11/defaults.py
-diff --git a/pkcs11/exceptions.py b/src/pkcs11/exceptions.py
-similarity index 100%
-rename from pkcs11/exceptions.py
-rename to src/pkcs11/exceptions.py
-diff --git a/pkcs11/mechanisms.py b/src/pkcs11/mechanisms.py
-similarity index 100%
-rename from pkcs11/mechanisms.py
-rename to src/pkcs11/mechanisms.py
-diff --git a/pkcs11/types.py b/src/pkcs11/types.py
-similarity index 100%
-rename from pkcs11/types.py
-rename to src/pkcs11/types.py
-diff --git a/pkcs11/util/__init__.py b/src/pkcs11/util/__init__.py
-similarity index 100%
-rename from pkcs11/util/__init__.py
-rename to src/pkcs11/util/__init__.py
-diff --git a/pkcs11/util/dh.py b/src/pkcs11/util/dh.py
-similarity index 100%
-rename from pkcs11/util/dh.py
-rename to src/pkcs11/util/dh.py
-diff --git a/pkcs11/util/dsa.py b/src/pkcs11/util/dsa.py
-similarity index 100%
-rename from pkcs11/util/dsa.py
-rename to src/pkcs11/util/dsa.py
-diff --git a/pkcs11/util/ec.py b/src/pkcs11/util/ec.py
-similarity index 100%
-rename from pkcs11/util/ec.py
-rename to src/pkcs11/util/ec.py
-diff --git a/pkcs11/util/rsa.py b/src/pkcs11/util/rsa.py
-similarity index 100%
-rename from pkcs11/util/rsa.py
-rename to src/pkcs11/util/rsa.py
-diff --git a/pkcs11/util/x509.py b/src/pkcs11/util/x509.py
-similarity index 100%
-rename from pkcs11/util/x509.py
-rename to src/pkcs11/util/x509.py
diff --git a/dev-python/python-pkcs11/python-pkcs11-0.9.3.ebuild b/dev-python/python-pkcs11/python-pkcs11-0.9.3.ebuild
deleted file mode 100644
index c32f8dcb7880..000000000000
--- a/dev-python/python-pkcs11/python-pkcs11-0.9.3.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-DISTUTILS_EXT=1
-PYPI_VERIFY_REPO=https://github.com/pyauth/python-pkcs11
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 edo pypi
-
-DESCRIPTION="PKCS#11/Cryptoki support for Python"
-HOMEPAGE="
- https://github.com/pyauth/python-pkcs11/
- https://pypi.org/project/python-pkcs11/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/asn1crypto[${PYTHON_USEDEP}]
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-libs/openssl
- dev-libs/softhsm
- dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/parameterized[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
-
-PATCHES=( "${FILESDIR}/${PN}-0.9.3-refactor-under-src.patch" )
-
-src_test() {
- local -x PKCS11_MODULE="${BROOT}/usr/$(get_libdir)/softhsm/libsofthsm2.so"
- local -x PKCS11_TOKEN_LABEL="TEST"
- local -x PKCS11_TOKEN_PIN="1234"
- local -x PKCS11_TOKEN_SO_PIN="5678"
-
- mkdir -p "${HOME}/.config/softhsm2" || die
- cat > "${HOME}/.config/softhsm2/softhsm2.conf" <<- EOF || die "Failed to create config"
- directories.tokendir = ${T}
- objectstore.backend = file
- EOF
-
- edo softhsm2-util --init-token --free \
- --label ${PKCS11_TOKEN_LABEL} \
- --pin ${PKCS11_TOKEN_PIN} \
- --so-pin ${PKCS11_TOKEN_SO_PIN}
-
- distutils-r1_src_test
-}
diff --git a/dev-python/python-subunit/Manifest b/dev-python/python-subunit/Manifest
index da721f275585..4c0576b1423a 100644
--- a/dev-python/python-subunit/Manifest
+++ b/dev-python/python-subunit/Manifest
@@ -1,3 +1 @@
-DIST subunit-1.4.4.gh.tar.gz 105357 BLAKE2B 5937c62357d9cb70e25242aa7678d89f79fed3d8d28fb5306bc21e28d643665e563078a84a9dd64b9192809e542d69218154227c8e5d281c861085d3175c73c4 SHA512 a666e45951afab70ea85cf9614d5e60c8884c0e2d7987e690bf7acedec5c544c412407b02134a125b4dca8772c0b1ce17fdbd9546d97ef06592119ec49b2a21f
-DIST subunit-1.4.5.gh.tar.gz 105136 BLAKE2B 59ed96bbc07e0cb571aa18720012d43e260a442e7d650eadc756510c7bfbeeff756371345801c8939a2a63740f11f86d0cb1f6c3b6045142fe63e547566e9d37 SHA512 2726b175d8386302ac3f736a69363dec039b4163d423aa4a3a5480b115aa518cc3bf5efee8c0176cf7d1cd2453f8e6531253709c9e7eda7fc0f48b3d3a6c7106
DIST subunit-1.4.6.gh.tar.gz 120837 BLAKE2B 03c3d6efa01ec285543fc38f241e517d3b10096d39078373be108c3a01c038d85f20df44650fcd1374ebd90bd9e4eae509d86d517a952c05c1ab256f286a3090 SHA512 23c96b46908c24fbf455ea67c87b1374b157190b76b1fe3875d23364b17922e30dd29e64e9c779d9440630d28e749de7c40d45bcd16b77304aa6df6f54c0a05d
diff --git a/dev-python/python-subunit/python-subunit-1.4.4-r1.ebuild b/dev-python/python-subunit/python-subunit-1.4.4-r1.ebuild
deleted file mode 100644
index bdbb5a98ac89..000000000000
--- a/dev-python/python-subunit/python-subunit-1.4.4-r1.ebuild
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 multilib-minimal autotools
-
-MY_P=subunit-${PV}
-DESCRIPTION="A streaming protocol for test results"
-HOMEPAGE="
- https://launchpad.net/subunit/
- https://pypi.org/project/python-subunit/
-"
-SRC_URI="
- https://github.com/testing-cabal/subunit/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0 BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="static-libs test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}]
- dev-python/iso8601[${PYTHON_USEDEP}]
-"
-DEPEND="
- ${RDEPEND}
- >=dev-libs/check-0.9.11[${MULTILIB_USEDEP}]
- >=dev-util/cppunit-1.13.2[${MULTILIB_USEDEP}]
- >=virtual/pkgconfig-0-r1
- test? (
- dev-python/fixtures[${PYTHON_USEDEP}]
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/testscenarios[${PYTHON_USEDEP}]
- <dev-python/testtools-2.8[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/subunit-1.4.0-werror.patch"
-)
-
-src_prepare() {
- mv all_tests.py python/ || die
-
- distutils-r1_src_prepare
- eautoreconf
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- ECONF_SOURCE=${S} \
- econf \
- --enable-shared \
- $(use_enable static-libs static)
-}
-
-multilib_src_compile() {
- default
- multilib_is_native_abi && distutils-r1_src_compile
-}
-
-python_test() {
- cd python || die
- "${EPYTHON}" -m testtools.run -v all_tests.test_suite ||
- die "Testing failed with ${EPYTHON}"
-}
-
-multilib_src_test() {
- multilib_is_native_abi && distutils-r1_src_test
-}
-
-multilib_src_install() {
- local targets=(
- install-include_subunitHEADERS
- install-pcdataDATA
- install-libLTLIBRARIES
- )
- emake DESTDIR="${D}" "${targets[@]}"
-
- multilib_is_native_abi && distutils-r1_src_install
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-python/python-subunit/python-subunit-1.4.5-r1.ebuild b/dev-python/python-subunit/python-subunit-1.4.5-r1.ebuild
deleted file mode 100644
index 5393f9181560..000000000000
--- a/dev-python/python-subunit/python-subunit-1.4.5-r1.ebuild
+++ /dev/null
@@ -1,97 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 multilib-minimal autotools
-
-MY_P=subunit-${PV}
-DESCRIPTION="A streaming protocol for test results"
-HOMEPAGE="
- https://launchpad.net/subunit/
- https://github.com/testing-cabal/subunit/
- https://pypi.org/project/python-subunit/
-"
-SRC_URI="
- https://github.com/testing-cabal/subunit/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0 BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="static-libs test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}]
- dev-python/iso8601[${PYTHON_USEDEP}]
-"
-DEPEND="
- ${RDEPEND}
- >=dev-libs/check-0.9.11[${MULTILIB_USEDEP}]
- >=dev-util/cppunit-1.13.2[${MULTILIB_USEDEP}]
- >=virtual/pkgconfig-0-r1
- test? (
- dev-python/fixtures[${PYTHON_USEDEP}]
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/testscenarios[${PYTHON_USEDEP}]
- <dev-python/testtools-2.9[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/subunit-1.4.0-werror.patch"
- # https://github.com/testing-cabal/subunit/commit/a72e9c343bd369cf840b29e074417fed5d05d59c
- "${FILESDIR}/subunit-1.4.5-testtools-2.8.patch"
-)
-
-src_prepare() {
- mv all_tests.py python/ || die
-
- distutils-r1_src_prepare
- eautoreconf
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- ECONF_SOURCE=${S} \
- econf \
- --enable-shared \
- $(use_enable static-libs static)
-}
-
-multilib_src_compile() {
- default
- multilib_is_native_abi && distutils-r1_src_compile
-}
-
-python_test() {
- cd python || die
- "${EPYTHON}" -m testtools.run -v all_tests.test_suite ||
- die "Testing failed with ${EPYTHON}"
-}
-
-multilib_src_test() {
- multilib_is_native_abi && distutils-r1_src_test
-}
-
-multilib_src_install() {
- local targets=(
- install-include_subunitHEADERS
- install-pcdataDATA
- install-libLTLIBRARIES
- )
- emake DESTDIR="${D}" "${targets[@]}"
-
- multilib_is_native_abi && distutils-r1_src_install
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-python/python-subunit/python-subunit-1.4.6.ebuild b/dev-python/python-subunit/python-subunit-1.4.6.ebuild
index f5645d739c63..0f26520d1b0f 100644
--- a/dev-python/python-subunit/python-subunit-1.4.6.ebuild
+++ b/dev-python/python-subunit/python-subunit-1.4.6.ebuild
@@ -23,7 +23,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="Apache-2.0 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="static-libs test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/python-tests/Manifest b/dev-python/python-tests/Manifest
index 94a0095b0d91..74c1238fd1c4 100644
--- a/dev-python/python-tests/Manifest
+++ b/dev-python/python-tests/Manifest
@@ -1,24 +1,16 @@
DIST Python-3.12.13.tar.xz 20801708 BLAKE2B 94b99c75e3aba1d1a953b5447f8ad6b7ebec921bc8cf32a9dfd449e574e4b7e2a010f0f267c31c859acec0092669203c71c90386c80203968126d9dbfb6ae85d SHA512 e1eb66f0b34581f0155e3ce25ba72cf0b4b1107672ed0ad3e86bcfe616945c9204c41ffc492f32b1066b9154913ff88343038967ad8711dd05e6f2332fdb735b
DIST Python-3.12.13.tar.xz.asc 963 BLAKE2B e6bc572fd207fe203cf8018bca89777c7033e46d25cc598b5715658f556d26b6f3b1652f13518850ad62a37254ab4ecf5f770197cb847306ffef96b747840e88 SHA512 903fd3baa7e29891bb00fb159ec9c43804a71002c4cd38902d25bf4e5167f856b37d211a5b1098ee60e1ea41f8a10a1596dd2382edc6d7367d55dd4154807fc7
-DIST Python-3.13.13.tar.xz 22957612 BLAKE2B ea7761b9c47df08949798fb7b618ecc111f2d352b0ca317f3b6320d227c4728d18e1d63c45a2d5958bcf73e47d38b71d94b057c74d5a016110f9eee7337e6c22 SHA512 0ef615150a52865fe7ca0d0e106cf98488f113a56e5ae1b1437673f03880423839d04abe1999006f9835c77d8802d5ae94a1bdf63d18074a9a19c81e6f7b69e8
-DIST Python-3.13.13.tar.xz.asc 963 BLAKE2B d8f5d8bfc3e0e7140669f5478d846e5d6d2c44a805f6e44fcfa8fa1f72575771695719179a20c6e42994f27b144e9a61ba8d5fa25805f40fbcaf6421c322e81d SHA512 21e5235cd9a9df3546370feb55ac32539e08601b79ee7b1e39006028f192be6be0434f2f8384fdcc993b70bde7471be3b36ce9850abf0473d1fe2c7cdc98304b
-DIST Python-3.14.4.tar.xz 23855332 BLAKE2B cb96ace0b3a0316ffc8f2fca1e9b67dc8df7d9fe81c1daff1d8883634683703a0e458d6eea61f01b3641bb76997b9e39c939a0c8c28ce5edd7b166e41b2cc1f8 SHA512 89a7f8b8a31f48d150badb4751df137d47d9014c9c422649a1a55aef5618aa7f0259dd18c151e6804fa8312c6a21544332a9f630ee81150dc00505637e62bb8c
-DIST Python-3.14.4.tar.xz.sigstore 5219 BLAKE2B 5d4e076139082e525c2758a64ca2cc4c05c69e601ffc9c402d5a041f8b867ee5f37264ded3bfa014cc979ccd3c573c208d2321ac5a3be93b906116bd0d8a5c37 SHA512 ec41d0d25fa3cd87cf62adcbe6b9e575cecc49f947a64ca997aa792ed22d93ef1bbc4dc2848e365dfb43b6c447dcf47417f9c68a5881d0ede8750fece9f97a87
-DIST Python-3.14.5.tar.xz 23903332 BLAKE2B 1b26d61d320ec1b3681d739231bc0e016336ba565063dbf3b270368c08aaa870fb4e2c731c5460e840278293cc72fee5bac003dfc05a8bacb080f684dabcd677 SHA512 efbaf629703cd004f6b7bc75fb16df794185589adaf8807cd45928f212271045a399df3cd9573e47c8708fb5c5002f9d4efe4e41dde4313b81a3e9d73158769f
-DIST Python-3.14.5.tar.xz.sigstore 5411 BLAKE2B e0fb33b98c39b6759f6bfa99ea44dd93cc92dcc8a897a0faef318b1ba4a3b285a7cfe725076cc3f355e1b627c85b41e9e71579fee97b7e61fc6c79780e9d8d10 SHA512 459f6d648fde31e55a4d53d6a9e878e3d2361c33c9ce0d7e2e2b8f8df81325bb7d0764742364745c448a1102f5b3873d9ae3634bf1a8f88bbc8b12fe2ac6acd8
-DIST Python-3.14.5rc1.tar.xz 23894408 BLAKE2B 7b894cc9fbc6df9255ad04aed506cc7751a8f59295a1d491e150731b34b2197802f3d12cc51c6412247c5a23c051f3f90ce69b969e0bc0a74cffb11e62de58e9 SHA512 67ede84d59046e3b413643449a7eced8cefcd908238b8a34d2ac38507d967201695c62c22464f1bfd51669daf306995262279c7bbfc5a25998ed867a3d743b38
-DIST Python-3.14.5rc1.tar.xz.sigstore 5363 BLAKE2B ad8ed1f9076ce67c33b290cdb6e24846de1642ce2deece0ec42d8adca67e7b403a53f7d64064c8c9d6d7ce05f8f1a62f5069a2cc85721160902b98cfebd254f9 SHA512 26a9129b8df1d5b83f6d81bdc49c78a5f45542ff9e56a3ecfc5b9480b5a0e0ee44b2fd3d1dd7775458c9076b4b27d891f149f3b24304f2456b5a0c5615e6ea12
-DIST Python-3.15.0b1.tar.xz 35178032 BLAKE2B 1bbfdeb373fa3a26b9d957084edc9bfb7f81ae579cd9bf9fba1a43a3bf409a2e01512c56c642eb47b6e1a3c0fe44f182d72a15498b90a75d424b6325d0fd97a1 SHA512 ce486f903aa8690f1725565c3fdc0034a983a60952a96a950fa7c89ab899a71cabed4a9252c497e0474f206f83ff02e2793cf975c345825324b85bced750c270
-DIST Python-3.15.0b1.tar.xz.sigstore 5411 BLAKE2B a1697c5239559c6871d3299c3dfa77edf0319ee03be12f6b3bd0b424e05a81b19249a98a316e5e6f8d403b04392ba69910ab8cef4ed86cf0d4a92fe04501a651 SHA512 72a4e1cfd48ba7ead6d5896d1441cf8c0991549beb28bc546534c4e1296495c9874dc7941239f8f5ed833b038bd66437868fd121c89a123d62cad157b744a4c2
+DIST Python-3.13.14.tar.xz 23021880 BLAKE2B 8f60f704c06fbfc2ee8ae3b2aa5c74cb5941f609baf74b3625eb37929933d2a3c806e9257c7d7f860d775a94454ed3ad90f50402ddd110b8bb32c40879bf66ec SHA512 0790da65f8ce88a13b06d3b287ace5a1f36b0a8f630a3af00fbbdf93b6ef0944dea05173a20c9e1336d280ef9a97ae2b95a44a4b487a7bbb71fda53b6331c0eb
+DIST Python-3.13.14.tar.xz.asc 963 BLAKE2B d500bc16d5a1a1fb999b6c98ed076077a7fa8ab55b437a676c5f20f4665d27ee4644653e55a82ab78f2be18bb38b2cfa95efe5f39d7d39db3fe6c4b227c5d6ad SHA512 a5cfab862ac03447838d13c4d1a9b085a8c8a947c958fd42cecb42929817b1448c1b23a124c87456abd43a1cadfcfb427f394eead9eaf0b84f3296fa263dba6c
+DIST Python-3.14.6.tar.xz 23921184 BLAKE2B d3038309c02fb260ee54a4151c67999930099455a993e8b712ec5d7cac97fcd8fc847288b0c93ca8c30d5acbf79325e6d54d16019b7daf51ade982208548386e SHA512 90a82f46c28f0fca613b67358fdc57c145ab05d20fb56bf3bc0c9e4e54947c7d30fbaa6856c41a41909237a9e601d1a7d19579d4b25c7a784ebcfe9012defc41
+DIST Python-3.14.6.tar.xz.sigstore 5539 BLAKE2B f48bd02fb1588306063d2a05b905bb640b23d73a404f39c6b1100b457d71bac296aaf753f24eb25c7bf060cf73972179d6e8b123f6931e69067480ded50e5d01 SHA512 461b8b4b8af0af507681fd1dd684c3559edfcc6cd79454ee0635f8e2d1606e87528ad24c9142bca2eb1ba4a70aeb123750cb9e6c181de6675205849d8cb58a48
DIST Python-3.15.0b2.tar.xz 35381676 BLAKE2B 59834dc8301dcc9d7e25fd3faf6060a6755443f3782fd3f035d82896468013d01be1b558f7d5c7099b32d49256b09055fde324660d66a52900f519f75acb5556 SHA512 fae17efc3bd2604fdff2d63e0afeac47562165a5da2e1e027f4126b4f8bbb4957f3a2f406d6db23a20c8881fad108385b4b2afb53482075dbe16a690778ccd4a
DIST Python-3.15.0b2.tar.xz.sigstore 5583 BLAKE2B a766583eb8340ac3bef93ac0bde0ffa66f4680361bb369b3baccd715eb24a8a1f2e5f1ba049e1e8d3c7c53f41a2fe4b0402104156f7c0609355a18dbb24c99e2 SHA512 78f437419f67b10d556ec2304e9f46af4ee0114434e1c51594ccf202aa98ae3b733f4022aeac8fc1afdeeb29fda9328f855dd4914d38318c9ec965b45358153c
DIST python-gentoo-patches-3.12.10.tar.xz 10744 BLAKE2B 2abf4874018156d6735cf8604c410dc4726ac9365bc7500abe6b82472aad100aac7268957256692f4275b02965773e58178519ed8038e121f1ffa3c53770d238 SHA512 62066405aa00f46f9645e9c747d53bb93bf510fc791d14d49e00edfd79981778e6c8e07bfa7bac88d76407a0ffd8f7321dea89f81d90b01dbf13f4d381b6a1a3
DIST python-gentoo-patches-3.12.13_p1.tar.xz 12408 BLAKE2B 2b232c2742eafcb803713c837b4ddaa38f45c88e707ec272571739570f9e2e5c94644681369d887992eadf5f0c1178489f1aa3a7d8163a2aa4ce6a86732e73da SHA512 e06d78ad24c9fbc3fa9c47b25ba722342ddd140aa30f624b41d605dae40d00ab956d879a247db2d7980c063a1472de40587a0d3cd6947e560aa7e8d0e4f89309
-DIST python-gentoo-patches-3.13.13_p1.tar.xz 9920 BLAKE2B 81ecba755005b288fcbd8fa1b6a1f24ae0b19d8c8f9c54fd37935526145a458605b04b8492d1e15da4146313e7e2dd86fdabf509e8cf3ca2f48a23dac055145b SHA512 3b6f801296726a03ca6026e1434d7fbbc6d2aeb6cd9f0a83378d3be8cd011afce71e8341306feb8e521fe60f0f960b9885d6152fed44f2d0b604761101735d74
+DIST python-gentoo-patches-3.13.14.tar.xz 9360 BLAKE2B 257a43992b857d44881174b36b0940fab3f879060938fe6e6464ae671832a3af624a0cc6f012e44ee344a34d0a8da0c898a29176029bfab70086434fbd3c3b99 SHA512 0084ffc35ff81a7056dd7a3624083ed957fbe482b1cbca9e401ef5851e0046b82b9102f4cf358f2974d7a7dfb3e21e96dcafe6c207417fa01834b9d10a2ee8d6
DIST python-gentoo-patches-3.13.3.tar.xz 8336 BLAKE2B 66393886fbd034eb14732e4f81f5798e77650ea3fe1c4f8176bd93808b711c8977a53c3f52be6c9b97a368299258b851d9bdb6d4c8e0c75695c6aea784d48b44 SHA512 c1ed31d6aaef81addf786c2ccc1013309b122b791c42fe10e467a677d0db8f149e8b1cc21928c146298918c7ceb851b4b19d1e59f491cb161004e1c9386db289
DIST python-gentoo-patches-3.14.0b1.tar.xz 5680 BLAKE2B 514b3edc3025e5bf675d371b5ada17dea426856edf1fb6095c2ee400eae95bd4265ef81fe593ae9338e801e7d0a25b1d5ba2d05ca563fd9dd020114b13575746 SHA512 74289e42cf532b54bb1b66a283ec19156f8a36ba38764209c133842314c9efb2ce2ebcba5aa9213bcf7fc0c8a5ca9b6e7adbd5dbfa4397233136d7cd55f53ee7
-DIST python-gentoo-patches-3.14.4_p1.tar.xz 9016 BLAKE2B 39bee4db44684a087b3bf6793a22d1655c2a90fabb56ea0421ded013cf53e66ac83cb3016d469f06c5d7cab7b8d22138bc4c1e01843a174299e1af0f88e5818c SHA512 a299212bd3d4a70c83a1efe1ec155f7b13829aa10aecf638de0889cf7b8ebe5227d3f14a1d51dac18fa4ae19b1060639490e61f2c1f52deadd40065c07b317f2
-DIST python-gentoo-patches-3.14.5.tar.xz 10308 BLAKE2B 1ce7b8f33d15d27805894a6f3614fbcf280639fa84bb3605c1a1ee596282235f79ba2399b5d2385a06b0b36c8a6bf162ae4e1b15a67612bdca67f48e06a2fae2 SHA512 f2a806bf753e696a0b7474fd0f11c0f5d9a8043f72f478a37a79f7a9ec843cb31cc959aa3fc38670c1a8ac012554a7d3d4899d7e615cee70e21a7dd7afc2da9a
-DIST python-gentoo-patches-3.14.5rc1.tar.xz 8436 BLAKE2B 527156383cba6288df15a0bb0718960ba2a30428a2367d014a11b22e598c63d2c912480e37b064233e05590d1112b6c3c4ac1fa9db392ac11a98b8ec54847d30 SHA512 8adb64ca0bc1c653fb04a71bd6b40415ae3ca4761edf578199c5cc1d1da392b239ca07af395114970467c8233027c5eefb4b869bcab4379d5a7310a286aaec53
+DIST python-gentoo-patches-3.14.6.tar.xz 10312 BLAKE2B 3415bb7859cdd8754987afdc7d0c793833755698a9a6b7e7b7c75d2c203109640cf5c1aff49ea38419273959479fb745cf956cae263515d82c0e7e67155be5c2 SHA512 19cb6f1424165153d2834b310ef6f8a0ac047351126191457fc0ce49238a6b21fe8a427897a5ce19bdd20076abc2189c71175981a67ab07dcbdec759b80005ab
DIST python-gentoo-patches-3.15.0b1.tar.xz 3420 BLAKE2B 266ada600b587ff430a21c38d7585fcdb2d320a4160dd8e93dac3a6517faa685eadda9a9b14b271c6380a78112c83f39fc30bbbece10bfc7e6cde2eba61103fa SHA512 9f42700e03051fbadf3b9e6f7163077ab6b8c1f406e5bfc99560b590dbbabe72e5b38cd8c16b21aec75c4e760af549bffef6d76e65f390d61cd8840894949565
DIST python-gentoo-patches-3.15.0b2.tar.xz 3436 BLAKE2B fa2128b899f2d93078058ccd3e47b780bd092a841b07add94da61a55bb1f9846ec1fa5e00bcd78fcdd1d7da80fdf1dbabcc5d644a70cebce2018c457b186c74a SHA512 e92e87c027c8d777faae20b264cd83353dbb23d15679e99465f014277d02078b8c68fce3723e176cbebd94ac2057e5a9703f0ae5f5691e934b74947735ec3a86
diff --git a/dev-python/python-tests/python-tests-0.3.14.4_p1.ebuild b/dev-python/python-tests/python-tests-0.3.14.4_p1.ebuild
deleted file mode 100644
index 59baedd962ea..000000000000
--- a/dev-python/python-tests/python-tests-0.3.14.4_p1.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 2024-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{13..14} )
-VERIFY_SIG_METHOD=sigstore
-
-inherit python-r1 verify-sig
-
-REAL_PV=${PV#0.}
-MY_PV=${REAL_PV}
-MY_P="Python-${MY_PV%_p*}"
-PYVER=$(ver_cut 2-3)t
-PATCHSET="python-gentoo-patches-${MY_PV}"
-
-DESCRIPTION="Test modules from dev-lang/python"
-HOMEPAGE="
- https://www.python.org/
- https://github.com/python/cpython/
-"
-SRC_URI="
- https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz
- https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz
- verify-sig? (
- https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.sigstore
- )
-"
-S="${WORKDIR}/${MY_P}/Lib"
-
-LICENSE="PSF-2"
-SLOT="${PYVER}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-# enable by default to help CI handle it (we have no additional deps)
-IUSE="+python_targets_${PYTHON_COMPAT[0]}"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="
- ${PYTHON_DEPS}
- ~dev-lang/python-${PV}:${PYVER}
-"
-BDEPEND="
- ${PYTHON_DEPS}
-"
-
-# https://www.python.org/downloads/metadata/sigstore/
-VERIFY_SIG_CERT_IDENTITY=hugo@python.org
-VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth
-
-src_unpack() {
- if use verify-sig; then
- verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore}
- fi
- default
-}
-
-src_prepare() {
- local PATCHES=(
- "${WORKDIR}/${PATCHSET}"
- )
-
- cd .. || die
- default
-}
-
-src_install() {
- python_setup
- # keep in sync with TESTSUBDIRS in Makefile.pre.in
- python_moduleinto "/usr/lib/python${PYVER}"
- python_domodule test
- python_moduleinto "/usr/lib/python${PYVER}/idlelib"
- python_domodule idlelib/idle_test
-}
diff --git a/dev-python/python-tests/python-tests-0.3.14.5_rc1.ebuild b/dev-python/python-tests/python-tests-0.3.14.5_rc1.ebuild
deleted file mode 100644
index 5eb635e5eab7..000000000000
--- a/dev-python/python-tests/python-tests-0.3.14.5_rc1.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 2024-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{13..14} )
-VERIFY_SIG_METHOD=sigstore
-
-inherit python-r1 verify-sig
-
-REAL_PV=${PV#0.}
-MY_PV=${REAL_PV/_/}
-MY_P="Python-${MY_PV%_p*}"
-PYVER=$(ver_cut 2-3)t
-PATCHSET="python-gentoo-patches-${MY_PV}"
-
-DESCRIPTION="Test modules from dev-lang/python"
-HOMEPAGE="
- https://www.python.org/
- https://github.com/python/cpython/
-"
-SRC_URI="
- https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz
- https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz
- verify-sig? (
- https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.sigstore
- )
-"
-S="${WORKDIR}/${MY_P}/Lib"
-
-LICENSE="PSF-2"
-SLOT="${PYVER}"
-if [[ ${PV} != *_rc* ]]; then
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-fi
-# enable by default to help CI handle it (we have no additional deps)
-IUSE="+python_targets_${PYTHON_COMPAT[0]}"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="
- ${PYTHON_DEPS}
- ~dev-lang/python-${PV}:${PYVER}
-"
-BDEPEND="
- ${PYTHON_DEPS}
-"
-
-# https://www.python.org/downloads/metadata/sigstore/
-VERIFY_SIG_CERT_IDENTITY=hugo@python.org
-VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth
-
-src_unpack() {
- if use verify-sig; then
- verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore}
- fi
- default
-}
-
-src_prepare() {
- local PATCHES=(
- "${WORKDIR}/${PATCHSET}"
- )
-
- cd .. || die
- default
-}
-
-src_install() {
- python_setup
- # keep in sync with TESTSUBDIRS in Makefile.pre.in
- python_moduleinto "/usr/lib/python${PYVER}"
- python_domodule test
- python_moduleinto "/usr/lib/python${PYVER}/idlelib"
- python_domodule idlelib/idle_test
-}
diff --git a/dev-python/python-tests/python-tests-0.3.14.5.ebuild b/dev-python/python-tests/python-tests-0.3.14.6.ebuild
index 5eb635e5eab7..5eb635e5eab7 100644
--- a/dev-python/python-tests/python-tests-0.3.14.5.ebuild
+++ b/dev-python/python-tests/python-tests-0.3.14.6.ebuild
diff --git a/dev-python/python-tests/python-tests-0.3.15.0_beta1.ebuild b/dev-python/python-tests/python-tests-0.3.15.0_beta1.ebuild
deleted file mode 100644
index 5d64b5152fd6..000000000000
--- a/dev-python/python-tests/python-tests-0.3.15.0_beta1.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 2024-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{13..14} )
-VERIFY_SIG_METHOD=sigstore
-
-inherit python-r1 verify-sig
-
-REAL_PV=${PV#0.}
-MY_PV=${REAL_PV/_beta/b}
-MY_P="Python-${MY_PV%_p*}"
-PYVER=$(ver_cut 2-3)t
-PATCHSET="python-gentoo-patches-${MY_PV}"
-
-DESCRIPTION="Test modules from dev-lang/python"
-HOMEPAGE="
- https://www.python.org/
- https://github.com/python/cpython/
-"
-SRC_URI="
- https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz
- https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz
- verify-sig? (
- https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.sigstore
- )
-"
-S="${WORKDIR}/${MY_P}/Lib"
-
-LICENSE="PSF-2"
-SLOT="${PYVER}"
-if [[ ${PV} != *_* ]]; then
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-fi
-# enable by default to help CI handle it (we have no additional deps)
-IUSE="+python_targets_${PYTHON_COMPAT[0]}"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="
- ${PYTHON_DEPS}
- ~dev-lang/python-${PV}:${PYVER}
-"
-BDEPEND="
- ${PYTHON_DEPS}
-"
-
-# https://www.python.org/downloads/metadata/sigstore/
-VERIFY_SIG_CERT_IDENTITY=hugo@python.org
-VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth
-
-src_unpack() {
- if use verify-sig; then
- verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore}
- fi
- default
-}
-
-src_prepare() {
- local PATCHES=(
- "${WORKDIR}/${PATCHSET}"
- )
-
- cd .. || die
- default
-}
-
-src_install() {
- python_setup
- # keep in sync with TESTSUBDIRS in Makefile.pre.in
- python_moduleinto "/usr/lib/python${PYVER}"
- python_domodule test
- python_moduleinto "/usr/lib/python${PYVER}/idlelib"
- python_domodule idlelib/idle_test
-}
diff --git a/dev-python/python-tests/python-tests-3.13.13_p1.ebuild b/dev-python/python-tests/python-tests-3.13.14.ebuild
index 3830e23ddcf7..3830e23ddcf7 100644
--- a/dev-python/python-tests/python-tests-3.13.13_p1.ebuild
+++ b/dev-python/python-tests/python-tests-3.13.14.ebuild
diff --git a/dev-python/python-tests/python-tests-3.14.4_p1.ebuild b/dev-python/python-tests/python-tests-3.14.4_p1.ebuild
deleted file mode 100644
index a3b9807c1d6f..000000000000
--- a/dev-python/python-tests/python-tests-3.14.4_p1.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 2024-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{13..14} )
-VERIFY_SIG_METHOD=sigstore
-
-inherit python-r1 verify-sig
-
-MY_PV=${PV}
-MY_P="Python-${MY_PV%_p*}"
-PYVER=$(ver_cut 1-2)
-PATCHSET="python-gentoo-patches-${MY_PV}"
-
-DESCRIPTION="Test modules from dev-lang/python"
-HOMEPAGE="
- https://www.python.org/
- https://github.com/python/cpython/
-"
-SRC_URI="
- https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
- https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz
- verify-sig? (
- https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore
- )
-"
-S="${WORKDIR}/${MY_P}/Lib"
-
-LICENSE="PSF-2"
-SLOT="${PYVER}"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-# enable by default to help CI handle it (we have no additional deps)
-IUSE="+python_targets_${PYTHON_COMPAT[0]}"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="
- ${PYTHON_DEPS}
- ~dev-lang/python-${PV}:${PYVER}
-"
-BDEPEND="
- ${PYTHON_DEPS}
-"
-
-# https://www.python.org/downloads/metadata/sigstore/
-VERIFY_SIG_CERT_IDENTITY=hugo@python.org
-VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth
-
-src_unpack() {
- if use verify-sig; then
- verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore}
- fi
- default
-}
-
-src_prepare() {
- local PATCHES=(
- "${WORKDIR}/${PATCHSET}"
- )
-
- cd .. || die
- default
-}
-
-src_install() {
- python_setup
- # keep in sync with TESTSUBDIRS in Makefile.pre.in
- python_moduleinto "/usr/lib/python${PYVER}"
- python_domodule test
- python_moduleinto "/usr/lib/python${PYVER}/idlelib"
- python_domodule idlelib/idle_test
-}
diff --git a/dev-python/python-tests/python-tests-3.14.5_rc1.ebuild b/dev-python/python-tests/python-tests-3.14.5_rc1.ebuild
deleted file mode 100644
index 9f9623be450f..000000000000
--- a/dev-python/python-tests/python-tests-3.14.5_rc1.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 2024-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{13..14} )
-VERIFY_SIG_METHOD=sigstore
-
-inherit python-r1 verify-sig
-
-MY_PV=${PV/_/}
-MY_P="Python-${MY_PV%_p*}"
-PYVER=$(ver_cut 1-2)
-PATCHSET="python-gentoo-patches-${MY_PV}"
-
-DESCRIPTION="Test modules from dev-lang/python"
-HOMEPAGE="
- https://www.python.org/
- https://github.com/python/cpython/
-"
-SRC_URI="
- https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
- https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${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}"
-if [[ ${PV} != *_rc* ]]; then
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-fi
-# enable by default to help CI handle it (we have no additional deps)
-IUSE="+python_targets_${PYTHON_COMPAT[0]}"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="
- ${PYTHON_DEPS}
- ~dev-lang/python-${PV}:${PYVER}
-"
-BDEPEND="
- ${PYTHON_DEPS}
-"
-
-# https://www.python.org/downloads/metadata/sigstore/
-VERIFY_SIG_CERT_IDENTITY=hugo@python.org
-VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth
-
-src_unpack() {
- if use verify-sig; then
- verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore}
- fi
- default
-}
-
-src_prepare() {
- local PATCHES=(
- "${WORKDIR}/${PATCHSET}"
- )
-
- cd .. || die
- default
-}
-
-src_install() {
- python_setup
- # keep in sync with TESTSUBDIRS in Makefile.pre.in
- python_moduleinto "/usr/lib/python${PYVER}"
- python_domodule test
- python_moduleinto "/usr/lib/python${PYVER}/idlelib"
- python_domodule idlelib/idle_test
-}
diff --git a/dev-python/python-tests/python-tests-3.14.5.ebuild b/dev-python/python-tests/python-tests-3.14.6.ebuild
index 9f9623be450f..d1e4c9df1e24 100644
--- a/dev-python/python-tests/python-tests-3.14.5.ebuild
+++ b/dev-python/python-tests/python-tests-3.14.6.ebuild
@@ -30,7 +30,7 @@ S="${WORKDIR}/${MY_P}/Lib"
LICENSE="PSF-2"
SLOT="${PYVER}"
if [[ ${PV} != *_rc* ]]; then
- 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"
fi
# enable by default to help CI handle it (we have no additional deps)
IUSE="+python_targets_${PYTHON_COMPAT[0]}"
diff --git a/dev-python/python-tests/python-tests-3.15.0_beta1.ebuild b/dev-python/python-tests/python-tests-3.15.0_beta1.ebuild
deleted file mode 100644
index 5ed96d1087f8..000000000000
--- a/dev-python/python-tests/python-tests-3.15.0_beta1.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 2024-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{13..14} )
-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://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${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}"
-if [[ ${PV} != *_* ]]; then
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-fi
-# 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/pythonnet/pythonnet-3.0.5-r1.ebuild b/dev-python/pythonnet/pythonnet-3.0.5-r2.ebuild
index 6fbce23b8c45..6fbce23b8c45 100644
--- a/dev-python/pythonnet/pythonnet-3.0.5-r1.ebuild
+++ b/dev-python/pythonnet/pythonnet-3.0.5-r2.ebuild
diff --git a/dev-python/pytz/Manifest b/dev-python/pytz/Manifest
index ce6163ab05bc..10ac78cad9a4 100644
--- a/dev-python/pytz/Manifest
+++ b/dev-python/pytz/Manifest
@@ -1,4 +1,2 @@
-DIST pytz-2026.1.post1.tar.gz 321088 BLAKE2B 3ce2028abec2a07c753bdd822cb8c86d043e76322321fb96f8ccba19252f46d78a3bc21a7b63feaf2bf922b4aa97854e763fc352428ada9a9b576ecc9c9d0d0c SHA512 58e9ecf500c8945de73c32263bed54fe80770e948f3ad539670927a61b9d099f1a21d4948c5913b0721183d5a77bbf83b7b148f2d1b3bc659b669c4a8eae63f8
-DIST pytz-2026.1.post1.tar.gz.provenance 9503 BLAKE2B 709cc5bead68d64fcc511e734d945b7120517395b74fdd2d363c945bb67960e18644df8328c9b5a92e9a80f2e6be69d5352c390bc3c2b2087fb882108d7d8094 SHA512 2fb3f3d78a71927fb8971ae60360d97ee6c40cfd665f17ca0a5fffd04ca1cc2b67ac3e64faac7c3288abe826b86b97d7fbfb0565ac489e6c625928ce22ab9d74
DIST pytz-2026.2.tar.gz 320861 BLAKE2B b05b2e3852595dc2b42d38e3c9604410af5889e4110cb28918874e9fe4a6340bda2bbfb469b8f5832d1cb6adb3ac19cc427d5b1d5361927d3a978c1cdeb134cc SHA512 b980715c2bf344734c7c2b1b83e94297a8a501b76e6e728553d99ddc1726aff4eb972c025e482d7dbbd4f11f706b573b5e7a1c030c315fdf556f7ca524436989
DIST pytz-2026.2.tar.gz.provenance 9433 BLAKE2B 326250578fc445ebae1443b137243391a17b4d86c1a2ed3735676d89bfecd7626ee582f232901134038cea1ebea79a2e9331d94e655dce474fe165d9deee328a SHA512 655c17ef02c19c46689a2a450b8969b4fe74e01988f3a7e2994b343dadb2b509479dfa0467c5a379060ec52bab7823f5c52912e83e7bf6b9ad19885f1934c7e4
diff --git a/dev-python/pytz/pytz-2026.1_p1.ebuild b/dev-python/pytz/pytz-2026.1_p1.ebuild
deleted file mode 100644
index 606702db015d..000000000000
--- a/dev-python/pytz/pytz-2026.1_p1.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_VERIFY_REPO=https://github.com/stub42/pytz
-PYTHON_COMPAT=( python3_{13..14} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="World timezone definitions for Python"
-HOMEPAGE="
- https://pythonhosted.org/pytz/
- https://github.com/stub42/pytz/
- https://pypi.org/project/pytz/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- || (
- >=sys-libs/timezone-data-2023b
- sys-libs/glibc[vanilla]
- )
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- )
-"
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # unbundle timezone-data
- rm -r pytz/zoneinfo || die
- # remove hardcoded list of all timezones but leave subjective set
- # of "common timezones"
- sed -i -e '/^_all_timezones_unchecked/,/^all_timezones_set/d' pytz/__init__.py || die
- eapply "${FILESDIR}"/pytz-2023.2-system-tzinfo.patch
-}
-
-python_test() {
- "${EPYTHON}" pytz/tests/test_tzinfo.py -v ||
- die "Tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/pytz/pytz-2026.2.ebuild b/dev-python/pytz/pytz-2026.2.ebuild
index 25e025d264d4..606702db015d 100644
--- a/dev-python/pytz/pytz-2026.2.ebuild
+++ b/dev-python/pytz/pytz-2026.2.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/pyzotero/Manifest b/dev-python/pyzotero/Manifest
index f76f44cd9ee4..f9067a20899b 100644
--- a/dev-python/pyzotero/Manifest
+++ b/dev-python/pyzotero/Manifest
@@ -1,4 +1,2 @@
-DIST pyzotero-1.12.0.tar.gz 554114 BLAKE2B 53d6a838e8514dcc103d2580ddcfd500b17ca96ecea44806f1a6676e1d5350a28d979800959245ea8d067c5e7ba5e37bb479e7245adfd9678720884b8a9cbf33 SHA512 554f92d14b2de764c95996395684409992ac86f4cac0ea4c88cb734caa3c09dc00b17588145f7be2d9cab985a290637ebd73cf4882f747253ab4fcc5021a5e20
-DIST pyzotero-1.12.0.tar.gz.provenance 9605 BLAKE2B b1f195f17903a038eacbe2b3123070112345c68fb6acadb806a9561f34a8f9640a9f910130f426b550ff1a2d0dd4e1e7623aa9c235f9756c385900351b079a6a SHA512 91ced5d19fbe5040a8e2827f27caa74824375b4938f9cbe87c18f318e5aec8cd8c47e6173c85eb09b779443ee71385cff810b04a897d9446758fec42a97b35a7
-DIST pyzotero-1.13.0.tar.gz 554121 BLAKE2B 6840cb39fe045cea48571045e8d1b3ca407f03127c7a3bd6a8bea0ea1597d0be09dba494582946729e759d8e7b37572f3b04088c6626b23a5c6a8020a58320f6 SHA512 d5ec5f62cef777454c36cdddc2b6ef7014a6d56e506b682ae990a609e1ba9f2b780af84e4533e6a158b2109b022a991be4097021f06788366a32e6d857db11a2
-DIST pyzotero-1.13.0.tar.gz.provenance 9653 BLAKE2B 67430d9a4b833d7f37ed4a9422fd2a025238be4a13a2bc6df7a596a0fc71b9eaa3dc9adb513626fcc71fa752cad8f39afe28d8360c14ca95f55d102b11c2dcaf SHA512 248e35a43a6a211c73455d6fd635cec12c3a9abff70eaa2f772a7fb7c98c249859985695e3e1ba55060aa326e1a7c9b9db8a165a7765c26711c2c4580786cd52
+DIST pyzotero-1.13.1.tar.gz 554937 BLAKE2B 5dcd315a57d6b725d97529a97a99703b51b0c4e32759a321a8b22f9ec2b61c294fe4f4a52982ba81c1f1158cafeef6f92d833075fb9c7ce4b522dc6568bb4d50 SHA512 b77c3c2c382564269595b0b3ba3c4a8986df0bf4547336cc422a08a07cf3684a42dbc72219f597656f3d5efbab2a46997f3529e2e4a6ba90a891b166c671c53f
+DIST pyzotero-1.13.1.tar.gz.provenance 9551 BLAKE2B 9f4d4284fbe94d0420faf7608a268eaaa486d8712b39d15c0d616b44785fffad435bdea2b2ed18bddf9bebde7586e1159e26021a9e3b10af645c2614b06758dc SHA512 fb08092d7ff8301adfa8b4e35634d5fc3c7d58dc8da8a34551a518030d9b6ce728a0cb42e74caf73dd168b27c13303f0bfdd248c943de2bffc3df1e2c0218bf3
diff --git a/dev-python/pyzotero/pyzotero-1.13.0.ebuild b/dev-python/pyzotero/pyzotero-1.13.0.ebuild
deleted file mode 100644
index 5fe73cdbf3b0..000000000000
--- a/dev-python/pyzotero/pyzotero-1.13.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=uv-build
-PYPI_VERIFY_REPO=https://github.com/urschrei/pyzotero
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A Python client for the Zotero API"
-HOMEPAGE="
- https://github.com/urschrei/pyzotero/
- https://pypi.org/project/pyzotero/
-"
-
-LICENSE="BlueOak-1.0.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- app-text/zotero-bin
- <dev-python/bibtexparser-2[${PYTHON_USEDEP}]
- >=dev-python/bibtexparser-1.4.3[${PYTHON_USEDEP}]
- >=dev-python/feedparser-6.0.12[${PYTHON_USEDEP}]
- >=dev-python/httpx-0.28.1[${PYTHON_USEDEP}]
- >=dev-python/whenever-0.8.8[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- >=dev-python/trove-classifiers-2024.7.2[${PYTHON_USEDEP}]
- test? (
- dev-python/ipython[${PYTHON_USEDEP}]
- >=dev-python/pytz-2025.2[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- >=dev-python/tzdata-2025.2[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx doc \
- dev-python/sphinx-rtd-theme
-EPYTEST_PLUGINS=( pytest-asyncio )
-distutils_enable_tests pytest
-
-python_test() {
- > tests/__init__.py || die
- epytest -o addopts=
-}
diff --git a/dev-python/pyzotero/pyzotero-1.12.0.ebuild b/dev-python/pyzotero/pyzotero-1.13.1.ebuild
index 5fe73cdbf3b0..5fe73cdbf3b0 100644
--- a/dev-python/pyzotero/pyzotero-1.12.0.ebuild
+++ b/dev-python/pyzotero/pyzotero-1.13.1.ebuild
diff --git a/dev-python/readme-renderer/Manifest b/dev-python/readme-renderer/Manifest
index 52ce9a94e34a..5d56feaf5d18 100644
--- a/dev-python/readme-renderer/Manifest
+++ b/dev-python/readme-renderer/Manifest
@@ -1 +1,3 @@
DIST readme_renderer-44.0.tar.gz 32056 BLAKE2B d496f0ee8e0ddca1fbca0ccd8185b63169c23d2bd071b0e34aa3b1382052b3ef882737d361249597c42d8897f4188cf5cc1035d1b1115a242db3a6ce326bad7d SHA512 f68b1d9f7352ce07537d82a096e0d31000b7395a5809e7d160083071dfb8fdae38dc7a3460f42abb7aec5d932866a20bbe2b2fc09480cf4505add1bc403c34c8
+DIST readme_renderer-45.0.tar.gz 36172 BLAKE2B 9c21a336e04cb5435d8eb24b4662f5f1c45be0df93eaa1fcc8cd9a80eaef75fe0923a6cfab6562beb398360f4b1817d184298f0c1cd667eda1233555c075cb64 SHA512 719579e5f4e46776aaae34ce8a519bf2a57cf0aad967b363a8de4ef67d3911606ec46cb285a5b7bc896e01155d8b6013045c2fb5b022ef1b3fc5db85b3e9399a
+DIST readme_renderer-45.0.tar.gz.provenance 9531 BLAKE2B 64f08593644f46159eb04685d23065a30b54704dee3339188e3d3c6d4871236180e25535c02b115df62fd5b3f90bed7cbd744b3c0fa9ce35e9b28992a8f2423a SHA512 e73e171a4367d20ee94e4a0728f50b1f575dc3004ebeed8c20a889fbb89c24518e970815f914dc1412a3c5403f1b09bc60b2ca0918e126c177812bc10b1584ed
diff --git a/dev-python/readme-renderer/readme-renderer-45.0.ebuild b/dev-python/readme-renderer/readme-renderer-45.0.ebuild
new file mode 100644
index 000000000000..777c4d9b34df
--- /dev/null
+++ b/dev-python/readme-renderer/readme-renderer-45.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/pypa/readme_renderer
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A library for rendering 'readme' descriptions for Warehouse"
+HOMEPAGE="
+ https://github.com/pypa/readme_renderer/
+ https://pypi.org/project/readme-renderer/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/docutils-0.21.2[${PYTHON_USEDEP}]
+ >=dev-python/nh3-0.2.14[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.5.2[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+DOCS=( README.rst )
diff --git a/dev-python/recurring-ical-events/Manifest b/dev-python/recurring-ical-events/Manifest
index f6d919fa0a9a..b95cfae6db91 100644
--- a/dev-python/recurring-ical-events/Manifest
+++ b/dev-python/recurring-ical-events/Manifest
@@ -1,2 +1 @@
-DIST recurring_ical_events-3.8.1.tar.gz 603730 BLAKE2B f0497499427d2152af381b3607c22276a532cf38a5792442252ecf77ed77f2c79fd06909409bc0cfc1f777a8fcde15de9d3893a9c14d879115b17d733752faee SHA512 9aaa025460499c33658233e40de0a684a53495468d16b88e87a724677da6ef8aadbc504c88c36d5f4439426fb0cf56c0626563e8577393dc18f581bab808a895
DIST recurring_ical_events-3.8.2.tar.gz 604992 BLAKE2B 10854f6aae872f5d59792d1ff78eeb98f2d09af75b423c5bb453b84d624c2dfe8a7fe605343eb0aa21a25e047b3e6d4b3d098eafcdc79b3e6408f7aa04cd58ad SHA512 0a085111f090dc36560e1cd5307aac050b91c65456b8f5dd9180febb63772d8941f44bdc100ff494c24bbedf99bebb0d7ab1c03bb199a485f7fdb7181eab4629
diff --git a/dev-python/recurring-ical-events/recurring-ical-events-3.8.1-r1.ebuild b/dev-python/recurring-ical-events/recurring-ical-events-3.8.1-r1.ebuild
deleted file mode 100644
index e3347a528c0c..000000000000
--- a/dev-python/recurring-ical-events/recurring-ical-events-3.8.1-r1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2023-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Repeat ICalendar events by RRULE, RDATE and EXDATE"
-HOMEPAGE="
- https://github.com/niccokunzmann/python-recurring-ical-events/
- https://pypi.org/project/recurring-ical-events/
-"
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/icalendar-6.1.0[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
- >=dev-python/x-wr-timezone-1.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- >=dev-python/pytz-2023.3[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- {recurring_ical_events/,}test/test_readme.py
-)
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # strip unnecessary pins
- sed -i -e 's:, < [0-9.]*::' pyproject.toml || die
-}
diff --git a/dev-python/redfish/Manifest b/dev-python/redfish/Manifest
new file mode 100644
index 000000000000..f0f04d1e84b7
--- /dev/null
+++ b/dev-python/redfish/Manifest
@@ -0,0 +1 @@
+DIST redfish-3.3.5.gh.tar.gz 46673 BLAKE2B 444d539960c1e190a73348ad202058418837151505f74ba9028c458bee34754d5e0dfef276b056e2236154c8f35c5bc1dd614e6598ed46d929ef7996551f79aa SHA512 3c1a90b51f8b551071a8baa809647ed69974d02fb8e4f62df6c06dc151894ed1682a2485bee5b3410470c0ca4e595f2c15afa04bbefc57543af8f2dfe23c873b
diff --git a/dev-python/timeslot/metadata.xml b/dev-python/redfish/metadata.xml
index 6e8632a248e2..a83a6b5beb53 100644
--- a/dev-python/timeslot/metadata.xml
+++ b/dev-python/redfish/metadata.xml
@@ -2,8 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>stkw0@disroot.org</email>
- <name>David Roman</name>
+ <email>pastalian46@gmail.com</email>
+ <name>Takuya Wakazono</name>
</maintainer>
<origin>baldeagleos-repo</origin>
</pkgmetadata>
diff --git a/dev-python/redfish/redfish-3.3.5.ebuild b/dev-python/redfish/redfish-3.3.5.ebuild
new file mode 100644
index 000000000000..2c80dfc27d6f
--- /dev/null
+++ b/dev-python/redfish/redfish-3.3.5.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python3 library for interacting with devices that support a Redfish service"
+HOMEPAGE="https://github.com/DMTF/python-redfish-library"
+# sdist doesn't include tests
+SRC_URI="https://github.com/DMTF/python-redfish-library/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+S="${WORKDIR}/python-redfish-library-${PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ dev-python/jsonpath-ng[${PYTHON_USEDEP}]
+ dev-python/jsonpointer[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/requests-toolbelt[${PYTHON_USEDEP}]
+ dev-python/requests-unixsocket[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/redis/Manifest b/dev-python/redis/Manifest
index c42b64888bca..1f2829df3bae 100644
--- a/dev-python/redis/Manifest
+++ b/dev-python/redis/Manifest
@@ -1,2 +1,3 @@
DIST redis-py-7.4.0.gh.tar.gz 5199993 BLAKE2B d0c9beb4b7d32709fb447de7f9dc68f851621ceb2dce57461af98590726080a85e3226cdc68da3086a007b59323d5834559194aad40ffbb80408b646ced4716b SHA512 e3366c6bbbd98d4b3e238a06a033bd830ca65105c9aa9533e4e4805feaa41eae3130a7af9950943108704de90a8ad6aa855ec1948d2e4af901af05ef12152b61
+DIST redis-py-7.4.1.gh.tar.gz 5201318 BLAKE2B 77fe9d5680cf0a9a70822d018c8af19c7b0222b4efd32fa0b5d5bc9a95eb9a0239cecb269940dacf41cc3bc86af1b1eec7fec4f338d9a6b0fdf87e1473f8c39b SHA512 ddce69580ee42c2622794f7bf94fb9170d2f3ac03041ac3ff0c5cc56b87d6f1876335e7304d7c22dac402bf7318f088e4a990bc2be818b54568959afcabc73bf
DIST redis-py-8.0.0.gh.tar.gz 5392468 BLAKE2B 437fb893c5af23b6a0440b62606e25b78b50c4f2c8b87a5885d3a4c6105f3e2a92045b92d2c82cb6a05d41337bc1e74166b9ff119218af28f0ffb661d5af3b79 SHA512 bbf726e8d639e7a9e1cf7ee62cbee588e69426132ea6062a1bd3983b4771932d5f5fc4f6539f1b0b519a8cfd37399d6b01dc3b9cf5d9ca427f077298cd3a857d
diff --git a/dev-python/redis/redis-7.4.1.ebuild b/dev-python/redis/redis-7.4.1.ebuild
new file mode 100644
index 000000000000..2e9bb8a14497
--- /dev/null
+++ b/dev-python/redis/redis-7.4.1.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+MY_P=redis-py-${PV/_beta/b}
+DESCRIPTION="Python client for Redis key-value store"
+HOMEPAGE="
+ https://github.com/redis/redis-py/
+ https://pypi.org/project/redis/
+"
+SRC_URI="
+ https://github.com/redis/redis-py/archive/v${PV/_beta/b}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~sparc ~x86"
+
+BDEPEND="
+ test? (
+ dev-db/redis
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/xxhash[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{asyncio,timeout} )
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Flaky test
+ tests/test_pubsub.py::TestPubSubDeadlock::test_pubsub_deadlock
+ tests/test_background.py::TestBackgroundScheduler::test_run_recurring
+ # require extra redis modules that apparently aren't packaged
+ # on Gentoo
+ tests/{,test_asyncio/}test_bloom.py
+ tests/{,test_asyncio/}test_graph.py
+ tests/{,test_asyncio/}test_json.py
+ tests/{,test_asyncio/}test_timeseries.py
+ # apparently available only in "Redis Stack 7.2 RC3 or later"
+ tests/test_commands.py::TestRedisCommands::test_tfunction_load_delete
+ tests/test_commands.py::TestRedisCommands::test_tfunction_list
+ tests/test_commands.py::TestRedisCommands::test_tfcall
+ # TODO
+ tests/test_commands.py::TestRedisCommands::test_lolwut
+ tests/test_commands.py::TestRedisCommands::test_module
+ tests/test_commands.py::TestRedisCommands::test_module_loadex
+ tests/test_commands.py::TestRedisCommands::test_zrank_withscore
+ tests/test_commands.py::TestRedisCommands::test_zrevrank_withscore
+ tests/test_commands.py::TestRedisCommands::test_xinfo_consumers
+ tests/test_asyncio/test_commands.py::TestRedisCommands::test_zrank_withscore
+ tests/test_asyncio/test_commands.py::TestRedisCommands::test_zrevrank_withscore
+ tests/test_asyncio/test_commands.py::TestRedisCommands::test_xinfo_consumers
+ tests/test_asyncio/test_pubsub.py::TestPubSubAutoReconnect::test_reconnect_socket_error[pool-hiredis-listen]
+ # requires sentinel?
+ tests/{,test_asyncio/}test_sentinel.py
+ # require REDIS_ENDPOINTS_CONFIG_PATH, except there's zero documentation
+ # or examples of what this is
+ tests/test_scenario/test_hitless_upgrade.py::TestPushNotifications
+ tests/test_scenario/test_maint_notifications.py::TestPushNotifications
+ # requires opentelemetry (with some unpackaged stuff)
+ tests/test_observability/test_provider.py::TestOTelProviderManagerGetMeterProvider
+ tests/test_asyncio/test_observability/test_recorder.py::TestObservableGaugeIntegration
+ )
+ local EPYTEST_IGNORE=(
+ # fails over missing certs, we don't do cluster anyway
+ tests/test_asyncio/test_cluster.py
+ # require redis_entraid
+ tests/test_asyncio/test_credentials.py
+ tests/test_credentials.py
+ # pybreaker
+ tests/test_asyncio/test_multidb
+ tests/test_asyncio/test_scenario
+ tests/test_multidb
+ tests/test_scenario
+ # cluster, not marked properly
+ tests/maint_notifications/test_cluster_maint_notifications_handling.py
+ # opentelemetry
+ tests/test_observability/test_recorder.py
+ )
+
+ # TODO: try to run more servers?
+ epytest -m "not redismod and not onlycluster and not replica and not ssl"
+}
+
+src_test() {
+ local redis_pid="${T}"/redis.pid
+ local redis_port=6379
+
+ if has_version ">=dev-db/redis-7"; then
+ local extra_conf="
+ enable-debug-command yes
+ enable-module-command yes
+ "
+ fi
+
+ # Spawn Redis itself for testing purposes
+ einfo "Spawning Redis"
+ einfo "NOTE: Port ${redis_port} must be free"
+ "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server"
+ daemonize yes
+ pidfile ${redis_pid}
+ port ${redis_port}
+ bind 127.0.0.1 ::1
+ ${extra_conf}
+ EOF
+
+ # Run the tests
+ distutils-r1_src_test
+
+ # Clean up afterwards
+ kill "$(<"${redis_pid}")" || die
+}
diff --git a/dev-python/regex/regex-2026.5.9.ebuild b/dev-python/regex/regex-2026.5.9.ebuild
index f45afd466843..9e76573eb2b4 100644
--- a/dev-python/regex/regex-2026.5.9.ebuild
+++ b/dev-python/regex/regex-2026.5.9.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 ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
IUSE="doc"
distutils_enable_tests unittest
diff --git a/dev-python/repology-client/Manifest b/dev-python/repology-client/Manifest
index 09489b7743cd..9c2aa569a251 100644
--- a/dev-python/repology-client/Manifest
+++ b/dev-python/repology-client/Manifest
@@ -1,2 +1,2 @@
-DIST repology_client-0.6.0.tar.gz 911859 BLAKE2B 0f2189621cc684f2cdd6fba31917114b6141b6e7c56f5ccb9f519dbd8718051b3999ad17b6f73ebf3be435b72b2394677941ea42fb84822513d0da80a5f35e13 SHA512 7044586e9c635a08970b2421dff1c4a142b5763f88686ad5a9e56cf5f8d3bcaf7f93bf9a5564df55dc354c27c38244c8176c0d2c33cd0c8d0a3a1dc2734fa9bb
DIST repology_client-0.7.1.tar.gz 1284260 BLAKE2B b3211d05c98f373f3e3113e4e47aef0d2d147e580ca153dcd3c33dd62f355041c73742a0fd0a4bd5d7c754fc3facd290edebcf2639c939eb8a60bf9e6b8dbdaa SHA512 f18cef6eb7fc1aa181a5d160148051ef3c66716c90b8c3f43785efe80e6df4b2b44001f20bc6ed56edcf8b5669cf5f5a48d9946ca3f29313710ab029e415b7b0
+DIST repology_client-0.7.2.tar.gz 1277332 BLAKE2B a7ecb075e58961726b0ec0be3502a96400ea1fbc1dbe7ad8fdd27447c940f68de8e7977c121c0c59557c120019dd7059389a0c413450d96a817b48e25d6b6088 SHA512 553cfc34f2941fbf96c034195f323399a3411c914ecfc0b78647bf3e8863148c579c263172d4df4cd2022313af7f9422d2bb6e2c2f561f1600138d15ac08f6a1
diff --git a/dev-python/repology-client/repology-client-0.6.0.ebuild b/dev-python/repology-client/repology-client-0.7.2.ebuild
index ef0bb538d93b..8291cd1be9f9 100644
--- a/dev-python/repology-client/repology-client-0.6.0.ebuild
+++ b/dev-python/repology-client/repology-client-0.7.2.ebuild
@@ -13,7 +13,7 @@ HOMEPAGE="
https://pypi.org/project/repology-client/
"
-LICENSE="CC-BY-SA-3.0 EUPL-1.2"
+LICENSE="EUPL-1.2"
SLOT="0"
KEYWORDS="~amd64"
diff --git a/dev-python/reportlab/reportlab-4.5.1.ebuild b/dev-python/reportlab/reportlab-4.5.1.ebuild
index c35e003e4082..c16b3869de4d 100644
--- a/dev-python/reportlab/reportlab-4.5.1.ebuild
+++ b/dev-python/reportlab/reportlab-4.5.1.ebuild
@@ -20,7 +20,7 @@ SRC_URI+="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ppc ppc64 ~riscv ~s390 ~sparc x86"
RDEPEND="
dev-python/charset-normalizer[${PYTHON_USEDEP}]
diff --git a/dev-python/requests-cache/Manifest b/dev-python/requests-cache/Manifest
index e97356b5ae9f..e3354c4993d8 100644
--- a/dev-python/requests-cache/Manifest
+++ b/dev-python/requests-cache/Manifest
@@ -1,2 +1 @@
-DIST requests-cache-1.3.1.gh.tar.gz 1812337 BLAKE2B 302d9c6f1287901b189c74392ba0af063bf0e0ed424b85575e1cd98405f0e51225cf43f4b745d1aa89fd892721e6d2722796d77ae52bec684cee546679afb15b SHA512 68561a4b004ad99d69062a0237272ea772694df971facb5ab28388e36695e2307d21bc0eb70ef094acefaeafc586fb19151e7e3cb16deeff724e21bb035139d6
DIST requests-cache-1.3.2.gh.tar.gz 1827145 BLAKE2B 360ecabd8149071578ebb0f0dfef00040b64d2714e6f92c3c47027cfca7802627f0e7bd84a16b7dc04158424dc9037860d02c6b462047c63c0a4bf82ec5fa327 SHA512 4acbb40180bab12c684370dfcbca9049fc2ee4766624b9d85fc88cfdf03a6f24f577bb167e2ab78134e76ac73009605887d8d5fdb258f193f6066f86226817a4
diff --git a/dev-python/requests-cache/requests-cache-1.3.1.ebuild b/dev-python/requests-cache/requests-cache-1.3.1.ebuild
deleted file mode 100644
index b3c1d73c0a20..000000000000
--- a/dev-python/requests-cache/requests-cache-1.3.1.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-# TODO: see if we can remove pypy3.11, because of the segfaults
-PYTHON_COMPAT=( python3_{13..14} )
-PYTHON_REQ_USE="sqlite"
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Persistent cache for requests library"
-HOMEPAGE="
- https://pypi.org/project/requests-cache/
- https://github.com/requests-cache/requests-cache/
-"
-SRC_URI="
- https://github.com/requests-cache/requests-cache/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/attrs-21.2[${PYTHON_USEDEP}]
- >=dev-python/cattrs-22.2[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-2.5[${PYTHON_USEDEP}]
- >=dev-python/requests-2.22[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.25.5[${PYTHON_USEDEP}]
- >=dev-python/url-normalize-2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/itsdangerous[${PYTHON_USEDEP}]
- dev-python/responses[${PYTHON_USEDEP}]
- >=dev-python/rich-10.0[${PYTHON_USEDEP}]
- >=dev-python/ujson-5.4[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/time-machine[${PYTHON_USEDEP}]
- ' 'python*')
- )
-"
-
-EPYTEST_PLUGINS=( pytest-httpbin requests-mock )
-: ${EPYTEST_TIMEOUT:=60}
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_IGNORE=(
- # These require extra servers running
- tests/integration/test_dynamodb.py
- tests/integration/test_gridfs.py
- tests/integration/test_mongodb.py
- tests/integration/test_redis.py
- )
- local EPYTEST_DESELECT=(
- # Requires Internet access
- tests/integration/test_upgrade.py::test_version_upgrade
- )
-
- case ${EPYTHON} in
- pypy3*)
- EPYTEST_DESELECT+=(
- # "database is locked", upstream probably relies on GC
- # too much
- tests/integration/test_sqlite.py
- # random segfaults
- tests/integration/test_filesystem.py
- )
- ;;
- esac
-
- local -x USE_PYTEST_HTTPBIN=true
- epytest
-}
-
-pkg_postinst() {
- optfeature "redis backend" "dev-python/redis"
- optfeature "MongoDB backend" "dev-python/pymongo"
-
- optfeature "JSON serialization" "dev-python/ujson"
- optfeature "YAML serialization" "dev-python/pyyaml"
- optfeature "signing serialized data" "dev-python/itsdangerous"
-}
diff --git a/dev-python/requests-cache/requests-cache-1.3.2.ebuild b/dev-python/requests-cache/requests-cache-1.3.2.ebuild
index 92d2c7a7cbca..b3c1d73c0a20 100644
--- a/dev-python/requests-cache/requests-cache-1.3.2.ebuild
+++ b/dev-python/requests-cache/requests-cache-1.3.2.ebuild
@@ -22,7 +22,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
RDEPEND="
>=dev-python/attrs-21.2[${PYTHON_USEDEP}]
diff --git a/dev-python/requests/Manifest b/dev-python/requests/Manifest
index abc21471ae71..6edfd8c433c8 100644
--- a/dev-python/requests/Manifest
+++ b/dev-python/requests/Manifest
@@ -1,8 +1,2 @@
-DIST requests-2.33.1.tar.gz 134120 BLAKE2B 290c77a0f0d90d04638be623f9a32955902869f89fd6eb8c2e2c3b15cdeb28455ec331c84bdba16d6aa69cb02d8567514a245280a0adf64f653f29aacb944f44 SHA512 058dc417085f8be99c2ea79fffecce833068d9342c925a8d8bd1b10c171e52fda5d4bdd8ae1a93b05b111e275c29b705ec79ac0c365fb10f6f81c49e6d839483
-DIST requests-2.33.1.tar.gz.provenance 9256 BLAKE2B 5257b1e8dac44c85b121e04d9591b73d8e2a95ba8ad7d5a45e954d0d676a44b877da0f800bcf934e843ceaf19522bb81eb616c646ad4ac56ee6c3b7ef74a5913 SHA512 5239edd498ff5c27a92a950b75985da8c59064f7abc04809ab71c54e7f3b8b82a268a291b0431560e5fe70266f0fe5a6151fb804c093a9f99c6a6138ba6b80fb
-DIST requests-2.34.0.tar.gz 142436 BLAKE2B 3aa791f8ebc58f6cd0f51883653a6860ba6503071abdd267d3473e6fa9d325aeb3bef46890d4551f946d867482b2396a2328653b08ea4a8e1ef4a7a5a4c7fbbd SHA512 4e3b5c40489b682225667cf46e36058bc22dce6b580e3d01962ea7fa46517e15a775458ebeb970b53fb2f87048f3f09bf09ac599b66c36827622fea7c17e83b6
-DIST requests-2.34.0.tar.gz.provenance 9389 BLAKE2B b25418a2b8160ac911e40d74d6f5e5359752ed956c683acb06e6dc90b13eac198cce8f389f9e6a1ed68f5f7a0317e29bb3723fbfc4a71e6bcf08f604adc15d39 SHA512 8b6387f8c81e3b1d160498992af49991e50f9c85f064a9d4b88b2346f9524d5cc6e1f996b2b347a351b9681d51e1ba28cffb8d51c53d7143fdea99943d953ad1
-DIST requests-2.34.1.tar.gz 142783 BLAKE2B 868efc2e60868d71437b007fc7bab44b344e573ed94a9dd551dd7d675924de581aa9e940ced50f60305c944b38c5be89ef2832904ea19ce2f36b994c70be8093 SHA512 1e734caa69e99c120cfff2bd5aade24feaa0000684f5499fcad94ae246aa68720724ab7acbdd611df14ca6d20f705c906fa27b808f6cf6b97fc325e41abb4dae
-DIST requests-2.34.1.tar.gz.provenance 9503 BLAKE2B cffe5ceda2925e220b2af586bcc8363ad0ace0cb045e5a40d7a620ab8c4a43ab600c82d3579d7c6ef52eec9521c938c9fed5e823c5dba0089de09a70355f082e SHA512 ea1ec91731c4e70fa348b5acbcc88a9e9d0b46058e74d771565ad99704c4f48d8c7f511d94c3ff59ccd43c12d4a3014f8bb7c3cdb8610f7610322aef18940f40
DIST requests-2.34.2.tar.gz 142856 BLAKE2B 94c27e54dd0d49571179fbfe7ec666e507a5b698ea93d26c66069fa3e08bd5aeed157124111cf0b730dcd2626f5fd03b5616f08ea723c9a1e55946bdbe30316b SHA512 106d99c51c7e76d35e27dd64988afb0cc339d4f05fabb3ba1a2480e34744b4a66393e0c7873d236a9f220f6a8990d5a45a251cdbe9ce25f01e1591e693b6c9e7
DIST requests-2.34.2.tar.gz.provenance 9311 BLAKE2B 3600692e3fd67856e5cab04f9583cd134ada2783ed229f5deb04ff7f01fc692f85661871944dabb11d2f05ec25a3495b27e582736f73d8d3ac6b56aa79528611 SHA512 e2fbe3954e86a1ef1aa05bf58a9cfc45c0cc4e82ccd4fba67261ff87b94627956504764b29c0cded131f6e9ce22a0dbfe74a16eb4885cf164dea1eec16f5aa81
diff --git a/dev-python/requests/requests-2.33.1.ebuild b/dev-python/requests/requests-2.33.1.ebuild
deleted file mode 100644
index a7b67fe524a3..000000000000
--- a/dev-python/requests/requests-2.33.1.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_VERIFY_REPO=https://github.com/psf/requests
-PYTHON_COMPAT=( python3_{13..14} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="HTTP library for human beings"
-HOMEPAGE="
- https://requests.readthedocs.io/
- https://github.com/psf/requests/
- https://pypi.org/project/requests/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
-IUSE="socks5 test-rust"
-
-RDEPEND="
- >=dev-python/certifi-2017.4.17[${PYTHON_USEDEP}]
- <dev-python/charset-normalizer-4[${PYTHON_USEDEP}]
- <dev-python/idna-4[${PYTHON_USEDEP}]
- <dev-python/urllib3-3[${PYTHON_USEDEP}]
- socks5? ( >=dev-python/pysocks-1.5.6[${PYTHON_USEDEP}] )
-"
-
-BDEPEND="
- test? (
- dev-python/httpbin[${PYTHON_USEDEP}]
- >=dev-python/pysocks-1.5.6[${PYTHON_USEDEP}]
- test-rust? (
- dev-python/trustme[${PYTHON_USEDEP}]
- )
- )
-"
-
-EPYTEST_PLUGINS=( pytest-{httpbin,mock} )
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # remove useless dependency check spam
- sed -i -e '/def check_compatibility/a\
- return' src/requests/__init__.py || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Internet (doctests)
- requests/__init__.py::requests
- requests/api.py::requests.api.request
- requests/models.py::requests.models.PreparedRequest
- requests/sessions.py::requests.sessions.Session
- # require IPv4 interface in 10.* range
- tests/test_requests.py::TestTimeout::test_connect_timeout
- tests/test_requests.py::TestTimeout::test_total_timeout_connect
- )
-
- if ! has_version "dev-python/trustme[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/test_requests.py::TestRequests::test_https_warnings
- )
- fi
-
- epytest
-}
diff --git a/dev-python/requests/requests-2.34.0.ebuild b/dev-python/requests/requests-2.34.0.ebuild
deleted file mode 100644
index 7e1abd8fdbde..000000000000
--- a/dev-python/requests/requests-2.34.0.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_VERIFY_REPO=https://github.com/psf/requests
-PYTHON_COMPAT=( python3_{13..14} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="HTTP library for human beings"
-HOMEPAGE="
- https://requests.readthedocs.io/
- https://github.com/psf/requests/
- https://pypi.org/project/requests/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
-IUSE="socks5 test-rust"
-
-RDEPEND="
- >=dev-python/certifi-2017.4.17[${PYTHON_USEDEP}]
- <dev-python/charset-normalizer-4[${PYTHON_USEDEP}]
- <dev-python/idna-4[${PYTHON_USEDEP}]
- <dev-python/urllib3-3[${PYTHON_USEDEP}]
- socks5? ( >=dev-python/pysocks-1.5.6[${PYTHON_USEDEP}] )
-"
-
-BDEPEND="
- test? (
- dev-python/httpbin[${PYTHON_USEDEP}]
- >=dev-python/pysocks-1.5.6[${PYTHON_USEDEP}]
- test-rust? (
- dev-python/trustme[${PYTHON_USEDEP}]
- )
- )
-"
-
-EPYTEST_PLUGINS=( pytest-{httpbin,mock} )
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # remove useless dependency check spam
- sed -i -e '/urllib3_version_list =/i\
- return' src/requests/__init__.py || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Internet (doctests)
- requests/__init__.py::requests
- requests/api.py::requests.api.request
- requests/models.py::requests.models.PreparedRequest
- requests/sessions.py::requests.sessions.Session
- # require IPv4 interface in 10.* range
- tests/test_requests.py::TestTimeout::test_connect_timeout
- tests/test_requests.py::TestTimeout::test_total_timeout_connect
- )
-
- if ! has_version "dev-python/trustme[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/test_requests.py::TestRequests::test_https_warnings
- )
- fi
-
- epytest
-}
diff --git a/dev-python/requests/requests-2.34.1.ebuild b/dev-python/requests/requests-2.34.1.ebuild
deleted file mode 100644
index 7e1abd8fdbde..000000000000
--- a/dev-python/requests/requests-2.34.1.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_VERIFY_REPO=https://github.com/psf/requests
-PYTHON_COMPAT=( python3_{13..14} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="HTTP library for human beings"
-HOMEPAGE="
- https://requests.readthedocs.io/
- https://github.com/psf/requests/
- https://pypi.org/project/requests/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
-IUSE="socks5 test-rust"
-
-RDEPEND="
- >=dev-python/certifi-2017.4.17[${PYTHON_USEDEP}]
- <dev-python/charset-normalizer-4[${PYTHON_USEDEP}]
- <dev-python/idna-4[${PYTHON_USEDEP}]
- <dev-python/urllib3-3[${PYTHON_USEDEP}]
- socks5? ( >=dev-python/pysocks-1.5.6[${PYTHON_USEDEP}] )
-"
-
-BDEPEND="
- test? (
- dev-python/httpbin[${PYTHON_USEDEP}]
- >=dev-python/pysocks-1.5.6[${PYTHON_USEDEP}]
- test-rust? (
- dev-python/trustme[${PYTHON_USEDEP}]
- )
- )
-"
-
-EPYTEST_PLUGINS=( pytest-{httpbin,mock} )
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # remove useless dependency check spam
- sed -i -e '/urllib3_version_list =/i\
- return' src/requests/__init__.py || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Internet (doctests)
- requests/__init__.py::requests
- requests/api.py::requests.api.request
- requests/models.py::requests.models.PreparedRequest
- requests/sessions.py::requests.sessions.Session
- # require IPv4 interface in 10.* range
- tests/test_requests.py::TestTimeout::test_connect_timeout
- tests/test_requests.py::TestTimeout::test_total_timeout_connect
- )
-
- if ! has_version "dev-python/trustme[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/test_requests.py::TestRequests::test_https_warnings
- )
- fi
-
- epytest
-}
diff --git a/dev-python/requests/requests-2.34.2.ebuild b/dev-python/requests/requests-2.34.2.ebuild
index 7e1abd8fdbde..e81b85487da0 100644
--- a/dev-python/requests/requests-2.34.2.ebuild
+++ b/dev-python/requests/requests-2.34.2.ebuild
@@ -20,7 +20,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
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="socks5 test-rust"
RDEPEND="
diff --git a/dev-python/rq/Manifest b/dev-python/rq/Manifest
index 70cb6519fdf2..0a697f06e161 100644
--- a/dev-python/rq/Manifest
+++ b/dev-python/rq/Manifest
@@ -1,2 +1,3 @@
DIST rq-2.8.0.tar.gz 743395 BLAKE2B bbc71e84b3bc5e52b7db2330ba9fa8313a429eeda93f2b884dfc9303e27738eb60aee2ad4d647bd5aedb771edee578bca2810f9a97d9cf5f8aa056342ef5d78f SHA512 e48a349be9d6f7151c32d183ffe0bc883fa395b988b7c607ffedcdaad19b5da1af78d0cd14d1de9029f1dd82a6a26419cfe2a668ab491e73b948f8568e1e3245
DIST rq-2.9.0.tar.gz 744959 BLAKE2B 82bf7f96bf8a1e753824e094873d15a6fa46ea87e7e219edbf2971b1763aa8f3e292793eabb0af0476a569f19ba4efbdcd60587a01cfb3d59d9fa58d67deeb38 SHA512 440d8aedfe5af085836273b0ff80fd8995c2a3a6b3231be0ac412e0f86aa6c9619bbb0871e886f0aa3c79dc47325fd71ca3890293fded600040dcf7961fa4938
+DIST rq-2.9.1.tar.gz 745898 BLAKE2B d510294b139eed76aeefbe6c23c70f9099e280ddd139137c83c4132b536b9ae3eb1da6aa66f30c4e4c856c2d887e6247047bcb3d4f7ca65ad87ce7d38c05a7e1 SHA512 4e8decc89d93c715cd33eec464d1df1370ecc0d366b9e0de950500701ddcffcd26476965d7de68396a09ec7a18fbeefd1f4cb94f281a6b25b48ebe046d087c85
diff --git a/dev-python/rq/rq-2.9.1.ebuild b/dev-python/rq/rq-2.9.1.ebuild
new file mode 100644
index 000000000000..e6f07c3fff3f
--- /dev/null
+++ b/dev-python/rq/rq-2.9.1.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Simple, lightweight library for creating and processing background jobs"
+HOMEPAGE="
+ https://python-rq.org/
+ https://github.com/rq/rq/
+ https://pypi.org/project/rq/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/click-5.0[${PYTHON_USEDEP}]
+ dev-python/croniter[${PYTHON_USEDEP}]
+ >=dev-python/redis-4.5.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-db/redis
+ dev-python/psutil[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # requires <sentry-sdk-2
+ tests/test_sentry.py::TestSentry::test_failure_capture
+ # hang
+ tests/test_commands.py::TestCommands::test_shutdown_command
+ tests/test_worker_pool.py::TestWorkerPool::test_check_workers
+ tests/test_worker_pool.py::TestWorkerPool::test_reap_workers
+ tests/test_dependencies.py::TestDependencies
+ # already present in older versions
+ tests/test_spawn_worker.py::TestWorker::test_work_and_quit
+)
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # strip pin
+ sed -i -e '/dependencies/s:,!=[0-9.]*::' pyproject.toml || die
+}
+
+src_test() {
+ local -x TZ=UTC
+
+ local redis_pid="${T}"/redis.pid
+ local redis_port=6379
+ local redis_test_config="daemonize yes
+ pidfile ${redis_pid}
+ port ${redis_port}
+ bind 127.0.0.1
+ "
+
+ # Spawn Redis itself for testing purposes
+ # NOTE: On sam@'s machine, spawning Redis can hang in the sandbox.
+ # I'm not restricting tests yet because this doesn't happen for anyone else AFAICT.
+ einfo "Spawning Redis"
+ einfo "NOTE: Port ${redis_port} must be free"
+ /usr/sbin/redis-server - <<< "${redis_test_config}" || die
+
+ # Run the actual tests
+ distutils-r1_src_test
+
+ # Clean up afterwards
+ kill "$(<"${redis_pid}")" || die
+}
diff --git a/dev-python/sabctools/Manifest b/dev-python/sabctools/Manifest
index efbc44ef11a0..69bcfef4ea84 100644
--- a/dev-python/sabctools/Manifest
+++ b/dev-python/sabctools/Manifest
@@ -1,2 +1,3 @@
DIST sabctools-8.2.6.gh.tar.gz 8974199 BLAKE2B cefafb57802e7d9b32b99de16b7df2745276c4602c7aa2f9f750bf2c741224b3a9180c2a9dd6d0e807c5297e2a70dbfb3784e546618536e7fa8d6273bc5d3684 SHA512 230a3c78a11d459703bb79d765ac5bf3e21ae239731ada73103e641af64c0cccd6f8e82d4a8a6016585c9935c93f9535cb5a0ead951f4f536a038fc2ebf056db
DIST sabctools-9.4.0.gh.tar.gz 9732762 BLAKE2B 1c54ffd605ed5f3839d697a6c8a372f2800e758b6d3f12e462b97ad2c19fd7643a9923cf8f4cc4766dc18f9993366fb2b0fd4ec2c9c423190dd73622276ccc7e SHA512 fc22a3f6bc195b4a4ec2c2ab24cab71dd5b3935f4825de7b35c4ae1cf3ac0a7236a9230f9a412ac18dddbf49f38afe6b81c47570a7a99292010d954a4b298ac3
+DIST sabctools-9.4.1.gh.tar.gz 9732977 BLAKE2B bafe308baa5057c10237015f84630d9e628699aef1e9632d29b610e1be4fe65e4ce4050a251c5e4738bbb3c5e6aff034d550586dbbb47b29c203ffcbed057087 SHA512 336bb80c48421cb18589ad12447e8a2a9c8cf1d0fa0854a503019bcdf34b18d4631d0745da6b8f9ea03aa3b5bf8deb92348d3eb41ac8496ce8a71d4a227cae11
diff --git a/dev-python/sabctools/sabctools-9.4.1.ebuild b/dev-python/sabctools/sabctools-9.4.1.ebuild
new file mode 100644
index 000000000000..ec27e59ca3a8
--- /dev/null
+++ b/dev-python/sabctools/sabctools-9.4.1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2026 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_{13..14} )
+
+inherit distutils-r1
+
+MY_PN="sabctools"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Module providing raw yEnc encoding/decoding for SABnzbd"
+HOMEPAGE="
+ https://github.com/sabnzbd/sabctools/
+ https://pypi.org/project/sabctools/
+"
+SRC_URI="
+ https://github.com/sabnzbd/${MY_PN}/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/portend[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( README.md doc/yenc-draft.1.3.txt )
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/selenium/Manifest b/dev-python/selenium/Manifest
index c765b87081f2..f34484189bbd 100644
--- a/dev-python/selenium/Manifest
+++ b/dev-python/selenium/Manifest
@@ -1,12 +1,6 @@
DIST selenium-4.34.2.tar.gz 896309 BLAKE2B 094d3596a86e1cd50a6967a65b3e7b9a73300403f5d88163ded8b1d3a62cb09d77057e9b90a35b39f3a6000a8ba604bd71ecb051866cf7ad88c5ab9e21752978 SHA512 f5911f41bc4988e1af26812299cf37aba7e88820cf4e719e0e04a36a5dbdba5420422c52393c8d31c4e0f88efe779e9beec2c490892e4546caa0a920047e01fa
DIST selenium-4.35.0.tar.gz 907991 BLAKE2B e2d0baade499b41cdb23bdbae0059163fb58157dc86c3bcf4d7b9c4d040bcec19aba4000a223a4e7dd0137d4cc321064e95cd12fe22beaa311237c18261518ce SHA512 09f9149b94974c7965d5b81ee1ca65cca7e7a1de775d7323335c21acbbdc21da17f0f6314a8162177c6a22fdbb23b4147c213b2c3a98bfd9a13ac077dc113812
-DIST selenium-4.41.0.tar.gz 937872 BLAKE2B fd176e710970da5435b2d2daad90ad1f6a567dd77d9cfe0cb6980612155a5194c6c80ba7be444e8baade758a91dc2f9cdc6d3ce8fffcd8c31a03271e5f7dbc2c SHA512 517e38b38266e92b66bf072640777e037d1af4321a0399d665a0f2acdb76c574abf65f8e6412e7c606a4937010ffd6bff9c9f323b51c88e80d883b5c909c2de6
-DIST selenium-4.42.0.tar.gz 956304 BLAKE2B f43bf9893135bc8b7bf739bccd4155db7200e1262abe0fdd311041066e1f37b7f090da64a17aa693e616bf27adc5e1897c2981356b6af4acb985b929e939be66 SHA512 36a17bd89f5ef03d5b72c981ba4b4e6b3c1173d3e211a9df8cd8fe77c48d99d6471f629dbaf9a2c476a446677b24574e1a37ce2370a4280ae0eb82003d0381ec
-DIST selenium-4.43.0.tar.gz 967747 BLAKE2B f0096d6a9a7d6836978f58e866b27f8b55a18ab5759ca2a90547578d36201613bb485f87dbf9f0a7a76f501d8548235d23446d0cb5cfc74a9d6f60300f297845 SHA512 48fd7223a685f9a200d52e81b56b5ccd36add26741ff67ba311e194d14e95061b3c55cf338ba8ea10cd0b2fd436092a382165631616664eb95de30e3d2394f47
DIST selenium-4.44.0.tar.gz 993133 BLAKE2B 1c8f7f1fdfb21812569651c6086eba57455354b79ab1736d7fbfe6415affafed1f154bb21ead08a66fc5ffc638e05244a60f1ee1e85405b492ba3e84ac8b9f06 SHA512 72dabe202620ed29c9f66936827c257adf44d2f7c98a39724b1d2ef99fd7819875877f2d3cd2b1086f9e544a1f29bb3df6aa516ff8670f3701469b2ce75f5856
DIST selenium-selenium-4.34.2-python.gh.tar.gz 52515190 BLAKE2B 319a7083d5942c1962b4f48f907fea12943a403e4490f74f3cd38662f1c63f57270b27b6039a5a8f29a980540cd0dcf1d1c7560c7ac126f07e491983dc0e81ef SHA512 5ca0b6e970ded3dc93cd55a2c1af7c43063d87f57f119a011313eb7d08faa4057896a56d4eac2e13d39857c94b54f04840a053153cc39008c76cbdd33c8ddbba
DIST selenium-selenium-4.35.0.gh.tar.gz 52550104 BLAKE2B b7ed0fb513cfb2ed24aa8393497b349f930739c3d24a330e5942fbaa5505f31d7086396a430776a3a28a5f65927b92bf27c0a32e8c36d893b5d62ef73151d5ef SHA512 dc73829e3b0fcb7fb7ee1cc04574b95b63d23f67974575dbd66338e14a5cb2b06f983145ce874be0d7124e8828b0a41b99c75d3befb19e04cbf8d027d0bb983a
-DIST selenium-selenium-4.41.0.gh.tar.gz 43597635 BLAKE2B fb24f27bf3b64d4da4a117bbb62566b6c1dd6fa85357b9db4a81f17fb5167ca1f2265a0ad8b54efeb14568477390521f5b5774e3278091fd1a0110e5e0d9ce30 SHA512 68cf0ead725d09dcaa8bfe9f239e0f8c0ca7b9dde9d11b8c22dbe53c51611534136f910bc91c9ab237e2b9c106ae06efbe0e0fa9277ef668c4a4935f74613a6c
-DIST selenium-selenium-4.42.0.gh.tar.gz 43696997 BLAKE2B 9836b8935586e21d487660f2031c316f9afd6d382a2c2e5f090fe40792215334da90c5d59b7debd612c8bb2146a3595624a5c9e949f84a4d551ec540c59b10e4 SHA512 89309fcadcbc7fdc110aa2a4c58e0f92f3872ff1addacc65813731aaca6ef48869346f69344731926dab84ecdd5a4a53a6968f7c2e953faa3cc4833ff9e511ff
-DIST selenium-selenium-4.43.0.gh.tar.gz 43705758 BLAKE2B d10a4167481924becfdc115175b7681ecda287e009288acda448cb81f081d7dc6b1789ae7cca3a8ef93dbcfb15f27bbc3f201b1b10fb9339dc2f5595221221aa SHA512 596c9a7631a25166391d92af931a660fd2bfe0994c720357e47552ca7101f6af2b578f05f160c24765ec81471b6a02af91ee7baf758c9b853d68ca7fbfa0820a
DIST selenium-selenium-4.44.0.gh.tar.gz 43755091 BLAKE2B 05a58f6cde1bf1a9cdd4aa7dc61a93bedbeed814f6b16c9876cb85879d5aa4f470db569c21b6582673a281af01637237c0e099c79d9dc6e602ceedfc57e1a04d SHA512 6b93db69b9c1196e72b0a762b64b0677d70262428fc5a8dfe8d93847588fa5b78e481e9fa195fac41279ebbe4f1dd354b1217635cabcf7fac1c964a3a8b18e7a
diff --git a/dev-python/selenium/selenium-4.41.0.ebuild b/dev-python/selenium/selenium-4.41.0.ebuild
deleted file mode 100644
index c0f6cb9372a0..000000000000
--- a/dev-python/selenium/selenium-4.41.0.ebuild
+++ /dev/null
@@ -1,162 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_TESTED=( python3_{13..14} )
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-# base releases are usually ${P}, followups ${P}-python
-TEST_TAG=${P}
-[[ ${PV} != *.0 ]] && TEST_TAG+=-python
-TEST_P=selenium-${TEST_TAG}
-
-DESCRIPTION="Python language binding for Selenium Remote Control"
-HOMEPAGE="
- https://seleniumhq.org/
- https://github.com/SeleniumHQ/selenium/tree/trunk/py/
- https://pypi.org/project/selenium/
-"
-SRC_URI+="
- test? (
- https://github.com/SeleniumHQ/selenium/archive/${TEST_TAG}.tar.gz
- -> ${TEST_P}.gh.tar.gz
- )
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
-IUSE="test test-rust"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/certifi-2026.1.4[${PYTHON_USEDEP}]
- >=dev-python/trio-0.31.0[${PYTHON_USEDEP}]
- >=dev-python/trio-websocket-0.12.2[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.15.0[${PYTHON_USEDEP}]
- >=dev-python/urllib3-2.6.0[${PYTHON_USEDEP}]
- >=dev-python/websocket-client-1.8.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- $(python_gen_cond_dep "
- dev-python/filetype[\${PYTHON_USEDEP}]
- dev-python/pytest-mock[\${PYTHON_USEDEP}]
- dev-python/rich[\${PYTHON_USEDEP}]
- test-rust? (
- dev-python/pytest[\${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[\${PYTHON_USEDEP}]
- >=dev-util/selenium-manager-${PV}
- net-misc/geckodriver
- || (
- www-client/firefox
- www-client/firefox-bin
- )
- )
- " "${PYTHON_TESTED[@]}")
- )
-"
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # do not build selenium-manager implicitly
- sed -e 's:\[tool\.setuptools-rust:[tool.ignore-me:' \
- -i pyproject.toml || die
- # unpin deps
- sed -i -e 's:,<[0-9.]*::' pyproject.toml || die
- # remove nonsense typing deps
- sed -i -e '/types/d' -e '/typing/d' pyproject.toml || die
-}
-
-python_test() {
- # NB: xdist is causing random pytest crashes with high job numbers
-
- if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
- einfo "Skipping tests on ${EPYTHON}"
- return
- fi
-
- local EPYTEST_PLUGINS=( pytest-mock )
- local EPYTEST_IGNORE=()
- local EPYTEST_DESELECT=(
- # expects vanilla certifi
- test/unit/selenium/webdriver/remote/remote_connection_tests.py::test_get_connection_manager_for_certs_and_timeout
- )
- local pytest_args=(
- # https://github.com/SeleniumHQ/selenium/blob/selenium-4.8.2-python/py/test/runner/run_pytest.py#L20-L24
- # seriously?
- -o "python_files=*_tests.py test_*.py"
- )
- if use test-rust; then
- local -x PATH=${T}/bin:${PATH}
- local -x SE_MANAGER_PATH="$(type -P selenium-manager)"
-
- local EPYTEST_RERUNS=5
- pytest_args+=(
- --driver=firefox
- --browser-binary="$(type -P firefox || type -P firefox-bin)"
- --driver-binary="$(type -P geckodriver)"
- --headless
- )
-
- local EPYTEST_IGNORE+=(
- # requires some "python.runfiles", also bidi tests generally fail
- test/selenium/webdriver/common/bidi_webextension_tests.py
- # throws some error that pytest doesn't even show
- test/selenium/webdriver/firefox/ff_installs_addons_tests.py
- )
- EPYTEST_DESELECT+=(
- # expects prebuilt executables for various systems
- test/selenium/webdriver/common/selenium_manager_tests.py::test_uses_windows
- test/selenium/webdriver/common/selenium_manager_tests.py::test_uses_linux
- test/selenium/webdriver/common/selenium_manager_tests.py::test_uses_mac
- test/selenium/webdriver/common/selenium_manager_tests.py::test_errors_if_invalid_os
-
- # TODO: these don't respect --*-binary and try to fetch versions
- test/selenium/webdriver/firefox
- test/selenium/webdriver/marionette/mn_context_tests.py::test_context_sets_correct_context_and_returns
- test/selenium/webdriver/marionette/mn_context_tests.py::test_context_sets_correct_context_and_returns
- test/selenium/webdriver/marionette/mn_options_tests.py::TestIntegration::test_we_can_pass_options
- test/selenium/webdriver/marionette/mn_set_context_tests.py::test_we_can_switch_context_to_chrome
-
- # TODO
- 'test/selenium/webdriver/common/devtools_tests.py::test_check_console_messages[firefox]'
-
- # TODO
- test/selenium/webdriver/common/bidi_browser_tests.py
- test/selenium/webdriver/common/bidi_browsing_context_tests.py
- test/selenium/webdriver/common/bidi_emulation_tests.py
- test/selenium/webdriver/common/bidi_input_tests.py
- test/selenium/webdriver/common/bidi_network_tests.py
- test/selenium/webdriver/common/bidi_permissions_tests.py
- test/selenium/webdriver/common/bidi_script_tests.py
- test/selenium/webdriver/common/bidi_session_tests.py
- test/selenium/webdriver/common/bidi_storage_tests.py
- test/selenium/webdriver/common/bidi_tests.py
- test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_binary
- test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_ctor
- test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_prefs
- test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_to_capabilities
- test/selenium/webdriver/remote/remote_custom_locator_tests.py::test_find_element_with_custom_locator
- test/selenium/webdriver/remote/remote_custom_locator_tests.py::test_find_elements_with_custom_locator
-
- # Internet
- test/selenium/webdriver/remote/remote_server_tests.py::test_download_latest_server
- test/selenium/webdriver/remote/remote_hub_connection_tests.py::test_command_executor_ssl_certificate_is_verified
- )
- else
- EPYTEST_IGNORE+=(
- test/selenium
- )
- fi
-
- cd "${WORKDIR}/${TEST_P}/py" || die
- rm -rf selenium || die
- epytest "${pytest_args[@]}"
-}
diff --git a/dev-python/selenium/selenium-4.42.0.ebuild b/dev-python/selenium/selenium-4.42.0.ebuild
deleted file mode 100644
index 0269abdf2f08..000000000000
--- a/dev-python/selenium/selenium-4.42.0.ebuild
+++ /dev/null
@@ -1,165 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_TESTED=( python3_{13..14} )
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-# base releases are usually ${P}, followups ${P}-python
-TEST_TAG=${P}
-[[ ${PV} != *.0 ]] && TEST_TAG+=-python
-TEST_P=selenium-${TEST_TAG}
-
-DESCRIPTION="Python language binding for Selenium Remote Control"
-HOMEPAGE="
- https://seleniumhq.org/
- https://github.com/SeleniumHQ/selenium/tree/trunk/py/
- https://pypi.org/project/selenium/
-"
-SRC_URI+="
- test? (
- https://github.com/SeleniumHQ/selenium/archive/${TEST_TAG}.tar.gz
- -> ${TEST_P}.gh.tar.gz
- )
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
-IUSE="test test-rust"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/certifi-2026.1.4[${PYTHON_USEDEP}]
- >=dev-python/trio-0.31.0[${PYTHON_USEDEP}]
- >=dev-python/trio-websocket-0.12.2[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.15.0[${PYTHON_USEDEP}]
- >=dev-python/urllib3-2.6.0[${PYTHON_USEDEP}]
- >=dev-python/websocket-client-1.8.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- $(python_gen_cond_dep "
- dev-python/filetype[\${PYTHON_USEDEP}]
- dev-python/pytest-mock[\${PYTHON_USEDEP}]
- dev-python/rich[\${PYTHON_USEDEP}]
- test-rust? (
- dev-python/pytest[\${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[\${PYTHON_USEDEP}]
- >=dev-util/selenium-manager-${PV}
- net-misc/geckodriver
- || (
- www-client/firefox
- www-client/firefox-bin
- )
- )
- " "${PYTHON_TESTED[@]}")
- )
-"
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # do not build selenium-manager implicitly
- sed -e 's:\[tool\.setuptools-rust:[tool.ignore-me:' \
- -i pyproject.toml || die
- # unpin deps
- sed -i -e 's:,<[0-9.]*::' pyproject.toml || die
- # remove nonsense typing deps
- sed -i -e '/types/d' -e '/typing/d' pyproject.toml || die
-}
-
-python_test() {
- # NB: xdist is causing random pytest crashes with high job numbers
-
- if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
- einfo "Skipping tests on ${EPYTHON}"
- return
- fi
-
- local EPYTEST_PLUGINS=( pytest-mock )
- local EPYTEST_IGNORE=()
- local EPYTEST_DESELECT=(
- # expects vanilla certifi
- test/unit/selenium/webdriver/remote/remote_connection_tests.py::test_get_connection_manager_for_certs_and_timeout
- )
- local pytest_args=(
- # https://github.com/SeleniumHQ/selenium/blob/selenium-4.8.2-python/py/test/runner/run_pytest.py#L20-L24
- # seriously?
- -o "python_files=*_tests.py test_*.py"
- )
- if use test-rust; then
- local -x PATH=${T}/bin:${PATH}
- local -x SE_MANAGER_PATH="$(type -P selenium-manager)"
-
- local EPYTEST_RERUNS=5
- pytest_args+=(
- --driver=firefox
- --browser-binary="$(type -P firefox || type -P firefox-bin)"
- --driver-binary="$(type -P geckodriver)"
- --headless
- )
-
- local EPYTEST_IGNORE+=(
- # requires some "python.runfiles", also bidi tests generally fail
- test/selenium/webdriver/common/bidi_webextension_tests.py
- # throws some error that pytest doesn't even show
- test/selenium/webdriver/firefox/ff_installs_addons_tests.py
- )
- EPYTEST_DESELECT+=(
- # expects prebuilt executables for various systems
- test/selenium/webdriver/common/selenium_manager_tests.py::test_uses_windows
- test/selenium/webdriver/common/selenium_manager_tests.py::test_uses_linux
- test/selenium/webdriver/common/selenium_manager_tests.py::test_uses_mac
- test/selenium/webdriver/common/selenium_manager_tests.py::test_errors_if_invalid_os
-
- # TODO: these don't respect --*-binary and try to fetch versions
- test/selenium/webdriver/firefox
- test/selenium/webdriver/marionette/mn_context_tests.py::test_context_sets_correct_context_and_returns
- test/selenium/webdriver/marionette/mn_context_tests.py::test_context_sets_correct_context_and_returns
- test/selenium/webdriver/marionette/mn_options_tests.py::TestIntegration::test_we_can_pass_options
- test/selenium/webdriver/marionette/mn_set_context_tests.py::test_we_can_switch_context_to_chrome
-
- # TODO
- 'test/selenium/webdriver/common/devtools_tests.py::test_check_console_messages[firefox]'
-
- # TODO
- test/selenium/webdriver/common/bidi_browser_tests.py
- test/selenium/webdriver/common/bidi_browsing_context_tests.py
- test/selenium/webdriver/common/bidi_emulation_tests.py
- test/selenium/webdriver/common/bidi_errors_tests.py
- test/selenium/webdriver/common/bidi_input_tests.py
- test/selenium/webdriver/common/bidi_integration_tests.py
- test/selenium/webdriver/common/bidi_log_tests.py
- test/selenium/webdriver/common/bidi_network_tests.py
- test/selenium/webdriver/common/bidi_permissions_tests.py
- test/selenium/webdriver/common/bidi_script_tests.py
- test/selenium/webdriver/common/bidi_session_tests.py
- test/selenium/webdriver/common/bidi_storage_tests.py
- test/selenium/webdriver/common/bidi_tests.py
- test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_binary
- test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_ctor
- test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_prefs
- test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_to_capabilities
- test/selenium/webdriver/remote/remote_custom_locator_tests.py::test_find_element_with_custom_locator
- test/selenium/webdriver/remote/remote_custom_locator_tests.py::test_find_elements_with_custom_locator
-
- # Internet
- test/selenium/webdriver/remote/remote_server_tests.py::test_download_latest_server
- test/selenium/webdriver/remote/remote_hub_connection_tests.py::test_command_executor_ssl_certificate_is_verified
- )
- else
- EPYTEST_IGNORE+=(
- test/selenium
- )
- fi
-
- cd "${WORKDIR}/${TEST_P}/py" || die
- rm -rf selenium || die
- epytest "${pytest_args[@]}"
-}
diff --git a/dev-python/selenium/selenium-4.43.0.ebuild b/dev-python/selenium/selenium-4.43.0.ebuild
deleted file mode 100644
index 9d4155031ad4..000000000000
--- a/dev-python/selenium/selenium-4.43.0.ebuild
+++ /dev/null
@@ -1,165 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_TESTED=( python3_{13..14} )
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-# base releases are usually ${P}, followups ${P}-python
-TEST_TAG=${P}
-[[ ${PV} != *.0 ]] && TEST_TAG+=-python
-TEST_P=selenium-${TEST_TAG}
-
-DESCRIPTION="Python language binding for Selenium Remote Control"
-HOMEPAGE="
- https://seleniumhq.org/
- https://github.com/SeleniumHQ/selenium/tree/trunk/py/
- https://pypi.org/project/selenium/
-"
-SRC_URI+="
- test? (
- https://github.com/SeleniumHQ/selenium/archive/${TEST_TAG}.tar.gz
- -> ${TEST_P}.gh.tar.gz
- )
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
-IUSE="test test-rust"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/certifi-2026.1.4[${PYTHON_USEDEP}]
- >=dev-python/trio-0.31.0[${PYTHON_USEDEP}]
- >=dev-python/trio-websocket-0.12.2[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.15.0[${PYTHON_USEDEP}]
- >=dev-python/urllib3-2.6.0[${PYTHON_USEDEP}]
- >=dev-python/websocket-client-1.8.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- $(python_gen_cond_dep "
- dev-python/filetype[\${PYTHON_USEDEP}]
- dev-python/pytest-mock[\${PYTHON_USEDEP}]
- dev-python/rich[\${PYTHON_USEDEP}]
- test-rust? (
- dev-python/pytest[\${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[\${PYTHON_USEDEP}]
- >=dev-util/selenium-manager-${PV}
- net-misc/geckodriver
- || (
- www-client/firefox
- www-client/firefox-bin
- )
- )
- " "${PYTHON_TESTED[@]}")
- )
-"
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # do not build selenium-manager implicitly
- sed -e 's:\[tool\.setuptools-rust:[tool.ignore-me:' \
- -i pyproject.toml || die
- # unpin deps
- sed -i -e 's:,<[0-9.]*::' pyproject.toml || die
- # remove nonsense typing deps
- sed -i -e '/types/d' -e '/typing/d' pyproject.toml || die
-}
-
-python_test() {
- # NB: xdist is causing random pytest crashes with high job numbers
-
- if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
- einfo "Skipping tests on ${EPYTHON}"
- return
- fi
-
- local EPYTEST_PLUGINS=( pytest-mock )
- local EPYTEST_IGNORE=()
- local EPYTEST_DESELECT=(
- # expects vanilla certifi
- test/unit/selenium/webdriver/remote/remote_connection_tests.py::test_get_connection_manager_for_certs_and_timeout
- )
- local pytest_args=(
- # https://github.com/SeleniumHQ/selenium/blob/selenium-4.8.2-python/py/test/runner/run_pytest.py#L20-L24
- # seriously?
- -o "python_files=*_tests.py test_*.py"
- )
- if use test-rust; then
- local -x PATH=${T}/bin:${PATH}
- local -x SE_MANAGER_PATH="$(type -P selenium-manager)"
-
- local EPYTEST_RERUNS=5
- pytest_args+=(
- --driver=firefox
- --browser-binary="$(type -P firefox || type -P firefox-bin)"
- --driver-binary="$(type -P geckodriver)"
- --headless
- )
-
- local EPYTEST_IGNORE+=(
- # requires some "python.runfiles", also bidi tests generally fail
- test/selenium/webdriver/common/bidi_webextension_tests.py
- # throws some error that pytest doesn't even show
- test/selenium/webdriver/firefox/ff_installs_addons_tests.py
- )
- EPYTEST_DESELECT+=(
- # expects prebuilt executables for various systems
- test/selenium/webdriver/common/selenium_manager_tests.py::test_uses_windows
- test/selenium/webdriver/common/selenium_manager_tests.py::test_uses_linux
- test/selenium/webdriver/common/selenium_manager_tests.py::test_uses_mac
- test/selenium/webdriver/common/selenium_manager_tests.py::test_errors_if_invalid_os
-
- # TODO: these don't respect --*-binary and try to fetch versions
- test/selenium/webdriver/firefox
- test/selenium/webdriver/marionette/mn_context_tests.py::test_context_sets_correct_context_and_returns
- test/selenium/webdriver/marionette/mn_context_tests.py::test_context_sets_correct_context_and_returns
- test/selenium/webdriver/marionette/mn_options_tests.py::TestIntegration::test_we_can_pass_options
- test/selenium/webdriver/marionette/mn_set_context_tests.py::test_we_can_switch_context_to_chrome
-
- # TODO
- 'test/selenium/webdriver/common/devtools_tests.py::test_check_console_messages[firefox]'
-
- # TODO
- test/selenium/webdriver/common/bidi_browser_tests.py
- test/selenium/webdriver/common/bidi_browsing_context_tests.py
- test/selenium/webdriver/common/bidi_emulation_tests.py
- test/selenium/webdriver/common/bidi_errors_tests.py
- test/selenium/webdriver/common/bidi_input_tests.py
- test/selenium/webdriver/common/bidi_integration_tests.py
- test/selenium/webdriver/common/bidi_log_tests.py
- test/selenium/webdriver/common/bidi_network_tests.py
- test/selenium/webdriver/common/bidi_permissions_tests.py
- test/selenium/webdriver/common/bidi_script_tests.py
- test/selenium/webdriver/common/bidi_session_tests.py
- test/selenium/webdriver/common/bidi_storage_tests.py
- test/selenium/webdriver/common/bidi_tests.py
- test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_binary
- test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_ctor
- test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_prefs
- test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_to_capabilities
- test/selenium/webdriver/remote/remote_custom_locator_tests.py::test_find_element_with_custom_locator
- test/selenium/webdriver/remote/remote_custom_locator_tests.py::test_find_elements_with_custom_locator
-
- # Internet
- test/selenium/webdriver/remote/remote_server_tests.py::test_download_latest_server
- test/selenium/webdriver/remote/remote_hub_connection_tests.py::test_command_executor_ssl_certificate_is_verified
- )
- else
- EPYTEST_IGNORE+=(
- test/selenium
- )
- fi
-
- cd "${WORKDIR}/${TEST_P}/py" || die
- rm -rf selenium || die
- epytest "${pytest_args[@]}"
-}
diff --git a/dev-python/selenium/selenium-4.44.0.ebuild b/dev-python/selenium/selenium-4.44.0.ebuild
index 0269abdf2f08..9d4155031ad4 100644
--- a/dev-python/selenium/selenium-4.44.0.ebuild
+++ b/dev-python/selenium/selenium-4.44.0.ebuild
@@ -29,7 +29,7 @@ SRC_URI+="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
IUSE="test test-rust"
RESTRICT="!test? ( test )"
diff --git a/dev-python/setuptools-gettext/Manifest b/dev-python/setuptools-gettext/Manifest
index 6fc928430498..511527e22e3b 100644
--- a/dev-python/setuptools-gettext/Manifest
+++ b/dev-python/setuptools-gettext/Manifest
@@ -1,5 +1 @@
-DIST setuptools_gettext-0.1.16.tar.gz 16842 BLAKE2B 1af9cac3b9f982fb39b17e9d8e2e0dd1dca6fa31e0ee280869f9c0c71960e85eeda6586126cf7301b8fc79779dd4dc33a3e53232ccd22ad202ca8a5a9279deb2 SHA512 5a9c54b3c7186a37896b7ff7cc07b20566161bf169b1226d0cb9d9ea677e24a3dff01b180f41a900943090eb4d0c8bff5fcc042dc403f6a028af13cb4f628a15
-DIST setuptools_gettext-0.1.16.tar.gz.provenance 10155 BLAKE2B 7239719ea7a6ee9309f637bc340f2be489044d1e558f2845a56f5dd9cab3d28a6414c0335827a61ad4c22ad48c96666030f457fcf13cf4d7e34253a90a69f0b6 SHA512 7c6f679f17d40a9e40e480a8aad3516d89aa787195b6b89764af3fcad845d5ba93f3ecf9169890bb43e600f9e2d0d92909a8d25c728c90930198cf8ddbd2a73f
-DIST setuptools_gettext-0.1.17.tar.gz 17229 BLAKE2B 0a1d9814ecede8695a9e0dbb85ec291641c1a59afc0d24e78ff05e270fdfb218e490521a5f74670ad61128dd85bcbe86d404086a4ee6e196548fcc06e473d835 SHA512 715ebb35e0b588bda38f23d23533ecbb95182b10be594451d80c48ab9fc74a3034d9fc76f353df6eb78ccc6c45b3111ea17618a8f324a99cf399b61a8285a67d
-DIST setuptools_gettext-0.1.17.tar.gz.provenance 10016 BLAKE2B cbf7c9b762b25ef0767415ecfd98a83c0ec7c2419e12d020f41b9462301b507e6baf1c2defafa92ea6e3410624244de3da0ad4b975b9cd2f8b9161326fd43a49 SHA512 8a73a93cc8782d59fe3d13dc123c2974fef51976402453c41679fc9e82f3c9acff34c696c7e5eb0748c73c2016b05287041941625d74dbf7914c4daa077d91ed
DIST setuptools_gettext-0.1.18.tar.gz 20769 BLAKE2B 39b7c7304431f4b0bbafc5cfdee674d7e9f86a148df4adbb28af9dad22fcb5fdff3580975c766f910dfb76349bed1a52c40565410f2eebc5f86d250156a8b9a3 SHA512 e2d08f1fd2897fc8d844be4be53702ba234a77cf50115cb89d5242d79c156f91db0ee8018f19e0f93746d30be7c5ee9d6fd7b30b5cbfc3797eb0e4caad7300c1
diff --git a/dev-python/setuptools-gettext/setuptools-gettext-0.1.16.ebuild b/dev-python/setuptools-gettext/setuptools-gettext-0.1.16.ebuild
deleted file mode 100644
index 2afa59ff950c..000000000000
--- a/dev-python/setuptools-gettext/setuptools-gettext-0.1.16.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2023-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_VERIFY_REPO=https://github.com/breezy-team/setuptools-gettext
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Setuptools plugin for building mo files"
-HOMEPAGE="
- https://pypi.org/project/setuptools-gettext/
- https://github.com/breezy-team/setuptools-gettext/
-"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/setuptools-61.0.0[${PYTHON_USEDEP}]
- sys-devel/gettext
-"
-
-python_test() {
- cd example || die
- distutils_pep517_install "${T}/${EPYTHON}"
- if [[ ! -f ${T}/${EPYTHON}/usr/share/locale/nl/LC_MESSAGES/hallowereld.mo ]]
- then
- die ".mo file not installed"
- fi
-}
diff --git a/dev-python/setuptools-gettext/setuptools-gettext-0.1.17.ebuild b/dev-python/setuptools-gettext/setuptools-gettext-0.1.17.ebuild
deleted file mode 100644
index 87b4edf669ab..000000000000
--- a/dev-python/setuptools-gettext/setuptools-gettext-0.1.17.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2023-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_VERIFY_REPO=https://github.com/breezy-team/setuptools-gettext
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Setuptools plugin for building mo files"
-HOMEPAGE="
- https://pypi.org/project/setuptools-gettext/
- https://github.com/breezy-team/setuptools-gettext/
-"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/setuptools-61.0.0[${PYTHON_USEDEP}]
- sys-devel/gettext
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
diff --git a/dev-python/sh/Manifest b/dev-python/sh/Manifest
index 7122f34e65a1..d65061ae98c0 100644
--- a/dev-python/sh/Manifest
+++ b/dev-python/sh/Manifest
@@ -1,2 +1,8 @@
DIST sh-2.2.2.tar.gz 345866 BLAKE2B dcbfcb257b1c1e7ea57f41aa4207b5d16506c134f503a967f99102ce44ac10b1681369325ebefbb5b64e47b26f52a65bdac3fbd5e89071f321caf72e5a2fd056 SHA512 7235aac25d5f88320f27cf0f5a87ab4e8585e3585aea21d87e927745cf8e255067d0557f865695956b947fe084b28cd5d8ce97102e77cfc9483b39a9eaae23d7
DIST sh-2.2.2.tar.gz.provenance 8914 BLAKE2B a9fe9bb740afc42ddbc405755ffde393be7fc147866a39960f819ee7809a8dfcd71f6fc0f26d4ffede5d573b58c1b22cec455521b078d5fab033448c76cf4717 SHA512 3823987428e4751c43539eaa5815396722a9c0dff5770a080a6697f5295b0500dcf25c48f7e80b9634eccaae57cfe4fabd0749f24200b7aa1433e0710092ef0e
+DIST sh-2.2.3.tar.gz 345938 BLAKE2B 51e1622f6c844e2c9f3bf8a6db180a4e4fe0fbecc1e4b252f41692622cf22c5d8e4208630be589d1b9d84113306b7f482c3b9c1a8a813358d6248469e8233fb2 SHA512 6be41f225d7900ab5fc0737524725a47fab4838a3ba256fbc971ae0b87080360215be9cc884c1f12a5f037e04086152f60d7ff748d279118c0e11a29f26b67d3
+DIST sh-2.2.3.tar.gz.provenance 9305 BLAKE2B 7412e19acf74f64fda1b049959cad531ce3d6bf9fd7c5223010548fb3e9001c2315bda6669c068d34cbf1b1d3e1a36ec4e76ad14e16962d2d3007b3c2f3a3699 SHA512 f35397771c5be18f1f1e6cab0d66329575778a2050e460a09315eae26a8fd974c491dfdfbe83d88b216645d977a23a10ffcd9b9e0664dbde3cf8d7b1c7690df0
+DIST sh-2.2.4.tar.gz 346840 BLAKE2B 4e47916a4688c384d08497a4f6acc3ff35f692b06af7302f1625ba0584325782b113919b906d82a43afec457610c3413ae7b990db344105a09266a47bfcdfeac SHA512 56117a66691e7070feccc2309902dab4f01941d02fad8879714882f551f4db7c8efd1b4f1167f781c10080e8fdd0555f03f9a49abbc667e4e71ec0f16dfc9ea4
+DIST sh-2.2.4.tar.gz.provenance 9258 BLAKE2B 11557d44c67ad36f86cd848278194cfe265b7228717bebe4be7a4d6015a9059846bcac1d698620ef978ee230438942f96f70f7a2c0b970dc1f7bcebbd5a71283 SHA512 05bea2e664e1ea40141703c4ff83fa8ac05e5a1c071234e8ab2edafb148cf2856f2ee1bd14f640e6f22d9224a080e73777fde352e6a80a0f1a3a7813d1fd989c
+DIST sh-2.3.0.tar.gz 135995 BLAKE2B 8dc82f5ecf85a512514c66e9558819050a0dfea00e88610b61a336227d5f79173202abe5d6fb84fa64cc4062c58e99f13ddd275f535a3b75ce1465a5f65fc7c0 SHA512 7c4920dfda4d57b095bb508fcc7e658383767481efa6ad08f7129cf227e23cb608be27793bb17c7ea99c3e28483acafbce41d201900e9c7e5720965bd08cf3a2
+DIST sh-2.3.0.tar.gz.provenance 9262 BLAKE2B 857e3d820c446f8df4db4cb023be03f18b88dfcb08141aaeb07c1f6c7b1c78e9ff8d12c34f3c180b58d06984171cd9d37ba3b8eef64bfbf1841765584a14220a SHA512 be3e7e5566d94d77cc6ea7dfb8fe6b29ca1dcff8e5ff21942c8da7843b48bc30fd1dc340e292ab6285bfef15c08e489af633fa2d794c4d4117c860110997f228
diff --git a/dev-python/sh/sh-2.2.3.ebuild b/dev-python/sh/sh-2.2.3.ebuild
new file mode 100644
index 000000000000..36fbeab309ab
--- /dev/null
+++ b/dev-python/sh/sh-2.2.3.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYPI_VERIFY_REPO=https://github.com/amoffat/sh
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python subprocess interface"
+HOMEPAGE="
+ https://github.com/amoffat/sh/
+ https://pypi.org/project/sh/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+distutils_enable_tests unittest
+
+python_test() {
+ local -x SH_TESTS_RUNNING=1
+ eunittest -p "*_test.py"
+}
diff --git a/dev-python/sh/sh-2.2.4.ebuild b/dev-python/sh/sh-2.2.4.ebuild
new file mode 100644
index 000000000000..36fbeab309ab
--- /dev/null
+++ b/dev-python/sh/sh-2.2.4.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYPI_VERIFY_REPO=https://github.com/amoffat/sh
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python subprocess interface"
+HOMEPAGE="
+ https://github.com/amoffat/sh/
+ https://pypi.org/project/sh/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+distutils_enable_tests unittest
+
+python_test() {
+ local -x SH_TESTS_RUNNING=1
+ eunittest -p "*_test.py"
+}
diff --git a/dev-python/sh/sh-2.3.0.ebuild b/dev-python/sh/sh-2.3.0.ebuild
new file mode 100644
index 000000000000..9326605d7492
--- /dev/null
+++ b/dev-python/sh/sh-2.3.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/amoffat/sh
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python subprocess interface"
+HOMEPAGE="
+ https://github.com/amoffat/sh/
+ https://pypi.org/project/sh/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+distutils_enable_tests unittest
+
+python_test() {
+ local -x SH_TESTS_RUNNING=1
+ eunittest -p "*_test.py"
+}
diff --git a/dev-python/signxml/Manifest b/dev-python/signxml/Manifest
index 1def64263f24..5d99419627b8 100644
--- a/dev-python/signxml/Manifest
+++ b/dev-python/signxml/Manifest
@@ -1,2 +1,4 @@
DIST signxml-4.4.0.tar.gz 1615052 BLAKE2B bae733058eba190d78463c0cd90358d5f51bc468a915c2844b16564b04bb39ce8216b4066abc36b889a04e023bd56aa03e5eb6c94bff6d732bb8af2392dc7c0c SHA512 3abf0155fff8ae34554029523291f1312ae3f8c719c88e6d81145b7a8c2422a35ae8c31654a26be184ae138d7b84360735c0daf01c832265ca9ccfae6b846995
DIST signxml-4.4.0.tar.gz.provenance 9544 BLAKE2B e5acc100dcf5bffa716c343cb4d00b95b6fcdf026295bd32dac4ebd0115282e8e81b5c74d2bd0af55c85ce02a50f8df19cbdbbad774ca5aaa0aa3680a5921b88 SHA512 86372bf8883965ebb6076111fead91f1f432799752f6a47a1294bdbec8ba1f961e8b8b699a26ca83fe5f89ac39550302d85522dce73a9a5c28a09e30871d34cf
+DIST signxml-4.5.1.tar.gz 1615677 BLAKE2B ae7808d5910383e313c04cf1be10c224d7f05cfc7344240e0811460ee25a44b15ad5d27e4573d7fbff3327fd2961e0d3097ef084cfc1092776b1d712732bdd7c SHA512 a0956c0b63792a930b83647eda39a071fb17b6f49a469cf53c444fb28044a49c0f33f3faf3038d810684a2de921a0da14306b5458e63bd265672e49aa7dea5ad
+DIST signxml-4.5.1.tar.gz.provenance 9920 BLAKE2B 4dee9161bfb4b2ba5a2bf664c3703745448daf0a411cc29f716525065276014a62beb5b9405b9e42c79a312275112bf62ffe9c1809b014158cfd4e77af8ba6a8 SHA512 bfad600e9b7b8fd11d9876b31f76b50b6441ca023aa4dc4df57a51f7ba3b12e41be3b1e5b847192e6a7cfe760d2022ed39352305ed45179644818986b5abaa21
diff --git a/dev-python/signxml/signxml-4.5.1.ebuild b/dev-python/signxml/signxml-4.5.1.ebuild
new file mode 100644
index 000000000000..0465556f7e5e
--- /dev/null
+++ b/dev-python/signxml/signxml-4.5.1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2025-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/XML-Security/signxml
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python XML Signature and XAdES library"
+HOMEPAGE="
+ https://pypi.org/project/signxml/
+ https://github.com/XML-Security/signxml
+"
+
+if [[ ${PV} == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/XML-Security/signxml.git"
+else
+ inherit pypi
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/lxml-5[${PYTHON_USEDEP}]
+ <dev-python/lxml-7[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-43[${PYTHON_USEDEP}]
+ >=dev-python/certifi-2023.11.17[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ "${EPYTHON}" test/test.py -v || die
+}
diff --git a/dev-python/simplejson/simplejson-4.1.1.ebuild b/dev-python/simplejson/simplejson-4.1.1.ebuild
index 06c01858aff7..dd002189bb0b 100644
--- a/dev-python/simplejson/simplejson-4.1.1.ebuild
+++ b/dev-python/simplejson/simplejson-4.1.1.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="|| ( MIT AFL-2.1 )"
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"
DOCS=( README.rst CHANGES.txt )
diff --git a/dev-python/sip/Manifest b/dev-python/sip/Manifest
index 482950ad668f..07093c82365d 100644
--- a/dev-python/sip/Manifest
+++ b/dev-python/sip/Manifest
@@ -1,3 +1 @@
-DIST sip-6.15.1.gh.tar.gz 2684607 BLAKE2B eb195d6de6de196630ee230a3ec561c57b50fb54b1ccabf33bc6838475c0d35968b1502daa8e5e9e78a9a875638261f2552a2a149e1625b23e117f832ba77f96 SHA512 fb14c7fae760dfed6719a1c5af284237a016b455897a4164f99dbaf86e92010d69dd2960133a64dedf0503fe102bfd0a1187873263370b556260e82f37aeb5ba
-DIST sip-6.15.2.gh.tar.gz 2689763 BLAKE2B c6c521ad077b01cbb3cdf90f548959822256ea65f7dcce71790b336264f0401d92162efd56bdedc932f0da5e03eec11f1ad1fb1a0b6b11f7964c89930e1463b8 SHA512 c8fb5b4331e7c9dd491d71bd999be29234c340ac0fd8e6132cab703a8671eb6b3d7e8420f39b461b26fc9a8431ebc02699a01774e191f4b4ea4f4ab0af91d4d8
DIST sip-6.15.3.gh.tar.gz 2690715 BLAKE2B fb2729a3c80e21c340e7374703b11ad5d90c35eb73fd1d9b873064d19f1c26cb88b60abad2a03dd2dbe8783a8d151d61b09718bc71f9c16142997abc047fab69 SHA512 6a496248d11f991692f2b0676081c3c846de4f9aa3c2fca071aed350f3f84916298e997d72e22b43829566042578ebc24df9c2788d8f4a46a07d3f485cc1adb0
diff --git a/dev-python/sip/sip-6.15.1.ebuild b/dev-python/sip/sip-6.15.1.ebuild
deleted file mode 100644
index c24a759c497e..000000000000
--- a/dev-python/sip/sip-6.15.1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-inherit distutils-r1
-
-DESCRIPTION="Python bindings generator for C/C++ libraries"
-HOMEPAGE="https://github.com/Python-SIP/sip/"
-SRC_URI="
- https://github.com/Python-SIP/sip/archive/refs/tags/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD-2 BSD"
-SLOT="5"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools-scm-8[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx docs \
- dev-python/myst-parser \
- dev-python/sphinx-rtd-theme
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-python_test() {
- # some tests currently fails to find test/utils without this
- # TODO: try again without, used to be unneeded but not been looked into
- local -x PYTHONPATH=${S}/test:${PYTHONPATH}
-
- local EPYTEST_DESELECT=(
- # logic for this test seems(?) inverted (XFAIL), skip for now
- # given it's new and is only to emit a deprecation warning
- test/gen_classes/test_gen_classes.py::GenerateClassesTestCase::test_Nonpublic_Superclasses
- )
-
- distutils-r1_python_test
-}
diff --git a/dev-python/sip/sip-6.15.2.ebuild b/dev-python/sip/sip-6.15.2.ebuild
deleted file mode 100644
index aece871c22b8..000000000000
--- a/dev-python/sip/sip-6.15.2.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-inherit distutils-r1
-
-DESCRIPTION="Python bindings generator for C/C++ libraries"
-HOMEPAGE="https://github.com/Python-SIP/sip/"
-SRC_URI="
- https://github.com/Python-SIP/sip/archive/refs/tags/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD-2 BSD"
-SLOT="5"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools-scm-8[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx docs \
- dev-python/myst-parser \
- dev-python/sphinx-rtd-theme
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-python_test() {
- # some tests currently fails to find test/utils without this
- # TODO: try again without, used to be unneeded but not been looked into
- local -x PYTHONPATH=${S}/test:${PYTHONPATH}
-
- local EPYTEST_DESELECT=(
- # logic for this test seems(?) inverted (XFAIL), skip for now
- # given it's new and is only to emit a deprecation warning
- test/gen_classes/test_gen_classes.py::GenerateClassesTestCase::test_Nonpublic_Superclasses
- )
-
- distutils-r1_python_test
-}
diff --git a/dev-python/slixmpp/Manifest b/dev-python/slixmpp/Manifest
index 49ad558c3c00..867df7b01463 100644
--- a/dev-python/slixmpp/Manifest
+++ b/dev-python/slixmpp/Manifest
@@ -23,8 +23,8 @@ DIST pyo3-ffi-0.28.2.crate 80837 BLAKE2B ac17690399e5cf84602a974860d84856d9489c7
DIST pyo3-macros-0.28.2.crate 8960 BLAKE2B 54fdb3f2d04c1f04d3cdb4d8422cd9fe1098df2f2740eaf61e2868e19f0a93c677486cef56576e39ba2010e426901c95846b7b81285858094ef1fdf48edc65b1 SHA512 7125a41bd5ceaa5c85a2ac5ed1bf07708cf95f58dd18a8ba9000a3139ebc06e90776b4254820410e940c80ed45f7c09165c8fe57d8f79069622849c6c0861bcb
DIST pyo3-macros-backend-0.28.2.crate 87939 BLAKE2B c70e46d44c935e58957cd53a76a1e6d2e97ee1bdc39c926b1a23ce391785f212c30e150286fc78724e945679ac1ff04a10ec958b6d3dfe30c4acee795f6c2e63 SHA512 24203c47d91be9acc949cfc70ec8b4aa32e089275cf9b0061a9909f5e60895c56446692be0056e13cc4df8efc0698e0655626f9524241b54cd172d8a25e42f98
DIST quote-1.0.45.crate 31564 BLAKE2B 1b2c2c3e6ebabfe10affa4c43ca0bfd1f52d8fd49e1df463e13e63a82de41272089c8e09e4c02e8a33cfee768ace26d4d42a50752de8fb5a776c59806139ad5d SHA512 df96ede01ebd0ed642b758bf1d0862d0e116fc2b3343e14edb657ce5438ccabe743dec4a0a40de4dee98c134d169af9aba459faadf9c7a832b26377e755d49b0
-DIST slixmpp-1.14.1.tar.gz 784417 BLAKE2B 93c2b25f8213485d6339f972499ae8f2dec23d3aa8bd993229a815692a3dbca3ba3d9d0c5c17135a221256843e65253af4d28fcac25245301db92d7a267bf481 SHA512 a199c975c5a1ffe8b94983e7cdf9fd93e406f46fe5f9e5d1be7abb6669ecabab32c20e1a060f870d76a056c791c3bc2cf4e348b24dc4f506a4ef42d0f0ac7ff3
DIST slixmpp-1.15.0.tar.gz 788761 BLAKE2B a54e34f3d1c6d11f6a7d9d86fc57a6574ab112b59cd1034044fa62cc612e3e9588063fbdc58a14a9d36d2e84e9745a0389c25f10b2fcafe36ecfb0fe77df8efe SHA512 0709661b97be774d2c44a49c6654137581f4291d8b4a18ca3aa32da5d59c5b7a6e081f87222bc243bb19f9f75f3a616c7a10ded9af1add828ff45226367289d8
+DIST slixmpp-1.16.0.tar.gz 798143 BLAKE2B 7c0d9708cba1b787c68d485f8be7536cd46bab5c2040d9bbbf239d9888398deddce2716278ca7a0a47043ffa6905207b4b49c0f77d6d9baf1a6ce4621bd6b9ed SHA512 5a8500a6bbb99d1e01310332676753d77eb71f23cd0d7b36417f348fc36d1a9d807bfb1876f1407c6ba8c1799bd45c8970231058d0918d25288811d05c3cb93e
DIST smallvec-1.15.1.crate 38116 BLAKE2B 8dd779d7726694672945e928399e0459f4973d284a6c2d664c2fc757ebb1177658f47c812d9800e982479cbd7413fd4283c64a4d248ba5cff6397f96b758676e SHA512 c26b097a063353beedfcc921129cd0fb838c1c9420218993a05b2655b47b6ec16f11e0054312018658b4abd893beee140c5d2739401a5e5aea2e64575f237047
DIST stable_deref_trait-1.2.1.crate 8186 BLAKE2B 6408959d169d1228c1b0802ef31c850206405f8259168f169aabc91f63683dcdf347ff0e74fb3535ab05d7642889dd2637afbdea389b43b0925e0d6cf441ed67 SHA512 630721d3f8e9f3290efc250c42aba13e2325839e62167a2a611618c18c6aa58c08a53622db61a9aa920284570626b98df26b3c28009cf45b6ce1ec134b9c9f5c
DIST stringprep-0.1.5.crate 23573 BLAKE2B 8b5ae2f278603553761e0b98a3f0a02c6a81fd117fee57a8186a015a58ce5ec8d91d9f3decb393f53e07d8df05963f399e63afa46bca937b99f609204582aa50 SHA512 f5dd6ee410e42f285b4da85e76d514ef697cd995c601b5ed23e25f702d920dcc76f15fad41610b6554b692ca0f939f329845535fe4ea167df3ea0e628b1da447
diff --git a/dev-python/slixmpp/slixmpp-1.14.1.ebuild b/dev-python/slixmpp/slixmpp-1.16.0.ebuild
index 083995511602..960efd23cab2 100644
--- a/dev-python/slixmpp/slixmpp-1.14.1.ebuild
+++ b/dev-python/slixmpp/slixmpp-1.16.0.ebuild
@@ -7,7 +7,7 @@ DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{13..14} )
-RUST_MIN_VER="1.83"
+RUST_MIN_VER="1.85.0"
CRATES="
displaydoc@0.2.5
heck@0.5.0
@@ -73,7 +73,7 @@ LICENSE="MIT"
# Dependent crate licenses
LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT MPL-2.0 Unicode-3.0"
SLOT="0"
-KEYWORDS="amd64 ~riscv"
+KEYWORDS="~amd64 ~riscv"
RDEPEND="
>=dev-python/aiodns-3.2.0[${PYTHON_USEDEP}]
diff --git a/dev-python/soundfile/Manifest b/dev-python/soundfile/Manifest
index 4d144a4a48b9..f6fb6ecda2f2 100644
--- a/dev-python/soundfile/Manifest
+++ b/dev-python/soundfile/Manifest
@@ -1 +1 @@
-DIST soundfile-0.13.1.tar.gz 46156 BLAKE2B 7dc6d94e8d9dcaea696d5d8e67893212e632358639b2be24eb74f219b9a6db27ed334e9b38f35a25b02e6d18ec2dee1101464ac1fc4756b605d73885906d9506 SHA512 f3abb62bf7e93bcf111e9d6f9cf560f2cc2dbdd48af1d653e412f071932225016560d3bb318c2129420f53a9e7e51aea1d91f848a09a462dbd34ac836f0e1555
+DIST soundfile-0.14.0.tar.gz 47842 BLAKE2B 4ec124605ce1b48d094178d36b19768ee27c201bddfbea117c5e3bc0ddc0680bbbc7296c8e91f26b938a9edc33e2b2895c0062e33cb2629d6fe41317c55a551d SHA512 7895855686ca110d05693f43a63ad499f46e6a5710523ff20d0164b6add3615ec2316bfbb3ec46582c04c612df61dc5b70a8bb99f6bb47aec90e22f5e95e7260
diff --git a/dev-python/soundfile/soundfile-0.13.1.ebuild b/dev-python/soundfile/soundfile-0.14.0.ebuild
index c1ea6d0f1cbe..1920e0811396 100644
--- a/dev-python/soundfile/soundfile-0.13.1.ebuild
+++ b/dev-python/soundfile/soundfile-0.14.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2025 Gentoo Authors
+# Copyright 2025-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -10,6 +10,7 @@ inherit distutils-r1 pypi
DESCRIPTION="audio library based on libsndfile, CFFI and NumPy"
HOMEPAGE="
+ https://github.com/bastibe/python-soundfile/
https://pypi.org/project/soundfile/
"
@@ -18,10 +19,14 @@ SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="
+ media-libs/libsndfile
dev-python/cffi[${PYTHON_USEDEP}]
dev-python/numpy[${PYTHON_USEDEP}]
- media-libs/libsndfile
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+"
+BDEPEND="
test? ( media-libs/libsndfile[-minimal] )
"
+EPYTEST_PLUGINS=()
distutils_enable_tests pytest
diff --git a/dev-python/sphinx-autodoc-typehints/Manifest b/dev-python/sphinx-autodoc-typehints/Manifest
index 3cce0034f4a9..198744ee705b 100644
--- a/dev-python/sphinx-autodoc-typehints/Manifest
+++ b/dev-python/sphinx-autodoc-typehints/Manifest
@@ -6,3 +6,7 @@ DIST sphinx_autodoc_typehints-3.10.4.tar.gz 79571 BLAKE2B 6975a7a8af4730b3db5dc0
DIST sphinx_autodoc_typehints-3.10.4.tar.gz.provenance 10233 BLAKE2B 076fde02ad406e8f49cb4da9fa1c290b0f24083a75193686896dd00fd3b091a873400bbe08fc61d35d5c14e843d3254fd1e242007b1c0f676885ed7b56a2cabc SHA512 e9447087e1725aa3d6f5bf62d3a2ea628e2405104e45b76231fd1e396d76a73fc816162fe3d2033ead92bd0fbe0de42411dd5ecc302cb49fa536cb786798faf3
DIST sphinx_autodoc_typehints-3.10.5.tar.gz 79721 BLAKE2B 0a841ae1c38de85611ad82fb96d1141c3b3280c312bdb27e86de4b8d50adf52ee2d5b98f1a1d1fd0850498b5e1342414495734a317e991ae02c53cc1fd985bd7 SHA512 3bcc8241b782945810a66c9a5947e942229afd9b6125df60cdee876197b093e63d58f0ba687181ecb8666136ab156d571314409ab00230102b3cf92cd0f67885
DIST sphinx_autodoc_typehints-3.10.5.tar.gz.provenance 10037 BLAKE2B 675d402ff82e1eb2e8f658ef5ba0aa00db083ffad16fd6e45dad6ee345996e3ced176fa09fb4d9c92215db8c41a2f0e15709061b9da6d614cc1d15c528f48ea8 SHA512 ccad8edef0ec6e479acf1da8769044fb4863e801a5ea15aa36c7b931622de2f7a1540b76152a06ad1bf9f66a2d4f4625f5760a06a62ca4be554fe8d72ca30183
+DIST sphinx_autodoc_typehints-3.10.6.tar.gz 80926 BLAKE2B bddd84c630da77a66ab70a4691d64eeddf04475383b40958379683449aff0ac79dd0f8e6011710f71ceb9c44fe65193635d1fb88bfa7a2561fb21de81266cf6e SHA512 99a5b4b13a8ecc6d11edaea18c6e68331743f2bd65a514a14990641fa1fa214865f5caa430117be863643d5d7b112b129f25263722ba49e08257296cbb56330c
+DIST sphinx_autodoc_typehints-3.10.6.tar.gz.provenance 10284 BLAKE2B b7341d815e653acfd4f5f82f14b6f33b27501a32bdcc0a1a18eaa75facf3db7527c9f3396e4032a2cb5c9fe20a5e34faebe048c879651114b58f6cff0aa0d7a8 SHA512 2da7939129b668ec2899a52d161c9375e09d6def0c9bd49752f43355d113d088c5b080faa5a18b2d4dfcfbaba88d9954764c5ff1350fd21ddefcdd680dda0aa3
+DIST sphinx_autodoc_typehints-3.11.0.tar.gz 82518 BLAKE2B 3021c92ae92e8ad2dbcec1e6a4f936a9b6cd49ef8b6254ecaabcb7d3a9d53feba57a4130195ceac463bd53b3fc604be74057ee552dabbefed2e61350d181fe81 SHA512 bb20c5f81723250dc4ef1eb8be4f9ca649de77e405f80bb95110ae14d563e614f7712eaa1c165d614c257faeb4e70e64b3ca15fb8208ddf240eb93cc6704e24b
+DIST sphinx_autodoc_typehints-3.11.0.tar.gz.provenance 10139 BLAKE2B 0eea213b241e1ac188205e4707f9db1cd1907efb94cdd8dd34aba0bfce7564714df65249b63d577d335d0bb63ca3306c5ddce131a9cd52dad42c12a26fd6fcc8 SHA512 063cb60182b133d9f627871a60e749743bacf29d7728504b6abb8d21b80f30b1bff02c5d5afb5150e0b332802a558480c81f3a4c73a5e57d1f7bf9bde38f109d
diff --git a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-3.10.6.ebuild b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-3.10.6.ebuild
new file mode 100644
index 000000000000..238733c448a1
--- /dev/null
+++ b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-3.10.6.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/tox-dev/sphinx-autodoc-typehints
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Type hints support for the Sphinx autodoc extension"
+HOMEPAGE="
+ https://github.com/tox-dev/sphinx-autodoc-typehints/
+ https://pypi.org/project/sphinx-autodoc-typehints/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/sphinx-9.0.4[${PYTHON_USEDEP}]
+"
+# skipping optional test dep on dev-python/nptyping as that package
+# is horribly broken and on its way out
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/attrs-25.4[${PYTHON_USEDEP}]
+ >=dev-python/numpydoc-1.10[${PYTHON_USEDEP}]
+ >=dev-python/sphobjinv-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.5[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Internet
+ tests/test_annotations.py::test_format_annotation
+ tests/test_resolver/test_stubs.py::test_sphinx_build_stub_types_produce_crossrefs
+)
diff --git a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-3.11.0.ebuild b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-3.11.0.ebuild
new file mode 100644
index 000000000000..238733c448a1
--- /dev/null
+++ b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-3.11.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/tox-dev/sphinx-autodoc-typehints
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Type hints support for the Sphinx autodoc extension"
+HOMEPAGE="
+ https://github.com/tox-dev/sphinx-autodoc-typehints/
+ https://pypi.org/project/sphinx-autodoc-typehints/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/sphinx-9.0.4[${PYTHON_USEDEP}]
+"
+# skipping optional test dep on dev-python/nptyping as that package
+# is horribly broken and on its way out
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/attrs-25.4[${PYTHON_USEDEP}]
+ >=dev-python/numpydoc-1.10[${PYTHON_USEDEP}]
+ >=dev-python/sphobjinv-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.5[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Internet
+ tests/test_annotations.py::test_format_annotation
+ tests/test_resolver/test_stubs.py::test_sphinx_build_stub_types_produce_crossrefs
+)
diff --git a/dev-python/sphinx-panels/files/sphinx-panels-0.6.0-docutils-0.22.patch b/dev-python/sphinx-panels/files/sphinx-panels-0.6.0-docutils-0.22.patch
new file mode 100644
index 000000000000..f627b382984a
--- /dev/null
+++ b/dev-python/sphinx-panels/files/sphinx-panels-0.6.0-docutils-0.22.patch
@@ -0,0 +1,110 @@
+from Debian https://salsa.debian.org/python-team/packages/sphinx-panels/-/blob/debian/0.6.0-7/debian/patches/Make-the-tests-pass-with-Docutils-0.22.patch
+Bug #962897 / Make the tests pass with Docutils 0.22
+--- a/tests/test_sphinx.py
++++ b/tests/test_sphinx.py
+@@ -1,8 +1,10 @@
+ from pathlib import Path
+ import shutil
+
++import docutils
+ import pytest
+ import sphinx
++from docutils.nodes import Element
+
+ from sphinx_panels.tabs import TabbedHtmlTransform
+
+@@ -34,6 +36,11 @@ def test_sources(sphinx_app_factory, file_regression, folder):
+ doctree["source"] = "source"
+ if sphinx.version_info < (7, 1):
+ doctree["translation_progress"] = "{'total': 0, 'translated': 0}"
++ if docutils.__version_info__ < (0, 22):
++ for node in doctree.findall(Element):
++ for name, value in node.attlist():
++ if isinstance(value, bool):
++ node.attributes[name] = str(int(value))
+ file_regression.check(
+ doctree.pformat(),
+ encoding="utf8",
+--- a/tests/test_sphinx/test_sources_dropdown_basic_.xml
++++ b/tests/test_sphinx/test_sources_dropdown_basic_.xml
+@@ -2,27 +2,27 @@
+ <section ids="title" names="title">
+ <title>
+ Title
+- <dropdown_main classes="sphinx-bs dropdown card mb-3 shadow" opened="False">
++ <dropdown_main classes="sphinx-bs dropdown card mb-3 shadow" opened="0">
+ <dropdown_title classes="summary-title card-header bg-primary text-white text-center font-weight-bold">
+ My Content
+- <container classes="summary-down" is_div="True">
++ <container classes="summary-down" is_div="1">
+ <raw format="html" xml:space="preserve">
+ <svg version="1.1" width="24" height="24" class="octicon octicon-chevron-down" viewBox="0 0 24 24" aria-hidden="true"><path fill-rule="evenodd" d="M5.22 8.72a.75.75 0 000 1.06l6.25 6.25a.75.75 0 001.06 0l6.25-6.25a.75.75 0 00-1.06-1.06L12 14.44 6.28 8.72a.75.75 0 00-1.06 0z"></path></svg>
+- <container classes="summary-up" is_div="True">
++ <container classes="summary-up" is_div="1">
+ <raw format="html" xml:space="preserve">
+ <svg version="1.1" width="24" height="24" class="octicon octicon-chevron-up" viewBox="0 0 24 24" aria-hidden="true"><path fill-rule="evenodd" d="M18.78 15.28a.75.75 0 000-1.06l-6.25-6.25a.75.75 0 00-1.06 0l-6.25 6.25a.75.75 0 101.06 1.06L12 9.56l5.72 5.72a.75.75 0 001.06 0z"></path></svg>
+- <container classes="summary-content card-body bg-light text-right font-italic" is_div="True">
++ <container classes="summary-content card-body bg-light text-right font-italic" is_div="1">
+ <paragraph classes="card-text">
+ Is formatted
+- <dropdown_main classes="sphinx-bs dropdown card mb-3 fade-in-slide-down" opened="False">
++ <dropdown_main classes="sphinx-bs dropdown card mb-3 fade-in-slide-down" opened="0">
+ <dropdown_title classes="summary-title card-header">
+ Fade In
+- <container classes="summary-down" is_div="True">
++ <container classes="summary-down" is_div="1">
+ <raw format="html" xml:space="preserve">
+ <svg version="1.1" width="24" height="24" class="octicon octicon-chevron-down" viewBox="0 0 24 24" aria-hidden="true"><path fill-rule="evenodd" d="M5.22 8.72a.75.75 0 000 1.06l6.25 6.25a.75.75 0 001.06 0l6.25-6.25a.75.75 0 00-1.06-1.06L12 14.44 6.28 8.72a.75.75 0 00-1.06 0z"></path></svg>
+- <container classes="summary-up" is_div="True">
++ <container classes="summary-up" is_div="1">
+ <raw format="html" xml:space="preserve">
+ <svg version="1.1" width="24" height="24" class="octicon octicon-chevron-up" viewBox="0 0 24 24" aria-hidden="true"><path fill-rule="evenodd" d="M18.78 15.28a.75.75 0 000-1.06l-6.25-6.25a.75.75 0 00-1.06 0l-6.25 6.25a.75.75 0 101.06 1.06L12 9.56l5.72 5.72a.75.75 0 001.06 0z"></path></svg>
+- <container classes="summary-content card-body" is_div="True">
++ <container classes="summary-content card-body" is_div="1">
+ <paragraph classes="card-text">
+ Content
+--- a/tests/test_sphinx/test_sources_tabbed_basic_.xml
++++ b/tests/test_sphinx/test_sources_tabbed_basic_.xml
+@@ -2,31 +2,31 @@
+ <section ids="title" names="title">
+ <title>
+ Title
+- <container classes="tabbed-set" is_div="True">
+- <tabbed_input checked="True" id="mock-uuid" set_id="mock-uuid" type="radio">
++ <container classes="tabbed-set" is_div="1">
++ <tabbed_input checked="1" id="mock-uuid" set_id="mock-uuid" type="radio">
+ <tabbed_label classes="tabbed-label" input_id="mock-uuid">
+ Tab 1
+- <container classes="tabbed-content" is_div="True">
++ <container classes="tabbed-content" is_div="1">
+ <paragraph>
+ Tab 1 content
+- <tabbed_input checked="False" id="mock-uuid" set_id="mock-uuid" type="radio">
++ <tabbed_input checked="0" id="mock-uuid" set_id="mock-uuid" type="radio">
+ <tabbed_label classes="tabbed-label" input_id="mock-uuid">
+ Tab 2
+- <container classes="tabbed-content pl-1 bg-primary" is_div="True">
++ <container classes="tabbed-content pl-1 bg-primary" is_div="1">
+ <paragraph>
+ Tab 2 content
+- <container classes="tabbed-set" is_div="True">
+- <tabbed_input checked="False" id="mock-uuid" set_id="mock-uuid" type="radio">
++ <container classes="tabbed-set" is_div="1">
++ <tabbed_input checked="0" id="mock-uuid" set_id="mock-uuid" type="radio">
+ <tabbed_label classes="tabbed-label" input_id="mock-uuid">
+ Tab 3
+- <container classes="tabbed-content" is_div="True">
++ <container classes="tabbed-content" is_div="1">
+ <paragraph>
+ Tab 3 content
+- <literal_block force="False" highlight_args="{}" language="python" linenos="False" xml:space="preserve">
++ <literal_block force="0" highlight_args="{}" language="python" linenos="0" xml:space="preserve">
+ import pip
+- <tabbed_input checked="True" id="mock-uuid" set_id="mock-uuid" type="radio">
++ <tabbed_input checked="1" id="mock-uuid" set_id="mock-uuid" type="radio">
+ <tabbed_label classes="tabbed-label" input_id="mock-uuid">
+ Tab 4
+- <container classes="tabbed-content" is_div="True">
++ <container classes="tabbed-content" is_div="1">
+ <paragraph>
+ Tab 4 content
diff --git a/dev-python/sphinx-panels/files/sphinx-panels-0.6.0-sphinx-7.patch b/dev-python/sphinx-panels/files/sphinx-panels-0.6.0-sphinx-7.patch
index 8bd3ebb0706b..1418e0cc8f10 100644
--- a/dev-python/sphinx-panels/files/sphinx-panels-0.6.0-sphinx-7.patch
+++ b/dev-python/sphinx-panels/files/sphinx-panels-0.6.0-sphinx-7.patch
@@ -1,34 +1,28 @@
-https://salsa.debian.org/python-team/packages/sphinx-panels/-/blob/debian/master/debian/patches/Make-the-tests-pass-with-Sphinx-7.x.patch
-
+https://salsa.debian.org/python-team/packages/sphinx-panels/-/blob/debian/0.6.0-7/debian/patches/Make-the-tests-pass-with-Sphinx-7.x.patch
From: Dmitry Shachnev <mitya57@debian.org>
Date: Fri, 3 Nov 2023 23:25:11 +0300
Subject: Make the tests pass with Sphinx 7.x
----
- tests/test_sphinx.py | 8 +++++++-
- tests/test_sphinx/test_sources_dropdown_basic_.xml | 2 +-
- tests/test_sphinx/test_sources_tabbed_basic_.xml | 2 +-
- 3 files changed, 9 insertions(+), 3 deletions(-)
-
-diff --git a/tests/test_sphinx.py b/tests/test_sphinx.py
-index 9efc2c2..35affa1 100644
+Forwarded: https://github.com/executablebooks/sphinx-panels/pull/84
--- a/tests/test_sphinx.py
+++ b/tests/test_sphinx.py
-@@ -2,6 +2,7 @@ from pathlib import Path
+@@ -2,7 +2,7 @@ from pathlib import Path
import shutil
import pytest
+-from sphinx.testing.path import path
+import sphinx
- from sphinx.testing.path import path
from sphinx_panels.tabs import TabbedHtmlTransform
-@@ -15,7 +16,10 @@ def sphinx_app_factory(make_app, tmp_path: Path, monkeypatch):
+
+@@ -15,7 +15,11 @@ def sphinx_app_factory(make_app, tmp_path: Path, monkeypatch):
shutil.copytree(
(Path(__file__).parent / "sources" / src_folder), tmp_path / src_folder
)
- app = make_app(srcdir=path(str((tmp_path / src_folder).absolute())), **kwargs)
+ srcdir = (tmp_path / src_folder).absolute()
+ if sphinx.version_info < (7, 2):
++ from sphinx.testing.path import path
+ srcdir = path(str(srcdir))
+ app = make_app(srcdir=srcdir, **kwargs)
return app
@@ -43,8 +37,6 @@ index 9efc2c2..35affa1 100644
file_regression.check(
doctree.pformat(),
encoding="utf8",
-diff --git a/tests/test_sphinx/test_sources_dropdown_basic_.xml b/tests/test_sphinx/test_sources_dropdown_basic_.xml
-index b984330..4c42825 100644
--- a/tests/test_sphinx/test_sources_dropdown_basic_.xml
+++ b/tests/test_sphinx/test_sources_dropdown_basic_.xml
@@ -1,4 +1,4 @@
@@ -53,8 +45,6 @@ index b984330..4c42825 100644
<section ids="title" names="title">
<title>
Title
-diff --git a/tests/test_sphinx/test_sources_tabbed_basic_.xml b/tests/test_sphinx/test_sources_tabbed_basic_.xml
-index b3f2d1a..f55e06e 100644
--- a/tests/test_sphinx/test_sources_tabbed_basic_.xml
+++ b/tests/test_sphinx/test_sources_tabbed_basic_.xml
@@ -1,4 +1,4 @@
diff --git a/dev-python/sphinx-panels/sphinx-panels-0.6.0-r1.ebuild b/dev-python/sphinx-panels/sphinx-panels-0.6.0-r2.ebuild
index 16ae7645cd70..30fcc7fa2313 100644
--- a/dev-python/sphinx-panels/sphinx-panels-0.6.0-r1.ebuild
+++ b/dev-python/sphinx-panels/sphinx-panels-0.6.0-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -26,17 +26,15 @@ RDEPEND="
dev-python/docutils[${PYTHON_USEDEP}]
dev-python/sphinx[${PYTHON_USEDEP}]
"
-BDEPEND="
- test? (
- dev-python/pytest-regressions[${PYTHON_USEDEP}]
- )
-"
PATCHES=(
# https://github.com/executablebooks/sphinx-panels/pull/84
"${FILESDIR}/${P}-sphinx-7.patch"
+ # rebased https://github.com/executablebooks/sphinx-panels/pull/86
+ "${FILESDIR}/${P}-docutils-0.22.patch"
)
+EPYTEST_PLUGINS=( pytest-{datadir,regressions} )
distutils_enable_tests pytest
distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
diff --git a/dev-python/sphinxcontrib-bibtex/Manifest b/dev-python/sphinxcontrib-bibtex/Manifest
index ada0a0c8741f..3c1c13de9f92 100644
--- a/dev-python/sphinxcontrib-bibtex/Manifest
+++ b/dev-python/sphinxcontrib-bibtex/Manifest
@@ -1,4 +1,2 @@
-DIST sphinxcontrib_bibtex-2.6.5.tar.gz 118462 BLAKE2B 42c2032fbc67a4b7fae8fbb4d407f0984cc10415be0490aa302c3657b99429989223ff0ec3e70bfb102f7980947da666e1ccb602da9f699e52fcc22578264d24 SHA512 514bbe4f9b705e68e6098deefbd8be1234edd12752f32892bdc67bedcca5df85f605da4d6660486eb387e8c42da9bd8633201c40f3d11591dd2cf1840c27ec53
-DIST sphinxcontrib_bibtex-2.6.5.tar.gz.provenance 9694 BLAKE2B 6b314f00fc6f9715816cb5d0d144388465ad66999ae0ede0684d4f5ad9c0d50af40f75428699e0788cc4a778f05ee12819cd6335f83d4c26a13aa302cfbbd2a8 SHA512 edcef1cd1d4c7d26da5e12e111fef384348d68e75e6478a285753f30f7272c002af0b0de26a88f58dd407d438350560e18fa848c1a3a4b0e1f5283ebc5fb13a3
DIST sphinxcontrib_bibtex-2.7.0.tar.gz 120669 BLAKE2B c10a0b0ab31686af48e2f4d8bb8b0e9f5575c691b5e5b31a027a5ac2fb9519155c26c60929bfb41cfbc053592ada0f25d93d3a4aa877996b0446da96d0437ca4 SHA512 ba33a97d9aaa95e8b3ae7da36cf9a9d46bb3e18f153a8f4df7d6111ee74fe46f685c801ecfc899b7d17afdd2aa086ca87a88ff9a3e29cbcb1e66280bb25db29f
DIST sphinxcontrib_bibtex-2.7.0.tar.gz.provenance 9884 BLAKE2B c006855d8defb869e86a855ed6f980c9ade0a10fd5565deb9b24dc0f6fab7c78644e5c57947846bf1d27334304037cfdb9d00362c42ea0c3741ed03ae38fbb2b SHA512 735f09a9fe52bb260f405aff0d3ad216c13f4124a3f9ec00f096086e7586f4ea2df4e90e3d73315e5a011c3f98d2fc74c117f39de4608c071ec880c71ced23b6
diff --git a/dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.6.5.ebuild b/dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.6.5.ebuild
deleted file mode 100644
index 9ac8216c9ad3..000000000000
--- a/dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.6.5.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_VERIFY_REPO=https://github.com/mcmtroffaes/sphinxcontrib-bibtex
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Sphinx extensions for BibTeX style citations"
-HOMEPAGE="
- https://github.com/mcmtroffaes/sphinxcontrib-bibtex/
- https://pypi.org/project/sphinxcontrib-bibtex/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/docutils-0.8[${PYTHON_USEDEP}]
- >=dev-python/pybtex-0.25[${PYTHON_USEDEP}]
- >=dev-python/pybtex-docutils-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/sphinx-3.5[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/numpydoc[${PYTHON_USEDEP}]
- dev-python/sphinx-autoapi[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_DESELECT=(
- # rinoh not packaged
- test/test_citation_rinoh.py::test_citation_rinoh
- test/test_citation_rinoh.py::test_citation_rinoh_multidoc
- # TODO
- test/test_debug.py::test_debug_docutils_citation
- test/test_debug.py::test_debug_bibtex_citation
- test/test_debug.py::test_debug_minimal_example
-)
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-distutils_enable_sphinx doc
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_test() {
- distutils_write_namespace sphinxcontrib
- epytest
-}
diff --git a/dev-python/sphinxcontrib-mermaid/Manifest b/dev-python/sphinxcontrib-mermaid/Manifest
index 3efd66d20e13..f787e4fb4700 100644
--- a/dev-python/sphinxcontrib-mermaid/Manifest
+++ b/dev-python/sphinxcontrib-mermaid/Manifest
@@ -1,2 +1 @@
-DIST sphinxcontrib-mermaid-2.0.1.gh.tar.gz 22700 BLAKE2B 8e2ee324aed0f60bcaeaf4911b6d813b8a155a881b09649330c5f8f0743d696e7757a4dec6cc9e65de210a3d0cd64053c94381f77945e976945852efbbd6b043 SHA512 1fea22c7759e3f2be5530b905899688b946c8c58590b5fe242f156f3b9e4ecad92cd3a99dbbd78e6536371f15a8972e29560b743a9a5bd0c74bcc2a4bb98640b
DIST sphinxcontrib-mermaid-2.0.2.gh.tar.gz 23399 BLAKE2B 3243962204fa9c95433dfcf2bda1544ae7e3116f21089bff847ff3a05407b500ee1a266f6b37d6147b2b31f75d88f770ad5f49cc266ac676665c3c3eb55687e3 SHA512 7bb6022f6cd113e3047ec446081d705041937d834cd8afe74b0f237d39b77f2e3e714753853ec5acf5227f512f641b6380ca0f6507adefb959902231e97a1101
diff --git a/dev-python/sphinxcontrib-mermaid/sphinxcontrib-mermaid-2.0.1.ebuild b/dev-python/sphinxcontrib-mermaid/sphinxcontrib-mermaid-2.0.1.ebuild
deleted file mode 100644
index 6a88d0ad9c01..000000000000
--- a/dev-python/sphinxcontrib-mermaid/sphinxcontrib-mermaid-2.0.1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-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 arm arm64 ~hppa ~ppc64 ~riscv x86"
-
-RDEPEND="
- dev-python/jinja2[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-6.0.0[${PYTHON_USEDEP}]
- >=dev-python/sphinx-3.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/defusedxml[${PYTHON_USEDEP}]
- dev-python/myst-parser[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( pytest-asyncio )
-distutils_enable_tests pytest
-
-python_test() {
- distutils_write_namespace sphinxcontrib
- rm -rf sphinxcontrib || die
- epytest tests
-}
diff --git a/dev-python/sphinxcontrib-mermaid/sphinxcontrib-mermaid-2.0.2.ebuild b/dev-python/sphinxcontrib-mermaid/sphinxcontrib-mermaid-2.0.2.ebuild
index b1834758d25a..b63ef3b670ab 100644
--- a/dev-python/sphinxcontrib-mermaid/sphinxcontrib-mermaid-2.0.2.ebuild
+++ b/dev-python/sphinxcontrib-mermaid/sphinxcontrib-mermaid-2.0.2.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 arm arm64 ~hppa ~ppc64 ~riscv x86"
RDEPEND="
dev-python/jinja2[${PYTHON_USEDEP}]
diff --git a/dev-python/spyder-terminal/Manifest b/dev-python/spyder-terminal/Manifest
index e3bb1e9e8053..67554afbf3b8 100644
--- a/dev-python/spyder-terminal/Manifest
+++ b/dev-python/spyder-terminal/Manifest
@@ -1 +1 @@
-DIST spyder_terminal-1.3.0.tar.gz 2619641 BLAKE2B 78f6639318b7ab0645a779f6e2871d64fb3c789c595c6177756c660c60059dc36fbc30461567d6662569ddb90bbdc36baf22507a0b87fc3f61cb801652c3ac6f SHA512 92a36a241be4cfa49cb687d42aa1909b09a00253f18882d613013bba558c0d64ffe2970d0001dcc2ceb95afdd0995353d6cc40135e34a011f83253c4fddd5484
+DIST spyder_terminal-1.3.1.tar.gz 3012154 BLAKE2B ac1b482becbb6905f25f90e141cd9d5106866c7709ad01c02f9269bc6b062dd90f362486036681b4971238799492bd79223d51de4d9c298691d437da07e908dc SHA512 6afb11d3d77028909c23c4a79c4671f2ef52b50c6a5f40a66773b7909ccd9d239a549d213194fd6aa8fe8a07eae0b860c9e74a6d7991632aa3056b56828eada5
diff --git a/dev-python/spyder-terminal/spyder-terminal-1.3.0.ebuild b/dev-python/spyder-terminal/spyder-terminal-1.3.1.ebuild
index 40c6ce6af3e2..c1a0790a3dac 100644
--- a/dev-python/spyder-terminal/spyder-terminal-1.3.0.ebuild
+++ b/dev-python/spyder-terminal/spyder-terminal-1.3.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -18,7 +18,7 @@ RDEPEND="
dev-python/coloredlogs[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
>=dev-python/spyder-6.1.0[${PYTHON_USEDEP}]
- <dev-python/spyder-7[${PYTHON_USEDEP}]
+ <dev-python/spyder-6.2.0[${PYTHON_USEDEP}]
>=dev-python/terminado-0.13.1[${PYTHON_USEDEP}]
dev-python/tornado[${PYTHON_USEDEP}]
"
diff --git a/dev-python/spyder/Manifest b/dev-python/spyder/Manifest
index e095372b1b93..ee8a2105acdb 100644
--- a/dev-python/spyder/Manifest
+++ b/dev-python/spyder/Manifest
@@ -1,3 +1,2 @@
-DIST spyder-6.1.3.gh.tar.gz 16052614 BLAKE2B adb74840fb8c4f1a30c523a0cbf2772f8c18c090996b1cf4bc293740c62d6910fc3b5a4f44eaaf15b7adfe119a8b8fb3d044ef3c922584c6f8a3128078ac5565 SHA512 9097df8bffd9b83a2bd217b87059d022abd1e46295f10fad627a4f87d145ca2190672635ae32c78932f487e8c5964702420d8c3a01a2b6a56db96d9e2f8d037c
DIST spyder-6.1.4.gh.tar.gz 16109517 BLAKE2B 16eaa64d044c00104fa21c2a76544ba19001312fc1f30838ba26e1bdd2c0f55ad988e72a53211c71988e281898768a40416410126b7fd3d816d62e574f3965b5 SHA512 19f5ec0c5c365d5c7b9ce64e41e4dbc8eaaae3a42e8b939fcf4765aba1a0d74bd9284977ca141b230654d16fea09512a5ae7e381306ba86d97365a7c109c72fd
DIST spyder-docs-98004cb46d97fa9fa1cfc3f469919928761e7054.gh.tar.gz 93375891 BLAKE2B c98d391bb33b1ba70bf9c8e8072073e87437541aacd4be42140711b786e8ae07bf5a7ca53dffdb826922b5523150fa2950b04117c335dc57f7c2c22eb693c23f SHA512 55e13f9a55075aed007be32581af954d406703dd9586352084162e01865f943c5aff3aa11b50bdc9813dd8a3a52f8fa8f961c73cfc3f96d95930f2a7b823a1d1
diff --git a/dev-python/spyder/spyder-6.1.3.ebuild b/dev-python/spyder/spyder-6.1.3.ebuild
deleted file mode 100644
index ed0e09a7aef5..000000000000
--- a/dev-python/spyder/spyder-6.1.3.ebuild
+++ /dev/null
@@ -1,209 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{13..14} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1 optfeature xdg #virtualx
-
-# Commit of documentation to fetch
-DOCS_PV="98004cb46d97fa9fa1cfc3f469919928761e7054"
-
-DESCRIPTION="The Scientific Python Development Environment"
-HOMEPAGE="
- https://www.spyder-ide.org/
- https://github.com/spyder-ide/spyder/
- https://pypi.org/project/spyder/
-"
-SRC_URI="
- https://github.com/spyder-ide/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
- https://github.com/spyder-ide/${PN}-docs/archive/${DOCS_PV}.tar.gz -> ${PN}-docs-${DOCS_PV}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-# Missing deps and broken
-RESTRICT="test"
-
-RDEPEND="
- >=dev-python/aiohttp-3.11.2[${PYTHON_USEDEP}]
- >=dev-python/asyncssh-2.14.0[${PYTHON_USEDEP}]
- <dev-python/asyncssh-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/atomicwrites-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/bcrypt-4.3.0[${PYTHON_USEDEP}]
- >=dev-python/chardet-2.0.0[${PYTHON_USEDEP}]
- >=dev-util/cookiecutter-1.6.0[${PYTHON_USEDEP}]
- >=dev-python/diff-match-patch-20181111[${PYTHON_USEDEP}]
- >=dev-python/intervaltree-3.0.2[${PYTHON_USEDEP}]
- >=dev-python/ipython-pygments-lexers-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/jellyfish-0.7[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/keyring-17.0.0[${PYTHON_USEDEP}]
- >=dev-python/markdown-it-py-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/nbconvert-4.0[${PYTHON_USEDEP}]
- >=dev-python/numpydoc-0.6.0[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
- >=dev-python/pexpect-4.4.0[${PYTHON_USEDEP}]
- >=dev-python/pickleshare-0.4[${PYTHON_USEDEP}]
- >=dev-python/psutil-5.3[${PYTHON_USEDEP}]
- >=dev-python/pygithub-2.3.0[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.0[${PYTHON_USEDEP}]
- >=dev-python/pylint-venv-3.0.2[${PYTHON_USEDEP}]
- >=dev-python/python-lsp-black-2.0.0[${PYTHON_USEDEP}]
- <dev-python/python-lsp-black-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/python-lsp-ruff-2.3.0[${PYTHON_USEDEP}]
- <dev-python/python-lsp-ruff-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/pyls-spyder-0.4.0[${PYTHON_USEDEP}]
- >=dev-python/pyuca-1.2[${PYTHON_USEDEP}]
- >=dev-python/pyxdg-0.26[${PYTHON_USEDEP}]
- >=dev-python/pyzmq-24.0.0[${PYTHON_USEDEP}]
- >=dev-python/qdarkstyle-3.2.0[${PYTHON_USEDEP}]
- <dev-python/qdarkstyle-3.3.0[${PYTHON_USEDEP}]
- >=dev-python/qstylizer-0.2.2[${PYTHON_USEDEP}]
- >=dev-python/qtawesome-1.4.1[${PYTHON_USEDEP}]
- <dev-python/qtawesome-1.5.0[${PYTHON_USEDEP}]
- >=dev-python/qtconsole-5.7.1[${PYTHON_USEDEP}]
- <dev-python/qtconsole-5.8.0[${PYTHON_USEDEP}]
- >=dev-python/qtpy-2.4.0[${PYTHON_USEDEP},pyqt6,quick,svg,webengine]
- >=dev-python/rtree-0.9.7[${PYTHON_USEDEP}]
- >=dev-python/sphinx-7.2.0[${PYTHON_USEDEP}]
- >=dev-python/spyder-kernels-3.1.3[${PYTHON_USEDEP}]
- <dev-python/spyder-kernels-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/superqt-0.6.2[${PYTHON_USEDEP}]
- <dev-python/superqt-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/textdistance-4.2.0[${PYTHON_USEDEP}]
- >=dev-python/three-merge-0.1.1[${PYTHON_USEDEP}]
- >=dev-python/watchdog-0.10.3[${PYTHON_USEDEP}]
- >=dev-python/yarl-1.9.4[${PYTHON_USEDEP}]
-"
-
-# BDEPEND="
-# test? (
-# dev-python/cython[${PYTHON_USEDEP}]
-# dev-python/flaky[${PYTHON_USEDEP}]
-# dev-python/matplotlib[tk,${PYTHON_USEDEP}]
-# dev-python/pandas[${PYTHON_USEDEP}]
-# dev-python/pillow[${PYTHON_USEDEP}]
-# dev-python/pytest-lazy-fixture[${PYTHON_USEDEP}]
-# dev-python/pytest-mock[${PYTHON_USEDEP}]
-# dev-python/pytest-order[${PYTHON_USEDEP}]
-# dev-python/pytest-qt[${PYTHON_USEDEP}]
-# dev-python/pytest-timeout[${PYTHON_USEDEP}]
-# dev-python/pyyaml[${PYTHON_USEDEP}]
-# dev-python/qtpy[${PYTHON_USEDEP}]
-# dev-python/scipy[${PYTHON_USEDEP}]
-# dev-python/sympy[${PYTHON_USEDEP}]
-# )"
-
-# Based on the courtesy of Arfrever
-# This patch removes a call to update-desktop-database during build
-# This fails because access is denied to this command during build
-PATCHES=(
- "${FILESDIR}/${PN}-5.0.0-build.patch"
- "${FILESDIR}/${PN}-6.0.3-no-dep-on-importlib.patch"
-)
-
-DOCS=(
- "AUTHORS.txt"
- "Announcements.md"
- "CHANGELOG.md"
- "CODE_OF_CONDUCT.md"
- "CONTRIBUTING.md"
- "NOTICE.txt"
- "README.md"
- "RELEASE.md"
-)
-
-distutils_enable_tests pytest
-# TODO: Package sphinx-design
-# distutils_enable_sphinx docs/doc \
-# dev-python/sphinx-panels \
-# dev-python/pydata-sphinx-theme \
-# dev-python/sphinx-multiversion
-
-python_prepare_all() {
- # move docs into workdir
- mv ../spyder-docs-${DOCS_PV}* docs || die
-
- # these dependencies are packaged separately:
- # dev-python/spyder-kernels,
- # dev-python/python-lsp-server,
- # dev-python/qdarkstyle
- rm -r external-deps/* || die
- # runs against things packaged in external-deps dir
- rm conftest.py || die
-
- # Do not depend on pyqt5<5.16, this dependency is carried by QtPy[pyqt5]
- # Do not depend on pyqtwebengine<5.16, this dependency is carried by QtPy[webengine]
- # Do not depend on parso and jedi, this is dependency is carried in python-lsp-server
- # Do not depend on python-lsp-server, this dependency is carried in pyls-spyder
- # Do not depend on ipython, this dependency is carried in spyder-kernels
- # The explicit version requirements only make things more complicated, if e.g.
- # pyls-spyder gains compatibility with a newer version of python-lsp-server
- # in a new release it will take time for this information to propagate into
- # the next spyder release. So just remove the dependency and let the other
- # ebuilds handle the version requirements to speed things up and prevent
- # issues such as Bug 803269.
- sed -i \
- -e "/'pyqt5[ 0-9<=>.,]*',/d" \
- -e "/'pyqtwebengine[ 0-9<=>.,]*',/d" \
- -e "/'python-lsp-server\[all\][ 0-9<=>.,]*',/d" \
- -e "/'parso[ 0-9<=>.,]*',/d" \
- -e "/'jedi[ 0-9<=>.,]*',/d" \
- -e "/'pylint[ 0-9<=>.,]*',/d" \
- setup.py || die
- # -e "/'ipython[ 0-9<=>.,]*',/d" \
- sed -i \
- -e "/^PYLS_REQVER/c\PYLS_REQVER = '>=0.0.1'" \
- -e "/^PYLSP_REQVER/c\PYLSP_REQVER = '>=0.0.1'" \
- -e "/^PARSO_REQVER/c\PARSO_REQVER = '>=0.0.1'" \
- -e "/^JEDI_REQVER/c\JEDI_REQVER = '>=0.0.1'" \
- -e "/^PYLINT_REQVER/c\PYLINT_REQVER = '>=0.0.1'" \
- spyder/dependencies.py || die
- # -e "/^IPYTHON_REQVER/c\IPYTHON_REQVER = '>=0.0.1'" \
-
- # do not check deps, fails because we removed dependencies above
- sed -i -e 's:test_dependencies_for_spyder_setup_install_requires_in_sync:_&:' \
- spyder/tests/test_dependencies_in_sync.py || die
-
- # skip online test
- rm spyder/widgets/github/tests/test_github_backend.py || die
-
- export SPYDER_QT_BINDING=pyqt6
-
- distutils-r1_python_prepare_all
-}
-
-# Calling pytest directly somehow passes the pytest arguments to spyder
-# causing an invalid argument error
-# python_test() {
-# virtx "${EPYTHON}" runtests.py
-# }
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- optfeature "2D/3D plotting in the Python and IPython consoles" dev-python/matplotlib
- optfeature "View and edit DataFrames and Series in the Variable Explorer" dev-python/pandas
- optfeature "View and edit two or three dimensional arrays in the Variable Explorer" dev-python/numpy
- optfeature "Symbolic mathematics in the IPython console" dev-python/sympy
- optfeature "Import Matlab workspace files in the Variable Explorer" dev-python/scipy
- optfeature "Run Cython files in the IPython console" dev-python/cython
- optfeature "The hdf5/h5py plugin" dev-python/h5py
- optfeature "The line profiler plugin" dev-python/spyder-line-profiler
- optfeature "Vim key bindings" dev-python/spyder-vim
- optfeature "Unittest support" dev-python/spyder-unittest
- optfeature "System terminal inside spyder" dev-python/spyder-terminal
- optfeature "Jupyter notebook support" dev-python/spyder-notebook
- # spyder-memory-profiler is not compatible with spyder-5.2+ yet
- # optfeature "The memory profiler plugin" dev-python/spyder-memory-profiler
- # spyder-reports not yet updated to >=spyder-4.0.0
- # optfeature "Markdown reports using Pweave" dev-python/spyder-reports
- # Plugins with no release yet:
- # optfeature "Manage virtual environments and packages" dev-python/spyder-env-manager
- # optfeature "VCS (e.g. git) integration" dev-python/spyder-vcs
-}
diff --git a/dev-python/sqlalchemy/Manifest b/dev-python/sqlalchemy/Manifest
index 493e23105a2a..19c8befffed4 100644
--- a/dev-python/sqlalchemy/Manifest
+++ b/dev-python/sqlalchemy/Manifest
@@ -1,3 +1,4 @@
DIST sqlalchemy-2.0.49.tar.gz 9898221 BLAKE2B becdf2e8fab5712ac175ac649bb2f6a8b830122d3df218c5f4039ef9e51a3ebe1d99d21fc13719d8c48b9de1b335ed079fc59f5ada696ae11c682f418640aa4a SHA512 7c28643c0f220f0c096eab3aff094949144b42fe0c72813f5a9ed27d1531504b2ecef30d9ce0e7294110519588ba687a30f414a6ba961e99bf37d4fb867da47e
DIST sqlalchemy-2.0.50.tar.gz 9907424 BLAKE2B bea56c629fb1e98f031149191e3ba5d74bd167a3213cbd400dbc61c38457b9b3c1ec8e3f712f452f62791889829500272d740d40059ef374e50d41aeb96d2d71 SHA512 3cb9872cb9adc7ca52d5a28c581e2be21f6e6853405a8fc15ef34c2e2b8a52cad066b46dbac264193b323d85ab9f5a06a7f98867c66f048e5ee836ec5ef6b4df
+DIST sqlalchemy-2.0.51.tar.gz 9912201 BLAKE2B d3cc81bc5d10db4a2d9670020d64831d7f5b5f56419a8ad6ab4e201dbb575be28300ac6b57724e1c1b515436339ff51d84b0ff0de9073ef9da2d37bf2c46e43c SHA512 af3965c5c43921b8e4330348b7d1a46357fa5d6a9a0acde66b4c3e65aedbd27afabc257cde113d38f3be3f3a91d524230fb17efc5515b826442d4fb4d6b7bc1d
DIST sqlalchemy-2.1.0b2.tar.gz 10225731 BLAKE2B ec2a69fe0f636f6a9366874e071b43b3f7314de57483e8c6948042b232a0b336273f9ab1f89ad43969db1ec111b037b705b2b41dcaa0e140eb2fe66a1d6e29e8 SHA512 ad1087cc6a8a2d6646ddc74a5ef10e0218275c32a2f8b90ca41138800fd2bc9a9ca8afb60de3a0a424f6111226e55ff21d16f14de3b57ddd26bccd9d883c7c01
diff --git a/dev-python/sqlalchemy/sqlalchemy-2.0.51.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.0.51.ebuild
new file mode 100644
index 000000000000..b46152f6c679
--- /dev/null
+++ b/dev-python/sqlalchemy/sqlalchemy-2.0.51.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN=SQLAlchemy
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="sqlite?"
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Python SQL toolkit and Object Relational Mapper"
+HOMEPAGE="
+ https://www.sqlalchemy.org/
+ https://pypi.org/project/SQLAlchemy/
+ https://github.com/sqlalchemy/sqlalchemy/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris"
+IUSE="examples +sqlite test"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.6.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_impl_dep sqlite)
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_RERUNS=5
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/greenlet/d' setup.cfg || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ test/ext/mypy/test_mypy_plugin_py3k.py
+ test/typing/test_mypy.py
+ # hardcode call counts specific to Python versions
+ test/aaa_profiling
+ )
+ local EPYTEST_DESELECT=(
+ # warning tests are unreliable
+ test/base/test_warnings.py
+ # TODO: flaky? xdist?
+ test/base/test_concurrency_py3k.py::TestAsyncioCompat::test_await_fallback_no_greenlet
+ )
+ local sqlite_version=$(sqlite3 --version | cut -d' ' -f1)
+ if ! has_version "dev-python/greenlet[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_execution
+ test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_run_sync
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[False-True]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[True-True]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[has_terminate-is_asyncio]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[not_has_terminate-is_asyncio]"
+ "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True-_exclusions0]"
+ "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True]"
+ )
+ fi
+
+ # upstream's test suite is horribly hacky; it relies on disabling
+ # the warnings plugin and turning warnings into errors; this also
+ # means that any DeprecationWarnings from third-party plugins cause
+ # everything to explode
+ epytest --reruns-delay=2 -m "not gc_intensive and not timing_intensive and not mypy"
+}
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ dodoc -r examples
+ fi
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "asyncio support" dev-python/greenlet
+ optfeature "MySQL support" \
+ dev-python/mysqlclient \
+ dev-python/pymysql
+ optfeature "postgresql support" dev-python/psycopg:2
+}
diff --git a/dev-python/sqlalchemy/sqlalchemy-2.1.0_beta2.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.1.0_beta2.ebuild
index 4389601be911..d9cf5b3c5b56 100644
--- a/dev-python/sqlalchemy/sqlalchemy-2.1.0_beta2.ebuild
+++ b/dev-python/sqlalchemy/sqlalchemy-2.1.0_beta2.ebuild
@@ -55,27 +55,13 @@ python_test() {
)
local sqlite_version=$(sqlite3 --version | cut -d' ' -f1)
case ${EPYTHON} in
- pypy3.11)
+ python3.15)
EPYTEST_DESELECT+=(
- # TODO: looks like cursor cleanup failure
- "test/dialect/test_suite.py::ReturningGuardsTest_sqlite+pysqlite_${sqlite_version//./_}"
- # mismatched exception messages
- "test/dialect/sqlite/test_types.py::TestTypes_sqlite+pysqlite_${sqlite_version//./_}::test_cant_parse_datetime_message"
- "test/engine/test_execute.py::ExecuteDriverTest_sqlite+pysqlite_${sqlite_version//./_}::test_exception_wrapping_orig_accessors"
- test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_multi_elem_varg
- test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_one_elem_varg
- test/ext/test_associationproxy.py::ProxyHybridTest::test_msg_fails_on_cls_access
- test/engine/test_processors.py::PyDateProcessorTest::test_time_invalid_string
- "test/engine/test_processors.py::PyDateProcessorTest::test_invalid_string[str_to_time]"
- # TODO
- test/orm/test_utils.py::ContextualWarningsTest::test_autoflush_implicit
- test/orm/test_utils.py::ContextualWarningsTest::test_configure_mappers_explicit
- "test/sql/test_resultset.py::CursorResultTest_sqlite+pysqlite_${sqlite_version//./_}::test_new_row_no_dict_behaviors"
- "test/sql/test_compare.py::HasCacheKeySubclass::test_init_args_in_traversal[_MemoizedSelectEntities]"
- test/sql/test_lambdas.py::LambdaElementTest::test_bindparam_not_cached
- test/sql/test_compare.py::CompareAndCopyTest::test_all_present
- test/sql/test_compare.py::CacheKeyTest::test_cache_key
- "test/dialect/sqlite/test_on_conflict.py::OnConflictTest_sqlite+pysqlite_${sqlite_version//./_}::test_on_conflict_do_update_bindparam"
+ # repr() changes
+ test/orm/declarative/test_dc_transforms.py::DCTransformsTest::test_basic_constructor_repr_base_cls
+ test/orm/declarative/test_dc_transforms_future_anno_sync.py::DCTransformsTest::test_basic_constructor_repr_base_cls
+ # exception message changes
+ test/engine/test_processors.py::PyDateProcessorTest::test_no_string
)
;;
esac
diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest
index 2eff36ded9dc..a3e4078bf344 100644
--- a/dev-python/sqlglot/Manifest
+++ b/dev-python/sqlglot/Manifest
@@ -1,2 +1 @@
-DIST sqlglot-30.7.0.tar.gz 5860425 BLAKE2B 0d6812c1857b0927b6f2a7e22d21967de694a0face5b368ab494ed0148054dae289c4b8cb0728690f1776191e723ef128798784cd843b110391673fd6e8f65fa SHA512 8bb0e1739203f23483ebf1ff4a35ccf6c99b4ec49bab6f694c7648839f15867adaa058b66beb9393ad617fd74225f0e217a3bcf5c37ff811cec7d41550a2dfc5
-DIST sqlglot-30.8.0.tar.gz 5869750 BLAKE2B c6345dc83e51eb0a20bd09743653f4103af45d8a8d11832b5c461afa3dc4be664cf7c4b3574350f1a0214e9e0dabe8cd706fa089b387d42488fff86cec2fabbf SHA512 4647e2d605d68ed424608a648d369e0dc7ffcc111c5f909bd236f8ff7c1491484f2934b177463199701fab91a5623084d50427a7e86b88a8dd66675f38fa39c3
+DIST sqlglot-30.11.0.tar.gz 5893125 BLAKE2B e9ba0fa6d52f15970ac9afd23f6336febc94fc6f01ce9db03111fd62e7b9d55172a4b9a2405c0086b540187802651825b9db87af3f1a248b6228536bf3d88562 SHA512 f751b1680b7f8a330f5264a79a571552d8e571dd0966099928c8600e646bd2a7b585c95ec534bd1efe68e3f19c943fa88bcdf8aa9cd9bd8787f47040c70cc343
diff --git a/dev-python/sqlglot/sqlglot-30.7.0.ebuild b/dev-python/sqlglot/sqlglot-30.11.0.ebuild
index 063fa5096326..063fa5096326 100644
--- a/dev-python/sqlglot/sqlglot-30.7.0.ebuild
+++ b/dev-python/sqlglot/sqlglot-30.11.0.ebuild
diff --git a/dev-python/sqlglot/sqlglot-30.8.0.ebuild b/dev-python/sqlglot/sqlglot-30.8.0.ebuild
deleted file mode 100644
index 063fa5096326..000000000000
--- a/dev-python/sqlglot/sqlglot-30.8.0.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 2023-2026 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_{13..14} )
-
-inherit cargo distutils-r1 pypi optfeature
-
-DESCRIPTION="An easily customizable SQL parser and transpiler"
-HOMEPAGE="
- https://sqlglot.com/
- https://github.com/tobymao/sqlglot/
- https://pypi.org/project/sqlglot/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-# Native extensions removed: it uses mypyc which is incredibly slow
-# and then the extension crashes anyway. Upstream uses their own mypy
-# fork which might help but that's just insane.
-
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/pytz[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_IGNORE=(
- # Tests require pyspark or duckdb which aren't in the tree.
- # Pandas would be a requirement normally, but it gets ignored by proxy.
- "tests/dataframe/integration/test_dataframe.py"
- "tests/dataframe/integration/test_grouped_data.py"
- "tests/dataframe/integration/test_session.py"
- "tests/test_executor.py"
- "tests/test_optimizer.py"
- )
-
- rm -rf sqlglot || die
- epytest
-}
-
-pkg_postinst() {
- optfeature "simplifying timedelta expressions" dev-python/python-dateutil
-}
diff --git a/dev-python/sqlmodel/Manifest b/dev-python/sqlmodel/Manifest
index 2f603b1c7a13..f29ad0a8527f 100644
--- a/dev-python/sqlmodel/Manifest
+++ b/dev-python/sqlmodel/Manifest
@@ -1,2 +1 @@
-DIST sqlmodel-0.0.37.tar.gz 85527 BLAKE2B 28edc63001d0127f09062b77444aeb98e41f0b6bf205fc3ecd8a9a3e13e69071be7422477a4fc1b6eae6db9e4d765639615e483eb4316f0d43cbf0d70168a294 SHA512 11d6d34a128a17bff1cd446fcc9c2eb7372fabafb6761c3ead0d91335d090773be4dce972ee206462eab29b3cad0b9c033cd092ad4d4eecd94978cbb1dd19936
DIST sqlmodel-0.0.38.tar.gz 86710 BLAKE2B 1ee9df40c3b2be81cbe05694f8a7be7bb3abf9befbce773e248e3961b99d44ffb3b92c20db3568a2427940bbf004ec103741bd2504f9e897e7a35958c29175c6 SHA512 740f68f2a9953e36becd5e100a229ec2bfb24b7a6ec61fa1706ea93ada43460dd059f5451716e86106132fdde26ff3b22f8e1139b99680e858e4321cc2a95f2f
diff --git a/dev-python/sqlmodel/sqlmodel-0.0.37.ebuild b/dev-python/sqlmodel/sqlmodel-0.0.37.ebuild
deleted file mode 100644
index 0fb56f94795a..000000000000
--- a/dev-python/sqlmodel/sqlmodel-0.0.37.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 2024-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pdm-backend
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="SQL databases in Python, designed for simplicity, compatibility, and robustness."
-HOMEPAGE="
- https://sqlmodel.tiangolo.com/
- https://github.com/fastapi/sqlmodel/
- https://pypi.org/project/sqlmodel/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- <dev-python/sqlalchemy-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/sqlalchemy-2.0.14[${PYTHON_USEDEP}]
- >=dev-python/pydantic-2.11.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/fastapi[${PYTHON_USEDEP}]
- dev-python/httpx[${PYTHON_USEDEP}]
- dev-python/dirty-equals[${PYTHON_USEDEP}]
- dev-python/jinja2[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # Uses coverage
- # TIP: Search for subprocess.run([coverage])
- "tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_py310_tests_main.py::test_run_tests"
- "tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_py39_tests_main.py::test_run_tests"
- "tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests_main.py::test_run_tests"
- # Updates files
- "tests/test_select_gen.py::test_select_gen"
-)
-
-EPYTEST_IGNORE=(
- # Uses coverage
- # TIP: Search for imports of coverage_run
- "tests/test_tutorial/test_create_db_and_table/test_tutorial001.py"
- "tests/test_tutorial/test_create_db_and_table/test_tutorial001_py310.py"
-)
-
-python_test() {
- epytest tests
-}
diff --git a/dev-python/sse-starlette/Manifest b/dev-python/sse-starlette/Manifest
index 9aaecb973186..ea0b26c7498b 100644
--- a/dev-python/sse-starlette/Manifest
+++ b/dev-python/sse-starlette/Manifest
@@ -1,2 +1,2 @@
-DIST sse_starlette-3.3.2.tar.gz 32326 BLAKE2B 819d912e2a6c7059a63e573db5f1b828af42c4664ed102731379d837c98eb2b374fe61cd147102b0df7aeb8cbe1af401ad1209058b789caa66d4b26136f5d73f SHA512 52d4574d5ff7f00ce605cda9d06e6e5b2f5d440c03ee224dc2d86879611e71398583fb9e1560f2cfdc6d2e09a87ebca8436891185512efbbe68011560e860c02
-DIST sse_starlette-3.3.4.tar.gz 32427 BLAKE2B b94814c801277526481d536bb1ab57f981ae884bf0ebb9f75a6f68ae4662855921db99e3f4c5dbd69f7ae9cb9f33e919b216fe1af16e6b872bb1560b5a35cf7b SHA512 1d329e898d08debb0818aa0e5cfbf5b8b706d346b1a0d327296e876f6e8eec977e589259753b6d2cc7656afc1b782e75cbe8015c82a8be64801f982c1f143e15
+DIST sse-starlette-3.4.4.gh.tar.gz 671004 BLAKE2B d14a9211b69c038e70011c74d1d96610f1e65711b1b06794abae49b0a4b4e1851247d42e0c906b589b3515441618eb1549af9ad7625ef69a87ceca9b70dc706a SHA512 6be99ca9316e3613c6ef7decd9e29fe7f376b145680cec3332834e67c16cdab950f629bda8d5145bc79c97acdd6c08d831ec23caaafeadc9fea5d735ff35c0e1
+DIST sse_starlette-3.4.3.tar.gz 35247 BLAKE2B 75a62769250f76724c07e6d1d991f65ecdd647e3855eabf0a3cda3fd07bd001a7194bf6169ddff12ce833ff394e17ee7b2f732924e838c89457ddb8b454f63d2 SHA512 a95f53384757ef662137fe909d165ba815355f025a518df8613f2bd34d6ea9169b1c067e539c4f1e44476a287f444848295c8965cf859bcfa77c479b1040dcae
diff --git a/dev-python/sse-starlette/sse-starlette-3.3.4.ebuild b/dev-python/sse-starlette/sse-starlette-3.4.3.ebuild
index d449dd9c79eb..b67abedff4e4 100644
--- a/dev-python/sse-starlette/sse-starlette-3.3.4.ebuild
+++ b/dev-python/sse-starlette/sse-starlette-3.4.3.ebuild
@@ -26,9 +26,6 @@ BDEPEND="
test? (
>=dev-python/asgi-lifespan-2.1.0[${PYTHON_USEDEP}]
>=dev-python/httpx-0.28.1[${PYTHON_USEDEP}]
- >=dev-python/portend-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/psutil-6.1.1[${PYTHON_USEDEP}]
- >=dev-python/tenacity-9.0.0[${PYTHON_USEDEP}]
>=dev-python/uvicorn-0.34.0[${PYTHON_USEDEP}]
)
"
diff --git a/dev-python/sse-starlette/sse-starlette-3.3.2.ebuild b/dev-python/sse-starlette/sse-starlette-3.4.4.ebuild
index d449dd9c79eb..84a47a71ea42 100644
--- a/dev-python/sse-starlette/sse-starlette-3.3.2.ebuild
+++ b/dev-python/sse-starlette/sse-starlette-3.4.4.ebuild
@@ -6,13 +6,18 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{13..14} )
-inherit distutils-r1 pypi
+inherit distutils-r1
DESCRIPTION="Server-Sent Events for Starlette and FastAPI"
HOMEPAGE="
https://github.com/sysid/sse-starlette/
https://pypi.org/project/sse-starlette/
"
+# test files missing in sdist
+SRC_URI+="
+ https://github.com/sysid/sse-starlette/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
LICENSE="BSD"
SLOT="0"
@@ -26,12 +31,13 @@ BDEPEND="
test? (
>=dev-python/asgi-lifespan-2.1.0[${PYTHON_USEDEP}]
>=dev-python/httpx-0.28.1[${PYTHON_USEDEP}]
- >=dev-python/portend-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/psutil-6.1.1[${PYTHON_USEDEP}]
- >=dev-python/tenacity-9.0.0[${PYTHON_USEDEP}]
>=dev-python/uvicorn-0.34.0[${PYTHON_USEDEP}]
)
"
+EPYTEST_IGNORE=(
+ tests/experimentation
+ tests/integration
+)
EPYTEST_PLUGINS=( pytest-asyncio )
distutils_enable_tests pytest
diff --git a/dev-python/starlette/Manifest b/dev-python/starlette/Manifest
index 9cca519e278e..5bdcfa05e540 100644
--- a/dev-python/starlette/Manifest
+++ b/dev-python/starlette/Manifest
@@ -3,3 +3,5 @@ DIST starlette-1.0.1.gh.tar.gz 2661109 BLAKE2B 470130a8715617ea0dc0084f5d071ea7c
DIST starlette-1.1.0.gh.tar.gz 2661577 BLAKE2B be2256692c7cd286e6b414504aa71d10187b1bd245c73030b57f1919aaadaaf665bb5253eae4adfd1183ea6ac9282670a6f3a98d09bedf4412f48804ca99e6cd SHA512 a351b971ee4ed3d2c305c3811e1fd0649f7039d4a72ed70ddbd3054a68ca3ccb89dea444647b31abf15057db7c03fa05fd92a488871febdd2b9bf7c421aad72f
DIST starlette-1.2.0.gh.tar.gz 2671180 BLAKE2B e3d40254137e39758fb003502569a6e8c9920e40dbf7ca6153aa9b5d120a543f334fca1590c6a06c04114c1c20a563e6452d756ff1add34fac3e9f6b7f1b4ea3 SHA512 c7a9e5295601b240158b6c03498eeee2d4a1f3f8aa6384a51b1ecdd8db84ad3b33ba12ff2f363ffc61cb1327a556f474a7559213019e84b45dad01e8a7660676
DIST starlette-1.2.1.gh.tar.gz 2704768 BLAKE2B 6d50be60483f50a025f0a37f35d39c2a8f230628edd9b19706d99cb13b6fdb98ea680637108c15c52073fddb02ac2839554e0db55cd4e6cb86867e230dfc7dcc SHA512 92e3230af0082aeb4dcd9eb733f14b71613b1be01857d7642455d29539b3bbc97301a2fb801415ce9c106af77ef1f3baaf36dd44812d5e95460498cdf51b7c60
+DIST starlette-1.3.0.gh.tar.gz 2705470 BLAKE2B 53907e3acca43674dd0374fd37a537c86a7c22ee825217457bc6742a9f1b635356d3a5c06eed1dce4984a766c8b4e777dd27e699a1a1113d0d330f24e015df08 SHA512 a31d08a7951cfe7ae1bbf8012fe0903f06c214a55560ab549382b0de06f5325c32f20174ca3d640d3e52bf661be189ba1e5ae64f02600e1d4cf6b28704a6ad60
+DIST starlette-1.3.1.gh.tar.gz 2706241 BLAKE2B c2d8834dd477072d9f02f3cf0bb1b106331eae98f281a471d123d19d0054165b9d68066df323828b7b5bbd4525da9603509d8fffc25074c95f345a015ff973c4 SHA512 962d46da98e5c198056462cd9b847849f639029f331bed4d516a7437fdc7dcf6f9977cc6c83a4474f291d8b78453ed88ce555fa2a386f0a98e1d5ceb22f34d7c
diff --git a/dev-python/starlette/starlette-1.3.0.ebuild b/dev-python/starlette/starlette-1.3.0.ebuild
new file mode 100644
index 000000000000..2ca01ea618bd
--- /dev/null
+++ b/dev-python/starlette/starlette-1.3.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+MY_P=${P/_p/.post}
+DESCRIPTION="The little ASGI framework that shines"
+HOMEPAGE="
+ https://www.starlette.io/
+ https://github.com/Kludex/starlette/
+ https://pypi.org/project/starlette/
+"
+# no docs or tests in sdist, as of 0.27.0
+SRC_URI="
+ https://github.com/Kludex/starlette/archive/${PV/_p/.post}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc"
+
+# TODO: default to httpx2? add some flags?
+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}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-3.10.0[${PYTHON_USEDEP}]
+ ' 3.11)
+"
+BDEPEND="
+ test? (
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/httpx2[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( anyio )
+: ${EPYTEST_TIMEOUT:-180}
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # Unpackaged 'databases' dependency
+ tests/test_database.py
+)
diff --git a/dev-python/starlette/starlette-1.3.1.ebuild b/dev-python/starlette/starlette-1.3.1.ebuild
new file mode 100644
index 000000000000..3bd588131b75
--- /dev/null
+++ b/dev-python/starlette/starlette-1.3.1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+MY_P=${P/_p/.post}
+DESCRIPTION="The little ASGI framework that shines"
+HOMEPAGE="
+ https://www.starlette.io/
+ https://github.com/Kludex/starlette/
+ https://pypi.org/project/starlette/
+"
+# no docs or tests in sdist, as of 0.27.0
+SRC_URI="
+ https://github.com/Kludex/starlette/archive/${PV/_p/.post}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc ~x86"
+
+# TODO: default to httpx2? add some flags?
+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}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-3.10.0[${PYTHON_USEDEP}]
+ ' 3.11)
+"
+BDEPEND="
+ test? (
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/httpx2[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( anyio )
+: ${EPYTEST_TIMEOUT:-180}
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # Unpackaged 'databases' dependency
+ tests/test_database.py
+)
diff --git a/dev-python/stestr/Manifest b/dev-python/stestr/Manifest
deleted file mode 100644
index 13ef76d63a65..000000000000
--- a/dev-python/stestr/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST stestr-4.2.1.tar.gz 79815 BLAKE2B 1334994cd4bc3b0f984fad6a6fedfc760bfb37153cea087bd7e7b51fb07d4560afa50e4f2d3dafb7247cdd4e23ff903f84231819f733327a552b245fa25373e4 SHA512 bba00836b3235f9ac220c2675d365954b1d48aaa238acc6192d294000cb34dc2417568186424708a05c7e3c07a5b7ddf8a8cf4741d568f7e8fc3765de23229c2
-DIST stestr-4.2.1.tar.gz.provenance 9379 BLAKE2B 199ce915de796840471778b6e064c6293b474ddce5e3b02d8e1539bee4634bd2f6221e140d7411fda2ca552d996368dcece90d0bbe8c63ab4f29635bfcf88266 SHA512 8a89765f85dc41e0ebd390fe245c7f053265000d927142112487a4ea20e6e902e13193ae653b23611ec1823d21663c53bf4ffeddf489fba2094842f3e35ce927
diff --git a/dev-python/stestr/metadata.xml b/dev-python/stestr/metadata.xml
deleted file mode 100644
index c812bd754c44..000000000000
--- a/dev-python/stestr/metadata.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- </maintainer>
- <maintainer type="person">
- <email>prometheanfire@gentoo.org</email>
- <name>Matthew Thode</name>
- </maintainer>
- <stabilize-allarches />
- <longdescription lang="en">
- stestr is a fork of testrepository that concentrates on being a dedicated test runner for python projects
- </longdescription>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/dev-python/stestr/stestr-4.2.1.ebuild b/dev-python/stestr/stestr-4.2.1.ebuild
deleted file mode 100644
index 85718dc7fc2d..000000000000
--- a/dev-python/stestr/stestr-4.2.1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYPI_VERIFY_REPO=https://github.com/mtreinish/stestr
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 multiprocessing pypi
-
-DESCRIPTION="A parallel Python test runner built around subunit"
-HOMEPAGE="
- https://github.com/mtreinish/stestr/
- https://pypi.org/project/stestr/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~mips ~ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/cliff-2.8.0[${PYTHON_USEDEP}]
- >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-3.10.0[${PYTHON_USEDEP}]
- >=dev-python/python-subunit-1.4.0[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/tomlkit-0.11.6[${PYTHON_USEDEP}]
- >=dev-python/voluptuous-0.8.9[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
- )
-"
-
-python_test() {
- # no clue why we need to set it
- local -x PYTHONPATH=${PWD}
- "${EPYTHON}" -m stestr init || die
- "${EPYTHON}" -m stestr run --test-path stestr/tests \
- --concurrency "${EPYTEST_JOBS:-$(makeopts_jobs)}" ||
- die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/stomp-py/Manifest b/dev-python/stomp-py/Manifest
deleted file mode 100644
index b249c2e351ce..000000000000
--- a/dev-python/stomp-py/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST stomp_py-8.1.2.tar.gz 39163 BLAKE2B 49d096369b427033cf1210638875cdd1501711a05183d7d186f8f926033e898c7323a8d96f319311999edc86a49515a92ba4c0ed0982712789f7ba78f4175e5e SHA512 2cbfaacdc5762b8db5c28721e01511c32a8991a866d6ced520a27cb82deacc4716cbaf5f298a8daea7f91c9038859d4c39069ad5b46ba6d0efe60e4c19ab09ae
diff --git a/dev-python/stomp-py/metadata.xml b/dev-python/stomp-py/metadata.xml
deleted file mode 100644
index 3a8349e6ffc5..000000000000
--- a/dev-python/stomp-py/metadata.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <stabilize-allarches />
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/dev-python/stomp-py/stomp-py-8.1.2.ebuild b/dev-python/stomp-py/stomp-py-8.1.2.ebuild
deleted file mode 100644
index 5c9d3f0a7e01..000000000000
--- a/dev-python/stomp-py/stomp-py-8.1.2.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python client library for the STOMP messaging protocol"
-HOMEPAGE="https://pypi.org/project/stomp-py/ https://github.com/jasonrbriggs/stomp.py/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64"
-
-RDEPEND="
- <dev-python/docopt-0.7.0[${PYTHON_USEDEP}]
- dev-python/websocket-client[${PYTHON_USEDEP}]
-"
-
-# stomp.py test suite requires quite a few appropriately configured
-# messaging servers (as of 8.1.2: RabbitMQ, ActiveMQ, ActiveMQ Artemis,
-# stompserver). Upstream relies on Docker to provide those servers, however
-# doing the same in src_test would require both granting the portage user
-# extra permissions and packaging the base image (trying to download it
-# on the fly would violate the network sandbox).
-# Side note: PyPI tarballs do not include tests.
-RESTRICT="test"
diff --git a/dev-python/strawberry-graphql/Manifest b/dev-python/strawberry-graphql/Manifest
index 0db927d5f08e..b3cbe496ec90 100644
--- a/dev-python/strawberry-graphql/Manifest
+++ b/dev-python/strawberry-graphql/Manifest
@@ -1,2 +1,2 @@
-DIST strawberry-graphql-0.311.0.gh.tar.gz 1266374 BLAKE2B efb47f68c3e4d60e689ed82e3adbf3a4455ae9ca6881389c0eabb2139ae774fe52251ad6000c431502389df92c66dc5cb59138916d75b95305cd1eab5bebf02f SHA512 3fa8e6b607530ba5ae81631bdd4a8b4b47a1d725f9d897a77065b689ccd8c816357cf971d647bd6b2f43508f39509a632b0879bc5b9a1fa31fa0223281565d58
-DIST strawberry-graphql-0.312.3.gh.tar.gz 1273652 BLAKE2B 0cace4518fcd65f5920cd860809ccac9fb9decfc9b0062ddbd3cb7418fcb4e41059f74464d2c44c8743d769dc3eba746534dee0e82c541f8c04fbe85b8f3cdc0 SHA512 2b4a9a28fe5551077e127d23460748be38798eaf10d8d7d78a5ec76f34efa9028145725493af06fa3f9e11683113b4dd5691b6e2cecb56bd42cdadf2ddccc493
+DIST strawberry-graphql-0.315.5.gh.tar.gz 1375175 BLAKE2B 23b1c59f062083785b3fd73c60b85aa3c0b6bfa76a15c74987741805c0180de3bbf857f01cc40ea8a97c7e5e54aab6cd1c453bfc5cd11eec3985d2addda4430b SHA512 d1693d20d4481c06ec0da9f6ceb1e36b7d3aac5d3933483cef4cfcd6977ec5e8f7ad70a18a7bce97d9922ab6c88848f96b6acc1265f4e1831eb2efdf070ffdf7
+DIST strawberry-graphql-0.316.0.gh.tar.gz 1384865 BLAKE2B a1121a5a261c72bcf0e5a709e912ea14ff1d4a18c7aa99fc72b2ea1159c4db07bfc4e7c3448f6cfb7c034006d2fdebd98a3074b19d21b57aa17e916b5830afad SHA512 09d590f472d30d91481f652f7b6f79558639b3d668d7353cdce9dbcf6be16186e170a8e06e3a6b21378694e7d4d0eddba6ec8aff6c9dfc9f91ec5d7af575f6fb
diff --git a/dev-python/strawberry-graphql/strawberry-graphql-0.312.3.ebuild b/dev-python/strawberry-graphql/strawberry-graphql-0.315.5.ebuild
index a4cc540becdb..652567c0f16e 100644
--- a/dev-python/strawberry-graphql/strawberry-graphql-0.312.3.ebuild
+++ b/dev-python/strawberry-graphql/strawberry-graphql-0.315.5.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-DISTUTILS_USE_PEP517=poetry
+DISTUTILS_USE_PEP517=uv-build
PYTHON_COMPAT=( python3_{13..14} )
inherit distutils-r1 #pypi
@@ -53,7 +53,6 @@ BDEPEND="
dev-python/inline-snapshot[${PYTHON_USEDEP}]
dev-python/aiohttp[${PYTHON_USEDEP}]
- dev-python/chalice[${PYTHON_USEDEP}]
dev-python/channels[${PYTHON_USEDEP}]
dev-python/django[${PYTHON_USEDEP}]
dev-python/fastapi[${PYTHON_USEDEP}]
diff --git a/dev-python/strawberry-graphql/strawberry-graphql-0.311.0.ebuild b/dev-python/strawberry-graphql/strawberry-graphql-0.316.0.ebuild
index a4cc540becdb..652567c0f16e 100644
--- a/dev-python/strawberry-graphql/strawberry-graphql-0.311.0.ebuild
+++ b/dev-python/strawberry-graphql/strawberry-graphql-0.316.0.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-DISTUTILS_USE_PEP517=poetry
+DISTUTILS_USE_PEP517=uv-build
PYTHON_COMPAT=( python3_{13..14} )
inherit distutils-r1 #pypi
@@ -53,7 +53,6 @@ BDEPEND="
dev-python/inline-snapshot[${PYTHON_USEDEP}]
dev-python/aiohttp[${PYTHON_USEDEP}]
- dev-python/chalice[${PYTHON_USEDEP}]
dev-python/channels[${PYTHON_USEDEP}]
dev-python/django[${PYTHON_USEDEP}]
dev-python/fastapi[${PYTHON_USEDEP}]
diff --git a/dev-python/stripe/Manifest b/dev-python/stripe/Manifest
index 3e2dba830af4..77553566b020 100644
--- a/dev-python/stripe/Manifest
+++ b/dev-python/stripe/Manifest
@@ -1,2 +1,3 @@
DIST stripe-15.1.0.tar.gz 1501673 BLAKE2B d494b52288d89a2ec4f42603a4502ae40391c1101a13f4bbd74f6a40e84885c2fdf519f2c41026ae7ac7bb609c446aca50e1ae65ab1661f9ad4538bd4ada6a2d SHA512 1e050e5c66ba4144adf9f07199987ed89c3618599b2cf03234e43df4dd95885089289ded57ed9e204403c84d13fe6242a7bfe7023e220afb206f9b6e6df9fe32
DIST stripe-15.2.0.tar.gz 1520207 BLAKE2B 90e810fea547afdf5db9c00bd1a522e02caac9bf9dde3f3e83f8143ada87bdeb4db3d5a6c774bbd956db230e46089a5754dd414deb02a244c2c4f7c96d2d3cdf SHA512 1959725b10e4068525bc31f1c0bbea9480ebb6ec59487cf0aec63c5aceeb24d3453a8a2d364300f55c7976655184f3b3d6cfb6d4adbcbfff7838ecdb5d54512c
+DIST stripe-15.2.1.tar.gz 1520402 BLAKE2B 92d8aae6f9911db5c9e47512c37d0ea13819c5976e0c6e34a13469a1bd8182ebe8afe251ae191d5029cfd03b731ae9d8c37640d9cec088cdd19b85da05942246 SHA512 0712b879ebf9d12ecda58264d787986c2552a7158c2ffe2755962095a2df27d1b07629af417370356c7af3453a433e54b4a36c92e7a9a716af9fd6f3684bd4f9
diff --git a/dev-python/stripe/stripe-15.2.0.ebuild b/dev-python/stripe/stripe-15.2.0.ebuild
index 81df946e5a07..d6293314ca7b 100644
--- a/dev-python/stripe/stripe-15.2.0.ebuild
+++ b/dev-python/stripe/stripe-15.2.0.ebuild
@@ -26,7 +26,7 @@ RDEPEND="
# please bump dev-util/stripe-mock dep to the latest version on every bump
BDEPEND="
test? (
- >=dev-util/stripe-mock-0.197.0
+ >=dev-util/stripe-mock-0.201.0
dev-python/aiohttp[${PYTHON_USEDEP}]
dev-python/httpx[${PYTHON_USEDEP}]
dev-python/trio[${PYTHON_USEDEP}]
diff --git a/dev-python/stripe/stripe-15.2.1.ebuild b/dev-python/stripe/stripe-15.2.1.ebuild
new file mode 100644
index 000000000000..d6293314ca7b
--- /dev/null
+++ b/dev-python/stripe/stripe-15.2.1.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Stripe Python bindings"
+HOMEPAGE="
+ https://github.com/stripe/stripe-python/
+ https://pypi.org/project/stripe/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="telemetry"
+
+RDEPEND="
+ >=dev-python/requests-2.20[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.7.0[${PYTHON_USEDEP}]
+"
+# please bump dev-util/stripe-mock dep to the latest version on every bump
+BDEPEND="
+ test? (
+ >=dev-util/stripe-mock-0.201.0
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ net-misc/curl
+ )
+"
+
+EPYTEST_PLUGINS=( anyio pytest-mock )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ if ! use telemetry; then
+ sed -i -e '/enable_telemetry/s:True:False:' stripe/__init__.py || die
+ fi
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/test_http_client.py::TestLiveHTTPClients::test_httpx_request_async_https
+ 'tests/test_integration.py::TestIntegration::test_async_raw_request_timeout[asyncio-aiohttp]'
+ # timing
+ tests/test_integration.py::TestIntegration::test_passes_client_telemetry_when_enabled
+ )
+
+ epytest tests
+}
+
+src_test() {
+ local stripe_mock_port=12111
+ local stripe_mock_max_port=12121
+ local stripe_mock_logfile="${T}/stripe_mock_${EPYTHON}.log"
+ # Try to start stripe-mock until we find a free port
+ while [[ ${stripe_mock_port} -le ${stripe_mock_max_port} ]]; do
+ ebegin "Trying to start stripe-mock on port ${stripe_mock_port}"
+ stripe-mock --http-port "${stripe_mock_port}" &> "${stripe_mock_logfile}" &
+ local stripe_mock_pid=${!}
+ sleep 2
+ # Did stripe-mock start?
+ curl --fail -u "sk_test_123:" \
+ "http://127.0.0.1:${stripe_mock_port}/v1/customers" &> /dev/null
+ eend ${?} "Port ${stripe_mock_port} unavailable"
+ if [[ ${?} -eq 0 ]]; then
+ einfo "stripe-mock running on port ${stripe_mock_port}"
+ break
+ fi
+ (( stripe_mock_port++ ))
+ done
+ if [[ ${stripe_mock_port} -gt ${stripe_mock_max_port} ]]; then
+ eerror "Unable to start stripe-mock for tests"
+ die "Please see the logfile located at: ${stripe_mock_logfile}"
+ fi
+
+ local -x STRIPE_MOCK_PORT=${stripe_mock_port}
+ distutils-r1_src_test
+
+ # Tear down stripe-mock
+ kill "${stripe_mock_pid}" || die "Unable to stop stripe-mock"
+}
diff --git a/dev-python/structlog/Manifest b/dev-python/structlog/Manifest
index 60977be08aba..faafbefeb4fb 100644
--- a/dev-python/structlog/Manifest
+++ b/dev-python/structlog/Manifest
@@ -1,2 +1,4 @@
DIST structlog-25.5.0.tar.gz 1460830 BLAKE2B ae8df56e93acfdd4cc7dd8f65f940fbb2441776277500e73af45d589261c7414784513c4dd71e73f587e1a2c443ede5177cccb2018af319b192b0ed24537529d SHA512 83dc767473aadffda4fb9c883e9757795860c9eaecb1d2c92675b4656700bdff413077ab96d6025bf232168c38d307c56371f2294dd9197a1aa136918f6fd72b
DIST structlog-25.5.0.tar.gz.provenance 9439 BLAKE2B 5118cc2180a057d24091bd53e2d33f8fb94b6821fb77a317dbaf0a8f507d399feb765ee984af8da1e17f7e8b2306ca11fc6b076279fec216db1dd0b477254943 SHA512 e08d06339111fb4ebffd118339a6acf6ad74dda994ba6fdff5e2fdb840ee6637bccbcbd61194027c87b1fcee8e225e14561f773872ea6de34f832c79e46adeed
+DIST structlog-26.1.0.tar.gz 1459881 BLAKE2B 205b9d1f151421653dceed3bbdcbfeaec1ff6387a302b27398afd8fd667c2908f1326ba5a91d7ee755cdde0601618adba9e50c275cafea3b9afc6f1cd5c416ee SHA512 32fc02431db77841b614086c84aaee529480dcda77d0a5c3d619ab866e9a182ca8adfedea332fb5796bf0ff160fcfe55941a49e8d8361e215756c413f0d7a38a
+DIST structlog-26.1.0.tar.gz.provenance 9646 BLAKE2B d8bb6b5bcb57360dba60893a538c0baa58d50d513e696bd3bbb844c536086c71c853d6eaf0675cc4bdc74f3340693ed3015b188a20e73798300d73b3ef5889f1 SHA512 3901b965807a96f904ac56ef40c8c6910800d22a97c67992b0d3e759f1776bd64e9795dd708a92c61aee852a507aefb318aa4e048d59005b98785113736aac79
diff --git a/dev-python/structlog/structlog-26.1.0.ebuild b/dev-python/structlog/structlog-26.1.0.ebuild
new file mode 100644
index 000000000000..b566beb458b3
--- /dev/null
+++ b/dev-python/structlog/structlog-26.1.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/hynek/structlog
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Structured Logging for Python"
+HOMEPAGE="
+ https://github.com/hynek/structlog/
+ https://pypi.org/project/structlog/
+"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+BDEPEND="
+ dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( pytest-asyncio time-machine )
+distutils_enable_tests pytest
diff --git a/dev-python/superqt/Manifest b/dev-python/superqt/Manifest
index bcdd1f32f26d..6476eafc0efb 100644
--- a/dev-python/superqt/Manifest
+++ b/dev-python/superqt/Manifest
@@ -1,4 +1,2 @@
-DIST superqt-0.8.1.tar.gz 109177 BLAKE2B f622cd90bf9b50631638c1bffdd5e62a4a49933d544977fcb09a66cecd69b795644da6dda987422da6ec71f20e90848faf08df1b7cd5aa6c65fd7267e68941cd SHA512 b80b1ce285d0941d0db4e0ee3d03f7a6d752db084bb49e221d93430bf97b7d006fdd4691cc02ab79d444a9c2c5ce7557bd3c8a001a279a2ab06ccd832f05a837
-DIST superqt-0.8.1.tar.gz.provenance 9681 BLAKE2B 51af60178fa9e7ed83e9f198a1eb784a4e60414805bec8cbd0fd14c2a258741c5fe3120187f303b0a429c84cec289906e84627b28186765804d16062e58a363c SHA512 df3c7d7383bf00e5fe1ee220bfcfe369aa8f094a8ef39d4e726024e8b3c21ecc5ac124e67f4b65acbef8631644b76d2e7f225600abbed66abb0b8dbef891c08d
DIST superqt-0.8.2.tar.gz 110190 BLAKE2B 0dd0b44bd964d95a0dcdd2179e3ca83670cce904b67e1a656dfcdf1bbea40cc8243152409f562b9002c1e163a1bb71377ee1932fcaf69f7bc75a7654b056593a SHA512 8bcf19a48c90131c702c489bf8d7bfb68fb37607bf0e9fb2fade8834ef4ce604512861c265e5cbd1c7157235d98c46d960ba4431a76bf51918002fe83cf2fe79
DIST superqt-0.8.2.tar.gz.provenance 9583 BLAKE2B 509d8a87a3b8a09b72a6768dc01de01aba177f933706a87867596d06ec85ee0eb261ce1fe5ab5c50e6ab064434dfdc7530419127b05b8b9f66079329c134d170 SHA512 c1bb553c7c7d94154e74fa14aad05964047426f8b588eb5b69b2e4166ae522c9efd54c91a5ad683d3ac4a6f767b44bd1622767d9e495a7a5d8d0195b4a2b08ef
diff --git a/dev-python/superqt/superqt-0.8.1.ebuild b/dev-python/superqt/superqt-0.8.1.ebuild
deleted file mode 100644
index d726fc39cbd6..000000000000
--- a/dev-python/superqt/superqt-0.8.1.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYPI_VERIFY_REPO=https://github.com/pyapp-kit/superqt
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi virtualx
-
-DESCRIPTION="Missing widgets and components for PyQt/PySide"
-HOMEPAGE="
- https://github.com/pyapp-kit/superqt/
- https://pypi.org/project/superqt/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- >=dev-python/pygments-2.4.0[${PYTHON_USEDEP}]
- >=dev-python/qtpy-2.4.0[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.12.0[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- dev-python/numpy[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( pytest-qt )
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_test() {
- local ALL_QT_APIS=()
- local api
-
- for api in pyqt6 pyside6; do
- has_version "dev-python/qtpy[${api},${PYTHON_USEDEP}]" || continue
- ALL_QT_APIS+=( "${api}" )
- done
- [[ -z ${ALL_QT_APIS[@]} ]] && die "No Qt6 implementation found?!"
-
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- # pint and pyconify not packaged
- tests/test_quantity.py
- tests/test_iconify.py
- )
- local EPYTEST_DESELECT=()
-
- for api in "${ALL_QT_APIS[@]}"; do
- case ${api} in
- pyqt6)
- EPYTEST_DESELECT=(
- # crashing on assertions
- tests/test_color_combo.py::test_q_color_combobox
- )
- ;;
- esac
-
- einfo "Testing with ${api}"
- epytest -o "qt_api=${api}"
- done
-}
diff --git a/dev-python/sure/sure-2.0.1.ebuild b/dev-python/sure/sure-2.0.1-r1.ebuild
index 12cd307c855a..ab2ceb666e02 100644
--- a/dev-python/sure/sure-2.0.1.ebuild
+++ b/dev-python/sure/sure-2.0.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -23,6 +23,7 @@ RDEPEND="
dev-python/six[${PYTHON_USEDEP}]
"
+EPYTEST_PLUGINS=()
distutils_enable_tests pytest
EPYTEST_IGNORE=(
@@ -31,6 +32,11 @@ EPYTEST_IGNORE=(
)
src_prepare() {
- sed -i -e 's:--cov=sure::' setup.cfg || die
distutils-r1_src_prepare
+
+ sed -i -e 's:--cov=sure::' setup.cfg || die
+
+ # workaround broken version logic
+ # https://github.com/gabrielfalcao/sure/issues/193
+ sed -i -e "s:version=version:version='${PV}':" setup.py || die
}
diff --git a/dev-python/sybil/Manifest b/dev-python/sybil/Manifest
index c663ec2ecef1..7ae8813e2199 100644
--- a/dev-python/sybil/Manifest
+++ b/dev-python/sybil/Manifest
@@ -1 +1,2 @@
DIST sybil-10.0.1.gh.tar.gz 83326 BLAKE2B de199b2755596a52a5ed9c18a456c84618e03b2bb55b9171b3c4c6b7f3069ef512734ff3259dbce227c4e192ffd400333e0c61763fffba89f649b1d868e09d2c SHA512 02ec3f8d4c3cf3f1b4df9f02a7caa139912dd1eca029eb4d62cb0b8cfa7b26348cd0b8c1cad7262473bb1de6fc218f014750f86e49bbb27befd81a1d3f86ab8c
+DIST sybil-10.1.0.gh.tar.gz 85438 BLAKE2B e11dfea98fb0b6c1b5f5442b232711895fcadd979f4ed0e60762771b671f7a0c8d903cbd55352271b5137291229ae73d6da53841b4548cda487ec7c7404a79b3 SHA512 8b8b484933a0a4ebc04ccf7f0e1b7514b9ad00ee61e5ff76d6735edd11a43662cb0ef58345d9a1e4c9f76e02231a2876203e818136ca075d7c8ed4b9322feacc
diff --git a/dev-python/sybil/sybil-10.1.0.ebuild b/dev-python/sybil/sybil-10.1.0.ebuild
new file mode 100644
index 000000000000..5168d3a1cc11
--- /dev/null
+++ b/dev-python/sybil/sybil-10.1.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2019-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Automated testing for the examples in your documentation"
+HOMEPAGE="
+ https://github.com/simplistix/sybil/
+ https://pypi.org/project/sybil/
+"
+# tests are missing in sdist, as of 5.0.1
+SRC_URI="
+ https://github.com/simplistix/sybil/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/myst-parser[${PYTHON_USEDEP}]
+ dev-python/seedir[${PYTHON_USEDEP}]
+ dev-python/testfixtures[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/tavern/Manifest b/dev-python/tavern/Manifest
index 5a4e682e8e09..71b19cb28ae8 100644
--- a/dev-python/tavern/Manifest
+++ b/dev-python/tavern/Manifest
@@ -2,3 +2,4 @@ DIST tavern-3.3.3.gh.tar.gz 723923 BLAKE2B 55566efa69187761d1d838e7e2d517d691e5f
DIST tavern-3.4.0.gh.tar.gz 726374 BLAKE2B cd7c873847ba86383a8a1f54ad1d36cd837f496b6548e7c5649f901244607ee50b3c836a61d3576070c2eeb1ccfc33ac27e9c068f0e7eae390d38604c6cff067 SHA512 6629958b05c010836a7cae2586f8a7162255dfe31308347e74c81540d9058cefd728a9b954580f27a01137f40b900a90f3ee1f8e524b63e63a36204bbb69609c
DIST tavern-3.5.0.gh.tar.gz 730426 BLAKE2B f9950cad5a97a1980d53c62237f94cabe150381580fdbd433ff88c7eb1db8144c49b3b2cb0ec955ca0c83a3636041e656bdc37cda88e94d83c7fa981c2571301 SHA512 8126691c746f92e13679bc18ccdd5ec7a69d304a28c4eadb9d9bf50fcc6b907c377e7e76436eaa4fc81416dab1b2952cde981cfea6b3feb53503ed5ed5e1827f
DIST tavern-3.6.0.gh.tar.gz 732315 BLAKE2B 08b69fadb6389448c38a902200cc097240945a921e67046857430cb046ba6d1d0abc471c97ac0348eb5a0eec2292977c94459260f36b5235ef6315feb08cd0d5 SHA512 2841c89bb178123c03cdd37352ed9146b60c88b0b531cecde4d40752a86a8354dbf95e0542d2878682b0de03129a7c5c60e28e2399c79d8ab79246b42f8ef51f
+DIST tavern-3.6.1.gh.tar.gz 734344 BLAKE2B bb3ed80c9c290e7c050d1a0590804cbf499fc9584567fab6cce0beeba8ba798319c0c4edaf614cb3cd6fe9a02313e1ff4c47042ece755ff8b408e4125f0f4805 SHA512 1178df1ec0079022dd3cd5afe214e27d0455b7e0f2cd315798f8291d671ae85a51d3e480743d19f5a340ede8a4989700f74d96683ddb99ff7c2212298e2bccf5
diff --git a/dev-python/tavern/tavern-3.6.1.ebuild b/dev-python/tavern/tavern-3.6.1.ebuild
new file mode 100644
index 000000000000..72cafa83f74a
--- /dev/null
+++ b/dev-python/tavern/tavern-3.6.1.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit-core
+PYTHON_COMPAT=( python3_{13..14} )
+
+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 ~arm64"
+
+RDEPEND="
+ >=dev-python/hypothesis-6[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-1[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4[${PYTHON_USEDEP}]
+ dev-python/pydantic[${PYTHON_USEDEP}]
+ >=dev-python/pyjwt-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/pykwalify-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${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}]
+ dev-python/paho-mqtt[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( "${PN}" )
+distutils_enable_tests pytest
+
+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
+ # TODO
+ tests/unit/response/test_mqtt_response.py::TestResponse::test_same_topic
+)
+EPYTEST_IGNORE=(
+ # require grpc*
+ tavern/_plugins/grpc
+ tests/unit/tavern_grpc
+ # require gql
+ tavern/_plugins/graphql
+ tests/unit/plugins/graphql
+)
+
+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
+}
diff --git a/dev-python/tempest/Manifest b/dev-python/tempest/Manifest
deleted file mode 100644
index e68f41cf6e22..000000000000
--- a/dev-python/tempest/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST tempest-46.1.1.tar.gz 1180447 BLAKE2B cb74fb5ca4b283a5e6e640cd2ef938f8edc0c1946341daa40375af4755dfee320079957eee34648c5b38f001f5e87df5ed0887b2d89f79719da6e8151ae40dcf SHA512 e850ee2ac2382807e44c70fa705e16b807bc1f88393dae63d54978fe3725fecb922f9210ca833dd9aafee130e5cce727cc004e9c80e540ed55dfc95b4672f74b
-DIST tempest-46.2.0.tar.gz 1184257 BLAKE2B 3d220ab25417f8950154557b42c533de7d3828fb8328a6575be95ceb8c51c99d0bb010b26dd8f7a91f143200f0efd6c3f777e9da867a6b2dc8d281469b56c81b SHA512 a82dd8c71e6437e3f6b8b9f3fc21820d7f7ff975121a9ffcd672f9a73c9e67ef547d32cc10f55b76d71189d84cc181f90ca1ee49e88f0bc462c6caf2dc7c65e6
diff --git a/dev-python/tempest/metadata.xml b/dev-python/tempest/metadata.xml
deleted file mode 100644
index 6c9d0542c0e8..000000000000
--- a/dev-python/tempest/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches />
- <upstream>
- <remote-id type="launchpad">tempest</remote-id>
- </upstream>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/dev-python/tempest/tempest-46.1.1.ebuild b/dev-python/tempest/tempest-46.1.1.ebuild
deleted file mode 100644
index ae0b1cb0ba0a..000000000000
--- a/dev-python/tempest/tempest-46.1.1.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 2021-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-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-4.5.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? (
- ${RDEPEND}
- >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
- dev-python/stestr[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.2.0[${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-46.2.0.ebuild b/dev-python/tempest/tempest-46.2.0.ebuild
deleted file mode 100644
index 7745cc747d26..000000000000
--- a/dev-python/tempest/tempest-46.2.0.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 2021-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-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-4.5.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? (
- ${RDEPEND}
- >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
- dev-python/stestr[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.2.0[${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/tempora/tempora-5.9.0.ebuild b/dev-python/tempora/tempora-5.9.0.ebuild
index 55e185b52428..a1bfb5c554f7 100644
--- a/dev-python/tempora/tempora-5.9.0.ebuild
+++ b/dev-python/tempora/tempora-5.9.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 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos"
RDEPEND="
dev-python/jaraco-context[${PYTHON_USEDEP}]
diff --git a/dev-python/testfixtures/Manifest b/dev-python/testfixtures/Manifest
index 530017a52785..dcda5608e658 100644
--- a/dev-python/testfixtures/Manifest
+++ b/dev-python/testfixtures/Manifest
@@ -2,3 +2,7 @@ DIST testfixtures-11.0.0.tar.gz 152532 BLAKE2B 1fd28fe724366e6fee16b33eaf445dd22
DIST testfixtures-11.0.0.tar.gz.provenance 9482 BLAKE2B 18c78ac06436207820c190be8d978eb0ca39e59a2ff990573755407de3541d2309546954b44551638ae69649f3844b4cde50d464df9b06014abf020e4fbc7aac SHA512 77cbdc7987351977432c81e1f9ea7b3b83a60d9f9936dbde025a22ca344d2eedd9a9329b1d0575dcfecf49d1712414d53e2f3aebab9cb85e615774ee24f963a9
DIST testfixtures-12.0.0.tar.gz 177327 BLAKE2B d60c59aef027fd63d144ed9156ccd3a740c54e522955080c0f4549d5eff41d907aa3ebd14683a0204620afb3a516c401e730422f4703b060bd5711352c9af3d4 SHA512 07a35147b2feed74f0d0c64d755abf11d0b2fcadcc990939a5ccdf30530cd63f2fa0e265dc9836ddc2d7c85413a5f0dd9c67fd91f7444630db758b91327f0ebc
DIST testfixtures-12.0.0.tar.gz.provenance 9763 BLAKE2B f5d5a5f0274f0052fa9903d2ea63b289cad8f2a8f44a69880f4ac99ac4ab02146a88dcea3bc5ff2bac7951fa48e138b375e6548198161d4fdc3ae09f2186defe SHA512 f5bc80317beca8c5d5275bde2519ed6088bfdb9f9d6484afefd434387e52701ae8a848029e20189b0b77a0f9cb809e542154c56368dfd1fe81fb7cc173b9822a
+DIST testfixtures-12.0.1.tar.gz 177474 BLAKE2B cb27b968a41b764823b0129c6649e97e1784ecce21ba7e70c8b588dab5d822cfc9e810c91135702e39f45c15cb187652d6640b1deac8d0c4a005c9ad8295f813 SHA512 bf33a03f6a7c9ff0c28b7dcc631510a8e85d937ab477ec15a5c4040eb6ddac14566340349fb0cc025af35e6983f26e36b0383ed684ab817282a1f133c8abc566
+DIST testfixtures-12.0.1.tar.gz.provenance 9776 BLAKE2B 9046c0b27e325408f40ea423afe4707f602b4e57f74a969744ac4b7dd77ca233f4fd444b4cc8f387e8e9480d87a70787ce17a8ef5bb064781bc87b7b7a7fa950 SHA512 77a053b56e72ea73f4a5f064d6356fc5ba7b35883b9f61b6a215ae7f3209de96054e9f701a34dd280fee116780b6faa2014b1066e8632057f63e661d81eea10d
+DIST testfixtures-12.1.0.tar.gz 187591 BLAKE2B 2c5b60fb2cb31fbd3679de4c1160bc8fefdee49c35993c101af1c27968c01ef0551acd94c4f57e8237286e5b35443de683a7d0f6c9be62c8b34ef91785592d93 SHA512 385974c755d7dbe43fa0a14a7c3fee51f47330dd97f542f7fc1c3b48dd25fb7a7a1e6119d0e1356619d28a572c96645eeccdb4ae40ca34ce4deb77192659e794
+DIST testfixtures-12.1.0.tar.gz.provenance 9772 BLAKE2B 673e6124e037b607ff044460ed6021696c88f66fce8b89632db1401b061f74df3c03b6ab9a7d6a6ebcfe47761ec3dc26031924717da1bdd101f0a6d1ce8ab995 SHA512 173f91eb6cfdad05ff54536e86ef50ac8af3bdb467fb9d230c65e6732f5ee0fe7d1923a6ca5fd2f29fc2beb5dbd602be9c81b0d5cbda9b04b08dae78f6632392
diff --git a/dev-python/testfixtures/testfixtures-12.0.1.ebuild b/dev-python/testfixtures/testfixtures-12.0.1.ebuild
new file mode 100644
index 000000000000..ef4790782516
--- /dev/null
+++ b/dev-python/testfixtures/testfixtures-12.0.1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/simplistix/testfixtures
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A collection of helpers and mock objects for unit tests and doc tests"
+HOMEPAGE="
+ https://pypi.org/project/testfixtures/
+ https://github.com/simplistix/testfixtures/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ dev-python/django[${PYTHON_USEDEP}]
+ >=dev-python/sybil-6[${PYTHON_USEDEP}]
+ >=dev-python/twisted-18[${PYTHON_USEDEP}]
+ sys-libs/timezone-data
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-django )
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTHONPATH="."
+ local -x DJANGO_SETTINGS_MODULE=tests.test_django.settings
+
+ local EPYTEST_DESELECT=(
+ # TODO
+ tests/test_shouldwarn.py::ShouldWarnTests::test_filter_missing
+ tests/test_shouldwarn.py::ShouldWarnTests::test_filter_present
+ )
+ local EPYTEST_IGNORE=()
+ if ! has_version "dev-python/twisted[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ tests/test_twisted.py
+ )
+ fi
+
+ epytest
+}
diff --git a/dev-python/testfixtures/testfixtures-12.1.0.ebuild b/dev-python/testfixtures/testfixtures-12.1.0.ebuild
new file mode 100644
index 000000000000..64d42c46776e
--- /dev/null
+++ b/dev-python/testfixtures/testfixtures-12.1.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/simplistix/testfixtures
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A collection of helpers and mock objects for unit tests and doc tests"
+HOMEPAGE="
+ https://pypi.org/project/testfixtures/
+ https://github.com/simplistix/testfixtures/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.12[${PYTHON_USEDEP}]
+ ' 3.12)
+"
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ dev-python/django[${PYTHON_USEDEP}]
+ >=dev-python/sybil-6[${PYTHON_USEDEP}]
+ >=dev-python/twisted-18[${PYTHON_USEDEP}]
+ sys-libs/timezone-data
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-django )
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTHONPATH="."
+ local -x DJANGO_SETTINGS_MODULE=tests.test_django.settings
+
+ local EPYTEST_DESELECT=(
+ # TODO
+ tests/test_shouldwarn.py::ShouldWarnTests::test_filter_missing
+ tests/test_shouldwarn.py::ShouldWarnTests::test_filter_present
+ )
+ local EPYTEST_IGNORE=()
+ if ! has_version "dev-python/twisted[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ tests/test_twisted.py
+ )
+ fi
+
+ epytest
+}
diff --git a/dev-python/textile/textile-4.0.4.ebuild b/dev-python/textile/textile-4.0.4.ebuild
index 03d413f25232..169a619510c1 100644
--- a/dev-python/textile/textile-4.0.4.ebuild
+++ b/dev-python/textile/textile-4.0.4.ebuild
@@ -22,7 +22,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="amd64 arm64 ppc ppc64 ~riscv ~sparc x86"
RDEPEND="
dev-python/nh3[${PYTHON_USEDEP}]
diff --git a/dev-python/thonny/Manifest b/dev-python/thonny/Manifest
index a53cbb27448f..209d4e353d63 100644
--- a/dev-python/thonny/Manifest
+++ b/dev-python/thonny/Manifest
@@ -1 +1,2 @@
DIST thonny-4.1.7.tar.gz 4085064 BLAKE2B fd91d4c3f45dd545d9c7c6d1edda636d0c784bb8dc491f2f8185f9bf1198c3ef81f43a56e4c7cc59b6fed9c337891b36b55523ab44cd39abe448eced2ced375d SHA512 8f263c0eb3430947bbd601090befad1181ae6990ea23f2962e3837aaf9dbf083f3f89eaae717e2db526d969311a28f170b76b7ccad2c8c269c253065eb8cfbb8
+DIST thonny-5.0.0.tar.gz 4435895 BLAKE2B 7ab21e5605397f2e7e8a0e34559a1c1c55bba377890c5be90fe6da37cc08bff8403d54152b92a7bf43ce1ff79f4598db6fc890cb08dc491750bae8713fbec5e3 SHA512 978b3f32ea03296ecb0530eb5e4d044f300ba665b552ae5a228de4270eb6efa41b8091e39a6fd17946140ac39a0f24d090df425d346aa179249a15c7517e277e
diff --git a/dev-python/thonny/thonny-5.0.0.ebuild b/dev-python/thonny/thonny-5.0.0.ebuild
new file mode 100644
index 000000000000..4b315da81a8f
--- /dev/null
+++ b/dev-python/thonny/thonny-5.0.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=uv-build
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="tk"
+
+inherit desktop distutils-r1 xdg optfeature
+
+DESCRIPTION="Thonny is a Python IDE meant for learning programming"
+HOMEPAGE="
+ https://thonny.org/ https://github.com/thonny/thonny"
+SRC_URI="
+ https://github.com/thonny/thonny/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/jedi-0.18.1[${PYTHON_USEDEP}]
+ dev-python/minny[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/pyserial[${PYTHON_USEDEP}]
+ dev-python/pylint[${PYTHON_USEDEP}]
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/mypy[${PYTHON_USEDEP}]
+ dev-python/asttokens[${PYTHON_USEDEP}]
+ dev-python/send2trash[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_install() {
+ distutils-r1_src_install
+ newicon packaging/icons/thonny-32x32.png thonny.png
+ domenu "${S}/packaging/linux/org.thonny.Thonny.desktop"
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ optfeature "CircuitPython support" dev-python/esptool
+ optfeature "MicroPython support" dev-python/adafruit-ampy
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+}
diff --git a/dev-python/thrift/Manifest b/dev-python/thrift/Manifest
index 0586552d4594..3beddc02237c 100644
--- a/dev-python/thrift/Manifest
+++ b/dev-python/thrift/Manifest
@@ -1,2 +1 @@
-DIST thrift-0.22.0.tar.gz 4422267 BLAKE2B b91b3379dcce0222e0cc29cd783710ef183694d96e4794535d72a7a49764e994e70a6560841bc93668d4997a68f405eaa5a5f2d0c5a1c6238c6bd9b3556d9400 SHA512 beb37ee2a295fae7df12cce6449c92799076771bae515fafcc790a62ac6e76ac5584f102315d466b8f5f98e236c9dc4a244695bdcd9f1392d6e9a13d365ddadc
DIST thrift-0.23.0.tar.gz 4608023 BLAKE2B 6780b4afa3d85e106f81458a8d11f823233baa890df1ddc17b059c9394bfb7e13ef6699697b8c3ef991e24f74611c3040490175be90fa0cd46b12d8c4f44ddc3 SHA512 a57c6fa645852f22ca10380621facc193393b19d1d760e113baa0f964365839043f2b527bd8cd3c03808380e9f09e9a8f707f8abbd931c51632e9d5181a459cf
diff --git a/dev-python/thrift/thrift-0.22.0.ebuild b/dev-python/thrift/thrift-0.22.0.ebuild
deleted file mode 100644
index 672f692746f4..000000000000
--- a/dev-python/thrift/thrift-0.22.0.ebuild
+++ /dev/null
@@ -1,38 +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_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python implementation of Thrift"
-HOMEPAGE="
- https://pypi.org/project/thrift/
- https://thrift.apache.org/
- https://github.com/apache/thrift
-"
-SRC_URI="
- mirror://apache/${PN}/${PV}/${P}.tar.gz
-"
-S="${WORKDIR}/${P}/lib/py"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-distutils_enable_tests unittest
-
-python_test() {
- eunittest test
-}
-
-src_install() {
- distutils-r1_src_install
- # avoid file collision with dev-libs/thrift (bug #933272)
- mv "${D}"/usr/share/doc/${P}/README.md \
- "${D}"/usr/share/doc/${P}/ReadMe.md || die
-}
diff --git a/dev-python/thrift/thrift-0.23.0.ebuild b/dev-python/thrift/thrift-0.23.0.ebuild
index b42875f4efb5..096d1b9dc415 100644
--- a/dev-python/thrift/thrift-0.23.0.ebuild
+++ b/dev-python/thrift/thrift-0.23.0.ebuild
@@ -22,7 +22,7 @@ S="${WORKDIR}/${P}/lib/py"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~riscv ~x86"
+KEYWORDS="amd64 ~riscv x86"
distutils_enable_tests unittest
diff --git a/dev-python/tifffile/Manifest b/dev-python/tifffile/Manifest
index 833ff788d9a5..744af0e6a0a5 100644
--- a/dev-python/tifffile/Manifest
+++ b/dev-python/tifffile/Manifest
@@ -1,2 +1 @@
-DIST tifffile-2026.5.15.gh.tar.gz 419120 BLAKE2B 74123ffec24cce3c2f5a18a26313944d2f312bdfbfd6e1e60948f94ad2c7ee92e11be9685a143a274432c7d776827ce2d9ff70f32ee8c2d76cc322578d063992 SHA512 59f29d4ff1c084c0cb897dcc8f1b41ef28798c460619bdde1af75d03d49e0590c9686cf4829c58857d342c194b3f1a3c5a4c179b81f614815338c58b23784b37
DIST tifffile-2026.6.1.gh.tar.gz 418247 BLAKE2B 2c20840bbf901fda3b001638d93887e1821d8aa4325f903f44bfdc65e1e48eef80ea087dec7443a415f8d767859ddb588e7292dd85805e27ae86894e6463ffb1 SHA512 4296d605ce212b065acb288b8a60515f9fcd4135474523eb68261736c1861606969c54f33a75116b6908c4218a6392a0f9cba008c2409e7744ee5a19d2bb767a
diff --git a/dev-python/tifffile/tifffile-2026.5.15.ebuild b/dev-python/tifffile/tifffile-2026.5.15.ebuild
deleted file mode 100644
index 49630e1bd1b8..000000000000
--- a/dev-python/tifffile/tifffile-2026.5.15.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 2021-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Read and write TIFF files"
-HOMEPAGE="
- https://pypi.org/project/tifffile/
- https://github.com/cgohlke/tifffile/
- https://www.cgohlke.com/
-"
-SRC_URI="
- https://github.com/cgohlke/tifffile/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/numpy-2.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/defusedxml[${PYTHON_USEDEP}]
- >=dev-python/fsspec-2021.5.0[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/xarray[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # not marked properly
- # https://github.com/cgohlke/tifffile/pull/308
- tests/test_tifffile.py::test_issue_dcp
- # meaningless and broken on py<3.13
- # https://github.com/cgohlke/tifffile/pull/309
- tests/test_tifffile.py::test_gil_enabled
- )
-
- local -x SKIP_LARGE=1
- local -x SKIP_HTTP=1
-
- epytest
-}
diff --git a/dev-python/timeslot/Manifest b/dev-python/timeslot/Manifest
deleted file mode 100644
index 71eaefc65e15..000000000000
--- a/dev-python/timeslot/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST timeslot-0.1.2.tar.gz 3156 BLAKE2B 8a5b87bae4c594534369a2508b32f714546235833db7ca2c56ccba43daf550263abb772001f6bb06428a4639a5187b9a6b5f95508c89641b99071adc05230467 SHA512 f3dec3e8022a8f61b67a19268d50f7a53749d3f4b1bc5f98384cd8a90d79e68d25fddca41c9099d651330a8d81aec15849b927b7dd470701a7f436c111dad1e3
diff --git a/dev-python/timeslot/timeslot-0.1.2.ebuild b/dev-python/timeslot/timeslot-0.1.2.ebuild
deleted file mode 100644
index 7e164e2e030e..000000000000
--- a/dev-python/timeslot/timeslot-0.1.2.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Time slots/intervals with an arbitrary start and stop"
-HOMEPAGE="https://github.com/ErikBjare/timeslot"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-# Not available for now
-RESTRICT="test"
diff --git a/dev-python/tiny-proxy/Manifest b/dev-python/tiny-proxy/Manifest
index 8462960b7c5d..768c736b895c 100644
--- a/dev-python/tiny-proxy/Manifest
+++ b/dev-python/tiny-proxy/Manifest
@@ -1 +1,2 @@
DIST tiny-proxy-0.2.1.gh.tar.gz 17090 BLAKE2B 971c0f6d4c1624f89ccf0753adf375f34e35be7108251b8acd54fe724989d8e9799ba933c8dc2e53ba9a3b5d603c873ae9556b74d403883627ff51591b0d8111 SHA512 26dcf470fa0d59b4d1abc7ddf8eddc40df7d599ae5e82c8ce788141410f07e94427eb8282a9c9ccb99f39ec19914280849dd86841d92f25f109abf28557449fc
+DIST tiny-proxy-0.3.0.gh.tar.gz 17178 BLAKE2B 5185487a35cf836d1908e40f5dc2f11a4903032f7857535f01a06687c9bd04070548a5f6ec6912b34a81f74935aa04b03516a41c0f6355ca1891b6ffa7c28661 SHA512 5a1a276d76d9cf6200877e231efb848111d9b19b3f313cdbef05aea6f4b4808fc38c254c56a6406a27fdc7441f681b75115af66a1154b64ffc8deb6704dbadb4
diff --git a/dev-python/tiny-proxy/tiny-proxy-0.3.0.ebuild b/dev-python/tiny-proxy/tiny-proxy-0.3.0.ebuild
new file mode 100644
index 000000000000..7644cc4b789e
--- /dev/null
+++ b/dev-python/tiny-proxy/tiny-proxy-0.3.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Simple proxy server (SOCKS4(a), SOCKS5(h), HTTP tunnel)"
+HOMEPAGE="
+ https://github.com/romis2012/tiny-proxy/
+ https://pypi.org/project/tiny-proxy/
+"
+SRC_URI="
+ https://github.com/romis2012/tiny-proxy/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ <dev-python/anyio-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/anyio-3.6.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/aiohttp-3.8.1[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.23.0[${PYTHON_USEDEP}]
+ >=dev-python/httpx-socks-0.7.4[${PYTHON_USEDEP}]
+ >=dev-python/trustme-0.9.0[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-asyncio )
+distutils_enable_tests pytest
diff --git a/dev-python/tomlkit/tomlkit-0.15.0.ebuild b/dev-python/tomlkit/tomlkit-0.15.0.ebuild
index 050dedc429f3..3eb5b042a6e4 100644
--- a/dev-python/tomlkit/tomlkit-0.15.0.ebuild
+++ b/dev-python/tomlkit/tomlkit-0.15.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"
BDEPEND="
test? (
diff --git a/dev-python/tornado/Manifest b/dev-python/tornado/Manifest
index e81e030fb98c..e691bb76a9d0 100644
--- a/dev-python/tornado/Manifest
+++ b/dev-python/tornado/Manifest
@@ -2,3 +2,5 @@ DIST tornado-6.5.5.tar.gz 516006 BLAKE2B b744e5d99fe1ffe1f8e8546457e53d5b995daed
DIST tornado-6.5.5.tar.gz.provenance 9424 BLAKE2B 51c7d29182ff9d88ca37fbd3572d3d73504f3d97f81799b35fc79a4f56224f4525c77dbdf25fc9a455d83536d1ada060b9e36c035da9279bf1e74fd39f53c38a SHA512 15d5fe16e96037c16dae4b744ecd3a8d9d460558c050bb438a6415523ae0881b2750616f258ea3314eb5db75e134e36b177d67eff1b349a1522aec1c9284ea97
DIST tornado-6.5.6.tar.gz 518139 BLAKE2B 2707573e1e2d87ff59b8b353db982afeb653b24914c53f06b8ae784571533043aed8cb5b80e4a9aca7da735a129b8c027391475c91d497656553e99b9c8d8cf2 SHA512 7618d73a0bab94f91624ad9279368e0f4ec87de6139cfc9c0efff491eeced4d57310422754c629e5ea58a3c86902f8916ebe0f0989d509c56333680ac6a2bb03
DIST tornado-6.5.6.tar.gz.provenance 9706 BLAKE2B d15888fcdcbecd80a6b3c198e6eb5399e7965c3387f57306eba36c47a07946936bc28a136e696b04406cfd1ee059e6bb6c1802e1b283bbc46c4ef62dcfc4df51 SHA512 3d5f81149d4282d872770092fa0e0a6eaa83238b47cebee3fc1ed8afd5ef5514e44a348ca0ee5c82b686d189410e3688553661d27c6856bb363e02400f104cf9
+DIST tornado-6.5.7.tar.gz 519252 BLAKE2B 7d2a2f265de1137c632bf222dc8e8e65efe9328c7c82af5741e069be1dae34de33547a93844518c213ca131d064d87db1d438145e47cfc0da4ddb4485bad9a33 SHA512 bd9790da5dc84580710cc74cda0f8f691ff0af845e9e4b47c431333aae5107d808f8a3a82155d4cddefb86f4c516f3a2bef15edcb19d743b936d20d101db7cf1
+DIST tornado-6.5.7.tar.gz.provenance 9369 BLAKE2B 4893e0653f2c39d9aa89a2a7c888860aad829f255394308f11de1a2ece80a00cf479270427cf833720e524d91b42926645f63f2867a4a441b6273b7e4722a076 SHA512 3e97725d8964764cab43f4750d88843394a0577d54e6529e13de5ab55e5898f4853e59bbe973c813e7c05c67e4c9f472e3569f6e934559b9a9bcb71cd38dbcc6
diff --git a/dev-python/tornado/tornado-6.5.7.ebuild b/dev-python/tornado/tornado-6.5.7.ebuild
new file mode 100644
index 000000000000..34eff013d738
--- /dev/null
+++ b/dev-python/tornado/tornado-6.5.7.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/tornadoweb/tornado
+PYTHON_COMPAT=( python3_{13..14} )
+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 ~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/tox/tox-4.53.1.ebuild b/dev-python/tox/tox-4.53.1.ebuild
index ab41c661b7a8..0f7659db3fc7 100644
--- a/dev-python/tox/tox-4.53.1.ebuild
+++ b/dev-python/tox/tox-4.53.1.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ppc ppc64 ~riscv ~s390 x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ppc ppc64 ~riscv ~s390 x86"
RDEPEND="
dev-python/cachetools[${PYTHON_USEDEP}]
diff --git a/dev-python/tox/tox-4.54.0.ebuild b/dev-python/tox/tox-4.54.0.ebuild
index db6e52f11b21..f4ba6ade1972 100644
--- a/dev-python/tox/tox-4.54.0.ebuild
+++ b/dev-python/tox/tox-4.54.0.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc64 ~riscv ~s390 ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ppc ppc64 ~riscv ~s390 x86"
RDEPEND="
dev-python/cachetools[${PYTHON_USEDEP}]
diff --git a/dev-python/tqdm/Manifest b/dev-python/tqdm/Manifest
index 45f352c6a44f..9a1864bf5511 100644
--- a/dev-python/tqdm/Manifest
+++ b/dev-python/tqdm/Manifest
@@ -1,2 +1,6 @@
DIST tqdm-4.67.3.tar.gz 169598 BLAKE2B c1af5e116a5498d3aef5c6d04b9875b73715769f4a29a7de75af8b0274ac105b64a5aac68842654dddf2d436d8651bdad2f3fa90f7d27160e062f665bceec1df SHA512 2d4c52df95365a5173b3f1bcb29f9076bb3d6cd995bf8948ee036c0c6c2b2b9818daf1f4e1970c0af4b4600497b614c5ab67d3ab8b2103772fa73aeea9a347ad
DIST tqdm-4.67.3.tar.gz.provenance 9138 BLAKE2B 6da7cae665305c9eb1f0aef4ed98ec4e3d722939e4dadca6aba780940b7c99f5b940077315b7276fdda6d759267004435be1e8b52fefc2c6fe1e9a32bb765ea2 SHA512 cf9a2fe00223decb994bcaae6be4c98e109b05019456702c637117e2e9fe4cc1336869b494cea9cff0e3f8518e1fb8099795721728671c132bb5e603bd8fea92
+DIST tqdm-4.68.1.tar.gz 171236 BLAKE2B da159f99cf504d8ada8f0d4dd5dbcec2a0fcedf56446f8f956a6e7ff9372dbf54b2c405cd9b5ee2e644201dee30c332961fe49e5b0ea3c238ace360767a2a4a6 SHA512 9411d0568524c1893ea0aa7125ab140158228de1b6f391917f94cafd96b82be09604f071cfd966fcd14243e9f22be69dbda60b40cb84a2204bf42a00c27142ea
+DIST tqdm-4.68.1.tar.gz.provenance 9189 BLAKE2B 6c7f6a3ad9b087ad520efd44cd6e386c2ae308b61c9998d16a91ff085aec613c63625f2ff8ce66dd60a08ac2249f1dd3a38d75798e4bc633443de26f53b6c386 SHA512 135fa4c6bd8e09d6512bc4c247d99e6e2848014d7ad759abf9a1b7a897e09985232c80d126848d848d2d145ef7311f9f5c1cc7a823d58a2fa7a7adbab4695bf8
+DIST tqdm-4.68.2.tar.gz 171923 BLAKE2B 7a3587662766743952627ad294cca083cac58d576346f242c3499c78e56f528d9c0d454af241a8366eb6b38fa04ecc267579db94abae474d8a7e3c6fbbdcf1be SHA512 a023be68c85d807f2a3dfc225b9db09add9cf71b4f2fb69abf184ee47526afbdeef2ff7a16e6f02d0640eae3d37bb070eefdac050e54263b61ee6d916c8269a3
+DIST tqdm-4.68.2.tar.gz.provenance 9146 BLAKE2B 315da20cff5c147ea9a42626f868121f89264fa0269892336883a5ad9aa0b545cf25fb9bc174656d5dee7196a394acde767e635b6296d29e0465703bff5fbfb5 SHA512 06f93344fe73eb5eee90d4094810540451baa7d7fcdf120ad77302e55b55d60bbefd8c5cc5ed6714b7a2aff7cb2c038278d1c14aaff911a3d56fbc17a12bf4b3
diff --git a/dev-python/tqdm/tqdm-4.68.1.ebuild b/dev-python/tqdm/tqdm-4.68.1.ebuild
new file mode 100644
index 000000000000..30d0ec6fe291
--- /dev/null
+++ b/dev-python/tqdm/tqdm-4.68.1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/tqdm/tqdm
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit bash-completion-r1 distutils-r1 pypi
+
+DESCRIPTION="Add a progress meter to your loops in a second"
+HOMEPAGE="
+ https://github.com/tqdm/tqdm/
+ https://pypi.org/project/tqdm/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="examples"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( pytest-{asyncio,timeout} )
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # Skip unpredictable performance tests
+ tests/tests_perf.py
+)
+
+python_install_all() {
+ doman tqdm/tqdm.1
+ newbashcomp tqdm/completion.sh tqdm
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/tqdm/tqdm-4.68.2.ebuild b/dev-python/tqdm/tqdm-4.68.2.ebuild
new file mode 100644
index 000000000000..30d0ec6fe291
--- /dev/null
+++ b/dev-python/tqdm/tqdm-4.68.2.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/tqdm/tqdm
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit bash-completion-r1 distutils-r1 pypi
+
+DESCRIPTION="Add a progress meter to your loops in a second"
+HOMEPAGE="
+ https://github.com/tqdm/tqdm/
+ https://pypi.org/project/tqdm/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="examples"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( pytest-{asyncio,timeout} )
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # Skip unpredictable performance tests
+ tests/tests_perf.py
+)
+
+python_install_all() {
+ doman tqdm/tqdm.1
+ newbashcomp tqdm/completion.sh tqdm
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/traitlets/Manifest b/dev-python/traitlets/Manifest
index cbf5d3153dc2..cc46ea8c1353 100644
--- a/dev-python/traitlets/Manifest
+++ b/dev-python/traitlets/Manifest
@@ -1,3 +1 @@
-DIST traitlets-5.14.3.tar.gz 161621 BLAKE2B b7367c4f14bf1e5dc24361d5d6780ef353a0356be2cbc8548052a27d279b02ce856b73ae1320d5dcded86afe16e8ead7f9d6964d9822f87cc06b616394c42693 SHA512 7c8469761aab7ad708b12d49c222a6e892877152c68125b805a1819b06292380be16e816c405398ad988f2197adc2c59781457a51efc7d1e410f9ed8b11c06c4
-DIST traitlets-5.15.0.tar.gz 163197 BLAKE2B edc61e5d2b5409642372c7b0e5242a99d7deafb9d1a110517b8b8578365bdf0eead11fa111c5347a65f33ea9a26ac85d1713b6015c3108a4a678c5942e3c348d SHA512 81d50489c4827f3a8654008a76d2cda5f397d79c80765f831cd275ed0c7c0cd64a90b9253f60ce26cbb1c000b0a76e15c4a8cf46cfe923417a436c02ff8d034e
DIST traitlets-5.15.1.tar.gz 163344 BLAKE2B efd33a32d3003c88c0bee8aa8195a4d6773b522a27feb3aa5eb4e907aabb7a48e2c1d9f75ee901093d69f712c8f5f096d13f7fca5afeed5115d023912384552d SHA512 b46fae256eb86094fa0bd30342deb7bd2b120ebd19dc27b6d1cce1c6c58c8a522afc5c131dbccfb0f08de033f2f287a5ebd02e305ccb0dc6b2c6c7ae0499edc6
diff --git a/dev-python/traitlets/traitlets-5.14.3.ebuild b/dev-python/traitlets/traitlets-5.14.3.ebuild
deleted file mode 100644
index 7261f552abf2..000000000000
--- a/dev-python/traitlets/traitlets-5.14.3.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=hatchling
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A configuration system for Python applications"
-HOMEPAGE="
- https://github.com/ipython/traitlets/
- https://pypi.org/project/traitlets/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
-
-BDEPEND="
- test? (
- >=dev-python/argcomplete-2.0[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs/source \
- dev-python/myst-parser \
- dev-python/pydata-sphinx-theme
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_IGNORE=(
- tests/test_typing.py
- )
-
- if [[ ${EPYTHON} == python3.14 ]]; then
- # fails due to improved error messages in Python 3.14
- # https://github.com/ipython/traitlets/issues/925
- local EPYTEST_DESELECT=(
- tests/config/test_argcomplete.py::TestArgcomplete::test_complete_simple_app
- tests/config/test_argcomplete.py::TestArgcomplete::test_complete_custom_completers
- tests/config/test_argcomplete.py::TestArgcomplete::test_complete_subcommands_subapp1
- )
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pytest_mock
-}
diff --git a/dev-python/traitlets/traitlets-5.15.0.ebuild b/dev-python/traitlets/traitlets-5.15.0.ebuild
deleted file mode 100644
index 2998ec636d96..000000000000
--- a/dev-python/traitlets/traitlets-5.15.0.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A configuration system for Python applications"
-HOMEPAGE="
- https://github.com/ipython/traitlets/
- https://pypi.org/project/traitlets/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
-
-BDEPEND="
- test? (
- >=dev-python/argcomplete-2.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs/source \
- dev-python/myst-parser \
- dev-python/pydata-sphinx-theme
-
-EPYTEST_PLUGINS=( pytest-mock )
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- tests/test_typing.py
-)
diff --git a/dev-python/traitlets/traitlets-5.15.1.ebuild b/dev-python/traitlets/traitlets-5.15.1.ebuild
index 2998ec636d96..bef0b07789fb 100644
--- a/dev-python/traitlets/traitlets-5.15.1.ebuild
+++ b/dev-python/traitlets/traitlets-5.15.1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
BDEPEND="
test? (
diff --git a/dev-python/translate-toolkit/Manifest b/dev-python/translate-toolkit/Manifest
index 934cd0261765..782382fd1c9c 100644
--- a/dev-python/translate-toolkit/Manifest
+++ b/dev-python/translate-toolkit/Manifest
@@ -1,6 +1,2 @@
DIST translate-3.19.10.gh.tar.gz 1353016 BLAKE2B 7da28b38c72fd834edceb0f556a13967f75e139418145f5baf981cdde2cb1cab7fae3503b9aae88be395d4e2bc99422d9b06fbb0247b379d6020201729526c67 SHA512 3a26ad243203fff2352f714e19a9024dfe39d5a46a14ba6682efb54f2832866a246446328be79b8efc39b89bf48e150dd90e289082e164376381ba64ff64f88f
DIST translate-3.19.11.gh.tar.gz 1355618 BLAKE2B 65424bb83f67c04566611ebd426ad6dd233cebab252b09768cc5253c44d9291a543fe91a91e23ecbc8fdc5586fdb340fcb40f26028dcbf9973a8a20d7dd91f2c SHA512 776392694ff9802b74e90c5ac01d2f74da9069840c73b24ad6b7f6ffa4c912acd14a4ef8f390fd74acd48e01b0364ac69faf47027725c41775685b03032732a6
-DIST translate-3.19.6.gh.tar.gz 1327150 BLAKE2B a1337276a2a15a7d522e86def20df4137fec8f566df8ca1ec945b12e627a4ebf78aaace4266ef1ef00dca5ac30b3767dea0a1dcd79d3fe8bb8b5cf74dcff1117 SHA512 c21c563e530fe3550c1e5d97f30cb861f47bcde867547a07aaa992fe8721ad20fa18a2a2227fccd2b458cf14a2788137176a1eff5b11f4cfbc4f5cbdfdfc7729
-DIST translate-3.19.7.gh.tar.gz 1328643 BLAKE2B e0806de1ecfcc7b3d362663d28b1093b5ab34e097a01d5a70c94174df32e3b469cc536e494afc68e59def8fe67b1e35330a63f5946c9ccaafec89ceb8b472fbe SHA512 f280f832e49e403f25e6a2a9236c5f4ed66cc129b2bf6be6a521b477ec0dce27d2315ecb9383a695932121bec39ff5c10b60e97911de5e6ba810bcc249e7f875
-DIST translate-3.19.8.gh.tar.gz 1350675 BLAKE2B f73cca746d3486e5e1ad4b4d42dc9b5fe6fd72f8ce54bba02b6e8c5a92c48d5d7ce954ac0a30466ec6274f6f29ccd73340344c664eaeb1d19770253dc6264c99 SHA512 c10231dcad6ba81651fd1a3d53ad40cd18a2b38425c643967bff66118fe6ee01e4b6feed68200afca14bc27e1b22db0c68ef9768429621431b67cbd172469dfb
-DIST translate-3.19.9.gh.tar.gz 1349891 BLAKE2B 208c516d9c69faaa6fd19a4c04264ba3fc64c33c0cd6000b639ca13201dc52250d1203531260f952efd1fef87eae3600e5adc9826ef10319c3c3683f70486914 SHA512 10389b6ec7664a7d27cf87cef2b5857d79234ad2a3df51ce7853eb70f8872f9fac6ac54799ed5058d935b805bf5d3f82cdf86ae7b9f07419e5cca35b956b1673
diff --git a/dev-python/translate-toolkit/translate-toolkit-3.19.10.ebuild b/dev-python/translate-toolkit/translate-toolkit-3.19.10.ebuild
index cbff25f37f63..8b94ebd95d9f 100644
--- a/dev-python/translate-toolkit/translate-toolkit-3.19.10.ebuild
+++ b/dev-python/translate-toolkit/translate-toolkit-3.19.10.ebuild
@@ -23,7 +23,7 @@ S="${WORKDIR}"/${MY_P}
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 ~x86"
IUSE="+html +ical +ini +subtitles +yaml"
RDEPEND="
diff --git a/dev-python/translate-toolkit/translate-toolkit-3.19.6.ebuild b/dev-python/translate-toolkit/translate-toolkit-3.19.6.ebuild
deleted file mode 100644
index b1a59ff570f4..000000000000
--- a/dev-python/translate-toolkit/translate-toolkit-3.19.6.ebuild
+++ /dev/null
@@ -1,130 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-PYTHON_REQ_USE="sqlite"
-
-inherit distutils-r1
-
-MY_P=translate-${PV}
-DESCRIPTION="Toolkit to convert between many translation formats"
-HOMEPAGE="
- https://github.com/translate/translate/
- https://pypi.org/project/translate-toolkit/
-"
-SRC_URI="
- https://github.com/translate/translate/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S="${WORKDIR}"/${MY_P}
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~x86"
-IUSE="+html +ical +ini +subtitles +yaml"
-
-RDEPEND="
- app-text/iso-codes
- >=dev-python/chardet-3.0.4[${PYTHON_USEDEP}]
- dev-python/cheroot[${PYTHON_USEDEP}]
- >=dev-python/levenshtein-0.12.0[${PYTHON_USEDEP}]
- >=dev-python/lxml-5.2.0[${PYTHON_USEDEP}]
- >=dev-python/mistletoe-1.1.0[${PYTHON_USEDEP}]
- >=dev-python/pyparsing-3[${PYTHON_USEDEP}]
- dev-python/ruamel-yaml[${PYTHON_USEDEP}]
- dev-python/tomlkit[${PYTHON_USEDEP}]
- >=dev-python/unicode-segmentation-rs-0.2.0[${PYTHON_USEDEP}]
- >=dev-python/wcwidth-0.2.14[${PYTHON_USEDEP}]
- sys-devel/gettext
- html? ( dev-python/utidylib[${PYTHON_USEDEP}] )
- ical? ( dev-python/vobject[${PYTHON_USEDEP}] )
- ini? ( >=dev-python/iniparse-0.5[${PYTHON_USEDEP}] )
- subtitles? ( media-video/gaupol[${PYTHON_USEDEP}] )
- yaml? ( dev-python/pyyaml[${PYTHON_USEDEP}] )
-"
-# Technically, the test suite also has undeclared dependency
-# on dev-python/snapshottest but all the tests using it are broken
-# anyway, so we skip them.
-BDEPEND="
- test? (
- dev-python/phply[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # strip unnecessary pins
- sed -i -e 's:,<[0-9.]*::' pyproject.toml || die
-}
-
-src_test() {
- # unfortunately, this bad quality package doesn't support XDG_DATA_DIRS
- # correctly, so we need to reassemble all data files in a single directory
- local -x XDG_DATA_HOME=${T}/share
- cp -r translate/share "${T}/" || die
- cp -r "${ESYSROOT}"/usr/share/gaupol "${XDG_DATA_HOME}"/ || die
-
- distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Fails with network-sandbox (and even with it off but w/ softer fail)
- 'tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff'
- 'tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff'
- # all tests based on snapshottest are broken and I'm too tired
- # to figure this out
- tests/translate/tools/test_pocount.py::test_{cases,output}
- tests/translate/tools/test_junitmsgfmt.py::test_output
- )
- local EPYTEST_IGNORE=(
- # unpackaged fluent.*
- tests/translate/storage/test_fluent.py
- tests/translate/convert/test_fluent2po.py
- # changes directory and does not change it back, sigh
- tests/odf_xliff/test_odf_xliff.py
- )
-
- if ! has_version "dev-python/iniparse[${PYTHON_USEDEP}]"; then
- EPYTEST_IGNORE+=(
- translate/convert/test_ini2po.py
- translate/convert/test_po2ini.py
- )
- fi
-
- if ! has_version "media-video/gaupol[${PYTHON_USEDEP}]"; then
- EPYTEST_IGNORE+=(
- translate/storage/test_subtitles.py
- )
- fi
-
- epytest
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- insinto /usr
- doins -r translate/share
-
- if ! use html; then
- rm "${ED}"/usr/bin/{html2po,po2html} || die
- fi
- if ! use ical; then
- rm "${ED}"/usr/bin/{ical2po,po2ical} || die
- fi
- if ! use ini; then
- rm "${ED}"/usr/bin/{ini2po,po2ini} || die
- fi
- if ! use subtitles; then
- rm "${ED}"/usr/bin/{sub2po,po2sub} || die
- fi
-}
diff --git a/dev-python/translate-toolkit/translate-toolkit-3.19.7.ebuild b/dev-python/translate-toolkit/translate-toolkit-3.19.7.ebuild
deleted file mode 100644
index 187a3ce89ab5..000000000000
--- a/dev-python/translate-toolkit/translate-toolkit-3.19.7.ebuild
+++ /dev/null
@@ -1,130 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-PYTHON_REQ_USE="sqlite"
-
-inherit distutils-r1
-
-MY_P=translate-${PV}
-DESCRIPTION="Toolkit to convert between many translation formats"
-HOMEPAGE="
- https://github.com/translate/translate/
- https://pypi.org/project/translate-toolkit/
-"
-SRC_URI="
- https://github.com/translate/translate/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S="${WORKDIR}"/${MY_P}
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="+html +ical +ini +subtitles +yaml"
-
-RDEPEND="
- app-text/iso-codes
- >=dev-python/chardet-3.0.4[${PYTHON_USEDEP}]
- dev-python/cheroot[${PYTHON_USEDEP}]
- >=dev-python/levenshtein-0.12.0[${PYTHON_USEDEP}]
- >=dev-python/lxml-5.2.0[${PYTHON_USEDEP}]
- >=dev-python/mistletoe-1.1.0[${PYTHON_USEDEP}]
- >=dev-python/pyparsing-3[${PYTHON_USEDEP}]
- dev-python/ruamel-yaml[${PYTHON_USEDEP}]
- dev-python/tomlkit[${PYTHON_USEDEP}]
- >=dev-python/unicode-segmentation-rs-0.2.0[${PYTHON_USEDEP}]
- >=dev-python/wcwidth-0.2.14[${PYTHON_USEDEP}]
- sys-devel/gettext
- html? ( dev-python/utidylib[${PYTHON_USEDEP}] )
- ical? ( dev-python/vobject[${PYTHON_USEDEP}] )
- ini? ( >=dev-python/iniparse-0.5[${PYTHON_USEDEP}] )
- subtitles? ( media-video/gaupol[${PYTHON_USEDEP}] )
- yaml? ( dev-python/pyyaml[${PYTHON_USEDEP}] )
-"
-# Technically, the test suite also has undeclared dependency
-# on dev-python/snapshottest but all the tests using it are broken
-# anyway, so we skip them.
-BDEPEND="
- test? (
- dev-python/phply[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # strip unnecessary pins
- sed -i -e 's:,<[0-9.]*::' pyproject.toml || die
-}
-
-src_test() {
- # unfortunately, this bad quality package doesn't support XDG_DATA_DIRS
- # correctly, so we need to reassemble all data files in a single directory
- local -x XDG_DATA_HOME=${T}/share
- cp -r translate/share "${T}/" || die
- cp -r "${ESYSROOT}"/usr/share/gaupol "${XDG_DATA_HOME}"/ || die
-
- distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Fails with network-sandbox (and even with it off but w/ softer fail)
- 'tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff'
- 'tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff'
- # all tests based on snapshottest are broken and I'm too tired
- # to figure this out
- tests/translate/tools/test_pocount.py::test_{cases,output}
- tests/translate/tools/test_junitmsgfmt.py::test_output
- )
- local EPYTEST_IGNORE=(
- # unpackaged fluent.*
- tests/translate/storage/test_fluent.py
- tests/translate/convert/test_fluent2po.py
- # changes directory and does not change it back, sigh
- tests/odf_xliff/test_odf_xliff.py
- )
-
- if ! has_version "dev-python/iniparse[${PYTHON_USEDEP}]"; then
- EPYTEST_IGNORE+=(
- translate/convert/test_ini2po.py
- translate/convert/test_po2ini.py
- )
- fi
-
- if ! has_version "media-video/gaupol[${PYTHON_USEDEP}]"; then
- EPYTEST_IGNORE+=(
- translate/storage/test_subtitles.py
- )
- fi
-
- epytest
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- insinto /usr
- doins -r translate/share
-
- if ! use html; then
- rm "${ED}"/usr/bin/{html2po,po2html} || die
- fi
- if ! use ical; then
- rm "${ED}"/usr/bin/{ical2po,po2ical} || die
- fi
- if ! use ini; then
- rm "${ED}"/usr/bin/{ini2po,po2ini} || die
- fi
- if ! use subtitles; then
- rm "${ED}"/usr/bin/{sub2po,po2sub} || die
- fi
-}
diff --git a/dev-python/translate-toolkit/translate-toolkit-3.19.8.ebuild b/dev-python/translate-toolkit/translate-toolkit-3.19.8.ebuild
deleted file mode 100644
index 187a3ce89ab5..000000000000
--- a/dev-python/translate-toolkit/translate-toolkit-3.19.8.ebuild
+++ /dev/null
@@ -1,130 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-PYTHON_REQ_USE="sqlite"
-
-inherit distutils-r1
-
-MY_P=translate-${PV}
-DESCRIPTION="Toolkit to convert between many translation formats"
-HOMEPAGE="
- https://github.com/translate/translate/
- https://pypi.org/project/translate-toolkit/
-"
-SRC_URI="
- https://github.com/translate/translate/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S="${WORKDIR}"/${MY_P}
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="+html +ical +ini +subtitles +yaml"
-
-RDEPEND="
- app-text/iso-codes
- >=dev-python/chardet-3.0.4[${PYTHON_USEDEP}]
- dev-python/cheroot[${PYTHON_USEDEP}]
- >=dev-python/levenshtein-0.12.0[${PYTHON_USEDEP}]
- >=dev-python/lxml-5.2.0[${PYTHON_USEDEP}]
- >=dev-python/mistletoe-1.1.0[${PYTHON_USEDEP}]
- >=dev-python/pyparsing-3[${PYTHON_USEDEP}]
- dev-python/ruamel-yaml[${PYTHON_USEDEP}]
- dev-python/tomlkit[${PYTHON_USEDEP}]
- >=dev-python/unicode-segmentation-rs-0.2.0[${PYTHON_USEDEP}]
- >=dev-python/wcwidth-0.2.14[${PYTHON_USEDEP}]
- sys-devel/gettext
- html? ( dev-python/utidylib[${PYTHON_USEDEP}] )
- ical? ( dev-python/vobject[${PYTHON_USEDEP}] )
- ini? ( >=dev-python/iniparse-0.5[${PYTHON_USEDEP}] )
- subtitles? ( media-video/gaupol[${PYTHON_USEDEP}] )
- yaml? ( dev-python/pyyaml[${PYTHON_USEDEP}] )
-"
-# Technically, the test suite also has undeclared dependency
-# on dev-python/snapshottest but all the tests using it are broken
-# anyway, so we skip them.
-BDEPEND="
- test? (
- dev-python/phply[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # strip unnecessary pins
- sed -i -e 's:,<[0-9.]*::' pyproject.toml || die
-}
-
-src_test() {
- # unfortunately, this bad quality package doesn't support XDG_DATA_DIRS
- # correctly, so we need to reassemble all data files in a single directory
- local -x XDG_DATA_HOME=${T}/share
- cp -r translate/share "${T}/" || die
- cp -r "${ESYSROOT}"/usr/share/gaupol "${XDG_DATA_HOME}"/ || die
-
- distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Fails with network-sandbox (and even with it off but w/ softer fail)
- 'tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff'
- 'tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff'
- # all tests based on snapshottest are broken and I'm too tired
- # to figure this out
- tests/translate/tools/test_pocount.py::test_{cases,output}
- tests/translate/tools/test_junitmsgfmt.py::test_output
- )
- local EPYTEST_IGNORE=(
- # unpackaged fluent.*
- tests/translate/storage/test_fluent.py
- tests/translate/convert/test_fluent2po.py
- # changes directory and does not change it back, sigh
- tests/odf_xliff/test_odf_xliff.py
- )
-
- if ! has_version "dev-python/iniparse[${PYTHON_USEDEP}]"; then
- EPYTEST_IGNORE+=(
- translate/convert/test_ini2po.py
- translate/convert/test_po2ini.py
- )
- fi
-
- if ! has_version "media-video/gaupol[${PYTHON_USEDEP}]"; then
- EPYTEST_IGNORE+=(
- translate/storage/test_subtitles.py
- )
- fi
-
- epytest
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- insinto /usr
- doins -r translate/share
-
- if ! use html; then
- rm "${ED}"/usr/bin/{html2po,po2html} || die
- fi
- if ! use ical; then
- rm "${ED}"/usr/bin/{ical2po,po2ical} || die
- fi
- if ! use ini; then
- rm "${ED}"/usr/bin/{ini2po,po2ini} || die
- fi
- if ! use subtitles; then
- rm "${ED}"/usr/bin/{sub2po,po2sub} || die
- fi
-}
diff --git a/dev-python/translate-toolkit/translate-toolkit-3.19.9.ebuild b/dev-python/translate-toolkit/translate-toolkit-3.19.9.ebuild
deleted file mode 100644
index cbff25f37f63..000000000000
--- a/dev-python/translate-toolkit/translate-toolkit-3.19.9.ebuild
+++ /dev/null
@@ -1,131 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-PYTHON_REQ_USE="sqlite"
-
-inherit distutils-r1
-
-MY_P=translate-${PV}
-DESCRIPTION="Toolkit to convert between many translation formats"
-HOMEPAGE="
- https://github.com/translate/translate/
- https://pypi.org/project/translate-toolkit/
-"
-SRC_URI="
- https://github.com/translate/translate/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S="${WORKDIR}"/${MY_P}
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="+html +ical +ini +subtitles +yaml"
-
-RDEPEND="
- app-text/iso-codes
- >=dev-python/chardet-3.0.4[${PYTHON_USEDEP}]
- dev-python/cheroot[${PYTHON_USEDEP}]
- >=dev-python/levenshtein-0.12.0[${PYTHON_USEDEP}]
- >=dev-python/lxml-5.2.0[${PYTHON_USEDEP}]
- >=dev-python/mistletoe-1.1.0[${PYTHON_USEDEP}]
- >=dev-python/pyparsing-3[${PYTHON_USEDEP}]
- dev-python/ruamel-yaml[${PYTHON_USEDEP}]
- dev-python/tomlkit[${PYTHON_USEDEP}]
- >=dev-python/unicode-segmentation-rs-0.2.0[${PYTHON_USEDEP}]
- >=dev-python/wcwidth-0.2.14[${PYTHON_USEDEP}]
- sys-devel/gettext
- html? ( dev-python/utidylib[${PYTHON_USEDEP}] )
- ical? ( dev-python/vobject[${PYTHON_USEDEP}] )
- ini? ( >=dev-python/iniparse-0.5[${PYTHON_USEDEP}] )
- subtitles? ( media-video/gaupol[${PYTHON_USEDEP}] )
- yaml? ( dev-python/pyyaml[${PYTHON_USEDEP}] )
-"
-# Technically, the test suite also has undeclared dependency
-# on dev-python/snapshottest but all the tests using it are broken
-# anyway, so we skip them.
-BDEPEND="
- test? (
- dev-python/phply[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # strip unnecessary pins
- sed -i -e 's:,<[0-9.]*::' pyproject.toml || die
-}
-
-src_test() {
- # unfortunately, this bad quality package doesn't support XDG_DATA_DIRS
- # correctly, so we need to reassemble all data files in a single directory
- local -x XDG_DATA_HOME=${T}/share
- cp -r translate/share "${T}/" || die
- cp -r "${ESYSROOT}"/usr/share/gaupol "${XDG_DATA_HOME}"/ || die
-
- distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Fails with network-sandbox (and even with it off but w/ softer fail)
- 'tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff'
- 'tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff'
- # all tests based on snapshottest are broken and I'm too tired
- # to figure this out
- tests/translate/tools/test_pocount.py::test_{cases,output}
- tests/translate/tools/test_junitmsgfmt.py::test_output
- tests/cli/test_cli_snapshots.py
- )
- local EPYTEST_IGNORE=(
- # unpackaged fluent.*
- tests/translate/storage/test_fluent.py
- tests/translate/convert/test_fluent2po.py
- # changes directory and does not change it back, sigh
- tests/odf_xliff/test_odf_xliff.py
- )
-
- if ! has_version "dev-python/iniparse[${PYTHON_USEDEP}]"; then
- EPYTEST_IGNORE+=(
- translate/convert/test_ini2po.py
- translate/convert/test_po2ini.py
- )
- fi
-
- if ! has_version "media-video/gaupol[${PYTHON_USEDEP}]"; then
- EPYTEST_IGNORE+=(
- translate/storage/test_subtitles.py
- )
- fi
-
- epytest
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- insinto /usr
- doins -r translate/share
-
- if ! use html; then
- rm "${ED}"/usr/bin/{html2po,po2html} || die
- fi
- if ! use ical; then
- rm "${ED}"/usr/bin/{ical2po,po2ical} || die
- fi
- if ! use ini; then
- rm "${ED}"/usr/bin/{ini2po,po2ini} || die
- fi
- if ! use subtitles; then
- rm "${ED}"/usr/bin/{sub2po,po2sub} || die
- fi
-}
diff --git a/dev-python/trimesh/Manifest b/dev-python/trimesh/Manifest
index 090170b3e45f..7efc8ba3dfb9 100644
--- a/dev-python/trimesh/Manifest
+++ b/dev-python/trimesh/Manifest
@@ -1,3 +1 @@
-DIST trimesh-4.11.5.gh.tar.gz 13711494 BLAKE2B 4a03edebf9be2bb6d6fb06d6085d8d144175279ec5d876aae79d449aba93ded2410167a3b6f3692ad0ad1da96f62d2c3333beb951b0ef17586a7def8a0b4a4a3 SHA512 da32e900ab14b0abf86703db9caa7475cb906035c9b5f096cf44bb40a24d3d65dd53e2e028e3f78e14c3dd7a91a357b54c4fa802fb09ff1688022b7dd8770f14
-DIST trimesh-4.12.1.gh.tar.gz 13716880 BLAKE2B 81b32c95976169413e76e36ed03873b7ae9b67d4c2d298a660dc483557b5299c6cb23ae8d1faf8065ac5b4f47bc0a58cdd75c497514068276f00ffc00f99e4f6 SHA512 7511dfc3e1d52ac452c4b4225a9ada2c176951e18ee176b4d47236f782b4d4760121a4e3b42063eb499e7df3f046102554f1fc3684c93bc58669ab6bdc6f0b62
DIST trimesh-4.12.2.gh.tar.gz 13717637 BLAKE2B a0f04335d7f7335b2044bda841b06a5dcfcb1f26c569f84c57049c4f2f444595e4ab27021c0c6d3013f100248897a3df75a53cee806975fa6d5ec7914f77315c SHA512 4f8cfee0435c16b932740f4900f1ef75046c06bb64a20fe49c2a858aba7392009d6dcdeab80a08392e185e2f2890198078213e984563bfebd059b339852fb18d
diff --git a/dev-python/trimesh/trimesh-4.11.5.ebuild b/dev-python/trimesh/trimesh-4.11.5.ebuild
deleted file mode 100644
index d7fa22e9567b..000000000000
--- a/dev-python/trimesh/trimesh-4.11.5.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-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_DESELECT=(
- # requires manifold3d
- tests/test_boolean.py::test_multiple_difference
- # timing nonsense
- tests/test_bounds.py::BoundsTest::test_obb_mesh_large
-)
-EPYTEST_IGNORE=(
- # require pyinstrument
- tests/test_sweep.py
-)
-
-EPYTEST_PLUGINS=()
-: ${EPYTEST_TIMEOUT:=300}
-EPYTEST_RERUNS=3
-EPYTEST_XDIST=1
-
-distutils_enable_tests pytest
-
-python_test() {
- # We run tests in parallel, so avoid having n^2 threads in lapack
- # tests.
- local -x BLIS_NUM_THREADS=1
- local -x MKL_NUM_THREADS=1
- local -x OMP_NUM_THREADS=1
- local -x OPENBLAS_NUM_THREADS=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.12.1.ebuild b/dev-python/trimesh/trimesh-4.12.1.ebuild
deleted file mode 100644
index ea3ca59911d8..000000000000
--- a/dev-python/trimesh/trimesh-4.12.1.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-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_PLUGINS=()
-: ${EPYTEST_TIMEOUT:=300}
-EPYTEST_RERUNS=3
-EPYTEST_XDIST=1
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # requires manifold3d
- tests/test_boolean.py::test_multiple_difference
- # timing nonsense
- tests/test_bounds.py::BoundsTest::test_obb_mesh_large
-)
-EPYTEST_IGNORE=(
- # require pyinstrument
- tests/test_sweep.py
-)
-
-python_test() {
- # We run tests in parallel, so avoid having n^2 threads in lapack
- # tests.
- local -x BLIS_NUM_THREADS=1
- local -x MKL_NUM_THREADS=1
- local -x OMP_NUM_THREADS=1
- local -x OPENBLAS_NUM_THREADS=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/twisted/twisted-26.4.0.ebuild b/dev-python/twisted/twisted-26.4.0.ebuild
index fa55e2bbc140..8f4db1a83746 100644
--- a/dev-python/twisted/twisted-26.4.0.ebuild
+++ b/dev-python/twisted/twisted-26.4.0.ebuild
@@ -24,7 +24,7 @@ SRC_URI+="
LICENSE="MIT"
SLOT="0"
if [[ ${PV} != *_rc* ]]; then
- 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"
fi
IUSE="conch http2 serial ssl test websockets"
RESTRICT="!test? ( test )"
diff --git a/dev-python/txredisapi/Manifest b/dev-python/txredisapi/Manifest
index 19463bbbbc12..d70bc17c00f2 100644
--- a/dev-python/txredisapi/Manifest
+++ b/dev-python/txredisapi/Manifest
@@ -1,2 +1 @@
-DIST txredisapi-1.4.11.gh.tar.gz 54559 BLAKE2B acc18f1db84043869ac1e52393654219f20c72e1492773015e4eac2ffc6289d3267852e3cf928e87218bae79118610df488cfe7f543ba7e531f90e96fc3dc79d SHA512 f48f9f702136b7b37d9841692f32cf917ec9577cb52b76240e27723b2e53e7a70ecdc4d28ccd7daa22e7ab61214edc4d58856f6c4c17e35939166ad0a553491e
DIST txredisapi-1.4.12.gh.tar.gz 55552 BLAKE2B 48f5060a75464873d464ff9900dc539ffd470867ef71f2c35863caada3f957dec388d6f340b01fd47026bf954e46dbc162103e3d5c4ff5693a0264fb8d7cdccc SHA512 71903954b3d3cdc82e020a094538ccae5dfc2676b042dd115b6e8a1e00c33ddb07cf1d2a1df81db563165ea327c53e1a22ae4acb09d6717612154fbc5f74e450
diff --git a/dev-python/txredisapi/files/txredisapi-1.4.11-multiple-colons.patch b/dev-python/txredisapi/files/txredisapi-1.4.11-multiple-colons.patch
deleted file mode 100644
index 1dd05fd998d6..000000000000
--- a/dev-python/txredisapi/files/txredisapi-1.4.11-multiple-colons.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 3c8f36c263b7b6574e69422b50c9a900efc5ef7f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20Van=C4=9Bk?= <arkamar@gentoo.org>
-Date: Wed, 8 Oct 2025 15:33:27 +0200
-Subject: [PATCH] Fix INFO command parsing for lines with multiple colons
-
-This commit resolves an issue with parsing the INFO command output when
-lines contain multiple `:` characters, such as those with IPv6
-addresses:
-
- listener0:name=tcp,bind=127.0.0.1,bind=::1,port=6379
-
-Such a line can appear there since the Redis version 7.2.0. Listneres
-info was introdcued commit 0c4d2fcc8eff ("Add listeners info string for
-'INFO' command").
-
-The fix is simple, the split() method in _process_info() is restricted
-to perform the split only on the first `:` character.
-
-Fixes: https://github.com/IlyaSkriblovsky/txredisapi/issues/151
-Signed-off-by: Petr Vaněk <arkamar@gentoo.org>
-Upstream-PR: https://github.com/IlyaSkriblovsky/txredisapi/pull/157
-
-diff --git a/txredisapi.py b/txredisapi.py
-index b02a78e..2f1875d 100644
---- a/txredisapi.py
-+++ b/txredisapi.py
-@@ -1685,7 +1685,7 @@ def _process_info(self, r):
- ':' in x and not x.startswith('#')]
- d = {}
- for kv in keypairs:
-- k, v = kv.split(':')
-+ k, v = kv.split(':', 1)
- d[k] = v
- return d
-
diff --git a/dev-python/txredisapi/txredisapi-1.4.11-r1.ebuild b/dev-python/txredisapi/txredisapi-1.4.11-r1.ebuild
deleted file mode 100644
index 9970d25eed73..000000000000
--- a/dev-python/txredisapi/txredisapi-1.4.11-r1.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 2023-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Non-blocking redis client for python"
-HOMEPAGE="
- https://github.com/IlyaSkriblovsky/txredisapi/
- https://pypi.org/project/txredisapi/
-"
-# Github is used because PyPI archive does not contain tests,
-# see https://github.com/IlyaSkriblovsky/txredisapi/issues/149
-SRC_URI="
- https://github.com/IlyaSkriblovsky/${PN}/archive/refs/tags/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/twisted[${PYTHON_USEDEP},ssl(-)]
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- dev-db/redis
- dev-python/hiredis[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-multiple-colons.patch
-)
-
-src_prepare() {
- sed -i "/redis_sock =/s:/tmp:${T}:" tests/test_unix_connection.py || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- # paralellized tests with -j parameter fail
- "${EPYTHON}" -m twisted.trial tests || die "tests failed with ${EPYTHON}"
-}
-
-src_test() {
- local redis_pid="${T}"/redis.pid
- local redis_port=6379
-
- if has_version ">=dev-db/redis-7"; then
- local extra_conf="
- enable-debug-command yes
- enable-module-command yes
- "
- fi
-
- # Spawn Redis itself for testing purposes
- einfo "Spawning Redis"
- einfo "NOTE: Port ${redis_port} must be free"
- "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server"
- daemonize yes
- pidfile ${redis_pid}
- port ${redis_port}
- bind 127.0.0.1 ::1
- unixsocket ${T}/redis.sock
- unixsocketperm 700
- ${extra_conf}
- EOF
-
- # Run the tests
- distutils-r1_src_test
-
- # Clean up afterwards
- kill "$(<"${redis_pid}")" || die
-}
-
-pkg_postinst() {
- optfeature "Use hiredis protocol parser" dev-python/hiredis
-}
diff --git a/dev-python/txredisapi/txredisapi-1.4.12.ebuild b/dev-python/txredisapi/txredisapi-1.4.12.ebuild
index db10669353ac..079c1f95df7a 100644
--- a/dev-python/txredisapi/txredisapi-1.4.12.ebuild
+++ b/dev-python/txredisapi/txredisapi-1.4.12.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64"
+KEYWORDS="amd64 ~arm64 ~ppc64"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/typeguard/Manifest b/dev-python/typeguard/Manifest
index 0522a20a9a6c..8608630ece44 100644
--- a/dev-python/typeguard/Manifest
+++ b/dev-python/typeguard/Manifest
@@ -1,4 +1,2 @@
-DIST typeguard-4.5.1.tar.gz 80121 BLAKE2B 4156be34863fa4d14ef1c928059f3a6d5ffe5e508d09fedaa729c668fa9b3e8d3a6357082308c761440d4ebb55bec396c333b1c0b76ae23f2cb9396e5dd1e67d SHA512 6f9dea4b0eab7f9480d93d021673d61292bcaf4c2c688d7e00a3ce9948f18d230d4707c532ea40e588bb883fc5b60c59b385276e2e8963c31eb696f3891d3439
-DIST typeguard-4.5.1.tar.gz.provenance 9482 BLAKE2B 18feded8f2be9faffe6c23eba7b7bbc5346ea39c9b49bd236f0509ceaec975cc51ecb6268b1e182ea0bc706222bc899b0be1f449dbe527ec83d43fe749e755ee SHA512 48b8a6155eb34939678ff867c967909456aa39ec1d1babb02327d837887afd9e9609b6681b7fa62350560ab57a3477112798515ba5fd4f7585d38fce74364469
DIST typeguard-4.5.2.tar.gz 80240 BLAKE2B c01e45060bc5a89e6545e7f627e3889580f712025affbe3022d6338bfc6b34f0cad0da5b20e7a8898606a9a1b7f189d2b90432e576c58f73329959a0b48961d1 SHA512 29f8ef17f148489656e7dc16ab89a2bcc890c43d54834c095ec238649028cfeb585238935cbbd2bed5311f530a1a9c4341a075466a605c471d6982aeb1dc5488
DIST typeguard-4.5.2.tar.gz.provenance 9478 BLAKE2B cdbf5265c47a4373f5fa11257eae249928a7f52ae1c4cef835bb9789a81874b91c46f653c89dc96276b3984aa9a076566d3a3f706cadfe808e00c8573a95d322 SHA512 df64d46286633d1b538a05f9b6b4042b9d5219e2f55938e49e31a39619200f4ce2d48776fa1758d112b0cefa35521aa2b9094e2ebc47de3ecf47514642f89e4e
diff --git a/dev-python/typeguard/typeguard-4.5.1.ebuild b/dev-python/typeguard/typeguard-4.5.1.ebuild
deleted file mode 100644
index 875438033cd4..000000000000
--- a/dev-python/typeguard/typeguard-4.5.1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2021-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_VERIFY_REPO=https://github.com/agronholm/typeguard
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Run-time type checker for Python"
-HOMEPAGE="
- https://pypi.org/project/typeguard/
- https://github.com/agronholm/typeguard/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-RDEPEND="
- >=dev-python/typing-extensions-4.14.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools-scm-6.4[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_IGNORE=(
- # mypy changes results from version to version
- tests/mypy
- )
-
- local -x PYTHONDONTWRITEBYTECODE=
- # the XFAIL test pass due to some package being installed
- epytest -o xfail_strict=False -p typeguard
-}
diff --git a/dev-python/typeguard/typeguard-4.5.2.ebuild b/dev-python/typeguard/typeguard-4.5.2.ebuild
index fc2eff28320f..875438033cd4 100644
--- a/dev-python/typeguard/typeguard-4.5.2.ebuild
+++ b/dev-python/typeguard/typeguard-4.5.2.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"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
RDEPEND="
>=dev-python/typing-extensions-4.14.0[${PYTHON_USEDEP}]
diff --git a/dev-python/typer/Manifest b/dev-python/typer/Manifest
index 4e20effb8a77..79d5f5fa5212 100644
--- a/dev-python/typer/Manifest
+++ b/dev-python/typer/Manifest
@@ -1,4 +1,2 @@
-DIST typer-0.24.2.tar.gz 119849 BLAKE2B baa49b38a5d813278cf1cd98b4a354582902e192dd6265b0905f473c998eeccf0a9f6b4fc07a700ab73eb75d1c37f36122c6b1730778c3a18f15ae6cf2dd0b50 SHA512 4e282e616c8ea57665493bb15bbe3e2a6388f974b602c879a16c14c7c07e55960d9808f4af50b78e79149bb3cb9dbd26da397078ebef8264ec7893ba74034014
DIST typer-0.25.1.tar.gz 122276 BLAKE2B 08089d17ca0c038806d0dcc5795d5f88cd0e0163697288b5ae003bdfcaf95537ff465874f1bb5510fe84e0ae1f7ea9c68ebe08639253a0575c220b26297abeb2 SHA512 26e9927a82d8e17e8eae370b7235a7481b6d875c77c5600f8390c22a5274b3a0e3abe14d1c2eae93850613bf685555afe67a2e495687328615c65fc8d27bcb7b
-DIST typer-0.26.6.tar.gz 201595 BLAKE2B 8876972ad0a676ddca9f67c243d820e36dc5c147ece11a797914dd64abf413f0c51f57d7695009b2683c3415010b2ab10c33f36bd853f277f03abee6d0bc7632 SHA512 35acd70290b7318f86f51d7b3a31a12bea719df3ec684f3099cd75ef49eff28700a3f40b1f92bcef855f5087f68a7e7cd367a7ae660850814085b7a7bb2821bc
DIST typer-0.26.7.tar.gz 201709 BLAKE2B 7c596ef29150726a82261b9f19374418a5380e3de6d8d43cb10299bf6f3afe3c428e92bdd3923ed0485819e0b68d5f0e93df567ef193294c6734dff2a9907186 SHA512 6efa29c2fc45d1c28acd6cbbe49e63784a51c26c833dff20e55281f45b2282838d5ebd7939693ffcc185a9a95ec00485c749183d19d6b33cd41eb402b314bbcc
diff --git a/dev-python/typer/typer-0.24.2.ebuild b/dev-python/typer/typer-0.24.2.ebuild
deleted file mode 100644
index ef16cd680351..000000000000
--- a/dev-python/typer/typer-0.24.2.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 2025-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pdm-backend
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 shell-completion pypi
-
-DESCRIPTION="Build great CLIs. Easy to code. Based on Python type hints"
-HOMEPAGE="
- https://typer.tiangolo.com/
- https://github.com/fastapi/typer/
- https://pypi.org/project/typer/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 x86"
-IUSE="cli"
-
-RDEPEND="
- >=dev-python/annotated-doc-0.0.2[${PYTHON_USEDEP}]
- >=dev-python/click-8.2.1[${PYTHON_USEDEP}]
- >=dev-python/rich-12.3.0[${PYTHON_USEDEP}]
- >=dev-python/shellingham-1.3.0[${PYTHON_USEDEP}]
- cli? ( !dev-lang/erlang )
-"
-BDEPEND="
- test? (
- dev-python/coverage[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- if ! use cli; then
- sed -i -e '/typer\.cli/d' pyproject.toml || die
- fi
-}
-
-python_test() {
- # See scripts/tests.sh
- local -x TERMINAL_WIDTH=3000
- local -x _TYPER_FORCE_DISABLE_TERMINAL=1
- local -x _TYPER_RUN_INSTALL_COMPLETION_TESTS=1
-
- epytest
-}
-
-python_install() {
- if use cli && [[ ! ${COMPLETIONS_INSTALLED} ]]; then
- local -x _TYPER_COMPLETE_TEST_DISABLE_SHELL_DETECTION=1
- newbashcomp - typer < <(typer --show-completion bash || die)
- newzshcomp - typer < <(typer --show-completion zsh || die)
- newfishcomp - typer < <(typer --show-completion fish || die)
- COMPLETIONS_INSTALLED=1
- fi
-
- distutils-r1_python_install
-}
diff --git a/dev-python/typer/typer-0.25.1.ebuild b/dev-python/typer/typer-0.25.1.ebuild
index 88fedb07f9fe..30fdb3f7d23d 100644
--- a/dev-python/typer/typer-0.25.1.ebuild
+++ b/dev-python/typer/typer-0.25.1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+KEYWORDS="amd64 ~arm arm64 x86"
IUSE="cli"
RDEPEND="
diff --git a/dev-python/typer/typer-0.26.6.ebuild b/dev-python/typer/typer-0.26.6.ebuild
deleted file mode 100644
index f875bee44d47..000000000000
--- a/dev-python/typer/typer-0.26.6.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 2025-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pdm-backend
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 shell-completion pypi
-
-DESCRIPTION="Build great CLIs. Easy to code. Based on Python type hints"
-HOMEPAGE="
- https://typer.tiangolo.com/
- https://github.com/fastapi/typer/
- https://pypi.org/project/typer/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-IUSE="cli"
-
-RDEPEND="
- >=dev-python/annotated-doc-0.0.2[${PYTHON_USEDEP}]
- >=dev-python/rich-13.8.0[${PYTHON_USEDEP}]
- >=dev-python/shellingham-1.3.0[${PYTHON_USEDEP}]
- cli? ( !dev-lang/erlang )
-"
-BDEPEND="
- test? (
- dev-python/coverage[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # LLM crap
- rm -r typer/.agents || die
- if ! use cli; then
- sed -i -e '/typer\.cli/d' pyproject.toml || die
- fi
-}
-
-python_test() {
- # See scripts/tests.sh
- local -x TERMINAL_WIDTH=3000
- local -x _TYPER_FORCE_DISABLE_TERMINAL=1
- local -x _TYPER_RUN_INSTALL_COMPLETION_TESTS=1
-
- # needed to import tests.util somewhere deep in tests
- local -x PYTHONPATH=${S}
-
- epytest
-}
-
-python_install() {
- if use cli && [[ ! ${COMPLETIONS_INSTALLED} ]]; then
- local -x _TYPER_COMPLETE_TEST_DISABLE_SHELL_DETECTION=1
- newbashcomp - typer < <(typer --show-completion bash || die)
- newzshcomp - typer < <(typer --show-completion zsh || die)
- newfishcomp - typer < <(typer --show-completion fish || die)
- COMPLETIONS_INSTALLED=1
- fi
-
- distutils-r1_python_install
-}
diff --git a/dev-python/types-docutils/Manifest b/dev-python/types-docutils/Manifest
index 006024e3c527..5aa4704c0eb1 100644
--- a/dev-python/types-docutils/Manifest
+++ b/dev-python/types-docutils/Manifest
@@ -1,3 +1 @@
-DIST types_docutils-0.22.3.20260408.tar.gz 57383 BLAKE2B 83a4923113df46e9e34dabd0c96ed9d890d76281cc8f19623d4c4ddce0059649b859bac063258de79a07cddf2c8873d82ae9b5e780a8fcbc687327c145705795 SHA512 006e13a701e06c86f41ae1e7da147a016e6f5262a0928bbb602b72b34a7a528ebb5e38713499a3f173ff0000ead60f3b5791b865e046980b62f94fc96159bfd9
-DIST types_docutils-0.22.3.20260508.tar.gz 57431 BLAKE2B 57e177b3456f67aa15064931c546a59c9adf1f768a2f06af0e94a89cae54c1056c91b3128766dd823e79cb123d5af1a4aae2030bf72f147f1415881a55e27c24 SHA512 1134279db54637bdc38a18d22898745ced91edc62b117e402f5b8f7a32d912dd84aeedb189727de7f558c72cb7aae299815d79b09768e068d7129a0fd23a094d
DIST types_docutils-0.22.3.20260518.tar.gz 57504 BLAKE2B 21d6dcc5006dcef7a8ef44a70837b84719f55f62997fc9ff92e1a039764f39244d3ddf6bdf91d37c16092e6a46427bef3d4312865ccee2dc0dbcf5bc6435ca51 SHA512 b6a6905a2483e7f3c0c52994689064b956efbce7854db72648861981531a93f0e230a84a5586d22ce44cda10a795595ffc75e5a54ea5ce3a8c9e4b567c4961ea
diff --git a/dev-python/types-docutils/types-docutils-0.22.3.20260408.ebuild b/dev-python/types-docutils/types-docutils-0.22.3.20260408.ebuild
deleted file mode 100644
index 55fe3d738c14..000000000000
--- a/dev-python/types-docutils/types-docutils-0.22.3.20260408.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 2022-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..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-docutils/types-docutils-0.22.3.20260508.ebuild b/dev-python/types-docutils/types-docutils-0.22.3.20260508.ebuild
deleted file mode 100644
index c92bb7bf56ff..000000000000
--- a/dev-python/types-docutils/types-docutils-0.22.3.20260508.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 2022-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..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-docutils/types-docutils-0.22.3.20260518.ebuild b/dev-python/types-docutils/types-docutils-0.22.3.20260518.ebuild
index c92bb7bf56ff..55fe3d738c14 100644
--- a/dev-python/types-docutils/types-docutils-0.22.3.20260518.ebuild
+++ b/dev-python/types-docutils/types-docutils-0.22.3.20260518.ebuild
@@ -13,4 +13,4 @@ HOMEPAGE="https://pypi.org/project/types-docutils/"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 x86"
diff --git a/dev-python/types-gdb/Manifest b/dev-python/types-gdb/Manifest
index 035b6666a265..cdf2adc12cd1 100644
--- a/dev-python/types-gdb/Manifest
+++ b/dev-python/types-gdb/Manifest
@@ -1,3 +1 @@
-DIST types_gdb-16.3.0.20260408.tar.gz 25606 BLAKE2B 6e2699b4d5a3e901d2267903cf0c9a85a64696b27eded54dd7f8f3852945b8e20f2bdbcf5a8e5b171e8fd2a574a8ae0522ad3d5b5a6dbdb4b2e94d741d4d0c6c SHA512 28e2f9cdfb796baac931a51a50824bf95c388d210ca3f02bd9ab47432f2d6a7f3ad413754d568dc7e74c7c8a566d17958293ee9a8df6f07a8602bf52a74ddd4f
-DIST types_gdb-16.3.0.20260508.tar.gz 25611 BLAKE2B 80a83065f83483202203d3983c645a86bab44b1b078f8e2612de04ff23f56869c07f1030aa6708d0ba48fbb3da75669c3bf9b5b222bcd7815b3781ebaa2ac647 SHA512 8102b8660b24eb17000ef3806288532b4c46fb78b7779a12dad161a9105ea45b90edf80664dc8a23a647eb40fa8d823aa74cb62264dd9c90969614a7ec54785e
DIST types_gdb-16.3.0.20260518.tar.gz 25677 BLAKE2B 4f4db2294ce28b29a7c4f49fb4e2b14cbec1e46f9a555308db70aca555441842549b80f4ec52c56f3602712985c422153152cefd456799b5ec6e23bb62151a65 SHA512 fa1b8370a7a2e05a48c849f9063d8654e94e5ee99dd10310a347fd185fbfb5b827a85efee0a1b0a379fb455746a56fbb09c22060e7bf419d4390e2d7514c39f1
diff --git a/dev-python/types-gdb/types-gdb-16.3.0.20260408.ebuild b/dev-python/types-gdb/types-gdb-16.3.0.20260408.ebuild
deleted file mode 100644
index ec6777edd3f7..000000000000
--- a/dev-python/types-gdb/types-gdb-16.3.0.20260408.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 2022-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..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/types-gdb/types-gdb-16.3.0.20260508.ebuild b/dev-python/types-gdb/types-gdb-16.3.0.20260508.ebuild
deleted file mode 100644
index 28150e73f252..000000000000
--- a/dev-python/types-gdb/types-gdb-16.3.0.20260508.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 2022-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..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/types-gdb/types-gdb-16.3.0.20260518.ebuild b/dev-python/types-gdb/types-gdb-16.3.0.20260518.ebuild
index 28150e73f252..ec6777edd3f7 100644
--- a/dev-python/types-gdb/types-gdb-16.3.0.20260518.ebuild
+++ b/dev-python/types-gdb/types-gdb-16.3.0.20260518.ebuild
@@ -13,4 +13,4 @@ HOMEPAGE="https://pypi.org/project/types-gdb/"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 x86"
diff --git a/dev-python/types-psutil/types-psutil-7.2.2.20260518.ebuild b/dev-python/types-psutil/types-psutil-7.2.2.20260518.ebuild
index e240c1b6afa5..29098b07458a 100644
--- a/dev-python/types-psutil/types-psutil-7.2.2.20260518.ebuild
+++ b/dev-python/types-psutil/types-psutil-7.2.2.20260518.ebuild
@@ -13,7 +13,7 @@ HOMEPAGE="https://pypi.org/project/types-psutil/"
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"
BDEPEND="
>=dev-python/setuptools-82.0.1[${PYTHON_USEDEP}]
diff --git a/dev-python/types-python-dateutil/Manifest b/dev-python/types-python-dateutil/Manifest
index ee37d2a786bc..e7e0bc0fc0da 100644
--- a/dev-python/types-python-dateutil/Manifest
+++ b/dev-python/types-python-dateutil/Manifest
@@ -1,2 +1 @@
-DIST types_python_dateutil-2.9.0.20260508.tar.gz 17033 BLAKE2B a46afbb5e7889e389b5b3a6af75696245cf35b1dd2db97437edc0a51fc5fb2077fde65be7ab8a403e94cbca8440fc2c0f7723bc1b12aeb9fe9de63217125f264 SHA512 45716b6ab87712b358b878f834f8f01c719c4785038911e6c8112ab69c1a02e3783bff0a55eb878d5349feb6f772fcefb0152d47fb6393b3aeea024ab5e60597
DIST types_python_dateutil-2.9.0.20260518.tar.gz 17082 BLAKE2B f6ef79697cb7a225c155753490433dcb831d31d580953d8c364662d94a3e250ff3d5f7a2c23ca592b1da8abd76a66e32a207f126feda7b356b460906bc1aab1e SHA512 e7d87b79f803b23048388c17761e6bba592ba557ae8166d225bd0428fd25c71a80e52dd8854461639407fb25714d961fc8b86e1860bce41123db45c851cc8c14
diff --git a/dev-python/types-setuptools/types-setuptools-82.0.0.20260518.ebuild b/dev-python/types-setuptools/types-setuptools-82.0.0.20260518.ebuild
index 9c559442de25..00271830f010 100644
--- a/dev-python/types-setuptools/types-setuptools-82.0.0.20260518.ebuild
+++ b/dev-python/types-setuptools/types-setuptools-82.0.0.20260518.ebuild
@@ -13,7 +13,7 @@ HOMEPAGE="https://pypi.org/project/types-setuptools/"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
BDEPEND="
>=dev-python/setuptools-82.0.1[${PYTHON_USEDEP}]
diff --git a/dev-python/tzlocal/Manifest b/dev-python/tzlocal/Manifest
index afad5f51113d..ddd93e036f73 100644
--- a/dev-python/tzlocal/Manifest
+++ b/dev-python/tzlocal/Manifest
@@ -1 +1,2 @@
DIST tzlocal-5.3.1.gh.tar.gz 26331 BLAKE2B d2f2f1981613fd148950bcfe5ab3797597c77342d0d848379562534a4fae2c9b9b0c98d6fb4cc1758d4b1dc6d6bda4d2f3ff9555d0bf0418c4cfa589fb720a12 SHA512 e72581649488e9771d314c7aea149367749866263df18baccb63c4fe369a863c392a8522c6be7987c32ff835dd11aae93b37028b0e7276dcf5c3d6e9a7b63ccc
+DIST tzlocal-5.4.gh.tar.gz 26438 BLAKE2B b5c20d1214ce878aa3a63f363e45c1ea81376015a501b60163fdb43f39304909564d3ce1c6b610726d1201c01627fd151eb330fde59bf4178d62c2abdad2e3eb SHA512 e8ba42b9ca2391f05136dd253bf595f09093e33f4264c634afb7f88267188e1452ba78f15281f324d42fe00ccaa3b2565de985c8b5c647e9e6077f89d9c57db4
diff --git a/dev-python/tzlocal/tzlocal-5.4.ebuild b/dev-python/tzlocal/tzlocal-5.4.ebuild
new file mode 100644
index 000000000000..ed9ce1827e15
--- /dev/null
+++ b/dev-python/tzlocal/tzlocal-5.4.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="tzinfo object for the local timezone"
+HOMEPAGE="
+ https://github.com/regebro/tzlocal/
+ https://pypi.org/project/tzlocal/
+"
+# symlinks aren't correctly preserved in sdist, as of 5.0.1
+SRC_URI="
+ https://github.com/regebro/tzlocal/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+EPYTEST_PLUGINS=( pytest-mock )
+distutils_enable_tests pytest
diff --git a/dev-python/ubelt/Manifest b/dev-python/ubelt/Manifest
index f0a4824e25ba..5a6e01815448 100644
--- a/dev-python/ubelt/Manifest
+++ b/dev-python/ubelt/Manifest
@@ -1,2 +1 @@
-DIST ubelt-1.4.1.gh.tar.gz 385376 BLAKE2B 98a60de68b04150ba48d6bc4d6eb537ceb913b6a9e60eb90a682779eb19c49b68c2f2c842758b9458445ec3c3a14941f747061228a8bfd28e37a2b7f31277a76 SHA512 de9156c64a3eee49ab6d1ef59e4cc9042f4f3b672581a1e99da242c2e098a6cccb1b209f5b1d9b89f98fde3e9980d6517dba14293621e1dc7cf846b43f11d84c
DIST ubelt-1.4.2.gh.tar.gz 406280 BLAKE2B 3265c74e74736ce5c46c74b0e6ac12a6f470b7bb2cc9d620dad497131a4265c8a37d1f5f1ad18242175a5c62f88f482c8bf891d2c53f0c2f689539e52b160cde SHA512 dec75a65976a21ab32336d11d23090173298f7c73ea87acaf4c3460a437de51ae5a4bb80fed5450e58f44b4f282e528aa2d1cff027ca4c1be86379df29faa697
diff --git a/dev-python/ubelt/ubelt-1.4.1.ebuild b/dev-python/ubelt/ubelt-1.4.1.ebuild
deleted file mode 100644
index c0d0af963747..000000000000
--- a/dev-python/ubelt/ubelt-1.4.1.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="A stdlib like feel, and extra batteries. Hashing, Caching, Timing, Progress"
-HOMEPAGE="
- https://github.com/Erotemic/ubelt/
- https://pypi.org/project/ubelt/
-"
-SRC_URI="
- https://github.com/Erotemic/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-BDEPEND="
- test? (
- >=dev-python/numpy-1.19.2[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
- >=dev-python/requests-2.25.1[${PYTHON_USEDEP}]
- >=dev-python/xxhash-1.0.1[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( xdoctest )
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- tests/test_editable_modules.py::test_import_of_editable_install
- # relies on passwd home being equal to ${HOME}
- ubelt/util_path.py::userhome:0
-)
-
-EPYTEST_IGNORE=(
- # asserts for running on win32 in global scope
- ubelt/_win32_jaraco.py
-)
diff --git a/dev-python/ujson/Manifest b/dev-python/ujson/Manifest
index 02fba802f544..e291029fee89 100644
--- a/dev-python/ujson/Manifest
+++ b/dev-python/ujson/Manifest
@@ -1,4 +1,4 @@
-DIST ujson-5.12.0.tar.gz 7158451 BLAKE2B 0a70ac85dcd4516af11c9a9014930dbb2f172485f22c2ce2db5c49a3d3938b040b9df99fd4d8c03f690929b45364a62b7967136dc4cb1bacf7dfaabcb73d8638 SHA512 1424f30338194edf934f90a5a59a66f119e3121ecb57c134738cfd5ef52fbda786d7c98c3bba33e4ffb7858357be0ab69376e44d687202522645ccf7fd829969
-DIST ujson-5.12.0.tar.gz.provenance 9494 BLAKE2B 9776e4f9914e95172cf27c02d785ee2e1e3a9462f69cd6db8ed0716123fb021ac0a60ddbe4ae945c503d206d7a3fec6781ebe3471fdab951e4dd8ba3b20fb91a SHA512 c54ce5a6428c3702df6140129a45fd5b48f42391b4a7afd137711215ee940563aaaf3369a15d96eb387e60bf5ad038df94664c43c1e59b6f260fcae5928cd82d
DIST ujson-5.12.1.tar.gz 7164538 BLAKE2B 3e666173bd56e7a2c3f7f52e60509d9017904db4aba4b70b8f14380ba6de767ee07233343bd99ad30674611dee9bc7756b46e555307add41b9f71b5d35b39f79 SHA512 2904bf37c8e8c155d9fabaed7837dc58840e9e21ec516f43c2047c926e7d29d2d37506c261d23bd05f113fdda6658d347eb7d7a54c32e699f0c3652fe12943b6
DIST ujson-5.12.1.tar.gz.provenance 9630 BLAKE2B 9985aeea8ce9a426e85f93fcf9933b69fb6f12d887a31bfa6e0a82347f601f5a09889e7bb669ff1a537ee2bbef8825f7d67a0da88cf2bffe60ea8f729696994b SHA512 9c89ab7a9f1d0511ea03ffb3a81725a6bba822495fb591560ba25e43ac95686fcd08b97b8f86c19b8a994bd310e98c78c9d6dc79cba21c6941a1e7bfa86e5a17
+DIST ujson-5.13.0.tar.gz 7166784 BLAKE2B 7334f7f911b0fa886af0358477a2effefe37e5d544eadc8b6b43959bb30e4e9768773f8889e8cdbbd98b9b468cbe02e9e2abef1b9013c570b158d88df87e4718 SHA512 9735048e850ecfcffe0b5e0744ccca8bb4aea04fc310c3157e64d53f6e8520762541b9afccb7c400fb4de98c87758cb12bb1fa8a57d4db4562d5abbeedee09b0
+DIST ujson-5.13.0.tar.gz.provenance 9686 BLAKE2B 0c9de29106f54f81226311158b5f5d17e9542d61feb8fab9868bc59a6064457d39d24ad9393b812ce8755a5695b337c17a018dd64ab69b9be9e33bbf797c25d9 SHA512 9f000a7c3a05e94a73655274fb0d4f4ebf5bf1b14623467b710b515444cc6f7de77376d6ae9c57a9ffc08e657365e55e37b51a37a3dc434ae3d554bc14d061e5
diff --git a/dev-python/ujson/ujson-5.12.1.ebuild b/dev-python/ujson/ujson-5.12.1.ebuild
index c96d5f771f3b..df4d9632755d 100644
--- a/dev-python/ujson/ujson-5.12.1.ebuild
+++ b/dev-python/ujson/ujson-5.12.1.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"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
DEPEND="
dev-libs/double-conversion:=
diff --git a/dev-python/ujson/ujson-5.12.0.ebuild b/dev-python/ujson/ujson-5.13.0.ebuild
index df4d9632755d..c96d5f771f3b 100644
--- a/dev-python/ujson/ujson-5.12.0.ebuild
+++ b/dev-python/ujson/ujson-5.13.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"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
DEPEND="
dev-libs/double-conversion:=
diff --git a/dev-python/uuid-utils/Manifest b/dev-python/uuid-utils/Manifest
index b44d134955e5..a608158e8175 100644
--- a/dev-python/uuid-utils/Manifest
+++ b/dev-python/uuid-utils/Manifest
@@ -1,6 +1,7 @@
DIST ahash-0.8.12.crate 43413 BLAKE2B 3e3ff0a91c538a063a09f1d71c0bd4df7d3b4cda3ba0945d3dad746430e0940979375e90ae5da7d585ffa44f387b17f38fc506ade0e0847feebe10d5c62f2b61 SHA512 872e5fa0d1334abac96d10eca18f32c2b1a1e0b38671c132b6effd029e9f0147ddcef79f4d85c8baf0537ddfb8c39a85f61d073e1fb3143dba659a8385641e1b
+DIST anyhow-1.0.102.crate 48658 BLAKE2B d9c7b7c50b7319be0e67bb236e0420a67e3fd6d6f4bd53a84cafc7a5385785275151832be472c0063405e6d458b5add3907b670ba5e300e08efaae699ab77c44 SHA512 18064a92b6d577151b6f1be3df0985fdefdc5f7089ac0aa9bc92a2034c780eac5b71b8fbb260217aea122bee7c950ff00abf4b6d8f4143dff889b7164c7d6f0b
DIST atomic-0.6.1.crate 15243 BLAKE2B 68934373e2f7ec150a2d41ca1a3db23d01acc5caf43a55b72ac83dc03d5cad0a058c62369105db1901f60cd27b7a37ecaafd272d4904b802e0af61e00d25d316 SHA512 ece971998331bc4f552f7271e7a479555e8c0de2b5fd122b24c218743557c5bee05d49501313e64b5ce7dfc0221f8184b57ed449157812b11856452cfa8fbc19
-DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
+DIST autocfg-1.5.0.crate 18729 BLAKE2B 27580e39b366c6fca02c9db09997b6415c409f12068f1249184268bf96fd85ba659e25ec730f99e10caf452f96c486f3d7442bf09c4552b5f39519b21d6f88cc SHA512 f279856f234d39d369623576acf9546a1ca24d7fe449f36d4fb93ea75a7efaf2c4015b9616a69bbbed358c5e5882e16b045352f046aa4c049b3d13b1e8257b08
DIST bitflags-2.5.0.crate 43821 BLAKE2B 2d2a78b0a19dcb39580e6f73ed6c468b0626043010b34661084944c83561fe49db24bee1ab57fd692d57617be6506d529e095aea27b753a77e26d0b1ebf7ed78 SHA512 75d7a89e53e5e7582591932bc430e6a1db7ed0f914ded6dbcf957125be52975598df7fee14ef816f66544432ef0505f0a081f3794d17138ec429e283fe14fcf9
DIST block-buffer-0.10.4.crate 10538 BLAKE2B d819c4f9c4be85868e8b105fb7e479d2e58d3ed85c3339bd677a3e111f85cb1ff624a54d7802ab79a6e1d9221115f66388568340480fe83eae1cb448f19f5b11 SHA512 b7d436d8e627e16e6ddc300ee8f706a6cef28ff6f09eff848eedee46f84bdcd03601303c92ab8996042e55922866a59259948177c0a4496eed723523e77f6fdb
DIST bumpalo-3.19.0.crate 96414 BLAKE2B f8c155f77cf977d72749f3cb943a6b171dfc4f67135da345a935ba603f2b52b5feafbba908b31feff391128196c7b0088f6f62d5b37bc4d2277fc0fb9c560b54 SHA512 58db27a643c55adae07061100e3604dad0056bacd42ce1142bcc34249645e9313e886c3174a755593544684fcc632f134f9c6066752ac695254fb9ecd40878cf
@@ -8,53 +9,81 @@ DIST bytemuck-1.23.2.crate 53021 BLAKE2B 5fcf73b635ff86a728e2ab7ba58ba64059a3b81
DIST cc-1.0.83.crate 68343 BLAKE2B 33245b33fa845ea2f36da36e3830ec835f937e4319865b357ee9d5ea29a0f9f8392eadb38bf1d95e3c15ed201e561acaa87aedcef744f8db3dabff87a96c7f02 SHA512 742a248c3a7547bb220a0b9c97b67a831fab9b4ac21daa08c85a3966b9fe576088def33e16132fcabec9a2828a6fc437088bb045bfc98b2cea829df6742565a7
DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
DIST cfg_aliases-0.2.1.crate 6355 BLAKE2B a758d9c88527f0e6e7cfd6d4c83eda1bcb4d6e2438189fe08e8ecbcaa78d56afc5a4873f3b82bf7da96afd690b44cdf1e44466b6da0f37c358b340481017103e SHA512 74969d12d5d24002a29e08d52e30fbce014dd481a7c35ee0162e69333c5f2d7755f3b02439b31522e12444cf1ac8e65880ce33fe6778dac03757e362cbf8a72c
+DIST chacha20-0.10.0.crate 38763 BLAKE2B 84d3d12379495b724b33accdbafe0209d0ddfeec74115b59228fb03e02089f1531f1396783a408b26cfb90372670c809bee8ab056cc847102cfc92ea065656aa SHA512 97e50d8e16118070ec75c086bae3695513b63c2ad3c5d43e3fb57892f21c9634977bc506c0c094aeb61bc8864518cee3eabf6b81504128ab0a876b2f6860b43a
+DIST cpufeatures-0.3.0.crate 14156 BLAKE2B 9408d9b8f314a21702bde22f272d47263ef06e8f6fac116edb2464109ae2ff0d10b9d4f54d465bb6c55bea5722326bb8ee541352e6f5e03116a449930fa8375a SHA512 a842c5e7fe435c4339ba0e12169bcf1a2c2ebf4b0d02cf200f91d88a736607a930ba840a7db6a71afc6b125649a9f14ce0977599db917ee78880ec1ed9600f88
DIST crypto-common-0.1.6.crate 8760 BLAKE2B f2422bfb89c15d47a8f91c8f6695e05eb56990a922e3cdf3d426044736f9932324c0d899a151a6df4d6683e6a6b21659c657d3988734014c02cd854bb4b924e7 SHA512 471dbc43f517089d2cfe0868e29510c6ca579875b3bb5d013c70796db969b609b6c4bb35c9a07b9a2917012dc5708b717d48e317a20038adbe7e7039bf3ada6f
DIST digest-0.10.7.crate 19557 BLAKE2B 61e69d78cb8d6850ae26ad7ff2d52dd6dce820d8c621230def11cc0e8aa6d883a6e1b25340fb45748db52a8ccf3c8d36a8aa0c8cdf4d4eeb4e3f870d86abe09a SHA512 0dd8c012468ab9011b89413ea4d3647d95b1f683b020a0e6274c95ed5148638b56fef19cd9044c837ad53715b582b88eed277fe96e917c27c5d7abdbf7c3794c
+DIST equivalent-1.0.2.crate 7419 BLAKE2B 7ce4fb7b911961cd4ccfb48323eea4952110a069789c6bd177a63391c270df861afadd00c07db7b22768f0864f320e429e0200c433284f528336e2f81d071eff SHA512 8e0e2dc070794a85b276e93f9e4a65d3bbb8587b33fda211c34479a0b88504c913d8bef9e84d7996254aeabe1efe4ff1ef6259ff4fe3f9ccb90dd90070b3e4d4
+DIST foldhash-0.1.5.crate 21901 BLAKE2B 22c3a266becac17995ac996f5c9caa8dea77e36786c50464e4e7750d8f3f13321a0a1abd3a9abcfd6ff441ddea257066b2dfb7fc6fcf7468f537dbd1b0db737d SHA512 3a634fdec410d87ffced8aa1bf8dacd9316a04c51424563d60b4dd611617041f09085edfd0ec96e6bb0e0db74a0e950b0616d1fb94a31667af35af1637604c22
DIST generic-array-0.14.7.crate 15950 BLAKE2B e74c785e3127095625951da192a018281ea9976aaeb11019f9088c3f27748c5fed1ef25d577150864486dc48b5138d6892e42f99979339f711a66fc70756c82b SHA512 363a7b04e4102f9ca63d429721c1ada6272be6bf0a2e97da681faf76381f73f0e3acb86623b9ce2dae441de9fda704088391779b9769ec02b3c8c9f9f35f897d
DIST getrandom-0.3.2.crate 49140 BLAKE2B abe823a8e91fdb83461007909ed447c64adceffb33dce63b18c6561e7c14263c66119370fecc9c564583bff6206800d5253704ca29be1824e210096abb3452fc SHA512 8c5ce6a6180554749a7eac237caaa852aafdcc92f052aa9b3eef24e10c4ec3794a0a1a1f35580d99dd864d464eb79121fbd19ab8f8780021b60378bc967e16a2
+DIST getrandom-0.4.1.crate 53686 BLAKE2B 3b6dd1e30a5b9e771efa0a3d87da99c8c0da5f3be368859b1ba6f883c9a7ab4926c3713149cec3524766070d8fffd284ab5c382c29b74e0aeb54682d4643eaba SHA512 120649af83beaf0ae68e28e47838c11ab7def55f683c16fb4cade1f13bdb38316a1823e93f420ac9a5d928868d09f376b9b079dda2a639eb1c2f931c09ba43f4
+DIST hashbrown-0.15.5.crate 140908 BLAKE2B 6a360eaa2e174ddd1e9761bc19edc4b57b80f84c36bb5d64003c7206755d4175a05f39c001acaf000ec69ced9e28c3853bd64702e2927aa7c38527a53abf2201 SHA512 654682535882733b56dad632851fed93a17ad0b2d3e13e3390d7802450781501e275b0e0b39fa32a6eae092132858ed79b305238cd5771c08987c5d26af6d692
+DIST hashbrown-0.16.1.crate 147785 BLAKE2B c506e64340b65fb462545c52e85a192b21e33025c91adf1d8255e799e8a5743814c60be971db56c0b9b1208dff8147ed4a28d8e37caf8f5646fd367d8d0bc9d7 SHA512 0739f1b2101488f88778e221d86738ce557b8ae12470e2a4444099eb90d876382030d00e789dd4ee44dcd7833a87a6e570fa11ba5823beb1cab3a56784ec2669
DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
-DIST indoc-2.0.5.crate 14396 BLAKE2B fe838c6a855d6ff7396675a3fe9b2e0b06a93cfd4013b0b843d24d2fb81f6566528bfd1753c649646f06cb7e59262bd6ec3ed79d4e6f01d740cf0682355f2e5a SHA512 095fb56a3d87946c42a63065a8b276c2d4b9b835800014b400bb987593bf56701bad9f55d947f090740fdb7641a4f3c87fe8bfa5724709e95254d1e8e2e3616f
+DIST id-arena-2.3.0.crate 12883 BLAKE2B 2a7f498c3ea5632af4a369d46f90106e642bccbb8e36ac7fe37be05c2125989ea2cf625db92a782408ecb5f68d3efbf3006413b5b748815ee42b9dcfb28d0ba2 SHA512 99652279014e63680d66bc8022ec3d2373d6e476646ee5551346fc9e62d1fd94b28c945bfc30df14c85d085aefc7fbb9051fe11012f63a9254bc11f03133f116
+DIST indexmap-2.13.0.crate 102206 BLAKE2B 7f3d070b645741f5960647f64759840b1941c1e28f61ee04d44d7eba0d8f600949cf139bec5fddb1507e4d5a9e12fb709a16415aa014eaff8f5e87cce41a9394 SHA512 f5efe0010603a3f1da8955f5f97c9a39e4d2c5042c0829c057ad739687d990c100d1276022dec23e7cd70efecceca07ad735693bd8a1b21b507b8892110198ad
+DIST itoa-1.0.17.crate 15905 BLAKE2B 105796a6438bfccbb4676cc0beefd89abb05dedf077794dae48dcebd63cc745bfa4664c0eaf7bacaf989ea9051c98703e7ce85683f5c8c234fd1639c391aa3fb SHA512 4f1b09fd0152a8c837c40045c46779c992b8b5a4737565b8ce3a92bf2fb884bc6609bc597c2b54c33855bd108311adf46471b5ed5ff7ce32549b8c72c8119c04
DIST js-sys-0.3.77.crate 55538 BLAKE2B 8a4c04a8e93bf5dab63784a24320a314cc5cb629df788e116c452857b8c049c6bf357f3bf8f35086eaa81bc2d7f0954001addfd0577d845844871ee138e81bc6 SHA512 d9370ed6ea892bd51ea181630ca661c348f82d575381aa4c8b529113dfcab6687f4d19bceecad7e1b28ebaca74d405862150a5b5ee2d5d55efdaf98eed1ab255
+DIST leb128fmt-0.1.0.crate 14138 BLAKE2B 6353a2520bb93e0a3cfaade09ffbd8cf981d2cf75579e865941f3fea0dc745c54472b369873b1ef4f26dd7f356860e563bc7ca6e7615d600b272c698a55e54eb SHA512 82fbc7f0786185453fbf11fb3ae58e71fce9780f81eb6a56d7b559e3a0c6825751dd8b64f1266aab73fe65f7483a206e42f31ee1a1b7b1801246c6dc9c2ea817
DIST libc-0.2.171.crate 785246 BLAKE2B 2bfbb3146d63444632b924520bc3d8af4adc6bbc38f4a7c6e8a003365430372ac1c05246684b54f0a98c36c8a7f02c325e1a6dd7fec44adeff41767e427ea77f SHA512 aca8b5f769dff18d9b3d73cae2c496f64a9828edfb0b57412da01a89158e770a5dcbb74bd83612870f9a08eb31647c1a2c92463189f16b01be8cdfc76fe0bacd
DIST log-0.4.27.crate 48120 BLAKE2B 09a2159032baaff7eede480062da30ffec1c1d4c77e76288467941dc13722ab1566742c1821326ca5f8c2f9f7597099e235213ecbf883fd93daf5ae9ad5ee981 SHA512 8d57219b76c8a25bae193e4d16d4d03bf0b8523e1ed3bdc80a692cabe00fc0359ae9bc3be989f04476ecda7187f27e4ad23fe260a96fcefc819af00fe12a1151
DIST mac_address-1.1.8.crate 12876 BLAKE2B c0e91482dc2aa5697188b747fc4544dbc787ee203821f7c2651b996d5041c7ae80ba02ad87b8ac447b16191644e3633136bea22cc379c3edcb669be499703eee SHA512 bc267a2347aa81e479f831ac6a06830176c7d5e97d85ec213c2845b30824585fb240111d3a8fbc2aee6b53dc6941d51f57c08dc4461d0293e945fc51f9d7bb35
DIST md-5-0.10.6.crate 16161 BLAKE2B bdd43889aed114cfa97ed0c70bc97b89fda28b14033a0a26bc7309ed744ee907d59151ab92e9cb95f0ff0ca1cfe2af360c48f1b99fc8a246a25c803a4b444a0f SHA512 024a9e14aaf860e748f64dddbb8aec01bb9f40d702d8de31497fde1d66a663e97ca1b06b600d8a818a0c707d1ef02eb0f210befaeacada458acba69ccbf476ca
-DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55
+DIST memchr-2.8.0.crate 97780 BLAKE2B 228ce0b6fe8b168f5c31031690a5eb44466609b64c5c221e0b3f56fe331b4f25c0124d613c94ef030b225000978953641f5b07458d530c1d50eec3e1d54e4274 SHA512 8089238153493a0ff6adf980efd1ea2ba10eeff9f33fff200268692662d24152a8c14a4dac37fbc6a55dca741701fd256174f10a9838ca66f038f08e090de12f
+DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa
DIST nix-0.29.0.crate 318248 BLAKE2B 3a13a88375a359cf77b28d7f77f47f178bd31ef74b7627b6701bc6fc601024706be4e9ac1a076c7cba26b64d3bac4de17aab45fe3c045aa7a36e2d9232e872ca SHA512 86c05084aa0e6238f8d48df0f5ce6e6d7661b589f4f3fbdad43387c59c0d6afafea4badf25d31db1611615de19a0b9ef18ce614846b79a47cad4e2c9367dbe7f
DIST once_cell-1.21.3.crate 34534 BLAKE2B 3578aaef305cad2fdffdc40c392775a3540bfab3f3aeafd22466d9507bf8346b9fcc200929d48525b051070c0aaa423ecbcaa12868b34dca007991effb224166 SHA512 32a87506c6f4598f3ca2c88556014ef2093d5db9a08602335e847caa537a866492fa74c894e7e1da2e4289a1d3dbffcb90a9e37a4a1453203832f434b8206990
DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c
-DIST ppv-lite86-0.2.17.crate 22242 BLAKE2B 48c4a31a3b555fa37072c4de083580bb769747c7668748541af472778b5b58c3e7ab2b5e178760f542f973774f09910bdd4058ae5fb9d6b10c103eb76cfd0d3d SHA512 539d916e7e5869d832045c1aa88aec519bd000227f9b01d4dd0bfc9ffb640d5f5eb21b05eba718174773c97192a655ad3cb31b53ceb914dd19179a6699b3583a
-DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434
-DIST pyo3-0.27.2.crate 1171342 BLAKE2B 421039fe650e01546661ab98593288f8058694d513261fe0025851a68b665bdfc001692c60a5a34ede92d13a6003e8f261e4bcdc17f67518a156f52916d2ff76 SHA512 b20f502bda6cc6d283012acbb2e0225219ccd77af09990872c76b0088947050d886eb47ed88e9e0dcb327d08ab4bf09119f7cab527dfde358e01df5a32bb64c2
-DIST pyo3-build-config-0.27.2.crate 35564 BLAKE2B 8786478e559613cc258e2d0153d549f65c13a24a3fe612da7ac96e5f4038a1714dbc6a01b2d3e3d99b3de3af9658ad220647fbba4a33305bef81c07100426ada SHA512 dc7cee79ce7febddeec9e70dd5de3b59696a5cf38afeccdfeda00307cc22166d0e9649d5e34e9801b7f495b31c104fa78dac2241248787daae8b9ea1f4551ce5
-DIST pyo3-ffi-0.27.2.crate 78552 BLAKE2B cdd6fb74a49615c42e6c6979e28c1d56e0061ae9e9897a20032d6be27c635433e9fa459847bf3c88de3be7503d045ef78d4ea3e028403c1ed00da96930ed73dd SHA512 29936c7a0fa524304ca8b017ac912e2c3e9237a86ac8510c17b96b75c7e83948599884f064428640456cd5fb256246d536da432d096f924e78360efd973cee0b
-DIST pyo3-macros-0.27.2.crate 8913 BLAKE2B 99a9cf37cb05261fa75d0ede4ed8ad75bbe29b941a4c6a0907d1c1baa887d0777dcb5970c7fbe1337c1b127b6318d077e2d8374629485572f3f7997a3e3825b8 SHA512 b05f6b61c5b320e83e879384691cdb9ad57ade3ce5a9fdfb587ccd13ea1c92d2b210e2d7ca242c3d1a5f5173076a25578d3d81f5a8c3935a43f010bfa8452153
-DIST pyo3-macros-backend-0.27.2.crate 82513 BLAKE2B 9154f0275ac031fb456c313176490b7f98e033a9ff43caf32ca717e6dedc2c32435af5e7d9d2e784690fe2a379c033f0dc036b18c630fa7cb3c3365e335e3a12 SHA512 811fa48ceb5a87d23312b968efa9d8464653289cefc8a1e27838f03285eef67092652ba89eba655d243fa435edd97674a981267870d208e0b11390db32d1ad9f
-DIST python3-dll-a-0.2.13.crate 85018 BLAKE2B 4531172b7e985041fe3cf7d164c67dc74e5974fbdbc80f1b7fb5e351d8115cda0a7a8f64c037ff7fcf4c20918fa2a53a29c8784035c571e0c46be39cdc7faff4 SHA512 01438c7af7a936ae6b95e1b81f4596627043a4b02eea85241a18ed137c23dff644f3e8d8eeb45b8e64ef1fd2693ab47fde47b6341dfc56f6c4eca032da46647c
-DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685
+DIST prettyplease-0.2.37.crate 72033 BLAKE2B 997c8d855023ba6dcc7aa3a8f1c0ac6f6ca72dab2804cfcfb0987832ae044ffc5f5d7541e66d7ff5b0679065e5217078a832333e6cb92d89a93660aedaf0b447 SHA512 3273621f42cd2f4f892ee81e130f50e7d30f7254f922a84e55e454c0157bd0a59c678ee352e05007fdb0a62cdab2d7693185990354b81d2b1f5d08b51cff77d0
+DIST proc-macro2-1.0.106.crate 59765 BLAKE2B 87f95795621c4c992c370dc3a1240a2d5580e3362356525efe640f8f26ad0492b3c88755d575c080ff7db11376b0d82f31141bf6f86c895249b85e46c081220f SHA512 b726e2c92af434bfa88cd4f53c3fe6db647503567675fb439890dee3d15f5111137e3242b28d164114ce081c10acf3fd11950753ddb349190c87ee04e7d97744
+DIST pyo3-0.28.3.crate 1204476 BLAKE2B 8540a1c51bac4fbe04ea34d5ce38471c13d5a3f0759e60cf21d67e846b00feb8316e70f32cb8dc6b74d09f0901ffc83d5f41b1a06da6d34790ef13e4cefcad45 SHA512 f955957eec4b95cc9337d331bba3bba52b4754b301cf86cd974601e64eb20c2424023b19be89a224661fe2e185de646cd3d0d00705b6b5cbd139856c9443a247
+DIST pyo3-build-config-0.28.3.crate 35961 BLAKE2B 61a0101913c6d563721049ca99256c2aefd89b017a7e18c82f4a6aceca0aefeaa71fd559cd43adfb5034ce076c904e5188f8f73961ea217287fbfd12caab9401 SHA512 78f85696901b16540d42187d10e888bd929b9f23415faeb73f9798abda1af3506a308145dd4113b070521271c72624d7930fb4b19bad25aa1afd3082030c9126
+DIST pyo3-ffi-0.28.3.crate 80881 BLAKE2B 4ac7066c911e2aec18aa9245efed00585d063f81d69910e6a146f8efbf2939ab5de519bbf2a3dde78b40c264e97c62490db80e9b2e84aaf080d63659a6676459 SHA512 ec49b5cc67d19f46c9daea76b37b4988af0f63b9ed67c71190f015a0aa9691d4a8ffd4128413de430928428e1e8e26d44c3103f561e6b71b7e8c4597ab602d9f
+DIST pyo3-macros-0.28.3.crate 8963 BLAKE2B ca9967cfba565b873ed77565ff6eb8408473c227d191797e9db8c6b5cbc89abc17ffd57ae71e28877088fe19373da2f503cdefeae6b0a47796f6abcf62044f08 SHA512 57d178bd9b53dd98916e60c89bc26c34f9949829dc17bf7d6cc15b704bba7c874d85d6bd3c827d401268660a79230a6e32711048da939ec4e22342f3e08046d1
+DIST pyo3-macros-backend-0.28.3.crate 88063 BLAKE2B a484b12bbab3031838f61149ab9f08b9e460a2bd02089e08e58dac2cb747afbc0cdfe64018ed4c8cb0bbbd1d22e3eb05a6a72b020da6b71a584ec51ca8d24292 SHA512 45ce31ed64ee4fd0249736d480c9840a756bc45934d6803ae11e0680057ecf4cc74c71b47ccf9241fc3ab5c1e0b9c758426f08bd523d1ace92fc308302ea3c84
+DIST python3-dll-a-0.2.15.crate 104255 BLAKE2B d08eb9cdbc9011e8965b24aa9c9538f0a2e372c0e76fd96d9241b587d83d16cb5cb1f5fcf7f62123dee69970be900e9cf46ad959f130f5095eaacf44470b66ce SHA512 1f5bad896ef5f630e43fd76cd9ea73ce859ac98c9c569435045f21633ddff085416ba7ae387e823339696edb729a94700dba44e7351c79b1408f05ebdda0a7ba
+DIST quote-1.0.44.crate 31629 BLAKE2B 6e34e4121b7a37fd7492fc22d652c44ff90b8b3391b5cfa320a606871a43a4494beca15c1d4416c342bf511adb6442afa5513821514c52376175e2f8a98b7293 SHA512 6c1e9b31e0c8bd13cd865e6846dc243d88f2c057adeb8e674117bdcb46947219a6a352a6a50be1132c483f55331e6556275ac514513dbf017825c64e5d96010d
DIST r-efi-5.2.0.crate 64764 BLAKE2B ee17fae983b2c39137cb75698062a3bf8edb4bc680b04900797730618b54298e2f1d13ceab6b660f7a1799f6fc4113ca15d4320b1b95fc42913e0930f3aa16f8 SHA512 80f89d467b482297ec2c13cb0dc8e310442495483e25c33bb523f1cb66d6ce01fee4a57b36880a4f51c0e9f20eb3f993a5bc0a13224d52693dbc81b97c630158
-DIST rand-0.9.2.crate 99930 BLAKE2B 4440c21211e3c09daf8797de5ae1c7c461ead207456ad0a0405c6da266de51427dbd68090c461f1a349a04064e4bdba8151656e2e9f7c17be1f4aaeec1e26f3a SHA512 91faee823d9a3b109135182b9566e6327881736359c9d68358ad7dc78eac1e845c553820e2450ca481cae1e0969ec6566e72f7f9233251b1f9133449306f2965
-DIST rand_chacha-0.9.0.crate 18258 BLAKE2B aa0efd158877a116b2587177f2da84832ba8153b629aaf8181ca7622bc8ea624b5a5d205d1b745caafaad78d5a55aa08a4f35822b8925acdf7d1212baf62abeb SHA512 f62a7bb067ff984049c96cddccc841cd9931daeb5b25bb69f056bfe577f62b1b35c08f2bb5028590eefa04a9369beead4e6b03607eec97256e0383b20542af96
-DIST rand_core-0.9.3.crate 24543 BLAKE2B d611130e240dffaff33f8384f13a008af93254b1530bbbd2369057ca33f295c7037178010efe76e4d7bf18e36003f843409fabec060c8c78077cba00772e66f9 SHA512 6e8e4067dbf5853c55b0ed38293b6bc6bdecbdd31bb9d624609b0222f706f5b29281ffd5fffd5c316367ba5b22c29e5282c61de3738344798ce0f9cf9cf2ce19
-DIST rustversion-1.0.22.crate 21096 BLAKE2B cdf773cda21ebde50da897c0af0e4af14660ce953d3037054a99d8adc3db2dc6e30a57201a45676abfb183c62016a68069848e7537f711b1752339d194b0a378 SHA512 7929352df3e5279ac88cebb26ca89bb13c755f46986d2d1f514d18a3239a63638bf64f8ff153920569d173185d988d692ee676335afba0bf72d47f71babe0e15
+DIST rand-0.10.1.crate 105801 BLAKE2B f442da8e90eace94adb0d7a1835d54091b0940d5ac75adf60b337edc1964776c06ed06f0e97fd719d7fce4c187d33d7fdc29fe74d5caea05eb2d81e12bb05882 SHA512 514af678610fd4a2abf7cfb8f9e0d738e600b492dce8dff0d30b5e637de5f84995cde4fc29e7ba4884361693087fe94c27544d2ddfc1960fa724d2e375de9f95
+DIST rand_core-0.10.0.crate 22778 BLAKE2B f27a8bc7d691a0f738fe5ae39aec1741f39cee34b02e75f3653e9efa7dd64760b858678ce3aab453968378a7d6a0e242ea921ae6c642f2bd779fe34a9c0b2ed8 SHA512 4b75b43183c0ee19b8c1dec3fa8a1eaebd11556569bd02eb2f5c0497a84543f77c6f4adaf7011d372628abcb7e187686236550a6a2d85b8b2091fe60c1ad4426
+DIST semver-1.0.27.crate 30081 BLAKE2B 760cd2994baba2ab8d63656b39f281304b309152cb3c576a0cf31ebf57294bdb6a10ad73e61f974688b0dd80490e0f4da004f3396cb6988bc90af8eee0961ed9 SHA512 8492a2ce5adf32cf6183d03509766f169b323a9376b061c9659a8752f69de5f45f7c64f474fa907fd9261fe3e9a7691a39c8a603d0c2e8d9484f5946bc27d78c
+DIST serde-1.0.228.crate 83652 BLAKE2B d1909d671ea6d5c2eb4ce34ee4493ecaf665d416111b4cac754b5d33b85f916296110bae7aa961efd987a2ceb4a31ba645752ce99dd28dedb9f1eecdd4d7b1b2 SHA512 9b645d6214203533b303fc5e88ad4f7686c22df084878d18a0209a92304a340fcb62fdde88a7080cf7a7348d47b9b363885c4e1da90dba08cc99ff620f375e97
+DIST serde_core-1.0.228.crate 63111 BLAKE2B 8a64e4627ad21a3d16dd37d53fb809d11171bf337ec16bb1223075cbf81b6b85cd1c8d19abadf42460d0fbea323e2f351eeb6ef823389d519121b74e68edb215 SHA512 43897e3a7ebdc85d81d1cb30cda8f0a11610f6f551529c8a21462c24fb83110652b462846aa3e1bed5fbf8b5d7927018845a524ee9e079e2c8acf2c687efd6c4
+DIST serde_derive-1.0.228.crate 59605 BLAKE2B 166ee2f9ff9f7a0928d0a65a72db3d9226c377bca2a1771956e8ecd9c7faf0544673c9c21be2a5553e621b55c74c7b958052592a1cf6eb6427a2d4f3e3dc6bb8 SHA512 8bfdfeee10ee7ef0670972aa963ef63b13e8eb2c8a09b9e0b717f92551aa89b3dd2a0dcbae6ccf20a1caece07e6adb18f0db56fdac020e4e0281b0d24e376003
+DIST serde_json-1.0.149.crate 155994 BLAKE2B 7564c287a05c95feeba2b3a17e2e43ba047b0132b40fc4dd0c09141c2aac559c00bf4c63cbd24c17f12f5e6b49cf38b240d2c6c66677ee7a9edb197aba7d57fd SHA512 85fa8cb7b479f8241a4fd2255dd80e346fa5cde103aa7f25c14ccbcdf0e3276578fd0645e1d2542ee07c7e08c32058ff662bbf03926cd796c38622a12f423d43
DIST sha1_smol-1.0.1.crate 9809 BLAKE2B 954039c19b4c9faad6cd9f3f83edce220afb6970cb6628e69a1dd914a945a7b9466a8d46c41a650d505a3c01f406210ad59ed56504db18aa45125df3f2369cce SHA512 d0a67ca75b0617a39d28fdd73ae9aae3d3bf01ba24f6cc579b26da6f06125a304be90d446d17775959ab96ab165145657a54173679e6c0f42562a61c0e932b79
-DIST syn-2.0.68.crate 265035 BLAKE2B 8bc6f68ed286bea617a2cfaf3949bb699d3a0466faeca735314a51596ce950e4ee57eda88154bd562c1728cfaff4cdb5bc1ba701b9d47a9c50d4c4f011bee975 SHA512 7b781f8ea2b0d01c06f47d165da99cd96e3b44a33de1d77c78a2cb37ebe3f8304f426ba3d0d1cf766241dcc0537908774504df7d455d63bf89ec22ac0499d372
-DIST target-lexicon-0.13.2.crate 27923 BLAKE2B 0761f0ffdc23b9c9df86b384d59611c7b8b5e29ff068f03367ad2fe84cfb6d11e1af149b9338236978e9566fedc51387db9f239d2a602db41045ac3db907faec SHA512 d25e3cc3d679cb6b6f24c03e0c24db9d6ca31b8ed42ac9531bd7637557fbba225a6c8ac4f68a8eaf3569195814d599e668a968afbc73b940a77cbc27552cc90a
+DIST syn-2.0.117.crate 306011 BLAKE2B bbaec02c4322f522bdfc87caa4ce6fd1e09bbf8f4a102d9ed8728efacdd843a2750f616dce5b2d3a3e46bbb7d57439fbd10e328bc1d4a01e980986cd815798af SHA512 035c2e63542592b6a4058a2a82d4c2c1f5793f84fb1b04cbd393337a26fcf661a1f3bea439ce98a1fe943b1c4d36d2bda16df3bbc3fa6ca35e1548d530dc8416
+DIST target-lexicon-0.13.5.crate 26928 BLAKE2B f8c62cb91f68a635e6ce3fc254df9ce378b5e8f62c1147404c967484b9ed97fb33d7993b4671611db76566063e999d658d201f856f70196ec678d72cc758cf6d SHA512 956df27c01e1186c5356117ffd07810fc0b62fb919d5bfd215955ba85be00ef675212a3c0dc36679986be7b825442fec5c93c7643b7e1e19c04572e6463546fc
DIST typenum-1.18.0.crate 74871 BLAKE2B 99116d32b5317a658526daaf4fece2b9dc8cdbbc30c1e7a32fadf913e56a270a742abe0a0d348ea6039ae74fd4258c702d4626b14071626b7c5d2e2c31d82dec SHA512 c30ca78f8ba2e3e1bbfb3472c01974a0aeecb4471640ef373ddbef984ab37bca87ad4eced8193e5db6206d35ead31ebc25cdfe958f371625eeb97b6664f9c9e3
DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
-DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
-DIST uuid-1.20.0.crate 60654 BLAKE2B f91ecedf66437f426ff6bb3633fd89f34b5c07898c2c44be02fa6c8217bcbf5dc86848ff882f3881b8f0847ec4dc9b51f4a62c4bf6a0e6577ab3cf9cf58f109f SHA512 16054a7814267ee0032ebc3ff408339d71b361499d7f1a1576ddbe42a605b94ada57578d7969aa9a3a028b38ded6016c2ad368356423154b2f488a38371f19e8
-DIST uuid_utils-0.14.1.tar.gz 22195 BLAKE2B 1f0cd513ba02d3bf4f3458d42424a9f82f6d7bdb418097f312ae9d20fac9de404f1056da154b6ef9420f6df06b94dbd929e4148c2547d246717e6a551bb5650a SHA512 c677f734e487a774976fc2ccd6550ea2b9bda17b3fb49f942f22127aff20400085472ae5f00d824e761a1667d74d618d07937b8e57b5b21346d1b198ee54c176
+DIST unicode-xid-0.2.6.crate 15744 BLAKE2B b1bad25897717f6346f988d5a7c90c51fb842da113f19aa434a64add8f2e637258d9fab0f7b871fd2aac02e83c68359fc679b326232793cbc804523e2bff5056 SHA512 f68e78484479a5341b14d7e3391e691265851fa00feeca53af745479af6aa9b4ce3570456df785c8362043db9b04e2e57f9bad05d8305946f16af405bc611764
+DIST uuid-1.23.1.crate 62932 BLAKE2B 8ff58079d6a1eacf2d1baaf1dba6ca5c5da84768a27e2f7f1f9843f6057ed634843ad96a6797b4fdee5a01716ebade8b99433a9b9b3dad794bb9a26d93c81059 SHA512 7f9222285c9e6635d9ed0b03ae945c2037bd7f7486bb05214355c19eb3fc0f7685b3f6b3bb58e158e1dd26cbf4772af7180420305f2ff001a69e90ea6f2c428e
+DIST uuid-utils-0.16.0-crates.tar.xz 7354664 BLAKE2B da9e1275dfb3a0964ccc476b11170f1e402fe514b129cc99214d48bca0dc636b3ac2254b3ad0cd765fcd4875c0a23d60ac00962922f5c96db2c8559ef7f86654 SHA512 e1162a07109804203d6b84eaf38055a528068aae16d46ddab528d3b05b509225bc1fb881184cb4751c94273c036e22b4bcf16141ff70c07165bdb91419093b42
+DIST uuid_utils-0.15.0.tar.gz 42182 BLAKE2B 664d3f802a59ff199c9fa7848b4cab28c58f24355b6b8d066a830496c2631ba742808b6e8d6efa644055572f9976366b739861de5f45369cd3ea52332c4e9d2d SHA512 ac587fe1516f1c6a4d1076a1e9d02c9fec838972228b4254661f31906a0cc0aa108550e5a7e00e55b0d063650a24d63d36485574ff4e4ca1b972d830e33e0031
+DIST uuid_utils-0.16.0.tar.gz 42596 BLAKE2B 56e476aa9bebdad2b50c1f6b9e8ddbc6e5046b3dd32e2a70eead48d990719de5f7e3e64c9fd2bc0001817d4ac07a9d4ecb7f223d583cd7771bc34ceb873fe981 SHA512 da6f9c704d0f572ddc7bf05782b42392af2333b226781ebf59938d2e757e16a8c2abe357fbc554f176dcac4f6fa1ddc0738b671d17c9a1d8d05cd91acb60f5ae
DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8
DIST wasi-0.14.2+wasi-0.2.4.crate 140921 BLAKE2B 6b3ce7cb8ed888ad65053352b02b827bced3b59118d546ba593ffa9de48305bef62419751036e22b0f95c22fe34ea1d7bdf7fee0f6981181026d1eedfacf73d9 SHA512 57e47ba27fb2b66b34f017c85743b99687eb8bcdc1312fb36e30d0c501e670f00dc7d6113730d819364abef5e8ec04d95f0d1150ec2b6049e605fa8bbdaa2cb3
+DIST wasip2-1.0.2+wasi-0.2.9.crate 129778 BLAKE2B f41afceba3c586d12829d2c59f45198c61ae04a0dfe72d6bad6176a3d38189a097cf633f34accff83d7ccc238a35a833381e98291e5fd37f2f4d6e08138af2c4 SHA512 284571c833a1770fcadd9a70155d8b507e9f7f0590015e1a07ad0512ac0a7f0ca4693ccd1aa1ab27e74ec58cb75f314770b66562a2167cd6b5086a7871527eb1
+DIST wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06.crate 123354 BLAKE2B d8251ea31999f954eb1264bbc7792ba16a90aec3ed3112fe84b9a93dd8a0e493390b899be9e5e215ebebf644697d3bab680cb07d5e64617cbb57e6b2a28ae95f SHA512 fb136a5475fb4696902d4f4be43e0d5d28cf3bc1b6c83e5e7837499ee038f995c9f084064e2e4585dbc3bd260e0c7c95371526b04933f2c60fb6ce302416215d
DIST wasm-bindgen-0.2.100.crate 48288 BLAKE2B 8fc4f71c7d6cef15f131a9bdbb50e3eaf9f3894a5b6c1d73876824efb731b46e8c3449947893103f23bc15cad228a1b8bcccd45ada20df53b3f3dde6e419c184 SHA512 2a8ea7ec669efe10f5701dc3b2bf496e33afa70c31dbc65fda5191c9c28ddde54fa38bb168a41b0319a4ff0bb5ccd897ce51ccd7e523e647b3544fb390f8a4e3
DIST wasm-bindgen-backend-0.2.100.crate 32111 BLAKE2B 6bbbef709753e22230176121388a95fdb8f4dd32e0755dce5bf6c1127c54a236af292f319d14b5cd97bdb310fee65288e8f404921b83693e287164cf9d589a2e SHA512 a2ee30c1185644f989af6be34e93149a791c05125de24c0ff91c320f683f6f5d939fe42b8ca09d629096388a39256469f8b96a6e35722ccfdbe8d978c9a51770
DIST wasm-bindgen-macro-0.2.100.crate 9663 BLAKE2B b8a3fc6b3571f8caf106a9e9f3d9cc48b86096d714c5d0208f03d44d47003b3b26441b5cd68bcd49a8c05758bc1b984e460fb62ab439ff2d68c72766ce20358f SHA512 a1942f838eff5fd54406b573d81fe18f262df48a19535245b1a46cb31db2a022746e861d72e5286c632969d15d416655460d3865309c4947cd3d7965dead5c42
DIST wasm-bindgen-macro-support-0.2.100.crate 26243 BLAKE2B c18e35978b62dd2822ba8a4f6955cd5154b2a0d81b8e8032c2f8bda42c1c25f74a13f3e1c3a7bf47a823de2517a237e6a1aef18b189bf1f2b934123c58d1eb34 SHA512 0d03eaeda37c9c6ae06c0fa96e872b54780c4cf545b621c730dcc113dd59a8cb6333c5e3818f51365f71913b9669d8a870a06e70729722d03c07a49cff8a4fdf
DIST wasm-bindgen-shared-0.2.100.crate 8570 BLAKE2B 886fa72cae891d4c2311e12e28f0a7bde9bcaca893603afa3428a402726b3b2bcdb6cb7dca6fdf983bd8fac5f049f0543537f2161318769b43c7eebfc906df27 SHA512 3fca8ddd1c6b2f66f70f6608c9b341822603f1c0dd71d47d27c6be8fe3f2c88598619946627720734b48cf999cafd0c63a08af5db28ea78a1538d2165a5fba61
+DIST wasm-encoder-0.244.0.crate 85804 BLAKE2B 6dabb55c635d13d1d56711a43c655dfcb74bb9f0be10bccd412c21b5dcd63a46b73ff40955ff28aa0fba9341fe22161c8d253762afd587eaf69a7ca49c06e285 SHA512 ab78662abd6bc9edcc14531a87a848eb6c26081ce9bcb9ff15415ceecb48dad98ab6066638947780c65d7689d11502d4dd2353ff3462b4f49e1c1a8c00d2c1d2
+DIST wasm-metadata-0.244.0.crate 21500 BLAKE2B 8da1035b6302c23b00792d90153f74f35eb9cbe913366b43ff7e5d81481c903396b32ad54a416a14b40ff8d4ba329c6fda8c203e4b16f1ab80b3bf4535cde72e SHA512 77677c68dafabacc9697c6090d01fdb171c33ca1663c86dcd3612630b2ea6c41232a7cee125ba416d373edb34ea8e0926d164012461e2ddca8d4d18597feb855
+DIST wasmparser-0.244.0.crate 265607 BLAKE2B fb982e84536afde140d972614bf6c2875ef169f0b68010393e61d8a1041e57d5355e8f0a57df0681ce4159f830e30a59affbd733656aa9c633ad959225007b11 SHA512 d1a1f549fe93e11cf4155a8f5840fa444505ca9184e28163917bd8ddb1d53cb4d2be0335e183ec24625a7db22dd5d7e22c93c697bdd4de0d537b54af4ed7d834
DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
+DIST wit-bindgen-0.51.0.crate 68035 BLAKE2B 0cb5e191f866c3782b6a1e822ecbae6e618e08371867462addb027dd5510638e72438d991777877d5754b2932afcb41f2edc1ec1426334a69311905f0f309b6a SHA512 61380c309630ad7f415d467daf1d639ad7a3e8dcd26e5f88aacf0230b52600f150e804821b6a1df9b79cc7fdd4f1d800d043ee7eca770b1947a3cf06f893711e
+DIST wit-bindgen-core-0.51.0.crate 35048 BLAKE2B 1ce5f1bd6d1ceceaeb91d247f63745abfd25b539b57dc12321a2342f55da1207c697641a778ad6bff2bbece300fa52a788c7890e8dc49c5357f48292fed2a693 SHA512 eec78ac1566cc4f03b1d0d7d2e84c3d0fc2458a649c01a45c9c3781034078ed51b4a9852760fe96115006fb3415bcb31b1bf429cb3cac6e51e09a1c0cfc32ed0
DIST wit-bindgen-rt-0.39.0.crate 12241 BLAKE2B c8cda3c7a513dca58e2ad52b03692714750870801af37a235bfe1f217afe880f36df56d8e54b52ee1cb9f4e30f5580b8a28519b44084d2191146977f237e406f SHA512 24b559688991083057b7fc0b6fa9f84445ae11cf53fca20887f55da93c24d97c9a3ed6488b3a845fe88243530b46442d3c2de70da4dc1c64f3ac632a440ea2c7
+DIST wit-bindgen-rust-0.51.0.crate 57051 BLAKE2B 65c45b1b8b08681ded9bae2b4ac982770fa613bfe850128de1116a51ddd6366423c27e1f704817ad69dc05694e03aabb56af5bad3aeb0aba3cbc9415fad474e7 SHA512 7a5c29b92fa53ac8f8097b04a9507f471003edabcae0223d35180937b9254c62b24d9f4cef790000bd7bc7f6966af3aced2d7196359479480455baf5f4450f9f
+DIST wit-bindgen-rust-macro-0.51.0.crate 14283 BLAKE2B 79bc4a4846ec73ae02fe69fcb7898297647a0c70526fbd555e79a4c76de968f0d4c9e2e497643d9c1e7403bb8176a2108ca25a7cef577b9db3ae04142a3bd1ba SHA512 bdf6ab20b484180bfde867b8c8b03c10fe02a9279895ece43fddbc20b1ffe771128590d3d4c72585e959512808682278e54983d11066e0192d84b7aee830e0e2
+DIST wit-component-0.244.0.crate 256882 BLAKE2B 5e9c706693e3064ffbbe28a23e64e5bc32f6772ed294dce3bd2972b8d951f2820ddcee5f9e651b1acc470740b021986cedb6f0ff7a9bdc2b6e13f997dd341024 SHA512 efbf91954b7c4fc9cf5835783245f3a8cda7e5883c6e244a3da85a64b6b2d74f44ffa5f73309de7451b5e6aaf614664869769b140872ab85913878e52e490a00
+DIST wit-parser-0.244.0.crate 159371 BLAKE2B f46db4840d3cbcd42e5d26b854247d172f8385810a10c437aaa6b67f3f72dcc230a8d75f4e5ccff6ea006c8a52c2fe92f39d9d90cb30ba594c02ae618fb66bb6 SHA512 c554a167ce9802fbc7537700376da70ed6a79f96adeba5a0e4c955a7cc4f2ae4f588071e25735903d4f509f2590341fa39b2edd018cf6d3bf8ad6477b2474b01
DIST zerocopy-0.8.26.crate 249223 BLAKE2B 793b5579fc9120026d2dd7b1a6e7fc2505476288c1f6dc06746c3d65a8655551ba7232ddebb54cb2abd1284d8103369820445cd11b31d86501871c69513e7e1a SHA512 dac6018003092ff65396c93de65a432edea42a28870af4e779f391c7be19a06b6df429493f433532613a8fa18998367714e89abd06324586f5f91f20fd5dc592
DIST zerocopy-derive-0.8.26.crate 88080 BLAKE2B ca9b8ee1970b75d0119a520ab4f2a44b88d28b2b3c48acd2fb81f3fe1b1081efcb52c50bbe21045cc8b16d15305f87ea3c8032d40298af1ecf024e8ff8cf0c2a SHA512 344469950a97cd691849792a6a1bc875c04797c8e7950ef4bbce22a467f527cf28209f802ee8d74db71973355d1350fcd33b161000a92670fbf30e89e3e32526
+DIST zmij-1.0.21.crate 26665 BLAKE2B e958b58e2213ad13185ec6df55d07e6c80169afa56133038fa66cefb4a9f49aa786249a486dc09b2d0a2f74e41c0d0d713135f38a84dff8f6239636a6bf3cadb SHA512 a488f11ec8721ddfe42e61d028a128818551de8fccd69d7824504e4ae2efccdc38f716fa5a10ef4de07a8a087e75e819c4a1e0790817e8539b5db697bde14585
diff --git a/dev-python/uuid-utils/uuid-utils-0.14.1.ebuild b/dev-python/uuid-utils/uuid-utils-0.15.0.ebuild
index 2613f7f763ba..f6a6f9949142 100644
--- a/dev-python/uuid-utils/uuid-utils-0.14.1.ebuild
+++ b/dev-python/uuid-utils/uuid-utils-0.15.0.ebuild
@@ -5,8 +5,9 @@ EAPI=8
CRATES="
ahash@0.8.12
+ anyhow@1.0.102
atomic@0.6.1
- autocfg@1.1.0
+ autocfg@1.5.0
bitflags@2.5.0
block-buffer@0.10.4
bumpalo@3.19.0
@@ -14,57 +15,83 @@ CRATES="
cc@1.0.83
cfg-if@1.0.0
cfg_aliases@0.2.1
+ chacha20@0.10.0
+ cpufeatures@0.3.0
crypto-common@0.1.6
digest@0.10.7
+ equivalent@1.0.2
+ foldhash@0.1.5
generic-array@0.14.7
getrandom@0.3.2
+ getrandom@0.4.1
+ hashbrown@0.15.5
+ hashbrown@0.16.1
heck@0.5.0
- indoc@2.0.5
+ id-arena@2.3.0
+ indexmap@2.13.0
+ itoa@1.0.17
js-sys@0.3.77
+ leb128fmt@0.1.0
libc@0.2.171
log@0.4.27
mac_address@1.1.8
md-5@0.10.6
- memoffset@0.9.0
+ memchr@2.8.0
+ memoffset@0.9.1
nix@0.29.0
once_cell@1.21.3
portable-atomic@1.6.0
- ppv-lite86@0.2.17
- proc-macro2@1.0.86
- pyo3-build-config@0.27.2
- pyo3-ffi@0.27.2
- pyo3-macros-backend@0.27.2
- pyo3-macros@0.27.2
- pyo3@0.27.2
- python3-dll-a@0.2.13
- quote@1.0.36
+ prettyplease@0.2.37
+ proc-macro2@1.0.106
+ pyo3-build-config@0.28.3
+ pyo3-ffi@0.28.3
+ pyo3-macros-backend@0.28.3
+ pyo3-macros@0.28.3
+ pyo3@0.28.3
+ python3-dll-a@0.2.15
+ quote@1.0.44
r-efi@5.2.0
- rand@0.9.2
- rand_chacha@0.9.0
- rand_core@0.9.3
- rustversion@1.0.22
+ rand@0.10.1
+ rand_core@0.10.0
+ semver@1.0.27
+ serde@1.0.228
+ serde_core@1.0.228
+ serde_derive@1.0.228
+ serde_json@1.0.149
sha1_smol@1.0.1
- syn@2.0.68
- target-lexicon@0.13.2
+ syn@2.0.117
+ target-lexicon@0.13.5
typenum@1.18.0
unicode-ident@1.0.12
- unindent@0.2.3
- uuid@1.20.0
+ unicode-xid@0.2.6
+ uuid@1.23.1
version_check@0.9.4
wasi@0.14.2+wasi-0.2.4
+ wasip2@1.0.2+wasi-0.2.9
+ wasip3@0.4.0+wasi-0.3.0-rc-2026-01-06
wasm-bindgen-backend@0.2.100
wasm-bindgen-macro-support@0.2.100
wasm-bindgen-macro@0.2.100
wasm-bindgen-shared@0.2.100
wasm-bindgen@0.2.100
+ wasm-encoder@0.244.0
+ wasm-metadata@0.244.0
+ wasmparser@0.244.0
winapi-i686-pc-windows-gnu@0.4.0
winapi-x86_64-pc-windows-gnu@0.4.0
winapi@0.3.9
+ wit-bindgen-core@0.51.0
wit-bindgen-rt@0.39.0
+ wit-bindgen-rust-macro@0.51.0
+ wit-bindgen-rust@0.51.0
+ wit-bindgen@0.51.0
+ wit-component@0.244.0
+ wit-parser@0.244.0
zerocopy-derive@0.8.26
zerocopy@0.8.26
+ zmij@1.0.21
"
-RUST_MIN_VER="1.85.0"
+RUST_MIN_VER="1.87.0"
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=maturin
@@ -81,7 +108,9 @@ SRC_URI+=" ${CARGO_CRATE_URIS}"
LICENSE="BSD"
# Dependent crate licenses
-LICENSE+=" Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016"
+LICENSE+="
+ Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016 ZLIB
+"
SLOT="0"
KEYWORDS="~amd64"
diff --git a/dev-python/uuid-utils/uuid-utils-0.16.0.ebuild b/dev-python/uuid-utils/uuid-utils-0.16.0.ebuild
new file mode 100644
index 000000000000..a2c1a5e52bf8
--- /dev/null
+++ b/dev-python/uuid-utils/uuid-utils-0.16.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+RUST_MIN_VER="1.87.0"
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( python3_{13..14} )
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Fast, drop-in replacement for Python's uuid module, powered by Rust."
+HOMEPAGE="
+ https://aminalaee.github.io/uuid-utils/
+ https://github.com/aminalaee/uuid-utils
+ https://pypi.org/project/uuid_utils/
+"
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://gitlab.com/api/v4/projects/32909921/packages/generic/${PN}/${PV}/${P}-crates.tar.xz
+ ${CARGO_CRATE_URIS}
+ "
+fi
+
+LICENSE="BSD"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016 ZLIB
+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+QA_FLAGS_IGNORED="/usr/lib/python.*/site-packages/uuid_utils/.*.so"
+
+EPYTEST_PLUGINS=()
+EPYTEST_DESELECT=(
+ # Network sandbox probably messes with it
+ # https://github.com/aminalaee/uuid-utils/issues/99#issuecomment-3666565390
+ tests/test_uuid.py::test_getnode
+)
+EPYTEST_IGNORE=(
+ # Benchmarking doesn't make sense in an ebuild
+ tests/test_benchmarks.py
+)
+distutils_enable_tests pytest
diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest
index c941ffb14de6..74201b4e6b62 100644
--- a/dev-python/uv-build/Manifest
+++ b/dev-python/uv-build/Manifest
@@ -1,12 +1,6 @@
-DIST uv_build-0.11.10.tar.gz 376745 BLAKE2B 8447c14db66981f9188336dc1d8b7918784f2cfbdd2ddeed3d66f5cdc7a1d521f49082c68d5c48d5fbee87b8f4bdc39cb259353f99d63f6e77d2eed02c292e7c SHA512 ab1e10e9c23bfd90ef12a274695076a2e9756da3b13b062a9f4ab073fc8789a2faee3a8b87af1abeb071de84f245a26ebf896b31825b753acdd32ba74df6f1d0
-DIST uv_build-0.11.11.tar.gz 376722 BLAKE2B 58e62e3366961b489f1f6e1e8c83d0b770879660d9d3b0c6266dce46c5da8e9887408b09f0f59fd3fecda30adf887012df6390f386fb22843c0bb66e3c813a97 SHA512 ed612caee074c756c8ab242e3e0bf64e76dfddfefa383c3587b675b07e61621504ccaea653733c27ef2dd9b8bef1aa6d21ba1b9b39102d49c9ec3e9d7d13e758
DIST uv_build-0.11.12.tar.gz 377487 BLAKE2B f9d4c1b53f9c4ff2209f2b96a581f01f0a363fa02c6724e3d4f1d10ac3dd8447eb15d2aaac2a2fafe3d8a3fe20bf37a0b65c2e24f771d7f163a09f34a0151d51 SHA512 99747e605f984fb8b9b8d9b68a987cf20f49cec24cb57f795ef393268246366befb390398ca8d447f1178b8ad307376a2dbb62d083b8e987c0d2d5ab8116a6b3
-DIST uv_build-0.11.13.tar.gz 377955 BLAKE2B 01f93cb472a2841dd2c516b9a02137fafcf081a3102a45a2ff03b92d4dde9c7a3fc0bc012ca1871a51ac9832f2ba9c9d7f51f0705eec2d239d50cd3c8948dca1 SHA512 d6e2986b16d0dc78a9e03261d70a847186672fbc737be54d6263c2b7992d39561817c2e97e2cd82d64349ed402bbc8b907bd9782ff104988fba9f32504dc9d51
DIST uv_build-0.11.14.tar.gz 379337 BLAKE2B 26644ced88c39d7022e8c2cc37b8010319cb920b34d86ebfa502cb51f7fdff04a4856b955e451f13494e69834824a8242606c6bcb3b61bdb4a5dc5d459509c71 SHA512 c0d94041389aece658969170de6655ef09bfbce3496aed8e9b044b5af4a1db1288dce34d6ee7d12604d98feed6a3ee9ca95d7868f0a0f130a60d1f0136e6d6be
-DIST uv_build-0.11.15.tar.gz 390571 BLAKE2B c15def99bc189d1470200eb1410a7a05f98cc17896fd296ab899d620301e64b947db1defe5f44e9461cb68007fd1078c43df3a5fb35bf7521099e7ca69347012 SHA512 968948d3428655fbbeb2322e28e411e7b3d7639c1d10ed0738b0a2e497284c78357053eb7dc6590bd39ff57875adfba56f3439fcd48515ba4a0fe1b10dcdff6b
DIST uv_build-0.11.16.tar.gz 390555 BLAKE2B 728d2aa39bd35ace67f95840acc73c7a361f8d9a6ee647d58110440af968ac7d1ddef347099a06facf8454f20218b85d1b367957bc788ac86e41efadfac57714 SHA512 fcc8bdf72e6d1769bc37668e8cbb3f8444f05ce3cb6eca6f949ec02d4adbe638b8f89b143a8af445c7c55ea5f9cffe1ea796ee49a6fdc1f60a07e9642cf9bd4e
-DIST uv_build-0.11.17.tar.gz 398969 BLAKE2B d6a7a8f42b86eb8767c8873bcf65422b6ee6d391500359ca697d708635ada7305c898c01e20c2581a8c046229b3a286b5b112f822ab27b2bb71d00e32117572b SHA512 0d9e7507146a8bb3a4c32e20c9856fa614e7ee34c7d350af3bc60ff6a31bc5c6c76df3d45e26490e1da4d8f2036687000f9040afab1d4781cedca81062b29798
-DIST uv_build-0.11.18.tar.gz 399045 BLAKE2B 8389c0cc8ffa3d29d8684bb5cfcdb0485e4a0bb3c4ce3a32a3ebb44fcade6deec0e19ed24957716f11ba35e1c48fd34af878b11180544d1a4970faf14cad3819 SHA512 87b7e5bc3e908f3dbd4ab5a9cca29b54a72c961ec15a2955586f9248742f79b6c0974200366ab831cba2be7393a273e9c0302323f7b7389960197194517edfe5
DIST uv_build-0.11.19.tar.gz 398965 BLAKE2B 01f2ba93ad45b68649599ace9a678478a9a595bcded022a5ff3ec4638f6e4f8d9ad21173c67511bb11f75327f3045e3cb4f9860b57d790502aa71ad8bda59f61 SHA512 9ff1f62933f1f3a81386306ad64c65153848ff9461ee6b690455d1bf6f41ac2287302e42afe11dbc9b1532c08908f96d5158d5b2ff0e829a10330472b7f346cc
-DIST uv_build-0.11.7.tar.gz 365752 BLAKE2B 2de7a3656ea9960d2959a6bde66b85979b56e1cedce5ccc38759dae6a165d1d79998bcab3f43e472d91281fe320aadbb00f765776da3f06902b6a81b37d8b0aa SHA512 5ef23796480d36b20d1ca1b5c22eeb86c6634acbe9eb62642044d6c34a8dc45ca59727a77793fa324dbc3656a3659521544387d8afa346879675ff09fef1ca62
-DIST uv_build-0.11.8.tar.gz 367238 BLAKE2B 04dfc0cec62b53554b5041f77f0c34794ed2b9890449406af7011182acc23aab77bc087cdfcaf3d360a85169a51c998b4e7c0ddbdda1bdad4f487078226c6890 SHA512 67a5931ba6557c12e1fc668b061c5cfaefea7275fbeac4e658b6e37a748fb67b452b694960cec9bea97bcc4da43e24566a6adfec001057be478d8056894f54a5
+DIST uv_build-0.11.20.tar.gz 399107 BLAKE2B 4bbdf8b53c778b78798e6ffdf0a50bf88f45b5573eefc9d185473b2560b9f9e6e3511519f3fe96db67c1dfe47b1e2d3b0f36c0fac8dc55fdb2e00eada9a98f43 SHA512 80502285a157072460e3d5c70be3e6b1befdeaafc87b7d3ac56899eab1a94af358c38ed11accb8040278ec0b1c09a57fe9b7870d2d224b658fdfa2370f476d00
+DIST uv_build-0.11.21.tar.gz 400102 BLAKE2B 17766a7ebbfb0ec01b2f0ef76332c30b4bb9010c4ea0cf29a217a4ea45df8a3680c831c00974ad6732c847b5caae7aadf4e3639eff77223ef21a77040993e562 SHA512 7ee8b981791533f35313afde228b38de5dd460713a9453b61f620df63f5a6feb0cb2cd18e2a3fb29199e13a9781f31bf850002f9b4a747c14e3cf0579f8ba970
diff --git a/dev-python/uv-build/uv-build-0.11.12.ebuild b/dev-python/uv-build/uv-build-0.11.12.ebuild
index d66584ed2ede..84fe1c8f0a60 100644
--- a/dev-python/uv-build/uv-build-0.11.12.ebuild
+++ b/dev-python/uv-build/uv-build-0.11.12.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="|| ( Apache-2.0 MIT )"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/uv-build/uv-build-0.11.13.ebuild b/dev-python/uv-build/uv-build-0.11.13.ebuild
deleted file mode 100644
index d66584ed2ede..000000000000
--- a/dev-python/uv-build/uv-build-0.11.13.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 2025-2026 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_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="PEP517 uv build backend"
-HOMEPAGE="
- https://github.com/astral-sh/uv/
- https://pypi.org/project/uv-build/
-"
-
-LICENSE="|| ( Apache-2.0 MIT )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/uv-${PV}
-"
-BDEPEND="
- test? (
- app-arch/unzip
- dev-python/build[${PYTHON_USEDEP}]
- )
-"
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # use the executable from dev-python/uv instead of building
- # a largely overlapping uv-build executable (at least for now)
- sed -i -e '/USE_UV_EXECUTABLE/s:False:True:' python/uv_build/__init__.py || die
-
- # replace the build-system section
- sed -i -e '/\[build-system\]/,$d' pyproject.toml || die
- cat >> pyproject.toml <<-EOF || die
- [build-system]
- requires = ["uv_build<9999"]
- build-backend = "uv_build"
- backend-path = ["src"]
- EOF
-
- # rename to make uv-build find it
- mv python src || die
-}
-
-python_test() {
- "${EPYTHON}" -m build -n || die "Self-build failed with ${EPYTHON}"
-
- local zip_result=$(
- unzip -t "dist/uv_build-${PV}-py3-none-any.whl" || die
- )
- local zip_expected="\
-Archive: dist/uv_build-${PV}-py3-none-any.whl
- testing: uv_build/ OK
- testing: uv_build/__init__.py OK
- testing: uv_build/__main__.py OK
- testing: uv_build/py.typed OK
- testing: uv_build-${PV}.dist-info/ OK
- testing: uv_build-${PV}.dist-info/WHEEL OK
- testing: uv_build-${PV}.dist-info/METADATA OK
- testing: uv_build-${PV}.dist-info/RECORD OK
-No errors detected in compressed data of dist/uv_build-${PV}-py3-none-any.whl.\
-"
- if [[ ${zip_result} != ${zip_expected} ]]; then
- eerror ".zip result:\n${zip_result}"
- eerror ".zip expected:\n${zip_expected}"
- die ".whl result mismatch"
- fi
-
- local tar_result=$(
- tar -tf "dist/uv_build-${PV}.tar.gz" || die
- )
- local tar_expected="\
-uv_build-${PV}/PKG-INFO
-uv_build-${PV}/
-uv_build-${PV}/README.md
-uv_build-${PV}/pyproject.toml
-uv_build-${PV}/src
-uv_build-${PV}/src/uv_build
-uv_build-${PV}/src/uv_build/__init__.py
-uv_build-${PV}/src/uv_build/__main__.py
-uv_build-${PV}/src/uv_build/py.typed\
-"
- if [[ ${tar_result} != ${tar_expected} ]]; then
- eerror ".tar.gz result:\n${tar_result}"
- eerror ".tar.gz expected:\n${tar_expected}"
- die ".tar.gz result mismatch"
- fi
-}
diff --git a/dev-python/uv-build/uv-build-0.11.14.ebuild b/dev-python/uv-build/uv-build-0.11.14.ebuild
index d66584ed2ede..84fe1c8f0a60 100644
--- a/dev-python/uv-build/uv-build-0.11.14.ebuild
+++ b/dev-python/uv-build/uv-build-0.11.14.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="|| ( Apache-2.0 MIT )"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/uv-build/uv-build-0.11.15.ebuild b/dev-python/uv-build/uv-build-0.11.15.ebuild
deleted file mode 100644
index d66584ed2ede..000000000000
--- a/dev-python/uv-build/uv-build-0.11.15.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 2025-2026 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_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="PEP517 uv build backend"
-HOMEPAGE="
- https://github.com/astral-sh/uv/
- https://pypi.org/project/uv-build/
-"
-
-LICENSE="|| ( Apache-2.0 MIT )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/uv-${PV}
-"
-BDEPEND="
- test? (
- app-arch/unzip
- dev-python/build[${PYTHON_USEDEP}]
- )
-"
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # use the executable from dev-python/uv instead of building
- # a largely overlapping uv-build executable (at least for now)
- sed -i -e '/USE_UV_EXECUTABLE/s:False:True:' python/uv_build/__init__.py || die
-
- # replace the build-system section
- sed -i -e '/\[build-system\]/,$d' pyproject.toml || die
- cat >> pyproject.toml <<-EOF || die
- [build-system]
- requires = ["uv_build<9999"]
- build-backend = "uv_build"
- backend-path = ["src"]
- EOF
-
- # rename to make uv-build find it
- mv python src || die
-}
-
-python_test() {
- "${EPYTHON}" -m build -n || die "Self-build failed with ${EPYTHON}"
-
- local zip_result=$(
- unzip -t "dist/uv_build-${PV}-py3-none-any.whl" || die
- )
- local zip_expected="\
-Archive: dist/uv_build-${PV}-py3-none-any.whl
- testing: uv_build/ OK
- testing: uv_build/__init__.py OK
- testing: uv_build/__main__.py OK
- testing: uv_build/py.typed OK
- testing: uv_build-${PV}.dist-info/ OK
- testing: uv_build-${PV}.dist-info/WHEEL OK
- testing: uv_build-${PV}.dist-info/METADATA OK
- testing: uv_build-${PV}.dist-info/RECORD OK
-No errors detected in compressed data of dist/uv_build-${PV}-py3-none-any.whl.\
-"
- if [[ ${zip_result} != ${zip_expected} ]]; then
- eerror ".zip result:\n${zip_result}"
- eerror ".zip expected:\n${zip_expected}"
- die ".whl result mismatch"
- fi
-
- local tar_result=$(
- tar -tf "dist/uv_build-${PV}.tar.gz" || die
- )
- local tar_expected="\
-uv_build-${PV}/PKG-INFO
-uv_build-${PV}/
-uv_build-${PV}/README.md
-uv_build-${PV}/pyproject.toml
-uv_build-${PV}/src
-uv_build-${PV}/src/uv_build
-uv_build-${PV}/src/uv_build/__init__.py
-uv_build-${PV}/src/uv_build/__main__.py
-uv_build-${PV}/src/uv_build/py.typed\
-"
- if [[ ${tar_result} != ${tar_expected} ]]; then
- eerror ".tar.gz result:\n${tar_result}"
- eerror ".tar.gz expected:\n${tar_expected}"
- die ".tar.gz result mismatch"
- fi
-}
diff --git a/dev-python/uv-build/uv-build-0.11.17.ebuild b/dev-python/uv-build/uv-build-0.11.17.ebuild
deleted file mode 100644
index d66584ed2ede..000000000000
--- a/dev-python/uv-build/uv-build-0.11.17.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 2025-2026 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_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="PEP517 uv build backend"
-HOMEPAGE="
- https://github.com/astral-sh/uv/
- https://pypi.org/project/uv-build/
-"
-
-LICENSE="|| ( Apache-2.0 MIT )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/uv-${PV}
-"
-BDEPEND="
- test? (
- app-arch/unzip
- dev-python/build[${PYTHON_USEDEP}]
- )
-"
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # use the executable from dev-python/uv instead of building
- # a largely overlapping uv-build executable (at least for now)
- sed -i -e '/USE_UV_EXECUTABLE/s:False:True:' python/uv_build/__init__.py || die
-
- # replace the build-system section
- sed -i -e '/\[build-system\]/,$d' pyproject.toml || die
- cat >> pyproject.toml <<-EOF || die
- [build-system]
- requires = ["uv_build<9999"]
- build-backend = "uv_build"
- backend-path = ["src"]
- EOF
-
- # rename to make uv-build find it
- mv python src || die
-}
-
-python_test() {
- "${EPYTHON}" -m build -n || die "Self-build failed with ${EPYTHON}"
-
- local zip_result=$(
- unzip -t "dist/uv_build-${PV}-py3-none-any.whl" || die
- )
- local zip_expected="\
-Archive: dist/uv_build-${PV}-py3-none-any.whl
- testing: uv_build/ OK
- testing: uv_build/__init__.py OK
- testing: uv_build/__main__.py OK
- testing: uv_build/py.typed OK
- testing: uv_build-${PV}.dist-info/ OK
- testing: uv_build-${PV}.dist-info/WHEEL OK
- testing: uv_build-${PV}.dist-info/METADATA OK
- testing: uv_build-${PV}.dist-info/RECORD OK
-No errors detected in compressed data of dist/uv_build-${PV}-py3-none-any.whl.\
-"
- if [[ ${zip_result} != ${zip_expected} ]]; then
- eerror ".zip result:\n${zip_result}"
- eerror ".zip expected:\n${zip_expected}"
- die ".whl result mismatch"
- fi
-
- local tar_result=$(
- tar -tf "dist/uv_build-${PV}.tar.gz" || die
- )
- local tar_expected="\
-uv_build-${PV}/PKG-INFO
-uv_build-${PV}/
-uv_build-${PV}/README.md
-uv_build-${PV}/pyproject.toml
-uv_build-${PV}/src
-uv_build-${PV}/src/uv_build
-uv_build-${PV}/src/uv_build/__init__.py
-uv_build-${PV}/src/uv_build/__main__.py
-uv_build-${PV}/src/uv_build/py.typed\
-"
- if [[ ${tar_result} != ${tar_expected} ]]; then
- eerror ".tar.gz result:\n${tar_result}"
- eerror ".tar.gz expected:\n${tar_expected}"
- die ".tar.gz result mismatch"
- fi
-}
diff --git a/dev-python/uv-build/uv-build-0.11.18.ebuild b/dev-python/uv-build/uv-build-0.11.18.ebuild
deleted file mode 100644
index d66584ed2ede..000000000000
--- a/dev-python/uv-build/uv-build-0.11.18.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 2025-2026 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_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="PEP517 uv build backend"
-HOMEPAGE="
- https://github.com/astral-sh/uv/
- https://pypi.org/project/uv-build/
-"
-
-LICENSE="|| ( Apache-2.0 MIT )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/uv-${PV}
-"
-BDEPEND="
- test? (
- app-arch/unzip
- dev-python/build[${PYTHON_USEDEP}]
- )
-"
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # use the executable from dev-python/uv instead of building
- # a largely overlapping uv-build executable (at least for now)
- sed -i -e '/USE_UV_EXECUTABLE/s:False:True:' python/uv_build/__init__.py || die
-
- # replace the build-system section
- sed -i -e '/\[build-system\]/,$d' pyproject.toml || die
- cat >> pyproject.toml <<-EOF || die
- [build-system]
- requires = ["uv_build<9999"]
- build-backend = "uv_build"
- backend-path = ["src"]
- EOF
-
- # rename to make uv-build find it
- mv python src || die
-}
-
-python_test() {
- "${EPYTHON}" -m build -n || die "Self-build failed with ${EPYTHON}"
-
- local zip_result=$(
- unzip -t "dist/uv_build-${PV}-py3-none-any.whl" || die
- )
- local zip_expected="\
-Archive: dist/uv_build-${PV}-py3-none-any.whl
- testing: uv_build/ OK
- testing: uv_build/__init__.py OK
- testing: uv_build/__main__.py OK
- testing: uv_build/py.typed OK
- testing: uv_build-${PV}.dist-info/ OK
- testing: uv_build-${PV}.dist-info/WHEEL OK
- testing: uv_build-${PV}.dist-info/METADATA OK
- testing: uv_build-${PV}.dist-info/RECORD OK
-No errors detected in compressed data of dist/uv_build-${PV}-py3-none-any.whl.\
-"
- if [[ ${zip_result} != ${zip_expected} ]]; then
- eerror ".zip result:\n${zip_result}"
- eerror ".zip expected:\n${zip_expected}"
- die ".whl result mismatch"
- fi
-
- local tar_result=$(
- tar -tf "dist/uv_build-${PV}.tar.gz" || die
- )
- local tar_expected="\
-uv_build-${PV}/PKG-INFO
-uv_build-${PV}/
-uv_build-${PV}/README.md
-uv_build-${PV}/pyproject.toml
-uv_build-${PV}/src
-uv_build-${PV}/src/uv_build
-uv_build-${PV}/src/uv_build/__init__.py
-uv_build-${PV}/src/uv_build/__main__.py
-uv_build-${PV}/src/uv_build/py.typed\
-"
- if [[ ${tar_result} != ${tar_expected} ]]; then
- eerror ".tar.gz result:\n${tar_result}"
- eerror ".tar.gz expected:\n${tar_expected}"
- die ".tar.gz result mismatch"
- fi
-}
diff --git a/dev-python/uv-build/uv-build-0.11.10.ebuild b/dev-python/uv-build/uv-build-0.11.20.ebuild
index d66584ed2ede..d66584ed2ede 100644
--- a/dev-python/uv-build/uv-build-0.11.10.ebuild
+++ b/dev-python/uv-build/uv-build-0.11.20.ebuild
diff --git a/dev-python/uv-build/uv-build-0.11.11.ebuild b/dev-python/uv-build/uv-build-0.11.21.ebuild
index d66584ed2ede..d66584ed2ede 100644
--- a/dev-python/uv-build/uv-build-0.11.11.ebuild
+++ b/dev-python/uv-build/uv-build-0.11.21.ebuild
diff --git a/dev-python/uv-build/uv-build-0.11.7.ebuild b/dev-python/uv-build/uv-build-0.11.7.ebuild
deleted file mode 100644
index 84fe1c8f0a60..000000000000
--- a/dev-python/uv-build/uv-build-0.11.7.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 2025-2026 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_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="PEP517 uv build backend"
-HOMEPAGE="
- https://github.com/astral-sh/uv/
- https://pypi.org/project/uv-build/
-"
-
-LICENSE="|| ( Apache-2.0 MIT )"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/uv-${PV}
-"
-BDEPEND="
- test? (
- app-arch/unzip
- dev-python/build[${PYTHON_USEDEP}]
- )
-"
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # use the executable from dev-python/uv instead of building
- # a largely overlapping uv-build executable (at least for now)
- sed -i -e '/USE_UV_EXECUTABLE/s:False:True:' python/uv_build/__init__.py || die
-
- # replace the build-system section
- sed -i -e '/\[build-system\]/,$d' pyproject.toml || die
- cat >> pyproject.toml <<-EOF || die
- [build-system]
- requires = ["uv_build<9999"]
- build-backend = "uv_build"
- backend-path = ["src"]
- EOF
-
- # rename to make uv-build find it
- mv python src || die
-}
-
-python_test() {
- "${EPYTHON}" -m build -n || die "Self-build failed with ${EPYTHON}"
-
- local zip_result=$(
- unzip -t "dist/uv_build-${PV}-py3-none-any.whl" || die
- )
- local zip_expected="\
-Archive: dist/uv_build-${PV}-py3-none-any.whl
- testing: uv_build/ OK
- testing: uv_build/__init__.py OK
- testing: uv_build/__main__.py OK
- testing: uv_build/py.typed OK
- testing: uv_build-${PV}.dist-info/ OK
- testing: uv_build-${PV}.dist-info/WHEEL OK
- testing: uv_build-${PV}.dist-info/METADATA OK
- testing: uv_build-${PV}.dist-info/RECORD OK
-No errors detected in compressed data of dist/uv_build-${PV}-py3-none-any.whl.\
-"
- if [[ ${zip_result} != ${zip_expected} ]]; then
- eerror ".zip result:\n${zip_result}"
- eerror ".zip expected:\n${zip_expected}"
- die ".whl result mismatch"
- fi
-
- local tar_result=$(
- tar -tf "dist/uv_build-${PV}.tar.gz" || die
- )
- local tar_expected="\
-uv_build-${PV}/PKG-INFO
-uv_build-${PV}/
-uv_build-${PV}/README.md
-uv_build-${PV}/pyproject.toml
-uv_build-${PV}/src
-uv_build-${PV}/src/uv_build
-uv_build-${PV}/src/uv_build/__init__.py
-uv_build-${PV}/src/uv_build/__main__.py
-uv_build-${PV}/src/uv_build/py.typed\
-"
- if [[ ${tar_result} != ${tar_expected} ]]; then
- eerror ".tar.gz result:\n${tar_result}"
- eerror ".tar.gz expected:\n${tar_expected}"
- die ".tar.gz result mismatch"
- fi
-}
diff --git a/dev-python/uv-build/uv-build-0.11.8.ebuild b/dev-python/uv-build/uv-build-0.11.8.ebuild
deleted file mode 100644
index d66584ed2ede..000000000000
--- a/dev-python/uv-build/uv-build-0.11.8.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 2025-2026 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_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="PEP517 uv build backend"
-HOMEPAGE="
- https://github.com/astral-sh/uv/
- https://pypi.org/project/uv-build/
-"
-
-LICENSE="|| ( Apache-2.0 MIT )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
-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-dynamic-versioning/Manifest b/dev-python/uv-dynamic-versioning/Manifest
new file mode 100644
index 000000000000..15d08e5974af
--- /dev/null
+++ b/dev-python/uv-dynamic-versioning/Manifest
@@ -0,0 +1,2 @@
+DIST uv_dynamic_versioning-0.14.0.tar.gz 47203 BLAKE2B 4d8e2c87c1eefe86dfe279f249fbb9ef62efba3de2928742107e2fbc024dd4c5c72103608daf777e40e0296998bbdc2552a075a260a19350c2a240798d668d23 SHA512 381a4f4b106d0a79ecbf52dedbfe553263631f0c5408aae0de4abfe6cd57b14e3f62ee4ebf0d6b7ee856e2e54e932e89f563ef6cfd6281f0658f57bdbfdf8313
+DIST uv_dynamic_versioning-0.14.0.tar.gz.provenance 9629 BLAKE2B f43a3ab3d0b5eb649d127c711facbbe027858b2c7da9231a9456362b05e1df8c122307a7563ddc115c3a8b82d63ea36923d6caacab183ad71dc6ad9e857c11ae SHA512 6cd40b5c303a0942976818630ca80e0687af79bacd02ae6afe09d07ce30be8e0b23c016f75a8b531763fdf3b834681fea346061eaa4a046481fcb3f589c9c8e8
diff --git a/dev-python/cssutils/metadata.xml b/dev-python/uv-dynamic-versioning/metadata.xml
index 5e95859f915a..d34971a915e9 100644
--- a/dev-python/cssutils/metadata.xml
+++ b/dev-python/uv-dynamic-versioning/metadata.xml
@@ -3,7 +3,6 @@
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
- <name>Python</name>
</maintainer>
<stabilize-allarches />
<origin>baldeagleos-repo</origin>
diff --git a/dev-python/uv-dynamic-versioning/uv-dynamic-versioning-0.14.0.ebuild b/dev-python/uv-dynamic-versioning/uv-dynamic-versioning-0.14.0.ebuild
new file mode 100644
index 000000000000..4b6d7243796d
--- /dev/null
+++ b/dev-python/uv-dynamic-versioning/uv-dynamic-versioning-0.14.0.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/ninoseki/uv-dynamic-versioning
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Dynamic versioning based on VCS tags for uv/hatch project"
+HOMEPAGE="
+ https://github.com/ninoseki/uv-dynamic-versioning/
+ https://pypi.org/project/uv-dynamic-versioning/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/dunamai-1.26[${PYTHON_USEDEP}]
+ >=dev-python/hatchling-1.26[${PYTHON_USEDEP}]
+ >=dev-python/jinja2-3.0[${PYTHON_USEDEP}]
+ >=dev-python/tomlkit-0.13[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/gitpython-3.1.45[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unpin dependencies
+ sed -i -e 's:~=:>=:' pyproject.toml || die
+}
+
+src_test() {
+ git config --global user.email "you@example.com" || die
+ git config --global user.name "Your Name" || die
+
+ git init || die
+ git commit --allow-empty -m 'test suite needs a git repo' || die
+
+ distutils-r1_src_test
+}
diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest
index 4f68f00d0969..9929d6ecd95e 100644
--- a/dev-python/uv/Manifest
+++ b/dev-python/uv/Manifest
@@ -1,24 +1,12 @@
-DIST uv-0.11.10-crates.tar.xz 46797580 BLAKE2B 69c193a4d0d8b81b7ee504ad4439c36474b4bbfd91387b29a498f5cdc1529b3d52d0bbd2249e1ec4163914f63b4c139f68762396ed61e3480e5a813089277d59 SHA512 dbde92b55820f8b507f2c87d35917cf9e43da9add81046c2715a8e542e2d88d5916d90e7c07e9d1dc8331ca7b098e38cc5bcbac0ef66ceb81c5a68d9146bb35b
-DIST uv-0.11.10.gh.tar.gz 5252516 BLAKE2B 81502332be0bc84c89714a61c4befef787f5191bb0aa56f6fe7aec08d3f5df7ee0df44bace6c1bfdd34b7b2dd65a42f621888b240688495526bdcea86fd5879f SHA512 d969396c1cf0793a4589aa8c9c47b100d3e1ca8bdd55bd95f3bdbd1164c67f58678c06190f35e22248d173f6ddc2b24cbae8c5888f44dd2cc6a1a7e1f0eeea16
-DIST uv-0.11.11-crates.tar.xz 46797580 BLAKE2B 69c193a4d0d8b81b7ee504ad4439c36474b4bbfd91387b29a498f5cdc1529b3d52d0bbd2249e1ec4163914f63b4c139f68762396ed61e3480e5a813089277d59 SHA512 dbde92b55820f8b507f2c87d35917cf9e43da9add81046c2715a8e542e2d88d5916d90e7c07e9d1dc8331ca7b098e38cc5bcbac0ef66ceb81c5a68d9146bb35b
-DIST uv-0.11.11.gh.tar.gz 5253331 BLAKE2B 4a866f3838bd60630e3ff47ea8e6c754fd986aa242bc9c355f071bed321385d9ef6049a7663777027d49b9fbd80cf0793b2ab0271500d7305873574332b5a48e SHA512 f9129868fb8d343d63e4080deb0e71e71fdb5c71e2ea4f17d05d0f0c20338daf86f521895e8bd69795ffad36ddc94e8cf5ee8fbbb4eb5fdc0692524b21eef9c6
DIST uv-0.11.12-crates.tar.xz 46797580 BLAKE2B 69c193a4d0d8b81b7ee504ad4439c36474b4bbfd91387b29a498f5cdc1529b3d52d0bbd2249e1ec4163914f63b4c139f68762396ed61e3480e5a813089277d59 SHA512 dbde92b55820f8b507f2c87d35917cf9e43da9add81046c2715a8e542e2d88d5916d90e7c07e9d1dc8331ca7b098e38cc5bcbac0ef66ceb81c5a68d9146bb35b
DIST uv-0.11.12.gh.tar.gz 5259600 BLAKE2B bf43a4b38e37a45d73820e3d445ac38a56314cefcdc0a734cad5b93200ce9e4b689c8aa3125eb34d8aa150ff4b2b94b786dd518a49aacf6d6ce655f66e9506f9 SHA512 a23c95152f0515645174b85ed8887fe29e3e56d457aaad7992cfe5a59b95e527348ebd7e0ce9d23cf589f20849326a876ae61ed9b10324a48b8021077cd264fe
-DIST uv-0.11.13-crates.tar.xz 46795796 BLAKE2B d087b947c1c673bffb4095ba3ccdd24251a91e382d702511665af5b4d8a38acc3ebd386405a2f98c256524f71d71ad859aead336d3db73d46ae6ca59dc182d81 SHA512 879dc13c29323b7cc7b84331cab40f6ac0519e564024c2ce9e07df2be5d79be0d3ba6615a98bfba976bd108aedae5953997cc86c94c9907ecb16f8b97e7b891f
-DIST uv-0.11.13.gh.tar.gz 5260441 BLAKE2B 36ac78b2857d39b5dc6e24617ed44a0526039723bb5c078713536156524709bca4a8b82f6a9fefa1d66b3e08d6f5c7d2a16ab17c5266d18518e68e3583bd48d0 SHA512 04c6451c1250bf997cd412906d09195234513a160694e31f1dce5dbd04184dfed3307a27948fc32656050cc0d089f05d3f80e31b2ce942e1e93a6de032f90e42
DIST uv-0.11.14-crates.tar.xz 46820736 BLAKE2B 198e55be6417a2144cfba292ab943eb881bb2d3d99db259cb2cad2199d16f2eef4cc372d4b15bb5a78c6faf90b23163b2fc6366b6a88c0c089ff7113d62d80c7 SHA512 108f22ce909df5caac55e4952e1483222da0a65d64b9969a8c3224923cdf3528ce89f51a9c0a89542e4d536dd72c896a94764b9daac3376799445100705c4db1
DIST uv-0.11.14.gh.tar.gz 5268861 BLAKE2B 7cea3f62c4756cd961efdf1d949d0dee469fb8ab0475f8f1149756c8ab1a4f767e5c88aa29011f8f6f862d48733ce7d8bb64d7b742d792dad2fd04c1c7d365c1 SHA512 375efa7d4afb3128e5d833f91d9fe91439d0c45c607996dae0cf25bf9b8d1a164858dccd00875020b88377fffecabb6afab8353ef0b7e393c83d64ed2320d3c2
-DIST uv-0.11.15-crates.tar.xz 44930344 BLAKE2B 7935f68e43735834ac15c9a99107aa726db61e4ab1b333ebc6dfce50731e7c8497fd4a6247e500b7d2bbe2b7d884921942f5f741d57e045d2ff0623aaccf2f22 SHA512 466eff5799ec190d30b27671fbd3c1f637695b0bc3663bc94fefcdb431042b28c8562fa61e2c09bce77f21755680050441caa95ab50e16f2198e61ef91087638
-DIST uv-0.11.15.gh.tar.gz 5298620 BLAKE2B f11067be05d6d4fd40e1cc13ea37933cb87908fec6ff33c0c14d43d304ff4b09ebb1ec4c3c6bb0f761ed0427be5964c088d81def2b6ecb4f906cf2c40c4c7cc1 SHA512 af427dfeaa1112642c46812f8b5a3b0b56e00fe5d308f3c5d59aa18a6e14f24254ea3041b6605967f742dd11ac85833c08d7552fb8de4bc4e8f8832e39236d7c
DIST uv-0.11.16-crates.tar.xz 44976320 BLAKE2B 4d044d570cb5cd24ab59f2c66e82f1b8b3b204437bccd7c3bacf9b8b43c6a122f7a3cb96f017a21c53a051127a8e6d2ac66e36d5fb9c6d3cd16067fe0ed6d57d SHA512 dc817368a3fdb99e78be2e4140a3aab8bdca23122b66a2ca459da33cf83f55f8047e884568660d61942b4bba80baf3d22a4ca1331211a597b2ce79a8ce835901
DIST uv-0.11.16.gh.tar.gz 5318655 BLAKE2B 3b818282877d727ea4d6e176157ece28c0cc97525de49e523934b57e0a35399c8d2fb8642261565a9beb6f7f13d0776806207803569229e9445633822bd5aa0b SHA512 c830b9808eeedbfdcbc8ee75ba978f9309b89f1740aa3d363cc661c42ea066b87d3d21c8cc4ccf215e8233ea3b4c2669537ffe5955cf68adf7367755428618bc
-DIST uv-0.11.17-crates.tar.xz 44959296 BLAKE2B 67b39c5547e6809b4788d7945d635e5a793632be67b60c7767e8ec9157a3fbb3c1321ee7d2f7d091a990b7be2ed06335ba8c0dd487a03fe6b16a8954191d1aac SHA512 c45ebc83cefedbea71d5a5d92650cea377f5fc53c53eba2d1554b35b8038624ba7d00378961d41145601b54a5b2b8d8da3e5e68348ecf3a244146419ae05bc6e
-DIST uv-0.11.17.gh.tar.gz 5349885 BLAKE2B b38fd4e6a4f0fc33f3f8f63ec235e1a586fd481ca600de3869366ac257fb6ef2a98da554b8ee06be03dd883d53d24de061cd771780006c0bfce5ea501b3414d0 SHA512 ff5aaa75585fb23d4de034e0519b333e031551e360863a9de6be551f1f8f90afd528c16ae7699b303bd4567b93cf6d322c33472bb278b9311e83106cf783450e
-DIST uv-0.11.18-crates.tar.xz 44929200 BLAKE2B f72160cef10b9a6e8e7cec3ac967a8fedc13c78eb1e2b4a65ec44b9e53f4bd08d653da7c4910d9cf978273fcce64dee378b9afe12f7736e795407f39df8d81c3 SHA512 bc8d0535f1b45d50996ffc422a09133c05f270fb01dc2c227d9fb3ba04ebd1153b98638cbf5ad4b4e2d8725508500c3052e3dd5f6951a97d8df4eab5c574c631
-DIST uv-0.11.18.gh.tar.gz 5355670 BLAKE2B c826f9f96fcc62015ea51fe6836f07057156777b6808228eaaccd680d121cf78515f722b82801389d5189c5332b4e9b4bc9a7df6351ee908835b5031b0479378 SHA512 59ef43479bee5cc36dc5966ef5ec7bacb22e17d831ee2a0f8246d73c432cd0da76d230882afc08b31b610f92c333547285af420597f3f696a8acc30107cb2141
DIST uv-0.11.19-crates.tar.xz 44929200 BLAKE2B f72160cef10b9a6e8e7cec3ac967a8fedc13c78eb1e2b4a65ec44b9e53f4bd08d653da7c4910d9cf978273fcce64dee378b9afe12f7736e795407f39df8d81c3 SHA512 bc8d0535f1b45d50996ffc422a09133c05f270fb01dc2c227d9fb3ba04ebd1153b98638cbf5ad4b4e2d8725508500c3052e3dd5f6951a97d8df4eab5c574c631
DIST uv-0.11.19.gh.tar.gz 5374193 BLAKE2B 7a18db84b7a6658547e2eab2de5de82f7e678bccf305a04ec7348b79c4d972b8723c7ea1afd12e04077a577e8bba72db5e089f85d1626ea5745204f75f835a00 SHA512 053c0372ded66ec8bcb109524ac67cc035722573ab4ac1a05ffcde6a126f4b67515901e45978b535e3051976effbdf89b99ebb59b62174389e3097ad058eda04
-DIST uv-0.11.7-crates.tar.xz 46854096 BLAKE2B b4fc06608d3c68910a48af598803b934017787bbf14599f66fa43096aa3ef2cdeca8ee35230ea3b8446da044a29f0b476f58f224732959e8017720e79a0d7cd8 SHA512 9cdcc1f565a3bf4d3490296710a7821e3760164d723057d591bf923e093aac50f51ad209ceed6f8c4e8fd2104ee90363750017bb56de2c76fca5dda7fcee815b
-DIST uv-0.11.7.gh.tar.gz 5220735 BLAKE2B aae6d54fb59def30a517b4b4a1df524af346128a601e8a016dd9f4df3c49733c835e9259a85321f7dd1bdbcad93e6c53a5568521419e213a977653c9d48bde81 SHA512 f9b34b628ac035cacb36bd9cd7276d28c59f768360a197f4c1c036a81651aa6c40b17656c4b5230cc19b496c415687fc99f05bf4c66459e5457f5cef105b8d7e
-DIST uv-0.11.8-crates.tar.xz 46751616 BLAKE2B 1b7772787035387868d4ec4ae3383c5e04ec70daaa25241bbdaf1699b3ee24dced7c5035a764be6c9179a6a94c4f21d1883ee7f57ce3f6d0184900ee3d581c40 SHA512 60a717024179a76c69a7dcbc58733854148ded16eef07b0607bdc37d714ac754869eec6ac48528c03782645f1c0a8692f8ec1d4997e2ff9b09748224ac96f897
-DIST uv-0.11.8.gh.tar.gz 5237637 BLAKE2B 651be6d1d19775ce5ee65fc7bf0cb35d101eaaa438649682e3580131f80af9de403027cefeea511bf5e49b1ce2921ea5e06da350530d546128f4827477abaf2e SHA512 204602c75596105fa15d869d9bd1fa28e527dca654364ff76c4c764aea0140293e92bdff5c2c4a0115fa9ec0d484ccfc8bed60be17a2f5b578b3efcc46007cd3
+DIST uv-0.11.20-crates.tar.xz 43509336 BLAKE2B 2a1fcc003c4c2cb927225a5beec44239d51bfa5b10d67aa6af8410ba992d8d69911942cfa8227fe1e0cf2b9ce713bebd9ca616b173f1c13e15fa8f0e612ef59c SHA512 13abc4edbec4f7f61bb4e942f2ef2b05364462f35b521610deeffb3a3ef64155ab40a3679979556f7e14feb1834ca85e6f1d49d29a7a63a0d4dc64b29d40edf8
+DIST uv-0.11.20.gh.tar.gz 5398552 BLAKE2B 1063c7552809b21741523429c1966523ec666fee28143a555424b815ed51aadfd9139e5497ab6373b0192e7c1c449d9f021a85e08b6ebe4b1943ad9be848068b SHA512 abf8756e80cf13e7f1a752c6c38e2c340fbecc2a9d12209a5796fe076f3b4706e95757126b1acaa330b86c79711e302a69bdf1fdde9b911a92ecdeb70ed3ee81
+DIST uv-0.11.21-crates.tar.xz 43509336 BLAKE2B 2a1fcc003c4c2cb927225a5beec44239d51bfa5b10d67aa6af8410ba992d8d69911942cfa8227fe1e0cf2b9ce713bebd9ca616b173f1c13e15fa8f0e612ef59c SHA512 13abc4edbec4f7f61bb4e942f2ef2b05364462f35b521610deeffb3a3ef64155ab40a3679979556f7e14feb1834ca85e6f1d49d29a7a63a0d4dc64b29d40edf8
+DIST uv-0.11.21.gh.tar.gz 5420532 BLAKE2B 87bf0bc0064398dcbd9848589edcef0ec60aba55fe6dc678742caa6722738d08485edf368738ba3f83e12a13fc29a799b08d4ad3ab54de82a1b543f0c83e1b45 SHA512 c1057ff5e2387dc190d12c71fbdfddca3d99e03d2b00065f0077f9c912dbcb19ba8b81cbcd874c31f613a5ab2fafef77f6034589ccab5ee33940a6eb72714598
diff --git a/dev-python/uv/uv-0.11.10.ebuild b/dev-python/uv/uv-0.11.10.ebuild
deleted file mode 100644
index 030c2e92591f..000000000000
--- a/dev-python/uv/uv-0.11.10.ebuild
+++ /dev/null
@@ -1,164 +0,0 @@
-# Copyright 2024-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CRATES="
-"
-RUST_MIN_VER="1.93.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 CC0-1.0
- CDLA-Permissive-2.0 ISC MIT MPL-2.0 Unicode-3.0 Unicode-DFS-2016
- ZLIB BZIP2
-"
-# ring crate
-LICENSE+=" openssl"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
-IUSE="test"
-RESTRICT="test"
-PROPERTIES="test_network"
-
-DEPEND="
- app-arch/bzip2:=
- app-arch/xz-utils:=
- app-arch/zstd:=
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- virtual/pkgconfig
- test? (
- dev-lang/python:3.9
- dev-lang/python:3.10
- dev-lang/python:3.11
- dev-lang/python:3.12
- dev-lang/python:3.13
- !!~dev-python/uv-0.5.0
- )
-"
-
-QA_FLAGS_IGNORED="usr/bin/.*"
-
-check_space() {
- local CHECKREQS_DISK_BUILD=3G
- use debug && CHECKREQS_DISK_BUILD=9G
- check-reqs_pkg_setup
-}
-
-pkg_pretend() {
- check_space
-}
-
-pkg_setup() {
- check_space
- rust_pkg_setup
-}
-
-src_prepare() {
- default
-
- # force thin lto, makes build much faster and less memory hungry
- # (i.e. makes it possible to actually build uv on 32-bit PPC)
- sed -i -e '/lto/s:fat:thin:' Cargo.toml || die
-
- # enable system libraries where supported
- export ZSTD_SYS_USE_PKG_CONFIG=1
- # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys?
-
- # remove unbundled sources, just in case
- find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die
-
- # bzip2-sys requires a pkg-config file
- # https://github.com/alexcrichton/bzip2-rs/issues/104
- mkdir "${T}/pkg-config" || die
- export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}}
- cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die
- Name: bzip2
- Version: 9999
- Description:
- Libs: -lbz2
- EOF
-
- # uv is now forcing bundled liblzma, sigh
- sed -i -e '/xz/s:"static"::' Cargo.toml || die
-}
-
-src_configure() {
- local myfeatures=(
- test-git
- test-pypi
- test-python
- )
-
- cargo_src_configure --no-default-features
-}
-
-src_compile() {
- cd crates/uv || die
- cargo_src_compile
-}
-
-src_test() {
- cd crates/uv || die
- cargo_src_test --no-fail-fast
-}
-
-src_install() {
- cd crates/uv || die
- cargo_src_install
-
- insinto /etc/xdg/uv
- newins - uv.toml <<-EOF || die
- # These defaults match Fedora, see:
- # https://src.fedoraproject.org/rpms/uv/pull-request/18
-
- # By default ("automatic"), uv downloads missing Python versions
- # automatically and keeps them in the user's home directory.
- # Disable that to make downloading opt-in, and especially
- # to avoid unnecessarily fetching custom Python when the distro
- # package would be preferable. Python builds can still be
- # downloaded manually via "uv python install".
- #
- # https://docs.astral.sh/uv/reference/settings/#python-downloads
- python-downloads = "manual"
-
- # By default ("managed"), uv always prefers self-installed
- # Python versions over the system Python, independently
- # of versions. Since we generally expect users to use that
- # to install old Python versions not in ::gentoo anymore,
- # this effectively means that uv would end up preferring very
- # old Python versions over the newer ones that are provided
- # by the system. Default to using the system versions to avoid
- # this counter-intuitive behavior.
- #
- # https://docs.astral.sh/uv/reference/settings/#python-preference
- python-preference = "system"
- EOF
-}
diff --git a/dev-python/uv/uv-0.11.11.ebuild b/dev-python/uv/uv-0.11.11.ebuild
deleted file mode 100644
index 030c2e92591f..000000000000
--- a/dev-python/uv/uv-0.11.11.ebuild
+++ /dev/null
@@ -1,164 +0,0 @@
-# Copyright 2024-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CRATES="
-"
-RUST_MIN_VER="1.93.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 CC0-1.0
- CDLA-Permissive-2.0 ISC MIT MPL-2.0 Unicode-3.0 Unicode-DFS-2016
- ZLIB BZIP2
-"
-# ring crate
-LICENSE+=" openssl"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
-IUSE="test"
-RESTRICT="test"
-PROPERTIES="test_network"
-
-DEPEND="
- app-arch/bzip2:=
- app-arch/xz-utils:=
- app-arch/zstd:=
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- virtual/pkgconfig
- test? (
- dev-lang/python:3.9
- dev-lang/python:3.10
- dev-lang/python:3.11
- dev-lang/python:3.12
- dev-lang/python:3.13
- !!~dev-python/uv-0.5.0
- )
-"
-
-QA_FLAGS_IGNORED="usr/bin/.*"
-
-check_space() {
- local CHECKREQS_DISK_BUILD=3G
- use debug && CHECKREQS_DISK_BUILD=9G
- check-reqs_pkg_setup
-}
-
-pkg_pretend() {
- check_space
-}
-
-pkg_setup() {
- check_space
- rust_pkg_setup
-}
-
-src_prepare() {
- default
-
- # force thin lto, makes build much faster and less memory hungry
- # (i.e. makes it possible to actually build uv on 32-bit PPC)
- sed -i -e '/lto/s:fat:thin:' Cargo.toml || die
-
- # enable system libraries where supported
- export ZSTD_SYS_USE_PKG_CONFIG=1
- # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys?
-
- # remove unbundled sources, just in case
- find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die
-
- # bzip2-sys requires a pkg-config file
- # https://github.com/alexcrichton/bzip2-rs/issues/104
- mkdir "${T}/pkg-config" || die
- export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}}
- cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die
- Name: bzip2
- Version: 9999
- Description:
- Libs: -lbz2
- EOF
-
- # uv is now forcing bundled liblzma, sigh
- sed -i -e '/xz/s:"static"::' Cargo.toml || die
-}
-
-src_configure() {
- local myfeatures=(
- test-git
- test-pypi
- test-python
- )
-
- cargo_src_configure --no-default-features
-}
-
-src_compile() {
- cd crates/uv || die
- cargo_src_compile
-}
-
-src_test() {
- cd crates/uv || die
- cargo_src_test --no-fail-fast
-}
-
-src_install() {
- cd crates/uv || die
- cargo_src_install
-
- insinto /etc/xdg/uv
- newins - uv.toml <<-EOF || die
- # These defaults match Fedora, see:
- # https://src.fedoraproject.org/rpms/uv/pull-request/18
-
- # By default ("automatic"), uv downloads missing Python versions
- # automatically and keeps them in the user's home directory.
- # Disable that to make downloading opt-in, and especially
- # to avoid unnecessarily fetching custom Python when the distro
- # package would be preferable. Python builds can still be
- # downloaded manually via "uv python install".
- #
- # https://docs.astral.sh/uv/reference/settings/#python-downloads
- python-downloads = "manual"
-
- # By default ("managed"), uv always prefers self-installed
- # Python versions over the system Python, independently
- # of versions. Since we generally expect users to use that
- # to install old Python versions not in ::gentoo anymore,
- # this effectively means that uv would end up preferring very
- # old Python versions over the newer ones that are provided
- # by the system. Default to using the system versions to avoid
- # this counter-intuitive behavior.
- #
- # https://docs.astral.sh/uv/reference/settings/#python-preference
- python-preference = "system"
- EOF
-}
diff --git a/dev-python/uv/uv-0.11.12.ebuild b/dev-python/uv/uv-0.11.12.ebuild
index 030c2e92591f..d4afa9343251 100644
--- a/dev-python/uv/uv-0.11.12.ebuild
+++ b/dev-python/uv/uv-0.11.12.ebuild
@@ -39,7 +39,7 @@ LICENSE+="
# ring crate
LICENSE+=" openssl"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 x86"
IUSE="test"
RESTRICT="test"
PROPERTIES="test_network"
diff --git a/dev-python/uv/uv-0.11.13.ebuild b/dev-python/uv/uv-0.11.13.ebuild
deleted file mode 100644
index 030c2e92591f..000000000000
--- a/dev-python/uv/uv-0.11.13.ebuild
+++ /dev/null
@@ -1,164 +0,0 @@
-# Copyright 2024-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CRATES="
-"
-RUST_MIN_VER="1.93.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 CC0-1.0
- CDLA-Permissive-2.0 ISC MIT MPL-2.0 Unicode-3.0 Unicode-DFS-2016
- ZLIB BZIP2
-"
-# ring crate
-LICENSE+=" openssl"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
-IUSE="test"
-RESTRICT="test"
-PROPERTIES="test_network"
-
-DEPEND="
- app-arch/bzip2:=
- app-arch/xz-utils:=
- app-arch/zstd:=
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- virtual/pkgconfig
- test? (
- dev-lang/python:3.9
- dev-lang/python:3.10
- dev-lang/python:3.11
- dev-lang/python:3.12
- dev-lang/python:3.13
- !!~dev-python/uv-0.5.0
- )
-"
-
-QA_FLAGS_IGNORED="usr/bin/.*"
-
-check_space() {
- local CHECKREQS_DISK_BUILD=3G
- use debug && CHECKREQS_DISK_BUILD=9G
- check-reqs_pkg_setup
-}
-
-pkg_pretend() {
- check_space
-}
-
-pkg_setup() {
- check_space
- rust_pkg_setup
-}
-
-src_prepare() {
- default
-
- # force thin lto, makes build much faster and less memory hungry
- # (i.e. makes it possible to actually build uv on 32-bit PPC)
- sed -i -e '/lto/s:fat:thin:' Cargo.toml || die
-
- # enable system libraries where supported
- export ZSTD_SYS_USE_PKG_CONFIG=1
- # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys?
-
- # remove unbundled sources, just in case
- find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die
-
- # bzip2-sys requires a pkg-config file
- # https://github.com/alexcrichton/bzip2-rs/issues/104
- mkdir "${T}/pkg-config" || die
- export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}}
- cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die
- Name: bzip2
- Version: 9999
- Description:
- Libs: -lbz2
- EOF
-
- # uv is now forcing bundled liblzma, sigh
- sed -i -e '/xz/s:"static"::' Cargo.toml || die
-}
-
-src_configure() {
- local myfeatures=(
- test-git
- test-pypi
- test-python
- )
-
- cargo_src_configure --no-default-features
-}
-
-src_compile() {
- cd crates/uv || die
- cargo_src_compile
-}
-
-src_test() {
- cd crates/uv || die
- cargo_src_test --no-fail-fast
-}
-
-src_install() {
- cd crates/uv || die
- cargo_src_install
-
- insinto /etc/xdg/uv
- newins - uv.toml <<-EOF || die
- # These defaults match Fedora, see:
- # https://src.fedoraproject.org/rpms/uv/pull-request/18
-
- # By default ("automatic"), uv downloads missing Python versions
- # automatically and keeps them in the user's home directory.
- # Disable that to make downloading opt-in, and especially
- # to avoid unnecessarily fetching custom Python when the distro
- # package would be preferable. Python builds can still be
- # downloaded manually via "uv python install".
- #
- # https://docs.astral.sh/uv/reference/settings/#python-downloads
- python-downloads = "manual"
-
- # By default ("managed"), uv always prefers self-installed
- # Python versions over the system Python, independently
- # of versions. Since we generally expect users to use that
- # to install old Python versions not in ::gentoo anymore,
- # this effectively means that uv would end up preferring very
- # old Python versions over the newer ones that are provided
- # by the system. Default to using the system versions to avoid
- # this counter-intuitive behavior.
- #
- # https://docs.astral.sh/uv/reference/settings/#python-preference
- python-preference = "system"
- EOF
-}
diff --git a/dev-python/uv/uv-0.11.14.ebuild b/dev-python/uv/uv-0.11.14.ebuild
index 030c2e92591f..d4afa9343251 100644
--- a/dev-python/uv/uv-0.11.14.ebuild
+++ b/dev-python/uv/uv-0.11.14.ebuild
@@ -39,7 +39,7 @@ LICENSE+="
# ring crate
LICENSE+=" openssl"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 x86"
IUSE="test"
RESTRICT="test"
PROPERTIES="test_network"
diff --git a/dev-python/uv/uv-0.11.15.ebuild b/dev-python/uv/uv-0.11.15.ebuild
deleted file mode 100644
index 0b6f133484f8..000000000000
--- a/dev-python/uv/uv-0.11.15.ebuild
+++ /dev/null
@@ -1,164 +0,0 @@
-# Copyright 2024-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CRATES="
-"
-RUST_MIN_VER="1.93.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 CC0-1.0
- CDLA-Permissive-2.0 ISC MIT MIT-0 MPL-2.0 Unicode-3.0
- Unicode-DFS-2016 ZLIB
-"
-# ring crate
-LICENSE+=" openssl"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
-IUSE="test"
-RESTRICT="test"
-PROPERTIES="test_network"
-
-DEPEND="
- app-arch/bzip2:=
- app-arch/xz-utils:=
- app-arch/zstd:=
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- virtual/pkgconfig
- test? (
- dev-lang/python:3.9
- dev-lang/python:3.10
- dev-lang/python:3.11
- dev-lang/python:3.12
- dev-lang/python:3.13
- !!~dev-python/uv-0.5.0
- )
-"
-
-QA_FLAGS_IGNORED="usr/bin/.*"
-
-check_space() {
- local CHECKREQS_DISK_BUILD=3G
- use debug && CHECKREQS_DISK_BUILD=9G
- check-reqs_pkg_setup
-}
-
-pkg_pretend() {
- check_space
-}
-
-pkg_setup() {
- check_space
- rust_pkg_setup
-}
-
-src_prepare() {
- default
-
- # force thin lto, makes build much faster and less memory hungry
- # (i.e. makes it possible to actually build uv on 32-bit PPC)
- sed -i -e '/lto/s:fat:thin:' Cargo.toml || die
-
- # enable system libraries where supported
- export ZSTD_SYS_USE_PKG_CONFIG=1
- # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys?
-
- # remove unbundled sources, just in case
- find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die
-
- # bzip2-sys requires a pkg-config file
- # https://github.com/alexcrichton/bzip2-rs/issues/104
- mkdir "${T}/pkg-config" || die
- export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}}
- cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die
- Name: bzip2
- Version: 9999
- Description:
- Libs: -lbz2
- EOF
-
- # uv is now forcing bundled liblzma, sigh
- sed -i -e '/xz/s:"static"::' Cargo.toml || die
-}
-
-src_configure() {
- local myfeatures=(
- test-git
- test-pypi
- test-python
- )
-
- cargo_src_configure --no-default-features
-}
-
-src_compile() {
- cd crates/uv || die
- cargo_src_compile
-}
-
-src_test() {
- cd crates/uv || die
- cargo_src_test --no-fail-fast
-}
-
-src_install() {
- cd crates/uv || die
- cargo_src_install
-
- insinto /etc/xdg/uv
- newins - uv.toml <<-EOF || die
- # These defaults match Fedora, see:
- # https://src.fedoraproject.org/rpms/uv/pull-request/18
-
- # By default ("automatic"), uv downloads missing Python versions
- # automatically and keeps them in the user's home directory.
- # Disable that to make downloading opt-in, and especially
- # to avoid unnecessarily fetching custom Python when the distro
- # package would be preferable. Python builds can still be
- # downloaded manually via "uv python install".
- #
- # https://docs.astral.sh/uv/reference/settings/#python-downloads
- python-downloads = "manual"
-
- # By default ("managed"), uv always prefers self-installed
- # Python versions over the system Python, independently
- # of versions. Since we generally expect users to use that
- # to install old Python versions not in ::gentoo anymore,
- # this effectively means that uv would end up preferring very
- # old Python versions over the newer ones that are provided
- # by the system. Default to using the system versions to avoid
- # this counter-intuitive behavior.
- #
- # https://docs.astral.sh/uv/reference/settings/#python-preference
- python-preference = "system"
- EOF
-}
diff --git a/dev-python/uv/uv-0.11.18.ebuild b/dev-python/uv/uv-0.11.20.ebuild
index 278562102301..278562102301 100644
--- a/dev-python/uv/uv-0.11.18.ebuild
+++ b/dev-python/uv/uv-0.11.20.ebuild
diff --git a/dev-python/uv/uv-0.11.17.ebuild b/dev-python/uv/uv-0.11.21.ebuild
index 0b6f133484f8..278562102301 100644
--- a/dev-python/uv/uv-0.11.17.ebuild
+++ b/dev-python/uv/uv-0.11.21.ebuild
@@ -5,7 +5,7 @@ EAPI=8
CRATES="
"
-RUST_MIN_VER="1.93.0"
+RUST_MIN_VER="1.94.0"
inherit cargo check-reqs
diff --git a/dev-python/uv/uv-0.11.7.ebuild b/dev-python/uv/uv-0.11.7.ebuild
deleted file mode 100644
index 50f10c8a5030..000000000000
--- a/dev-python/uv/uv-0.11.7.ebuild
+++ /dev/null
@@ -1,164 +0,0 @@
-# Copyright 2024-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CRATES="
-"
-RUST_MIN_VER="1.92.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 CC0-1.0
- CDLA-Permissive-2.0 ISC MIT MPL-2.0 Unicode-3.0 Unicode-DFS-2016
- ZLIB BZIP2
-"
-# ring crate
-LICENSE+=" openssl"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 x86"
-IUSE="test"
-RESTRICT="test"
-PROPERTIES="test_network"
-
-DEPEND="
- app-arch/bzip2:=
- app-arch/xz-utils:=
- app-arch/zstd:=
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- virtual/pkgconfig
- test? (
- dev-lang/python:3.9
- dev-lang/python:3.10
- dev-lang/python:3.11
- dev-lang/python:3.12
- dev-lang/python:3.13
- !!~dev-python/uv-0.5.0
- )
-"
-
-QA_FLAGS_IGNORED="usr/bin/.*"
-
-check_space() {
- local CHECKREQS_DISK_BUILD=3G
- use debug && CHECKREQS_DISK_BUILD=9G
- check-reqs_pkg_setup
-}
-
-pkg_pretend() {
- check_space
-}
-
-pkg_setup() {
- check_space
- rust_pkg_setup
-}
-
-src_prepare() {
- default
-
- # force thin lto, makes build much faster and less memory hungry
- # (i.e. makes it possible to actually build uv on 32-bit PPC)
- sed -i -e '/lto/s:fat:thin:' Cargo.toml || die
-
- # enable system libraries where supported
- export ZSTD_SYS_USE_PKG_CONFIG=1
- # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys?
-
- # remove unbundled sources, just in case
- find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die
-
- # bzip2-sys requires a pkg-config file
- # https://github.com/alexcrichton/bzip2-rs/issues/104
- mkdir "${T}/pkg-config" || die
- export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}}
- cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die
- Name: bzip2
- Version: 9999
- Description:
- Libs: -lbz2
- EOF
-
- # uv is now forcing bundled liblzma, sigh
- sed -i -e '/xz/s:"static"::' Cargo.toml || die
-}
-
-src_configure() {
- local myfeatures=(
- test-git
- test-pypi
- test-python
- )
-
- cargo_src_configure --no-default-features
-}
-
-src_compile() {
- cd crates/uv || die
- cargo_src_compile
-}
-
-src_test() {
- cd crates/uv || die
- cargo_src_test --no-fail-fast
-}
-
-src_install() {
- cd crates/uv || die
- cargo_src_install
-
- insinto /etc/xdg/uv
- newins - uv.toml <<-EOF || die
- # These defaults match Fedora, see:
- # https://src.fedoraproject.org/rpms/uv/pull-request/18
-
- # By default ("automatic"), uv downloads missing Python versions
- # automatically and keeps them in the user's home directory.
- # Disable that to make downloading opt-in, and especially
- # to avoid unnecessarily fetching custom Python when the distro
- # package would be preferable. Python builds can still be
- # downloaded manually via "uv python install".
- #
- # https://docs.astral.sh/uv/reference/settings/#python-downloads
- python-downloads = "manual"
-
- # By default ("managed"), uv always prefers self-installed
- # Python versions over the system Python, independently
- # of versions. Since we generally expect users to use that
- # to install old Python versions not in ::gentoo anymore,
- # this effectively means that uv would end up preferring very
- # old Python versions over the newer ones that are provided
- # by the system. Default to using the system versions to avoid
- # this counter-intuitive behavior.
- #
- # https://docs.astral.sh/uv/reference/settings/#python-preference
- python-preference = "system"
- EOF
-}
diff --git a/dev-python/uv/uv-0.11.8.ebuild b/dev-python/uv/uv-0.11.8.ebuild
deleted file mode 100644
index 030c2e92591f..000000000000
--- a/dev-python/uv/uv-0.11.8.ebuild
+++ /dev/null
@@ -1,164 +0,0 @@
-# Copyright 2024-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CRATES="
-"
-RUST_MIN_VER="1.93.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 CC0-1.0
- CDLA-Permissive-2.0 ISC MIT MPL-2.0 Unicode-3.0 Unicode-DFS-2016
- ZLIB BZIP2
-"
-# ring crate
-LICENSE+=" openssl"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
-IUSE="test"
-RESTRICT="test"
-PROPERTIES="test_network"
-
-DEPEND="
- app-arch/bzip2:=
- app-arch/xz-utils:=
- app-arch/zstd:=
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- virtual/pkgconfig
- test? (
- dev-lang/python:3.9
- dev-lang/python:3.10
- dev-lang/python:3.11
- dev-lang/python:3.12
- dev-lang/python:3.13
- !!~dev-python/uv-0.5.0
- )
-"
-
-QA_FLAGS_IGNORED="usr/bin/.*"
-
-check_space() {
- local CHECKREQS_DISK_BUILD=3G
- use debug && CHECKREQS_DISK_BUILD=9G
- check-reqs_pkg_setup
-}
-
-pkg_pretend() {
- check_space
-}
-
-pkg_setup() {
- check_space
- rust_pkg_setup
-}
-
-src_prepare() {
- default
-
- # force thin lto, makes build much faster and less memory hungry
- # (i.e. makes it possible to actually build uv on 32-bit PPC)
- sed -i -e '/lto/s:fat:thin:' Cargo.toml || die
-
- # enable system libraries where supported
- export ZSTD_SYS_USE_PKG_CONFIG=1
- # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys?
-
- # remove unbundled sources, just in case
- find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die
-
- # bzip2-sys requires a pkg-config file
- # https://github.com/alexcrichton/bzip2-rs/issues/104
- mkdir "${T}/pkg-config" || die
- export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}}
- cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die
- Name: bzip2
- Version: 9999
- Description:
- Libs: -lbz2
- EOF
-
- # uv is now forcing bundled liblzma, sigh
- sed -i -e '/xz/s:"static"::' Cargo.toml || die
-}
-
-src_configure() {
- local myfeatures=(
- test-git
- test-pypi
- test-python
- )
-
- cargo_src_configure --no-default-features
-}
-
-src_compile() {
- cd crates/uv || die
- cargo_src_compile
-}
-
-src_test() {
- 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/uvicorn/Manifest b/dev-python/uvicorn/Manifest
index 512ce9413032..80f0fef5a47f 100644
--- a/dev-python/uvicorn/Manifest
+++ b/dev-python/uvicorn/Manifest
@@ -1,5 +1,3 @@
-DIST uvicorn-0.46.0.tar.gz 88758 BLAKE2B b2ea96cf8985d5cee09edb119d0198bc901c8167b6f05bdf4528a0407a571fc0ad814dbf4fd7ac7a20a66d355bcbb1bfbf9bcf1656d94e12d875d7583fe4cfdb SHA512 409d162e597ca5ee8a0155e885f706914e449b1316be6e45401a6ee606997035ccd3950a6841a4bd6daf594dc779420ad35b47479a229fa599821018cc7a4e4b
-DIST uvicorn-0.46.0.tar.gz.provenance 9204 BLAKE2B f96dea92f1167050ec785b67fae0a9b89d9e8aebc17d2f299beb3dd3c0627e9a07cf69011b88c0880c37e6f1e45c97cf00900c182afd305689c2a875901f847b SHA512 38e22587c3f1ff4508c19b1bc67da378b7c4c0b006467ac70ec42f8b77f57014836a8e519c6bf3918d4965677ca3acb333f020e512a3e17314facbb4b53a52dd
DIST uvicorn-0.47.0.tar.gz 90582 BLAKE2B f37c8705b37daf7bb1dd6baf6baa3e310354fce4ffc96d0f4c2e3e57e6cd4ca500a37a8f0057200334c233130f774544b4b0c5939a659fbc53f549751d59a64e SHA512 877518bdaf9f3bb734353949461dd3eec49e24129afcb6a82a908af101cd54acd8364be07fc5b03cd02260577faa3c709574e4e0cbd44ee59922d7b2e2099f92
DIST uvicorn-0.47.0.tar.gz.provenance 9431 BLAKE2B cd6f6ee3a48e788aa5161d1d9fc9066ce49456042c98acdd46adaea60439870f7c6276ab14793a040736aaf497e1b1b82f2e6a010ae8ec445ab29b2a44eaa4c1 SHA512 b0a4fb992aaeca52774751137070e8fd26d55e61491efae97454f37ea043bf437e455775f1b3ba99b95b603da21a8feda54d295dac83dbb0f5957a0b8f653162
DIST uvicorn-0.48.0.tar.gz 91074 BLAKE2B 39b7133a0a83a3f8b09b95288132ef2ed689a8d6df4cdbb6b3e1f18828be579f4db1d64a5385fbbb2d70c06d6918fbe9c6d5bf1582a4ddf1b0f1153d57dec96d SHA512 00215d19b95ff050ff60455e32aacc157950aa10062f11acfc50e919e58f67ed8bfe7d65a5fe57f63e46e1bfb854637436557e94b120bf1567d374bf2c42f9ae
diff --git a/dev-python/uvicorn/uvicorn-0.46.0.ebuild b/dev-python/uvicorn/uvicorn-0.46.0.ebuild
deleted file mode 100644
index 0889bced7bed..000000000000
--- a/dev-python/uvicorn/uvicorn-0.46.0.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 2021-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYPI_VERIFY_REPO=https://github.com/Kludex/uvicorn
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="Lightning-fast ASGI server implementation"
-HOMEPAGE="
- https://www.uvicorn.org/
- https://github.com/Kludex/uvicorn/
- https://pypi.org/project/uvicorn/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="test-rust"
-
-RDEPEND="
- >=dev-python/asgiref-3.4.0[${PYTHON_USEDEP}]
- >=dev-python/click-7.0[${PYTHON_USEDEP}]
- >=dev-python/h11-0.8[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/a2wsgi[${PYTHON_USEDEP}]
- >=dev-python/httptools-0.6.3[${PYTHON_USEDEP}]
- >=dev-python/httpx-0.28[${PYTHON_USEDEP}]
- dev-python/python-dotenv[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- >=dev-python/websockets-10.4[${PYTHON_USEDEP}]
- dev-python/wsproto[${PYTHON_USEDEP}]
- test-rust? (
- dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/trustme[${PYTHON_USEDEP}]
- >=dev-python/watchfiles-0.20[${PYTHON_USEDEP}]
- )
- )
-"
-
-EPYTEST_PLUGINS=( anyio pytest-mock )
-EPYTEST_RERUNS=5
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # too long path for unix socket
- tests/test_config.py::test_bind_unix_socket_works_with_reload_or_workers
- # TODO
- 'tests/protocols/test_http.py::test_close_connection_with_multiple_requests[httptools]'
- 'tests/protocols/test_websocket.py::test_send_binary_data_to_server_bigger_than_default_on_websockets[httptools-max=defaults sent=defaults+1]'
- 'tests/protocols/test_websocket.py::test_send_binary_data_to_server_bigger_than_default_on_websockets[h11-max=defaults sent=defaults+1]'
- # tests broken with non-ancient dev-python/websockets
- tests/protocols/test_websocket.py::test_fragmented_message_exceeding_max_size
- tests/protocols/test_websocket.py::test_fragmented_message_reassembly
- )
- case ${EPYTHON} in
- pypy3*)
- # TODO
- EPYTEST_DESELECT+=(
- tests/middleware/test_logging.py::test_running_log_using_fd
- )
- ;;
- esac
-
- epytest
-}
-
-pkg_postinst() {
- optfeature "auto reload on file changes" dev-python/watchfiles
-}
diff --git a/dev-python/uvicorn/uvicorn-0.47.0.ebuild b/dev-python/uvicorn/uvicorn-0.47.0.ebuild
index 371c33d8921e..db95c771b33a 100644
--- a/dev-python/uvicorn/uvicorn-0.47.0.ebuild
+++ b/dev-python/uvicorn/uvicorn-0.47.0.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
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"
IUSE="test-rust"
RDEPEND="
diff --git a/dev-python/vcrpy/Manifest b/dev-python/vcrpy/Manifest
index b2bca6609420..bd3d0b22f657 100644
--- a/dev-python/vcrpy/Manifest
+++ b/dev-python/vcrpy/Manifest
@@ -1 +1,2 @@
DIST vcrpy-8.1.1.gh.tar.gz 339641 BLAKE2B 140678b9d8ba38ac6c3492fcfe35ffaa9db17b9e07d52554466a84b5bf0ddb7d932eab8d009f20dd1e74722cf56c330b6bcb3c58245dac04613f480aca8586e2 SHA512 3596c1ca34dc9f9f461579e9f4ec64395d028abd8180388af664078a0cb9dd557aee3b5a654ff6873b63969865f9ac3c6e021ba1ac302c11def090d873ae5bf2
+DIST vcrpy-8.2.0.gh.tar.gz 342891 BLAKE2B 1ac45a640cb8204c666b8f7f1ebc64a17c39abc08551d4d683d25beb1b2ab14723de64beed063b7e8e6e79bd926bbade7f48dc2a49802e404f031d79b9e1aae1 SHA512 97c621e12360f0de7c108b3914ee604d7d9abdf49c435addae687f4b732600a0a77a92b97447a518b6d1c42581781ee91c5cb714cfcdfb94c30afd8439f728da
diff --git a/dev-python/vcrpy/vcrpy-8.2.0.ebuild b/dev-python/vcrpy/vcrpy-8.2.0.ebuild
new file mode 100644
index 000000000000..2d2a8bacfbe4
--- /dev/null
+++ b/dev-python/vcrpy/vcrpy-8.2.0.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Automatically mock your HTTP interactions to simplify and speed up testing"
+HOMEPAGE="
+ https://github.com/kevin1024/vcrpy/
+ https://pypi.org/project/vcrpy/
+"
+SRC_URI="
+ https://github.com/kevin1024/vcrpy/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc ~x86"
+
+RDEPEND="
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.22.0[${PYTHON_USEDEP}]
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ dev-python/wrapt[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/httplib2-0.9.1[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/httpx2[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{asyncio,httpbin} )
+EPYTEST_RERUNS=5
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # aiohttp incompatibility
+ tests/transport/aio/test_aiohttp.py::TestRequest::test_request_clone_with_active_session
+ # Internet
+ "tests/integration/test_urllib3.py::test_post[https]"
+ )
+
+ local EPYTEST_IGNORE=(
+ # requires boto3
+ tests/integration/test_boto3.py
+ # Internet
+ tests/integration/test_tornado.py
+ tests/integration/test_aiohttp.py
+ )
+
+ local -x REQUESTS_CA_BUNDLE=$("${EPYTHON}" -m pytest_httpbin.certs)
+ epytest -m 'not online'
+}
diff --git a/dev-python/vcsgraph/Manifest b/dev-python/vcsgraph/Manifest
new file mode 100644
index 000000000000..0334b1906ffc
--- /dev/null
+++ b/dev-python/vcsgraph/Manifest
@@ -0,0 +1,2 @@
+DIST vcsgraph-0.3.0-crates.tar.xz 1958984 BLAKE2B e315d3dca011e5ad422e4944a2972ca8698c3b8993e7c7f8be6c81a9dd04e6188a2ad41432ed6364713ecc7037f484c6c4812af5f783f15779b4ddaaead9bb0c SHA512 73e3a54e2a5aae51135c73c72316f49e0d52f4ccef7dc3a1540b1040d47a334d7a19ddaca841009dc01fa7aa36daea337df417cfd976c90b9fc0e57f0bb82d00
+DIST vcsgraph-0.3.0.gh.tar.gz 101890 BLAKE2B 5508bc0d5b480decaba64f98a598d0cd1168f5869e316820cf948538b3cdcf2575d8038e5d01765ad8594cceae3b7fa255958c32ec07424e784eacf4f1477d2e SHA512 8e60badda65836a9ecc2a1d9558395c3f7e856d7fc5d2bbce7639c288d41fadb6a343f1df3f0c42592eb842ac0789e2df356ba77e81e6e784d7fe4bfa7e1566b
diff --git a/dev-python/m2crypto/metadata.xml b/dev-python/vcsgraph/metadata.xml
index acfe7097587e..acfe7097587e 100644
--- a/dev-python/m2crypto/metadata.xml
+++ b/dev-python/vcsgraph/metadata.xml
diff --git a/dev-python/vcsgraph/vcsgraph-0.3.0.ebuild b/dev-python/vcsgraph/vcsgraph-0.3.0.ebuild
new file mode 100644
index 000000000000..b2b6b926f3f0
--- /dev/null
+++ b/dev-python/vcsgraph/vcsgraph-0.3.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES=""
+RUST_MIN_VER="1.83"
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit cargo distutils-r1
+
+DESCRIPTION="Graph algorithms for version control systems"
+HOMEPAGE="https://pypi.org/project/vcsgraph/ https://github.com/breezy-team/vcsgraph"
+SRC_URI="https://github.com/breezy-team/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+SRC_URI+=" https://github.com/gentoo-crate-dist/${PN}/releases/download/v${PV}/${P}-crates.tar.xz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+BDEPEND="
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ eunittest
+}
diff --git a/dev-python/vector/Manifest b/dev-python/vector/Manifest
index 0a39e3b6da58..68cec98f63ab 100644
--- a/dev-python/vector/Manifest
+++ b/dev-python/vector/Manifest
@@ -1,4 +1,2 @@
-DIST vector-1.8.0.tar.gz 387493 BLAKE2B f858c435f1a6ba4c2bd2fa609171e207fe06494fa125fbe266535404d4834e9f2b72ca0a3ca6b805e34b8e6221778553c6b96cf72d95f79a76f58e84531b1156 SHA512 2c8129f548285b8bbcfbbaf084358dd15fe11ac3de2b3646b6434a3ed26bb85124b4957f736e6aa24d43fb6e8c35726eea7c5260b6e27a4315ea3500cc2a2bf6
-DIST vector-1.8.0.tar.gz.provenance 9195 BLAKE2B 4cbd5974ae64e9dfc39c4540f087474e86b8d0afe5951f0163c8c36c207d9a6ac417e43941b7ca33bf266701709146d3ece90c74eeb8f070c45f40b5c8e466a4 SHA512 dd494c9c5b7fa2f2e6972cbd73e2c79fa7c329aea751005b256339b5b6e9793c905bfb1d58b989fd0e758271cc451edb871e7bb912259e2285326cb430d2cfdc
DIST vector-1.8.1.tar.gz 387964 BLAKE2B 2597dfbcae38c4abf81c1790c567e9a2e5a15ed1970337ab4eb3aebc0b1e1e2a7754007366289d06f80b566b5147e6d78e58b28765c7468fa7c92c4da99a4156 SHA512 284c30a3e10563adc6376fee9ab008555052c8ed37240daf3e2c85c0fa396e4e4cebdb52ae5178fa6be307feccc2befc07b6b2f3095ef2873695226b13675f84
DIST vector-1.8.1.tar.gz.provenance 9438 BLAKE2B 32036877fe798eb0a55e68eea8db0a4484ad54d2497b10123762ae5f338bfe75b444b74ab066593c417a61c6e95386349470368363dd49628c77aa0dce881fad SHA512 ef611d21c83603c7b52ee64223fc3695a639e0195956aa4cc68cba247103eda64040944aac2c455d2d76a8a43bc039e9d5731dfcf5514b755ed91c94bfcf1a67
diff --git a/dev-python/vector/vector-1.8.0.ebuild b/dev-python/vector/vector-1.8.0.ebuild
deleted file mode 100644
index ba7e2779a1b7..000000000000
--- a/dev-python/vector/vector-1.8.0.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2025-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{13..14} )
-PYPI_VERIFY_REPO=https://github.com/scikit-hep/vector
-DISTUTILS_USE_PEP517=hatchling
-
-inherit distutils-r1 pypi optfeature
-
-DESCRIPTION="Vector classes and utilities"
-HOMEPAGE="
- https://github.com/scikit-hep/vector/
- https://pypi.org/project/vector/
- https://vector.readthedocs.io/
- https://doi.org/10.5281/zenodo.7054478
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/numpy-1.19.3[${PYTHON_USEDEP}]
- >=dev-python/packaging-20[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- dev-python/awkward[${PYTHON_USEDEP}]
- dev-python/sympy[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_IGNORE=(
- # no module named papermill
- tests/test_notebooks.py
- # testing for exact (not mathematical) equality against sympy
- # which changes without being wrong...
- tests/compute/sympy/lorentz/
-)
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-pkg_postinst() {
- optfeature "awkward array support" dev-python/awkward
- optfeature "sympy support" dev-python/sympy
-}
diff --git a/dev-python/virtualenv/Manifest b/dev-python/virtualenv/Manifest
index 910e13fbdf68..0054e76a40cf 100644
--- a/dev-python/virtualenv/Manifest
+++ b/dev-python/virtualenv/Manifest
@@ -2,7 +2,7 @@ DIST virtualenv-20.39.1.tar.gz 5870061 BLAKE2B 30fb2c107616c080935ede0ea2e72e5b7
DIST virtualenv-20.39.1.tar.gz.provenance 9445 BLAKE2B 39909e09db2ab5b8fdd9a192943e3e8279a16efd2c55a88dca6c2f76bb86b78d569d6e9a8a6ef8415a6805d42a0967f0862609eb9a59a5ef7bf35dbfb3a55a51 SHA512 6c7f752fc702cfb00005215186fc6062a30f319d5d22457abc7a98ee9fbc8e7e466aa6b0af319ff3a98dde013e98759f16100003012c00e644ae91982ceaf157
DIST virtualenv-21.3.3.tar.gz 7613784 BLAKE2B b196f2e02c44aca34d53f1e0208bb8b6a10523dc6f59cb4a7dca0b6141c807dd807f61e05832ec5efc027af3d8823cbb5c3e09a9c2ea834fec694571f863b140 SHA512 f3e7c71f2fafa0bff05aba89bc0cb2e2eede0c6ed5373fb253a6ac59f103505108671e5c19866562146723ea9630fc472dade53498c4fb97d6ec5c8e1c125d19
DIST virtualenv-21.3.3.tar.gz.provenance 9284 BLAKE2B 87ae9b8009c397d949d9fafecafd4690e1bf034edd70287b589ca0a96476087ceba27fffe608a60361a370f80d3b3b9e89cd801a8a41f89441cf24464105b655 SHA512 8c957c4dcaa13886bb03fb52a5a29ad632fa48effbdd7273baf6985c376d760a0b00b5dd0fca6a641baf91b1431b7319beee2916676926ee9c2d57cf49bd778d
-DIST virtualenv-21.4.1.tar.gz 7613344 BLAKE2B 5201f4cd0f15c8b2b3a4f4c1b6314c74a6fffe93d34e53668cb3f52c6a5973136dc9e1977ba472331b9186a307840e8178bf5fff19a12dffd46ed3d6cbb1bd4a SHA512 63fbf026545093eb3708e1a107ec70327300d098492dedf0e5da56da8c42ee003b74933f7bca6af5a8b7a9fcee10716e410f1879e7e435d5cd181de768ccc70d
-DIST virtualenv-21.4.1.tar.gz.provenance 9418 BLAKE2B a8386626be7b4e0ef19366ce79af229fc1fe61d47e36326bd25dbe8c9d508c25043df0406392fd30a8530d258435273521893a2465f9ce9a9355a3e6ae562eb6 SHA512 d89ac037acac74cd59c08811724e34bec75539ad41d1999876612bd1f41e89f3d9469ae8ee418fcbf47f64f403330bdf31eaf2b4613236d147a4b0934b2127fc
-DIST virtualenv-21.4.2.tar.gz 7613326 BLAKE2B 227f61befd08125224ca35863d547dbb54e0dbe9629f7a777354e77af01117fc240a82c94147347f360a459335938c4105c846a26df88823f55d76bcdce81050 SHA512 5e42f3a751b274284bf3885a964d3e855c0edc24a8a0d676c58645c91f54050202540273023e21d49f0fa25a0a195777296b3cb3e3e76202f2f6328846623897
-DIST virtualenv-21.4.2.tar.gz.provenance 9743 BLAKE2B 9a5ceb18961346943e7cc937d7453dcdca8322b5ae59c2248b06f6a564f9e50e6b67dc30da7b7658a83e3ef5307da3010eebf4585798c47dee742bdbf28c75d2 SHA512 ecfa3182d925867c8fcf83773a3f2246dfd1b8bdd8a48bb92325d32bebe0d0e372dfc6c5608b0f2cf7f6926a230d098e9c7a2e57b4525680116dd42d9042531a
+DIST virtualenv-21.4.3.tar.gz 7644454 BLAKE2B ef289a57f1cad1c42aa0bb38624a0abd37323538ca6b60397b12b0cdb2a60fb2b02fa02c0b72681bb062573a2c245b8b67538d32ab5b2cb0ae0082a1458ca61f SHA512 4ed4d90ab17871c4738102a3186593669b2fcf2c5f512949e995251636bcc58fb6b50f74db13dff40fdf4cb3d9e73acd8bf9db429960b28e5c9ab5d2ac684e3c
+DIST virtualenv-21.4.3.tar.gz.provenance 9500 BLAKE2B d5adf2b90488d9d0728101d7ecebb593350d07d0f1b08f0acd67847f22b99a7b1b8d1fd082fe739bc927fd79c75cda1f55cf39b2b8467fa8ddaa6178505d1909 SHA512 6c5dfc394d1c95c161c30235994b2066127653678430e69b769dc50ed2a007b6703379eb8c495d1395b953ec67d797ad1e4433121cdfd6fc722367937ac5178a
+DIST virtualenv-21.5.0.tar.gz 4577424 BLAKE2B 16f683b0c124478cd6dbd2eb4b4ad89c283c0669fe96062c199ae3e230e3009f5cd18066f4e98eeec3f6fab5f7bc04fbb5f1ecdafe2599d2bce13218fd8a5b2e SHA512 214d487e71fa30814982ea79979d37fd76f9dd175d47bbaa8704b917e917d348ad6a5352faf9a1fbd66cec40a51a7beb5b7a8d5f2adfba45f98de52c570b30fe
+DIST virtualenv-21.5.0.tar.gz.provenance 9555 BLAKE2B e9e6410cc70900f98d039924e0fe95e1e8ff483f0b4e9072ead40f3ebfb80ee9b10c043d12f47cccada8037901a4e38f6cccfa979fd8fd08d36612a40d6f9950 SHA512 683baa83889889292ebeb5646662c91598bfdef6653a04ee07cd3e8dbb7ebd1647cb8a41544ae52ea4860a04a16eba0ab230bee49d4b67c4319be0e335abd796
diff --git a/dev-python/virtualenv/virtualenv-21.4.1.ebuild b/dev-python/virtualenv/virtualenv-21.4.3.ebuild
index fe5a4cc2ea91..41eb5014a19f 100644
--- a/dev-python/virtualenv/virtualenv-21.4.1.ebuild
+++ b/dev-python/virtualenv/virtualenv-21.4.3.ebuild
@@ -27,7 +27,7 @@ RDEPEND="
>=dev-python/distlib-0.3.7[${PYTHON_USEDEP}]
>=dev-python/filelock-3.24.2[${PYTHON_USEDEP}]
>=dev-python/platformdirs-3.9.1[${PYTHON_USEDEP}]
- >=dev-python/python-discovery-1.4[${PYTHON_USEDEP}]
+ >=dev-python/python-discovery-1.4.2[${PYTHON_USEDEP}]
dev-python/ensurepip-pip
>=dev-python/ensurepip-setuptools-70.1
diff --git a/dev-python/virtualenv/virtualenv-21.4.2.ebuild b/dev-python/virtualenv/virtualenv-21.5.0.ebuild
index fe5a4cc2ea91..41eb5014a19f 100644
--- a/dev-python/virtualenv/virtualenv-21.4.2.ebuild
+++ b/dev-python/virtualenv/virtualenv-21.5.0.ebuild
@@ -27,7 +27,7 @@ RDEPEND="
>=dev-python/distlib-0.3.7[${PYTHON_USEDEP}]
>=dev-python/filelock-3.24.2[${PYTHON_USEDEP}]
>=dev-python/platformdirs-3.9.1[${PYTHON_USEDEP}]
- >=dev-python/python-discovery-1.4[${PYTHON_USEDEP}]
+ >=dev-python/python-discovery-1.4.2[${PYTHON_USEDEP}]
dev-python/ensurepip-pip
>=dev-python/ensurepip-setuptools-70.1
diff --git a/dev-python/wcwidth/Manifest b/dev-python/wcwidth/Manifest
index 4f274fe090c0..a6ca5a0b37b8 100644
--- a/dev-python/wcwidth/Manifest
+++ b/dev-python/wcwidth/Manifest
@@ -1,2 +1,3 @@
-DIST wcwidth-0.6.0.tar.gz 159684 BLAKE2B 3647b66f6301feace59014ce1679ad1e9e05ca0669aaecefb72117cc535239020f4c2474a7f06609f8bd5cca7ca02b0fbe64fa85f445e42bfb7a61ca600a75de SHA512 d378d05643ab33d21ad9f284a7120961758d5d205d62da7d0a7a7113b8b2eb090465d25238d9e0e2e2bf6d597aa7e41292adfd2896cbefe2f1851672e0ed0f9b
DIST wcwidth-0.7.0.tar.gz 182132 BLAKE2B 97f800c3022425cfe245c5d0ec8b268aae9cadd12c7d49c2296146719158131c9f82da9be65b6e258b5c9a26f983b09c794b64e296827c5559eb7543068bb3a0 SHA512 5b8316ceb5be72e1eea2fc18ae4a237e726f6d649ef773aa6d4a3f8c75aae9bb1df83de7bbe24c97ee6dfa66b6eaa0ae462e22cc054f5965dc6c9e263fb504bc
+DIST wcwidth-0.8.0.tar.gz 1305357 BLAKE2B de06f5ced279ca7424d9ed133de0c09d70644b914da8626ddb14f499a576083bd7d382495bf63ef4073a95c90ba57a03efd9caa4376b968454616bd5f11e4c36 SHA512 8a428b56a6aa1a6cce348140486fbf21348271d0132c748c47319b29273e04255651435f4ba8c1ba70ec9d4b2e9585f9d4ec182b5f82d3e083e363c13a6f1dbf
+DIST wcwidth-0.8.1.tar.gz 1466072 BLAKE2B 8365a3965baba25700f8ea7b3ddfb09080dc3eef87f6e286246413723354305d24d396eadc0c440d335274d83aa6b96eee0a56931c11e37ccaa950c320f53045 SHA512 b8c44555efa608ee63a643e1661e41b8e8da1338446ea08b8c6c1163ece55ed52537c60f4c7d1b65cbc0a25a5896d614d473a1ffe0dbaf4d35c9f7338a773cd8
diff --git a/dev-python/wcwidth/wcwidth-0.6.0.ebuild b/dev-python/wcwidth/wcwidth-0.8.0.ebuild
index 5fac730da5ca..75230a0cfae8 100644
--- a/dev-python/wcwidth/wcwidth-0.6.0.ebuild
+++ b/dev-python/wcwidth/wcwidth-0.8.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 ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
diff --git a/dev-python/wcwidth/wcwidth-0.8.1.ebuild b/dev-python/wcwidth/wcwidth-0.8.1.ebuild
new file mode 100644
index 000000000000..75230a0cfae8
--- /dev/null
+++ b/dev-python/wcwidth/wcwidth-0.8.1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Measures number of Terminal column cells of wide-character codes"
+HOMEPAGE="
+ https://pypi.org/project/wcwidth/
+ https://github.com/jquast/wcwidth/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -o addopts=
+}
+
+python_install_all() {
+ docinto docs
+ dodoc docs/intro.rst
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/webob/webob-1.8.10.ebuild b/dev-python/webob/webob-1.8.10.ebuild
index 96505a116aff..1722c15d2fa6 100644
--- a/dev-python/webob/webob-1.8.10.ebuild
+++ b/dev-python/webob/webob-1.8.10.ebuild
@@ -26,7 +26,6 @@ RDEPEND="
' 3.{13..14})
"
-distutils_enable_sphinx docs 'dev-python/alabaster'
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
diff --git a/dev-python/ytmusicapi/Manifest b/dev-python/ytmusicapi/Manifest
index 76793ca7cbe0..1084dd2abd13 100644
--- a/dev-python/ytmusicapi/Manifest
+++ b/dev-python/ytmusicapi/Manifest
@@ -1,4 +1,4 @@
-DIST ytmusicapi-1.11.5.tar.gz 413046 BLAKE2B ad3a4cd5519c84e80e0fe802b8af011805d02f90299010b47dbe081ef9dcc462c92e8d3cde55e1c7ac4b541bd91b6093defb00d315281f681eedde8a8ae76060 SHA512 63be541a3c7615e2ac430359c844b77c83bb1c9c382c9c3b91eb314988be5179371deb10c46cec62d0b0db8217e870d9f2da27888bc77bcd88e4d1f44e337d41
-DIST ytmusicapi-1.11.5.tar.gz.provenance 9560 BLAKE2B caffeb4d14af62940f214b14bbb50c02ecd7432fdd2e443214a6293079bec76df51c60847542a308ce8b6b4043d0d5ab4ac2842edbfa2867454b3cc4c1a46df9 SHA512 681bdd38d3b3476540780482bb182eb24d62991eb9095b0187054aba58c105093deedd6b2800150cbd1ab53d73620dbbd02d4bc2a0fe76f8ed4e11a671688280
DIST ytmusicapi-1.12.0.tar.gz 434631 BLAKE2B be43548b2a1cca0e8d4eb1c4bf98f9bb0eff5578b97fe5ceb2358733cf73d991a51d4e50a3b1cdbf10fb7e702fe096ff5f713083637205adddc1a9f43ca4b71b SHA512 1b2ea9ab262622c188435954c3d61175ca474b7c66f7deaec7ec9bae881afe02918de593006b838c3a887d83b62802d1e25f81d880dbe23795cd05b39b83d8c5
DIST ytmusicapi-1.12.0.tar.gz.provenance 9670 BLAKE2B 773dce972309fd00c9224cddebfb20fb81edb6834bfae51982fe5bb75a5982a8770d135ea7d1720df27c905142ab5aa9f76ec5543df0affa17df00b80f466df4 SHA512 6edad245fa30a5d5972933bcaa1ed97ee695bca048de61cdc4bded4743fe3cc81f1b92a581454fe7fa90332bc54fa4445944cf85f977acd5c1e8843848f237f1
+DIST ytmusicapi-1.12.1.tar.gz 529510 BLAKE2B cef4d2ec3920f99a746acc00f5dbc73f45cda4d69104092a6eb09017c5b84ef08eec898e9001281e22ea413b5cfbedcf5b286cfc88ca6f4094fbd13e479aab0b SHA512 f9945a0d61effa33fdf37565531aa3231e670ae6620e5c5d0bbfba69dabf9b5e5f4146786c61f6f0ac2c2b8a1a9ddb01b6c3f299158a4a8997c3bd7898c438e7
+DIST ytmusicapi-1.12.1.tar.gz.provenance 9753 BLAKE2B 373a26b3457de0a79aba637ae5a09db24ecdd1b124781271e48e9c56c75b75dcaf2afc52186c9e8ed660f7cb710d43c939c4aaf56a396affdd094ec6c4a623c9 SHA512 64598df0153be73c30a63f2815159f0c025504b17f5bf2e43dd49c2aee0def06232dbacbfb72f00fce9de929f276e624c751e01403eccd91165bdd8ec084388c
diff --git a/dev-python/ytmusicapi/ytmusicapi-1.11.5.ebuild b/dev-python/ytmusicapi/ytmusicapi-1.12.1-r1.ebuild
index f59521e168e0..d469f6a3d6e9 100644
--- a/dev-python/ytmusicapi/ytmusicapi-1.11.5.ebuild
+++ b/dev-python/ytmusicapi/ytmusicapi-1.12.1-r1.ebuild
@@ -18,11 +18,11 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~x86"
+KEYWORDS="~amd64 ~x86"
RESTRICT="test"
RDEPEND="
dev-python/requests[${PYTHON_USEDEP}]
"
-distutils_enable_sphinx docs/source dev-python/sphinx-rtd-theme
+distutils_enable_sphinx docs/source dev-python/sphinx-autodoc-typehints dev-python/sphinx-rtd-theme