diff --git a/Cargo.lock b/Cargo.lock index 229136e..7924505 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -191,7 +191,7 @@ version = "0.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df895a515f70646414f4b45c0b79082783b80552b373a68283012928df56f522" dependencies = [ - "bzip2", + "bzip2 0.4.4", "flate2", "futures-core", "memchr", @@ -377,6 +377,12 @@ dependencies = [ "backtrace", ] +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + [[package]] name = "base64" version = "0.22.1" @@ -497,6 +503,16 @@ dependencies = [ "libc", ] +[[package]] +name = "bzip2" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bafdbf26611df8c14810e268ddceda071c297570a5fb360ceddf617fe417ef58" +dependencies = [ + "bzip2-sys", + "libc", +] + [[package]] name = "bzip2-sys" version = "0.1.11+1.0.8" @@ -525,9 +541,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.4" +version = "1.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9157bbaa6b165880c27a4293a474c91cdcf265cc68cc829bf10be0964a391caf" +checksum = "c31a0499c1dc64f458ad13872de75c0eb7e3fdb0e67964610c914b034fc5956e" dependencies = [ "jobserver", "libc", @@ -589,19 +605,9 @@ dependencies = [ [[package]] name = "clap-verbosity-flag" -version = "2.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34c77f67047557f62582784fd7482884697731b2932c7d37ced54bce2312e1e2" -dependencies = [ - "clap", - "log", -] - -[[package]] -name = "clap-verbosity-flag" -version = "3.0.1" +version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54381ae56ad222eea3f529c692879e9c65e07945ae48d3dc4d1cb18dbec8cf44" +checksum = "2678fade3b77aa3a8ff3aae87e9c008d3fb00473a41c71fbf74e91c8c7b37e84" dependencies = [ "clap", "log", @@ -621,9 +627,9 @@ dependencies = [ [[package]] name = "clap_complete" -version = "4.5.38" +version = "4.5.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9647a559c112175f17cf724dc72d3645680a883c58481332779192b0d8e7a01" +checksum = "ac2e663e3e3bed2d32d065a8404024dad306e699a04263ec59919529f803aee9" dependencies = [ "clap", ] @@ -1091,7 +1097,7 @@ dependencies = [ [[package]] name = "fancy_display" version = "0.1.0" -source = "git+https://github.com/prefix-dev/pixi?branch=main#2e8ca9bc14c34899f02885d4cd14baaa815bf076" +source = "git+https://github.com/nichmor/pixi?branch=feat/add-git-source-dependencies#b8d7d90d2527178c470f4af0f34fc46b04fa9b06" dependencies = [ "console", ] @@ -1102,27 +1108,38 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" +[[package]] +name = "fd-lock" +version = "4.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e5768da2206272c81ef0b5e951a41862938a6070da63bcea197899942d3b947" +dependencies = [ + "cfg-if 1.0.0", + "rustix", + "windows-sys 0.52.0", +] + [[package]] name = "file_url" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2789b7b3e160530d89d1e126aff9811c3421bb77ebb9b62ffa3abbeba69f12d" +checksum = "95ad84121770c9766a67e4dd0a96b0467c6a5a2c43e873bf853aeaa6632b687c" dependencies = [ "itertools 0.13.0", "percent-encoding", - "thiserror 1.0.69", + "thiserror 2.0.8", "typed-path", "url", ] [[package]] name = "file_url" -version = "0.2.0" -source = "git+https://github.com/conda/rattler?branch=main#42de2b958ba8e02ae30753ee233790b32073f357" +version = "0.2.1" +source = "git+https://github.com/conda/rattler?branch=main#b9478369c50ae6f95bcbc8fcc982efec64e4eeda" dependencies = [ "itertools 0.13.0", "percent-encoding", - "thiserror 1.0.69", + "thiserror 2.0.8", "typed-path", "url", ] @@ -1194,16 +1211,6 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "fs-err" -version = "2.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41" -dependencies = [ - "autocfg", - "tokio", -] - [[package]] name = "fs-err" version = "3.0.0" @@ -1216,12 +1223,13 @@ dependencies = [ [[package]] name = "fs4" -version = "0.11.1" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e871a4cfa68bb224863b53149d973df1ac8d1ed2fa1d1bfc37ac1bb65dd37207" +checksum = "c29c30684418547d476f0b48e84f4821639119c483b1eccd566c8cd0cd05f521" dependencies = [ - "fs-err 2.11.0", + "fs-err", "rustix", + "tokio", "windows-sys 0.52.0", ] @@ -1412,6 +1420,48 @@ dependencies = [ "scroll", ] +[[package]] +name = "google-cloud-auth" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e57a13fbacc5e9c41ded3ad8d0373175a6b7a6ad430d99e89d314ac121b7ab06" +dependencies = [ + "async-trait", + "base64 0.21.7", + "google-cloud-metadata", + "google-cloud-token", + "home", + "jsonwebtoken", + "reqwest", + "serde", + "serde_json", + "thiserror 1.0.69", + "time", + "tokio", + "tracing", + "urlencoding", +] + +[[package]] +name = "google-cloud-metadata" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04f945a208886a13d07636f38fb978da371d0abc3e34bad338124b9f8c135a8f" +dependencies = [ + "reqwest", + "thiserror 1.0.69", + "tokio", +] + +[[package]] +name = "google-cloud-token" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f49c12ba8b21d128a2ce8585955246977fbce4415f680ebf9199b6f9d6d725f" +dependencies = [ + "async-trait", +] + [[package]] name = "h2" version = "0.4.7" @@ -1525,11 +1575,11 @@ dependencies = [ [[package]] name = "home" -version = "0.5.9" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1640,9 +1690,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.31" +version = "0.14.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c08302e8fa335b151b788c775ff56e7a03ae64ff85c548ee820fecb70356e85" +checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7" dependencies = [ "bytes", "futures-channel", @@ -1663,9 +1713,9 @@ dependencies = [ [[package]] name = "hyper" -version = "1.5.1" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97818827ef4f364230e16705d4706e2897df2bb60617d6ca15d598025a3c481f" +checksum = "256fb8d4bd6413123cc9d91832d78325c48ff41677595be797d90f42969beae0" dependencies = [ "bytes", "futures-channel", @@ -1683,19 +1733,21 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.3" +version = "0.27.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" +checksum = "f6884a48c6826ec44f524c7456b163cebe9e55a18d7b5e307cb4f100371cc767" dependencies = [ "futures-util", "http 1.2.0", - "hyper 1.5.1", + "hyper 1.5.2", "hyper-util", "rustls", + "rustls-native-certs", "rustls-pki-types", "tokio", "tokio-rustls", "tower-service", + "webpki-roots", ] [[package]] @@ -1706,7 +1758,7 @@ checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" dependencies = [ "bytes", "http-body-util", - "hyper 1.5.1", + "hyper 1.5.2", "hyper-util", "native-tls", "tokio", @@ -1725,7 +1777,7 @@ dependencies = [ "futures-util", "http 1.2.0", "http-body 1.0.1", - "hyper 1.5.1", + "hyper 1.5.2", "pin-project-lite", "socket2", "tokio", @@ -2091,7 +2143,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1dea6e07251d9ce6a552abfb5d7ad6bc290a4596c8dcc3d795fae2bbdc1f3ff" dependencies = [ "futures", - "hyper 0.14.31", + "hyper 0.14.32", "jsonrpc-core", "jsonrpc-server-utils", "log", @@ -2131,6 +2183,21 @@ dependencies = [ "tokio-util 0.6.10", ] +[[package]] +name = "jsonwebtoken" +version = "9.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9ae10193d25051e74945f1ea2d0b42e03cc3b890f7e4cc5faa44997d808193f" +dependencies = [ + "base64 0.21.7", + "js-sys", + "pem", + "ring", + "serde", + "serde_json", + "simple_asn1", +] + [[package]] name = "keyring" version = "3.6.1" @@ -2142,7 +2209,7 @@ dependencies = [ "log", "secret-service", "security-framework 2.11.1", - "security-framework 3.0.1", + "security-framework 3.1.0", "windows-sys 0.59.0", "zbus", ] @@ -2178,9 +2245,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.168" +version = "0.2.169" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aaeb2981e0606ca11d79718f8bb01164f1d6ed75080182d3abf017e6d244b6d" +checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" [[package]] name = "libdbus-sys" @@ -2388,9 +2455,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.0" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +checksum = "4ffbe83022cedc1d264172192511ae958937694cd57ce297164951b8b3568394" dependencies = [ "adler2", ] @@ -2786,6 +2853,16 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" +[[package]] +name = "pem" +version = "3.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e459365e590736a54c3fa561947c84837534b8e9af6fc5bf781307e82658fae" +dependencies = [ + "base64 0.22.1", + "serde", +] + [[package]] name = "pep440_rs" version = "0.7.3" @@ -2834,7 +2911,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b7cafe60d6cf8e62e1b9b2ea516a089c008945bb5a275416789e7db0bc199dc" dependencies = [ "memchr", - "thiserror 2.0.7", + "thiserror 2.0.8", "ucd-trie", ] @@ -2976,8 +3053,8 @@ dependencies = [ "async-trait", "chrono", "clap", - "clap-verbosity-flag 3.0.1", - "fs-err 3.0.0", + "clap-verbosity-flag", + "fs-err", "indexmap 2.7.0", "insta", "itertools 0.13.0", @@ -3011,7 +3088,7 @@ dependencies = [ [[package]] name = "pixi_build_types" version = "0.1.0" -source = "git+https://github.com/prefix-dev/pixi?branch=main#2e8ca9bc14c34899f02885d4cd14baaa815bf076" +source = "git+https://github.com/nichmor/pixi?branch=feat/add-git-source-dependencies#b8d7d90d2527178c470f4af0f34fc46b04fa9b06" dependencies = [ "rattler_conda_types", "serde", @@ -3020,10 +3097,35 @@ dependencies = [ "url", ] +[[package]] +name = "pixi_config" +version = "0.1.0" +source = "git+https://github.com/nichmor/pixi?branch=feat/add-git-source-dependencies#b8d7d90d2527178c470f4af0f34fc46b04fa9b06" +dependencies = [ + "clap", + "console", + "dirs", + "fs-err", + "itertools 0.13.0", + "miette", + "pixi_consts", + "rattler", + "rattler_conda_types", + "rattler_repodata_gateway", + "reqwest-middleware", + "serde", + "serde_ignored", + "serde_json", + "thiserror 2.0.8", + "toml_edit", + "tracing", + "url", +] + [[package]] name = "pixi_consts" version = "0.1.0" -source = "git+https://github.com/prefix-dev/pixi?branch=main#2e8ca9bc14c34899f02885d4cd14baaa815bf076" +source = "git+https://github.com/nichmor/pixi?branch=feat/add-git-source-dependencies#b8d7d90d2527178c470f4af0f34fc46b04fa9b06" dependencies = [ "console", "lazy_static", @@ -3031,15 +3133,36 @@ dependencies = [ "url", ] +[[package]] +name = "pixi_git" +version = "0.0.1" +source = "git+https://github.com/nichmor/pixi?branch=feat/add-git-source-dependencies#b8d7d90d2527178c470f4af0f34fc46b04fa9b06" +dependencies = [ + "dashmap", + "dunce", + "fs-err", + "miette", + "pixi_utils", + "reqwest", + "reqwest-middleware", + "serde", + "thiserror 2.0.8", + "tokio", + "tracing", + "url", + "urlencoding", + "which", +] + [[package]] name = "pixi_manifest" version = "0.1.0" -source = "git+https://github.com/prefix-dev/pixi?branch=main#2e8ca9bc14c34899f02885d4cd14baaa815bf076" +source = "git+https://github.com/nichmor/pixi?branch=feat/add-git-source-dependencies#b8d7d90d2527178c470f4af0f34fc46b04fa9b06" dependencies = [ "console", "dunce", "fancy_display", - "fs-err 2.11.0", + "fs-err", "indexmap 2.7.0", "itertools 0.13.0", "miette", @@ -3058,7 +3181,7 @@ dependencies = [ "serde_with", "spdx", "strsim", - "thiserror 1.0.69", + "thiserror 2.0.8", "toml_edit", "tracing", "url", @@ -3067,22 +3190,50 @@ dependencies = [ [[package]] name = "pixi_spec" version = "0.1.0" -source = "git+https://github.com/prefix-dev/pixi?branch=main#2e8ca9bc14c34899f02885d4cd14baaa815bf076" +source = "git+https://github.com/nichmor/pixi?branch=feat/add-git-source-dependencies#b8d7d90d2527178c470f4af0f34fc46b04fa9b06" dependencies = [ "dirs", - "file_url 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "file_url 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "itertools 0.13.0", + "pixi_git", "rattler_conda_types", - "rattler_digest 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "rattler_digest 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", "serde", "serde-untagged", "serde_with", - "thiserror 1.0.69", + "thiserror 2.0.8", "toml_edit", "typed-path", "url", ] +[[package]] +name = "pixi_utils" +version = "0.1.0" +source = "git+https://github.com/nichmor/pixi?branch=feat/add-git-source-dependencies#b8d7d90d2527178c470f4af0f34fc46b04fa9b06" +dependencies = [ + "fd-lock", + "fs-err", + "indicatif", + "itertools 0.13.0", + "miette", + "pep508_rs", + "pixi_config", + "pixi_consts", + "rattler_conda_types", + "rattler_networking", + "reqwest", + "reqwest-middleware", + "serde", + "serde_json", + "serde_yaml", + "tempfile", + "thiserror 2.0.8", + "tracing", + "tracing-subscriber", + "url", +] + [[package]] name = "pkg-config" version = "0.3.31" @@ -3101,7 +3252,7 @@ version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42cf17e9a1800f5f396bc67d193dc9411b59012a5876445ef450d449881e1016" dependencies = [ - "base64", + "base64 0.22.1", "indexmap 2.7.0", "quick-xml", "serde", @@ -3177,9 +3328,9 @@ dependencies = [ [[package]] name = "purl" -version = "0.1.3" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c14fe28c8495f7eaf77a6e6106966f95211c0a2404b9da50d248fc32af3a3f14" +checksum = "f112b0e2a9bca03924c39166775b74fec9a831f7d4d8fa539dee0e565f403a0e" dependencies = [ "hex", "percent-encoding", @@ -3213,6 +3364,58 @@ dependencies = [ "memchr", ] +[[package]] +name = "quinn" +version = "0.11.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef" +dependencies = [ + "bytes", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash", + "rustls", + "socket2", + "thiserror 2.0.8", + "tokio", + "tracing", +] + +[[package]] +name = "quinn-proto" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" +dependencies = [ + "bytes", + "getrandom", + "rand", + "ring", + "rustc-hash", + "rustls", + "rustls-pki-types", + "slab", + "thiserror 2.0.8", + "tinyvec", + "tracing", + "web-time", +] + +[[package]] +name = "quinn-udp" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c40286217b4ba3a71d644d752e6a0b71f13f1b6a2c5311acfcbe0c2418ed904" +dependencies = [ + "cfg_aliases", + "libc", + "once_cell", + "socket2", + "tracing", + "windows-sys 0.59.0", +] + [[package]] name = "quote" version = "1.0.37" @@ -3260,15 +3463,15 @@ dependencies = [ [[package]] name = "rattler" -version = "0.28.7" -source = "git+https://github.com/conda/rattler?branch=main#42de2b958ba8e02ae30753ee233790b32073f357" +version = "0.28.8" +source = "git+https://github.com/conda/rattler?branch=main#b9478369c50ae6f95bcbc8fcc982efec64e4eeda" dependencies = [ "anyhow", "clap", "console", "digest", "dirs", - "fs-err 3.0.0", + "fs-err", "futures", "humantime", "indexmap 2.7.0", @@ -3280,10 +3483,11 @@ dependencies = [ "parking_lot 0.12.3", "rattler_cache", "rattler_conda_types", - "rattler_digest 1.0.3 (git+https://github.com/conda/rattler?branch=main)", + "rattler_digest 1.0.4 (git+https://github.com/conda/rattler?branch=main)", "rattler_networking", "rattler_package_streaming", - "rattler_shell 0.22.10 (git+https://github.com/conda/rattler?branch=main)", + "rattler_shell 0.22.11 (git+https://github.com/conda/rattler?branch=main)", + "rayon", "reflink-copy", "regex", "reqwest", @@ -3291,7 +3495,7 @@ dependencies = [ "simple_spawn_blocking", "smallvec", "tempfile", - "thiserror 1.0.69", + "thiserror 2.0.8", "tokio", "tracing", "url", @@ -3300,17 +3504,17 @@ dependencies = [ [[package]] name = "rattler-build" -version = "0.31.1" -source = "git+https://github.com/prefix-dev/rattler-build?rev=b3f6bd25067177a4b7937a3960d2e2da196b249a#b3f6bd25067177a4b7937a3960d2e2da196b249a" +version = "0.33.0" +source = "git+https://github.com/prefix-dev/rattler-build?rev=69b1d957fb0c63389a1f1f5fea33a40beccdc757#69b1d957fb0c63389a1f1f5fea33a40beccdc757" dependencies = [ "anyhow", "async-once-cell", "async-recursion", - "base64", - "bzip2", + "base64 0.22.1", + "bzip2 0.5.0", "chrono", "clap", - "clap-verbosity-flag 2.2.3", + "clap-verbosity-flag", "clap_complete", "clap_complete_nushell", "comfy-table", @@ -3318,7 +3522,7 @@ dependencies = [ "content_inspector", "dunce", "flate2", - "fs-err 3.0.0", + "fs-err", "futures", "globset", "goblin", @@ -3340,13 +3544,13 @@ dependencies = [ "rattler", "rattler_cache", "rattler_conda_types", - "rattler_digest 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "rattler_digest 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", "rattler_index", "rattler_networking", "rattler_package_streaming", "rattler_redaction", "rattler_repodata_gateway", - "rattler_shell 0.22.10 (registry+https://github.com/rust-lang/crates.io-index)", + "rattler_shell 0.22.11 (registry+https://github.com/rust-lang/crates.io-index)", "rattler_solve", "rattler_virtual_packages", "rayon", @@ -3366,7 +3570,7 @@ dependencies = [ "tar", "tempfile", "terminal_size", - "thiserror 2.0.7", + "thiserror 2.0.8", "tokio", "tokio-util 0.7.13", "toml", @@ -3383,27 +3587,28 @@ dependencies = [ [[package]] name = "rattler_cache" -version = "0.2.15" -source = "git+https://github.com/conda/rattler?branch=main#42de2b958ba8e02ae30753ee233790b32073f357" +version = "0.3.0" +source = "git+https://github.com/conda/rattler?branch=main#b9478369c50ae6f95bcbc8fcc982efec64e4eeda" dependencies = [ "anyhow", "dashmap", "digest", "dirs", - "fs-err 3.0.0", + "fs-err", "fs4", "futures", "fxhash", "itertools 0.13.0", "parking_lot 0.12.3", "rattler_conda_types", - "rattler_digest 1.0.3 (git+https://github.com/conda/rattler?branch=main)", + "rattler_digest 1.0.4 (git+https://github.com/conda/rattler?branch=main)", "rattler_networking", "rattler_package_streaming", + "rayon", "reqwest", "reqwest-middleware", "simple_spawn_blocking", - "thiserror 1.0.69", + "thiserror 2.0.8", "tokio", "tracing", "url", @@ -3411,12 +3616,13 @@ dependencies = [ [[package]] name = "rattler_conda_types" -version = "0.29.5" -source = "git+https://github.com/conda/rattler?branch=main#42de2b958ba8e02ae30753ee233790b32073f357" +version = "0.29.6" +source = "git+https://github.com/conda/rattler?branch=main#b9478369c50ae6f95bcbc8fcc982efec64e4eeda" dependencies = [ "chrono", "dirs", - "file_url 0.2.0 (git+https://github.com/conda/rattler?branch=main)", + "file_url 0.2.1 (git+https://github.com/conda/rattler?branch=main)", + "fs-err", "fxhash", "glob", "hex", @@ -3425,9 +3631,10 @@ dependencies = [ "lazy-regex", "nom", "purl", - "rattler_digest 1.0.3 (git+https://github.com/conda/rattler?branch=main)", + "rattler_digest 1.0.4 (git+https://github.com/conda/rattler?branch=main)", "rattler_macros", "rattler_redaction", + "rayon", "regex", "serde", "serde-untagged", @@ -3438,7 +3645,7 @@ dependencies = [ "simd-json", "smallvec", "strum", - "thiserror 1.0.69", + "thiserror 2.0.8", "tracing", "typed-path", "url", @@ -3446,9 +3653,9 @@ dependencies = [ [[package]] name = "rattler_digest" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a97526971dd357657ea4c88f6d39b31b2875c87dfe9fd12aac305fec6c0f60" +checksum = "8ffd5141cd51f0de194c8c05d97f138d2ea70274636ce911bbdf7dd371942a47" dependencies = [ "blake2", "digest", @@ -3462,8 +3669,8 @@ dependencies = [ [[package]] name = "rattler_digest" -version = "1.0.3" -source = "git+https://github.com/conda/rattler?branch=main#42de2b958ba8e02ae30753ee233790b32073f357" +version = "1.0.4" +source = "git+https://github.com/conda/rattler?branch=main#b9478369c50ae6f95bcbc8fcc982efec64e4eeda" dependencies = [ "blake2", "digest", @@ -3478,13 +3685,13 @@ dependencies = [ [[package]] name = "rattler_index" -version = "0.19.37" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edba9d13d0cb24a6755778c4652078b6f3926d3917c23c4bcf094fd4b6471a6b" +checksum = "6ac6b784e82607cee43cc04f48a8f80969fb98fa864a913c9bb28f8fefcf48ec" dependencies = [ - "fs-err 3.0.0", + "fs-err", "rattler_conda_types", - "rattler_digest 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "rattler_digest 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", "rattler_package_streaming", "serde_json", "tracing", @@ -3493,8 +3700,8 @@ dependencies = [ [[package]] name = "rattler_macros" -version = "1.0.3" -source = "git+https://github.com/conda/rattler?branch=main#42de2b958ba8e02ae30753ee233790b32073f357" +version = "1.0.4" +source = "git+https://github.com/conda/rattler?branch=main#b9478369c50ae6f95bcbc8fcc982efec64e4eeda" dependencies = [ "quote", "syn", @@ -3502,16 +3709,18 @@ dependencies = [ [[package]] name = "rattler_networking" -version = "0.21.8" -source = "git+https://github.com/conda/rattler?branch=main#42de2b958ba8e02ae30753ee233790b32073f357" +version = "0.21.9" +source = "git+https://github.com/conda/rattler?branch=main#b9478369c50ae6f95bcbc8fcc982efec64e4eeda" dependencies = [ "anyhow", "async-trait", - "base64", + "base64 0.22.1", "chrono", "dirs", "fslock", "getrandom", + "google-cloud-auth", + "google-cloud-token", "http 1.2.0", "itertools 0.13.0", "keyring", @@ -3521,23 +3730,23 @@ dependencies = [ "retry-policies", "serde", "serde_json", - "thiserror 1.0.69", + "thiserror 2.0.8", "tracing", "url", ] [[package]] name = "rattler_package_streaming" -version = "0.22.18" -source = "git+https://github.com/conda/rattler?branch=main#42de2b958ba8e02ae30753ee233790b32073f357" +version = "0.22.19" +source = "git+https://github.com/conda/rattler?branch=main#b9478369c50ae6f95bcbc8fcc982efec64e4eeda" dependencies = [ - "bzip2", + "bzip2 0.5.0", "chrono", - "fs-err 3.0.0", + "fs-err", "futures-util", "num_cpus", "rattler_conda_types", - "rattler_digest 1.0.3 (git+https://github.com/conda/rattler?branch=main)", + "rattler_digest 1.0.4 (git+https://github.com/conda/rattler?branch=main)", "rattler_networking", "rattler_redaction", "reqwest", @@ -3545,7 +3754,7 @@ dependencies = [ "serde_json", "tar", "tempfile", - "thiserror 1.0.69", + "thiserror 2.0.8", "tokio", "tokio-util 0.7.13", "tracing", @@ -3556,8 +3765,8 @@ dependencies = [ [[package]] name = "rattler_redaction" -version = "0.1.4" -source = "git+https://github.com/conda/rattler?branch=main#42de2b958ba8e02ae30753ee233790b32073f357" +version = "0.1.5" +source = "git+https://github.com/conda/rattler?branch=main#b9478369c50ae6f95bcbc8fcc982efec64e4eeda" dependencies = [ "reqwest", "reqwest-middleware", @@ -3566,8 +3775,8 @@ dependencies = [ [[package]] name = "rattler_repodata_gateway" -version = "0.21.27" -source = "git+https://github.com/conda/rattler?branch=main#42de2b958ba8e02ae30753ee233790b32073f357" +version = "0.21.28" +source = "git+https://github.com/conda/rattler?branch=main#b9478369c50ae6f95bcbc8fcc982efec64e4eeda" dependencies = [ "anyhow", "async-compression", @@ -3579,8 +3788,8 @@ dependencies = [ "chrono", "dashmap", "dirs", - "file_url 0.2.0 (git+https://github.com/conda/rattler?branch=main)", - "fs-err 3.0.0", + "file_url 0.2.1 (git+https://github.com/conda/rattler?branch=main)", + "fs-err", "futures", "hex", "http 1.2.0", @@ -3597,7 +3806,7 @@ dependencies = [ "pin-project-lite", "rattler_cache", "rattler_conda_types", - "rattler_digest 1.0.3 (git+https://github.com/conda/rattler?branch=main)", + "rattler_digest 1.0.4 (git+https://github.com/conda/rattler?branch=main)", "rattler_networking", "rattler_redaction", "reqwest", @@ -3609,7 +3818,7 @@ dependencies = [ "simple_spawn_blocking", "superslice", "tempfile", - "thiserror 1.0.69", + "thiserror 2.0.8", "tokio", "tokio-util 0.7.13", "tracing", @@ -3620,12 +3829,12 @@ dependencies = [ [[package]] name = "rattler_shell" -version = "0.22.10" +version = "0.22.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86d2b039c5e575929d91f62364cd84c13c115a705e4a4d634d852b77f1fcb5af" +checksum = "06401300c3f5718abb5c3ed1c66f9837c5cac5879c33a440d6bf95f4336ba38d" dependencies = [ "enum_dispatch", - "fs-err 3.0.0", + "fs-err", "indexmap 2.7.0", "itertools 0.13.0", "rattler_conda_types", @@ -3633,49 +3842,49 @@ dependencies = [ "shlex", "sysinfo", "tempfile", - "thiserror 1.0.69", + "thiserror 2.0.8", "tracing", ] [[package]] name = "rattler_shell" -version = "0.22.10" -source = "git+https://github.com/conda/rattler?branch=main#42de2b958ba8e02ae30753ee233790b32073f357" +version = "0.22.11" +source = "git+https://github.com/conda/rattler?branch=main#b9478369c50ae6f95bcbc8fcc982efec64e4eeda" dependencies = [ "enum_dispatch", - "fs-err 3.0.0", + "fs-err", "indexmap 2.7.0", "itertools 0.13.0", "rattler_conda_types", "serde_json", "shlex", "tempfile", - "thiserror 1.0.69", + "thiserror 2.0.8", "tracing", ] [[package]] name = "rattler_solve" -version = "1.2.6" -source = "git+https://github.com/conda/rattler?branch=main#42de2b958ba8e02ae30753ee233790b32073f357" +version = "1.3.0" +source = "git+https://github.com/conda/rattler?branch=main#b9478369c50ae6f95bcbc8fcc982efec64e4eeda" dependencies = [ "chrono", "futures", "itertools 0.13.0", "rattler_conda_types", - "rattler_digest 1.0.3 (git+https://github.com/conda/rattler?branch=main)", + "rattler_digest 1.0.4 (git+https://github.com/conda/rattler?branch=main)", "resolvo", "serde", "tempfile", - "thiserror 1.0.69", + "thiserror 2.0.8", "tracing", "url", ] [[package]] name = "rattler_virtual_packages" -version = "1.1.13" -source = "git+https://github.com/conda/rattler?branch=main#42de2b958ba8e02ae30753ee233790b32073f357" +version = "1.1.14" +source = "git+https://github.com/conda/rattler?branch=main#b9478369c50ae6f95bcbc8fcc982efec64e4eeda" dependencies = [ "archspec", "libloading", @@ -3685,7 +3894,7 @@ dependencies = [ "rattler_conda_types", "regex", "serde", - "thiserror 1.0.69", + "thiserror 2.0.8", "tracing", ] @@ -3820,16 +4029,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a77c62af46e79de0a562e1a9849205ffcb7fc1238876e9bd743357570e04046f" dependencies = [ "async-compression", - "base64", + "base64 0.22.1", "bytes", "encoding_rs", + "futures-channel", "futures-core", "futures-util", "h2", "http 1.2.0", "http-body 1.0.1", "http-body-util", - "hyper 1.5.1", + "hyper 1.5.2", "hyper-rustls", "hyper-tls", "hyper-util", @@ -3842,7 +4052,11 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", + "quinn", + "rustls", + "rustls-native-certs", "rustls-pemfile", + "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", @@ -3850,6 +4064,7 @@ dependencies = [ "system-configuration", "tokio", "tokio-native-tls", + "tokio-rustls", "tokio-util 0.7.13", "tower-service", "url", @@ -3857,6 +4072,7 @@ dependencies = [ "wasm-bindgen-futures", "wasm-streams", "web-sys", + "webpki-roots", "windows-registry", ] @@ -3970,12 +4186,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5065c3f250cbd332cd894be57c40fa52387247659b14a2d6041d121547903b1b" dependencies = [ "once_cell", + "ring", "rustls-pki-types", "rustls-webpki", "subtle", "zeroize", ] +[[package]] +name = "rustls-native-certs" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcff2dd52b58a8d98a70243663a0d234c4e2b79235637849d15913394a247d3" +dependencies = [ + "openssl-probe", + "rustls-pki-types", + "schannel", + "security-framework 3.1.0", +] + [[package]] name = "rustls-pemfile" version = "2.2.0" @@ -3990,6 +4219,9 @@ name = "rustls-pki-types" version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37" +dependencies = [ + "web-time", +] [[package]] name = "rustls-webpki" @@ -4092,9 +4324,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "3.0.1" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1415a607e92bec364ea2cf9264646dcce0f91e6d65281bd6f2819cca3bf39c8" +checksum = "81d3f8c9bfcc3cbb6b0179eb57042d75b1582bdc65c3cb95f3fa999509c03cbc" dependencies = [ "bitflags 2.6.0", "core-foundation 0.10.0", @@ -4105,9 +4337,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.12.1" +version = "2.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa39c7303dc58b5543c94d22c1766b0d31f2ee58306363ea622b10bbc075eaa2" +checksum = "1863fd3768cd83c56a7f60faa4dc0d403f1b6df0a38c3c25f44b7894e45370d5" dependencies = [ "core-foundation-sys", "libc", @@ -4154,6 +4386,15 @@ dependencies = [ "syn", ] +[[package]] +name = "serde_ignored" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8e319a36d1b52126a0d608f24e93b2d81297091818cd70625fcf50a15d84ddf" +dependencies = [ + "serde", +] + [[package]] name = "serde_json" version = "1.0.133" @@ -4205,7 +4446,7 @@ version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e28bdad6db2b8340e449f7108f020b3b092e8583a9e3fb82713e1d4e71fe817" dependencies = [ - "base64", + "base64 0.22.1", "chrono", "hex", "indexmap 1.9.3", @@ -4321,10 +4562,22 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1de1d4f81173b03af4c0cbed3c898f6bff5b870e4a7f5d6f4057d62a7a4b686e" +[[package]] +name = "simple_asn1" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" +dependencies = [ + "num-bigint", + "num-traits", + "thiserror 1.0.69", + "time", +] + [[package]] name = "simple_spawn_blocking" version = "1.0.0" -source = "git+https://github.com/conda/rattler?branch=main#42de2b958ba8e02ae30753ee233790b32073f357" +source = "git+https://github.com/conda/rattler?branch=main#b9478369c50ae6f95bcbc8fcc982efec64e4eeda" dependencies = [ "tokio", ] @@ -4509,9 +4762,9 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.32.1" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c33cd241af0f2e9e3b5c32163b873b29956890b5342e6745b917ce9d490f4af" +checksum = "948512566b1895f93b1592c7574baeb2de842f224f2aab158799ecadb8ebbb46" dependencies = [ "core-foundation-sys", "libc", @@ -4603,11 +4856,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.7" +version = "2.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93605438cbd668185516ab499d589afb7ee1859ea3d5fc8f6b0755e1c7443767" +checksum = "08f5383f3e0071702bf93ab5ee99b52d26936be9dedd9413067cbdcddcb6141a" dependencies = [ - "thiserror-impl 2.0.7", + "thiserror-impl 2.0.8", ] [[package]] @@ -4623,9 +4876,9 @@ dependencies = [ [[package]] name = "thiserror-impl" -version = "2.0.7" +version = "2.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d8749b4531af2117677a5fcd12b1348a3fe2b81e36e61ffeac5c4aa3273e36" +checksum = "f2f357fcec90b3caef6623a099691be676d033b40a058ac95d2a6ade6fa0c943" dependencies = [ "proc-macro2", "quote", @@ -4683,6 +4936,21 @@ dependencies = [ "zerovec", ] +[[package]] +name = "tinyvec" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + [[package]] name = "tokio" version = "1.42.0" @@ -4693,6 +4961,7 @@ dependencies = [ "bytes", "libc", "mio", + "parking_lot 0.12.3", "pin-project-lite", "signal-hook-registry", "socket2", @@ -4891,9 +5160,9 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "typed-path" -version = "0.9.3" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82205ffd44a9697e34fc145491aa47310f9871540bb7909eaa9365e0a9a46607" +checksum = "41713888c5ccfd99979fcd1afd47b71652e331b3d4a0e19d30769e80fec76cce" [[package]] name = "typeid" @@ -5182,6 +5451,15 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "webpki-roots" +version = "0.26.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d642ff16b7e79272ae451b7322067cdc17cadf68c23264be9d94a32319efe7e" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "which" version = "7.0.0" @@ -5751,9 +6029,9 @@ dependencies = [ [[package]] name = "zip" -version = "2.2.1" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99d52293fc86ea7cf13971b3bb81eb21683636e7ae24c729cdaf1b7c4157a352" +checksum = "ae9c1ea7b3a5e1f4b922ff856a129881167511563dc219869afe3787fc0c1a45" dependencies = [ "arbitrary", "crc32fast", @@ -5762,7 +6040,7 @@ dependencies = [ "flate2", "indexmap 2.7.0", "memchr", - "thiserror 2.0.7", + "thiserror 2.0.8", "time", "zopfli", ] diff --git a/Cargo.toml b/Cargo.toml index e779e77..7f8b03c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -31,16 +31,16 @@ jsonrpc-stdio-server = "18.0.0" jsonrpc-http-server = "18.0.0" jsonrpc-core = "18.0.0" -rattler-build = { git = "https://github.com/prefix-dev/rattler-build", rev = "b3f6bd25067177a4b7937a3960d2e2da196b249a", default-features = false } +rattler-build = { git = "https://github.com/prefix-dev/rattler-build", rev = "69b1d957fb0c63389a1f1f5fea33a40beccdc757", default-features = false } rattler_conda_types = { version = "0.29.1", default-features = false } rattler_package_streaming = { version = "0.22.14", default-features = false } rattler_virtual_packages = { version = "1.1.10", default-features = false } -pixi_build_types = { git = "https://github.com/prefix-dev/pixi", branch = "main" } -pixi_consts = { git = "https://github.com/prefix-dev/pixi", branch = "main" } -pixi_manifest = { git = "https://github.com/prefix-dev/pixi", branch = "main" } -pixi_spec = { git = "https://github.com/prefix-dev/pixi", branch = "main" } +pixi_build_types = { git = "https://github.com/nichmor/pixi", branch = "feat/add-git-source-dependencies" } +pixi_consts = { git = "https://github.com/nichmor/pixi", branch = "feat/add-git-source-dependencies" } +pixi_manifest = { git = "https://github.com/nichmor/pixi", branch = "feat/add-git-source-dependencies" } +pixi_spec = { git = "https://github.com/nichmor/pixi", branch = "feat/add-git-source-dependencies" } [patch.crates-io] rattler = { git = "https://github.com/conda/rattler", branch = "main" } diff --git a/crates/pixi-build/src/bin/pixi-build-cmake/cmake.rs b/crates/pixi-build/src/bin/pixi-build-cmake/cmake.rs index 1848a74..c11455b 100644 --- a/crates/pixi-build/src/bin/pixi-build-cmake/cmake.rs +++ b/crates/pixi-build/src/bin/pixi-build-cmake/cmake.rs @@ -654,4 +654,35 @@ mod tests { ".requirements.build[1]" => "... compiler ..." }); } + + #[tokio::test] + async fn test_parsing_subdirectory() { + // get cargo manifest dir + + let package_with_git_and_subdir = r#" + [workspace] + name = "test-reqs" + channels = ["conda-forge"] + platforms = ["osx-arm64"] + preview = ["pixi-build"] + + [package] + name = "test-reqs" + version = "1.0" + + [build-system] + build-backend = { name = "pixi-build-python", version = "*" } + + [host-dependencies] + hatchling = { git = "git+https://github.com/hatchling/hatchling.git", subdirectory = "src" } + "#; + + let tmp_dir = tempdir().unwrap(); + let tmp_manifest = tmp_dir.path().join("pixi.toml"); + + // write the raw string into the file + std::fs::write(&tmp_manifest, package_with_git_and_subdir).unwrap(); + + Manifest::from_str(&tmp_manifest, package_with_git_and_subdir).unwrap(); + } } diff --git a/crates/pixi-build/src/tools.rs b/crates/pixi-build/src/tools.rs index bd7f01c..623c34a 100644 --- a/crates/pixi-build/src/tools.rs +++ b/crates/pixi-build/src/tools.rs @@ -14,7 +14,7 @@ use rattler_build::{ BuildConfiguration, Directories, Output, PackageIdentifier, PackagingSettings, PlatformWithVirtualPackages, }, - recipe::{parser::find_outputs_from_src, ParsingError, Recipe}, + recipe::{parser::find_outputs_from_src, Jinja, ParsingError, Recipe}, selectors::SelectorConfig, system_tools::SystemTools, variant_config::{DiscoveredOutput, ParseErrors, VariantConfig}, @@ -113,7 +113,7 @@ impl RattlerBuild { if let Some(variant_config_input) = variant_config_input { for (k, v) in variant_config_input.iter() { - variant_config.variants.insert(k.to_owned(), v.clone()); + variant_config.variants.insert(k.as_str().into(), v.clone()); } } @@ -171,6 +171,8 @@ impl RattlerBuild { continue; } + let jinja = Jinja::new(selector_config); + subpackages.insert( recipe.package().name().clone(), PackageIdentifier { @@ -179,7 +181,7 @@ impl RattlerBuild { build_string: recipe .build() .string() - .resolve(&hash, recipe.build().number()) + .resolve(&hash, recipe.build().number(), &jinja) .into_owned(), }, );