summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-07-10 06:16:39 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-07-10 06:16:39 +0000
commitb4fae1033dd4e537d53ddb0e79b39771ba4995cf (patch)
treeac7e6cec9d5888485af5572cc65409c3907c7912 /dev-python
parent5b8c66d13108e6e7ef79b6838290143e9f7f4eaa (diff)
downloadbaldeagleos-repo-b4fae1033dd4e537d53ddb0e79b39771ba4995cf.tar.gz
baldeagleos-repo-b4fae1033dd4e537d53ddb0e79b39771ba4995cf.tar.xz
baldeagleos-repo-b4fae1033dd4e537d53ddb0e79b39771ba4995cf.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.39.4.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.39.4.ebuild67
-rw-r--r--dev-python/certifi/Manifest2
-rw-r--r--dev-python/certifi/certifi-2025.07.09.ebuild (renamed from dev-python/certifi/certifi-2025.04.26.ebuild)0
-rw-r--r--dev-python/clang/Manifest2
-rw-r--r--dev-python/clang/clang-20.1.8.ebuild54
-rw-r--r--dev-python/hcloud/Manifest1
-rw-r--r--dev-python/hcloud/hcloud-2.5.4.ebuild51
-rw-r--r--dev-python/lit/Manifest2
-rw-r--r--dev-python/lit/lit-20.1.8.ebuild46
-rw-r--r--dev-python/pbs-installer/Manifest2
-rw-r--r--dev-python/pbs-installer/pbs-installer-2025.07.08.ebuild (renamed from dev-python/pbs-installer/pbs-installer-2025.06.30.ebuild)0
-rw-r--r--dev-python/trimesh/Manifest1
-rw-r--r--dev-python/trimesh/trimesh-4.7.0.ebuild76
-rw-r--r--dev-python/uv-build/Manifest1
-rw-r--r--dev-python/uv-build/uv-build-0.7.20.ebuild99
-rw-r--r--dev-python/uv/Manifest2
-rw-r--r--dev-python/uv/uv-0.7.20.ebuild184
20 files changed, 643 insertions, 2 deletions
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 5201d678ea11..bbb839e7fc6c 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -1,3 +1,4 @@
DIST boto3-1.38.41.gh.tar.gz 959656 BLAKE2B cf74e27c26735b9a02be41df7e077aed5e3df61fec3cef38fbf08e6b24bb23030579a92f28a717056a86d67251ce69aae82820c4d8af0d34f4d77076ebc45f1b SHA512 dc3110929ac801348f960c419d555160e315e3724101fc3ec551cb60520703fa77a4dd69744e99b8062402b0d53941aa5a7a006bece5a064de7491fbf2050a37
DIST boto3-1.38.46.gh.tar.gz 961156 BLAKE2B 36fe0a2d35176c3419f4a49148b77713e126371930dafa112aaba7f53ca483323500cf23d68fa27372130d07fb9aad090950959ad56c25ae7503f77e2a525905 SHA512 c15c90fad56f476014ef6ae8ff687e088114001750def69cefa25002d0d38a4fee60114943d2c5e7b70f7ecca497fbba987cc9b33bba5ff6637a5fe8aa079149
DIST boto3-1.39.3.gh.tar.gz 967377 BLAKE2B 239fcd2d4492d3848dc473c71cf3bf8cae80b844303c32cf0e405e810b18c892bf100705c39d81c196cd83288db2500331b9d706d481ebcfee8237d245af4bb1 SHA512 89a8e3bb96255c097ffa8a8d2dad6c18835d5404d502ba41fd500aac8dfb0d1229478b6d17e82e5668d00d6df604ade5a209a6c99f3d11fc956dee4c77c2452c
+DIST boto3-1.39.4.gh.tar.gz 967954 BLAKE2B 5e63cfb5c2381605475c928c4aec6cf303b99ca13eb67377e5a283e07d0de35eb6846352976a854632e72c34477f964b32ffc8f0fc178d10d7e95df8d4a145cc SHA512 dbe389b4eb1e8ac1f425f34bb96c5baecc42acdc608bef7ddc31e1fbaa3baa6850504cb9513494a6ca782755ce9264fd0d794960eeb495678ef1cb3d2c85fe90
diff --git a/dev-python/boto3/boto3-1.39.4.ebuild b/dev-python/boto3/boto3-1.39.4.ebuild
new file mode 100644
index 000000000000..bd6e26787db4
--- /dev/null
+++ b/dev-python/boto3/boto3-1.39.4.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 9713255174dc..a1b9a364c090 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -1,3 +1,4 @@
DIST botocore-1.38.41.gh.tar.gz 14788068 BLAKE2B 3bc2cfb9e45235b076266a96fd3568753c267ab8a1ff438e21159c3d31cfa9f0c6b057ffda665006adacb69d75282c34f31d14095388ee120274dd60cc4e0f2d SHA512 de75b9799754cfa55fd54716ab088719f96403d2fc9b357751263f8382bb513f0526d9815cbff7c317fbd66508354e6024d622bd09d0bef035939f03f172a575
DIST botocore-1.38.46.gh.tar.gz 14834968 BLAKE2B 282c6ddef03b7c4a8f88fbc4816afd65fdac8c050ed2233974dfaa985ed001feaedbdf22fc770f56c1f0aa3fbd1d10e6115289e3c11efe672e3e6ac521eaedc7 SHA512 5fb4d2001084c63caa7c8619b55815d882b6f8b0738197d82919a33634205226dc20e06356b51b0022abfbde32a1585307a9b6058a0363d3a48a612206105c93
DIST botocore-1.39.3.gh.tar.gz 14896843 BLAKE2B a2ddac0665f108b8db6c0b365080d5c7ae762fffce9e9a27af43658e9a595a924651f15c4daee8e4dc996b94972a8ea829cba81b0057df25c3c304449bbb1e3b SHA512 56bb2b79964d41f11d15d628801eb0b4feba700449da2e0a4a79b293a59b81b37b66e2863320eba7847271533c5ab76eb3ff624e19ec32dd632884baf662cf62
+DIST botocore-1.39.4.gh.tar.gz 14901512 BLAKE2B 08fc52957828be9ccee26f61c4c006679c4f47754d4ecdf15eecfbb991808035215d1aac24f5ddf76a64673b23132b555fcb24adf57aacda8679abd7b0a16040 SHA512 3a68c96000a4e393abb68a9ca843ad62b74decd12ba551fa642efd21095fb3de50f0eeb8ee71f8934e9efa47486a138ee7bad6f3f4408fd5eff0a0fbf5053e6e
diff --git a/dev-python/botocore/botocore-1.39.4.ebuild b/dev-python/botocore/botocore-1.39.4.ebuild
new file mode 100644
index 000000000000..a931fcaefec4
--- /dev/null
+++ b/dev-python/botocore/botocore-1.39.4.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/certifi/Manifest b/dev-python/certifi/Manifest
index 25abbf8101e5..ad0654c5ba90 100644
--- a/dev-python/certifi/Manifest
+++ b/dev-python/certifi/Manifest
@@ -1,2 +1,2 @@
-DIST certifi-2025.04.26.tar.gz 161007 BLAKE2B 2eb80bc72cc33b8586fc2ec500a8f0b76f93b0603e1ec521f6eb49441355411ff6a07637df084061e6494c281f65b1ca1c3423a3dc129b675bc8d96022394ddc SHA512 e91d2d14970f459c9c6ff1db84ab118e5357e7c632748ccd26ae933b3b3826c73644da7172cec6164e7eb4e27097d4670197fb7fcecea5b9751bb49d66dc5517
DIST certifi-2025.06.15.tar.gz 159513 BLAKE2B 1e854e6cb81264ff5510e9816afa1afca1167bb88e559eb0b355f1a939218a41a84f2578a60b28dbb11935fa266f213df9b4061ce0997733d905d7dd0221908f SHA512 cf5e8dac286e5897f5b90f8a02c7945de51207d813d186add6fcc926d412d592248d3a8ea0a6b03a621b810aa1c3468fc9d1a4559c63321aa69edc5f5e87a134
+DIST certifi-2025.07.09.tar.gz 160714 BLAKE2B e980cf86db1edd51bf7548a56a00c6280d2bbb96bc3288c428b550f8900aa6db476934260d3f6867e77816b818afc46fc2ef021e63aff1d82f263bb27f92f1ae SHA512 2b5af0084cd73cc773e6465f5dfe294ed8fb4f6dbe2e7d0a5eb0374b04b693eb976a6178b8c00d3155190c4319471756a160cd047729a363f1d0008f9ff1da9a
diff --git a/dev-python/certifi/certifi-2025.04.26.ebuild b/dev-python/certifi/certifi-2025.07.09.ebuild
index 345f02e3f587..345f02e3f587 100644
--- a/dev-python/certifi/certifi-2025.04.26.ebuild
+++ b/dev-python/certifi/certifi-2025.07.09.ebuild
diff --git a/dev-python/clang/Manifest b/dev-python/clang/Manifest
index 7fb7391ae996..f2016a7cf308 100644
--- a/dev-python/clang/Manifest
+++ b/dev-python/clang/Manifest
@@ -10,5 +10,7 @@ DIST llvm-project-19.1.7.src.tar.xz 141249332 BLAKE2B 1259ed7f9aca7b35e89d818bef
DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf6f30e75705123d067ea97175d91d7a5b6a75008df01d99ae7aa16aaa3b101f3f41e38d01f04158f95a261d617b3ede0254cd SHA512 195797b06ac80a742e0ccbc03a50dc06dd2e04377d783d5474e3e72c5a75203b60292b047929312a411d22b137a239943fba414a4d136a2be14cbff978eb6bda
DIST llvm-project-20.1.7.src.tar.xz 147245448 BLAKE2B f7c57d1eba4e97e875b624dec3fb1b261a0203de7200366de5b3edcfbca2a170c41df46e91cd9cb78ae2af66120aef95334f5eb9628a1489e921c6bdf4cccfe8 SHA512 c2dbf6a468a8152409db7ff52902ecf8768a1d0328e386999f4f3672613903e1c10bddbba66b8553a6222952f8edb66266947f1fb21d0b09ae741e6249b6d1fa
DIST llvm-project-20.1.7.src.tar.xz.sig 566 BLAKE2B 72ce2a18c211cfce9581a9e3e71f1c55cf18672aa355267581220e1a89e3327f9e16107970b69bb8f10f390baa5e286487bdc4cc0a7d9155ec13a4977cd3f472 SHA512 eff885059d547f57b98bda1fc9631f716ca6c650cd48203d9ed5443a6afb9a2d4d91d3f5c8618e307c0a44b3040bce61fdc6bce965073adc537655755d9f2112
+DIST llvm-project-20.1.8.src.tar.xz 147242952 BLAKE2B 7657ac0b26acc5affb1bfc91b912ade3191c5d77f3979d5a80d5f6ce52f56a7d1c448bd257398390bf10838f02faa6f3ece37a7327cced69d165ec2e2e699316 SHA512 f330e72e6a1da468569049437cc0ba7a41abb816ccece7367189344f7ebfef730f4788ac7af2bef0aa8a49341c15ab1d31e941ffa782f264d11fe0dc05470773
+DIST llvm-project-20.1.8.src.tar.xz.sig 566 BLAKE2B 85beedfcff1195a974fab2c667b9efd4b715b3480c1b44b1b887fe32c69f72aca0d3b8fb276c03b6cc5a866622f669047aeee5ccb976640b4008ccd31dce77a4 SHA512 d74369bdb4d1b82775161ea53c9c5f3a23ce810f4df5ff617123023f9d8ce720e7d6ecc9e17f8ebd39fd9e7a9de79560abdf2ffe73bcb907a43148d43665d619
DIST llvm-project-814ac2e3735e52c1162ac495c24158e0ac256520.tar.gz 237400805 BLAKE2B 59cbf2f7f5c3c1c2c187c72a40b94b05b2d3286678f78764bc7555d75ead40d2fd60b1807bbe6470f012a5958d0466b1f6b2bc842bba36731e7697a79307532b SHA512 63f31f28b7f01b840d88bfa3ffc4107ccffc623b26c7d0dc3e720a864ce7ca907dcbdcfaec7e31a1711220528a89175334518711a83824c82389343c2e4008d7
DIST llvm-project-e34e02128ec5eb89e36a8f0f7307dcbcfecabbee.tar.gz 238210997 BLAKE2B 80ce4689e3c71a413e36645cdc83590f3492ac3ee39b8bf8844ec50d0b68f40da4c19a7f284625e3550eb78a90d433e74092b5639bcebadf0e0220c36b111cb3 SHA512 5c1ab21b242d1ba62172ae6268a126fd1b049f85b039434b4ff28b0411ec60d46e96e05560b9b85d0420494afdd573b4043999cb34ace508a48f763d4eb5b7aa
diff --git a/dev-python/clang/clang-20.1.8.ebuild b/dev-python/clang/clang-20.1.8.ebuild
new file mode 100644
index 000000000000..0b43b8ec6779
--- /dev/null
+++ b/dev-python/clang/clang-20.1.8.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..14} )
+inherit llvm.org python-r1
+
+DESCRIPTION="Python bindings for llvm-core/clang"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# The module is opening libclang.so directly, and doing some blasphemy
+# on top of it.
+DEPEND="
+ >=llvm-core/clang-${PV}:*
+ !llvm-core/llvm:0[clang(-),python(-)]
+ !llvm-core/clang:0[python(-)]
+"
+RDEPEND="
+ ${DEPEND}
+ ${PYTHON_DEPS}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ test? (
+ llvm-core/clang:${LLVM_MAJOR}
+ )
+"
+
+LLVM_COMPONENTS=( clang/bindings/python )
+llvm.org_set_globals
+
+python_test() {
+ # tests rely on results from a specific clang version, so override
+ # the search path
+ local -x CLANG_LIBRARY_PATH=${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)
+ local -x CLANG_NO_DEFAULT_CONFIG=1
+ "${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}"
+}
+
+src_test() {
+ python_foreach_impl python_test
+}
+
+src_install() {
+ python_foreach_impl python_domodule clang
+}
diff --git a/dev-python/hcloud/Manifest b/dev-python/hcloud/Manifest
index 8b525c235b23..ee800f1255f7 100644
--- a/dev-python/hcloud/Manifest
+++ b/dev-python/hcloud/Manifest
@@ -1 +1,2 @@
DIST hcloud-python-2.5.3.gh.tar.gz 121515 BLAKE2B 39294ffa2b7a5d10de5228f5d20bfb3b9298aee507c38e76470f0a12c95e9c05165e644b03c5ef2b5b3fd1e0a2fb268611dcd463dfa76c680ae12580925c7531 SHA512 6095762a0970f0bdea55f4453f47b6f5634d032e15a1148d0681c65c59a34c538fca45f2fa70acb4872f16a321f6c38bb7b4520f9c88165306cb2c29ba3dac7e
+DIST hcloud-python-2.5.4.gh.tar.gz 123092 BLAKE2B 0b5f9ae2c7c3d67c902e2d8b4d8915512eb253742ec49472d35183e7560dd96fd8c877c302b3d207a9ffe9650fefa6981a49519ea3256d3e18cf0c483a5e83bc SHA512 c824425e6d7be48b47fcc647a56c60bdfce18736fc4d0cfcc93f5a58e3b60f8cf1f28e892c27044c564eca7609c5c6a4a7d36070926be4104f012c422539a2a9
diff --git a/dev-python/hcloud/hcloud-2.5.4.ebuild b/dev-python/hcloud/hcloud-2.5.4.ebuild
new file mode 100644
index 000000000000..e9c885e1cf62
--- /dev/null
+++ b/dev-python/hcloud/hcloud-2.5.4.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+MY_P=hcloud-python-${PV}
+DESCRIPTION="Official Hetzner Cloud python library"
+HOMEPAGE="
+ https://github.com/hetznercloud/hcloud-python/
+ https://pypi.org/project/hcloud/
+"
+# sdist is missing doc assets as of 1.19.0
+# https://github.com/hetznercloud/hcloud-python/pull/183
+SRC_URI="
+ https://github.com/hetznercloud/hcloud-python/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="examples"
+
+RDEPEND="
+ >=dev-python/python-dateutil-2.7.5[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.20[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs \
+ dev-python/myst-parser \
+ dev-python/sphinx-rtd-theme
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # Integration tests need docker:
+ # https://github.com/hetznercloud/hcloud-python/blob/master/.travis.yml#L16
+ tests/integration
+)
+
+python_install_all() {
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/lit/Manifest b/dev-python/lit/Manifest
index 7fb7391ae996..f2016a7cf308 100644
--- a/dev-python/lit/Manifest
+++ b/dev-python/lit/Manifest
@@ -10,5 +10,7 @@ DIST llvm-project-19.1.7.src.tar.xz 141249332 BLAKE2B 1259ed7f9aca7b35e89d818bef
DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf6f30e75705123d067ea97175d91d7a5b6a75008df01d99ae7aa16aaa3b101f3f41e38d01f04158f95a261d617b3ede0254cd SHA512 195797b06ac80a742e0ccbc03a50dc06dd2e04377d783d5474e3e72c5a75203b60292b047929312a411d22b137a239943fba414a4d136a2be14cbff978eb6bda
DIST llvm-project-20.1.7.src.tar.xz 147245448 BLAKE2B f7c57d1eba4e97e875b624dec3fb1b261a0203de7200366de5b3edcfbca2a170c41df46e91cd9cb78ae2af66120aef95334f5eb9628a1489e921c6bdf4cccfe8 SHA512 c2dbf6a468a8152409db7ff52902ecf8768a1d0328e386999f4f3672613903e1c10bddbba66b8553a6222952f8edb66266947f1fb21d0b09ae741e6249b6d1fa
DIST llvm-project-20.1.7.src.tar.xz.sig 566 BLAKE2B 72ce2a18c211cfce9581a9e3e71f1c55cf18672aa355267581220e1a89e3327f9e16107970b69bb8f10f390baa5e286487bdc4cc0a7d9155ec13a4977cd3f472 SHA512 eff885059d547f57b98bda1fc9631f716ca6c650cd48203d9ed5443a6afb9a2d4d91d3f5c8618e307c0a44b3040bce61fdc6bce965073adc537655755d9f2112
+DIST llvm-project-20.1.8.src.tar.xz 147242952 BLAKE2B 7657ac0b26acc5affb1bfc91b912ade3191c5d77f3979d5a80d5f6ce52f56a7d1c448bd257398390bf10838f02faa6f3ece37a7327cced69d165ec2e2e699316 SHA512 f330e72e6a1da468569049437cc0ba7a41abb816ccece7367189344f7ebfef730f4788ac7af2bef0aa8a49341c15ab1d31e941ffa782f264d11fe0dc05470773
+DIST llvm-project-20.1.8.src.tar.xz.sig 566 BLAKE2B 85beedfcff1195a974fab2c667b9efd4b715b3480c1b44b1b887fe32c69f72aca0d3b8fb276c03b6cc5a866622f669047aeee5ccb976640b4008ccd31dce77a4 SHA512 d74369bdb4d1b82775161ea53c9c5f3a23ce810f4df5ff617123023f9d8ce720e7d6ecc9e17f8ebd39fd9e7a9de79560abdf2ffe73bcb907a43148d43665d619
DIST llvm-project-814ac2e3735e52c1162ac495c24158e0ac256520.tar.gz 237400805 BLAKE2B 59cbf2f7f5c3c1c2c187c72a40b94b05b2d3286678f78764bc7555d75ead40d2fd60b1807bbe6470f012a5958d0466b1f6b2bc842bba36731e7697a79307532b SHA512 63f31f28b7f01b840d88bfa3ffc4107ccffc623b26c7d0dc3e720a864ce7ca907dcbdcfaec7e31a1711220528a89175334518711a83824c82389343c2e4008d7
DIST llvm-project-e34e02128ec5eb89e36a8f0f7307dcbcfecabbee.tar.gz 238210997 BLAKE2B 80ce4689e3c71a413e36645cdc83590f3492ac3ee39b8bf8844ec50d0b68f40da4c19a7f284625e3550eb78a90d433e74092b5639bcebadf0e0220c36b111cb3 SHA512 5c1ab21b242d1ba62172ae6268a126fd1b049f85b039434b4ff28b0411ec60d46e96e05560b9b85d0420494afdd573b4043999cb34ace508a48f763d4eb5b7aa
diff --git a/dev-python/lit/lit-20.1.8.ebuild b/dev-python/lit/lit-20.1.8.ebuild
new file mode 100644
index 000000000000..2c41baf16b31
--- /dev/null
+++ b/dev-python/lit/lit-20.1.8.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1 llvm.org
+
+DESCRIPTION="A stand-alone install of the LLVM suite testing tool"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# Tests require 'FileCheck' and 'not' utilities (from llvm)
+BDEPEND="
+ test? (
+ dev-python/psutil[${PYTHON_USEDEP}]
+ llvm-core/llvm
+ )
+"
+
+LLVM_COMPONENTS=( llvm/utils/lit )
+llvm.org_set_globals
+
+# TODO: move the manpage generation here (from llvm-core/llvm)
+
+src_prepare() {
+ # flaky test
+ # https://github.com/llvm/llvm-project/issues/72022
+ rm tests/progress-bar.py || die
+
+ cd "${WORKDIR}" || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x LIT_PRESERVES_TMP=1
+ local litflags=$(get_lit_flags)
+ ./lit.py ${litflags//;/ } tests || die
+}
diff --git a/dev-python/pbs-installer/Manifest b/dev-python/pbs-installer/Manifest
index 1a8040ac077d..bade4d860d71 100644
--- a/dev-python/pbs-installer/Manifest
+++ b/dev-python/pbs-installer/Manifest
@@ -1,2 +1,2 @@
-DIST pbs-installer-2025.06.30.gh.tar.gz 90780 BLAKE2B f6ab4645b02842727d8cb40c748919ee57debff29806fb5e73587a6e5873b4c58233eb07a7c722626f4b2c8841fb53f13fe9b8b629ff24efc11b13b4e012881c SHA512 d790533534ceb49ec2b2e076f5a71911cacf2021410d3e4073261350bec1500885c65e5c75259e08424970e340f1258bb394ee3e28b0e827deea18aecfb08125
DIST pbs-installer-2025.07.02.gh.tar.gz 90802 BLAKE2B c92e28fbf2b28c6cb11803a898a3b18225cc8d2a5ff7ddf21b0e51fe1301ad46a0694e1cf4cccb0fc7234637aaacb6e1c19f0915f977565d2a46c7b08b695f16 SHA512 d03ec1f0ec446ce1d7d27566141ac4575cce803f2372be9eb6da61963e4f7f2a07ee88a544ca6362d0f6599f510841d7a36d3faa75fbb0a61c7486bfe3a71b61
+DIST pbs-installer-2025.07.08.gh.tar.gz 91062 BLAKE2B 57ad3032247b8e625662e905703dad092fd3f3395ddf0de02cf630a6edd0b2fa74c190766c87105047e92b71162c404088ea20c0d452e340a5d1a5b264a7114e SHA512 8899d96793c6c1ab3c540ca60c57c59298baca6793aa2af7243f5866e0936f7e0d269f049f541ea3d97eca307809c7e6122af0409bf4e09ba800da2ace81cc07
diff --git a/dev-python/pbs-installer/pbs-installer-2025.06.30.ebuild b/dev-python/pbs-installer/pbs-installer-2025.07.08.ebuild
index 272948979211..272948979211 100644
--- a/dev-python/pbs-installer/pbs-installer-2025.06.30.ebuild
+++ b/dev-python/pbs-installer/pbs-installer-2025.07.08.ebuild
diff --git a/dev-python/trimesh/Manifest b/dev-python/trimesh/Manifest
index aeab0b1d88b8..135de175e8d6 100644
--- a/dev-python/trimesh/Manifest
+++ b/dev-python/trimesh/Manifest
@@ -1,2 +1,3 @@
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
+DIST trimesh-4.7.0.gh.tar.gz 13638727 BLAKE2B 43ef73a3fc095e1b918280b391dab02b6e1251b15f799df8070d6ce2c9f8ef763e3843474b81dae42346bf2857e8111060872b692ed1520e95931f82653e42ed SHA512 059e7a8d503144d686b4d669e9dee267387a6235cd0db93ce78127c129da28e3477ff9cc9cb3af672bbbb4ec396de823c5d07a7fd54b526be5a9ceb843ed86c0
diff --git a/dev-python/trimesh/trimesh-4.7.0.ebuild b/dev-python/trimesh/trimesh-4.7.0.ebuild
new file mode 100644
index 000000000000..c2dcc3343c6b
--- /dev/null
+++ b/dev-python/trimesh/trimesh-4.7.0.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 6aa4498f4c92..1097e5ba3010 100644
--- a/dev-python/uv-build/Manifest
+++ b/dev-python/uv-build/Manifest
@@ -1,2 +1,3 @@
DIST uv_build-0.7.13.tar.gz 310547 BLAKE2B 37a07d3aae9e5c1a1d8c187157473ab4c0bc65779751d2848c2d46228cef9ccb1b7e040f3330f3660b163a5fbf84acbd2433371d7d05014e53716297762bfe24 SHA512 44026e1139c95d082871a93d7d456684b07aa0b8f34609aabf1b7a74a81431a6811973e141cdc98c377b65e06b8ed56c6ca2393688132b6813363a00e622a911
DIST uv_build-0.7.19.tar.gz 311467 BLAKE2B a7e85c3bbaee786ed9729b1331e5506eeb95d4ee875502814555956611449501f6b1c62284945640a2ce95f225a1b1c151b47d17c0d303599fe69bffc4ab8e5c SHA512 c3bc554dd9d86bfdb1e9ebf042d8c00987a790da9d386eb371dcc1bc7cd1c0000ae69a4d1e5f1759ed723d78eed73a461bae26d5047bdb0c0bb75f450fdc009a
+DIST uv_build-0.7.20.tar.gz 312893 BLAKE2B 0d675422d95cebebb25241b2d09568d7ca978c7598c5148841abbc228980d0bdd4ef6af977e4258e438474311d3ad13fdecb6c213b21bb4022d4b986ffc69cbd SHA512 bc2ef4f11af2c35e442b8ebc9c0edd0354924007d5d5151a6d3509c827fa3cc0702d372cc2129d4ebe3b98187c151cd30833f15a9cf59955901fcd6209f169b0
diff --git a/dev-python/uv-build/uv-build-0.7.20.ebuild b/dev-python/uv-build/uv-build-0.7.20.ebuild
new file mode 100644
index 000000000000..6156796bc3d2
--- /dev/null
+++ b/dev-python/uv-build/uv-build-0.7.20.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 131e91c5e974..4fb5e9b85f67 100644
--- a/dev-python/uv/Manifest
+++ b/dev-python/uv/Manifest
@@ -6,3 +6,5 @@ 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.19-crates.tar.xz 58207040 BLAKE2B 0e8761c020d5931f3ed134482fac5130b27e5e8f4a713faef225264f8f4d4a734fa6ce4a1ba97c771890ebf71549c7f6e1fe2353c6e763a60081393135091049 SHA512 1264bf6604f41902367e570615e5663850c3264753f100e3dee92be7bb83e3f9a4455727dbfdaa09ec736570d99ddf342bffed14e1ae65ddc4e362a9217d28c5
DIST uv-0.7.19.gh.tar.gz 4120134 BLAKE2B 39fc4a5e9ac753f3bd328f715ca8e3e06177ffefda73eff41e565bd58e4d0c48e2f89d5e887f8efab4de73d1d51cd37c3de106d7b29e5bd2d496e993a05d078d SHA512 c86cd70422a4ac2eb549258c1ab763e12b8cc32afb30a4ca7ec926f7b40b352468c3bf9fddb14fcf4e3c043be088211c37ee43d384d5651ca39922de927a1372
+DIST uv-0.7.20-crates.tar.xz 58360308 BLAKE2B c363158cbc522420e5314017151aab27e9a839dc7cf5aa03a7388637f40ef8e1fe6a12d32a26b42c245a7ea0528be52985b8f4dd0a293dc8ceadd07a50be2b0b SHA512 928f94a44b0f81797e6a522b0530bf176107e56b5499aecfa27820696801d7b54f68bb55caa41e31c0696b4f648ea74103f6de1d29c469d13f56b34c708636c1
+DIST uv-0.7.20.gh.tar.gz 4127300 BLAKE2B ec33a3d112e15508a7f98f7824885bc9319f0ac6197eabbc6f2b16bcb3c1efcd71f5599947c0f79060cdb95e824b783f0b69da0161a2b8cde8fc35d4aaf7263b SHA512 5a99b6fc216cf0c25865832f630487ead61a7ec313416151a7aa43c4aba08d653b8e198d537d59b6f42f30d494a3c5025fc87f96f28402f69a3a01d00c2036c2
diff --git a/dev-python/uv/uv-0.7.20.ebuild b/dev-python/uv/uv-0.7.20.ebuild
new file mode 100644
index 000000000000..1cec841d381f
--- /dev/null
+++ b/dev-python/uv/uv-0.7.20.ebuild
@@ -0,0 +1,184 @@
+# 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
+ CDLA-Permissive-2.0 ISC MIT MPL-2.0 Unicode-3.0 Unicode-DFS-2016
+ ZLIB
+"
+# ring crate
+LICENSE+=" openssl"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="test"
+PROPERTIES="test_network"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/xz-utils:=
+ app-arch/zstd:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ test? (
+ dev-lang/python:3.9
+ dev-lang/python:3.10
+ dev-lang/python:3.11
+ dev-lang/python:3.12
+ dev-lang/python:3.13
+ !!~dev-python/uv-0.5.0
+ )
+"
+
+QA_FLAGS_IGNORED="usr/bin/.*"
+
+check_space() {
+ local CHECKREQS_DISK_BUILD=3G
+ use debug && CHECKREQS_DISK_BUILD=9G
+ check-reqs_pkg_setup
+}
+
+pkg_pretend() {
+ check_space
+}
+
+pkg_setup() {
+ check_space
+ rust_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # replace upstream crate substitution with our crate substitution, sigh
+ local pkg
+ for pkg in reqwest-middleware reqwest-retry; do
+ local dep=$(grep "^${pkg}" "${ECARGO_HOME}"/config.toml || die)
+ sed -i -e "/\[patch\.crates-io\]/,\$s;^${pkg}.*$;${dep};" Cargo.toml || die
+ done
+
+ # force thin lto, makes build much faster and less memory hungry
+ # (i.e. makes it possible to actually build uv on 32-bit PPC)
+ sed -i -e '/lto/s:fat:thin:' Cargo.toml || die
+
+ # enable system libraries where supported
+ export ZSTD_SYS_USE_PKG_CONFIG=1
+ # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys?
+
+ # remove unbundled sources, just in case
+ find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die
+
+ # bzip2-sys requires a pkg-config file
+ # https://github.com/alexcrichton/bzip2-rs/issues/104
+ mkdir "${T}/pkg-config" || die
+ export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}}
+ cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die
+ Name: bzip2
+ Version: 9999
+ Description:
+ Libs: -lbz2
+ EOF
+}
+
+src_configure() {
+ local myfeatures=(
+ git
+ pypi
+ python
+ )
+
+ cargo_src_configure --no-default-features
+}
+
+src_compile() {
+ cd crates/uv || die
+ cargo_src_compile
+}
+
+src_test() {
+ # work around https://github.com/astral-sh/uv/issues/4376
+ local -x PATH=${BROOT}/usr/lib/python-exec/python3.12:${PATH}
+ local -x COLUMNS=100
+ local -x PYTHONDONTWRITEBYTECODE=
+ # fix tests failing because of our config
+ local -x XDG_CONFIG_DIRS=${T}
+
+ cd crates/uv || die
+ cargo_src_test --no-fail-fast
+}
+
+src_install() {
+ cd crates/uv || die
+ cargo_src_install
+
+ insinto /etc/xdg/uv
+ newins - uv.toml <<-EOF || die
+ # These defaults match Fedora, see:
+ # https://src.fedoraproject.org/rpms/uv/pull-request/18
+
+ # By default ("automatic"), uv downloads missing Python versions
+ # automatically and keeps them in the user's home directory.
+ # Disable that to make downloading opt-in, and especially
+ # to avoid unnecessarily fetching custom Python when the distro
+ # package would be preferable. Python builds can still be
+ # downloaded manually via "uv python install".
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-downloads
+ python-downloads = "manual"
+
+ # By default ("managed"), uv always prefers self-installed
+ # Python versions over the system Python, independently
+ # of versions. Since we generally expect users to use that
+ # to install old Python versions not in ::gentoo anymore,
+ # this effectively means that uv would end up preferring very
+ # old Python versions over the newer ones that are provided
+ # by the system. Default to using the system versions to avoid
+ # this counter-intuitive behavior.
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-preference
+ python-preference = "system"
+ EOF
+}