diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c68ecae..b3ec0ce 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -72,8 +72,14 @@ jobs: key: build-${{ matrix.target }}-${{ matrix.os }} - name: Build + env: + # GCC on aarch64 defaults to outline atomics, emitting calls to + # __aarch64_*_sync helpers that live in libgcc. Static musl builds link + # with -nodefaultlibs, so those symbols are unresolved (libdbus-sys, a C + # dependency of rattler's keyring backend, hits this). Inline the atomics. + CFLAGS_aarch64_unknown_linux_musl: -mno-outline-atomics run: | - cargo build --profile release --locked --color always${{ endsWith(matrix.target, 'musl') && ' --no-default-features --features rustls-tls' || '' }} --target ${{ matrix.target }} --bins + cargo build --profile release --locked --color always${{ endsWith(matrix.target, 'musl') && ' --no-default-features --features rustls' || '' }} --target ${{ matrix.target }} --bins mv target/${{ matrix.target }}/release/pixi-pack${{ endsWith(matrix.target, 'windows-msvc') && '.exe' || '' }} pixi-pack-${{ matrix.target }}${{ endsWith(matrix.target, 'windows-msvc') && '.exe' || '' }} mv target/${{ matrix.target }}/release/pixi-unpack${{ endsWith(matrix.target, 'windows-msvc') && '.exe' || '' }} pixi-unpack-${{ matrix.target }}${{ endsWith(matrix.target, 'windows-msvc') && '.exe' || '' }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 72784d7..901f6c2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -69,4 +69,4 @@ jobs: with: key: tests - name: Run test - run: pixi run test --color always${{ startsWith(matrix.os, 'ubuntu') && ' --no-default-features --features rustls-tls' || '' }} + run: pixi run test --color always${{ startsWith(matrix.os, 'ubuntu') && ' --no-default-features --features rustls' || '' }} diff --git a/Cargo.lock b/Cargo.lock index fe1331d..f567ee2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -126,6 +126,17 @@ version = "1.0.102" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" +[[package]] +name = "apple-native-keyring-store" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7be2f067ccd8d4b4d4a66ddafe0f32a5dff31732f32dbff85fefc40929b1f72" +dependencies = [ + "keyring-core", + "log", + "security-framework", +] + [[package]] name = "arcstr" version = "1.2.0" @@ -282,24 +293,9 @@ dependencies = [ [[package]] name = "astral_async_zip" -version = "0.0.17" +version = "0.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab72a761e6085828cc8f0e05ed332b2554701368c5dc54de551bfaec466518ba" -dependencies = [ - "async-compression", - "crc32fast", - "futures-lite", - "pin-project", - "thiserror 1.0.69", - "tokio", - "tokio-util", -] - -[[package]] -name = "astral_async_zip" -version = "0.0.18-rc4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d523231a4339307c7699aa5d9492fe6873906afefc9d7853b5e7ffbfee3c7f1" +checksum = "c15fc5b591f19dfbbbce736615908d74f1d9252bb34b231873cb995f2a997ffb" dependencies = [ "async-compression", "crc32fast", @@ -377,17 +373,6 @@ dependencies = [ "slab", ] -[[package]] -name = "async-fs" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8034a681df4aed8b8edbd7fbe472401ecf009251c8b40556b304567052e294c5" -dependencies = [ - "async-lock", - "blocking", - "futures-lite", -] - [[package]] name = "async-global-executor" version = "2.4.1" @@ -438,24 +423,6 @@ version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4288f83726785267c6f2ef073a3d83dc3f9b81464e9f99898240cced85fce35a" -[[package]] -name = "async-process" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc50921ec0055cdd8a16de48773bfeec5c972598674347252c0399676be7da75" -dependencies = [ - "async-channel 2.5.0", - "async-io", - "async-lock", - "async-signal", - "async-task", - "blocking", - "cfg-if", - "event-listener 5.4.1", - "futures-lite", - "rustix", -] - [[package]] name = "async-recursion" version = "1.1.1" @@ -467,24 +434,6 @@ dependencies = [ "syn", ] -[[package]] -name = "async-signal" -version = "0.2.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43c070bbf59cd3570b6b2dd54cd772527c7c3620fce8be898406dd3ed6adc64c" -dependencies = [ - "async-io", - "async-lock", - "atomic-waker", - "cfg-if", - "futures-core", - "futures-io", - "rustix", - "signal-hook-registry", - "slab", - "windows-sys 0.61.2", -] - [[package]] name = "async-spooled-tempfile" version = "0.1.0" @@ -821,7 +770,7 @@ dependencies = [ "hex", "http 0.2.12", "http-body 0.4.6", - "md-5", + "md-5 0.10.6", "pin-project-lite", "sha1", "sha2 0.10.9", @@ -1065,9 +1014,9 @@ checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" [[package]] name = "bitflags" -version = "2.10.0" +version = "2.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" +checksum = "b4388bee8683e3d04af747c73422af53102d2bd24d9eadb6cbc100baef4b43f8" [[package]] name = "blake2" @@ -1078,6 +1027,15 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "blake2" +version = "0.11.0-rc.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "061f1a09225e328e1ffbb378d2d49923c0ca5fee19fb5ac1cc9c1e9d52b93690" +dependencies = [ + "digest 0.11.3", +] + [[package]] name = "block-buffer" version = "0.10.4" @@ -1264,7 +1222,7 @@ dependencies = [ "find-msvc-tools", "jobserver", "libc", - "shlex", + "shlex 1.3.0", ] [[package]] @@ -1392,6 +1350,12 @@ dependencies = [ "cc", ] +[[package]] +name = "cmov" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c9ea0ac24bc397ab3c98583a3c9ba74fa56b09a4449bbe172b9b1ddb016027a" + [[package]] name = "colorchoice" version = "1.0.4" @@ -1653,6 +1617,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "ctutils" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d5515a3834141de9eafb9717ad39eea8247b5674e6066c404e8c4b365d2a29e" +dependencies = [ + "cmov", +] + [[package]] name = "cyclonedx-bom" version = "0.8.1" @@ -1767,10 +1740,21 @@ dependencies = [ "hkdf", "num", "once_cell", + "openssl", "sha2 0.10.9", "zeroize", ] +[[package]] +name = "dbus-secret-service-keyring-store" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21d8f54da401bb5eb2a4d873ac4b359f4a599df2ca8634bb5b8c045e5ee78757" +dependencies = [ + "dbus-secret-service", + "keyring-core", +] + [[package]] name = "der" version = "0.6.1" @@ -1837,6 +1821,7 @@ dependencies = [ "block-buffer 0.12.0", "const-oid 0.10.2", "crypto-common 0.2.1", + "ctutils", ] [[package]] @@ -2099,9 +2084,9 @@ dependencies = [ [[package]] name = "fancy-regex" -version = "0.17.0" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72cf461f865c862bb7dc573f643dd6a2b6842f7c30b07882b56bd148cc2761b8" +checksum = "e1e1dacd0d2082dfcf1351c4bdd566bbe89a2b263235a2b50058f1e130a47277" dependencies = [ "bit-set", "regex-automata", @@ -2720,6 +2705,15 @@ dependencies = [ "itoa", ] +[[package]] +name = "http-auth" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "150fa4a9462ef926824cf4519c84ed652ca8f4fbae34cb8af045b5cbcaf98822" +dependencies = [ + "memchr", +] + [[package]] name = "http-body" version = "0.4.6" @@ -3272,20 +3266,12 @@ dependencies = [ ] [[package]] -name = "keyring" -version = "3.6.3" +name = "keyring-core" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eebcc3aff044e5944a8fbaf69eb277d11986064cba30c468730e8b9909fb551c" +checksum = "fb1e621458ca9c51aa110bd0339d4751a056b9576bf1253aee1aa560dda0fc9d" dependencies = [ - "byteorder", - "dbus-secret-service", "log", - "secret-service 4.0.0", - "security-framework 2.11.1", - "security-framework 3.5.1", - "windows-sys 0.60.2", - "zbus 4.4.0", - "zeroize", ] [[package]] @@ -3362,6 +3348,7 @@ version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5cbe856efeb50e4681f010e9aaa2bf0a644e10139e54cde10fc83a307c23bd9f" dependencies = [ + "cc", "pkg-config", ] @@ -3477,6 +3464,16 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "md-5" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69b6441f590336821bb897fb28fc622898ccceb1d6cea3fde5ea86b090c4de98" +dependencies = [ + "cfg-if", + "digest 0.11.3", +] + [[package]] name = "mea" version = "0.6.3" @@ -3594,7 +3591,7 @@ dependencies = [ "openssl-probe", "openssl-sys", "schannel", - "security-framework 3.5.1", + "security-framework", "security-framework-sys", "tempfile", ] @@ -3605,19 +3602,6 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea2970fbbc8c785e8246234a7bd004ed66cd1ed1a35ec73669a92545e419b836" -[[package]] -name = "nix" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" -dependencies = [ - "bitflags", - "cfg-if", - "cfg_aliases", - "libc", - "memoffset", -] - [[package]] name = "nix" version = "0.30.1" @@ -3809,9 +3793,9 @@ checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" [[package]] name = "opendal" -version = "0.56.0" +version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b31d3d8e99a85d83b73ec26647f5607b80578ed9375810b6e44ffa3590a236" +checksum = "96c9c85ce253ff87225e7669979d877a20c98a06604ec9d6dd5f4473e08f1ae1" dependencies = [ "opendal-core", "opendal-layer-retry", @@ -3821,9 +3805,9 @@ dependencies = [ [[package]] name = "opendal-core" -version = "0.56.0" +version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1849dd2687e173e776d3af5fce1ba3ae47b9dd37a09d1c4deba850ef45fe00ca" +checksum = "c4f8607c90e2c963a91467f50fb49fbc7fb3d573f88cea219ca59ccd3740b309" dependencies = [ "anyhow", "base64", @@ -3833,10 +3817,10 @@ dependencies = [ "http-body 1.0.1", "jiff", "log", - "md-5", + "md-5 0.11.0", "mea", "percent-encoding", - "quick-xml 0.38.4", + "quick-xml 0.39.4", "reqsign-core", "reqwest", "serde", @@ -3849,9 +3833,9 @@ dependencies = [ [[package]] name = "opendal-layer-retry" -version = "0.56.0" +version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eac134ffa4ddda6131a640a84a5315996424b9416c85052f8c64c1a33b70ad4" +checksum = "7b2a25a718afb81fad81cb9a0580a1cb989221fa2317f888c6a37f8dad408eb7" dependencies = [ "backon", "log", @@ -3860,9 +3844,9 @@ dependencies = [ [[package]] name = "opendal-service-fs" -version = "0.56.0" +version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf0be0417abeeb0053376d816b90fceb9ca98f20dfb54ebf1f2a282729f83663" +checksum = "22e89a665fef0e6bd249cf5ea47fc174b7ba892159bee4b9382528b1ca873a2c" dependencies = [ "bytes", "log", @@ -3874,18 +3858,18 @@ dependencies = [ [[package]] name = "opendal-service-s3" -version = "0.56.0" +version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dadddeb9bb50b0d30927dd914c298c4ddca47e4c1cfa7674d311f0cf9b051c8" +checksum = "313d46c9f5ae70bca26b7c3e3fbb9b639292625f28af73aa016f47e788af9deb" dependencies = [ "base64", "bytes", "crc32c", "http 1.4.0", "log", - "md-5", + "md-5 0.11.0", "opendal-core", - "quick-xml 0.38.4", + "quick-xml 0.39.4", "reqsign-aws-v4", "reqsign-core", "reqsign-file-read-tokio", @@ -3924,6 +3908,15 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe" +[[package]] +name = "openssl-src" +version = "300.6.1+3.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46eb8fb9fb3b61ce1c0f8a026c4c1a0714d3a9e138e7fbde78753ce2babc3846" +dependencies = [ + "cc", +] + [[package]] name = "openssl-sys" version = "0.9.116" @@ -3932,6 +3925,7 @@ checksum = "f28a22dc7140cda5f096e5e7724a6962ca81a7f8bfd2979f9b18c11af56318c4" dependencies = [ "cc", "libc", + "openssl-src", "pkg-config", "vcpkg", ] @@ -4067,9 +4061,9 @@ checksum = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42" [[package]] name = "path_resolver" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a9f07f388f2a58768a34000c2b956bbc44f51630aa39d84f1d362c6785075a1" +checksum = "83a6d8be98ef9723e752c20eef948d3195d4e1314bc3cc033a8ff26b4e31d660" dependencies = [ "ahash", "fs-err", @@ -4537,7 +4531,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b66c2058c55a409d601666cffe35f04333cf1013010882cec174a7467cd4e21c" dependencies = [ "memchr", - "serde", ] [[package]] @@ -4729,20 +4722,23 @@ dependencies = [ [[package]] name = "rattler" -version = "0.43.2" +version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "188a5ce39ea764f92fb4868ac74a722e27d33a52f3aba18be8ec705fba911cbd" +checksum = "67961cc1ccb170208f10169542752dbe730353a874a13cb0749c13b960d72d5b" dependencies = [ "anyhow", "astral-reqwest-middleware", - "digest 0.10.7", + "base64", + "digest 0.11.3", "dirs", "filetime", "fs-err", "futures", + "hex", "humantime", "indexmap 2.14.0", "itertools 0.14.0", + "jiff", "memchr", "memmap2", "once_cell", @@ -4773,19 +4769,20 @@ dependencies = [ [[package]] name = "rattler_cache" -version = "0.8.2" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2aa78ff1be938e28fdcdb9837f90da858d090ec1147a00a2aab8490c077f557" +checksum = "24205a6af611e71f346e5e170c32f00ce1a9b49077f699f18d8404e711dc2209" dependencies = [ "ahash", "anyhow", "astral-reqwest-middleware", "dashmap", - "digest 0.10.7", + "digest 0.11.3", "dirs", "fs-err", "fs4", "futures", + "hex", "itertools 0.14.0", "parking_lot", "rattler_conda_types", @@ -4806,12 +4803,11 @@ dependencies = [ [[package]] name = "rattler_conda_types" -version = "0.46.4" +version = "0.47.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6018a34d7edb8a6b97c971ba935e59d217a0986376d14f4d515fb238b28bdf02" +checksum = "385575f3cfb4b9ce40c13d90b37964c80d8b527b62514118e4783ae0717b3ebd" dependencies = [ "ahash", - "chrono", "core-foundation 0.10.1", "dirs", "fancy-regex", @@ -4821,6 +4817,7 @@ dependencies = [ "hex", "indexmap 2.14.0", "itertools 0.14.0", + "jiff", "lazy-regex", "memmap2", "nom 8.0.0", @@ -4849,9 +4846,9 @@ dependencies = [ [[package]] name = "rattler_config" -version = "0.4.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e61e6eba72c2e8cc59f8fe7bd120eee4f0d34ed141ae1985ac5bd8c107261ecd" +checksum = "0afcf9763975148e4cc805653de9146ff3542535895e37cdb1a06b2dd3d681af" dependencies = [ "console", "fs-err", @@ -4860,48 +4857,49 @@ dependencies = [ "serde", "serde_json", "thiserror 2.0.18", - "toml 0.9.8", + "toml", "tracing", "url", ] [[package]] name = "rattler_digest" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c44304c9353802e910fac1dbdf6e16df44c341d07b1850bc1fd8b03912cbaab" +checksum = "2e4af3c4e8b0cf496e66a5f2e7244364409a20cd4338ad9b331bd7247de32b69" dependencies = [ - "blake2", - "digest 0.10.7", + "blake2 0.11.0-rc.6", + "digest 0.11.3", "generic-array", "hex", - "md-5", + "md-5 0.11.0", "serde", "serde-untagged", "serde_bytes", "serde_with", - "sha2 0.10.9", + "sha2 0.11.0", "tokio", "url", ] [[package]] name = "rattler_index" -version = "0.30.1" +version = "0.30.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a8bafd1bc5ad33a81d97a57fee3668406ad37b5f526a3658b019b34b72aa8ca" +checksum = "26d078770093f35bfdd275aa0c34689ef989b76dcd37d4e3b31a668e98852e61" dependencies = [ "ahash", "anyhow", "bytes", - "chrono", "clap", "clap-verbosity-flag", "console", "fs-err", "futures", + "hex", "indexmap 2.14.0", "indicatif", + "jiff", "opendal", "rattler_conda_types", "rattler_config", @@ -4914,7 +4912,7 @@ dependencies = [ "rmp-serde", "serde", "serde_json", - "sha2 0.10.9", + "sha2 0.11.0", "tar", "thiserror 2.0.18", "tokio", @@ -4926,15 +4924,15 @@ dependencies = [ [[package]] name = "rattler_lock" -version = "0.30.3" +version = "0.31.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c0fe27729fd9081d25eb1a23d94f49f23ee93a75d59bac0ae3e304bda04aae" +checksum = "4ec8b22e87f14a9ca2e55061f71b1d51d2dfb4aa1766babb95f06f6218d6733a" dependencies = [ "ahash", - "chrono", "file_url", "indexmap 2.14.0", "itertools 0.14.0", + "jiff", "pep440_rs", "pep508_rs", "rattler_conda_types", @@ -4955,9 +4953,9 @@ dependencies = [ [[package]] name = "rattler_macros" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d44a87a904057524e32dc8beeb50197016cec467d487bce9d64e044adbcaeb5" +checksum = "ac3d93067b745b200dd741e872f4160de24d1b972ee63db65e8a2cf6a447f1ff" dependencies = [ "quote", "syn", @@ -4965,14 +4963,14 @@ dependencies = [ [[package]] name = "rattler_menuinst" -version = "0.2.62" +version = "0.2.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ac99b44fac7a9e6cb4bd65cee12c3ec281db52284f6c85fc929b1d1b775cea8" +checksum = "957dbd0e8fb9ed66dce0bd6922914fb8bf795a4334d92e2190f34314a0b1f170" dependencies = [ - "chrono", "configparser", "dirs", "fs-err", + "hex", "indexmap 2.14.0", "known-folders", "once_cell", @@ -4983,8 +4981,8 @@ dependencies = [ "regex", "serde", "serde_json", - "sha2 0.10.9", - "shlex", + "sha2 0.11.0", + "shlex 2.0.1", "tempfile", "thiserror 2.0.18", "tracing", @@ -4996,12 +4994,13 @@ dependencies = [ [[package]] name = "rattler_networking" -version = "0.27.2" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19984b40494bdbaf785525ba36fdb1fa487fe44a36b4214851af4428c69ecf27" +checksum = "5014e4f5aedcbe01a83a5be0e8669b305adc82cc10985fc83f51c5fe07e0d198" dependencies = [ "ambient-id", "anyhow", + "apple-native-keyring-store", "astral-reqwest-middleware", "async-once-cell", "async-trait", @@ -5009,13 +5008,16 @@ dependencies = [ "aws-sdk-s3", "aws-smithy-http-client", "base64", + "dbus-secret-service-keyring-store", "dirs", "fs-err", + "futures", "getrandom 0.4.2", "google-cloud-auth", "http 1.4.0", + "http-auth", "itertools 0.14.0", - "keyring", + "keyring-core", "netrc-rs", "rattler_config", "reqwest", @@ -5027,28 +5029,31 @@ dependencies = [ "tokio", "tracing", "url", + "windows-native-keyring-store", ] [[package]] name = "rattler_package_streaming" -version = "0.26.2" +version = "0.26.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eefa295dc7b49aa0b67d125400561d2b45b754c66c0f7a19e8fc375b1056bfa9" +checksum = "2b4440ad7368a66ddd370a8160d8fb2a4d0a825b7a050f9c421dac350b37bed2" dependencies = [ "astral-reqwest-middleware", "astral-tokio-tar", "astral_async_http_range_reader", - "astral_async_zip 0.0.17", + "astral_async_zip", "async-compression", "async-spooled-tempfile", "bzip2 0.6.1", - "chrono", + "filetime", "fs-err", "futures", "futures-util", "getrandom 0.2.16", "getrandom 0.4.2", + "hex", "http 1.4.0", + "jiff", "num_cpus", "rattler_conda_types", "rattler_digest", @@ -5070,9 +5075,9 @@ dependencies = [ [[package]] name = "rattler_pty" -version = "0.2.12" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30f42171f331905af5752aeba3bd1a539b73a35d0754b7db9f7d06a314ad913e" +checksum = "d19145200e8c578be6dca325fbacf375a57f86d4a7ccf85d2d8ee193ddfb10dd" dependencies = [ "libc", "nix 0.30.1", @@ -5093,9 +5098,9 @@ dependencies = [ [[package]] name = "rattler_s3" -version = "0.2.2" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58be09fc22d312cce5ac8158dd94950bb6ba080b23b352b4aa6d53a8dbec8fd4" +checksum = "3e2a55757ecde8f53a17bc176d13061dda08485e3d1197dd7d9338e04ec7a3ca" dependencies = [ "aws-config", "aws-credential-types", @@ -5110,9 +5115,9 @@ dependencies = [ [[package]] name = "rattler_shell" -version = "0.27.2" +version = "0.27.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b57f7b11f6e6d0ef88e5d93b3ba5ea1c0cedeaa58195ec4e75680b465f38dc43" +checksum = "9794276d154c19579fe7982ab2c1e9a960f0d51e5e56cd8d9fafe36373a71dd3" dependencies = [ "anyhow", "enum_dispatch", @@ -5122,7 +5127,7 @@ dependencies = [ "rattler_conda_types", "rattler_pty", "serde_json", - "shlex", + "shlex 2.0.1", "tempfile", "thiserror 2.0.18", "tokio", @@ -5131,13 +5136,13 @@ dependencies = [ [[package]] name = "rattler_solve" -version = "7.1.1" +version = "7.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eef2142527283596cad4f0b89f4fa0c87a2e20831bf8ef51422d72c9fc6bc316" +checksum = "0a9bbdbf299cc4f9b363bd54a4e315be7e96c7645f0a75df5853405d0189ead6" dependencies = [ - "chrono", - "humantime", + "hex", "itertools 0.14.0", + "jiff", "rattler_conda_types", "rattler_digest", "serde", @@ -5232,9 +5237,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.13" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" +checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" dependencies = [ "aho-corasick", "memchr", @@ -5671,7 +5676,7 @@ dependencies = [ "openssl-probe", "rustls-pki-types", "schannel", - "security-framework 3.5.1", + "security-framework", ] [[package]] @@ -5699,7 +5704,7 @@ dependencies = [ "rustls-native-certs", "rustls-platform-verifier-android", "rustls-webpki", - "security-framework 3.5.1", + "security-framework", "security-framework-sys", "webpki-root-certs", "windows-sys 0.61.2", @@ -5892,25 +5897,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "secret-service" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4d35ad99a181be0a60ffcbe85d680d98f87bdc4d7644ade319b87076b9dbfd4" -dependencies = [ - "aes", - "cbc", - "futures-util", - "generic-array", - "hkdf", - "num", - "once_cell", - "rand 0.8.6", - "serde", - "sha2 0.10.9", - "zbus 4.4.0", -] - [[package]] name = "secret-service" version = "5.1.0" @@ -5927,27 +5913,14 @@ dependencies = [ "once_cell", "serde", "sha2 0.10.9", - "zbus 5.12.0", + "zbus", ] [[package]] name = "security-framework" -version = "2.11.1" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" -dependencies = [ - "bitflags", - "core-foundation 0.9.4", - "core-foundation-sys", - "libc", - "security-framework-sys", -] - -[[package]] -name = "security-framework" -version = "3.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3297343eaf830f66ede390ea39da1d462b6b0c1b000f420d0a83f898bbbe6ef" +checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d" dependencies = [ "bitflags", "core-foundation 0.10.1", @@ -5958,9 +5931,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.15.0" +version = "2.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0" +checksum = "6ce2691df843ecc5d231c0b14ece2acc3efb62c0a398c7e1d875f3983ce020e3" dependencies = [ "core-foundation-sys", "libc", @@ -6236,6 +6209,12 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + [[package]] name = "signal-hook" version = "0.3.18" @@ -6752,21 +6731,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "toml" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0dc8b1fb61449e27716ec0e1bdf0f6b8f3e8f6b05391e8497b8b6d7804ea6d8" -dependencies = [ - "indexmap 2.14.0", - "serde_core", - "serde_spanned", - "toml_datetime 0.7.5+spec-1.1.0", - "toml_parser", - "toml_writer", - "winnow 0.7.13", -] - [[package]] name = "toml" version = "1.1.2+spec-1.1.0" @@ -7138,7 +7102,7 @@ dependencies = [ "serde_json", "thiserror 2.0.18", "tokio", - "toml 1.1.2+spec-1.1.0", + "toml", "tracing", "url", "uv-cache-key", @@ -7162,7 +7126,7 @@ checksum = "4da5ce0335b9bddce75e4765ac4a6aa6ca95d1a5b52c69a8daa22f8edf36fb87" dependencies = [ "astral-tokio-tar", "astral-version-ranges", - "astral_async_zip 0.0.18-rc4", + "astral_async_zip", "base64", "csv", "flate2", @@ -7180,7 +7144,7 @@ dependencies = [ "tempfile", "thiserror 2.0.18", "tokio", - "toml 1.1.2+spec-1.1.0", + "toml", "tracing", "uv-distribution-filename", "uv-errors", @@ -7276,7 +7240,7 @@ dependencies = [ "globwalk", "serde", "thiserror 2.0.18", - "toml 1.1.2+spec-1.1.0", + "toml", "tracing", "uv-fs", "walkdir", @@ -7307,7 +7271,7 @@ dependencies = [ "astral-reqwest-retry", "astral-tl", "astral_async_http_range_reader", - "astral_async_zip 0.0.18-rc4", + "astral_async_zip", "async-trait", "bytecheck", "fs-err", @@ -7467,7 +7431,7 @@ dependencies = [ "thiserror 2.0.18", "tokio", "tokio-util", - "toml 1.1.2+spec-1.1.0", + "toml", "tracing", "url", "uv-auth", @@ -7578,13 +7542,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fd1f7e28dad36179a1ef585e29bb68aa063560404d26f631b4a1f03accfbaa2" dependencies = [ "astral-tokio-tar", - "astral_async_zip 0.0.18-rc4", + "astral_async_zip", "async-compression", - "blake2", + "blake2 0.10.6", "flate2", "fs-err", "futures", - "md-5", + "md-5 0.10.6", "rayon", "regex", "reqwest", @@ -7801,8 +7765,8 @@ checksum = "e69f7b75a1fad0374f546a66045d84e02db84a11c9a993a1bba42f830f0d23c6" dependencies = [ "async-trait", "byteorder", - "secret-service 5.1.0", - "security-framework 3.5.1", + "secret-service", + "security-framework", "thiserror 2.0.18", "tokio", "windows", @@ -7827,7 +7791,7 @@ version = "0.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f7a3ab30606767b8fa94be855a4be1c5a0c31d1eadd09e9c8335adf087fcf28" dependencies = [ - "astral_async_zip 0.0.18-rc4", + "astral_async_zip", "fs-err", "futures", "thiserror 2.0.18", @@ -8086,7 +8050,7 @@ dependencies = [ "futures", "rustc-hash", "thiserror 2.0.18", - "toml 1.1.2+spec-1.1.0", + "toml", "tracing", "url", "uv-cache-key", @@ -8166,7 +8130,7 @@ dependencies = [ "thiserror 2.0.18", "tokio", "tokio-stream", - "toml 1.1.2+spec-1.1.0", + "toml", "toml_edit 0.25.11+spec-1.1.0", "tracing", "url", @@ -8214,7 +8178,7 @@ dependencies = [ "regex", "serde", "thiserror 2.0.18", - "toml 1.1.2+spec-1.1.0", + "toml", "tracing", "url", "uv-configuration", @@ -8240,7 +8204,7 @@ dependencies = [ "serde", "textwrap", "thiserror 2.0.18", - "toml 1.1.2+spec-1.1.0", + "toml", "tracing", "url", "uv-cache-info", @@ -8354,7 +8318,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "667f3ed35d68b86720ba733ac96df3e97912478acda9164cf49332084ed61d7d" dependencies = [ "anyhow", - "astral_async_zip 0.0.18-rc4", + "astral_async_zip", "fs-err", "futures-lite", "goblin", @@ -8456,7 +8420,7 @@ dependencies = [ "serde", "thiserror 2.0.18", "tokio", - "toml 1.1.2+spec-1.1.0", + "toml", "toml_edit 0.25.11+spec-1.1.0", "tracing", "uv-build-backend", @@ -8848,6 +8812,19 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" +[[package]] +name = "windows-native-keyring-store" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "063426e76fdec7438d56bb777f67e318a84a25c707b07e575cb8b78e10c028f8" +dependencies = [ + "byteorder", + "keyring-core", + "regex", + "windows-sys 0.61.2", + "zeroize", +] + [[package]] name = "windows-numerics" version = "0.2.0" @@ -9221,16 +9198,6 @@ dependencies = [ "rustix", ] -[[package]] -name = "xdg-home" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec1cdab258fb55c0da61328dc52c8764709b249011b2cad0454c72f0bf10a1f6" -dependencies = [ - "libc", - "windows-sys 0.59.0", -] - [[package]] name = "xml-rs" version = "0.8.28" @@ -9281,44 +9248,6 @@ dependencies = [ "synstructure", ] -[[package]] -name = "zbus" -version = "4.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb97012beadd29e654708a0fdb4c84bc046f537aecfde2c3ee0a9e4b4d48c725" -dependencies = [ - "async-broadcast", - "async-executor", - "async-fs", - "async-io", - "async-lock", - "async-process", - "async-recursion", - "async-task", - "async-trait", - "blocking", - "enumflags2", - "event-listener 5.4.1", - "futures-core", - "futures-sink", - "futures-util", - "hex", - "nix 0.29.0", - "ordered-stream", - "rand 0.8.6", - "serde", - "serde_repr", - "sha1", - "static_assertions", - "tracing", - "uds_windows", - "windows-sys 0.52.0", - "xdg-home", - "zbus_macros 4.4.0", - "zbus_names 3.0.0", - "zvariant 4.2.0", -] - [[package]] name = "zbus" version = "5.12.0" @@ -9343,22 +9272,9 @@ dependencies = [ "uuid", "windows-sys 0.61.2", "winnow 0.7.13", - "zbus_macros 5.12.0", - "zbus_names 4.2.0", - "zvariant 5.8.0", -] - -[[package]] -name = "zbus_macros" -version = "4.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "267db9407081e90bbfa46d841d3cbc60f59c0351838c4bc65199ecd79ab1983e" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn", - "zvariant_utils 2.1.0", + "zbus_macros", + "zbus_names", + "zvariant", ] [[package]] @@ -9371,20 +9287,9 @@ dependencies = [ "proc-macro2", "quote", "syn", - "zbus_names 4.2.0", - "zvariant 5.8.0", - "zvariant_utils 3.2.1", -] - -[[package]] -name = "zbus_names" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b9b1fef7d021261cc16cba64c351d291b715febe0fa10dc3a443ac5a5022e6c" -dependencies = [ - "serde", - "static_assertions", - "zvariant 4.2.0", + "zbus_names", + "zvariant", + "zvariant_utils", ] [[package]] @@ -9396,7 +9301,7 @@ dependencies = [ "serde", "static_assertions", "winnow 0.7.13", - "zvariant 5.8.0", + "zvariant", ] [[package]] @@ -9560,19 +9465,6 @@ dependencies = [ "pkg-config", ] -[[package]] -name = "zvariant" -version = "4.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2084290ab9a1c471c38fc524945837734fbf124487e105daec2bb57fd48c81fe" -dependencies = [ - "endi", - "enumflags2", - "serde", - "static_assertions", - "zvariant_derive 4.2.0", -] - [[package]] name = "zvariant" version = "5.8.0" @@ -9583,21 +9475,8 @@ dependencies = [ "enumflags2", "serde", "winnow 0.7.13", - "zvariant_derive 5.8.0", - "zvariant_utils 3.2.1", -] - -[[package]] -name = "zvariant_derive" -version = "4.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73e2ba546bda683a90652bac4a279bc146adad1386f25379cf73200d2002c449" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn", - "zvariant_utils 2.1.0", + "zvariant_derive", + "zvariant_utils", ] [[package]] @@ -9610,18 +9489,7 @@ dependencies = [ "proc-macro2", "quote", "syn", - "zvariant_utils 3.2.1", -] - -[[package]] -name = "zvariant_utils" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c51bcff7cc3dbb5055396bcf774748c3dab426b4b8659046963523cee4808340" -dependencies = [ - "proc-macro2", - "quote", - "syn", + "zvariant_utils", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 3ac91d0..b3f6b17 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,10 +16,10 @@ default = ["native-tls"] native-tls = [ "reqwest/native-tls", "rattler/native-tls", - "rattler_networking/rustls", - "rattler_package_streaming/rustls", + "rattler_networking/native-tls", + "rattler_package_streaming/native-tls", ] -rustls-tls = [ +rustls = [ "reqwest/rustls", "rattler/rustls", "rattler_networking/rustls", @@ -33,19 +33,20 @@ clap_complete = "4.6.5" clap-verbosity-flag = { version = "3.0.4", features = ["tracing"] } futures = "0.3.32" indicatif = "0.18.4" -rattler = { version = "0.43.2", default-features = false } -rattler_config = "0.4.1" -rattler_digest = { version = "1.3.0", features = ["tokio"] } -rattler_conda_types = "0.46.4" -rattler_index = "0.30.1" -rattler_lock = "0.30.3" -rattler_networking = { version = "0.27.2", default-features = false, features = [ +rattler = { version = "0.46.0", default-features = false } +rattler_config = "0.5.2" +rattler_digest = { version = "1.3.1", features = ["tokio"] } +rattler_conda_types = "0.47.2" +rattler_index = "0.30.7" +rattler_lock = "0.31.3" +rattler_networking = { version = "0.30.0", default-features = false, features = [ "s3", "gcs", "rattler_config", + "system-integration", ] } -rattler_package_streaming = { version = "0.26.2", default-features = false } -rattler_shell = "0.27.2" +rattler_package_streaming = { version = "0.26.6", default-features = false } +rattler_shell = "0.27.8" reqwest = { version = "0.13.3", default-features = false, features = ["http2"] } reqwest-middleware = { package = "astral-reqwest-middleware", version = "0.5.1" } serde = { version = "1.0.228", features = ["derive"] } diff --git a/src/pack.rs b/src/pack.rs index ca881e3..7de64ad 100644 --- a/src/pack.rs +++ b/src/pack.rs @@ -952,12 +952,12 @@ async fn create_repodata_files( info: Some(ChannelInfo { subdir: Some(subdir.clone()), base_url: None, - repodata_revisions: Vec::new(), + repodata_revisions: Default::default(), channel_relations: None, }), packages: Default::default(), conda_packages, - experimental_v3: Default::default(), + v3: Default::default(), removed: Default::default(), version: Some(2), }; diff --git a/src/unpack.rs b/src/unpack.rs index 12494e2..9a06afa 100644 --- a/src/unpack.rs +++ b/src/unpack.rs @@ -28,7 +28,7 @@ use tar::Archive; use tokio::fs; use tokio_stream::wrappers::ReadDirStream; use url::Url; -use uv_client::{BaseClientBuilder, RegistryClientBuilder}; +use uv_client::{BaseClientBuilder, Connectivity, RegistryClientBuilder}; use uv_configuration::{BuildOptions, NoBinary, NoBuild, initialize_rayon_once}; use uv_distribution::DistributionDatabase; use uv_distribution_filename::{DistExtension, WheelFilename}; @@ -394,9 +394,12 @@ async fn install_pypi_packages( venv.root().display(), ); - let client = RegistryClientBuilder::new(BaseClientBuilder::default(), pypi_cache.clone()) - .build() - .map_err(|e| anyhow!("Could not build registry client: {}", e))?; + let client = RegistryClientBuilder::new( + BaseClientBuilder::default().connectivity(Connectivity::Offline), + pypi_cache.clone(), + ) + .build() + .map_err(|e| anyhow!("Could not build registry client: {}", e))?; let context = PixiPackBuildContext::new(pypi_cache.clone()); let downloads_semaphore = Arc::new(tokio::sync::Semaphore::new(1)); let distribute_database = DistributionDatabase::new(&client, &context, downloads_semaphore);