diff options
Diffstat (limited to 'dev-python/uv')
-rw-r--r-- | dev-python/uv/Manifest | 5 | ||||
-rw-r--r-- | dev-python/uv/files/uv-0.1.24-skip-tests.patch | 192 | ||||
-rw-r--r-- | dev-python/uv/uv-0.1.24.ebuild | 107 |
3 files changed, 304 insertions, 0 deletions
diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest index f070e36305a0..d66220cdb31a 100644 --- a/dev-python/uv/Manifest +++ b/dev-python/uv/Manifest @@ -1,7 +1,12 @@ 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 DIST pubgrub-aab132a3d4d444dd8dd41d8c4e605abd69dacfe1.gh.tar.gz 73856 BLAKE2B 9e30babd5159de0f80a69de082e990cade3768a4f62c64ecec46253b1c8a3da56a61d096f0cd2e74da436cbabb444c5acbfe27cc55160a5c0c99205c0317612a SHA512 f49c63df7394fcd4ce6a616e3c8d7893274f4bbe4d451f3fb46eed80a3e03eb345818c5ff87e9d3ac23c80ea7ffee5de01237a5dfff40f740f88a6d61eab5f81 +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 EBUILD uv-0.1.13-r1.ebuild 2130 BLAKE2B 136f4c90c5d9efcac30138a7ac8f7a877dbbd22f2cf3934172ea6ad73e5d4965665b891f8ae077bf38bb3d021e2359f0961a5d0dfcecda66cccabe69e4ff8726 SHA512 798c04eb2d7b14f6e874e3d2108c3373acc5f8ea0a4845edbff5764056b5452de179734b90d90c21116adfc674c68470535ee30c005066c5a95658e9e7c7efdc +EBUILD uv-0.1.24.ebuild 2152 BLAKE2B 384e1839440ef165afb10e50a201eb2eb2d3106cadebadfb2c81c9aea0a67a299cfc628bf867536b282c978ab68fc9382caa0d1d15f17e2c91b06d2a25c72882 SHA512 b52c15fd7cf4fe5107dde5f5f3f27ab2c139d156d5ef937d4767b88a35c9ea79a5867d6c6f5224de3c3198b022523c92094a60490037827ee411bfd6a0eb8a7d MISC metadata.xml 336 BLAKE2B 4b5933e24e3e9450dde5da099185dcdf3afb5916b55cffa7c2f3f6fac77e439197cbe4ba529a87f83442d8f87d238e8abef06dc052ce9a62659060ffea9fdb47 SHA512 9910fd10ebbc395b9c330774b74798c9ffdba3bb368347658380a22e01d6dc9d1961ea50fbfb4a904c9db84b94c713c054e418a7294425b86ff41a607fd3e310 diff --git a/dev-python/uv/files/uv-0.1.24-skip-tests.patch b/dev-python/uv/files/uv-0.1.24-skip-tests.patch new file mode 100644 index 000000000000..e9efee5e8d89 --- /dev/null +++ b/dev-python/uv/files/uv-0.1.24-skip-tests.patch @@ -0,0 +1,192 @@ +diff --git a/crates/uv/tests/pip_compile.rs b/crates/uv/tests/pip_compile.rs +index 1fc08d1b..60675de4 100644 +--- a/crates/uv/tests/pip_compile.rs ++++ b/crates/uv/tests/pip_compile.rs +@@ -5140,7 +5140,6 @@ 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<()> { + let context = TestContext::new("3.12"); + +@@ -5392,7 +5391,6 @@ 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<()> { + let context = TestContext::new("3.12"); + +diff --git a/crates/uv/tests/pip_install.rs b/crates/uv/tests/pip_install.rs +index 6dfbd764..ddc5f37b 100644 +--- a/crates/uv/tests/pip_install.rs ++++ b/crates/uv/tests/pip_install.rs +@@ -912,7 +912,6 @@ fn install_no_index_version() { + /// package in.) + /// + /// Ref: <https://github.com/astral-sh/uv/issues/1600> +-#[test] + fn install_extra_index_url_has_priority() { + let context = TestContext::new("3.12"); + +@@ -2344,7 +2343,6 @@ 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<()> { + let context = TestContext::new("3.12"); + +@@ -2792,7 +2790,6 @@ 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<()> { + let context = TestContext::new("3.12"); + +diff --git a/crates/uv/tests/pip_install_scenarios.rs b/crates/uv/tests/pip_install_scenarios.rs +index 29ec3483..a538291d 100644 +--- a/crates/uv/tests/pip_install_scenarios.rs ++++ b/crates/uv/tests/pip_install_scenarios.rs +@@ -2244,7 +2244,6 @@ fn post_greater_than_or_equal_post() { + /// └── a + /// └── a-1.2.3.post1 + /// ``` +-#[test] + fn post_less_than_or_equal() { + let context = TestContext::new("3.8"); + +@@ -2283,7 +2282,6 @@ fn post_less_than_or_equal() { + /// └── a + /// └── a-1.2.3.post1 + /// ``` +-#[test] + fn post_less_than() { + let context = TestContext::new("3.8"); + +@@ -2320,7 +2318,6 @@ fn post_less_than() { + /// ├── a-1.2.3.post1 + /// └── a-1.2.3.post1+local + /// ``` +-#[test] + fn post_local_greater_than() { + let context = TestContext::new("3.8"); + +@@ -2361,7 +2358,6 @@ fn post_local_greater_than() { + /// ├── a-1.2.3.post1 + /// └── a-1.2.3.post1+local + /// ``` +-#[test] + fn post_local_greater_than_post() { + let context = TestContext::new("3.8"); + +@@ -2529,7 +2525,6 @@ fn post_greater_than_post_not_available() { + /// └── a + /// └── a-1.0.0a1 + /// ``` +-#[test] + fn package_only_prereleases() { + let context = TestContext::new("3.8"); + +@@ -3652,7 +3647,6 @@ fn package_prereleases_specifier_boundary() { + /// └── a-1.0.0 + /// └── requires python>=3.30 (incompatible with environment) + /// ``` +-#[test] + fn python_version_does_not_exist() { + let context = TestContext::new("3.8"); + +@@ -3694,7 +3688,6 @@ fn python_version_does_not_exist() { + /// └── a-1.0.0 + /// └── requires python<=3.8 (incompatible with environment) + /// ``` +-#[test] + fn python_less_than_current() { + let context = TestContext::new("3.9"); + +@@ -3736,7 +3729,6 @@ fn python_less_than_current() { + /// └── a-1.0.0 + /// └── requires python>=3.10 (incompatible with environment) + /// ``` +-#[test] + fn python_greater_than_current() { + let context = TestContext::new("3.9"); + +@@ -3778,7 +3770,6 @@ fn python_greater_than_current() { + /// └── a-1.0.0 + /// └── requires python>=3.8.14 (incompatible with environment) + /// ``` +-#[test] + fn python_greater_than_current_patch() { + let context = TestContext::new("3.8.12"); + +@@ -3942,7 +3933,6 @@ fn python_greater_than_current_backtrack() { + /// └── a-4.0.0 + /// └── requires python>=3.12 (incompatible with environment) + /// ``` +-#[test] + fn python_greater_than_current_excluded() { + let context = TestContext::new("3.9"); + +diff --git a/crates/uv/tests/pip_list.rs b/crates/uv/tests/pip_list.rs +index 15d784c1..f15f14b1 100644 +--- a/crates/uv/tests/pip_list.rs ++++ b/crates/uv/tests/pip_list.rs +@@ -100,7 +100,6 @@ fn list_single_no_editable() -> Result<()> { + Ok(()) + } + +-#[test] + fn list_editable() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -197,7 +196,6 @@ fn list_editable() -> Result<()> { + Ok(()) + } + +-#[test] + fn list_editable_only() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -323,7 +321,6 @@ fn list_editable_only() -> Result<()> { + Ok(()) + } + +-#[test] + fn list_exclude() -> Result<()> { + let context = TestContext::new("3.12"); + +diff --git a/crates/uv/tests/pip_sync.rs b/crates/uv/tests/pip_sync.rs +index af3f4946..0df9ed80 100644 +--- a/crates/uv/tests/pip_sync.rs ++++ b/crates/uv/tests/pip_sync.rs +@@ -1447,7 +1447,6 @@ 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<()> { + let context = TestContext::new("3.12"); + +@@ -2955,7 +2954,6 @@ 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<()> { + let context = TestContext::new("3.12"); + +diff --git a/crates/uv/tests/venv.rs b/crates/uv/tests/venv.rs +index 067c1414..1462f6a0 100644 +--- a/crates/uv/tests/venv.rs ++++ b/crates/uv/tests/venv.rs +@@ -327,7 +327,6 @@ fn create_venv_unknown_python_patch() -> Result<()> { + Ok(()) + } + +-#[test] + fn create_venv_python_patch() -> Result<()> { + let temp_dir = assert_fs::TempDir::new()?; + let cache_dir = assert_fs::TempDir::new()?; diff --git a/dev-python/uv/uv-0.1.24.ebuild b/dev-python/uv/uv-0.1.24.ebuild new file mode 100644 index 000000000000..5eaf16db71da --- /dev/null +++ b/dev-python/uv/uv-0.1.24.ebuild @@ -0,0 +1,107 @@ +# 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;e981e4dfe315582e84e2fd724832fb0e0c50b7aa;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" +IUSE="test" +RESTRICT="test" +PROPERTIES="test_network" + +DEPEND=" + dev-libs/libgit2:= +" +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 + ) +" + +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.24-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 +} |