summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-06-28 06:59:05 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-06-28 06:59:05 +0000
commit1d6d9b8e5a49aad85b81503faf2fe3144a3a6b0a (patch)
treeefe94683d95c72c2d42af11e3ff57f20fd79f364 /dev-python
parentc62eaf02867e8d281a74bb4bc068fd63a697a277 (diff)
downloadbaldeagleos-repo-1d6d9b8e5a49aad85b81503faf2fe3144a3a6b0a.tar.gz
baldeagleos-repo-1d6d9b8e5a49aad85b81503faf2fe3144a3a6b0a.tar.xz
baldeagleos-repo-1d6d9b8e5a49aad85b81503faf2fe3144a3a6b0a.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.38.46.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.38.46.ebuild67
-rw-r--r--dev-python/markdown-exec/Manifest1
-rw-r--r--dev-python/markdown-exec/markdown-exec-1.10.4.ebuild36
-rw-r--r--dev-python/multidict/Manifest1
-rw-r--r--dev-python/multidict/multidict-6.6.0.ebuild65
-rw-r--r--dev-python/pbs-installer/Manifest2
-rw-r--r--dev-python/pbs-installer/pbs-installer-2025.06.26.ebuild (renamed from dev-python/pbs-installer/pbs-installer-2025.06.10.ebuild)2
-rw-r--r--dev-python/pyqt6-webengine/pyqt6-webengine-6.9.0.ebuild2
-rw-r--r--dev-python/pyqt6/pyqt6-6.9.1.ebuild2
-rw-r--r--dev-python/pyside/pyside-6.9.1.ebuild2
-rw-r--r--dev-python/sphinxcontrib-bibtex/Manifest1
-rw-r--r--dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.6.5.ebuild57
-rw-r--r--dev-python/trimesh/Manifest1
-rw-r--r--dev-python/trimesh/trimesh-4.6.13.ebuild76
-rw-r--r--dev-python/uv-build/Manifest1
-rw-r--r--dev-python/uv-build/uv-build-0.7.16.ebuild99
-rw-r--r--dev-python/uv/Manifest2
-rw-r--r--dev-python/uv/uv-0.7.16.ebuild183
-rw-r--r--dev-python/versioningit/Manifest1
-rw-r--r--dev-python/versioningit/versioningit-3.3.0.ebuild52
23 files changed, 703 insertions, 5 deletions
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index de22cb8dade8..dbb6acd49441 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -10,3 +10,4 @@ DIST boto3-1.38.42.gh.tar.gz 959917 BLAKE2B e53b807906bf367b91e4826b6ef1ad7446bd
DIST boto3-1.38.43.gh.tar.gz 961150 BLAKE2B 8e7472e9352cc0071867441586e49c8284d9dcd79a34ef03af5c2a8addbedb1d48c0adbb28937e3de081a1913a79ae9d03bd2e79bc9c98bdad93139458b726a3 SHA512 5d8280720ee9c8767cdf1229893f328154c26bf0e8e87831f54045a23a9e12be0fb315f3771e4f725eb8cbc431f84445beefd43843483beddb9386c051537f4f
DIST boto3-1.38.44.gh.tar.gz 961732 BLAKE2B 88bea3da8fc2bfe75951898ebb39bb4f41d43217c16260e8922dd7f297aca7749b63c60995f862b4eae253c183a395cf9483d454d280ee273095573967d012ac SHA512 0e8a1fc6f2abdb69751e4eb4e7d2653d144c51c80df071b21c596e81192dcbd650f46b80485a6314ef757960de0846cbdacffbd6e1161d5e1e01a28e2e77fea9
DIST boto3-1.38.45.gh.tar.gz 962451 BLAKE2B ad233d2d7c9bf87f7897031dedb5de41b501bd4d3357ab11b047c3db0901721574bf31a4b35d920e0cf90529ad0e2d5ca21b9405031a1825d20de26726f27130 SHA512 b7ec45bbb56945601abc1926860d8be394eb6fde5465af96d9cd844d95aa73d7b1a0e95de0a1e1e380004ea1f8ad5ddfdf63fd032f3e35774d623baa045ad5a1
+DIST boto3-1.38.46.gh.tar.gz 961156 BLAKE2B 36fe0a2d35176c3419f4a49148b77713e126371930dafa112aaba7f53ca483323500cf23d68fa27372130d07fb9aad090950959ad56c25ae7503f77e2a525905 SHA512 c15c90fad56f476014ef6ae8ff687e088114001750def69cefa25002d0d38a4fee60114943d2c5e7b70f7ecca497fbba987cc9b33bba5ff6637a5fe8aa079149
diff --git a/dev-python/boto3/boto3-1.38.46.ebuild b/dev-python/boto3/boto3-1.38.46.ebuild
new file mode 100644
index 000000000000..bd6e26787db4
--- /dev/null
+++ b/dev-python/boto3/boto3-1.38.46.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.13.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index a09e3131e3fd..b1611997b31e 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -10,3 +10,4 @@ DIST botocore-1.38.42.gh.tar.gz 14799205 BLAKE2B 9def6b5bda7f2c16610e6b2b3925cb4
DIST botocore-1.38.43.gh.tar.gz 14803790 BLAKE2B 7aa15b99588100652e084898316cb8e1e11d43ce83a1dcca7ec86303ac4af7db981dd90c63326c69d7ba80884a51a2ed7a5b05f58ed0a7d873550911cd8b7090 SHA512 02666e9997a8a95b286a71cdb9474e18c7c1e96fd519289f0652f5361c519fd4f25b2d92005f13446f91cb2b7f274d0430d75c9678db5da41353a5c3d740013f
DIST botocore-1.38.44.gh.tar.gz 14808705 BLAKE2B 0388b0255cff78f625eb34ea30dd90194211056d662bdc16ef19bf26f0683953839996ddebe94b9108e55594c5a951431ee85817a8ed1573deb034ee8f28dbac SHA512 f332db1ff072122d2f79d73d9af7e04b596347bc83788f3f7f339324eeca9e0b7a10c1bf003b4f631628dae7fd5d282054acab7b7f723ee6b0dad03487983d85
DIST botocore-1.38.45.gh.tar.gz 14829427 BLAKE2B dae46d63ab52c01ad48d5ba81787902cf72ccb21a2dc634de6430f3111c2441a6254b7c809fdb80ccf876e38ad8c075edc43ae30c68a02b040125c35de3c02b1 SHA512 71f01e7c213b8fe61321ca0a567b5ef1408051f295b6e6e1a99652c32d8c18301d772b71e5125461ed830cdc044f55d64b4221684c23dbc0bd2df8ae346764ae
+DIST botocore-1.38.46.gh.tar.gz 14834968 BLAKE2B 282c6ddef03b7c4a8f88fbc4816afd65fdac8c050ed2233974dfaa985ed001feaedbdf22fc770f56c1f0aa3fbd1d10e6115289e3c11efe672e3e6ac521eaedc7 SHA512 5fb4d2001084c63caa7c8619b55815d882b6f8b0738197d82919a33634205226dc20e06356b51b0022abfbde32a1585307a9b6058a0363d3a48a612206105c93
diff --git a/dev-python/botocore/botocore-1.38.46.ebuild b/dev-python/botocore/botocore-1.38.46.ebuild
new file mode 100644
index 000000000000..a931fcaefec4
--- /dev/null
+++ b/dev-python/botocore/botocore-1.38.46.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/markdown-exec/Manifest b/dev-python/markdown-exec/Manifest
index c9387bf18e79..b5c62fb5bdf8 100644
--- a/dev-python/markdown-exec/Manifest
+++ b/dev-python/markdown-exec/Manifest
@@ -1 +1,2 @@
DIST markdown_exec-1.10.3.tar.gz 81050 BLAKE2B 4a9dd766e3b437d06900c3760bddd831a3d7ef1d9fff33eea7fe30c541b8a31b313f8af40edd062ccdf1fb6414f3488b35fc38aed6fdd292bf3105b45c84b33d SHA512 bedf1c37f53a33aac2ee9ef51dcdba4fccc0cf2b4f60b75cd3e25687b9f5cc52a8b2247c5b9cc3d31f56b4a0d90c3333c17566ece5d35aaee3515c295cd0164c
+DIST markdown_exec-1.10.4.tar.gz 81203 BLAKE2B 68a8ba37bcc0172c9747b3858cc6476885e05af0c407bb7f388f3f6820f965f69096a243cb637102f67f317f128c57db25ff07bf48850822ec664becc1323a55 SHA512 99af2ca280645a31c200b6c1f1c346a4e90687fced45919aed36bb114262b566e5d05403066ddfc27603573bd4a8ebf9cb8bb7606e4d0100083bc18baa72428a
diff --git a/dev-python/markdown-exec/markdown-exec-1.10.4.ebuild b/dev-python/markdown-exec/markdown-exec-1.10.4.ebuild
new file mode 100644
index 000000000000..bc1b7b4f80dd
--- /dev/null
+++ b/dev-python/markdown-exec/markdown-exec-1.10.4.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Utilities to execute code blocks in Markdown files"
+HOMEPAGE="
+ https://pawamoy.github.io/markdown-exec/
+ https://pypi.org/project/markdown-exec/
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+IUSE="ansi"
+
+RDEPEND="
+ >=dev-python/pymdown-extensions-9[${PYTHON_USEDEP}]
+ ansi? (
+ dev-python/pygments-ansi-color[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/griffe[${PYTHON_USEDEP}]
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/multidict/Manifest b/dev-python/multidict/Manifest
index 29bdec4283cd..af40afe187e7 100644
--- a/dev-python/multidict/Manifest
+++ b/dev-python/multidict/Manifest
@@ -1,3 +1,4 @@
DIST multidict-6.2.0.gh.tar.gz 82115 BLAKE2B 37b509d409278396f52e39d63b671b3b447039f2f98fa6f1b80b1ff4189105ca5a80b9027e8fcfbb95734b3c5531c1fd4a0cbfd778cdfab85ea5c127fb735717 SHA512 211dfe4900d815be1365284e18183f82f34783b777cbca929e2f8468b6748e237825febe9baa7a6d3e2a97476a8c6e061d2d7d2de94c48a2c526809224379656
DIST multidict-6.4.4.gh.tar.gz 107158 BLAKE2B 6fbe211f13810464b591d7198c0529c0d7443270b25b2358e10042721abc40feddbf8b7c0525f20810bed510fb50c8ffe3d2e29b0ff0711b4dd5337bb54ac46a SHA512 ccf07263672abfcaa44b4e1b89e82d7a2843da9805cfb52644f44363b196bb025427478e7cf355d1c2692a1713ccd612761939ac32e30c21f5ad2d99012435c5
DIST multidict-6.5.1.gh.tar.gz 116424 BLAKE2B 4c438450a49e7f5a8b5ac49ff124e018aa7e62642ff39ec8b92f6c24e776f9c6ffbaa3d3e8ecafaeff96c8164291d52539a94eb6e286642c4332d3636f691a06 SHA512 7fa411d12b492a2f567c0228e5822200e711a9e1c221595f2a6d40ffaa2c870dfeb9d12f421495e66c2c95673efd7c3275cef9810b1404e7e6afccaac1b6c182
+DIST multidict-6.6.0.gh.tar.gz 117736 BLAKE2B 70a70eaa1bedf050f963641e29748a6abf83200ffa3606fdf0fc7dc2b75990cb4c73fadc88988fbfffd8fa967fcf6b209117817e4ab887a9964200d0b8841708 SHA512 de1a8bcb8210db048eddc06d2d8c346931205512f88a934cac8902b628af38b44705e9e7c8c51542394999c767b794bfbf9e922c28280e6d0ea51d2bcc9812e9
diff --git a/dev-python/multidict/multidict-6.6.0.ebuild b/dev-python/multidict/multidict-6.6.0.ebuild
new file mode 100644
index 000000000000..2b1f8c46498a
--- /dev/null
+++ b/dev-python/multidict/multidict-6.6.0.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="multidict implementation"
+HOMEPAGE="
+ https://github.com/aio-libs/multidict/
+ https://pypi.org/project/multidict/
+"
+SRC_URI="
+ https://github.com/aio-libs/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+IUSE="+native-extensions"
+
+BDEPEND="
+ test? (
+ dev-python/objgraph[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't enable coverage or other pytest settings
+ sed -i -e '/cov/d' pytest.ini || die
+ # don't force -O3
+ sed -i -e 's:"-O3"::' setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ if ! use native-extensions || [[ ${EPYTHON} == pypy3* ]]; then
+ local -x MULTIDICT_NO_EXTENSIONS=1
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ tests/test_multidict_benchmarks.py
+ tests/test_views_benchmarks.py
+ )
+
+ rm -rf multidict || die
+
+ local cext=--c-extensions
+ if ! use native-extensions || [[ ${EPYTHON} == pypy3* ]]; then
+ cext=--no-c-extensions
+ fi
+ epytest "${cext}"
+}
diff --git a/dev-python/pbs-installer/Manifest b/dev-python/pbs-installer/Manifest
index 2b66ce7e7315..37a23211c6dc 100644
--- a/dev-python/pbs-installer/Manifest
+++ b/dev-python/pbs-installer/Manifest
@@ -1,2 +1,2 @@
-DIST pbs-installer-2025.06.10.gh.tar.gz 89952 BLAKE2B aa1cef6c0aaab68542194c9ba8a22d3e143ffa39242f5aad8a6870e0aeaabfc57f934424154ce56c223444f3c62a6a638275921fd47ab57e78d9041da35ba5fe SHA512 73997a7f880b0b6f4bef9d119eb48df0b5ab36d365180a9da0fee65fe48ceeacc93fb9707adc95f2c3a5545fbe3360ae24b12ae31631e91c385eb90f11683f86
DIST pbs-installer-2025.06.12.gh.tar.gz 90512 BLAKE2B f0c4bea960d2f3b72060f12dfd8a0058192c3f72193fbb49f2579f6ba7d514c8012869cd6f5c1adf6dbd724b2ce6d484df79813e1f2b9cff3db84a9927d78283 SHA512 87346139f818822a1693ae495d693a8ee0e683757ed27e17325fd4b7704541a401a5dd71464976846902735887aeef298ec8d3c063c7d47645ed0a4f7b64b3a2
+DIST pbs-installer-2025.06.26.gh.tar.gz 90533 BLAKE2B 831f762e320fd7930c4d59f5ddafc423e5218cc1bec8ceb34b45694eb37a304deab39548ab21b95b754a7e25499f89c964f547f8c7c3ae3fbf82a08000a0ce78 SHA512 be386e129c03bdd4410b6ddfc20f2077f3bc68fc487521ea3119c3a0f17d9c86694e740074302f364433744792011d2868a4997df6c90c73abff2274bc6f701b
diff --git a/dev-python/pbs-installer/pbs-installer-2025.06.10.ebuild b/dev-python/pbs-installer/pbs-installer-2025.06.26.ebuild
index f50e7c78c738..272948979211 100644
--- a/dev-python/pbs-installer/pbs-installer-2025.06.10.ebuild
+++ b/dev-python/pbs-installer/pbs-installer-2025.06.26.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64"
+KEYWORDS="~amd64 ~arm64 ~x86"
BDEPEND="
dev-python/zstandard[${PYTHON_USEDEP}]
diff --git a/dev-python/pyqt6-webengine/pyqt6-webengine-6.9.0.ebuild b/dev-python/pyqt6-webengine/pyqt6-webengine-6.9.0.ebuild
index e264dce7b063..0b48dba6437a 100644
--- a/dev-python/pyqt6-webengine/pyqt6-webengine-6.9.0.ebuild
+++ b/dev-python/pyqt6-webengine/pyqt6-webengine-6.9.0.ebuild
@@ -15,7 +15,7 @@ HOMEPAGE="https://www.riverbankcomputing.com/software/pyqtwebengine/"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~arm64"
+KEYWORDS="amd64 arm64"
IUSE="debug quick +widgets"
RDEPEND="
diff --git a/dev-python/pyqt6/pyqt6-6.9.1.ebuild b/dev-python/pyqt6/pyqt6-6.9.1.ebuild
index 70f19cf040c9..3699f57c63ed 100644
--- a/dev-python/pyqt6/pyqt6-6.9.1.ebuild
+++ b/dev-python/pyqt6/pyqt6-6.9.1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="https://www.riverbankcomputing.com/software/pyqt/"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86"
# defaults match what is provided with qtbase by default (except testlib),
# reduces the need to set flags but does increase build time a fair amount
IUSE="
diff --git a/dev-python/pyside/pyside-6.9.1.ebuild b/dev-python/pyside/pyside-6.9.1.ebuild
index 2d2946e83181..8e25bb423a69 100644
--- a/dev-python/pyside/pyside-6.9.1.ebuild
+++ b/dev-python/pyside/pyside-6.9.1.ebuild
@@ -32,7 +32,7 @@ if [[ ${PV} == *.9999 ]]; then
else
SRC_URI="https://download.qt.io/official_releases/QtForPython/${PN}6/PySide6-${PV}-src/${MY_P}.tar.xz"
S="${WORKDIR}/${MY_P}"
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+ KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv ~x86"
fi
LICENSE="|| ( GPL-2 GPL-3 LGPL-3 )"
diff --git a/dev-python/sphinxcontrib-bibtex/Manifest b/dev-python/sphinxcontrib-bibtex/Manifest
index 3b7fbe4286af..fe402b79cc8b 100644
--- a/dev-python/sphinxcontrib-bibtex/Manifest
+++ b/dev-python/sphinxcontrib-bibtex/Manifest
@@ -1 +1,2 @@
DIST sphinxcontrib_bibtex-2.6.3.tar.gz 117177 BLAKE2B 282135eba34e957584bdf2d86c3ffa1952aaedf87115ab800620ad12736dbb18417e344c2e692f3e8862b8f114b0110d4797018e616b738556a9aebab0afc3ae SHA512 5f5e6ff1616735987c2ff9826853db0ec739f7477100b5abb60208233ccd962fe43946f372c42ace53353a2983b1eeefade0a5020cd848ef8ba1289b533d2248
+DIST sphinxcontrib_bibtex-2.6.5.tar.gz 118462 BLAKE2B 42c2032fbc67a4b7fae8fbb4d407f0984cc10415be0490aa302c3657b99429989223ff0ec3e70bfb102f7980947da666e1ccb602da9f699e52fcc22578264d24 SHA512 514bbe4f9b705e68e6098deefbd8be1234edd12752f32892bdc67bedcca5df85f605da4d6660486eb387e8c42da9bd8633201c40f3d11591dd2cf1840c27ec53
diff --git a/dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.6.5.ebuild b/dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.6.5.ebuild
new file mode 100644
index 000000000000..502ea183bb44
--- /dev/null
+++ b/dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.6.5.ebuild
@@ -0,0 +1,57 @@
+# 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="Sphinx extensions for BibTeX style citations"
+HOMEPAGE="
+ https://github.com/mcmtroffaes/sphinxcontrib-bibtex/
+ https://pypi.org/project/sphinxcontrib-bibtex/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/docutils-0.8[${PYTHON_USEDEP}]
+ >=dev-python/pybtex-0.25[${PYTHON_USEDEP}]
+ >=dev-python/pybtex-docutils-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-3.5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/numpydoc[${PYTHON_USEDEP}]
+ dev-python/sphinx-autoapi[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # rinoh not packaged
+ test/test_citation_rinoh.py::test_citation_rinoh
+ test/test_citation_rinoh.py::test_citation_rinoh_multidoc
+ # TODO
+ test/test_debug.py::test_debug_docutils_citation
+ test/test_debug.py::test_debug_bibtex_citation
+ test/test_debug.py::test_debug_minimal_example
+)
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+distutils_enable_sphinx doc
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
+
+python_test() {
+ distutils_write_namespace sphinxcontrib
+ epytest
+}
diff --git a/dev-python/trimesh/Manifest b/dev-python/trimesh/Manifest
index ab2a71455af0..bbae68a65805 100644
--- a/dev-python/trimesh/Manifest
+++ b/dev-python/trimesh/Manifest
@@ -1,2 +1,3 @@
DIST trimesh-4.6.11.gh.tar.gz 13637301 BLAKE2B fc672641ec363794ff90aa1daaa4711838917395771de55376981af1a2bab1dcb58e8240fd23d9c6d17187ed952994927b4896792a0cf1d632eaf88d0ca3808c SHA512 7c1039a845a461b450d5dda54da287a7f35e8ffbe544ee4e920dcb7053a30791796f239d00337f1cb443c3df610bdc2faa6a93e7240c2c494ab6c6ef9d563b96
DIST trimesh-4.6.12.gh.tar.gz 13637824 BLAKE2B f1dbc1c7963284d4560847872290d09096673cccefce62758bbea9d055c933aff15eced6a279fba88a8b0489a16df6c9e7211a7977488eb719696d465a6ca8f5 SHA512 01f4f0d3b8b1c7621dc19f2e541d68337298133d331b5950a786a0e07bf0fbbeb10777887ce6b49134c670e3d1bd56fcdbc1f08e7d1eb79527e91b6e9b5b01d9
+DIST trimesh-4.6.13.gh.tar.gz 13638435 BLAKE2B fe50c34d263e8e7340e21b8eec86a3ee8417e95015b24ea7189369a6c72ba18d81135566748da59c0c0954225a48408cc9761ff8d5e31aec55ce017fc7f19fa3 SHA512 3ac9528acb239cc02e9604d3d26ee89f5656168122ce37f4e50745f115cb6fcb7834de6697057776025cdc7568818c56e8340993e0ae0781b14fa392933f8f94
diff --git a/dev-python/trimesh/trimesh-4.6.13.ebuild b/dev-python/trimesh/trimesh-4.6.13.ebuild
new file mode 100644
index 000000000000..c2dcc3343c6b
--- /dev/null
+++ b/dev-python/trimesh/trimesh-4.6.13.ebuild
@@ -0,0 +1,76 @@
+# 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 optfeature
+
+DESCRIPTION="Python library for loading and using triangular meshes"
+HOMEPAGE="
+ https://trimesh.org/
+ https://github.com/mikedh/trimesh/
+ https://pypi.org/project/trimesh/
+"
+SRC_URI="
+ https://github.com/mikedh/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/charset-normalizer[${PYTHON_USEDEP}]
+ dev-python/colorlog[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/networkx[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.20[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pycollada[${PYTHON_USEDEP}]
+ dev-python/pyglet[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ >=dev-python/shapely-1.8.2[${PYTHON_USEDEP}]
+ dev-python/svg-path[${PYTHON_USEDEP}]
+ dev-python/sympy[${PYTHON_USEDEP}]
+ dev-python/xxhash[${PYTHON_USEDEP}]
+ dev-python/rtree[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mapbox-earcut[${PYTHON_USEDEP}]
+ dev-python/pillow[webp,${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # requires manifold3d
+ tests/test_boolean.py::test_multiple_difference
+ # timing nonsense
+ tests/test_bounds.py::BoundsTest::test_obb_mesh_large
+)
+EPYTEST_IGNORE=(
+ # require pyinstrument
+ tests/test_sweep.py
+)
+
+EPYTEST_PLUGINS=()
+EPYTEST_TIMEOUT=1800
+EPYTEST_XDIST=1
+
+distutils_enable_tests pytest
+
+pkg_postinst() {
+ optfeature_header "${PN} functionality can be extended by installing the following packages:"
+ optfeature "making GUI applications with 3D stuff" dev-python/glooey
+ optfeature "2D triangulations of polygons" dev-python/mapbox-earcut
+ optfeature "loading a number of additional mesh formats" dev-python/meshio
+ optfeature "figuring out how much memory we have" dev-python/psutil
+ optfeature "marching cubes and other nice stuff" dev-python/scikit-image
+}
diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest
index 11b18a067ec2..c982c3a0acac 100644
--- a/dev-python/uv-build/Manifest
+++ b/dev-python/uv-build/Manifest
@@ -3,5 +3,6 @@ DIST uv_build-0.7.10.tar.gz 308530 BLAKE2B 01ec0cc519966665129c29e7cfe5522cf070d
DIST uv_build-0.7.12.tar.gz 309677 BLAKE2B 8d238e0be4d67e2c38310d47634b60912423bad7106ef11f057f572298b280b0d515dbb9c2fb4205bd9c20c6184d6c9ec14600c8314afdc870dbb6812df35dad SHA512 8dd406e7369d7b8f9a318bbe7c1827588dc302862ae452b5233602fd0461eef52fe8a217b7f92075c19d55277ccb66b76f915ce7c2d58aefe062703e92a27932
DIST uv_build-0.7.13.tar.gz 310547 BLAKE2B 37a07d3aae9e5c1a1d8c187157473ab4c0bc65779751d2848c2d46228cef9ccb1b7e040f3330f3660b163a5fbf84acbd2433371d7d05014e53716297762bfe24 SHA512 44026e1139c95d082871a93d7d456684b07aa0b8f34609aabf1b7a74a81431a6811973e141cdc98c377b65e06b8ed56c6ca2393688132b6813363a00e622a911
DIST uv_build-0.7.15.tar.gz 309520 BLAKE2B a8d629b77b599f186a9d61052224bd71dc35d7f34fe4a5b668649371e417da6b36b3f8b41bc592ab97c97ad61b7de87a07cca1e2b6f429c5cd8cd4ffd34cc56d SHA512 39dbd2f3735e896dc270e7afb734e47487669719b2a6fd38ad4242542638f60b2ed750978f047dbc6435949fca94fb1126dbef45f1c785e4a4ef0fa0132b28f1
+DIST uv_build-0.7.16.tar.gz 309576 BLAKE2B d358ab8c0b90e07162dc8d1550ba79948cb2d86633ccfcd8509ba4f0aca8c9d4da4140958297fd0bdc4240d009de34416bfa3cdeb96f53574ef6f7c91bd71cfb SHA512 b3a115491ec8d522cc93071bdc58b4f40471f0bb27ba9186b8c7d111d069ad3276448d17baba409f7dd4f446978880faca1c137f376907f4ad201649f64df4c8
DIST uv_build-0.7.8.tar.gz 305609 BLAKE2B 89d2e7ff95f4375d4fff758463c1cf918c3ec475a1e0de04fcc51b4bd0fefe1aca50ea223b3cc456c5944f0673702ab971374829fb568e4521129acb0a770506 SHA512 bde37f82ae781531e50425ff247219e4e2908c7e46200a65a74e8e2b8b48a0d5cd60476138c160bd1d07aa8c9a581f5da01e79fd7883d018f10617ddba8b8349
DIST uv_build-0.7.9.tar.gz 308177 BLAKE2B 38bd8d4640a239dac740503929c7b31ba591e101e0778cbd5e3c9db6513082f0382bc982affc7cf3a5af3998647ae58ebf870388dc0d67e2ed7fda5764cc9176 SHA512 f316aae21cbf15dc281d79eaa10af1b56efd70d484ae37b831d7216c268e03c6a46c50a212e617e932a6cf0805f2cb114e91caf92afe1c1d994ba06209255e90
diff --git a/dev-python/uv-build/uv-build-0.7.16.ebuild b/dev-python/uv-build/uv-build-0.7.16.ebuild
new file mode 100644
index 000000000000..6156796bc3d2
--- /dev/null
+++ b/dev-python/uv-build/uv-build-0.7.16.ebuild
@@ -0,0 +1,99 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Maturin compiles uv-build executable for every impl, we do not want
+# that, so we use another backend. And since we use another backend,
+# why not dogfood it in the first place?
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="PEP517 uv build backend"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv-build/
+"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/uv-${PV}
+"
+BDEPEND="
+ test? (
+ app-arch/unzip
+ dev-python/build[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # use the executable from dev-python/uv instead of building
+ # a largely overlapping uv-build executable (at least for now)
+ sed -i -e '/USE_UV_EXECUTABLE/s:False:True:' python/uv_build/__init__.py || die
+
+ # replace the build-system section
+ sed -i -e '/\[build-system\]/,$d' pyproject.toml || die
+ cat >> pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["uv_build<9999"]
+ build-backend = "uv_build"
+ backend-path = ["src"]
+ EOF
+
+ # rename to make uv-build find it
+ mv python src || die
+}
+
+python_test() {
+ "${EPYTHON}" -m build -n || die "Self-build failed with ${EPYTHON}"
+
+ local zip_result=$(
+ unzip -t "dist/uv_build-${PV}-py3-none-any.whl" || die
+ )
+ local zip_expected="\
+Archive: dist/uv_build-${PV}-py3-none-any.whl
+ testing: uv_build/ OK
+ testing: uv_build/__init__.py OK
+ testing: uv_build/__main__.py OK
+ testing: uv_build/py.typed OK
+ testing: uv_build-${PV}.dist-info/ OK
+ testing: uv_build-${PV}.dist-info/WHEEL OK
+ testing: uv_build-${PV}.dist-info/METADATA OK
+ testing: uv_build-${PV}.dist-info/RECORD OK
+No errors detected in compressed data of dist/uv_build-${PV}-py3-none-any.whl.\
+"
+ if [[ ${zip_result} != ${zip_expected} ]]; then
+ eerror ".zip result:\n${zip_result}"
+ eerror ".zip expected:\n${zip_expected}"
+ die ".whl result mismatch"
+ fi
+
+ local tar_result=$(
+ tar -tf "dist/uv_build-${PV}.tar.gz" || die
+ )
+ local tar_expected="\
+uv_build-${PV}/PKG-INFO
+uv_build-${PV}/
+uv_build-${PV}/README.md
+uv_build-${PV}/pyproject.toml
+uv_build-${PV}/src
+uv_build-${PV}/src/uv_build
+uv_build-${PV}/src/uv_build/__init__.py
+uv_build-${PV}/src/uv_build/__main__.py
+uv_build-${PV}/src/uv_build/py.typed\
+"
+ if [[ ${tar_result} != ${tar_expected} ]]; then
+ eerror ".tar.gz result:\n${tar_result}"
+ eerror ".tar.gz expected:\n${tar_expected}"
+ die ".tar.gz result mismatch"
+ fi
+}
diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest
index 3e07524b1c22..e2965e501015 100644
--- a/dev-python/uv/Manifest
+++ b/dev-python/uv/Manifest
@@ -13,6 +13,8 @@ DIST uv-0.7.13-crates.tar.xz 51866888 BLAKE2B af0c831a5c6f06f4c410e817840da82c1e
DIST uv-0.7.13.gh.tar.gz 4052607 BLAKE2B 6139335f98d4c0d1c8621eee0bbf992bffdd82a6579a87b230869050123cd9c85c6e65826cdbd293bd3c4f9db6a107a5e3ea5c089953ea3e9be02381a536e7e2 SHA512 5a8b523476071c9da83eafea3a6624e48e7ff60a1a65c551d061af3ed01d852d6dafc5c3feb1458b76c6d64eaa37e038bfe82c5a962c96f87bfe1389ad811674
DIST uv-0.7.15-crates.tar.xz 58052104 BLAKE2B 95a97abf28acd579fd796c71e664233fae6b05855c27967d679e1681e21e79fa40e16ee08aff1b9ac712abd38c0f1da4487d3102af9147dec631eecedf6fddb4 SHA512 d37b1c91e591a074f99e1dcdbab08833d2c49f30cf190d50fa640a89c2ebb7b21253b2f14eb23afdba6c9d5cf27ef9af921a42085563ec542b548a105721706a
DIST uv-0.7.15.gh.tar.gz 4098215 BLAKE2B 2e40161395aea361e3f9ae5a3764045c81352b62d806b8a95e9ea280b8f806eea3c8dd46548b75363d6408f282ac3aac5355c4e821355a6dcf6c6f94c9f6add9 SHA512 df23af02a054b276c188c0600706fabdc3fab0171b23c091125d4c6d134a010a3cbf1a6f3dad0bdacfef65f8916bea685023166d9f50b6f7bc7d7d7ad2813de1
+DIST uv-0.7.16-crates.tar.xz 58052104 BLAKE2B 95a97abf28acd579fd796c71e664233fae6b05855c27967d679e1681e21e79fa40e16ee08aff1b9ac712abd38c0f1da4487d3102af9147dec631eecedf6fddb4 SHA512 d37b1c91e591a074f99e1dcdbab08833d2c49f30cf190d50fa640a89c2ebb7b21253b2f14eb23afdba6c9d5cf27ef9af921a42085563ec542b548a105721706a
+DIST uv-0.7.16.gh.tar.gz 4105917 BLAKE2B 2af4abe490f96902f60f2ac794fad27c8117278f3c444e3b1423d3bbe4d2f32eeb42b30e9b40ec06eeb89c73271b68438bf428eda6b3e7088829df7f96f3cb3f SHA512 4edfadf3b28a6af195ae6c709e7f41af9c2b0da408e637bca2c4ff70717e4c1027a84c69a33b14f58fd2a1f1cc530927ac6bda4d43495116b6280393f2553dca
DIST uv-0.7.8-crates.tar.xz 45495772 BLAKE2B f8b9587302dfd96ba15b540f0897b9720ea06434d2d2e93e795793df874179ef79e544a07b9e158e890d119fa2d3beee9d0a884a3c78540ec6c8abe2cc902bba SHA512 78586fd9fbe4cd9e0b737609a8b8c438ac422be1dbcde7a8553234981ee4be8136efe50b2c14b6863b6256a337cab977948641bb196e5f718188a66b25f1f5f5
DIST uv-0.7.8.gh.tar.gz 3993156 BLAKE2B a11245cb77ceab214ee021d973515c164048938afb67d878bf282e26f8c1f190187ef7a52af966247298d6a758baa97e36fce0a556c9ac145b3f01c8aea18d56 SHA512 109821612a9a07bf0fdadcc942893a8e024ef828f22f25b5d3f2a10088882892cb84a8b1e37874e7346c9a0815dcd15cb736a2a768ff525c6198482fe7aba3ff
DIST uv-0.7.9-crates.tar.xz 45526908 BLAKE2B 66951afc70feb4719c5af415c0503c6e8daff850227d9773406f6e4c0c9bb960a56573675327b04297437481852cc9236bdf240476cf1c151e52ff4caf170c72 SHA512 6ea0d4e02e28edc47d420c095b426136aeb1e4af2c3181e104f67405b180d6ce51f1db122cc6d49ac876a68711d43aa2fdae5fd710523c03d6d302d41da47e02
diff --git a/dev-python/uv/uv-0.7.16.ebuild b/dev-python/uv/uv-0.7.16.ebuild
new file mode 100644
index 000000000000..14f6f1ae7451
--- /dev/null
+++ b/dev-python/uv/uv-0.7.16.ebuild
@@ -0,0 +1,183 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+
+declare -A GIT_CRATES=(
+ [async_zip]='https://github.com/charliermarsh/rs-async-zip;c909fda63fcafe4af496a07bfda28a5aae97e58d;rs-async-zip-%commit%'
+ [pubgrub]='https://github.com/astral-sh/pubgrub;06ec5a5f59ffaeb6cf5079c6cb184467da06c9db;pubgrub-%commit%'
+ [reqwest-middleware]='https://github.com/astral-sh/reqwest-middleware;ad8b9d332d1773fde8b4cd008486de5973e0a3f8;reqwest-middleware-%commit%/reqwest-middleware'
+ [reqwest-retry]='https://github.com/astral-sh/reqwest-middleware;ad8b9d332d1773fde8b4cd008486de5973e0a3f8;reqwest-middleware-%commit%/reqwest-retry'
+ [tl]='https://github.com/astral-sh/tl;6e25b2ee2513d75385101a8ff9f591ef51f314ec;tl-%commit%'
+ [version-ranges]='https://github.com/astral-sh/pubgrub;06ec5a5f59ffaeb6cf5079c6cb184467da06c9db;pubgrub-%commit%/version-ranges'
+)
+
+RUST_MIN_VER="1.85.0"
+
+inherit cargo check-reqs
+
+CRATE_PV=${PV}
+DESCRIPTION="A Python package installer and resolver, written in Rust"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv/
+"
+# pypi sdist misses scripts/, needed for tests
+SRC_URI="
+ https://github.com/astral-sh/uv/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://github.com/gentoo-crate-dist/uv/releases/download/${CRATE_PV}/uv-${CRATE_PV}-crates.tar.xz
+ "
+fi
+
+# most of the code
+LICENSE="|| ( Apache-2.0 MIT )"
+# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below
+# Dependent crate licenses
+LICENSE+="
+ 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD Boost-1.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/versioningit/Manifest b/dev-python/versioningit/Manifest
index 6919d7c9b523..7d9d473f7ea2 100644
--- a/dev-python/versioningit/Manifest
+++ b/dev-python/versioningit/Manifest
@@ -1,2 +1,3 @@
DIST versioningit-3.1.3.tar.gz 213327 BLAKE2B 7263a22ab0f6dd08f66de6a13bfc15d7bafd6d4af67a90169d19c1ebc82e5381cf64edb786c940416367434ec2540d7faa64d71dec109d67bb181aaf4419890f SHA512 829d595803853e18159f4109bb10fe8335529e9c7c31ebe5948d551e88811453705637e98d8de349972f1bc37c33d3ccdf6546343c13670c7a7672a03bd14cff
DIST versioningit-3.2.0.tar.gz 217086 BLAKE2B 7989ce8fbdf469fefbd9d26533ee212f8e0fb62e7d29af51df3f7cd42e6f5845db0264ce50d044cd53e22c18469295660a7bffe83e8571d5ee4466516838ee61 SHA512 084a457b7142139f71121f76769adf2ba1672339cdd90e0c3c02a611c19d8db7b0833f9ec4395af57ea794592e2fda1815f4de4a86a7d6fd2996f2b2fba9f70c
+DIST versioningit-3.3.0.tar.gz 220280 BLAKE2B 702f8287f8f31eb56cd9901af594193a2f7b3c066e7e077df6905ee320261b356437978999eb1556155c942343a313184973ffa3fd2afb12fbd2d0ad41ba66fd SHA512 dee8884d2be9730f7e4ed8f6e38966b1786ffa82ad62fb8d5527db4552a756d4cf9145ea2ef7c02ea1f48115f4deee0578629ea75c4a46517ee5aa159e2b73d7
diff --git a/dev-python/versioningit/versioningit-3.3.0.ebuild b/dev-python/versioningit/versioningit-3.3.0.ebuild
new file mode 100644
index 000000000000..b9afd320a5fb
--- /dev/null
+++ b/dev-python/versioningit/versioningit-3.3.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_FULLY_TESTED=( pypy3_11 python3_{11..13} )
+PYTHON_COMPAT=( "${PYTHON_FULLY_TESTED[@]}" )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A setuptools plugin for versioning based on git tags"
+HOMEPAGE="
+ https://github.com/jwodder/versioningit/
+ https://pypi.org/project/versioningit/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/packaging-17.1[${PYTHON_USEDEP}]
+ dev-vcs/git
+"
+BDEPEND="
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/pydantic[${PYTHON_USEDEP}]
+ ' "${PYTHON_FULLY_TESTED[@]}")
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-mock )
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # Tries to do wheel/pip installs
+ test/test_end2end.py
+ )
+
+ if ! has "${EPYTHON/./_}" "${PYTHON_FULLY_TESTED[@]}"; then
+ EPYTEST_IGNORE+=(
+ # Needs pydantic
+ test/test_methods/test_hg.py
+ test/test_methods/test_git.py
+ )
+ fi
+
+ epytest -o addopts=
+}