summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-08-06 07:02:57 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-08-06 07:02:57 +0000
commit20f0b54e2d7710a03c17bdf936e3f1c81a4c2aca (patch)
tree14e0d5c8013827edcbbaaaffe3223548a4eb2864 /dev-python
parent509e6c551a619cca02520a6671827dc8a31a9399 (diff)
downloadbaldeagleos-repo-20f0b54e2d7710a03c17bdf936e3f1c81a4c2aca.tar.gz
baldeagleos-repo-20f0b54e2d7710a03c17bdf936e3f1c81a4c2aca.tar.xz
baldeagleos-repo-20f0b54e2d7710a03c17bdf936e3f1c81a4c2aca.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/anyio/Manifest1
-rw-r--r--dev-python/anyio/anyio-4.10.0.ebuild73
-rw-r--r--dev-python/boto3/Manifest2
-rw-r--r--dev-python/boto3/boto3-1.40.2.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.40.3.ebuild53
-rw-r--r--dev-python/botocore/Manifest2
-rw-r--r--dev-python/botocore/botocore-1.40.2.ebuild67
-rw-r--r--dev-python/botocore/botocore-1.40.3.ebuild67
-rw-r--r--dev-python/braintree/Manifest2
-rw-r--r--dev-python/braintree/braintree-4.38.0.ebuild (renamed from dev-python/braintree/braintree-4.36.0.ebuild)0
-rw-r--r--dev-python/certifi/Manifest3
-rw-r--r--dev-python/certifi/certifi-2025.07.09.ebuild38
-rw-r--r--dev-python/certifi/certifi-2025.08.03.ebuild (renamed from dev-python/certifi/certifi-2025.06.15.ebuild)0
-rw-r--r--dev-python/fastbencode/Manifest20
-rw-r--r--dev-python/fastbencode/fastbencode-0.3.1.ebuild31
-rw-r--r--dev-python/fastbencode/fastbencode-0.3.4.ebuild89
-rw-r--r--dev-python/fastbencode/files/fastbencode-0.3.1-cython-3.1.patch49
-rw-r--r--dev-python/hypothesis/Manifest9
-rw-r--r--dev-python/hypothesis/hypothesis-6.136.1.ebuild127
-rw-r--r--dev-python/hypothesis/hypothesis-6.136.2.ebuild127
-rw-r--r--dev-python/hypothesis/hypothesis-6.136.3.ebuild127
-rw-r--r--dev-python/hypothesis/hypothesis-6.136.6.ebuild125
-rw-r--r--dev-python/hypothesis/hypothesis-6.136.7.ebuild125
-rw-r--r--dev-python/hypothesis/hypothesis-6.136.9.ebuild (renamed from dev-python/hypothesis/hypothesis-6.136.4.ebuild)0
-rw-r--r--dev-python/hypothesis/hypothesis-6.137.1.ebuild (renamed from dev-python/hypothesis/hypothesis-6.136.5.ebuild)0
-rw-r--r--dev-python/ipykernel/Manifest1
-rw-r--r--dev-python/ipykernel/ipykernel-6.30.1.ebuild79
-rw-r--r--dev-python/pycares/Manifest1
-rw-r--r--dev-python/pycares/pycares-4.10.0.ebuild43
-rw-r--r--dev-python/pydantic-core/Manifest5
-rw-r--r--dev-python/pydantic-core/pydantic-core-2.38.0.ebuild171
-rw-r--r--dev-python/pyqt-builder/pyqt-builder-1.18.2.ebuild2
-rw-r--r--dev-python/pyqt5-sip/pyqt5-sip-12.17.0.ebuild2
-rw-r--r--dev-python/pyqt5/metadata.xml1
-rw-r--r--dev-python/pyqt5/pyqt5-5.15.11.ebuild9
-rw-r--r--dev-python/pyqt6-sip/pyqt6-sip-13.10.2.ebuild2
-rw-r--r--dev-python/pyqt6-webengine/Manifest1
-rw-r--r--dev-python/pyqt6-webengine/pyqt6-webengine-6.8.0.ebuild73
-rw-r--r--dev-python/pyqt6-webengine/pyqt6-webengine-6.9.0.ebuild2
-rw-r--r--dev-python/pyqt6/pyqt6-6.9.1.ebuild2
-rw-r--r--dev-python/python-gnupg/Manifest2
-rw-r--r--dev-python/python-gnupg/python-gnupg-0.5.5.ebuild48
-rw-r--r--dev-python/python-tests/python-tests-3.13.5_p1.ebuild2
-rw-r--r--dev-python/pywavelets/Manifest1
-rw-r--r--dev-python/pywavelets/pywavelets-1.9.0.ebuild50
-rw-r--r--dev-python/setuptools-scm/Manifest2
-rw-r--r--dev-python/setuptools-scm/setuptools-scm-9.0.0.ebuild62
-rw-r--r--dev-python/setuptools-scm/setuptools-scm-9.0.3.ebuild62
-rw-r--r--dev-python/sip/files/sip-6.12.0-python314-test.patch30
-rw-r--r--dev-python/sip/sip-6.12.0.ebuild6
-rw-r--r--dev-python/uv-build/Manifest1
-rw-r--r--dev-python/uv-build/uv-build-0.8.5.ebuild99
-rw-r--r--dev-python/uv/Manifest2
-rw-r--r--dev-python/uv/uv-0.8.5.ebuild184
54 files changed, 1287 insertions, 848 deletions
diff --git a/dev-python/anyio/Manifest b/dev-python/anyio/Manifest
index 098360006b9f..7f429c724612 100644
--- a/dev-python/anyio/Manifest
+++ b/dev-python/anyio/Manifest
@@ -1 +1,2 @@
+DIST anyio-4.10.0.tar.gz 213252 BLAKE2B 6dc6c0c2290a78049854a74333e28d60ac65874a9cb3a15600da6fa81152b47741f7a5c2736eaef8d279b74ea7ccadc5847d50f5af8cf25f6d40ce0efdd8c4d3 SHA512 c696ce5216ff3b93114a53a938461c63df402ea099528e876d31af71c46242ed2b488819accb073c1e312dcad023b5836e5d462992ea01bf7d87b0b9ef3186ed
DIST anyio-4.8.0.tar.gz 181126 BLAKE2B f33df2d5df27ff05d553544e1c4f351fa20d6f551d23b80d5f0beaa658c145c7b13d7d7da1c4c3c17e97ecfc595b3662dbc1c7bedbbda7471d1004090599c557 SHA512 939ae76eff4c91979f1ce2bdf3ef1f05f488931e7ae357632090855125656721099732a9a1e167755677757c2125287842e49fce19302f90615bd79b41cc9e67
diff --git a/dev-python/anyio/anyio-4.10.0.ebuild b/dev-python/anyio/anyio-4.10.0.ebuild
new file mode 100644
index 000000000000..e2e4b9526ffc
--- /dev/null
+++ b/dev-python/anyio/anyio-4.10.0.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Compatibility layer for multiple asynchronous event loop implementations"
+HOMEPAGE="
+ https://github.com/agronholm/anyio/
+ https://pypi.org/project/anyio/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/idna-2.8[${PYTHON_USEDEP}]
+ >=dev-python/sniffio-1.1[${PYTHON_USEDEP}]
+ >=dev-python/truststore-0.9.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.5[${PYTHON_USEDEP}]
+ ' 3.{11..12})
+"
+# On amd64, let's get more test coverage by dragging in uvloop, but let's
+# not bother on other arches where uvloop may not be supported.
+BDEPEND="
+ >=dev-python/setuptools-scm-6.4[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/blockbuster-1.5.23[${PYTHON_USEDEP}]
+ >=dev-python/exceptiongroup-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/trio-0.26.1[${PYTHON_USEDEP}]
+ ' 3.{11..14})
+ amd64? (
+ $(python_gen_cond_dep '
+ >=dev-python/uvloop-0.21.0_beta1[${PYTHON_USEDEP}]
+ ' python3_{11..13})
+ )
+ )
+"
+
+EPYTEST_PLUGINS=( hypothesis pytest-mock )
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ '>=dev-python/sphinx-rtd-theme-1.2.2' \
+ dev-python/sphinxcontrib-jquery \
+ dev-python/sphinx-autodoc-typehints
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires link-local IPv6 interface
+ tests/test_sockets.py::TestTCPListener::test_bind_link_local
+ )
+
+ local filter=()
+ if ! has_version ">=dev-python/trio-0.26.1[${PYTHON_USEDEP}]"; then
+ filter+=( -k "not trio" )
+ EPYTEST_DESELECT+=(
+ tests/test_pytest_plugin.py::test_plugin
+ tests/test_pytest_plugin.py::test_autouse_async_fixture
+ tests/test_pytest_plugin.py::test_cancel_scope_in_asyncgen_fixture
+ )
+ fi
+
+ epytest -m 'not network' "${filter[@]}"
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 32f857cf9637..e41253d3f7e2 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -1,3 +1,5 @@
DIST boto3-1.39.14.gh.tar.gz 974493 BLAKE2B 14c6295f20cab6390c81d399585c9bd8291163a206e212400f44a23d871f43f02c76c0fae5201855cdd77cf45b598b5ceb86320b584fb48a5acb142133aa9d22 SHA512 332cc223c87f0823fded9c885c47892e0dd0abdd4346968425cbdec8e9eacd1d3d22720cb3a615876c47ba031b8b1f4a592d325c812e37f86690b0554438e9a4
DIST boto3-1.39.9.gh.tar.gz 971951 BLAKE2B d77a87e3035a2797ff67d49c3df329836c51b305c72f8ce01445b668802aa1a529424e744ddd18e142cd35a0680be51383b56512dca115506a1a0f4860657b47 SHA512 c6df821d3558ca1d234a4a1dea231467c0935dff7c34e6eb01b067d4d2396024308f70218a621064b111359bc5197b191bc8f4a099bcfcc5f4d5bf174ba859b0
DIST boto3-1.40.1.gh.tar.gz 978197 BLAKE2B c93f3550d41c13292dd8f4dcaab9d896faca127684a3ca72c253aa42ac44277c27ff0d68f47754c408701e97f0cefeda81e94565fba808544d5c16efaabb00d9 SHA512 c94eb4584161932f2d03ca9bf402a6e55358124e48fea94b71a5e22774aac6312f8ba7c69a18824c306b16a494cb3ed613cb96244c2718adbd53dd3b5829f934
+DIST boto3-1.40.2.gh.tar.gz 978635 BLAKE2B 0bdcea2a77084d40591ed7974145491dda55b2cf6d3979d6df951992161356e35ad51e92cf74a02609c0f0892ed546df541e3dd1fb867140c0f0e0c8c6e6182f SHA512 9f238ceafa569a2607fb72bd3c4d05c83493b81b1ed36b76136efa6df464e67e90643082307f026d72d6f9a78ddb4486a01859609b980e7c6a22da2b7b0e1465
+DIST boto3-1.40.3.gh.tar.gz 979059 BLAKE2B 3c357e5b59dfa3444d7d737b34a482d8e15e36ff98dad1d24ea95412474bf9765958bb7e7726c6b83a10147ac8e8c1bc9d8fada6e8211c9c0d6efa1c0bc48d7d SHA512 562ee9f1c0ddb0f5f076fab448efe0cdc24354bdea5b0ca8600e657d449df442dd477215ad47c6d17a40c0ad4b149adab17fe02ef483a709e04e30062cb24a9b
diff --git a/dev-python/boto3/boto3-1.40.2.ebuild b/dev-python/boto3/boto3-1.40.2.ebuild
new file mode 100644
index 000000000000..bd6e26787db4
--- /dev/null
+++ b/dev-python/boto3/boto3-1.40.2.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.13.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/boto3/boto3-1.40.3.ebuild b/dev-python/boto3/boto3-1.40.3.ebuild
new file mode 100644
index 000000000000..bd6e26787db4
--- /dev/null
+++ b/dev-python/boto3/boto3-1.40.3.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.13.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index 01819f20565e..36cd613511b7 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -1,3 +1,5 @@
DIST botocore-1.39.14.gh.tar.gz 15002421 BLAKE2B a054f85ee0076f1445e122e497683b31387323f52036f914ab1474eb14b32f923459079c539d0a1109c7f622e93e614b8550f9d5ce6e34a0e0a581561e12c9d5 SHA512 716c68404b06b24442da1b1018cfe06256a2b2855f846bd061ef44332db8a624cfd8f16a06169b2337d1c8e54c034aa46f3f3063f6e8d6c4020d1e50d30b6910
DIST botocore-1.39.9.gh.tar.gz 14983953 BLAKE2B 929c2456d8efc4256326c255888ebca82edd837df2dc0beeb37119af5f397b74c8e1d1349c66adc79361fe0cbdcb74d268b04ca563fa0047b27cd8f70f755290 SHA512 421421a9ac2845e18ccc6904b443d2d53883c5f85df1b34245541546ef5369cd29fc7af8751507e7513d06c818ff195bc59d6ea4e773b8975d4de874ba79116d
DIST botocore-1.40.1.gh.tar.gz 15055179 BLAKE2B 0fd7e4f74e51fe45284fe550bb853964e3f6039c2d5904996bc3f40e3912b75af4eab4c378edbc85b61fb6b3f5d1583493ad71540c7170c5a0ffb7ffefc5d99f SHA512 4a0b5d075f8335c5b9c08bad1088c31ded92deced98a7f606cf07853657f41d8f3ab224b13172d007c8de6d2127edce662c4deadcb8d4ed8693432d77b8e38e6
+DIST botocore-1.40.2.gh.tar.gz 15059931 BLAKE2B f05f8d9dc04e8a7c04010711dd3864addccf1369ed44b40c35f6b814639ae9c6d7dcb55944f6df29dacd7f15949276d08f499ad079cf63506388d22edbbe4c9d SHA512 e7c816c47e240e208e90d7e7a4523d32c2db97a60c7412e8a07b02b35eea5a4fe102e584ba45b10b39d277728cecaec5ce2bb19b4cfdb880b396aeb2d81e1e34
+DIST botocore-1.40.3.gh.tar.gz 15089274 BLAKE2B ec281c7a1fd99d904666d42bc2a357a97ded61808967af2d89bc97d47f14efba077f39011f7a5125ded3b498fb924c2909d68e6035d9ec4394e2f0da409788f2 SHA512 4fc67b660527bf0a83ade85db963f3f744130ca8e4e84a33c75e9b9acbb5190ec0d4e14f0cd50d4646a2035b67ef0e7bd030563cb796ed2ba89783a3743c072f
diff --git a/dev-python/botocore/botocore-1.40.2.ebuild b/dev-python/botocore/botocore-1.40.2.ebuild
new file mode 100644
index 000000000000..a931fcaefec4
--- /dev/null
+++ b/dev-python/botocore/botocore-1.40.2.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/botocore-1.40.3.ebuild b/dev-python/botocore/botocore-1.40.3.ebuild
new file mode 100644
index 000000000000..a931fcaefec4
--- /dev/null
+++ b/dev-python/botocore/botocore-1.40.3.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/braintree/Manifest b/dev-python/braintree/Manifest
index 6bbb6565fb35..974473d592d6 100644
--- a/dev-python/braintree/Manifest
+++ b/dev-python/braintree/Manifest
@@ -1,2 +1,2 @@
-DIST braintree_python-4.36.0.gh.tar.gz 251847 BLAKE2B 50b5012ae1680e68f98e18c8a6609e2eef7d0b89ed458b72a44d4571ef253645eed181d2be352b085a490f4d35aa33f1565445f0b106047edf851cb1917b6224 SHA512 cec958fecf50e8c02acdf57de256d0396f7e2a5d6d6f30ce7bf83dab2969c25a18f26aa3b35652d3ea236024e3b160fc59fbb563e2b02c20589f697a96c3bb44
DIST braintree_python-4.37.0.gh.tar.gz 251736 BLAKE2B 4a7d89d72a306e23421394a2013a69fa9eea967b4ece0124a2b05133d7377e1b54bcc60b814fc6132b9fe1fee2c71ebf050d28194b3e5895463fd5a92a11bb27 SHA512 0982bb5ef9e390ee2f1ce5f945a1f38efe8b5da83c977ac7790309b41dcb84c00f1d79d7a815d74dd687caa49b2db0d1446e5086a3ef8ff471997673560668ea
+DIST braintree_python-4.38.0.gh.tar.gz 252949 BLAKE2B 1ea4d1a1b2388fd3df1c5fd402a4feb1978e9a2817d358d4aa7fa473202a213d156f4517bd35d1adec48e0b0c2197cd015f4862bcebf8350da7c81761f3bd56e SHA512 b336c4004ca12695211a97d320d6c03eccadebfc514d9f639030cbae6008bf995a5ee997e9c175ddcb06e7c46228c2f871333a9a0f1985916c47ccc8ddb2750b
diff --git a/dev-python/braintree/braintree-4.36.0.ebuild b/dev-python/braintree/braintree-4.38.0.ebuild
index 20cb389c2fda..20cb389c2fda 100644
--- a/dev-python/braintree/braintree-4.36.0.ebuild
+++ b/dev-python/braintree/braintree-4.38.0.ebuild
diff --git a/dev-python/certifi/Manifest b/dev-python/certifi/Manifest
index d0871567f5e1..f50bd7c23dce 100644
--- a/dev-python/certifi/Manifest
+++ b/dev-python/certifi/Manifest
@@ -1,3 +1,2 @@
-DIST certifi-2025.06.15.tar.gz 159513 BLAKE2B 1e854e6cb81264ff5510e9816afa1afca1167bb88e559eb0b355f1a939218a41a84f2578a60b28dbb11935fa266f213df9b4061ce0997733d905d7dd0221908f SHA512 cf5e8dac286e5897f5b90f8a02c7945de51207d813d186add6fcc926d412d592248d3a8ea0a6b03a621b810aa1c3468fc9d1a4559c63321aa69edc5f5e87a134
-DIST certifi-2025.07.09.tar.gz 160714 BLAKE2B e980cf86db1edd51bf7548a56a00c6280d2bbb96bc3288c428b550f8900aa6db476934260d3f6867e77816b818afc46fc2ef021e63aff1d82f263bb27f92f1ae SHA512 2b5af0084cd73cc773e6465f5dfe294ed8fb4f6dbe2e7d0a5eb0374b04b693eb976a6178b8c00d3155190c4319471756a160cd047729a363f1d0008f9ff1da9a
DIST certifi-2025.07.14.tar.gz 164391 BLAKE2B 477951bfa25fea5b2343675e333bd706a3aeec5efca209f2e77e49febbfcbe701ac526fbdd99442cf67bde566552358150b07d93eef7ef1187d054e8b90be4f5 SHA512 4aa6187b71459994d218096de85f6aee6fb09aad605e6f6c7d0c2b44d22bb3341ed4673faf70f42a25fd048a6d0df285e5d16189647caab049812c34e58f13b7
+DIST certifi-2025.08.03.tar.gz 162844 BLAKE2B c4d6e090e017783349d8617ade0a40d145fcb39f3323d77807f036c10cb7a4ba4d059b0749dd59d7881633873d88947f63adb527b2aa9853997d7723909ddf88 SHA512 9b39d5c72dc74322a06d37f18f678cab16d753cc6ff845c42ed55b01fbf5547fc8753da36436b9aef21245f1fd8c9c5f164e451f120c0b6aa8e883572b55f906
diff --git a/dev-python/certifi/certifi-2025.07.09.ebuild b/dev-python/certifi/certifi-2025.07.09.ebuild
deleted file mode 100644
index 345f02e3f587..000000000000
--- a/dev-python/certifi/certifi-2025.07.09.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2021-2025 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1 prefix readme.gentoo-r1
-
-DESCRIPTION="Python package for providing Mozilla's CA Bundle"
-HOMEPAGE="https://pypi.org/project/certifi/"
-SRC_URI="https://github.com/certifi/python-certifi/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE=""
-
-RDEPEND="app-misc/ca-certificates"
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
-S="${WORKDIR}/python-${P}"
-PATCH="$FILESDIR}/${P}-use-system-cacerts.patch"
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
- eprefixify certifi/core.py
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- local DOC_CONTENTS="
- In Gentoo, we don't use certifi's bundled CA certificates.
- Instead we remove bundled cacert.pem and patch certifi
- to return system's CA certificates.
- "
- readme.gentoo_create_doc
-}
diff --git a/dev-python/certifi/certifi-2025.06.15.ebuild b/dev-python/certifi/certifi-2025.08.03.ebuild
index 345f02e3f587..345f02e3f587 100644
--- a/dev-python/certifi/certifi-2025.06.15.ebuild
+++ b/dev-python/certifi/certifi-2025.08.03.ebuild
diff --git a/dev-python/fastbencode/Manifest b/dev-python/fastbencode/Manifest
index d2c3b2ced39d..820a312c3a91 100644
--- a/dev-python/fastbencode/Manifest
+++ b/dev-python/fastbencode/Manifest
@@ -1,2 +1,20 @@
-DIST fastbencode-0.3.1.tar.gz 20881 BLAKE2B e962e07ebc75402d63c9b4bbae303bafc1cf4a66f76884b756c9604b5fad5dc0165c1500fad4226785e030571bff1a2f26b5e5185880b076ebdb54cac4474da1 SHA512 153501ecbfcff76a55faec4c65924a4e4b171a91e05092ecaba61a8561f84d2abce0ac7b7d51aee44b39e6b706c38b5ea7a23f92a4650545b4526a0ae1ac086d
+DIST autocfg-1.5.0.crate 18729 BLAKE2B 27580e39b366c6fca02c9db09997b6415c409f12068f1249184268bf96fd85ba659e25ec730f99e10caf452f96c486f3d7442bf09c4552b5f39519b21d6f88cc SHA512 f279856f234d39d369623576acf9546a1ca24d7fe449f36d4fb93ea75a7efaf2c4015b9616a69bbbed358c5e5882e16b045352f046aa4c049b3d13b1e8257b08
DIST fastbencode-0.3.2.tar.gz 24878 BLAKE2B a516be3b5d0eb6fc09afc3d4f3c40454893f1cc252592f032fbb8d2d906bc59b8be6b50a13d4ef4e0ab608b68dcc56a24e0b96fae2b12f1f8666f43ff76435c5 SHA512 0750aec47720dbf1e85b7acbf4f9df85e672d0cf53dee522a035340d7eb1e90eca5eeeafe8e0c7fa3b769216bda84d348f7d78133a1540142143db54799ff97f
+DIST fastbencode-0.3.4.gh.tar.gz 21576 BLAKE2B 8647f98f672cc24a5eea517afdc1232543374a5ed283bff6f51e4f53ce576fd7355963406ecfa5aaf9a075f71b6608586e26f879c1da00cc406d2fa9b4916dc5 SHA512 456311c40ec6ab6750e74244ad4bdf731c39c7fd294ebabba867a05221d0af054838ef0e75620982ad274061732e55716053505dfcafbc2d1b6e12c324406369
+DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
+DIST indoc-2.0.6.crate 17164 BLAKE2B 1a6cff95bc12ea885ef36b935bf4f1c7870d65be0ff31ffc67dcab904fa80215c1254c1803c5d0c5686252addfad3512e9e1ec79d3edcba026a879f4706926d1 SHA512 e2ea2e5c8226c802bbe0631c1a99d2edd088cbafbf978b2a7b71c7c7f47754c6d4653f466e286441b61cc46def1c7f7a02d4785caab93a61dd785211dba7d1a9
+DIST libc-0.2.174.crate 779933 BLAKE2B 20ffcbbcad6961e732521940f0595039dc0576d85b2d3b2ad3f1decd37571132a4cd7505b2e108078a4379fc4cec46290b5633bcbcc6e7009c3b474c1a852628 SHA512 243f2ffd5741ef859e4dc5b7ee0396071943b1d10429efcaecb322957e256c4be88a7a649029dfd47e6456acc73ee257893fb6c4e8b4d0fe66a12bc5d1c13c73
+DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa
+DIST once_cell-1.21.3.crate 34534 BLAKE2B 3578aaef305cad2fdffdc40c392775a3540bfab3f3aeafd22466d9507bf8346b9fcc200929d48525b051070c0aaa423ecbcaa12868b34dca007991effb224166 SHA512 32a87506c6f4598f3ca2c88556014ef2093d5db9a08602335e847caa537a866492fa74c894e7e1da2e4289a1d3dbffcb90a9e37a4a1453203832f434b8206990
+DIST portable-atomic-1.11.1.crate 185506 BLAKE2B 953bb1f2059dc1d891305eb89945f1f6a172fa50972725aee499de72b5dd9b4ad8ccefe4e891183ff8e6b64f4d1bb45ec33b06e0f5af34c940f817b290f746d9 SHA512 4c037ae0b4aef43077bdbf803389bc078d963f20d023e2e1d339a54f67fa9b27c174e7c1b6eca8881ecf301e30c431632d2c0dcedfb5b19552892fac0f81e2e1
+DIST proc-macro2-1.0.95.crate 51820 BLAKE2B 93229d80556ec03bce4031607d13c7902cacc2d7e2586a692ffe8543d52e3f3ba253c9c311ddedf6d9348ce8758ae8ff64577675cda2dac557f936a328de47e3 SHA512 f78e4d47ecd29c1b2315554705e445507bbfb9449afd0bf1b74df28f266ac6382ca8c3ce135ddc55c989eaee64d1794a0933a941c8ff55f543fa21c400016547
+DIST pyo3-0.25.1.crate 1121993 BLAKE2B 79a982131fc4c4f9292e97bc8d938d236ee9cefb99bb90646a84703660ad506aee8ae1f1e626d985aa62c695722510f2697544581fa5c3a01f193be2bc2779fe SHA512 9c842c89d274dba0c8a3085a8524736245d65f07e5c05bc13fc89167cfdeb1a4ff2b4a9da9467eee918e45d01777473f39bda11efe0052859969d4fdeac1adc6
+DIST pyo3-build-config-0.25.1.crate 34126 BLAKE2B ca905f1f74e26f38ab63a4f5754055c9dff01f9396f81ece09b7ce067181b657e6746db3b373f7177805f6564d0df0db064b5fcab8160d5edc357e64dd32d0fc SHA512 d6fe4a46111188203a839c8c73b9835f98cd6bc5982868cbcc9f502c5a09b35c3e61117b50ef8372470051b5bc4959731907748ffca89f42f300a3081b7b0467
+DIST pyo3-ffi-0.25.1.crate 78058 BLAKE2B 351fe00c99008a34a003e50cd4f6d25e6dae5a446928358cd5146ac9924254614724a015ae77d8aade7bcb497cf5e5b5018021ff5d89a8efa6412f5ccb48744e SHA512 35ab63888f49df13fab8b96b87f6c705186173923fd5898abe8730675156426f020ee517019926ba5e06cdb4fc5f91a75f648ce9eba892e9eaf3ee17864a8ec7
+DIST pyo3-macros-0.25.1.crate 8886 BLAKE2B aad9c975c90ff93429be24287d76edd945578b546a927f54d82b6d4bf184f1f8d426ac112307205346e85999a1e89b097f68310de647f27474790bff01c3517a SHA512 08387f3d1ddb0cc253eed376e6e8ebe5722b31664ec742f16c0454b52f1fbcadbe7720ae9e2d3870fe0ca2690916cf6e3e032f5a3e65d767322c068432f6d470
+DIST pyo3-macros-backend-0.25.1.crate 76006 BLAKE2B 02225f8591585a6cbea7d6e53503bfbac395253cb0f45c588a2eb38908bf241034412832f2fcf4e9301318b5b9b82a888755d970f544f402a4f0cf9e4a6eefe9 SHA512 4c9006424630ab9bcd5dcdd45fe927a95a40a61757f0950396eb9f0c3f1794772092a19773c102220489cc621ad65d81dbbe459a1be472f6cd3211c50ef33cc2
+DIST quote-1.0.40.crate 31063 BLAKE2B 09036ff3e5ebbd775c466bb936de91d4c070481eb4b98c62a4cddcda57cd7b67d63f979b321f6ec64aabee3f5da6c28e7a3efb83f4647768ba578f1bd0bd0bdb SHA512 45a76e22a2b0bec47e4ba73c3b73cc41d821dfcce9876134c5d8eed514da214aee4ce7612e372c8709f888c0d8b9b7e5442f27adb7a59f3571f0339ed7e2ac99
+DIST syn-2.0.104.crate 299699 BLAKE2B f64d2267abe9140456dd31d52ada0c75bfa3e4e0112ca77491245e9e84a0530f6c7cdc7428b73cf567a65ef6e7727f814fb9cb34db0ecc9cc3afd05b69fd36f7 SHA512 da532fa362266161b5604c821c913f8f990eb32c18e18c0a360b7147b9f71ae008e208f377cb203e85818bd5db926951122a971fa97563a10678f0ba4671e64f
+DIST target-lexicon-0.13.2.crate 27923 BLAKE2B 0761f0ffdc23b9c9df86b384d59611c7b8b5e29ff068f03367ad2fe84cfb6d11e1af149b9338236978e9566fedc51387db9f239d2a602db41045ac3db907faec SHA512 d25e3cc3d679cb6b6f24c03e0c24db9d6ca31b8ed42ac9531bd7637557fbba225a6c8ac4f68a8eaf3569195814d599e668a968afbc73b940a77cbc27552cc90a
+DIST unicode-ident-1.0.18.crate 47743 BLAKE2B 517ab42a847020515b2b871844d0571ea672340f89a762631a791eac18935ac122122fa5566e58b99ab47de179eadb5298e8ff1d05b123c4e93b7fa989c8e31f SHA512 d11f89fb696f9e2953c96a40b5478832651b268c83b9c7a700b07e768e795d6e8dc346597d1226df21219d36866768d1f640bd8edb68db8bd3d5d437b2bfd324
+DIST unindent-0.2.4.crate 7422 BLAKE2B 2e7870cd4f78240dbb1e5fb9c0f9b55c57bb40242fe668f105a0e862f1d6300e31efbffe0cdff676a5f96a8d19dfb148f88bfef1cd8a710556d777fd0f4ee37f SHA512 58bd4fd20a0b0a7200e0ea3ea70553cea135a5a8f7a2fb178520c41228f435becce4b9981019b7c73a17df87a2ee9b2a47c4cec29a3011bfe848d48b2473761b
diff --git a/dev-python/fastbencode/fastbencode-0.3.1.ebuild b/dev-python/fastbencode/fastbencode-0.3.1.ebuild
deleted file mode 100644
index a644bd6d077e..000000000000
--- a/dev-python/fastbencode/fastbencode-0.3.1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2023-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Implementation of bencode with optional fast C extensions"
-HOMEPAGE="
- https://github.com/breezy-team/fastbencode/
- https://pypi.org/project/fastbencode/
-"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
-
-PATCHES=(
- # https://github.com/breezy-team/fastbencode/pull/97
- "${FILESDIR}/${P}-cython-3.1.patch"
-)
diff --git a/dev-python/fastbencode/fastbencode-0.3.4.ebuild b/dev-python/fastbencode/fastbencode-0.3.4.ebuild
new file mode 100644
index 000000000000..405f8168afc8
--- /dev/null
+++ b/dev-python/fastbencode/fastbencode-0.3.4.ebuild
@@ -0,0 +1,89 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+ autocfg@1.5.0
+ heck@0.5.0
+ indoc@2.0.6
+ libc@0.2.174
+ memoffset@0.9.1
+ once_cell@1.21.3
+ portable-atomic@1.11.1
+ proc-macro2@1.0.95
+ pyo3-build-config@0.25.1
+ pyo3-ffi@0.25.1
+ pyo3-macros-backend@0.25.1
+ pyo3-macros@0.25.1
+ pyo3@0.25.1
+ quote@1.0.40
+ syn@2.0.104
+ target-lexicon@0.13.2
+ unicode-ident@1.0.18
+ unindent@0.2.4
+"
+
+CARGO_OPTIONAL=1
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit cargo distutils-r1
+
+DESCRIPTION="Implementation of bencode with Rust implementation"
+HOMEPAGE="
+ https://github.com/breezy-team/fastbencode/
+ https://pypi.org/project/fastbencode/
+"
+SRC_URI="
+ https://github.com/breezy-team/fastbencode/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ native-extensions? (
+ ${CARGO_CRATE_URIS}
+ )
+"
+
+LICENSE="Apache-2.0"
+LICENSE+=" native-extensions? ("
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0"
+LICENSE+=" )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="+native-extensions"
+
+BDEPEND="
+ native-extensions? (
+ ${RUST_DEPEND}
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/fastbencode/_bencode_rs.*.so"
+
+pkg_setup() {
+ use native-extensions && rust_pkg_setup
+}
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ if ! use native-extensions; then
+ # setup.py is only used for setuptools-rust
+ rm setup.py || die
+ fi
+}
+
+src_test() {
+ mv fastbencode/tests tests || die
+ rm -r fastbencode || die
+
+ distutils-r1_src_test
+}
diff --git a/dev-python/fastbencode/files/fastbencode-0.3.1-cython-3.1.patch b/dev-python/fastbencode/files/fastbencode-0.3.1-cython-3.1.patch
deleted file mode 100644
index 7c65e47dfee8..000000000000
--- a/dev-python/fastbencode/files/fastbencode-0.3.1-cython-3.1.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 287a8ae762fd3e6d532cda7b899d08ec9859f84a Mon Sep 17 00:00:00 2001
-From: Jelmer Vernooij <jelmer@jelmer.uk>
-Date: Mon, 21 Apr 2025 12:33:50 +0000
-Subject: [PATCH] Fix compatibility with Cython 3.1. Fixes #96
-
----
- fastbencode/_bencode_pyx.pyx | 9 +++------
- 1 file changed, 3 insertions(+), 6 deletions(-)
-
-diff --git a/fastbencode/_bencode_pyx.pyx b/fastbencode/_bencode_pyx.pyx
-index 651f09f..c526b19 100644
---- a/fastbencode/_bencode_pyx.pyx
-+++ b/fastbencode/_bencode_pyx.pyx
-@@ -31,16 +31,13 @@ from cpython.bytes cimport (
- from cpython.dict cimport (
- PyDict_CheckExact,
- )
--from cpython.int cimport (
-- PyInt_CheckExact,
-- PyInt_FromString,
-- )
- from cpython.list cimport (
- PyList_CheckExact,
- PyList_Append,
- )
- from cpython.long cimport (
- PyLong_CheckExact,
-+ PyLong_FromString,
- )
- from cpython.mem cimport (
- PyMem_Free,
-@@ -165,7 +162,7 @@ cdef class Decoder:
- i = self._read_digits(c'e')
- self.tail[i] = 0
- try:
-- ret = PyInt_FromString(self.tail, NULL, 10)
-+ ret = PyLong_FromString(self.tail, NULL, 10)
- finally:
- self.tail[i] = c'e'
- D_UPDATE_TAIL(self, i+1)
-@@ -414,7 +411,7 @@ cdef class Encoder:
- try:
- if PyBytes_CheckExact(x):
- self._encode_bytes(x)
-- elif PyInt_CheckExact(x) and x.bit_length() < 32:
-+ elif PyLong_CheckExact(x) and x.bit_length() < 32:
- self._encode_int(x)
- elif PyLong_CheckExact(x):
- self._encode_long(x)
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 772ec3ba69d5..81d4b5dc3a55 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -1,10 +1,5 @@
DIST hypothesis-6.135.25.gh.tar.gz 9592222 BLAKE2B 42538cd2fa63968ea75cc42dfa92f998d50fb92e77726c8eee42e10c94ec69ea5a682e070e3c04bfe49b229cbf03e26d4ab04ac7dabe2c34f81e217ad8491f90 SHA512 bb245d38ac9f2b0aced7890cb6c7cba4ce4b98ccb8f843afe02094a63058aad63f6c7c4ad2dcaa4af753f5823544d394875049a0b56ea2d98f84db39351a7668
DIST hypothesis-6.136.0.gh.tar.gz 9596080 BLAKE2B 65acbc8ea75e6fea22d7ee1329f68426a810b8e2fa5d31b37bb191a793a21e085d79b39de304a17979eebf3edc7202e2935e8fc3abef4e05d10aba648ff74ac9 SHA512 fb1cff6f9b6f48975928550c10bf13f9fcd48e32bb9363faf9abb204bf426ff980d6480688d06648ccc0163d0235e40b6c47ff2a1c988182ab35dc87b3434dcf
-DIST hypothesis-6.136.1.gh.tar.gz 9596297 BLAKE2B d9131ab81383ca13804ed628b6a0084c63d964d9d12e91d3eaf3d94077498a4ceafac19d8dee75b95a800e134b3189b9577610b0c874dacf7c5a385ddb86f2d0 SHA512 8aef18e5a51f4a40f7dd04dcab1ba61a4dec3a9449891a1869a444cb8274e7cc71940f8412486f258ca822f74adcb3f3bee96f5ded7e464498a0fc4543b03146
-DIST hypothesis-6.136.2.gh.tar.gz 9597138 BLAKE2B 06b6d4ea1e46a65af75380e08e1de3081106972145de3bc7be92236e4c982ca8655e4aeec016d19f003bd88b9881f1f0ac87cfa5047164e361defe46259b4798 SHA512 386326b0c83192cd7c8af22c309db78d561bdbf4135cc8daf08221885b07f8f9cf535c340a217c2c807c3f963e2aa16ad9bbb443590b47da8aee69904b43daab
-DIST hypothesis-6.136.3.gh.tar.gz 9598370 BLAKE2B 8f8c06d53fa240151bcc155ffdce6992565e1ca69b334dc90ffa549e3d0fe627126eb7918342ceb542fde22510eeec58d329e7f1ef27d8bd76d5579c5c13f35e SHA512 9f29abd284eae68e888dcba65f7ead624bef56bd47401a08281ce7dbd34975d7f845d69b5f005c85dd7718538db535104b2ab7dbd9293e73b479d0ffcfdfd60c
-DIST hypothesis-6.136.4.gh.tar.gz 9598539 BLAKE2B f22f644ad9d9b308de9b1357a5977dceb2ced24987b252f291d5f7a9ea66722277b45eb4313e7ac4771d21f5aa3cd43f92a2ee0a988e0c8b994384853ba30c08 SHA512 9de1e0acfc9242ce97728adb415ee8d56afdeb194e5550fdce4140c13b29cab09f1ef7ebded14ede12e66520a86c55548f1e743315ada6dc0e5a48ba87014ac3
-DIST hypothesis-6.136.5.gh.tar.gz 9599010 BLAKE2B f97d7fbacc4ee7c9642841032e2cf76a3da9e35fe0064721d77ee8bbd29adc2a9b7c0406a55e6aa3383dc793c5679082035ed0d3d6d1e59cf6ad2f9ef0bbb7fe SHA512 0a6fea6080a9bec4123758fd145ca4e85399ab60b7ca6f7f1dd97c467af420bb353ee1159cc868c6e7ed48f667ecacb9ddb4b412c5329e90373b5f2859b02f1e
-DIST hypothesis-6.136.6.gh.tar.gz 9599136 BLAKE2B 731ecc6cce2d037ae9d0bf1e3d6b606392950e7a4d70719ce8c553e3b25a65d2c5afe8113fe8f7619504b2d5df3fa25a25e37d73fda56046250d4a6b007867ce SHA512 cb29bc9d5cf31d5d90f7c7475a1fce51e2a0d058b7ed9b3af241410a91201920286362f3620f879784c819c8b4bd2e668ab60fa1b820784ee94f0a3615bb3b73
-DIST hypothesis-6.136.7.gh.tar.gz 9599148 BLAKE2B c2acc7ada09202f22a02587f7c27b4c1f14fd2524c5005cc85a4193bfa8ed7ee9bf05756ec0fdf81123836e4088b5e18d76d3f4d02e45b7099e249af05dcc6a6 SHA512 15c1816a82eeda44f836e96d59e24128a8b160ec1c7769b44d8b23d3a1e50962c3a28be3c65bfbeedab07f8e28c2f11e8223a798ca3a0c21644b115736ac4d19
DIST hypothesis-6.136.8.gh.tar.gz 9600513 BLAKE2B 9960a384a07e49e611e5985a645a674074896a0595d5714a7fd85c05ef03f51c51defc071eda6f87ee88bca6f8cfe8cdea5cbdd338388902db7be6fcd5082610 SHA512 7e14a7b8dce15dc654d12036cd58e652de75c610310d805fbdfe4dd3e970ccf5ea80e3dd7628182d3075c5276fb1341d1ac40c1297896b7be507b05ce0140a48
+DIST hypothesis-6.136.9.gh.tar.gz 9600678 BLAKE2B 85f37b3c0476e0a65da2ba656aa60b4464e835e8234ed2ae4d9f2b4f1320b4e7627e142c943182e5e644e6c32931402078885e78bfe256afcaa61e245e9cee3d SHA512 a3c9513d8bccfee2c3aef627d588d121c1c9365073719d816a0b1f7755b0f0460c6c3711a57aeca4b7e481f90433122b6ef0f4b2f16f3337fb2e64f01bb0ae39
+DIST hypothesis-6.137.1.gh.tar.gz 9604403 BLAKE2B ea59f519a85d47803607c2ff5aa34e9eabe713897867ea643e0aa16d96872ab31a2c25ab924d819bce7bb8483cf99702441287fb586348a415b1298f84747ea3 SHA512 7b2b45906738844bc7d584b950e956814dfd75877b0a0901d9394029f8bfc3266da561d1919d964861ebec3fa66bd556c6b7e5c03931dc95d9f41ffd53cffc49
diff --git a/dev-python/hypothesis/hypothesis-6.136.1.ebuild b/dev-python/hypothesis/hypothesis-6.136.1.ebuild
deleted file mode 100644
index ac2579cbfd4d..000000000000
--- a/dev-python/hypothesis/hypothesis-6.136.1.ebuild
+++ /dev/null
@@ -1,127 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-CLI_COMPAT=( python3_{11..13} )
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-PYTHON_REQ_USE="threads(+),sqlite"
-
-inherit distutils-r1 optfeature
-
-TAG=hypothesis-python-${PV}
-MY_P=hypothesis-${TAG}
-DESCRIPTION="A library for property based testing"
-HOMEPAGE="
- https://github.com/HypothesisWorks/hypothesis/
- https://pypi.org/project/hypothesis/
-"
-SRC_URI="
- https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}/hypothesis-python"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="cli"
-
-RDEPEND="
- >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
- >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
- cli? (
- $(python_gen_cond_dep '
- dev-python/black[${PYTHON_USEDEP}]
- dev-python/click[${PYTHON_USEDEP}]
- ' "${CLI_COMPAT[@]}")
- )
-"
-BDEPEND="
- test? (
- dev-python/pexpect[${PYTHON_USEDEP}]
- >=dev-python/pytest-8[${PYTHON_USEDEP}]
- )
-"
-PDEPEND="
- dev-python/hypothesis-gentoo[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=( pytest-rerunfailures )
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_test() {
- # NB: paths need to be relative to pytest.ini,
- # i.e. start with hypothesis-python/
- local EPYTEST_DESELECT=()
- case ${EPYTHON} in
- python3.13t)
- EPYTEST_DESELECT+=(
- # TODO: missing warning
- 'hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns'
- )
- ;;
- python3.14*)
- EPYTEST_DESELECT+=(
- 'hypothesis-python/tests/cover/test_compat.py::test_resolve_fwd_refs[Foo-Union]'
- 'hypothesis-python/tests/cover/test_lookup.py::test_builds_suggests_from_type[Union]'
- hypothesis-python/tests/cover/test_attrs_inference.py::test_attrs_inference_builds
- hypothesis-python/tests/cover/test_lookup.py::test_bytestring_not_treated_as_generic_sequence
- hypothesis-python/tests/cover/test_lookup.py::test_issue_4194_regression
- hypothesis-python/tests/cover/test_lookup.py::test_resolves_forwardrefs_to_builtin_types
- hypothesis-python/tests/cover/test_lookup.py::test_specialised_collection_types
- hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_collection_as_generic
- hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_container_as_generic
- hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_contextmanager_as_generic
- hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_iterable_as_generic
- hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_reversible_as_generic
- hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_sequence_as_generic
- hypothesis-python/tests/cover/test_random_module.py::test_evil_prng_registration_nonsense
- hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns
- hypothesis-python/tests/cover/test_random_module.py::test_register_random_within_nested_function_scope
- hypothesis-python/tests/cover/test_random_module.py::test_registering_a_Random_is_idempotent
- hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_dot_access_forward_ref
- hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_forward_ref
- hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_checking_only_forward_ref_wrong_type
- hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_cheking_only_forward_ref
- )
- ;;
- esac
-
- # subtests are broken by warnings from random plugins
- local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin
- local -x HYPOTHESIS_NO_PLUGINS=1
-
- epytest -o filterwarnings= --reruns=5 \
- tests/cover tests/pytest tests/quality
-}
-
-src_install() {
- local HAD_CLI=
-
- distutils-r1_src_install
-
- if [[ ! ${HAD_CLI} ]]; then
- rm -r "${ED}/usr/bin" || die
- fi
-}
-
-python_install() {
- distutils-r1_python_install
- if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
- HAD_CLI=1
- else
- rm -r "${D}$(python_get_scriptdir)" || die
- fi
-}
-
-pkg_postinst() {
- optfeature "datetime support" dev-python/pytz
- optfeature "dateutil support" dev-python/python-dateutil
- optfeature "numpy support" dev-python/numpy
- optfeature "django support" dev-python/django dev-python/pytz
- optfeature "pandas support" dev-python/pandas
- optfeature "pytest support" dev-python/pytest
-}
diff --git a/dev-python/hypothesis/hypothesis-6.136.2.ebuild b/dev-python/hypothesis/hypothesis-6.136.2.ebuild
deleted file mode 100644
index ac2579cbfd4d..000000000000
--- a/dev-python/hypothesis/hypothesis-6.136.2.ebuild
+++ /dev/null
@@ -1,127 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-CLI_COMPAT=( python3_{11..13} )
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-PYTHON_REQ_USE="threads(+),sqlite"
-
-inherit distutils-r1 optfeature
-
-TAG=hypothesis-python-${PV}
-MY_P=hypothesis-${TAG}
-DESCRIPTION="A library for property based testing"
-HOMEPAGE="
- https://github.com/HypothesisWorks/hypothesis/
- https://pypi.org/project/hypothesis/
-"
-SRC_URI="
- https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}/hypothesis-python"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="cli"
-
-RDEPEND="
- >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
- >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
- cli? (
- $(python_gen_cond_dep '
- dev-python/black[${PYTHON_USEDEP}]
- dev-python/click[${PYTHON_USEDEP}]
- ' "${CLI_COMPAT[@]}")
- )
-"
-BDEPEND="
- test? (
- dev-python/pexpect[${PYTHON_USEDEP}]
- >=dev-python/pytest-8[${PYTHON_USEDEP}]
- )
-"
-PDEPEND="
- dev-python/hypothesis-gentoo[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=( pytest-rerunfailures )
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_test() {
- # NB: paths need to be relative to pytest.ini,
- # i.e. start with hypothesis-python/
- local EPYTEST_DESELECT=()
- case ${EPYTHON} in
- python3.13t)
- EPYTEST_DESELECT+=(
- # TODO: missing warning
- 'hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns'
- )
- ;;
- python3.14*)
- EPYTEST_DESELECT+=(
- 'hypothesis-python/tests/cover/test_compat.py::test_resolve_fwd_refs[Foo-Union]'
- 'hypothesis-python/tests/cover/test_lookup.py::test_builds_suggests_from_type[Union]'
- hypothesis-python/tests/cover/test_attrs_inference.py::test_attrs_inference_builds
- hypothesis-python/tests/cover/test_lookup.py::test_bytestring_not_treated_as_generic_sequence
- hypothesis-python/tests/cover/test_lookup.py::test_issue_4194_regression
- hypothesis-python/tests/cover/test_lookup.py::test_resolves_forwardrefs_to_builtin_types
- hypothesis-python/tests/cover/test_lookup.py::test_specialised_collection_types
- hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_collection_as_generic
- hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_container_as_generic
- hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_contextmanager_as_generic
- hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_iterable_as_generic
- hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_reversible_as_generic
- hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_sequence_as_generic
- hypothesis-python/tests/cover/test_random_module.py::test_evil_prng_registration_nonsense
- hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns
- hypothesis-python/tests/cover/test_random_module.py::test_register_random_within_nested_function_scope
- hypothesis-python/tests/cover/test_random_module.py::test_registering_a_Random_is_idempotent
- hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_dot_access_forward_ref
- hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_forward_ref
- hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_checking_only_forward_ref_wrong_type
- hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_cheking_only_forward_ref
- )
- ;;
- esac
-
- # subtests are broken by warnings from random plugins
- local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin
- local -x HYPOTHESIS_NO_PLUGINS=1
-
- epytest -o filterwarnings= --reruns=5 \
- tests/cover tests/pytest tests/quality
-}
-
-src_install() {
- local HAD_CLI=
-
- distutils-r1_src_install
-
- if [[ ! ${HAD_CLI} ]]; then
- rm -r "${ED}/usr/bin" || die
- fi
-}
-
-python_install() {
- distutils-r1_python_install
- if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
- HAD_CLI=1
- else
- rm -r "${D}$(python_get_scriptdir)" || die
- fi
-}
-
-pkg_postinst() {
- optfeature "datetime support" dev-python/pytz
- optfeature "dateutil support" dev-python/python-dateutil
- optfeature "numpy support" dev-python/numpy
- optfeature "django support" dev-python/django dev-python/pytz
- optfeature "pandas support" dev-python/pandas
- optfeature "pytest support" dev-python/pytest
-}
diff --git a/dev-python/hypothesis/hypothesis-6.136.3.ebuild b/dev-python/hypothesis/hypothesis-6.136.3.ebuild
deleted file mode 100644
index ac2579cbfd4d..000000000000
--- a/dev-python/hypothesis/hypothesis-6.136.3.ebuild
+++ /dev/null
@@ -1,127 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-CLI_COMPAT=( python3_{11..13} )
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-PYTHON_REQ_USE="threads(+),sqlite"
-
-inherit distutils-r1 optfeature
-
-TAG=hypothesis-python-${PV}
-MY_P=hypothesis-${TAG}
-DESCRIPTION="A library for property based testing"
-HOMEPAGE="
- https://github.com/HypothesisWorks/hypothesis/
- https://pypi.org/project/hypothesis/
-"
-SRC_URI="
- https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}/hypothesis-python"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="cli"
-
-RDEPEND="
- >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
- >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
- cli? (
- $(python_gen_cond_dep '
- dev-python/black[${PYTHON_USEDEP}]
- dev-python/click[${PYTHON_USEDEP}]
- ' "${CLI_COMPAT[@]}")
- )
-"
-BDEPEND="
- test? (
- dev-python/pexpect[${PYTHON_USEDEP}]
- >=dev-python/pytest-8[${PYTHON_USEDEP}]
- )
-"
-PDEPEND="
- dev-python/hypothesis-gentoo[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=( pytest-rerunfailures )
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_test() {
- # NB: paths need to be relative to pytest.ini,
- # i.e. start with hypothesis-python/
- local EPYTEST_DESELECT=()
- case ${EPYTHON} in
- python3.13t)
- EPYTEST_DESELECT+=(
- # TODO: missing warning
- 'hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns'
- )
- ;;
- python3.14*)
- EPYTEST_DESELECT+=(
- 'hypothesis-python/tests/cover/test_compat.py::test_resolve_fwd_refs[Foo-Union]'
- 'hypothesis-python/tests/cover/test_lookup.py::test_builds_suggests_from_type[Union]'
- hypothesis-python/tests/cover/test_attrs_inference.py::test_attrs_inference_builds
- hypothesis-python/tests/cover/test_lookup.py::test_bytestring_not_treated_as_generic_sequence
- hypothesis-python/tests/cover/test_lookup.py::test_issue_4194_regression
- hypothesis-python/tests/cover/test_lookup.py::test_resolves_forwardrefs_to_builtin_types
- hypothesis-python/tests/cover/test_lookup.py::test_specialised_collection_types
- hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_collection_as_generic
- hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_container_as_generic
- hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_contextmanager_as_generic
- hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_iterable_as_generic
- hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_reversible_as_generic
- hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_sequence_as_generic
- hypothesis-python/tests/cover/test_random_module.py::test_evil_prng_registration_nonsense
- hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns
- hypothesis-python/tests/cover/test_random_module.py::test_register_random_within_nested_function_scope
- hypothesis-python/tests/cover/test_random_module.py::test_registering_a_Random_is_idempotent
- hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_dot_access_forward_ref
- hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_forward_ref
- hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_checking_only_forward_ref_wrong_type
- hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_cheking_only_forward_ref
- )
- ;;
- esac
-
- # subtests are broken by warnings from random plugins
- local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin
- local -x HYPOTHESIS_NO_PLUGINS=1
-
- epytest -o filterwarnings= --reruns=5 \
- tests/cover tests/pytest tests/quality
-}
-
-src_install() {
- local HAD_CLI=
-
- distutils-r1_src_install
-
- if [[ ! ${HAD_CLI} ]]; then
- rm -r "${ED}/usr/bin" || die
- fi
-}
-
-python_install() {
- distutils-r1_python_install
- if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
- HAD_CLI=1
- else
- rm -r "${D}$(python_get_scriptdir)" || die
- fi
-}
-
-pkg_postinst() {
- optfeature "datetime support" dev-python/pytz
- optfeature "dateutil support" dev-python/python-dateutil
- optfeature "numpy support" dev-python/numpy
- optfeature "django support" dev-python/django dev-python/pytz
- optfeature "pandas support" dev-python/pandas
- optfeature "pytest support" dev-python/pytest
-}
diff --git a/dev-python/hypothesis/hypothesis-6.136.6.ebuild b/dev-python/hypothesis/hypothesis-6.136.6.ebuild
deleted file mode 100644
index 7a7443937da6..000000000000
--- a/dev-python/hypothesis/hypothesis-6.136.6.ebuild
+++ /dev/null
@@ -1,125 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-CLI_COMPAT=( python3_{11..13} )
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-PYTHON_REQ_USE="threads(+),sqlite"
-
-inherit distutils-r1 optfeature
-
-TAG=hypothesis-python-${PV}
-MY_P=hypothesis-${TAG}
-DESCRIPTION="A library for property based testing"
-HOMEPAGE="
- https://github.com/HypothesisWorks/hypothesis/
- https://pypi.org/project/hypothesis/
-"
-SRC_URI="
- https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}/hypothesis-python"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="cli"
-
-RDEPEND="
- >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
- >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
- cli? (
- $(python_gen_cond_dep '
- dev-python/black[${PYTHON_USEDEP}]
- dev-python/click[${PYTHON_USEDEP}]
- ' "${CLI_COMPAT[@]}")
- )
-"
-BDEPEND="
- test? (
- dev-python/pexpect[${PYTHON_USEDEP}]
- >=dev-python/pytest-8[${PYTHON_USEDEP}]
- )
-"
-PDEPEND="
- dev-python/hypothesis-gentoo[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGIN_LOAD_VIA_ENV=1
-EPYTEST_PLUGINS=( "${PN}" pytest-xdist )
-EPYTEST_RERUNS=5
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_test() {
- # NB: paths need to be relative to pytest.ini,
- # i.e. start with hypothesis-python/
- local EPYTEST_DESELECT=()
- 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
-
- local -x HYPOTHESIS_NO_PLUGINS=1
- epytest -o filterwarnings= tests/{cover,pytest,quality}
-}
-
-src_install() {
- local HAD_CLI=
-
- distutils-r1_src_install
-
- if [[ ! ${HAD_CLI} ]]; then
- rm -r "${ED}/usr/bin" || die
- fi
-}
-
-python_install() {
- distutils-r1_python_install
- if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
- HAD_CLI=1
- else
- rm -r "${D}$(python_get_scriptdir)" || die
- fi
-}
-
-pkg_postinst() {
- optfeature "datetime support" dev-python/pytz
- optfeature "dateutil support" dev-python/python-dateutil
- optfeature "numpy support" dev-python/numpy
- optfeature "django support" dev-python/django dev-python/pytz
- optfeature "pandas support" dev-python/pandas
- optfeature "pytest support" dev-python/pytest
-}
diff --git a/dev-python/hypothesis/hypothesis-6.136.7.ebuild b/dev-python/hypothesis/hypothesis-6.136.7.ebuild
deleted file mode 100644
index 7a7443937da6..000000000000
--- a/dev-python/hypothesis/hypothesis-6.136.7.ebuild
+++ /dev/null
@@ -1,125 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-CLI_COMPAT=( python3_{11..13} )
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-PYTHON_REQ_USE="threads(+),sqlite"
-
-inherit distutils-r1 optfeature
-
-TAG=hypothesis-python-${PV}
-MY_P=hypothesis-${TAG}
-DESCRIPTION="A library for property based testing"
-HOMEPAGE="
- https://github.com/HypothesisWorks/hypothesis/
- https://pypi.org/project/hypothesis/
-"
-SRC_URI="
- https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}/hypothesis-python"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="cli"
-
-RDEPEND="
- >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
- >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
- cli? (
- $(python_gen_cond_dep '
- dev-python/black[${PYTHON_USEDEP}]
- dev-python/click[${PYTHON_USEDEP}]
- ' "${CLI_COMPAT[@]}")
- )
-"
-BDEPEND="
- test? (
- dev-python/pexpect[${PYTHON_USEDEP}]
- >=dev-python/pytest-8[${PYTHON_USEDEP}]
- )
-"
-PDEPEND="
- dev-python/hypothesis-gentoo[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGIN_LOAD_VIA_ENV=1
-EPYTEST_PLUGINS=( "${PN}" pytest-xdist )
-EPYTEST_RERUNS=5
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_test() {
- # NB: paths need to be relative to pytest.ini,
- # i.e. start with hypothesis-python/
- local EPYTEST_DESELECT=()
- 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
-
- local -x HYPOTHESIS_NO_PLUGINS=1
- epytest -o filterwarnings= tests/{cover,pytest,quality}
-}
-
-src_install() {
- local HAD_CLI=
-
- distutils-r1_src_install
-
- if [[ ! ${HAD_CLI} ]]; then
- rm -r "${ED}/usr/bin" || die
- fi
-}
-
-python_install() {
- distutils-r1_python_install
- if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
- HAD_CLI=1
- else
- rm -r "${D}$(python_get_scriptdir)" || die
- fi
-}
-
-pkg_postinst() {
- optfeature "datetime support" dev-python/pytz
- optfeature "dateutil support" dev-python/python-dateutil
- optfeature "numpy support" dev-python/numpy
- optfeature "django support" dev-python/django dev-python/pytz
- optfeature "pandas support" dev-python/pandas
- optfeature "pytest support" dev-python/pytest
-}
diff --git a/dev-python/hypothesis/hypothesis-6.136.4.ebuild b/dev-python/hypothesis/hypothesis-6.136.9.ebuild
index 7a7443937da6..7a7443937da6 100644
--- a/dev-python/hypothesis/hypothesis-6.136.4.ebuild
+++ b/dev-python/hypothesis/hypothesis-6.136.9.ebuild
diff --git a/dev-python/hypothesis/hypothesis-6.136.5.ebuild b/dev-python/hypothesis/hypothesis-6.137.1.ebuild
index 7a7443937da6..7a7443937da6 100644
--- a/dev-python/hypothesis/hypothesis-6.136.5.ebuild
+++ b/dev-python/hypothesis/hypothesis-6.137.1.ebuild
diff --git a/dev-python/ipykernel/Manifest b/dev-python/ipykernel/Manifest
index 3d40fa4bc64a..19598490aeea 100644
--- a/dev-python/ipykernel/Manifest
+++ b/dev-python/ipykernel/Manifest
@@ -1,3 +1,4 @@
DIST ipykernel-6.29.5.tar.gz 163367 BLAKE2B ac1a48093b68a79c9b656cc3960f35ae2e28ac110b4a560b7434b853e37e505034d7822fc2d6557f03e1f82a260abba53cf53ba9dde4fc6fc468fd65fb46875a SHA512 271232ad6168ff00d6eb729bb38804f6a030b85be9bd75341b4af8ca1feb9f3c6b088eff77f4efcc503512559c93f1d78c13904089b7acb5205c4039daf0cea0
DIST ipykernel-6.30.0.tar.gz 165125 BLAKE2B 363d508e0a8bca66d8ccf26ec2806aa75e41b1a27db63366eabc64bee5e861328fcb5a0d33642d956d4f43666e1966978c5fe3fcb624ad4e43c466142d96ce72 SHA512 a5d1bd45b8e9f7fcd876a845a49c6f86cff6063ae351779f628baf9a84cc99e4012d40afea0bb4c432acc4c86d90bdeda60287aa99b48a425f5e34bd5d4fc44f
+DIST ipykernel-6.30.1.tar.gz 166260 BLAKE2B 77af93248f25479aae9082ef6e73dcab23b0724e53029a8b52fa99f217ea6482e1a2ed7e21a7b95ea88065acc8530e159d19b2a5c3b2fe5ef72c513059f2a524 SHA512 45bd9e79f3a74d3694034de3f367b913171b027e913e9f7cd1fdcfb17db09927e0ee300253ad9061d668559c5bf353bddbaf01ea52bcf5a9624a0a4a21050759
DIST ipykernel-7.0.0a1.tar.gz 169472 BLAKE2B 0377a630d16b9aa481f516e09dea4510eecb35e3dc6d69943c28048f8c6fa9bc28ff960909dd47a701981e24f412ce4e1aab60804252fe1b9e8f526e0aaefa27 SHA512 2b9b1b4e25e9d8e188008b9f11396862bdf36c4525e849f6962ce3468963b9f13ac2d20e6776fc895e51e4062a74a0da2d94fd226c4ae3c750c3a20841743d25
diff --git a/dev-python/ipykernel/ipykernel-6.30.1.ebuild b/dev-python/ipykernel/ipykernel-6.30.1.ebuild
new file mode 100644
index 000000000000..d0e3b51ea8d0
--- /dev/null
+++ b/dev-python/ipykernel/ipykernel-6.30.1.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi virtualx
+
+DESCRIPTION="IPython Kernel for Jupyter"
+HOMEPAGE="
+ https://github.com/ipython/ipykernel/
+ https://pypi.org/project/ipykernel/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/comm-0.1.1[${PYTHON_USEDEP}]
+ >=dev-python/ipython-7.23.1[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-client-8.0.0[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-core-4.12[${PYTHON_USEDEP}]
+ >=dev-python/matplotlib-inline-0.1[${PYTHON_USEDEP}]
+ >=dev-python/nest-asyncio-1.4[${PYTHON_USEDEP}]
+ >=dev-python/packaging-22[${PYTHON_USEDEP}]
+ >=dev-python/psutil-5.7[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-25[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.2[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.4.0[${PYTHON_USEDEP}]
+"
+# RDEPEND seems specifically needed in BDEPEND, at least jupyter
+# bug #816486
+# pytest-8 runs a small subset of tests, we allow newer for 3.13
+# since a few tests are better than skipping entirely
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/ipyparallel[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( flaky pytest-{asyncio,timeout} )
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # TODO
+ tests/test_debugger.py::test_attach_debug
+ tests/test_debugger.py::test_breakpoint_in_cell_with_leading_empty_lines
+ tests/test_debugger.py::test_rich_inspect_at_breakpoint
+ tests/test_debugger.py::test_rich_inspect_not_at_breakpoint
+ tests/test_debugger.py::test_set_breakpoints
+ tests/test_debugger.py::test_stop_on_breakpoint
+ tests/test_debugger.py::test_copy_to_globals
+ # hangs?
+ tests/test_eventloop.py::test_tk_loop
+ # doesn't like pyside2?
+ tests/test_eventloop.py::test_qt_enable_gui
+)
+
+src_prepare() {
+ # debugpy is actually optional
+ sed -i -e '/debugpy/d' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ # Use python3 in kernel.json configuration, bug #784764
+ sed -i -e '/python3.[0-9]\+/s//python3/' \
+ "${BUILD_DIR}/install${EPREFIX}/usr/share/jupyter/kernels/python3/kernel.json" || die
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
diff --git a/dev-python/pycares/Manifest b/dev-python/pycares/Manifest
index 7ad8f87303fb..88de8eda5d93 100644
--- a/dev-python/pycares/Manifest
+++ b/dev-python/pycares/Manifest
@@ -1 +1,2 @@
+DIST pycares-4.10.0.tar.gz 654318 BLAKE2B fc5d9315d26f5b55150d0fc623775ecbc0fabf4f0c0bdee1cdda6828d674a95c78bb804e26a48591ffb2aba1bffe0d0fd798a8032dcd04731c277fc87b6f59cd SHA512 e4f21c2fa08142f46fccb18f3ff1de106b567daba565375e2ef58e819a56a98a2950f9a396b19092a3b720269e7112509698c325d51ad52fd49d84c4e84d7ba5
DIST pycares-4.9.0.tar.gz 655365 BLAKE2B c30ccd57f31dbaad4dc7689ca4997dc909363a175a33d672e3e9167573c9c7935eb002d2d0ff97aa2f90ccd6ed76b8d1f2a82b17c26378db08422764b6e936ba SHA512 3be5aa36fbfbc47e54f7b41e14ef951bdb1528a60f51a11ef7d010da2ef9ca2830f89d277063788c44468f27fb4d875ce472729106cf1c0bb32000727d2841b7
diff --git a/dev-python/pycares/pycares-4.10.0.ebuild b/dev-python/pycares/pycares-4.10.0.ebuild
new file mode 100644
index 000000000000..f696aefe2e4a
--- /dev/null
+++ b/dev-python/pycares/pycares-4.10.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python interface for c-ares"
+HOMEPAGE="
+ https://github.com/saghul/pycares/
+ https://pypi.org/project/pycares/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test"
+# Tests fail with network-sandbox, since they try to resolve google.com
+PROPERTIES="test_network"
+RESTRICT="test"
+
+DEPEND="
+ net-dns/c-ares:=
+"
+BDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/cffi[${PYTHON_USEDEP}]
+ ' 'python*')
+"
+RDEPEND="
+ dev-python/idna[${PYTHON_USEDEP}]
+ ${DEPEND}
+ ${BDEPEND}
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+export PYCARES_USE_SYSTEM_LIB=1
diff --git a/dev-python/pydantic-core/Manifest b/dev-python/pydantic-core/Manifest
index 5b98376b57ee..4608195e9d4e 100644
--- a/dev-python/pydantic-core/Manifest
+++ b/dev-python/pydantic-core/Manifest
@@ -53,6 +53,7 @@ DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa
DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434
DIST pydantic_core-2.33.2.tar.gz 435195 BLAKE2B 8ac251da2eb8b9f4e54a55ca79945f18d5a229c76386b6076bc3c7e33f2a18f4e47b430afc952b4b19e48d3d5bb8d7b8ad1aca012a8b0707445c06c00a649a0a SHA512 253609ca32aa0a1f0e15271982494832e02f2b4e072439d9a9372ead3d914edf60d6ab50e38bbeea17c233eb20a938948631e1c704bc31785d7e81442d043893
DIST pydantic_core-2.37.2.tar.gz 443903 BLAKE2B 01aacc0d23a3ae8db396c6bb4bc2b0da02d4df2a2ef498a0a644a427dabd4f2fec5e2a1ff325fe41fc9484182b5b1b22bf2682ca41ff49edcd99e75f6103cb74 SHA512 7fd9a47079d101633d56e781a627d6a99c6a2a362332b89d30fd6e773004776783fd7cf2154206c9df748c94d52747a18b548e2771dd113aeeabf18262cc27bf
+DIST pydantic_core-2.38.0.tar.gz 445460 BLAKE2B 1d19f345b12dcc20f5ce6a8970cef950c6e7a571094cbae4c448c9d00548f5e2c378fd2aa9cbafcb1638540a8d3aebe3bf441319a5001aefb719b11a05c7c817 SHA512 6694f7d139a82fac19a599ec0614bcb5c2477a5eda6c2c4db3c7640f9846a36bd1a8383e9922c04e7651bec428f678859d5c9a770b331961b484af6e44e53ebc
DIST pyo3-0.24.1.crate 1113050 BLAKE2B 5a203f8c845b08b40ed64561d385d2e4134a38916723ef6b0b4be8f44fa9de594c4eca138c318ad83a156f66273b20b55acb19897dca3eba5d479e6333be815e SHA512 6c2a8f9d554a3cf151a796ee20610b596ebdbf9e642d6b2ddc35d0142841d7be51e739ddef4332cfa8c4625c972d9705eae5f694b4d8907882bec4add7c6c6ed
DIST pyo3-0.25.1.crate 1121993 BLAKE2B 79a982131fc4c4f9292e97bc8d938d236ee9cefb99bb90646a84703660ad506aee8ae1f1e626d985aa62c695722510f2697544581fa5c3a01f193be2bc2779fe SHA512 9c842c89d274dba0c8a3085a8524736245d65f07e5c05bc13fc89167cfdeb1a4ff2b4a9da9467eee918e45d01777473f39bda11efe0052859969d4fdeac1adc6
DIST pyo3-build-config-0.24.1.crate 34020 BLAKE2B 34ed5a2385de138fde0308439c5fcd8a92a48b215b41799838d5b3106b0845f70023ccd97d60c39cea4729cd8bd850e1ef4e372ac332a06037dc5dd574b09834 SHA512 6008f6737685882b2fd958fcc5f171c0ddc10520631904ca759f857117241dc0a648d4cf30d9a84483662bfbc435eccc3deed9981f98b88016b12a5944ae3ff7
@@ -78,16 +79,20 @@ DIST serde-1.0.219.crate 78983 BLAKE2B 7e9542a04c7f1aeff95b821245034368ff1721d98
DIST serde_derive-1.0.218.crate 57782 BLAKE2B b2244847b41f1aa396352bcea886d6a28d13ede23ae6ceb813143849cc107b3fe0cf054687d9f35bbb9db4e95c619422d9710532fcfffff291280cbe3649a433 SHA512 e89c076b0aa22ad74010f5b6a60397b9b78b59ca50a9660b29ceb1fd608cab820c47e787e450da306062c0cea1ade7142a7d4626a77aa0ae486096c130442cde
DIST serde_derive-1.0.219.crate 57798 BLAKE2B 071f02019f829a2753769ce915d11df8f0d202ca67314fe83b42e1f1f3d07bc91b7e7c38fe498a0513714f80d3a3dbf2b447b1f85762de06dd021119801afa89 SHA512 1676bbf09e11273705a35c540d52d35d1bba7cdf1f347d40a364d7ae9269167f9f0f62ff4fa384aaa613c83e432a8eb3c016587ea643bb11434c00664a5c116b
DIST serde_json-1.0.140.crate 154852 BLAKE2B 733aecfb88fc37de37b60fdd33a45fecc2bf0ac2165b81bdb12665de7e26633836160e927be5d538eb2056a799e85ca4a1008cbd30af23b72a594643c6015f22 SHA512 bafa26fd43ba30cbf73572b8203292b1f275995636e9dfc3d47954939453fe4ecf0c60f25d2af1ec16c7cb0e7ce3b96cc07507d1b53b7db566fe7cb2624f0e12
+DIST serde_json-1.0.142.crate 155363 BLAKE2B e4bea16f092dd38d09d0bd8bb8f375bbab7fbf22c567c19222243bfa181f8103fec872b13552ac5927741146b9dd7d1a1719f84ecf317d7aba258250f5fc46d8 SHA512 dc4dbfd356e7cf3bd82dc463dcae7a563be2146dae22230fc2586e3481a4e5f59314b7b00345da6d9ced2b15557acbe1380b127144c70cb708291f72a19a7ab0
DIST smallvec-1.14.0.crate 35561 BLAKE2B aa8ee61800a6d13eda5acb4e9dc03543160849479a96a72c50ab38013b23e9593a665773b455a09777038edd436d7a35b501f6d4a0e16ff49544be60345a1e50 SHA512 90de38f208f551cdbf4980fda2314dee57d4e2bbf769a01c47bc849189e9243474932052faa92fe0ca59ecc9c5d1ed84091ef87f724343d38ebbbf710ba232be
DIST smallvec-1.15.1.crate 38116 BLAKE2B 8dd779d7726694672945e928399e0459f4973d284a6c2d664c2fc757ebb1177658f47c812d9800e982479cbd7413fd4283c64a4d248ba5cff6397f96b758676e SHA512 c26b097a063353beedfcc921129cd0fb838c1c9420218993a05b2655b47b6ec16f11e0054312018658b4abd893beee140c5d2739401a5e5aea2e64575f237047
DIST speedate-0.15.0.crate 33698 BLAKE2B 81a1c87bfeaab44aeb6f7a813275b139b26a618af4b24d3018e866a2855eca897144c863a2dfabec20912046fe17a60749c41ce8cee45450137440cda5d7d934 SHA512 2c3a210e06e3960e2dd24f696e27141f00b186d5ea58272f1ac11ba455d4467459fdb076a65766c2fb242163299aea08f692e86553fe4edccf2e9714f9a9303e
DIST speedate-0.16.0.crate 39704 BLAKE2B 15d7494f5492ed4851b33938368986170f695fe8e48efdd5f968ae62c5391f0bd3fc2e2e64a69c05f46200983f1d204cbb9d36e51bb67722e5fb87ce6639cbd2 SHA512 21c44d8066aeb6fa3824fe623c089ad9848e6fc9a965345727a9cfe87c6efcfbc714b7e594b4fe9e7d82e045ca77e4f569b67fc3e2121f6d55217bb1e16e737c
+DIST speedate-0.17.0.crate 40124 BLAKE2B 665d5adb431bb8dd56405354e64d8769d1582bb10f22c1d85897a745f37f07ce7166137f0003221f1948a5481a1e1667ad548be6dc7b0b60ed4db4a5069a9b69 SHA512 d24dafd1be59c99118bf73369dbf5fe4fd6d0a3b4d09d59d00019e66e9e1300f0089a04f48191c1fb7b1890b7ef575baf0a8f07d487d0bbf537c0d8e87328e1c
DIST stable_deref_trait-1.2.0.crate 8054 BLAKE2B 287a65c3e5b47213544a43e57c60a54add60b4c2e3c8d042407d860cc950ba7ca01a2e67ce56aed6744992b61ec1f9aed3321e3d88482e33129548b7d51df205 SHA512 a13cfb22723f1f2cf089b2d07d657846f50c37bc0438d1a76096bea30214cad226b7a422c21f9e191ce87071da8a141d61882aedf9e0203a5fffdfda86a5fb03
DIST static_assertions-1.1.0.crate 18480 BLAKE2B 358dd5ac413d06f62da0388e2016c5fcb8ec68fd7dceb0dbbcb97665c032b7509b7e083c20701648b6a9174485f117c02682ae4bde7ef037e80a85cdf6a0c86e SHA512 46d0e35f77941dee6f60f574c130472248063dc38494c1c4f84f7c048244cc2a58a86fe17c0990e3f0f01406b75ed385a13d00058612b27cf0e867c8d31c92ee
DIST strum-0.26.3.crate 7237 BLAKE2B bdc348c718c39609c00b9fa7d47b7090b1467022b7a8a28cc7c8a72a0aef20569c6ab22a8a8d26c2d9272f18d000e4ce94858a6647194f0a7b86d812d52b05a9 SHA512 62f116d5bbc6167a6ac68b049f8045bc660901f1ce1252f8bdcd91cb28bef821aad8098905369db6c2fe74c134a5d549e55ddd28e383d7d78f7175258924b268
DIST strum-0.27.1.crate 7467 BLAKE2B b577a85f5d4151fc73148a72697fc004a7f8a964866c9773d62a2f92356c1ca205ee323a1e9353e4bf2c2e4dd71983026e311cdd4a5fc0a918aef57fc76705c8 SHA512 0ba8eafe76c0cb659500c73a7e402ec677bd07264ca6f6179d66b90e5f9193ef420957faa4aa70cdd7fcf69565dfb4f7940731e555cad6cadbe2e4c7d3016465
+DIST strum-0.27.2.crate 8489 BLAKE2B 9931a92e30d058cac6feb1919558d33c9901d401bd0bd17193b19e775471aa3b63313861df6211fc9c7323a2553957604e82ee828fa39c2083be1f088a7d1621 SHA512 3ebb77220243b0e101ab65159512ca44c7e4a13a0d842a9356484fd5fd9a34afb5b0d230992b3bdf2e2c997833cabc8679e13e3949925b321c4f807e293d0371
DIST strum_macros-0.26.4.crate 27531 BLAKE2B 7f7d57c957a1591054288fcae6590a5e669fba1b47d8f1a52371ce60fd84f91fdb430e48cc7edbb5fc72914be5ce12af29758b653680da3f4177339b31206750 SHA512 77a17ce47d5e8fe8a89cb6aa6c3ca5d5c2625aea0f93456f05a9994238cd3b08b3f7c6a45e9b3db21bca8fb5759f505f15cc111ac84acbbb34d59cdae8307b0b
DIST strum_macros-0.27.1.crate 29670 BLAKE2B 121560118a194029b32584467305902470b83d768d33f166cf67994f33a9780cf1bff25f2199c2aa50a79362501a6cb40ca45c01cdd6c335fab1ebfadd666b4e SHA512 b071fee5d7530bf1ecd31b635a61858921c04dc10906bf57caa38a162a0e2ed726c2f72262081ceadb80c03c38adf235dbdda604dfcf3d439c5fe5a73a08d0f0
+DIST strum_macros-0.27.2.crate 30522 BLAKE2B c70e2f27074e04b796f2b0e1a1856e95fa7716d847789f66b27d8457efda0569826e6d3cea51621615709674b6f800cbe877498c55be5286efc0222fe7179686 SHA512 fa1a2d63cc18d9947e3bbe65777dca621a06814f48d09cea0679b09271559867bff23a95690858639e3e26fde5a252ee7548c75240b13acd907001a1e38a0ed6
DIST syn-2.0.82.crate 272300 BLAKE2B 2982faee84539879f87ad34a426027b4b9117dea9ebc2249517070c98495f85f4c04017898705f256161f1fef1c450dd494b6044cfb91fe916fbae1e2ae51752 SHA512 b1e90fc37a68998e4708ba5c68581feeb88d73ce56b73e6c87f1341ddba04cb6afd43ebf83abecee94c03b2bf9df5b0dd9dfad32d7914e82ddf6c50cab81267d
DIST synstructure-0.13.1.crate 18327 BLAKE2B b29ee88c559a2d58fa46b7af155b448f001649ea79a1898f0ac87e69108b87c65cbd287d8f9001f360df7fef06ff39c937b48d33e487a30c8eec6a46c639c0c2 SHA512 09024193b44fc9a8901bda845b9f86c57dad65d0f53e309b2e7e968538fab6f67db1c86e5e52a2eb8fd116dc073e3ad10983bd60764662ec6ba94fee22a958aa
DIST tap-1.0.1.crate 11316 BLAKE2B 60786fd5f12c2f06097330c26809fdcfce62716586d2e1985f8c01406d356ed0ab730a04dfe72ee3e1d6208a53c76c66883d45a76130750b41ba5b82aa721b83 SHA512 d69ff11a46e2fbc276212511878f48eb93640c0b147df6578ea057b23625f9366a7fc3926693fc3809688537af5ca919c91605beed364decf83c35a032310995
diff --git a/dev-python/pydantic-core/pydantic-core-2.38.0.ebuild b/dev-python/pydantic-core/pydantic-core-2.38.0.ebuild
new file mode 100644
index 000000000000..7eac83492aed
--- /dev/null
+++ b/dev-python/pydantic-core/pydantic-core-2.38.0.ebuild
@@ -0,0 +1,171 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+CRATES="
+ ahash@0.8.12
+ aho-corasick@1.1.3
+ autocfg@1.3.0
+ base64@0.22.1
+ bitflags@2.9.1
+ bitvec@1.0.1
+ bumpalo@3.19.0
+ cc@1.0.101
+ cfg-if@1.0.0
+ displaydoc@0.2.5
+ enum_dispatch@0.3.13
+ form_urlencoded@1.2.1
+ funty@2.0.0
+ getrandom@0.3.3
+ heck@0.5.0
+ hex@0.4.3
+ icu_collections@1.5.0
+ icu_locid@1.5.0
+ icu_locid_transform@1.5.0
+ icu_locid_transform_data@1.5.0
+ icu_normalizer@1.5.0
+ icu_normalizer_data@1.5.0
+ icu_properties@1.5.1
+ icu_properties_data@1.5.0
+ icu_provider@1.5.0
+ icu_provider_macros@1.5.0
+ idna@1.0.3
+ idna_adapter@1.2.0
+ indoc@2.0.5
+ itoa@1.0.11
+ jiter@0.10.0
+ js-sys@0.3.77
+ lexical-parse-float@1.0.5
+ lexical-parse-integer@1.0.5
+ lexical-util@1.0.6
+ libc@0.2.155
+ litemap@0.7.3
+ log@0.4.27
+ memchr@2.7.4
+ memoffset@0.9.1
+ num-bigint@0.4.6
+ num-integer@0.1.46
+ num-traits@0.2.19
+ once_cell@1.19.0
+ percent-encoding@2.3.1
+ portable-atomic@1.6.0
+ proc-macro2@1.0.86
+ pyo3-build-config@0.25.1
+ pyo3-ffi@0.25.1
+ pyo3-macros-backend@0.25.1
+ pyo3-macros@0.25.1
+ pyo3@0.25.1
+ python3-dll-a@0.2.14
+ quote@1.0.36
+ r-efi@5.2.0
+ radium@0.7.0
+ regex-automata@0.4.8
+ regex-syntax@0.8.5
+ regex@1.11.1
+ rustversion@1.0.17
+ ryu@1.0.18
+ serde@1.0.219
+ serde_derive@1.0.219
+ serde_json@1.0.142
+ smallvec@1.15.1
+ speedate@0.17.0
+ stable_deref_trait@1.2.0
+ static_assertions@1.1.0
+ strum@0.27.2
+ strum_macros@0.27.2
+ syn@2.0.82
+ synstructure@0.13.1
+ tap@1.0.1
+ target-lexicon@0.13.2
+ tinystr@0.7.6
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ url@2.5.4
+ utf16_iter@1.0.5
+ utf8_iter@1.0.4
+ uuid@1.17.0
+ version_check@0.9.5
+ wasi@0.14.2+wasi-0.2.4
+ wasm-bindgen-backend@0.2.100
+ wasm-bindgen-macro-support@0.2.100
+ wasm-bindgen-macro@0.2.100
+ wasm-bindgen-shared@0.2.100
+ wasm-bindgen@0.2.100
+ wit-bindgen-rt@0.39.0
+ write16@1.0.0
+ writeable@0.5.5
+ wyz@0.5.1
+ yoke-derive@0.7.4
+ yoke@0.7.4
+ zerocopy-derive@0.8.25
+ zerocopy@0.8.25
+ zerofrom-derive@0.1.4
+ zerofrom@0.1.4
+ zerovec-derive@0.10.3
+ zerovec@0.10.4
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Core validation logic for pydantic written in Rust"
+HOMEPAGE="
+ https://github.com/pydantic/pydantic-core/
+ https://pypi.org/project/pydantic_core/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0 Unicode-DFS-2016
+ || ( Apache-2.0 Boost-1.0 )
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.14.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.63.0[${PYTHON_USEDEP}]
+ >=dev-python/inline-snapshot-0.13.3[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-1.10.4[${PYTHON_USEDEP}]
+ >=dev-python/typing-inspection-0.4.1[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{mock,timeout} )
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ sed -i -e '/--benchmark/d' pyproject.toml || die
+ sed -i -e '/^strip/d' Cargo.toml || die
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ tests/benchmarks
+ )
+ local EPYTEST_DESELECT=(
+ # TODO: recursion till segfault
+ tests/serializers/test_functions.py::test_recursive_call
+ )
+
+ rm -rf pydantic_core || die
+ # tests link to libpython, so they fail to link on pypy3
+ [[ ${EPYTHON} != pypy3* ]] && cargo_src_test
+ epytest -o xfail_strict=False -o addopts=
+}
diff --git a/dev-python/pyqt-builder/pyqt-builder-1.18.2.ebuild b/dev-python/pyqt-builder/pyqt-builder-1.18.2.ebuild
index c84dfb5b713a..96e74f63338e 100644
--- a/dev-python/pyqt-builder/pyqt-builder-1.18.2.ebuild
+++ b/dev-python/pyqt-builder/pyqt-builder-1.18.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
DESCRIPTION="The PEP 517 compliant PyQt build system"
diff --git a/dev-python/pyqt5-sip/pyqt5-sip-12.17.0.ebuild b/dev-python/pyqt5-sip/pyqt5-sip-12.17.0.ebuild
index ee3af7ba4eea..a36534ce371e 100644
--- a/dev-python/pyqt5-sip/pyqt5-sip-12.17.0.ebuild
+++ b/dev-python/pyqt5-sip/pyqt5-sip-12.17.0.ebuild
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
# keep compat in sync with pyqt5 or else it confuses some revdeps
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
DESCRIPTION="sip extension module for PyQt5"
diff --git a/dev-python/pyqt5/metadata.xml b/dev-python/pyqt5/metadata.xml
index fb1fa528c594..540bca7744f9 100644
--- a/dev-python/pyqt5/metadata.xml
+++ b/dev-python/pyqt5/metadata.xml
@@ -28,7 +28,6 @@
<flag name="sql">Build bindings for the QtSql module</flag>
<flag name="svg">Build bindings for the QtSvg module</flag>
<flag name="testlib">Build bindings for the QtTest module</flag>
- <flag name="webchannel">Build bindings for the QtWebChannel module</flag>
<flag name="websockets">Build bindings for the QtWebSockets module</flag>
<flag name="widgets">Build bindings for the QtWidgets module</flag>
<flag name="x11extras">Build bindings for the QtX11Extras module</flag>
diff --git a/dev-python/pyqt5/pyqt5-5.15.11.ebuild b/dev-python/pyqt5/pyqt5-5.15.11.ebuild
index f25cfd7f6fb6..bf5fc73f09c5 100644
--- a/dev-python/pyqt5/pyqt5-5.15.11.ebuild
+++ b/dev-python/pyqt5/pyqt5-5.15.11.ebuild
@@ -7,8 +7,7 @@ DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=sip
PYPI_NO_NORMALIZE=1
PYPI_PN=PyQt5
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 flag-o-matic multiprocessing pypi qmake-utils
DESCRIPTION="Python bindings for the Qt framework"
@@ -21,7 +20,7 @@ KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86"
IUSE="
dbus debug declarative designer examples gles2-only gui help multimedia
network opengl printsupport serialport speech sql +ssl svg testlib
- webchannel websockets widgets x11extras xmlpatterns
+ websockets widgets x11extras xmlpatterns
"
# The requirements below were extracted from the qmake_QT declarations
@@ -37,7 +36,6 @@ REQUIRED_USE="
sql? ( widgets )
svg? ( gui widgets )
testlib? ( widgets )
- webchannel? ( network )
websockets? ( network )
widgets? ( gui )
xmlpatterns? ( network )
@@ -67,7 +65,6 @@ DEPEND="
sql? ( >=dev-qt/qtsql-${QT_PV} )
svg? ( >=dev-qt/qtsvg-${QT_PV} )
testlib? ( >=dev-qt/qttest-${QT_PV} )
- webchannel? ( >=dev-qt/qtwebchannel-${QT_PV} )
websockets? ( >=dev-qt/qtwebsockets-${QT_PV} )
widgets? ( >=dev-qt/qtwidgets-${QT_PV} )
x11extras? ( >=dev-qt/qtx11extras-${QT_PV} )
@@ -134,7 +131,6 @@ python_configure_all() {
$(pyqt_use_enable sql QtSql)
$(pyqt_use_enable svg QtSvg)
$(pyqt_use_enable testlib QtTest)
- $(pyqt_use_enable webchannel QtWebChannel)
$(pyqt_use_enable websockets QtWebSockets)
$(pyqt_use_enable widgets QtWidgets)
$(pyqt_use_enable x11extras QtX11Extras)
@@ -146,6 +142,7 @@ python_configure_all() {
--disable=QtLocation
--disable=QtPositioning
--disable=QtSensors
+ --disable=QtWebChannel
$(usev debug '--debug --qml-debug --tracing')
diff --git a/dev-python/pyqt6-sip/pyqt6-sip-13.10.2.ebuild b/dev-python/pyqt6-sip/pyqt6-sip-13.10.2.ebuild
index ec6b5ca54f86..c046ca25708d 100644
--- a/dev-python/pyqt6-sip/pyqt6-sip-13.10.2.ebuild
+++ b/dev-python/pyqt6-sip/pyqt6-sip-13.10.2.ebuild
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
# keep compat in sync with pyqt6 or else it confuses some revdeps
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
DESCRIPTION="sip module support for PyQt6"
diff --git a/dev-python/pyqt6-webengine/Manifest b/dev-python/pyqt6-webengine/Manifest
index a0620fb74845..715b7fed03ed 100644
--- a/dev-python/pyqt6-webengine/Manifest
+++ b/dev-python/pyqt6-webengine/Manifest
@@ -1,2 +1 @@
-DIST PyQt6_WebEngine-6.8.0.tar.gz 34203 BLAKE2B eeec38d0804039fa4d80d9c621457e18c4ae7831f351401b552191f3db8899102a4396164a1df89597460a9d6591a5d885b1bd813f226094c853aedb0918e3c4 SHA512 f48575829ccf9350ec6e743f2185975706c149dd37b8fbdf5c76bb65f606084b3d3c732ce39bfd35317d1e65659d5ec6e77b489a83c43971b5b3b3ce278bd8dc
DIST pyqt6_webengine-6.9.0.tar.gz 34616 BLAKE2B ce6143b16e60ad133c827996f03b310008b025f616739d4c7949dc8916513dfd24bcb44d269465a1bffe1a608728f77d381a15363d3761815d54622ab7490a33 SHA512 3e84439fa7f2ab1c231eac556545968d37e7bef30779d09376eedb5861ab47f9a83e72c8834fbfa4aef27a61e4ff2d797615e3f80362bcd1613954d27af8c6a8
diff --git a/dev-python/pyqt6-webengine/pyqt6-webengine-6.8.0.ebuild b/dev-python/pyqt6-webengine/pyqt6-webengine-6.8.0.ebuild
deleted file mode 100644
index 1687c5d01778..000000000000
--- a/dev-python/pyqt6-webengine/pyqt6-webengine-6.8.0.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 2022-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=sip
-PYPI_NO_NORMALIZE=1
-PYPI_PN=PyQt6_WebEngine
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-inherit distutils-r1 flag-o-matic multiprocessing pypi qmake-utils
-
-QT_PV=$(ver_cut 1-2):6
-
-DESCRIPTION="Python bindings for QtWebEngine"
-HOMEPAGE="https://www.riverbankcomputing.com/software/pyqtwebengine/"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 arm64"
-IUSE="debug quick +widgets"
-
-RDEPEND="
- >=dev-python/pyqt6-${QT_PV%:*}[gui,ssl,webchannel,${PYTHON_USEDEP}]
- >=dev-qt/qtbase-${QT_PV}[gui,widgets?]
- >=dev-qt/qtwebengine-${QT_PV}[widgets]
- quick? (
- dev-python/pyqt6[qml]
- >=dev-qt/qtwebengine-${QT_PV}[qml]
- )
- widgets? ( dev-python/pyqt6[network,printsupport,widgets] )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- >=dev-python/pyqt-builder-1.17[${PYTHON_USEDEP}]
- >=dev-python/sip-6.9[${PYTHON_USEDEP}]
- >=dev-qt/qtbase-${QT_PV}
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-qvariant.patch
-)
-
-src_prepare() {
- default
-
- # hack: PyQt-builder runs qmake without our arguments and calls g++
- # or clang++ depending on what qtbase was built with, not used for
- # building but fails with -native-symlinks
- mkdir "${T}"/cxx || die
- local cxx
- ! cxx=$(type -P "${CHOST}"-g++) || ln -s -- "${cxx}" "${T}"/cxx/g++ || die
- ! cxx=$(type -P "${CHOST}"-clang++) || ln -s -- "${cxx}" "${T}"/cxx/clang++ || die
- PATH=${T}/cxx:${PATH}
-}
-
-python_configure_all() {
- append-cxxflags -std=c++17 # for old gcc / clang that use <17 (bug #892331)
- append-cxxflags ${CPPFLAGS} # respect CPPFLAGS notably for DISTUTILS_EXT=1
-
- DISTUTILS_ARGS=(
- --jobs="$(makeopts_jobs)"
- --qmake="$(qt6_get_bindir)"/qmake
- --qmake-setting="$(qt6_get_qmake_args)"
- --verbose
-
- --enable=QtWebEngineCore
- $(usex quick --{enable,disable}=QtWebEngineQuick)
- $(usex widgets --{enable,disable}=QtWebEngineWidgets)
-
- $(usev debug '--debug --qml-debug --tracing')
- )
-}
diff --git a/dev-python/pyqt6-webengine/pyqt6-webengine-6.9.0.ebuild b/dev-python/pyqt6-webengine/pyqt6-webengine-6.9.0.ebuild
index 0b48dba6437a..2267836389a2 100644
--- a/dev-python/pyqt6-webengine/pyqt6-webengine-6.9.0.ebuild
+++ b/dev-python/pyqt6-webengine/pyqt6-webengine-6.9.0.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=sip
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 flag-o-matic multiprocessing pypi qmake-utils
QT_PV=$(ver_cut 1-2):6
diff --git a/dev-python/pyqt6/pyqt6-6.9.1.ebuild b/dev-python/pyqt6/pyqt6-6.9.1.ebuild
index 3699f57c63ed..aeda0ab64efe 100644
--- a/dev-python/pyqt6/pyqt6-6.9.1.ebuild
+++ b/dev-python/pyqt6/pyqt6-6.9.1.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=sip
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 flag-o-matic multiprocessing pypi qmake-utils
# can work with older Qt depending on the features the ebuild enables,
diff --git a/dev-python/python-gnupg/Manifest b/dev-python/python-gnupg/Manifest
index 303aca3aec68..81322ae2b872 100644
--- a/dev-python/python-gnupg/Manifest
+++ b/dev-python/python-gnupg/Manifest
@@ -1,2 +1,4 @@
DIST python-gnupg-0.5.4.tar.gz 65705 BLAKE2B bbafc21296e0b16043e470cbee28832ceb403519bdfa3be0c887c2e0fd4ec702ab1ce6ec8e870f5aa25c87191ff8dbccdcfdae129d1aa7a6ea40ae3275699c07 SHA512 7136c423d388f0b7e77c55272be4b80a273468e02b576753183ae93ebe82182143662ee92c264982c3ad62d8465da49800706af76c400af578341d2b8bc0008f
DIST python-gnupg-0.5.4.tar.gz.asc 801 BLAKE2B 1f57f8443e5c37ea6ebdf137763cd67bd7d2651d6572cc740d606df317bc87baf27638989e2b83140c28fd16804ae036854bdac687ed147d2f368c603181caba SHA512 5f62119ddbff351f6fdab01533f54c8312a01eaf2d08358a9b54e8208ca2eb9d8ab67411da0ce8cee584691f4ea50a70786dcad2af2486386fedbf7631c70955
+DIST python-gnupg-0.5.5.tar.gz 66467 BLAKE2B a7c0ba9d146d10c35d90c3fe4de51599cdeee47411f8d39bdd2b7a3986aa3d638c2243bad0359ab0767a29e03421341fca9197590b8a478ed33c78969ae8f4bc SHA512 fd2012f644bb03566a9478256eb8df1024672a83fd94b3dada9ce47dcb56b71674aa7900e603ef487731d583c78fd677b56b56aac12c78d3594f893ba3fa53f5
+DIST python-gnupg-0.5.5.tar.gz.asc 801 BLAKE2B 3995ab8ed912a12f8d333cd7a02ca29fc7195cf4b19fa3676d89c83961ee6a9d85d5b4ff79542a3e9f6a761414e7c6b64fcc97c69fb960fea48e66956193eeb8 SHA512 8a5cd5019a17dd34a8e48567736fa3282efb1e279a30d85c9e14a6862a7719ec15ea05349488cc45f604ad7e27223b143e30f9d1c91ac53d62fd8abf3d22ae53
diff --git a/dev-python/python-gnupg/python-gnupg-0.5.5.ebuild b/dev-python/python-gnupg/python-gnupg-0.5.5.ebuild
new file mode 100644
index 000000000000..f0fb11355910
--- /dev/null
+++ b/dev-python/python-gnupg/python-gnupg-0.5.5.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 verify-sig
+
+DESCRIPTION="A Python wrapper for GnuPG"
+HOMEPAGE="
+ https://docs.red-dove.com/python-gnupg/
+ https://github.com/vsajip/python-gnupg/
+ https://pypi.org/project/python-gnupg/
+"
+SRC_URI="
+ https://github.com/vsajip/python-gnupg/releases/download/${PV}/${P}.tar.gz
+ verify-sig? (
+ https://github.com/vsajip/python-gnupg/releases/download/${PV}/${P}.tar.gz.asc
+ )
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+# Need gnupg[nls] for avoiding decode errors and possible hangs
+# w/ e.g. sec-keys/openpgp-keys-gentoo-developers but other pkgs too.
+DEPEND="
+ app-crypt/gnupg[nls]
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ verify-sig? ( sec-keys/openpgp-keys-vinaysajip )
+"
+
+distutils_enable_tests unittest
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/vinaysajip.asc
+
+python_test() {
+ # NO_EXTERNAL_TESTS must be enabled,
+ # to disable tests needing Internet access.
+ NO_EXTERNAL_TESTS=1 eunittest
+}
diff --git a/dev-python/python-tests/python-tests-3.13.5_p1.ebuild b/dev-python/python-tests/python-tests-3.13.5_p1.ebuild
index 6ec6bb7f3ef5..73ebf647088b 100644
--- a/dev-python/python-tests/python-tests-3.13.5_p1.ebuild
+++ b/dev-python/python-tests/python-tests-3.13.5_p1.ebuild
@@ -28,7 +28,7 @@ S="${WORKDIR}/${MY_P}/Lib"
LICENSE="PSF-2"
SLOT="${PYVER}"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
# enable by default to help CI handle it (we have no additional deps)
IUSE="+python_targets_${PYTHON_COMPAT[0]}"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
diff --git a/dev-python/pywavelets/Manifest b/dev-python/pywavelets/Manifest
index 00b02aab8044..e8100acd318d 100644
--- a/dev-python/pywavelets/Manifest
+++ b/dev-python/pywavelets/Manifest
@@ -1 +1,2 @@
DIST pywavelets-1.8.0.tar.gz 3935274 BLAKE2B 6d8cc9d67292088cbaca22bf57855c6c82936401a138d9020b12b4362acd696abb6321ed9647e63f01f45962bccb9e9ffef308063387a9bfd684a2d021d216ab SHA512 ef6cce59b16473f147dc85ad07cc225670b84b7d90ed251de2084ab10a1661d5fb2a4fd7d634a11299f6924c0fb8278fc5f70154e6011bdad0247ffdf0c8c4c2
+DIST pywavelets-1.9.0.tar.gz 3938340 BLAKE2B c8bbf217d7c00f4711a6dfb58f34c6120d40f9806208198ab6ba68437b069a504b9980bfc987aea9138fd89b6c0f9a230b157c5784187caf32df2dcf6e8a9dae SHA512 81928f8a2488047bdfeca0784efc9ec6db5312877b4c011921325d3bc5fa31478399f5868181da55fadbec80808ca01c3bcda98e805e3829ec7928a92038e957
diff --git a/dev-python/pywavelets/pywavelets-1.9.0.ebuild b/dev-python/pywavelets/pywavelets-1.9.0.ebuild
new file mode 100644
index 000000000000..56d40e7dbd0c
--- /dev/null
+++ b/dev-python/pywavelets/pywavelets-1.9.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYPI_PN="PyWavelets"
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Discrete Wavelet Transforms in Python"
+HOMEPAGE="
+ https://pywavelets.readthedocs.io/en/latest/
+ https://github.com/PyWavelets/pywt/
+ https://pypi.org/project/PyWavelets/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples"
+
+RDEPEND="
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ <dev-python/numpy-3[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.22.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ >=dev-python/cython-3.0.4[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ rm -rf pywt || die
+ epytest --pyargs pywt
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ if use examples; then
+ docinto examples
+ dodoc -r demo
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-python/setuptools-scm/Manifest b/dev-python/setuptools-scm/Manifest
index 08b01bd3e379..989a937112a4 100644
--- a/dev-python/setuptools-scm/Manifest
+++ b/dev-python/setuptools-scm/Manifest
@@ -1 +1,3 @@
DIST setuptools_scm-8.3.1.tar.gz 78088 BLAKE2B 6cedb55fc16830d12a28fe5b662c371b134bc4d7ef0e6de446b71152e5d83a031cf763b0753042c96745e82bf9dc42fa7cfee05a9a7e7824a4cf659b0a401a51 SHA512 e924abf81c7ee466241c5d66c39b416c8b308f01df9e1498c55ad6ed9812fbf883d8bcafd6fdcdcb96c5ec42b868ae04088de1870ca09a650fa07eb3ea9901c8
+DIST setuptools_scm-9.0.0.tar.gz 184752 BLAKE2B f6ec73dd4733b7cf24cd67bebde9cc96e1c611187774c35fa33e96a29b8aab29c13069ba68e52406dee30e1bf19d2fe38f61031f66b4abb7aeec60a5d3cb72aa SHA512 2d22695ac7036d70d23d8c2613b1c9a9948cc517754b93f38d561065746b8df001d6bae9878477f2df622711b6809b8e178c2c21ad82bdd9c7877b5816251e47
+DIST setuptools_scm-9.0.3.tar.gz 187006 BLAKE2B 8e936eda4802aae82d3aafa4ee8d4cfd3beae7afc7df0719e97a268d63a3f1e701334734fcb94c31fa16b11f67b3e38f2097fd9c7951b1d185bc4cfc1d2f6809 SHA512 642b11ec216a7f332492d6cfa6b4972aa7e58bdf6181f62f0e9d8ab8dba24feb771aa4e87facf704aabad500bd75a12d2ad420f00b0f36fb61d3b35158a71ea7
diff --git a/dev-python/setuptools-scm/setuptools-scm-9.0.0.ebuild b/dev-python/setuptools-scm/setuptools-scm-9.0.0.ebuild
new file mode 100644
index 000000000000..1751bd5eb7d9
--- /dev/null
+++ b/dev-python/setuptools-scm/setuptools-scm-9.0.0.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Manage versions by scm tags via setuptools"
+HOMEPAGE="
+ https://github.com/pypa/setuptools-scm/
+ https://pypi.org/project/setuptools-scm/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+# there's an optional dep on rich for cute logs
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-64[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/build[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-timeout )
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # the usual nondescript gpg-agent failure
+ testing/test_git.py::test_git_getdate_signed_commit
+
+ # fetching from the Internet
+ testing/test_regressions.py::test_pip_download
+
+ # calls flake8, unpredictable
+ testing/test_functions.py::test_dump_version_flake8
+
+ # incompatible with current mypy version
+ testing/test_functions.py::test_dump_version_mypy
+ )
+
+ if has_version dev-python/nose; then
+ EPYTEST_DESELECT+=(
+ # https://bugs.gentoo.org/892639
+ testing/test_integration.py::test_pyproject_support
+ )
+ fi
+
+ epytest
+}
diff --git a/dev-python/setuptools-scm/setuptools-scm-9.0.3.ebuild b/dev-python/setuptools-scm/setuptools-scm-9.0.3.ebuild
new file mode 100644
index 000000000000..1751bd5eb7d9
--- /dev/null
+++ b/dev-python/setuptools-scm/setuptools-scm-9.0.3.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Manage versions by scm tags via setuptools"
+HOMEPAGE="
+ https://github.com/pypa/setuptools-scm/
+ https://pypi.org/project/setuptools-scm/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+# there's an optional dep on rich for cute logs
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-64[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/build[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-timeout )
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # the usual nondescript gpg-agent failure
+ testing/test_git.py::test_git_getdate_signed_commit
+
+ # fetching from the Internet
+ testing/test_regressions.py::test_pip_download
+
+ # calls flake8, unpredictable
+ testing/test_functions.py::test_dump_version_flake8
+
+ # incompatible with current mypy version
+ testing/test_functions.py::test_dump_version_mypy
+ )
+
+ if has_version dev-python/nose; then
+ EPYTEST_DESELECT+=(
+ # https://bugs.gentoo.org/892639
+ testing/test_integration.py::test_pyproject_support
+ )
+ fi
+
+ epytest
+}
diff --git a/dev-python/sip/files/sip-6.12.0-python314-test.patch b/dev-python/sip/files/sip-6.12.0-python314-test.patch
new file mode 100644
index 000000000000..f1da2f14f8c3
--- /dev/null
+++ b/dev-python/sip/files/sip-6.12.0-python314-test.patch
@@ -0,0 +1,30 @@
+https://github.com/Python-SIP/sip/issues/82
+https://github.com/philthompson10/sip/commit/e967ea0ae77c45ab5f8a411390d1acf1e0bb394e
+--- a/test/movable/test_movable.py
++++ b/test/movable/test_movable.py
+@@ -24,5 +24,10 @@
+
++ # As of Python v3.14 we can't make assumptions about initial
++ # reference counts so we test for increases and decreases rather than
++ # absolute values.
++ ao_base_refcount = getrefcount(ao)
++
+ # Test the value of the object.
+ self.assertEqual(ao.getValue(), 3)
+- self.assertEqual(getrefcount(ao), 2)
++ self.assertEqual(getrefcount(ao), ao_base_refcount)
+
+@@ -33,3 +38,3 @@
+ ow.setObject(ao)
+- self.assertEqual(getrefcount(ao), 3)
++ self.assertEqual(getrefcount(ao), ao_base_refcount + 1)
+ self.assertEqual(ow.getObjectValue(), 4)
+@@ -38,3 +43,2 @@
+ ao2 = ow.takeObject()
+- self.assertEqual(getrefcount(ao2), 2)
+ self.assertEqual(ow.getObjectValue(), -1000)
+@@ -45,3 +49,3 @@
+ # Check that the original Python object no longer wraps the C++ object.
+- self.assertEqual(getrefcount(ao), 2)
++ self.assertEqual(getrefcount(ao), ao_base_refcount)
+ self.assertRaises(RuntimeError, ao.getValue)
diff --git a/dev-python/sip/sip-6.12.0.ebuild b/dev-python/sip/sip-6.12.0.ebuild
index 47b64f6067b1..5009d8f25ee3 100644
--- a/dev-python/sip/sip-6.12.0.ebuild
+++ b/dev-python/sip/sip-6.12.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
DESCRIPTION="Python bindings generator for C/C++ libraries"
@@ -32,3 +32,7 @@ distutils_enable_sphinx docs \
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}"/${P}-python314-test.patch
+)
diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest
index ed3da94cd437..a94be95c78a0 100644
--- a/dev-python/uv-build/Manifest
+++ b/dev-python/uv-build/Manifest
@@ -2,3 +2,4 @@ DIST uv_build-0.7.19.tar.gz 311467 BLAKE2B a7e85c3bbaee786ed9729b1331e5506eeb95d
DIST uv_build-0.7.22.tar.gz 314318 BLAKE2B e8118eda79bd6bea375a2b19d87a0d9c2da8e1fe1fb24668ccfe79364b92a01aedcb1e73bc625c9e1d010e7ed4742c3a4add827dc497ee18312664c4343b67be SHA512 185d6b5a9e0440a1354cd9ce638522e9b2a27cc075a5022d95c63fd96b861bf50615156d7f64144b7fb657e2ddb3fe1b0fd8fd38fd6c0adabffacbdc43d6f292
DIST uv_build-0.8.2.tar.gz 317577 BLAKE2B 0bf4d94fcb8052fa5fc71970cdda92438491bc4f3a0723b1f4565eb7f416058d253b14542adb4ea1883e56cb3c1fcf899840bb8406e133749ad894a181d5c8d7 SHA512 14272a8bf350542d5aaeaaf32542bf70b45724bda3a57eb4d701c8f3c0648244c683f3ea6d011920c5c02d1880e92787ce0758055b78eab2b3e61b20e03eea9c
DIST uv_build-0.8.4.tar.gz 318914 BLAKE2B 303fb5d95d7e62269eba53ca41d7e3ae32df84e49bcf3d13cca58e21a73696964f06484d0aabc874bb66e3da5a91efae16d620732fd026ba36a43fc24fcfbe9a SHA512 875de875a2c1f73d4d4d53f1844ce11dbfde69dca552da3fabb071689309d01f4759cdb3ca71142dfdf791be5e1ada0de9a0326ad2107acd93483fa25eb518b4
+DIST uv_build-0.8.5.tar.gz 318967 BLAKE2B a09040001b1c777022fce38a5d28a584bad3dfa60627107f6054d779012b06a611eb11e903beef9112f636de4b238a1b29f5aa38ec477af6f91e1e957f5584cc SHA512 3bc3de1d240d78d5034c97801bcb6696d3ade9fb1a3cfe838a2ed66e7225ea72fa61ff82fdee66b213c7e5f63b0ee6ec2e04820102f3b50c3292107a643a3749
diff --git a/dev-python/uv-build/uv-build-0.8.5.ebuild b/dev-python/uv-build/uv-build-0.8.5.ebuild
new file mode 100644
index 000000000000..6156796bc3d2
--- /dev/null
+++ b/dev-python/uv-build/uv-build-0.8.5.ebuild
@@ -0,0 +1,99 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Maturin compiles uv-build executable for every impl, we do not want
+# that, so we use another backend. And since we use another backend,
+# why not dogfood it in the first place?
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="PEP517 uv build backend"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv-build/
+"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/uv-${PV}
+"
+BDEPEND="
+ test? (
+ app-arch/unzip
+ dev-python/build[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # use the executable from dev-python/uv instead of building
+ # a largely overlapping uv-build executable (at least for now)
+ sed -i -e '/USE_UV_EXECUTABLE/s:False:True:' python/uv_build/__init__.py || die
+
+ # replace the build-system section
+ sed -i -e '/\[build-system\]/,$d' pyproject.toml || die
+ cat >> pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["uv_build<9999"]
+ build-backend = "uv_build"
+ backend-path = ["src"]
+ EOF
+
+ # rename to make uv-build find it
+ mv python src || die
+}
+
+python_test() {
+ "${EPYTHON}" -m build -n || die "Self-build failed with ${EPYTHON}"
+
+ local zip_result=$(
+ unzip -t "dist/uv_build-${PV}-py3-none-any.whl" || die
+ )
+ local zip_expected="\
+Archive: dist/uv_build-${PV}-py3-none-any.whl
+ testing: uv_build/ OK
+ testing: uv_build/__init__.py OK
+ testing: uv_build/__main__.py OK
+ testing: uv_build/py.typed OK
+ testing: uv_build-${PV}.dist-info/ OK
+ testing: uv_build-${PV}.dist-info/WHEEL OK
+ testing: uv_build-${PV}.dist-info/METADATA OK
+ testing: uv_build-${PV}.dist-info/RECORD OK
+No errors detected in compressed data of dist/uv_build-${PV}-py3-none-any.whl.\
+"
+ if [[ ${zip_result} != ${zip_expected} ]]; then
+ eerror ".zip result:\n${zip_result}"
+ eerror ".zip expected:\n${zip_expected}"
+ die ".whl result mismatch"
+ fi
+
+ local tar_result=$(
+ tar -tf "dist/uv_build-${PV}.tar.gz" || die
+ )
+ local tar_expected="\
+uv_build-${PV}/PKG-INFO
+uv_build-${PV}/
+uv_build-${PV}/README.md
+uv_build-${PV}/pyproject.toml
+uv_build-${PV}/src
+uv_build-${PV}/src/uv_build
+uv_build-${PV}/src/uv_build/__init__.py
+uv_build-${PV}/src/uv_build/__main__.py
+uv_build-${PV}/src/uv_build/py.typed\
+"
+ if [[ ${tar_result} != ${tar_expected} ]]; then
+ eerror ".tar.gz result:\n${tar_result}"
+ eerror ".tar.gz expected:\n${tar_expected}"
+ die ".tar.gz result mismatch"
+ fi
+}
diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest
index 0b8aaaaa0de2..73a05818e206 100644
--- a/dev-python/uv/Manifest
+++ b/dev-python/uv/Manifest
@@ -10,3 +10,5 @@ DIST uv-0.8.2-crates.tar.xz 58707128 BLAKE2B 9579ad6877a960596fc49908e4f9451c874
DIST uv-0.8.2.gh.tar.gz 4195351 BLAKE2B b50da561a66f4aac40c5fe6b55a1c10482155dc968bd6532927819ad0bb6f6b97de1b7707a32887b272ede682158b86d5f75bc10410a9fe7af8a7d2de204984a SHA512 9d10f182ab0fefb6028a0424a8cc1467f34e65de24a358a9038b8104f62808f479d004d3a45df7264b6aea81933353b78f1b3963c37ff66ec9da4a53cdca0e2c
DIST uv-0.8.4-crates.tar.xz 46195956 BLAKE2B c3b086c5a369a96dffbcb74f127f2a26f42e4437653dfb7d18dcee4afd202b90ff6518702516ad7dc6ffef2bf1762d0046c2e5176eaeac1bf2e1a0dd439621de SHA512 6e775ad6eab6cde2d738f15694e70eca67d7a312691137e25d28d722d1195da0195de6fc8973ac81b61aeae30a10b441ba26ae93a2017df35306a3b676fa4976
DIST uv-0.8.4.gh.tar.gz 4223170 BLAKE2B 19875bf1def508c904f7ef73f59ef9ee1f9dc8cb927e0a312d5107035f7dd6bfd6bc1fc4ac0ae40719bc91541532783adedfaa5643dae7a17a17972a0e39479d SHA512 4a7fe390452f86f5ecbcc3270eb384c7a69c2db33a6993d1dbace8730be9a347fc71696c5d40d259e80f0f49f4661f90bbbe02cbed42d86421d2cfaf64de937e
+DIST uv-0.8.5-crates.tar.xz 46204000 BLAKE2B caeb9358b1731fb9b06753541256e9d8c70a7e762388e9250ed3bfbedf7acbc77f1a173c323083a5d3a21afa5803d8c9c8476eb12eeee6ab72ed5853117e09fe SHA512 779efef1a0643e1779e4ae34e3f4a95fe73fd2322872f1c0cb97c41f5d5d0f559677c1d144159611dd8ca007aea9218524daa99a9c8ad1485b6e883fb16be793
+DIST uv-0.8.5.gh.tar.gz 4236752 BLAKE2B 53da673797d909722b352e13a38594f3f86cb306ea7eefdda2785c3cb4db60aa0d6ce94968cccba337a034f0bc51d9f50561379007755404bedc45d4e9b6bf7b SHA512 a9f383f8b1474450a295699688aeb1c97969b80750d53913312bc67a5f4e92072f29c9148b4c8217e11f62cf386b0c623cddea62f1681f049edbd4a66ae119fd
diff --git a/dev-python/uv/uv-0.8.5.ebuild b/dev-python/uv/uv-0.8.5.ebuild
new file mode 100644
index 000000000000..1e05483d5c9c
--- /dev/null
+++ b/dev-python/uv/uv-0.8.5.ebuild
@@ -0,0 +1,184 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+
+declare -A GIT_CRATES=(
+ [async_zip]='https://github.com/astral-sh/rs-async-zip;c909fda63fcafe4af496a07bfda28a5aae97e58d;rs-async-zip-%commit%'
+ [pubgrub]='https://github.com/astral-sh/pubgrub;06ec5a5f59ffaeb6cf5079c6cb184467da06c9db;pubgrub-%commit%'
+ [reqwest-middleware]='https://github.com/astral-sh/reqwest-middleware;ad8b9d332d1773fde8b4cd008486de5973e0a3f8;reqwest-middleware-%commit%/reqwest-middleware'
+ [reqwest-retry]='https://github.com/astral-sh/reqwest-middleware;ad8b9d332d1773fde8b4cd008486de5973e0a3f8;reqwest-middleware-%commit%/reqwest-retry'
+ [tl]='https://github.com/astral-sh/tl;6e25b2ee2513d75385101a8ff9f591ef51f314ec;tl-%commit%'
+ [version-ranges]='https://github.com/astral-sh/pubgrub;06ec5a5f59ffaeb6cf5079c6cb184467da06c9db;pubgrub-%commit%/version-ranges'
+)
+
+RUST_MIN_VER="1.85.0"
+
+inherit cargo check-reqs
+
+CRATE_PV=${PV}
+DESCRIPTION="A Python package installer and resolver, written in Rust"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv/
+"
+# pypi sdist misses scripts/, needed for tests
+SRC_URI="
+ https://github.com/astral-sh/uv/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://github.com/gentoo-crate-dist/uv/releases/download/${CRATE_PV}/uv-${CRATE_PV}-crates.tar.xz
+ "
+fi
+
+# most of the code
+LICENSE="|| ( Apache-2.0 MIT )"
+# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below
+# Dependent crate licenses
+LICENSE+="
+ 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD
+ CDLA-Permissive-2.0 ISC MIT MPL-2.0 Unicode-3.0 Unicode-DFS-2016
+ ZLIB
+"
+# ring crate
+LICENSE+=" openssl"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="test"
+PROPERTIES="test_network"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/xz-utils:=
+ app-arch/zstd:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ test? (
+ dev-lang/python:3.9
+ dev-lang/python:3.10
+ dev-lang/python:3.11
+ dev-lang/python:3.12
+ dev-lang/python:3.13
+ !!~dev-python/uv-0.5.0
+ )
+"
+
+QA_FLAGS_IGNORED="usr/bin/.*"
+
+check_space() {
+ local CHECKREQS_DISK_BUILD=3G
+ use debug && CHECKREQS_DISK_BUILD=9G
+ check-reqs_pkg_setup
+}
+
+pkg_pretend() {
+ check_space
+}
+
+pkg_setup() {
+ check_space
+ rust_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # replace upstream crate substitution with our crate substitution, sigh
+ local pkg
+ for pkg in reqwest-middleware reqwest-retry; do
+ local dep=$(grep "^${pkg}" "${ECARGO_HOME}"/config.toml || die)
+ sed -i -e "/\[patch\.crates-io\]/,\$s;^${pkg}.*$;${dep};" Cargo.toml || die
+ done
+
+ # force thin lto, makes build much faster and less memory hungry
+ # (i.e. makes it possible to actually build uv on 32-bit PPC)
+ sed -i -e '/lto/s:fat:thin:' Cargo.toml || die
+
+ # enable system libraries where supported
+ export ZSTD_SYS_USE_PKG_CONFIG=1
+ # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys?
+
+ # remove unbundled sources, just in case
+ find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die
+
+ # bzip2-sys requires a pkg-config file
+ # https://github.com/alexcrichton/bzip2-rs/issues/104
+ mkdir "${T}/pkg-config" || die
+ export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}}
+ cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die
+ Name: bzip2
+ Version: 9999
+ Description:
+ Libs: -lbz2
+ EOF
+}
+
+src_configure() {
+ local myfeatures=(
+ git
+ pypi
+ python
+ )
+
+ cargo_src_configure --no-default-features
+}
+
+src_compile() {
+ cd crates/uv || die
+ cargo_src_compile
+}
+
+src_test() {
+ # work around https://github.com/astral-sh/uv/issues/4376
+ local -x PATH=${BROOT}/usr/lib/python-exec/python3.12:${PATH}
+ local -x COLUMNS=100
+ local -x PYTHONDONTWRITEBYTECODE=
+ # fix tests failing because of our config
+ local -x XDG_CONFIG_DIRS=${T}
+
+ cd crates/uv || die
+ cargo_src_test --no-fail-fast
+}
+
+src_install() {
+ cd crates/uv || die
+ cargo_src_install
+
+ insinto /etc/xdg/uv
+ newins - uv.toml <<-EOF || die
+ # These defaults match Fedora, see:
+ # https://src.fedoraproject.org/rpms/uv/pull-request/18
+
+ # By default ("automatic"), uv downloads missing Python versions
+ # automatically and keeps them in the user's home directory.
+ # Disable that to make downloading opt-in, and especially
+ # to avoid unnecessarily fetching custom Python when the distro
+ # package would be preferable. Python builds can still be
+ # downloaded manually via "uv python install".
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-downloads
+ python-downloads = "manual"
+
+ # By default ("managed"), uv always prefers self-installed
+ # Python versions over the system Python, independently
+ # of versions. Since we generally expect users to use that
+ # to install old Python versions not in ::gentoo anymore,
+ # this effectively means that uv would end up preferring very
+ # old Python versions over the newer ones that are provided
+ # by the system. Default to using the system versions to avoid
+ # this counter-intuitive behavior.
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-preference
+ python-preference = "system"
+ EOF
+}