summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-05-29 19:00:44 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-05-29 19:00:44 +0000
commit5e57d2b387148ab942c22849d50e0e660168bf58 (patch)
treeba309ab406957738c4a9c6b5b47d939bce7f811b /dev-python
parent6318c36da93108c6cfcd5d709504ac7483fbdbe9 (diff)
downloadbaldeagleos-repo-5e57d2b387148ab942c22849d50e0e660168bf58.tar.gz
baldeagleos-repo-5e57d2b387148ab942c22849d50e0e660168bf58.tar.xz
baldeagleos-repo-5e57d2b387148ab942c22849d50e0e660168bf58.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/PyQt5-stubs/Manifest1
-rw-r--r--dev-python/PyQt5-stubs/PyQt5-stubs-5.15.6.0-r1.ebuild32
-rw-r--r--dev-python/aiohttp/Manifest1
-rw-r--r--dev-python/aiohttp/aiohttp-3.12.4.ebuild154
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.38.25.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.38.25.ebuild75
-rw-r--r--dev-python/braintree/Manifest1
-rw-r--r--dev-python/braintree/braintree-4.36.0.ebuild39
-rw-r--r--dev-python/fonttools/Manifest1
-rw-r--r--dev-python/fonttools/fonttools-4.58.1.ebuild99
-rw-r--r--dev-python/fs/fs-2.4.16-r1.ebuild (renamed from dev-python/fs/fs-2.4.16.ebuild)8
-rw-r--r--dev-python/inline-snapshot/Manifest1
-rw-r--r--dev-python/inline-snapshot/inline-snapshot-0.23.2.ebuild61
-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.ebuild6
-rw-r--r--dev-python/langdetect/metadata.xml10
-rw-r--r--dev-python/lsp-tree-sitter/Manifest1
-rw-r--r--dev-python/lsp-tree-sitter/lsp-tree-sitter-0.0.17.ebuild31
-rw-r--r--dev-python/lsp-tree-sitter/metadata.xml12
-rw-r--r--dev-python/magic-wormhole/Manifest1
-rw-r--r--dev-python/magic-wormhole/files/magic-wormhole-0.19.0-test.patch25
-rw-r--r--dev-python/magic-wormhole/magic-wormhole-0.19.0.ebuild80
-rw-r--r--dev-python/phonenumbers/Manifest1
-rw-r--r--dev-python/phonenumbers/phonenumbers-9.0.6.ebuild39
-rw-r--r--dev-python/protobuf/Manifest10
-rw-r--r--dev-python/protobuf/protobuf-4.25.4.ebuild29
-rw-r--r--dev-python/protobuf/protobuf-4.25.5.ebuild29
-rw-r--r--dev-python/protobuf/protobuf-4.25.6.ebuild29
-rw-r--r--dev-python/protobuf/protobuf-5.27.2.ebuild29
-rw-r--r--dev-python/protobuf/protobuf-5.27.4.ebuild29
-rw-r--r--dev-python/protobuf/protobuf-5.28.0.ebuild29
-rw-r--r--dev-python/protobuf/protobuf-5.28.3.ebuild29
-rw-r--r--dev-python/protobuf/protobuf-5.29.2.ebuild29
-rw-r--r--dev-python/protobuf/protobuf-5.29.4-r1.ebuild (renamed from dev-python/protobuf/protobuf-5.29.4.ebuild)7
-rw-r--r--dev-python/protobuf/protobuf-5.29.5.ebuild (renamed from dev-python/protobuf/protobuf-5.27.5.ebuild)9
-rw-r--r--dev-python/protobuf/protobuf-6.30.2-r1.ebuild (renamed from dev-python/protobuf/protobuf-6.30.2.ebuild)7
-rw-r--r--dev-python/pygls/Manifest1
-rw-r--r--dev-python/pygls/metadata.xml (renamed from dev-python/PyQt5-stubs/metadata.xml)8
-rw-r--r--dev-python/pygls/pygls-1.3.1.ebuild38
-rw-r--r--dev-python/pysdl3/Manifest1
-rw-r--r--dev-python/pysdl3/pysdl3-0.9.8_beta2.ebuild48
-rw-r--r--dev-python/python-caja/python-caja-1.28.0.ebuild2
-rw-r--r--dev-python/python-jose/Manifest1
-rw-r--r--dev-python/python-jose/python-jose-3.5.0.ebuild49
-rw-r--r--dev-python/redis/Manifest1
-rw-r--r--dev-python/redis/redis-6.2.0.ebuild110
-rw-r--r--dev-python/regress/Manifest6
-rw-r--r--dev-python/regress/regress-2025.5.1.ebuild59
-rw-r--r--dev-python/sqlglot/Manifest8
-rw-r--r--dev-python/sqlglot/sqlglot-26.22.1.ebuild (renamed from dev-python/sqlglot/sqlglot-26.21.0.ebuild)0
-rw-r--r--dev-python/sqlglot/sqlglot-26.23.0.ebuild (renamed from dev-python/sqlglot/sqlglot-26.22.0.ebuild)88
-rw-r--r--dev-python/stripe/Manifest1
-rw-r--r--dev-python/stripe/stripe-12.2.0.ebuild95
-rw-r--r--dev-python/svg-path/svg-path-6.3-r1.ebuild (renamed from dev-python/svg-path/svg-path-6.3.ebuild)25
-rw-r--r--dev-python/types-setuptools/Manifest1
-rw-r--r--dev-python/types-setuptools/types-setuptools-80.9.0.20250529.ebuild16
-rw-r--r--dev-python/vpython/vpython-7.6.5-r1.ebuild2
-rw-r--r--dev-python/zc-lockfile/zc-lockfile-3.0_p1-r1.ebuild (renamed from dev-python/zc-lockfile/zc-lockfile-3.0_p1.ebuild)2
61 files changed, 1267 insertions, 309 deletions
diff --git a/dev-python/PyQt5-stubs/Manifest b/dev-python/PyQt5-stubs/Manifest
deleted file mode 100644
index c580d33a72fe..000000000000
--- a/dev-python/PyQt5-stubs/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST PyQt5-stubs-5.15.6.0.gh.tar.gz 496888 BLAKE2B 01c0d8478783fe7ef4e460cb5b5823315dbb389ef29213ce77444fa021b43508a30c125e66d59bd28b017ee0798e7815dd2a8eff86a6ce9bf25fbe0f4274771a SHA512 76c7a94f9f949dd4d9c67fedb74aab2c9246834a6ad99fb28003e35bdad6a262b26051c17180b9a2b511e228a038e5c64ccc9885095c4239740cda339e91801e
diff --git a/dev-python/PyQt5-stubs/PyQt5-stubs-5.15.6.0-r1.ebuild b/dev-python/PyQt5-stubs/PyQt5-stubs-5.15.6.0-r1.ebuild
deleted file mode 100644
index bb808bb957ab..000000000000
--- a/dev-python/PyQt5-stubs/PyQt5-stubs-5.15.6.0-r1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2023-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-DESCRIPTION="Stubs for PyQt5"
-HOMEPAGE="
- https://pypi.org/project/PyQt5-stubs/
- https://github.com/python-qt-tools/PyQt5-stubs
-
-"
-
-# no tests on pypi
-SRC_URI="https://github.com/python-qt-tools/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64"
-
-DEPEND="test? (
- dev-python/mypy[${PYTHON_USEDEP}]
- dev-python/pyqtwebengine[${PYTHON_USEDEP}]
- dev-python/pyqt5[${PYTHON_USEDEP},dbus,declarative,designer,multimedia,network,opengl,serialport,sql,svg,widgets]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/aiohttp/Manifest b/dev-python/aiohttp/Manifest
index 341298c4cb6b..d4cbe135dc5b 100644
--- a/dev-python/aiohttp/Manifest
+++ b/dev-python/aiohttp/Manifest
@@ -2,3 +2,4 @@ DIST aiohttp-3.11.14.tar.gz 7676994 BLAKE2B e8e048c01db9600df3bdc7bdc6e5066094b4
DIST aiohttp-3.11.18.tar.gz 7678653 BLAKE2B 5886778fd0456ef40f1da5abd3d6a3864db03fad01d53755bb34afd77152da338480ba534c5dc1574bd5aa178943ec52814f1ceff736d668868803b19f6c102f SHA512 9b25ad5f9800cd84014c55f6a4f7ac217a788a43e301a83c18667b6f294388adf53c81360fd3219007b10b42ce165331dad1907582dc9d3081fd8585b5bcd042
DIST aiohttp-3.12.0.tar.gz 7762804 BLAKE2B 2fa51165917038cc8442cc4dab74373b47862cc1eca54a33e2a4b0f46c0362ca984614fec8615b4d89f065af039de9576b00c1c5b566c1758d608ef1e43702dc SHA512 8b3ad37b9aa73eb8961a397cc62dadea8ff286e2de1d91d9cb94f9ac86ae0fbd0127a6fa2867710f2e9accae1093892da4b87c17d5e7c24f8031670a3585d41b
DIST aiohttp-3.12.2.tar.gz 7780423 BLAKE2B 47c7dccb2666c4641bbcfdba4f13f2f423e84d3043163dd9c2436aa32ccb2698b2a6ceb7c0ccf5defc98c1fb5799b39849a0a25f8aa37aaa4aab186b2b936c68 SHA512 8c6aed54ae385962fb1ad34f6f80f322612d7aec6c65845c56e8047b6b4e4102f9044964ac34ed765a09799bb6753e980ce51bf8194ce2e1ec7a9d8dd7c5cbd1
+DIST aiohttp-3.12.4.tar.gz 7781788 BLAKE2B ccaa2656ef0e68687bad17608557413d8139b516e9e56dde473147f2c449ff1066878934a3a77b796e304c8ce0d48bf81c13ca65468187fdd686e51426fe8f9c SHA512 86e88a3be0d6a4993dbcf5a28bebbe19ded15466d539c6933cf2c8990bb684d436673685e419662efe1655a315e31642a60805d348ead9eeda909522720b8434
diff --git a/dev-python/aiohttp/aiohttp-3.12.4.ebuild b/dev-python/aiohttp/aiohttp-3.12.4.ebuild
new file mode 100644
index 000000000000..cff1ef1629c6
--- /dev/null
+++ b/dev-python/aiohttp/aiohttp-3.12.4.ebuild
@@ -0,0 +1,154 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="HTTP client/server for asyncio"
+HOMEPAGE="
+ https://github.com/aio-libs/aiohttp/
+ https://pypi.org/project/aiohttp/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~riscv ~x86"
+IUSE="+native-extensions test-rust"
+
+DEPEND="
+ native-extensions? (
+ $(python_gen_cond_dep '
+ net-libs/llhttp:=
+ ' 'python3*')
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/aiodns-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/aiohappyeyeballs-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/aiosignal-1.1.2[${PYTHON_USEDEP}]
+ >=dev-python/attrs-17.3.0[${PYTHON_USEDEP}]
+ dev-python/brotlicffi[${PYTHON_USEDEP}]
+ >=dev-python/frozenlist-1.1.1[${PYTHON_USEDEP}]
+ >=dev-python/multidict-4.5.0[${PYTHON_USEDEP}]
+ >=dev-python/propcache-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/yarl-1.17.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ native-extensions? (
+ >=dev-python/cython-3.1.1[${PYTHON_USEDEP}]
+ dev-python/pkgconfig[${PYTHON_USEDEP}]
+ )
+ test? (
+ dev-python/blockbuster[${PYTHON_USEDEP}]
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/isal[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/re-assert[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/time-machine[${PYTHON_USEDEP}]
+ ' 'python3*')
+ dev-python/zlib-ng[${PYTHON_USEDEP}]
+ www-servers/gunicorn[${PYTHON_USEDEP}]
+ test-rust? (
+ dev-python/trustme[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+DOCS=( CHANGES.rst CONTRIBUTORS.txt README.rst )
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # increase the timeout a little
+ sed -e '/abs=/s/0.001/0.01/' -i tests/test_helpers.py || die
+ # xfail_strict fails on py3.10
+ sed -i -e '/--cov/d' -e '/pytest_cov/d' -e '/xfail_strict/d' setup.cfg || die
+ sed -i -e 's:-Werror::' Makefile || die
+ # remove vendored llhttp
+ rm -r vendor || die
+}
+
+python_configure() {
+ # check for .install-cython, so that we do this only once
+ if [[ ! -f .install-cython && ${EPYTHON} != pypy3 ]] &&
+ use native-extensions
+ then
+ # force rehashing first
+ emake requirements/.hash/cython.txt.hash
+ > .update-pip || die
+ > .install-cython || die
+ emake cythonize
+ fi
+}
+
+python_compile() {
+ local -x AIOHTTP_USE_SYSTEM_DEPS=1
+ # implicitly disabled for pypy3
+ if ! use native-extensions; then
+ local -x AIOHTTP_NO_EXTENSIONS=1
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # proxy is not packaged
+ tests/test_proxy_functional.py
+ # python_on_whales is not packaged
+ tests/autobahn/test_autobahn.py
+ # benchmarks
+ tests/test_benchmarks_client.py
+ tests/test_benchmarks_client_request.py
+ tests/test_benchmarks_client_ws.py
+ tests/test_benchmarks_cookiejar.py
+ tests/test_benchmarks_http_websocket.py
+ tests/test_benchmarks_http_writer.py
+ tests/test_benchmarks_web_fileresponse.py
+ tests/test_benchmarks_web_middleware.py
+ tests/test_benchmarks_web_response.py
+ tests/test_benchmarks_web_urldispatcher.py
+ )
+
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/test_client_session.py::test_client_session_timeout_zero
+ # broken by irrelevant deprecation warnings
+ tests/test_circular_imports.py::test_no_warnings
+ )
+
+ case ${EPYTHON} in
+ python3.14)
+ EPYTEST_DESELECT+=(
+ # TODO
+ tests/test_cookiejar.py::test_pickle_format
+ # different exception message
+ tests/test_client_functional.py::test_aiohttp_request_coroutine
+ )
+ ;;
+ esac
+
+ # upstream unconditionally blocks building C extensions
+ # on PyPy3 but the test suite needs an explicit switch
+ if [[ ${EPYTHON} == pypy3* ]] || ! use native-extensions; then
+ local -x AIOHTTP_NO_EXTENSIONS=1
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_mock,xdist.plugin
+ rm -rf aiohttp || die
+ epytest -m "not internal and not dev_mode" \
+ -p rerunfailures --reruns=5
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 89fbc1534a90..6105fb4f31eb 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -2,3 +2,4 @@ DIST boto3-1.38.13.gh.tar.gz 939786 BLAKE2B 5c65c92b79ce28f398170950ed0fbce84a00
DIST boto3-1.38.18.gh.tar.gz 943830 BLAKE2B 2605415f7c48efd5322f6a514fb2cf7ede8724b71e8c2f0758c50bf3137a03557c17e12702f628de155e2289e42b912f645a75845921b7674140c8cb49a92d7d SHA512 af9dbf07a2a2dd378fbf5d346b9a4b43d74ccaaf2bc713f738e122ba402529aec6361ca7971101e88a1ed7e39623a69a4d84272505e39fedc5d7a89985cdaf98
DIST boto3-1.38.23.gh.tar.gz 946184 BLAKE2B cf405adb1f47bcaba2185f2c120b8642f8fe2f68a33bc807854ad32bcd7eec99282a800f13a5273225e7fda6e3415ad8ef7ffd173e5cad21539c0f2765836506 SHA512 fdd7c9ae335afa772b919ffa8989323f54a409e8f7e9483528a199e038aad3b341663ec3a72f78c695e2ef44601caf682e3f769c5a869ea2d0545c9dd7a035a8
DIST boto3-1.38.24.gh.tar.gz 946456 BLAKE2B 3e4a38b1cebd92d43b139c22762527656dd9451e80e6497262b19d0d9ef5dc5493c52fcb54c68a437db2730aa7ff175f9a0a6079e88bc88077ced0350e2aca4a SHA512 780f92871b5b360f086af5bc09a5fa4b57c0b2d30fcd50140ee8c55b79ae83368c227cef85c67d42401d11aa4b9fc03125d0c004bcab2b33c5ee55ee62788bc7
+DIST boto3-1.38.25.gh.tar.gz 946829 BLAKE2B bfe66d022fe75fabc609f45cee7b1b235377be7ed2ec39431582ebf7d4955279592c965519ccdcbb444bdaadb08a600bb2332e64d79b88447d41f483b6d4b404 SHA512 b25a778f278a441be89ed652a45e4f521455cd34e02bd98f2d14bce8cca0ddd6e76d0ed06b12c4eb47446c38a1a2b23134059b36724b923d0f499322b3629b07
diff --git a/dev-python/boto3/boto3-1.38.25.ebuild b/dev-python/boto3/boto3-1.38.25.ebuild
new file mode 100644
index 000000000000..2557a5f5330a
--- /dev/null
+++ b/dev-python/boto3/boto3-1.38.25.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.13.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index 2987bae4468f..08cd17f9ccec 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -2,3 +2,4 @@ DIST botocore-1.38.13.gh.tar.gz 14619576 BLAKE2B 088dfd540934b2c1f20e5a63ffd3aa2
DIST botocore-1.38.18.gh.tar.gz 14648125 BLAKE2B b77da532e815f8cc270b78c5bfab8a9e9532e0909bab901eee68dca266b457e63fb5b5a844ee9c0ffd6cdeae7df570da7dc59ca50f47c19516d4d2578f07cb1d SHA512 59a1235400068b9246273340af5b198c77cffe5d1da1d2856a3bebc0bb5799329a1986a19dad50e2e85f1063cab920039aa00062a2d2250db9dc7ecc6fa63241
DIST botocore-1.38.23.gh.tar.gz 14649388 BLAKE2B d60b5e5d7fb445f332eed57f3317d3add82dd2123ab4199dc934a9a4d68c2b91947a9e50e3847da4bed06aac402542f2bbe4ea92bd47d72de86be3f8f5571b2f SHA512 d602d19c9160d10aeb06aae911052da50dd66ef0f43e459d5911bed24acba5ac948781f1e8f6f43b377847670f2d074e044f454b043ba33859fc0ca0ba67976a
DIST botocore-1.38.24.gh.tar.gz 14651552 BLAKE2B e4011257f1f1409446ad89d7ec332927c41d0d427d60ca7f9317ad57ba8cbd54448a3e4ee028533af7c2551dbcfe188f3c50e9a6fd33c18388671e5e969674f4 SHA512 5284444300ec18450ca2100b60f49877757ee0ca5fa3f4eeb865c02cf08a328113e5fa8491119afc65b86342f32e59215b75cf052c008650d8003b90ea6e3ca1
+DIST botocore-1.38.25.gh.tar.gz 14659871 BLAKE2B 1450fac6d5dd5757f3ecfc2d4c564202b5da262d6001afdd412f48583b03a42a7acd70903fd8fc7543b7cd0caba382049964fb566628ea67022cbe7b03aa1599 SHA512 c32a9b2a9c693e8ff365ed3070952ffbcbe038b159942d879924fc22f8c81a9e268cde5e60c77f4188e4aaf4439a7fcd486c7b645c2c1a882827052689594781
diff --git a/dev-python/botocore/botocore-1.38.25.ebuild b/dev-python/botocore/botocore-1.38.25.ebuild
new file mode 100644
index 000000000000..535354aa3035
--- /dev/null
+++ b/dev-python/botocore/botocore-1.38.25.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ case ${EPYTHON} in
+ python3.14)
+ EPYTEST_DESELECT+=(
+ tests/unit/test_utils.py::test_lru_cache_weakref
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/braintree/Manifest b/dev-python/braintree/Manifest
index ee9d440ba7a9..58a9420ff1f5 100644
--- a/dev-python/braintree/Manifest
+++ b/dev-python/braintree/Manifest
@@ -1 +1,2 @@
DIST braintree_python-4.35.0.gh.tar.gz 245250 BLAKE2B 953614483a824d56d892d488eb98e01da24b48d8842b58901d12ee2f5b150ad62fbecd3fbde847e70d088ae4fd4eb12acced9c04a5008d9886488228517f2583 SHA512 5983592fff47b60e307f6535c32f7f9a2a0deea9d6f4dcb5d917e210d56bbd278feabece70bdef0b2e8b6aa598166c6665f2e54e88ceccf9254e3f093ba3dbc2
+DIST braintree_python-4.36.0.gh.tar.gz 251847 BLAKE2B 50b5012ae1680e68f98e18c8a6609e2eef7d0b89ed458b72a44d4571ef253645eed181d2be352b085a490f4d35aa33f1565445f0b106047edf851cb1917b6224 SHA512 cec958fecf50e8c02acdf57de256d0396f7e2a5d6d6f30ce7bf83dab2969c25a18f26aa3b35652d3ea236024e3b160fc59fbb563e2b02c20589f697a96c3bb44
diff --git a/dev-python/braintree/braintree-4.36.0.ebuild b/dev-python/braintree/braintree-4.36.0.ebuild
new file mode 100644
index 000000000000..20cb389c2fda
--- /dev/null
+++ b/dev-python/braintree/braintree-4.36.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2020-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1
+
+MY_P=braintree_python-${PV}
+DESCRIPTION="Braintree Python Library"
+HOMEPAGE="
+ https://developer.paypal.com/braintree/docs/reference/overview/
+ https://github.com/braintree/braintree_python/
+ https://pypi.org/project/braintree/
+"
+# no tests in sdist, as of 4.19.0
+SRC_URI="
+ https://github.com/braintree/braintree_python/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ >=dev-python/requests-0.11.0[${PYTHON_USEDEP}]
+"
+
+DOCS=( README.md )
+
+distutils_enable_tests unittest
+
+python_test() {
+ eunittest tests/unit
+}
diff --git a/dev-python/fonttools/Manifest b/dev-python/fonttools/Manifest
index 42ccadbbc9c7..9a83081ab985 100644
--- a/dev-python/fonttools/Manifest
+++ b/dev-python/fonttools/Manifest
@@ -1,3 +1,4 @@
DIST fonttools-4.56.0.gh.tar.gz 3900744 BLAKE2B f75ad562092cadbf2a844fedf47e1b054769227d1fd3e553f62f3f664f07a57df2dda410850b00e1a1aa7d322fb14401255f11570a3f0456b443ae96e484f2d6 SHA512 e1d668b299dcf26d578d1fd7b6830ab6a97f97545024060eda1acb625910a3a430e34ce04c6739db724e974422043d59629ab7380812a72b4a219ab0dbec35a3
DIST fonttools-4.57.0.gh.tar.gz 3932468 BLAKE2B 7bfcf6aa3b5cffbba7cdabe14a580dc40677a1d80a2d69750925d7e06c1885df9cd586a228c0d06707acdc9870e92241cce373f0eb27f93a4f887ba14631470c SHA512 7e3ef7149b8e6af5953a827e0a078390e67b919ba9752a03672d876f6de3d0d395b2e061c0f87e5d9298c13c74a1f0162d99151c364dfab487eec2ab9adced75
DIST fonttools-4.58.0.gh.tar.gz 3955467 BLAKE2B 0094284f90685a4e8051c84374325413269ab0207f0ecc25d3129776a226de05a82adcbf1812cc3f18b8950b49f310f7a96295812a33c8e3fecd6aa48d768efb SHA512 8d32cffb2a83b0fb2eda89a8352b7e235595c8d159adb4075941da46c3715701c1d12d0f5e0fe663c587f5c888658ab1d7b2a54cb857355848627a1c25acd0ae
+DIST fonttools-4.58.1.gh.tar.gz 3959551 BLAKE2B bb3a958a359654bee709efe8d21c6e7f13c62c730aa33fdcbe2866318fe91f14ee7e6b63951f17b5ff1faa3e2b96ee934bd7e5b063242d88980d649653a682ce SHA512 f5b810668dca7ffca943fc362616784d1aecbd8f036925b2f8acb2d80997c26cf8c8127814f31f1a62bcf062d83c4a8b76ee022a146d5c2b8693cd1750732545
diff --git a/dev-python/fonttools/fonttools-4.58.1.ebuild b/dev-python/fonttools/fonttools-4.58.1.ebuild
new file mode 100644
index 000000000000..3653213263ff
--- /dev/null
+++ b/dev-python/fonttools/fonttools-4.58.1.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Library for manipulating TrueType, OpenType, AFM and Type1 fonts"
+HOMEPAGE="
+ https://github.com/fonttools/fonttools/
+ https://pypi.org/project/fonttools/
+"
+SRC_URI="
+ https://github.com/fonttools/fonttools/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="+native-extensions"
+
+RDEPEND="
+ >=dev-python/fs-2.4.9[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ native-extensions? (
+ $(python_gen_cond_dep '
+ dev-python/cython[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+ test? (
+ dev-python/brotlicffi[${PYTHON_USEDEP}]
+ dev-python/munkres[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ app-arch/zopfli
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # When dev-python/pytest-shutil is installed, we get weird import errors.
+ # This is due to incomplete nesting in the Tests/ tree:
+ #
+ # Tests/feaLib/__init__.py
+ # Tests/ufoLib/__init__.py
+ # Tests/svgLib/path/__init__.py
+ # Tests/otlLib/__init__.py
+ # Tests/varLib/__init__.py
+ #
+ # This tree requires an __init__.py in Tests/svgLib/ too, bug #701148.
+ touch Tests/svgLib/__init__.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ local -x FONTTOOLS_WITH_CYTHON=$(usex native-extensions)
+ [[ ${EPYTHON} == pypy3 ]] && FONTTOOLS_WITH_CYTHON=0
+ distutils-r1_python_compile
+}
+
+src_test() {
+ # virtualx used when matplotlib is installed causing plot module tests to run
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # flaky test
+ Tests/ttLib/woff2_test.py::WOFF2ReaderTest::test_get_normal_tables
+ )
+
+ if [[ ${EPYTHON} == pypy3 ]] &&
+ has_version "dev-python/pyxattr[${PYTHON_USEDEP}]" &&
+ {
+ has_version "<dev-python/pypy3_10-exe-7.3.13_p2" ||
+ has_version "<dev-python/pypy3_10-exe-bin-7.3.13_p2"
+ }
+ then
+ EPYTEST_DESELECT+=(
+ # affected by a bug in PyPy/pyxattr
+ # https://github.com/iustin/pyxattr/issues/41
+ Tests/t1Lib/t1Lib_test.py::ReadWriteTest::test_read_with_path
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ nonfatal epytest \
+ -p rerunfailures --reruns=5 \
+ Tests fontTools || die -n "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/fs/fs-2.4.16.ebuild b/dev-python/fs/fs-2.4.16-r1.ebuild
index e7016c527ede..01f37cbeb97a 100644
--- a/dev-python/fs/fs-2.4.16.ebuild
+++ b/dev-python/fs/fs-2.4.16-r1.ebuild
@@ -24,9 +24,6 @@ RDEPEND="
dev-python/pytz[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
>=dev-python/six-1.10[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-lang/python-3.12.0_p1
- ' python3_12)
"
# NB: we skip tests requiring pyftpdlib
BDEPEND="
@@ -46,7 +43,10 @@ EPYTEST_IGNORE=(
src_prepare() {
# fix for python 3.12
- sed -e 's/self.assertRaisesRegexp/self.assertRaisesRegex/g' -i fs/test.py || die
+ sed -i -e 's/self.assertRaisesRegexp/self.assertRaisesRegex/g' fs/test.py || die
+
+ # remove explicit namespace (this is the only package in the namespace)
+ sed -i -e '/pkg_resources/d' fs/__init__.py || die
distutils-r1_src_prepare
}
diff --git a/dev-python/inline-snapshot/Manifest b/dev-python/inline-snapshot/Manifest
index 5c65903d02d6..927d71653162 100644
--- a/dev-python/inline-snapshot/Manifest
+++ b/dev-python/inline-snapshot/Manifest
@@ -1,2 +1,3 @@
DIST inline_snapshot-0.23.0.tar.gz 259375 BLAKE2B 9f14733a06d983adc7f438537180d22762009cf82756c612200ff8feaffae7f1ac3a80a19abd63b2e344e31af8b557681e76c67619611f22e09bcc86c0716e24 SHA512 dad5ae1a4f291f562267231e30ae865c854c4be6d218a47ebbfd38cc8421d8adbd4d3945cba44f6a061b562829badbe61f026ed9968857399f93483f1a392598
DIST inline_snapshot-0.23.1.tar.gz 260658 BLAKE2B 8fdc0983232eb61842a6e6b4088bad0ce061a2e470907afb43d66fb31018911bfa1917e5415e749f0cf4384917071a275a59ba9a0ae4a3791120829caa21d647 SHA512 d4b01a41a2a2589aa4ac2c0c275dba3a2c248297fb5374410303e81e437dc1106a03f175959be7c4e190a817ac2b063e11b8f34dbd32fcb8b499bb874b8708dd
+DIST inline_snapshot-0.23.2.tar.gz 260704 BLAKE2B db40ec4d77acbadc1cba2772bcdbfdd284f5bb97930e7101a4f9f2cfae5ef53d6084295e11a2a6c23ac736613b0733000222a2f3914c314ed9f2dd0027cd02cc SHA512 af91622c7722faa54c0a2a12c5f427748243dbf4f019aeeca125db0244377daefaa236f4bc5cf3bc65b21215d97923aebee2ac717bea7afd181c4ec515142cc3
diff --git a/dev-python/inline-snapshot/inline-snapshot-0.23.2.ebuild b/dev-python/inline-snapshot/inline-snapshot-0.23.2.ebuild
new file mode 100644
index 000000000000..6d9befd1de87
--- /dev/null
+++ b/dev-python/inline-snapshot/inline-snapshot-0.23.2.ebuild
@@ -0,0 +1,61 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Create and update inline snapshots in your Python tests"
+HOMEPAGE="
+ https://15r10nk.github.io/inline-snapshot/
+ https://github.com/15r10nk/inline-snapshot/
+ https://pypi.org/project/inline-snapshot/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/asttokens-2.0.5[${PYTHON_USEDEP}]
+ >=dev-python/executing-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8.3.4[${PYTHON_USEDEP}]
+ >=dev-python/rich-13.7.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/attrs[${PYTHON_USEDEP}]
+ >=dev-python/black-23.3.0[${PYTHON_USEDEP}]
+ >=dev-python/dirty-equals-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.75.5[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/mypy[${PYTHON_USEDEP}]
+ ' 'python*')
+ >=dev-python/pydantic-2[${PYTHON_USEDEP}]
+ >=dev-python/pytest-freezer-0.4.8[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-3.14.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-subtests-0.11.0[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires pyright
+ 'tests/test_typing.py::test_typing_args[pyright]'
+ 'tests/test_typing.py::test_typing_call[pyright]'
+ # TODO
+ tests/test_formating.py::test_format_command_fail
+ )
+
+ local -x COLUMNS=80
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=inline_snapshot.pytest_plugin,pytest_freezer,pytest_subtests.plugin,xdist.plugin
+ local -x PYTHONPATH=${S}/src
+ epytest -p pytest_mock
+}
diff --git a/dev-python/langdetect/Manifest b/dev-python/langdetect/Manifest
index d12ab8aeaca8..a11d7c268c91 100644
--- a/dev-python/langdetect/Manifest
+++ b/dev-python/langdetect/Manifest
@@ -1,3 +1 @@
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
new file mode 100644
index 000000000000..637368d2f237
--- /dev/null
+++ b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
@@ -0,0 +1,13 @@
+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 56733bbffc48..99577c43fc3e 100644
--- a/dev-python/langdetect/langdetect-1.0.9.ebuild
+++ b/dev-python/langdetect/langdetect-1.0.9.ebuild
@@ -1,9 +1,9 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
@@ -19,4 +19,6 @@ 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 020e07f2a3dd..c0f74ac187e2 100644
--- a/dev-python/langdetect/metadata.xml
+++ b/dev-python/langdetect/metadata.xml
@@ -2,11 +2,9 @@
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>marcin.deranek@slonko.net</email>
- <name>Marcin Deranek</name>
+ <email>pastalian46@gmail.com</email>
+ <name>Takuya Wakazono</name>
</maintainer>
- <upstream>
- <bugs-to>https://github.com/Mimino666/langdetect/issues</bugs-to>
- </upstream>
- <origin>slonko-overlay</origin>
+
+ <origin>gentoo-guru-overlay</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/lsp-tree-sitter/Manifest b/dev-python/lsp-tree-sitter/Manifest
new file mode 100644
index 000000000000..3e5ba510168a
--- /dev/null
+++ b/dev-python/lsp-tree-sitter/Manifest
@@ -0,0 +1 @@
+DIST lsp_tree_sitter-0.0.17.tar.gz 66874 BLAKE2B 3262350c594a7157d84bdefbca331463f89c8ab02aed354f428768d3ff69f8319845bda362116b8840eac053e9c2f0bb1158830f310181ba8075c8909a571e4f SHA512 a358c17d69dded4411300efba5efaf27e651d85708ceabaf1fbaf9a018a74cb7c61a1204d6f812d5fa324b603ff741712d06817c8dd3d17722441953558073a7
diff --git a/dev-python/lsp-tree-sitter/lsp-tree-sitter-0.0.17.ebuild b/dev-python/lsp-tree-sitter/lsp-tree-sitter-0.0.17.ebuild
new file mode 100644
index 000000000000..68b8629e9f85
--- /dev/null
+++ b/dev-python/lsp-tree-sitter/lsp-tree-sitter-0.0.17.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A library to create language servers"
+HOMEPAGE="
+ https://github.com/neomutt/lsp-tree-sitter
+ https://pypi.org/project/lsp-tree-sitter
+"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/colorama[${PYTHON_USEDEP}]
+ dev-python/jinja2[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/lsprotocol[${PYTHON_USEDEP}]
+ dev-python/pygls[${PYTHON_USEDEP}]
+ dev-python/tree-sitter[${PYTHON_USEDEP}]
+"
+BDEPEND="test? ( ${RDEPEND} )"
+
+distutils_enable_tests pytest
diff --git a/dev-python/lsp-tree-sitter/metadata.xml b/dev-python/lsp-tree-sitter/metadata.xml
new file mode 100644
index 000000000000..15d2d9154d1e
--- /dev/null
+++ b/dev-python/lsp-tree-sitter/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>contact@paveloom.dev</email>
+ <name>Pavel Sobolev</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/neomutt/lsp-tree-sitter/issues</bugs-to>
+ </upstream>
+ <origin>gentoo-guru-overlay</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/magic-wormhole/Manifest b/dev-python/magic-wormhole/Manifest
index 5f71ba6ebfff..5ed91f3881be 100644
--- a/dev-python/magic-wormhole/Manifest
+++ b/dev-python/magic-wormhole/Manifest
@@ -1 +1,2 @@
DIST magic-wormhole-0.18.0.tar.gz 289799 BLAKE2B ff786e3247dcc382fa35175d6439c6273b420968100cc6e54a06e365b8d6db5a9a5145878d4025f51fe59cf75e18507d5114d04a13123ef62b255a61b3c55698 SHA512 095be448fb654a32ea45808f03b1a0bffd74ee683448085f1e6f14f054c0d2f19f9048270be4ec7b6a0b46872d20613a36e984a0a137bd68ba3d0a237a83d1b2
+DIST magic_wormhole-0.19.0.tar.gz 304886 BLAKE2B 1e7f5e39e5307998beea0d67bb44b92dffacb7d2e31e607b88f47ed959e5517ab29d2837ec7f22dfe5a6564b01a50324f6125dda2a5ae0ce7d2135244e3e65e8 SHA512 37ef948871c9449c3147d3615619b2c28b7969d020c34a447d8b0c8894a3e4ed64bbe2d3aa53e2c2f1cb80063f9df48866445395332cd29dcd10e4007a3fc375
diff --git a/dev-python/magic-wormhole/files/magic-wormhole-0.19.0-test.patch b/dev-python/magic-wormhole/files/magic-wormhole-0.19.0-test.patch
new file mode 100644
index 000000000000..8fa0c26c4ad3
--- /dev/null
+++ b/dev-python/magic-wormhole/files/magic-wormhole-0.19.0-test.patch
@@ -0,0 +1,25 @@
+From ce227a431466bee39d2ad6e96533736872300d55 Mon Sep 17 00:00:00 2001
+From: meejah <meejah@meejah.ca>
+Date: Thu, 29 May 2025 01:58:08 -0600
+Subject: [PATCH 2/2] advertise our actual version
+
+---
+ src/wormhole/test/conftest.py | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/wormhole/test/conftest.py b/src/wormhole/test/conftest.py
+index 3e42adc5..81f6b599 100644
+--- a/src/wormhole/test/conftest.py
++++ b/src/wormhole/test/conftest.py
+@@ -19,9 +19,10 @@ def reactor():
+
+ @pytest.fixture(scope="session")
+ def mailbox(reactor):
++ from wormhole import __version__
+ mb = pytest_twisted.blockon(
+ ensureDeferred(
+- setup_mailbox(reactor, advertise_version="1.2.3")
++ setup_mailbox(reactor, advertise_version=str(__version__))
+ )
+ )
+ mb.service.startService()
diff --git a/dev-python/magic-wormhole/magic-wormhole-0.19.0.ebuild b/dev-python/magic-wormhole/magic-wormhole-0.19.0.ebuild
new file mode 100644
index 000000000000..cf7ce6209fb9
--- /dev/null
+++ b/dev-python/magic-wormhole/magic-wormhole-0.19.0.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi shell-completion
+
+DESCRIPTION="Get Things From One Computer To Another, Safely"
+HOMEPAGE="
+ https://magic-wormhole.readthedocs.io/en/latest/
+ https://github.com/magic-wormhole/magic-wormhole/
+ https://pypi.org/project/magic-wormhole/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
+ >=dev-python/autobahn-0.14.1[${PYTHON_USEDEP}]
+ dev-python/automat[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/humanize[${PYTHON_USEDEP}]
+ >=dev-python/iterable-io-1.0.0[${PYTHON_USEDEP}]
+ dev-python/noiseprotocol[${PYTHON_USEDEP}]
+ dev-python/pynacl[${PYTHON_USEDEP}]
+ >=dev-python/qrcode-8.0[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ ~dev-python/spake2-0.9[${PYTHON_USEDEP}]
+ >=dev-python/tqdm-4.13.0[${PYTHON_USEDEP}]
+ dev-python/twisted[ssl,${PYTHON_USEDEP}]
+ >=dev-python/txtorcon-18.0.2[${PYTHON_USEDEP}]
+ >=dev-python/zipstream-ng-1.7.1[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ dev-python/versioneer[${PYTHON_USEDEP}]
+ test? (
+ dev-python/magic-wormhole-mailbox-server[${PYTHON_USEDEP}]
+ ~dev-python/magic-wormhole-transit-relay-0.3.1[${PYTHON_USEDEP}]
+ dev-python/pytest-twisted[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ local PATCHES=(
+ # https://github.com/magic-wormhole/magic-wormhole/pull/626
+ "${FILESDIR}/${P}-test.patch"
+ )
+
+ distutils-r1_src_prepare
+ rm versioneer.py || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # repr() mismatch over different mailbox-server version
+ src/wormhole/test/test_args.py::test_receive_receive
+ src/wormhole/test/test_args.py::test_receive_send
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_twisted
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ newbashcomp "${ED}/usr/wormhole_complete.bash" wormhole
+ newfishcomp "${ED}/usr/wormhole_complete.fish" wormhole.fish
+ newzshcomp "${ED}/usr/wormhole_complete.zsh" _wormhole
+ rm "${ED}/usr"/wormhole_complete* || die
+}
diff --git a/dev-python/phonenumbers/Manifest b/dev-python/phonenumbers/Manifest
index 1b489a534aff..52aa875face3 100644
--- a/dev-python/phonenumbers/Manifest
+++ b/dev-python/phonenumbers/Manifest
@@ -1 +1,2 @@
DIST python-phonenumbers-9.0.5.gh.tar.gz 4916518 BLAKE2B 9a2ad1e1410207319df745e39a386170a259f723c1c8e93044ba90d68658ff541cda529300a95495cd91b0ea703e3afb1fee301d68e4c8794d401f0125dc4240 SHA512 a6c8f78bbaba9be47205b085af52d210aa8f300f1e6388fcd75e25a4a5e72c30348ca02f9ab5a48708157d2182d935dbd37be0e104eab8c5d4081488dc4c06cf
+DIST python-phonenumbers-9.0.6.gh.tar.gz 4916579 BLAKE2B 937fcb5b2c51908d3505b0488effcc3353d2851a40deaca028297dbfb4965869cde7ae1c1acd5232b40582983da9affc0a2930b3b2ec98a6764c2bb11c57f87e SHA512 89c6e547f9e41ab937408504e589396992462c223b80263019db339f4336c4e0afac02ea118797fce53739a46aa3244dab09fedbbaee4fe651acf47740c45001
diff --git a/dev-python/phonenumbers/phonenumbers-9.0.6.ebuild b/dev-python/phonenumbers/phonenumbers-9.0.6.ebuild
new file mode 100644
index 000000000000..85e8daf426e4
--- /dev/null
+++ b/dev-python/phonenumbers/phonenumbers-9.0.6.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+MY_P=python-${P}
+DESCRIPTION="Python port of Google's libphonenumber"
+HOMEPAGE="
+ https://github.com/daviddrysdale/python-phonenumbers/
+ https://pypi.org/project/phonenumbers/
+"
+SRC_URI="
+ https://github.com/daviddrysdale/python-phonenumbers/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}/python
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ dev-python/protobuf[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( ../README.md )
+
+python_test() {
+ "${EPYTHON}" testwrapper.py -v || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/protobuf/Manifest b/dev-python/protobuf/Manifest
index 18adaaa9d6d5..dbb057902755 100644
--- a/dev-python/protobuf/Manifest
+++ b/dev-python/protobuf/Manifest
@@ -1,11 +1,3 @@
-DIST protobuf-4.25.5.py.tar.gz 380315 BLAKE2B 84b635be347a6ebf14cc3f0862da5b9ed195ae6e418144761a4e0d48a681d28338677621f914bb186f729d7ff7da859a7ff4ea69c0bdabb1ebaab833909c1d7d SHA512 6e085baf8c325a807b036adebd1dca13e018c97be3686a26b43701815548128b54fbfa68eeedfba4707a3311d89f903a02c77c3dfcc2abdc16e64f7ac67b893d
-DIST protobuf-4.25.6.py.tar.gz 380631 BLAKE2B 02c443bbcea3e40f374a757b1d0209669082a885819e5777306121b68573c67cfbf7c457dcccf43007037e927a87e1ed5170036e9123398681ad50a41c8289da SHA512 95882642e53b4218bb8da0afb666a1fc434b51c3538a0308cc811265e2d29059f2affe2acb191bf873abaccd3163c917b9ac4cf94714069173a5d7b0cfa1dcee
-DIST protobuf-5.27.5.py.tar.gz 401551 BLAKE2B ab51b7a99af041ae2cd96751b2d73092c5af17c55753f4f3e028d11d4f1de3b04a31814939dce707c6d3c95ce0c63714ed583d2a79a1d90e13875ccda004b4fd SHA512 a6e3ae76ceb077af3823d0b6b355cf7e3b811b89ca2f073bf2964890bda9c0339777ed60a0d91d4ebdced9a2c3f6eeec73ef9918f9a6676636727f6a7ed6f60d
-DIST protobuf-5.28.0.py.tar.gz 422388 BLAKE2B 208f92bdb2bc0b92dca76de4d13eda0c98bc4784cb2ce9d57690682d9327fb2a66646241ecc02e96be602b6763b177b3192ca457732540d1fa8c33afecd8d76f SHA512 91f05915ace778ee76a07856049410c48c02a665f6c4665df9ac3e32992a67235a93fb4e19c9f991821652f236b87749c3d79cfabd8c6508fdc17a2ee612cee5
-DIST protobuf-5.28.3.py.tar.gz 422479 BLAKE2B ce571a63641cbb9af0aafd21b140c0732028bf04ae5aafe60301b3b1e31defc9b4d7d1d8f088e5b01fa7911617230feb5f58e38c0909b8f88676e62c59385a69 SHA512 5c42d50c6fbccf03acb95872d3233f75ff20333924e4eba6b36c095824f850121c9aa1664a5826dcb3a7dc79e9647e4f7decdee0d78a1a8557373613645d6507
-DIST protobuf-5.29.2.py.tar.gz 424901 BLAKE2B ea90ff2bda8e2d264b9870d34a2aecf3e86691d144b420c39db1bcfb425723ef91ece5a2d7d448d026160866ee93d2c5d0e506a99712a5c22165f7c07865dc54 SHA512 7b7a0b116f03e5c64e9342ac0f9143bf8a41fe716697bcd58e20a410fb5d1043a174e68b33209178c5e3605421a145a11a17338ca1171597194eb0a5cfd2e63d
DIST protobuf-5.29.4.py.tar.gz 424902 BLAKE2B 54941b008ff5ebd007076448828564128d98e9a6a4613c87057c359124940d341358fe28107b929e3e842ac7e1b34ed54c30219ed95cbb418826592e2458a01f SHA512 634faf103ed8320762593689796d26e6b988e1b40277b12dc7356983c07d5d1da8cac1530e4f16c0a1494abfb885f26bf9884988029e863515cf535c62d96c77
+DIST protobuf-5.29.5.py.tar.gz 425226 BLAKE2B 1d7461e94ba8bc097d6f52170678665e3cd97ef44e4757e6c20bcb1bdfbfe673d26cd4a63f8e6972af964e381dfffedeb9a4959ec7a7d5a3a3f87f917c8aa329 SHA512 cbb39efe7f6499362b3e4cc9f073df921c8b83d3aafde245a2ca3432f3e744a428e946799c48b2797e08312342e164eced0bf2b8865b8d042b54913855abb1c8
DIST protobuf-6.30.2.py.tar.gz 429315 BLAKE2B 6b56e23a8a962ce9da282ec49c4807877f4bfb677ad84bb6930b83cc436e9839f5791cfb19105678881c8361e27d62d3dde51e5e6c42f7a0e146d9e469282780 SHA512 48ddb2b63acc91759ba4243926c50bb0d16601aace9019129975701634b77a59415659751c69b06464afe994a0fbbd8da6640a208b743ba7df8bf6d60c5ec2b9
-DIST protobuf-python-4.25.4.tar.gz 380283 BLAKE2B 3ded7b654fa4db54b0dff2309f096bcab634b9d587bd94dae4ab49fb2fe9dc8f821c52deed43b026e06189b3b7a1a6697074942c1fa732ec82257233bf1b2f90 SHA512 7b91a9473fafe62b723741faec8e8531c604b025a49ef8be79778f8a48c84c475518447b24f5a08a0a8a8ecb1ff22e2106a3183197b76be3b2b8c6c994d93920
-DIST protobuf-python-5.27.2.tar.gz 401640 BLAKE2B 9d3420b75536ffd452cc2a3317a6ad1e16a62df36085f1e329f0178026032f5533e1a96f7b613f91093ac12a44d7ad4059ebededea636f38ded29da563afd075 SHA512 b3afcf13e223d7e855ac0aa000cc395e3ea1301b2e3dfe3c0d5435d8031be3726e6aec1fb6228c572aa1685f75aba2d97d2c9dfdb6d9e058a2e88321d6ba9180
-DIST protobuf-python-5.27.4.tar.gz 401622 BLAKE2B 4a7f211a4f4b3e7a338f8be6a7c6cdec2df629d6f9b62dfc276d6029864dfb541468a5e4d221f4540ae9281e5fc622ee898daeb178f9d98bac9932af0c8625db SHA512 2b817947363ab8d31bd484c18d33234004c7f5e6cb7bff55657cc33e1f325e22c7ccf83c19e255e839d6061fc62d632af9b36bc4fef0d4b33623b278239043b2
diff --git a/dev-python/protobuf/protobuf-4.25.4.ebuild b/dev-python/protobuf/protobuf-4.25.4.ebuild
deleted file mode 100644
index a663907d6f50..000000000000
--- a/dev-python/protobuf/protobuf-4.25.4.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2008-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Default implementation currently is upb, which doesn't match dev-libs/protobuf
-# https://github.com/protocolbuffers/protobuf/blob/main/python/README.md#implementation-backends
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-PYPI_PN="protobuf"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Google's Protocol Buffers - Python bindings"
-HOMEPAGE="
- https://protobuf.dev/
- https://pypi.org/project/protobuf/
-"
-
-# Rename sdist to avoid conflicts with dev-libs/protobuf
-SRC_URI="
- $(pypi_sdist_url) -> protobuf-python-${PV}.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0/$(ver_cut 1-3)"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
diff --git a/dev-python/protobuf/protobuf-4.25.5.ebuild b/dev-python/protobuf/protobuf-4.25.5.ebuild
deleted file mode 100644
index 2efcee4d74c6..000000000000
--- a/dev-python/protobuf/protobuf-4.25.5.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2008-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Default implementation currently is upb, which doesn't match dev-libs/protobuf
-# https://github.com/protocolbuffers/protobuf/blob/main/python/README.md#implementation-backends
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-PYPI_PN="protobuf"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Google's Protocol Buffers - Python bindings"
-HOMEPAGE="
- https://protobuf.dev/
- https://pypi.org/project/protobuf/
-"
-
-# Rename sdist to avoid conflicts with dev-libs/protobuf
-SRC_URI="
- $(pypi_sdist_url) -> ${P}.py.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0/$(ver_cut 1-3)"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
diff --git a/dev-python/protobuf/protobuf-4.25.6.ebuild b/dev-python/protobuf/protobuf-4.25.6.ebuild
deleted file mode 100644
index 2efcee4d74c6..000000000000
--- a/dev-python/protobuf/protobuf-4.25.6.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2008-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Default implementation currently is upb, which doesn't match dev-libs/protobuf
-# https://github.com/protocolbuffers/protobuf/blob/main/python/README.md#implementation-backends
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-PYPI_PN="protobuf"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Google's Protocol Buffers - Python bindings"
-HOMEPAGE="
- https://protobuf.dev/
- https://pypi.org/project/protobuf/
-"
-
-# Rename sdist to avoid conflicts with dev-libs/protobuf
-SRC_URI="
- $(pypi_sdist_url) -> ${P}.py.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0/$(ver_cut 1-3)"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
diff --git a/dev-python/protobuf/protobuf-5.27.2.ebuild b/dev-python/protobuf/protobuf-5.27.2.ebuild
deleted file mode 100644
index 71af07a030e0..000000000000
--- a/dev-python/protobuf/protobuf-5.27.2.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2008-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Default implementation currently is upb, which doesn't match dev-libs/protobuf
-# https://github.com/protocolbuffers/protobuf/blob/main/python/README.md#implementation-backends
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-PYPI_PN="protobuf"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Google's Protocol Buffers - Python bindings"
-HOMEPAGE="
- https://protobuf.dev/
- https://pypi.org/project/protobuf/
-"
-
-# Rename sdist to avoid conflicts with dev-libs/protobuf
-SRC_URI="
- $(pypi_sdist_url) -> protobuf-python-${PV}.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0/$(ver_cut 1-3)"
-KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
diff --git a/dev-python/protobuf/protobuf-5.27.4.ebuild b/dev-python/protobuf/protobuf-5.27.4.ebuild
deleted file mode 100644
index 71af07a030e0..000000000000
--- a/dev-python/protobuf/protobuf-5.27.4.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2008-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Default implementation currently is upb, which doesn't match dev-libs/protobuf
-# https://github.com/protocolbuffers/protobuf/blob/main/python/README.md#implementation-backends
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-PYPI_PN="protobuf"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Google's Protocol Buffers - Python bindings"
-HOMEPAGE="
- https://protobuf.dev/
- https://pypi.org/project/protobuf/
-"
-
-# Rename sdist to avoid conflicts with dev-libs/protobuf
-SRC_URI="
- $(pypi_sdist_url) -> protobuf-python-${PV}.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0/$(ver_cut 1-3)"
-KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
diff --git a/dev-python/protobuf/protobuf-5.28.0.ebuild b/dev-python/protobuf/protobuf-5.28.0.ebuild
deleted file mode 100644
index 72b05b749ba4..000000000000
--- a/dev-python/protobuf/protobuf-5.28.0.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2008-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Default implementation currently is upb, which doesn't match dev-libs/protobuf
-# https://github.com/protocolbuffers/protobuf/blob/main/python/README.md#implementation-backends
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-PYPI_PN="protobuf"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Google's Protocol Buffers - Python bindings"
-HOMEPAGE="
- https://protobuf.dev/
- https://pypi.org/project/protobuf/
-"
-
-# Rename sdist to avoid conflicts with dev-libs/protobuf
-SRC_URI="
- $(pypi_sdist_url) -> ${P}.py.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0/$(ver_cut 1-3)"
-KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
diff --git a/dev-python/protobuf/protobuf-5.28.3.ebuild b/dev-python/protobuf/protobuf-5.28.3.ebuild
deleted file mode 100644
index f35b90e11590..000000000000
--- a/dev-python/protobuf/protobuf-5.28.3.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2008-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Default implementation currently is upb, which doesn't match dev-libs/protobuf
-# https://github.com/protocolbuffers/protobuf/blob/main/python/README.md#implementation-backends
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-PYPI_PN="protobuf"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Google's Protocol Buffers - Python bindings"
-HOMEPAGE="
- https://protobuf.dev/
- https://pypi.org/project/protobuf/
-"
-
-# Rename sdist to avoid conflicts with dev-libs/protobuf
-SRC_URI="
- $(pypi_sdist_url) -> ${P}.py.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0/$(ver_cut 1-3)"
-KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
diff --git a/dev-python/protobuf/protobuf-5.29.2.ebuild b/dev-python/protobuf/protobuf-5.29.2.ebuild
deleted file mode 100644
index bbc42cb227ba..000000000000
--- a/dev-python/protobuf/protobuf-5.29.2.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2008-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Default implementation currently is upb, which doesn't match dev-libs/protobuf
-# https://github.com/protocolbuffers/protobuf/blob/main/python/README.md#implementation-backends
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-PYPI_PN="protobuf"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Google's Protocol Buffers - Python bindings"
-HOMEPAGE="
- https://protobuf.dev/
- https://pypi.org/project/protobuf/
-"
-
-# Rename sdist to avoid conflicts with dev-libs/protobuf
-SRC_URI="
- $(pypi_sdist_url) -> ${P}.py.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0/$(ver_cut 1-3)"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
diff --git a/dev-python/protobuf/protobuf-5.29.4.ebuild b/dev-python/protobuf/protobuf-5.29.4-r1.ebuild
index dc190c2fdb57..e24e0ab5c21f 100644
--- a/dev-python/protobuf/protobuf-5.29.4.ebuild
+++ b/dev-python/protobuf/protobuf-5.29.4-r1.ebuild
@@ -27,3 +27,10 @@ SRC_URI="
LICENSE="BSD"
SLOT="0/$(ver_cut 1-3)"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # strip old-style namespace
+ rm google/__init__.py || die
+}
diff --git a/dev-python/protobuf/protobuf-5.27.5.ebuild b/dev-python/protobuf/protobuf-5.29.5.ebuild
index 2efcee4d74c6..a3f9a2b24194 100644
--- a/dev-python/protobuf/protobuf-5.27.5.ebuild
+++ b/dev-python/protobuf/protobuf-5.29.5.ebuild
@@ -26,4 +26,11 @@ SRC_URI="
LICENSE="BSD"
SLOT="0/$(ver_cut 1-3)"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # strip old-style namespace
+ rm google/__init__.py || die
+}
diff --git a/dev-python/protobuf/protobuf-6.30.2.ebuild b/dev-python/protobuf/protobuf-6.30.2-r1.ebuild
index dc190c2fdb57..e24e0ab5c21f 100644
--- a/dev-python/protobuf/protobuf-6.30.2.ebuild
+++ b/dev-python/protobuf/protobuf-6.30.2-r1.ebuild
@@ -27,3 +27,10 @@ SRC_URI="
LICENSE="BSD"
SLOT="0/$(ver_cut 1-3)"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # strip old-style namespace
+ rm google/__init__.py || die
+}
diff --git a/dev-python/pygls/Manifest b/dev-python/pygls/Manifest
new file mode 100644
index 000000000000..7f4768ceb3c8
--- /dev/null
+++ b/dev-python/pygls/Manifest
@@ -0,0 +1 @@
+DIST pygls-1.3.1.gh.tar.gz 199111 BLAKE2B 8c6a3a371f3c42cf944a42d04b81f4676dd61e641a4746863d31826c7ed050a2e9dc39ff0eda9bd4e754dc0c777e15c1e1baae11cb764a93afd59abd1582fa96 SHA512 ef5d516d2da7e747fafd0a333157a964efcc7bcb424b2171451eb4f4084ada40ea2294cfa2322201b052a10f2958cbf2ea05748fbf7890bc4fbf6d82e154f9d4
diff --git a/dev-python/PyQt5-stubs/metadata.xml b/dev-python/pygls/metadata.xml
index 56988650ec34..df7fa3132275 100644
--- a/dev-python/PyQt5-stubs/metadata.xml
+++ b/dev-python/pygls/metadata.xml
@@ -2,9 +2,11 @@
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>davidroman96@gmail.com</email>
- <name>David Roman</name>
+ <email>contact@paveloom.dev</email>
+ <name>Pavel Sobolev</name>
</maintainer>
-
+ <upstream>
+ <bugs-to>https://github.com/openlawlibrary/pygls/issues</bugs-to>
+ </upstream>
<origin>gentoo-guru-overlay</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pygls/pygls-1.3.1.ebuild b/dev-python/pygls/pygls-1.3.1.ebuild
new file mode 100644
index 000000000000..d6b60279b080
--- /dev/null
+++ b/dev-python/pygls/pygls-1.3.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="A pythonic generic language server"
+HOMEPAGE="
+ https://github.com/openlawlibrary/pygls
+ https://pypi.org/project/pygls
+"
+SRC_URI="https://github.com/openlawlibrary/pygls/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/cattrs[${PYTHON_USEDEP}]
+ dev-python/lsprotocol[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/websockets[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+pkg_postinst() {
+ optfeature "websockets support" dev-python/websockets
+}
diff --git a/dev-python/pysdl3/Manifest b/dev-python/pysdl3/Manifest
index 52be1d885e32..f8862c3e8374 100644
--- a/dev-python/pysdl3/Manifest
+++ b/dev-python/pysdl3/Manifest
@@ -1 +1,2 @@
DIST pysdl3-0.9.8b1.tar.gz 1419632 BLAKE2B 15e5e6fd35eeb4c4349f9c9616c86a36130da05a31303d9fcc2d2508208f7f5075146404306a61143e7e4fa0d3684a5b34aee05eaa481588a8a7f1c8ff485fe2 SHA512 519cca8833c9e68ad33da3bc5009689d6d22766a0511d61c52486a00fddf9e8677d583edfe6b51a454fed98125e26747c4b5485ac8fc737b3d0d5124e4a4a64a
+DIST pysdl3-0.9.8b2.tar.gz 1419685 BLAKE2B fcc5ceeeb78cdc45ceb8e35ed7e420375ff0ebd7cbbae23dd68718e5417be727aef179760f2f22841966c3e43aff87a20e7b4fb140baad19e62443f505ff312d SHA512 8c2548baa173302ca5ff6e3a2c47d71af3e9b3c8d5c31d6848dd2f734acbb05a765b489a66a83e20d412621155c7fee7dc8618a20bcbd715299e75596ca08fa4
diff --git a/dev-python/pysdl3/pysdl3-0.9.8_beta2.ebuild b/dev-python/pysdl3/pysdl3-0.9.8_beta2.ebuild
new file mode 100644
index 000000000000..01bba1cce5f2
--- /dev/null
+++ b/dev-python/pysdl3/pysdl3-0.9.8_beta2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A pure Python wrapper for SDL3"
+HOMEPAGE="
+ https://pypi.org/project/pysdl3/
+ https://github.com/Aermoss/PySDL3
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+"
+
+RDEPEND="
+ media-libs/libsdl3
+ ${DEPEND}
+"
+
+src_install() {
+ distutils-r1_src_install
+
+ cat - > 99pysdl3 <<EOF
+SDL_DISABLE_METADATA=1
+SDL_DOC_GENERATOR=0
+SDL_BINARY_PATH=/usr/$(get_libdir)
+EOF
+
+ # Workaround for https://github.com/Aermoss/PySDL3/issues/27
+ doenvd 99pysdl3
+}
+
+python_test() {
+ SDL_DISABLE_METADATA=1 SDL_DOC_GENERATOR=0 SDL_BINARY_PATH="/usr/$(get_libdir)" \
+ ${EPYTHON} -c 'import tests' || die
+}
diff --git a/dev-python/python-caja/python-caja-1.28.0.ebuild b/dev-python/python-caja/python-caja-1.28.0.ebuild
index 9b31aeb2cbea..d5cb266d3a79 100644
--- a/dev-python/python-caja/python-caja-1.28.0.ebuild
+++ b/dev-python/python-caja/python-caja-1.28.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-python/python-jose/Manifest b/dev-python/python-jose/Manifest
index 136c04aac0b3..b3c89befc76a 100644
--- a/dev-python/python-jose/Manifest
+++ b/dev-python/python-jose/Manifest
@@ -1 +1,2 @@
DIST python-jose-3.4.0.gh.tar.gz 88084 BLAKE2B 9cec36d634019248508164a246c6debc3778321f75aec1d9870611df4b162ee87722137983124b5a5afb7525bb8dfb845e3a302068d7c1d295a326f635016ca5 SHA512 61988e07a2251b475346ac56d7845e1c573e1c4b7bdccec13937c31c325c0731c6679047451a08be79044e5a57a5470e90b43bb94b0a249c84c11675779f3dcf
+DIST python-jose-3.5.0.gh.tar.gz 88599 BLAKE2B 1d92b80c14e6ceeda3371c7b9bc86df01deb98e30eecf922edc7215322ba5aa3ff46102330b40e2aec51673ad9d0d448cb81741655ded9cb47f6764944b8dd6d SHA512 8ecebb3133b1ec237aeaab6967e172e70de0e965ae39089e6a336bc00ac0a693dbfcfb90002284f89e1cd88d1570ea482c5d56fd9a04848a384e9a34a460648c
diff --git a/dev-python/python-jose/python-jose-3.5.0.ebuild b/dev-python/python-jose/python-jose-3.5.0.ebuild
new file mode 100644
index 000000000000..ed958e22868d
--- /dev/null
+++ b/dev-python/python-jose/python-jose-3.5.0.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=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A JavaScript Object Signing and Encryption (JOSE) implementation in Python"
+HOMEPAGE="
+ https://github.com/mpdavis/python-jose/
+ https://pypi.org/project/python-jose/
+"
+# pypi tarball lacks unit tests
+SRC_URI="
+ https://github.com/mpdavis/python-jose/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+
+# TODO: require only one crypto backend?
+RDEPEND="
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/ecdsa[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/pycryptodome-3.3.1[${PYTHON_USEDEP}]
+ dev-python/rsa[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+
+ # unpin dependencies
+ sed -i -e 's:, <[0-9.]*::' setup.cfg || die
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts=
+}
diff --git a/dev-python/redis/Manifest b/dev-python/redis/Manifest
index cddfa9e8f17e..4b0387257763 100644
--- a/dev-python/redis/Manifest
+++ b/dev-python/redis/Manifest
@@ -1,2 +1,3 @@
DIST redis-py-6.0.0.gh.tar.gz 4853361 BLAKE2B a82f2c9d05c62c2e4fc310923d78ad9164c3fa4886f046f15261a97d843ff4478f7bd5ed283739424bcc9fe378265afaf00448aa954e537fecf0f1a3947d9f6e SHA512 72c91bc132dcc9cc32ed221b931c6315615dac9e4b1054638df6ed651f0ba787c319d59c22a001962efca40efcf73654ff012007cda4b277783cb2fa6a9cb9d6
DIST redis-py-6.1.0.gh.tar.gz 4865160 BLAKE2B 27959cf88b9cb4600b952408b895c3da02c3c6a11bd33182582e4565003cbfdb8a63e567c7fc7ed97581c6926c62594a0fc57c7a6176544026f34a78cd0767c6 SHA512 aacb02565d1b1b672135caffdd29ad83f688184e8f7ba2835668b8ea938e158dc09e9cdf1f6313ffedff86e07da0d18ceed2fcfa5ef677d3ed0c7ff4418d1f39
+DIST redis-py-6.2.0.gh.tar.gz 4865662 BLAKE2B c341983e7eaa2cff959170bd970a596f4585a169158cc526de2117791a0bec78e1eef633fce02fe5d130e6a73fe76c1396b3e8e2e5f9037013ed526614144406 SHA512 d7f170021026bc7377b46cb9dce4ef3d9307ed9bddeed554ab64a08b2d1f1dd66f7ae7a31e51704176dab1b52367e94ac1596c1c1d125c9bab60675ed2f4d9f8
diff --git a/dev-python/redis/redis-6.2.0.ebuild b/dev-python/redis/redis-6.2.0.ebuild
new file mode 100644
index 000000000000..50e574598cc4
--- /dev/null
+++ b/dev-python/redis/redis-6.2.0.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1
+
+MY_P=redis-py-${PV}
+DESCRIPTION="Python client for Redis key-value store"
+HOMEPAGE="
+ https://github.com/redis/redis-py/
+ https://pypi.org/project/redis/
+"
+SRC_URI="
+ https://github.com/redis/redis-py/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+BDEPEND="
+ test? (
+ dev-db/redis
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # https://github.com/redis/redis-py/issues/3339
+ sed -i 's:(forbid_global_loop=True)::' tests/test_asyncio/*.py || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Flaky test
+ tests/test_pubsub.py::TestPubSubDeadlock::test_pubsub_deadlock
+ # require extra redis modules that apparently aren't packaged
+ # on Gentoo
+ tests/{,test_asyncio/}test_bloom.py
+ tests/{,test_asyncio/}test_graph.py
+ tests/{,test_asyncio/}test_json.py
+ tests/{,test_asyncio/}test_timeseries.py
+ # apparently available only in "Redis Stack 7.2 RC3 or later"
+ tests/test_commands.py::TestRedisCommands::test_tfunction_load_delete
+ tests/test_commands.py::TestRedisCommands::test_tfunction_list
+ tests/test_commands.py::TestRedisCommands::test_tfcall
+ # TODO
+ tests/test_commands.py::TestRedisCommands::test_lolwut
+ tests/test_commands.py::TestRedisCommands::test_module
+ tests/test_commands.py::TestRedisCommands::test_module_loadex
+ tests/test_commands.py::TestRedisCommands::test_zrank_withscore
+ tests/test_commands.py::TestRedisCommands::test_zrevrank_withscore
+ tests/test_commands.py::TestRedisCommands::test_xinfo_consumers
+ tests/test_asyncio/test_commands.py::TestRedisCommands::test_zrank_withscore
+ tests/test_asyncio/test_commands.py::TestRedisCommands::test_zrevrank_withscore
+ tests/test_asyncio/test_commands.py::TestRedisCommands::test_xinfo_consumers
+ tests/test_asyncio/test_pubsub.py::TestPubSubAutoReconnect::test_reconnect_socket_error[pool-hiredis-listen]
+ )
+ local EPYTEST_IGNORE=(
+ # fails over missing certs, we don't do cluster anyway
+ tests/test_asyncio/test_cluster.py
+ # require redis_entraid
+ tests/test_asyncio/test_credentials.py
+ tests/test_credentials.py
+ )
+
+ # TODO: try to run more servers?
+ epytest -m "not redismod and not onlycluster and not replica and not ssl"
+}
+
+src_test() {
+ local redis_pid="${T}"/redis.pid
+ local redis_port=6379
+
+ if has_version ">=dev-db/redis-7"; then
+ local extra_conf="
+ enable-debug-command yes
+ enable-module-command yes
+ "
+ fi
+
+ # Spawn Redis itself for testing purposes
+ einfo "Spawning Redis"
+ einfo "NOTE: Port ${redis_port} must be free"
+ "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server"
+ daemonize yes
+ pidfile ${redis_pid}
+ port ${redis_port}
+ bind 127.0.0.1 ::1
+ ${extra_conf}
+ EOF
+
+ # Run the tests
+ distutils-r1_src_test
+
+ # Clean up afterwards
+ kill "$(<"${redis_pid}")" || die
+}
diff --git a/dev-python/regress/Manifest b/dev-python/regress/Manifest
index 50a5ac4e0bcf..51eb98e160d0 100644
--- a/dev-python/regress/Manifest
+++ b/dev-python/regress/Manifest
@@ -14,14 +14,20 @@ DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0
DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c
DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434
DIST pyo3-0.24.0.crate 1108432 BLAKE2B 03098e1ed1f2bcb489ab5fbaf2605631f75804ad138591ae88975c287b8e7544e5f70ef7e3261625075498ac00545b79f6c0b5aab3bcdee2897cbbfabc3f7e87 SHA512 2b9be3cc780c48198ccad08c304053c5248d7c3b7a32e8a3eeba48246b962aa71cbf31ab8c49cab9b555933cccd447412761017b477019a35dc2598999fe63ad
+DIST pyo3-0.25.0.crate 1120850 BLAKE2B 6f373129d032e6980d058ec5dbfea58a7ce0cb8ed2b32aa852a14746cfd3a541b02286676c934a5d7f7bc1bea03e986e93e44de42114f7620b487977c0092d85 SHA512 83336d284eefdef5bc26dec4880e21c608a001b4676b3628eb59b7c0011fb672ca81fca035666b714eeb158809064f9b5b0720802045d5ff8fc9f6af02813c30
DIST pyo3-build-config-0.24.0.crate 33982 BLAKE2B 7972eb69fafdfc73ab7e2ef65498a05a5eeb122e332d10db9990d1a7849fc651a9179fa7dba71707150b005258a7f32fe711d7068fac5c5ca071abdb10bdb55d SHA512 f1f571ead6731d1d775210a02df5ca8ef850460eeabfbe04552403477f9d656eebe25a8833ea03b2e2bc7080bdcf9c6ce3b2b3f9b0f746c316ee31b11b5a2365
+DIST pyo3-build-config-0.25.0.crate 34122 BLAKE2B ba098ff1c963c43d0cd1fdfaec43573ee0d9afff7cc010b7b371504ab66e1fec9233bab04c8c7656c382366d622589d0d5e865a8a271c68a9831ca657b49fcb9 SHA512 f6580bcc12bf8235bd8bdc09908f861645adfcdee31cf88d6443e628601bf3107c1d823c09dacb8e1bdaa171ae49f15e19811b9752600b799a4e86cdea081d40
DIST pyo3-ffi-0.24.0.crate 76274 BLAKE2B 2f5873a9b2e6bb6a420056a2cfc063e6e04c184bce58a39498307730aa5e061f277de6e805a70ef2448d4473b0bf32e8413c281438464391ffce457749d43c91 SHA512 2206cfaaa157ce7ab7b480823af0f96524e9d78abab1b042c00fd74f872a8df9e9014a3ab1db28492b750e8ecc8150f6519c3190b7ef297837597b72b64f999a
+DIST pyo3-ffi-0.25.0.crate 77991 BLAKE2B 0474051570bf71070eab2578e0f9278327ccc48510419d292a81887fffad753ba434db6b795536512a688426eff42ea9805f99b1a3237ec927f6c731033850b2 SHA512 e03cb71493c898408a0692ba7fb4cd704e48c307f5115159f3375fae879e46f5cd7536325d70e7dbd3aeca8ea282a0fb5b5ac609bc807e8b9cb6abbd3a9a2ca5
DIST pyo3-macros-0.24.0.crate 8850 BLAKE2B 7470b3c8af49c3da5da979a08051d549255ed2bbf1e77e2e186ed43daa832ffe51c28c732e5d390effb8662f66c5c138a517a07cd0e90a73a4476e9d018eefdd SHA512 e949224b6ff3368f4594eb946859afd777efc43ca9fd436e176eef9d4549bd7428d04cee55ea8af02c8cb066dd9396a405de5ee6290a966ee52a0f1c64fd2749
+DIST pyo3-macros-0.25.0.crate 8876 BLAKE2B 09c37cc5bdaec6859461a7bb4d1c28d0ddd77a448fb5097275fe7be373897900e2dcdb1c43eb4cc915e1089ac1204f4a7155c4b69478b0778e179aded1449ff0 SHA512 ee1218b6981d94a228bf55f31f0131c094728b12c19b312a77386cace2c4768ad8fc8a1a1999bf27c6a30012e20a1eb7a574d918ccacc421930c12cb1a6386ef
DIST pyo3-macros-backend-0.24.0.crate 71998 BLAKE2B d3cd57fdf2a8b0f750d8f00fa36f32b95f9f13adf9453e0823fec0791ae99af018db6e596205ff9f9f555489cec024e23eb19c53379c09381c0cb209d8a5a695 SHA512 58b06343fa03b2b7aacdafcf219865bbb5b80cc2b28fdf16133a7d43fb7723cd83718e067bf6e01f96b94738bb83cda87d4ac2703d8d59588708d938df8e66eb
+DIST pyo3-macros-backend-0.25.0.crate 75089 BLAKE2B ea4d87e16616782c60f46f97d87a002ea2873a2ab6f7335da68bab32d636988fa30834c946943d4c56c6e5992c78ba6dc2cf8b613c2a402218599ef3e7a6c5be SHA512 dc2e567a09e746893d7cea57aa456124df31b1e3cb25f5b1fabdc97cd2ae73eea1d57aa642268bdbef3dc1ba0e383893d1b5dfd9cf1f3e818f77b9fc0ef2c486
DIST python3-dll-a-0.2.12.crate 83731 BLAKE2B 2ae21b085e7a7aae2c17584fa5feacfe35e974f1bf96673027cb6b6f382241d115df7c9cd009b0346840b6366163c08a62e1695b0834385e182d250390e446e2 SHA512 4d9860f7ecf689b8e5c865f4f2d2486baae0d6765ecedef08234973e921461a3af56f007dce178de6539053eab28dec0870c9f110c3c66dbf7b076e18d2e1fd7
DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685
DIST regress-0.10.3.crate 334012 BLAKE2B 50939ae00b3c8fb3d9470809683aa458888ccd6f5d8bd65899f46b24f4aedd1c8275dcb0f09fae423cdfcbf58c78aa81ec033e05dae0ac0e412195546a2433ca SHA512 e0a38b38caf6a6b146fd1575756347aa7bbd68de67af48d7de51be23fcc96e9f80399746bbe9c5c8a08983896f07fdb1b98cf4b682cd5cc05fa7dba9eb93db3b
DIST regress-2025.3.1.tar.gz 10983 BLAKE2B 0e8c8f3b89644f327d05edcada756b6bde63c582d9923704659e19361b63aece2698479a93f795d9cbc733c41dea793ae015890745883532ff4d710c8f2e5db8 SHA512 e910f539ce76c94215eb066e5d6feb634f4602daecd8ffadda0021c65b9012180408bd03be00ca58bc2deb57ab52537c386d4c88af1a2a85ad1bdbff07070c62
+DIST regress-2025.5.1.tar.gz 10935 BLAKE2B 89722856dfcf2d03a00c4b5bf02ca014d6db7b43faacca7a23149bbd882481f1de26bd6d50b47b9e113f30d820e5dccf605a3b997eba47c7edf44d0e67aed69d SHA512 823dfc37e558eebfba477716a506afd0b323e7fdd409f77cc89462bc208f3debf76ce3b9b7aed35b1b7c3f2d075a5fe9fa919ad4e7da3353ec84c6c7255f3e49
DIST syn-2.0.72.crate 267069 BLAKE2B b0b979f78937a10a6db45f96d5d93c595427a4e158d658a2186419d89b219a4a405ade488d88d9ebdbd605ce4b706aba7088ab39a77294f3cf9847bf032d8f91 SHA512 c3d26bf9787555bc6fd8bd789855d252e80ad28a413593e13bad174adf86087ff195a6b4227bdeb6d1a1c87b0af8e965d6f2d04b8d45e7383b6de49990b92e89
DIST target-lexicon-0.13.2.crate 27923 BLAKE2B 0761f0ffdc23b9c9df86b384d59611c7b8b5e29ff068f03367ad2fe84cfb6d11e1af149b9338236978e9566fedc51387db9f239d2a602db41045ac3db907faec SHA512 d25e3cc3d679cb6b6f24c03e0c24db9d6ca31b8ed42ac9531bd7637557fbba225a6c8ac4f68a8eaf3569195814d599e668a968afbc73b940a77cbc27552cc90a
DIST unicode-ident-1.0.8.crate 41962 BLAKE2B 3e3394a421460b0cdd56f96e1149b3816651ffd7064f9ec85c12050917d0b271eeee4bc3f6d3f0a3c1596635df3dac54bd610243d34e459743fe29b3b931a237 SHA512 8104999c6fff002c5aa109e2ca75ce3eaf772155d31dff87bcf39e3eb3da58b6cb543717be7b55acdb0cb1a4bd2a3d2e9c9974f7f75b6528668f5ef665ef4088
diff --git a/dev-python/regress/regress-2025.5.1.ebuild b/dev-python/regress/regress-2025.5.1.ebuild
new file mode 100644
index 000000000000..3ba83bac7230
--- /dev/null
+++ b/dev-python/regress/regress-2025.5.1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2024-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="
+ allocator-api2@0.2.18
+ autocfg@1.1.0
+ cc@1.1.7
+ equivalent@1.0.1
+ foldhash@0.1.4
+ hashbrown@0.15.2
+ heck@0.5.0
+ indoc@2.0.4
+ libc@0.2.155
+ memchr@2.5.0
+ memoffset@0.9.0
+ once_cell@1.19.0
+ portable-atomic@1.6.0
+ proc-macro2@1.0.86
+ pyo3-build-config@0.25.0
+ pyo3-ffi@0.25.0
+ pyo3-macros-backend@0.25.0
+ pyo3-macros@0.25.0
+ pyo3@0.25.0
+ python3-dll-a@0.2.12
+ quote@1.0.36
+ regress@0.10.3
+ syn@2.0.72
+ target-lexicon@0.13.2
+ unicode-ident@1.0.8
+ unindent@0.2.3
+"
+
+inherit cargo distutils-r1
+
+DESCRIPTION="Python bindings to the Rust regress crate"
+HOMEPAGE="
+ https://pypi.org/project/regress/
+ https://github.com/crate-py/regress
+"
+SRC_URI="
+ https://github.com/crate-py/regress/releases/download/v${PV}/${P}.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016 ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/regress/regress.*.so"
diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest
index 9239feed7e72..81dd3ac744f6 100644
--- a/dev-python/sqlglot/Manifest
+++ b/dev-python/sqlglot/Manifest
@@ -1,4 +1,4 @@
-DIST sqlglot-26.21.0-crates.tar.xz 8327388 BLAKE2B 69213d11940f9d4e743b169ef831b8b52a771f012e247570cf0703580a14af435d4d033b4b3ddfca6f4022b741261a24f3b47e5137de644d863714006520f857 SHA512 5de0781c54265b369e5e46b7cfbcc04a3118aa8d1323bff14f2841c95d471f545c923eedb88dbbb81a910801c5a505ff37a25701af936c06cf55a1659cd8822e
-DIST sqlglot-26.21.0.tar.gz 5368779 BLAKE2B 7db10b620179b5ec6e4a5b5af25764ab7fd3ed9ccd4d437f590c28e4f3cbc1853075e70e75d708ec92149ede85cc0c7ac4b13e59dd7e9bc853a0e18b64a02a8e SHA512 d4cd176207b63ea7099980465b33314496f080eaf10a97f49f373a1479abea648694a4145998221f7c609ea140e19063440edb5d547c003d70ce30daeb778359
-DIST sqlglot-26.22.0-crates.tar.xz 8327388 BLAKE2B 69213d11940f9d4e743b169ef831b8b52a771f012e247570cf0703580a14af435d4d033b4b3ddfca6f4022b741261a24f3b47e5137de644d863714006520f857 SHA512 5de0781c54265b369e5e46b7cfbcc04a3118aa8d1323bff14f2841c95d471f545c923eedb88dbbb81a910801c5a505ff37a25701af936c06cf55a1659cd8822e
-DIST sqlglot-26.22.0.tar.gz 5369050 BLAKE2B dfe8463f4cee0175389f7d08a374fdf9f56646c38ce602103a4017f04fc50cb16e7021668a6dcd0d6fc2d8aa79ffe9387debb78a086625ef423e39593e26c9cd SHA512 f5517fb3fea252d143cc9b30ff28cf96f1ebc06875e06b22c359d2b8a09dd0097258faf66ca287c67d2bd80a758b1eb9c0681d32c3b89d50d05b58ca01627670
+DIST sqlglot-26.22.1-crates.tar.xz 8327388 BLAKE2B 69213d11940f9d4e743b169ef831b8b52a771f012e247570cf0703580a14af435d4d033b4b3ddfca6f4022b741261a24f3b47e5137de644d863714006520f857 SHA512 5de0781c54265b369e5e46b7cfbcc04a3118aa8d1323bff14f2841c95d471f545c923eedb88dbbb81a910801c5a505ff37a25701af936c06cf55a1659cd8822e
+DIST sqlglot-26.22.1.tar.gz 5369216 BLAKE2B a47491d4ef3ec4510f8e7d5247d15c2b168886372b3e997f7a8b13469a74b7bd4b171fc6e1a710f4f61977cdf8cb39ddf1d382675bb077ae79ae28d1d63ce7cc SHA512 db15df6c32b8aee6bb24cf0442f91c25869b067d0360b1fd98836144abe4e777d6e00d6d296eacaaa34f9e05c0b7cda040ec7b31f2d06efa9ca08d1293038f69
+DIST sqlglot-26.23.0-crates.tar.xz 8859792 BLAKE2B abb2051b392c53dc3caa705ddd8df7076819a26dcdaa89fa3760559a79578db01e86943c2d0ffb8006263c2dca3aa50d20023eae9d772f8ebd12a8a2d3266cdd SHA512 7cca439a06433a62bcd4a2af33d240f46e9b5240cc158edbc654efb37a464aa0f1ebbe9749b2fc6352127b4809b63af2341fac6240050c414e578ae99444ba5d
+DIST sqlglot-26.23.0.tar.gz 5369411 BLAKE2B 621d8bba91e72b3671aa0d2fa90ac0e4e9d3b6c116be02a423eb779ab8bd67f9edcabeb6e94ddea6856a22373a02e5517053945f7ea2728ef6b56333671e68c0 SHA512 54b378ad94be7c641b537e9917d2b69c3abdbcfff81a28b8a280d5198b35d6157f518289101332abf0643b3ea56670f948b6db598d358b06ac2a6ace38df8acc
diff --git a/dev-python/sqlglot/sqlglot-26.21.0.ebuild b/dev-python/sqlglot/sqlglot-26.22.1.ebuild
index 745ae109fd13..745ae109fd13 100644
--- a/dev-python/sqlglot/sqlglot-26.21.0.ebuild
+++ b/dev-python/sqlglot/sqlglot-26.22.1.ebuild
diff --git a/dev-python/sqlglot/sqlglot-26.22.0.ebuild b/dev-python/sqlglot/sqlglot-26.23.0.ebuild
index 745ae109fd13..84a615136142 100644
--- a/dev-python/sqlglot/sqlglot-26.22.0.ebuild
+++ b/dev-python/sqlglot/sqlglot-26.23.0.ebuild
@@ -3,13 +3,95 @@
EAPI=8
-CRATES=""
+CRATES="
+ aho-corasick@1.1.3
+ anes@0.1.6
+ anstyle@1.0.10
+ autocfg@1.1.0
+ bumpalo@3.16.0
+ cast@0.3.0
+ cfg-if@1.0.0
+ ciborium-io@0.2.2
+ ciborium-ll@0.2.2
+ ciborium@0.2.2
+ clap@4.5.23
+ clap_builder@4.5.23
+ clap_lex@0.7.4
+ criterion-plot@0.5.0
+ criterion@0.5.1
+ crossbeam-deque@0.8.6
+ crossbeam-epoch@0.9.18
+ crossbeam-utils@0.8.21
+ crunchy@0.2.2
+ either@1.13.0
+ half@2.4.1
+ heck@0.5.0
+ hermit-abi@0.4.0
+ indoc@2.0.4
+ is-terminal@0.4.13
+ itertools@0.10.5
+ itoa@1.0.14
+ js-sys@0.3.76
+ libc@0.2.169
+ log@0.4.22
+ memchr@2.7.4
+ memoffset@0.9.0
+ num-traits@0.2.19
+ once_cell@1.19.0
+ oorandom@11.1.4
+ plotters-backend@0.3.7
+ plotters-svg@0.3.7
+ plotters@0.3.7
+ portable-atomic@1.9.0
+ proc-macro2@1.0.89
+ pyo3-build-config@0.25.0
+ pyo3-ffi@0.25.0
+ pyo3-macros-backend@0.25.0
+ pyo3-macros@0.25.0
+ pyo3@0.25.0
+ quote@1.0.37
+ rayon-core@1.12.1
+ rayon@1.10.0
+ regex-automata@0.4.9
+ regex-syntax@0.8.5
+ regex@1.11.1
+ rustc-hash@2.1.0
+ ryu@1.0.18
+ same-file@1.0.6
+ serde@1.0.216
+ serde_derive@1.0.216
+ serde_json@1.0.133
+ syn@2.0.87
+ target-lexicon@0.13.2
+ tinytemplate@1.2.1
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ walkdir@2.5.0
+ wasm-bindgen-backend@0.2.99
+ wasm-bindgen-macro-support@0.2.99
+ wasm-bindgen-macro@0.2.99
+ wasm-bindgen-shared@0.2.99
+ wasm-bindgen@0.2.99
+ web-sys@0.3.76
+ winapi-util@0.1.9
+ windows-sys@0.52.0
+ windows-sys@0.59.0
+ windows-targets@0.52.6
+ windows_aarch64_gnullvm@0.52.6
+ windows_aarch64_msvc@0.52.6
+ windows_i686_gnu@0.52.6
+ windows_i686_gnullvm@0.52.6
+ windows_i686_msvc@0.52.6
+ windows_x86_64_gnu@0.52.6
+ windows_x86_64_gnullvm@0.52.6
+ windows_x86_64_msvc@0.52.6
+"
+
+CARGO_OPTIONAL=1
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-CARGO_OPTIONAL=1
-
inherit cargo distutils-r1 pypi optfeature
DESCRIPTION="An easily customizable SQL parser and transpiler"
diff --git a/dev-python/stripe/Manifest b/dev-python/stripe/Manifest
index 825ac3621d38..083344a65705 100644
--- a/dev-python/stripe/Manifest
+++ b/dev-python/stripe/Manifest
@@ -1 +1,2 @@
DIST stripe-12.1.0.tar.gz 1379855 BLAKE2B 9d1fcfbceccb48def5724b12ef4d801b23a3fb08883ad59435a7babe6d0533af69be4d6706a6d2493362347fa65ec99183b8a2749a9c460a6b976491f55eec51 SHA512 31ba62055e0e3b4e66313ebd8505833a1d69b7d133047a76492ea98f496b329a16d5f1d763f7b9ef5239d578d1b0dde293f2be4fa2e8ef33f481033ac213cce3
+DIST stripe-12.2.0.tar.gz 1393146 BLAKE2B 0893d370a8660cd65ad060185e4f48cbdcee8f1d241b835da32545c14f7f6c6b4ab66382504d818080a78f3006a2c5a54245a036173cafc1b0417d2b4044d2c2 SHA512 9ed7f7b5c817386ffc32c5e9e6e4652e322f119ef5d111b0bb6b08314e671bf95ea5c866dcfcffb80acb7ce6a8bed2af5e608bc5bbfc816d7a0811fdde4956ce
diff --git a/dev-python/stripe/stripe-12.2.0.ebuild b/dev-python/stripe/stripe-12.2.0.ebuild
new file mode 100644
index 000000000000..f7eddb16e823
--- /dev/null
+++ b/dev-python/stripe/stripe-12.2.0.ebuild
@@ -0,0 +1,95 @@
+# 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="Stripe Python bindings"
+HOMEPAGE="
+ https://github.com/stripe/stripe-python/
+ https://pypi.org/project/stripe/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="telemetry"
+
+RDEPEND="
+ >=dev-python/requests-2.20[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}]
+"
+# please bump dev-util/stripe-mock dep to the latest version on every bump
+BDEPEND="
+ test? (
+ >=dev-util/stripe-mock-0.194.0
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/anyio[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ net-misc/curl
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+DOCS=( LONG_DESCRIPTION.rst CHANGELOG.md README.md )
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ if ! use telemetry; then
+ sed -i -e '/enable_telemetry/s:True:False:' stripe/__init__.py || die
+ fi
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/test_http_client.py::TestLiveHTTPClients::test_httpx_request_async_https
+ 'tests/test_integration.py::TestIntegration::test_async_raw_request_timeout[asyncio-aiohttp]'
+ # timing
+ tests/test_integration.py::TestIntegration::test_passes_client_telemetry_when_enabled
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests -p anyio -p pytest_mock
+}
+
+src_test() {
+ local stripe_mock_port=12111
+ local stripe_mock_max_port=12121
+ local stripe_mock_logfile="${T}/stripe_mock_${EPYTHON}.log"
+ # Try to start stripe-mock until we find a free port
+ while [[ ${stripe_mock_port} -le ${stripe_mock_max_port} ]]; do
+ ebegin "Trying to start stripe-mock on port ${stripe_mock_port}"
+ stripe-mock --http-port "${stripe_mock_port}" &> "${stripe_mock_logfile}" &
+ local stripe_mock_pid=${!}
+ sleep 2
+ # Did stripe-mock start?
+ curl --fail -u "sk_test_123:" \
+ "http://127.0.0.1:${stripe_mock_port}/v1/customers" &> /dev/null
+ eend ${?} "Port ${stripe_mock_port} unavailable"
+ if [[ ${?} -eq 0 ]]; then
+ einfo "stripe-mock running on port ${stripe_mock_port}"
+ break
+ fi
+ (( stripe_mock_port++ ))
+ done
+ if [[ ${stripe_mock_port} -gt ${stripe_mock_max_port} ]]; then
+ eerror "Unable to start stripe-mock for tests"
+ die "Please see the logfile located at: ${stripe_mock_logfile}"
+ fi
+
+ local -x STRIPE_MOCK_PORT=${stripe_mock_port}
+ distutils-r1_src_test
+
+ # Tear down stripe-mock
+ kill "${stripe_mock_pid}" || die "Unable to stop stripe-mock"
+}
diff --git a/dev-python/svg-path/svg-path-6.3.ebuild b/dev-python/svg-path/svg-path-6.3-r1.ebuild
index 5ebfa4f5bf5c..327b13bfa0d3 100644
--- a/dev-python/svg-path/svg-path-6.3.ebuild
+++ b/dev-python/svg-path/svg-path-6.3-r1.ebuild
@@ -33,9 +33,22 @@ BDEPEND="
distutils_enable_tests pytest
-EPYTEST_DESELECT=(
- # broken with new pillow version (also potentially super-fragile)
- # https://github.com/regebro/svg.path/issues/103
- tests/test_boundingbox_image.py::BoundingBoxImageTest::test_image
- tests/test_image.py::ImageTest::test_image
-)
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # strip explicit namespace
+ rm src/svg/__init__.py || die
+ sed -i -e '/packages/s@find:@find_namespace:@' setup.cfg || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # broken with new pillow version (also potentially super-fragile)
+ # https://github.com/regebro/svg.path/issues/103
+ tests/test_boundingbox_image.py::BoundingBoxImageTest::test_image
+ tests/test_image.py::ImageTest::test_image
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/types-setuptools/Manifest b/dev-python/types-setuptools/Manifest
index 31a71662d6f0..838831d1dea4 100644
--- a/dev-python/types-setuptools/Manifest
+++ b/dev-python/types-setuptools/Manifest
@@ -3,3 +3,4 @@ DIST types_setuptools-80.3.0.20250505.tar.gz 41205 BLAKE2B 9678f681ea420290c55d7
DIST types_setuptools-80.4.0.20250511.tar.gz 41205 BLAKE2B 54ec7947f50ffa1507e3bc53098a3079edef8044739e307afd47675638d2930d9cbe1a8535858e1a538bed65d00616b489ca5e7ed4cf795ddcd2f7987bdf793a SHA512 ec2d12032367cdc956df2e3cff082b5e15f0a76a28c1a85bc9cabe1dc81c704fcaea64637c477ec5440f83eea3ba0125f2bad62721f1528c14e07f89e5819b49
DIST types_setuptools-80.7.0.20250516.tar.gz 41313 BLAKE2B 9a1a191097b4ef6e4e4d7cf5c26d73941fc2d7b486ffff89eac236d18ee7818959fb316ea104e82a5a809b79c16d7c98ab494b9ce1a90e58a5553af1c5d47389 SHA512 216cbf934194b7daecc14c3af52031dfa105c8ab15e5a5c0b73d2db026870490ee7146fa075c10295097c5c90667f4ee84436168e6dbe803d20fd309709dd075
DIST types_setuptools-80.8.0.20250521.tar.gz 41323 BLAKE2B 0c32056488b029f8c4af6568863f13f6ac158d9d6f64d17501ced2fd2d84be9efe9fae76e6335990d35b5dc8346579559799e66dba837fe233560f8be58ccd59 SHA512 67982efd53a98a0be4cfe3c388de0246e36a1c20398deac5d0d4e4cc41f8aa11c87254ad035b9c6e9b30924857138a1c6cca21ddf2f64731678f2c7218fc8de7
+DIST types_setuptools-80.9.0.20250529.tar.gz 41337 BLAKE2B c6251c9380efd198b96cd9c30c953c28e1729ece3f5120fe299e9f8bfbf1e6e68e0047a3c19d9c82d49c96031e7fec5b7d819895890155a04e5027c4ec71d5dd SHA512 449bfc4ccede10e2c1c44a318245a10d6398b550c97dec5a44f4b22107f97504355a2f77d2ca4db58641b2fdf777c4b0cc942b4e0105038642f3f5c894af29c0
diff --git a/dev-python/types-setuptools/types-setuptools-80.9.0.20250529.ebuild b/dev-python/types-setuptools/types-setuptools-80.9.0.20250529.ebuild
new file mode 100644
index 000000000000..078677754317
--- /dev/null
+++ b/dev-python/types-setuptools/types-setuptools-80.9.0.20250529.ebuild
@@ -0,0 +1,16 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Typing stubs for setuptools"
+HOMEPAGE="https://pypi.org/project/types-setuptools/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
diff --git a/dev-python/vpython/vpython-7.6.5-r1.ebuild b/dev-python/vpython/vpython-7.6.5-r1.ebuild
index c232ec92ecf5..a73397496b74 100644
--- a/dev-python/vpython/vpython-7.6.5-r1.ebuild
+++ b/dev-python/vpython/vpython-7.6.5-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
+DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
diff --git a/dev-python/zc-lockfile/zc-lockfile-3.0_p1.ebuild b/dev-python/zc-lockfile/zc-lockfile-3.0_p1-r1.ebuild
index 06f47370af70..f61360ac4593 100644
--- a/dev-python/zc-lockfile/zc-lockfile-3.0_p1.ebuild
+++ b/dev-python/zc-lockfile/zc-lockfile-3.0_p1-r1.ebuild
@@ -35,8 +35,6 @@ distutils_enable_tests unittest
python_prepare_all() {
# rdep is only needed for namespace
sed -i -e '/install_requires.*setuptools/d' setup.py || die
- # use implicit namespace
- sed -i -e '/namespace_packages/d' setup.py || die
# do not install README into site-packages
sed -e '/^ include_package_data/d' -i setup.py || die