summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-09-24 07:05:08 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-09-24 07:05:08 +0000
commit84851d06eb0934bf4804451d4f8ff53fea7a3447 (patch)
tree59e382fcaeed7dfbe22d0746b5095c99dee44c19 /dev-python
parentdd5fc10bbfe3b3f3f3511eac9b9eafd996f35093 (diff)
downloadbaldeagleos-repo-84851d06eb0934bf4804451d4f8ff53fea7a3447.tar.gz
baldeagleos-repo-84851d06eb0934bf4804451d4f8ff53fea7a3447.tar.xz
baldeagleos-repo-84851d06eb0934bf4804451d4f8ff53fea7a3447.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/anyio/Manifest2
-rw-r--r--dev-python/anyio/anyio-4.11.0.ebuild (renamed from dev-python/anyio/anyio-4.8.0-r3.ebuild)29
-rw-r--r--dev-python/anyio/files/anyio-4.8.0-py314.patch124
-rw-r--r--dev-python/asgiref/Manifest1
-rw-r--r--dev-python/asgiref/asgiref-3.9.2.ebuild23
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.40.37.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.40.37.ebuild67
-rw-r--r--dev-python/clang/Manifest1
-rw-r--r--dev-python/clang/clang-22.0.0_pre20250923.ebuild53
-rw-r--r--dev-python/google-api-python-client/Manifest1
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.183.0.ebuild51
-rw-r--r--dev-python/lit/Manifest1
-rw-r--r--dev-python/lit/lit-22.0.0_pre20250923.ebuild45
-rw-r--r--dev-python/pudb/Manifest2
-rw-r--r--dev-python/pudb/pudb-2025.1.1.ebuild (renamed from dev-python/pudb/pudb-2024.1.3.ebuild)11
-rw-r--r--dev-python/rfc3161-client/Manifest1
-rw-r--r--dev-python/rfc3161-client/rfc3161-client-1.0.5.ebuild128
-rw-r--r--dev-python/sqlglot/Manifest3
-rw-r--r--dev-python/sqlglot/sqlglot-27.15.3.ebuild175
-rw-r--r--dev-python/sqlglot/sqlglot-27.17.0.ebuild (renamed from dev-python/sqlglot/sqlglot-27.14.0.ebuild)0
-rw-r--r--dev-python/typer/Manifest6
-rw-r--r--dev-python/typer/typer-0.18.0.ebuild68
-rw-r--r--dev-python/typer/typer-0.19.2.ebuild (renamed from dev-python/typer/typer-0.17.4.ebuild)2
-rw-r--r--dev-python/uv-build/Manifest1
-rw-r--r--dev-python/uv-build/uv-build-0.8.22.ebuild99
-rw-r--r--dev-python/uv/Manifest2
-rw-r--r--dev-python/uv/uv-0.8.22.ebuild183
-rw-r--r--dev-python/uvicorn/Manifest1
-rw-r--r--dev-python/uvicorn/uvicorn-0.37.0.ebuild87
31 files changed, 817 insertions, 405 deletions
diff --git a/dev-python/anyio/Manifest b/dev-python/anyio/Manifest
index 7f429c724612..b6183d41f06b 100644
--- a/dev-python/anyio/Manifest
+++ b/dev-python/anyio/Manifest
@@ -1,2 +1,2 @@
DIST anyio-4.10.0.tar.gz 213252 BLAKE2B 6dc6c0c2290a78049854a74333e28d60ac65874a9cb3a15600da6fa81152b47741f7a5c2736eaef8d279b74ea7ccadc5847d50f5af8cf25f6d40ce0efdd8c4d3 SHA512 c696ce5216ff3b93114a53a938461c63df402ea099528e876d31af71c46242ed2b488819accb073c1e312dcad023b5836e5d462992ea01bf7d87b0b9ef3186ed
-DIST anyio-4.8.0.tar.gz 181126 BLAKE2B f33df2d5df27ff05d553544e1c4f351fa20d6f551d23b80d5f0beaa658c145c7b13d7d7da1c4c3c17e97ecfc595b3662dbc1c7bedbbda7471d1004090599c557 SHA512 939ae76eff4c91979f1ce2bdf3ef1f05f488931e7ae357632090855125656721099732a9a1e167755677757c2125287842e49fce19302f90615bd79b41cc9e67
+DIST anyio-4.11.0.tar.gz 219094 BLAKE2B fe51a6c7ac7415f26a20ba058caeb5600afb84fbf68b379308fa876b7aa39112d71cd06c7cbb49a0a91d585cd6d46322b6af28dcab9870c4be74d9f5809d7658 SHA512 8286a9dc7e1299dc758146fcbbd83a8be717c2e3a12fd738c05ede84e001131091221425dbd5c966027288c41f66b87a7241c2327353d407bc4f13f5e1d96c90
diff --git a/dev-python/anyio/anyio-4.8.0-r3.ebuild b/dev-python/anyio/anyio-4.11.0.ebuild
index 5fad1a6b2bf9..c1d19bac115c 100644
--- a/dev-python/anyio/anyio-4.8.0-r3.ebuild
+++ b/dev-python/anyio/anyio-4.11.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
RDEPEND="
>=dev-python/idna-2.8[${PYTHON_USEDEP}]
@@ -31,13 +31,13 @@ RDEPEND="
BDEPEND="
>=dev-python/setuptools-scm-6.4[${PYTHON_USEDEP}]
test? (
+ >=dev-python/blockbuster-1.5.23[${PYTHON_USEDEP}]
>=dev-python/exceptiongroup-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-4.0[${PYTHON_USEDEP}]
>=dev-python/psutil-5.9[${PYTHON_USEDEP}]
dev-python/trustme[${PYTHON_USEDEP}]
$(python_gen_cond_dep '
- >=dev-python/trio-0.26.1[${PYTHON_USEDEP}]
- ' 3.{11..13})
+ >=dev-python/trio-0.31.0[${PYTHON_USEDEP}]
+ ' 3.{11..14})
amd64? (
$(python_gen_cond_dep '
>=dev-python/uvloop-0.21.0_beta1[${PYTHON_USEDEP}]
@@ -46,18 +46,13 @@ BDEPEND="
)
"
+EPYTEST_PLUGINS=( hypothesis pytest-mock )
distutils_enable_tests pytest
distutils_enable_sphinx docs \
'>=dev-python/sphinx-rtd-theme-1.2.2' \
dev-python/sphinxcontrib-jquery \
- dev-python/sphinx-autodoc-typehints
-
-PATCHES=(
- # https://github.com/agronholm/anyio/commit/f051fd45a1d34bae8dd70dba726e711e7a49deee
- # https://github.com/agronholm/anyio/commit/e0e2531de14c54eed895c92b4c8e87b44f47634b
- # https://github.com/agronholm/anyio/commit/8bad9c05d966f6edfa58f26257015cb657d4e5ef
- "${FILESDIR}/${P}-py314.patch"
-)
+ dev-python/sphinx-autodoc-typehints \
+ dev-python/sphinx-tabs
python_test() {
local EPYTEST_DESELECT=(
@@ -65,15 +60,6 @@ python_test() {
tests/test_sockets.py::TestTCPListener::test_bind_link_local
)
- case ${EPYTHON} in
- pypy3.11)
- EPYTEST_DESELECT+=(
- # likely related to https://github.com/pypy/pypy/issues/5264
- tests/test_debugging.py::test_main_task_name
- )
- ;;
- esac
-
local filter=()
if ! has_version ">=dev-python/trio-0.26.1[${PYTHON_USEDEP}]"; then
filter+=( -k "not trio" )
@@ -84,6 +70,5 @@ python_test() {
)
fi
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest -m 'not network' "${filter[@]}"
}
diff --git a/dev-python/anyio/files/anyio-4.8.0-py314.patch b/dev-python/anyio/files/anyio-4.8.0-py314.patch
deleted file mode 100644
index 9e1ad2fb151c..000000000000
--- a/dev-python/anyio/files/anyio-4.8.0-py314.patch
+++ /dev/null
@@ -1,124 +0,0 @@
-From f051fd45a1d34bae8dd70dba726e711e7a49deee Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Alex=20Gr=C3=B6nholm?= <alex.gronholm@nextday.fi>
-Date: Tue, 18 Mar 2025 14:38:12 +0200
-Subject: [PATCH] Fixed Path tests on Python 3.14.0a6
-
----
- src/anyio/_core/_fileio.py | 8 +++-----
- 1 file changed, 3 insertions(+), 5 deletions(-)
-
-diff --git a/src/anyio/_core/_fileio.py b/src/anyio/_core/_fileio.py
-index a0d61984..17459b79 100644
---- a/src/anyio/_core/_fileio.py
-+++ b/src/anyio/_core/_fileio.py
-@@ -421,13 +421,11 @@ async def copy(
- target: str | os.PathLike[str],
- *,
- follow_symlinks: bool = True,
-- dirs_exist_ok: bool = False,
- preserve_metadata: bool = False,
- ) -> Path:
- func = partial(
- self._path.copy,
- follow_symlinks=follow_symlinks,
-- dirs_exist_ok=dirs_exist_ok,
- preserve_metadata=preserve_metadata,
- )
- return Path(await to_thread.run_sync(func, target))
-@@ -437,13 +435,11 @@ async def copy_into(
- target_dir: str | os.PathLike[str],
- *,
- follow_symlinks: bool = True,
-- dirs_exist_ok: bool = False,
- preserve_metadata: bool = False,
- ) -> Path:
- func = partial(
- self._path.copy_into,
- follow_symlinks=follow_symlinks,
-- dirs_exist_ok=dirs_exist_ok,
- preserve_metadata=preserve_metadata,
- )
- return Path(await to_thread.run_sync(func, target_dir))
-@@ -616,7 +612,9 @@ async def read_text(
- def relative_to(
- self, *other: str | PathLike[str], walk_up: bool = False
- ) -> Path:
-- return Path(self._path.relative_to(*other, walk_up=walk_up))
-+ # relative_to() should work with any PathLike but it doesn't
-+ others = [pathlib.Path(other) for other in other]
-+ return Path(self._path.relative_to(*others, walk_up=walk_up))
-
- else:
-
-From e0e2531de14c54eed895c92b4c8e87b44f47634b Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Alex=20Gr=C3=B6nholm?= <alex.gronholm@nextday.fi>
-Date: Tue, 15 Apr 2025 00:54:22 +0300
-Subject: [PATCH] Fixed Path.copy() and Path.copy_info failing on Python
- 3.14.0a7
-
----
- docs/versionhistory.rst | 1 +
- src/anyio/_core/_fileio.py | 4 ++--
- 2 files changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/src/anyio/_core/_fileio.py b/src/anyio/_core/_fileio.py
-index 17459b79..2eae029e 100644
---- a/src/anyio/_core/_fileio.py
-+++ b/src/anyio/_core/_fileio.py
-@@ -428,7 +428,7 @@ async def copy(
- follow_symlinks=follow_symlinks,
- preserve_metadata=preserve_metadata,
- )
-- return Path(await to_thread.run_sync(func, target))
-+ return Path(await to_thread.run_sync(func, pathlib.Path(target)))
-
- async def copy_into(
- self,
-@@ -442,7 +442,7 @@ async def copy_into(
- follow_symlinks=follow_symlinks,
- preserve_metadata=preserve_metadata,
- )
-- return Path(await to_thread.run_sync(func, target_dir))
-+ return Path(await to_thread.run_sync(func, pathlib.Path(target_dir)))
-
- async def move(self, target: str | os.PathLike[str]) -> Path:
- # Upstream does not handle anyio.Path properly as a PathLike
-From 8bad9c05d966f6edfa58f26257015cb657d4e5ef Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Alex=20Gr=C3=B6nholm?= <alex.gronholm@nextday.fi>
-Date: Sat, 15 Feb 2025 16:41:44 +0200
-Subject: [PATCH] Fixed test failures caused by Python 3.14.0a5
-
----
- docs/versionhistory.rst | 1 +
- src/anyio/_core/_fileio.py | 15 ++++++++++-----
- tests/test_fileio.py | 2 ++
- 3 files changed, 13 insertions(+), 5 deletions(-)
-
-diff --git a/src/anyio/_core/_fileio.py b/src/anyio/_core/_fileio.py
-index 3728734c..350a873a 100644
---- a/src/anyio/_core/_fileio.py
-+++ b/src/anyio/_core/_fileio.py
-@@ -411,6 +412,10 @@ def match(self, path_pattern: str) -> bool:
-
- if sys.version_info >= (3, 14):
-
-+ @property
-+ def info(self) -> Any: # TODO: add return type annotation when Typeshed gets it
-+ return self._path.info
-+
- async def copy(
- self,
- target: str | os.PathLike[str],
-diff --git a/tests/test_fileio.py b/tests/test_fileio.py
-index d7a769bd..28830e6e 100644
---- a/tests/test_fileio.py
-+++ b/tests/test_fileio.py
-@@ -106,6 +106,8 @@ async def test_properties(self) -> None:
- stdlib_properties.discard("__enter__")
- stdlib_properties.discard("__exit__")
- stdlib_properties.discard("__firstlineno__")
-+ stdlib_properties.discard("__open_rb__")
-+ stdlib_properties.discard("__open_wb__")
-
- async_path = Path(path)
- anyio_properties = {
diff --git a/dev-python/asgiref/Manifest b/dev-python/asgiref/Manifest
index 13b5aab03d3c..7102620b29fe 100644
--- a/dev-python/asgiref/Manifest
+++ b/dev-python/asgiref/Manifest
@@ -1 +1,2 @@
DIST asgiref-3.9.1.tar.gz 36870 BLAKE2B d4883a95c2c363388a63114eeff92af96f5989e528e8bb496ac965aa0c686117cf38cf7968d16006bfa2529be84b5cc80c957128acee447ecbd5857db28b8377 SHA512 bc1a947dc7026fbd95970c71e699462856752b48024e2adf3ab5298dd8fb3fcee2e02a95eb97c5e8fe51ba77763b07f8e2922656ecac5b4205e03054663f9bbc
+DIST asgiref-3.9.2.tar.gz 36894 BLAKE2B 60dd3313486f2776e4518adf26c2eb45765be3a4fdc2e625972372ed2dfd8e34d2c79c5c94c05b2f8d3e47edcb25798c7ee217ec379e8cd453bd385bf86e7f92 SHA512 386fd3c74dd94afc758ff8d6a00e429415391f0e65e529b82a561a16f9cd253e7d8cc243654a820ddd9a3bd11cc8e6474fc58f61aaa0575e1ed6d6f14306871e
diff --git a/dev-python/asgiref/asgiref-3.9.2.ebuild b/dev-python/asgiref/asgiref-3.9.2.ebuild
new file mode 100644
index 000000000000..30e0e9bcc2f1
--- /dev/null
+++ b/dev-python/asgiref/asgiref-3.9.2.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2020-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="ASGI utilities (successor to WSGI)"
+HOMEPAGE="
+ https://asgi.readthedocs.io/en/latest/
+ https://github.com/django/asgiref/
+ https://pypi.org/project/asgiref/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+EPYTEST_PLUGINS=( pytest-asyncio )
+distutils_enable_tests pytest
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 714148f1dcca..791144a01a98 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -9,3 +9,4 @@ DIST boto3-1.40.33.gh.tar.gz 999591 BLAKE2B 783649704144d025df7206952167e66377e2
DIST boto3-1.40.34.gh.tar.gz 1000166 BLAKE2B 83554207499fad1452610e7cbcac1cf484fc348749e418798ff1b835318f03c21d84b45245fc25b392d7bb22231f8a9d208ea8f6df5bc1f582ef209f04bc0990 SHA512 417405f8099772525fded763542f11c6bfa9d8cc3aee444cc49a3a1b27eeffd6a28d624d2087318951c4b5d1745bc109c47af13e0b6ae5ada134b851160deebf
DIST boto3-1.40.35.gh.tar.gz 1001174 BLAKE2B afef89c4d20770e9d7a8fbff39c2783f25331dc89ec9a025b40afd93a5e5175d1dc041ff3f6e866cc122bb81348c455e1740e6d793ed0ac8c5bc885f1eeb6085 SHA512 fdc723da40b22d6d46cf8c39e5ffbf80918d1398bd8e639bebbcfa4c5bda0b405fa2ada4ea22aa207fa0bf41bfe2242469e870c9f61f20a40a2e90630acce7b2
DIST boto3-1.40.36.gh.tar.gz 1002110 BLAKE2B 2e6e4a3d0d0c5a835f2f0ac8189c696e7dfce0d23fb5249eeb4e25fd50185e05229b1ee5208abce65865ef922c62b2816f6af98a32fcc1071fde824a5d518f7d SHA512 ad6240e80ecba5fe93c9cc9edad39abc8be43d1dd8835ce2b2dc7e0674b6ad86e3f956daa5d4328df46fb9c95ff15b43822435922a2b91aeaae05e08e016a3f6
+DIST boto3-1.40.37.gh.tar.gz 1002433 BLAKE2B 1455b91f685be5a50daa48de432998ad77e2d810106e55f9bc216506f85321220ec2882221ad1b41eb54d71675e0513ba1689c3ef83ba068fc361d063643ccbf SHA512 fe8fe11752acf1ca3d9814ac4512f3516890996036d825de3c248bbe72873e1509181fa4e7ab2e16f2d22bf0ba02f90409835aa111cdd37bf882abe4b2a00624
diff --git a/dev-python/boto3/boto3-1.40.37.ebuild b/dev-python/boto3/boto3-1.40.37.ebuild
new file mode 100644
index 000000000000..90fb2a42e6e5
--- /dev/null
+++ b/dev-python/boto3/boto3-1.40.37.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.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 cb5bc7e90371..58e1a6f777bd 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -9,3 +9,4 @@ DIST botocore-1.40.33.gh.tar.gz 15140845 BLAKE2B af295d0bd44d2c777095a96ba8c1e6b
DIST botocore-1.40.34.gh.tar.gz 15144932 BLAKE2B 5e4ebceccba1ba5b0c8f25582a68ea74b8dcfb11585db849bc0221a374e3464f05548c8086485842cc74f86c842122ffdcf8d6cd16350188f3fefa237bad565a SHA512 312f711cf2ced31aca034562667622bcfd1cf47d3a86b37791466edb18bf9e0dc5eb9f821459390296ea9673b2af7d4409659bad5b556a450c65fdf15a3ee79f
DIST botocore-1.40.35.gh.tar.gz 15147385 BLAKE2B 061a5f62573851c50c4dedbc0ea4868c73f64127219818c88976785dbbd425062b776846fce0c72ee5fca92f179ef13df14697ae387cb4741f549d1b0e3df4e6 SHA512 b85dd96dd123f155054e85da3c5fa86ca0f76019df5c9883b64143f8c7be58275063c757143fe243642ea1309f6d7fe0f900dca46c1498a4d3b2752686b95b86
DIST botocore-1.40.36.gh.tar.gz 15147138 BLAKE2B 857c7632ff97bd7d75e56e4ac0347a38373d1448169e5b7f2120722ac0ad3508510716a2a7abe521c8c44cfdbe92a0660017fe65d180352159a312584ec09c87 SHA512 815553250d5ffcc3dde6489a2c187e983702d607e4e7f0ace55a67385340458ad80e7321237a11475174594051cb41ca4d64519e8585911ee39015fb8d1f812b
+DIST botocore-1.40.37.gh.tar.gz 15152557 BLAKE2B b0ed767f10514f099730e08ef6c858838c1f2f14c55a104b9210803a94761b20b0d5ca62e21a891382c77ebac1f654c25ae14389b97ec4d196894ddb6c81bfb1 SHA512 adbc792f180bb26c3aaf48c36d9e12978e7a74d23383b02b791128fc7d07c2114888020c39a8dc5c2918ad42ab658813f9836bee181dec20d85e9129c743834c
diff --git a/dev-python/botocore/botocore-1.40.37.ebuild b/dev-python/botocore/botocore-1.40.37.ebuild
new file mode 100644
index 000000000000..a931fcaefec4
--- /dev/null
+++ b/dev-python/botocore/botocore-1.40.37.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/clang/Manifest b/dev-python/clang/Manifest
index ae2e24f76d37..682f09184db1 100644
--- a/dev-python/clang/Manifest
+++ b/dev-python/clang/Manifest
@@ -12,4 +12,5 @@ DIST llvm-project-20.1.8.src.tar.xz 147242952 BLAKE2B 7657ac0b26acc5affb1bfc91b9
DIST llvm-project-20.1.8.src.tar.xz.sig 566 BLAKE2B 85beedfcff1195a974fab2c667b9efd4b715b3480c1b44b1b887fe32c69f72aca0d3b8fb276c03b6cc5a866622f669047aeee5ccb976640b4008ccd31dce77a4 SHA512 d74369bdb4d1b82775161ea53c9c5f3a23ce810f4df5ff617123023f9d8ce720e7d6ecc9e17f8ebd39fd9e7a9de79560abdf2ffe73bcb907a43148d43665d619
DIST llvm-project-21.1.1.src.tar.xz 158891056 BLAKE2B 5801ba4ea64e9c55fd1e6a83e1ea463cfb1d2b12c1f25a488ca63fd88254f20388c5e986492e413d795306bc37782487b80485240939227f3beeea860091825c SHA512 a120895e75942d848cc763fd1cb4aeb184e9d4509d69064e8e3f5679fbeb09c73bf916e33d04b842778537d2331067ec9190e0ad75d591d3ba57871770e19bce
DIST llvm-project-21.1.1.src.tar.xz.sig 438 BLAKE2B 8fdf614e67e31382c65d70a551ef94893b8e4914e855fa96fc3a4a0a4ac916d646758be1c1c9a74028acd776d5d93b77f678d29dc75179ae95909d525d263c85 SHA512 1b9a2c51feaca75ef2f82a89c8e8d741a0b5f05f0dd8ca244d6997deb00f8ded3c37a5cbc6012a4ba8632004383ab4677756d9defe8855fff458e02380d77bd5
+DIST llvm-project-70bd610e43853d575e22be1cda46614fe9f0072f.tar.gz 247904536 BLAKE2B f0ae7bd39d921ce28adb6e2aadd8b2b94ba7a48ba344ea6ea236b2507430fb1a0e23cd6186d79d445de31d46580e2ac9ec400fc686cd9a7513e0ae2d0f479c1d SHA512 1201acbcec20d00979e7f06075756926161123cfb11da146a3bfa5c81d607b61d94c645d0abba839614cbe5d44cacb0b1c754e1ae49fa871cb86d9f6d7c70e26
DIST llvm-project-f059d2bac034acca39ad60a1b13aaec6afa0a3d6.tar.gz 248627883 BLAKE2B e1603ba38fcf70e7f3794a30a42057d0052a422bd0aaf423c65d1fd8f9ec7d3981cd651f309dc3ab5c28183291241732373b9bdb75fc2a11fc8d9f238388b8c3 SHA512 63a1627a8b3cc8f240cefe2066d7e306cab5091317f97dd808b9ad887d4e6eb2d21af3f79bccfdb9387f5f7a5ed0b772013b0261a647c8d50ffaa55914362dfb
diff --git a/dev-python/clang/clang-22.0.0_pre20250923.ebuild b/dev-python/clang/clang-22.0.0_pre20250923.ebuild
new file mode 100644
index 000000000000..9c57b6c8dbb9
--- /dev/null
+++ b/dev-python/clang/clang-22.0.0_pre20250923.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..14} )
+inherit llvm.org python-r1
+
+DESCRIPTION="Python bindings for llvm-core/clang"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# The module is opening libclang.so directly, and doing some blasphemy
+# on top of it.
+DEPEND="
+ >=llvm-core/clang-${PV}:*
+ !llvm-core/llvm:0[clang(-),python(-)]
+ !llvm-core/clang:0[python(-)]
+"
+RDEPEND="
+ ${DEPEND}
+ ${PYTHON_DEPS}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ test? (
+ llvm-core/clang:${LLVM_MAJOR}
+ )
+"
+
+LLVM_COMPONENTS=( clang/{bindings/python,include} )
+llvm.org_set_globals
+
+python_test() {
+ # tests rely on results from a specific clang version, so override
+ # the search path
+ local -x CLANG_LIBRARY_PATH=${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)
+ local -x CLANG_NO_DEFAULT_CONFIG=1
+ "${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}"
+}
+
+src_test() {
+ python_foreach_impl python_test
+}
+
+src_install() {
+ python_foreach_impl python_domodule clang
+}
diff --git a/dev-python/google-api-python-client/Manifest b/dev-python/google-api-python-client/Manifest
index 2bf67a9887a4..ebc1d3442c25 100644
--- a/dev-python/google-api-python-client/Manifest
+++ b/dev-python/google-api-python-client/Manifest
@@ -1,2 +1,3 @@
DIST google_api_python_client-2.181.0.tar.gz 13545438 BLAKE2B dd661f2c7d82d695b585e5278dc1857acd920989430ce4cec30594fe6b83617bf6681710cc41fdba4aff2ffcb0c3300ae1233a98847456cd1f7f34017489b8af SHA512 0a7ce53fd22d3c6f06bffd4e9268f944238a6293c3818f6a4d8e0144b4188c51cb2aa4cc1e58cb8380ccb3db6f485dbbbb9dc93016211da23f22acae77ac5df7
DIST google_api_python_client-2.182.0.tar.gz 13599318 BLAKE2B ca1250cdac8332e7323b3a04ed9e8adb120e0125ac1159976866f89796221ee93fd298fd32fe4086bfd1bdacdd016f586d082caaad87a6104d77aecc2bb32467 SHA512 611d70d520c3e9a1c08776346d8cb06cc980dbeff9dbeee44fd8cc386996ee3af79f47bb010ed0631d2c11c58026d1e23c03f2f5b5b5bfddc3ee90b711b50ae9
+DIST google_api_python_client-2.183.0.tar.gz 13645623 BLAKE2B fddadd024a6ef0424cf8a0c04f33d0bfd98485784e6e0189326b05c02772b3f3a517d1aa1be5a82b73975368e258dfa6cb2c01856bb78ece02ccb75ea5345ed7 SHA512 de2d94d1d9cacf84a2c65e8e15d53cf66b3e1a6b2fa8a1765214c96db1aec17491baa9ee6fcee9b426d9f7540dad71955f5c4464d65aaf49d775c3e27e66404b
diff --git a/dev-python/google-api-python-client/google-api-python-client-2.183.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.183.0.ebuild
new file mode 100644
index 000000000000..83f75ed3d688
--- /dev/null
+++ b/dev-python/google-api-python-client/google-api-python-client-2.183.0.ebuild
@@ -0,0 +1,51 @@
+# 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
+
+DESCRIPTION="Google API Client for Python"
+HOMEPAGE="
+ https://github.com/googleapis/google-api-python-client/
+ https://pypi.org/project/google-api-python-client/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/httplib2-0.15[${PYTHON_USEDEP}]
+ <dev-python/httplib2-1[${PYTHON_USEDEP}]
+ >=dev-python/google-api-core-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-1.35.0[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-httplib2-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/uritemplate-3.0.0[${PYTHON_USEDEP}]
+ <dev-python/uritemplate-5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/parameterized[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # require Internet access (and credentials)
+ tests/test_discovery.py::DiscoveryErrors::test_credentials_and_credentials_file_mutually_exclusive
+ tests/test_discovery.py::DiscoveryFromDocument::test_api_endpoint_override_from_client_options_mapping_object
+ tests/test_discovery.py::Universe::test_client_options_universe_configured_with_mtls
+ tests/test_discovery.py::Universe::test_universe_env_var_configured_with_mtls
+ )
+
+ epytest tests
+}
diff --git a/dev-python/lit/Manifest b/dev-python/lit/Manifest
index ae2e24f76d37..682f09184db1 100644
--- a/dev-python/lit/Manifest
+++ b/dev-python/lit/Manifest
@@ -12,4 +12,5 @@ DIST llvm-project-20.1.8.src.tar.xz 147242952 BLAKE2B 7657ac0b26acc5affb1bfc91b9
DIST llvm-project-20.1.8.src.tar.xz.sig 566 BLAKE2B 85beedfcff1195a974fab2c667b9efd4b715b3480c1b44b1b887fe32c69f72aca0d3b8fb276c03b6cc5a866622f669047aeee5ccb976640b4008ccd31dce77a4 SHA512 d74369bdb4d1b82775161ea53c9c5f3a23ce810f4df5ff617123023f9d8ce720e7d6ecc9e17f8ebd39fd9e7a9de79560abdf2ffe73bcb907a43148d43665d619
DIST llvm-project-21.1.1.src.tar.xz 158891056 BLAKE2B 5801ba4ea64e9c55fd1e6a83e1ea463cfb1d2b12c1f25a488ca63fd88254f20388c5e986492e413d795306bc37782487b80485240939227f3beeea860091825c SHA512 a120895e75942d848cc763fd1cb4aeb184e9d4509d69064e8e3f5679fbeb09c73bf916e33d04b842778537d2331067ec9190e0ad75d591d3ba57871770e19bce
DIST llvm-project-21.1.1.src.tar.xz.sig 438 BLAKE2B 8fdf614e67e31382c65d70a551ef94893b8e4914e855fa96fc3a4a0a4ac916d646758be1c1c9a74028acd776d5d93b77f678d29dc75179ae95909d525d263c85 SHA512 1b9a2c51feaca75ef2f82a89c8e8d741a0b5f05f0dd8ca244d6997deb00f8ded3c37a5cbc6012a4ba8632004383ab4677756d9defe8855fff458e02380d77bd5
+DIST llvm-project-70bd610e43853d575e22be1cda46614fe9f0072f.tar.gz 247904536 BLAKE2B f0ae7bd39d921ce28adb6e2aadd8b2b94ba7a48ba344ea6ea236b2507430fb1a0e23cd6186d79d445de31d46580e2ac9ec400fc686cd9a7513e0ae2d0f479c1d SHA512 1201acbcec20d00979e7f06075756926161123cfb11da146a3bfa5c81d607b61d94c645d0abba839614cbe5d44cacb0b1c754e1ae49fa871cb86d9f6d7c70e26
DIST llvm-project-f059d2bac034acca39ad60a1b13aaec6afa0a3d6.tar.gz 248627883 BLAKE2B e1603ba38fcf70e7f3794a30a42057d0052a422bd0aaf423c65d1fd8f9ec7d3981cd651f309dc3ab5c28183291241732373b9bdb75fc2a11fc8d9f238388b8c3 SHA512 63a1627a8b3cc8f240cefe2066d7e306cab5091317f97dd808b9ad887d4e6eb2d21af3f79bccfdb9387f5f7a5ed0b772013b0261a647c8d50ffaa55914362dfb
diff --git a/dev-python/lit/lit-22.0.0_pre20250923.ebuild b/dev-python/lit/lit-22.0.0_pre20250923.ebuild
new file mode 100644
index 000000000000..fdf920bda34f
--- /dev/null
+++ b/dev-python/lit/lit-22.0.0_pre20250923.ebuild
@@ -0,0 +1,45 @@
+# 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 llvm.org
+
+DESCRIPTION="A stand-alone install of the LLVM suite testing tool"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# Tests require 'FileCheck' and 'not' utilities (from llvm)
+BDEPEND="
+ test? (
+ dev-python/psutil[${PYTHON_USEDEP}]
+ llvm-core/llvm
+ )
+"
+
+LLVM_COMPONENTS=( llvm/utils/lit )
+llvm.org_set_globals
+
+# TODO: move the manpage generation here (from llvm-core/llvm)
+
+src_prepare() {
+ # flaky test
+ # https://github.com/llvm/llvm-project/issues/72022
+ rm tests/progress-bar.py || die
+
+ cd "${WORKDIR}" || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x LIT_PRESERVES_TMP=1
+ local litflags=$(get_lit_flags)
+ ./lit.py ${litflags//;/ } tests || die
+}
diff --git a/dev-python/pudb/Manifest b/dev-python/pudb/Manifest
index ac6f4c65a42f..220d92622067 100644
--- a/dev-python/pudb/Manifest
+++ b/dev-python/pudb/Manifest
@@ -1,2 +1,2 @@
-DIST pudb-2024.1.3.tar.gz 219443 BLAKE2B edfc2b8799cefc8f81eaac37e07a90b42870b6a3a6ddcc0e7aee785ea6f720fa0db0dc7b9dda6508a9a9e9718812bdf1d6729a12c2d6974f2531022dea2dd153 SHA512 da3702a1debeeae7b48012e1241be9d85f3e12714e7d37771863d8d26dabb9615c75bff9a0285647327852d9814eb3ddbc15fcb736d8f4a3f6030d71a12fd258
+DIST pudb-2025.1.1.tar.gz 224765 BLAKE2B 997e1f7b905ad02da01560379de3d7a01f1089e3ec39d7282f78b783fadc2a625147ab6ed2c584cb1a9d6db24098512294d821466cd826f786812e697977006e SHA512 b4d66303226064101efc0809328bf91a7c2d86dae5aab46df128694a68943c128fe390608b774134572e0283aa6f6fc1ed4b4fe2f7ade290f9fbb017fab15a66
DIST pudb-2025.1.tar.gz 220623 BLAKE2B 241fcb3bf0dbf6ae3719672a8b3eb29f0ff3bee0da83b721810aa4e084728c1ed4844195d0694e8526f1f819a0ab814fe7f4318014ace03a673f9125679648bb SHA512 205502e6c5ecd4428c44f7bc1742bbad95ce675a1127f527b562b2a5f49c50102db3365abdf324a4d74a490a70a1ab1af8b8b48f865eb15b222831b4975ad8cb
diff --git a/dev-python/pudb/pudb-2024.1.3.ebuild b/dev-python/pudb/pudb-2025.1.1.ebuild
index 52a1e0939e24..e301153f6eb9 100644
--- a/dev-python/pudb/pudb-2024.1.3.ebuild
+++ b/dev-python/pudb/pudb-2025.1.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi optfeature
@@ -23,15 +23,12 @@ RDEPEND="
>=dev-python/jedi-0.18[${PYTHON_USEDEP}]
>=dev-python/packaging-20.0[${PYTHON_USEDEP}]
>=dev-python/pygments-2.7.4[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.13[${PYTHON_USEDEP}]
>=dev-python/urwid-2.4[${PYTHON_USEDEP}]
dev-python/urwid-readline[${PYTHON_USEDEP}]
"
-BDEPEND="
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
+EPYTEST_PLUGINS=( pytest-mock )
distutils_enable_tests pytest
pkg_postinst() {
diff --git a/dev-python/rfc3161-client/Manifest b/dev-python/rfc3161-client/Manifest
index 4c95ca1cc9a0..5b91672e4867 100644
--- a/dev-python/rfc3161-client/Manifest
+++ b/dev-python/rfc3161-client/Manifest
@@ -40,6 +40,7 @@ DIST rand_chacha-0.9.0.crate 18258 BLAKE2B aa0efd158877a116b2587177f2da84832ba81
DIST rand_core-0.9.0.crate 23441 BLAKE2B 8f1543e2f33622edba457c340bdb4c266f8a3c9cdd95a3afaadf487f8dca7760548316227c1decc481a7e1ca5475f6915cfadb1ffd3860631c7a91494ea7f25a SHA512 def4746229c8405ceb46eb9300838918693f17a39a749e6ca42ad73fd02b0f0e14dca0dd26b3f030338db45da0d149d8c563d95cbd71c31995c5ab6294bd087a
DIST rfc3161-client-1.0.3.gh.tar.gz 56144 BLAKE2B 7ddfa2bfd837eb3d07a782f38e288bcb448e3a2d694e1d8aff1ccc4ea899df43d3dbff34fe46e67a3785db95c502e58cdbc1b06f712ed5717105519e70a3764a SHA512 b40b813c4fa6f348a330400b4a11be36cd2b31e4620c5141d522b005f80de329f5c07ff5ef7b83fc5e4c3be4fa7ee7a452d58b45c8811d9cd52cf6d4a630956b
DIST rfc3161-client-1.0.4.gh.tar.gz 57899 BLAKE2B b1abb505dedf010383988dbeb2dd5cfb49ef19a5d3b479d6c6253458b21a745bc300b34e90dcf37e286c7284d9588091b290d7c37dfc53ab2548cb332f37fe86 SHA512 96bf1ff902ad9280d7af6e7e337adea7e70da84169938db3291c8c50db4accd2cecb90d7d8ed1c72062132b05edef35ccceb06106aff23c8379047b359fe813f
+DIST rfc3161-client-1.0.5.gh.tar.gz 57950 BLAKE2B d17595ef21abda0c49f15a0e06250015afb67bf297a605a19a439e8b43154f817d888406521a0a046b008d4c073fdf8316c9ee0f3e2e70691a8ab2c8f3de18fa SHA512 720dcf6f1aca60c6204da47ef63c4d08ba9bc61d7d4d3a253ddf67955e0ee034600c12743df102378dde48b28cf1e7a4cf631d5bf5662ccf493f402bd85346c2
DIST self_cell-1.2.0.crate 16883 BLAKE2B 56bd187fabc138c530aa23dfc69a330a7d0a8f86609801924fd1f4b0cefc43a99a8ba21d05e59272c9d32b83405b4c980df4f01e529772b760a9564dd8eb0c0a SHA512 41addc9b737d0379c0236b1821d6051d31dca6a76f463e6e56c3bac9015da4243f9fedc3d57e051f68f6f0aa610383a0b2cade07b1ea17e92173e2088a625af0
DIST sha2-0.10.9.crate 29271 BLAKE2B 1d614e0efe085cdb40e05726578a9b4ca6bce93f6d3324f5dc0444cb37054912cdaf5d28d468eac2c0046030d920fced2ccd006953b80865ce8a2d43ef3daa81 SHA512 963adeeb4ed8b0e7fc19085e8721ea13e9b3aea5d115ca1b3dbca495ad14810c6450991dd3753807c293c415aaeb1054b8b4124c72e7090cd9e86f09fcbb4f80
DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a
diff --git a/dev-python/rfc3161-client/rfc3161-client-1.0.5.ebuild b/dev-python/rfc3161-client/rfc3161-client-1.0.5.ebuild
new file mode 100644
index 000000000000..b7396aea83f4
--- /dev/null
+++ b/dev-python/rfc3161-client/rfc3161-client-1.0.5.ebuild
@@ -0,0 +1,128 @@
+# 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_{11..14} )
+
+CRATES="
+ asn1@0.21.3
+ asn1_derive@0.21.3
+ autocfg@1.4.0
+ bitflags@2.6.0
+ block-buffer@0.10.4
+ byteorder@1.5.0
+ cc@1.2.2
+ cfg-if@1.0.0
+ cpufeatures@0.2.16
+ crypto-common@0.1.6
+ digest@0.10.7
+ foreign-types-shared@0.1.1
+ foreign-types@0.3.2
+ generic-array@0.14.7
+ getrandom@0.3.1
+ heck@0.5.0
+ hex@0.4.3
+ indoc@2.0.5
+ itoa@1.0.14
+ libc@0.2.167
+ memoffset@0.9.1
+ once_cell@1.20.2
+ openssl-macros@0.1.1
+ openssl-src@300.4.1+3.4.0
+ openssl-sys@0.9.109
+ openssl@0.10.73
+ pkg-config@0.3.31
+ portable-atomic@1.10.0
+ ppv-lite86@0.2.20
+ proc-macro2@1.0.92
+ pyo3-build-config@0.25.1
+ pyo3-ffi@0.25.1
+ pyo3-macros-backend@0.25.1
+ pyo3-macros@0.25.1
+ pyo3@0.25.1
+ quote@1.0.37
+ rand@0.9.1
+ rand_chacha@0.9.0
+ rand_core@0.9.0
+ self_cell@1.2.0
+ sha2@0.10.9
+ shlex@1.3.0
+ syn@2.0.90
+ target-lexicon@0.13.2
+ typenum@1.17.0
+ unicode-ident@1.0.14
+ unindent@0.2.3
+ vcpkg@0.2.15
+ version_check@0.9.5
+ wasi@0.13.3+wasi-0.2.2
+ 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
+ wit-bindgen-rt@0.33.0
+ zerocopy-derive@0.7.35
+ zerocopy-derive@0.8.14
+ zerocopy@0.7.35
+ zerocopy@0.8.14
+"
+
+declare -A GIT_CRATES=(
+ [cryptography-x509]='https://github.com/pyca/cryptography;678c0c59f743e3b301fbd34f1d26112db0cc2216;cryptography-%commit%/src/rust/cryptography-x509'
+)
+
+inherit cargo distutils-r1
+
+DESCRIPTION="An Opinionated Python RFC3161 Client"
+HOMEPAGE="
+ https://github.com/trailofbits/rfc3161-client/
+ https://pypi.org/project/rfc3161-client/
+"
+# no tests in sdist, as of 0.0.4
+SRC_URI="
+ https://github.com/trailofbits/rfc3161-client/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="Apache-2.0"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-3.0
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+
+RDEPEND="
+ >=dev-python/cryptography-43[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pretend[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unpin
+ sed -i '/cryptography/s:,<[0-9]*::' pyproject.toml || die
+}
+
+python_test() {
+ epytest
+
+ # need this for (new) python versions not yet recognized by pyo3
+ local -x PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1
+ cargo_src_test
+}
diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest
index bc8cfd4440ed..4764595bfe52 100644
--- a/dev-python/sqlglot/Manifest
+++ b/dev-python/sqlglot/Manifest
@@ -1,5 +1,4 @@
DIST sqlglot-26.33.0-crates.tar.xz 8859792 BLAKE2B abb2051b392c53dc3caa705ddd8df7076819a26dcdaa89fa3760559a79578db01e86943c2d0ffb8006263c2dca3aa50d20023eae9d772f8ebd12a8a2d3266cdd SHA512 7cca439a06433a62bcd4a2af33d240f46e9b5240cc158edbc654efb37a464aa0f1ebbe9749b2fc6352127b4809b63af2341fac6240050c414e578ae99444ba5d
DIST sqlglot-26.33.0.tar.gz 5353340 BLAKE2B 18ace866ec89ced24911803497e8cb5c55fc6c157bf62b893e90df914b8be3360403ffff67f196080cdef9b9b9078b86d471494ae9768e7947a8b4d5d39e49af SHA512 df38e899d59bdd07aca0e5370833133308f9c5be4d0c990bf8112a48776fae034b622938aba968769aa5dc5e2957d56da48c89045b91b2d33783e6e25acc4a7b
-DIST sqlglot-27.14.0.tar.gz 5462946 BLAKE2B a88f1775a1dc5d42678eab8427f857bb060f0dfcf3ba97f43bd1761b6807a7c1fd216019047d4f053f665547791f94cc52197b2d175a13e1d76a02373b4251f1 SHA512 33f072e6898e442bf690bf44d2757fd41f3a9bfc74e062cd17db60d651dca39aba2658f32958f9eed3bd1943d53b02412e5b6588762c720a2d0847e61195bcfe
-DIST sqlglot-27.15.3.tar.gz 5469854 BLAKE2B 6c39c40663b946abdad21c961797018938a4ed2d95cb118fbc2235794ba66f7bfd0f98bd0d338b80133087e4cfef63c3ce4098b57b4662f92ef6653fdcaa0590 SHA512 9d9ce9c6c142734476ef286fd3b7268c500c127e40ecc809db9c92bd71c987b080814641eac1beccecdac266501403c789a5428fd2bed554a54abf758aa013e8
DIST sqlglot-27.16.3.tar.gz 5471626 BLAKE2B ec8f0a831767380362c4c2fe31d3e63355904bbe8a063172efe5f1b893fbc5fce98f9540e9a89136070db6beebe0ac4384b894e0fb103a8bd2c014a917b60b3f SHA512 b9aae79f96b2a7d797c762ab471737b29fa7760798e9121490db2f16a953a67baeb71c0d3e86d77ff00e311a2240503d1155f16669905847d91a5d4eedf18574
+DIST sqlglot-27.17.0.tar.gz 5474967 BLAKE2B ff7cb2e2551ec1e78688fec29685d4e75313136a9c575b7b5bd27eb022db91c44417ca467285a89a30ff6d8aad2f99f1d2b3bca1113ace32dd53ae089883d9d5 SHA512 76aaa80b59e3b0ae831b3965824cf92072b63b1573a9eb6204aea7764c186b1c926a47c72c8e169ed0fb42b01b0784e408e32795befddc230ab08023257f820b
diff --git a/dev-python/sqlglot/sqlglot-27.15.3.ebuild b/dev-python/sqlglot/sqlglot-27.15.3.ebuild
deleted file mode 100644
index 9a517e6a4e70..000000000000
--- a/dev-python/sqlglot/sqlglot-27.15.3.ebuild
+++ /dev/null
@@ -1,175 +0,0 @@
-# Copyright 2023-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-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_{11..14} )
-CRATE_PV=26.33.0
-
-inherit cargo distutils-r1 pypi optfeature
-
-DESCRIPTION="An easily customizable SQL parser and transpiler"
-HOMEPAGE="
- https://sqlglot.com/
- https://github.com/tobymao/sqlglot/
- https://pypi.org/project/sqlglot/
-"
-SRC_URI+="
- native-extensions? (
- https://github.com/gentoo-crate-dist/sqlglot/releases/download/v${CRATE_PV}/sqlglot-${CRATE_PV}-crates.tar.xz
- )
-"
-
-LICENSE="MIT"
-LICENSE+=" native-extensions? ("
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
-"
-LICENSE+=" )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="+native-extensions"
-
-BDEPEND="
- native-extensions? (
- ${RUST_DEPEND}
- dev-util/maturin[${PYTHON_USEDEP}]
- )
- test? (
- dev-python/pytz[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so"
-
-pkg_setup() {
- use native-extensions && rust_pkg_setup
-}
-
-src_unpack() {
- cargo_src_unpack
-}
-
-python_compile() {
- distutils-r1_python_compile
-
- if use native-extensions; then
- local DISTUTILS_USE_PEP517=maturin
- local DISTUTILS_UPSTREAM_PEP517=maturin
- cd sqlglotrs || die
- distutils-r1_python_compile
- cd - >/dev/null || die
- fi
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- # Tests require pyspark or duckdb which aren't in the tree.
- # Pandas would be a requirement normally, but it gets ignored by proxy.
- "tests/dataframe/integration/test_dataframe.py"
- "tests/dataframe/integration/test_grouped_data.py"
- "tests/dataframe/integration/test_session.py"
- "tests/test_executor.py"
- "tests/test_optimizer.py"
- )
-
- # make sure not to use an earlier installed version
- local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0)
- rm -rf sqlglotrs || die
- epytest
-}
-
-pkg_postinst() {
- optfeature "simplifying timedelta expressions" dev-python/python-dateutil
-}
diff --git a/dev-python/sqlglot/sqlglot-27.14.0.ebuild b/dev-python/sqlglot/sqlglot-27.17.0.ebuild
index 9a517e6a4e70..9a517e6a4e70 100644
--- a/dev-python/sqlglot/sqlglot-27.14.0.ebuild
+++ b/dev-python/sqlglot/sqlglot-27.17.0.ebuild
diff --git a/dev-python/typer/Manifest b/dev-python/typer/Manifest
index c943f3158cdb..aba0236304db 100644
--- a/dev-python/typer/Manifest
+++ b/dev-python/typer/Manifest
@@ -1,6 +1,4 @@
-DIST typer-0.17.4.tar.gz 103734 BLAKE2B 2eee439d050bfddf51f62d7d634cdccabfdffe1b866bb7fcffbe4d4b1ab0c95291cffe0a041cdf68b0575b16fec24bdff420f05afa5fe0af09efa4c9b5b636ee SHA512 2fa32742976efee760933e31c4a80508903b6901d2c63a9583866067807c55ca9ac0416825e030d164c00a612760a7c7da8aa20b428770b741853b7a0c5d5fee
-DIST typer-0.17.4.tar.gz.provenance 8937 BLAKE2B d8b90b79b7ba61ba1249a96ec46c40d6cd530f174b67d2a81ee6c095a8cd71436f70da438d42b2d6705aa386e91d707da4e0461026769045c4d280532d1d60ce SHA512 bb5ecb283f136f129bcc43f976d604b98ff9afe0be738ce780335ee28a71749c8a205adb5daaf126ec431b2509a1c35b3130b3b126825e09a7c9eca61e7ef9da
-DIST typer-0.18.0.tar.gz 103878 BLAKE2B 7d21913f99be53621c16f6ea1d2644e31ec782e97e3e61bf445fe400e06f24724d403ec0fce71df624b547be7a831fdf3fd6831ed87521fcccb98ac18edee344 SHA512 f0caf25d720a7cd74349b489efbfe13933326edd30e6c0a9d7a5185b4fb9db682354508cf0bae9be413f2d5e971b70a9f82fea2a2c6b7473e37345a84f2239f2
-DIST typer-0.18.0.tar.gz.provenance 9125 BLAKE2B c6252d17c199a2e25dcf240f71f46c1bf4403dbcec80af2bfb9b46bd80a6b620e0599a3ed4599b2df782de74d79f188539b7b4f961f2a68cd3b8e479f50fd03f SHA512 c7317de20cb8aeb29430c228fa750505091518f4a0ecfdf4dffd039e0044160cf0eb2b32d695d2810c5cbcc87be542bebf533041a2118820884f5897baebc3c6
DIST typer-0.19.1.tar.gz 104802 BLAKE2B 1b9565039ab8ee57ef9317112fbb63b8a27faca6ac558c5dcd08f89e96f42d3461aa9d131ad5afed08d1ab369d7f0ef09664a10f5929fe8d1851214c9ac90c60 SHA512 f1042d6b6a120978c9abdac1531bdb26897a351729a297d0c95daf661c8092d01c7b372381d418e15cec2fdc14d4516bf0331bca04129acd062066bc33fc3f0a
DIST typer-0.19.1.tar.gz.provenance 9313 BLAKE2B a51b6ea2934e4302c1095c59df697e508a9863a600a63d72e9edbae68cfec6248726827689849e605625d4f03c74b87a973ad167e8ba40c35f4aad2cebb86af7 SHA512 521134cf3bc2046640627135a12b0d35283511bd3e86a2e5b4f1666d31ee3de0ef0ed4d462084d94c20c3489f2f42ea4b369a45a956d49e3751a28b69713c92a
+DIST typer-0.19.2.tar.gz 104755 BLAKE2B 7b520b22c2519a1501235a7697695a74b1908e7e628b5a836e2266746cebbc2bbb32ca2a1e6ce4771bd90290a31ed100b40c3d33e4e8f73416280373c18c73da SHA512 d283166b991a70751b0deefba4fd4cff044f9dc6ec60dd249554f7ddc5eb642cd484e207afa0741be584961c7c9b3292cfd83c26eeb94d50ea553a9ee79a6589
+DIST typer-0.19.2.tar.gz.provenance 9172 BLAKE2B e45fac477ae8acc3ef4b71337cacf4ffce57150ba7d0ceecdbcceb3e6cbca676df4c812f7d674b4662315763d46973074d41dfc1835a9f5d755e8a362b40d850 SHA512 0e1445f3f926f451e61a974044c1a9e71ff0b75d00bfb4552bef6e8774da12bb5cc10a01df97014d801f226e7fa1bc1ea493b8a00d18543e9cc3e8c43e7a1680
diff --git a/dev-python/typer/typer-0.18.0.ebuild b/dev-python/typer/typer-0.18.0.ebuild
deleted file mode 100644
index 06ac178ad087..000000000000
--- a/dev-python/typer/typer-0.18.0.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pdm-backend
-PYPI_VERIFY_REPO=https://github.com/fastapi/typer
-PYTHON_COMPAT=( python3_{11..14} )
-
-inherit distutils-r1 shell-completion pypi
-
-DESCRIPTION="Build great CLIs. Easy to code. Based on Python type hints"
-HOMEPAGE="
- https://typer.tiangolo.com/
- https://github.com/fastapi/typer/
- https://pypi.org/project/typer/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-IUSE="cli"
-
-RDEPEND="
- >=dev-python/click-8.0.0[${PYTHON_USEDEP}]
- >=dev-python/rich-10.11.0[${PYTHON_USEDEP}]
- >=dev-python/shellingham-1.3.0[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-3.7.4.3[${PYTHON_USEDEP}]
- cli? ( !dev-lang/erlang )
-"
-BDEPEND="
- test? (
- dev-python/coverage[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- if ! use cli; then
- sed -i -e '/typer\.cli/d' pyproject.toml || die
- fi
-}
-
-python_test() {
- # See scripts/tests.sh
- local -x TERMINAL_WIDTH=3000
- local -x _TYPER_FORCE_DISABLE_TERMINAL=1
- local -x _TYPER_RUN_INSTALL_COMPLETION_TESTS=1
-
- epytest
-}
-
-python_install() {
- if use cli && [[ ! ${COMPLETIONS_INSTALLED} ]]; then
- local -x _TYPER_COMPLETE_TEST_DISABLE_SHELL_DETECTION=1
- newbashcomp - typer < <(typer --show-completion bash || die)
- newzshcomp - typer < <(typer --show-completion zsh || die)
- newfishcomp - typer < <(typer --show-completion fish || die)
- COMPLETIONS_INSTALLED=1
- fi
-
- distutils-r1_python_install
-}
diff --git a/dev-python/typer/typer-0.17.4.ebuild b/dev-python/typer/typer-0.19.2.ebuild
index 06ac178ad087..e557b979387c 100644
--- a/dev-python/typer/typer-0.17.4.ebuild
+++ b/dev-python/typer/typer-0.19.2.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64"
+KEYWORDS="~amd64 ~arm ~arm64"
IUSE="cli"
RDEPEND="
diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest
index 850b0da77323..8e8dde22a749 100644
--- a/dev-python/uv-build/Manifest
+++ b/dev-python/uv-build/Manifest
@@ -4,4 +4,5 @@ DIST uv_build-0.8.17.tar.gz 331207 BLAKE2B fefb1fce9d0669fa242a7639dac3767accc16
DIST uv_build-0.8.18.tar.gz 330099 BLAKE2B 7a9a144aeae7ab2d9f458d10c2b8786f4d5e22bd64ab38b0b82ea747135d69fc0f4325efff23d7d232e8a6a584acdd8b94c97428f91e20806750967a6fafd6a7 SHA512 1a975786482d957fb0b3b3cf716d3e8dd8d210bcffa562ad60df7f18d4024aaf8dcf2c52a7afdb04c32de469684668cb7c7ec8359d9a7b102024a52ae3e0d785
DIST uv_build-0.8.19.tar.gz 331154 BLAKE2B 45d594ced0dd59efc9efdb48c2c412d8e619b7fb1b2dbe74e172bae736d35c9ac920763479ba78d7ff60f0f5dddeb75b15b1dbadcf15d10e7c28c17e92971c83 SHA512 91b7b31c5d42b59869b7fe282ee4a5410512a756df90ea68d46015aef950e21c1a61218b75e3d5f9b38cd84b84e99ee0b314943e85344fb00978885ab11e9483
DIST uv_build-0.8.20.tar.gz 331116 BLAKE2B 0089f4c645a0ddcbf9661c67108f10b72bfe0ab26f096f1176d24f51f88c2ef1f1947329274dbbe367dfe4d1f6d0066a66befbc37ceb184d27609702745b2fa4 SHA512 d13b53e71ea1805fc9530045e52300ce6a06a1d77f41d8f3ab47d0ac1d459d22ce3b5323cf4543a6fb251543821d367c24aeba108fea09de651f84fb78149804
+DIST uv_build-0.8.22.tar.gz 332850 BLAKE2B c3c48c77ecbe53a66f48077143e49ec61af92583618934abb11ef492e29a81759300f3bf7f01ae5cbc986dc1cc77568fd7f30607868f5d8d6dca237379ea7b2d SHA512 eb08f61551bdb4a79ff8978e2008ba160731c477d8e71a6a92266425640e7e053f44970ac6d8119e80b03cda803081ef81758885d5af7d88f9efef818f820340
DIST uv_build-0.8.6.tar.gz 318772 BLAKE2B faf4f36b32cf308d3c70d52b84bd135d108db4018bc4c7eadf193448e422fe8b0deb1cf68f7264413152697708f9a15748a017d0ece151c19c1677916b3727b9 SHA512 da83c3ba7f2daa1c39a8bac5b18635eff4afc93460ea23b770518ebaf44bef573654e272c117e257f4126124c71a5b661f2751ff36be792c03ee28f257d1eddc
diff --git a/dev-python/uv-build/uv-build-0.8.22.ebuild b/dev-python/uv-build/uv-build-0.8.22.ebuild
new file mode 100644
index 000000000000..d75c0bd44a9f
--- /dev/null
+++ b/dev-python/uv-build/uv-build-0.8.22.ebuild
@@ -0,0 +1,99 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Maturin compiles uv-build executable for every impl, we do not want
+# that, so we use another backend. And since we use another backend,
+# why not dogfood it in the first place?
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="PEP517 uv build backend"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv-build/
+"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~riscv"
+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 a5c18580d1de..ff867350784f 100644
--- a/dev-python/uv/Manifest
+++ b/dev-python/uv/Manifest
@@ -14,5 +14,7 @@ DIST uv-0.8.18.gh.tar.gz 4693782 BLAKE2B 636f45447de3ed21bde705c900b0299b34f106c
DIST uv-0.8.19.gh.tar.gz 4700498 BLAKE2B 60d0b2b0fc406b9b91502942c71d51d70ad97e33f11aa4787f4c9caccbeddc1d97c3948a57017516918260dfb3904372285aaf2809b376d75d56c1d34f1042a4 SHA512 565825f348422d2247d9bb32d30fc22e00240ac63b271ebb77a67cf7d5ba84de768819b03274194085ff941c742a76e4cc27129922b3db6ea63e58b694e97b59
DIST uv-0.8.20-crates.tar.xz 45310716 BLAKE2B 4fe01bda1fe2c879742433bfedbc459fb9e4387324449722648344f5b17178bf70848b92df9129327ea7fd010c7ae59a222be96b19f5617b871c1f22fe229cf2 SHA512 baa62bd819aaf8499647e1bd65d233cedb29af2cc81154f89983c167158f4fdfed3b74b79a429c773fafba3b54eddffd38e61254e09b3a57149b3fa1419cdf5f
DIST uv-0.8.20.gh.tar.gz 4702175 BLAKE2B ffb1898d1acd59fe9befd2ae2842d133619b9d9ec2e114b5332848b0155ebc065589951363df167f1b2e8dc48fe103fd97da8542a5e1a551d6938635fcb628c5 SHA512 80e6566b8152b5f2eff8f1f8991ed4f62465670aa5a179dc055fa8395968581369ebd9289000b934c28e395b39185ea18d705066016ea969abbbe42985064668
+DIST uv-0.8.22-crates.tar.xz 45793452 BLAKE2B ff9678899b1fd3a3d5cc34599ea1631dddd64485cb65506d066db7c960798b1e5bf36ef007fc54ba262d4496f4c87301a51cfc70a854ab3d00b20dbcb68ff1c2 SHA512 6e144acea42db2fd8e3922bb23d42be4fb82706a44a6da66c7bb47d360a53ea90f0b073f23893095a3893a0ca61ea053eee6d878b87bf3664abd601e38c1ec2c
+DIST uv-0.8.22.gh.tar.gz 4707422 BLAKE2B f205c01e46f2e638c125f2ce3e97fdcb761e9fdc9993b8cddcb41dc1ccda1785d013c6c30992760f1a0929d1a0bfe30711325e55f9051fb3eb731c284ecfb693 SHA512 625d5bf4a824ed785f819fded89f980e50d7a393a537b8ac4f75f3c1985d51e57e8e982960441029e526ffa09a63781262567c336615444309ffef300d90e1dd
DIST uv-0.8.6-crates.tar.xz 46208952 BLAKE2B f9557a45fbfaa9d6006f935629130960b5d414cd185d7fbdb1415e7f3875568d07ade946a0b606712e9e2e06e7964bb0fb8318e02e78609899a852ed073b87a6 SHA512 c79fa70a6a670dc2d80efbf0b51942806b2b16ab7b4c63983ab634453ab32142322302bd68ab80f5bcfee08138bca8d04a7d152c76ca5d94bfc40255cab8477b
DIST uv-0.8.6.gh.tar.gz 4255911 BLAKE2B 198ed83cb487f25a35957959bca32f98b8f5343712a7a9bbf3f817f189f1ec9c7903fa2e64ec65c9b3e18a469506c942ebb0ca50b39a353dc7e82228386fb69c SHA512 d164488e967364d254bab989933a5faf27c52c91da1bdeb6f3419fce335dfac5d4ea6cd717cac6b05fee9f85605cf21930c3d37119c49a98cb13c53d51ea996d
diff --git a/dev-python/uv/uv-0.8.22.ebuild b/dev-python/uv/uv-0.8.22.ebuild
new file mode 100644
index 000000000000..5c9e7094598b
--- /dev/null
+++ b/dev-python/uv/uv-0.8.22.ebuild
@@ -0,0 +1,183 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+RUST_MIN_VER="1.88.0"
+
+declare -A GIT_CRATES=(
+ [async_zip]='https://github.com/astral-sh/rs-async-zip;285e48742b74ab109887d62e1ae79e7c15fd4878;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'
+ [tl]='https://github.com/astral-sh/tl;6e25b2ee2513d75385101a8ff9f591ef51f314ec;tl-%commit%'
+ [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/uvicorn/Manifest b/dev-python/uvicorn/Manifest
index 5f22d0302647..bbc3ab6865eb 100644
--- a/dev-python/uvicorn/Manifest
+++ b/dev-python/uvicorn/Manifest
@@ -1,2 +1,3 @@
DIST uvicorn-0.35.0.gh.tar.gz 712106 BLAKE2B 117f925e295a8475d403e5c29126ffee64cdc62e54b532a8f1ba25862741f2b5d7e164e45878aa00b5e7839d1799e7f8c56d2f85ee3a92520cce7c9059690227 SHA512 f7340bae22774d40c573f5d0657cbec64b5f4b6d97a693dbb3e1d42d539e30e4bca679faf6f6359b07828a3ffb4ac22a94195b99c09078af531cf13a5afe479c
DIST uvicorn-0.36.0.gh.tar.gz 815375 BLAKE2B 44df6b0543debfb3471b81bc8684a48f6b6a409ac1f9303d50b332ba604f11078e8ec6ee90c964cc5e919424b2b382f3776c06004927b6a195d52d45a1282480 SHA512 4639a4abc98e76749c5267acc17a35bfee713a1242c9c3a6254ee68a8911db30b0ea9358d9749346dc8ca38f4d52bb209964083409087b5a5582b55a1346182b
+DIST uvicorn-0.37.0.gh.tar.gz 815857 BLAKE2B 2de453b020d6659c53dcf0ea10ab9f155f9f4f25242c0be53247f49081dd49dfd3aeacd03555dba4560534abe0809e725b565bc3191676adaf4b5d76a1413e3a SHA512 be933111c14fc6c31335c8b13e1147542aa69045b856982a4aa841ef3e078fdc8626fc17287fc23ecf63ad8f2c54647d521b090963c71ddb6a4ba494e4299de1
diff --git a/dev-python/uvicorn/uvicorn-0.37.0.ebuild b/dev-python/uvicorn/uvicorn-0.37.0.ebuild
new file mode 100644
index 000000000000..df08087e061d
--- /dev/null
+++ b/dev-python/uvicorn/uvicorn-0.37.0.ebuild
@@ -0,0 +1,87 @@
+# Copyright 2021-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 optfeature
+
+DESCRIPTION="Lightning-fast ASGI server implementation"
+HOMEPAGE="
+ https://www.uvicorn.org/
+ https://github.com/Kludex/uvicorn/
+ https://pypi.org/project/uvicorn/
+"
+# as of 0.28.0, no tests in sdist
+SRC_URI="
+ https://github.com/Kludex/uvicorn/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test-rust"
+
+RDEPEND="
+ >=dev-python/asgiref-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/click-7.0[${PYTHON_USEDEP}]
+ >=dev-python/h11-0.8[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/a2wsgi[${PYTHON_USEDEP}]
+ >=dev-python/httptools-0.6.3[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.28[${PYTHON_USEDEP}]
+ dev-python/python-dotenv[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ >=dev-python/websockets-10.4[${PYTHON_USEDEP}]
+ dev-python/wsproto[${PYTHON_USEDEP}]
+ test-rust? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ dev-python/watchfiles[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+EPYTEST_PLUGINS=( anyio pytest-mock )
+EPYTEST_RERUNS=5
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # too long path for unix socket
+ tests/test_config.py::test_bind_unix_socket_works_with_reload_or_workers
+ # TODO
+ 'tests/protocols/test_http.py::test_close_connection_with_multiple_requests[httptools]'
+ 'tests/protocols/test_websocket.py::test_send_binary_data_to_server_bigger_than_default_on_websockets[httptools-max=defaults sent=defaults+1]'
+ 'tests/protocols/test_websocket.py::test_send_binary_data_to_server_bigger_than_default_on_websockets[h11-max=defaults sent=defaults+1]'
+ )
+ case ${EPYTHON} in
+ pypy3*)
+ # TODO
+ EPYTEST_DESELECT+=(
+ tests/middleware/test_logging.py::test_running_log_using_fd
+ )
+ ;;
+ python3.14*)
+ EPYTEST_DESELECT+=(
+ # TODO
+ tests/test_auto_detection.py::test_loop_auto
+ # changed exception type
+ tests/test_compat.py::test_asyncio_run__passing_a_non_awaitable_callback_should_throw_error
+ )
+ ;;
+ esac
+
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "auto reload on file changes" dev-python/watchfiles
+}