summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-06-29 19:07:16 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-06-29 19:07:16 +0000
commitcacee594166689eadeedcfb42dffe30845630de8 (patch)
treedb9bd1258eacd09822fb0631fbb9bc37a574cbe8 /dev-python
parent0aafc3e22403930eea999ce9487b15f134e9680a (diff)
downloadbaldeagleos-repo-cacee594166689eadeedcfb42dffe30845630de8.tar.gz
baldeagleos-repo-cacee594166689eadeedcfb42dffe30845630de8.tar.xz
baldeagleos-repo-cacee594166689eadeedcfb42dffe30845630de8.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/pypdf/Manifest1
-rw-r--r--dev-python/pypdf/pypdf-5.7.0.ebuild51
-rw-r--r--dev-python/uv-build/Manifest1
-rw-r--r--dev-python/uv-build/uv-build-0.7.17.ebuild99
-rw-r--r--dev-python/uv/Manifest2
-rw-r--r--dev-python/uv/uv-0.7.17.ebuild183
6 files changed, 337 insertions, 0 deletions
diff --git a/dev-python/pypdf/Manifest b/dev-python/pypdf/Manifest
index 1d7e12034a16..0bdea78f1c3b 100644
--- a/dev-python/pypdf/Manifest
+++ b/dev-python/pypdf/Manifest
@@ -1,4 +1,5 @@
DIST pypdf-5.5.0.gh.tar.gz 8057519 BLAKE2B 4088f1332e7f34d796db899e500729ccabc427e4bbd3fb1d7dd75d3883c546cc2b5facb95e6e54bd9f62367e1fc2a0e208d97bf6e3abc3f3ff2d64a5fe8435b0 SHA512 7e0592395ea673429fadf8308f26209408e1a4931d2544a4497e02e2b222635eb97dd11f0696021e776d0c481d0febd2f9186e0812f70f248e657d4aa1bfc0e7
DIST pypdf-5.6.0.gh.tar.gz 8060171 BLAKE2B 96bc7df04d5bc0de1c40e09e40e2e672fedf44ad46a641d4646f7b0d134bef468dac85ac4de3e69f31208f80f74b878fd39140602772c8e6bf3899ca528f4822 SHA512 e82618b67e0f06d12305a66dfa03dcee438e8a231f2ac2a2d06dbb1f6b0b046e033febbf98688f47f770a29a03768989cd0b506ad14e7c93ec25bc4e542b49d0
DIST pypdf-5.6.1.gh.tar.gz 8061244 BLAKE2B ce7aaf9e42fe9be23cd34d293cd13aeb26a34885f9934177faad52ab9e0c98065e9c77f95175429ae05a1e7b46d4b4c2bcede209e944ba671e3f097f30b51bb0 SHA512 0abfe61c240c66ba20c1f1714d02aa2d0f1d235c2ba878ac3641a585093af82ebbb925ce7df73d4649d249ba3ef48ace64b480083f669c161319bf24c1030a6a
+DIST pypdf-5.7.0.gh.tar.gz 8064655 BLAKE2B 07136de7c9b13a61b2b7e971d06424bcb990e249f4a0298cedaaeba7034c5ef17c003e2e2662e4a7ca30213f334f34e7e4da2beb28c6f24350ca3f924bcdc3be SHA512 b112237b5f65c01be7613564f551ec8923813c379514df6a6340327be3d764e1bc000b928c3f1083e74a3d19b73ea39b46958b5ff5bd53f370161593c2cc7b56
DIST pypdf-sample-files-8c405ece5eff12396a34a1fae3276132002e1753.gh.tar.gz 11748093 BLAKE2B c5989200893b28a3c2062bb024a5cfc6f3389dc259ec129857979fa43469e1274559612b4d555499e2c7e16cf34be07825229932bf4d147fa6d7324d043e97d5 SHA512 c9771129b7668a2fd1fa79bb859ae9213f3d60341cf1b9937ff0eaab0de9bf4c35adcb7b896e93329038dc0f3809a0c697c523f8fe41b43030b0b029a88058e3
diff --git a/dev-python/pypdf/pypdf-5.7.0.ebuild b/dev-python/pypdf/pypdf-5.7.0.ebuild
new file mode 100644
index 000000000000..299c6c601006
--- /dev/null
+++ b/dev-python/pypdf/pypdf-5.7.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1
+
+SAMPLE_COMMIT=8c405ece5eff12396a34a1fae3276132002e1753
+DESCRIPTION="Python library to work with PDF files"
+HOMEPAGE="
+ https://pypi.org/project/pypdf/
+ https://github.com/py-pdf/pypdf/
+"
+SRC_URI="
+ https://github.com/py-pdf/pypdf/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ test? (
+ https://github.com/py-pdf/sample-files/archive/${SAMPLE_COMMIT}.tar.gz
+ -> ${PN}-sample-files-${SAMPLE_COMMIT}.gh.tar.gz
+ )
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ >=dev-python/pillow-8.0.0[jpeg,jpeg2k,tiff,zlib,${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_unpack() {
+ default
+ if use test; then
+ mv "sample-files-${SAMPLE_COMMIT}"/* "${S}"/sample-files/ || die
+ fi
+}
+
+python_test() {
+ epytest -o addopts= -m "not enable_socket"
+}
diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest
index c982c3a0acac..0f753b1ddada 100644
--- a/dev-python/uv-build/Manifest
+++ b/dev-python/uv-build/Manifest
@@ -4,5 +4,6 @@ DIST uv_build-0.7.12.tar.gz 309677 BLAKE2B 8d238e0be4d67e2c38310d47634b60912423b
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.17.tar.gz 309375 BLAKE2B 633c0e4a325a674aa46cc263cb8dbd653268d8dd61fff41dc022ddd13f35046bee3fb055c778a25a88b147e23d7fc41ede2a73d906819de97a1e911e00b258ef SHA512 433484666d7734a5086556a0f0eff92e7b6e1a0b16eda9b08e58fa7b2f97c15f30701d060f797ada4d0d0b9707a90914f661fc50cfba9fedcf32c01289184d9d
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.17.ebuild b/dev-python/uv-build/uv-build-0.7.17.ebuild
new file mode 100644
index 000000000000..6156796bc3d2
--- /dev/null
+++ b/dev-python/uv-build/uv-build-0.7.17.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 e2965e501015..d667d9b3b113 100644
--- a/dev-python/uv/Manifest
+++ b/dev-python/uv/Manifest
@@ -15,6 +15,8 @@ DIST uv-0.7.15-crates.tar.xz 58052104 BLAKE2B 95a97abf28acd579fd796c71e664233fae
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.17-crates.tar.xz 58052104 BLAKE2B 95a97abf28acd579fd796c71e664233fae6b05855c27967d679e1681e21e79fa40e16ee08aff1b9ac712abd38c0f1da4487d3102af9147dec631eecedf6fddb4 SHA512 d37b1c91e591a074f99e1dcdbab08833d2c49f30cf190d50fa640a89c2ebb7b21253b2f14eb23afdba6c9d5cf27ef9af921a42085563ec542b548a105721706a
+DIST uv-0.7.17.gh.tar.gz 4105381 BLAKE2B 1f83651b8a844812acc27742571855b84d017bdc823073b38f2b5b4b5996b8ca6fe3fd029e0dbc620dcf0d3f9edf4ca8324ba1b2c0d57385d27af241a59fb66a SHA512 e26ecd29fc52b68fe01d396424d8fd48666396001a4b4a1f9a384a8cfb83e029f5003db9910227f7fbe4462e037f12a746cda8859006e73cd7a22b082e8008e0
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.17.ebuild b/dev-python/uv/uv-0.7.17.ebuild
new file mode 100644
index 000000000000..14f6f1ae7451
--- /dev/null
+++ b/dev-python/uv/uv-0.7.17.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
+}