From fe58381263b5cafd9c5259422329f86941f715dc Mon Sep 17 00:00:00 2001 From: Andreas Billmeier Date: Wed, 26 Jun 2024 17:02:16 +0200 Subject: [PATCH] dev-python/uv: add 0.1.43 Closes: https://git.edevau.net/onkelbeh/HomeAssistantRepository/issues/3527 Signed-off-by: Andreas Billmeier --- README.md | 6 +- dev-python/uv/Manifest | 6 + dev-python/uv/files/tokio-tar-0.3.1-ppc.patch | 35 +++++ dev-python/uv/files/uv-0.1.43-test.patch | 13 ++ dev-python/uv/uv-0.1.43.ebuild | 123 ++++++++++++++++++ 5 files changed, 180 insertions(+), 3 deletions(-) create mode 100644 dev-python/uv/files/tokio-tar-0.3.1-ppc.patch create mode 100644 dev-python/uv/files/uv-0.1.43-test.patch create mode 100644 dev-python/uv/uv-0.1.43.ebuild diff --git a/README.md b/README.md index 0f4d7fafc..b552c61a7 100644 --- a/README.md +++ b/README.md @@ -606,12 +606,12 @@ A daily compile test is run at Github with Python 3.9 to catch general faults. E ## Licenses This repository itself is released under GPL-3 (like most Gentoo repositories), all work on the depending components under the licenses they came from. Perhaps you came here because I filed an issue at your component about a bad or missing license. It is easy to [assign a license](https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/adding-a-license-to-a-repository). During cleanups and license investigations I have been asked often which license to choose. I am not a lawyer, but I can offer the following table, counted over this repository, perhaps this helps your decision. If a package has more than one license listed, all of them are counted. -There are 1949 Ebuilds in total, 1938 of them have in total 1961 (42 different) licenses assigned. +There are 1950 Ebuilds in total, 1939 of them have in total 1963 (42 different) licenses assigned. |License| Ebuilds using it| |-------|-----| -|MIT|1121| -|Apache-2.0|436| +|MIT|1122| +|Apache-2.0|437| |GPL-3|114| |BSD|111| |LGPL-3|25| diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest index 4be0f3b0c..ddda2b426 100644 --- a/dev-python/uv/Manifest +++ b/dev-python/uv/Manifest @@ -1,6 +1,12 @@ +AUX tokio-tar-0.3.1-ppc.patch 794 BLAKE2B 2c1188d96310710fabe8d248be01ab5e4d30aa02fe2b4f812a79a6c9440052178227534485122643bf4ed7f32ce3bfea289d78398c53229dd825eef44de6e164 SHA512 869d98ddd3eef7f8d9a7643ec5f93c73fed7bd4f1fb73b54a9e640293e831d24ca59bdd63377b07656ae706b5bf9833dd731b0537b43e8476d8cae0f3b8ab439 +AUX uv-0.1.43-test.patch 582 BLAKE2B 247c4d5e31ac12d5da4063d0b696a993f5bf4175886209930313ff507ba9bfaf638581c2f290dfa5adc85a3bb360705977ebdcb0adb6a6196f4fbda1a0cb630e SHA512 88fddad804d9f4b042c207802ed6d7dbdaa6ee974635219b49e37d0e4a56644ca81d23afad08dde6f7bf90f2d202947d615d53eda6bb499c8b06b4661e858988 +DIST pubgrub-0e684a874c9fb8f74738cd8875524c80e3d4820b.gh.tar.gz 86899 BLAKE2B 51b8753a092deda12a35b501f34c16e800f2ed2c4c47b64622c752bcf8a52dd1fb9dc1ee69cd107b5b6ee48003c8ef804e20f7eed975a6e63615b94648e37890 SHA512 15e404590fb3b21b01fac318df9cbf81f598dc0506d6d5738ff566a5eb1075e6d7a096a8ad1567e27982662aac0ce2a889a0039ce5736ff140fa617ae8b3cb08 DIST pubgrub-c26e485213e39582c6f2e4d45c0328422670e7a7.gh.tar.gz 86123 BLAKE2B 743bb61460903d276f467b23bb001313598b50cb54fd1a56bcadbc732dd606bafd48a2d9960add3424bd03222450b455f9f1bc8716a80933e5ed0cfb76dcc50a SHA512 9f9c8b58dd2ddeb3ed89abcd790641bd9b7b2cf4fc66dcc4d964a1b69d879adcdaf2775545631ca20f06a8ab5d6bc1df6b2eb272207d2642584c269b358f4d76 DIST rs-async-zip-1dcb40cfe1bf5325a6fd4bfcf9894db40241f585.gh.tar.gz 96766 BLAKE2B f9efab73c65394e33e090a6292875ebf35e6669b15c356f102eb109784a4503606ae39106cd0ebe3d7d479cb0b30806d7baaaebf22d826836a24f7ed49100934 SHA512 3b845b05d97c5ab5cea286a7c11846838b40bb1fac98a51782600849a53231be8fa205094c6bdd00f6e193c807b10b28f947698696382be99cae0a8d681dabdc DIST uv-0.1.35-crates.tar.xz 65640928 BLAKE2B 97135ce844dc7af3c424a9b8ea7419b4c392e44a87ab960e59401f0075308001287fc42acd9bc21b300fba3d73fa65e292b55e612b92db05cad183577866a7d8 SHA512 7d862992d2ea92acaa24758cb5425b3053941e1312db1f27ee318049ac68fcd64dc614ba7fa21521cdb9ad11545cc5e8dcc2a2781f0164297229f35768e0776e DIST uv-0.1.35.gh.tar.gz 1010370 BLAKE2B 0b07f4de6d07969d8721f94b3d21e2797b8425f26db5744f7ee2a90ed3769f3d8245552d8b8db6d8716e45dc88461a9543419191a4b71497019862860d76e728 SHA512 08f224b317d5aa3d9941ee0add791340f41a01e70d2a4e1e9b986e501d666a40e1a04bdeb2120e178bbedb2a91501e608d240a9ac56f509021d6377c278fbfcc +DIST uv-0.1.43-crates.tar.xz 58012188 BLAKE2B dd8ebb52d8ec9b21149047e0e4dcbd531b743feeefc8c7e8a9289b52474043e1ece0af1ea3e010d5b0a1cdbf57ac89664bc853ff776e800550175948a26c5e08 SHA512 5d5b8d7665af0a0a1920541c8310c772cdb5657a6ba62b8566ab09f8a38cc8a86a75ce7fddb4ea37be0b2e4511b2aba25e984efe4ce7bb11ff50ca072eb00277 +DIST uv-0.1.43.gh.tar.gz 1093053 BLAKE2B 7988799e9c978bce618ab66fd162a5995663f0da0d4f77fe0d8fb50bb1b535b8696d7fd4eb837e6b03703089aea883d0689d0e28bcda951655ee62bf92cfffd0 SHA512 3fd66d106fc09fdb616944a18dfeec33d0ecca5d985915b4efb09d77ceb0e3bff92577433c67d27ce3fb78cbc24ff8651639b5aceb6d39a72422481150a5adf3 EBUILD uv-0.1.35.ebuild 2081 BLAKE2B 4963b8a889e4ea56cf2da3b5b43630e8daec220f7fd168b27b7f6aaba058a13abbc6a43b2ead54a7da50ec8f8fa0b20eca1d17c68ba92c525dafddbf76e08661 SHA512 56e08f64189e7535fcc4345a463d11613e8625a61a3fe97fce1c4680addd99b48610172ab59d68d066f18a209937d55327ba9e7d022293ff50d064185547e806 +EBUILD uv-0.1.43.ebuild 2442 BLAKE2B 078944dc43e57a9443cb4d90274e78fe2d6e74564635feed8964f34c94eee4f4db446d2210fdf964eef289dcf01e77eacb774459ccab03670eedf46f3be2e0c2 SHA512 8e75e4921fc202d0f8908581a1e039d68b5bdc67b8da8995e68f87897e47531bf3b19e4e94c177d5edcb8f768f757b81bc9bf77075c680948c116b4f5aae64f2 MISC metadata.xml 504 BLAKE2B f43087a5a4260082dec646a48af4f73eaa230c40d0cfcb263f3eaf4099c0427b98e280a5cc41ab9a19cbd99f4b4dec026108b5c64219a84615e0b9bed2d1c0fa SHA512 e6d457668a50867fd7103d6c8e1b5c15ca4f5229fabb65412054ac5e76f17ebd772be30219f83fc70b561a3432f6d003efa216f4df1be4a343339e494bcb990a diff --git a/dev-python/uv/files/tokio-tar-0.3.1-ppc.patch b/dev-python/uv/files/tokio-tar-0.3.1-ppc.patch new file mode 100644 index 000000000..cb3c2f93c --- /dev/null +++ b/dev-python/uv/files/tokio-tar-0.3.1-ppc.patch @@ -0,0 +1,35 @@ +diff --git a/src/archive.rs b/src/archive.rs +index 63f4293..986a146 100644 +--- a/src/archive.rs ++++ b/src/archive.rs +@@ -3,12 +3,13 @@ use std::{ + collections::VecDeque, + path::Path, + pin::Pin, +- sync::{ +- atomic::{AtomicU64, Ordering}, +- Arc, +- }, ++ sync::Arc, + task::{Context, Poll}, + }; ++use portable_atomic::{ ++ AtomicU64, ++ Ordering, ++}; + use tokio::{ + io::{self, AsyncRead as Read, AsyncReadExt}, + sync::Mutex, +diff -dup a/Cargo.toml b/Cargo.toml +--- a/Cargo.toml 2024-04-27 10:39:21.186708179 +0200 ++++ b/Cargo.toml 2024-04-27 10:39:37.940402613 +0200 +@@ -43,6 +43,9 @@ version = "0.2" + [dependencies.futures-core] + version = "0.3" + ++[dependencies.portable-atomic] ++version = "1" ++ + [dependencies.tokio] + version = "1" + features = [ diff --git a/dev-python/uv/files/uv-0.1.43-test.patch b/dev-python/uv/files/uv-0.1.43-test.patch new file mode 100644 index 000000000..868f2d33d --- /dev/null +++ b/dev-python/uv/files/uv-0.1.43-test.patch @@ -0,0 +1,13 @@ +diff --git a/crates/uv/tests/pip_sync.rs b/crates/uv/tests/pip_sync.rs +index 86193b40..4069fd8e 100644 +--- a/crates/uv/tests/pip_sync.rs ++++ b/crates/uv/tests/pip_sync.rs +@@ -1455,7 +1455,7 @@ fn install_registry_source_dist_cached() -> Result<()> { + .collect() + } else { + // For some Linux distributions, like Gentoo, the number of files removed is different. +- [("Removed 614 files", "Removed 616 files")] ++ [("Removed 615 files", "Removed 617 files")] + .into_iter() + .chain(context.filters()) + .collect() diff --git a/dev-python/uv/uv-0.1.43.ebuild b/dev-python/uv/uv-0.1.43.ebuild new file mode 100644 index 000000000..961063c6f --- /dev/null +++ b/dev-python/uv/uv-0.1.43.ebuild @@ -0,0 +1,123 @@ +# Copyright 1999-2024 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;1dcb40cfe1bf5325a6fd4bfcf9894db40241f585;rs-async-zip-%commit%' + [pubgrub]='https://github.com/astral-sh/pubgrub;0e684a874c9fb8f74738cd8875524c80e3d4820b;pubgrub-%commit%' +) + +inherit cargo check-reqs + +CRATE_P=${P} +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://dev.gentoo.org/~mgorny/dist/${CRATE_P}-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 ISC MIT + MPL-2.0 Unicode-DFS-2016 +" +# ring crate +LICENSE+=" openssl" +SLOT="0" +KEYWORDS="amd64 arm arm64 x86" +IUSE="test" +RESTRICT="test" +PROPERTIES="test_network" + +DEPEND=" + dev-libs/libgit2:= +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + >=virtual/rust-1.77 + 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 + ) +" + +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 +} + +src_prepare() { + # https://github.com/astral-sh/uv/pull/3569 + eapply "${FILESDIR}/${P}-test.patch" + default + + # https://github.com/vorot93/tokio-tar/pull/23 + # (fortunately uv already depends on portable-atomic, so we don't + # have to fight Cargo.lock) + cd "${WORKDIR}/cargo_home/gentoo/tokio-tar-0.3.1" || die + eapply "${FILESDIR}/tokio-tar-0.3.1-ppc.patch" +} + +src_configure() { + local myfeatures=( + # from upstream defaults + flate2/zlib-ng + python + pypi + git + maturin + # skip tests that require specific patch version of the interpreter: + # python-patch + ) + + cargo_src_configure --no-default-features +} + +src_compile() { + cd crates/uv || die + cargo_src_compile +} + +src_test() { + cd crates/uv || die + cargo_src_test --no-fail-fast +} + +src_install() { + cd crates/uv || die + cargo_src_install +}