summaryrefslogtreecommitdiff
path: root/dev-util/pixi
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/pixi')
-rw-r--r--dev-util/pixi/Manifest9
-rw-r--r--dev-util/pixi/files/pixi-0.39.5-offline-tests.patch81
-rw-r--r--dev-util/pixi/metadata.xml11
-rw-r--r--dev-util/pixi/pixi-0.39.5.ebuild121
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
+}