summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-11-13 07:10:54 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-11-13 07:10:54 +0000
commit0a3f5bd985c689ffb11ac15fe58ae187e717fc98 (patch)
treec8d0aff623b7d5b4f151e006d6c104a7a9319375 /dev-python
parentac942086f3636e423a33fc17436d1ae2e2764ec1 (diff)
downloadbaldeagleos-repo-0a3f5bd985c689ffb11ac15fe58ae187e717fc98.tar.gz
baldeagleos-repo-0a3f5bd985c689ffb11ac15fe58ae187e717fc98.tar.xz
baldeagleos-repo-0a3f5bd985c689ffb11ac15fe58ae187e717fc98.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.40.72.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.40.72.ebuild67
-rw-r--r--dev-python/cython/Manifest2
-rw-r--r--dev-python/cython/cython-3.1.7.ebuild128
-rw-r--r--dev-python/cython/cython-3.2.1.ebuild128
-rw-r--r--dev-python/execnet/Manifest2
-rw-r--r--dev-python/execnet/execnet-2.1.2.ebuild49
-rw-r--r--dev-python/fitsio/Manifest2
-rw-r--r--dev-python/fitsio/files/fitsio-1.2.6-numpy-2.3.patch49
-rw-r--r--dev-python/fitsio/fitsio-1.3.0.ebuild (renamed from dev-python/fitsio/fitsio-1.2.6-r1.ebuild)8
-rw-r--r--dev-python/langdetect/Manifest2
-rw-r--r--dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch13
-rw-r--r--dev-python/langdetect/langdetect-1.0.9.ebuild4
-rw-r--r--dev-python/langdetect/metadata.xml10
-rw-r--r--dev-python/nox/Manifest2
-rw-r--r--dev-python/nox/nox-2025.11.12.ebuild (renamed from dev-python/nox/nox-2025.10.14.ebuild)7
-rw-r--r--dev-python/parse-type/Manifest1
-rw-r--r--dev-python/parse-type/parse-type-0.6.4.ebuild35
-rw-r--r--dev-python/pipdeptree/Manifest5
-rw-r--r--dev-python/pipdeptree/pipdeptree-2.26.1.ebuild58
-rw-r--r--dev-python/pipdeptree/pipdeptree-2.27.0.ebuild57
-rw-r--r--dev-python/pipdeptree/pipdeptree-2.30.0.ebuild (renamed from dev-python/pipdeptree/pipdeptree-2.28.0.ebuild)3
-rw-r--r--dev-python/pyqt-builder/Manifest1
-rw-r--r--dev-python/pyqt-builder/pyqt-builder-1.18.2.ebuild30
-rw-r--r--dev-python/pytest/Manifest2
-rw-r--r--dev-python/pytest/pytest-9.0.1.ebuild121
-rw-r--r--dev-python/sip/Manifest1
-rw-r--r--dev-python/sip/files/sip-6.12.0-python314-test.patch30
-rw-r--r--dev-python/sip/sip-6.12.0.ebuild38
-rw-r--r--dev-python/sphinx-lv2-theme/Manifest1
-rw-r--r--dev-python/sphinx-lv2-theme/sphinx-lv2-theme-1.4.4.ebuild26
-rw-r--r--dev-python/sphinxygen/Manifest1
-rw-r--r--dev-python/sphinxygen/sphinxygen-1.0.12.ebuild36
-rw-r--r--dev-python/tblib/Manifest1
-rw-r--r--dev-python/tblib/tblib-3.2.2.ebuild43
-rw-r--r--dev-python/uv-build/Manifest1
-rw-r--r--dev-python/uv-build/uv-build-0.9.9.ebuild99
-rw-r--r--dev-python/uv/Manifest2
-rw-r--r--dev-python/uv/uv-0.9.9.ebuild182
-rw-r--r--dev-python/wsproto/Manifest1
-rw-r--r--dev-python/wsproto/wsproto-1.3.1.ebuild27
43 files changed, 997 insertions, 333 deletions
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 956657c23dbb..6fa399e72ae3 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -6,3 +6,4 @@ DIST boto3-1.40.64.gh.tar.gz 1023920 BLAKE2B ca8af519caa4d3d4a20c808b3b9d263ad4d
DIST boto3-1.40.69.gh.tar.gz 1027290 BLAKE2B 5e68da89d063ee063dc79d3fee9958ea6a8d408184f28931f9b21aaaa52c2f1a2ac5ddf293ff7d5dccccd0097ec94e0688fa0cd206f11f19bf0c774ece3c164b SHA512 509b32070e09ebb965d392ced9c064ef97b44f8c530cca807177261eecc3cf522df8d4c0822f7aa3521d7cff81935891e33fcc0570462ba73740ae85f6514d0c
DIST boto3-1.40.70.gh.tar.gz 1028782 BLAKE2B 70f8b57c9a515a011d599e7f193d96acd311178f858640f5361cb1ff6d59dc6bd3d6992cf0247e3764ccf4ec55737f0f578f92884b5c4970270c917d6ab816c0 SHA512 c69edcdbb8c748d42c93aaf5e43567e060ad2d323865668345ac0d3dfbbe75eb487d64582b1f5decc898a2a7454f667905224641fa583f99f91474b1ed229e20
DIST boto3-1.40.71.gh.tar.gz 1029360 BLAKE2B 6b8b244c797eedc1d42411dc0ab552da47f7a78528d17cfed4e7b218119126a0d189c785d077c0a42d59561a994f3af77393be940d6ab89b5363dbf1a7678d27 SHA512 f6a5086b1fbd4c15f39c7e5d10e51dc767615f8238a874115c74151d18701fa2141b32d9c53d368bc99ddd9ff6f9bbae493b98a245a832d615e8558a60f3a8b8
+DIST boto3-1.40.72.gh.tar.gz 1030063 BLAKE2B acd7fae35c6f45db64e3302703265a66cc81e6f568aa65d2b93f31c4946f5ae1a184738afe8d07aefe68ddee8dba1686040e6261d3f89b5ee979f36d5acfd03d SHA512 ec4fe7455ba00e2b25bfa8f6a575af3927e4b5579f18ee9b65c7fb6dcf26fb97883cde7093f2293b001ca1d5bf7a6516d151f61807f3957ba7298fb467777305
diff --git a/dev-python/boto3/boto3-1.40.72.ebuild b/dev-python/boto3/boto3-1.40.72.ebuild
new file mode 100644
index 000000000000..cb388ebe6570
--- /dev/null
+++ b/dev-python/boto3/boto3-1.40.72.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_{10..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.14.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 6a63e2c5a224..74f9e15b66f4 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -6,3 +6,4 @@ DIST botocore-1.40.64.gh.tar.gz 15230274 BLAKE2B 6156b2d80f6aee5df0d746bf3a2fe1b
DIST botocore-1.40.69.gh.tar.gz 15265787 BLAKE2B c567c9d2cd25d98e7055b829ca337654f3c2f239296e32735d8064dc698a4fee41464a0ca22453f93feea7a9d6eb58183406780c56bab345521420c7177681a9 SHA512 2c76026a2b5114fbc4d8be54cf67ade64f3a563f8b50e83bdfc1f238f220a94acb1ca1aa607ce4934a8e2b58ebfa2c4b07892b693ad80d539188352a3ffa1f75
DIST botocore-1.40.70.gh.tar.gz 15269974 BLAKE2B 8027b9c8439796ae28768ca127c7ea239afe70dda0f048715b933fb35552f00fbcd5c87599cf673cd9ebb260a9254bb18fe59cb4787e3e0b4198660140580c35 SHA512 e36fa0f865f119723a5fc2a3884035af5a2be7a499e4cc442fc060bab6bd8fc4382fef7144fbbc1fe2d5a9b6bad29fe1baf65c89e98f21eb58f5154809748db6
DIST botocore-1.40.71.gh.tar.gz 15272822 BLAKE2B 0637e4bea27fdf3236f174b2873c477bdd173da65c3d24b09d70ed98359b213494bb940ef26cede57009443a00987199dc05dd99109416c3cbeee402bf62ded6 SHA512 7d717f5655004de89f3c3e9415ff64d68315f33598f8b89441c8e3e0e4a59512b2a23e16ce0c5200268aee5b7c67e43688a483cad852d5cb0b497e8abee36bd7
+DIST botocore-1.40.72.gh.tar.gz 15277307 BLAKE2B 60e4046543cdfae7c949baac55e9df1ae341f4df5612b870c300126e7ad67c9c64898128660258994094944258bfafef3a10dc15f1ed7edec08c5278345dfb39 SHA512 8851041c3b622a0492f945f0e202b16e118efc872c7b6adaf3cb07e3d46b202eba2b234d5dea2d0649a821a93efc11f48cc351cb124cb34bb4e151eb6cbd22d6
diff --git a/dev-python/botocore/botocore-1.40.72.ebuild b/dev-python/botocore/botocore-1.40.72.ebuild
new file mode 100644
index 000000000000..ee8074e67dce
--- /dev/null
+++ b/dev-python/botocore/botocore-1.40.72.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_{10..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/cython/Manifest b/dev-python/cython/Manifest
index e51d8b27320c..d14b279b9a85 100644
--- a/dev-python/cython/Manifest
+++ b/dev-python/cython/Manifest
@@ -1,4 +1,6 @@
DIST cython-3.1.4.tar.gz 3190778 BLAKE2B 7e554db21ba009dc70157ad03b414091f9bba15586c5fa842b23cc28c116dc153857e99c9981dd0f783f696b6afa3b2689424231b88ae89bcf9233fa8006b9c9 SHA512 dd524d7de59f949a8bac1cb944a7a2b4eb26b13107db4fd6f9af000d5af18dd08ac5768253721e3513f5b4c1593fdd8cf055f4ffc17d541b2b90ca461522e8f1
DIST cython-3.1.5.tar.gz 3192050 BLAKE2B c076c14685cc0d01d3f70dd35c8dd6c8c6c285f0a7cd575b4b20d6b4ce941e8cc70e1859b4185e0bc485c6963e74e5b33fe9030ec9feb881cc8692434f497ae8 SHA512 cff0cebd3b72b47f92a0bb8f77e564655a966ee58442b7fe76db2263b8b0d5b3636bfb0a561b1f27fd10cfd113e52388b32971bea66f4d2cb6dbf8580465b873
DIST cython-3.1.6.tar.gz 3192329 BLAKE2B 78ea2c33ce38441574c0566b2c093ed91c01b523812484a8da5f426c46d64d0e4c67c2b3e1bf8122c399a9c18372fe93ff63d20fcc2907e0a84c79fd1107d79d SHA512 29950bcb02b2000ffd278a881d91e9c99f554375238a1ea1e7866d6fff120233bca8d7a7c05de93136fddacdb4c071652de8c3b63b6c312dff43435193fe7b89
+DIST cython-3.1.7.tar.gz 3192740 BLAKE2B ed0d15e387389de3e2b35d03326032a0ca112b24b0245ed764e5acbedcc0df07f50561ef18715679bf29fd2da6a288621033722741b2fc25809b43964e856786 SHA512 0d1ab6b0d53168588ea03116a5a2f4106f87266bca0fc46ec9ebc7c881da7ee2a83d9d7d841b551add73aedab7b2ca94419e87f6a387b1ab7ba850030a981fb1
DIST cython-3.2.0.tar.gz 3267264 BLAKE2B 86aa3698f28c0859d0a846025698d4739deebdbabbf0f6bd9134b4a01fce3fce4b87b1db726c2ab490b0a41091185183f41a67424dfd555067167a4b257c6aa7 SHA512 902f8389792bfa7937f5e1c024a537561e7e0367d1e6e6eefa84ebc25e961968e95bda5095b1cf2b26e994b4b14c0a039b97df80066620c166368a3f0ebd7f4b
+DIST cython-3.2.1.tar.gz 3270455 BLAKE2B 10eb8e6e027b3cc594c997efed4e98ded445f666c44ff7d9d027ae32bead6826df22508bbc78241684e7dcdcbe178a70b5d909c5ab541b5c49660f961f2abe26 SHA512 b6f64b2c32c355a9c5a3586fdea768ad1924cb4b421d4395d443dadc1cf06e2fe4f3f85d237789eb0a68c9857750cbefefb022475ed7f3d8787551bea3d2fb7d
diff --git a/dev-python/cython/cython-3.1.7.ebuild b/dev-python/cython/cython-3.1.7.ebuild
new file mode 100644
index 000000000000..4b6e1d8c4744
--- /dev/null
+++ b/dev-python/cython/cython-3.1.7.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_FULLY_TESTED=( python3_{11..14} )
+PYTHON_TESTED=( "${PYTHON_FULLY_TESTED[@]}" pypy3_11 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 multiprocessing pypi toolchain-funcs
+
+DESCRIPTION="A Python to C compiler"
+HOMEPAGE="
+ https://cython.org/
+ https://github.com/cython/cython/
+ https://pypi.org/project/Cython/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="test test-full"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ test-full? (
+ $(python_gen_cond_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ ' "${PYTHON_FULLY_TESTED[@]}")
+ )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.29.23-pythran-parallel-install.patch"
+)
+
+distutils_enable_sphinx docs \
+ dev-python/jinja2 \
+ dev-python/sphinx-issues \
+ dev-python/sphinx-tabs
+
+python_compile() {
+ # Python gets confused when it is in sys.path before build.
+ local -x PYTHONPATH=
+
+ if use elibc_musl ; then
+ # Workaround for bug #925318
+ local -x LDFLAGS="${LDFLAGS} -Wl,-z,stack-size=2097152"
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ # PYTHON_TESTED controls whether we expect the testsuite to
+ # pass at all, while PYTHON_FULLY_TESTED allows skipping before
+ # numpy is ported (and possibly other deps in future).
+ if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
+ einfo "Skipping tests on ${EPYTHON} (xfail)"
+ return
+ fi
+
+ # Needed to avoid confusing cache tests
+ unset CYTHON_FORCE_REGEN
+
+ tc-export CC
+
+ local testargs=(
+ -vv
+ -j "$(makeopts_jobs)"
+ --work-dir "${BUILD_DIR}"/tests
+
+ --no-examples
+ --no-code-style
+
+ # Fails to find embedded.c
+ --exclude 'embedded'
+ # coverage_installed_pkg needs dev-python/pip and doesn't like
+ # 'externally-managed' (bug #927995), but we don't really
+ # want automagic test dependencies at all, so just skip
+ # unimportant-for-us coverage tests entirely.
+ --exclude 'run.coverage*'
+ --exclude 'Cython.Coverage'
+ # Automagic on dev-python/python-tests, could add this in future
+ --exclude 'run.test_exceptions'
+ # TODO: Unpackaged dev-python/interpreters-pep-734 (interpreters_backport)
+ # This only shows up as a failure with >=3.13.
+ --exclude 'subinterpreters_threading_stress_test'
+
+ # The fix for https://github.com/cython/cython/issues/6938
+ # changes these tests s.t. they break with our build layout.
+ --exclude 'build.depfile*'
+ )
+
+ if [[ ${EPYTHON} == pypy3* ]] ; then
+ testargs+=(
+ # Recursion issue
+ --exclude 'run.if_else_expr'
+ --exclude 'run.test_patma*'
+ # Slight output difference (missing '<')
+ --exclude 'run.cpp_exception_ptr_just_handler'
+
+ )
+ fi
+
+ # Keep test-full for numpy as it's large and doesn't pass tests itself
+ # on niche arches.
+ if ! use test-full || ! has "${EPYTHON/./_}" "${PYTHON_FULLY_TESTED[@]}"; then
+ testargs+=(
+ --exclude 'run.numpy*'
+ --exclude 'run.ufunc'
+ --exclude 'numpy*'
+ )
+ fi
+
+ "${PYTHON}" runtests.py "${testargs[@]}" || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ local DOCS=( CHANGES.rst README.rst ToDo.txt USAGE.txt )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/cython/cython-3.2.1.ebuild b/dev-python/cython/cython-3.2.1.ebuild
new file mode 100644
index 000000000000..4b6e1d8c4744
--- /dev/null
+++ b/dev-python/cython/cython-3.2.1.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_FULLY_TESTED=( python3_{11..14} )
+PYTHON_TESTED=( "${PYTHON_FULLY_TESTED[@]}" pypy3_11 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 multiprocessing pypi toolchain-funcs
+
+DESCRIPTION="A Python to C compiler"
+HOMEPAGE="
+ https://cython.org/
+ https://github.com/cython/cython/
+ https://pypi.org/project/Cython/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="test test-full"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ test-full? (
+ $(python_gen_cond_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ ' "${PYTHON_FULLY_TESTED[@]}")
+ )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.29.23-pythran-parallel-install.patch"
+)
+
+distutils_enable_sphinx docs \
+ dev-python/jinja2 \
+ dev-python/sphinx-issues \
+ dev-python/sphinx-tabs
+
+python_compile() {
+ # Python gets confused when it is in sys.path before build.
+ local -x PYTHONPATH=
+
+ if use elibc_musl ; then
+ # Workaround for bug #925318
+ local -x LDFLAGS="${LDFLAGS} -Wl,-z,stack-size=2097152"
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ # PYTHON_TESTED controls whether we expect the testsuite to
+ # pass at all, while PYTHON_FULLY_TESTED allows skipping before
+ # numpy is ported (and possibly other deps in future).
+ if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
+ einfo "Skipping tests on ${EPYTHON} (xfail)"
+ return
+ fi
+
+ # Needed to avoid confusing cache tests
+ unset CYTHON_FORCE_REGEN
+
+ tc-export CC
+
+ local testargs=(
+ -vv
+ -j "$(makeopts_jobs)"
+ --work-dir "${BUILD_DIR}"/tests
+
+ --no-examples
+ --no-code-style
+
+ # Fails to find embedded.c
+ --exclude 'embedded'
+ # coverage_installed_pkg needs dev-python/pip and doesn't like
+ # 'externally-managed' (bug #927995), but we don't really
+ # want automagic test dependencies at all, so just skip
+ # unimportant-for-us coverage tests entirely.
+ --exclude 'run.coverage*'
+ --exclude 'Cython.Coverage'
+ # Automagic on dev-python/python-tests, could add this in future
+ --exclude 'run.test_exceptions'
+ # TODO: Unpackaged dev-python/interpreters-pep-734 (interpreters_backport)
+ # This only shows up as a failure with >=3.13.
+ --exclude 'subinterpreters_threading_stress_test'
+
+ # The fix for https://github.com/cython/cython/issues/6938
+ # changes these tests s.t. they break with our build layout.
+ --exclude 'build.depfile*'
+ )
+
+ if [[ ${EPYTHON} == pypy3* ]] ; then
+ testargs+=(
+ # Recursion issue
+ --exclude 'run.if_else_expr'
+ --exclude 'run.test_patma*'
+ # Slight output difference (missing '<')
+ --exclude 'run.cpp_exception_ptr_just_handler'
+
+ )
+ fi
+
+ # Keep test-full for numpy as it's large and doesn't pass tests itself
+ # on niche arches.
+ if ! use test-full || ! has "${EPYTHON/./_}" "${PYTHON_FULLY_TESTED[@]}"; then
+ testargs+=(
+ --exclude 'run.numpy*'
+ --exclude 'run.ufunc'
+ --exclude 'numpy*'
+ )
+ fi
+
+ "${PYTHON}" runtests.py "${testargs[@]}" || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ local DOCS=( CHANGES.rst README.rst ToDo.txt USAGE.txt )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/execnet/Manifest b/dev-python/execnet/Manifest
index d5960022bc9f..75d044cd44b9 100644
--- a/dev-python/execnet/Manifest
+++ b/dev-python/execnet/Manifest
@@ -1 +1,3 @@
DIST execnet-2.1.1.tar.gz 166524 BLAKE2B cf6ef7007ecee7cd3e205dfaefc7c46dcc555dd4290a9055413373cbc1f8b24c5769e8e2eb58c9d6169ad766539bf44139a691726d791a69a80a2f800fefcf4e SHA512 486f906ad653d16cce7337d9085c36070fe3dd721a3723ca62ceb25862c3ff837120062df028d5aadec17f854c0d46204537e9d75d22079a677f08c50dd48d21
+DIST execnet-2.1.2.tar.gz 166622 BLAKE2B 108f0e4c7e6b782e21700bc2db596aef7b9a3f770841b35d1c96a16730e410557f90ed9215db7cbe3c110e25fdbf66c35ee9d59d1e5e6589686f74ce7a3e528e SHA512 d2dd7854d5b7552f31347b00c664110560c128f15208584a0400e3a9689fdb6c20483487d103869fdfa929ce901ef62d5e4274e38b817c426a48a1c6dc6442b2
+DIST execnet-2.1.2.tar.gz.provenance 9653 BLAKE2B a7927a97bbeea3b4ca2ebe8d284d55106eaafa91da942084f525cf7e5857c2cfb3f4858014ce69de5b0cdc81628b4cd9c815b7e680fec5440d1b5f209b5e6725 SHA512 e36b3e66fc5fc2eb86d62ae4f2f39fe1335675078ba2c916fe3d9e928647603128a2f3d3380ce8756dc9915a27dbed6c3c82aef911d38cdeb47bbf12a0163acd
diff --git a/dev-python/execnet/execnet-2.1.2.ebuild b/dev-python/execnet/execnet-2.1.2.ebuild
new file mode 100644
index 000000000000..97bcee8b98fd
--- /dev/null
+++ b/dev-python/execnet/execnet-2.1.2.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/pytest-dev/execnet
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Rapid multi-Python deployment"
+HOMEPAGE="
+ https://codespeak.net/execnet/
+ https://github.com/pytest-dev/execnet/
+ https://pypi.org/project/execnet/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx doc
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=()
+
+ case ${EPYTHON} in
+ python3.1[34]t)
+ EPYTEST_DESELECT+=(
+ # https://github.com/pytest-dev/execnet/issues/306
+ testing/test_channel.py::TestChannelBasicBehaviour::test_channel_callback_remote_freed
+ )
+ ;;
+ esac
+
+ # the test suite checks if bytecode writing can be disabled/enabled
+ local -x PYTHONDONTWRITEBYTECODE=
+ # some tests are implicitly run against both sys.executable
+ # and pypy3, which is redundant and results in pypy3 bytecode being
+ # written to cpython install dirs
+ epytest testing -k "not pypy3"
+}
diff --git a/dev-python/fitsio/Manifest b/dev-python/fitsio/Manifest
index 4a1f168716e8..ec982f43719b 100644
--- a/dev-python/fitsio/Manifest
+++ b/dev-python/fitsio/Manifest
@@ -1,2 +1,2 @@
-DIST fitsio-1.2.6.gh.tar.gz 4540865 BLAKE2B a5acb2cbc105ce055255196c840708414b4da46fa3274da8c617590d1ab96fc36da3c19a79bca6fd2525b0c1d10802881fbed70ad69a5aea2d969529f57ccf9f SHA512 e8ffed41633c261bdb4663745396d94a3e36e70feb9fe8bca32e0d46d4d126e94df2d723e4fbf82a4b910315b211ca3c9fba44fcba387649cb8f48c6a917463e
DIST fitsio-1.2.8.gh.tar.gz 4543207 BLAKE2B 516206b938650e59d8e22a7cb2a3ea8167d67261b37d95923114abd3a00440f9c4691962ceaa6da0e95e0f710291bc71864e522f6b88308e80d8d26a75ed6000 SHA512 ff6b066ffc03e4588311e886d3605a2adc6377bdb7bb8d12d54c8e8ecd7c476bee8c9a191eab1159d5d5954e8f5b7b784783c6910b32a5e6b62645afad1b6fc7
+DIST fitsio-1.3.0.gh.tar.gz 4990432 BLAKE2B d43b140d564326f858f45905b49d70b58fab4a2755cc3dacfe33e4df83fd929db8060dea146f681b35a60ae6a8b6f2662a9af2542a1b6150a2e3837a87d54a76 SHA512 e7e758f69fffe0c1386b30f7b1e392b4162af2ec1ca63389730ac2f5eb41cb7c2b4e9fec831411a9f37a08be80ef9bef39b6fad04d6520e03fabe5501c59ba84
diff --git a/dev-python/fitsio/files/fitsio-1.2.6-numpy-2.3.patch b/dev-python/fitsio/files/fitsio-1.2.6-numpy-2.3.patch
deleted file mode 100644
index da2d7e7d175a..000000000000
--- a/dev-python/fitsio/files/fitsio-1.2.6-numpy-2.3.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From b3b1af26b1c23a3e3e1b185b1e80bd7f55771fe7 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Wed, 18 Jun 2025 10:57:02 +0200
-Subject: [PATCH] Replace deprecated `NPY_*` constants
-
-Replaced the deprecated `NPY_*` constants with `NPY_ARRAY_*`.
-The latter were introduced in NumPy 1.7, and the former were finally
-removed in 2.3.0.
-
-Fixes #429
----
- fitsio/fitsio_pywrap.c | 8 ++++----
- setup.py | 4 ++--
- 2 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/fitsio/fitsio_pywrap.c b/fitsio/fitsio_pywrap.c
-index 8bba6be..957643d 100644
---- a/fitsio/fitsio_pywrap.c
-+++ b/fitsio/fitsio_pywrap.c
-@@ -2356,10 +2356,10 @@ int write_var_num_column(
- int mindepth=1, maxdepth=0;
- PyObject* context=NULL;
- int requirements =
-- NPY_C_CONTIGUOUS
-- | NPY_ALIGNED
-- | NPY_NOTSWAPPED
-- | NPY_ELEMENTSTRIDES;
-+ NPY_ARRAY_C_CONTIGUOUS
-+ | NPY_ARRAY_ALIGNED
-+ | NPY_ARRAY_NOTSWAPPED
-+ | NPY_ARRAY_ELEMENTSTRIDES;
-
- int res=0;
-
-diff --git a/setup.py b/setup.py
-index 7de67a7..ef549c5 100644
---- a/setup.py
-+++ b/setup.py
-@@ -327,8 +327,8 @@ def check_system_cfitsio_objects(self, obj_name):
- url="https://github.com/esheldon/fitsio",
- author="Erin Scott Sheldon",
- author_email="erin.sheldon@gmail.com",
-- setup_requires=['numpy'],
-- install_requires=['numpy'],
-+ setup_requires=['numpy>=1.7'],
-+ install_requires=['numpy>=1.7'],
- packages=find_packages(),
- include_package_data=True,
- ext_modules=[ext],
diff --git a/dev-python/fitsio/fitsio-1.2.6-r1.ebuild b/dev-python/fitsio/fitsio-1.3.0.ebuild
index 4deb106bb6bf..029b167402d3 100644
--- a/dev-python/fitsio/fitsio-1.2.6-r1.ebuild
+++ b/dev-python/fitsio/fitsio-1.3.0.ebuild
@@ -24,21 +24,17 @@ SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
DEPEND="
- >=dev-python/numpy-1.11:=[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.17:=[${PYTHON_USEDEP}]
>=sci-libs/cfitsio-4.4.0:0=
"
RDEPEND="
${DEPEND}
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
"
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
-PATCHES=(
- # https://github.com/esheldon/fitsio/pull/430
- "${FILESDIR}/${P}-numpy-2.3.patch"
-)
-
export FITSIO_USE_SYSTEM_FITSIO=1
python_test() {
diff --git a/dev-python/langdetect/Manifest b/dev-python/langdetect/Manifest
index a11d7c268c91..d12ab8aeaca8 100644
--- a/dev-python/langdetect/Manifest
+++ b/dev-python/langdetect/Manifest
@@ -1 +1,3 @@
DIST langdetect-1.0.9.tar.gz 981474 BLAKE2B ea8a9c3f16a2987c080742473bff4f2c1503f53fb3c2b40b0b1d6212bb6133ea22dce7864ffcfb8968c3a46b157d45cb3e2cf6f84bdbed0266cc716a853b032c SHA512 7558d674c47b080c79e43a00a25d2c7f77188cf60bea2cecb3bebb803d75e1aa42b43c74bd26ea1b541f4cb927421908882cbec01a91f0913984217e71ccc8db
+EBUILD langdetect-1.0.9.ebuild 494 BLAKE2B 9cd8a2a93a8d45bf51fe2324402b175d641762ea591fcb99459427f977a95eccffa6ca4777ca4df39814eea6eac62711567faa654456d32f79023a4685804504 SHA512 d973b85ba1a44389a4275f02a779a93a005f7c2e096467b94b072862e4984d5b42cf33f9821ac68aa5b85b12c98983a90b96049989d8c84497969174b6bb838e
+MISC metadata.xml 457 BLAKE2B 630128a3e982b6d60cc7b9f74c79fcb5ee47a71a02c73a50af9da8cedb6fad8e20a7f74b881e5b25c6483b92c9edbd56552cd38b2d9cbfa8b3eb4530facea969 SHA512 674f4f5cd809c6c77bc14e0f5687fa972bef14bdfa0b3343c5d66b7163eef1906eb87d060c8288732f825de71dce291ad0b841a5f2f0dd230f957b5687e45d45
diff --git a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
deleted file mode 100644
index 637368d2f237..000000000000
--- a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Fix "Package 'langdetect.profiles' is absent from the `packages` configuration."
-
---- a/setup.py
-+++ b/setup.py
-@@ -18,7 +18,7 @@ setup(
- author_email='michal.danilak@gmail.com',
- url='https://github.com/Mimino666/langdetect',
- keywords='language detection library',
-- packages=['langdetect', 'langdetect.utils', 'langdetect.tests'],
-+ packages=['langdetect', 'langdetect.utils', 'langdetect.tests', 'langdetect.profiles'],
- include_package_data=True,
- install_requires=['six'],
- license='MIT',
diff --git a/dev-python/langdetect/langdetect-1.0.9.ebuild b/dev-python/langdetect/langdetect-1.0.9.ebuild
index 7100f5f39dd8..271137de443d 100644
--- a/dev-python/langdetect/langdetect-1.0.9.ebuild
+++ b/dev-python/langdetect/langdetect-1.0.9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2025 Gentoo Authors
+# Copyright 2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,6 +19,4 @@ KEYWORDS="~amd64"
RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
-PATCHES=( "${FILESDIR}/${P}-explicit-config.patch" )
-
distutils_enable_tests unittest
diff --git a/dev-python/langdetect/metadata.xml b/dev-python/langdetect/metadata.xml
index c0f74ac187e2..020e07f2a3dd 100644
--- a/dev-python/langdetect/metadata.xml
+++ b/dev-python/langdetect/metadata.xml
@@ -2,9 +2,11 @@
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>pastalian46@gmail.com</email>
- <name>Takuya Wakazono</name>
+ <email>marcin.deranek@slonko.net</email>
+ <name>Marcin Deranek</name>
</maintainer>
-
- <origin>gentoo-guru-overlay</origin>
+ <upstream>
+ <bugs-to>https://github.com/Mimino666/langdetect/issues</bugs-to>
+ </upstream>
+ <origin>slonko-overlay</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/nox/Manifest b/dev-python/nox/Manifest
index 59e8137f5b7b..a0662c61ba47 100644
--- a/dev-python/nox/Manifest
+++ b/dev-python/nox/Manifest
@@ -1,2 +1,2 @@
-DIST nox-2025.10.14.gh.tar.gz 4029759 BLAKE2B fd524485099c0ed9fc363545792c44d919e6cf0abcfd11ac43fab8f9310c5225534d75a1a58c75edc2cbde46f094f148a5d6bd1aedc673e48887c2d8b5dec3c4 SHA512 94b420670391031b17bf3b77450db11bb8f047284ee8a47cf1faa0f526c46594dd4edb1941599c723c806a58aece99f83a7e668e37968b3c8ddc9ef65c9c8661
DIST nox-2025.10.16.gh.tar.gz 4030415 BLAKE2B 1ad98e773c387669f10de8879bb81d9aeb549f30ba8976e5f8d97589df967244a81138f0dc2e7ff2ddc40e81d694ed8bbf89aa11d9988c615f0b4af100e0b495 SHA512 992bb658ffbc889eeb584a4c3c8785f2a251f111fc0cd4fbe35eb67b5463a45772cefebf2ef2e88d337e4ff7879da47ad0ec07082e904968e7e1996a7d79127d
+DIST nox-2025.11.12.gh.tar.gz 4030743 BLAKE2B f5d611c37179bb850757d24077a8f4c00a4cd76c26c79ce93eb549c27fd116fdbd1d5380f027dc1355c40ed710b7b1190a15df8294e9a448bdd685ca1c26306c SHA512 fe660f99263ef950e79ae70bd4beeee88046bf2f838e36e33ac74fba5bdd3d36f898a2d7194716f832222a13061f52ad6c03da7f4e3fc5c296ca6db04a48e13f
diff --git a/dev-python/nox/nox-2025.10.14.ebuild b/dev-python/nox/nox-2025.11.12.ebuild
index 945168b7d4d6..0363029d0463 100644
--- a/dev-python/nox/nox-2025.10.14.ebuild
+++ b/dev-python/nox/nox-2025.11.12.ebuild
@@ -27,10 +27,15 @@ RDEPEND="
>=dev-python/attrs-24.1[${PYTHON_USEDEP}]
>=dev-python/colorlog-2.6.1[${PYTHON_USEDEP}]
>=dev-python/dependency-groups-1.1[${PYTHON_USEDEP}]
- >=dev-python/pbs-installer-2025.01.06[${PYTHON_USEDEP}]
+ >=dev-python/humanize-4[${PYTHON_USEDEP}]
>=dev-python/packaging-21[${PYTHON_USEDEP}]
>=dev-python/virtualenv-20.15[${PYTHON_USEDEP}]
"
+BDEPEND="
+ test? (
+ >=dev-python/pbs-installer-2025.01.06[${PYTHON_USEDEP}]
+ )
+"
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
diff --git a/dev-python/parse-type/Manifest b/dev-python/parse-type/Manifest
index 4041e79d4e6c..c34948e45f03 100644
--- a/dev-python/parse-type/Manifest
+++ b/dev-python/parse-type/Manifest
@@ -1,2 +1 @@
-DIST parse_type-0.6.4.tar.gz 96480 BLAKE2B 04dbee9a4bc132d395b2d20d8cb99ac016dcab65a9eaa29e3f0d6b40700feeda7255aed869a32ef61ffed820ad7b5d2495513c95c0e55ba9759ec9f58d1e933c SHA512 5012ea47f2a9fbdc4962aa11dedef914228f1ec8c88b725374fd434844e4cf22d069016abb49239419188f0455bae9c79eb0259a178e6c292dd8ed8103c2ebe5
DIST parse_type-0.6.6.tar.gz 98012 BLAKE2B 51e9ce1e24281b23084a2b9d81c34d348532c9e7289fcc287d04e3268a4e308bfa294e45d8d3e78d2a1cdd23b71bca925ae4a88d28fd232a50c1e9a2d23e6ed8 SHA512 26458b47f3d2e2b9e85d66d7f1a13e9e37a5570d97fb042956dc65f6fac35b8621803bd07b93b00a9139f134a0e3f6666b5298f18d73fcff9271518e5729d3dc
diff --git a/dev-python/parse-type/parse-type-0.6.4.ebuild b/dev-python/parse-type/parse-type-0.6.4.ebuild
deleted file mode 100644
index fe7a980102d1..000000000000
--- a/dev-python/parse-type/parse-type-0.6.4.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2021-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..14} )
-inherit distutils-r1 pypi
-
-DESCRIPTION="Extension to the parse module"
-HOMEPAGE="https://pypi.org/project/parse-type/"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~x86"
-
-RDEPEND="
- dev-python/parse[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-DOCS=( CHANGES.txt README.rst )
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
-
- # disable unnecessary html test report and its pytest-html dependency
- sed -i '/^addopts/,/report.xml$/d' pytest.ini || die
-}
diff --git a/dev-python/pipdeptree/Manifest b/dev-python/pipdeptree/Manifest
index 183a8aa549d3..a40e4a93502f 100644
--- a/dev-python/pipdeptree/Manifest
+++ b/dev-python/pipdeptree/Manifest
@@ -1,5 +1,4 @@
DIST pipdeptree-2.23.4.tar.gz 39945 BLAKE2B 6f1aaf4652b872a28712cf23fb06c26c9e36baf2c5c734b542d418d78081c19f567c730944fba33b43cf6ad612ecd54f37f625a81e88fc8bb68e3e56d76d9088 SHA512 3beeeceb11f842e5f337167b724354b43b01f972f83b0bac5168504483a079e15758206a8e141dc88e4810954630bff1b1cdec3e69aa2f981b9ec2896e40428d
-DIST pipdeptree-2.26.1.tar.gz 41024 BLAKE2B 93121352931669bb343f156673ebff6cf3f7601da34f027aeaa3764f676a578ed1c5360e1a281c18ce07f870f20f594694cec0da1be8f836568400c9861c0b8a SHA512 3cb0aa2a3d07a03aa62c0da9ff0d39496e4afe4f9216c2445c36d34b1f05f5bea5030e04d89aa27f5f41cb65092ded4d949a863bc2f223f1fbbe5fdcf379af62
-DIST pipdeptree-2.27.0.tar.gz 42423 BLAKE2B 1e6593bab1f0e61acbf7f0dd5b168f0afa5cf6c0bd1b49bbe92ec24d37c8051bef4a2a13944369a03a778099af78ac4a9b201c360aeb441f195c68d0126cfdc3 SHA512 4f7c5aeea24baa6a6031b456918897c17abd71ea46d661e54f21774ad90b70beb3fba50f44611e44beeadf1d9cddbc41fd0adea16a4da172a70bb3322876c297
-DIST pipdeptree-2.28.0.tar.gz 42583 BLAKE2B 2a71de5c0d0ab61866a8ffe3ee83623108a48d52a8a86c0a569600b7d3aa9dd9f99dd1faa1cc71f01f97004f4f0f6609cb25b5e265648388120def1eec1e4884 SHA512 04de6e097df3ec255e0b3ed7bc3ba3d717d3c0fb16bf2818713a332d918fe47154f0ace7ee706f6283b06d6ad41e8e8c6a24d65cefa49fda20323f22b8b43be9
DIST pipdeptree-2.29.0.tar.gz 42077 BLAKE2B 0e151c593a6737d877a7cc43e47367374febb22af654fa6e04617eda16cf34ad435a3fd24e4aa076bf81afcb665a7050c8a4d2a046d3ba6b26fb0cbb968a946f SHA512 de3f7a2aa24e7bd795c9a19d940ad941a036830df5c6ef99bd008bae0cad789d525b9e39a1704926ad88749a038bf7d6abd8a854737c2f6417764be0ab2f1825
+DIST pipdeptree-2.30.0.tar.gz 42737 BLAKE2B 6bedfd23510e514e0e7a3319162524b68e47709dae9af9216c7cf91c69caf1428a5bdbf313722fd8c242b16f6018b94bab139997f22f433267ec7afcdd57a4ad SHA512 f21dd155e7e1de396b030b19231d145419005bd407c92d23f69efaaf822b0bce03366f439c551e1064c777327d5079c408f0c6213ecbe97cc013d5bc98e890ac
+DIST pipdeptree-2.30.0.tar.gz.provenance 9221 BLAKE2B c7c710a13da3a83bb5723ebe5452193e05b30485619aababe5acd8db7836ee75f8bc6b073274754d4cf9dcf19d929b12cc21c251dbbfcb651aad6b754bd22ca4 SHA512 e7671e0973d89d495ebb869173b2a80721e1f4706ed9d370ac7db17ccb922f1c259479e34bba07b7cb171ff7bb12e4c7eeea0859ec8d0a72d8cab530fb0b5609
diff --git a/dev-python/pipdeptree/pipdeptree-2.26.1.ebuild b/dev-python/pipdeptree/pipdeptree-2.26.1.ebuild
deleted file mode 100644
index c4a711dd24aa..000000000000
--- a/dev-python/pipdeptree/pipdeptree-2.26.1.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 2022-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..14} )
-
-inherit distutils-r1 pypi optfeature
-
-DESCRIPTION="Utility for displaying installed packages in a dependency tree"
-HOMEPAGE="
- https://github.com/tox-dev/pipdeptree/
- https://pypi.org/project/pipdeptree/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~riscv"
-
-RDEPEND="
- >=dev-python/packaging-23.1[${PYTHON_USEDEP}]
- >=dev-python/pip-23.1.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- dev-python/graphviz[${PYTHON_USEDEP}]
- >=dev-python/pytest-console-scripts-1.4.1[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- <dev-python/virtualenv-21[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # upstream lower bounds are meaningless
- sed -i -e 's:>=[0-9.]*,\?::' pyproject.toml || die
-
- find -name '*.py' -exec \
- sed -i -e 's:pip[.]_vendor[.]::' {} + || die
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # tests can fail if other packages are being merged simultaneously
- epytest -p pytest_mock -p console-scripts -p rerunfailures --reruns=5
-}
-
-pkg_postinst() {
- optfeature \
- "visualising the dependency graph with --graph-output" \
- dev-python/graphviz
-}
diff --git a/dev-python/pipdeptree/pipdeptree-2.27.0.ebuild b/dev-python/pipdeptree/pipdeptree-2.27.0.ebuild
deleted file mode 100644
index 1da1666e41be..000000000000
--- a/dev-python/pipdeptree/pipdeptree-2.27.0.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 2022-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..14} )
-
-inherit distutils-r1 pypi optfeature
-
-DESCRIPTION="Utility for displaying installed packages in a dependency tree"
-HOMEPAGE="
- https://github.com/tox-dev/pipdeptree/
- https://pypi.org/project/pipdeptree/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~riscv"
-
-RDEPEND="
- >=dev-python/packaging-23.1[${PYTHON_USEDEP}]
- >=dev-python/pip-23.1.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- dev-python/graphviz[${PYTHON_USEDEP}]
- <dev-python/virtualenv-21[${PYTHON_USEDEP}]
- >=dev-python/virtualenv-20.31.1[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( pytest-{mock,rerunfailures} )
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # upstream lower bounds are meaningless
- sed -i -e 's:>=[0-9.]*,\?::' pyproject.toml || die
-
- find -name '*.py' -exec \
- sed -i -e 's:pip[.]_vendor[.]::' {} + || die
-}
-
-python_test() {
- # tests can fail if other packages are being merged simultaneously
- epytest --reruns=5
-}
-
-pkg_postinst() {
- optfeature \
- "visualising the dependency graph with --graph-output" \
- dev-python/graphviz
-}
diff --git a/dev-python/pipdeptree/pipdeptree-2.28.0.ebuild b/dev-python/pipdeptree/pipdeptree-2.30.0.ebuild
index 1da1666e41be..bc1599ffaf51 100644
--- a/dev-python/pipdeptree/pipdeptree-2.28.0.ebuild
+++ b/dev-python/pipdeptree/pipdeptree-2.30.0.ebuild
@@ -4,6 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/tox-dev/pipdeptree
PYTHON_COMPAT=( python3_{10..14} )
inherit distutils-r1 pypi optfeature
@@ -16,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~riscv"
+KEYWORDS="~amd64 ~arm64 ~riscv"
RDEPEND="
>=dev-python/packaging-23.1[${PYTHON_USEDEP}]
diff --git a/dev-python/pyqt-builder/Manifest b/dev-python/pyqt-builder/Manifest
index e7b5458700b4..e1b8f4115094 100644
--- a/dev-python/pyqt-builder/Manifest
+++ b/dev-python/pyqt-builder/Manifest
@@ -1,2 +1 @@
-DIST pyqt_builder-1.18.2.tar.gz 3671864 BLAKE2B 32ae2105b25029e2c881f26c660bf35eb63f6f19f31a800ea11ce639ce8da48e7485aae67fd0e1f05a9d7f97e49b507f19e162ceaacaee690ff52fec0fec3492 SHA512 129b8cbb7d2c6b533618d5b8523453ce4f442a2052c1151c30c8076e99d7887caac1e9c24220a913bc17444b35061ea507fd7f9038efd82a63636b24ae4182b5
DIST pyqt_builder-1.19.0.tar.gz 3672333 BLAKE2B 2f623077762269470e4f00ec9f9a9a701f1182ac9cedfffa2d89f6cf9a92da198bb21abf9515cb0c865d2871f855cc0190a0f46d875589764bcf0df6e7cdffd7 SHA512 17dff686795e1b1f41a9c575c85c94a8d2d4ba95785dc723ec8f03fbb88e44472b70eb0e4ef9139580f1be0232d0ad324fedb088da3e9518d908587a0d619aa8
diff --git a/dev-python/pyqt-builder/pyqt-builder-1.18.2.ebuild b/dev-python/pyqt-builder/pyqt-builder-1.18.2.ebuild
deleted file mode 100644
index 58419ad22019..000000000000
--- a/dev-python/pyqt-builder/pyqt-builder-1.18.2.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..14} )
-inherit distutils-r1 pypi
-
-DESCRIPTION="The PEP 517 compliant PyQt build system"
-HOMEPAGE="https://github.com/Python-PyQt/PyQt-builder/"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/sip-6.7[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
-"
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # skip installing DLLs
- rm -r pyqtbuild/bundle/dlls || die
-}
diff --git a/dev-python/pytest/Manifest b/dev-python/pytest/Manifest
index 634bf22d1e5a..9a177bcec5ba 100644
--- a/dev-python/pytest/Manifest
+++ b/dev-python/pytest/Manifest
@@ -2,3 +2,5 @@ DIST pytest-8.4.1.tar.gz 1517714 BLAKE2B 1122694101de967a16f3103aa54e02baf28e03a
DIST pytest-8.4.2.tar.gz 1519618 BLAKE2B 0676b8a3510dc740d94e96eaa6312574ed0058baec13f161c4f1ab85872ac69ebabaa707032becb068fc128662d931b6b05f92dec9bdf6c268553b956bf43003 SHA512 a6732666e7b59b2c28b47b1020a8381d31073cf9113086c562295429fddfa6b4ef2afda3cdcce0ec60bf60d038ad2bf8e921a2a409f3d56e31d94ca39e5ea81b
DIST pytest-9.0.0.tar.gz 1562764 BLAKE2B cc762e4aad0e44b592a3b47c9db250332803f520d2f96b3325883a9e6ecdc0ce06d67e2795ab0a49379ca7f377199020e387a7c852adf65778a0bc4794913be9 SHA512 aea3b1187eb0792d32b706afc9b5042c047b786460d08c286fa2ff25ba76a073cdbaaaa1b068e2633059822fe735806ef61dcb6cfda9df033d5826018c3493bc
DIST pytest-9.0.0.tar.gz.provenance 9487 BLAKE2B 2dc6163e4a198412d43339b73ad1697f5ef3d3587587bb5df583521dde11f254c00d6a8abaea853756a311a59bbd6e9cc819f9230bad662eaf23634540511095 SHA512 4bffebf7f900fdca6465eff5c760dea9e53342a823ccffea69bebbfc020e8f80f678f97e0b781b538a0622ff9377286ca58de49bc2854650c94e8f8f54d0280d
+DIST pytest-9.0.1.tar.gz 1564125 BLAKE2B 60cb40383208e5db87e6f2c2ff41bf2e1955376f5057bfb4d06ff259eca5137b08142d4a0d380cae1e3a64146851095eb4fbee2f4b26b71e207249f88bcec511 SHA512 1cc2fe1eff97bf00f4b194da0dc8bd9976a27206b0b761b6a55503065a978f03d256aaf6b7a4c80aab08f09668cf120e80867f33a7d6fd2f09caa34226841671
+DIST pytest-9.0.1.tar.gz.provenance 9471 BLAKE2B 7ccebb9ebc162e791ddbbda6c6e6cfa86c647152dd46b1c9665d2ea0be053c9f8054a10261d656f7ab678ef38595a751c0764963b848abeff43bbec3c7c640c1 SHA512 d3bea0c69e383dab300daf71469575cdf6043b86d0e7baa679139d4dd3a7375d4acf019e52e46fb720e765873d00a43a8dad5c0566f42d1e61ecc9859d4a5210
diff --git a/dev-python/pytest/pytest-9.0.1.ebuild b/dev-python/pytest/pytest-9.0.1.ebuild
new file mode 100644
index 000000000000..918d07982502
--- /dev/null
+++ b/dev-python/pytest/pytest-9.0.1.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/pytest-dev/pytest
+PYTHON_TESTED=( python3_{11..14} pypy3_11 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Simple powerful testing with Python"
+HOMEPAGE="
+ https://pytest.org/
+ https://github.com/pytest-dev/pytest/
+ https://pypi.org/project/pytest/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/iniconfig-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-22[${PYTHON_USEDEP}]
+ <dev-python/pluggy-2[${PYTHON_USEDEP}]
+ >=dev-python/pluggy-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.7.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-6.2.3[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ $(python_gen_cond_dep '
+ dev-python/argcomplete[${PYTHON_USEDEP}]
+ >=dev-python/attrs-19.2[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-3.56[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/xmlschema[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+src_test() {
+ # workaround new readline defaults
+ echo "set enable-bracketed-paste off" > "${T}"/inputrc || die
+ local -x INPUTRC="${T}"/inputrc
+ distutils-r1_src_test
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local -x COLUMNS=80
+
+ local EPYTEST_DESELECT=(
+ # broken by epytest args
+ testing/test_warnings.py::test_works_with_filterwarnings
+ testing/test_threadexception.py::test_unhandled_thread_exception_after_teardown
+ testing/test_unraisableexception.py::test_refcycle_unraisable
+
+ # does not like verbosity
+ testing/test_assertrewrite.py::TestAssertionRewrite::test_len
+
+ # tend to be broken by random pytest plugins
+ # (these tests patch PYTEST_DISABLE_PLUGIN_AUTOLOAD out)
+ testing/test_helpconfig.py::test_version_less_verbose
+ testing/test_helpconfig.py::test_version_verbose
+ testing/test_junitxml.py::test_random_report_log_xdist
+ testing/test_junitxml.py::test_runs_twice_xdist
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal_count
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_verbose
+ testing/test_terminal.py::TestProgressWithTeardown::test_xdist_normal
+ testing/test_terminal.py::TestTerminalFunctional::test_header_trailer_info
+ testing/test_terminal.py::TestTerminalFunctional::test_no_header_trailer_info
+
+ # unstable with xdist
+ testing/test_terminal.py::TestTerminalFunctional::test_verbose_reporting_xdist
+
+ # TODO (XPASS)
+ testing/test_debugging.py::TestDebuggingBreakpoints::test_pdb_not_altered
+ testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_simple
+ testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_twice
+ testing/test_debugging.py::TestPDB::test_pdb_with_injected_do_debug
+ testing/test_debugging.py::test_pdb_suspends_fixture_capturing
+
+ # setuptools warnings
+ testing/acceptance_test.py::TestInvocationVariants::test_cmdline_python_namespace_package
+
+ # PDB tests seem quite flaky (they time out often)
+ testing/test_debugging.py::TestPDB
+ )
+
+ case ${EPYTHON} in
+ pypy3*)
+ EPYTEST_DESELECT+=(
+ # regressions on pypy3.9
+ # https://github.com/pytest-dev/pytest/issues/9787
+ testing/test_skipping.py::test_errors_in_xfail_skip_expressions
+ )
+ ;;
+ python3.14)
+ EPYTEST_DESELECT+=(
+ testing/test_doctest.py::TestDoctests::test_doctest_unexpected_exception
+ )
+ ;;
+ esac
+
+ local EPYTEST_PLUGINS=()
+ local EPYTEST_XDIST=1
+ epytest
+}
diff --git a/dev-python/sip/Manifest b/dev-python/sip/Manifest
index e386e141fab8..9bb8fde78511 100644
--- a/dev-python/sip/Manifest
+++ b/dev-python/sip/Manifest
@@ -1,2 +1 @@
-DIST sip-6.12.0.gh.tar.gz 2457825 BLAKE2B 40676b8f989274cb9466f4d68a63bf53aa5d093325a7627b62a5da129eb878a5c4c7f8d351500ad8aab184a9edde980e2476571e235d99283d99271cc10b85b2 SHA512 36e3a70a60560ce5c741a865dd68f9a1863742b413833386b28e838972a5e9eaa932c8a15300af6a0a1e338634202c9c79706fd3e0a10fc7b932d3fc5c80ddb0
DIST sip-6.14.0.gh.tar.gz 2461525 BLAKE2B e7dfe6628a2233d3385785a0f67e72f93061bf91846d02fc2b401377862187d06e3afeaae4c3883faae38ccf66ca6c9742e71b3d1f060f3c24f68366be62527a SHA512 dc67ca7816b883b278dec4e350d62852df2ef386a4013ced6209f0d877882761c82926be01ee0217dd97ac834d8cee358f177f5c5878c6e8acd9738326bdfba4
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
deleted file mode 100644
index f1da2f14f8c3..000000000000
--- a/dev-python/sip/files/sip-6.12.0-python314-test.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-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
deleted file mode 100644
index ec81b652e8d7..000000000000
--- a/dev-python/sip/sip-6.12.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..14} )
-inherit distutils-r1
-
-DESCRIPTION="Python bindings generator for C/C++ libraries"
-HOMEPAGE="https://github.com/Python-SIP/sip/"
-SRC_URI="
- https://github.com/Python-SIP/sip/archive/refs/tags/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD-2 BSD"
-SLOT="5"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools-scm-8[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx docs \
- dev-python/myst-parser \
- dev-python/sphinx-rtd-theme
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}"/${P}-python314-test.patch
-)
diff --git a/dev-python/sphinx-lv2-theme/Manifest b/dev-python/sphinx-lv2-theme/Manifest
index a6df4c3a9234..2b581f91f689 100644
--- a/dev-python/sphinx-lv2-theme/Manifest
+++ b/dev-python/sphinx-lv2-theme/Manifest
@@ -1 +1,2 @@
DIST sphinx_lv2_theme-1.4.2.tar.gz 14331 BLAKE2B 3d0e40af9a48c0595b1b99b87ca6fc35a557d0f7543609ab71deb277563c9c460ac6310179f0384510143fa4056bce1c1338e481f812393ffa82e063c14bc067 SHA512 51c9cca9cd28878496706a4716ec722b695257392ab09adfbfe70e3dadeb72c7620cdbb56562411e8b99d3af942cec63a346781512ead188c6b2d6eae3623336
+DIST sphinx_lv2_theme-1.4.4.tar.gz 15110 BLAKE2B a70ca2b2ff4f390a833e1aae43674e29436f5fe4d9a61b0f800cb8cfc63a03b7f80ada497bb786f148a8079b7993583d8dc928c712c2e685710ef116cd17ea10 SHA512 0ac460a190ef5de3fc3056f3e1fea68df1468140824aebc6c253bdcc39435860676c454dd31447b820afa7e75cd3e2514a1b21dd29a221ef2dd9f12761c92414
diff --git a/dev-python/sphinx-lv2-theme/sphinx-lv2-theme-1.4.4.ebuild b/dev-python/sphinx-lv2-theme/sphinx-lv2-theme-1.4.4.ebuild
new file mode 100644
index 000000000000..d7f9f69423cb
--- /dev/null
+++ b/dev-python/sphinx-lv2-theme/sphinx-lv2-theme-1.4.4.ebuild
@@ -0,0 +1,26 @@
+# 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_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Minimal pure-CSS Sphinx theme using the LV2 plugin documentation style"
+HOMEPAGE="
+ https://gitlab.com/lv2/sphinx_lv2_theme/
+ https://pypi.org/project/sphinx-lv2-theme/
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # https://gitlab.com/lv2/sphinx_lv2_theme/-/issues/4
+ find -name '*.pyc' -delete || die
+}
diff --git a/dev-python/sphinxygen/Manifest b/dev-python/sphinxygen/Manifest
index ccb0d0cf2e41..a61d62c0963b 100644
--- a/dev-python/sphinxygen/Manifest
+++ b/dev-python/sphinxygen/Manifest
@@ -1 +1,2 @@
DIST sphinxygen-v1.0.10.tar.bz2 16711 BLAKE2B 3915125ceb70e50bc9848216e5b98a7d17886184f9aa6838f18030bc8b57f464e305adb84c14e3bd758164973eb85afb76ada0b3928f95a4c6ea96517d6e3a1c SHA512 8789962a76c770eb460b672d753c880574ad7abdf2e971053a8b1460efa166abf1689f4361db186b8a1e2fd91f6c4135d24bb7e413119d8d234f365b337e2c69
+DIST sphinxygen-v1.0.12.tar.bz2 16834 BLAKE2B 708a1908ddb2f6bbe66f794e935eb1a7aafc13f66bdee76e819d94730bcbe45e7f0e192274f5066bbd0fb7109751c2774779f3988a21a7bda455a63538f9d075 SHA512 ceb3cf4fa3a027e2840901db914b27324c2c0debc478ce564785d0d2736b902bbc0a56274364e6b570a2093617b7859bfecc893c0d564100300e45044627dace
diff --git a/dev-python/sphinxygen/sphinxygen-1.0.12.ebuild b/dev-python/sphinxygen/sphinxygen-1.0.12.ebuild
new file mode 100644
index 000000000000..044a258660da
--- /dev/null
+++ b/dev-python/sphinxygen/sphinxygen-1.0.12.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python module/script that generates Sphinx markup to describe a C API"
+HOMEPAGE="
+ https://gitlab.com/drobilla/sphinxygen/
+ https://pypi.org/project/sphinxygen/
+"
+SRC_URI="
+ https://gitlab.com/drobilla/sphinxygen/-/archive/v${PV}/${PN}-v${PV}.tar.bz2
+"
+S="${WORKDIR}/${PN}-v${PV}"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ app-text/doxygen
+ dev-python/sphinx[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/html5lib[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/tblib/Manifest b/dev-python/tblib/Manifest
index 98478b6fd595..3a0b20ce44a3 100644
--- a/dev-python/tblib/Manifest
+++ b/dev-python/tblib/Manifest
@@ -1,3 +1,4 @@
DIST tblib-3.1.0.tar.gz 30766 BLAKE2B aa28e1f4a851b8562d0545643afc7293e3c0cf173a4a0ca04927958b143ace94ad36f449401fd237797a7f978d10f3080f4419fdc89f0e07503f5dbe7ad1f05f SHA512 619e3a45322da4833e839e1af92231fee515f88fadf31f2544ba04d994f203778e4bb7c83abb937d89ff8fa1aa6949d3769cc7d828daf600833801f479bdfd33
DIST tblib-3.2.0.tar.gz 33384 BLAKE2B 22df8b178a11c4db288b74bf694a663854c67982cdebea18e462c9bb7bbab6d0f4bc4655b90a44f49ef6ae655d7276dc6c2d2b0156021a589ffef00c9ac96602 SHA512 89a59c75ee177310494f12e3fdef8e51a1b17ca5461664fa7c1ea87e9187cb2225fff423b656ee605c0eac0d47b1bd575c9500788275f7ea88c8f877d2e5caa0
DIST tblib-3.2.1.tar.gz 34562 BLAKE2B f94796438f4e9e99cbc563b33b16b2f1380bbb0f73c1d9b01870f385edfb63cc7ca01c5be4744ae03d1fd8494803f90881c827562a92e79f5b246d7f0204cbec SHA512 025ab5c7944a279e8ee3bdb8ef9a1797e085f3ecf85d2bbda0861ee2d8d2de578464d36db388f991216db408179ef02bc09bdae23f9dbb95862aa5d31a7dfa21
+DIST tblib-3.2.2.tar.gz 35046 BLAKE2B 4b43a7e46d55aa573e78accbe73b4f4d4c7633e5e669e8365eed67ba4cccb6b9a36c4b4ef01b55d4800e6b0eda38f8147af43c3b3c5afe2b5f79d131f3ae4dcd SHA512 4b2876f4204fcf95a0b51fd353ea174fd6c59c5ddf55d021cfa991068189457805429278dd8e625d072097b5be37f240f4a2953663d87967a8e1941af582b535
diff --git a/dev-python/tblib/tblib-3.2.2.ebuild b/dev-python/tblib/tblib-3.2.2.ebuild
new file mode 100644
index 000000000000..cb975192d453
--- /dev/null
+++ b/dev-python/tblib/tblib-3.2.2.ebuild
@@ -0,0 +1,43 @@
+# 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_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Traceback fiddling library for Python"
+HOMEPAGE="
+ https://github.com/ionelmc/python-tblib/
+ https://pypi.org/project/tblib/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+BDEPEND="
+ test? (
+ dev-python/twisted[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ sed -i -e '/--benchmark-disable/d' pytest.ini || die
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ tests/test_perf.py
+ )
+
+ local -x PYTHONNODEBUGRANGES=yes
+ epytest
+}
diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest
index 9de20c2e8029..148406145016 100644
--- a/dev-python/uv-build/Manifest
+++ b/dev-python/uv-build/Manifest
@@ -2,3 +2,4 @@ DIST uv_build-0.9.4.tar.gz 332506 BLAKE2B 3b65cc80192cf3abc33bcf01735c8b7f937a12
DIST uv_build-0.9.6.tar.gz 332253 BLAKE2B 2c3fa23dbe36b0866a3a3194b07ee1212cb00acd785c375646c3eb6c97a63435f28c9e934f56c8d6feeec145aace1aad37550b85ae2a611f521fc25a4c7d3bc1 SHA512 e8d8bbd46c92722261722f3d8865b2b24e695edf52652c1d1310adae3cb437ebef5397feda90e3bf863394ca75cf3024eb90a5f80b2b92af24ede4e2f81b0ce1
DIST uv_build-0.9.7.tar.gz 332992 BLAKE2B 069e615f41e78098b61cc073cb01bc77e0e6778f3054ccfcf36985be3755d7e819cc1bd151e875db109461f423cc855cd336467015ec7103e47346f230564679 SHA512 d61249de00640f6e0ab62ab440a8aae1802acbd6cf8ecb8aca3efe26361d7191d057735ab91c174c5772fc04accf0ae3281f447d010c99e2f458829f4c618abc
DIST uv_build-0.9.8.tar.gz 333344 BLAKE2B 4a841b4ca879734917bd09a7d1960dad322baa969fc55ec038c0318e8931ac129a0a3d03865a55ba4fa4a0f4beba398c1715c8faf1a275c1a4458317841253e6 SHA512 2c5f54a887ce7256911dabb54435618354f3caa1a941e77ed5a4b1c7015221a0009da08e8c46d569f92ac263bc544335ed2060de37ac5c27ee0789153f2edbac
+DIST uv_build-0.9.9.tar.gz 335127 BLAKE2B f3d9bcefc948a95219cb1b2420bf6056c0a32cd5217ffe443a8d19a3c1bf9c8458dae63d2b2cdf48bcd6b27fd1ebc1a1d0209dd8087a9e84697b3bea9d7eb580 SHA512 1be1d726589a5edf657c55a464cfbb4b109500585de9cd7de90572ddaea5ccdfef1aaba9262352f4533c7962e252ff6f03f093c21b2d54d0168d2bb93a0a1d01
diff --git a/dev-python/uv-build/uv-build-0.9.9.ebuild b/dev-python/uv-build/uv-build-0.9.9.ebuild
new file mode 100644
index 000000000000..fe8e9650d15e
--- /dev/null
+++ b/dev-python/uv-build/uv-build-0.9.9.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_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="PEP517 uv build backend"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv-build/
+"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/uv-${PV}
+"
+BDEPEND="
+ test? (
+ app-arch/unzip
+ dev-python/build[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # use the executable from dev-python/uv instead of building
+ # a largely overlapping uv-build executable (at least for now)
+ sed -i -e '/USE_UV_EXECUTABLE/s:False:True:' python/uv_build/__init__.py || die
+
+ # replace the build-system section
+ sed -i -e '/\[build-system\]/,$d' pyproject.toml || die
+ cat >> pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["uv_build<9999"]
+ build-backend = "uv_build"
+ backend-path = ["src"]
+ EOF
+
+ # rename to make uv-build find it
+ mv python src || die
+}
+
+python_test() {
+ "${EPYTHON}" -m build -n || die "Self-build failed with ${EPYTHON}"
+
+ local zip_result=$(
+ unzip -t "dist/uv_build-${PV}-py3-none-any.whl" || die
+ )
+ local zip_expected="\
+Archive: dist/uv_build-${PV}-py3-none-any.whl
+ testing: uv_build/ OK
+ testing: uv_build/__init__.py OK
+ testing: uv_build/__main__.py OK
+ testing: uv_build/py.typed OK
+ testing: uv_build-${PV}.dist-info/ OK
+ testing: uv_build-${PV}.dist-info/WHEEL OK
+ testing: uv_build-${PV}.dist-info/METADATA OK
+ testing: uv_build-${PV}.dist-info/RECORD OK
+No errors detected in compressed data of dist/uv_build-${PV}-py3-none-any.whl.\
+"
+ if [[ ${zip_result} != ${zip_expected} ]]; then
+ eerror ".zip result:\n${zip_result}"
+ eerror ".zip expected:\n${zip_expected}"
+ die ".whl result mismatch"
+ fi
+
+ local tar_result=$(
+ tar -tf "dist/uv_build-${PV}.tar.gz" || die
+ )
+ local tar_expected="\
+uv_build-${PV}/PKG-INFO
+uv_build-${PV}/
+uv_build-${PV}/README.md
+uv_build-${PV}/pyproject.toml
+uv_build-${PV}/src
+uv_build-${PV}/src/uv_build
+uv_build-${PV}/src/uv_build/__init__.py
+uv_build-${PV}/src/uv_build/__main__.py
+uv_build-${PV}/src/uv_build/py.typed\
+"
+ if [[ ${tar_result} != ${tar_expected} ]]; then
+ eerror ".tar.gz result:\n${tar_result}"
+ eerror ".tar.gz expected:\n${tar_expected}"
+ die ".tar.gz result mismatch"
+ fi
+}
diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest
index 741b569ae5f2..87a261e15523 100644
--- a/dev-python/uv/Manifest
+++ b/dev-python/uv/Manifest
@@ -10,3 +10,5 @@ DIST uv-0.9.6.gh.tar.gz 4756506 BLAKE2B 382f6f2ae6669dc58623f2d3bd22b18dd3d73d6a
DIST uv-0.9.7.gh.tar.gz 4756224 BLAKE2B 0600bb72e740bc262ed6abcc24ca631e416cee5d884237ce92444b9cc11fdd78f9859c2d5a7561329f6c14035a61bd2cb179947c7ab1cfe9af6bf66535b81364 SHA512 4a9c1beda1c53a4658c657c0e20f6bd3865e034ae87ce7a9e02f0b0125785f46e316f8e95aa3ce24b3c71a6e6d8011dea55bbe9a61e48ad11c684b09804afa9d
DIST uv-0.9.8-crates.tar.xz 45988988 BLAKE2B 75be436b353584b21f101a19bc837ebc4df174232bf2172a37f068c316589d3de3ec903c8603e508e23999fd7d08a50169a195ce23c1d5677195a1c1cd7ad7db SHA512 c958b95f02617ab0ea3c88e4495c1af644646191fc55d769201c1c46f59894fafdf89d00d0a7485f5ac087c1b7da399ba6139ce500554296348b583df86c6de0
DIST uv-0.9.8.gh.tar.gz 4764698 BLAKE2B e1f4b7f4618c2dfa4af7a79ec36a3780c5b72ba2da0343d1f0c85a657857cb36741ecf21774d1991bd3567604b2edc2cec0f31d54c5dfc97f8c22cddccd89636 SHA512 be46be8cfebc5d3676980eb3a4660d36b5dc68d54c584a54b7fffa66b204bb3bc105cd021214a0fc9e16251b36951f6761855f2f94932c68211623dfdb1d2775
+DIST uv-0.9.9-crates.tar.xz 46242856 BLAKE2B 7b3e091ddc3c7ffc64419c4935c17c0e2adbbb445ec9f76c3362cd844ce7d2d082a59712b496ce2df8bb14f090cc8afdfe3f6601958462711cae37ecb2b5aaaf SHA512 3ca7ba56244f6184a4a72131791b25af0f981478e652a54c0eab75ded20459b9a87cf8a1fed77d0b5d7a3f0af342266d31e909aa2d1bd05cfd34ada8031935aa
+DIST uv-0.9.9.gh.tar.gz 4777959 BLAKE2B af5c362d263024ca59bc19ec1935c731dd50e1e4846421221c23e38f8ca0f9c9bb72c3bf20ca1c9ec26d3746f57b9e8c3111a87cca8613648535f89ff5e6f2b4 SHA512 ec44f1c6f8fe30e2a23e5d1bd871ee21f1cff3e84842133d9388f8f0f6c48e399600a386d77c27e562598fdf9bd4dfc2b7a655b295f7c8925352828c02023eea
diff --git a/dev-python/uv/uv-0.9.9.ebuild b/dev-python/uv/uv-0.9.9.ebuild
new file mode 100644
index 000000000000..04432a4205d4
--- /dev/null
+++ b/dev-python/uv/uv-0.9.9.ebuild
@@ -0,0 +1,182 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+RUST_MIN_VER="1.89.0"
+
+declare -A GIT_CRATES=(
+ [async_zip]='https://github.com/astral-sh/rs-async-zip;f6a41d32866003c868d03ed791a89c794f61b703;rs-async-zip-%commit%'
+ [pubgrub]='https://github.com/astral-sh/pubgrub;d8efd77673c9a90792da9da31b6c0da7ea8a324b;pubgrub-%commit%'
+ [reqwest-middleware]='https://github.com/astral-sh/reqwest-middleware;7650ed76215a962a96d94a79be71c27bffde7ab2;reqwest-middleware-%commit%/reqwest-middleware'
+ [reqwest-retry]='https://github.com/astral-sh/reqwest-middleware;7650ed76215a962a96d94a79be71c27bffde7ab2;reqwest-middleware-%commit%/reqwest-retry'
+ [version-ranges]='https://github.com/astral-sh/pubgrub;d8efd77673c9a90792da9da31b6c0da7ea8a324b;pubgrub-%commit%/version-ranges'
+)
+
+inherit cargo check-reqs
+
+CRATE_PV=${PV}
+DESCRIPTION="A Python package installer and resolver, written in Rust"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv/
+"
+# pypi sdist misses scripts/, needed for tests
+SRC_URI="
+ https://github.com/astral-sh/uv/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://github.com/gentoo-crate-dist/uv/releases/download/${CRATE_PV}/uv-${CRATE_PV}-crates.tar.xz
+ "
+fi
+
+# most of the code
+LICENSE="|| ( Apache-2.0 MIT )"
+# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below
+# Dependent crate licenses
+LICENSE+="
+ 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0
+ CDLA-Permissive-2.0 ISC MIT MPL-2.0 Unicode-3.0 Unicode-DFS-2016
+ ZLIB
+"
+# ring crate
+LICENSE+=" openssl"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="test"
+PROPERTIES="test_network"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/xz-utils:=
+ app-arch/zstd:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ test? (
+ dev-lang/python:3.9
+ dev-lang/python:3.10
+ dev-lang/python:3.11
+ dev-lang/python:3.12
+ dev-lang/python:3.13
+ !!~dev-python/uv-0.5.0
+ )
+"
+
+QA_FLAGS_IGNORED="usr/bin/.*"
+
+check_space() {
+ local CHECKREQS_DISK_BUILD=3G
+ use debug && CHECKREQS_DISK_BUILD=9G
+ check-reqs_pkg_setup
+}
+
+pkg_pretend() {
+ check_space
+}
+
+pkg_setup() {
+ check_space
+ rust_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # replace upstream crate substitution with our crate substitution, sigh
+ local pkg
+ for pkg in reqwest-middleware reqwest-retry; do
+ local dep=$(grep "^${pkg}" "${ECARGO_HOME}"/config.toml || die)
+ sed -i -e "/\[patch\.crates-io\]/,\$s;^${pkg}.*$;${dep};" Cargo.toml || die
+ done
+
+ # force thin lto, makes build much faster and less memory hungry
+ # (i.e. makes it possible to actually build uv on 32-bit PPC)
+ sed -i -e '/lto/s:fat:thin:' Cargo.toml || die
+
+ # enable system libraries where supported
+ export ZSTD_SYS_USE_PKG_CONFIG=1
+ # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys?
+
+ # remove unbundled sources, just in case
+ find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die
+
+ # bzip2-sys requires a pkg-config file
+ # https://github.com/alexcrichton/bzip2-rs/issues/104
+ mkdir "${T}/pkg-config" || die
+ export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}}
+ cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die
+ Name: bzip2
+ Version: 9999
+ Description:
+ Libs: -lbz2
+ EOF
+}
+
+src_configure() {
+ local myfeatures=(
+ git
+ pypi
+ python
+ )
+
+ cargo_src_configure --no-default-features
+}
+
+src_compile() {
+ cd crates/uv || die
+ cargo_src_compile
+}
+
+src_test() {
+ # work around https://github.com/astral-sh/uv/issues/4376
+ local -x PATH=${BROOT}/usr/lib/python-exec/python3.12:${PATH}
+ local -x COLUMNS=100
+ local -x PYTHONDONTWRITEBYTECODE=
+ # fix tests failing because of our config
+ local -x XDG_CONFIG_DIRS=${T}
+
+ cd crates/uv || die
+ cargo_src_test --no-fail-fast
+}
+
+src_install() {
+ cd crates/uv || die
+ cargo_src_install
+
+ insinto /etc/xdg/uv
+ newins - uv.toml <<-EOF || die
+ # These defaults match Fedora, see:
+ # https://src.fedoraproject.org/rpms/uv/pull-request/18
+
+ # By default ("automatic"), uv downloads missing Python versions
+ # automatically and keeps them in the user's home directory.
+ # Disable that to make downloading opt-in, and especially
+ # to avoid unnecessarily fetching custom Python when the distro
+ # package would be preferable. Python builds can still be
+ # downloaded manually via "uv python install".
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-downloads
+ python-downloads = "manual"
+
+ # By default ("managed"), uv always prefers self-installed
+ # Python versions over the system Python, independently
+ # of versions. Since we generally expect users to use that
+ # to install old Python versions not in ::gentoo anymore,
+ # this effectively means that uv would end up preferring very
+ # old Python versions over the newer ones that are provided
+ # by the system. Default to using the system versions to avoid
+ # this counter-intuitive behavior.
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-preference
+ python-preference = "system"
+ EOF
+}
diff --git a/dev-python/wsproto/Manifest b/dev-python/wsproto/Manifest
index b0917086ac05..d9e4dd498f44 100644
--- a/dev-python/wsproto/Manifest
+++ b/dev-python/wsproto/Manifest
@@ -1,2 +1,3 @@
DIST wsproto-1.2.0.tar.gz 53425 BLAKE2B 0b6bafb5d67be54a9b9c77a9682caf1071e82321fb9112ff977b643956ef5d2d5dcc7e523c6e3038c4548adb7b4f022fe2664112b7a10ab0e183d578158b0711 SHA512 43270687a1cfb5f35423c527de5b9db7ee2ddf27d416f47358386c1c94dc3f836a601f300bf66441c4b90130e6e6f502fb29dfeb2374dd76aefa19cfbb70a372
DIST wsproto-1.3.0.tar.gz 49977 BLAKE2B e9cc7d538cdd7773c0951376611de0a9b02f878df7eb60691a393ffb4e64028f4e4e16ea95aa51171f8312dfa87880ce30d0bf0f3995a620dc19d905df494977 SHA512 9a954eeb51f317aafd256483fc05255c470a99d8bc898f6377c60b828a2bd4c84be299995a03ac6cd36dc2efcea79e5a3ed36f5eb90086322de5c5ab1a260346
+DIST wsproto-1.3.1.tar.gz 50083 BLAKE2B eb8a9f1223ac596e5d42b2ca9c33de5919018b8e5674e8e5dcd62ac06ddf095f147d91b4ab8a1b126f912a1e359fbc1bc55655083642df9e4c5708132b2e4239 SHA512 266cab34ad4ddb0bc36e7d26df2422ba554459c58015a2e7bec0093dc014bbbf80ce628ad8e78be04ef224578966b30884c2a58f68a8d2470212fa7cfc33d8eb
diff --git a/dev-python/wsproto/wsproto-1.3.1.ebuild b/dev-python/wsproto/wsproto-1.3.1.ebuild
new file mode 100644
index 000000000000..e13aba6ff569
--- /dev/null
+++ b/dev-python/wsproto/wsproto-1.3.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="WebSockets state-machine based protocol implementation"
+HOMEPAGE="
+ https://github.com/python-hyper/wsproto/
+ https://pypi.org/project/wsproto/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ <dev-python/h11-1[${PYTHON_USEDEP}]
+ >=dev-python/h11-0.16.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest