summaryrefslogtreecommitdiff
path: root/dev-python/uv
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/uv')
-rw-r--r--dev-python/uv/Manifest5
-rw-r--r--dev-python/uv/files/uv-0.1.28-skip-tests.patch144
-rw-r--r--dev-python/uv/uv-0.1.28.ebuild108
3 files changed, 257 insertions, 0 deletions
diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest
index 99f39270caf3..b0beecf1abfd 100644
--- a/dev-python/uv/Manifest
+++ b/dev-python/uv/Manifest
@@ -1,12 +1,17 @@
AUX uv-0.1.13-skip-tests.patch 2450 BLAKE2B ab33cab9edb39b4d675f219552b89d7dc4e187a3794628de88ea7274e0834193afcfdd25780f886f058cf1ac4b34311026233082018c78c1731f8a7b0203eb3a SHA512 3f0afac1a5c3aa9ae3c86a7479b458e750ab0e4ddf9179151c57cd7f8c3db9618b949a6a3371b9db0c0a0e15e4a7146468d77930be4122df0642b1ed52a9118d
AUX uv-0.1.24-skip-tests.patch 6070 BLAKE2B 10c111a2782bc0de45317dc4b6d7f7d66474aec38d61992a63686678a70685aa030acc2b96cb5cced70cf2b290e6f69cdb3e5c42464e04b937a9ef9cb2d7f9f7 SHA512 84fa60b254b3d14fbae337aceba1f34e9f4cd35e0d8da7e90c4ef75c81ccc5268dbfe3e46967ba05899af7862331cade50dcd4a364acd51fcb04a0923cbf7688
+AUX uv-0.1.28-skip-tests.patch 4946 BLAKE2B 30fe6a3545b771aa6bfb3db6ff6503375295e3b4315fc9bf504cb559e5f4c13c0f79ae3399e3207d5db79d3964f582995209cd71f0b13d1113a26949d33ce029 SHA512 e113acb04d6e192e4b08de5fe3c1b5802794c9ba981b6c2669cafefb08b98b12f0c483fc5925be0ad1fc0d7bb2446ffa7c56fa05c8024bd3091dfcb16683e5c8
DIST pubgrub-aab132a3d4d444dd8dd41d8c4e605abd69dacfe1.gh.tar.gz 73856 BLAKE2B 9e30babd5159de0f80a69de082e990cade3768a4f62c64ecec46253b1c8a3da56a61d096f0cd2e74da436cbabb444c5acbfe27cc55160a5c0c99205c0317612a SHA512 f49c63df7394fcd4ce6a616e3c8d7893274f4bbe4d451f3fb46eed80a3e03eb345818c5ff87e9d3ac23c80ea7ffee5de01237a5dfff40f740f88a6d61eab5f81
+DIST pubgrub-c26e485213e39582c6f2e4d45c0328422670e7a7.gh.tar.gz 86123 BLAKE2B 743bb61460903d276f467b23bb001313598b50cb54fd1a56bcadbc732dd606bafd48a2d9960add3424bd03222450b455f9f1bc8716a80933e5ed0cfb76dcc50a SHA512 9f9c8b58dd2ddeb3ed89abcd790641bd9b7b2cf4fc66dcc4d964a1b69d879adcdaf2775545631ca20f06a8ab5d6bc1df6b2eb272207d2642584c269b358f4d76
DIST pubgrub-e981e4dfe315582e84e2fd724832fb0e0c50b7aa.gh.tar.gz 76914 BLAKE2B e7039f3b2fdc2a702f4824ff99acba9549e916c211290b79ec710060369b2c76e518c210c109103bf5ba50cbb373d0a4e3185df09935d7e47241ec25da259776 SHA512 94cfc88b6736ffd78bcbcc3f4cd9940d27c902bf2dfca38dddb470b8a6a0bb3a8e4a61dd1b2654e49327c9386c3ac2a7f090f9a6c2426b19ecf00d9f9716d400
DIST rs-async-zip-d76801da0943de985254fc6255c0e476b57c5836.gh.tar.gz 95906 BLAKE2B a5a0e4d20926d637cbfa25cb486580de6682365c588a9653c873622424ec28ac8c7380d1c99ec260cd342b214aacd5124b51fc5e5646f15f76db4148aada2f41 SHA512 dd5b61bfc913a94822d74f1dac3b30f7a3979a641c3b08ccb5fa84cfbb2bfd8c0f807a30cc4ae0abfe5df7079011c20e1f8a642fd439ce6ba2c404ddee06baf5
DIST uv-0.1.13-crates.tar.xz 47903460 BLAKE2B da7a2f023054197820cd1bcd13c6e4ff6d4c4bc4780fa109b2c5b796830333f21bc4c7f426052f7ed31a6c02f4e28694cfd94b1aa9d3044ebde49570e565c04b SHA512 cce73590c12a082fed36092bada42b878437cc44137f47c47b4e0e6fae214295867fbda90576d8ed47b025d873dc5655ab74c9914d6ccbaf6cea994b793800d5
DIST uv-0.1.13.gh.tar.gz 1860446 BLAKE2B e5c209e11ea10a0aa8a88d4d40b40fe84cdd764cab1e852b49a52d8ff8749aac59d62234626fa768e6b1c304ee7b7a54cf99f5af4ecf21b368a1b521a8f903df SHA512 dc00cc26bc3b8e30edcc619bd49ff44962180623be8d1e2d7dc7c2b1c29969c8b393eda31b1392d90f0d72c15f2cb19af489e1e44f857225e461393c4b4b96c1
DIST uv-0.1.24-crates.tar.xz 64420840 BLAKE2B 7324461092a07c86aadaddf051aaa7454ec08085940f34d07d8a8dc7171abcbf94409df5cd8afd71f1022adb2e76c0aeb1eabe9190598cad4d06e390ccd612f4 SHA512 6701a768a8a1d48ac43038e5161b578b684abed1c2055cc4b7fb5656ec40118287893ee2674b7161292ce7c3e4c062c32ff0038f1548c8f79f4df473d8d26f30
DIST uv-0.1.24.gh.tar.gz 899637 BLAKE2B fab26ba9934fc5f586505b5ac1fa386c11f07e51ca2bb2a79f46d5dec9475ba8d75ad8587223d5149df5f2a225146d020a49b7ff81ed26b949cff55892738c2d SHA512 520b47a096b50fce9e7b7af5bca203df9bf4c2d0aafbe28a3dcfe0592d8ddcaa7b58d52300c67454f6aeecfd196f1592be18e45c95b7c67257361917cdb0154d
+DIST uv-0.1.28-crates.tar.xz 64374368 BLAKE2B 6eceb9eba6d746007eb983ae704fc96496e29e86d219af19af01cafdb230bf2e5f572d07fac2ee5cdb42e5e553dbc266233425084acd98d73039a761c5e2907e SHA512 0966ece30f0ac1111ac6eb0d3f5aeea3a3a443962e0a477c66b62dae09374f1dccf1a0ac355d5c684e76759f64b6921ed192de8d0363682d0aafe1de31c019be
+DIST uv-0.1.28.gh.tar.gz 925800 BLAKE2B 5e30573a198057261fe7716dc6dc5d8b7bd8700fabc4f061129d5e15475eeee96ea6424fc7321425348103796a2a6278118cc1c3399f8c3858c3816450e068c7 SHA512 3de0df5ca3c69bedc30d20c199251060a35d82ede8fa9f7f4907eee8e0bd55c7f10fbee0e870e1145c88c8526ab4729af4be393bc2a6508fa008050691ccf06a
EBUILD uv-0.1.13-r1.ebuild 2130 BLAKE2B 136f4c90c5d9efcac30138a7ac8f7a877dbbd22f2cf3934172ea6ad73e5d4965665b891f8ae077bf38bb3d021e2359f0961a5d0dfcecda66cccabe69e4ff8726 SHA512 798c04eb2d7b14f6e874e3d2108c3373acc5f8ea0a4845edbff5764056b5452de179734b90d90c21116adfc674c68470535ee30c005066c5a95658e9e7c7efdc
EBUILD uv-0.1.24.ebuild 2164 BLAKE2B 3caf382115984e87a0f44b5e8f619f38b3a7503ac12738519d0edff253eafbc7474924aa1997e332738ffe316da40dd199b906b1c560f1a00a53c805a39edc75 SHA512 c0c83640c43d073a1447228993e8384eee6a4adf73760d651456899ba285d25cc83f0611f6196123125f94fa9fa5d85710308ccf603e7261a699efc2f927dad7
+EBUILD uv-0.1.28.ebuild 2185 BLAKE2B 5ad599759fa0037c3ccda31e9b63ba4fd921f3522cf1c3aba385fd23a4e6934fef32a9d6ce068c92b8e6e7233b88eb002e4f34579972b060c033f4fcfcf8b810 SHA512 dba1761d3ede84d82e0b372deb33315389e4961bfc51c52d1c9fb4d7a90db09ef82080976439edd4708142abbf64793cf9029bad6b39746ba92334869e2e588b
MISC metadata.xml 336 BLAKE2B 4b5933e24e3e9450dde5da099185dcdf3afb5916b55cffa7c2f3f6fac77e439197cbe4ba529a87f83442d8f87d238e8abef06dc052ce9a62659060ffea9fdb47 SHA512 9910fd10ebbc395b9c330774b74798c9ffdba3bb368347658380a22e01d6dc9d1961ea50fbfb4a904c9db84b94c713c054e418a7294425b86ff41a607fd3e310
diff --git a/dev-python/uv/files/uv-0.1.28-skip-tests.patch b/dev-python/uv/files/uv-0.1.28-skip-tests.patch
new file mode 100644
index 000000000000..037ac6addb99
--- /dev/null
+++ b/dev-python/uv/files/uv-0.1.28-skip-tests.patch
@@ -0,0 +1,144 @@
+diff --git a/crates/uv/tests/pip_compile.rs b/crates/uv/tests/pip_compile.rs
+index 281c8b7f..19df83c2 100644
+--- a/crates/uv/tests/pip_compile.rs
++++ b/crates/uv/tests/pip_compile.rs
+@@ -5509,3 +5509,2 @@ fn expand_env_var_requirements_txt() -> Result<()> {
+ /// Raise an error when an editable's `Requires-Python` constraint is not met.
+-#[test]
+ fn requires_python_editable() -> Result<()> {
+@@ -5763,3 +5762,2 @@ fn no_stream() -> Result<()> {
+ /// Raise an error when a direct URL dependency's `Requires-Python` constraint is not met.
+-#[test]
+ fn requires_python_direct_url() -> Result<()> {
+diff --git a/crates/uv/tests/pip_install.rs b/crates/uv/tests/pip_install.rs
+index ee987fb0..a73e2f25 100644
+--- a/crates/uv/tests/pip_install.rs
++++ b/crates/uv/tests/pip_install.rs
+@@ -952,3 +952,2 @@ fn install_no_index_version() {
+ /// Ref: <https://github.com/astral-sh/uv/issues/1600>
+-#[test]
+ fn install_extra_index_url_has_priority() {
+@@ -2362,3 +2361,2 @@ requires-python = ">=3.11,<3.13"
+ /// Raise an error when an editable's `Requires-Python` constraint is not met.
+-#[test]
+ fn requires_python_editable() -> Result<()> {
+@@ -2811,3 +2809,2 @@ fn dry_run_install_then_upgrade() -> std::result::Result<(), Box<dyn std::error:
+ /// Raise an error when a direct URL's `Requires-Python` constraint is not met.
+-#[test]
+ fn requires_python_direct_url() -> Result<()> {
+diff --git a/crates/uv/tests/pip_install_scenarios.rs b/crates/uv/tests/pip_install_scenarios.rs
+index e9e85a94..353b3c62 100644
+--- a/crates/uv/tests/pip_install_scenarios.rs
++++ b/crates/uv/tests/pip_install_scenarios.rs
+@@ -2246,3 +2246,2 @@ fn post_greater_than_or_equal_post() {
+ /// ```
+-#[test]
+ fn post_less_than_or_equal() {
+@@ -2285,3 +2284,2 @@ fn post_less_than_or_equal() {
+ /// ```
+-#[test]
+ fn post_less_than() {
+@@ -2322,3 +2320,2 @@ fn post_less_than() {
+ /// ```
+-#[test]
+ fn post_local_greater_than() {
+@@ -2363,3 +2360,2 @@ fn post_local_greater_than() {
+ /// ```
+-#[test]
+ fn post_local_greater_than_post() {
+@@ -2531,3 +2527,2 @@ fn post_greater_than_post_not_available() {
+ /// ```
+-#[test]
+ fn package_only_prereleases() {
+@@ -3654,3 +3649,2 @@ fn package_prereleases_specifier_boundary() {
+ /// ```
+-#[test]
+ fn python_version_does_not_exist() {
+@@ -3696,3 +3690,2 @@ fn python_version_does_not_exist() {
+ /// ```
+-#[test]
+ fn python_less_than_current() {
+@@ -3738,3 +3731,2 @@ fn python_less_than_current() {
+ /// ```
+-#[test]
+ fn python_greater_than_current() {
+@@ -3780,3 +3772,2 @@ fn python_greater_than_current() {
+ /// ```
+-#[test]
+ fn python_greater_than_current_patch() {
+@@ -3944,3 +3935,2 @@ fn python_greater_than_current_backtrack() {
+ /// ```
+-#[test]
+ fn python_greater_than_current_excluded() {
+diff --git a/crates/uv/tests/pip_list.rs b/crates/uv/tests/pip_list.rs
+index 9b545ee2..5b202b9c 100644
+--- a/crates/uv/tests/pip_list.rs
++++ b/crates/uv/tests/pip_list.rs
+@@ -101,3 +101,2 @@ fn list_single_no_editable() -> Result<()> {
+
+-#[test]
+ fn list_editable() {
+@@ -153,3 +152,2 @@ fn list_editable() {
+
+-#[test]
+ fn list_editable_only() {
+@@ -241,3 +239,2 @@ fn list_editable_only() {
+
+-#[test]
+ fn list_exclude() {
+diff --git a/crates/uv/tests/pip_sync.rs b/crates/uv/tests/pip_sync.rs
+index 7964d2cc..e0a14a91 100644
+--- a/crates/uv/tests/pip_sync.rs
++++ b/crates/uv/tests/pip_sync.rs
+@@ -1423,3 +1423,2 @@ fn install_git_source_dist_cached() -> Result<()> {
+ /// Check that we show the right messages on cached, registry source distribution installs.
+-#[test]
+ fn install_registry_source_dist_cached() -> Result<()> {
+@@ -2920,3 +2919,2 @@ fn compile_invalid_pyc_invalidation_mode() -> Result<()> {
+ /// Raise an error when an editable's `Requires-Python` constraint is not met.
+-#[test]
+ fn requires_python_editable() -> Result<()> {
+@@ -2988,3 +2986,2 @@ fn no_stream() -> Result<()> {
+ /// Raise an error when a direct URL dependency's `Requires-Python` constraint is not met.
+-#[test]
+ fn requires_python_direct_url() -> Result<()> {
+diff --git a/crates/uv/tests/venv.rs b/crates/uv/tests/venv.rs
+index 94e79ae7..f79ea4e6 100644
+--- a/crates/uv/tests/venv.rs
++++ b/crates/uv/tests/venv.rs
+@@ -76,3 +76,2 @@ impl VenvTestContext {
+
+-#[test]
+ fn create_venv() {
+@@ -118,3 +117,2 @@ fn create_venv() {
+
+-#[test]
+ fn create_venv_defaults_to_cwd() {
+@@ -139,3 +137,2 @@ fn create_venv_defaults_to_cwd() {
+
+-#[test]
+ fn seed() {
+@@ -163,3 +160,2 @@ fn seed() {
+
+-#[test]
+ fn seed_older_python_version() {
+@@ -255,3 +251,2 @@ fn create_venv_unknown_python_patch() {
+
+-#[test]
+ fn create_venv_python_patch() {
+@@ -278,3 +273,2 @@ fn create_venv_python_patch() {
+
+-#[test]
+ fn file_exists() -> Result<()> {
+@@ -307,3 +301,2 @@ fn file_exists() -> Result<()> {
+
+-#[test]
+ fn empty_dir_exists() -> Result<()> {
+@@ -334,3 +327,2 @@ fn empty_dir_exists() -> Result<()> {
+
+-#[test]
+ fn non_empty_dir_exists() -> Result<()> {
+@@ -408,3 +400,2 @@ fn windows_shims() -> Result<()> {
+
+-#[test]
+ fn virtualenv_compatibility() {
diff --git a/dev-python/uv/uv-0.1.28.ebuild b/dev-python/uv/uv-0.1.28.ebuild
new file mode 100644
index 000000000000..5a2ad8fdce77
--- /dev/null
+++ b/dev-python/uv/uv-0.1.28.ebuild
@@ -0,0 +1,108 @@
+# Copyright 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;d76801da0943de985254fc6255c0e476b57c5836;rs-async-zip-%commit%'
+ [pubgrub]='https://github.com/astral-sh/pubgrub;c26e485213e39582c6f2e4d45c0328422670e7a7;pubgrub-%commit%'
+)
+
+inherit cargo check-reqs
+
+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/${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 ~ppc64 ~riscv ~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() {
+ local PATCHES=(
+ # skip broken tests:
+ # - requiring pinned CPython versions (3.8.12, 3.11.7, 3.12.1)
+ # - requiring specific terminal width (COLUMNS don't seem to work)
+ # - other (perhaps failing because of other skipped tests?)
+ "${FILESDIR}/uv-0.1.28-skip-tests.patch"
+ )
+
+ rm crates/uv/tests/pip_compile_scenarios.rs || die
+ default
+}
+
+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
+}