summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-07-08 03:04:43 -0500
committerroot <root@alpha.trunkmasters.com>2026-07-08 03:04:43 -0500
commit897a58deb079b5691d4424cc15517aea6e422808 (patch)
tree80a1bb0faff7f0506f36a09342191dffd2e1d3bb /dev-python
parentcab4bebbee5e50ac2d5275d645904cef772fcc17 (diff)
downloadbaldeagleos-repo-897a58deb079b5691d4424cc15517aea6e422808.tar.gz
baldeagleos-repo-897a58deb079b5691d4424cc15517aea6e422808.tar.xz
baldeagleos-repo-897a58deb079b5691d4424cc15517aea6e422808.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.43.42.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.43.42.ebuild67
-rw-r--r--dev-python/clang/Manifest1
-rw-r--r--dev-python/clang/clang-23.0.0_pre20260707.ebuild49
-rw-r--r--dev-python/cmd2/Manifest1
-rw-r--r--dev-python/cmd2/cmd2-4.1.0.ebuild59
-rw-r--r--dev-python/google-auth/Manifest2
-rw-r--r--dev-python/google-auth/google-auth-2.55.2.ebuild64
-rw-r--r--dev-python/hatchling/Manifest1
-rw-r--r--dev-python/hatchling/hatchling-1.31.0.ebuild98
-rw-r--r--dev-python/hypothesis/Manifest1
-rw-r--r--dev-python/hypothesis/hypothesis-6.156.2.ebuild133
-rw-r--r--dev-python/lit/Manifest1
-rw-r--r--dev-python/lit/lit-23.0.0_pre20260707.ebuild41
-rw-r--r--dev-python/mypy/Manifest1
-rw-r--r--dev-python/mypy/mypy-2.2.0.ebuild146
-rw-r--r--dev-python/scikit-build-core/Manifest2
-rw-r--r--dev-python/scikit-build-core/scikit-build-core-1.0.1.ebuild52
-rw-r--r--dev-python/sphinxcontrib-mermaid/Manifest1
-rw-r--r--dev-python/sphinxcontrib-mermaid/sphinxcontrib-mermaid-2.0.3.ebuild44
-rw-r--r--dev-python/svg-path/Manifest1
-rw-r--r--dev-python/svg-path/svg-path-7.1.ebuild43
-rw-r--r--dev-python/uv-build/Manifest1
-rw-r--r--dev-python/uv-build/uv-build-0.11.28.ebuild99
-rw-r--r--dev-python/uv/Manifest2
-rw-r--r--dev-python/uv/uv-0.11.28.ebuild163
28 files changed, 1128 insertions, 0 deletions
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 0f2f96b4d7ed..98a6a8120bdf 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -4,3 +4,4 @@ DIST boto3-1.43.29.gh.tar.gz 1161648 BLAKE2B 3f0a040019fd8ea2a42a82c75bf31e563ef
DIST boto3-1.43.36.gh.tar.gz 1169288 BLAKE2B c316bf8bc804c7c7a70eed0b01a66d7cf8ffdd0662e3bdb54864a9c78d3baa1d092c99fd43dd2df93314fc4795738a6ad432cad6a333f0a5535e13b9c6765fca SHA512 bd9f623a67508741cd45b239a4e575bf5688146d38bdb4f3af0b294f17898205e23b57d04bf6ed9584b92088515be1fd6f11922fdba5cd19bcf3ea4340d16f55
DIST boto3-1.43.40.gh.tar.gz 1175361 BLAKE2B cb24a2dd76debf1b3b2d759d020b2cf17248db20044b06e0c191821170644f4762997a527b8e5c401305f5b0c725d1269d610c9cb1aa2bb776d894f70b09f3ac SHA512 eb7d0218051abddd74e544d8eaa4e83cdd2e9ef305d059c165c926ade12a795ae196eefbaa2b64176fe26a1bf20419d775670fccc4fda485c93197d10efcbcf1
DIST boto3-1.43.41.gh.tar.gz 1176299 BLAKE2B 25ddfdcf9b0e5fdb96ad5af8d78bef74d7e8ed41a506bfc13f257fb5dfd725c7fe40e5bead8f20b760c110cac72363161be1cf03ec64d8b3107b0251e32a6362 SHA512 11efe41cf581d7fd94c8f12a7456408a8965789bad044a7c79c44661dd109238c2ec9a6632537c3331c759150324de7280c3771ce506f44b26a7cce92e6c867f
+DIST boto3-1.43.42.gh.tar.gz 1177879 BLAKE2B 43471c8748c366198e5336548959a16f970750c7a6136296352731d6126334d5d11b2762a8115adfee4d4e2f1c1f3e53b2d35020a1868e6a3031e3d3024ae19e SHA512 e6054e484c26e0701aa63a41a09e22e9308e1470aba895fb82fd639d71057512d096083209648c99ee95b1c900a89f5ab639d826d1ef33fb5725be2a2bb9d24d
diff --git a/dev-python/boto3/boto3-1.43.42.ebuild b/dev-python/boto3/boto3-1.43.42.ebuild
new file mode 100644
index 000000000000..93fbbe6dd59b
--- /dev/null
+++ b/dev-python/boto3/boto3-1.43.42.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..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"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.19.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 46db7acb6e1d..b9dca071e216 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -4,3 +4,4 @@ DIST botocore-1.43.29.gh.tar.gz 16476072 BLAKE2B 2525545c2425568e8765100bad446e2
DIST botocore-1.43.36.gh.tar.gz 16601718 BLAKE2B b4643995a2c173c9df865923d6912e2c804da45b3bcfaf2e73e941366df02c23f4cb05408550992e9747aaacf1acaaced06dc497625e5e3dd5d8dc1eafc881b9 SHA512 02754b7766b91b569fa9aa3f83797c4b01834914415b535d690308e373583cafadf0b35846309aabbc0c66413d7adec05db0132e441eae273c4b9b78327570a8
DIST botocore-1.43.40.gh.tar.gz 16621912 BLAKE2B 87339ac693df7e8753b8a7463a93aea57f24005c48c6d5b0276307928704893f315e1b7c671d9a91340899bd8bff8846f7afa23eca4dbfaa03f54a3f07b2fa43 SHA512 49257c431950a63d34c137b2b3ed1bb642cfbdc98351dab2cb2dfdaae6f6e88ecb11c74d89d9ec52ad6b558e9d94fa6bc5da13c5a0e67ad441decf1df516e888
DIST botocore-1.43.41.gh.tar.gz 16629580 BLAKE2B d8e01dbfbf2e3e890b44b9197e1959500256a5863d63b2c04a675f0dfd6ede3a3a961998f5f4dea62d868b11189f52e708f22680a74f3bb716a598a0c53e0dc2 SHA512 672411cc3030b95a98d9e3b0110a276e81fe3b1f0762213ededa8da93dd486bd2d15a9aec3ae76b9c2fbcea118a6512e49ac15f11a7367ad781ab29fa1eb68e4
+DIST botocore-1.43.42.gh.tar.gz 16663349 BLAKE2B b215c60797e01bb32523b075d1aa15f5ceab48791eb6271092583b206c4a59451b6cdc4a214c97b564010090688f2c8032766fcbb97b5380e32b1d41ba3cc962 SHA512 18d159d62999946ef957ece6f44e44108296efe933f25e3295b9f9a2be8b8891e740ddb8fbac21a9a2808777d3a71426b48977e85e45e53c30c116b64eced49c
diff --git a/dev-python/botocore/botocore-1.43.42.ebuild b/dev-python/botocore/botocore-1.43.42.ebuild
new file mode 100644
index 000000000000..a3a161f78545
--- /dev/null
+++ b/dev-python/botocore/botocore-1.43.42.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..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"
+
+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 94dc93200034..243c20f956b6 100644
--- a/dev-python/clang/Manifest
+++ b/dev-python/clang/Manifest
@@ -12,5 +12,6 @@ DIST llvm-project-21.1.8.src.tar.xz 158958576 BLAKE2B 0d3d4ee920f8e5db50e9815261
DIST llvm-project-21.1.8.src.tar.xz.sig 119 BLAKE2B cffc1825f5778a3e3c128ec3e856ff6ee50687319d621cdf42e895abf67e05cc51cb7493308e2b506ab60dbdbaca7aa75eb9f78d91d42c81f9682a36f4042e9d SHA512 10f58eff58ed6e701d0f123b15e68c82ab8cbdf99b1c86c0d83e3b8553e90ea51055e30327e8e442ded57c8f503e2a2de9ee075e9c28b5ba815a0f8922f8671c
DIST llvm-project-22.1.8.src.tar.xz 167061596 BLAKE2B 092204f62e0f0364a041c737eb2c25fd073cb5689663d6ccd5a9e4e1743d6d80822360d59b64bff7b4d7872a68a79e899bf2f75f384e55c7d313a79243576f03 SHA512 2615b20ba08534f83ab8ecc7b5ba43b5f1dfcf9cdb2534a32fcdbf0ccdd9a008b46276e45ef26ed9377f65b5e4ae89ea798f3863fd034484b5715140f3a7b35c
DIST llvm-project-22.1.8.src.tar.xz.sig 119 BLAKE2B 2ce93472036e68782252991e4a8bdbeeec8706a56022220083a38a42ef18714a7894c41aaa04dc0d03f18601d8bfc1a5a030ed0ef0f0d64a662eae9843a4b362 SHA512 99a457b5b1fb409a5fe72b59ebd4ddae5cade3e5f2493e33b44d4f4b4625f7a1743f80106efb1134668842b15ea3400ce2c29263bec8ff986e05040910125e15
+DIST llvm-project-43ccdbc84774da0ae4cb5131f2245a9633d977b9.tar.gz 276747748 BLAKE2B 874e5d95e8f3a8401ec989f093095be6203fa77c9729ef66981a13cbff91e6937a9925257f051650c820ea82f6ab8c03884a5a3599e2b450bed11b95c54cc440 SHA512 a84e2f97abc92bdf4da8a00cc89f22d28adef44b316f02992708ee2ebb78f0d4ce38254389a1408caa4b0846134af47ca4bccbfe987f014fefe439495bed3848
DIST llvm-project-49de424f45389cb757c3cc8c50daf38d024e2314.tar.gz 275619907 BLAKE2B de59729b44763de1fba07280d09059f3cb716aa1a8de51b8d8fd6e385378facdf5357845ed9f372f4e613fb8d098b75933c0eff290a42a4803a24ba2afe01a86 SHA512 8ea319751d4bbae866deb77710487f492c3f73f5fd853dc1a3373239e17916f2cbead3042b64d72731db6dd83c43b9827f2f671034f48491e3ce86e8863ce195
DIST llvm-project-6d4cd34d861baec5a761d15b81395fbe88f4391b.tar.gz 273781215 BLAKE2B 9ca9896ac0cfcb9449bd0975e16aca725e14ce5a4c3afd859799ef056a0e1341d63fa21b9bfd3ec1bee2a8482c5cecdd59482d373db72f083d399748a2396e15 SHA512 407e7d2ae1df19bf6095a953a1506583de91e203c4d0461b85a87f86d2069f2b23114b65c5c7f0065d9fbbf8d657bec6ef489ba9310b89f0bddab22c86cccb04
diff --git a/dev-python/clang/clang-23.0.0_pre20260707.ebuild b/dev-python/clang/clang-23.0.0_pre20260707.ebuild
new file mode 100644
index 000000000000..aa99ad725bb8
--- /dev/null
+++ b/dev-python/clang/clang-23.0.0_pre20260707.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{13..14} )
+inherit distutils-r1 llvm.org
+
+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}
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ llvm-core/clang:${LLVM_MAJOR}
+ )
+"
+
+LLVM_COMPONENTS=( clang/{bindings/python,include} )
+llvm.org_set_globals
+
+distutils_enable_tests unittest
+
+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
+ eunittest
+}
diff --git a/dev-python/cmd2/Manifest b/dev-python/cmd2/Manifest
index 5c212f401c8e..087b65502232 100644
--- a/dev-python/cmd2/Manifest
+++ b/dev-python/cmd2/Manifest
@@ -1,3 +1,4 @@
DIST cmd2-2.6.2.tar.gz 592373 BLAKE2B 917ecd684c60c0a6c1b273ef52fa1e317f71522dfd6fc8a9d2c1ee7fa28788b734c6536a9481ac56ef8409002f503837ae51191478a68e364c4780e9feb4b8e8 SHA512 75531dca561427eef259765a55c6385401edd8bc9d5c4cf08ab97e53e118334be932ee5c59f9e1fcd529a7a5f7416e654ee1d618d91623068ef21bcc66dcfdd7
DIST cmd2-3.5.1.tar.gz 707325 BLAKE2B 5fd287a1a984c425cc7fdb3ef6c1f709b4af470b3280e715bcbad8200b52d5f8d698716eb540a9c9603ed090e2394b3aac319aaf80afc652459c127d968020bc SHA512 30414090390c1087173d2a259b5af2dc12228ab16892ea8617ec4168882565ebeef7e76a2c86b6e614fe45e3e454f74c49b633358b5da84d57365e7e70432054
DIST cmd2-4.0.0.tar.gz 813155 BLAKE2B b9b61d8a2e302f2acaee8420077f48d92728e910a73bbba9195600ed1dc7c4695abcdec5f0a08928798d24f83b333de076bc9f7d4c281c5cd502d1fd05be752b SHA512 a1df4bb215a098e2902826ff4686ec10664a4b9d8e0433c6103ba395f325ae56d8c4fa2d83d770b4cc9e4c1e5b456fa03a6bac6af9b7f8398a5fc61394cf15f7
+DIST cmd2-4.1.0.tar.gz 849590 BLAKE2B c737f00ce542cefb2cde94fc07c0b7c09e00d7756bc0e14889a48b7ec785fad3c0109aa27ca3047f9d2ac8ae1e93ecbd8ef7ca268acd8230089edce3d4d3f16c SHA512 f688d8c66021fc347d86b2a00bfe7f65813f11295eb1ba4bdf4d1b12cc5fe00a1cf14189dec49f5681ba46870b60f1aecdc86c88a7cf59b453dcf88343cda0b6
diff --git a/dev-python/cmd2/cmd2-4.1.0.ebuild b/dev-python/cmd2/cmd2-4.1.0.ebuild
new file mode 100644
index 000000000000..dadcd6a482d2
--- /dev/null
+++ b/dev-python/cmd2/cmd2-4.1.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 optfeature virtualx pypi
+
+DESCRIPTION="Extra features for standard library's cmd module"
+HOMEPAGE="
+ https://github.com/python-cmd2/cmd2/
+ https://pypi.org/project/cmd2/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc64 ~riscv ~s390 ~x86"
+
+RDEPEND="
+ >=dev-python/prompt-toolkit-3.0.52[${PYTHON_USEDEP}]
+ >=dev-python/pyperclip-1.8.2[${PYTHON_USEDEP}]
+ >=dev-python/rich-15.0.0[${PYTHON_USEDEP}]
+ >=dev-python/rich-argparse-1.7.2[${PYTHON_USEDEP}]
+"
+# pyperclip uses clipboard backends in the following preference order:
+# pygtk, xclip, xsel, klipper, qtpy, pyqt5, pyqt4.
+# klipper is known to be broken in Xvfb, and therefore causes test
+# failures. to avoid them, we must ensure that one of the backends
+# preferred to it is available (i.e. xclip or xsel).
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ || (
+ x11-misc/xclip
+ x11-misc/xsel
+ )
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-mock )
+EPYTEST_RERUNS=5
+distutils_enable_tests pytest
+
+src_test() {
+ # tests rely on very specific text wrapping...
+ local -x COLUMNS=80
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ # TODO: tests_isolated?
+ nonfatal epytest -o addopts= tests || die
+}
+
+pkg_postinst() {
+ optfeature "IPython shell integration" dev-python/ipython
+}
diff --git a/dev-python/google-auth/Manifest b/dev-python/google-auth/Manifest
index 39d5dc940e22..4e0724192b94 100644
--- a/dev-python/google-auth/Manifest
+++ b/dev-python/google-auth/Manifest
@@ -6,3 +6,5 @@ DIST google_auth-2.55.0.tar.gz 349379 BLAKE2B 9f990ddee219af69fb3c7596fe3ef6ea87
DIST google_auth-2.55.0.tar.gz.provenance 5852 BLAKE2B eae13be386a314dcb388906e7911f01238246da96338153bf59c906917bb25fc05855cd769669490a91c42a56dfbd9659c76324e5bd3611069b2fabd9b4f64f8 SHA512 e413a49690520b5a20ef12cec8d41ddc08ac023130aa384c85f7648f4dfdb3e910ed3f5c5ae1efc962960ba5d5769df5d6160536b04d8efa0bdc53dfb43ce5ea
DIST google_auth-2.55.1.tar.gz 349527 BLAKE2B 63466a5e3b347b2c8dd9ad36a6c46992e72056b6814d516800369174cee5cf67b0500d60dc61e5468aa265c417ac83881df3f02cbe3211426e5c0a65ce6ac31d SHA512 e1ef8d20d877b702bb48354bf0a83b4c0edc25cba33e17401cc78866a5e508c3c381d58f2bf0ad46e9d9385cf3dcd534c21dd43ed19a5aaea1e385a29f2b1953
DIST google_auth-2.55.1.tar.gz.provenance 5852 BLAKE2B 44dae6c0bba2e644e0fd8b7d3ddf9baaccdef2c472fe8b51f63ef09fdbaf6cca8b2228e5a627b53bdcd4920fdcc433d72075d1321eff9bc5e9034182d01ee8ba SHA512 cea2f3a8a0608c1f63904d8b70d2e942808176cf994355785c3e3ddab8281a9cef88f34880f6eba9728ae54cd485477f42618d96a483aa90cd0afcac5e732a0a
+DIST google_auth-2.55.2.tar.gz 361414 BLAKE2B 80b63272ca8ec47562d969119381e3ed08c4de2b4a62e5eeaaa9c27a7ab2a88c31745f948d5682f9c36d94f9f2dcc4e55eff0138ceb87b366df45e0eb428732d SHA512 e5829bccb7b9632bb73322df755a32ddd237591b9d51a2028888c92efb42bf95688697aa94cb76115209efabc4d04fe4f76c86ad114104e71461f04f36c769b0
+DIST google_auth-2.55.2.tar.gz.provenance 6134 BLAKE2B 121e1ebefe3d4885000f1c998b7b4114249f8a4eaa73ea3577846d721b1a0b78e68d90848a21ac4d74495ea167a274a1c8b393e712791fc87f1a8b3f0030438b SHA512 8f4d8b65027519afdc8063edaadc77d65a00a74cffdb140ee0a34fcb4f5c1ea681111a67afc530e5f456c7b974886ed2cee078ac4dbc9f32e8d0924fe1045936
diff --git a/dev-python/google-auth/google-auth-2.55.2.ebuild b/dev-python/google-auth/google-auth-2.55.2.ebuild
new file mode 100644
index 000000000000..d5de668c806b
--- /dev/null
+++ b/dev-python/google-auth/google-auth-2.55.2.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=gcp:google-cloud-sdk-py@oss-exit-gate-prod.iam.gserviceaccount.com
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Google Authentication Library"
+HOMEPAGE="
+ https://github.com/googleapis/google-auth-library-python/
+ https://pypi.org/project/google-auth/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+# TODO: rsa is now optional
+RDEPEND="
+ >=dev-python/cryptography-38.0.3[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-modules-0.2.1[${PYTHON_USEDEP}]
+ >=dev-python/rsa-3.1.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/aioresponses[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ >=dev-python/pyjwt-2.0[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/pyu2f[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{asyncio,localserver} )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # tests are broken with up-to-date pyopenssl
+ tests/transport/test__mtls_helper.py::TestDecryptPrivateKey::test_success
+ # modern aiohttp
+ tests/transport/aio/test_aiohttp.py::TestRequest::test_request_clone_with_active_session
+)
+
+EPYTEST_IGNORE=(
+ # these are compatibility tests with oauth2client
+ # disable them to unblock removal of that package
+ tests/test__oauth2client.py
+)
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unpin deps
+ sed -i -e 's:,<[0-9.]*::' setup.py || die
+}
diff --git a/dev-python/hatchling/Manifest b/dev-python/hatchling/Manifest
index 5037323ad28d..60b06798d30e 100644
--- a/dev-python/hatchling/Manifest
+++ b/dev-python/hatchling/Manifest
@@ -1 +1,2 @@
DIST hatch-hatchling-v1.30.1.gh.tar.gz 5333904 BLAKE2B d5f1c478f2bc214400a50f079d695ef3795a92b0633307799bec34f031cffa4c36b0269a3f142323c61b5ddcf4b1918d4e9f32283eaacff7615e3330fe864be6 SHA512 dfb57a076ec683d82228a453c2485153defd0b1d2f31a43041ae0b7ddd428b931ab1288b0b23393df80f5630bd09c78faa2852b28649af0db2e7f55bd915b942
+DIST hatch-hatchling-v1.31.0.gh.tar.gz 5336511 BLAKE2B 51a18127fa90768fd3116faa1bf500b7f95315fa995486922023ef3a55530c7f658ab6041a0f4cbb254f114086c09f3828d38493150ca6d8f54da8d862f4bbec SHA512 707efa1d72bde3e80bb5210602e9f0389f1659dfe65bac6ab33ecfa0e9b433a42c3dac1e92a86398c72dbcb72a69e9dc1db9466c2a9de38993025c52578db2f1
diff --git a/dev-python/hatchling/hatchling-1.31.0.ebuild b/dev-python/hatchling/hatchling-1.31.0.ebuild
new file mode 100644
index 000000000000..aa6301452aad
--- /dev/null
+++ b/dev-python/hatchling/hatchling-1.31.0.ebuild
@@ -0,0 +1,98 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_TESTED=( python3_{13..14} )
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+TAG=${P/-/-v}
+MY_P=hatch-${TAG}
+DESCRIPTION="Modern, extensible Python build backend"
+HOMEPAGE="
+ https://pypi.org/project/hatchling/
+ https://github.com/pypa/hatch/
+"
+SRC_URI="
+ https://github.com/pypa/hatch/archive/${TAG}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}/backend
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# deps are listed in backend/src/hatchling/ouroboros.py
+# editables are optional but required for editable installs
+RDEPEND="
+ >=dev-python/editables-0.3[${PYTHON_USEDEP}]
+ >=dev-python/packaging-24.2[${PYTHON_USEDEP}]
+ >=dev-python/pathspec-0.10.1[${PYTHON_USEDEP}]
+ >=dev-python/pluggy-1.0.0[${PYTHON_USEDEP}]
+ dev-python/trove-classifiers[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/atomicwrites[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/platformdirs[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ dev-python/tomli-w[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+src_test() {
+ # top-level "tests" directory contains tests both for hatch
+ # and hatchling
+ cd "${WORKDIR}/${MY_P}" || die
+
+ # sigh; standalone test suites are overrated, right?
+ echo "__version__ = '${PV}'" > src/hatch/_version.py || die
+ local -x PYTHONPATH="src:${PYTHONPATH}"
+
+ # do not require uv for portability, sigh
+ mkdir "${T}/bin" || die
+ cat > "${T}/bin/uv" <<-EOF || die
+ #!/bin/sh
+ exit 127
+ EOF
+ chmod +x "${T}/bin/uv" || die
+ local -x PATH=${T}/bin:${PATH}
+
+ # tests mock cargo subprocess call but the backend raises if CARGO
+ # is not set and shutil.which() can't find it
+ local -x CARGO=cargo
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local -x EPYTEST_DESELECT=(
+ # most of these run uv to install stuff
+ # the few remaining tests aren't worth running
+ tests/backend/dep/test_core.py
+ # broken if CARGO is set
+ tests/backend/builders/test_binary.py::TestBuildBootstrap::test_no_cargo
+ )
+
+ local EPYTEST_PLUGINS=( pytest-mock )
+ epytest tests/backend
+}
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 3ea28170da15..fcce77a26469 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -1,6 +1,7 @@
DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
DIST hypothesis-6.155.7.gh.tar.gz 9606080 BLAKE2B aa57b12df421b8194564b85f09307add06c35b98ad923e3c1704ad5cdc5581c47e56e4bf0cf77048306395884a11b6b1b0131f94381250e2203b80c1f3fb6962 SHA512 2c4042084b918c249183b311b3037711043b3c43f685712a51b0751cbb781b065150db949f48ecf2e0ed7fcc9a530c395063252d868d893cfb36cd10af3e31f0
DIST hypothesis-6.156.1.gh.tar.gz 9610367 BLAKE2B ffffd235f9f8cadbf42b7a65e7b0abf54312836ca5ce7846dcfd27154ee045646741232529feed3d5e608614a8e05bb02faa754b50193503966f3aeac4352751 SHA512 b887084a5ceee0a5c6dac196b7aa311176314aa284566c2b14a6349e5c00207626610df590de7b02efdbbd579b4f177e30115cc3732854828dd75f419beb42eb
+DIST hypothesis-6.156.2.gh.tar.gz 9610596 BLAKE2B 53cebfefd0a794f19c9a5dbbe52170c959175dd1093b2bfa51448021d450a73e2d05cb5fa9236403d4e62e8790fe12b66b37c2487eed83b3797bbd4d42dc0be4 SHA512 fad5d16a132abe6789d1fae2a8942ad30580e74660258500091a9d4ad524ad5c2ed40a5ce184707cb62e4c6e98848c68e8c3c5cb3cc4891049d65e2f1ec49d14
DIST libc-0.2.186.crate 821883 BLAKE2B ebe7aac5f8937a8064c64a0d4dc72e5fc794080e09b96c6d245bdec0fd9a19d49ab38e25306e22e47564764cf5dcde45855237cffc70230a143eca2626bd5c3c SHA512 6a58e671ec6811dff9a0d7d4db8f37d38bcbca9efff20dad4706190e5cdb77b426567754bcf0ef0f2d0c31d6506401f724f3ca500b9bed57bb8605b1141ed690
DIST once_cell-1.21.4.crate 35010 BLAKE2B 9117ed1d478e626b7b7be2e3ff8b68a382b051112c7ca4425367bdae86977671f8b5c576131c82fb437740b6d98b72501f718f4172d39781decac2385e8fbd4d SHA512 af67669b0107f44268ba74c355200cb2ed1aab235a6989a8bc54323eb2c9a45677010f8672e7790edadd4c981e939436e0c3a099d33c06dce9c14fd5ede86155
DIST portable-atomic-1.13.1.crate 197001 BLAKE2B 6d0898c2a537a9bf204b7749cca5f5fddf280772b56eb7ce8fdd9cf7d71561137b26ef89f415c40277a1c89981333eef78e5bb4624515a294ba28fdaeb4c70ea SHA512 2a1b31ac9814af884640b3398ab824a9795c72d260527a0966b193113808cfbb3345d50cd1beaebb45863437c3d06c8706d34b26efecceefc649319a4bc274a3
diff --git a/dev-python/hypothesis/hypothesis-6.156.2.ebuild b/dev-python/hypothesis/hypothesis-6.156.2.ebuild
new file mode 100644
index 000000000000..06239ea8ebd0
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.156.2.ebuild
@@ -0,0 +1,133 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+CLI_COMPAT=( python3_{12..14} )
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+RUST_MIN_VER="1.83.0"
+CRATES="
+ heck@0.5.0
+ libc@0.2.186
+ once_cell@1.21.4
+ portable-atomic@1.13.1
+ proc-macro2@1.0.106
+ pyo3-build-config@0.29.0
+ pyo3-ffi@0.29.0
+ pyo3-macros-backend@0.29.0
+ pyo3-macros@0.29.0
+ pyo3@0.29.0
+ quote@1.0.45
+ syn@2.0.117
+ target-lexicon@0.13.5
+ unicode-ident@1.0.24
+"
+
+inherit cargo distutils-r1 optfeature
+
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="
+ https://github.com/HypothesisWorks/hypothesis/
+ https://pypi.org/project/hypothesis/
+"
+SRC_URI="
+ https://github.com/HypothesisWorks/hypothesis/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+S="${WORKDIR}/${P}/hypothesis"
+
+LICENSE="MPL-2.0"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0-with-LLVM-exceptions Unicode-3.0
+ || ( Apache-2.0 MIT )
+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' "${CLI_COMPAT[@]}")
+ )
+"
+BDEPEND="
+ test? (
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ )
+"
+PDEPEND="
+ dev-python/hypothesis-gentoo[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
+EPYTEST_PLUGINS=( "${PN}" pytest-xdist )
+EPYTEST_RERUNS=5
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+QA_PREBUILT="usr/lib/python.*/site-packages/hypothesis/_native.*"
+
+python_test() {
+ # NB: paths need to be relative to pytest.ini, i.e. start with hypothesis/
+ local EPYTEST_DESELECT=(
+ # broken somehow (xdist?)
+ 'hypothesis/tests/pytest/test_constant_collection_timing.py::test_constant_collection_timing[True]'
+ )
+ local EPYTEST_IGNORE=(
+ # require syrupy
+ tests/cover/test_custom_reprs.py
+ )
+
+ case ${EPYTHON} in
+ python3.15*)
+ EPYTEST_DESELECT+=(
+ 'hypothesis/tests/cover/test_lookup.py::test_resolves_forwardrefs_to_builtin_types[sentinel]'
+ 'hypothesis/tests/cover/test_lookup.py::test_resolves_builtin_types[sentinel]'
+ 'hypothesis/tests/cover/test_lambda_formatting.py::test_modifying_lambda_source_code_returns_unknown[False]'
+ )
+ ;;
+ esac
+
+ local -x HYPOTHESIS_NO_PLUGINS=1
+ epytest -o filterwarnings= tests/{cover,pytest,quality}
+}
+
+src_install() {
+ local HAD_CLI=
+
+ distutils-r1_src_install
+
+ if [[ ! ${HAD_CLI} ]]; then
+ rm -r "${ED}/usr/bin" || die
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ HAD_CLI=1
+ else
+ rm -r "${D}$(python_get_scriptdir)" || die
+ fi
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}
diff --git a/dev-python/lit/Manifest b/dev-python/lit/Manifest
index 94dc93200034..243c20f956b6 100644
--- a/dev-python/lit/Manifest
+++ b/dev-python/lit/Manifest
@@ -12,5 +12,6 @@ DIST llvm-project-21.1.8.src.tar.xz 158958576 BLAKE2B 0d3d4ee920f8e5db50e9815261
DIST llvm-project-21.1.8.src.tar.xz.sig 119 BLAKE2B cffc1825f5778a3e3c128ec3e856ff6ee50687319d621cdf42e895abf67e05cc51cb7493308e2b506ab60dbdbaca7aa75eb9f78d91d42c81f9682a36f4042e9d SHA512 10f58eff58ed6e701d0f123b15e68c82ab8cbdf99b1c86c0d83e3b8553e90ea51055e30327e8e442ded57c8f503e2a2de9ee075e9c28b5ba815a0f8922f8671c
DIST llvm-project-22.1.8.src.tar.xz 167061596 BLAKE2B 092204f62e0f0364a041c737eb2c25fd073cb5689663d6ccd5a9e4e1743d6d80822360d59b64bff7b4d7872a68a79e899bf2f75f384e55c7d313a79243576f03 SHA512 2615b20ba08534f83ab8ecc7b5ba43b5f1dfcf9cdb2534a32fcdbf0ccdd9a008b46276e45ef26ed9377f65b5e4ae89ea798f3863fd034484b5715140f3a7b35c
DIST llvm-project-22.1.8.src.tar.xz.sig 119 BLAKE2B 2ce93472036e68782252991e4a8bdbeeec8706a56022220083a38a42ef18714a7894c41aaa04dc0d03f18601d8bfc1a5a030ed0ef0f0d64a662eae9843a4b362 SHA512 99a457b5b1fb409a5fe72b59ebd4ddae5cade3e5f2493e33b44d4f4b4625f7a1743f80106efb1134668842b15ea3400ce2c29263bec8ff986e05040910125e15
+DIST llvm-project-43ccdbc84774da0ae4cb5131f2245a9633d977b9.tar.gz 276747748 BLAKE2B 874e5d95e8f3a8401ec989f093095be6203fa77c9729ef66981a13cbff91e6937a9925257f051650c820ea82f6ab8c03884a5a3599e2b450bed11b95c54cc440 SHA512 a84e2f97abc92bdf4da8a00cc89f22d28adef44b316f02992708ee2ebb78f0d4ce38254389a1408caa4b0846134af47ca4bccbfe987f014fefe439495bed3848
DIST llvm-project-49de424f45389cb757c3cc8c50daf38d024e2314.tar.gz 275619907 BLAKE2B de59729b44763de1fba07280d09059f3cb716aa1a8de51b8d8fd6e385378facdf5357845ed9f372f4e613fb8d098b75933c0eff290a42a4803a24ba2afe01a86 SHA512 8ea319751d4bbae866deb77710487f492c3f73f5fd853dc1a3373239e17916f2cbead3042b64d72731db6dd83c43b9827f2f671034f48491e3ce86e8863ce195
DIST llvm-project-6d4cd34d861baec5a761d15b81395fbe88f4391b.tar.gz 273781215 BLAKE2B 9ca9896ac0cfcb9449bd0975e16aca725e14ce5a4c3afd859799ef056a0e1341d63fa21b9bfd3ec1bee2a8482c5cecdd59482d373db72f083d399748a2396e15 SHA512 407e7d2ae1df19bf6095a953a1506583de91e203c4d0461b85a87f86d2069f2b23114b65c5c7f0065d9fbbf8d657bec6ef489ba9310b89f0bddab22c86cccb04
diff --git a/dev-python/lit/lit-23.0.0_pre20260707.ebuild b/dev-python/lit/lit-23.0.0_pre20260707.ebuild
new file mode 100644
index 000000000000..48b365e13379
--- /dev/null
+++ b/dev-python/lit/lit-23.0.0_pre20260707.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..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() {
+ 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/mypy/Manifest b/dev-python/mypy/Manifest
index 0d94cbcfa7f1..3684f8b8c01a 100644
--- a/dev-python/mypy/Manifest
+++ b/dev-python/mypy/Manifest
@@ -1,2 +1,3 @@
DIST mypy-1.20.2.gh.tar.gz 3837137 BLAKE2B cc28ad8a145d27dd4f6f395496e44ed80859df634e89fe7d584975107534cf063db97817b5b94665e2b7629ca1fa67c75c0ed2978237f10d68606c33bc6e79d3 SHA512 55affb5d086b18ea16b5cc9fd4bb2fbc99987d444f2c0b6c64aaa9dd87a7790f99385b922eb6afbd5fe0c0ff0a5da9f69ab03bb3d8aac350aa5b2f85174fc130
DIST mypy-2.1.0.gh.tar.gz 3916741 BLAKE2B 37bf2f6d79377ebde68537119c0b58ae9cf6868421329b1d5b814e48788749e53cd34053bb5472385881b167cc8af7fdd85cef3c63792868668286516fe27462 SHA512 ae24addeaa7c7f51b43df718482be368e9078c16c42c2449cabed74b98d3a36a701235b092d044c3e452ec84ee26806090f2d38e173d752e8511a178e12cd761
+DIST mypy-2.2.0.gh.tar.gz 3970949 BLAKE2B 975d59c31ad9127be7d490a706c9bceb06b9eb0c19e96ed9112f35626c0a615edd51f83ddd4c1a30188c58572b45768dfbdd3f3c65c670972de46f96c3427cd3 SHA512 6f8d3be955df2e3de1495c67931ec813f62c05b68969108a2ba1a978221924e860bc03b48eddf51f4efca1c8f684e2708637004f6ce457489ba6fdea31582fdb
diff --git a/dev-python/mypy/mypy-2.2.0.ebuild b/dev-python/mypy/mypy-2.2.0.ebuild
new file mode 100644
index 000000000000..d8f81ae57465
--- /dev/null
+++ b/dev-python/mypy/mypy-2.2.0.ebuild
@@ -0,0 +1,146 @@
+# Copyright 1999-2026 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_{13..14} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Optional static typing for Python"
+HOMEPAGE="
+ https://www.mypy-lang.org/
+ https://github.com/python/mypy/
+ https://pypi.org/project/mypy/
+"
+SRC_URI="
+ https://github.com/python/mypy/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="native-extensions"
+
+# stubgen collides with this package: https://bugs.gentoo.org/585594
+RDEPEND="
+ !dev-util/stubgen
+ <dev-python/ast-serialize-1[${PYTHON_USEDEP}]
+ >=dev-python/ast-serialize-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/librt-0.12.0[${PYTHON_USEDEP}]
+ >=dev-python/mypy-extensions-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pathspec-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.6.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ native-extensions? (
+ ${RDEPEND}
+ dev-python/types-psutil[${PYTHON_USEDEP}]
+ dev-python/types-setuptools[${PYTHON_USEDEP}]
+ )
+ test? (
+ >=dev-python/attrs-18.0[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.9.1[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+# frustratingly, mypyc produces non-deterministic output. If ccache is enabled it will be a waste of time,
+# but simultaneously it might trash your system and fill up the cache with a giant wave of non-reproducible
+# test files (https://github.com/mypyc/mypyc/issues/1014)
+export CCACHE_DISABLE=1
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.14.0-no-werror.patch
+)
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # don't force pytest-xdist, in case user asked for EPYTEST_JOBS=1
+ sed -i -e '/addopts/s:-nauto::' pyproject.toml || die
+}
+
+python_compile() {
+ local -x MYPY_USE_MYPYC=$(usex native-extensions 1 0)
+ distutils-r1_python_compile
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # the majority of them require Internet (via pip)
+ mypy/test/testpep561.py
+ # known broken with assertions enabled
+ # https://github.com/python/mypy/issues/16043
+ mypyc/test/test_external.py::TestExternal::test_c_unit_test
+ mypyc/test/test_run.py::TestRun::run-async.test::testRunAsyncMiscTypesInEnvironment
+ mypyc/test/test_run.py::TestRun::run-bools.test::testBoolOps
+ mypyc/test/test_run.py::TestRun::run-classes.test::testDelException
+ mypyc/test/test_run.py::TestRun::run-classes.test::testDelForDictSubclass
+ mypyc/test/test_run.py::TestRun::run-classes.test::testSubclassDict
+ mypyc/test/test_run.py::TestRun::run-dicts.test::testDictIterationMethodsRun
+ mypyc/test/test_run.py::TestRun::run-dicts.test::testDictMethods
+ mypyc/test/test_run.py::TestRun::run-dunders.test::testDundersContainer
+ mypyc/test/test_run.py::TestRun::run-floats.test::testFloatOps
+ mypyc/test/test_run.py::TestRun::run-i64.test::testI64BasicOps
+ mypyc/test/test_run.py::TestRun::run-i64.test::testI64DefaultArgValues
+ mypyc/test/test_run.py::TestRun::run-i64.test::testI64ErrorValuesAndUndefined
+ mypyc/test/test_run.py::TestRun::run-i64.test::testI64GlueMethodsAndInheritance
+ mypyc/test/test_run.py::TestRun::run-librt-strings.test::testLibrtStrings_librt
+ mypyc/test/test_run.py::TestRun::run-vecs-i64.test::testVecI64BasicOps_librt_experimental
+ mypyc/test/test_run.py::TestRun::run-vecs-misc.test::testVecMiscBasicOps_librt
+ mypyc/test/test_run.py::TestRun::run-vecs-nested.test::testVecNestedBasicOps_librt
+ mypyc/test/test_run.py::TestRun::run-vecs-t.test::testVecTBasicOps_librt_experimental
+ mypyc/test/test_run.py::TestRunStrictDunderTyping::run-dunders.test::testDundersContainer_dunder_typing
+ mypyc/test/test_run.py::TestRunStrictDunderTyping::run-floats.test::testFloatOps_dunder_typing
+ # these assume that types-docutils are not installed
+ mypy/test/testpythoneval.py::PythonEvaluationSuite::pythoneval.test::testIgnoreImportIfNoPython3StubAvailable
+ mypy/test/testpythoneval.py::PythonEvaluationSuite::pythoneval.test::testNoPython3StubAvailable
+ # TODO
+ mypy/test/meta/test_parse_data.py
+ mypy/test/meta/test_update_data.py
+ # Unknown SIGBUS, bug #967850
+ mypyc/test/test_run.py::TestRun::run-classes.test::testBufferRoundTrip_native_libs
+ )
+
+ case ${EPYTHON} in
+ python3.1[45]*)
+ EPYTEST_DESELECT+=(
+ mypyc/test/test_run.py::TestRun::run-async.test::testRunAsyncRefCounting
+ mypyc/test/test_run.py::TestRun::run-tuples.test::testNamedTupleClassSyntax
+ )
+ ;;
+ esac
+
+ # Some mypy/test/testcmdline.py::PythonCmdlineSuite tests
+ # fail with high COLUMNS values
+ local -x COLUMNS=80
+
+ # The tests depend on having in-source compiled extensions if you want to
+ # test those compiled extensions. Various crucial test dependencies aren't
+ # installed. Even pyproject.toml is needed because that's where pytest args
+ # are in. Hack them into the build directory and delete them afterwards.
+ # See: https://github.com/python/mypy/issues/16143
+ local -x MYPY_TEST_PREFIX="${S}"
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ cp -r "${S}"/{conftest.py,pyproject.toml} . || die
+
+ local failed=
+ nonfatal epytest || failed=1
+
+ rm -r conftest.py pyproject.toml .mypy_cache || die
+
+ [[ ${failed} ]] && die "epytest failed with ${EPYTHON}"
+}
+
+pkg_postinst() {
+ optfeature "dmypy status -v support for memory use" dev-python/psutil
+}
diff --git a/dev-python/scikit-build-core/Manifest b/dev-python/scikit-build-core/Manifest
index 2683011d0eea..574b5f50c486 100644
--- a/dev-python/scikit-build-core/Manifest
+++ b/dev-python/scikit-build-core/Manifest
@@ -2,3 +2,5 @@ DIST scikit_build_core-0.12.2.tar.gz 303553 BLAKE2B 536a22d66ac50b3ab2f4d5110c50
DIST scikit_build_core-0.12.2.tar.gz.provenance 9733 BLAKE2B 78d399a1b1ccfaf6bbfead583e22e704ebb7add238f330e6a1ad4aebb7ab18a0f73f5fe5e9aca2060a8db2a9475d5cf8c014b693b6b7da7703ade89479f507e0 SHA512 9d780076dac7df65d75e2d8f8e90b8b017a74d61f770450b0c65043bfa26a4149d0f99f87588796ccff9711ee6723179c174bff3d49c75d223de6cb78ed42811
DIST scikit_build_core-1.0.0.tar.gz 466325 BLAKE2B 96436dc6b37ef6cbaf979e5ef5b387a6b832910ebf306b47f49cbeae524a776f751982805e73ae903aed953397db1e888c9f51dcc6511fcf1bf3983dd698a85a SHA512 67b71d2a37a3fa987e26d9c7c1c169260c6c5bfd1439fcbe23ab5831454f12ff1570c397ff8e8ba684083654e1769f0c141b165102c9e347d6d5cca620583d7c
DIST scikit_build_core-1.0.0.tar.gz.provenance 10105 BLAKE2B 6c00ce6d5944529cce68c0513608096d1c2411a66bcb86192215ee244f5a2100e7257ee248c7e85f4d2a329ab3e6f7f45b4c8211b767bfc66b01e89a8ed0b39f SHA512 d44767f3b547e856a45ac66d227db7a1b6b8bcb038028da3b5a52f4bf6059cffb9117c3a9876d7dfc3e97e9e73e351edce7a3ec26fcc7800ad25dde421ef929d
+DIST scikit_build_core-1.0.1.tar.gz 468128 BLAKE2B 7b2ba289a5e79a8b1a71432e3ebabad093274c953c957d3c324ce864d8cb25b269156878dbc183ecf167452939f7bc8ad57d0d7768f8079a4de6ba903ab4de11 SHA512 4651484d1783ad9bd9946bd71fc70002371c16dbf8df0f6fa87d3d498061eb05583e1e825601d48d0e1ebf512e7f9ae308666b84dcc333e9461793f09ef74655
+DIST scikit_build_core-1.0.1.tar.gz.provenance 9823 BLAKE2B 93694a5ed43fcc0cee035a2c19a39da00531a1f1e9a30983061b018ecbf971d142915b3e4e7baa7feda85b5c3ed6cdc641a79c4b5515447d800d8e7f36b6c382 SHA512 9dfdf575d24f80cae3f534a7a1e5334f1cf60867a09e747afba8bf56c534f48b64ee5d97aa77af6e1c076c9d180ff52a90adaa381195fcd1dec48693c4696e33
diff --git a/dev-python/scikit-build-core/scikit-build-core-1.0.1.ebuild b/dev-python/scikit-build-core/scikit-build-core-1.0.1.ebuild
new file mode 100644
index 000000000000..96f33014caf2
--- /dev/null
+++ b/dev-python/scikit-build-core/scikit-build-core-1.0.1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 2023-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/scikit-build/scikit-build-core
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Build backend for CMake based projects"
+HOMEPAGE="
+ https://github.com/scikit-build/scikit-build-core/
+ https://pypi.org/project/scikit-build-core/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+
+# we always want [pyproject] extra
+RDEPEND="
+ app-alternatives/ninja
+ dev-build/cmake
+ >=dev-python/packaging-23.2[${PYTHON_USEDEP}]
+ >=dev-python/pathspec-0.12.0[${PYTHON_USEDEP}]
+ >=dev-python/pyproject-metadata-0.5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/build[${PYTHON_USEDEP}]
+ >=dev-python/cattrs-22.2.0[${PYTHON_USEDEP}]
+ dev-python/fastjsonschema[${PYTHON_USEDEP}]
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-subprocess )
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # needs unpackaged validate_pyproject
+ tests/test_schema.py
+ )
+
+ epytest -m "not isolated and not network"
+}
diff --git a/dev-python/sphinxcontrib-mermaid/Manifest b/dev-python/sphinxcontrib-mermaid/Manifest
index f787e4fb4700..e1161e4ce55f 100644
--- a/dev-python/sphinxcontrib-mermaid/Manifest
+++ b/dev-python/sphinxcontrib-mermaid/Manifest
@@ -1 +1,2 @@
DIST sphinxcontrib-mermaid-2.0.2.gh.tar.gz 23399 BLAKE2B 3243962204fa9c95433dfcf2bda1544ae7e3116f21089bff847ff3a05407b500ee1a266f6b37d6147b2b31f75d88f770ad5f49cc266ac676665c3c3eb55687e3 SHA512 7bb6022f6cd113e3047ec446081d705041937d834cd8afe74b0f237d39b77f2e3e714753853ec5acf5227f512f641b6380ca0f6507adefb959902231e97a1101
+DIST sphinxcontrib-mermaid-2.0.3.gh.tar.gz 25727 BLAKE2B 385a2cfc0ff5a99f7e6353c069ab4a99cd0bcddd44085df2a769daba1a418db7d01beb73d642459dcea8e9a6e02f69991a0d987775f824eb78dc4107354764f0 SHA512 612e02eacb84c56700a710a9338b6cd3b9167c6e88b5a4e4d814fdfe91d5887d24ca3d504b97bbc91997379eadb5596a6bcf4e916d84177076603df7cf137707
diff --git a/dev-python/sphinxcontrib-mermaid/sphinxcontrib-mermaid-2.0.3.ebuild b/dev-python/sphinxcontrib-mermaid/sphinxcontrib-mermaid-2.0.3.ebuild
new file mode 100644
index 000000000000..49a74b3797c3
--- /dev/null
+++ b/dev-python/sphinxcontrib-mermaid/sphinxcontrib-mermaid-2.0.3.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Sphinx spelling extension"
+HOMEPAGE="
+ https://github.com/mgaitan/sphinxcontrib-mermaid
+ https://pypi.org/project/sphinxcontrib-mermaid/
+"
+# pypi does not include test files, so we use the GitHub tarball
+SRC_URI="
+ https://github.com/mgaitan/sphinxcontrib-mermaid/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/jinja2[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-6.0.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-3.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ dev-python/myst-parser[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-asyncio )
+distutils_enable_tests pytest
+
+python_test() {
+ distutils_write_namespace sphinxcontrib
+ rm -rf sphinxcontrib || die
+ epytest tests
+}
diff --git a/dev-python/svg-path/Manifest b/dev-python/svg-path/Manifest
index e616b1374730..b6792d95c3f2 100644
--- a/dev-python/svg-path/Manifest
+++ b/dev-python/svg-path/Manifest
@@ -1 +1,2 @@
DIST svg-path-7.0.gh.tar.gz 59063 BLAKE2B 8e404a9c798471c0e661c6d22f2861e981e1ee7fb769a0d71a61a2223791b16f53432e7768c92f81eaa544861f90953aabfbb311e9e009fe7b2a8a1b7aac6c46 SHA512 8294078f8fcac982887aa7262c16342937b424144e0886095589c482e0b388527c8b2ec22885af6356269377ea0081d3c86950869b47f6f0a96ff8fe97925184
+DIST svg-path-7.1.gh.tar.gz 59925 BLAKE2B fb23d16291c2b944cec1def728092c25a55635711a45d6670c541d2292d24045c10d71279656e646f169401570d935afb3aaba5260aba978c6880619e2f755be SHA512 60d5c5861536d7ac0c9a8d8833e31b606e6290891d5eb341edb1b28838ad4f29b9288308175b85b0f8e700f19078da9716e778d720979eb02ec0dbbac800965f
diff --git a/dev-python/svg-path/svg-path-7.1.ebuild b/dev-python/svg-path/svg-path-7.1.ebuild
new file mode 100644
index 000000000000..07e565a6cc6a
--- /dev/null
+++ b/dev-python/svg-path/svg-path-7.1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+MY_P=${P/-/.}
+DESCRIPTION="SVG path objects and parser"
+HOMEPAGE="
+ https://github.com/regebro/svg.path/
+ https://pypi.org/project/svg.path/
+"
+# no tests in sdist, as of 6.3
+SRC_URI="
+ https://github.com/regebro/svg.path/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/pillow[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # strip explicit namespace
+ rm src/svg/__init__.py || die
+ sed -i -e '/namespaces/s:false:true:' pyproject.toml || die
+}
diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest
index b4acf0a816be..408a037feb30 100644
--- a/dev-python/uv-build/Manifest
+++ b/dev-python/uv-build/Manifest
@@ -6,3 +6,4 @@ DIST uv_build-0.11.24.tar.gz 401361 BLAKE2B cdafaca66f3a6dd5db0f9e7520428790b1eb
DIST uv_build-0.11.25.tar.gz 404894 BLAKE2B 6922a5e91c5c657ca5ed90edb0250cbd7192d208cdc135d8c5de74c04de8b91c10d7c0d52d58224a6cb60c7114ecbdcbc2181ac18b0b69cf41d88fd007329a36 SHA512 9315f67c76004b6b45e08d8cad53e5ac4f04a2342e18768523e71f9dc2f7e81aec599f968983df3237d1ad3dc9b87b088f99d2ea79994543fa3623ab21ae5730
DIST uv_build-0.11.26.tar.gz 405178 BLAKE2B c59258a222a8346543ab8bde8d425600c9a575a1da4b5c96b7470cb5b8f3830168d513e1d6337d00e79e94766a6604b0946e5bf2fce192800a8f1aa5576b2e5a SHA512 3331e4195fc72543fb546f4a86e2eeb036277ceebba37151a3faaefb921c8508d99e8bc25dacd57eb26a8744b1b76f2b90df4dff97450e97518fcd5ca80fe287
DIST uv_build-0.11.27.tar.gz 406474 BLAKE2B bb3c669e37059b2777c51120578caae84db54379f765c13a946b2fdc5e502e3c67ee7e30f7d2e1dde649961c6f2d0a10e758bf9b6b1835cb600f2400925ac627 SHA512 e7a7f461cf1ae899b24fcedc08fd739f352347eacb1f215026745a6b170e552504ed712b91519cff170ae81e36d6b7403a0270e9766e2cdf644411b51e62cf9c
+DIST uv_build-0.11.28.tar.gz 408697 BLAKE2B 2c318b2f6f734f1da4bed3ea0bba8fa4ef51e76853be25dc19277b5347f8b45eb22a923f0a20575982dd9eac0dfaecf15c2a6bcbcd2357a75e6bcedf6a64231d SHA512 c502494cde643e2a5e45e34ba3be3132720f6ec4c7e4c966c02a673308d44f1ee313d84ab267ffb6cb88cb0227075b88369381bbe89b9b6333b1f4eb89bc0724
diff --git a/dev-python/uv-build/uv-build-0.11.28.ebuild b/dev-python/uv-build/uv-build-0.11.28.ebuild
new file mode 100644
index 000000000000..d66584ed2ede
--- /dev/null
+++ b/dev-python/uv-build/uv-build-0.11.28.ebuild
@@ -0,0 +1,99 @@
+# Copyright 2025-2026 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_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="PEP517 uv build backend"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv-build/
+"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/uv-${PV}
+"
+BDEPEND="
+ test? (
+ app-arch/unzip
+ dev-python/build[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # use the executable from dev-python/uv instead of building
+ # a largely overlapping uv-build executable (at least for now)
+ sed -i -e '/USE_UV_EXECUTABLE/s:False:True:' python/uv_build/__init__.py || die
+
+ # replace the build-system section
+ sed -i -e '/\[build-system\]/,$d' pyproject.toml || die
+ cat >> pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["uv_build<9999"]
+ build-backend = "uv_build"
+ backend-path = ["src"]
+ EOF
+
+ # rename to make uv-build find it
+ mv python src || die
+}
+
+python_test() {
+ "${EPYTHON}" -m build -n || die "Self-build failed with ${EPYTHON}"
+
+ local zip_result=$(
+ unzip -t "dist/uv_build-${PV}-py3-none-any.whl" || die
+ )
+ local zip_expected="\
+Archive: dist/uv_build-${PV}-py3-none-any.whl
+ testing: uv_build/ OK
+ testing: uv_build/__init__.py OK
+ testing: uv_build/__main__.py OK
+ testing: uv_build/py.typed OK
+ testing: uv_build-${PV}.dist-info/ OK
+ testing: uv_build-${PV}.dist-info/WHEEL OK
+ testing: uv_build-${PV}.dist-info/METADATA OK
+ testing: uv_build-${PV}.dist-info/RECORD OK
+No errors detected in compressed data of dist/uv_build-${PV}-py3-none-any.whl.\
+"
+ if [[ ${zip_result} != ${zip_expected} ]]; then
+ eerror ".zip result:\n${zip_result}"
+ eerror ".zip expected:\n${zip_expected}"
+ die ".whl result mismatch"
+ fi
+
+ local tar_result=$(
+ tar -tf "dist/uv_build-${PV}.tar.gz" || die
+ )
+ local tar_expected="\
+uv_build-${PV}/PKG-INFO
+uv_build-${PV}/
+uv_build-${PV}/README.md
+uv_build-${PV}/pyproject.toml
+uv_build-${PV}/src
+uv_build-${PV}/src/uv_build
+uv_build-${PV}/src/uv_build/__init__.py
+uv_build-${PV}/src/uv_build/__main__.py
+uv_build-${PV}/src/uv_build/py.typed\
+"
+ if [[ ${tar_result} != ${tar_expected} ]]; then
+ eerror ".tar.gz result:\n${tar_result}"
+ eerror ".tar.gz expected:\n${tar_expected}"
+ die ".tar.gz result mismatch"
+ fi
+}
diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest
index 4a5a3eb786f1..0c4735332cce 100644
--- a/dev-python/uv/Manifest
+++ b/dev-python/uv/Manifest
@@ -14,3 +14,5 @@ DIST uv-0.11.26-crates.tar.xz 43804076 BLAKE2B c1248a5327bf7aa1b747d55651a37b680
DIST uv-0.11.26.gh.tar.gz 5540694 BLAKE2B 2623b2f23ff802875a1cc349e32e38fee0f7a1e5f4191265ea8760ada80e3295f2b8507d4f794e6f2d38d7c2bb668e0779531221f17c683b9dc0141ee74668f8 SHA512 8be3842d1a534765a99a130a857c860a2b6ec2dd517cbdff7f697db55500d1092b4f323459625d433635f3559a058eef98140eb65b1082394994d72c5d329ee1
DIST uv-0.11.27-crates.tar.xz 43824416 BLAKE2B 6cb58e007b05446972c77fd28736a5e89f49728fb7c20cf39b5465d925805933cdd6633a83b75cdff92a153cad7c2120f50c02defde4ca9f2047dd232b82c3b7 SHA512 41a117422d873aa36383d713a0564a8c0a0f4972a0744d9c29b03ac5797d56903d3832aa3ca8873815cc1561a2aa6119de2fd5a0edf5b4393e0248b44ce82c1a
DIST uv-0.11.27.gh.tar.gz 7322150 BLAKE2B 3ac7dfda376185e4742f860fa60f67c5c020a90d2f184529e4a27405b9f745d76597da899e771142f27fd6dd0ba8c714a034a2c6b6d6335e853d58c27cbd44bc SHA512 a3a019d752d359487b330d05ab2a1dd8520f5b1e8f773c0dc5935693a9572d8b8f7b21e49e5fc76f9e2436aee3ced090e80dd0f3e1274caeb6558a67119b0a88
+DIST uv-0.11.28-crates.tar.xz 43834312 BLAKE2B c60aec44025e8258226e4c50faadd95aa521be6d26c18bce62b3ecf9d3bc0fa8a4a1cd13bdecea838ef11ac3054ed317da52e54c9adb257e0b96e58b239498ab SHA512 f883a7e7f34a77b24bdf2bb6c3b607bb4e16855d912dfc95965e559451791239b84b6d3ce613907c121dfdedce43abe112d485c437f9de7c2334c3ab3c6553e3
+DIST uv-0.11.28.gh.tar.gz 7332190 BLAKE2B 1b19a6cc9d0d65dc6b693dd96906c268814c272b230a6d881c6b213f984c5d063a8105888f3890c8dcb07a61bba4f082c578221a199f9cdfee37cc2dcdab1fad SHA512 b1e0468d714e70e7f4b1c9a3348ff8d7499cf463d9b59272347bfa38cc5d4d96c3913bf6c05222b26f098331cd84a3f495c4d5a4d872b45d5e735393cc3415ad
diff --git a/dev-python/uv/uv-0.11.28.ebuild b/dev-python/uv/uv-0.11.28.ebuild
new file mode 100644
index 000000000000..e5931b30ed3e
--- /dev/null
+++ b/dev-python/uv/uv-0.11.28.ebuild
@@ -0,0 +1,163 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+RUST_MIN_VER="1.94.0"
+
+inherit cargo check-reqs
+
+CRATE_PV=${PV}
+DESCRIPTION="A Python package installer and resolver, written in Rust"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv/
+"
+# pypi sdist misses scripts/, needed for tests
+SRC_URI="
+ https://github.com/astral-sh/uv/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://github.com/gentoo-crate-dist/uv/releases/download/${CRATE_PV}/uv-${CRATE_PV}-crates.tar.xz
+ "
+fi
+
+# most of the code
+LICENSE="|| ( Apache-2.0 MIT )"
+# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below
+# Dependent crate licenses
+LICENSE+="
+ 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0
+ CDLA-Permissive-2.0 ISC MIT MIT-0 MPL-2.0 Unicode-3.0
+ Unicode-DFS-2016 ZLIB
+"
+# ring crate
+LICENSE+=" openssl"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
+IUSE="test"
+RESTRICT="test"
+PROPERTIES="test_network"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/xz-utils:=
+ app-arch/zstd:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+ 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
+
+ # 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
+
+ # uv is now forcing bundled liblzma, sigh
+ sed -i -e '/xz/s:"static"::' Cargo.toml || die
+}
+
+src_configure() {
+ local myfeatures=(
+ test-git
+ test-pypi
+ test-python
+ )
+
+ cargo_src_configure --no-default-features
+}
+
+src_compile() {
+ cd crates/uv || die
+ cargo_src_compile
+}
+
+src_test() {
+ cd crates/uv || die
+ cargo_src_test --no-fail-fast
+}
+
+src_install() {
+ dobin "$(cargo_target_dir)"/{uv,uvx}
+
+ 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
+}