diff --git a/Cargo.lock b/Cargo.lock index 02afb05..398ed12 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -108,9 +108,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.100" +version = "1.0.102" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" +checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" [[package]] name = "arbitrary" @@ -134,7 +134,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6cb15b4f5096a3a1b41fdc2736a1c33d87c78f34d3c1ec2b669e766edadd559" dependencies = [ "astral-version-ranges", - "indexmap 2.12.1", + "indexmap 2.13.0", "log", "priority-queue", "rustc-hash", @@ -149,7 +149,7 @@ checksum = "638d02e24aeb92f9537897cd1ff82e2bc98fd9ac9575a503e27bb07cdf64d4d7" dependencies = [ "anyhow", "async-trait", - "http 1.3.1", + "http 1.4.0", "reqwest", "serde", "thiserror 2.0.17", @@ -167,10 +167,10 @@ dependencies = [ "async-trait", "futures", "getrandom 0.2.16", - "http 1.3.1", + "http 1.4.0", "hyper", "reqwest", - "retry-policies", + "retry-policies 0.4.0", "thiserror 2.0.17", "tokio", "tracing", @@ -202,6 +202,22 @@ dependencies = [ "xattr", ] +[[package]] +name = "astral-tokio-tar" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c23f3af104b40a3430ccb90ed5f7bd877a8dc5c26fc92fde51a22b40890dcf9" +dependencies = [ + "filetime", + "futures-core", + "libc", + "portable-atomic", + "rustc-hash", + "tokio", + "tokio-stream", + "xattr", +] + [[package]] name = "astral-version-ranges" version = "0.1.4" @@ -352,7 +368,7 @@ dependencies = [ "futures-lite", "parking", "polling", - "rustix 1.1.2", + "rustix 1.1.4", "slab", "windows-sys 0.61.2", ] @@ -389,7 +405,7 @@ dependencies = [ "cfg-if", "event-listener 5.4.1", "futures-lite", - "rustix 1.1.2", + "rustix 1.1.4", ] [[package]] @@ -415,12 +431,22 @@ dependencies = [ "cfg-if", "futures-core", "futures-io", - "rustix 1.1.2", + "rustix 1.1.4", "signal-hook-registry", "slab", "windows-sys 0.61.2", ] +[[package]] +name = "async-spooled-tempfile" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dd9c58a1dbecfc23aa470d57e5aff60877ab1b459bf05e60e861dd18fcaa5f5" +dependencies = [ + "tempfile", + "tokio", +] + [[package]] name = "async-std" version = "1.13.2" @@ -464,6 +490,26 @@ dependencies = [ "syn", ] +[[package]] +name = "async_http_range_reader" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b537c00269e3f943e06f5d7cabf8ccd281b800fd0c7f111dd82f77154334197" +dependencies = [ + "bisection", + "futures", + "http-content-range", + "itertools 0.13.0", + "memmap2", + "reqwest", + "reqwest-middleware", + "thiserror 1.0.69", + "tokio", + "tokio-stream", + "tokio-util", + "tracing", +] + [[package]] name = "atomic-waker" version = "1.1.2" @@ -499,7 +545,7 @@ dependencies = [ "bytes", "fastrand", "hex", - "http 1.3.1", + "http 1.4.0", "p256 0.13.2", "rand 0.8.5", "ring", @@ -573,7 +619,7 @@ dependencies = [ "hex", "hmac", "http 0.2.12", - "http 1.3.1", + "http 1.4.0", "http-body 0.4.6", "lru", "percent-encoding", @@ -689,7 +735,7 @@ dependencies = [ "hex", "hmac", "http 0.2.12", - "http 1.3.1", + "http 1.4.0", "p256 0.11.1", "percent-encoding", "ring", @@ -756,7 +802,7 @@ dependencies = [ "futures-core", "futures-util", "http 0.2.12", - "http 1.3.1", + "http 1.4.0", "http-body 0.4.6", "percent-encoding", "pin-project-lite", @@ -774,7 +820,7 @@ dependencies = [ "aws-smithy-runtime-api", "aws-smithy-types", "h2", - "http 1.3.1", + "http 1.4.0", "hyper", "hyper-rustls", "hyper-util", @@ -830,7 +876,7 @@ dependencies = [ "bytes", "fastrand", "http 0.2.12", - "http 1.3.1", + "http 1.4.0", "http-body 0.4.6", "http-body 1.0.1", "pin-project-lite", @@ -849,7 +895,7 @@ dependencies = [ "aws-smithy-types", "bytes", "http 0.2.12", - "http 1.3.1", + "http 1.4.0", "pin-project-lite", "tokio", "tracing", @@ -867,7 +913,7 @@ dependencies = [ "bytes-utils", "futures-core", "http 0.2.12", - "http 1.3.1", + "http 1.4.0", "http-body 0.4.6", "http-body 1.0.1", "http-body-util", @@ -1217,9 +1263,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.53" +version = "4.5.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9e340e012a1bf4935f5282ed1436d1489548e8f72308207ea5df0e23d2d03f8" +checksum = "2797f34da339ce31042b27d23607e051786132987f595b02ba4f6a6dffb7030a" dependencies = [ "clap_builder", "clap_derive", @@ -1238,9 +1284,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.53" +version = "4.5.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d76b5d13eaa18c901fd2f7fca939fefe3a0727a953561fefdf3b2922b8569d00" +checksum = "24a241312cea5059b13574bb9b3861cabf758b879c15190b37b6d6fd63ab6876" dependencies = [ "anstream", "anstyle", @@ -1250,18 +1296,18 @@ dependencies = [ [[package]] name = "clap_complete" -version = "4.5.61" +version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39615915e2ece2550c0149addac32fb5bd312c657f43845bb9088cb9c8a7c992" +checksum = "19c9f1dde76b736e3681f28cec9d5a61299cbaae0fce80a68e43724ad56031eb" dependencies = [ "clap", ] [[package]] name = "clap_derive" -version = "4.5.49" +version = "4.5.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a0b5487afeab2deb2ff4e03a807ad1a03ac532ff5a2cee5d86884440c7f7671" +checksum = "a92793da1a46a5f2a02a6f4c46c6496b28c43638adea8306fcb0caa1634f24e5" dependencies = [ "heck", "proc-macro2", @@ -1271,9 +1317,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.7.6" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d728cc89cf3aee9ff92b05e62b19ee65a02b5702cff7d5a377e32c6ae29d8d" +checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9" [[package]] name = "colorchoice" @@ -1523,7 +1569,7 @@ dependencies = [ "base64 0.21.7", "cyclonedx-bom-macros", "fluent-uri", - "indexmap 2.12.1", + "indexmap 2.13.0", "once_cell", "ordered-float 4.6.0", "purl", @@ -1551,9 +1597,9 @@ dependencies = [ [[package]] name = "darling" -version = "0.21.3" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" +checksum = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d" dependencies = [ "darling_core", "darling_macro", @@ -1561,11 +1607,10 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.21.3" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" +checksum = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0" dependencies = [ - "fnv", "ident_case", "proc-macro2", "quote", @@ -1575,9 +1620,9 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.21.3" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" +checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" dependencies = [ "darling_core", "quote", @@ -1947,9 +1992,9 @@ dependencies = [ [[package]] name = "fancy-regex" -version = "0.16.2" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "998b056554fbe42e03ae0e152895cd1a7e1002aec800fdc6635d20270260c46f" +checksum = "72cf461f865c862bb7dc573f643dd6a2b6842f7c30b07882b56bd148cc2761b8" dependencies = [ "bit-set", "regex-automata", @@ -1984,9 +2029,9 @@ dependencies = [ [[package]] name = "file_url" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "765662dc0b26e038099a5a1529f5d48443111eea45377c312be892997651710e" +checksum = "81d37aab514a05a249a5b15408dc74d716f5745a2c5daf22e40a245ffd38fa84" dependencies = [ "itertools 0.14.0", "percent-encoding", @@ -2107,16 +2152,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8640e34b88f7652208ce9e88b1a37a2ae95227d84abec377ccd3c5cfeb141ed4" dependencies = [ "fs-err", - "rustix 1.1.2", + "rustix 1.1.4", "tokio", "windows-sys 0.59.0", ] [[package]] name = "futures" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" +checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d" dependencies = [ "futures-channel", "futures-core", @@ -2129,9 +2174,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" dependencies = [ "futures-core", "futures-sink", @@ -2139,15 +2184,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" +checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" [[package]] name = "futures-executor" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" +checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" dependencies = [ "futures-core", "futures-task", @@ -2156,9 +2201,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" +checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" [[package]] name = "futures-lite" @@ -2175,9 +2220,9 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" dependencies = [ "proc-macro2", "quote", @@ -2186,15 +2231,15 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" +checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" [[package]] name = "futures-task" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" +checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" [[package]] name = "futures-timer" @@ -2204,9 +2249,9 @@ checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" [[package]] name = "futures-util" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" dependencies = [ "futures-channel", "futures-core", @@ -2216,7 +2261,6 @@ dependencies = [ "futures-task", "memchr", "pin-project-lite", - "pin-utils", "slab", ] @@ -2254,8 +2298,23 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "r-efi", + "r-efi 5.3.0", + "wasip2", + "wasm-bindgen", +] + +[[package]] +name = "getrandom" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "r-efi 6.0.0", "wasip2", + "wasip3", "wasm-bindgen", ] @@ -2345,8 +2404,8 @@ dependencies = [ "fnv", "futures-core", "futures-sink", - "http 1.3.1", - "indexmap 2.12.1", + "http 1.4.0", + "indexmap 2.13.0", "slab", "tokio", "tokio-util", @@ -2464,12 +2523,11 @@ dependencies = [ [[package]] name = "http" -version = "1.3.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" +checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" dependencies = [ "bytes", - "fnv", "itoa", ] @@ -2491,7 +2549,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", - "http 1.3.1", + "http 1.4.0", ] [[package]] @@ -2502,7 +2560,7 @@ checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ "bytes", "futures-core", - "http 1.3.1", + "http 1.4.0", "http-body 1.0.1", "pin-project-lite", ] @@ -2536,7 +2594,7 @@ dependencies = [ "futures-channel", "futures-core", "h2", - "http 1.3.1", + "http 1.4.0", "http-body 1.0.1", "httparse", "itoa", @@ -2553,7 +2611,7 @@ version = "0.27.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" dependencies = [ - "http 1.3.1", + "http 1.4.0", "hyper", "hyper-util", "rustls", @@ -2592,7 +2650,7 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "http 1.3.1", + "http 1.4.0", "http-body 1.0.1", "hyper", "ipnet", @@ -2619,7 +2677,7 @@ dependencies = [ "js-sys", "log", "wasm-bindgen", - "windows-core 0.62.2", + "windows-core 0.61.2", ] [[package]] @@ -2712,6 +2770,12 @@ dependencies = [ "zerovec", ] +[[package]] +name = "id-arena" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" + [[package]] name = "ident_case" version = "1.0.1" @@ -2768,9 +2832,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.12.1" +version = "2.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ad4bb2b565bca0645f4d68c5c9af97fba094e9791da685bf83cb5f3ce74acf2" +checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" dependencies = [ "equivalent", "hashbrown 0.16.1", @@ -2780,9 +2844,9 @@ dependencies = [ [[package]] name = "indicatif" -version = "0.18.3" +version = "0.18.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9375e112e4b463ec1b1c6c011953545c65a30164fbab5b581df32b3abf0dcb88" +checksum = "25470f23803092da7d239834776d653104d551bc4d7eacaf31e6837854b8e9eb" dependencies = [ "console 0.16.1", "portable-atomic", @@ -2812,13 +2876,14 @@ dependencies = [ [[package]] name = "insta" -version = "1.44.3" +version = "1.46.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5c943d4415edd8153251b6f197de5eb1640e56d84e8d9159bea190421c73698" +checksum = "e82db8c87c7f1ccecb34ce0c24399b8a73081427f3c7c50a5d597925356115e4" dependencies = [ "console 0.15.11", "once_cell", "similar", + "tempfile", ] [[package]] @@ -3002,6 +3067,12 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +[[package]] +name = "leb128fmt" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" + [[package]] name = "libbz2-rs-sys" version = "0.2.2" @@ -3010,9 +3081,9 @@ checksum = "2c4a545a15244c7d945065b5d392b2d2d7f21526fba56ce51467b06ed445e8f7" [[package]] name = "libc" -version = "0.2.177" +version = "0.2.183" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" +checksum = "b5b646652bf6661599e1da8901b3b9522896f01e736bad5f723fe7a3a27f899d" [[package]] name = "libdbus-sys" @@ -3051,9 +3122,9 @@ checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" [[package]] name = "linux-raw-sys" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" +checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" [[package]] name = "litemap" @@ -3423,20 +3494,20 @@ checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" [[package]] name = "opendal" -version = "0.54.1" +version = "0.55.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42afda58fa2cf50914402d132cc1caacff116a85d10c72ab2082bb7c50021754" +checksum = "d075ab8a203a6ab4bc1bce0a4b9fe486a72bf8b939037f4b78d95386384bc80a" dependencies = [ "anyhow", "backon", "base64 0.22.1", "bytes", - "chrono", "crc32c", "futures", "getrandom 0.2.16", - "http 1.3.1", + "http 1.4.0", "http-body 1.0.1", + "jiff", "log", "md-5", "percent-encoding", @@ -3446,6 +3517,7 @@ dependencies = [ "serde", "serde_json", "tokio", + "url", "uuid", ] @@ -3624,13 +3696,13 @@ checksum = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42" [[package]] name = "path_resolver" -version = "0.2.2" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3604448dbdd00c6884479c066f040f503bf26f6b58de5358b5d2376ef4e78d11" +checksum = "59953de32542217edd1cc5fd52ac7ca2de57d7613a3a3e569370e5ea09231df3" dependencies = [ "ahash", "fs-err", - "indexmap 2.12.1", + "indexmap 2.13.0", "itertools 0.14.0", "proptest", "tempfile", @@ -3672,7 +3744,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "faee7227064121fcadcd2ff788ea26f0d8f2bd23a0574da11eca23bc935bcc05" dependencies = [ "boxcar", - "indexmap 2.12.1", + "indexmap 2.13.0", "itertools 0.13.0", "once_cell", "pep440_rs", @@ -3701,7 +3773,7 @@ checksum = "8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455" dependencies = [ "fixedbitset", "hashbrown 0.15.5", - "indexmap 2.12.1", + "indexmap 2.13.0", "serde", ] @@ -3760,7 +3832,7 @@ dependencies = [ "clap-verbosity-flag", "clap_complete", "futures", - "indexmap 2.12.1", + "indexmap 2.13.0", "indicatif", "insta", "rattler", @@ -3789,7 +3861,6 @@ dependencies = [ "url", "uv-build-frontend", "uv-cache", - "uv-cache-info", "uv-client", "uv-configuration", "uv-dispatch", @@ -3797,7 +3868,6 @@ dependencies = [ "uv-distribution-filename", "uv-distribution-types", "uv-git", - "uv-install-wheel", "uv-installer", "uv-pep508", "uv-preview", @@ -3846,7 +3916,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "740ebea15c5d1428f910cd1a5f52cebf8d25006245ed8ade92702f4943d91e07" dependencies = [ "base64 0.22.1", - "indexmap 2.12.1", + "indexmap 2.13.0", "quick-xml 0.38.4", "serde", "time", @@ -3862,15 +3932,15 @@ dependencies = [ "concurrent-queue", "hermit-abi", "pin-project-lite", - "rustix 1.1.2", + "rustix 1.1.4", "windows-sys 0.61.2", ] [[package]] name = "portable-atomic" -version = "1.11.1" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" +checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" [[package]] name = "portable-atomic-util" @@ -3905,6 +3975,16 @@ dependencies = [ "zerocopy", ] +[[package]] +name = "prettyplease" +version = "0.2.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" +dependencies = [ + "proc-macro2", + "syn", +] + [[package]] name = "primeorder" version = "0.13.6" @@ -3921,7 +4001,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93980406f12d9f8140ed5abe7155acb10bb1e69ea55c88960b9c2f117445ef96" dependencies = [ "equivalent", - "indexmap 2.12.1", + "indexmap 2.13.0", "serde", ] @@ -4119,6 +4199,12 @@ version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" +[[package]] +name = "r-efi" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" + [[package]] name = "rancor" version = "0.1.1" @@ -4198,17 +4284,18 @@ dependencies = [ [[package]] name = "rattler" -version = "0.39.5" +version = "0.40.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e81e973659132f6efba166ac6d5a6589fe80fe7f64dcfffd34f847416b490d7" +checksum = "5ba7b9c2977ddc74fecb7e68dd6b3f40958416220b9643d94db5b7387fd0cbcd" dependencies = [ "anyhow", "digest", "dirs", + "filetime", "fs-err", "futures", "humantime", - "indexmap 2.12.1", + "indexmap 2.13.0", "itertools 0.14.0", "memchr", "memmap2", @@ -4227,6 +4314,7 @@ dependencies = [ "regex", "reqwest", "reqwest-middleware", + "serde", "serde_json", "simple_spawn_blocking", "smallvec", @@ -4240,9 +4328,9 @@ dependencies = [ [[package]] name = "rattler_cache" -version = "0.6.4" +version = "0.6.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43bc4a8e82344ee1df7d7db799121cd3b0539e5d32fa938d933a9030893a05e5" +checksum = "f380851c13b9c14811d0281ce72ddd608b7dd98bc0a3e669247aa75dbac5e3b6" dependencies = [ "ahash", "anyhow", @@ -4273,9 +4361,9 @@ dependencies = [ [[package]] name = "rattler_conda_types" -version = "0.42.2" +version = "0.44.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "195f89520ef4ef1f4514e25a45e1ac8f58d53aad25b26912c6e5230a65d27f4a" +checksum = "b8dc7eaa515b50a8ba80753d9902582bc2d62d8452ca61e6afd7bca866b54c85" dependencies = [ "ahash", "chrono", @@ -4286,7 +4374,7 @@ dependencies = [ "fs-err", "glob", "hex", - "indexmap 2.12.1", + "indexmap 2.13.0", "itertools 0.14.0", "lazy-regex", "memmap2", @@ -4306,7 +4394,7 @@ dependencies = [ "serde_yaml", "simd-json", "smallvec", - "strum 0.27.2", + "strum 0.28.0", "tempfile", "thiserror 2.0.17", "tracing", @@ -4316,13 +4404,13 @@ dependencies = [ [[package]] name = "rattler_config" -version = "0.2.21" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb7df0b22cfc135ea3ebf4672557f413d784df96a63ea0c1f132929be451ca9a" +checksum = "c237386638e40597bb4117f6e84edd8bb077fa28cafa0535357f5b304d89c9bd" dependencies = [ "console 0.16.1", "fs-err", - "indexmap 2.12.1", + "indexmap 2.13.0", "rattler_conda_types", "serde", "serde_json", @@ -4334,9 +4422,9 @@ dependencies = [ [[package]] name = "rattler_digest" -version = "1.2.0" +version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dd76e371c2abd364cde7172105fdb6036d8d09df9cddeda5153846e2e964959" +checksum = "fa6239d5be357419ba579b1cda7fe0e140a22134ebc999adb62b818989fbc7c7" dependencies = [ "blake2", "digest", @@ -4353,9 +4441,9 @@ dependencies = [ [[package]] name = "rattler_index" -version = "0.27.6" +version = "0.27.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87262224940ddb7b88bfe1701d62aa02fcab07c7e896093326599b2faa407958" +checksum = "760870693bdb711c0fade345871e15b5b615cae645bdde66b4855fbfeff34087" dependencies = [ "ahash", "anyhow", @@ -4366,7 +4454,7 @@ dependencies = [ "console 0.16.1", "fs-err", "futures", - "indexmap 2.12.1", + "indexmap 2.13.0", "indicatif", "opendal", "rattler_conda_types", @@ -4376,12 +4464,13 @@ dependencies = [ "rattler_package_streaming", "rattler_s3", "reqwest", - "retry-policies", + "retry-policies 0.5.1", "rmp-serde", "serde", "serde_json", "sha2", "tar", + "thiserror 2.0.17", "tokio", "tracing", "tracing-subscriber", @@ -4391,14 +4480,14 @@ dependencies = [ [[package]] name = "rattler_lock" -version = "0.26.7" +version = "0.27.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "920c613d8c986e2cb8e85f062188f49450e12be150e6e3ae32a87e81a9b006cf" +checksum = "88f3b24c35849f7460d51b4b2016dfdab132e03d0a7d0f6d00d367cf16211fa2" dependencies = [ "ahash", "chrono", "file_url", - "indexmap 2.12.1", + "indexmap 2.13.0", "itertools 0.14.0", "pep440_rs", "pep508_rs", @@ -4417,9 +4506,9 @@ dependencies = [ [[package]] name = "rattler_macros" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "988d5d7ace4fb1d7549008236cf08de95e8ea2f1f80754109324a08c31e6dc6a" +checksum = "18d0d45ce3ae00333421569d2fafa4b877708a901c3cb217f8d4acfab4328df0" dependencies = [ "quote", "syn", @@ -4427,14 +4516,15 @@ dependencies = [ [[package]] name = "rattler_menuinst" -version = "0.2.40" +version = "0.2.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bf1641a7c96b3ad2a64197f67c9ce98d6f7057a582cd3375b02c52daf620c7b" +checksum = "0cb53fa7f10330b818ddfafd7c7d407254809ea249597bbc03073c2a3ad2854a" dependencies = [ "chrono", "configparser", "dirs", "fs-err", + "indexmap 2.13.0", "known-folders", "once_cell", "plist", @@ -4457,9 +4547,9 @@ dependencies = [ [[package]] name = "rattler_networking" -version = "0.25.27" +version = "0.26.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b8f4315b911308b1fe2ca1cbb6e77e203cf9b6c04ba58366358009c826c0762" +checksum = "67894637c820e2fbdf6ac44fc2b43d5ea38b7196439c4f7525b5c3dc2758e0b5" dependencies = [ "anyhow", "async-once-cell", @@ -4470,15 +4560,15 @@ dependencies = [ "base64 0.22.1", "dirs", "fs-err", - "getrandom 0.3.4", - "http 1.3.1", + "getrandom 0.4.2", + "http 1.4.0", "itertools 0.14.0", "keyring", "netrc-rs", "rattler_config", "reqwest", "reqwest-middleware", - "retry-policies", + "retry-policies 0.5.1", "serde", "serde_json", "tempfile", @@ -4489,16 +4579,23 @@ dependencies = [ [[package]] name = "rattler_package_streaming" -version = "0.23.19" +version = "0.24.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2670f4759e4bdbc8782dd2b95ecc2cb0c8d15144944989603ed0e5d0543a6461" +checksum = "54da4bc16291b217181fa9ba07c0d5a796e1fa1e63591fef0f6e6e7e96e211d1" dependencies = [ + "astral-tokio-tar 0.6.0", + "astral_async_zip", + "async-compression", + "async-spooled-tempfile", + "async_http_range_reader", "bzip2 0.6.1", "chrono", "fs-err", + "futures", "futures-util", "getrandom 0.2.16", - "getrandom 0.3.4", + "getrandom 0.4.2", + "http 1.4.0", "num_cpus", "rattler_conda_types", "rattler_digest", @@ -4515,15 +4612,15 @@ dependencies = [ "tokio-util", "tracing", "url", - "zip 6.0.0", + "zip 8.4.0", "zstd", ] [[package]] name = "rattler_pty" -version = "0.2.7" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86a84e6b351c46c7588bb8f5c90994be23d5c3c31cf87f9ec903cd91d9fc4246" +checksum = "ec435d69bcc064b5cb0f6a49d8cfc1dbed93f0ec233d4499156ae7c3bc7f90d7" dependencies = [ "libc", "nix 0.30.1", @@ -4533,9 +4630,9 @@ dependencies = [ [[package]] name = "rattler_redaction" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3aa5057629aeb20861919e9ae56875985d58028f3c6f433a20b5ded086e1cec5" +checksum = "961121cad9792daafc176a7f4caafc0fc889fb17507c23a4c86e1777a8b5e179" dependencies = [ "reqwest", "reqwest-middleware", @@ -4544,9 +4641,9 @@ dependencies = [ [[package]] name = "rattler_s3" -version = "0.1.16" +version = "0.1.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2ad1587ca2b3eaee9b6456bac5dc9b96c57673b90aae8d4c1a0d50b548712fa" +checksum = "733fc964fdc68b18f7d20e25456ebd97d3f8cc86a93383654bbf892666b63a8e" dependencies = [ "aws-config", "aws-credential-types", @@ -4561,14 +4658,14 @@ dependencies = [ [[package]] name = "rattler_shell" -version = "0.25.13" +version = "0.26.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf943b29b84afe15168723a20f30a452e553413cf9680cffb45e25327a8f8b45" +checksum = "b0304b98dc745f816767dfd46c640c14b178c8327799c651dd10b6e25507cbae" dependencies = [ "anyhow", "enum_dispatch", "fs-err", - "indexmap 2.12.1", + "indexmap 2.13.0", "itertools 0.14.0", "rattler_conda_types", "rattler_pty", @@ -4581,9 +4678,9 @@ dependencies = [ [[package]] name = "rattler_solve" -version = "4.1.0" +version = "5.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7efc6be47e3df5a68a2091a81b14ca8cc980a257fba2c4c130da6242f33aa03" +checksum = "804311898940221962582b0fc0f48f122dfb1a85a0169c649121cce143a37f8f" dependencies = [ "chrono", "humantime", @@ -4664,8 +4761,8 @@ checksum = "23bbed272e39c47a095a5242218a67412a220006842558b03fe2935e8f3d7b92" dependencies = [ "cfg-if", "libc", - "rustix 1.1.2", - "windows 0.62.2", + "rustix 1.1.4", + "windows 0.61.3", ] [[package]] @@ -4733,7 +4830,7 @@ dependencies = [ "hex", "hmac", "home", - "http 1.3.1", + "http 1.4.0", "log", "percent-encoding", "quick-xml 0.37.5", @@ -4770,7 +4867,7 @@ dependencies = [ "async-trait", "bytes", "form_urlencoded", - "http 1.3.1", + "http 1.4.0", "log", "percent-encoding", "quick-xml 0.38.4", @@ -4806,7 +4903,7 @@ dependencies = [ "form_urlencoded", "hex", "hmac", - "http 1.3.1", + "http 1.4.0", "jiff", "log", "percent-encoding", @@ -4837,7 +4934,7 @@ dependencies = [ "async-trait", "bytes", "futures-channel", - "http 1.3.1", + "http 1.4.0", "http-body-util", "reqsign-core", "reqwest", @@ -4846,11 +4943,10 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.12.24" +version = "0.12.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d0946410b9f7b082a427e4ef5c8ff541a88b357bc6c637c40db3a68ac70a36f" +checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" dependencies = [ - "async-compression", "base64 0.22.1", "bytes", "encoding_rs", @@ -4858,7 +4954,7 @@ dependencies = [ "futures-core", "futures-util", "h2", - "http 1.3.1", + "http 1.4.0", "http-body 1.0.1", "http-body-util", "hyper", @@ -4903,7 +4999,7 @@ checksum = "57f17d28a6e6acfe1733fe24bcd30774d13bffa4b8a22535b4c8c98423088d4e" dependencies = [ "anyhow", "async-trait", - "http 1.3.1", + "http 1.4.0", "reqwest", "serde", "thiserror 1.0.69", @@ -4919,6 +5015,15 @@ dependencies = [ "rand 0.8.5", ] +[[package]] +name = "retry-policies" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46a4bd6027df676bcb752d3724db0ea3c0c5fc1dd0376fec51ac7dcaf9cc69be" +dependencies = [ + "rand 0.9.2", +] + [[package]] name = "rfc6979" version = "0.3.1" @@ -4963,7 +5068,7 @@ dependencies = [ "bytecheck", "bytes", "hashbrown 0.15.5", - "indexmap 2.12.1", + "indexmap 2.13.0", "munge", "ptr_meta", "rancor", @@ -5086,14 +5191,14 @@ dependencies = [ [[package]] name = "rustix" -version = "1.1.2" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" +checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" dependencies = [ "bitflags 2.10.0", "errno", "libc", - "linux-raw-sys 0.11.0", + "linux-raw-sys 0.12.1", "windows-sys 0.61.2", ] @@ -5465,16 +5570,16 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.145" +version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" dependencies = [ - "indexmap 2.12.1", + "indexmap 2.13.0", "itoa", "memchr", - "ryu", "serde", "serde_core", + "zmij", ] [[package]] @@ -5511,15 +5616,15 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.16.0" +version = "3.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10574371d41b0d9b2cff89418eda27da52bcaff2cc8741db26382a77c29131f1" +checksum = "dd5414fad8e6907dbdd5bc441a50ae8d6e26151a03b1de04d89a5576de61d01f" dependencies = [ "base64 0.22.1", "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.12.1", + "indexmap 2.13.0", "schemars 0.9.0", "schemars 1.1.0", "serde_core", @@ -5530,9 +5635,9 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.16.0" +version = "3.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08a72d8216842fdd57820dc78d840bef99248e35fb2554ff923319e60f2d686b" +checksum = "d3db8978e608f1fe7357e211969fd9abdcae80bac1ba7a3369bb7eb6b404eb65" dependencies = [ "darling", "proc-macro2", @@ -5546,7 +5651,7 @@ version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.12.1", + "indexmap 2.13.0", "itoa", "ryu", "serde", @@ -5555,11 +5660,12 @@ dependencies = [ [[package]] name = "serial_test" -version = "3.2.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b258109f244e1d6891bf1053a55d63a5cd4f8f4c30cf9a1280989f80e7a1fa9" +checksum = "911bd979bf1070a3f3aa7b691a3b3e9968f339ceeec89e08c280a8a22207a32f" dependencies = [ - "futures", + "futures-executor", + "futures-util", "log", "once_cell", "parking_lot", @@ -5569,9 +5675,9 @@ dependencies = [ [[package]] name = "serial_test_derive" -version = "3.2.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d69265a08751de7844521fd15003ae0a888e035773ba05695c5c759a6f89eef" +checksum = "0a7d91949b85b0d2fb687445e448b40d322b6b3e4af6b44a29b21d9a5f33e6d9" dependencies = [ "proc-macro2", "quote", @@ -5810,11 +5916,11 @@ dependencies = [ [[package]] name = "strum" -version = "0.27.2" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf" +checksum = "9628de9b8791db39ceda2b119bbe13134770b56c138ec1d3af810d045c04f9bd" dependencies = [ - "strum_macros 0.27.2", + "strum_macros 0.28.0", ] [[package]] @@ -5832,9 +5938,9 @@ dependencies = [ [[package]] name = "strum_macros" -version = "0.27.2" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7" +checksum = "ab85eea0270ee17587ed4156089e10b9e6880ee688791d45a905f5b1ca36f664" dependencies = [ "heck", "proc-macro2", @@ -5929,14 +6035,14 @@ checksum = "df7f62577c25e07834649fc3b39fafdc597c0a3527dc1c60129201ccfcbaa50c" [[package]] name = "tempfile" -version = "3.23.0" +version = "3.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16" +checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" dependencies = [ "fastrand", "getrandom 0.3.4", "once_cell", - "rustix 1.1.2", + "rustix 1.1.4", "windows-sys 0.61.2", ] @@ -6008,6 +6114,7 @@ checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c" dependencies = [ "deranged", "itoa", + "js-sys", "num-conv", "powerfmt", "serde_core", @@ -6067,9 +6174,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.48.0" +version = "1.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408" +checksum = "27ad5e34374e03cfffefc301becb44e9dc3c17584f414349ebe29ed26661822d" dependencies = [ "bytes", "libc", @@ -6116,9 +6223,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.17" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" +checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70" dependencies = [ "futures-core", "pin-project-lite", @@ -6147,7 +6254,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0dc8b1fb61449e27716ec0e1bdf0f6b8f3e8f6b05391e8497b8b6d7804ea6d8" dependencies = [ "foldhash 0.2.0", - "indexmap 2.12.1", + "indexmap 2.13.0", "serde_core", "serde_spanned", "toml_datetime", @@ -6171,7 +6278,7 @@ version = "0.23.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6485ef6d0d9b5d0ec17244ff7eb05310113c3f316f2d14200d4de56b3cb98f8d" dependencies = [ - "indexmap 2.12.1", + "indexmap 2.13.0", "serde_core", "serde_spanned", "toml_datetime", @@ -6212,17 +6319,22 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.6.6" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" +checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" dependencies = [ + "async-compression", "bitflags 2.10.0", "bytes", + "futures-core", "futures-util", - "http 1.3.1", + "http 1.4.0", "http-body 1.0.1", + "http-body-util", "iri-string", "pin-project-lite", + "tokio", + "tokio-util", "tower", "tower-layer", "tower-service", @@ -6242,9 +6354,9 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.43" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d15d90a0b5c19378952d479dc858407149d7bb45a14de0142f6c534b16fc647" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" dependencies = [ "pin-project-lite", "tracing-attributes", @@ -6264,9 +6376,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.35" +version = "0.1.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a04e24fab5c89c6a36eb8558c9656f30d81de51dfa4d3b45f26b21d61fa0a6c" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" dependencies = [ "once_cell", "valuable", @@ -6285,9 +6397,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.22" +version = "0.3.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f30143827ddab0d256fd843b7a66d164e9f271cfa0dde49142c5ca0ca291f1e" +checksum = "cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319" dependencies = [ "matchers", "nu-ansi-term", @@ -6309,9 +6421,9 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "typed-path" -version = "0.11.0" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c462d18470a2857aa657d338af5fa67170bb48bcc80a296710ce3b0802a32566" +checksum = "8e28f89b80c87b8fb0cf04ab448d5dd0dd0ade2f8891bae878de66a75a28600e" [[package]] name = "typeid" @@ -6375,6 +6487,12 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" +[[package]] +name = "unicode-xid" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" + [[package]] name = "unit-prefix" version = "0.5.2" @@ -6401,14 +6519,15 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.7" +version = "2.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" dependencies = [ "form_urlencoded", "idna", "percent-encoding", "serde", + "serde_derive", ] [[package]] @@ -6462,7 +6581,7 @@ dependencies = [ "etcetera", "fs-err", "futures", - "http 1.3.1", + "http 1.4.0", "jiff", "percent-encoding", "reqsign 0.18.1", @@ -6640,7 +6759,7 @@ dependencies = [ "futures", "h2", "html-escape", - "http 1.3.1", + "http 1.4.0", "itertools 0.14.0", "jiff", "percent-encoding", @@ -6838,7 +6957,7 @@ dependencies = [ "astral-version-ranges", "bitflags 2.10.0", "fs-err", - "http 1.3.1", + "http 1.4.0", "itertools 0.14.0", "jiff", "owo-colors", @@ -6874,7 +6993,7 @@ version = "0.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "86924f125eef9bdea22ea0d857799427e51152fc8e65ad94fc6c84227dc443a8" dependencies = [ - "astral-tokio-tar", + "astral-tokio-tar 0.5.6", "astral_async_zip", "async-compression", "blake2", @@ -6923,7 +7042,7 @@ dependencies = [ "junction", "path-slash", "percent-encoding", - "rustix 1.1.2", + "rustix 1.1.4", "same-file", "schemars 1.1.0", "serde", @@ -7175,7 +7294,7 @@ dependencies = [ "arcstr", "astral-version-ranges", "boxcar", - "indexmap 2.12.1", + "indexmap 2.13.0", "itertools 0.14.0", "regex", "rkyv", @@ -7243,7 +7362,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d25267967a9d84fa5dbd68c94404e211dd0e0dbdc84fdff2abc8d204278e7bf" dependencies = [ "hashbrown 0.16.1", - "indexmap 2.12.1", + "indexmap 2.13.0", "itertools 0.14.0", "jiff", "mailparse", @@ -7281,7 +7400,7 @@ dependencies = [ "dunce", "fs-err", "futures", - "indexmap 2.12.1", + "indexmap 2.13.0", "itertools 0.14.0", "owo-colors", "ref-cast", @@ -7375,7 +7494,7 @@ dependencies = [ "fs-err", "futures", "hashbrown 0.16.1", - "indexmap 2.12.1", + "indexmap 2.13.0", "itertools 0.14.0", "jiff", "owo-colors", @@ -7698,7 +7817,16 @@ version = "1.0.1+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" dependencies = [ - "wit-bindgen", + "wit-bindgen 0.46.0", +] + +[[package]] +name = "wasip3" +version = "0.4.0+wasi-0.3.0-rc-2026-01-06" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" +dependencies = [ + "wit-bindgen 0.51.0", ] [[package]] @@ -7759,6 +7887,28 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "wasm-encoder" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +dependencies = [ + "leb128fmt", + "wasmparser", +] + +[[package]] +name = "wasm-metadata" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +dependencies = [ + "anyhow", + "indexmap 2.13.0", + "wasm-encoder", + "wasmparser", +] + [[package]] name = "wasm-streams" version = "0.4.2" @@ -7772,6 +7922,18 @@ dependencies = [ "web-sys", ] +[[package]] +name = "wasmparser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" +dependencies = [ + "bitflags 2.10.0", + "hashbrown 0.15.5", + "indexmap 2.13.0", + "semver", +] + [[package]] name = "wasmtimer" version = "0.4.3" @@ -7823,7 +7985,7 @@ checksum = "d3fabb953106c3c8eea8306e4393700d7657561cb43122571b172bbfb7c7ba1d" dependencies = [ "env_home", "regex", - "rustix 1.1.2", + "rustix 1.1.4", "winsafe", ] @@ -7874,23 +8036,11 @@ version = "0.61.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" dependencies = [ - "windows-collections 0.2.0", + "windows-collections", "windows-core 0.61.2", - "windows-future 0.2.1", + "windows-future", "windows-link 0.1.3", - "windows-numerics 0.2.0", -] - -[[package]] -name = "windows" -version = "0.62.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "527fadee13e0c05939a6a05d5bd6eec6cd2e3dbd648b9f8e447c6518133d8580" -dependencies = [ - "windows-collections 0.3.2", - "windows-core 0.62.2", - "windows-future 0.3.2", - "windows-numerics 0.3.1", + "windows-numerics", ] [[package]] @@ -7902,15 +8052,6 @@ dependencies = [ "windows-core 0.61.2", ] -[[package]] -name = "windows-collections" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23b2d95af1a8a14a3c7367e1ed4fc9c20e0a26e79551b1454d72583c97cc6610" -dependencies = [ - "windows-core 0.62.2", -] - [[package]] name = "windows-core" version = "0.59.0" @@ -7937,19 +8078,6 @@ dependencies = [ "windows-strings 0.4.2", ] -[[package]] -name = "windows-core" -version = "0.62.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" -dependencies = [ - "windows-implement 0.60.2", - "windows-interface", - "windows-link 0.2.1", - "windows-result 0.4.1", - "windows-strings 0.5.1", -] - [[package]] name = "windows-future" version = "0.2.1" @@ -7958,18 +8086,7 @@ checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" dependencies = [ "windows-core 0.61.2", "windows-link 0.1.3", - "windows-threading 0.1.0", -] - -[[package]] -name = "windows-future" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d6f90251fe18a279739e78025bd6ddc52a7e22f921070ccdc67dde84c605cb" -dependencies = [ - "windows-core 0.62.2", - "windows-link 0.2.1", - "windows-threading 0.2.1", + "windows-threading", ] [[package]] @@ -8027,16 +8144,6 @@ dependencies = [ "windows-link 0.1.3", ] -[[package]] -name = "windows-numerics" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e2e40844ac143cdb44aead537bbf727de9b044e107a0f1220392177d15b0f26" -dependencies = [ - "windows-core 0.62.2", - "windows-link 0.2.1", -] - [[package]] name = "windows-registry" version = "0.5.3" @@ -8182,15 +8289,6 @@ dependencies = [ "windows-link 0.1.3", ] -[[package]] -name = "windows-threading" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3949bd5b99cafdf1c7ca86b43ca564028dfe27d66958f2470940f73d86d75b37" -dependencies = [ - "windows-link 0.2.1", -] - [[package]] name = "windows_aarch64_gnullvm" version = "0.52.6" @@ -8308,6 +8406,94 @@ version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" +[[package]] +name = "wit-bindgen" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" +dependencies = [ + "wit-bindgen-rust-macro", +] + +[[package]] +name = "wit-bindgen-core" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" +dependencies = [ + "anyhow", + "heck", + "wit-parser", +] + +[[package]] +name = "wit-bindgen-rust" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" +dependencies = [ + "anyhow", + "heck", + "indexmap 2.13.0", + "prettyplease", + "syn", + "wasm-metadata", + "wit-bindgen-core", + "wit-component", +] + +[[package]] +name = "wit-bindgen-rust-macro" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +dependencies = [ + "anyhow", + "prettyplease", + "proc-macro2", + "quote", + "syn", + "wit-bindgen-core", + "wit-bindgen-rust", +] + +[[package]] +name = "wit-component" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +dependencies = [ + "anyhow", + "bitflags 2.10.0", + "indexmap 2.13.0", + "log", + "serde", + "serde_derive", + "serde_json", + "wasm-encoder", + "wasm-metadata", + "wasmparser", + "wit-parser", +] + +[[package]] +name = "wit-parser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" +dependencies = [ + "anyhow", + "id-arena", + "indexmap 2.13.0", + "log", + "semver", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", + "wasmparser", +] + [[package]] name = "wmi" version = "0.16.0" @@ -8335,7 +8521,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156" dependencies = [ "libc", - "rustix 1.1.2", + "rustix 1.1.4", ] [[package]] @@ -8616,7 +8802,7 @@ dependencies = [ "crossbeam-utils", "displaydoc", "flate2", - "indexmap 2.12.1", + "indexmap 2.13.0", "lzma-rs", "memchr", "thiserror 2.0.17", @@ -8627,16 +8813,16 @@ dependencies = [ [[package]] name = "zip" -version = "6.0.0" +version = "8.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb2a05c7c36fde6c09b08576c9f7fb4cda705990f73b58fe011abf7dfb24168b" +checksum = "7756d0206d058333667493c4014f545f4b9603c4330ccd6d9b3f86dcab59f7d9" dependencies = [ - "arbitrary", "crc32fast", "flate2", - "indexmap 2.12.1", + "indexmap 2.13.0", "memchr", "time", + "typed-path", "zopfli", ] @@ -8646,6 +8832,12 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2f06ae92f42f5e5c42443fd094f245eb656abf56dd7cce9b8b263236565e00f2" +[[package]] +name = "zmij" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" + [[package]] name = "zopfli" version = "0.8.3" diff --git a/Cargo.toml b/Cargo.toml index 5f0d6d5..c1ead97 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -29,49 +29,48 @@ rustls-tls = [ ] [dependencies] -anyhow = "1.0.100" -clap = { version = "4.5.53", features = ["derive", "string"] } -clap_complete = "4.5.61" +anyhow = "1.0.102" +clap = { version = "4.5.60", features = ["derive", "string"] } +clap_complete = "4.6.0" clap-verbosity-flag = { version = "3.0.4", features = ["tracing"] } -futures = "0.3.31" -indicatif = "0.18.3" -rattler = { version = "0.39.5", default-features = false } -rattler_config = "0.2.21" -rattler_digest = { version = "1.2.0", features = ["tokio"] } -rattler_conda_types = "0.42.2" -rattler_index = "0.27.6" -rattler_lock = "0.26.7" -rattler_networking = { version = "0.25.27", default-features = false, features = [ +futures = "0.3.32" +indicatif = "0.18.4" +rattler = { version = "0.40.3", default-features = false } +rattler_config = "0.3.6" +rattler_digest = { version = "1.2.3", features = ["tokio"] } +rattler_conda_types = "0.44.3" +rattler_index = "0.27.20" +rattler_lock = "0.27.4" +rattler_networking = { version = "0.26.6", default-features = false, features = [ "s3", "rattler_config", ] } -rattler_package_streaming = { version = "0.23.19", default-features = false } -rattler_shell = "0.25.13" -reqwest = { version = "0.12.24", default-features = false, features = [ +rattler_package_streaming = { version = "0.24.6", default-features = false } +rattler_shell = "0.26.6" +reqwest = { version = "0.12.28", default-features = false, features = [ "http2", "macos-system-configuration", ] } reqwest-middleware = "0.4.2" serde = { version = "1.0.228", features = ["derive"] } -serde_json = "1.0.145" +serde_json = "1.0.149" serde_yaml = "0.9.34" # todo: use a non-deprecated crate -tokio = { version = "1.48.0", features = ["rt-multi-thread"] } -tokio-stream = { version = "0.1.17", features = ["fs"] } -tracing = "0.1.43" -tracing-subscriber = { version = "0.3.22", features = [ +tokio = { version = "1.50.0", features = ["rt-multi-thread"] } +tokio-stream = { version = "0.1.18", features = ["fs"] } +tracing = "0.1.44" +tracing-subscriber = { version = "0.3.23", features = [ "default", "env-filter", ] } -url = "2.5.7" -tempfile = "3.23.0" +url = "2.5.8" +tempfile = "3.27.0" walkdir = "2.5.0" tar = "0.4.45" base64 = "0.22.1" -indexmap = "2.12.1" +indexmap = "2.13.0" ahash = "0.8.12" uv-build-frontend = "0.0.6" uv-cache = "0.0.6" -uv-cache-info = "0.0.6" uv-client = "0.0.6" uv-configuration = "0.0.6" uv-dispatch = "0.0.6" @@ -79,7 +78,6 @@ uv-distribution = "0.0.6" uv-distribution-filename = "0.0.6" uv-distribution-types = "0.0.6" uv-git = "0.0.6" -uv-install-wheel = "0.0.6" uv-installer = "0.0.6" uv-pep508 = "0.0.6" uv-preview = "0.0.6" @@ -91,5 +89,5 @@ uv-workspace = "0.0.6" async-std = "1.13.2" rstest = "0.26.1" sha2 = "0.10.9" -insta = "1.44.3" -serial_test = "3.2.0" +insta = "1.46.3" +serial_test = "3.4.0" diff --git a/src/pack.rs b/src/pack.rs index 4f3e353..11ccf1b 100644 --- a/src/pack.rs +++ b/src/pack.rs @@ -22,7 +22,7 @@ use base64::engine::{Engine, general_purpose::STANDARD}; use futures::{StreamExt, TryFutureExt, TryStreamExt, stream}; use rattler_conda_types::{ ChannelInfo, PackageRecord, Platform, RepoData, - package::{ArchiveIdentifier, ArchiveType}, + package::{CondaArchiveIdentifier, CondaArchiveType, DistArchiveIdentifier}, }; use rattler_digest::{HashingWriter, Md5, Sha256}; use rattler_lock::{ @@ -195,15 +195,15 @@ pub async fn pack(options: PackOptions) -> Result<()> { let mut conda_packages: Vec<(String, PackageRecord)> = Vec::new(); for package in conda_packages_from_lockfile { - let filename = package.file_name; + let filename = package.file_name.to_string(); conda_packages.push((filename, package.package_record)); } - let injected_packages: Vec<(PathBuf, ArchiveType)> = options + let injected_packages: Vec<(PathBuf, CondaArchiveType)> = options .injected_packages .iter() .filter_map(|e| { - ArchiveType::split_str(e.as_path().to_string_lossy().as_ref()) + CondaArchiveType::split_str(e.as_path().to_string_lossy().as_ref()) .map(|(p, t)| (PathBuf::from(format!("{}{}", p, t.extension())), t)) }) .collect(); @@ -212,8 +212,8 @@ pub async fn pack(options: PackOptions) -> Result<()> { for (path, archive_type) in injected_packages.iter() { // step 1: Derive PackageRecord from index.json inside the package let package_record = match archive_type { - ArchiveType::TarBz2 => package_record_from_tar_bz2(path), - ArchiveType::Conda => package_record_from_conda(path), + CondaArchiveType::TarBz2 => package_record_from_tar_bz2(path), + CondaArchiveType::Conda => package_record_from_conda(path), }?; // step 2: Copy file into channel dir @@ -224,7 +224,7 @@ pub async fn pack(options: PackOptions) -> Result<()> { .to_str() .ok_or(anyhow!("could not convert filename to string"))? .to_string(); - ArchiveIdentifier::try_from_filename(&filename) + CondaArchiveIdentifier::try_from_filename(&filename) .ok_or(anyhow!("could not parse package filename: {}", filename))?; fs::copy(&path, channel_dir.join(subdir).join(&filename)) @@ -436,7 +436,6 @@ fn reqwest_client_from_options(options: &PackOptions) -> Result() + .expect("package filename should be a valid archive identifier"); + (id, p.clone()) + }) .collect(); let repodata = RepoData { @@ -941,6 +945,7 @@ async fn create_repodata_files( }), packages: Default::default(), conda_packages, + experimental_v3: Default::default(), removed: Default::default(), version: Some(2), }; diff --git a/src/unpack.rs b/src/unpack.rs index f743878..e6ab96a 100644 --- a/src/unpack.rs +++ b/src/unpack.rs @@ -15,7 +15,9 @@ use rattler::{ install::{Installer, PythonInfo}, package_cache::{CacheKey, PackageCache}, }; -use rattler_conda_types::{PackageRecord, Platform, RepoData, RepoDataRecord}; +use rattler_conda_types::{ + PackageRecord, Platform, RepoData, RepoDataRecord, package::DistArchiveIdentifier, +}; use rattler_package_streaming::fs::extract; use rattler_shell::{ activation::{ActivationVariables, Activator, PathModificationBehavior}, @@ -148,9 +150,11 @@ async fn collect_packages_in_subdir( })?; let mut conda_packages = repodata.conda_packages; - let packages = repodata.packages; - conda_packages.extend(packages); - Ok(conda_packages) + conda_packages.extend(repodata.packages); + Ok(conda_packages + .into_iter() + .map(|(k, v)| (k.to_string(), v)) + .collect()) } async fn validate_metadata_file(metadata_file: PathBuf) -> Result<()> { @@ -273,7 +277,9 @@ async fn create_prefix( let repodata_record = RepoDataRecord { package_record, - file_name, + identifier: file_name + .parse::() + .expect("package filename should be a valid archive identifier"), url, channel: None, }; diff --git a/tests/integration_test.rs b/tests/integration_test.rs index 1942a61..98a1a5d 100644 --- a/tests/integration_test.rs +++ b/tests/integration_test.rs @@ -14,6 +14,7 @@ use pixi_pack::{ }; use rattler_conda_types::Platform; use rattler_conda_types::RepoData; +use rattler_conda_types::package::DistArchiveIdentifier; use rattler_lock::UrlOrPath; use rattler_shell::shell::{Bash, Shell, ShellEnum}; use rstest::*; @@ -340,11 +341,13 @@ async fn test_includes_repodata_patches( // in this example, the `libzlib` entry in the `python-3.12.3-h2628c8c_0_cpython.conda` // package is `libzlib >=1.2.13,<1.3.0a0`, but the upstream repodata was patched to // `libzlib >=1.2.13,<2.0.0a0` which is represented in the `pixi.lock` file - let python_archive = "python-3.12.3-h2628c8c_0_cpython.conda"; + let python_archive = "python-3.12.3-h2628c8c_0_cpython.conda" + .parse::() + .expect("valid archive identifier"); assert!( repodata .conda_packages - .get(python_archive) + .get(&python_archive) .expect("python not found in repodata") .depends .contains(&"libzlib >=1.2.13,<2.0.0a0".to_string()),