diff --git a/Cargo.lock b/Cargo.lock index 734974033..9519e0c30 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -189,12 +189,14 @@ checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" [[package]] name = "async-broadcast" -version = "0.5.1" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b" +checksum = "20cd0e2e25ea8e5f7e9df04578dc6cf5c83577fd09b1a46aaf5c85e1c33f2a7e" dependencies = [ - "event-listener 2.5.3", + "event-listener", + "event-listener-strategy", "futures-core", + "pin-project-lite", ] [[package]] @@ -236,40 +238,19 @@ dependencies = [ "async-task", "concurrent-queue", "fastrand 2.1.0", - "futures-lite 2.3.0", + "futures-lite", "slab", ] [[package]] name = "async-fs" -version = "1.6.0" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06" +checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a" dependencies = [ - "async-lock 2.8.0", - "autocfg", + "async-lock", "blocking", - "futures-lite 1.13.0", -] - -[[package]] -name = "async-io" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" -dependencies = [ - "async-lock 2.8.0", - "autocfg", - "cfg-if", - "concurrent-queue", - "futures-lite 1.13.0", - "log", - "parking", - "polling 2.8.0", - "rustix 0.37.27", - "slab", - "socket2 0.4.10", - "waker-fn", + "futures-lite", ] [[package]] @@ -278,35 +259,26 @@ version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d6baa8f0178795da0e71bc42c9e5d13261aac7ee549853162e66a241ba17964" dependencies = [ - "async-lock 3.4.0", + "async-lock", "cfg-if", "concurrent-queue", "futures-io", - "futures-lite 2.3.0", + "futures-lite", "parking", - "polling 3.7.2", - "rustix 0.38.34", + "polling", + "rustix", "slab", "tracing", "windows-sys 0.52.0", ] -[[package]] -name = "async-lock" -version = "2.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" -dependencies = [ - "event-listener 2.5.3", -] - [[package]] name = "async-lock" version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" dependencies = [ - "event-listener 5.3.1", + "event-listener", "event-listener-strategy", "pin-project-lite", ] @@ -319,19 +291,22 @@ checksum = "9338790e78aa95a416786ec8389546c4b6a1dfc3dc36071ed9518a9413a542eb" [[package]] name = "async-process" -version = "1.8.1" +version = "2.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88" +checksum = "a8a07789659a4d385b79b18b9127fc27e1a59e1e89117c78c5ea3b806f016374" dependencies = [ - "async-io 1.13.0", - "async-lock 2.8.0", + "async-channel", + "async-io", + "async-lock", "async-signal", + "async-task", "blocking", "cfg-if", - "event-listener 3.1.0", - "futures-lite 1.13.0", - "rustix 0.38.34", - "windows-sys 0.48.0", + "event-listener", + "futures-lite", + "rustix", + "tracing", + "windows-sys 0.59.0", ] [[package]] @@ -351,13 +326,13 @@ version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfb3634b73397aa844481f814fad23bbf07fdb0eabec10f2eb95e58944b1ec32" dependencies = [ - "async-io 2.3.3", - "async-lock 3.4.0", + "async-io", + "async-lock", "atomic-waker", "cfg-if", "futures-core", "futures-io", - "rustix 0.38.34", + "rustix", "signal-hook-registry", "slab", "windows-sys 0.52.0", @@ -407,7 +382,7 @@ source = "git+https://github.com/charliermarsh/rs-async-zip?rev=1dcb40cfe1bf5325 dependencies = [ "async-compression", "crc32fast", - "futures-lite 2.3.0", + "futures-lite", "pin-project", "thiserror", "tokio", @@ -559,7 +534,7 @@ dependencies = [ "async-channel", "async-task", "futures-io", - "futures-lite 2.3.0", + "futures-lite", "piper", ] @@ -1067,6 +1042,35 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" +[[package]] +name = "dbus" +version = "0.9.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bb21987b9fb1613058ba3843121dd18b163b254d8a6e797e144cbac14d96d1b" +dependencies = [ + "libc", + "libdbus-sys", + "winapi", +] + +[[package]] +name = "dbus-secret-service" +version = "4.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1caa0c241c01ad8d99a78d553567d38f873dd3ac16eca33a5370d650ab25584e" +dependencies = [ + "aes", + "block-padding", + "cbc", + "dbus", + "futures-util", + "hkdf", + "num", + "once_cell", + "rand", + "sha2", +] + [[package]] name = "deno_task_shell" version = "0.16.1" @@ -1267,6 +1271,12 @@ dependencies = [ "encoding_rs", ] +[[package]] +name = "endi" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3d8a32ae18130a3c84dd492d4215c3d913c3b07c6b63c2eb3eb7ff1101ab7bf" + [[package]] name = "enum-as-inner" version = "0.6.0" @@ -1338,23 +1348,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "event-listener" -version = "2.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" - -[[package]] -name = "event-listener" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - [[package]] name = "event-listener" version = "5.3.1" @@ -1372,7 +1365,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" dependencies = [ - "event-listener 5.3.1", + "event-listener", "pin-project-lite", ] @@ -1405,15 +1398,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e5768da2206272c81ef0b5e951a41862938a6070da63bcea197899942d3b947" dependencies = [ "cfg-if", - "rustix 0.38.34", + "rustix", "windows-sys 0.52.0", ] [[package]] name = "file_url" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0d1df57145d7cda57c95c44a2d64c24f579e2d50b8f4f7a779287293ad3adc0" +checksum = "5c4602b5420b868957e88e55b927d67e273c764ce9fb6def7369248862928230" dependencies = [ "itertools 0.13.0", "percent-encoding", @@ -1588,21 +1581,6 @@ version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" -[[package]] -name = "futures-lite" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" -dependencies = [ - "fastrand 1.9.0", - "futures-core", - "futures-io", - "memchr", - "parking", - "pin-project-lite", - "waker-fn", -] - [[package]] name = "futures-lite" version = "2.3.0" @@ -2067,7 +2045,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.5.7", + "socket2", "tokio", "tower-service", "tracing", @@ -2169,7 +2147,7 @@ dependencies = [ "http-body 1.0.1", "hyper 1.4.1", "pin-project-lite", - "socket2 0.5.7", + "socket2", "tokio", "tower", "tower-service", @@ -2342,17 +2320,6 @@ dependencies = [ "web-sys", ] -[[package]] -name = "io-lifetimes" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" -dependencies = [ - "hermit-abi 0.3.9", - "libc", - "windows-sys 0.48.0", -] - [[package]] name = "ipnet" version = "2.9.0" @@ -2472,16 +2439,16 @@ dependencies = [ [[package]] name = "keyring" -version = "2.3.3" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "363387f0019d714aa60cc30ab4fe501a747f4c08fc58f069dd14be971bd495a0" +checksum = "73b9af47ded4df3067484d7d45758ca2b36bd083bf6d024c2952bbd8af1cdaa4" dependencies = [ "byteorder", - "lazy_static", - "linux-keyutils", + "dbus-secret-service", "secret-service", "security-framework", - "windows-sys 0.52.0", + "windows-sys 0.59.0", + "zbus", ] [[package]] @@ -2583,6 +2550,15 @@ version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" +[[package]] +name = "libdbus-sys" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06085512b750d640299b79be4bad3d2fa90a9c00b1fd9e1b46364f66f0485c72" +dependencies = [ + "pkg-config", +] + [[package]] name = "libloading" version = "0.8.5" @@ -2615,22 +2591,6 @@ version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" -[[package]] -name = "linux-keyutils" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "761e49ec5fd8a5a463f9b84e877c373d888935b71c6be78f3767fe2ae6bed18e" -dependencies = [ - "bitflags 2.6.0", - "libc", -] - -[[package]] -name = "linux-raw-sys" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" - [[package]] name = "linux-raw-sys" version = "0.4.14" @@ -2713,15 +2673,6 @@ dependencies = [ "libc", ] -[[package]] -name = "memoffset" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" -dependencies = [ - "autocfg", -] - [[package]] name = "memoffset" version = "0.9.1" @@ -2874,18 +2825,6 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea2970fbbc8c785e8246234a7bd004ed66cd1ed1a35ec73669a92545e419b836" -[[package]] -name = "nix" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" -dependencies = [ - "bitflags 1.3.2", - "cfg-if", - "libc", - "memoffset 0.7.1", -] - [[package]] name = "nix" version = "0.29.0" @@ -2896,6 +2835,7 @@ dependencies = [ "cfg-if", "cfg_aliases", "libc", + "memoffset", ] [[package]] @@ -3428,7 +3368,7 @@ dependencies = [ "libc", "miette 7.2.0", "minijinja", - "nix 0.29.0", + "nix", "once_cell", "parking_lot 0.12.3", "pep440_rs", @@ -3591,7 +3531,7 @@ name = "pixi_pty" version = "0.1.0" dependencies = [ "libc", - "nix 0.29.0", + "nix", "signal-hook", ] @@ -3696,22 +3636,6 @@ dependencies = [ "time", ] -[[package]] -name = "polling" -version = "2.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" -dependencies = [ - "autocfg", - "bitflags 1.3.2", - "cfg-if", - "concurrent-queue", - "libc", - "log", - "pin-project-lite", - "windows-sys 0.48.0", -] - [[package]] name = "polling" version = "3.7.2" @@ -3722,7 +3646,7 @@ dependencies = [ "concurrent-queue", "hermit-abi 0.4.0", "pin-project-lite", - "rustix 0.38.34", + "rustix", "tracing", "windows-sys 0.52.0", ] @@ -3761,12 +3685,11 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "1.3.1" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" dependencies = [ - "once_cell", - "toml_edit 0.19.15", + "toml_edit 0.21.1", ] [[package]] @@ -3930,7 +3853,7 @@ dependencies = [ "quinn-udp", "rustc-hash 2.0.0", "rustls 0.23.12", - "socket2 0.5.7", + "socket2", "thiserror", "tokio", "tracing", @@ -3961,7 +3884,7 @@ checksum = "8bffec3605b73c6f1754535084a85229fa8a30f86014e6c81aeec4abb68b0285" dependencies = [ "libc", "once_cell", - "socket2 0.5.7", + "socket2", "tracing", "windows-sys 0.52.0", ] @@ -4019,9 +3942,9 @@ dependencies = [ [[package]] name = "rattler" -version = "0.27.4" +version = "0.27.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a104e49f09b7e4b94a71b8cd84f42f30fc87160ed26c6144298b1582c65e260b" +checksum = "70e94e9ac249e66d45f10216692c29750f39cb95f4ea701c623f0b3138c24fdb" dependencies = [ "anyhow", "clap", @@ -4060,9 +3983,9 @@ dependencies = [ [[package]] name = "rattler_cache" -version = "0.1.6" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "565a1fc40c3558e35732981448daa26ac2deb9dd41224ca11e9bd0911cabb1dc" +checksum = "534344446506ef7b6035b2a3d75937b8375dea7a99da6eeb3631fd478782fa34" dependencies = [ "anyhow", "digest", @@ -4084,9 +4007,9 @@ dependencies = [ [[package]] name = "rattler_conda_types" -version = "0.27.1" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ffb561817646d4c332761f782f9d30e134b46c7a94dfd170b5779e87d863dbe" +checksum = "d4dc7a58ae237e3f57310095033da58b37d98ce7c167bc928b0f81951279c514" dependencies = [ "chrono", "dirs", @@ -4120,9 +4043,9 @@ dependencies = [ [[package]] name = "rattler_digest" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b747092584fbc2bfef5e4f7286a0b6f81aec1bf67b537ef9f1749cb7931ac7f" +checksum = "d699fe089907cc0ca66966f6b94e0dc04792a1451b2a60ba49c0abb75fba33da" dependencies = [ "blake2", "digest", @@ -4137,9 +4060,9 @@ dependencies = [ [[package]] name = "rattler_lock" -version = "0.22.18" +version = "0.22.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f509b88f4eba1ca9451797dcc213c2eef9907f4026762a1673cc10f0504cff66" +checksum = "1ce9290c3c0a702806b74b015a5c3dd638211255379f59d261e098ffc12d98d9" dependencies = [ "chrono", "file_url", @@ -4160,9 +4083,9 @@ dependencies = [ [[package]] name = "rattler_macros" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d0b45deecbbeba352e61c57a304a1a149c6f8273655a338668d29899a22738d" +checksum = "18011e84fcc8dba03a4af5b70cbb99362968cdace525139df430b4f268ef58e0" dependencies = [ "quote", "syn 2.0.72", @@ -4170,9 +4093,9 @@ dependencies = [ [[package]] name = "rattler_networking" -version = "0.21.0" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "833d3c289d390a421af42be0ecf5ad65d1a9659a23a971c153de8bcc60a7fdef" +checksum = "c53c13a325db9d307886a6a31c3c88a3126b006fe618974b528b6dcf1943ece1" dependencies = [ "anyhow", "async-trait", @@ -4198,9 +4121,9 @@ dependencies = [ [[package]] name = "rattler_package_streaming" -version = "0.22.1" +version = "0.22.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fbe8c3d3820f0732ee49b0041144eb802cb0f44cd5629d15400dde344c6003" +checksum = "fe4f972fe90d9ebbb055ca3cf3527d9206ff908fee1a39f880d5db209c729976" dependencies = [ "bzip2", "chrono", @@ -4226,9 +4149,9 @@ dependencies = [ [[package]] name = "rattler_redaction" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5ffcd6377f7a292ea09f25d3111b4647f3f159fea310c3d78eeb0ad5894efe2" +checksum = "14b8739ebf209f017d70f4a27b2726358bade979cc3327b1765163c93a18d46f" dependencies = [ "reqwest 0.12.5", "reqwest-middleware", @@ -4237,9 +4160,9 @@ dependencies = [ [[package]] name = "rattler_repodata_gateway" -version = "0.21.5" +version = "0.21.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b228f2c2774f051d60bf4e364a9bbc57c44223afd57a31b495e92e7c76450d5b" +checksum = "e7b4e6ee72bad488f18de5bdff0fb22f4a2d91a950e4d8b5b01700d4bfcae9c7" dependencies = [ "anyhow", "async-compression", @@ -4290,9 +4213,9 @@ dependencies = [ [[package]] name = "rattler_shell" -version = "0.21.5" +version = "0.21.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4141b22e60ba23f174e65e88b0d3586367d9d9a2323441c1eca28a6939d74309" +checksum = "470fb87026522cb8bdf914b7d044644889d62d91e18f57d3e01f90983a4d49b1" dependencies = [ "enum_dispatch", "indexmap 2.3.0", @@ -4308,9 +4231,9 @@ dependencies = [ [[package]] name = "rattler_solve" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d93d5e60a3fd320a2e5eb199e5216ae440a46c270e662d1e61e9aa9dedbf6e6" +checksum = "5a2afc9a5f77abdc151bd99be9339078e1b6f9bfdbad04705bbb50c30ae11f50" dependencies = [ "chrono", "futures", @@ -4327,9 +4250,9 @@ dependencies = [ [[package]] name = "rattler_virtual_packages" -version = "1.0.2" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed06f9e0fbe5d11bcabaec23bb7c3c96ff3adce26c2b008fa68f37b19ea9afcd" +checksum = "cdf264a6dff4b04c99c51a27b8008a1d250540a802179858b7e1b6f4b7c97689" dependencies = [ "archspec", "libloading", @@ -4437,7 +4360,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc31414597d1cd7fdd2422798b7652a6329dda0fe0219e6335a13d5bcaa9aeb6" dependencies = [ "cfg-if", - "rustix 0.38.34", + "rustix", "windows 0.58.0", ] @@ -4656,14 +4579,14 @@ dependencies = [ [[package]] name = "resolvo" -version = "0.6.2" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09f13bb82d6362074f2b2d858bb316dfb2a9940c7e33a9ccd0168ba4f6a247b2" +checksum = "014783b06e2d02bee01fe3c3247454fb34d0fc35765334e825034cdadec422fa" dependencies = [ "ahash 0.8.11", "bitvec", "elsa", - "event-listener 5.3.1", + "event-listener", "futures", "itertools 0.13.0", "petgraph", @@ -4830,20 +4753,6 @@ dependencies = [ "semver", ] -[[package]] -name = "rustix" -version = "0.37.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" -dependencies = [ - "bitflags 1.3.2", - "errno", - "io-lifetimes", - "libc", - "linux-raw-sys 0.3.8", - "windows-sys 0.48.0", -] - [[package]] name = "rustix" version = "0.38.34" @@ -4853,7 +4762,7 @@ dependencies = [ "bitflags 2.6.0", "errno", "libc", - "linux-raw-sys 0.4.14", + "linux-raw-sys", "windows-sys 0.52.0", ] @@ -5011,9 +4920,9 @@ checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" [[package]] name = "secret-service" -version = "3.1.0" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5204d39df37f06d1944935232fd2dfe05008def7ca599bf28c0800366c8a8f9" +checksum = "e4d35ad99a181be0a60ffcbe85d680d98f87bdc4d7644ade319b87076b9dbfd4" dependencies = [ "aes", "cbc", @@ -5396,16 +5305,6 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" -[[package]] -name = "socket2" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" -dependencies = [ - "libc", - "winapi", -] - [[package]] name = "socket2" version = "0.5.7" @@ -5656,7 +5555,7 @@ dependencies = [ "cfg-if", "fastrand 2.1.0", "once_cell", - "rustix 0.38.34", + "rustix", "windows-sys 0.52.0", ] @@ -5666,7 +5565,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" dependencies = [ - "rustix 0.38.34", + "rustix", "windows-sys 0.48.0", ] @@ -5776,7 +5675,7 @@ dependencies = [ "parking_lot 0.12.3", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.7", + "socket2", "tokio-macros", "windows-sys 0.52.0", ] @@ -5887,9 +5786,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.19.15" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" dependencies = [ "indexmap 2.3.0", "toml_datetime", @@ -6027,7 +5926,7 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9" dependencies = [ - "memoffset 0.9.1", + "memoffset", "tempfile", "winapi", ] @@ -6634,12 +6533,6 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" -[[package]] -name = "waker-fn" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7" - [[package]] name = "walkdir" version = "2.5.0" @@ -6792,7 +6685,7 @@ checksum = "3d9c5ed668ee1f17edb3b627225343d210006a90bb1e3745ce1f30b1fb115075" dependencies = [ "either", "home", - "rustix 0.38.34", + "rustix", "winsafe", ] @@ -7118,8 +7011,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" dependencies = [ "libc", - "linux-raw-sys 0.4.14", - "rustix 0.38.34", + "linux-raw-sys", + "rustix", ] [[package]] @@ -7146,30 +7039,27 @@ checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" [[package]] name = "zbus" -version = "3.15.2" +version = "4.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "675d170b632a6ad49804c8cf2105d7c31eddd3312555cffd4b740e08e97c25e6" +checksum = "bb97012beadd29e654708a0fdb4c84bc046f537aecfde2c3ee0a9e4b4d48c725" dependencies = [ "async-broadcast", "async-executor", "async-fs", - "async-io 1.13.0", - "async-lock 2.8.0", + "async-io", + "async-lock", "async-process", "async-recursion", "async-task", "async-trait", "blocking", - "byteorder", - "derivative", "enumflags2", - "event-listener 2.5.3", + "event-listener", "futures-core", "futures-sink", "futures-util", "hex", - "nix 0.26.4", - "once_cell", + "nix", "ordered-stream", "rand", "serde", @@ -7178,7 +7068,7 @@ dependencies = [ "static_assertions", "tracing", "uds_windows", - "winapi", + "windows-sys 0.52.0", "xdg-home", "zbus_macros", "zbus_names", @@ -7187,23 +7077,22 @@ dependencies = [ [[package]] name = "zbus_macros" -version = "3.15.2" +version = "4.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7131497b0f887e8061b430c530240063d33bf9455fa34438f388a245da69e0a5" +checksum = "267db9407081e90bbfa46d841d3cbc60f59c0351838c4bc65199ecd79ab1983e" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "regex", - "syn 1.0.109", + "syn 2.0.72", "zvariant_utils", ] [[package]] name = "zbus_names" -version = "2.6.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "437d738d3750bed6ca9b8d423ccc7a8eb284f6b1d6d4e225a0e4e6258d864c8d" +checksum = "4b9b1fef7d021261cc16cba64c351d291b715febe0fa10dc3a443ac5a5022e6c" dependencies = [ "serde", "static_assertions", @@ -7312,13 +7201,12 @@ dependencies = [ [[package]] name = "zvariant" -version = "3.15.2" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eef2be88ba09b358d3b58aca6e41cd853631d44787f319a1383ca83424fb2db" +checksum = "2084290ab9a1c471c38fc524945837734fbf124487e105daec2bb57fd48c81fe" dependencies = [ - "byteorder", + "endi", "enumflags2", - "libc", "serde", "static_assertions", "zvariant_derive", @@ -7326,24 +7214,24 @@ dependencies = [ [[package]] name = "zvariant_derive" -version = "3.15.2" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37c24dc0bed72f5f90d1f8bb5b07228cbf63b3c6e9f82d82559d4bae666e7ed9" +checksum = "73e2ba546bda683a90652bac4a279bc146adad1386f25379cf73200d2002c449" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.72", "zvariant_utils", ] [[package]] name = "zvariant_utils" -version = "1.0.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7234f0d811589db492d16893e3f21e8e2fd282e6d01b0cddee310322062cc200" +checksum = "c51bcff7cc3dbb5055396bcf774748c3dab426b4b8659046963523cee4808340" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.72", ] diff --git a/Cargo.toml b/Cargo.toml index 9234f1542..e6e6145a1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -30,7 +30,6 @@ distribution-filename = { git = "https://github.com/astral-sh/uv", tag = "0.2.18 distribution-types = { git = "https://github.com/astral-sh/uv", tag = "0.2.18" } dunce = "1.0.4" fd-lock = "4.0.2" -file_url = "0.1.3" flate2 = "1.0.28" fs_extra = "1.3.0" futures = "0.3.30" @@ -57,15 +56,6 @@ percent-encoding = "2.3.1" platform-tags = { git = "https://github.com/astral-sh/uv", tag = "0.2.18" } pypi-types = { git = "https://github.com/astral-sh/uv", tag = "0.2.18" } pyproject-toml = "0.11.0" -rattler = { version = "0.27.4", default-features = false } -rattler_conda_types = { version = "0.27.1", default-features = false } -rattler_digest = { version = "1.0.0", default-features = false } -rattler_lock = { version = "0.22.18", default-features = false } -rattler_networking = { version = "0.21.0", default-features = false } -rattler_repodata_gateway = { version = "0.21.5", default-features = false } -rattler_shell = { version = "0.21.5", default-features = false } -rattler_solve = { version = "1.0.2", default-features = false } -rattler_virtual_packages = { version = "1.0.2", default-features = false } regex = "1.10.4" requirements-txt = { git = "https://github.com/astral-sh/uv", tag = "0.2.18" } reqwest = { version = "0.12.4", default-features = false } @@ -96,6 +86,18 @@ tracing = "0.1.40" tracing-subscriber = "0.3.18" typed-path = "0.9.1" +# Rattler crates +file_url = "0.1.4" +rattler = { version = "0.27.6", default-features = false } +rattler_conda_types = { version = "0.27.2", default-features = false } +rattler_digest = { version = "1.0.1", default-features = false } +rattler_lock = { version = "0.22.20", default-features = false } +rattler_networking = { version = "0.21.2", default-features = false } +rattler_repodata_gateway = { version = "0.21.8", default-features = false } +rattler_shell = { version = "0.21.6", default-features = false } +rattler_solve = { version = "1.0.3", default-features = false } +rattler_virtual_packages = { version = "1.0.4", default-features = false } + # Bumping this to a higher version breaks the Windows path handling. url = "2.5.0" uv-auth = { git = "https://github.com/astral-sh/uv", tag = "0.2.18" } @@ -234,7 +236,7 @@ pixi_consts = { workspace = true } pixi_default_versions = { workspace = true } pixi_manifest = { workspace = true } pixi_progress = { workspace = true } -pixi_spec = { workspace = true, features = ["toml_edit"] } +pixi_spec = { workspace = true } pixi_utils = { workspace = true, default-features = false } pixi_uv_conversions = { workspace = true } pypi_mapping = { workspace = true } diff --git a/crates/pixi_manifest/Cargo.toml b/crates/pixi_manifest/Cargo.toml index 48a53a2ed..402f8c0f1 100644 --- a/crates/pixi_manifest/Cargo.toml +++ b/crates/pixi_manifest/Cargo.toml @@ -17,7 +17,7 @@ lazy_static = { workspace = true } pep440_rs = { workspace = true } pep508_rs = { workspace = true } pixi_consts = { workspace = true } -pixi_spec = { workspace = true, features = ["toml_edit"] } +pixi_spec = { workspace = true } regex = { workspace = true } serde = { workspace = true } serde-untagged = { workspace = true } diff --git a/crates/pixi_spec/Cargo.toml b/crates/pixi_spec/Cargo.toml index 5c5c5c6e9..9df286523 100644 --- a/crates/pixi_spec/Cargo.toml +++ b/crates/pixi_spec/Cargo.toml @@ -18,7 +18,7 @@ serde = { workspace = true } serde-untagged = { workspace = true } serde_with = { workspace = true } thiserror = { workspace = true } -toml_edit = { workspace = true, optional = true } +toml_edit = { workspace = true, features = ["serde"] } typed-path = { workspace = true } url = { workspace = true } diff --git a/crates/pixi_spec/src/lib.rs b/crates/pixi_spec/src/lib.rs index 25a5eb6b9..e5edfb2ba 100644 --- a/crates/pixi_spec/src/lib.rs +++ b/crates/pixi_spec/src/lib.rs @@ -279,7 +279,6 @@ impl PixiSpec { !self.is_binary() } - #[cfg(feature = "toml_edit")] /// Converts this instance into a [`toml_edit::Value`]. pub fn to_toml_value(&self) -> toml_edit::Value { ::serde::Serialize::serialize(self, toml_edit::ser::ValueSerializer::new()) @@ -350,7 +349,6 @@ impl From for SourceSpec { } } -#[cfg(feature = "toml_edit")] impl From for toml_edit::Value { fn from(value: PixiSpec) -> Self { ::serde::Serialize::serialize(&value, toml_edit::ser::ValueSerializer::new()) diff --git a/crates/pixi_spec/src/serde.rs b/crates/pixi_spec/src/serde.rs index 953d596c2..29ac245bd 100644 --- a/crates/pixi_spec/src/serde.rs +++ b/crates/pixi_spec/src/serde.rs @@ -1,10 +1,13 @@ +use std::{fmt::Display, path::PathBuf}; + use rattler_conda_types::{ - BuildNumberSpec, NamedChannelOrUrl, ParseStrictness::Strict, StringMatcher, VersionSpec, + BuildNumberSpec, ChannelConfig, NamedChannelOrUrl, NamelessMatchSpec, + ParseStrictness::{Lenient, Strict}, + StringMatcher, VersionSpec, }; use rattler_digest::{Md5Hash, Sha256Hash}; use serde::{de::Error, Deserialize, Deserializer, Serialize, Serializer}; use serde_with::serde_as; -use std::fmt::Display; use url::Url; use crate::{DetailedSpec, GitReference, GitSpec, PathSpec, PixiSpec, UrlSpec}; @@ -81,6 +84,17 @@ fn version_spec_error>(input: T) -> Option { return Some(format!("it seems you're trying to add a url dependency, please specify as a table with a `url` key: '{{ url = \"{input}\" }}'")); } + if let Ok(match_spec) = NamelessMatchSpec::from_str(&input, Lenient) { + let spec = PixiSpec::from_nameless_matchspec( + match_spec, + &ChannelConfig::default_with_root_dir(PathBuf::default()), + ); + return Some(format!( + "expected a version specifier but looks like a matchspec, did you mean {}?", + spec.to_toml_value() + )); + }; + if input.contains("subdir") { return Some("it seems you're trying to add a detailed dependency, please specify as a table with a `subdir` key: '{ version = \"\", subdir = \"\" }'".to_string()); } @@ -96,6 +110,7 @@ fn version_spec_error>(input: T) -> Option { if input.contains("sha256") { return Some("it seems you're trying to add a detailed dependency, please specify as a table with a `sha256` key: '{ version = \"\", sha256 = \"\" }'".to_string()); } + None } @@ -109,14 +124,12 @@ impl<'de> Deserialize<'de> for PixiSpec { "a version string like \">=0.9.8\" or a detailed dependency like { version = \">=0.9.8\" }", ) .string(|str| { - - VersionSpec::from_str(str, Strict) - .map_err(|err|{ + .map_err(|_err|{ if let Some(msg) = version_spec_error(str) { serde_untagged::de::Error::custom(msg) } else { - serde_untagged::de::Error::custom(err) + serde_untagged::de::Error::custom("invalid version specifier") } }) .map(PixiSpec::Version) @@ -338,6 +351,8 @@ mod test { json! { "conda-forge::1.2.3"}, json! { "1.2.3[md5=315f5bdb76d078c43b8ac0064e4a0164612b1fce77c869345bfc94c75894edd3]"}, json! { "1.2.3[sha256=315f5bdb76d078c43b8ac0064e4a0164612b1fce77c869345bfc94c75894edd3]"}, + json! { "*cpu*"}, + json! { "*=*openblas"}, ]; #[derive(Serialize)] diff --git a/crates/pixi_spec/src/snapshots/pixi_spec__serde__test__round_trip.snap b/crates/pixi_spec/src/snapshots/pixi_spec__serde__test__round_trip.snap index 5acdc8ced..6f425fa62 100644 --- a/crates/pixi_spec/src/snapshots/pixi_spec__serde__test__round_trip.snap +++ b/crates/pixi_spec/src/snapshots/pixi_spec__serde__test__round_trip.snap @@ -124,16 +124,22 @@ expression: snapshot error: "ERROR: it seems you're trying to add a git dependency, please specify as a table with a `git` key: '{ git = \"https://github.com/conda-forge/21cmfast-feedstock\" }'" - input: "1.2.3[subdir=linux-64]" result: - error: "ERROR: it seems you're trying to add a detailed dependency, please specify as a table with a `subdir` key: '{ version = \"\", subdir = \"\" }'" + error: "ERROR: expected a version specifier but looks like a matchspec, did you mean { version = \"==1.2.3\", subdir = \"linux-64\" }?" - input: "1.2.3[channel=conda-forge]" result: - error: "ERROR: it seems you're trying to add a detailed dependency, please specify as a table with a `channel` key: '{ version = \"\", channel = \"\" }'" + error: "ERROR: expected a version specifier but looks like a matchspec, did you mean { version = \"==1.2.3\", channel = \"conda-forge\" }?" - input: "conda-forge::1.2.3" result: - error: "ERROR: it seems you're trying to add a detailed dependency, please specify as a table with a `channel` key: '{ version = \"\", channel = \"\" }'" + error: "ERROR: expected a version specifier but looks like a matchspec, did you mean { version = \"==1.2.3\", channel = \"conda-forge\" }?" - input: "1.2.3[md5=315f5bdb76d078c43b8ac0064e4a0164612b1fce77c869345bfc94c75894edd3]" result: error: "ERROR: it seems you're trying to add a detailed dependency, please specify as a table with a `md5` key: '{ version = \"\", md5 = \"\" }'" - input: "1.2.3[sha256=315f5bdb76d078c43b8ac0064e4a0164612b1fce77c869345bfc94c75894edd3]" result: - error: "ERROR: it seems you're trying to add a detailed dependency, please specify as a table with a `sha256` key: '{ version = \"\", sha256 = \"\" }'" + error: "ERROR: expected a version specifier but looks like a matchspec, did you mean { version = \"==1.2.3\", sha256 = \"315f5bdb76d078c43b8ac0064e4a0164612b1fce77c869345bfc94c75894edd3\" }?" +- input: "*cpu*" + result: + error: "ERROR: expected a version specifier but looks like a matchspec, did you mean { version = \"*\", build = \"cpu*\" }?" +- input: "*=*openblas" + result: + error: "ERROR: expected a version specifier but looks like a matchspec, did you mean { version = \"*\", build = \"*openblas\" }?"