diff options
Diffstat (limited to 'dev-util/pixi')
-rw-r--r-- | dev-util/pixi/Manifest | 9 | ||||
-rw-r--r-- | dev-util/pixi/files/pixi-0.39.5-offline-tests.patch | 81 | ||||
-rw-r--r-- | dev-util/pixi/metadata.xml | 11 | ||||
-rw-r--r-- | dev-util/pixi/pixi-0.39.5.ebuild | 121 |
4 files changed, 222 insertions, 0 deletions
diff --git a/dev-util/pixi/Manifest b/dev-util/pixi/Manifest new file mode 100644 index 000000000000..cdfbdb82cf58 --- /dev/null +++ b/dev-util/pixi/Manifest @@ -0,0 +1,9 @@ +AUX pixi-0.39.5-offline-tests.patch 2761 BLAKE2B 55b23889887d9ffdc0ef00e6ae0c9fe946b8497fc3db68893303bd10665621cc3cd6537a9317006c6618193d1393019bb617e0bf76e7a7ae98e22ac384013b6b SHA512 621a5fb614567989bf50545bd5f7bf73524f4fd9862ddea5ec7d41724ded48c66a47925787f231f53b0e8774db2e2bffd010bacaa15118dff40c896678e3865c +DIST pixi-0.39.5-crates.tar.xz 48798324 BLAKE2B 0ae0d903dab4d35cf71b9dc32c8c42213c9452472248ad01be0153914d3d4740eab2f425306c6cd5fff5730d1c5c70a138087f9d30e30452b71b354fe0163911 SHA512 509e77f7500c2ed1328ad0d27d6749bb1e46d7fc0b2eddcde3fef04b7b5d7941215724e0aa364eebd20672b2f62d5a1fc695d42450b3b2b89b77a49c4edaba5b +DIST pixi-0.39.5.tar.gz 6767808 BLAKE2B f464422d99c1afb8b8c70b50a664fe473152e05bd8f5ca3013ecbe30a02b07430428d0363c31e5203ed0c1af9ec65e62d72902e62d4cd70d74754e62c8c3bbc7 SHA512 44f55a824c252903659568c57d0be644791924b867838660b546d53e2612859d76561a0a9edb02215b5dd71de837a6d799f9846e8da50e6e26471ba41b4f897a +DIST pubgrub-57832d0588fbb7aab824813481104761dc1c7740.gh.tar.gz 95600 BLAKE2B 8bdf971091d6816c326925c4603aa9296d6a92c2ede6a6245e0e5e64b741863e5d93aac03990004c13bd592d3d6ca2c662500e4c8d33e9959d6df9e1023a41e5 SHA512 8eae3c00928d921ca7cfdeff124962e477ae32387fb4b1ebfecd968181ec6bb2c2d96c918d8a9f521f1b9666eb6272c9f982b444d22a432f9471414f081694ee +DIST rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.gh.tar.gz 51763 BLAKE2B 59d053bc6692014d884a9247dea1b57a8789469ba2abbcc92ec21bb0022cbd74874afc463082156ab697aa6c80635019857a5d7e2dc150274e8b04d720518c36 SHA512 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a +DIST tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.gh.tar.gz 37106 BLAKE2B c30d1c33f6f52e2bc83823eb6319f8a3e462b7c7408fb6a08f995747857ef234f81db4135a04f9d183095fe473a4087f8f0cb89d8f87ef4400285d2ce034ec22 SHA512 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 +DIST uv-878234ba6b9a3b143e079ca9baa4bec99af93600.gh.tar.gz 2954714 BLAKE2B 93ccda78c9f3302eacbf074ec011f476e2093e8cbe89c4d8b697fadeb00055f1e2a0fb20d7c108a53fd5e47ad12702ea230b45b61d580aebbaeadfeda2fb605a SHA512 cde1ddb6355abfa8529a32b16fb468d31066c38ebf2723e3927427c319a1782118889823e4faebd906802a67cb6b285423c59f9463d6780724751f9d1aab4ac6 +EBUILD pixi-0.39.5.ebuild 6756 BLAKE2B b9b27ed4d5692c5459a166f0a9abeb123fb7079ef15d3e4b3d3dfb81c95e6b4872793ece6f6e074165aa3a5df95a6cb493d49e22e8a38e20c76897d9528320d7 SHA512 5f744a4f2c19bbe25914c2ca68d672b729529e4babcd5dd7d1d7bceb269b7e04d98283f7ad4e2b01a3d1b00d9375406962fa5209ec3f9331bc2b31c2d526da31 +MISC metadata.xml 328 BLAKE2B 8001a69030d74cd8c851c7ef8804777e130d44ea6baa989f60039a13dc00d7a94253c4d7d6d9065329ea6a4b5551b181cee24392852c4dec766584b2d944cefd SHA512 3a4c1827066c67c03612c28a0b0fa9f814c982629d8efeba2e30fd72f9e4cdaacd2bf4016990ee209114f69c26cb6b40a93868e3d6db26c2abc6f47ef3a40d0f diff --git a/dev-util/pixi/files/pixi-0.39.5-offline-tests.patch b/dev-util/pixi/files/pixi-0.39.5-offline-tests.patch new file mode 100644 index 000000000000..e01a35c196c1 --- /dev/null +++ b/dev-util/pixi/files/pixi-0.39.5-offline-tests.patch @@ -0,0 +1,81 @@ +From 6158a713bf285b7817f74e4d4844cc00ee840a4a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Sat, 11 Jan 2025 11:34:49 +0100 +Subject: [PATCH] test: add `online_tests` feature to control Internet use + +Add an `online_tests` feature that specifically covers tests accessing +the Internet. It is enabled by default to preserve the existing +behavior, but can be explicitly disabled when running the test suite +entirely offline. + +I have not added the respective feature checks to +`slow_integration_tests`, as they all seem to require Internet, so that +seems redundant. + +Fixes #2880 +--- + Cargo.toml | 4 +++- + tests/integration_rust/solve_group_tests.rs | 4 ++++ + 2 files changed, 7 insertions(+), 1 deletion(-) + +diff --git a/Cargo.toml b/Cargo.toml +index 26a527eb..ddcc4602 100644 +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -167,7 +167,7 @@ repository.workspace = true + version = "0.39.5" + + [features] +-default = ["rustls-tls"] ++default = ["online_tests", "rustls-tls"] + native-tls = [ + "reqwest/native-tls", + "reqwest/native-tls-alpn", +@@ -175,6 +175,8 @@ native-tls = [ + "rattler/native-tls", + "pixi_utils/native-tls", + ] ++# run tests connecting to remote Internet services ++online_tests = [] + rustls-tls = [ + "reqwest/rustls-tls", + "reqwest/rustls-tls-native-roots", +diff --git a/tests/integration_rust/solve_group_tests.rs b/tests/integration_rust/solve_group_tests.rs +index 5f945bfd..efc5e9e9 100644 +--- a/tests/integration_rust/solve_group_tests.rs ++++ b/tests/integration_rust/solve_group_tests.rs +@@ -163,6 +163,7 @@ async fn test_purl_are_added_for_pypi() { + } + + #[tokio::test] ++#[cfg_attr(not(feature = "online_tests"), ignore)] + async fn test_purl_are_missing_for_non_conda_forge() { + let pixi = PixiControl::new().unwrap(); + pixi.init().await.unwrap(); +@@ -206,6 +207,7 @@ async fn test_purl_are_missing_for_non_conda_forge() { + } + + #[tokio::test] ++#[cfg_attr(not(feature = "online_tests"), ignore)] + async fn test_purl_are_generated_using_custom_mapping() { + let pixi = PixiControl::new().unwrap(); + pixi.init().await.unwrap(); +@@ -250,6 +252,7 @@ async fn test_purl_are_generated_using_custom_mapping() { + } + + #[tokio::test] ++#[cfg_attr(not(feature = "online_tests"), ignore)] + async fn test_compressed_mapping_catch_not_pandoc_not_a_python_package() { + let pixi = PixiControl::new().unwrap(); + pixi.init().await.unwrap(); +@@ -290,6 +293,7 @@ async fn test_compressed_mapping_catch_not_pandoc_not_a_python_package() { + } + + #[tokio::test] ++#[cfg_attr(not(feature = "online_tests"), ignore)] + async fn test_dont_record_not_present_package_as_purl() { + let pixi = PixiControl::new().unwrap(); + pixi.init().await.unwrap(); +-- +2.47.1 + diff --git a/dev-util/pixi/metadata.xml b/dev-util/pixi/metadata.xml new file mode 100644 index 000000000000..8d4e3d5944d6 --- /dev/null +++ b/dev-util/pixi/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>mgorny@gentoo.org</email> + <name>Michał Górny</name> + </maintainer> + <upstream> + <remote-id type="github">prefix-dev/pixi</remote-id> + </upstream> +</pkgmetadata> diff --git a/dev-util/pixi/pixi-0.39.5.ebuild b/dev-util/pixi/pixi-0.39.5.ebuild new file mode 100644 index 000000000000..cdf78e0eb0be --- /dev/null +++ b/dev-util/pixi/pixi-0.39.5.ebuild @@ -0,0 +1,121 @@ +# Copyright 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;57832d0588fbb7aab824813481104761dc1c7740;pubgrub-%commit%' + [tl]='https://github.com/astral-sh/tl;6e25b2ee2513d75385101a8ff9f591ef51f314ec;tl-%commit%' + [uv-auth]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-auth' + [uv-build-frontend]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-build-frontend' + [uv-cache-info]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-cache-info' + [uv-cache-key]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-cache-key' + [uv-cache]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-cache' + [uv-client]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-client' + [uv-configuration]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-configuration' + [uv-console]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-console' + [uv-dirs]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-dirs' + [uv-dispatch]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-dispatch' + [uv-distribution-filename]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-distribution-filename' + [uv-distribution-types]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-distribution-types' + [uv-distribution]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-distribution' + [uv-extract]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-extract' + [uv-fs]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-fs' + [uv-git]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-git' + [uv-install-wheel]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-install-wheel' + [uv-installer]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-installer' + [uv-macros]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-macros' + [uv-metadata]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-metadata' + [uv-normalize]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-normalize' + [uv-once-map]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-once-map' + [uv-options-metadata]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-options-metadata' + [uv-pep440]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-pep440' + [uv-pep508]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-pep508' + [uv-platform-tags]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-platform-tags' + [uv-pypi-types]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-pypi-types' + [uv-python]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-python' + [uv-requirements-txt]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-requirements-txt' + [uv-requirements]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-requirements' + [uv-resolver]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-resolver' + [uv-shell]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-shell' + [uv-state]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-state' + [uv-static]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-static' + [uv-trampoline-builder]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-trampoline-builder' + [uv-types]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-types' + [uv-version]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-version' + [uv-virtualenv]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-virtualenv' + [uv-warnings]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-warnings' + [uv-workspace]='https://github.com/wolfv/uv;878234ba6b9a3b143e079ca9baa4bec99af93600;uv-%commit%/crates/uv-workspace' + [version-ranges]='https://github.com/astral-sh/pubgrub;57832d0588fbb7aab824813481104761dc1c7740;pubgrub-%commit%/version-ranges' +) + +inherit cargo + +CRATE_P=${P} +DESCRIPTION="A package management and workflow tool" +HOMEPAGE=" + https://pixi.sh/ + https://github.com/prefix-dev/pixi/ +" +SRC_URI=" + https://github.com/prefix-dev/pixi/releases/download/v${PV}/source.tar.gz + -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" +if [[ ${PKGBUMPING} != ${PVR} ]]; then + SRC_URI+=" + https://dev.gentoo.org/~mgorny/dist/${CRATE_P}-crates.tar.xz + " +fi + +LICENSE="BSD" +# 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 MPL-2.0 Unicode-3.0 ZLIB +" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-arch/zstd:= + dev-libs/openssl:= +" + +PATCHES=( + # https://github.com/prefix-dev/pixi/pull/2881 + "${FILESDIR}/${P}-offline-tests.patch" +) + +src_configure() { + local myfeatures=( + native-tls + ) + cargo_src_configure --no-default-features + + export ZSTD_SYS_USE_PKG_CONFIG=1 + + # 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_test() { + # tests use it to test preserving envvars, apparently assuming + # it will be always set + local -x USER=${USER} + cargo_src_test --no-fail-fast +} |