summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/absl-py/Manifest1
-rw-r--r--dev-python/absl-py/absl-py-2.3.0.ebuild81
-rw-r--r--dev-python/ansible-pygments/ansible-pygments-0.1.1-r1.ebuild4
-rw-r--r--dev-python/ansicolor/ansicolor-0.3.2-r1.ebuild4
-rw-r--r--dev-python/ansicolor/ansicolor-9999.ebuild4
-rw-r--r--dev-python/antlr4-python3-runtime/antlr4-python3-runtime-4.13.2.ebuild4
-rw-r--r--dev-python/anyioutils/anyioutils-0.7.3.ebuild3
-rw-r--r--dev-python/apache-libcloud/apache-libcloud-3.8.0-r1.ebuild4
-rw-r--r--dev-python/argparse-addons/argparse-addons-0.12.0.ebuild4
-rw-r--r--dev-python/asteval/asteval-1.0.6.ebuild2
-rw-r--r--dev-python/aws-xray-sdk/aws-xray-sdk-2.14.0.ebuild4
-rw-r--r--dev-python/backrefs/backrefs-5.8.ebuild2
-rw-r--r--dev-python/basho-erlastic/basho-erlastic-2.1.1-r1.ebuild4
-rw-r--r--dev-python/bibtexparser/bibtexparser-1.4.3.ebuild4
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.38.24.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.38.24.ebuild75
-rw-r--r--dev-python/braintree/braintree-4.35.0.ebuild2
-rw-r--r--dev-python/breathe/breathe-4.36.0.ebuild2
-rw-r--r--dev-python/btrfsutil/btrfsutil-6.14.ebuild2
-rw-r--r--dev-python/canonicaljson/canonicaljson-2.0.0.ebuild4
-rw-r--r--dev-python/cfgv/cfgv-3.4.0.ebuild4
-rw-r--r--dev-python/cheetah3/cheetah3-3.4.0.ebuild2
-rw-r--r--dev-python/clang/clang-21.0.0.9999.ebuild2
-rw-r--r--dev-python/clang/clang-21.0.0_pre20250523.ebuild2
-rw-r--r--dev-python/click-log/click-log-0.4.0.ebuild4
-rw-r--r--dev-python/click-threading/click-threading-0.5.0-r1.ebuild4
-rw-r--r--dev-python/colour/colour-0.1.5-r1.ebuild4
-rw-r--r--dev-python/configclass/configclass-0.2.0-r1.ebuild4
-rw-r--r--dev-python/configobj/configobj-5.0.9.ebuild4
-rw-r--r--dev-python/configshell-fb/configshell-fb-2.0.2.ebuild2
-rw-r--r--dev-python/crcmod/crcmod-1.7-r5.ebuild4
-rw-r--r--dev-python/cryptography/Manifest2
-rw-r--r--dev-python/cryptography/cryptography-45.0.3.ebuild (renamed from dev-python/cryptography/cryptography-45.0.2.ebuild)0
-rw-r--r--dev-python/css-parser/css-parser-1.0.10.ebuild2
-rw-r--r--dev-python/cssutils/cssutils-2.11.1.ebuild7
-rw-r--r--dev-python/cwcwidth/cwcwidth-0.1.10.ebuild2
-rw-r--r--dev-python/dictdiffer/dictdiffer-0.9.0-r1.ebuild2
-rw-r--r--dev-python/discid/discid-1.2.0-r1.ebuild4
-rw-r--r--dev-python/doublex/doublex-1.9.6.1.ebuild4
-rw-r--r--dev-python/editorconfig/editorconfig-0.17.0.ebuild4
-rw-r--r--dev-python/emoji/emoji-2.14.1.ebuild2
-rw-r--r--dev-python/enrich/enrich-1.2.7-r1.ebuild4
-rw-r--r--dev-python/events/events-0.5.ebuild4
-rw-r--r--dev-python/eyed3/eyed3-0.9.8.ebuild2
-rw-r--r--dev-python/fastbencode/fastbencode-0.3.2.ebuild2
-rw-r--r--dev-python/faust-cchardet/faust-cchardet-2.1.19.ebuild4
-rw-r--r--dev-python/ffmpeg-python/ffmpeg-python-0.2.0_p20220711-r1.ebuild4
-rw-r--r--dev-python/fido2/fido2-2.0.0.ebuild2
-rw-r--r--dev-python/filetype/filetype-1.2.0.ebuild2
-rw-r--r--dev-python/flask-login/flask-login-0.6.3.ebuild4
-rw-r--r--dev-python/flatbuffers/flatbuffers-25.2.10.ebuild2
-rw-r--r--dev-python/fleep/fleep-1.0.1-r1.ebuild4
-rw-r--r--dev-python/fleep/fleep-9999.ebuild4
-rw-r--r--dev-python/funcy/funcy-2.0.ebuild4
-rw-r--r--dev-python/genson/genson-1.3.0.ebuild2
-rw-r--r--dev-python/greenstalk/greenstalk-2.1.0.ebuild2
-rw-r--r--dev-python/gssapi/gssapi-1.9.0.ebuild2
-rw-r--r--dev-python/hatch-vcs/Manifest1
-rw-r--r--dev-python/hatch-vcs/hatch-vcs-0.5.0.ebuild34
-rw-r--r--dev-python/hypothesis/Manifest1
-rw-r--r--dev-python/hypothesis/hypothesis-6.131.30.ebuild130
-rw-r--r--dev-python/identify/identify-2.6.12.ebuild2
-rw-r--r--dev-python/imageio-ffmpeg/imageio-ffmpeg-0.6.0.ebuild2
-rw-r--r--dev-python/imapclient/imapclient-3.0.1.ebuild4
-rw-r--r--dev-python/ioctl-opt/ioctl-opt-1.3.ebuild2
-rw-r--r--dev-python/ipy/ipy-1.01-r1.ebuild4
-rw-r--r--dev-python/ipython/Manifest1
-rw-r--r--dev-python/ipython/ipython-8.34.0-r1.ebuild161
-rw-r--r--dev-python/jq/jq-1.8.0.ebuild4
-rw-r--r--dev-python/jsonext/jsonext-0.4.2-r1.ebuild4
-rw-r--r--dev-python/jsonpath-ng/jsonpath-ng-1.7.0.ebuild4
-rw-r--r--dev-python/jupyter-core/Manifest1
-rw-r--r--dev-python/jupyter-core/jupyter-core-5.8.1.ebuild32
-rw-r--r--dev-python/latexcodec/latexcodec-3.0.0.ebuild4
-rw-r--r--dev-python/libcst/Manifest20
-rw-r--r--dev-python/libcst/libcst-1.8.0.ebuild206
-rw-r--r--dev-python/libusb1/libusb1-3.3.1.ebuild2
-rw-r--r--dev-python/libvirt-python/libvirt-python-11.2.0.ebuild2
-rw-r--r--dev-python/libvirt-python/libvirt-python-9999.ebuild4
-rw-r--r--dev-python/lit/lit-21.0.0.9999.ebuild2
-rw-r--r--dev-python/lit/lit-21.0.0_pre20250523.ebuild2
-rw-r--r--dev-python/logutils/logutils-0.3.5-r1.ebuild2
-rw-r--r--dev-python/lxml-html-clean/lxml-html-clean-0.4.2.ebuild2
-rw-r--r--dev-python/mando/mando-0.8.2.ebuild4
-rw-r--r--dev-python/matrix-common/matrix-common-1.3.0-r1.ebuild4
-rw-r--r--dev-python/mdx-gh-links/mdx-gh-links-0.4.ebuild2
-rw-r--r--dev-python/minimock/minimock-1.3.0-r1.ebuild4
-rw-r--r--dev-python/mmtf-python/mmtf-python-1.1.3.ebuild2
-rw-r--r--dev-python/mpdlcd/mpdlcd-0.5.2-r2.ebuild4
-rw-r--r--dev-python/mrcfile/mrcfile-1.5.4.ebuild2
-rw-r--r--dev-python/netcdf4/netcdf4-1.7.2.ebuild4
-rw-r--r--dev-python/nextinspace/nextinspace-3.0.1.ebuild2
-rw-r--r--dev-python/nextinspace/nextinspace-9999.ebuild4
-rw-r--r--dev-python/nnpy/nnpy-1.4.2-r1.ebuild2
-rw-r--r--dev-python/nodeenv/nodeenv-1.9.1.ebuild4
-rw-r--r--dev-python/nuitka/Manifest1
-rw-r--r--dev-python/nuitka/nuitka-2.7.4.ebuild55
-rw-r--r--dev-python/opt-einsum/opt-einsum-3.4.0.ebuild4
-rw-r--r--dev-python/parver/parver-0.5.ebuild4
-rw-r--r--dev-python/pastel/pastel-0.2.1-r1.ebuild4
-rw-r--r--dev-python/pdfrw/pdfrw-0.4_p1-r1.ebuild4
-rw-r--r--dev-python/pebble/pebble-5.1.1.ebuild2
-rw-r--r--dev-python/pecan/pecan-1.6.0.ebuild2
-rw-r--r--dev-python/phply/phply-1.2.6.ebuild4
-rw-r--r--dev-python/pikepdf/Manifest1
-rw-r--r--dev-python/pikepdf/pikepdf-9.8.1.ebuild72
-rw-r--r--dev-python/pivy/pivy-0.6.10.ebuild2
-rw-r--r--dev-python/pkgcraft/pkgcraft-0.0.11.ebuild2
-rw-r--r--dev-python/pkgcraft/pkgcraft-9999.ebuild4
-rw-r--r--dev-python/plotly/Manifest2
-rw-r--r--dev-python/plotly/plotly-6.1.2.ebuild (renamed from dev-python/plotly/plotly-6.1.0.ebuild)0
-rw-r--r--dev-python/pluginbase/pluginbase-1.0.1-r1.ebuild4
-rw-r--r--dev-python/plyvel/plyvel-1.5.1.ebuild4
-rw-r--r--dev-python/podman/podman-5.4.0.1.ebuild5
-rw-r--r--dev-python/protobuf/files/protobuf-3.20.3-python311.patch132
-rw-r--r--dev-python/protobuf/files/protobuf-4.22.5-c++-17.patch13
-rw-r--r--dev-python/protobuf/files/protobuf-4.22.5-python.patch21
-rw-r--r--dev-python/psycopg/psycopg-2.9.10.ebuild4
-rw-r--r--dev-python/publicsuffix2/publicsuffix2-2.20191221-r2.ebuild4
-rw-r--r--dev-python/puremagic/puremagic-1.29.ebuild2
-rw-r--r--dev-python/pyaml/pyaml-25.1.0.ebuild2
-rw-r--r--dev-python/pyasyncore/pyasyncore-1.0.4.ebuild2
-rw-r--r--dev-python/pychm/pychm-0.8.6-r1.ebuild4
-rw-r--r--dev-python/pyclipper/pyclipper-1.3.0_p6.ebuild4
-rw-r--r--dev-python/pycollada/pycollada-0.9.ebuild2
-rw-r--r--dev-python/pycurl-requests/pycurl-requests-0.5.0-r1.ebuild4
-rw-r--r--dev-python/pydiffx/pydiffx-1.1.ebuild4
-rw-r--r--dev-python/pydyf/pydyf-0.11.0.ebuild4
-rw-r--r--dev-python/pyeclib/pyeclib-1.6.4.ebuild4
-rw-r--r--dev-python/pyghmi/pyghmi-1.6.1.ebuild2
-rw-r--r--dev-python/pygit2/pygit2-1.18.0.ebuild2
-rw-r--r--dev-python/pyh2o/pyh2o-1-r1.ebuild4
-rw-r--r--dev-python/pyhcl/pyhcl-0.4.5.ebuild4
-rw-r--r--dev-python/pykakasi/pykakasi-2.3.0.ebuild2
-rw-r--r--dev-python/pykka/pykka-4.2.0.ebuild2
-rw-r--r--dev-python/pylev/pylev-1.4.0-r1.ebuild4
-rw-r--r--dev-python/pylru/pylru-1.2.1.ebuild4
-rw-r--r--dev-python/pymad/pymad-0.11.3.ebuild4
-rw-r--r--dev-python/pymountboot/pymountboot-0.2.3-r2.ebuild4
-rw-r--r--dev-python/pyocr/pyocr-0.8.5.ebuild4
-rw-r--r--dev-python/pyphen/pyphen-0.17.2.ebuild2
-rw-r--r--dev-python/pysdl2/pysdl2-0.9.17.ebuild4
-rw-r--r--dev-python/pysmi/Manifest1
-rw-r--r--dev-python/pysmi/pysmi-1.6.2.ebuild48
-rw-r--r--dev-python/pyspf/pyspf-2.0.14-r3.ebuild2
-rw-r--r--dev-python/pytest-check/pytest-check-2.5.3.ebuild5
-rw-r--r--dev-python/pytest-httpx/pytest-httpx-0.35.0.ebuild2
-rw-r--r--dev-python/pytest-lazy-fixtures/Manifest1
-rw-r--r--dev-python/pytest-lazy-fixtures/pytest-lazy-fixtures-1.1.4.ebuild31
-rw-r--r--dev-python/pytest-order/pytest-order-1.3.0.ebuild4
-rw-r--r--dev-python/pytest-plus/pytest-plus-0.8.1.ebuild2
-rw-r--r--dev-python/pytest-reserial/pytest-reserial-0.4.3.ebuild2
-rw-r--r--dev-python/python-debian/python-debian-1.0.1.ebuild2
-rw-r--r--dev-python/python-gammu/python-gammu-3.2.4-r1.ebuild4
-rw-r--r--dev-python/python-linux-procfs/python-linux-procfs-0.7.3.ebuild4
-rw-r--r--dev-python/python-ly/python-ly-0.9.9.ebuild2
-rw-r--r--dev-python/python-pam/python-pam-2.0.2-r2.ebuild4
-rw-r--r--dev-python/python-redmine/python-redmine-2.5.0.ebuild4
-rw-r--r--dev-python/python-tests/Manifest5
-rw-r--r--dev-python/python-tests/python-tests-3.11.12_p1.ebuild74
-rw-r--r--dev-python/python-tests/python-tests-3.12.10_p1.ebuild (renamed from dev-python/python-tests/python-tests-3.14.0_beta1.ebuild)15
-rw-r--r--dev-python/python-tests/python-tests-3.13.3_p1-r100.ebuild (renamed from dev-python/python-tests/python-tests-3.14.0_beta1-r100.ebuild)12
-rw-r--r--dev-python/python-tests/python-tests-3.13.3_p1.ebuild69
-rw-r--r--dev-python/python3-discogs-client/python3-discogs-client-2.8.ebuild2
-rw-r--r--dev-python/python3-discogs-client/python3-discogs-client-9999.ebuild4
-rw-r--r--dev-python/pytools/Manifest1
-rw-r--r--dev-python/pytools/pytools-2025.1.6.ebuild31
-rw-r--r--dev-python/pyuca/pyuca-1.2.ebuild4
-rw-r--r--dev-python/pyusb/pyusb-1.3.1.ebuild2
-rw-r--r--dev-python/pyxdameraulevenshtein/pyxdameraulevenshtein-1.8.0.ebuild4
-rw-r--r--dev-python/qiskit/Manifest2
-rw-r--r--dev-python/qiskit/qiskit-2.0.2.ebuild112
-rw-r--r--dev-python/quantities/quantities-0.16.2.ebuild2
-rw-r--r--dev-python/recommonmark/recommonmark-0.7.1-r1.ebuild2
-rw-r--r--dev-python/reedsolo/reedsolo-2.1.1_beta1-r2.ebuild4
-rw-r--r--dev-python/regress/regress-2025.3.1.ebuild2
-rw-r--r--dev-python/requests-oauthlib/requests-oauthlib-2.0.0.ebuild4
-rw-r--r--dev-python/respx/respx-0.22.0-r1.ebuild2
-rw-r--r--dev-python/retry-decorator/retry-decorator-1.1.1-r1.ebuild4
-rw-r--r--dev-python/rply/rply-0.7.8-r1.ebuild4
-rw-r--r--dev-python/sarge/sarge-0.1.7_p1.ebuild4
-rw-r--r--dev-python/selenium/selenium-4.33.0-r1.ebuild2
-rw-r--r--dev-python/setuptools-gettext/setuptools-gettext-0.1.14.ebuild7
-rw-r--r--dev-python/shapely/shapely-2.1.1.ebuild2
-rw-r--r--dev-python/simpervisor/simpervisor-1.0.0-r1.ebuild4
-rw-r--r--dev-python/smbus2/smbus2-0.5.0.ebuild4
-rw-r--r--dev-python/soundfile/soundfile-0.13.1.ebuild2
-rw-r--r--dev-python/speg/speg-0.3_p20180819-r2.ebuild4
-rw-r--r--dev-python/sphinx-autoapi/sphinx-autoapi-3.6.0.ebuild2
-rw-r--r--dev-python/sphinx-prompt/sphinx-prompt-1.9.0.ebuild2
-rw-r--r--dev-python/sphinxcontrib-jquery/sphinxcontrib-jquery-4.1.ebuild2
-rw-r--r--dev-python/sphinxcontrib-plantuml/sphinxcontrib-plantuml-0.30.ebuild2
-rw-r--r--dev-python/sphinxcontrib-trio/sphinxcontrib-trio-1.1.2-r1.ebuild2
-rw-r--r--dev-python/sphobjinv/Manifest1
-rw-r--r--dev-python/sphobjinv/sphobjinv-2.3.1.3.ebuild64
-rw-r--r--dev-python/sqlalchemy-rqlite/sqlalchemy-rqlite-2.0.ebuild4
-rw-r--r--dev-python/sqlglot/Manifest10
-rw-r--r--dev-python/sqlglot/sqlglot-26.18.1.ebuild96
-rw-r--r--dev-python/sqlglot/sqlglot-26.19.0.ebuild96
-rw-r--r--dev-python/sqlglot/sqlglot-26.20.0.ebuild96
-rw-r--r--dev-python/sqlglot/sqlglot-26.22.0.ebuild (renamed from dev-python/sqlglot/sqlglot-26.17.1.ebuild)0
-rw-r--r--dev-python/suds-community/suds-community-1.2.0.ebuild4
-rw-r--r--dev-python/svglib/svglib-1.5.1.ebuild2
-rw-r--r--dev-python/textile/textile-4.0.3-r1.ebuild4
-rw-r--r--dev-python/textx/textx-4.2.2.ebuild2
-rw-r--r--dev-python/tld/tld-0.13.1.ebuild2
-rw-r--r--dev-python/tox/tox-4.26.0.ebuild4
-rw-r--r--dev-python/tuf/tuf-6.0.0.ebuild2
-rw-r--r--dev-python/typogrify/typogrify-2.1.0.ebuild2
-rw-r--r--dev-python/vector/vector-1.6.2.ebuild2
-rw-r--r--dev-python/virtualenv-clone/virtualenv-clone-0.5.7.ebuild4
-rw-r--r--dev-python/warlock/warlock-2.0.1.ebuild4
-rw-r--r--dev-python/xmlsec/xmlsec-1.3.15.ebuild2
-rw-r--r--dev-python/yapsy/yapsy-1.12.2-r2.ebuild4
-rw-r--r--dev-python/yara-python/Manifest1
-rw-r--r--dev-python/yara-python/yara-python-4.5.3.ebuild2
-rw-r--r--dev-python/yara-python/yara-python-4.5.4.ebuild40
-rw-r--r--dev-python/yara-python/yara-python-9999.ebuild2
220 files changed, 1521 insertions, 920 deletions
diff --git a/dev-python/absl-py/Manifest b/dev-python/absl-py/Manifest
index ff668fd4f0d5..88849c871a27 100644
--- a/dev-python/absl-py/Manifest
+++ b/dev-python/absl-py/Manifest
@@ -1 +1,2 @@
DIST abseil-py-2.2.2.gh.tar.gz 238906 BLAKE2B b8f55e0a5cffc462ab544ba09c8b152bb5ef6ce489e82266a1338d1eab5727cfbdd1e842261e492a629ccb6e746eb55f3028de4661af9622472f277cbbe8ab61 SHA512 f60d6331319437607e3c747ca375760c6e9ed980a9f8ed40134559ed5ff3ec36c2d54fffb4d4ca9a8c1ca1ca46dedc3ec5e2d8e4ad63db8d090f74a0ce40b72f
+DIST abseil-py-2.3.0.gh.tar.gz 239167 BLAKE2B 13351c9740f33fa026447ba5500fc6f404857c25a2d343277911cbfc5fd57d4e0530546a27cc3882a06dcca4b313810e4d0d39c06af66a1245175b5c01d99270 SHA512 e6e4de6403e1c867129b288c15b5824953c98243d7088a0fee11ef50c71a375b0f1fc319bbb43da3e151b15d3f6299abe8894e5553c5cb199513b1e85fe16845
diff --git a/dev-python/absl-py/absl-py-2.3.0.ebuild b/dev-python/absl-py/absl-py-2.3.0.ebuild
new file mode 100644
index 000000000000..c5d45324c369
--- /dev/null
+++ b/dev-python/absl-py/absl-py-2.3.0.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1
+
+MY_P=abseil-py-${PV}
+DESCRIPTION="Abseil Python Common Libraries"
+HOMEPAGE="
+ https://github.com/abseil/abseil-py/
+ https://pypi.org/project/absl-py/
+"
+SRC_URI="
+ https://github.com/abseil/abseil-py/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # what a nightmare... well, we could have called bazel but that would
+ # even worse
+ local helpers=(
+ absl/flags/tests/argparse_flags_test_helper.py:absl/flags/tests/argparse_flags_test_helper
+ absl/logging/tests/logging_functional_test_helper.py:absl/logging/tests/logging_functional_test_helper
+ absl/testing/tests/absltest_fail_fast_test_helper.py:absl/testing/tests/absltest_fail_fast_test_helper
+ absl/testing/tests/absltest_filtering_test_helper.py:absl/testing/tests/absltest_filtering_test_helper
+ absl/testing/tests/absltest_randomization_testcase.py:absl/testing/tests/absltest_randomization_testcase
+ absl/testing/tests/absltest_sharding_test_helper.py:absl/testing/tests/absltest_sharding_test_helper
+ absl/testing/tests/absltest_sharding_test_helper_no_tests.py:absl/testing/tests/absltest_sharding_test_helper_no_tests
+ absl/testing/tests/absltest_test_helper.py:absl/testing/tests/absltest_test_helper
+ absl/testing/tests/absltest_test_helper_skipped.py:absl/testing/tests/absltest_test_helper_skipped
+ absl/testing/tests/xml_reporter_helper_test.py:absl/testing/tests/xml_reporter_helper_test
+ absl/tests/app_test_helper.py:absl/tests/app_test_helper_pure_python
+ )
+
+ local x
+ for x in "${helpers[@]}"; do
+ local script=${x%:*}
+ local sym=${x#*:}
+ sed -i -e "1i#!/usr/bin/env python" "${script}" || die
+ chmod +x "${script}" || die
+ ln -s "${script##*/}" "${sym}" || die
+ done
+
+ # i don't wanna know how these pass for upstream with wrong helper names
+ sed -e 's:\(app_test_helper\)\.py:\1_pure_python:' \
+ -i absl/tests/app_test.py || die
+ sed -e 's:\(logging_functional_test_helper\)\.py:\1:' \
+ -i absl/logging/tests/logging_functional_test.py || die
+}
+
+python_test() {
+ local -x PYTHONPATH=.
+ local fails=0
+ while read -r -d '' x; do
+ ebegin "${x}"
+ "${EPYTHON}" "${x}"
+ eend ${?} || : "$(( fails += 1 ))"
+ done < <(find -name '*_test.py' -print0)
+
+ [[ ${fails} -ne 0 ]] && die "${fails} tests failed on ${EPYTHON}"
+
+ # we actually need to clean this up manually before running the test
+ # suite again...
+ chmod -R u+rwX "${T}"/absl_testing || die
+ rm -rf "${T}"/absl_testing || die
+}
diff --git a/dev-python/ansible-pygments/ansible-pygments-0.1.1-r1.ebuild b/dev-python/ansible-pygments/ansible-pygments-0.1.1-r1.ebuild
index 55dddac678aa..7e3a507ec9f3 100644
--- a/dev-python/ansible-pygments/ansible-pygments-0.1.1-r1.ebuild
+++ b/dev-python/ansible-pygments/ansible-pygments-0.1.1-r1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517="poetry"
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/ansicolor/ansicolor-0.3.2-r1.ebuild b/dev-python/ansicolor/ansicolor-0.3.2-r1.ebuild
index 4826c2e7a03b..1e7af690483c 100644
--- a/dev-python/ansicolor/ansicolor-0.3.2-r1.ebuild
+++ b/dev-python/ansicolor/ansicolor-0.3.2-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
diff --git a/dev-python/ansicolor/ansicolor-9999.ebuild b/dev-python/ansicolor/ansicolor-9999.ebuild
index 3ad9bac26004..6d87d3fdf2cc 100644
--- a/dev-python/ansicolor/ansicolor-9999.ebuild
+++ b/dev-python/ansicolor/ansicolor-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
diff --git a/dev-python/antlr4-python3-runtime/antlr4-python3-runtime-4.13.2.ebuild b/dev-python/antlr4-python3-runtime/antlr4-python3-runtime-4.13.2.ebuild
index c86642c2f384..b31b4bb69c59 100644
--- a/dev-python/antlr4-python3-runtime/antlr4-python3-runtime-4.13.2.ebuild
+++ b/dev-python/antlr4-python3-runtime/antlr4-python3-runtime-4.13.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/anyioutils/anyioutils-0.7.3.ebuild b/dev-python/anyioutils/anyioutils-0.7.3.ebuild
index e555a4c68a46..093e80bb9d9e 100644
--- a/dev-python/anyioutils/anyioutils-0.7.3.ebuild
+++ b/dev-python/anyioutils/anyioutils-0.7.3.ebuild
@@ -24,9 +24,6 @@ RDEPEND="
>=dev-python/anyio-4.8.0[${PYTHON_USEDEP}]
<dev-python/outcome-2[${PYTHON_USEDEP}]
>=dev-python/outcome-1.3.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/exceptiongroup[${PYTHON_USEDEP}]
- ' 3.10)
"
BDEPEND="
test? (
diff --git a/dev-python/apache-libcloud/apache-libcloud-3.8.0-r1.ebuild b/dev-python/apache-libcloud/apache-libcloud-3.8.0-r1.ebuild
index 1cbeb8c6806f..5ec148106c4f 100644
--- a/dev-python/apache-libcloud/apache-libcloud-3.8.0-r1.ebuild
+++ b/dev-python/apache-libcloud/apache-libcloud-3.8.0-r1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
PYTHON_REQ_USE="ssl(+)"
inherit distutils-r1 pypi
diff --git a/dev-python/argparse-addons/argparse-addons-0.12.0.ebuild b/dev-python/argparse-addons/argparse-addons-0.12.0.ebuild
index 9acc87f7c0c8..5c002f26c63f 100644
--- a/dev-python/argparse-addons/argparse-addons-0.12.0.ebuild
+++ b/dev-python/argparse-addons/argparse-addons-0.12.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/asteval/asteval-1.0.6.ebuild b/dev-python/asteval/asteval-1.0.6.ebuild
index 78cf1dbe8547..bccf0a9d44c5 100644
--- a/dev-python/asteval/asteval-1.0.6.ebuild
+++ b/dev-python/asteval/asteval-1.0.6.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/aws-xray-sdk/aws-xray-sdk-2.14.0.ebuild b/dev-python/aws-xray-sdk/aws-xray-sdk-2.14.0.ebuild
index d518e9c39cff..c36e57c70ca0 100644
--- a/dev-python/aws-xray-sdk/aws-xray-sdk-2.14.0.ebuild
+++ b/dev-python/aws-xray-sdk/aws-xray-sdk-2.14.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/backrefs/backrefs-5.8.ebuild b/dev-python/backrefs/backrefs-5.8.ebuild
index 41c6e9c90087..d4c2c4a243b1 100644
--- a/dev-python/backrefs/backrefs-5.8.ebuild
+++ b/dev-python/backrefs/backrefs-5.8.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/basho-erlastic/basho-erlastic-2.1.1-r1.ebuild b/dev-python/basho-erlastic/basho-erlastic-2.1.1-r1.ebuild
index 929ab29027f8..94c170b7926a 100644
--- a/dev-python/basho-erlastic/basho-erlastic-2.1.1-r1.ebuild
+++ b/dev-python/basho-erlastic/basho-erlastic-2.1.1-r1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/bibtexparser/bibtexparser-1.4.3.ebuild b/dev-python/bibtexparser/bibtexparser-1.4.3.ebuild
index 1ad87eca9a1c..661bfd8d6953 100644
--- a/dev-python/bibtexparser/bibtexparser-1.4.3.ebuild
+++ b/dev-python/bibtexparser/bibtexparser-1.4.3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index fb83dd4e42a5..89fbc1534a90 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -1,3 +1,4 @@
DIST boto3-1.38.13.gh.tar.gz 939786 BLAKE2B 5c65c92b79ce28f398170950ed0fbce84a0079335a391a7ba4243a103634ba9e863fff8305dd799c47b896871ce16c5393fc2a4974026e34b8e35ca396002092 SHA512 e06f144b4cc6784d2563de2bfba2e0868c7877a2232c390bfee9db70518880b2d3c1506d3849b5f7cf46515ee2d1932a1ca09ca8847da2824f97fa5d828bc313
DIST boto3-1.38.18.gh.tar.gz 943830 BLAKE2B 2605415f7c48efd5322f6a514fb2cf7ede8724b71e8c2f0758c50bf3137a03557c17e12702f628de155e2289e42b912f645a75845921b7674140c8cb49a92d7d SHA512 af9dbf07a2a2dd378fbf5d346b9a4b43d74ccaaf2bc713f738e122ba402529aec6361ca7971101e88a1ed7e39623a69a4d84272505e39fedc5d7a89985cdaf98
DIST boto3-1.38.23.gh.tar.gz 946184 BLAKE2B cf405adb1f47bcaba2185f2c120b8642f8fe2f68a33bc807854ad32bcd7eec99282a800f13a5273225e7fda6e3415ad8ef7ffd173e5cad21539c0f2765836506 SHA512 fdd7c9ae335afa772b919ffa8989323f54a409e8f7e9483528a199e038aad3b341663ec3a72f78c695e2ef44601caf682e3f769c5a869ea2d0545c9dd7a035a8
+DIST boto3-1.38.24.gh.tar.gz 946456 BLAKE2B 3e4a38b1cebd92d43b139c22762527656dd9451e80e6497262b19d0d9ef5dc5493c52fcb54c68a437db2730aa7ff175f9a0a6079e88bc88077ced0350e2aca4a SHA512 780f92871b5b360f086af5bc09a5fa4b57c0b2d30fcd50140ee8c55b79ae83368c227cef85c67d42401d11aa4b9fc03125d0c004bcab2b33c5ee55ee62788bc7
diff --git a/dev-python/boto3/boto3-1.38.24.ebuild b/dev-python/boto3/boto3-1.38.24.ebuild
new file mode 100644
index 000000000000..2557a5f5330a
--- /dev/null
+++ b/dev-python/boto3/boto3-1.38.24.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.13.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index fa48721b890b..2987bae4468f 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -1,3 +1,4 @@
DIST botocore-1.38.13.gh.tar.gz 14619576 BLAKE2B 088dfd540934b2c1f20e5a63ffd3aa2351021f3f61207d30d3352e3d92c5df6138e87fe74fc9e48b2bf221dda2ede7e632f50f4378448a6dc6cdc2f87aaa0b02 SHA512 b1c7b585289859b94325bb1f3934bcb3a0d7596cb22e20ee79125aff96af2aa9337ec97a197426200b4ac606370eecf395a0ba7e26c79946c9390fbb02acc578
DIST botocore-1.38.18.gh.tar.gz 14648125 BLAKE2B b77da532e815f8cc270b78c5bfab8a9e9532e0909bab901eee68dca266b457e63fb5b5a844ee9c0ffd6cdeae7df570da7dc59ca50f47c19516d4d2578f07cb1d SHA512 59a1235400068b9246273340af5b198c77cffe5d1da1d2856a3bebc0bb5799329a1986a19dad50e2e85f1063cab920039aa00062a2d2250db9dc7ecc6fa63241
DIST botocore-1.38.23.gh.tar.gz 14649388 BLAKE2B d60b5e5d7fb445f332eed57f3317d3add82dd2123ab4199dc934a9a4d68c2b91947a9e50e3847da4bed06aac402542f2bbe4ea92bd47d72de86be3f8f5571b2f SHA512 d602d19c9160d10aeb06aae911052da50dd66ef0f43e459d5911bed24acba5ac948781f1e8f6f43b377847670f2d074e044f454b043ba33859fc0ca0ba67976a
+DIST botocore-1.38.24.gh.tar.gz 14651552 BLAKE2B e4011257f1f1409446ad89d7ec332927c41d0d427d60ca7f9317ad57ba8cbd54448a3e4ee028533af7c2551dbcfe188f3c50e9a6fd33c18388671e5e969674f4 SHA512 5284444300ec18450ca2100b60f49877757ee0ca5fa3f4eeb865c02cf08a328113e5fa8491119afc65b86342f32e59215b75cf052c008650d8003b90ea6e3ca1
diff --git a/dev-python/botocore/botocore-1.38.24.ebuild b/dev-python/botocore/botocore-1.38.24.ebuild
new file mode 100644
index 000000000000..535354aa3035
--- /dev/null
+++ b/dev-python/botocore/botocore-1.38.24.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ case ${EPYTHON} in
+ python3.14)
+ EPYTEST_DESELECT+=(
+ tests/unit/test_utils.py::test_lru_cache_weakref
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/braintree/braintree-4.35.0.ebuild b/dev-python/braintree/braintree-4.35.0.ebuild
index 56280ce81eda..20cb389c2fda 100644
--- a/dev-python/braintree/braintree-4.35.0.ebuild
+++ b/dev-python/braintree/braintree-4.35.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/breathe/breathe-4.36.0.ebuild b/dev-python/breathe/breathe-4.36.0.ebuild
index 870154be7811..843c246d5784 100644
--- a/dev-python/breathe/breathe-4.36.0.ebuild
+++ b/dev-python/breathe/breathe-4.36.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/btrfsutil/btrfsutil-6.14.ebuild b/dev-python/btrfsutil/btrfsutil-6.14.ebuild
index 60a905fd122f..f06276d6ad0a 100644
--- a/dev-python/btrfsutil/btrfsutil-6.14.ebuild
+++ b/dev-python/btrfsutil/btrfsutil-6.14.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/dsterba.asc
inherit distutils-r1 verify-sig
diff --git a/dev-python/canonicaljson/canonicaljson-2.0.0.ebuild b/dev-python/canonicaljson/canonicaljson-2.0.0.ebuild
index 01b08ed00057..9064033dc382 100644
--- a/dev-python/canonicaljson/canonicaljson-2.0.0.ebuild
+++ b/dev-python/canonicaljson/canonicaljson-2.0.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/cfgv/cfgv-3.4.0.ebuild b/dev-python/cfgv/cfgv-3.4.0.ebuild
index dc5fb2311d8a..0b0e3b0d1f94 100644
--- a/dev-python/cfgv/cfgv-3.4.0.ebuild
+++ b/dev-python/cfgv/cfgv-3.4.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/cheetah3/cheetah3-3.4.0.ebuild b/dev-python/cheetah3/cheetah3-3.4.0.ebuild
index 0b701e83962f..12fae6526b4e 100644
--- a/dev-python/cheetah3/cheetah3-3.4.0.ebuild
+++ b/dev-python/cheetah3/cheetah3-3.4.0.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/clang/clang-21.0.0.9999.ebuild b/dev-python/clang/clang-21.0.0.9999.ebuild
index a99c5601e047..4dd3bb26996f 100644
--- a/dev-python/clang/clang-21.0.0.9999.ebuild
+++ b/dev-python/clang/clang-21.0.0.9999.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit llvm.org python-r1
DESCRIPTION="Python bindings for llvm-core/clang"
diff --git a/dev-python/clang/clang-21.0.0_pre20250523.ebuild b/dev-python/clang/clang-21.0.0_pre20250523.ebuild
index a99c5601e047..4dd3bb26996f 100644
--- a/dev-python/clang/clang-21.0.0_pre20250523.ebuild
+++ b/dev-python/clang/clang-21.0.0_pre20250523.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit llvm.org python-r1
DESCRIPTION="Python bindings for llvm-core/clang"
diff --git a/dev-python/click-log/click-log-0.4.0.ebuild b/dev-python/click-log/click-log-0.4.0.ebuild
index f39cf2680165..79f8720f12f5 100644
--- a/dev-python/click-log/click-log-0.4.0.ebuild
+++ b/dev-python/click-log/click-log-0.4.0.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/click-threading/click-threading-0.5.0-r1.ebuild b/dev-python/click-threading/click-threading-0.5.0-r1.ebuild
index db1d0ebb4d6b..32f3d5ae85ba 100644
--- a/dev-python/click-threading/click-threading-0.5.0-r1.ebuild
+++ b/dev-python/click-threading/click-threading-0.5.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/colour/colour-0.1.5-r1.ebuild b/dev-python/colour/colour-0.1.5-r1.ebuild
index c99e34704f11..51b5cd16dce1 100644
--- a/dev-python/colour/colour-0.1.5-r1.ebuild
+++ b/dev-python/colour/colour-0.1.5-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/configclass/configclass-0.2.0-r1.ebuild b/dev-python/configclass/configclass-0.2.0-r1.ebuild
index ad2e4d918e58..0506d388471f 100644
--- a/dev-python/configclass/configclass-0.2.0-r1.ebuild
+++ b/dev-python/configclass/configclass-0.2.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/configobj/configobj-5.0.9.ebuild b/dev-python/configobj/configobj-5.0.9.ebuild
index e7fb9258c352..7797c7a8e0b2 100644
--- a/dev-python/configobj/configobj-5.0.9.ebuild
+++ b/dev-python/configobj/configobj-5.0.9.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/configshell-fb/configshell-fb-2.0.2.ebuild b/dev-python/configshell-fb/configshell-fb-2.0.2.ebuild
index 3393acc2d632..f4a7fa91bba7 100644
--- a/dev-python/configshell-fb/configshell-fb-2.0.2.ebuild
+++ b/dev-python/configshell-fb/configshell-fb-2.0.2.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/crcmod/crcmod-1.7-r5.ebuild b/dev-python/crcmod/crcmod-1.7-r5.ebuild
index 853f67ae338b..e517c91a6437 100644
--- a/dev-python/crcmod/crcmod-1.7-r5.ebuild
+++ b/dev-python/crcmod/crcmod-1.7-r5.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/cryptography/Manifest b/dev-python/cryptography/Manifest
index 83ab6a3409f8..ffb5224fb8f3 100644
--- a/dev-python/cryptography/Manifest
+++ b/dev-python/cryptography/Manifest
@@ -10,7 +10,7 @@ DIST cc-1.2.1.crate 92731 BLAKE2B c9cb100964834692781ecc3f47972f83adaf27e019ca21
DIST cc-1.2.23.crate 106527 BLAKE2B 0fd9e69ad743f4df15da3d25f85e1a422ef64b81b72af491001ccfba5c0c39e448deecc92e3a553bf74574460ecd2bf8f4056a1cd05d05856a1f3f36fa25bc19 SHA512 3fced846c630c09f629854754dc247affeae3e71375953617d77947b2bdfb479369db159cec941c7b094fd9d2fee62f7d5898d6d76de920dbd70de24ee35fd0b
DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
DIST cryptography-44.0.3.tar.gz 711096 BLAKE2B 42b1fd4cd22c50d377c9942740561612dcc5958a7c9e2bf2d54fc88faac43b3ebbd4ff4085fee923c39510f591e7e93f811541389733b190af3e69504b13643b SHA512 505c3a4275dbaae827ebc7c478d3196c9a2bef71e460a391d56ee53b7ff8a054f7ac81c1a8a4a59829d04dd9a434c123df948627ab8f07ec39259ea0498a8c69
-DIST cryptography-45.0.2.tar.gz 743865 BLAKE2B e2aa5e53b2e6564ed70762c2439b9e75f24042ef30aa2c47f97cd556e5ba95c362f5e30368e79b397b71ddba77feb6d9cc295a9b7062cf32c00cf02e9a02498e SHA512 b81cb339e8f8853503d518e37a958115c995565aa241d80307e2fb75cb46d476ce400e6871bc4beb93e0b35e456c8b7dbb49f161f8f112bd01e137770d251964
+DIST cryptography-45.0.3.tar.gz 744738 BLAKE2B 45cf4cba1babdf5cde1d22903d0e01f4796e68e4a38c6f7ef4075ea851faad4ecc1575eef1cfc3f6194aa35796a0187e5b1969ea32f9273a0c2e4a0350310cfe SHA512 e8cb59820de89d7a5b2bd2a4b79d5a040b225910eb0653ce5b89fbd694951c6b6ce928c548666e7c879fb71ec4661b426f140959bee6556c9a265c679fa51fbf
DIST foreign-types-0.3.2.crate 7504 BLAKE2B 520818b702d990d296ecd31a8646850202509ccfa18edd0e1b260289619a6c351e758f317ec0824bd76eccb209b6f087057c25f1bd01a47897715013dd834867 SHA512 bf27b8243ed482c202d120383374f19ff09422535e24b9c1aebccc66529bf300ca17b8bbc76d67f98ac092e614497afe3add9dc68aa69c93074df05762f91232
DIST foreign-types-shared-0.1.1.crate 5672 BLAKE2B d2e42e04b6657e7a69fe0bd20c672176629c743e49a55fd007bb30e289710b70045d445ae9cae0eeaa747ee708c90e8abd9b5fc39bad8ec0666befe1b696d4f1 SHA512 bafdb2143e136fb0818e2ffd90b5c862b7181647d6568947d4e4531012bbf7a57b597221ec7056c1b562dfc0c3b5dead26d1a4111ebc15e7863737a873518a4a
DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
diff --git a/dev-python/cryptography/cryptography-45.0.2.ebuild b/dev-python/cryptography/cryptography-45.0.3.ebuild
index 55b3873cde21..55b3873cde21 100644
--- a/dev-python/cryptography/cryptography-45.0.2.ebuild
+++ b/dev-python/cryptography/cryptography-45.0.3.ebuild
diff --git a/dev-python/css-parser/css-parser-1.0.10.ebuild b/dev-python/css-parser/css-parser-1.0.10.ebuild
index b8a1bc87e287..974d61349400 100644
--- a/dev-python/css-parser/css-parser-1.0.10.ebuild
+++ b/dev-python/css-parser/css-parser-1.0.10.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/cssutils/cssutils-2.11.1.ebuild b/dev-python/cssutils/cssutils-2.11.1.ebuild
index 556707fc062f..b63047649a7f 100644
--- a/dev-python/cssutils/cssutils-2.11.1.ebuild
+++ b/dev-python/cssutils/cssutils-2.11.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
@@ -26,9 +26,6 @@ BDEPEND="
test? (
dev-python/cssselect[${PYTHON_USEDEP}]
>=dev-python/jaraco-test-5.1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/lxml[${PYTHON_USEDEP}]
- ' 3.10)
)
"
diff --git a/dev-python/cwcwidth/cwcwidth-0.1.10.ebuild b/dev-python/cwcwidth/cwcwidth-0.1.10.ebuild
index fe6833733553..33b69bb46daf 100644
--- a/dev-python/cwcwidth/cwcwidth-0.1.10.ebuild
+++ b/dev-python/cwcwidth/cwcwidth-0.1.10.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/dictdiffer/dictdiffer-0.9.0-r1.ebuild b/dev-python/dictdiffer/dictdiffer-0.9.0-r1.ebuild
index 94a454e618fc..c7ea069c891e 100644
--- a/dev-python/dictdiffer/dictdiffer-0.9.0-r1.ebuild
+++ b/dev-python/dictdiffer/dictdiffer-0.9.0-r1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
diff --git a/dev-python/discid/discid-1.2.0-r1.ebuild b/dev-python/discid/discid-1.2.0-r1.ebuild
index cdc7a9d6c767..02d0911d6eef 100644
--- a/dev-python/discid/discid-1.2.0-r1.ebuild
+++ b/dev-python/discid/discid-1.2.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021-2024 Gentoo Authors
+# Copyright 2021-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/doublex/doublex-1.9.6.1.ebuild b/dev-python/doublex/doublex-1.9.6.1.ebuild
index 177b5066c51d..6a4224ea87f3 100644
--- a/dev-python/doublex/doublex-1.9.6.1.ebuild
+++ b/dev-python/doublex/doublex-1.9.6.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/editorconfig/editorconfig-0.17.0.ebuild b/dev-python/editorconfig/editorconfig-0.17.0.ebuild
index 9a703aa04167..719b723655d9 100644
--- a/dev-python/editorconfig/editorconfig-0.17.0.ebuild
+++ b/dev-python/editorconfig/editorconfig-0.17.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit cmake distutils-r1
diff --git a/dev-python/emoji/emoji-2.14.1.ebuild b/dev-python/emoji/emoji-2.14.1.ebuild
index be2ae234dbd0..26226c4cebd0 100644
--- a/dev-python/emoji/emoji-2.14.1.ebuild
+++ b/dev-python/emoji/emoji-2.14.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/enrich/enrich-1.2.7-r1.ebuild b/dev-python/enrich/enrich-1.2.7-r1.ebuild
index ddc36495c0af..d57cc0a787a5 100644
--- a/dev-python/enrich/enrich-1.2.7-r1.ebuild
+++ b/dev-python/enrich/enrich-1.2.7-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021-2024 Gentoo Authors
+# Copyright 2021-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/events/events-0.5.ebuild b/dev-python/events/events-0.5.ebuild
index f941bb91cca1..5fa36353ab2e 100644
--- a/dev-python/events/events-0.5.ebuild
+++ b/dev-python/events/events-0.5.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2024 Gentoo Authors
+# Copyright 2024-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/eyed3/eyed3-0.9.8.ebuild b/dev-python/eyed3/eyed3-0.9.8.ebuild
index 61eaab189912..652aad7383a1 100644
--- a/dev-python/eyed3/eyed3-0.9.8.ebuild
+++ b/dev-python/eyed3/eyed3-0.9.8.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/fastbencode/fastbencode-0.3.2.ebuild b/dev-python/fastbencode/fastbencode-0.3.2.ebuild
index a5d3ba09d1c6..10dffe678ada 100644
--- a/dev-python/fastbencode/fastbencode-0.3.2.ebuild
+++ b/dev-python/fastbencode/fastbencode-0.3.2.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/faust-cchardet/faust-cchardet-2.1.19.ebuild b/dev-python/faust-cchardet/faust-cchardet-2.1.19.ebuild
index 114a7dc05c74..0314b4ff63dc 100644
--- a/dev-python/faust-cchardet/faust-cchardet-2.1.19.ebuild
+++ b/dev-python/faust-cchardet/faust-cchardet-2.1.19.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2021-2024 Gentoo Authors
+# Copyright 2021-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/ffmpeg-python/ffmpeg-python-0.2.0_p20220711-r1.ebuild b/dev-python/ffmpeg-python/ffmpeg-python-0.2.0_p20220711-r1.ebuild
index 4edfdad22ea0..3b3b0c49bc4d 100644
--- a/dev-python/ffmpeg-python/ffmpeg-python-0.2.0_p20220711-r1.ebuild
+++ b/dev-python/ffmpeg-python/ffmpeg-python-0.2.0_p20220711-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
[[ "${PV}" == *_p20220711 ]] && COMMIT=df129c7ba30aaa9ffffb81a48f53aa7253b0b4e6
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/fido2/fido2-2.0.0.ebuild b/dev-python/fido2/fido2-2.0.0.ebuild
index 1160df3326fb..6b54ca59dc89 100644
--- a/dev-python/fido2/fido2-2.0.0.ebuild
+++ b/dev-python/fido2/fido2-2.0.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/filetype/filetype-1.2.0.ebuild b/dev-python/filetype/filetype-1.2.0.ebuild
index 065bee2c6907..383a980df05a 100644
--- a/dev-python/filetype/filetype-1.2.0.ebuild
+++ b/dev-python/filetype/filetype-1.2.0.ebuild
@@ -16,6 +16,6 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 ~riscv sparc x86"
+KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 sparc x86"
distutils_enable_tests unittest
diff --git a/dev-python/flask-login/flask-login-0.6.3.ebuild b/dev-python/flask-login/flask-login-0.6.3.ebuild
index ec90654764a8..97a085d02288 100644
--- a/dev-python/flask-login/flask-login-0.6.3.ebuild
+++ b/dev-python/flask-login/flask-login-0.6.3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/flatbuffers/flatbuffers-25.2.10.ebuild b/dev-python/flatbuffers/flatbuffers-25.2.10.ebuild
index 3a3e0ffcab39..1654c2e30ed8 100644
--- a/dev-python/flatbuffers/flatbuffers-25.2.10.ebuild
+++ b/dev-python/flatbuffers/flatbuffers-25.2.10.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/fleep/fleep-1.0.1-r1.ebuild b/dev-python/fleep/fleep-1.0.1-r1.ebuild
index 1c86fe9e12ec..839bd534f9bb 100644
--- a/dev-python/fleep/fleep-1.0.1-r1.ebuild
+++ b/dev-python/fleep/fleep-1.0.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/fleep/fleep-9999.ebuild b/dev-python/fleep/fleep-9999.ebuild
index d57aa264e8c6..0bbfa2fdb9f2 100644
--- a/dev-python/fleep/fleep-9999.ebuild
+++ b/dev-python/fleep/fleep-9999.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/funcy/funcy-2.0.ebuild b/dev-python/funcy/funcy-2.0.ebuild
index cb904d908482..118793497d85 100644
--- a/dev-python/funcy/funcy-2.0.ebuild
+++ b/dev-python/funcy/funcy-2.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/genson/genson-1.3.0.ebuild b/dev-python/genson/genson-1.3.0.ebuild
index 796daaf84c9f..95ebdd85524c 100644
--- a/dev-python/genson/genson-1.3.0.ebuild
+++ b/dev-python/genson/genson-1.3.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/greenstalk/greenstalk-2.1.0.ebuild b/dev-python/greenstalk/greenstalk-2.1.0.ebuild
index 3e72d8c5a836..d9e875ec4431 100644
--- a/dev-python/greenstalk/greenstalk-2.1.0.ebuild
+++ b/dev-python/greenstalk/greenstalk-2.1.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/gssapi/gssapi-1.9.0.ebuild b/dev-python/gssapi/gssapi-1.9.0.ebuild
index d3b39da9b54d..f75fba484357 100644
--- a/dev-python/gssapi/gssapi-1.9.0.ebuild
+++ b/dev-python/gssapi/gssapi-1.9.0.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/hatch-vcs/Manifest b/dev-python/hatch-vcs/Manifest
index 217ef9dd6465..da278ac5357d 100644
--- a/dev-python/hatch-vcs/Manifest
+++ b/dev-python/hatch-vcs/Manifest
@@ -1 +1,2 @@
DIST hatch-vcs-0.4.0.gh.tar.gz 10822 BLAKE2B 92b1ad1181a6bae815a6d01045836976b8767086f2a7001de9ad97f0d61737895da9a411419e28c5b2d830fca606d7d9c21265210965bc7691670f92aeab1b22 SHA512 bf40cc371c8d8e120fce83e5986fc2bdc2087fa5a4ac4a407d32617e98205ded79dcb29a00c7638ba68dd5ce09f31e84b34176627a6a34dfb7708031f4c4519a
+DIST hatch-vcs-0.5.0.gh.tar.gz 11272 BLAKE2B 5e305fed56fd1c66a296a8c582d342c422c87d11fd0679beeb7af50653493037c7e372353a33e90b7da60f5da4a5f879cc496a3ad68ac169e64ddda1b5ff706e SHA512 ed2b81df3f0b51f9ebca28c023bbf1e66088971e76439ab864838012dc28ec140eadf4f07a4b7aca66b0f5c52fd3ccc001602e6c91dcc8d6241c0b56193cba54
diff --git a/dev-python/hatch-vcs/hatch-vcs-0.5.0.ebuild b/dev-python/hatch-vcs/hatch-vcs-0.5.0.ebuild
new file mode 100644
index 000000000000..d864f4c43705
--- /dev/null
+++ b/dev-python/hatch-vcs/hatch-vcs-0.5.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Hatch plugin for versioning with your preferred VCS"
+HOMEPAGE="
+ https://pypi.org/project/hatch-vcs/
+ https://github.com/ofek/hatch-vcs/
+"
+SRC_URI="
+ https://github.com/ofek/hatch-vcs/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 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/setuptools-scm-8.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-vcs/git
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 1b2027bb99a6..3b5986a9eab6 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -3,3 +3,4 @@ DIST hypothesis-6.131.18.gh.tar.gz 9553394 BLAKE2B f4a880dd4681ca59b39614e70c70a
DIST hypothesis-6.131.24.gh.tar.gz 9554685 BLAKE2B 9f1216facfffb33ac084b036166c595b181eb0fad7f184ac67d3d06069a08339857bb5ec7d1e99922ffab7cf0cf013110ada7207f0ab8ef85e1c0ac61fdf1adb SHA512 54b37c5a3b7559d4709ea498f12a043eeda4151904912329e71fd1e4e69ed3275738eeec1c8272ea9c1fc21bed4345eeffec3d7bfd538d1075c27383c06eba93
DIST hypothesis-6.131.27.gh.tar.gz 9555908 BLAKE2B 3a5d9c31a6ccd6bab640fcb63412100dfe996ca1f5f645d3cf5c15366dba510f997620ceb942a292f14b93ffa2915d6061f069d9daffe9550aad4b376dfd1e61 SHA512 447520bac874536a35d2107a4c382993a5293840c7adfcac6d177c31401cdaaf2a4159a193e8079726d71c285009649c17c4a3ce05aceea11303b8b8a490dcb2
DIST hypothesis-6.131.28.gh.tar.gz 9560323 BLAKE2B f6c5b9b578e57689cffad89b283f21503e3c78025a11d28b3da30ca1d73ea2a3d3faa6401cbd3bb417c1c838f0720e9a9ce2119bcd5a17436731bbab112198f2 SHA512 ac64e3de3b8ebeeaefa46d7f288739c6534b6a4f3773d5ccc706ae6a0376dbe496905e7932374c89a7b39cb02b9539d74c5556e4744b025873df94842efff938
+DIST hypothesis-6.131.30.gh.tar.gz 9561108 BLAKE2B 01a5dc698a1fe466dee4ff65fb934d49e43df8c71102714ed6294af271682a5314b32c513cb4b7f9e892c1da8d6a7f557a6b9246619ae412e60d51e1db8d231b SHA512 ef9f23015d783af2528fc00b0ff0bfac8a25fdadaf875772a0f8dd826a84cb85006d6224266a6b3ed9241a7903151d0ececc56fe3f7af72e5a82cf39de702c61
diff --git a/dev-python/hypothesis/hypothesis-6.131.30.ebuild b/dev-python/hypothesis/hypothesis-6.131.30.ebuild
new file mode 100644
index 000000000000..997db78b8df2
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.131.30.ebuild
@@ -0,0 +1,130 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( python3_{11..13} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 optfeature
+
+TAG=hypothesis-python-${PV}
+MY_P=hypothesis-${TAG}
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="
+ https://github.com/HypothesisWorks/hypothesis/
+ https://pypi.org/project/hypothesis/
+"
+SRC_URI="
+ https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/hypothesis-python"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' "${CLI_COMPAT[@]}")
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ # subtests are broken by warnings from random plugins
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin
+ local -x HYPOTHESIS_NO_PLUGINS=1
+
+ # NB: paths need to be relative to pytest.ini,
+ # i.e. start with hypothesis-python/
+ local EPYTEST_DESELECT=(
+ # hangs
+ hypothesis-python/tests/cover/test_lookup.py::test_lookup_overrides_defaults
+ )
+
+ case ${EPYTHON} in
+ python3.13t)
+ EPYTEST_DESELECT+=(
+ # TODO: missing warning
+ 'hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns'
+ )
+ ;&
+ python3.14*)
+ EPYTEST_DESELECT+=(
+ 'hypothesis-python/tests/cover/test_compat.py::test_resolve_fwd_refs[Foo-Union]'
+ 'hypothesis-python/tests/cover/test_lookup.py::test_builds_suggests_from_type[Union]'
+ hypothesis-python/tests/cover/test_attrs_inference.py::test_attrs_inference_builds
+ hypothesis-python/tests/cover/test_lookup.py::test_bytestring_not_treated_as_generic_sequence
+ hypothesis-python/tests/cover/test_lookup.py::test_issue_4194_regression
+ hypothesis-python/tests/cover/test_lookup.py::test_resolves_forwardrefs_to_builtin_types
+ hypothesis-python/tests/cover/test_lookup.py::test_specialised_collection_types
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_collection_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_container_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_contextmanager_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_iterable_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_reversible_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_sequence_as_generic
+ hypothesis-python/tests/cover/test_random_module.py::test_evil_prng_registration_nonsense
+ hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns
+ hypothesis-python/tests/cover/test_random_module.py::test_register_random_within_nested_function_scope
+ hypothesis-python/tests/cover/test_random_module.py::test_registering_a_Random_is_idempotent
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_dot_access_forward_ref
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_forward_ref
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_checking_only_forward_ref_wrong_type
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_cheking_only_forward_ref
+ )
+ ;;
+ esac
+
+ epytest -o filterwarnings= -p rerunfailures --reruns=5 \
+ tests/cover tests/pytest tests/quality
+}
+
+src_install() {
+ local HAD_CLI=
+
+ distutils-r1_src_install
+
+ if [[ ! ${HAD_CLI} ]]; then
+ rm -r "${ED}/usr/bin" || die
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ HAD_CLI=1
+ else
+ rm -r "${D}$(python_get_scriptdir)" || die
+ fi
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}
diff --git a/dev-python/identify/identify-2.6.12.ebuild b/dev-python/identify/identify-2.6.12.ebuild
index 0507ba92554f..8195a4f9a77b 100644
--- a/dev-python/identify/identify-2.6.12.ebuild
+++ b/dev-python/identify/identify-2.6.12.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/imageio-ffmpeg/imageio-ffmpeg-0.6.0.ebuild b/dev-python/imageio-ffmpeg/imageio-ffmpeg-0.6.0.ebuild
index c48bdeedd9cc..a98fc59da12e 100644
--- a/dev-python/imageio-ffmpeg/imageio-ffmpeg-0.6.0.ebuild
+++ b/dev-python/imageio-ffmpeg/imageio-ffmpeg-0.6.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/imapclient/imapclient-3.0.1.ebuild b/dev-python/imapclient/imapclient-3.0.1.ebuild
index 1bcfbc9f02b8..1396b07b82d5 100644
--- a/dev-python/imapclient/imapclient-3.0.1.ebuild
+++ b/dev-python/imapclient/imapclient-3.0.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/ioctl-opt/ioctl-opt-1.3.ebuild b/dev-python/ioctl-opt/ioctl-opt-1.3.ebuild
index 70d545e6b003..23aa82a48f86 100644
--- a/dev-python/ioctl-opt/ioctl-opt-1.3.ebuild
+++ b/dev-python/ioctl-opt/ioctl-opt-1.3.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{12..13} python3_13t )
+PYTHON_COMPAT=( python3_{12..14} python3_13t )
inherit distutils-r1
diff --git a/dev-python/ipy/ipy-1.01-r1.ebuild b/dev-python/ipy/ipy-1.01-r1.ebuild
index 35cf0a09a4e7..187acab48fc7 100644
--- a/dev-python/ipy/ipy-1.01-r1.ebuild
+++ b/dev-python/ipy/ipy-1.01-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN=IPy
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11,12,14} )
inherit distutils-r1 pypi
diff --git a/dev-python/ipython/Manifest b/dev-python/ipython/Manifest
index ea57d66e1896..2fc70b34cbe4 100644
--- a/dev-python/ipython/Manifest
+++ b/dev-python/ipython/Manifest
@@ -1,3 +1,2 @@
-DIST ipython-8.34.0.tar.gz 5508477 BLAKE2B 15c34a086ff4ec48ca97624e904cc4ebf55fe180ac3a222cafeab738c6b77676417e64b560fc73f3ae32cc22875fe4e3df13f5a5f170a8104fff00629aa0100e SHA512 1ff033b5d87ce21006d90469ac06f247cdf087ddd0b74e711b957d61428ffb64a42b459b879cfed60a312edcdd710e49cd76925bd0e3b8c89d18c8c79d8686d4
DIST ipython-8.36.0.tar.gz 5604997 BLAKE2B 3ba37dc146d0e7fc773fceb3f1e00257e0115661f012a5977bcab351d80d3764813aaa1172f5d0390995419eccef07e4af2530b36b62cd9b5a23606b5982afef SHA512 0418c96242e5e7247526bdad54eaf3a30fe10d01bec6cf7134948c645ab5c80ce958b7cd39f4cfde88714a2d2e1128edf8f71848c6ce4aadc9c02f7ac50c34b2
DIST ipython-9.2.0.tar.gz 4424394 BLAKE2B 3a2830461610d3139b64a848217c82f1d363ea5cadd416119a9ac56ccd494cc21738cfc87e6ac766fff28991ddad6261406e1a68a053b060165576eb1dc4c100 SHA512 06fcdb152ff15e780e182276766527a727d8dfd774e87bf5561005a5006764fd44b6da42e76c3372caa2ac7cfdbe3f083ecb3ed7b5303755d444006255cd80eb
diff --git a/dev-python/ipython/ipython-8.34.0-r1.ebuild b/dev-python/ipython/ipython-8.34.0-r1.ebuild
deleted file mode 100644
index ddd41b933973..000000000000
--- a/dev-python/ipython/ipython-8.34.0-r1.ebuild
+++ /dev/null
@@ -1,161 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-PYTHON_REQ_USE='readline(+),sqlite,threads(+)'
-
-inherit distutils-r1 optfeature pypi virtualx
-
-DESCRIPTION="Advanced interactive shell for Python"
-HOMEPAGE="
- https://ipython.org/
- https://github.com/ipython/ipython/
- https://pypi.org/project/ipython/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-IUSE="examples notebook nbconvert qt5 +smp test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/decorator[${PYTHON_USEDEP}]
- >=dev-python/jedi-0.16[${PYTHON_USEDEP}]
- dev-python/matplotlib-inline[${PYTHON_USEDEP}]
- >=dev-python/pexpect-4.3[${PYTHON_USEDEP}]
- >=dev-python/prompt-toolkit-3.0.41[${PYTHON_USEDEP}]
- <dev-python/prompt-toolkit-3.1[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.4.0[${PYTHON_USEDEP}]
- dev-python/stack-data[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.13.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/exceptiongroup[${PYTHON_USEDEP}]
- ' 3.10)
- $(python_gen_cond_dep '
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- ' 3.10 3.11)
-"
-
-BDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? (
- app-text/dvipng[truetype]
- >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
- >=dev-python/matplotlib-3.9[${PYTHON_USEDEP}]
- dev-python/nbformat[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.23[${PYTHON_USEDEP}]
- dev-python/matplotlib-inline[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pickleshare[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/testpath[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-RDEPEND+="
- nbconvert? (
- dev-python/nbconvert[${PYTHON_USEDEP}]
- )
-"
-PDEPEND="
- $(python_gen_cond_dep '
- qt5? ( dev-python/qtconsole[${PYTHON_USEDEP}] )
- ' 'python*')
- $(python_gen_cond_dep '
- notebook? (
- dev-python/notebook[${PYTHON_USEDEP}]
- dev-python/ipywidgets[${PYTHON_USEDEP}]
- dev-python/widgetsnbextension[${PYTHON_USEDEP}]
- )
- ' 3.{10..12})
- smp? (
- >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
- >=dev-python/ipyparallel-6.2.3[${PYTHON_USEDEP}]
- )
-"
-
-python_prepare_all() {
- # Rename the test directory to reduce sys.path pollution
- # https://github.com/ipython/ipython/issues/12892
- mv IPython/extensions/{,ipython_}tests || die
-
- distutils-r1_python_prepare_all
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local -x IPYTHON_TESTING_TIMEOUT_SCALE=20
- local EPYTEST_DESELECT=(
- # TODO: looks to be a regression due to a newer dep
- IPython/core/tests/test_oinspect.py::test_class_signature
- IPython/core/tests/test_oinspect.py::test_render_signature_long
- IPython/terminal/tests/test_shortcuts.py::test_modify_shortcut_with_filters
- )
-
- case ${EPYTHON} in
- pypy3*)
- EPYTEST_DESELECT+=(
- # https://github.com/ipython/ipython/issues/14244
- IPython/lib/tests/test_display.py::TestAudioDataWithoutNumpy
- )
- ;;
- python3.13)
- EPYTEST_DESELECT+=(
- # docstring mismatch?
- IPython/core/tests/test_debugger.py::IPython.core.tests.test_debugger.test_ipdb_magics
- )
- ;;
- esac
-
- # nonfatal implied by virtx
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- nonfatal epytest -p asyncio --asyncio-mode=auto ||
- die "Tests failed on ${EPYTHON}"
-}
-
-python_install() {
- distutils-r1_python_install
-
- # Create ipythonX.Y symlinks.
- # TODO:
- # 1. do we want them for pypy? No. pypy has no numpy
- # 2. handle it in the eclass instead (use _python_ln_rel).
- # With pypy not an option the dosym becomes unconditional
- dosym ../lib/python-exec/${EPYTHON}/ipython \
- /usr/bin/ipython${EPYTHON#python}
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
-
-pkg_postinst() {
- optfeature "code formatting" dev-python/black
- optfeature "sympyprinting" dev-python/sympy
- optfeature "cythonmagic" dev-python/cython
- optfeature "%lprun magic command" dev-python/line-profiler
- optfeature "%matplotlib magic command" dev-python/matplotlib-inline
-
- if use nbconvert; then
- if ! has_version virtual/pandoc ; then
- einfo "Node.js will be used to convert notebooks to other formats"
- einfo "like HTML. Support for that is still experimental. If you"
- einfo "encounter any problems, please use app-text/pandoc instead."
- fi
- fi
-}
diff --git a/dev-python/jq/jq-1.8.0.ebuild b/dev-python/jq/jq-1.8.0.ebuild
index e00e8a3fb964..5e205402f567 100644
--- a/dev-python/jq/jq-1.8.0.ebuild
+++ b/dev-python/jq/jq-1.8.0.ebuild
@@ -1,11 +1,11 @@
-# Copyright 2021-2024 Gentoo Authors
+# Copyright 2021-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/jsonext/jsonext-0.4.2-r1.ebuild b/dev-python/jsonext/jsonext-0.4.2-r1.ebuild
index 44d75c750b21..0428745de12d 100644
--- a/dev-python/jsonext/jsonext-0.4.2-r1.ebuild
+++ b/dev-python/jsonext/jsonext-0.4.2-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2019-2024 Gentoo Authors
+# Copyright 2019-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/jsonpath-ng/jsonpath-ng-1.7.0.ebuild b/dev-python/jsonpath-ng/jsonpath-ng-1.7.0.ebuild
index b30abd44a873..466843b8a230 100644
--- a/dev-python/jsonpath-ng/jsonpath-ng-1.7.0.ebuild
+++ b/dev-python/jsonpath-ng/jsonpath-ng-1.7.0.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/jupyter-core/Manifest b/dev-python/jupyter-core/Manifest
index dbf22df4648d..5a00e2476481 100644
--- a/dev-python/jupyter-core/Manifest
+++ b/dev-python/jupyter-core/Manifest
@@ -1,2 +1,3 @@
DIST jupyter_core-5.7.2.tar.gz 87629 BLAKE2B b8d460f239419c7f648a856e55e1570646b6a6cd38ee900bbeac0aa64965f8868a88be20f6b890f2f424f0752f0da44d79abd0b3d18d275ac3f9c574ad7d18b4 SHA512 1eb4766dbc10afdcbc469853b391a88a2551a0ee2b2a3f93a316b407371ca10f546746aa4a327f8c0423cc10e4de022630c04ca7547dcf7ee8d9a911e9a0e572
DIST jupyter_core-5.8.0.tar.gz 88884 BLAKE2B 1c3885308217fbedf62dfb5987d0da101e0868d71266afeee7cb23bd42096d295e402064ec86ed4d4bbb34fcde2fd143ad77757fc2407d2a4ba699dd94ea0062 SHA512 ef85915fcb64b7ebf5e43b1e975826a16a619dc5860223043caf9e9ee1518e7e387f6eaf1c02ff4207f37e5caec092c87b4328566732c6ffe48eeab017955c0d
+DIST jupyter_core-5.8.1.tar.gz 88923 BLAKE2B 6c71035772039e719f6ec1b9ef9a70b7e651475668672b89f10e47945b224fc110d7a7ec58af8d591388d5608bd2ea2e0e0bba5aac704e48e004f0d59d5175d4 SHA512 6b3b9afbf3cf17546c1750b2725124a21a5bc0070cee580e9e82c902eddd12c54d371769211bc7c3a302fdfb9452bbc78e9e4f1b0d27e65d83f2cf86e3f0529a
diff --git a/dev-python/jupyter-core/jupyter-core-5.8.1.ebuild b/dev-python/jupyter-core/jupyter-core-5.8.1.ebuild
new file mode 100644
index 000000000000..1f4afb612c6a
--- /dev/null
+++ b/dev-python/jupyter-core/jupyter-core-5.8.1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Core common functionality of Jupyter projects"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter/jupyter_core/
+ https://pypi.org/project/jupyter-core/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/platformdirs-2.5[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.11.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pip[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/latexcodec/latexcodec-3.0.0.ebuild b/dev-python/latexcodec/latexcodec-3.0.0.ebuild
index 7ef17a730b9b..06bfba7e2ebf 100644
--- a/dev-python/latexcodec/latexcodec-3.0.0.ebuild
+++ b/dev-python/latexcodec/latexcodec-3.0.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/libcst/Manifest b/dev-python/libcst/Manifest
index f6e00090be97..8028d784c9ea 100644
--- a/dev-python/libcst/Manifest
+++ b/dev-python/libcst/Manifest
@@ -39,6 +39,7 @@ DIST js-sys-0.3.58.crate 78794 BLAKE2B d664fda1e19a7ebb621596cd4773e7ebe86b3749e
DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8
DIST libc-0.2.149.crate 715592 BLAKE2B 21dd5d4f9351f3c75790077c7b025046db665f2d48d7a72cda7667bc60febf79d82708cf7d39a323a594397cd590bd3d2a2f85349b4473b90ea4da918382ed0a SHA512 0def64d400d473d6eed30e985522d36801ee6472b15f90e74dc4592e0a8ffbaf30b731be280de52b30255cf60aeca8efe817b67049227dc7000c807e007d7289
DIST libcst-1.7.0.tar.gz 776707 BLAKE2B c5499ce8de4ed41f71b43a577b6a92d3c197512e4c600728f4267ec456f45ca7184aada15c314b372b82f2cf1b70e0aa6e76e949383afa1e09166adda1bbecbf SHA512 edd10d2883c99d58e026aff5e5929deb8cf6d2e3422d702c0b492f0ea369e2701243321b9fbe7d7217eb2f457ac09c15e2577c2cc5446dee10dfee09d558efde
+DIST libcst-1.8.0.tar.gz 778687 BLAKE2B 76d75598b30c3950414f048374351fd08292916f3dc5dcacbc579787d4002a92c958b8008bc67d7f22980d5d0a223b6526c3877fd9818fccbc75d9ceeea61d1d SHA512 c3d9b6fb82345225e053864de41d6cf1eca11c00debbf2c87551f7b6836a9890d633520ddd867495397437ce13339fd116c4fc1622c84bdbd9855af1f53266ec
DIST linux-raw-sys-0.4.10.crate 1407767 BLAKE2B 8bc633d99bc1ee1a6fdfa19501fd034a4475fa9ebe18a206e4254309d91aee7a91fc70faf9775efa5157a1b2fb7e5f827bde40a770b066643356113f2cf38b5d SHA512 107f61add087bff55869798d5c71bc6ac9ecb27a603d8f9071b856189de8b7b0a7f9243fa1433700f52a0c3020eff5604dbf6e0653109d0dd277b98ab45fae21
DIST log-0.4.17.crate 38028 BLAKE2B b46be3719fc0a53e50b1f342762e188587e9f1ceb692c72473ce2663edfb8253742d30024e68c1444780ab7fc0e2d5b0601b8ea7228dc3405a9342a57548e605 SHA512 2477d88db42b1d92c30708d88823212e236f613b3465e85eb425f83f8d16fadfaf0352f06c2999a1852102edd2f6ffb10ecb539d8a3b6c48f552a25622ccffa2
DIST memchr-2.7.4.crate 96670 BLAKE2B da38114beca670467c3e1fbf4e415af6f22d52e3223715d52e181babb89b872b46511563985bcc16d7ff4e82f812c6e83ad904b0fe2501b14445119dfa8240e6 SHA512 8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2
@@ -49,24 +50,37 @@ DIST once_cell-1.16.0.crate 32120 BLAKE2B 59bfc8a44f1fec72442e3d34bf4be3a5af073f
DIST oorandom-11.1.3.crate 10068 BLAKE2B 443ced49f63015823866257a36a88e566f75adaa79511c1c73f1190ec8855ca590d2b6ece07c2ad5e9e47a89f7891af6e9e43b7d74d9ac57cb3551e60b50aca1 SHA512 51ae60ef51da56d7673f36a6c5b99b743580c5f5be54fdcb54b69e5e2f6bbba3267f96b74e7cd6dee6962dfa6696fd9ed073f22726a2861b8f2601946a8efab9
DIST paste-1.0.15.crate 18374 BLAKE2B 69ee7def55e658a9aa72405bad62325e8d6021a4989fbf11c88d1bf05fbac520f7b04d467bc3c6eb45043a41119f65aceecc4a6a1418a9192d73f33134545062 SHA512 5026d3ec7141ec4e2517a0b1283912d0801e9356f77b703d954b379439b8d85e3886d42fb28f7835edaeeac465582da14233564fb010c71425a59c9e1cbd46b4
DIST peg-0.8.4.crate 19291 BLAKE2B 2ba42f9868e98a9799bb497bf3a15dd0c26558e13e927d267314045fcbb23d03b1a11de2d6cb03898ad231a52154a8beb0415566835dc43fe44f0e2e6324f733 SHA512 771b5c817ead90e83df6d721e5821ac618ad99debc68a491fbcb2f3b5536d2b8c989a9eea8f862e8882374043333af4e177b8f3ed078a8d244cd6b02c65d90df
+DIST peg-0.8.5.crate 22411 BLAKE2B d11ae9dd8eee3555d3cdb882d0b9c8ec8b042ba312ddc146fbe1630cabe233af1acfe99d19d5bf795423d1f350cacc7089515d460e8be2ffeedcf6205ded8753 SHA512 d23fe530ab6d7a26e5a51e25ab672c188ed030d92e14db1f0409267cfc46ebeb13b4e8d07b4e2e7739a4db015808bd5d1654861a89cf5ee31b64dd5e05f583c8
DIST peg-macros-0.8.4.crate 29722 BLAKE2B 484ef7c2516836619706df5b5e7a11f825fe98bf04f4094e05782640a0f1c85672f671bd5f26f491cece267a8b8917603f4811f67b419701a3f0ca9741ba5634 SHA512 34839cc48637b340a777795ddf38fec6f6ea6366d7e9e3ca42e1ccdecd95bcf9b3d754635c27497e09c20d3a84f8463913f17e925a2b3ceacdf06dfe323f005d
+DIST peg-macros-0.8.5.crate 30601 BLAKE2B 63fa7e483c54d57c26a2e13a9ea49627da0b22f4480c724f5e143332a47f06d9a17204310ba67be3508ad2b15fe460410494c25e06d91d295a4458e697355414 SHA512 2152798dd1291997208d2c54894e1d6b0646023c6895d03df6e82b3150721ad4b4778f0ee631384da707b37edf8a27c02867882e7a01b4eb0e62d95850544abd
DIST peg-runtime-0.8.3.crate 4159 BLAKE2B 10183478eaec5d3057eb8d6a4e58728dad682d211addcb63e077545753ed2a2651d978e2d0c84f1934e364ab969ebb08f343581d86a3f801fcf2b9e87d9e14f6 SHA512 b7139cbee91469a367db2cbd4cd03d4abcd83f2c96160835e396c46ebfe2e76232920e9b473bd7195809614b503783c95e773958c17ca36f8bee20617504651b
+DIST peg-runtime-0.8.5.crate 4458 BLAKE2B 5baac2a7130d2feed33b0ea57b22bb95e2caa8ad72dc50b318cfd36e4c9a1d9a70a4e8f25be85aab0b2f31f7fbcb5cb9287d2f28a9e832398a3c997ea556cb8d SHA512 48aed1e15b3811fc3bb5c322edbfab9d51975b26a5e00c283d89df06685e0519de97d0cc205b05507b3534fe3015484828837af648e0940185ba8e0efe11dacf
DIST plotters-0.3.1.crate 8595577 BLAKE2B 7c500c43c2b2875d9dc17e4eab57cbd8a470c6064deadf4e78c429abe2f1e97511f64bc67782b4e03e7cc47c8ac54aadfa5f7cc8c27d3b4453d2ee8252896c99 SHA512 c7bcdf9da56c2d1c03053f61256d44d2384fac1a9a7e0db058090c13b359bce76a2a96bbcbfde04fdcde0a9dd3db8a1a22bc57508b0b6e4a374c8b35ec6c9707
DIST plotters-backend-0.3.2.crate 13524 BLAKE2B cfd42df0fcea4e5ee944a6b8c48e3b7fcecefd6d97f07e1c333067193c211da9eba29fb56e9fc8b861cfa2d1baa3c042fddb494bb66b9109656b26bde7901f7d SHA512 116bc6866094a2ec40a9ab9363378566ff37eeb4a4e3805562dd3e95f1d5e8664b54d3dc858a2c9974b125e308e46b77c294de2a655f836d342712c32f0242a3
DIST plotters-svg-0.3.1.crate 7596 BLAKE2B ac8dffc5dea833c0506c472567056be0804e5519828b68f7b3bec9ee63dd59f9aa828c10732a50e004214512df06c7eaf164eb9613cda75b2753270fa358c0d6 SHA512 4d3cd02534440dc26f5eaa3b4966081901626c61d9fabe0092fed87c48929cb9be070d9c34486fc7c7bef308337ff4890d30f9581a613549e507db60dd9d8876
DIST portable-atomic-1.4.3.crate 126291 BLAKE2B 08fbfd391c9eb55c02b8345549a57fb5c3b8cfcd81e3867ca49cba94faa7b2d372e4f2996fbef4a52742d852b117d4b7cc488571df7272b93caf47a9a2680c46 SHA512 89f14902c1e55c37d7663bc9255378441a0951e5d8e21665a8102e06b766135cec6d982f9ed01b4167e872a7853102ad0e9347e9b163ea81d81b00ee2362e9a0
DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434
+DIST proc-macro2-1.0.95.crate 51820 BLAKE2B 93229d80556ec03bce4031607d13c7902cacc2d7e2586a692ffe8543d52e3f3ba253c9c311ddedf6d9348ce8758ae8ff64577675cda2dac557f936a328de47e3 SHA512 f78e4d47ecd29c1b2315554705e445507bbfb9449afd0bf1b74df28f266ac6382ca8c3ce135ddc55c989eaee64d1794a0933a941c8ff55f543fa21c400016547
DIST pyo3-0.23.5.crate 1088533 BLAKE2B 2efae0a42c1d33e25c5871e3f61a3cea9890d278a20e2777307752b544ab3a634059bba896a1df0df4eadd0ae3c2e63b6d637aecd6699b31fac4107e3a43a387 SHA512 efd3a86dd70c199304463c0ae18dbdf4d9176d1af13b664bdd05a1e218cffda3f29f06d868d0d852d51c3e85b7e07c39617206b3feddc913b3b622f3fcf59d5f
+DIST pyo3-0.25.0.crate 1120850 BLAKE2B 6f373129d032e6980d058ec5dbfea58a7ce0cb8ed2b32aa852a14746cfd3a541b02286676c934a5d7f7bc1bea03e986e93e44de42114f7620b487977c0092d85 SHA512 83336d284eefdef5bc26dec4880e21c608a001b4676b3628eb59b7c0011fb672ca81fca035666b714eeb158809064f9b5b0720802045d5ff8fc9f6af02813c30
DIST pyo3-build-config-0.23.5.crate 33885 BLAKE2B 14e3897186abb772bcde147a9ebf2a70f5cbd634cb0240e1dbba71079acd2f9cd61fd263a5d32bc583e188ec84b6db8b93f018ab954ac9da66f423183ad5c176 SHA512 72aac032e3026554761eb81dc9c57591abc4d0c329c46918da13a8cc93c0532eba2fe3d971699a50890c66d8853b93a67840b0e8f1c15747d184b873dec2894a
+DIST pyo3-build-config-0.25.0.crate 34122 BLAKE2B ba098ff1c963c43d0cd1fdfaec43573ee0d9afff7cc010b7b371504ab66e1fec9233bab04c8c7656c382366d622589d0d5e865a8a271c68a9831ca657b49fcb9 SHA512 f6580bcc12bf8235bd8bdc09908f861645adfcdee31cf88d6443e628601bf3107c1d823c09dacb8e1bdaa171ae49f15e19811b9752600b799a4e86cdea081d40
DIST pyo3-ffi-0.23.5.crate 74867 BLAKE2B 5c80f7ac77ee516a891c1cb367e27fa396e55a7504dc8f92312219a90860baba3861ca2e83a1410839b99b6b3beb4c068703b841e18ea1854f70d04fef7404bd SHA512 37c25b21acc3718eab842c04489b0c16c04d33a30fe7f3f58cd80943048203375d8788ce84153ba3720df695fc95bf9f7bccacfa02b0e669a5ddbfc44d65f86c
+DIST pyo3-ffi-0.25.0.crate 77991 BLAKE2B 0474051570bf71070eab2578e0f9278327ccc48510419d292a81887fffad753ba434db6b795536512a688426eff42ea9805f99b1a3237ec927f6c731033850b2 SHA512 e03cb71493c898408a0692ba7fb4cd704e48c307f5115159f3375fae879e46f5cd7536325d70e7dbd3aeca8ea282a0fb5b5ac609bc807e8b9cb6abbd3a9a2ca5
DIST pyo3-macros-0.23.5.crate 8856 BLAKE2B 56e7dea9cc630e21f9e8aa43319db27f3d287baad4035bf8d921b2c8e737142e5a89decf6a04bcc095f97e035cfe4a5edd7091bba79dd68bc110b7420c29477b SHA512 bf9c12b02597cf6f119e92fe827016f393d13cfa21376811ab9bf8f49cbfd6447afe9dcbef564ad2b5b72db5338520c37c77429db8ee1ccb74de3944fc9fce7f
+DIST pyo3-macros-0.25.0.crate 8876 BLAKE2B 09c37cc5bdaec6859461a7bb4d1c28d0ddd77a448fb5097275fe7be373897900e2dcdb1c43eb4cc915e1089ac1204f4a7155c4b69478b0778e179aded1449ff0 SHA512 ee1218b6981d94a228bf55f31f0131c094728b12c19b312a77386cace2c4768ad8fc8a1a1999bf27c6a30012e20a1eb7a574d918ccacc421930c12cb1a6386ef
DIST pyo3-macros-backend-0.23.5.crate 70938 BLAKE2B 20d5b00edf806ff19de3e3a03d10a23a29b16d544faf2bb5781032e51c3e07cd7f1a979e00b9f1abca36bc7cf1546b702ee83f85d021d74ac819b8b13bf8d140 SHA512 5e9a971d98a7b70424bf93b1f7fb326564010562dd376789be2fa6b13b89c3d34f760eb61ed49f0b013bbdfff2658d874d24a8a0b65d8f82d10d8f34b8ef5b53
+DIST pyo3-macros-backend-0.25.0.crate 75089 BLAKE2B ea4d87e16616782c60f46f97d87a002ea2873a2ab6f7335da68bab32d636988fa30834c946943d4c56c6e5992c78ba6dc2cf8b613c2a402218599ef3e7a6c5be SHA512 dc2e567a09e746893d7cea57aa456124df31b1e3cb25f5b1fabdc97cd2ae73eea1d57aa642268bdbef3dc1ba0e383893d1b5dfd9cf1f3e818f77b9fc0ef2c486
DIST quote-1.0.37.crate 28558 BLAKE2B a7d007a69e619f853af94333e1066bb767013312bd99f147b1b153611242bcfa9c76768b1ba47278589db309a9acd61a772c8ec3b567e48439bb9d831f9326d4 SHA512 c4ed21428c1f89cf22b85d80720a7869831a9c129d694617b0ce8c258278114ab98846f3f653abf736d1c86bc9224bbd695e9a7b06aa3adf292d02e1ef14cc05
+DIST quote-1.0.40.crate 31063 BLAKE2B 09036ff3e5ebbd775c466bb936de91d4c070481eb4b98c62a4cddcda57cd7b67d63f979b321f6ec64aabee3f5da6c28e7a3efb83f4647768ba578f1bd0bd0bdb SHA512 45a76e22a2b0bec47e4ba73c3b73cc41d821dfcce9876134c5d8eed514da214aee4ce7612e372c8709f888c0d8b9b7e5442f27adb7a59f3571f0339ed7e2ac99
DIST rayon-1.10.0.crate 180155 BLAKE2B 16cb706d2317d8a349394c521ec5ab550290c5ab2a0a0dc24f0282fa7eb01fd1351a7dc8b5af3a55ea321e6526fbe037fec3cf8b32463166a082a6e417a51fca SHA512 3f628c58f3af3cbd1f245ca1be9c8393eff41112891fc4e676a2b9e26b6cba7cb80d7b6ce46e75bbb65e42fc00c5c0bb6b6a4b59092882f03febeb31f9cca5d3
DIST rayon-core-1.12.1.crate 70701 BLAKE2B a32eb9ae9a71b4f0881f7bfd5375aa7db5681f20f7e0b25e6ecb3161f2aad36b93026c1691d02bf298a48ea07ec9475a237fba457ed0b0b8624aebab2b4988df SHA512 33d0297b682f131c50e1eabc3be583211a5abe790301cbca91bf510e43d6714b7564ca39fab7c4bf6f02aa0df6bb394f386a61320f21ddb6bd7aea1372b5e99e
DIST regex-1.10.6.crate 253894 BLAKE2B 176cf6a1e86aa8a5004af5ab0d6cd4178135bdae3caeb6a8276b8739858c65e9ebcf23749398a5a91adcfee9cca3667b306c4adb6307acfe61dadba8c6f3eee4 SHA512 ec28961d226c944321d9953c42e43cf2d23b8ca0d72d6412e7b0f572c407aceb079bb82502d124af94d71d67c9e5e0c9f66ab9f31edf6023ff045ec37b770964
+DIST regex-1.11.1.crate 254170 BLAKE2B 5cf41012fc2ba8a006c0eb4a922cbbf1614bf300be361c9e2d98956a9a5e9b140e37bea09132fab7bfb633d4439158723624bcf45e8c619c4061b399253c1b82 SHA512 d065f6dc405771518260425f39a5eaaf8cab62e78c91ceed3b3994a9a121674d2484cadaaf816bdad89c87a40550d57b66a3d9de6618a7119a658301ce7e67d8
DIST regex-automata-0.4.7.crate 617582 BLAKE2B 6295d866706b623b2025fdc0c407086fec15053229d708713d0ec165bd526ba25e7468d0009625cbbbc21d20345f0af2eea10addf6de633e8e6a02dddced67b8 SHA512 b19d00d64bb8cd833cfb35fabb162b9481716f4b7f6035c1c8f1de4e0f90e00823d006e057aa3505aeda48c9e1802e61173c4a2878891129a3a918727e43b0d3
+DIST regex-automata-0.4.9.crate 618525 BLAKE2B ee3fc41c8c445be4c1aa3e5b19a3e61efd641b1a24e7a1ed55f837c1fba9c816272cb4645c13232b66b170bc7c413802928beb22e3891500141ad4ede65b60b0 SHA512 40bde0ec91cc27bc0c3fa237a37ecee5a1f023dbe006a999c5888f8f578ee2c4c64d9edfe1827546cea8e92ca3c10f8b4d494d81f3d0422b40d90bca9cf598d2
DIST regex-syntax-0.8.4.crate 347577 BLAKE2B 400323cdad2a7daa8d4006e4dd7a7b1234704df0f80ca0f4bb19447f8f1d270053bc8aa613e48291ab3a78c7eb02d7afec57bfc8d966a48b372a4c80de9b120c SHA512 10719c138d9aa304106fcbf77da0b01645d1b6fbc621abb639dbd43ed5fc3dbd22aaad8b86df55a60e7b2b4fc347b6f41419131d7b047273e146073250d892ed
+DIST regex-syntax-0.8.5.crate 357541 BLAKE2B fc6d125f7a8574c37d81c75cbfd447cbcff736f2d9991b19814ffc1a414ebc5b76e84fb8fd36c983b38e8e391d165cdd9047832b0d9100f0e1ba7085484b7db5 SHA512 549d8d130fea9ec0d5806126f57f31d433f50e9328c5532ad417c44bb5488ec0d20acb0983dbe54dabaa0b453cbea4533cf7baac7144df119e8f78dfe55c5ab8
DIST rustix-0.38.19.crate 357358 BLAKE2B 02968a58324ee719d424d0087ee7fed8b83979ab5be2aab3738cb577ef2c09f01eeaf1bbf12aef6c56c61c01b80600beef22f663301db0dcc429c6232ecb3b60 SHA512 1ea995a053d1bb36ff1459b5b25b2ec7d02e28a2973554737688f61079bdf1b87c8c139b0284beeea26a404ba3b9e2e4d4d61b13524dd20e15acc2b7218118af
DIST ryu-1.0.10.crate 48485 BLAKE2B cbc0ab4e0b2031f4ca3a34914bd61395d14706d42e2414757aa23a67530d549382d61b630159c92a169d1dd3315951b0071ff18349d2b090ae262de536aa29e2 SHA512 1bd0af71a20715251dd42596df6e7677e44f712bbb40b0d9544109c1b2478a7bd2c9393535f0d4f3bfe2d1b75b3a2b899044051715a7da7d165d6d586e0775f2
DIST same-file-1.0.6.crate 10183 BLAKE2B a320c8343e0b38078ba81c4f0159d886bf47764c74efe0d7cd2b3218426e8341b51e523c00a9e5fbc2ee1057618296bd70b576c68751bd55d6ddb352defaca15 SHA512 3ba35309742c8db63210d9ea78bff4ecd80471d69e6238eb96c7bf0673814f221e2d838fe6311bfc5a0e71b4a7ccba33e07859c0b9cff2171969ff08a4214a7c
@@ -76,15 +90,21 @@ DIST serde_derive-1.0.208.crate 56019 BLAKE2B 68812664bf69f8a65e2be984257975b765
DIST serde_json-1.0.125.crate 148919 BLAKE2B 551b29a79dd35e20e7432b434a163b62ffcadcb40a7755946e25ea29f59a39c55a85d589f6b90d449847023d0021b6ab189e41b52922468df5c46ed663a012fd SHA512 45cc034bed4ad15a6698ed2b723b3540db255c7ba8014c103d3b7782f10a3a8e2f6d5fe5d0dc47b54286f01f20c21818a5dda670a942182a07dcd1d71bea67a1
DIST serde_spanned-0.6.7.crate 9164 BLAKE2B 559a62c0ac00a1559947224bd268842f35c52f65d0d52102c98b5e683dfe4c36acb015edf97c5f79ff818dc575b3ae43c3f100d18eb7afc3ab9c96e348ba6794 SHA512 d0ef413867a705080fa68f84a059b4d04b604bec59323329ded7ae03e0caec49c89fc53640c1e58c27bb23b5c9f260ed176ac52f3a93d25d8d7643252dba037f
DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
+DIST syn-2.0.101.crate 299250 BLAKE2B 7018cdede66dca82e7d7a7e07e52a178687957fcfd69f1a2862094497d2fb9d78ada14b94761679bbc5f6c76c808a63e948ed071e4f65c2f9580a40bf58c9426 SHA512 05e4233a51f4d229dd4c9bd23c5224c42ec5554d02fd316dad10dfdb876aa1d379c7ea30b1ace979537da91ee746ca4fdcef7690885f83fd41ec8c9dc5984101
DIST syn-2.0.75.crate 268805 BLAKE2B 936688757ef1b39df0ac34fb2b98e14d15ea5d500b7db7d0c6358c495a385686287f5220b1427c0f086c56fab9caa0eb1f4b1c8cc6e6079f5b9cd24332ce7626 SHA512 f200b5fc6656912471a976e81f460713e9194a962441eb984e26320fc9f197a1d09c6a0a6bba4ab9bd153720ff5b48758f4bac617735ca455c37cc3041f84e38
DIST target-lexicon-0.12.15.crate 26384 BLAKE2B d1ba50aa9d50647c6f778df86b35db1a4dee56fad918e6ef216688d9ac716dc5e8b40bff15aa89a99e4874e74d7e2731ad7fd9ea7094652def8abf57b74f9811 SHA512 32cf3e2da1c28003e1b6347abc8ae4d8182bf5b719ef84772271fc871dbaf96ec98c03b555a748cb8ab76584e67e17532757193d1d84b057cc90bed525727fb3
+DIST target-lexicon-0.13.2.crate 27923 BLAKE2B 0761f0ffdc23b9c9df86b384d59611c7b8b5e29ff068f03367ad2fe84cfb6d11e1af149b9338236978e9566fedc51387db9f239d2a602db41045ac3db907faec SHA512 d25e3cc3d679cb6b6f24c03e0c24db9d6ca31b8ed42ac9531bd7637557fbba225a6c8ac4f68a8eaf3569195814d599e668a968afbc73b940a77cbc27552cc90a
+DIST target-triple-0.1.4.crate 7143 BLAKE2B 2e950355a9a51b6f3512497c18f5ca1e1359bc65711cfe35fac622ade0409e1a1dc0df0fb68f3722083d3d8d4f999e504ce56140357fa42fd887f5cc793f03a7 SHA512 ae57684930546887776670c2216517532410f325542d7ddeca1e561f1f212635689d00c5d4e2c3cbb884222bae1ceb8b9f32461704896adf5537d19e2a096501
DIST termcolor-1.1.3.crate 17242 BLAKE2B 5aef69c0004081bd3cc4d531d13d63627cc02313868c0faab62358d13abfa7b4ba82f142c2801d25a6ae46ecbc8b7bdbeaa21c9105ea3b8950ab6a38cdb88513 SHA512 5838fcbfd70f300cb4b62aab50565db52074c56b152ccc8ac1173e4676c0d5a636271bf5a645a77da6e1d4edbf0091af2cd4dd6d73b85c3d198c760898c06f3a
DIST thiserror-1.0.63.crate 21537 BLAKE2B eacab5745d948416bde165d768f55c10c132572052db405ae3dd3e6e3b5ce41f36d574192ae68fecf6002ae5b14fd0aa135fe15e1614f3b51a294d5edc67c9ac SHA512 d5c2360075947cc0fff3253b5532f03f3102d6c9ef52dfeb3b400771116937e466a62ce67ccdf91532bf096f4882322522349a727588fd87b932326c8e758753
+DIST thiserror-2.0.12.crate 28693 BLAKE2B 1145357098af4342f8d5f5cbe329acee408cf35b86ea97a0cbdca1cecd18a67f4798518266bce21f154a8b3baa0291b7bfd8edfbe29879364cc86e76e7c714d7 SHA512 aeb6de221b28443adba6a03337e7c70c54f99fe9500e39f904c3a8e612d895bc65025fb72c861890c7c011595d2b36832f4b642781847513edce1416b30f309c
DIST thiserror-impl-1.0.63.crate 16047 BLAKE2B 290b56ece5c592fdab4d20e9ebcc8dfe3f76b00aa48ed6c216ed0ebcab86b1ab4b4d676d0f52329abaccefae12bd47b4a81966901fdcf4ca5d0632d5021adbb8 SHA512 f93b7f89784d72d8b6e36050c22b88b7fd8de38e9a90fa6fe3f45973ea1566ce8bf82e959951377e3bf584a32afc97812188be25983a028be138b1700bb8c102
+DIST thiserror-impl-2.0.12.crate 21141 BLAKE2B 091cfa822bdf6cbe0730ac0ddc19c6102f6aa341fe68b18f335588f1166d9a0d34278c73e440c657b5890689f2c73c3c94f4d07abcf7bc77ac2139ce6c0bb555 SHA512 01bb00310cd8e80386250469ee7be2cb8db7ff4883869f8ce2ce0de1742292ed4e6d7fb1d7520f1e2555e72044309015bca84dcf058bea99b8d3db970cf0bffb
DIST tinytemplate-1.2.1.crate 26490 BLAKE2B af39d96f33f63238e455a4e38fde1d1730fd9661ae68be7b05df6ef9d2ab1a04db1332cc4ec9deb6da3a8e22b124df81b0fa8916d8491b808742bb733c8e48be SHA512 0cc080057e096f0796e72004343e1a8332c2e8a12e43f6ade150ebf632e9c29c7ad04de0b940cd57df81efdc4d07a6607da9b86a30d8383e39ac3d7be185edb9
DIST toml-0.8.19.crate 50974 BLAKE2B f68987353837b74421256fd9a76134bfbfe93887cfb25145b65b7e6b31ad2c3a3384829a06f50c771a2a0be0c5467c856cc631af69f586ea056c4f15af9e3b7c SHA512 16fdc58d14516e81badbe8c9a4506db75b559b377c9c4fecee79e76007b31a4abfc8c8868bf9159f79c6f7c0218f93bdcfb92b669b0917db7da42b51ec155751
DIST toml_datetime-0.6.8.crate 12028 BLAKE2B 62113366771f22b437b2ed0d3bb2489ae9078cb589cfad2ad2e92c81ddbda48f689e5a573366eea4f54c2b3cbc6b37eaa8b442b6d935b631a992de4917268757 SHA512 d38b98db3b2d4eebd3001d88e2135b6fdbae63b200f7e900c6bb9c121dd3f170e557332bd26f237312c1cbef61666716b0cf550c2d730f86fa7cd9eb5f64a16f
DIST toml_edit-0.22.20.crate 106726 BLAKE2B c545e7460ffcff1404dcb77e577121f6ef332645cc0566b2e23af72743cd40e571a74660e8034ddfe75c4ae5b0bac8d9cf2915e8c62c283eb977ed3a43449410 SHA512 f1514cb1c89fd0d89bcf13a448cd8f0a0a31e05b9c483d9167e6890d70594175dab570c267cbc6596382c2300299c8d1677a5a331bc407e80832da5b7a580294
+DIST trybuild-1.0.105.crate 44901 BLAKE2B d5a9c2f0b2e7c50b506d29a56089e04c7c797311a2e02b0f28816cef8b1c5ef0de7f5c32efdbaa91dfd6e17e013335016faa77f1def4ad705bd42fac5981f83c SHA512 f837f70cb53123d64760bb9327e368686e5c2a732fd2c315e835d245f8a00c062ceb9d1a5390e28d7df45f42546724024266e16e7fee0dc6ea62cff625f9b3e0
DIST trybuild-1.0.99.crate 41414 BLAKE2B 02e88157d80464f097fe00f75259df819d296f9011ed11e85861c2fd18e355a56345fa4a870f192d82756f1a48d757574008cb5bcbe38367a6fd7985419c142a SHA512 2cb3fe7972fce8b2f93e0838f9c21291c31e41afc536efb0b2a7ef6c2d2df4ac6adc70611f1204b41a23260c18a9375e3972bddf823c0af56d403eb0ebeda740
DIST unicode-ident-1.0.1.crate 33770 BLAKE2B e028e9f1d6c01a7a37c8f9ecd6b1d99041b45674bc7699066bb7479822cb8d5a1b4083db1117d9d44ab05096d8a37a9bd5d93dfe8cc5db6bb58950b4f5d5c8e8 SHA512 505650712a51c6f309c97bf72029de1eede33c71b84de9733f5f987859a61225e3d07d369b85a89797d870ea436f30b5b5046306f3d5fd672551a4b30c43e428
DIST unicode-width-0.2.0.crate 271509 BLAKE2B 53015f24c57ba65d7ffc6e15e947f5ab96fa272996fe5a4d2f9203051972238ea7591c99f1d8ae5d2610c7b83c215b6912eff7aaae034237aec8d79620bfb843 SHA512 38149ad512a44fc79b2c991c6b5667da2e8f8b442ab6bb7e4f404e7fbb034f7540c7e0e8b9e72a1ff6117b899d6034862239f43b6423fa89d55dcf489caff37d
diff --git a/dev-python/libcst/libcst-1.8.0.ebuild b/dev-python/libcst/libcst-1.8.0.ebuild
new file mode 100644
index 000000000000..8ff6677c4b5e
--- /dev/null
+++ b/dev-python/libcst/libcst-1.8.0.ebuild
@@ -0,0 +1,206 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+CRATES="
+ aho-corasick@1.0.4
+ anes@0.1.6
+ annotate-snippets@0.11.5
+ anstyle@1.0.10
+ autocfg@1.1.0
+ bitflags@2.4.0
+ bumpalo@3.12.0
+ cast@0.3.0
+ cc@1.0.83
+ cfg-if@1.0.0
+ ciborium-io@0.2.0
+ ciborium-ll@0.2.0
+ ciborium@0.2.0
+ clap@4.4.0
+ clap_builder@4.4.0
+ clap_lex@0.5.1
+ criterion-plot@0.5.0
+ criterion@0.5.1
+ crossbeam-deque@0.8.1
+ crossbeam-epoch@0.9.9
+ crossbeam-utils@0.8.10
+ difference@2.0.0
+ either@1.6.1
+ equivalent@1.0.1
+ errno-dragonfly@0.1.2
+ errno@0.3.2
+ glob@0.3.0
+ half@1.8.2
+ hashbrown@0.14.5
+ heck@0.5.0
+ hermit-abi@0.3.2
+ indexmap@2.4.0
+ indoc@2.0.4
+ is-terminal@0.4.9
+ itertools@0.10.5
+ itertools@0.13.0
+ itoa@1.0.2
+ js-sys@0.3.58
+ lazy_static@1.4.0
+ libc@0.2.149
+ linux-raw-sys@0.4.10
+ log@0.4.17
+ memchr@2.7.4
+ memoffset@0.6.5
+ memoffset@0.9.0
+ num-traits@0.2.15
+ once_cell@1.16.0
+ oorandom@11.1.3
+ paste@1.0.15
+ peg-macros@0.8.5
+ peg-runtime@0.8.5
+ peg@0.8.5
+ plotters-backend@0.3.2
+ plotters-svg@0.3.1
+ plotters@0.3.1
+ portable-atomic@1.4.3
+ proc-macro2@1.0.95
+ pyo3-build-config@0.25.0
+ pyo3-ffi@0.25.0
+ pyo3-macros-backend@0.25.0
+ pyo3-macros@0.25.0
+ pyo3@0.25.0
+ quote@1.0.40
+ rayon-core@1.12.1
+ rayon@1.10.0
+ regex-automata@0.4.9
+ regex-syntax@0.8.5
+ regex@1.11.1
+ rustix@0.38.19
+ ryu@1.0.10
+ same-file@1.0.6
+ scopeguard@1.1.0
+ serde@1.0.208
+ serde_derive@1.0.208
+ serde_json@1.0.125
+ serde_spanned@0.6.7
+ syn@1.0.109
+ syn@2.0.101
+ target-lexicon@0.13.2
+ target-triple@0.1.4
+ termcolor@1.1.3
+ thiserror-impl@2.0.12
+ thiserror@2.0.12
+ tinytemplate@1.2.1
+ toml@0.8.19
+ toml_datetime@0.6.8
+ toml_edit@0.22.20
+ trybuild@1.0.105
+ unicode-ident@1.0.1
+ unicode-width@0.2.0
+ unindent@0.2.3
+ walkdir@2.3.2
+ wasm-bindgen-backend@0.2.81
+ wasm-bindgen-macro-support@0.2.81
+ wasm-bindgen-macro@0.2.81
+ wasm-bindgen-shared@0.2.81
+ wasm-bindgen@0.2.81
+ web-sys@0.3.58
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-util@0.1.5
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ winapi@0.3.9
+ windows-sys@0.48.0
+ windows-targets@0.48.5
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_msvc@0.48.5
+ windows_i686_gnu@0.48.5
+ windows_i686_msvc@0.48.5
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_msvc@0.48.5
+ winnow@0.6.18
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="A concrete syntax tree with AST-like properties for Python"
+HOMEPAGE="
+ https://github.com/Instagram/LibCST/
+ https://pypi.org/project/libcst/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT Apache-2.0 PSF-2"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+
+RDEPEND="
+ >=dev-python/pyyaml-5.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/black[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/libcst/native.*"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # do not require the freethreading fork for regular 3.13
+ sed -i -e '/pyyaml-ft/d' pyproject.toml || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ libcst/codemod/tests/test_codemod_cli.py::TestCodemodCLI::test_codemod_formatter_error_input
+ )
+ local EPYTEST_IGNORE=(
+ # fuzzing, require hypothesmith
+ libcst/tests/test_fuzz.py
+ # require pyre-check
+ libcst/metadata/tests/test_type_inference_provider.py
+ # requires `python -m libcst.codegen.generate` which has extra
+ # deps and needs patching to work in our venv
+ # TODO: figure out if we don't need that for revdeps anyway
+ libcst/codegen/tests/test_codegen_clean.py
+ )
+
+ case ${EPYTHON} in
+ pypy3*)
+ EPYTEST_DESELECT+=(
+ # https://github.com/Instagram/LibCST/issues/1278
+ libcst/codemod/commands/tests/test_rename_typing_generic_aliases.py::TestRenameCommand::test_rename_typing_generic_alias
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ # fixtures
+ ln -s "${S}/native" . || die
+
+ nonfatal epytest
+ local ret=${?}
+
+ rm native || die
+
+ [[ ${ret} -ne 0 ]] && die "Tests failed on ${EPYTHON}"
+}
+
+python_test_all() {
+ cd native || die
+ cargo_src_test
+}
diff --git a/dev-python/libusb1/libusb1-3.3.1.ebuild b/dev-python/libusb1/libusb1-3.3.1.ebuild
index 757b1d9b4d47..1dcb1b8564ef 100644
--- a/dev-python/libusb1/libusb1-3.3.1.ebuild
+++ b/dev-python/libusb1/libusb1-3.3.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..13} python3_13t )
+PYTHON_COMPAT=( python3_{11..14} python3_13t )
inherit distutils-r1
diff --git a/dev-python/libvirt-python/libvirt-python-11.2.0.ebuild b/dev-python/libvirt-python/libvirt-python-11.2.0.ebuild
index 7c5a39ef0547..001848fbae78 100644
--- a/dev-python/libvirt-python/libvirt-python-11.2.0.ebuild
+++ b/dev-python/libvirt-python/libvirt-python-11.2.0.ebuild
@@ -12,7 +12,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 verify-sig
if [[ ${PV} == *9999* ]]; then
diff --git a/dev-python/libvirt-python/libvirt-python-9999.ebuild b/dev-python/libvirt-python/libvirt-python-9999.ebuild
index 16cc53178842..001848fbae78 100644
--- a/dev-python/libvirt-python/libvirt-python-9999.ebuild
+++ b/dev-python/libvirt-python/libvirt-python-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,7 +12,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 verify-sig
if [[ ${PV} == *9999* ]]; then
diff --git a/dev-python/lit/lit-21.0.0.9999.ebuild b/dev-python/lit/lit-21.0.0.9999.ebuild
index 4230fa63b2a4..fdf920bda34f 100644
--- a/dev-python/lit/lit-21.0.0.9999.ebuild
+++ b/dev-python/lit/lit-21.0.0.9999.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 llvm.org
diff --git a/dev-python/lit/lit-21.0.0_pre20250523.ebuild b/dev-python/lit/lit-21.0.0_pre20250523.ebuild
index 4230fa63b2a4..fdf920bda34f 100644
--- a/dev-python/lit/lit-21.0.0_pre20250523.ebuild
+++ b/dev-python/lit/lit-21.0.0_pre20250523.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 llvm.org
diff --git a/dev-python/logutils/logutils-0.3.5-r1.ebuild b/dev-python/logutils/logutils-0.3.5-r1.ebuild
index 0895c341b458..9e46b868f845 100644
--- a/dev-python/logutils/logutils-0.3.5-r1.ebuild
+++ b/dev-python/logutils/logutils-0.3.5-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/lxml-html-clean/lxml-html-clean-0.4.2.ebuild b/dev-python/lxml-html-clean/lxml-html-clean-0.4.2.ebuild
index e1d148a98310..fe926d563734 100644
--- a/dev-python/lxml-html-clean/lxml-html-clean-0.4.2.ebuild
+++ b/dev-python/lxml-html-clean/lxml-html-clean-0.4.2.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/mando/mando-0.8.2.ebuild b/dev-python/mando/mando-0.8.2.ebuild
index fd1f7910487c..5aac8c723a7d 100644
--- a/dev-python/mando/mando-0.8.2.ebuild
+++ b/dev-python/mando/mando-0.8.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/matrix-common/matrix-common-1.3.0-r1.ebuild b/dev-python/matrix-common/matrix-common-1.3.0-r1.ebuild
index 0d1ad442ab11..b727009cb14a 100644
--- a/dev-python/matrix-common/matrix-common-1.3.0-r1.ebuild
+++ b/dev-python/matrix-common/matrix-common-1.3.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/mdx-gh-links/mdx-gh-links-0.4.ebuild b/dev-python/mdx-gh-links/mdx-gh-links-0.4.ebuild
index 6383bffecc1d..fafe4a7bd98f 100644
--- a/dev-python/mdx-gh-links/mdx-gh-links-0.4.ebuild
+++ b/dev-python/mdx-gh-links/mdx-gh-links-0.4.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/minimock/minimock-1.3.0-r1.ebuild b/dev-python/minimock/minimock-1.3.0-r1.ebuild
index c774b3bf1a30..bd873d564bc8 100644
--- a/dev-python/minimock/minimock-1.3.0-r1.ebuild
+++ b/dev-python/minimock/minimock-1.3.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/mmtf-python/mmtf-python-1.1.3.ebuild b/dev-python/mmtf-python/mmtf-python-1.1.3.ebuild
index 9b3e2bbc22cb..f1efeba1a257 100644
--- a/dev-python/mmtf-python/mmtf-python-1.1.3.ebuild
+++ b/dev-python/mmtf-python/mmtf-python-1.1.3.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/mpdlcd/mpdlcd-0.5.2-r2.ebuild b/dev-python/mpdlcd/mpdlcd-0.5.2-r2.ebuild
index 85fd9f324c53..f84349941af0 100644
--- a/dev-python/mpdlcd/mpdlcd-0.5.2-r2.ebuild
+++ b/dev-python/mpdlcd/mpdlcd-0.5.2-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517="setuptools"
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/mrcfile/mrcfile-1.5.4.ebuild b/dev-python/mrcfile/mrcfile-1.5.4.ebuild
index 404830622114..da9632cb282f 100644
--- a/dev-python/mrcfile/mrcfile-1.5.4.ebuild
+++ b/dev-python/mrcfile/mrcfile-1.5.4.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/netcdf4/netcdf4-1.7.2.ebuild b/dev-python/netcdf4/netcdf4-1.7.2.ebuild
index 4d8024eb4d81..ba2681d8441e 100644
--- a/dev-python/netcdf4/netcdf4-1.7.2.ebuild
+++ b/dev-python/netcdf4/netcdf4-1.7.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYPI_PN=netCDF4
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 optfeature pypi
diff --git a/dev-python/nextinspace/nextinspace-3.0.1.ebuild b/dev-python/nextinspace/nextinspace-3.0.1.ebuild
index f84f38c765e8..fc712e959062 100644
--- a/dev-python/nextinspace/nextinspace-3.0.1.ebuild
+++ b/dev-python/nextinspace/nextinspace-3.0.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
DESCRIPTION="A command-line tool for seeing the latest in space"
diff --git a/dev-python/nextinspace/nextinspace-9999.ebuild b/dev-python/nextinspace/nextinspace-9999.ebuild
index 8b1d69d0b66e..79cb3e1487ba 100644
--- a/dev-python/nextinspace/nextinspace-9999.ebuild
+++ b/dev-python/nextinspace/nextinspace-9999.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
DESCRIPTION="A command-line tool for seeing the latest in space"
diff --git a/dev-python/nnpy/nnpy-1.4.2-r1.ebuild b/dev-python/nnpy/nnpy-1.4.2-r1.ebuild
index 0b3f337f08a2..34784a1edd77 100644
--- a/dev-python/nnpy/nnpy-1.4.2-r1.ebuild
+++ b/dev-python/nnpy/nnpy-1.4.2-r1.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/nodeenv/nodeenv-1.9.1.ebuild b/dev-python/nodeenv/nodeenv-1.9.1.ebuild
index 84dd606fe28b..19278678f107 100644
--- a/dev-python/nodeenv/nodeenv-1.9.1.ebuild
+++ b/dev-python/nodeenv/nodeenv-1.9.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/nuitka/Manifest b/dev-python/nuitka/Manifest
index b68cf1139929..889f368fe03a 100644
--- a/dev-python/nuitka/Manifest
+++ b/dev-python/nuitka/Manifest
@@ -1,2 +1,3 @@
DIST Nuitka-2.7.2.tar.gz 3883274 BLAKE2B 6f7d35bbe85aee77419a4ebcd28bcc255220c33e091f0c8a7474330551fea476ae1fe3a42f33432aa335b40e7ebb252bad185b7cac2df4ddf7c5cf0c59259adf SHA512 c66d6afe8b05b9d74c1d66b394196a005913d7d3fb0ad0efe8ec9a4256e671cf19ffff19b56c2597cca8ef8e61e484c697a3181590b7c8589b56af3cbbee5944
DIST Nuitka-2.7.3.tar.gz 3884010 BLAKE2B 1c917492c8ec34bb6a96c30a56cc31f0b8370503f8f0c5581445e12e5d3351b23ed39246ad8eea7beae0efbb2592699a880a11902963aac8b4170e8f8fab13a0 SHA512 838056e89bc5ff32671ab3f40dfda5f207ea900bc7f19e2152740e9431eff192ad70cbfa6cd67186d98eafecfb7457574497f959541993602e4a6b4b1c545738
+DIST Nuitka-2.7.4.tar.gz 3885038 BLAKE2B c0c4456af4e3df2f653b8698a53470114ebd809bf48931240361ae2f5f55c7b88acf2171a07245f13550b9111ec067d2eb9390562718355e07c4f9026d2ba52e SHA512 62b91a298e69d4d8d76608fa5ccd192b8e47764232d6653ec8519244dc099a3623be68554ab7e0a822a69a3f86d19a9b898d2ecb16d68b93d765eed3b84a1937
diff --git a/dev-python/nuitka/nuitka-2.7.4.ebuild b/dev-python/nuitka/nuitka-2.7.4.ebuild
new file mode 100644
index 000000000000..c97d7f3c6ae8
--- /dev/null
+++ b/dev-python/nuitka/nuitka-2.7.4.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN^}
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 flag-o-matic optfeature pypi
+
+DESCRIPTION="Python to native compiler"
+HOMEPAGE="
+ https://nuitka.net/
+ https://github.com/Nuitka/Nuitka/
+ https://pypi.org/project/Nuitka/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~loong ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-build/scons[${PYTHON_USEDEP}]
+ >=dev-python/ordered-set-4.1.0[${PYTHON_USEDEP}]
+ >=dev-python/zstandard-0.15[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? ( dev-util/ccache )
+"
+
+distutils-r1_src_prepare() {
+ # remove vendored version of SCons that is Python2 only
+ # this should be removed when upstream removes support for Python2
+ rm -vR "nuitka/build/inline_copy/lib/scons-2.3.2/SCons" || die
+ eapply_user
+}
+
+python_install() {
+ distutils-r1_python_install
+ doman doc/nuitka.1 doc/nuitka-run.1
+}
+
+python_test() {
+ append-ldflags -Wl,--no-warn-search-mismatch
+ ./tests/basics/run_all.py search || die
+}
+
+pkg_postinst() {
+ optfeature "support for stand-alone executables" dev-util/patchelf
+}
diff --git a/dev-python/opt-einsum/opt-einsum-3.4.0.ebuild b/dev-python/opt-einsum/opt-einsum-3.4.0.ebuild
index 5f41ab253694..83d73d09d42d 100644
--- a/dev-python/opt-einsum/opt-einsum-3.4.0.ebuild
+++ b/dev-python/opt-einsum/opt-einsum-3.4.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/parver/parver-0.5.ebuild b/dev-python/parver/parver-0.5.ebuild
index a1776b0d78ed..e199d1bed365 100644
--- a/dev-python/parver/parver-0.5.ebuild
+++ b/dev-python/parver/parver-0.5.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2019-2024 Gentoo Authors
+# Copyright 2019-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/pastel/pastel-0.2.1-r1.ebuild b/dev-python/pastel/pastel-0.2.1-r1.ebuild
index 4f5fd1cc7e76..3a7b3aca1bd1 100644
--- a/dev-python/pastel/pastel-0.2.1-r1.ebuild
+++ b/dev-python/pastel/pastel-0.2.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/pdfrw/pdfrw-0.4_p1-r1.ebuild b/dev-python/pdfrw/pdfrw-0.4_p1-r1.ebuild
index e9309109f920..61c305ff2200 100644
--- a/dev-python/pdfrw/pdfrw-0.4_p1-r1.ebuild
+++ b/dev-python/pdfrw/pdfrw-0.4_p1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/pebble/pebble-5.1.1.ebuild b/dev-python/pebble/pebble-5.1.1.ebuild
index eed7d011a759..1a69d59550e8 100644
--- a/dev-python/pebble/pebble-5.1.1.ebuild
+++ b/dev-python/pebble/pebble-5.1.1.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_PN=${PN^}
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/pecan/pecan-1.6.0.ebuild b/dev-python/pecan/pecan-1.6.0.ebuild
index 893d5b2bbf03..8d72ae058340 100644
--- a/dev-python/pecan/pecan-1.6.0.ebuild
+++ b/dev-python/pecan/pecan-1.6.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/phply/phply-1.2.6.ebuild b/dev-python/phply/phply-1.2.6.ebuild
index f69b17aeaf59..bd182cff0268 100644
--- a/dev-python/phply/phply-1.2.6.ebuild
+++ b/dev-python/phply/phply-1.2.6.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/pikepdf/Manifest b/dev-python/pikepdf/Manifest
index 81ff16c5953f..ba5f344ec973 100644
--- a/dev-python/pikepdf/Manifest
+++ b/dev-python/pikepdf/Manifest
@@ -1,2 +1,3 @@
DIST pikepdf-9.5.2.tar.gz 2916549 BLAKE2B 821fe21cb2ef471ab7313e2dab371f0a5290659225647ca4059995af9112e4f5425e0a9e11f9691dc2da9786beeffb2abc33ec374bb97b3fe1f25bd6feba042a SHA512 ac7c33c7cd23e34eb1bd518aae7167285cca6cc710e37f05cac03512666777848a2ad3d17a72654832564a8521e69ea0d124c70c61aca0bed7123475bf03a359
DIST pikepdf-9.7.0.tar.gz 2921981 BLAKE2B 1f43bed82e73cbe5268199fc511e47f7e2c32419cbf012eecaf3d984dfe950d8a1ae085530d0cf90eee4de78cf1271c81db904787d52085d7585ef402d4ed792 SHA512 da95f966eefbed76ca163fc6ba732b82cf68abd6bb92bfcb972ca56cde60cec8e9a726fe86a11f60797694c7ac20ad69c46e5c68c99c3eef4bf9c3f0cefbacf5
+DIST pikepdf-9.8.1.tar.gz 4544526 BLAKE2B 2e842d234a19cd62045fbeac3e3af99df1869777a1f4f22debac0ba823e70b98bbd4536e3d35692581286579278b06f579060e033994a1157b2719a72862c10d SHA512 ea4cde49b8ab96f745c705e3e706fcef405dd66fda35bc00f061836caddfd4049f8ce0b84570e303036d4e94b86e1cba59b73e96123d99c1b039c41a242ae76e
diff --git a/dev-python/pikepdf/pikepdf-9.8.1.ebuild b/dev-python/pikepdf/pikepdf-9.8.1.ebuild
new file mode 100644
index 000000000000..a20a191b8ba7
--- /dev/null
+++ b/dev-python/pikepdf/pikepdf-9.8.1.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python library to work with pdf files based on qpdf"
+HOMEPAGE="
+ https://github.com/pikepdf/pikepdf/
+ https://pypi.org/project/pikepdf/
+"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="big-endian"
+
+# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
+# https://qpdf.readthedocs.io/en/stable/release-notes.html.
+DEPEND="
+ >=app-text/qpdf-11.5.0:0=
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/deprecated[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/pillow-10.0.1[lcms,${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pybind11-2.13.6[${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/hypothesis-6.36[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
+ >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
+ >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
+ >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
+ !big-endian? (
+ >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}]
+ )
+ media-libs/tiff[zlib]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ sed -e '/-n auto/d' -i pyproject.toml || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # fragile to system load
+ tests/test_image_access.py::test_random_image
+ tests/test_image_access.py::test_image_save_compare
+ tests/test_image_access.py::test_palette_nonrgb
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p timeout
+}
diff --git a/dev-python/pivy/pivy-0.6.10.ebuild b/dev-python/pivy/pivy-0.6.10.ebuild
index 4d6c459e86cd..bf72655a8998 100644
--- a/dev-python/pivy/pivy-0.6.10.ebuild
+++ b/dev-python/pivy/pivy-0.6.10.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/pkgcraft/pkgcraft-0.0.11.ebuild b/dev-python/pkgcraft/pkgcraft-0.0.11.ebuild
index 7b0667bd1f19..891e35b37f8f 100644
--- a/dev-python/pkgcraft/pkgcraft-0.0.11.ebuild
+++ b/dev-python/pkgcraft/pkgcraft-0.0.11.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/pkgcraft/pkgcraft-9999.ebuild b/dev-python/pkgcraft/pkgcraft-9999.ebuild
index 2e0a65610aeb..31dd8fc4f667 100644
--- a/dev-python/pkgcraft/pkgcraft-9999.ebuild
+++ b/dev-python/pkgcraft/pkgcraft-9999.ebuild
@@ -1,11 +1,11 @@
-# Copyright 2023-2024 Gentoo Authors
+# Copyright 2023-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/plotly/Manifest b/dev-python/plotly/Manifest
index 0c20bbcf8222..813d722af665 100644
--- a/dev-python/plotly/Manifest
+++ b/dev-python/plotly/Manifest
@@ -1,2 +1,2 @@
-DIST plotly.py-6.1.0.gh.tar.gz 10090446 BLAKE2B a0c083bad957850eb51f96f1d9f4f66cb7572204e634d2a54ee099381bc62cc728096ff1637ca66ca2bc16d6eaf279e55c890f14dc33c7de621456438aedbcf4 SHA512 cf92b0aae7412ad06333c79fab8236a061eff0b1c70c37be140238425222ba2fa8115993a747797ff9325d9e5bfd246f15aca152fa907e852268e2b91e420600
DIST plotly.py-6.1.1.gh.tar.gz 10090780 BLAKE2B a7ce3f7380346f12dfb129aca63284efe7117794aaca7d12142f58c195adfe5265ee12edd2e948eabcb8fec2bf9c926ecf866b9888e397930cb3971302a0a1c8 SHA512 a7216a4e495d9da1bfab65922d5666445ea55de00d1030449eb45ee3e3a90d12ae51724348c8e51cd5b76c41436919124f95daf75d3bab89e186fdf317af2580
+DIST plotly.py-6.1.2.gh.tar.gz 10193925 BLAKE2B 21daa8e49c382bee311ebf4e976b233992d91d011b425e2294f7ce211c33a3c1113d23f4c5230ec6a8eb84e954ab035bc505f722ae3acfc858a0c9aff8740234 SHA512 bb614105fee5660bd1e530f3bfa361bd2d5306145d0cf8a9bac69f893f73d9754dba0b7edacd1f75d9734820a7e1f2f5ced9f0ac77c1265c621f89a37206a089
diff --git a/dev-python/plotly/plotly-6.1.0.ebuild b/dev-python/plotly/plotly-6.1.2.ebuild
index 8a60fcc5032a..8a60fcc5032a 100644
--- a/dev-python/plotly/plotly-6.1.0.ebuild
+++ b/dev-python/plotly/plotly-6.1.2.ebuild
diff --git a/dev-python/pluginbase/pluginbase-1.0.1-r1.ebuild b/dev-python/pluginbase/pluginbase-1.0.1-r1.ebuild
index 796bc6fff1f7..f3470de0fabc 100644
--- a/dev-python/pluginbase/pluginbase-1.0.1-r1.ebuild
+++ b/dev-python/pluginbase/pluginbase-1.0.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/plyvel/plyvel-1.5.1.ebuild b/dev-python/plyvel/plyvel-1.5.1.ebuild
index 4084a4fed878..45615c76c667 100644
--- a/dev-python/plyvel/plyvel-1.5.1.ebuild
+++ b/dev-python/plyvel/plyvel-1.5.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,7 +7,7 @@ DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
# Disable PyPy3 for now because it is not stable enough:
# https://github.com/wbolster/plyvel/issues/140
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/podman/podman-5.4.0.1.ebuild b/dev-python/podman/podman-5.4.0.1.ebuild
index 8024b6a02158..09bca8111d0c 100644
--- a/dev-python/podman/podman-5.4.0.1.ebuild
+++ b/dev-python/podman/podman-5.4.0.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
@@ -28,9 +28,6 @@ RDEPEND="
>=dev-python/requests-2.24[${PYTHON_USEDEP}]
>=dev-python/rich-12.5.1[${PYTHON_USEDEP}]
dev-python/urllib3[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-1.2.3[${PYTHON_USEDEP}]
- ' 3.10)
"
BDEPEND="
test? (
diff --git a/dev-python/protobuf/files/protobuf-3.20.3-python311.patch b/dev-python/protobuf/files/protobuf-3.20.3-python311.patch
deleted file mode 100644
index b9aca40776c5..000000000000
--- a/dev-python/protobuf/files/protobuf-3.20.3-python311.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-https://github.com/protocolbuffers/protobuf/commit/2206b63c4649cf2e8a06b66c9191c8ef862ca519
-https://github.com/protocolbuffers/protobuf/pull/10403
-https://github.com/protocolbuffers/protobuf/issues/10305
-https://bugs.gentoo.org/844184
-
-From da973aff2adab60a9e516d3202c111dbdde1a50f Mon Sep 17 00:00:00 2001
-From: Alexander Shadchin <alexandr.shadchin@gmail.com>
-Date: Sun, 14 Aug 2022 21:13:49 +0300
-Subject: [PATCH] Fix build with Python 3.11
-
-The PyFrameObject structure members have been removed from the public C API.
---- a/google/protobuf/pyext/descriptor.cc
-+++ b/google/protobuf/pyext/descriptor.cc
-@@ -58,6 +58,37 @@
- : 0) \
- : PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
-
-+#if PY_VERSION_HEX < 0x030900B1 && !defined(PYPY_VERSION)
-+static PyCodeObject* PyFrame_GetCode(PyFrameObject *frame)
-+{
-+ Py_INCREF(frame->f_code);
-+ return frame->f_code;
-+}
-+
-+static PyFrameObject* PyFrame_GetBack(PyFrameObject *frame)
-+{
-+ Py_XINCREF(frame->f_back);
-+ return frame->f_back;
-+}
-+#endif
-+
-+#if PY_VERSION_HEX < 0x030B00A7 && !defined(PYPY_VERSION)
-+static PyObject* PyFrame_GetLocals(PyFrameObject *frame)
-+{
-+ if (PyFrame_FastToLocalsWithError(frame) < 0) {
-+ return NULL;
-+ }
-+ Py_INCREF(frame->f_locals);
-+ return frame->f_locals;
-+}
-+
-+static PyObject* PyFrame_GetGlobals(PyFrameObject *frame)
-+{
-+ Py_INCREF(frame->f_globals);
-+ return frame->f_globals;
-+}
-+#endif
-+
- namespace google {
- namespace protobuf {
- namespace python {
-@@ -96,48 +127,66 @@ bool _CalledFromGeneratedFile(int stacklevel) {
- // This check is not critical and is somewhat difficult to implement correctly
- // in PyPy.
- PyFrameObject* frame = PyEval_GetFrame();
-+ PyCodeObject* frame_code = nullptr;
-+ PyObject* frame_globals = nullptr;
-+ PyObject* frame_locals = nullptr;
-+ bool result = false;
-+
- if (frame == nullptr) {
-- return false;
-+ goto exit;
- }
-+ Py_INCREF(frame);
- while (stacklevel-- > 0) {
-- frame = frame->f_back;
-+ PyFrameObject* next_frame = PyFrame_GetBack(frame);
-+ Py_DECREF(frame);
-+ frame = next_frame;
- if (frame == nullptr) {
-- return false;
-+ goto exit;
- }
- }
-
-- if (frame->f_code->co_filename == nullptr) {
-- return false;
-+ frame_code = PyFrame_GetCode(frame);
-+ if (frame_code->co_filename == nullptr) {
-+ goto exit;
- }
- char* filename;
- Py_ssize_t filename_size;
-- if (PyString_AsStringAndSize(frame->f_code->co_filename,
-+ if (PyString_AsStringAndSize(frame_code->co_filename,
- &filename, &filename_size) < 0) {
- // filename is not a string.
- PyErr_Clear();
-- return false;
-+ goto exit;
- }
- if ((filename_size < 3) ||
- (strcmp(&filename[filename_size - 3], ".py") != 0)) {
- // Cython's stack does not have .py file name and is not at global module
- // scope.
-- return true;
-+ result = true;
-+ goto exit;
- }
- if (filename_size < 7) {
- // filename is too short.
-- return false;
-+ goto exit;
- }
- if (strcmp(&filename[filename_size - 7], "_pb2.py") != 0) {
- // Filename is not ending with _pb2.
-- return false;
-+ goto exit;
- }
-
-- if (frame->f_globals != frame->f_locals) {
-+ frame_globals = PyFrame_GetGlobals(frame);
-+ frame_locals = PyFrame_GetLocals(frame);
-+ if (frame_globals != frame_locals) {
- // Not at global module scope
-- return false;
-+ goto exit;
- }
- #endif
-- return true;
-+ result = true;
-+exit:
-+ Py_XDECREF(frame_globals);
-+ Py_XDECREF(frame_locals);
-+ Py_XDECREF(frame_code);
-+ Py_XDECREF(frame);
-+ return result;
- }
-
- // If the calling code is not a _pb2.py file, raise AttributeError.
-
diff --git a/dev-python/protobuf/files/protobuf-4.22.5-c++-17.patch b/dev-python/protobuf/files/protobuf-4.22.5-c++-17.patch
deleted file mode 100644
index 3ca6a5776d04..000000000000
--- a/dev-python/protobuf/files/protobuf-4.22.5-c++-17.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/python/setup.py b/python/setup.py
-index e65631013..8a6cbe59a 100755
---- a/python/setup.py
-+++ b/python/setup.py
-@@ -370,7 +370,7 @@ if __name__ == '__main__':
- extra_compile_args.append('-Wno-invalid-offsetof')
- extra_compile_args.append('-Wno-sign-compare')
- extra_compile_args.append('-Wno-unused-variable')
-- extra_compile_args.append('-std=c++14')
-+ extra_compile_args.append('-std=c++17')
-
- if sys.platform == 'darwin':
- extra_compile_args.append('-Wno-shorten-64-to-32')
diff --git a/dev-python/protobuf/files/protobuf-4.22.5-python.patch b/dev-python/protobuf/files/protobuf-4.22.5-python.patch
deleted file mode 100644
index 65cb22d5f653..000000000000
--- a/dev-python/protobuf/files/protobuf-4.22.5-python.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-See also https://github.com/protocolbuffers/protobuf/pull/9098
---- a/google/protobuf/internal/json_format_test.py
-+++ b/google/protobuf/internal/json_format_test.py
-@@ -1060,7 +1060,7 @@ class JsonFormatTest(JsonFormatBase):
- def testInvalidTimestamp(self):
- message = json_format_proto3_pb2.TestTimestamp()
- text = '{"value": "10000-01-01T00:00:00.00Z"}'
-- self.assertRaisesRegexp(
-+ self.assertRaisesRegex(
- json_format.ParseError, 'Failed to parse value field: '
- 'time data \'10000-01-01T00:00:00\' does not match'
- ' format \'%Y-%m-%dT%H:%M:%S\' at TestTimestamp.value.',
-@@ -1097,7 +1097,7 @@ class JsonFormatTest(JsonFormatBase):
- def testInvalidOneof(self):
- message = json_format_proto3_pb2.TestOneof()
- text = '{"oneofInt32Value": 1, "oneofStringValue": "2"}'
-- self.assertRaisesRegexp(
-+ self.assertRaisesRegex(
- json_format.ParseError, 'Message type "proto3.TestOneof"'
- ' should not have multiple "oneof_value" oneof fields at "TestOneof".',
- json_format.Parse, text, message)
diff --git a/dev-python/psycopg/psycopg-2.9.10.ebuild b/dev-python/psycopg/psycopg-2.9.10.ebuild
index a9585f1c2b53..84febfd09383 100644
--- a/dev-python/psycopg/psycopg-2.9.10.ebuild
+++ b/dev-python/psycopg/psycopg-2.9.10.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYPI_PN="psycopg2"
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/publicsuffix2/publicsuffix2-2.20191221-r2.ebuild b/dev-python/publicsuffix2/publicsuffix2-2.20191221-r2.ebuild
index 8af3ddd95f37..b37c49b3232e 100644
--- a/dev-python/publicsuffix2/publicsuffix2-2.20191221-r2.ebuild
+++ b/dev-python/publicsuffix2/publicsuffix2-2.20191221-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2020-2024 Gentoo Authors
+# Copyright 2020-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/puremagic/puremagic-1.29.ebuild b/dev-python/puremagic/puremagic-1.29.ebuild
index ad4f1680b1f3..33c060d287cb 100644
--- a/dev-python/puremagic/puremagic-1.29.ebuild
+++ b/dev-python/puremagic/puremagic-1.29.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/pyaml/pyaml-25.1.0.ebuild b/dev-python/pyaml/pyaml-25.1.0.ebuild
index 6674ea846b29..3bc2666e7276 100644
--- a/dev-python/pyaml/pyaml-25.1.0.ebuild
+++ b/dev-python/pyaml/pyaml-25.1.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/pyasyncore/pyasyncore-1.0.4.ebuild b/dev-python/pyasyncore/pyasyncore-1.0.4.ebuild
index ef9a0cf089d6..070a51320d31 100644
--- a/dev-python/pyasyncore/pyasyncore-1.0.4.ebuild
+++ b/dev-python/pyasyncore/pyasyncore-1.0.4.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{12..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/pychm/pychm-0.8.6-r1.ebuild b/dev-python/pychm/pychm-0.8.6-r1.ebuild
index 01d68162f2a5..2e9dbd531441 100644
--- a/dev-python/pychm/pychm-0.8.6-r1.ebuild
+++ b/dev-python/pychm/pychm-0.8.6-r1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/pyclipper/pyclipper-1.3.0_p6.ebuild b/dev-python/pyclipper/pyclipper-1.3.0_p6.ebuild
index d9ce4faf22d0..239bcd99fd73 100644
--- a/dev-python/pyclipper/pyclipper-1.3.0_p6.ebuild
+++ b/dev-python/pyclipper/pyclipper-1.3.0_p6.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/pycollada/pycollada-0.9.ebuild b/dev-python/pycollada/pycollada-0.9.ebuild
index d1257e872d71..8451b78852c7 100644
--- a/dev-python/pycollada/pycollada-0.9.ebuild
+++ b/dev-python/pycollada/pycollada-0.9.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/pycurl-requests/pycurl-requests-0.5.0-r1.ebuild b/dev-python/pycurl-requests/pycurl-requests-0.5.0-r1.ebuild
index a700916d6840..6e95ec9e0d47 100644
--- a/dev-python/pycurl-requests/pycurl-requests-0.5.0-r1.ebuild
+++ b/dev-python/pycurl-requests/pycurl-requests-0.5.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021-2024 Gentoo Authors
+# Copyright 2021-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/pydiffx/pydiffx-1.1.ebuild b/dev-python/pydiffx/pydiffx-1.1.ebuild
index f4b0dc305e55..5eed5a6fb438 100644
--- a/dev-python/pydiffx/pydiffx-1.1.ebuild
+++ b/dev-python/pydiffx/pydiffx-1.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/pydyf/pydyf-0.11.0.ebuild b/dev-python/pydyf/pydyf-0.11.0.ebuild
index 73ac08e6d678..9ed7f166fbb2 100644
--- a/dev-python/pydyf/pydyf-0.11.0.ebuild
+++ b/dev-python/pydyf/pydyf-0.11.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021-2024 Gentoo Authors
+# Copyright 2021-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/pyeclib/pyeclib-1.6.4.ebuild b/dev-python/pyeclib/pyeclib-1.6.4.ebuild
index 43e348de3ef3..3fbc87f882b4 100644
--- a/dev-python/pyeclib/pyeclib-1.6.4.ebuild
+++ b/dev-python/pyeclib/pyeclib-1.6.4.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 optfeature pypi
diff --git a/dev-python/pyghmi/pyghmi-1.6.1.ebuild b/dev-python/pyghmi/pyghmi-1.6.1.ebuild
index 89bd4f6c4398..405adffe103b 100644
--- a/dev-python/pyghmi/pyghmi-1.6.1.ebuild
+++ b/dev-python/pyghmi/pyghmi-1.6.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/pygit2/pygit2-1.18.0.ebuild b/dev-python/pygit2/pygit2-1.18.0.ebuild
index cecbfe5eb681..f0e976303bf6 100644
--- a/dev-python/pygit2/pygit2-1.18.0.ebuild
+++ b/dev-python/pygit2/pygit2-1.18.0.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/pyh2o/pyh2o-1-r1.ebuild b/dev-python/pyh2o/pyh2o-1-r1.ebuild
index bf2d572f8b99..61edf61090dd 100644
--- a/dev-python/pyh2o/pyh2o-1-r1.ebuild
+++ b/dev-python/pyh2o/pyh2o-1-r1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/pyhcl/pyhcl-0.4.5.ebuild b/dev-python/pyhcl/pyhcl-0.4.5.ebuild
index 5723ea9e7aad..e36cdc444dda 100644
--- a/dev-python/pyhcl/pyhcl-0.4.5.ebuild
+++ b/dev-python/pyhcl/pyhcl-0.4.5.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/pykakasi/pykakasi-2.3.0.ebuild b/dev-python/pykakasi/pykakasi-2.3.0.ebuild
index 9f043572cd2b..77b820081ebf 100644
--- a/dev-python/pykakasi/pykakasi-2.3.0.ebuild
+++ b/dev-python/pykakasi/pykakasi-2.3.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/pykka/pykka-4.2.0.ebuild b/dev-python/pykka/pykka-4.2.0.ebuild
index 58f4fdd6b641..895ccebfee96 100644
--- a/dev-python/pykka/pykka-4.2.0.ebuild
+++ b/dev-python/pykka/pykka-4.2.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/pylev/pylev-1.4.0-r1.ebuild b/dev-python/pylev/pylev-1.4.0-r1.ebuild
index 51497281f072..2c8caa52ce74 100644
--- a/dev-python/pylev/pylev-1.4.0-r1.ebuild
+++ b/dev-python/pylev/pylev-1.4.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/pylru/pylru-1.2.1.ebuild b/dev-python/pylru/pylru-1.2.1.ebuild
index 12c0a5a870a8..f7f9f6f4cbe3 100644
--- a/dev-python/pylru/pylru-1.2.1.ebuild
+++ b/dev-python/pylru/pylru-1.2.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/pymad/pymad-0.11.3.ebuild b/dev-python/pymad/pymad-0.11.3.ebuild
index a61f79f79b08..e6762908661d 100644
--- a/dev-python/pymad/pymad-0.11.3.ebuild
+++ b/dev-python/pymad/pymad-0.11.3.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/pymountboot/pymountboot-0.2.3-r2.ebuild b/dev-python/pymountboot/pymountboot-0.2.3-r2.ebuild
index ac168dde161a..9781d3fee146 100644
--- a/dev-python/pymountboot/pymountboot-0.2.3-r2.ebuild
+++ b/dev-python/pymountboot/pymountboot-0.2.3-r2.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/pyocr/pyocr-0.8.5.ebuild b/dev-python/pyocr/pyocr-0.8.5.ebuild
index 27bccbd4f675..457b9ee61b42 100644
--- a/dev-python/pyocr/pyocr-0.8.5.ebuild
+++ b/dev-python/pyocr/pyocr-0.8.5.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/pyphen/pyphen-0.17.2.ebuild b/dev-python/pyphen/pyphen-0.17.2.ebuild
index 76ad6b778bec..69f377ebbe9b 100644
--- a/dev-python/pyphen/pyphen-0.17.2.ebuild
+++ b/dev-python/pyphen/pyphen-0.17.2.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/pysdl2/pysdl2-0.9.17.ebuild b/dev-python/pysdl2/pysdl2-0.9.17.ebuild
index ca4a3a3086ea..71cb603c83a1 100644
--- a/dev-python/pysdl2/pysdl2-0.9.17.ebuild
+++ b/dev-python/pysdl2/pysdl2-0.9.17.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_PN=PySDL2
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/pysmi/Manifest b/dev-python/pysmi/Manifest
index b3f8e4bd4211..903ab50f3b2a 100644
--- a/dev-python/pysmi/Manifest
+++ b/dev-python/pysmi/Manifest
@@ -1,2 +1,3 @@
DIST pysmi-1.5.9.tar.gz 131529 BLAKE2B d3ef2a848815b1d33f9f545a002c2e7a04ddf97979974c53dad4e6b7372369820c011a3996592ed3ad8625b306cc35bafb5fb9230d6155a64ecc53803e5db973 SHA512 3f580b96d677acd5ca5b107186269ee0ef6673326746cc3f09d8fb5fe549fa1456783f33c5213c288c783190220ae30ef2cfb71e9947804abbee38d5792bfa09
DIST pysmi-1.6.1.gh.tar.gz 188037 BLAKE2B 58951f8743e7cd9e8369d237f7bc59152d5553e43a24f03bcaf73305b654a46f4acf627e55464623dfde3d8da93b4430b5d7bdc96478ef74c0ac7192d201ddad SHA512 d3c8fc08e8221910375e6fd68700a96b8ce98d6818ae825a181d6b0c45df745ae268a9dcb3dca9c0c24b973a12c4db090b0aa38b1fd2f6723fb68cbe67ff89c7
+DIST pysmi-1.6.2.gh.tar.gz 190091 BLAKE2B 4040a2f06b814939f3abbf961cb642832342c28b0e5c22917aa3fe53fb11f4b144c512cb666a69586555c78a64451313f447d224e8e9d66ceec5a85614102f05 SHA512 adba85c5231d724c1d524be0767260ecc1b1bccfc21c0ee91c9bf988ab50ac2a1cfbe684adbc1d37df959cb15de76a1de3dadb13543b54c54e7b8e8d5c568c70
diff --git a/dev-python/pysmi/pysmi-1.6.2.ebuild b/dev-python/pysmi/pysmi-1.6.2.ebuild
new file mode 100644
index 000000000000..9e73e0d1375f
--- /dev/null
+++ b/dev-python/pysmi/pysmi-1.6.2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 2017-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="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_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # incompatibility with pysnmp >= 7
+ tests/test_objecttype_smiv2_pysnmp.py::ObjectTypeBitsTestCase::testObjectTypeSyntax
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/pyspf/pyspf-2.0.14-r3.ebuild b/dev-python/pyspf/pyspf-2.0.14-r3.ebuild
index fadad02c1bbc..270720d07d4e 100644
--- a/dev-python/pyspf/pyspf-2.0.14-r3.ebuild
+++ b/dev-python/pyspf/pyspf-2.0.14-r3.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
PYTHON_REQ_USE="ipv6(+)"
inherit distutils-r1 pypi
diff --git a/dev-python/pytest-check/pytest-check-2.5.3.ebuild b/dev-python/pytest-check/pytest-check-2.5.3.ebuild
index be04beb0306b..81e4b9debfca 100644
--- a/dev-python/pytest-check/pytest-check-2.5.3.ebuild
+++ b/dev-python/pytest-check/pytest-check-2.5.3.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
@@ -20,9 +20,6 @@ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc
RDEPEND="
>=dev-python/pytest-7.0.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/typing-extensions-4.12.2[${PYTHON_USEDEP}]
- ' 3.10)
"
distutils_enable_tests pytest
diff --git a/dev-python/pytest-httpx/pytest-httpx-0.35.0.ebuild b/dev-python/pytest-httpx/pytest-httpx-0.35.0.ebuild
index cbf1e6d4b19e..4f3499149ff7 100644
--- a/dev-python/pytest-httpx/pytest-httpx-0.35.0.ebuild
+++ b/dev-python/pytest-httpx/pytest-httpx-0.35.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/pytest-lazy-fixtures/Manifest b/dev-python/pytest-lazy-fixtures/Manifest
index 0ab70ff2c28c..8033f20fe50e 100644
--- a/dev-python/pytest-lazy-fixtures/Manifest
+++ b/dev-python/pytest-lazy-fixtures/Manifest
@@ -1,2 +1,3 @@
DIST pytest_lazy_fixtures-1.1.2.tar.gz 7231 BLAKE2B e3754f48501cc1908af4b733a40adb948926800d7921addb8510eeddb44c613cb80ed00044a5cef45145d8bc2c3ebda31c536facc1a4db11cdf7d8f1ef5250e9 SHA512 f9c80c77c6ea72f31817e42eab54816aefab5dade1a56ba335bc95e64ad3b48abf44f8e86c8c4c19b83bc1f51c4c15d1256df97ab9db20ee9a1266362b94f679
DIST pytest_lazy_fixtures-1.1.3.tar.gz 7342 BLAKE2B 6e10af30b06f5012393af1e49b9d27c959efc1ca701bd1a518704db134d9a7b52584cd606f68649862f975f68d08158e1ec4e47bbb2f75e7068a7379645ddda7 SHA512 7e749aee04bb2daca15ef4a5f0ec977e08c2da926abffd6b1b1b2cc7993e48057b76f97033f5fc483c1f43cdaf6a39064889a560c568f3484771dc7616916b1e
+DIST pytest_lazy_fixtures-1.1.4.tar.gz 7426 BLAKE2B 31b60ced8c9a1d7f6da128f1f70fe52baec92745496d68b5b64adf17108d304f94aa21f8511c5df4cc4e988e92764cc53f93bff3cb20334a1f76ef8299333db0 SHA512 d8547df290741dbafad43dffc08de05423240d27d30534169e51d44465794e57664331298cdfab291ec1cbed93b03e58887eec5b89e78b4dd3c96bbaaa8b4536
diff --git a/dev-python/pytest-lazy-fixtures/pytest-lazy-fixtures-1.1.4.ebuild b/dev-python/pytest-lazy-fixtures/pytest-lazy-fixtures-1.1.4.ebuild
new file mode 100644
index 000000000000..079045209948
--- /dev/null
+++ b/dev-python/pytest-lazy-fixtures/pytest-lazy-fixtures-1.1.4.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Allows you to use fixtures in @pytest.mark.parametrize"
+HOMEPAGE="
+ https://github.com/dev-petrov/pytest-lazy-fixtures/
+ https://pypi.org/project/pytest-lazy-fixtures/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/pytest-7[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_lazy_fixtures.plugin
+ epytest
+}
diff --git a/dev-python/pytest-order/pytest-order-1.3.0.ebuild b/dev-python/pytest-order/pytest-order-1.3.0.ebuild
index 7ff9e0f57e3b..af2ed74a0d75 100644
--- a/dev-python/pytest-order/pytest-order-1.3.0.ebuild
+++ b/dev-python/pytest-order/pytest-order-1.3.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/pytest-plus/pytest-plus-0.8.1.ebuild b/dev-python/pytest-plus/pytest-plus-0.8.1.ebuild
index dd5a60430fdf..0b7fdd8eb973 100644
--- a/dev-python/pytest-plus/pytest-plus-0.8.1.ebuild
+++ b/dev-python/pytest-plus/pytest-plus-0.8.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/pytest-reserial/pytest-reserial-0.4.3.ebuild b/dev-python/pytest-reserial/pytest-reserial-0.4.3.ebuild
index 1b341a7e5e08..fc7e801cd6e7 100644
--- a/dev-python/pytest-reserial/pytest-reserial-0.4.3.ebuild
+++ b/dev-python/pytest-reserial/pytest-reserial-0.4.3.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/python-debian/python-debian-1.0.1.ebuild b/dev-python/python-debian/python-debian-1.0.1.ebuild
index 919d5dd87383..95a7e782e562 100644
--- a/dev-python/python-debian/python-debian-1.0.1.ebuild
+++ b/dev-python/python-debian/python-debian-1.0.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/python-gammu/python-gammu-3.2.4-r1.ebuild b/dev-python/python-gammu/python-gammu-3.2.4-r1.ebuild
index 7b17a52daddd..47d57adff05f 100644
--- a/dev-python/python-gammu/python-gammu-3.2.4-r1.ebuild
+++ b/dev-python/python-gammu/python-gammu-3.2.4-r1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/python-linux-procfs/python-linux-procfs-0.7.3.ebuild b/dev-python/python-linux-procfs/python-linux-procfs-0.7.3.ebuild
index 9364601604f0..735d73195d18 100644
--- a/dev-python/python-linux-procfs/python-linux-procfs-0.7.3.ebuild
+++ b/dev-python/python-linux-procfs/python-linux-procfs-0.7.3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/python-ly/python-ly-0.9.9.ebuild b/dev-python/python-ly/python-ly-0.9.9.ebuild
index f746bf26d43e..0527f1fc7314 100644
--- a/dev-python/python-ly/python-ly-0.9.9.ebuild
+++ b/dev-python/python-ly/python-ly-0.9.9.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/python-pam/python-pam-2.0.2-r2.ebuild b/dev-python/python-pam/python-pam-2.0.2-r2.ebuild
index 4b214da2b370..a8a96f8967ba 100644
--- a/dev-python/python-pam/python-pam-2.0.2-r2.ebuild
+++ b/dev-python/python-pam/python-pam-2.0.2-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/python-redmine/python-redmine-2.5.0.ebuild b/dev-python/python-redmine/python-redmine-2.5.0.ebuild
index 3a0a5198d487..1544b4a9d4b6 100644
--- a/dev-python/python-redmine/python-redmine-2.5.0.ebuild
+++ b/dev-python/python-redmine/python-redmine-2.5.0.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/python-tests/Manifest b/dev-python/python-tests/Manifest
index 7b91b021331e..96ec8d08778c 100644
--- a/dev-python/python-tests/Manifest
+++ b/dev-python/python-tests/Manifest
@@ -4,12 +4,13 @@ DIST Python-3.12.10.tar.xz 20520960 BLAKE2B f05805da36958e3ebb68c69353e8119b20ee
DIST Python-3.12.10.tar.xz.asc 963 BLAKE2B 45e1ec67311d1ac5679cb5a05b92e61f3e5e6e9d3ffa5462c09c2aa066fda7ea915df13f6e5ad33aa924f6ce1f18e2d78a31af15412a10c093fc8a5b536c5133 SHA512 7edfa6fd816cf2a052abdb775d464e2f389105ed3e782cacf90805613aaca54bf71308504a5336ee1204e872e7db28df32413fb10b057056b0d5cb3c7a20a9f1
DIST Python-3.13.3.tar.xz 22654240 BLAKE2B 24ac47c13cbfa4dc9ce6ae4d18d7b5310f83ac1f4f18722138ef07e01cb8ac37edf6f4301983cb468f533b9b475b5a9d761d3044e61c7ccaa99dceadb954fe34 SHA512 f7559b6dceae69f48742af0a6497fbec42cd1e5304f64b6eb9d89222a1171ccf12fa186cc0decabb4e98d05223184967a4a7537754c01083dacdc9073cb1a578
DIST Python-3.13.3.tar.xz.asc 963 BLAKE2B 4a98965305b80e985512f54d9ce8ab88a74fe0d3ee48e300fbc2b4e251c0f499f4eb935e0aeb6d5ad8262338643325126f094fff926da1e2b9a2b3a2247701dc SHA512 54f8da5f4a4dcadc9830cb07aecf695a26a2de48ab98e1f42b09fdde1c70989476d07ce7ea81337216f1e5fcbf6b688e0608c88a2545ced416b01640108e94db
-DIST Python-3.14.0b1.tar.xz 23358200 BLAKE2B c18329ee73545a3c50fb4d4a56c0888d19e15c9fb53e1e3b6c0bc4b9eb22fc4912f1c934dc6f0f9b24c19b187ddbc76776d84898d5fc371d740c9a499c9294c4 SHA512 46c0792fe4d7beab13403938e51cc73e4cbc90a1d0367ba106f56353fae6e93697aa08d6389fd5a1fffa71d59376aee0196aba82b2c40d2f0cf642f14eefead8
-DIST Python-3.14.0b1.tar.xz.sigstore 5083 BLAKE2B 5192c84b0580af88cbac55f9bc4fb3aa4b018ae384524108bf82e69a986f21a1512bf88298549f23bf9036951bb12fd56fcdd6032f532cb9f7695dcd9baae6ea SHA512 b8f6e4b4f10b50e0d71a5eba9b9ba18660d994c8ae6aff7d46caa706738a4aca0d4f53e29c5ae668c963ec0c9531b91f77aed03c550ffafe69eb6a5a2e5f755e
DIST Python-3.14.0b2.tar.xz 23579860 BLAKE2B bf5ebac54531a7c837e7650754264b4be28e28613d488d1c7546db77e2ef3b501ff646d7fb505c6ac0fa1381c3230d1c1899bc82144f369339c89687b5dc7f5c SHA512 cdd37f8a982e6194d5afa80a2eb94c899080809749d59a50a2ce3eed37f720a1fd9a7977f0dd3992650d173a7070b15610077d97cb499bd16a7500c56ef1f8dd
DIST Python-3.14.0b2.tar.xz.sigstore 5131 BLAKE2B 04cab57a4da63f5abf28db94e5fd952206124ce37ef5a5d981839a0790881c9c4ea6d186f233eaaf6e82350bdfdbb0048d761b816d81eaba71c707bd9714a9d9 SHA512 a356037824fbde5950f197cf04f0d71ddaf4b68006b2ab9951f9b4c2df508e84bd0bec7d72051e75d22c17eee767e46e5d2c167e853fb941b0831cb26d518fdc
DIST python-gentoo-patches-3.11.12.tar.xz 15616 BLAKE2B 5d4a47058fc35c4ae966e3dff823f91129852bf81cd586d5b3a34a6daf672732918daf00199394f2f982411ec30a291f45bba55b3ffa3d96a179ecd600ea4647 SHA512 77973ef88403f94d55162e0138cd29b4d8959a8fcf4cec730daf7ddd8fb4a3acfcd0dd1fdaacbdd2b218bd15f6c6715ce339df4eba48227d17520243d96eeb39
+DIST python-gentoo-patches-3.11.12_p1.tar.xz 22192 BLAKE2B 2d7f39d1d55428e5dc617a796a3147046c0549bd8fc26a1d3b2701ca2ab17a4cc990b8fed925a7b8d7c410b12f4c22e14f9e64d7ea4b2c387c919570abad259f SHA512 363b049824b520b92541569d315e4e67192f3bd915f44f600acc51858ae3960b0060222cab2612f9aef53c7b2a0e323d197e107c9bcbdc4625572303d6393a5c
DIST python-gentoo-patches-3.12.10.tar.xz 10744 BLAKE2B 2abf4874018156d6735cf8604c410dc4726ac9365bc7500abe6b82472aad100aac7268957256692f4275b02965773e58178519ed8038e121f1ffa3c53770d238 SHA512 62066405aa00f46f9645e9c747d53bb93bf510fc791d14d49e00edfd79981778e6c8e07bfa7bac88d76407a0ffd8f7321dea89f81d90b01dbf13f4d381b6a1a3
+DIST python-gentoo-patches-3.12.10_p1.tar.xz 17356 BLAKE2B 9a87b3a6f04977067cb0ce126e45c9d584145bc9cf1d43e46e7ae5e295a14d69b07b6e20c18bff74d02f0e6c3617e8c1ff015097be32cb7dc76ae45ab71d1a41 SHA512 d98f27176d3ea2532c2f8c0a2eadf23f1f0b305e08bbbfd12acfae7308070d70a8d3c3eb60fe157f4ff51cb6302bea5882d75f6a8028310c95309aed3bdaddb5
DIST python-gentoo-patches-3.13.3.tar.xz 8336 BLAKE2B 66393886fbd034eb14732e4f81f5798e77650ea3fe1c4f8176bd93808b711c8977a53c3f52be6c9b97a368299258b851d9bdb6d4c8e0c75695c6aea784d48b44 SHA512 c1ed31d6aaef81addf786c2ccc1013309b122b791c42fe10e467a677d0db8f149e8b1cc21928c146298918c7ceb851b4b19d1e59f491cb161004e1c9386db289
+DIST python-gentoo-patches-3.13.3_p1.tar.xz 15164 BLAKE2B 56420b8d051fbf3eb47f2bce08c79f167b9fbaa89f8ee932e3db27ea08a191f042e1f0114c1377c8210060332141b36eb1d582507185c983297a1d61573aa435 SHA512 1e138be3ef5c03e4d0b520aa736cdec44daf2956a931f4080e53b0652ebefa48095cad837e7bae4cc90bd42fbb7aba6f25c61e3c880ca1a581a745744b011fa3
DIST python-gentoo-patches-3.14.0b1.tar.xz 5680 BLAKE2B 514b3edc3025e5bf675d371b5ada17dea426856edf1fb6095c2ee400eae95bd4265ef81fe593ae9338e801e7d0a25b1d5ba2d05ca563fd9dd020114b13575746 SHA512 74289e42cf532b54bb1b66a283ec19156f8a36ba38764209c133842314c9efb2ce2ebcba5aa9213bcf7fc0c8a5ca9b6e7adbd5dbfa4397233136d7cd55f53ee7
DIST python-gentoo-patches-3.14.0b2.tar.xz 6168 BLAKE2B ecf2fd981efc289fbc16d615c6e69ad7a797bd6906e6f974ece47eace582d7c4b3ea0217b0df9575e522416df2749125ff3658d8aca6a53bf977d5f155dd6b90 SHA512 552ff5306ca43c89e65b1df42cb71753c7e900efc4be7e35150c187184a5e94241fea78bb9084831508fd4a7e71323be59c1565901560ec53fc076c3697baf34
diff --git a/dev-python/python-tests/python-tests-3.11.12_p1.ebuild b/dev-python/python-tests/python-tests-3.11.12_p1.ebuild
new file mode 100644
index 000000000000..7711d3dff17a
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.11.12_p1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit python-r1 verify-sig
+
+MY_PV=${PV}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="Test modules from dev-lang/python"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
+ )
+"
+S="${WORKDIR}/${MY_P}/Lib"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/python-${PV}:${PYVER}
+ !<dev-lang/python-3.11.9_p2-r1:${PYVER}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ cd .. || die
+ default
+}
+
+src_install() {
+ python_setup
+ # keep in sync with TESTSUBDIRS in Makefile.pre.in
+ local dirs=(
+ ctypes/test distutils/tests idlelib/idle_test lib2to3/tests
+ ./test tkinter/test unittest/test
+ )
+ local dir
+ for dir in "${dirs[@]}"; do
+ python_moduleinto "/usr/lib/python${PYVER}/${dir%/*}"
+ python_domodule "${dir}"
+ done
+}
diff --git a/dev-python/python-tests/python-tests-3.14.0_beta1.ebuild b/dev-python/python-tests/python-tests-3.12.10_p1.ebuild
index 0c38f052dfe9..3d77ee9dcd32 100644
--- a/dev-python/python-tests/python-tests-3.14.0_beta1.ebuild
+++ b/dev-python/python-tests/python-tests-3.12.10_p1.ebuild
@@ -4,11 +4,10 @@
EAPI=8
PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-VERIFY_SIG_METHOD=sigstore
inherit python-r1 verify-sig
-MY_PV=${PV/_beta/b}
+MY_PV=${PV}
MY_P="Python-${MY_PV%_p*}"
PYVER=$(ver_cut 1-2)
PATCHSET="python-gentoo-patches-${MY_PV}"
@@ -22,31 +21,31 @@ SRC_URI="
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
verify-sig? (
- https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
)
"
S="${WORKDIR}/${MY_P}/Lib"
LICENSE="PSF-2"
SLOT="${PYVER}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="
${PYTHON_DEPS}
~dev-lang/python-${PV}:${PYVER}
+ !<dev-lang/python-3.12.5_p1-r1:${PYVER}
"
BDEPEND="
${PYTHON_DEPS}
+ verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
"
-# https://www.python.org/downloads/metadata/sigstore/
-VERIFY_SIG_CERT_IDENTITY=hugo@python.org
-VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
src_unpack() {
if use verify-sig; then
- verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore}
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
fi
default
}
diff --git a/dev-python/python-tests/python-tests-3.14.0_beta1-r100.ebuild b/dev-python/python-tests/python-tests-3.13.3_p1-r100.ebuild
index 2c0d382ad617..00543149cc65 100644
--- a/dev-python/python-tests/python-tests-3.14.0_beta1-r100.ebuild
+++ b/dev-python/python-tests/python-tests-3.13.3_p1-r100.ebuild
@@ -4,11 +4,10 @@
EAPI=8
PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-VERIFY_SIG_METHOD=sigstore
inherit python-r1 verify-sig
-MY_PV=${PV/_beta/b}
+MY_PV=${PV}
MY_P="Python-${MY_PV%_p*}"
PYVER=$(ver_cut 1-2)t
PATCHSET="python-gentoo-patches-${MY_PV}"
@@ -22,7 +21,7 @@ SRC_URI="
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
verify-sig? (
- https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
)
"
S="${WORKDIR}/${MY_P}/Lib"
@@ -38,15 +37,14 @@ RDEPEND="
"
BDEPEND="
${PYTHON_DEPS}
+ verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
"
-# https://www.python.org/downloads/metadata/sigstore/
-VERIFY_SIG_CERT_IDENTITY=hugo@python.org
-VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
src_unpack() {
if use verify-sig; then
- verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore}
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
fi
default
}
diff --git a/dev-python/python-tests/python-tests-3.13.3_p1.ebuild b/dev-python/python-tests/python-tests-3.13.3_p1.ebuild
new file mode 100644
index 000000000000..ccd1bd4ac5a3
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.13.3_p1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit python-r1 verify-sig
+
+MY_PV=${PV}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="Test modules from dev-lang/python"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
+ )
+"
+S="${WORKDIR}/${MY_P}/Lib"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/python-${PV}:${PYVER}
+ !<dev-lang/python-3.13.0_rc1_p3-r1:${PYVER}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ cd .. || die
+ default
+}
+
+src_install() {
+ python_setup
+ # keep in sync with TESTSUBDIRS in Makefile.pre.in
+ python_moduleinto "/usr/lib/python${PYVER}"
+ python_domodule test
+ python_moduleinto "/usr/lib/python${PYVER}/idlelib"
+ python_domodule idlelib/idle_test
+}
diff --git a/dev-python/python3-discogs-client/python3-discogs-client-2.8.ebuild b/dev-python/python3-discogs-client/python3-discogs-client-2.8.ebuild
index 9b44796315d6..896bcc231a48 100644
--- a/dev-python/python3-discogs-client/python3-discogs-client-2.8.ebuild
+++ b/dev-python/python3-discogs-client/python3-discogs-client-2.8.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/python3-discogs-client/python3-discogs-client-9999.ebuild b/dev-python/python3-discogs-client/python3-discogs-client-9999.ebuild
index 65b948236ab2..c42bcce1d15b 100644
--- a/dev-python/python3-discogs-client/python3-discogs-client-9999.ebuild
+++ b/dev-python/python3-discogs-client/python3-discogs-client-9999.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/pytools/Manifest b/dev-python/pytools/Manifest
index 34f94874bc71..442caffebc57 100644
--- a/dev-python/pytools/Manifest
+++ b/dev-python/pytools/Manifest
@@ -1,2 +1,3 @@
DIST pytools-2025.1.3.tar.gz 80509 BLAKE2B 448de6bb5ddedd905ee002ee4f6c0a49c657fce546e99c8ccdc5ddc119db9b8e0d40a138be9b3f25a63c5beab1602ff862805b175f927bea2ca306d6155d2499 SHA512 cdf9562f9dbc916fc0c21f363e7f34c1bdee3fd5adc5b499461ce40e887100d39ab0f8dddc50ade6c85120c74da3330d487eda112b7bf6d7e567fcdcabbe6e9b
DIST pytools-2025.1.5.tar.gz 95745 BLAKE2B 7bc5a6f5dabae3a39b81cdd36584aa7b434f8693d17cec2b7985f05fa5b386c2c56845c140b1d7b4874b13b748cd51dc1db6c1885e0503c53cdd5847c09df4b3 SHA512 c1616e473942d22b32831877af361e0527bd6cabf1be0b13ec413ef341c1cddd5da00d2d4d059e407c3b63e25a86737351da4dfeb29db090d7369af7af25172f
+DIST pytools-2025.1.6.tar.gz 96212 BLAKE2B f9f538f262158d40aed408d094562cad162a60a330b2bf002b898d473a1085c9f7861c5039770733adb938d67327bfb9d11e130a0385c6f6fc9b79fe732e2927 SHA512 b9602d4a4182fd898a7ff1169cd00c6f886a779655b21b1d42f6fd100cc53df2f3c70fed8a3981a57f63f36122ea224b0f17816eb59e85ed3d625c0ae331de99
diff --git a/dev-python/pytools/pytools-2025.1.6.ebuild b/dev-python/pytools/pytools-2025.1.6.ebuild
new file mode 100644
index 000000000000..8e2cc3b778e1
--- /dev/null
+++ b/dev-python/pytools/pytools-2025.1.6.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{11..14} )
+PYTHON_REQ_USE='sqlite'
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Collection of tools missing from the Python standard library"
+HOMEPAGE="
+ https://mathema.tician.de/software/pytools/
+ https://github.com/inducer/pytools/
+ https://pypi.org/project/pytools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
+
+# NB: numpy are an "extra" (optional) deps
+RDEPEND="
+ >=dev-python/numpy-1.6[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.2[${PYTHON_USEDEP}]
+ >=dev-python/siphash24-1.6[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.5[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pyuca/pyuca-1.2.ebuild b/dev-python/pyuca/pyuca-1.2.ebuild
index 51ca0c7322ab..a07ef3d3e3b0 100644
--- a/dev-python/pyuca/pyuca-1.2.ebuild
+++ b/dev-python/pyuca/pyuca-1.2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
diff --git a/dev-python/pyusb/pyusb-1.3.1.ebuild b/dev-python/pyusb/pyusb-1.3.1.ebuild
index 26967c686659..e5ed1a3ece4a 100644
--- a/dev-python/pyusb/pyusb-1.3.1.ebuild
+++ b/dev-python/pyusb/pyusb-1.3.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/pyxdameraulevenshtein/pyxdameraulevenshtein-1.8.0.ebuild b/dev-python/pyxdameraulevenshtein/pyxdameraulevenshtein-1.8.0.ebuild
index 642c4803d7fb..8082e9f06642 100644
--- a/dev-python/pyxdameraulevenshtein/pyxdameraulevenshtein-1.8.0.ebuild
+++ b/dev-python/pyxdameraulevenshtein/pyxdameraulevenshtein-1.8.0.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/qiskit/Manifest b/dev-python/qiskit/Manifest
index 0b968506377c..ab5b0aead8bc 100644
--- a/dev-python/qiskit/Manifest
+++ b/dev-python/qiskit/Manifest
@@ -113,6 +113,8 @@ DIST pyo3-macros-backend-0.22.6.crate 66312 BLAKE2B ec0b11bee1ad2192e8d95cebab00
DIST qiskit-1.4.3.gh.tar.gz 8517305 BLAKE2B 663a25830dfab9844f62a125943cd38a662f68052fbe9deb3f8d8b3bd576c3f1489ca9e1b8ad394d3d50fe4c367e7a8033314b5ee9c2d63229e36a79a3cca1d9 SHA512 8f3a91a65240c40bf080a9fbd944002089b043be833ff38f0ec5211165afdfac515b4b355f7745cfbed977d017de4fc2b00c914c802cc049597ec4fc6d48b85d
DIST qiskit-2.0.1-crates.tar.xz 14987108 BLAKE2B 987eddead98df577acaef512e911f608962553a172029c262cf3a20bfc148a4b6caa3a8f8869a15a59c818214bbf41f827a28651de71aa9fb47a631a686c497c SHA512 06c8effaae0dfbfc5a1b856a3db7a15f5e59f40c6a9862326f6f89607688bd070ca7bdf6b87ee6445e44e3a5af8745429c3495061c88b0d37cc421c14e03047c
DIST qiskit-2.0.1.gh.tar.gz 7918667 BLAKE2B b1749ebb872ec5272253bec318c6092f1c799fe4b7715be3651d23a46415a210096545fe6422526e80acd429077351e7007e29aff3c47f212ba8016d3d21ec5b SHA512 5ccca96809f28f64276d12a2343ef8990b13a80ed2adf6a6e0dd3fc7ec2e222dc6395d71bc17a9fbb27380f9152b4ae5b5113a0a8bd6359b63950aab514a5a7d
+DIST qiskit-2.0.2-crates.tar.xz 14987108 BLAKE2B 987eddead98df577acaef512e911f608962553a172029c262cf3a20bfc148a4b6caa3a8f8869a15a59c818214bbf41f827a28651de71aa9fb47a631a686c497c SHA512 06c8effaae0dfbfc5a1b856a3db7a15f5e59f40c6a9862326f6f89607688bd070ca7bdf6b87ee6445e44e3a5af8745429c3495061c88b0d37cc421c14e03047c
+DIST qiskit-2.0.2.gh.tar.gz 7920194 BLAKE2B 21f3df0864cf0b14cd3949dad1e3cbc5c856d3eae8235441feb8ace57e0f1e690ba4649ab24343b6c149848c7c0701f0adb8a7a6f7993b1e3137cf0ed6653bf1 SHA512 090eff5c1d6f1de42d204986107afe1db92f15788a468d1376619369ecea6e26523a417ef0e8a8d62ccfe8431eb890f63dd6eba64ed2889e87f60b49afc253da
DIST quote-1.0.37.crate 28558 BLAKE2B a7d007a69e619f853af94333e1066bb767013312bd99f147b1b153611242bcfa9c76768b1ba47278589db309a9acd61a772c8ec3b567e48439bb9d831f9326d4 SHA512 c4ed21428c1f89cf22b85d80720a7869831a9c129d694617b0ce8c258278114ab98846f3f653abf736d1c86bc9224bbd695e9a7b06aa3adf292d02e1ef14cc05
DIST ra_ap_limit-0.0.188.crate 1283 BLAKE2B 265a70d088ed76500cdbefa04d1b2778d54985aa978b806e9ebb016348556559799b8ac889c00aeff51d4ff08f3fa86cd3be3742f5896916edbbda49bca1946e SHA512 01d56844fb4437959e93fc3394d674848eaae3365d271c01ba5ff12fc05d4a1d11eb4145ee89a65eb5ba12db4075e8102ee31df55c569c8ee5ad6d383f9f451a
DIST rand-0.8.5.crate 87113 BLAKE2B 516f26bb2a969d0d79e957818133f35d2c0b4d9f1b401098ea23c5b80d27599e842b9298c0c5e46e2a6cb6953857bf8a9fb71ec9366c5ce6708cf17df14f179c SHA512 8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2
diff --git a/dev-python/qiskit/qiskit-2.0.2.ebuild b/dev-python/qiskit/qiskit-2.0.2.ebuild
new file mode 100644
index 000000000000..5f944ea6aabf
--- /dev/null
+++ b/dev-python/qiskit/qiskit-2.0.2.ebuild
@@ -0,0 +1,112 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+CRATES="
+"
+
+inherit cargo distutils-r1
+
+MY_P=${P/_}
+DESCRIPTION="An open-source SDK for working with quantum computers"
+HOMEPAGE="
+ https://github.com/Qiskit/qiskit/
+ https://pypi.org/project/qiskit/
+"
+SRC_URI="
+ https://github.com/Qiskit/qiskit/archive/${PV/_}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+ https://github.com/gentoo-crate-dist/qiskit/releases/download/${PV/_}/${MY_P}-crates.tar.xz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 MIT MPL-2.0
+ Unicode-3.0 ZLIB
+"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+visualization"
+
+RDEPEND="
+ >=dev-python/dill-0.3[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.17[${PYTHON_USEDEP}]
+ >=dev-python/python-constraint-1.4[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/rustworkx-0.15.0[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.5[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-3.0.0[${PYTHON_USEDEP}]
+ <dev-python/symengine-0.14[${PYTHON_USEDEP}]
+ >=dev-python/symengine-0.11.0[${PYTHON_USEDEP}]
+ >=dev-python/sympy-1.3[${PYTHON_USEDEP}]
+ visualization? (
+ >=dev-python/matplotlib-3.3[${PYTHON_USEDEP}]
+ dev-python/pydot[${PYTHON_USEDEP}]
+ >=dev-python/pillow-4.2.1[${PYTHON_USEDEP}]
+ >=dev-python/pylatexenc-1.4[${PYTHON_USEDEP}]
+ >=dev-python/seaborn-0.9.0[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ >=dev-python/cython-0.27.1[${PYTHON_USEDEP}]
+ test? (
+ app-text/poppler[png]
+ >=dev-python/ddt-1.4.4[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-4.24.3[${PYTHON_USEDEP}]
+ >=dev-python/networkx-2.2[${PYTHON_USEDEP}]
+ >=dev-python/qiskit-aer-0.14[${PYTHON_USEDEP}]
+ >=dev-python/scikit-learn-0.20.0[${PYTHON_USEDEP}]
+ )
+"
+
+# Files built without CFLAGS/LDFLAGS, acceptable for rust
+QA_FLAGS_IGNORED="
+ usr/lib.*/py.*/site-packages/qiskit/_accelerate.*.so
+ usr/lib.*/py.*/site-packages/qiskit/_qasm2.*.so
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # strip forcing -Werror from tests that also leaks to other packages
+ sed -i -e '/filterwarnings.*error/d' test/utils/base.py || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ test/python/circuit/test_equivalence.py::TestEquivalenceLibraryVisualization::test_equivalence_draw
+ test/python/transpiler/test_unitary_synthesis_plugin.py::TestUnitarySynthesisPlugin
+ test/python/visualization/test_dag_drawer.py::TestDagDrawer::test_dag_drawer_no_register
+ # tiny image differences, sigh
+ test/python/visualization/test_gate_map.py::TestGateMap::test_plot_error_map_over_100_qubit
+ # TODO: failures from dill
+ test/python/circuit/test_parameters.py::TestParameters::test_transpiling_multiple_parameterized_circuits
+ test/python/compiler/test_transpiler.py::TestTranspile::test_delay_converts_expr_to_dt
+ test/python/compiler/test_transpiler.py::TestTranspile::test_transpile_two
+ test/python/transpiler/test_naming_transpiled_circuits.py::TestNamingTranspiledCircuits::test_multiple_circuits_name_list
+ )
+
+ local EPYTEST_IGNORE=(
+ # Breaks xdist
+ test/python/qasm2/test_parse_errors.py
+ test/python/transpiler/test_preset_passmanagers.py
+ )
+
+ rm -rf qiskit || die
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # Run the Python test suite rather than everything under test/ which
+ # includes the 'randomized' suite. Upstream run that in a separate CI job.
+ epytest test/python
+}
diff --git a/dev-python/quantities/quantities-0.16.2.ebuild b/dev-python/quantities/quantities-0.16.2.ebuild
index 41f2b3db6b68..a2648c6dd744 100644
--- a/dev-python/quantities/quantities-0.16.2.ebuild
+++ b/dev-python/quantities/quantities-0.16.2.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/recommonmark/recommonmark-0.7.1-r1.ebuild b/dev-python/recommonmark/recommonmark-0.7.1-r1.ebuild
index 44011ee0a353..8763de87bdcf 100644
--- a/dev-python/recommonmark/recommonmark-0.7.1-r1.ebuild
+++ b/dev-python/recommonmark/recommonmark-0.7.1-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
DESCRIPTION="Python docutils-compatibility bridge to CommonMark"
diff --git a/dev-python/reedsolo/reedsolo-2.1.1_beta1-r2.ebuild b/dev-python/reedsolo/reedsolo-2.1.1_beta1-r2.ebuild
index 619b34a68031..80b49e2c94ab 100644
--- a/dev-python/reedsolo/reedsolo-2.1.1_beta1-r2.ebuild
+++ b/dev-python/reedsolo/reedsolo-2.1.1_beta1-r2.ebuild
@@ -1,11 +1,11 @@
-# Copyright 2021-2024 Gentoo Authors
+# Copyright 2021-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/regress/regress-2025.3.1.ebuild b/dev-python/regress/regress-2025.3.1.ebuild
index 4430041c06b4..23cada635d19 100644
--- a/dev-python/regress/regress-2025.3.1.ebuild
+++ b/dev-python/regress/regress-2025.3.1.ebuild
@@ -58,3 +58,5 @@ KEYWORDS="amd64 ~arm64 ~riscv"
distutils_enable_tests pytest
QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/regress/regress.*.so"
+
+export PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1
diff --git a/dev-python/requests-oauthlib/requests-oauthlib-2.0.0.ebuild b/dev-python/requests-oauthlib/requests-oauthlib-2.0.0.ebuild
index e711dc8c05fd..5573230f0328 100644
--- a/dev-python/requests-oauthlib/requests-oauthlib-2.0.0.ebuild
+++ b/dev-python/requests-oauthlib/requests-oauthlib-2.0.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/respx/respx-0.22.0-r1.ebuild b/dev-python/respx/respx-0.22.0-r1.ebuild
index a435f8807353..decde3e63df0 100644
--- a/dev-python/respx/respx-0.22.0-r1.ebuild
+++ b/dev-python/respx/respx-0.22.0-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/retry-decorator/retry-decorator-1.1.1-r1.ebuild b/dev-python/retry-decorator/retry-decorator-1.1.1-r1.ebuild
index d1bba9ac2fdd..5c6284126728 100644
--- a/dev-python/retry-decorator/retry-decorator-1.1.1-r1.ebuild
+++ b/dev-python/retry-decorator/retry-decorator-1.1.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/rply/rply-0.7.8-r1.ebuild b/dev-python/rply/rply-0.7.8-r1.ebuild
index 4e1aed7632b6..c6e574b0cb9c 100644
--- a/dev-python/rply/rply-0.7.8-r1.ebuild
+++ b/dev-python/rply/rply-0.7.8-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/sarge/sarge-0.1.7_p1.ebuild b/dev-python/sarge/sarge-0.1.7_p1.ebuild
index 23cde91bb0e3..d0921b3401cb 100644
--- a/dev-python/sarge/sarge-0.1.7_p1.ebuild
+++ b/dev-python/sarge/sarge-0.1.7_p1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/selenium/selenium-4.33.0-r1.ebuild b/dev-python/selenium/selenium-4.33.0-r1.ebuild
index ff644b178cbc..a6147d4acbfe 100644
--- a/dev-python/selenium/selenium-4.33.0-r1.ebuild
+++ b/dev-python/selenium/selenium-4.33.0-r1.ebuild
@@ -29,7 +29,7 @@ SRC_URI+="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="test test-rust"
RESTRICT="!test? ( test )"
diff --git a/dev-python/setuptools-gettext/setuptools-gettext-0.1.14.ebuild b/dev-python/setuptools-gettext/setuptools-gettext-0.1.14.ebuild
index b1407f41a555..223e5e606230 100644
--- a/dev-python/setuptools-gettext/setuptools-gettext-0.1.14.ebuild
+++ b/dev-python/setuptools-gettext/setuptools-gettext-0.1.14.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2023-2024 Gentoo Authors
+# Copyright 2023-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
@@ -21,9 +21,6 @@ KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="
dev-python/setuptools[${PYTHON_USEDEP}]
sys-devel/gettext
- $(python_gen_cond_dep '
- >=dev-python/tomli-1.2.1[${PYTHON_USEDEP}]
- ' 3.10)
"
python_test() {
diff --git a/dev-python/shapely/shapely-2.1.1.ebuild b/dev-python/shapely/shapely-2.1.1.ebuild
index eded29d84288..d4989d6c9f91 100644
--- a/dev-python/shapely/shapely-2.1.1.ebuild
+++ b/dev-python/shapely/shapely-2.1.1.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/simpervisor/simpervisor-1.0.0-r1.ebuild b/dev-python/simpervisor/simpervisor-1.0.0-r1.ebuild
index 86ee8ec68634..fccffd24260a 100644
--- a/dev-python/simpervisor/simpervisor-1.0.0-r1.ebuild
+++ b/dev-python/simpervisor/simpervisor-1.0.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/smbus2/smbus2-0.5.0.ebuild b/dev-python/smbus2/smbus2-0.5.0.ebuild
index 351b3c119643..ba5e79949678 100644
--- a/dev-python/smbus2/smbus2-0.5.0.ebuild
+++ b/dev-python/smbus2/smbus2-0.5.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/soundfile/soundfile-0.13.1.ebuild b/dev-python/soundfile/soundfile-0.13.1.ebuild
index 430c6934f743..34268b38d5db 100644
--- a/dev-python/soundfile/soundfile-0.13.1.ebuild
+++ b/dev-python/soundfile/soundfile-0.13.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/speg/speg-0.3_p20180819-r2.ebuild b/dev-python/speg/speg-0.3_p20180819-r2.ebuild
index 03b99033e53f..3ae2a1f58526 100644
--- a/dev-python/speg/speg-0.3_p20180819-r2.ebuild
+++ b/dev-python/speg/speg-0.3_p20180819-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/sphinx-autoapi/sphinx-autoapi-3.6.0.ebuild b/dev-python/sphinx-autoapi/sphinx-autoapi-3.6.0.ebuild
index 09ace7fd50de..448e55701285 100644
--- a/dev-python/sphinx-autoapi/sphinx-autoapi-3.6.0.ebuild
+++ b/dev-python/sphinx-autoapi/sphinx-autoapi-3.6.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/sphinx-prompt/sphinx-prompt-1.9.0.ebuild b/dev-python/sphinx-prompt/sphinx-prompt-1.9.0.ebuild
index 68e648261a1e..9fcbf29fc778 100644
--- a/dev-python/sphinx-prompt/sphinx-prompt-1.9.0.ebuild
+++ b/dev-python/sphinx-prompt/sphinx-prompt-1.9.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/sphinxcontrib-jquery/sphinxcontrib-jquery-4.1.ebuild b/dev-python/sphinxcontrib-jquery/sphinxcontrib-jquery-4.1.ebuild
index 88317d11b877..02801c043723 100644
--- a/dev-python/sphinxcontrib-jquery/sphinxcontrib-jquery-4.1.ebuild
+++ b/dev-python/sphinxcontrib-jquery/sphinxcontrib-jquery-4.1.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_USE_PEP517=flit
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/sphinxcontrib-plantuml/sphinxcontrib-plantuml-0.30.ebuild b/dev-python/sphinxcontrib-plantuml/sphinxcontrib-plantuml-0.30.ebuild
index 6105399b39cf..89e6b13ca149 100644
--- a/dev-python/sphinxcontrib-plantuml/sphinxcontrib-plantuml-0.30.ebuild
+++ b/dev-python/sphinxcontrib-plantuml/sphinxcontrib-plantuml-0.30.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/sphinxcontrib-trio/sphinxcontrib-trio-1.1.2-r1.ebuild b/dev-python/sphinxcontrib-trio/sphinxcontrib-trio-1.1.2-r1.ebuild
index 02ca14c8a0ee..78775711f63f 100644
--- a/dev-python/sphinxcontrib-trio/sphinxcontrib-trio-1.1.2-r1.ebuild
+++ b/dev-python/sphinxcontrib-trio/sphinxcontrib-trio-1.1.2-r1.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/sphobjinv/Manifest b/dev-python/sphobjinv/Manifest
index fbe73f493fed..a498428a8b8c 100644
--- a/dev-python/sphobjinv/Manifest
+++ b/dev-python/sphobjinv/Manifest
@@ -1 +1,2 @@
DIST sphobjinv-2.3.1.2.gh.tar.gz 1346638 BLAKE2B c7f25caa055557ab4fa31335132b56f40237404925617f6d2f6495e1b10ef06517f3019ea10ef3b77d13e9f5270ce0669126146bfff0725bb9ff65ee3850edee SHA512 de26ba688238d0e26506bd4bc2662ab01f82bf2aa878c8fec98c4b2efdaabe80780a2bf83a9ed528f9c33fa81b1d105a7c4bc1350dd0514ddb81d0ea023b74b1
+DIST sphobjinv-2.3.1.3.gh.tar.gz 1347156 BLAKE2B a6e44b61c3458b1288bd7d5f4c5b9e55821ea299ef4cfee75e42bd3a37919f2c031f5063b16aa22fc9c508057aef49f836948b8da4c49b67ee5396f1234fbab5 SHA512 bfb02f212cc3099ec694b9983d2dce2f38f2e9385821e3ffc077ea6a559844c0c92362effa4da6026cf778a925fc3d5c4ca6ad8d4dc0ccabd3bc64e79dded934
diff --git a/dev-python/sphobjinv/sphobjinv-2.3.1.3.ebuild b/dev-python/sphobjinv/sphobjinv-2.3.1.3.ebuild
new file mode 100644
index 000000000000..1e3426bb3354
--- /dev/null
+++ b/dev-python/sphobjinv/sphobjinv-2.3.1.3.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Sphinx objects.inv Inspection/Manipulation Tool"
+HOMEPAGE="
+ https://github.com/bskinn/sphobjinv/
+ https://pypi.org/project/sphobjinv/
+"
+SRC_URI="
+ https://github.com/bskinn/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/attrs-19.2[${PYTHON_USEDEP}]
+ dev-python/certifi[${PYTHON_USEDEP}]
+ dev-python/fuzzywuzzy[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/dictdiffer[${PYTHON_USEDEP}]
+ dev-python/pytest-check[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ >=dev-python/stdio-mgr-1.0.1[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/timeout-decorator[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Internet
+ README.rst::README.rst
+ tests/test_readme.py::test_readme_shell_cmds
+)
+
+src_prepare() {
+ sed -e '/CLI_TEST_TIMEOUT/s/2/20/' -i tests/test_cli.py || die
+
+ # remove bundled deps
+ rm -r src/sphobjinv/_vendored || die
+ sed -i -e 's:sphobjinv[.]_vendored[.]::' src/sphobjinv/*.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p check -p rerunfailures -p timeout
+}
diff --git a/dev-python/sqlalchemy-rqlite/sqlalchemy-rqlite-2.0.ebuild b/dev-python/sqlalchemy-rqlite/sqlalchemy-rqlite-2.0.ebuild
index 106039626cc5..1c981e12b7ea 100644
--- a/dev-python/sqlalchemy-rqlite/sqlalchemy-rqlite-2.0.ebuild
+++ b/dev-python/sqlalchemy-rqlite/sqlalchemy-rqlite-2.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest
index 5b22a767e6be..9239feed7e72 100644
--- a/dev-python/sqlglot/Manifest
+++ b/dev-python/sqlglot/Manifest
@@ -1,10 +1,4 @@
-DIST sqlglot-26.17.1-crates.tar.xz 8327388 BLAKE2B 69213d11940f9d4e743b169ef831b8b52a771f012e247570cf0703580a14af435d4d033b4b3ddfca6f4022b741261a24f3b47e5137de644d863714006520f857 SHA512 5de0781c54265b369e5e46b7cfbcc04a3118aa8d1323bff14f2841c95d471f545c923eedb88dbbb81a910801c5a505ff37a25701af936c06cf55a1659cd8822e
-DIST sqlglot-26.17.1.tar.gz 5356122 BLAKE2B 7c83c2569c767a424929b0d88aa451e29f83596e3b381db9e35175488492ef1e30bc7fbf2a33a7a261c2396259db12b1cc89f07420f3e1994c416b5d891be258 SHA512 5cef50050b412baa5ef72056b377d327e6d19990de07f9b6f5d915b7bc628ee3a343fc64003e1ea3fc2555759c79662d4081d7925d3dd6b77f6c08a6507e971e
-DIST sqlglot-26.18.1-crates.tar.xz 8327388 BLAKE2B 69213d11940f9d4e743b169ef831b8b52a771f012e247570cf0703580a14af435d4d033b4b3ddfca6f4022b741261a24f3b47e5137de644d863714006520f857 SHA512 5de0781c54265b369e5e46b7cfbcc04a3118aa8d1323bff14f2841c95d471f545c923eedb88dbbb81a910801c5a505ff37a25701af936c06cf55a1659cd8822e
-DIST sqlglot-26.18.1.tar.gz 5365490 BLAKE2B 35c20d42f32ac1804a9e093ef74385b88950952ba9d327411de904ff47ae42c6ac8474c6813d8bcaa98e81b8ae679f6801dc7cf004cd664dd7f8389c719bdf6d SHA512 67cb69b28a468ed393993edf3d14a927dbdbd8a455aef7979e52ef056503fd875fbe33c25aea161ef55b2dc7717cec4d5afac6f8b138ed94cd90aa7cdd4cc8cc
-DIST sqlglot-26.19.0-crates.tar.xz 8327388 BLAKE2B 69213d11940f9d4e743b169ef831b8b52a771f012e247570cf0703580a14af435d4d033b4b3ddfca6f4022b741261a24f3b47e5137de644d863714006520f857 SHA512 5de0781c54265b369e5e46b7cfbcc04a3118aa8d1323bff14f2841c95d471f545c923eedb88dbbb81a910801c5a505ff37a25701af936c06cf55a1659cd8822e
-DIST sqlglot-26.19.0.tar.gz 5366769 BLAKE2B 69baaf162cd83814facf4ab955af8a4f941f3c20d3d2d7babb90249ee4e3ae95096bf02fcf39bf10eeff2b5e9a4c1c1789ea397b32ee2b8413d8e5948d40a508 SHA512 1aa839a43f9acdea5a45ba0c6fea473ee42d97817c51a0b106f2766fe05b5a8ac4863297649c8ab98f6db53ffdc0d00d1a3ec2fc727532d04412bdb2c8516eb6
-DIST sqlglot-26.20.0-crates.tar.xz 8327388 BLAKE2B 69213d11940f9d4e743b169ef831b8b52a771f012e247570cf0703580a14af435d4d033b4b3ddfca6f4022b741261a24f3b47e5137de644d863714006520f857 SHA512 5de0781c54265b369e5e46b7cfbcc04a3118aa8d1323bff14f2841c95d471f545c923eedb88dbbb81a910801c5a505ff37a25701af936c06cf55a1659cd8822e
-DIST sqlglot-26.20.0.tar.gz 5367894 BLAKE2B 079f8d305a075a48d07966d01be6c200c3e7f0703fd99e2d7f572d755a0b01c10d90721ce022dcf26efbf37862436be807efc97f4c0356e28dee720bcba88793 SHA512 5ead69e2a41706ab94f17b817e55db2bc47a47aee7e49a1a53064c0525bf193c5ff3f0f6dbf2dc5734b261426757a94bebfa68aded804be2921de98b0ecfb6e9
DIST sqlglot-26.21.0-crates.tar.xz 8327388 BLAKE2B 69213d11940f9d4e743b169ef831b8b52a771f012e247570cf0703580a14af435d4d033b4b3ddfca6f4022b741261a24f3b47e5137de644d863714006520f857 SHA512 5de0781c54265b369e5e46b7cfbcc04a3118aa8d1323bff14f2841c95d471f545c923eedb88dbbb81a910801c5a505ff37a25701af936c06cf55a1659cd8822e
DIST sqlglot-26.21.0.tar.gz 5368779 BLAKE2B 7db10b620179b5ec6e4a5b5af25764ab7fd3ed9ccd4d437f590c28e4f3cbc1853075e70e75d708ec92149ede85cc0c7ac4b13e59dd7e9bc853a0e18b64a02a8e SHA512 d4cd176207b63ea7099980465b33314496f080eaf10a97f49f373a1479abea648694a4145998221f7c609ea140e19063440edb5d547c003d70ce30daeb778359
+DIST sqlglot-26.22.0-crates.tar.xz 8327388 BLAKE2B 69213d11940f9d4e743b169ef831b8b52a771f012e247570cf0703580a14af435d4d033b4b3ddfca6f4022b741261a24f3b47e5137de644d863714006520f857 SHA512 5de0781c54265b369e5e46b7cfbcc04a3118aa8d1323bff14f2841c95d471f545c923eedb88dbbb81a910801c5a505ff37a25701af936c06cf55a1659cd8822e
+DIST sqlglot-26.22.0.tar.gz 5369050 BLAKE2B dfe8463f4cee0175389f7d08a374fdf9f56646c38ce602103a4017f04fc50cb16e7021668a6dcd0d6fc2d8aa79ffe9387debb78a086625ef423e39593e26c9cd SHA512 f5517fb3fea252d143cc9b30ff28cf96f1ebc06875e06b22c359d2b8a09dd0097258faf66ca287c67d2bd80a758b1eb9c0681d32c3b89d50d05b58ca01627670
diff --git a/dev-python/sqlglot/sqlglot-26.18.1.ebuild b/dev-python/sqlglot/sqlglot-26.18.1.ebuild
deleted file mode 100644
index 745ae109fd13..000000000000
--- a/dev-python/sqlglot/sqlglot-26.18.1.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 2023-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CRATES=""
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-CARGO_OPTIONAL=1
-
-inherit cargo distutils-r1 pypi optfeature
-
-DESCRIPTION="An easily customizable SQL parser and transpiler"
-HOMEPAGE="
- https://sqlglot.com/
- https://github.com/tobymao/sqlglot/
- https://pypi.org/project/sqlglot/
-"
-SRC_URI+="
- native-extensions? (
- https://github.com/gentoo-crate-dist/sqlglot/releases/download/v${PV}/${P}-crates.tar.xz
- )
-"
-
-LICENSE="MIT"
-LICENSE+=" native-extensions? ("
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
-"
-LICENSE+=" )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="+native-extensions"
-
-BDEPEND="
- native-extensions? (
- ${RUST_DEPEND}
- dev-util/maturin[${PYTHON_USEDEP}]
- )
- test? (
- dev-python/pytz[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so"
-
-pkg_setup() {
- use native-extensions && rust_pkg_setup
-}
-
-src_unpack() {
- cargo_src_unpack
-}
-
-python_compile() {
- distutils-r1_python_compile
-
- if use native-extensions; then
- local DISTUTILS_USE_PEP517=maturin
- local DISTUTILS_UPSTREAM_PEP517=maturin
- cd sqlglotrs || die
- distutils-r1_python_compile
- cd - >/dev/null || die
- fi
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # timing, sigh
- # https://github.com/tobymao/sqlglot/issues/3961
- tests/test_generator.py::TestGenerator::test_generate_nested_binary
- )
- local EPYTEST_IGNORE=(
- # Tests require pyspark or duckdb which aren't in the tree.
- # Pandas would be a requirement normally, but it gets ignored by proxy.
- "tests/dataframe/integration/test_dataframe.py"
- "tests/dataframe/integration/test_grouped_data.py"
- "tests/dataframe/integration/test_session.py"
- "tests/test_executor.py"
- "tests/test_optimizer.py"
- )
-
- # make sure not to use an earlier installed version
- local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0)
- rm -rf sqlglotrs || die
- epytest
-}
-
-pkg_postinst() {
- optfeature "simplifying timedelta expressions" dev-python/python-dateutil
-}
diff --git a/dev-python/sqlglot/sqlglot-26.19.0.ebuild b/dev-python/sqlglot/sqlglot-26.19.0.ebuild
deleted file mode 100644
index 745ae109fd13..000000000000
--- a/dev-python/sqlglot/sqlglot-26.19.0.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 2023-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CRATES=""
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-CARGO_OPTIONAL=1
-
-inherit cargo distutils-r1 pypi optfeature
-
-DESCRIPTION="An easily customizable SQL parser and transpiler"
-HOMEPAGE="
- https://sqlglot.com/
- https://github.com/tobymao/sqlglot/
- https://pypi.org/project/sqlglot/
-"
-SRC_URI+="
- native-extensions? (
- https://github.com/gentoo-crate-dist/sqlglot/releases/download/v${PV}/${P}-crates.tar.xz
- )
-"
-
-LICENSE="MIT"
-LICENSE+=" native-extensions? ("
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
-"
-LICENSE+=" )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="+native-extensions"
-
-BDEPEND="
- native-extensions? (
- ${RUST_DEPEND}
- dev-util/maturin[${PYTHON_USEDEP}]
- )
- test? (
- dev-python/pytz[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so"
-
-pkg_setup() {
- use native-extensions && rust_pkg_setup
-}
-
-src_unpack() {
- cargo_src_unpack
-}
-
-python_compile() {
- distutils-r1_python_compile
-
- if use native-extensions; then
- local DISTUTILS_USE_PEP517=maturin
- local DISTUTILS_UPSTREAM_PEP517=maturin
- cd sqlglotrs || die
- distutils-r1_python_compile
- cd - >/dev/null || die
- fi
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # timing, sigh
- # https://github.com/tobymao/sqlglot/issues/3961
- tests/test_generator.py::TestGenerator::test_generate_nested_binary
- )
- local EPYTEST_IGNORE=(
- # Tests require pyspark or duckdb which aren't in the tree.
- # Pandas would be a requirement normally, but it gets ignored by proxy.
- "tests/dataframe/integration/test_dataframe.py"
- "tests/dataframe/integration/test_grouped_data.py"
- "tests/dataframe/integration/test_session.py"
- "tests/test_executor.py"
- "tests/test_optimizer.py"
- )
-
- # make sure not to use an earlier installed version
- local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0)
- rm -rf sqlglotrs || die
- epytest
-}
-
-pkg_postinst() {
- optfeature "simplifying timedelta expressions" dev-python/python-dateutil
-}
diff --git a/dev-python/sqlglot/sqlglot-26.20.0.ebuild b/dev-python/sqlglot/sqlglot-26.20.0.ebuild
deleted file mode 100644
index 745ae109fd13..000000000000
--- a/dev-python/sqlglot/sqlglot-26.20.0.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 2023-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CRATES=""
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-CARGO_OPTIONAL=1
-
-inherit cargo distutils-r1 pypi optfeature
-
-DESCRIPTION="An easily customizable SQL parser and transpiler"
-HOMEPAGE="
- https://sqlglot.com/
- https://github.com/tobymao/sqlglot/
- https://pypi.org/project/sqlglot/
-"
-SRC_URI+="
- native-extensions? (
- https://github.com/gentoo-crate-dist/sqlglot/releases/download/v${PV}/${P}-crates.tar.xz
- )
-"
-
-LICENSE="MIT"
-LICENSE+=" native-extensions? ("
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
-"
-LICENSE+=" )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="+native-extensions"
-
-BDEPEND="
- native-extensions? (
- ${RUST_DEPEND}
- dev-util/maturin[${PYTHON_USEDEP}]
- )
- test? (
- dev-python/pytz[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so"
-
-pkg_setup() {
- use native-extensions && rust_pkg_setup
-}
-
-src_unpack() {
- cargo_src_unpack
-}
-
-python_compile() {
- distutils-r1_python_compile
-
- if use native-extensions; then
- local DISTUTILS_USE_PEP517=maturin
- local DISTUTILS_UPSTREAM_PEP517=maturin
- cd sqlglotrs || die
- distutils-r1_python_compile
- cd - >/dev/null || die
- fi
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # timing, sigh
- # https://github.com/tobymao/sqlglot/issues/3961
- tests/test_generator.py::TestGenerator::test_generate_nested_binary
- )
- local EPYTEST_IGNORE=(
- # Tests require pyspark or duckdb which aren't in the tree.
- # Pandas would be a requirement normally, but it gets ignored by proxy.
- "tests/dataframe/integration/test_dataframe.py"
- "tests/dataframe/integration/test_grouped_data.py"
- "tests/dataframe/integration/test_session.py"
- "tests/test_executor.py"
- "tests/test_optimizer.py"
- )
-
- # make sure not to use an earlier installed version
- local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0)
- rm -rf sqlglotrs || die
- epytest
-}
-
-pkg_postinst() {
- optfeature "simplifying timedelta expressions" dev-python/python-dateutil
-}
diff --git a/dev-python/sqlglot/sqlglot-26.17.1.ebuild b/dev-python/sqlglot/sqlglot-26.22.0.ebuild
index 745ae109fd13..745ae109fd13 100644
--- a/dev-python/sqlglot/sqlglot-26.17.1.ebuild
+++ b/dev-python/sqlglot/sqlglot-26.22.0.ebuild
diff --git a/dev-python/suds-community/suds-community-1.2.0.ebuild b/dev-python/suds-community/suds-community-1.2.0.ebuild
index 7b7d03f05e1e..8014954e6c50 100644
--- a/dev-python/suds-community/suds-community-1.2.0.ebuild
+++ b/dev-python/suds-community/suds-community-1.2.0.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_REQ_USE="xml(+)"
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/svglib/svglib-1.5.1.ebuild b/dev-python/svglib/svglib-1.5.1.ebuild
index 5976af383dbd..03650b81af19 100644
--- a/dev-python/svglib/svglib-1.5.1.ebuild
+++ b/dev-python/svglib/svglib-1.5.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/textile/textile-4.0.3-r1.ebuild b/dev-python/textile/textile-4.0.3-r1.ebuild
index 0660f85f9217..9a99d65afa20 100644
--- a/dev-python/textile/textile-4.0.3-r1.ebuild
+++ b/dev-python/textile/textile-4.0.3-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/textx/textx-4.2.2.ebuild b/dev-python/textx/textx-4.2.2.ebuild
index 58d83cece042..6914cc3702a9 100644
--- a/dev-python/textx/textx-4.2.2.ebuild
+++ b/dev-python/textx/textx-4.2.2.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/tld/tld-0.13.1.ebuild b/dev-python/tld/tld-0.13.1.ebuild
index be362b6dd600..66625224ccb9 100644
--- a/dev-python/tld/tld-0.13.1.ebuild
+++ b/dev-python/tld/tld-0.13.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/tox/tox-4.26.0.ebuild b/dev-python/tox/tox-4.26.0.ebuild
index e5b14a410c51..25f6c0040e9e 100644
--- a/dev-python/tox/tox-4.26.0.ebuild
+++ b/dev-python/tox/tox-4.26.0.ebuild
@@ -28,10 +28,6 @@ RDEPEND="
dev-python/platformdirs[${PYTHON_USEDEP}]
dev-python/pluggy[${PYTHON_USEDEP}]
dev-python/pyproject-api[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- ' 3.10)
dev-python/virtualenv[${PYTHON_USEDEP}]
"
BDEPEND="
diff --git a/dev-python/tuf/tuf-6.0.0.ebuild b/dev-python/tuf/tuf-6.0.0.ebuild
index 5e0a08c9993a..6d1cdaa1ec6f 100644
--- a/dev-python/tuf/tuf-6.0.0.ebuild
+++ b/dev-python/tuf/tuf-6.0.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/typogrify/typogrify-2.1.0.ebuild b/dev-python/typogrify/typogrify-2.1.0.ebuild
index 2629aba4db1d..6738d42e8211 100644
--- a/dev-python/typogrify/typogrify-2.1.0.ebuild
+++ b/dev-python/typogrify/typogrify-2.1.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/vector/vector-1.6.2.ebuild b/dev-python/vector/vector-1.6.2.ebuild
index d52f66d559ab..b3a858934d68 100644
--- a/dev-python/vector/vector-1.6.2.ebuild
+++ b/dev-python/vector/vector-1.6.2.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
DISTUTILS_USE_PEP517=hatchling
inherit distutils-r1 pypi optfeature
diff --git a/dev-python/virtualenv-clone/virtualenv-clone-0.5.7.ebuild b/dev-python/virtualenv-clone/virtualenv-clone-0.5.7.ebuild
index 9cffd2fa1d3a..a6165676f902 100644
--- a/dev-python/virtualenv-clone/virtualenv-clone-0.5.7.ebuild
+++ b/dev-python/virtualenv-clone/virtualenv-clone-0.5.7.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/warlock/warlock-2.0.1.ebuild b/dev-python/warlock/warlock-2.0.1.ebuild
index d47b1c34ddda..fe6ccaefb353 100644
--- a/dev-python/warlock/warlock-2.0.1.ebuild
+++ b/dev-python/warlock/warlock-2.0.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/xmlsec/xmlsec-1.3.15.ebuild b/dev-python/xmlsec/xmlsec-1.3.15.ebuild
index d74b4f7bcc71..7c9f9e34777c 100644
--- a/dev-python/xmlsec/xmlsec-1.3.15.ebuild
+++ b/dev-python/xmlsec/xmlsec-1.3.15.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/yapsy/yapsy-1.12.2-r2.ebuild b/dev-python/yapsy/yapsy-1.12.2-r2.ebuild
index c3f00eaf9285..12bbfdd706e2 100644
--- a/dev-python/yapsy/yapsy-1.12.2-r2.ebuild
+++ b/dev-python/yapsy/yapsy-1.12.2-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/yara-python/Manifest b/dev-python/yara-python/Manifest
index a3a35a4a7f60..8028381fe561 100644
--- a/dev-python/yara-python/Manifest
+++ b/dev-python/yara-python/Manifest
@@ -1,2 +1,3 @@
DIST yara-python-4.5.2.gh.tar.gz 39258 BLAKE2B db9038d476654916eb66d72c6e45b93faf61e8e2621b2a6d862620d100a5d5f7b292e586e68c77cf8a76ce728fcf976690bfd468f027a77f28519298dc3a668a SHA512 586f22d50db01b21e47a8b76e069a917018cc86f8931f438c5066b38323f7a477a919d9e10e704e74f2962ae02bb1715834c704dfe16b66311f48f06c0c5165a
DIST yara-python-4.5.3.gh.tar.gz 39315 BLAKE2B 11dfcca60ff4d366ee05a6228921e7733e7bd63111cbea0c6a947e2ef3760fe4854758a3492c7652543f70597c20151429af03ee5c98a9f86d2fe505fb677a26 SHA512 f7e6860c479e70efe5f56b2fea4f2b5d4878ec6a19778e59465f9983c7af493215925d753218fce1fd0e906634582bf5c67095e398864f706d36bbe4a43a5537
+DIST yara-python-4.5.4.gh.tar.gz 39313 BLAKE2B fc41fd378bcd2cd1da2ae442f794c413d52a2dae9c9766d03ee1a641f31a5ceb4fc50555d17e7167f080851aae68f1c248fcd09de981326797666d0669ead419 SHA512 fee87a2127284a2287c60b14bcd36facf061542da1321ccaa26dbe23c7e8534253434a78c8a65a0c2915bb1331acbdee78b12d02b748ec7d95a106913172a1a2
diff --git a/dev-python/yara-python/yara-python-4.5.3.ebuild b/dev-python/yara-python/yara-python-4.5.3.ebuild
index abe42fd90f95..604f35884253 100644
--- a/dev-python/yara-python/yara-python-4.5.3.ebuild
+++ b/dev-python/yara-python/yara-python-4.5.3.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
DISTUTILS_EXT=1
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
DESCRIPTION="Python interface for a malware identification and classification tool"
diff --git a/dev-python/yara-python/yara-python-4.5.4.ebuild b/dev-python/yara-python/yara-python-4.5.4.ebuild
new file mode 100644
index 000000000000..604f35884253
--- /dev/null
+++ b/dev-python/yara-python/yara-python-4.5.4.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+DISTUTILS_EXT=1
+PYTHON_COMPAT=( python3_{11..14} )
+inherit distutils-r1
+
+DESCRIPTION="Python interface for a malware identification and classification tool"
+HOMEPAGE="https://github.com/VirusTotal/yara-python"
+
+if [[ ${PV} == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/VirusTotal/yara-python.git"
+else
+ SRC_URI="https://github.com/virustotal/yara-python/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+RDEPEND="
+ =app-forensics/yara-$(ver_cut 1-2)*
+"
+DEPEND="${RDEPEND}"
+
+distutils_enable_tests unittest
+
+python_configure_all() {
+ cat >> setup.cfg <<-EOF
+ dynamic_linking = True
+ EOF
+}
+
+python_test() {
+ "${EPYTHON}" tests.py -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/yara-python/yara-python-9999.ebuild b/dev-python/yara-python/yara-python-9999.ebuild
index abe42fd90f95..604f35884253 100644
--- a/dev-python/yara-python/yara-python-9999.ebuild
+++ b/dev-python/yara-python/yara-python-9999.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
DISTUTILS_EXT=1
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
DESCRIPTION="Python interface for a malware identification and classification tool"