diff options
Diffstat (limited to 'dev-python/uv')
-rw-r--r-- | dev-python/uv/Manifest | 3 | ||||
-rw-r--r-- | dev-python/uv/uv-0.6.13.ebuild | 170 |
2 files changed, 173 insertions, 0 deletions
diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest index 42a656c3b387..c798ba147fa9 100644 --- a/dev-python/uv/Manifest +++ b/dev-python/uv/Manifest @@ -6,6 +6,8 @@ DIST uv-0.6.10.gh.tar.gz 3816981 BLAKE2B 2f1ba71073a5714428120376fdafd3c37e40b45 DIST uv-0.6.11.gh.tar.gz 3824564 BLAKE2B 504a910fc94dc1ddffc5ba97a131c0647148fd8b67eddaa8254a8cf272e22c463f2529c1452b1b97a67381bcac145dd1b1883473cbcb7ce4df021773e2a32997 SHA512 4cad1246de2e8767394b89448e009a0c51a2e2d95c3eaac2c2ed76a03951fd539cefb38d2e61dc9ed0cc709c1a21a9221bb0437d1862d0d2a389977e19072835 DIST uv-0.6.12-crates.tar.xz 58030004 BLAKE2B 6449a03e575e6635908cc55b5b3e08f83d380c278d73185f48a335cbad3515bafe0a28a72716dad0853428955ce35a195ad3810399cb7c205227ef1c442cdcea SHA512 31d768c787c3572be0c7a482b2db6d5ee3213f2a4e2b33651b564c90f107cce044a3abfff0ede8db3be6d530b602f20a9d0bc820b16f2ef0fa07f5cd52ba2d76 DIST uv-0.6.12.gh.tar.gz 3828283 BLAKE2B ccec04082014785efb43e05395caf2d8dfe783791da739a15644541ed98984dec297c9f6ccca95ffffd50102568b4b17807f7b4503749076d55eac3007c82fac SHA512 c61476e1229d7ac9d9cd00308afde31f7acad469e2f69b3131b7723495c8a5bbac5cf545c0d657048433411ad706f96aa2296bcb3c1b6ff3cb5d0f18e786a4d5 +DIST uv-0.6.13-crates.tar.xz 58045788 BLAKE2B 38f925444077274bbe412258997e3c67065da8f673de1644f8f533d1941adec78672291cf5467ebc836cd19b663a82a9b62e3724e69d46dd5e67e411af7db388 SHA512 82396f59b382f82e924893047cf16db7762fdc7bca947f7c8a572bb470537b55af05c2a735caf570048853265012111666ee0368a86d09a17576e7f3f86ab5cd +DIST uv-0.6.13.gh.tar.gz 3830359 BLAKE2B 1922c2f7fe2f6273a9518deb82fa909c6271aff87311a799217d08c3413dc19ac8ab8f259338ffc4f4448e3ba52b07ff40fa136e11dea85371f019b18b6a07ec SHA512 49e629a291f4aaf6ac96e994f22fe4370dee6e21d6317a4b1d28eaddb5f34b838ce19707eb22da7b9b16445d19f32a74631301a1feb53b336a8a275ee3f1e1bf DIST uv-0.6.4-crates.tar.xz 60120880 BLAKE2B 67e7cba1df7e8c18e55d7d1a5748db7995c19a8bc4d156b5cdcf8d6af3922ea52279e2351085fd2142806f6692383535dec1d8354c5197d3ed032f768c552dbc SHA512 0f13d3e6e77397ef2db40122736fe4d990003388dc2f2f782b9aea317fb30f30cbb35b1d800b252e84f239fd570208df55f281432e91e546b5edcf82b9a2b68e DIST uv-0.6.5.gh.tar.gz 3782938 BLAKE2B 82528fbd5c65cc07dd4ba647dd86d81673370afe8568690601e54faa54ad0ffa42db375b63580b0ae67f1fda67a66f54d990ce97704c614e80bf54666ed3e11e SHA512 cb1564905d56ac5873db91476b9a0a09e450c2cfaf386d9d04b1861d1e798ec43d7f28e03099d732e03cc58f79820a7f825d7d8869b40f71fab4308412e401b5 DIST uv-0.6.6-crates.tar.xz 60230976 BLAKE2B 9b0dcb0d8246fc275f5b508c48661f0844622ee9280b9000e0131e6101d548b92f983502fa21070fd41aa20854aa0931b3a5be13fc96def5bafab6d0eebe943f SHA512 b1925417eb34135e9e9d92a8d832055cd3677142ac9e7369d9e1f64ceba02632914c6ddc669257a5d75dd27b8cea4612db2bb295d2b747a74e169a8e23fc5a6b @@ -18,6 +20,7 @@ DIST uv-0.6.9.gh.tar.gz 3805843 BLAKE2B 6ea1ba8ea68542896e6c076cc05548bbb2ce8c2a EBUILD uv-0.6.10.ebuild 4384 BLAKE2B 3d26f9d96f38f2db84e43376d1a8251911ffe19a58d05d81cdaba8e1928cf3ca354bcd6fba45b517e422368d6ab17f13bb508f112e80c80396ca9c31bf158c17 SHA512 90b32eef65c5f93a386f444abe2804e0d7669a2b1cdb7b6c2aaef40c3625471a20a5129688df326782b2fa359dcd00c1409d96bf7eda576851346dcb770bc828 EBUILD uv-0.6.11.ebuild 4384 BLAKE2B 3d26f9d96f38f2db84e43376d1a8251911ffe19a58d05d81cdaba8e1928cf3ca354bcd6fba45b517e422368d6ab17f13bb508f112e80c80396ca9c31bf158c17 SHA512 90b32eef65c5f93a386f444abe2804e0d7669a2b1cdb7b6c2aaef40c3625471a20a5129688df326782b2fa359dcd00c1409d96bf7eda576851346dcb770bc828 EBUILD uv-0.6.12.ebuild 4383 BLAKE2B cf791584ad53431dc7eec7a8a7d0d18b84b03b6a5d08b6fb1c658fb8c767c3f8b82e1b39ef210a75b13f433b3ba8dddd7b0941769d096677468271acc9e54be3 SHA512 9c5e11c490c932cfc4dbd06d855a03a6b827fa834d5d65bbd179b0adba25bfab393c8d730308d5d656b9c19ba1d29ff7a517dec49cda5ff52a7bf485e5061028 +EBUILD uv-0.6.13.ebuild 4383 BLAKE2B cf791584ad53431dc7eec7a8a7d0d18b84b03b6a5d08b6fb1c658fb8c767c3f8b82e1b39ef210a75b13f433b3ba8dddd7b0941769d096677468271acc9e54be3 SHA512 9c5e11c490c932cfc4dbd06d855a03a6b827fa834d5d65bbd179b0adba25bfab393c8d730308d5d656b9c19ba1d29ff7a517dec49cda5ff52a7bf485e5061028 EBUILD uv-0.6.5.ebuild 4368 BLAKE2B 0a83803cb1e9a799c62708a4b6e47b99ee5b971b3eae031f1f7f252e478a45688c3900e54fdfb2f30fee4b29105ca4b161dc852cba12812b338ee0a36257e3ee SHA512 2f1fee356b1a2faa01a90751f8d9b651196e6312ee6e157bb096b48ceccdeeaad93b78b1d94f8a43d383744c0a2448b1325cdd97b97283bb420cf1580d4f4f88 EBUILD uv-0.6.6.ebuild 4373 BLAKE2B d3ad55fb8a18f2d6416186df692373bac1eeb19158ff86dc69dfb37c8ba2eaa98de16547a5075ba264ec515faf9fd84ac735e11a19a4c5947a96ed1e2418582a SHA512 b8afbb60bd276d35c9f6a263a74846026a9b42f62740bb04e3274eb879ff85129ea51e288aa0cabc5005d3df28fe255e9241d8b34a140430186e2543735a9a66 EBUILD uv-0.6.7.ebuild 4315 BLAKE2B 1884edd37b7a438bb3a519c3357cb06ca95f883cfc2f2782ee4b674db454a5ce15ea4d9b3d0f482457944775add9be8af939bbf3fdd5145a57b8e5261a9539c6 SHA512 690f7c91a8608e97eb1832da35e09dddf4023b6138d445f1d03fb696fd002fa618e1cd84fb1564ebd4b37974790b0dcc5582c383176830190980f23d88c9f9a7 diff --git a/dev-python/uv/uv-0.6.13.ebuild b/dev-python/uv/uv-0.6.13.ebuild new file mode 100644 index 000000000000..44cb91d40951 --- /dev/null +++ b/dev-python/uv/uv-0.6.13.ebuild @@ -0,0 +1,170 @@ +# 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;b70cf707aa43f21b32f3a61b8a0889b15032d5c4;pubgrub-%commit%' + [tl]='https://github.com/astral-sh/tl;6e25b2ee2513d75385101a8ff9f591ef51f314ec;tl-%commit%' + [version-ranges]='https://github.com/astral-sh/pubgrub;b70cf707aa43f21b32f3a61b8a0889b15032d5c4;pubgrub-%commit%/version-ranges' +) + +RUST_MIN_VER="1.83.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.8 + dev-lang/python:3.9 + dev-lang/python:3.10 + dev-lang/python:3.11 + dev-lang/python:3.12 + !!~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 + + # 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 +} |