From ca9382d4643630f7c8b5fe7ee3a7fe3be5a92f52 Mon Sep 17 00:00:00 2001 From: Julian Hofer Date: Tue, 9 Sep 2025 10:17:51 +0200 Subject: [PATCH 01/11] fix: environment variable priority Fixes #3801 --- CONTRIBUTING.md | 22 +++ docs/reference/environment_variables.md | 114 +++++++++++++++ docs/workspace/advanced_tasks.md | 58 +++++--- .../linux-64/dummy-a-0.1.0-hb0f4dca_0.conda | Bin 1403 -> 1403 bytes .../linux-64/dummy-b-0.1.0-hb0f4dca_0.conda | Bin 1179 -> 1176 bytes .../linux-64/dummy-c-0.1.0-hb0f4dca_0.conda | Bin 1175 -> 1170 bytes .../linux-64/dummy-d-0.1.0-hb0f4dca_0.conda | Bin 1184 -> 1182 bytes .../linux-64/dummy-f-0.1.0-hb0f4dca_0.conda | Bin 1179 -> 1178 bytes .../linux-64/dummy-g-0.1.0-hb0f4dca_0.conda | Bin 1188 -> 1186 bytes .../linux-64/dummy_e-0.1.0-hb0f4dca_0.conda | Bin 1254 -> 1253 bytes .../pixi-foobar-0.1.0-hb0f4dca_0.conda | Bin 1188 -> 1320 bytes .../dummy_channel_1/linux-64/repodata.json | 2 +- .../dummy_channel_1/noarch/repodata.json | 2 +- .../osx-64/dummy-a-0.1.0-h0dc7051_0.conda | Bin 1400 -> 1400 bytes .../osx-64/dummy-b-0.1.0-h0dc7051_0.conda | Bin 1172 -> 1169 bytes .../osx-64/dummy-c-0.1.0-h0dc7051_0.conda | Bin 1169 -> 1166 bytes .../osx-64/dummy-d-0.1.0-h0dc7051_0.conda | Bin 1181 -> 1180 bytes .../osx-64/dummy-f-0.1.0-h0dc7051_0.conda | Bin 1172 -> 1171 bytes .../osx-64/dummy-g-0.1.0-h0dc7051_0.conda | Bin 1186 -> 1185 bytes .../osx-64/dummy_e-0.1.0-h0dc7051_0.conda | Bin 1245 -> 1248 bytes .../osx-64/pixi-foobar-0.1.0-h0dc7051_0.conda | Bin 1185 -> 1321 bytes .../dummy_channel_1/osx-64/repodata.json | 2 +- .../osx-arm64/dummy-a-0.1.0-h60d57d3_0.conda | Bin 1401 -> 1401 bytes .../osx-arm64/dummy-b-0.1.0-h60d57d3_0.conda | Bin 1178 -> 1179 bytes .../osx-arm64/dummy-c-0.1.0-h60d57d3_0.conda | Bin 1174 -> 1174 bytes .../osx-arm64/dummy-d-0.1.0-h60d57d3_0.conda | Bin 1183 -> 1183 bytes .../osx-arm64/dummy-f-0.1.0-h60d57d3_0.conda | Bin 1177 -> 1176 bytes .../osx-arm64/dummy-g-0.1.0-h60d57d3_0.conda | Bin 1186 -> 1188 bytes .../osx-arm64/dummy_e-0.1.0-h60d57d3_0.conda | Bin 1251 -> 1252 bytes .../pixi-foobar-0.1.0-h60d57d3_0.conda | Bin 1188 -> 1321 bytes .../dummy_channel_1/osx-arm64/repodata.json | 2 +- .../win-64/dummy-a-0.1.0-h9490d1a_0.conda | Bin 1327 -> 1326 bytes .../win-64/dummy-b-0.1.0-h9490d1a_0.conda | Bin 1158 -> 1159 bytes .../win-64/dummy-c-0.1.0-h9490d1a_0.conda | Bin 1159 -> 1157 bytes .../win-64/dummy-d-0.1.0-h9490d1a_0.conda | Bin 1175 -> 1175 bytes .../win-64/dummy-f-0.1.0-h9490d1a_0.conda | Bin 1173 -> 1172 bytes .../win-64/dummy-g-0.1.0-h9490d1a_0.conda | Bin 1186 -> 1183 bytes .../win-64/dummy_e-0.1.0-h9490d1a_0.conda | Bin 1158 -> 1157 bytes .../win-64/pixi-foobar-0.1.0-h9490d1a_0.conda | Bin 1187 -> 1313 bytes .../dummy_channel_1/win-64/repodata.json | 2 +- .../channels/recipes/dummy_channel_1.yaml | 6 + tests/integration_python/test_run_cli.py | 130 +++++++++++++++++- 42 files changed, 314 insertions(+), 26 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 512f26b669..e9f0fc4cce 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -124,6 +124,28 @@ pub enum SortBy { } ``` +## Tests + +To run all tests, use: +```bash +pixi run test +``` +But if you have modified recipe data under the tests/data/channels directory, you need to update the test channel before running tests: +```bash +pixi run update-test-channel +``` +> [!NOTE] +> This task currently only works on unix systems. If you are on Windows, it is recommended to use [WSL](https://learn.microsoft.com/en-us/windows/wsl/install). + +For example, if you modified data for dummy_channel_1: +```bash +pixi run update-test-channel dummy_channel_1 +``` +After updating the test channel, run the tests again: +``` +pixi run test +``` + ## CLI documentation The CLI reference is automatically generated from the code documentation of CLI commands under `src/cli`. diff --git a/docs/reference/environment_variables.md b/docs/reference/environment_variables.md index 1d1938dcbb..36a537cdc4 100644 --- a/docs/reference/environment_variables.md +++ b/docs/reference/environment_variables.md @@ -50,3 +50,117 @@ The following environment variables are set by Pixi, when using the `pixi run`, !!! note Even though the variables are environment variables these cannot be overridden. E.g. you can not change the root of the project by setting `PIXI_PROJECT_ROOT` in the environment. + +## Environment Variable Priority + +The following priority rule applies for environment variables: `task.env` > `activation.env` > `activation.scripts` > activation scripts of dependencies > outside environment variables. +Variables defined at a higher priority will override those defined at a lower priority. + +!!! warning + + In older versions of Pixi, this priority was not well-defined, and there are a number of known + deviations from the current priority which exist in some older versions. + Please see the warning in [the advanced tasks documentation](../workspace/advanced_tasks.md#environment-variables) + for further details and migration guidance. + +##### Example 1: `task.env` > `activation.env` + +In `pixi.toml`, we defined an environment variable `HELLO_WORLD` in both `tasks.hello` and `activation.env`. + +When we run `echo $HELLO_WORLD`, it will output: +``` +Hello world! +``` + +```toml title="pixi.toml" +[tasks.hello] +cmd = "echo $HELLO_WORLD" +env = { HELLO_WORLD = "Hello world!" } +[activation.env] +HELLO_WORLD = "Activate!" +``` + +##### Example 2: `activation.env` > `activation.scripts` + +In `pixi.toml`, we defined the same environment variable `DEBUG_MODE` in both `activation.env` and in the activation script file `setup.sh`. +When we run `echo Debug mode: $DEBUG_MODE`, it will output: +```bash +Debug mode: enabled +``` + +```toml title="pixi.toml" +[activation.env] +DEBUG_MODE = "enabled" + +[activation] +scripts = ["setup.sh"] +``` + +```bash title="setup.sh" +export DEBUG_MODE="disabled" +``` + +##### Example 3: `activation.scripts` > activation scripts of dependencies + +In `pixi.toml`, we have our local activation script and a dependency `my-package` that also sets environment variables through its activation scripts. +When we run `echo Library path: $LIB_PATH`, it will output: +``` +Library path: /my/lib +``` + +```toml title="pixi.toml" +[activation] +scripts = ["local_setup.sh"] + +[dependencies] +my-package = "*" # This package has its own activation scripts that set LIB_PATH="/dep/lib" +``` +```bash title="local_setup.sh" +export LIB_PATH="/my/lib" +``` + +##### Example 4: activation scripts of dependencies > outside environment variable + +If we have a dependency that sets `PYTHON_PATH` and the same variable is already set in the outside environment. +When we run `echo Python path: $PYTHON_PATH`, it will output: +```bash +Python path: /pixi/python +``` +``` +# Outside environment +export PYTHON_PATH="/system/python" +``` +```toml title="pixi.toml" +[dependencies] +python-utils = "*" # This package sets PYTHON_PATH="/pixi/python" in its activation scripts +``` + +##### Example 5: Complex Example - All priorities combined +In `pixi.toml`, we define the same variable `APP_CONFIG` across multiple levels: +```toml title="pixi.toml" +[tasks.start] +cmd = "echo Config: $APP_CONFIG" +env = { APP_CONFIG = "task-specific" } + +[activation.env] +APP_CONFIG = "activation-env" + +[activation] +scripts = ["app_setup.sh"] + +[dependencies] +config-loader = "*" # Sets APP_CONFIG="dependency-config" +``` +```bash title="app_setup.sh" +export APP_CONFIG="activation-script" +``` +```bash +# Outside environment +export APP_CONFIG="system-config" +``` + +Since `task.env` has the highest priority, when we run `pixi run start` it will output: + +``` +Config: task-specific +``` diff --git a/docs/workspace/advanced_tasks.md b/docs/workspace/advanced_tasks.md index 65fd09f1d2..aa435ec285 100644 --- a/docs/workspace/advanced_tasks.md +++ b/docs/workspace/advanced_tasks.md @@ -324,33 +324,51 @@ Note: if you want to debug the globs you can use the `--verbose` flag to see whi pixi run -v start ``` -## Environment variables -You can set environment variables for a task. -These are seen as "default" values for the variables as you can overwrite them from the shell. +## Environment Variables -```toml title="pixi.toml" -[tasks] -echo = { cmd = "echo $ARGUMENT", env = { ARGUMENT = "hello" } } -``` -If you run `pixi run echo` it will output `hello`. -When you set the environment variable `ARGUMENT` before running the task, it will use that value instead. +You can set environment variables directly for a task, as well as by other means. +See [the environment variable priority documentation](../reference/environment_variables.md#environment-variable-priority) for full details of ways to set environment variables, +and how those ways interact with each other. -```shell -ARGUMENT=world pixi run echo -✨ Pixi task (echo in default): echo $ARGUMENT -world -``` +!!! warning -These variables are not shared over tasks, so you need to define these for every task you want to use them in. + In older versions of Pixi, this priority was not well-defined, and there are a number of known + deviations from the current priority which exist in some older versions: + + - `activation.scripts` used to take priority over `activation.env` + - activation scripts of dependencies used to take priority over `activation.env` + - outside environment variables used to override variables set in `task.env` + + If you previously relied on a certain priority which no longer applies, you may need to change your + task definitions. + + For the specific case of overriding `task.env` with outside environment variables, this behaviour can + now be recreated using [task arguments](#task-arguments). For example, if you were previously using + a setup like: -!!! note "Extend instead of overwrite" - If you use the same environment variable in the value as in the key of the map you will also overwrite the variable. - For example overwriting a `PATH` ```toml title="pixi.toml" [tasks] - echo = { cmd = "echo $PATH", env = { PATH = "/tmp/path:$PATH" } } + echo = { cmd = "echo $ARGUMENT", env = { ARGUMENT = "hello" } } + ``` + + ```shell + ARGUMENT=world pixi run echo + ✨ Pixi task (echo in default): echo $ARGUMENT + world + ``` + + you can now recreate this behaviour like: + + ```toml title="pixi.toml" + [tasks] + echo = { cmd = "echo {{ ARGUMENT }}", args = [{"arg" = "ARGUMENT", "default" = "hello" }]} + ``` + + ```shell + pixi run echo world + ✨ Pixi task (echo): echo world + world ``` - This will output `/tmp/path:/usr/bin:/bin` instead of the original `/usr/bin:/bin`. ## Clean environment You can make sure the environment of a task is "Pixi only". diff --git a/tests/data/channels/channels/dummy_channel_1/linux-64/dummy-a-0.1.0-hb0f4dca_0.conda b/tests/data/channels/channels/dummy_channel_1/linux-64/dummy-a-0.1.0-hb0f4dca_0.conda index 96bf4db59c04a983b422e3dfb31ff0f50a5980a8..e8ed53e811d73cf67bddf535a50455f4a7b01a01 100644 GIT binary patch delta 827 zcmV-B1H}CM3i}EUP)h>@EdT%j000|8DO-^aSqK|KDO-bRYP6AWSW|9~8KBHeTSQ_j znuJUEQc4P0e0M+LzKRvIBko|1V{MDZg#eVamyJmPam&c3vDCPi0s%9d<+z86ig{NR z-FN-JwHKLH6}w+i!8Jt7@{ZIJBa<2dSO^w(!KrW)@**0crqc09yd<29bw#7-=!22Wr&o3uq=?@=mBVI zDQ19kO1bwMHwAxate64ajsdn2DG2w`kX~q1>jdxG@+MkXhw+e8hvYH^>&V2UwOU2Z zbw^@?B5<+|CxR%XSu5DMUwg{&_>Jh}T*!I(h}@9q<8}@t&-3`V)IpyYLxQM$9+qLo z=XYh9Agps)=2@cn&|0`sC|DvBdyM7T}+>AT=gBoC!tgA zF@J3N!z!tBjQ!*1nypt&<$J@`rl8^&y%Nb-hoKV(I>l6+YISYqwp>$fM*az#W9?d8 z%V*c>zA~r&Af)s?YY%b(#DOu!7>`Q`(T(U;jDqpC2_IJ2|MJz@9pl&d{Cz(w$kVN- zT-Q0PlFfe}S$p+;M@gx20x#!UIT#~-_0v~uFI98*gj80Rtj)I^gsSO`T~~{fp*PRk zVpSlZNTx;$>lv^gc%L_Qj71$IS0F5(bc8w}+i2fNdOgzSekjYd8x02tk2uAFFlL7d z0F65BmkSjIh|t1|)9&QB{qRg%-)oFg0%|Z93hsYKp{;vGC=7PLp$%bAAiTm7!0#^@ z@E4#BP!*UEo1_Df5JEVSY66%;hU5Xa9zY}Gr5*r}J>eO?d{l)GkRY2OLSj+j*@n=e zoxwU=#qNzefKnyQP;PfrH&!JeLzV&rj68t7!Y!mC4`72a@F5Hs38@8(*p9@2DGNZ1 zY=ad7n3ymaP)h*5FZQTF> delta 827 zcmV-B1H}CM3i}EUP)h>@EdT%j008AZ+FFqgSqSAl+FGcM5i^l*SW{-x_}cESD}1=|oU%QMm^MUxrHOk($Uth>I2cJxAvqIr~NB_UikNl2YXZUe2|0Fh=_7r?1#vs^;zqsjMtnn{PP?Rnr-}t`;XlZ=SWq zR{>NYph%`h3+oxMA9$ZPb&N$F<24A%Cmo><$Tr$Hl3tIrxgW|h?MA}^!Xr*`AdJ~z z0zjiq`{hDK0V1^U;!c| zIO-fCT^m diff --git a/tests/data/channels/channels/dummy_channel_1/linux-64/dummy-b-0.1.0-hb0f4dca_0.conda b/tests/data/channels/channels/dummy_channel_1/linux-64/dummy-b-0.1.0-hb0f4dca_0.conda index 1d45deb54f6a9402495ac28485ea15e8336e8d12..a354eb5a273bcc94d4e9c2f3ab895ad1db8c1f07 100644 GIT binary patch delta 634 zcmbQuIfIigz?+#xmjMK%oiw8-@$;KVRVH5bH+Z8xO5{9{;N7U)zS?iw%33EuUQ7Dg0BK zG5&&s#E~R>#$&yIu2?SJxLg07wd->WtBrnDKVIC|_DT}k6n!T-dNKQ4;SPwZLs z`|r9R$9Ei?*4!deOPkCF7h`dZ!A<(rs)WleaJ>rlp?R z_=Iu0!~v;iOXUx6`6;wGvpxKpxsur%o;oI< sVRqt#C5w{D8<~aWK?w&Gf&ZaEl|clWd>9y(G^$VbWbt83V+IKU0Kh2+ZvX%Q delta 652 zcmbQiIh&I&z?+#xmjMKx+TMzq$QQ{0qQAM<9GjSLQeO_1VPJsK8e8@MCNQw)GBYf4 z6&7#sm1arX90!Y5W^%DFx%&3j&SEhaMzOLL-BAbQxa6-H2-JO- z5y(EjI&nqXyqytYYDHgn&HNdA&N%$=6%*Zqaavpo3WnD$F5h%de88tUrBQLAXH7%N zWO+s*uzP;~*{40(lF`5ZTezo0!1q5sDPdcZCiCnxHvamILF30{w`FG)*&G?185|jA zl>Sy-_byDY>uCIccR@Cum_^IW-kYBiJam9r;mEu1k_wDV{F1#mBdSBJ*DAhdSv4n! zX^N82i)qt4=12YzyLP$q+}T-nLhiF3Ns1}C%Bb8_ibWc_Oc{Ket!vn2n05NaWi+tA77o_v84EV>A0J9<0*3yn9#dA=M=5@W}F% z$$3nQiWBC(S))>#7gc!8y7GgIKdP)&np1l2lG?POB~py;lh-pPrWiT3zHg4^ zPw4#|#FNmf{^5{f^M|T!iY^)DYnT)kS6!7ZXIOU1)OqLKz`HZFBqcwIC?q^#d?T8d zDLRwkc5fs9!iI@zTN4zwP59w(NpKUd)`25W4g`2JGU+lS(#7O5W^Z`Hn0%7iNd=Z7 tU^Kc8aE$4*h;e8!GB9N3rR7hoQ=Od0C?FQ#&B_K!Rm?yr1CnC~@c^Os1|$Fg diff --git a/tests/data/channels/channels/dummy_channel_1/linux-64/dummy-c-0.1.0-hb0f4dca_0.conda b/tests/data/channels/channels/dummy_channel_1/linux-64/dummy-c-0.1.0-hb0f4dca_0.conda index f2309d28907f1af176eb4e69d6a427c4787f9793..490e888e928cccec07e739a1388fdddb508d3beb 100644 GIT binary patch delta 634 zcmbQvIf;`mz?+#xmjMK%oiw8-@8f1=;Yx}~SYCUY=qf^EEVzwz^AOGZ=KXN(X#VKl@_@uz$Y&#rq+ z?q-y(cVcj4IM0w6_HO10zwNUYdHnfWFOs<6fJ#-?_j!xeoFpn3S|a}0F~3_9?8Wfd za${mlrFy~BDMA~>yca~rDb=ODjEV4n&Nz3XPoB(g4_Ql*^IHUT(>`o;opEHvL8EPK zceh=x+){C4)47!#lOqzZeKsyNtapz1H_e=S|&r8`s{kYe+XuWJ;2GThfN zD{QX1DqYU7tjpMW=iR`&5n7y*O(F^oPZ&>#<}K9v#9(H~X4k^##&xC1HAmmj;gpk2A({Da)FpLNBIG@0cHHC4TL4Wlw!d(c>HLuTCtiSk{_h*xavsNX3nJ z+D6kC+vc8IeDv_NQa{%jN4Pf6o4>OAr}Uvu{Uw*OLMltox!AcM5Z4i4+j!%=z>iBZ zKUWr?I{0bdj`JdOU!OQ)o%{9T`S2-6R8qF@IKC}Sb8cu<*NN;it54m3-&NmZZS{Gh zw31=A1hf1h24&W) zgG$?`|6sTzxQU1Bz>y;d1H2iTbeR$9VsZhqH#}iXKFsW74NDO)8eIn{#{NTrDuW0# j9WgL0X;h!=z@noDi$EA1;LXYgQp5~|GQdbqWd`v8s9Oa& diff --git a/tests/data/channels/channels/dummy_channel_1/linux-64/dummy-d-0.1.0-hb0f4dca_0.conda b/tests/data/channels/channels/dummy_channel_1/linux-64/dummy-d-0.1.0-hb0f4dca_0.conda index dc6d32c29285f857238321156400cb6aab6f78cb..270a44194bdd570820dcf1f47906f27d8343f978 100644 GIT binary patch delta 756 zcmZ3$IggVsz?+#xmjMK%oiw8-@mak&rCLDG_C*42(c1ILu?fHLXJY)jHq=XYm({<=+Kc`(^+*;z$4X9f^FTF1t*x#+x0*{-W1u8-FLU(CVGs&+AW z_jegn!9xd_6^?xRE?J;HH;75%d?)YYQ`U{z%cnGKjbOU_N$8`o_wz$lR{Zt5PFX3> zykqfgqE(T`yiCQYGY^ux4LSpxpLQ0myvr`5dS1FL|yG ze0tSV_@@kG{00Y!BPQ;3ujUkO*rWf>*!8)U(MP}6i|4P`==3~sL-*arwKub#7cMnj zXSiOge!uoV!*?&vSbN?HeRumnXy`MG+WPq06Ae0V@Eu%qB}zLqweQ3I_x3aSum80? zTXODApS_3Ki(+{jeqCv=r`se}9xHrOxp_}m_z^ja>?5z(CVrVPMT%ot>7`kMHO!t0 z4Ial_++MRu_PplbbAJ0(Lo0p5&Ey3B}VHo1=3 z8=lT4Uu1T&g(WZ;jjjWfKK?_2DuW0#Su!vzX;fllnC!r)r3OndFgn1Sl?|kf83<*7 Ki7JN~!~+1=-WVGI delta 740 zcmbQoxqy=|z?+#xmjMKx+TMzq$QQ{0qMfHb?Vp%$l2`ziVPJsK8e8@MCNQv@GBXIV z3JOlB6_{1RS> z0V{1JRYKoc%e!ZEdST-_{lPcUk?JuyNDZ z;#N_A95{95<$RrzJ$7P;LRk$oR)z@W7{19|ksq{g`VO;Xwp4|{RGy7TH*`#z^Y?LT)^o2p`^c~G`7@=v z+3)@;C3`3|cpP(EQpzmZ^O}Fp`R!K?%@_jNKM1fqoy-@=ULY;U79qlP&aUmi- zbF*NYxU{5-!-V||uH}mp)+W1Z@RYSLY~ElXuzmx}2Wu|2l7ly2r8XH(;&X7~c-WG0 zabHiu!`}zivR&ZVW5WF4qq@zJ>8-1-OjcnwQ(PcslN8;_ZzJn4&5?P=3=xR{Z$>6v zW<)}pT*K@QPid3SGdtPBk{FCe*8xf(|DiyYK?IsG85ou{Dl;-nwrAAhgr%4-lN(vY J+47h{N&x3>CwKq= diff --git a/tests/data/channels/channels/dummy_channel_1/linux-64/dummy-f-0.1.0-hb0f4dca_0.conda b/tests/data/channels/channels/dummy_channel_1/linux-64/dummy-f-0.1.0-hb0f4dca_0.conda index 81ba28575d34070317d2ad82a17f5ec315cd0f12..01b90a4c8c39433eadb7723db10663dd1573d5fe 100644 GIT binary patch delta 611 zcmbQuIg67oz?+#xmjMK%oiw8-@? zn4T6TEb$LG)O$w3h$B(u$xcRjvyjhGj0Xj!pYN%wyB>7bCVADGt!J;kPJ31!9rshw z<@BZ2M=2bWxfwOVM(d?ky_;;qXj=cA5o|33jMmty|2Kg_{4F1Y*bGmJfbV~NQo^<* zbtk<) zX=Hckc>3P>fM2o~=N;?kM{jspGiooN;;=TH>Fy_?kH)J{wtg*<3$4EQ`eo|8@BZy`u~K+uM*32_Uq8Dh&1iWe_Wi~+t+k&wY)a~W z9{Tis`BD30rIUaD;E4%MtqR}i?KZ+Uw+iKQ{Er^IHetW|^??8()+sD_D&ND9bMX)=heO+b#j=@JXy{%~X;$0gxTJIb^)680Q2?8;_!>s@nvFDr|CjntESpHI)odN#8&^{Ha``q?w@KehSn zGGo>=+11mPCUY}tf{hkiaBbRT8%ERm7mQ$Q8DO-=R{g&T4B}t;7{VmHBm%zw@kt5W zlGL5_{*2Gwi7K22)Q|WGK4f=haA9y_U}=fm`CRFBo@Lv_AFuy&a5XBaTnOI%UB)s% zfQes#MW=o~qu`D(KS|{V!>tjIB-gU!Ofh8IdXJ;zwD-~TYt*E#U9PN;OjnvL8$17o z%dAI{#s{iqR_6qGBs@v@8D_J6t#$iXq3COttgS3zGrs=ui9K^)V4D4$q9C8gS1pBq z$}q-n;BaE-{mb&>T6TKhpDUJ2H}27YXYBTzH)X-pslQ%4=RW2nwlVrna`ftAFR9lq zi;jL;_38WWNAiz%owTXpShvb(?`n@bizhhbn1>!*6yT*9n!4`8{rCDaA5Jc7tPYh;;Y<4Y-Zd_NITyyk4GA>b0krZj@>}+NX@MdJvWk#fq$ra4r@Z>T1 aG;BD~}RR@z9cWNTw; z&1DI8)$E-yGhZj*YK{4}{GvD6`c&+m?lwnjWTFW7V5+uiG~jp34>R1^5QUX*K>S@EuQIY0Sp z1I~ANeVf(rZBdW!BE#jb{a@u47k7HC&(&uWy1q3i*>AQE*D3u_qw7syck1r5I96J^ zw&#PpJF}ue+m_SrKMK~mtX)4<$@}T8n<>rz3a0GOnp<({ZID>B=*K&s*}f$!Jihux z^7_fN)0ZkAHeG)8rJPOVa!Fu)Rd#5m@$yJhj>HFZiZ6ZXVo8tLeA;dIEYaXN?bnC& zM1^*k{}o%l{@3BUU6E;@@7eN~1bos&{NWN$ z!}0kaMB?p2j`B}Pn5}r|nA1bcwt|Io4_Y}Neb8&o5PbA(Kwf!>`7|%5HU(A=fl7v= z*63YbJ`Hbs8hIWzOq>(-p+i@N%`cLXDMenaq@nXb#Wp$srV6)=N%0M79)JOBUy delta 731 zcmZ3)xrCE1z?+#xmjMKx+TMzq$QQ{0qK*15`Ay6Z@@&ZEV-RTLl`&wN-?KtT@rFkZ z=h-651)AZPJ|$UoHEOV$O~2@TjrlQCQ@R~*)5l+_N#S4b_Ec8~+!OZ+J%6X_S*L-i zug$gSn8{p>>R^-GCmkxAY{_U^|Ai53D+7$y*sA|Gfk8Z!pJ7{sw_LzV8;O-{ZA`7X zEZ#CpO_I{~ZFC4t6=uv(H;(u!;mqL7;KUHHAR(~M_T%%QzC|WGPFZI0NN!k``11YN z6PZ1VJ7!}aFUf9-{Vw?U&EudO6P|R}uUZ#yVJqY1(#+uU zc^sv^awp?NFFaZ@+0*3OmJ=KAoaIb>G(S6fPUDf%wO1l8t93VR@)kWCzrkkvbGev= z@ava2s!L1+n36q$?anLL>$7`KxwQ8wFBCaar_L((+Mlf`|EFdL-_@6=KferSb61$) zal~y&DYInHYyLgww_i0hV+drg5NA26BD;w1ftd}@1}iq5lxJ5iEZBJNQkwFa{Wt2( zQuYLtm~&mb71nYnpa_k(QOQM$p;zqEWG!sN+`c%P-zkH>kxZ;nnP?K|D7y` z-UHso4082{oNFRic*!apG;?n0Z9P=X^U%qY zc!Uq{akf0lF`0+a8fD*V2G zF5P|f&q+cq=>gNmCF0flwk7DK2-dPDhF{lOYjiteMSqc)fJVTz6n!4BOLF zJ?dvC?`ATu=l4}8=;`R~xxy>ibDV$A`R!K?%@_jREBKnECh;ZC5bR*Ib6|Y_^32Z( zf^M&wb~7@*5w<^?*CWkxzT|_RR3g(~fdwD(MD9g}w+waW|9}tq|@bild_!6cdA!xPa#ZSMhXYQ{RyuE2-e$>tS)netz zsViijtDZLWn9Rdy4K}->F4TUqKclIP0u$I?1{kfeRsU}SgZNefhOj%67ck1y`!o13 zoNj)}{)5R?fGOikTfsW7>e!5Tt8*nd(*FK;Q1oD7NeccRXD`j=^nkIc;AMZR1IxOp z!N)ifd~~N(xM?#=r}j9kHD}s)Xwjo|(Z#*1J_g9Y7WtyzVJyk^`%qxWG3%wZA_5hq zZKwVSiSMnsa^VAH+YrF64ab#>fU%&6m+KRln)g0Hnb7r=yX(&wCwd&dHlTmf$ zdVe2InVcl0%gUqRd1tplld+aw)Ez!J}T1Jf9jM<7f7<-;vX>!le{n&WPaFdKl zLuY0aV}Lg!lP)tNkxf3#>SH!B+`p)doX3?l=>7G@9+ E0E_q?@c;k- diff --git a/tests/data/channels/channels/dummy_channel_1/linux-64/pixi-foobar-0.1.0-hb0f4dca_0.conda b/tests/data/channels/channels/dummy_channel_1/linux-64/pixi-foobar-0.1.0-hb0f4dca_0.conda index 0f43e798dceb2cbf0fb6a7fa7291f94613e98933..c6d3caf9750692820cd328631297aa9af5caded6 100644 GIT binary patch delta 963 zcmZ3&xq^!?z?+#xmjMK%oiw8-@$;vjsXTE%+4vO#bhnp$jAeYq9}qd)OQGW12eyt~FSI6iFcq+r z2+2EGO)%AH=v>*ri0U<&RR*Ufn=@M08!$mU1*0K;5;qlOn07Z@&SAC9jbojS5oOxp zu7OM5OSF|Mdru0T^S?Br^tvNYAVUCyFGF{7Oz?FpfijLt2Ci(z8J|KER;cZtXR-J4 zVhv`Wr#u^371l5wzIgxjg~QjFEGBH#I&aZ^GKCoc$>pWZer z#m6a+H~;)JOFf%;cC+2mp3r)~Qy1Liul09l-+B~dbicQ!ppZj(U2n!yf5T0SW2|Q$ zmJ(KO+Z4QJ^0Y5=b=JjwypwIzz;w{^xzb5V&T~JCi;8SZlg*(%bJNvk(OETRt!MkS{r??UJpFu+q))v< zLsv&{&lO(Dp5y#`&TqeJXvPrOUcuFrG>LB`-vh-Oxy7fCJ8hF(%m0Q=Cg1)5^NxaZ ziQ7bS{)7~+e{h>)UiZwyz2Bv~UPy`E`4v7ztKpr)76CK%OB}Zu7^ZMDZ#Xbh%kJQJ zPj&;vKR*(;X6*Oz(%JbyjJe|Qo-fQ9j>1QrLilr8W<6(hinP9F8@+cWuPKgO9-d@1ulyjj^m QikN{=g^_{b9W#gr0Dwn=Z~y=R delta 833 zcmZ3%wSAc0c;E)zS#)E>hasy|)mb|@n z)%&zNx4kRgwd9&{1Qbx=ASBwy6!Dxu9#98?n+#4}z1;nnM1w=mt@3@0!WMdKOZ*rd z-?(Z7JzsiYZi(LkgFeojo?w^z27g$^a%Jn!mHcb$$#}%M=}Q}Hrp&pCB}RHhRa@p4 z-_moA_I@m}D>vKwm}{Jr*w^hw%hNr7>uIkQ+h~0I*32LN4iYAYY@1G86tMr8mCb$0 zEjwK&-v|F4b2z= z*(=0Zj;hEm;(K6b60pHaTqh+UH1o-uZ&@{$PZ#$V?D$hxzna7O@S*N9mzCl#_*|F| zt#gn{lxAosN@NhT@IG28q5P6TrA6MpL+orS3-^8YJktjA2TLU#y5}nh*_J5h%oFA~ zerxAD$yco@cNk}Ao#T00=3bh-QYD2WsDWW3yF&PmrK?Y{+&Cw3LV!==WFWWLM%zw) z3t8pY3mAQT752JKfgd*9jSct6REa#oTeeD-HL{}I zdgC>%uru6+?!_^`b)_Vk0zT=__hcwMbK-e))*bK0hMBy@cbr|1?pfXScK7MMTg7LF zitdgLbTo50{i*Lur{H8M#t5(t6VpE1O|D`*%xbaXO7n%uPE4jQ3N2Z#*Lkg0Nc5-2 z$g8`bJJ0sbX;pu`R)dZIeBmX;(p0&LDgrv`?rV$IV+cU jZ*>3rdWqQP-AvONSwLQx9LC}e_sis!EO7{H`B^goG|FQ} delta 252 zcmeyt^@EEqz?+#xmjMKx+TMzq$QQ{0qF3|^8c)oR3jA^F-8yZRohp$>c*|C)vhLio zdu~FGsCHVL#p8lIA9qVhGX;FopYO>~xc0>J{wq7CGcg*^ezv2%tE)0x^ltd?U6K@N!@j_6k`O~h68C!&QGplJk08FLMEhOvJ;c3%a!J?(&$aHAw9>9 z*Y!_UexA-;t$6jgzNo{zO%qwl59d(c5TDfrI l?xQyr|0@mR-n^S>IwK3n3zNfGyy1SCypkmjVJ$yvCIA$>a4P@+ diff --git a/tests/data/channels/channels/dummy_channel_1/osx-64/dummy-b-0.1.0-h0dc7051_0.conda b/tests/data/channels/channels/dummy_channel_1/osx-64/dummy-b-0.1.0-h0dc7051_0.conda index 2c5cbb8e5c1790ce1f16501ff78fea34556f7cd8..70206ee5d6185c5edabd8cbb865310b5d240f3a2 100644 GIT binary patch delta 329 zcmbQjIgyhuz?+#xmjMJ6oHU~+@-m~Ui;#Ku}Zg}hd=b>LVW;{Q0+@>IOYHr*^ zy@f)C^H#56pIpH7j|JqH$wkcGa8FG>%IxF>^9_s+@MdJvWk!So$QA#gK$SrR8U_pu bOB&S~85lD2(()(PsZP#gQDBQ_21x<{X{>ZE delta 343 zcmbQpIfauiz?+#xmjMKx+TMzq$QQ{0qQAM<9GjSLQeO_1VPJsK8e8@MCNQw)GBYf4 z6&7#sm1arX90!Y5W^%DFx%&3j&SEhaMzOLL-BAbQxa6-H2-JO- z5y(EjI&nqXyqytYYDHgn&HNdA&N%$=6%*Zqaavpo3WnD$F5h%de88tUrBQLAXH7%N zWO+s*uzPm6Ryj_#WSlOwK&b?*L z@7e2e&3Zjo{rS}|k}sZ{*3Dg p!+Z&&1H2iTbeR#M19HWGC{Se(frbqO!;(g=$@VNhY)Q-@AprfAe@*}Z diff --git a/tests/data/channels/channels/dummy_channel_1/osx-64/dummy-c-0.1.0-h0dc7051_0.conda b/tests/data/channels/channels/dummy_channel_1/osx-64/dummy-c-0.1.0-h0dc7051_0.conda index 0cc3eb98d8b68e342178f49f6f57540598d4ada4..f00ee9ef2edddf6bed64a5ecfc50ce80ccc578a1 100644 GIT binary patch delta 697 zcmbQp*~iHj;LXgU%K!ojPMXmZ`64+$^ieCmpA+*<5(~gG3=A+@W2^q(1O|3fW(FZv zLBR>N0<#JpFrM+5e8x23vw$rt|Bf|QA<_;<*0jbZ?u-yOv}-wSbS+;_v82y%{x!?2 zwJDb>TY3!VUox`4KhbYx-O^KHlQ|eQ!8Se;pHns2lF_vO5hKJ-7!9#f{3sv8x9Og8 z4&8D$jvapMyxvRWw0CfXC~IG$mC|JSx>A|wX>6Rb_gUMF;>WnFvxxYQ32`;mNi(o9~~} z*Y0dtU-PAAg1b|IR%Ev>3lHOmjXyJ3_I1u$K2;)G@5d$8>&@?H)qR^XO?$mX-@0>Q zg2^?p0e%$zRfh>vW$EZ-<8*c=v+yCu2CHte{p!^)^L1@FqP7*3ltd!hm_ zhd?DmQET*yE}I75o<{z}hKWpD69jL2*D$=~h-70;NP3hI;LXUS%Zx}Zlk=Iq;mKw4 zA!a9QSUQ2x=sG~L{2vNb8APC|i-BQDqw-{X79BNMq{HX{Z&o&tB4!|z0Va$XW)Kem DM^XVh delta 710 zcmeCm)TSy!CT;}<{o@5U{x0VH8CYO?DUhM9LG5GXGUZLp zljRus!R|?OQ}{C3l+m>QAtS^^FdE_@@x6Qu&%!B*z@3$v~C;(X^9&du4Ty%m1-F0(Dqt}5X=;qc*J^`$ReEa@?u{T-b5%@Qq%vwnSO*Dc>#*~i7EM&~R_ zZw49pd{(#~;IYuUe%3Aiko(cQp5OT_m!j0mIC(8oT;eVti)j`Go!pl$Tw&XAh&Q45 zhO0wGo1)DYi`%O7G;X3aXN zv~BtihD(B*c(@K6IdU+-n~_PE8IhDG=P-N2)6(Sq%ucqjLVqqZ$ef7y%W=fwi_vOb1MYsAGf%1(_O7#W(n5;!2ngZC2JZQ-Yj4&Teg%% z2-S7#=9X4WHf5a8*0I^tGX2ZsTa3AyA9WIaV~@<)yi?U`PT@AqUu*MQ%v*EUZpppT zYp2fCrLk(w+45c2!Vj;QT)^Z~@3y3rS$xWC{sWh{Uo|vi2xR{t!18o5Um$ydv>aE2 zEQ^>?aaP8Ki1f_Of@$K?k}4DSGq{#7PFS1ls=-s%zOZ?Nfx!9=EFY}7*h(00y;|CC zIEl}}N#kHk#=(6(2@gL%2ol$6(mcaZ@rRH9cJc4FooaYT%+RHe~Xo}>M-aXIq|qYMV&$xO@v-i%DT%!o*sT+QqakA=zSn4N54!4IR+b$|lqKNP4k ch(IHafniCb5+lQ82S%&O?JNRpSXi_%;+i-dhMBY?CaHuA(Qi&T}fG zNGKJMNKw0bAtPD$QkwFabw)-J3j3Kv?)4tp&Zpg!yuq4BwxzYPqE)rwexShu?h9f1 zwmlO|7=)ZS)k4lP8b6p2vEvA9_YILc1{;s|<&Qrt)T(P>xy>VJCdPT*pryTx^V?)2 zW_87^gUZ{c{y1=%F-6j(q0_UGF~FOVNtYQB3zMsuz2VU?`7E=OEiC+DG`bE@!2E{- eRR$4gtT8YwX;fxpm~78zHMxyNfGwLDBmn@)TexQc diff --git a/tests/data/channels/channels/dummy_channel_1/osx-64/dummy-f-0.1.0-h0dc7051_0.conda b/tests/data/channels/channels/dummy_channel_1/osx-64/dummy-f-0.1.0-h0dc7051_0.conda index d8cbaf2650f5b92fe7bade8927d22d5ce9452504..08a512f2e0e6b92d2734773c36a0c776dcd44742 100644 GIT binary patch delta 704 zcmbQjIhm6$z?+#xmjMJ6oHU~+@TT0;F@-0US;QxnOC12s0Re$pKz&8UuyU3XV;_|EpO_@zTdcJaO|?hnl(2bRfhij9s9Ar@NSBo z9dmf-%zL5lgwzCYGag(N;H4Rw+V|o9dwa=;vrFsOC0eDI9p8R*r`6dlQEANQ+vWJL zUB35Lp{q{@Y+ov6xF*r~>Wr-8I~bi6CU_ljn^Yw}psh0=-g&zs zS;y2|*-=VB;S<9XuI&M$l?<~bnB@;KD6?iARN6NE2g4=7O*~u&jvP4{;LXUS%Zx}Y zrx{Z9{zCyTg9tRKFfc4>1TiO1VAh4FrO8K`ot$8a2u7ou2Z~pid8#PpX)-b}Wag#i RPpng&oX4WTmdFgU0RTpxBNG4s delta 666 zcmbQtIfauiz?+#xmjMKx+TMzq$QQ{0qCd-+F-*)isV@i1FfhPqjjj5B6ByWYnHiFf z3W*owN;3$|n7O4lY4NI8tYL?*{%-%j`Ter+OPBa>JC=wr2XQeEsa1_n+E)c9}8jne6K6O56$x`o{|{|5cVKTKXVs$zlc`M&C!w zzEbWf?5rD%6ID@N*;1%sIN6%fUsP;{r$oT_KRzj8Tavny-kCr=^WzmkE3QO z+n4%f>b&p%?Q^kGcxJ|XlU4n7`xdFFDc0{kYP)S~cluN|*Cj_kuln?T_aphoyH3{B zu&rBVw0HF#RUf5o%m)`;iP8>D?fY>5y}jha*~k9H94G)p=Ra^+ytIcm;T1=} zV?fm<$;s!L9Ft0C7U&c{5E5Uqa3ya-tMq|q8@d}l@Hkgwq;L2ZAzRL{G|TYt&f9^< zBeL?`noJZNo-m#e&0DDTiNVZ}&8~&fjq6I2YmWX$#wE%rk|GVAoz08^-i%DT%!uSN vxscf#o?a#&VRo{HB@`Hqt^*Wx|DiyYK?It-7#Nl`YE5=z@nK711_=QGkNFSI diff --git a/tests/data/channels/channels/dummy_channel_1/osx-64/dummy-g-0.1.0-h0dc7051_0.conda b/tests/data/channels/channels/dummy_channel_1/osx-64/dummy-g-0.1.0-h0dc7051_0.conda index c34c2d9691ad8c0574e9208f302ed4313465690e..c0022962a1aac831bd1850bf045b562307761dcf 100644 GIT binary patch delta 728 zcmZ3)xsa1Dz?+#xmjMJ6oHU~+@W_ZatthTvvY;I#j zp7!-kqN#@N7vIiY)ZruXx%y1u!|QC049*Nr42;aGe`}x4)iz~fY+gP`ahuSgBniJO z)$&<4qB@x)yMOg)FPX@(x6+(xY4sE#vl5nV<;w4mx~*&B_gbg&tDfoQPP3_QSLfQw zZp)d|Hm7B+M#El<$D0zm69b%WbI$3mD%Pzw+;BiBnx|Xi<;nRo($=xPGS1FF_qF70 z%LnHZ%9?AY8aUQ6ZLn<-ysjqm>h+Nm!3DahlU?g2PT6k^i+QOX=@Z&I<w+7BhJ^KA2P7`9hNG+>W&Q{bi=cFZPsO zYs>vAxkLZ&EbH~Z4(C;6mQ=o<#b#wu5i860@1oT7m+ldthcGvcZZ&C*|3d3kx=$yOgGUX8#Sd)IIe9 zCFWe$ZiTfRN+_3z;+W0+QgjXEj(_fzbiptZblE#0-Qo!1R>Q4B`O*>R^)(Y|U6U*^<$;{u3kERt6ZYu~q+X0)x0KKSS9KFUf%G%zu2=3J6~2 z=-q2<{B<^mi&*}vGZH6zoEcmgoEeTB$(+Ccheq~#nCWiQDmTfS2Yp+lUuyKh8V%LL~n~VbRkE z8>}`gIWx1uHZA01&Fcy3$0uJ|E|9V^bk*a`sq6Xob(-+A#4p|V<&Jyb{(5G2g$W)< zT-;u>iBEaWf8g@=tA=I_f$S$_1;i$obXYaq{t$5Bm4d+upH&Ml9*bIX)@?@p)ZA0` zADtfF)u_qdtYpEq`|t&)8!{g2H?V$?=4LBkjCytUu!JYOg5s0}r>hnQ&Fx1TPRDQH zSZ2Wd;G?yT>~#LnkIX7J(mFP545;W+jLAsfkiJ5EQXzZ7s$G)j?)F(73o14iTEfVv z#P6`Kz&m^*=Z3k46BK0(CIxfLZEQWlK96rgt=I)dH8pm&0B=SnU1mfAoLtZB4NrlS iFEPg<5{(6mvl=Y1z~}&PRyI&FVg^DPV1g=O2Jrwh<1kYI diff --git a/tests/data/channels/channels/dummy_channel_1/osx-64/dummy_e-0.1.0-h0dc7051_0.conda b/tests/data/channels/channels/dummy_channel_1/osx-64/dummy_e-0.1.0-h0dc7051_0.conda index 605a1e8377065c71e91ff1bf425f8938ecafda33..25414d6f9f338f846a6d2ee07cb46e245870ae84 100644 GIT binary patch delta 665 zcmcc1`GAuzz?+#xmjMJ6oHU~+@EGh@Gg>;0xf4Uc-57f)Mp+*Xvst%m1>?fsRrepW}S9lTL@dDp+_sXHXq z4_`6i56rb>n#{v!4L1AEQNJsb{TWT`rI^6>GQen!t@?ix7{prz7}Vy3NCbTU<71$` z>XyjH^0Z}UlTC{kBAf8DIZ1 zw<-tfgTORr_gnPSMa^&Ut453cU6`Jp{# ztByG{PWczHd_leAoRbDO#QPQ*-P3%#xZ%KRS-fNY67lMN+Y)qA1Z!Cn z!>=10D@v2r-WCzX*f=S`>!nNPx&!-S*q)y1Q9paODU#tfn)1DJ<|>;x^eze9B|~ z1D7ZNV~S4tY{b-hzTtGtgk#Ih8btFNW*ydRI#kTF(Am0qYx%1k%m$%TCC}a6XLT%W zv+<;5jEqYB4(kd|2Tf$%FxT*c0F%Va6|CJi{2np;u%EEXU=S8&U=HwRWYT3uB&o@} hnZ4m@YBC>793l~vusCzVB429q0Tyw#b+waW|9}tq|@bild_!6cdA!xPa#ZSMhXYQ{RyuE2-e$>tS)netz zsViijtDZLWn9Rdy4K}-Omax!de@4@KaVD_63@}<_tNz~v2Ju`02C+NAasl0PH`GiJoPZ%dD$^z4pj9FMa6aonUFPFh?ge zf_LgZ7nAb-X&UKx7&#ljfwdJ)=_BxKej(48)hw;~35HH%0 zB56>SeSAvY#l;QH3%6bqJ8#Wq@ta3x!RZsT*7O@*2~A(Sv(?b5)@SYi^@iJf3%eJ; z(^+g&Gr`hr=@Q>d84GKS1v1k%C(pb-^V>s*7cyS18%@0w7I-ajn`|XM;JqkZ`K_xl6PlQ{b=|Tl4*ri0ZXDXPvH0HfOY~H)Mi%3PwZxByKCnuuV2XE}&cPMqB6G3fIEx zr~mCSNK12AuxeFK9h-{L5MHsN&fA4V9Zp^gcW>?pk%gY|R(0{cCxydjY`WcN(KEoSzD$@`z2;46L`(igQ+ z@kl_K=hscs_Dwu`**K}E`=odS)55LSgt*FeEFPaf&ACBs_er-)&+jz9oBgw-`WAEQ z|J_`x_xE2q_ z1sxp|dqVidr@ZDraM}Hep&3IU`v)l&S5?_$SqA4HwyxLxn{$FgH*~QYKj8SyD0iT> zxcz3(hL6cdb(`{)E7oQ4+27L^X*AV|c)dm=fZ;ClMaLU5CzO2{88pP%jxeRKh{%so zlYP)?u!KG9;D(+JA9g;N#JuHU><-2)8SJ4Kj~`}V_&U;g#)ZCvR?bJi9g{r}v~|YA zJ8uJzOJtR~9WqfUc*6KkG_O)?6GOB-v+N;8H>RwE%G;*>U|6P{B0GgaIGB++z?+dt zml=_9CYLjN!*kB$Q_ODGuq*?k(RF~*<9{g7WDtR7GzNwxjmeX}Sq#)*$rDBgc(byB Q6fpy#3L^uX(EtDd delta 816 zcmZ3Ac0c;E)zS#)E>hasy|)mb|@n z)%&zNx4kRU^K*4;&1sF)Mj`}1bqMFlM=QiX{z(PGd_C-n-o7xc3XB< zkXgw_$3q*8zidEW4hnK1!coqz(PvjN$=e~UuxztfG^W&aXfBvrfaeT*O)vXWbJkDp$c<$^xadlhc4%tfhx_mCB_B>MsrNIUYrOmMt&_X&{mkfo-I!u)Y%1`$ zLcn_U*xjb9z|HrCI!YREzGoDlG6g;x=g)qxh8L{0A;?ziMd45a?bZ z&T>>`?n1r`W+o9UtR$sU0zxyNyfMqExqP~~w_wJfe_?_x^=++P?*x|eEwHwV<=|#c zY>8!HIMvD+@nB8Y$78XV7=1XLt0HuF=mqzw^6fankXs>M$Dq5S`NU(z<`-XioGUWY zH=GOGSpAsqKuBnsMY;7WiPdRoD&EXYZgL0W9*V6};!hAxe&8%&Ahb+OC&^k!zQD?D znZ!pJ5{wS;W@Q5@V+KMMU}8&W2Jrv_#XqM2 diff --git a/tests/data/channels/channels/dummy_channel_1/osx-64/repodata.json b/tests/data/channels/channels/dummy_channel_1/osx-64/repodata.json index 7238f66424..5e7926fca9 100644 --- a/tests/data/channels/channels/dummy_channel_1/osx-64/repodata.json +++ b/tests/data/channels/channels/dummy_channel_1/osx-64/repodata.json @@ -1 +1 @@ -{"info":{"subdir":"osx-64"},"packages":{},"packages.conda":{"dummy-a-0.1.0-h0dc7051_0.conda":{"arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":["dummy-c"],"md5":"0fa6b0aff4e33fb1d2e1f51a83100f7e","name":"dummy-a","platform":"osx","sha256":"a161bcfa602c6628cc5a01a21764ae09a6ff5707f34064424850f17b40a60ea4","size":1400,"subdir":"osx-64","timestamp":1750924031761,"version":"0.1.0"},"dummy-b-0.1.0-h0dc7051_0.conda":{"arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":[],"md5":"f902000801b25764ec2e4c285ed27bfb","name":"dummy-b","platform":"osx","sha256":"79f241afe3abdb6f23da647b60b7cd63aaf5a999af030f043204769b411df4bb","size":1172,"subdir":"osx-64","timestamp":1750924031761,"version":"0.1.0"},"dummy-c-0.1.0-h0dc7051_0.conda":{"arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":[],"md5":"9b7b3bd8202ecb105002df6f34485b22","name":"dummy-c","platform":"osx","sha256":"bf8bccb74494f93cc7470a35c3d63bc4cb3995f6e982e2b254319e795d27b92f","size":1169,"subdir":"osx-64","timestamp":1750924031760,"version":"0.1.0"},"dummy-d-0.1.0-h0dc7051_0.conda":{"arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":["dummy-x"],"md5":"420648d7ea0c6b0f24ca48f9448b819b","name":"dummy-d","platform":"osx","sha256":"42fc9b0ed09e3a1b6ae451f7a40119392f3b8b755f87a6765be28f4f8e805ef9","size":1181,"subdir":"osx-64","timestamp":1750924031760,"version":"0.1.0"},"dummy-f-0.1.0-h0dc7051_0.conda":{"arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":[],"md5":"e963734a29dc7a5b3e16dad2d321e3f2","name":"dummy-f","platform":"osx","sha256":"aacc54a54778097f9fa25afeed280b9d84101d1e1814976af30449eb0bdb6d9c","size":1172,"subdir":"osx-64","timestamp":1750924031760,"version":"0.1.0"},"dummy-g-0.1.0-h0dc7051_0.conda":{"arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":["dummy-b"],"md5":"42cc31a84f5a560496b22da9ee63b770","name":"dummy-g","platform":"osx","sha256":"48e4d4352530f8ceef88c7b478fdd30b4426ca2d42947b26e7cbe0ae06e30c71","size":1186,"subdir":"osx-64","timestamp":1750924031760,"version":"0.1.0"},"dummy_e-0.1.0-h0dc7051_0.conda":{"arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":[],"md5":"56074754ca0b799edd729673c234f86a","name":"dummy_e","platform":"osx","sha256":"de53d5c93436d3e30c08c1ea591b54404590969e211826468887619203e1104f","size":1245,"subdir":"osx-64","timestamp":1750924031760,"version":"0.1.0"},"pixi-foobar-0.1.0-h0dc7051_0.conda":{"arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":[],"md5":"f002becc1f333f1ed8113b0f71e3706f","name":"pixi-foobar","platform":"osx","sha256":"7521d8a2dce0c0a0421f7620c8c74d6abc7689ab7311c23a33719c40db5fdaf2","size":1185,"subdir":"osx-64","timestamp":1750924031760,"version":"0.1.0"}},"repodata_version":2} +{"info":{"subdir":"osx-64"},"packages":{},"packages.conda":{"dummy-a-0.1.0-h0dc7051_0.conda":{"arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":["dummy-c"],"md5":"65c3025e8df78e37a7da4b2cffc24ce8","name":"dummy-a","platform":"osx","sha256":"7b9909eb0f581f4c6b214853ba1ac937a17e23502641dd3983e4c77d36b85eed","size":1400,"subdir":"osx-64","timestamp":1757405821777,"version":"0.1.0"},"dummy-b-0.1.0-h0dc7051_0.conda":{"arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":[],"md5":"0ac1108534004cefac5719d4b1c2651a","name":"dummy-b","platform":"osx","sha256":"85e6acc401f7be1c44f855a37e6d81e69019f6bb7554053dbdbde02cfad01e45","size":1169,"subdir":"osx-64","timestamp":1757405821777,"version":"0.1.0"},"dummy-c-0.1.0-h0dc7051_0.conda":{"arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":[],"md5":"9ce1422e6dd51a1a1bd28b25cb0628a8","name":"dummy-c","platform":"osx","sha256":"86dd650de8b7a4ac4c40c4fb0f9d5d64ca3f297bce236b01d83710494e561093","size":1166,"subdir":"osx-64","timestamp":1757405821777,"version":"0.1.0"},"dummy-d-0.1.0-h0dc7051_0.conda":{"arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":["dummy-x"],"md5":"8681dfff5dae59c0df24a1bb5fb0efa7","name":"dummy-d","platform":"osx","sha256":"38678e87af5410240f22c0e34aa5c2f1ec2f2f782d4dfd6b500dac64426899ff","size":1180,"subdir":"osx-64","timestamp":1757405821777,"version":"0.1.0"},"dummy-f-0.1.0-h0dc7051_0.conda":{"arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":[],"md5":"e1b940f0e9f9707ad94bfa9ebf5f45d4","name":"dummy-f","platform":"osx","sha256":"26970c3ffb262799425436566f51e1ffc53d527ff9dc4dc42041aab7c4935b83","size":1171,"subdir":"osx-64","timestamp":1757405821777,"version":"0.1.0"},"dummy-g-0.1.0-h0dc7051_0.conda":{"arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":["dummy-b"],"md5":"47d6ce396b1edbc215157daf573caa33","name":"dummy-g","platform":"osx","sha256":"c309152f76053318603c238595eb3fe1f08fd230c9c72dd47a326074d35a10a9","size":1185,"subdir":"osx-64","timestamp":1757405821777,"version":"0.1.0"},"dummy_e-0.1.0-h0dc7051_0.conda":{"arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":[],"md5":"67cda4392d6d91ff77dc5c86eb9de646","name":"dummy_e","platform":"osx","sha256":"3cbe49bb0d455b46661b5d9f42fb0539a08cc343350766b7be58ea232e9d7758","size":1248,"subdir":"osx-64","timestamp":1757405821777,"version":"0.1.0"},"pixi-foobar-0.1.0-h0dc7051_0.conda":{"arch":"x86_64","build":"h0dc7051_0","build_number":0,"depends":[],"md5":"61a02e9881878a7bcf337936bb6db680","name":"pixi-foobar","platform":"osx","sha256":"f264bd2e6bd79d1fc5a1ddaf12772a66516b2ad9bcb95b161198e117eb671d96","size":1321,"subdir":"osx-64","timestamp":1757405821777,"version":"0.1.0"}},"repodata_version":2} \ No newline at end of file diff --git a/tests/data/channels/channels/dummy_channel_1/osx-arm64/dummy-a-0.1.0-h60d57d3_0.conda b/tests/data/channels/channels/dummy_channel_1/osx-arm64/dummy-a-0.1.0-h60d57d3_0.conda index a10a3608eb9a744c16f05f4c783684858e638c3c..2ffee79fa749899512cea098ae3f0c07c435bbff 100644 GIT binary patch delta 207 zcmey#^^=P)z?+#xmjMK1oiw8-@+Rg zej?eT+Rs{dEVf+tH>j6~QRC->4s>$Ij-f-tlUd0lJFiC(l69C}XOy&Rp delta 207 zcmey#^^=P)z?+#xmjMKx+TMzq$QQ{0qF3|^8c)oR3jA^F-8yZRohp$>c*|C)vhLio zdu~FGsCHVL#p8lIA9qVhGX;FopYO>~xc0>J{wq7CGcg*^ezv2%tE)0x^ltd?U6K@N!@j_6k`O~hTXX-&6BGb+Zm%KGclQQ*({&-Doi1TPix0yCnj^Y pNxmENythrRXEJ0=+`N%#5hDx8Rg=S6yy4E9yox0bVUhrACIIrERdE0S diff --git a/tests/data/channels/channels/dummy_channel_1/osx-arm64/dummy-b-0.1.0-h60d57d3_0.conda b/tests/data/channels/channels/dummy_channel_1/osx-arm64/dummy-b-0.1.0-h60d57d3_0.conda index b0973fc62ea44e0ad4d4b2df193794407d12af6d..d91c853203a2e6dbeb526d43048b58105c1a77f5 100644 GIT binary patch delta 655 zcmbQmIh&I&z?+#xmjMK1oiw8-@s_4kPN}Et&{$=4ouiM`$SaB~}aa5LPao8s5)5rI+G%4G$ zKe_jnE%42%x`^G!qSow*54&otZ(FS957*sD2@coZZ zO4ybp?)Ez~XI3dQYW$e&w(P7Tn@rlBU zJT?qYJoWP#g)Cl~ESu6$_6mKqb`|C}*0Kc)CZ^wupC zmsLz_<(MjADY5RD>9)1j{a3;yS@_ zoan#0@IT2h&(9pUDF~hVGWMa~LZOXwS2J#wIbIkb`i$fM-+!A0_j!JQUUa!~v-Lll z$yQ%gW>ng-HQngVQFnZGXG@xU{*#lJqhj+Hr7!ywbo^qUvVM`~R>sL2n1bsIwspPi z?Owt>L7?k{Lew^W<%l2l1#1`=9Mt3uaFssr>_Yd0mULcOr?*VI&kLLnIjZuQFJUE{ z#*EjpS9@1ZnyBc{$mAw>Anu`9@I=lHcO^~;2pI@15VJ{&?&PrX90!Y5W^%DFx%&3j&SEhaMzOLL-BAbQxa6-H2-JO- z5y(EjI&nqXyqytYYDHgn&HNdA&N%$=6%*Zqaaxo47}dd6Kj~@inrzD$R4*5>(new> z+p-3?9G2kF!$roM*?mGyXS*=mI>{4e%Vy8u$Y9Sf`H0a(QU8!YDc`re8(Vq84ws}D zP7_GYR_sY$tFwI_pZ$a1Pw)0i-0qeaudlbM|9;r=1^c`$iZ`#CEH$$I!FHo?`PCn* zoL9JQpT)3EitVC~tX`q#jV}G-fK&BG6D|lx^G^QsB}X#w+_qL7^WuFb<$e!eJ489T zGb^rXH8^V5=){*laf00g>8m=rOKi+madT^DXABJ16#$>HFEcN*~1M zPkM4KY?t+YEA6vs4vLvPQY z5~Bx)YlVRB?dgI#f8;H$FA(m-h|>8t_6oSxA843YrLD@k-jR|rks7l7v_|+ zU;ADi3psgW!g2;iW&VWq1>Gx8u-wSwN#Wp>;0)lF+qm`!`#e5{(+e1Ve7JZ5ycwBv znGq@FG()Q1e=wNb%4o@6pRZ5%=I~=N!eRrv|c-J@QpI zqBtH$X#c-<_2KdEv!>q<>#jYS+9`KiaPLle0WbRxOL$MNQ~Pzw<$$^9JiGYVq*BhS zFTz9)Ogp?ly}qQ|`$m_3bI>Vyj~AV~?VgoNZ~9m4%vJoKcJ^-Z3z2=om-uCQQ#OdX z9uo295GlH7yM+ITo9X_gBGpUMP+_t5t$Scs%`u2>4uz@B9jZ4`I4eBXS+Vu(*5w=jh5SCdwECRw zdq=fPCr-FeUe9Dye}-kjUj7UEj9u^i4o2PX3XrJacjitkR@i$;jDcZkf`hn4@X@Nr zW-l33T9j-$roBDQA@+}7CYvFnK#Mu#Alp96H%dD`$T)8gn0(-!@sZ6Tf+u${8(igM zE#A9$*TxVbBNk1Eh7-&awC`LBO<~GO=SksU?|HIxLqwG>OC|s|>CA%w delta 496 zcmbQnIgOJqz?+#xmjMKx+TMzq$QQ{0qNmTEW;ZcEjwLpu`^LnJvRr#sr76vu8Q~{a zF!6^aSVd-xrqBleuu8h2AO5b-5;I# zqq!4hvY+1HW%Xym#+}dVbWV4BN6$H4=92%8z2y?WO{Vjv)t&o{1V8WwwJtv&K0PAV z$#j<}>xQQWFHXL{q^p;xy^qIBvtD7L`ZgK0r=1(@7d_k7`e(Ld`T2#xKm0uGOH3xX zAB^G%)=>=Lm^ksG?GpYUZl?Q}id1X;2r`Sz`H-1mf7B+k^YP19If82&-&&UR9$y-G zDL;4V?$2wtTzbQ)p|WySSk;@;i8n7z&SR2SNRhgnF^gd(A#e7~LkXVKS=k@x8&%$o1auVf5{;0Er5IXYRyeg}sNw7#Nl&IEc?#88^9b zb_s)!lc1c->2Ikl-2d78Oc_iprZTQdV7@O?CKyxEw=jBzXTo>MN0C|F=kGGksB2%d z^IqWH2rW*@CJ_aPCyXaV^ImEhF>W(vGiqUWE4tF;o}>7&aXE8}d`W{y=gCIK0B=Sn ZU1mh|O)g>fhR5IJDMB diff --git a/tests/data/channels/channels/dummy_channel_1/osx-arm64/dummy-d-0.1.0-h60d57d3_0.conda b/tests/data/channels/channels/dummy_channel_1/osx-arm64/dummy-d-0.1.0-h60d57d3_0.conda index 0ff56640fa5c037f0acae50759e7342ea393b852..27a64f684c7e7d6ca6d5cbd1a707210b3d09719d 100644 GIT binary patch delta 286 zcmbQwIiHg+z?+#xmjMK1oiw8-@ z7BXbz-?7FjMB3rV+1A*^oe|=Ob}hG!uI1Nhmi8H*kBE9>kaDeZX^-K4F=PAx6a7}! zE%g%TR#4DCUU1{@V$Pp|1*Vq*8QL1uJ~l2>-qg%=W99}SR5!HkDeC$U0h4VQCvi{M zxbs=vnV*kxE>}*z$*9g)Kbet9lF9hRWEmz!BjMC$t6Tnt{!x!Ac3DNcBqvn!$v!SL z^ZK=RZAtmQsbRa!&Up0;Gq$RPZcXyO`D%3{Wf%~#V71$YzR7-_ITHeXaCnP zc^k(OI_*x%bjBGAzUj|DnKJ2-M`yIoeETobmyg-9GM&kp_E=8q=$`IoW8rsu&z{)3 z`^MXDE+wZeI_EFs>u@Us=pVPZeA7Mg0pH6hjmitXcswE*8E-l=zwzw(9>)U=Y8{$G|4xDG~7fk55Y2mZa{a_h)?e3N|TznC!OftRkBu zgA;=z!;GobYMb6o3l{0z|F2((M`VVJ|J!@TPh2>d`5OdI-%oE~Sv9xBi!;FH`OzC* z){NTAr!*wSaF(3*K5~AIn)tQLmA+H!OWlk@lUG0OH95N3t;3*mVsomu;oWWTY^1gy z`m~`^`;bc5jIV!uV$a+cm{vb$Qds7R)x~O`ESdHtG#Ydqtz*-;zGK?66aI69rB45T zWEWg=&qeK$b?>Xi^Ve&1dY;HD?9b)h`DsS`RJLsuaiRa}!v7@4n9uA#e;_n;S^3o6 zEuPLt$__5N5~UrQ+V|o9dwa=;vyc6YIb3q?O<#WZ=7%Pivu0|}^S6~-vwZJu$9Fbz zM-E=k>|52VF260SB`T}<>W-}TIGM?tnf&V?_=vvly}g8af83)V0$ zIJlB0fK~d(vkl!34i)p1#j9Si zh8@28yZ!&>_shaBUE;s(SR%q4*pQlw=^|NQ* ze`@pDWyY*$va6>naVse3A1}E4S6QNH>4U5#iy3$reIGIVx~H(SZZJ+%MRm%@r=Pke z+c28eKVt+tj{!z&Y}Nmpz##sVkAW@1QzGE|AD@)4kgcv8%hQ(K^O(f)V6xk?vx;nv z3{F5eW9e?SFYm&FMLPEXYgghC>TvP@c+d2T3kNfQgTUqc=?yF&=9YMIK8eYnH}jNr zqxSMC4O=6a?tT*bXxx3V_30Ol&};SLJFm=rKTYCR$P`1T7LOJwA8#MyyFcCqZrO3@ z%Z5sACzY@nPiuT*Pe12hR=;IZSmx8Ki&;NOG3|3`H0WS0Z&SbV$lLVEa=Ae1%YPpI z3;NR0>AmN27=LZ8tEZ1snf51%>(3I?r%sdm^sF-US9P4Le7D);pD%b~LQ`jl@AB?& zap^H;Y@Bo@N;@>O@5BAi_Tmp`Ppj{XtlIKH?~!@-ZG+EwD>LW$naUK zpWKnyvuo|*-sta+`g?c1iz#<5im(nxW;hd zK?vK5Cf=Ij8?FTpE!*-Isx{tC??_*%Yg5ji@Jn{nvnuz}fHxzPE;AxUon}bY`ws?_8<-v8iEHvn i<~T419L@SH&T6peh0y`ttZbl&X9hwUU=m1Y2Jryc!X)|t diff --git a/tests/data/channels/channels/dummy_channel_1/osx-arm64/dummy-g-0.1.0-h60d57d3_0.conda b/tests/data/channels/channels/dummy_channel_1/osx-arm64/dummy-g-0.1.0-h60d57d3_0.conda index 526cf7bfa4976933713999afb82a52bed41eeffd..0e76e484b53f6584c40dc4e9ae3b8d012880782a 100644 GIT binary patch delta 613 zcmZ3)xrCE1z?+#xmjMK1oiw8-@kT}q4F*RUUBWjS9X!}9oR z@5b1x{CjWjimbfP5o%lfdZzlJD<&T!@->+zb1|xeE%y9&$vOBx zQ!SbLx=ni4@2+s{oG2gC5_(tJXQvO>qkFfa>}8&2-BNyB_hXCMQzK))$={M^Z~l1X z@4PF$udZ#6v7A!JCDH75DnTqlis^cVSNzUHO7A|hf3y8q9RaUmT!s+wpGoIO`*Jb2>ui#11Oh(7USE971*?PQK z`*GR17ozze3X7gT*kH6_Nx-ZfrWq-Qe_u~fKQ{TsdV!MHp=*+>rf%oA6Y7-WuoL-x zsn{mz&qw#ko0v|qfMRrV1G6_gYA0W2cCv=WDU1&AW@OT3Mx+H$RQ!hmRR$4gN?>4E g(x@>xfJH|Q7Bet9z?+o~q=*>^Wq`3)#0=sA04Z1Jd;kCd delta 617 zcmZ3&xrmc5z?+#xmjMKx+TMzq$QQ{0qK*15`Ay6>NiPA*FfhPqjjj5B6ByV-nHiK? zg(Mns`4|M+cx4Qj=J%}7QM}=i!+EyIa)D;}rB6v#U5y&7X45Y^Ut@mE)Rb<=+w}2Q zYEt;uyFJy_0r$jxLeJl+de&)R>T7c?I%YCAqdM5$n!8omldTv{>pw9@nV9P$ZbakM+OIm_TM|c9$r~1 z#u8{SrFiiq!3iR*g86IByS+|2Xawz=R~S;lct2_N?v9OncPPEy-gSNT?gGBDM0uNn zCog8!_u2HUW&FNeIP&JEi$5|Bw<%?rFopz$Y>w$)XWG1cn-=@r*R0HcRxHtYZs$|R zqVidOUHa2mTg!NFYDvHGotVI}Bt_%NOsD?JX3iYf3$OWAH@W1@^|IR`lefuvRe$N0 zTCIKY8-%t;Sx@`Y&0S>kxIAm$)N>s2B47J%M|xQJxwx&YeUYi|%G&1OkiAw>#$U$b z@p*5xlHYS?TnhWiKGk;en$(QrVx{~4e7(eG#(VDeraj+;uJ4a~lxJsR(0#PMvpCJE z|IEU}leaLPVgbeHi%}RI;LXUS%Zx|~pqTg%1*!}p&~(7Su%uBP i7&V!BY55cDRMlY71ET}HS=m5JnSoFSsIGt+!~*~m9qIc3 diff --git a/tests/data/channels/channels/dummy_channel_1/osx-arm64/dummy_e-0.1.0-h60d57d3_0.conda b/tests/data/channels/channels/dummy_channel_1/osx-arm64/dummy_e-0.1.0-h60d57d3_0.conda index 90099e4eabff19771197742d1ec8f90c8e4ae570..3c7e636ba5655e1870dd9525768b2fa77e191ffe 100644 GIT binary patch delta 689 zcmaFN`Gk`%z?+#xmjMK1oiw8-@)U=Uv_z`!OGA`$TYkB@=&s#_u(%hQ&bO;X`Jpnk+h@FBY&gCB!8 z!;HEH{Qwrl2Df~U=c~3{Z+*7!R$F7jwg3DgO)d@!W~J}HZeFOsBB#JH{a*x|OGA`p zYR`cqL2*5~TZA?Q9^<%DrTm~?TSu!d%<$F^e;nk{H>(#S=-rf17 z-N;WWdyCB$8^-AKhl|{m&|ns_QkM0 zJ=LRr_RhJqa6R>XKe+&A^rw5{gt`@WsCDnB>-S?}+&Ws>_Wem|da z)Y<#}g6h?Kep*;fxA9RZ=<4Y0xyCEi@tS|v+3k~)Pl9&<#ycwBvnGwn9G()Q1e=wMQ pn%NPavL=hL#32$$6^pYPEMdUt0B=?{P?BK=LK#K|hE2>M9snlD9iadK delta 673 zcmaFD`IwV0z?+#xmjMKx+TMzq$QQ{0qFuZNHciZrGtE)y+!k}fwfLP0tH@)yUF?## z-2PKdVj`e??e^O1L{Y71Rt{dGWarh zGuSyF5Z7rEaA>wZ(j2+-xzhW*%)=gkzS^_2ItU8A(7adOW+KvZfSHBy^!;=PmUUBu zk8vdU=uWF}(`J-T?QvLZ&UCl_Q_x4_)hFAYe$n_@9p@_FT{gM$gygzao6fGjvv`6- zk9p{|nI|svzU>pg6*9$?Swx5s(oXo>E;7rT z_VZ|Mn?cnT2eu^7_3d^05_D1ocZ*i`WDBjFbj)gE#>PFX4lWAt(hN;q_aWZsaM9C7 zb=z%o`_@JKd8zJ~@XnpPw|HBLm*3o5A-dY-6KdYhEq(R)!j}s(?jJTfEUx}P=J1z} zhp{F3Q@=Y1?0d>L`6E+I{hWnylM82-G>AJ1%7vZ&mde8YpRv!J!Nlq)oS{*P|H8V0?!bxM8x9(7aF$3| zvQUgC$-9$ZLDpfLBfEhiqd|Z-Ba<#OBKe$VNY(of29wV)JHk`aWKotlM1rVhaaMyR Y1Q;FQ&B_K!BFsQ2!^ps}kr~7T0HG2To&W#< diff --git a/tests/data/channels/channels/dummy_channel_1/osx-arm64/pixi-foobar-0.1.0-h60d57d3_0.conda b/tests/data/channels/channels/dummy_channel_1/osx-arm64/pixi-foobar-0.1.0-h60d57d3_0.conda index 0da1229349e83ff9ce57aea5527b21afd472039b..6f1aa0101d5afe7b2d2d67605a09d8b0f9315940 100644 GIT binary patch delta 964 zcmZ3&xsr=7z?+#xmjMK1oiw8-@fH?|>sTr0JDThq+=@22iCh~j_IzqR_~72{ZJ*EVtyVep<9$l6;mWCY z{=Ipp{+Ca=R(?Bft+sN$WOMjFMt+3=-R&hGV;NuZ2Sm>HQmFX$fvscL3$4i=Oa&|@ zLh=q)6HGN4I#)I@qI&JG;)|}y=8Ts0hD;Do!Dxt|#BBu`rriyf3+R@+(bicR-<5R1 z_x~QL(5nXy6wBOvAj4%ixr3Q2h#`Q%mtmcH^n8x$DJ~4Gu8bPbRvsu&-M;U~7NH{s z%r;MDG+7-2*tpd1MfEEz)nM>gq;cIiPG#gD|h zi$0m^TIo$Ue!jzF?)F>7lJ&|<0?(zb``K@oayD{JWzN329P*zzlyiK~ytcRebohqW z)x`sUNK|C)1y*lt(#bI>b|(_v~=yWS+6MT7n&Mo~ z8NWAf6U#IgQ=7iMNAQXGf)nq=_LYW-2sD(tmIzE^YvPDzV0d?kA+jLt>!hCFOPFT} zH2rYUm7XRj_D@_UpCRXqNLGW+1;;ZVKPZIWcwO0cE@1J2ciD#yDjA1fkuGQODs?;< z^FHuygqEVw5lx2$Cz!Wr-)Rbc!km-D^GAS5;^hif@r`SbuuthzyuE;B#ta#W0B=Sn zU1mhanOw!}4bM4~&oaAN!?FyFM%MvKkN=@SlR*TU(HIz(G$v2>V=+*JB~KU~;LXYg QQp5~|DvS&a@0me70D&@liU0rr delta 819 zcmZ3Ac0c;E)zS#)E>hasy|)mb|@n z)%&zNx4kRwW6^_c4a7+VJ??YU8l!0lj&yj5($}N>8R2 z?P^*3!$@Q4pT?GXH?n3-S)N|+VtHHaQ$E{W+jhT)uN{6ZT-?ZW&1pu`dGAq~QqyuzIDEKQJ@HGIOMY&7F#~UTnf8k2^~vJXuWk3=)_&}#*t5)PcF7$! zJ~{e!v0^`Uww$}Qs<(gYJHxYk}|MhAGavVoK_1EC5qy=5_jcmOmAK|25d diff --git a/tests/data/channels/channels/dummy_channel_1/osx-arm64/repodata.json b/tests/data/channels/channels/dummy_channel_1/osx-arm64/repodata.json index f5831bf896..d26d6a5b69 100644 --- a/tests/data/channels/channels/dummy_channel_1/osx-arm64/repodata.json +++ b/tests/data/channels/channels/dummy_channel_1/osx-arm64/repodata.json @@ -1 +1 @@ -{"info":{"subdir":"osx-arm64"},"packages":{},"packages.conda":{"dummy-a-0.1.0-h60d57d3_0.conda":{"arch":"arm64","build":"h60d57d3_0","build_number":0,"depends":["dummy-c"],"md5":"ddfe9f4c28c61def1271bd693cdd1699","name":"dummy-a","platform":"osx","sha256":"b83286e6f87d659d0aa7311c6c4f5e95e7c47b93992c4251c5ba0e04efbc8351","size":1401,"subdir":"osx-arm64","timestamp":1750924031491,"version":"0.1.0"},"dummy-b-0.1.0-h60d57d3_0.conda":{"arch":"arm64","build":"h60d57d3_0","build_number":0,"depends":[],"md5":"f0092b57b74ab440e91de043c929bd53","name":"dummy-b","platform":"osx","sha256":"f524e864b4662d94b8a436bef9174cf12bb3b6086297a477f73eac9f8f3b4199","size":1178,"subdir":"osx-arm64","timestamp":1750924031491,"version":"0.1.0"},"dummy-c-0.1.0-h60d57d3_0.conda":{"arch":"arm64","build":"h60d57d3_0","build_number":0,"depends":[],"md5":"260272b73706f0befc7df5fb41f8777b","name":"dummy-c","platform":"osx","sha256":"1aebcec86cf4f8726720c673b0fc1c9b57fb1a58dc6126c781541fb62b15f239","size":1174,"subdir":"osx-arm64","timestamp":1750924031491,"version":"0.1.0"},"dummy-d-0.1.0-h60d57d3_0.conda":{"arch":"arm64","build":"h60d57d3_0","build_number":0,"depends":["dummy-x"],"md5":"f4f6fd21ea679746de8cadc4de4c40ed","name":"dummy-d","platform":"osx","sha256":"2ddad220d05c7590afb7900dddf9527a5da8f9b1876f65f0452c5dae5790ff7b","size":1183,"subdir":"osx-arm64","timestamp":1750924031491,"version":"0.1.0"},"dummy-f-0.1.0-h60d57d3_0.conda":{"arch":"arm64","build":"h60d57d3_0","build_number":0,"depends":[],"md5":"08713e776ec27ee9e6eed7d230e85ce8","name":"dummy-f","platform":"osx","sha256":"7acb281d2343e46d7bf1e617faacf7e95101213b77d2cab6307a4d62f47bcda1","size":1177,"subdir":"osx-arm64","timestamp":1750924031491,"version":"0.1.0"},"dummy-g-0.1.0-h60d57d3_0.conda":{"arch":"arm64","build":"h60d57d3_0","build_number":0,"depends":["dummy-b"],"md5":"0068822fc9edc5dabfa3bb6370d3508c","name":"dummy-g","platform":"osx","sha256":"fedcf1050e5a8139f33f3f8f3ff1192a1285ad62f92a51fcd66920cc64266096","size":1186,"subdir":"osx-arm64","timestamp":1750924031491,"version":"0.1.0"},"dummy_e-0.1.0-h60d57d3_0.conda":{"arch":"arm64","build":"h60d57d3_0","build_number":0,"depends":[],"md5":"d728d0d1659c78ab3a6bc1649654a75b","name":"dummy_e","platform":"osx","sha256":"740fc99ab413702634d44ca1acbe4bd70c5bca7aafe4652e06866f4d46ac8df0","size":1251,"subdir":"osx-arm64","timestamp":1750924031491,"version":"0.1.0"},"pixi-foobar-0.1.0-h60d57d3_0.conda":{"arch":"arm64","build":"h60d57d3_0","build_number":0,"depends":[],"md5":"3e5ca560effec6f65e53760d2df57fbe","name":"pixi-foobar","platform":"osx","sha256":"84bed3d12233f2e7c7ee9a6daf23a7c0b49a51fc2287f1e7d5c90d1ae70545c9","size":1188,"subdir":"osx-arm64","timestamp":1750924031490,"version":"0.1.0"}},"repodata_version":2} +{"info":{"subdir":"osx-arm64"},"packages":{},"packages.conda":{"dummy-a-0.1.0-h60d57d3_0.conda":{"arch":"arm64","build":"h60d57d3_0","build_number":0,"depends":["dummy-c"],"md5":"3f0e86a60ad781e75dce08132b2dc265","name":"dummy-a","platform":"osx","sha256":"0bdaa733510b26ed3c1244e23f71f482586c899c3ad425b44fee9aaf87871ccd","size":1401,"subdir":"osx-arm64","timestamp":1757405818069,"version":"0.1.0"},"dummy-b-0.1.0-h60d57d3_0.conda":{"arch":"arm64","build":"h60d57d3_0","build_number":0,"depends":[],"md5":"f5e477b9ba0cbbb0606d29782b274e62","name":"dummy-b","platform":"osx","sha256":"a77aff84d2baa8aaf595210c6521d2f5f4971ca65219f596d7a060a424917e45","size":1179,"subdir":"osx-arm64","timestamp":1757405818069,"version":"0.1.0"},"dummy-c-0.1.0-h60d57d3_0.conda":{"arch":"arm64","build":"h60d57d3_0","build_number":0,"depends":[],"md5":"a20ffd4000cc892c7e3aa4a64381f361","name":"dummy-c","platform":"osx","sha256":"28e18155d6ecfa47565fd05ec26fbec45872ad0fac0b597f594618dcb09e83f1","size":1174,"subdir":"osx-arm64","timestamp":1757405818069,"version":"0.1.0"},"dummy-d-0.1.0-h60d57d3_0.conda":{"arch":"arm64","build":"h60d57d3_0","build_number":0,"depends":["dummy-x"],"md5":"7725c150a5be24881088949ac70277cd","name":"dummy-d","platform":"osx","sha256":"cd3c548f73e3365f0a6a36ac39018726ed7416fc7c5747039259772fd1fdebdb","size":1183,"subdir":"osx-arm64","timestamp":1757405818069,"version":"0.1.0"},"dummy-f-0.1.0-h60d57d3_0.conda":{"arch":"arm64","build":"h60d57d3_0","build_number":0,"depends":[],"md5":"a6595b74c71cce314459a10a5bc304e5","name":"dummy-f","platform":"osx","sha256":"31a2f4d62208d593d155066989de5b3775643d8e3c52b7a5eaa1b8d0b4d25204","size":1176,"subdir":"osx-arm64","timestamp":1757405818069,"version":"0.1.0"},"dummy-g-0.1.0-h60d57d3_0.conda":{"arch":"arm64","build":"h60d57d3_0","build_number":0,"depends":["dummy-b"],"md5":"e8e8a57db1018443c0fb75367b9b381b","name":"dummy-g","platform":"osx","sha256":"c6ce5716905898280cea146468f3f99afede36078a7bebfdb17399bcf7d8fd03","size":1188,"subdir":"osx-arm64","timestamp":1757405818069,"version":"0.1.0"},"dummy_e-0.1.0-h60d57d3_0.conda":{"arch":"arm64","build":"h60d57d3_0","build_number":0,"depends":[],"md5":"d6bfa0506a28fef1973d573f57378454","name":"dummy_e","platform":"osx","sha256":"aed4e36710f81407320520cb4d0dfd73d2be82c97bedb937076a79f555104abd","size":1252,"subdir":"osx-arm64","timestamp":1757405818069,"version":"0.1.0"},"pixi-foobar-0.1.0-h60d57d3_0.conda":{"arch":"arm64","build":"h60d57d3_0","build_number":0,"depends":[],"md5":"ddfd65879c4869c7b62b2a12fba07b13","name":"pixi-foobar","platform":"osx","sha256":"ec3d3e82004e0ed6b68002d1540b8322c29535d0c97e09bcfc28f92473fc7fc0","size":1321,"subdir":"osx-arm64","timestamp":1757405818069,"version":"0.1.0"}},"repodata_version":2} \ No newline at end of file diff --git a/tests/data/channels/channels/dummy_channel_1/win-64/dummy-a-0.1.0-h9490d1a_0.conda b/tests/data/channels/channels/dummy_channel_1/win-64/dummy-a-0.1.0-h9490d1a_0.conda index 146fb5ff686a7ff2508a1f26ee94f23e8b5f0e03..0e7b96e432254e9773624524ef6abfd015919ab7 100644 GIT binary patch delta 801 zcmZ3_wT_D~z?+#xmjMJMoiw8-@?RWnoZi z6_|KHLObJvG}~o2wz;_yvv)6DwArZe(>tFF_FgZ4RO%hMdsE_x&s8C-c_-Uc6<9LDHh@3t^OE}&O#4#Vsh|5m!$C#5_WOiH`; zL|Su_%KsfZjB|5xq8XwXLK(jPN-BD%tg-*JVRo-Nx26Bnej`SiX{;MK;#oPoie57> z51Yl}v~bqD+G|V(I<29)_oC{bMTs@IM2eltKN=9XIW0`$O&ibWA6q}|m?`>PK|5@f zQ1j^tOX`J}WG%dVwYWCQ<^^Lk=c*O?CeH7kZA_NC9Q- z4#$;$Uux>Ny6)|fxR!W)c2UX4h1?yA%%>gM&HA^BTr<|pzjo{K%GPPkOx%{&f+7S} zSle-%+CTq=uzv!Z|JJ;<8@j`j4|i*PW4@zuISt%*>MG zF?0V;PG4&)xvOr%)oULN>$O^2#io3kuW+4n&FdnE4HII{RZYlbY-nD%^_tj3XSSc3t4YYAh}WPN7W`qYpOG3Qch7XbjJGsSHYF=Ten84?M{OMAy z@&=YmJc4FooaaqixZm=8)A^cZ^p3&js`25Sw}X%0$a>bplIhTJf_Z}WourT_OgRNS zZv>bmR<2;}zabZv^k9mtLrYFGmw}B0CW*!@vNeHMZ*iO<>@+Wnloq-O@RMhrtVLm0zP@u11tNx#-4=pT#P<^T9W`4r9v8*~_4SA;dpShU~1 zqH3|Hg2;v`n-_~UBx-8xS@C_J@zqTXDyKI2%r|t-JZc$#Z>`M*okWm<~Ia(7iOmyIrY@hI^`L)QArGtRoKPtUx(o%AN~Wo<}x({GC_ zK>-&;Zu(1RPYaFjJ5+umuJ#y<+Qsa)6VL2?du`rc%v6oO-&1|u~{?`BJ{;!wS}uHwPWEF}xDuW0#fio~HX>?&^n4G|9HCcjHfbB0cNCE)+IZrD9 diff --git a/tests/data/channels/channels/dummy_channel_1/win-64/dummy-b-0.1.0-h9490d1a_0.conda b/tests/data/channels/channels/dummy_channel_1/win-64/dummy-b-0.1.0-h9490d1a_0.conda index b732cdd7d1955a9bed9bb4a9b710e5a02bacc0bc..6f2e00af62387d3aae67918220f274f98fe4fce6 100644 GIT binary patch delta 549 zcmZqUZ0F<)@MdPwWdH$5C(Y=Ie32X=dbe=jzKQvMOiC^j_bYmee=7EDQCWIHFfsVw zXUms9;=($2zGq2a*vQTBa_9g5S9pa27|b{{CRkJm@87wpn?XW^!N-Sz2i54uzto&2 zYciVFKW7A6#{i=>w(9>)U=V-H#~^mYQzGE|pZ$&|fy?D$jaIEHyDezqb*aPt20_W$z=ZQhFFUj?8%Y-t<6F^Epn5>6f|{ z%A&Y#cs^&z+AI8G`uvXdv6ABAS1OI_Z{NJM%UIUuYsf04mtEPB6TVuRzf6f)@+GB0 z$!&Y-^G){_7W*A@jk?KN89Bc;z> z?Rn4f>9LQ<-1L_o)w#BNz8I>hJ9ggGf46z>#Y%PGH)}dvHPRlw-+r|ISn0JrXPVO^ zXWerbduOc2=y+J>cwvaxH;(^*|6LJuYJK-Ub$M}m{hwD^5*$ZG^Nv{PwB&A@m|}0m?mBr1(^6Rpja2TA3Aq7`YHI9k0p5&Ey3B~k soSee!4Uf&q+nM9Q9B@3yvN)^3!XHKlc(byBVul$AWq@%M$_(NG09Mw}hX4Qo delta 548 zcmZqYY~$n$@MdPwWdMPvwzr}t@wFNrqnCVH`LmW3t<_vubQk z49*Nr41r}&=XL)1a$1w?X!3t=BR21lCF{%HM;4{@FmfE3@$|iE0+YmLujed1haWY| zl_qgL@O;kl&Q$G!zP(`l?h-w{6`ya_U#c>m?K6Mo9hWMtb(xNFiw!6Exw(4zO?w`= z`)`Tfdc%@)Cs%lA?_Mxpd(BVlQ=g_EUvtfG&1bhykxYjgIt?crZEK7C6!QG)?pXcD-5ot|Xq)g4CzresWZTXt5B z&6xoNkG8dG>@GU*QuphrNb94G|5YWMRkbdK@BXf1X>^Q%CF#tk?@|dDyq>dYEfbM% zH{|7#n0$`&PPh66eS5+9-6eW@D?Zl;PP}<-+O^p?Q+}O!qIM~`(3ktuBR1u^JzZ1g z=$v0%_WNZ_oK4BOlPf&5cQ2T)z2>L&sZZ0(!?M+{RVx3~VN5)5MB>Elq?{`{m8(9# zI{E3?p8Fi1(tSndX5aK+mcCx~GTq0oNoaHYo%HI(!v0+npXH7@8fw??*ZpVwFXOCt z`Uejk@9J$+fAcVIj>yhUP3`}1|GmGoqR)$e^YX0nza5v|{k~+y+zD%EtKGUOzL9Tj zczV^HnusXHnkQWfTf$!Zuv=TN49*OW42?{xwRKPD>)cE&{IbRTNSIOt-{p?kpPi?zooX>*>x%okoMbvT z?tIpF;^(8B%au7EU!L_jXvm(NWTvru(yMxXA;rg6)&@>pc{#t|d_$ug%Q~$FM^Dww z38xb$EWNip`i^=sTdG1bYcyZCM&|~3!;7`tSMts7?tLD7Oym;3Vt>kputU?lIgEC- ze^E?6;{126#B8P;|5oWphP%x?&oRI4oBx@q%POXASeB=B>ezhe>lJfyyXsy`KlFXL zJZ#oY25;rARnOh#*IMeFbog+uy5ogp*S%lw+!*_p-95X)B)LlZ#y;-5+n%>P&&yu5 zcS7Yh%ZUBHKR%nfPxvf**yQ=VQth|7GMBSbZ{1gCcAmVHX`#$V#wE%rk|GVAoz08^ x-i%DT%!p{2oXqSEkC(~YnBx#pA;aRV28#k19pKH%28tYJAd~?{Qz$ct2LJ-g&es3{ diff --git a/tests/data/channels/channels/dummy_channel_1/win-64/dummy-d-0.1.0-h9490d1a_0.conda b/tests/data/channels/channels/dummy_channel_1/win-64/dummy-d-0.1.0-h9490d1a_0.conda index 7f7cdf5ce4afb7862db9995a83d944117edf184d..a7345a7a02a945878cf0904b8c1cafc85eed51a8 100644 GIT binary patch delta 614 zcmbQvIh~U)z?+#xmjMJMoiw8-@Qyd0u>Jrk+~Vj`vs179=xH{H+EyOn&S6f0H#CO=Z3@ zLX3ma5Yxm{`5C53Os-;7VA^zJ@+?MW#pzNdeg_UrdGvV4=b#6ER_Y15^Bng7ajAJ* zR8;6Vm)%%v@;yfB`m8Ira_{ckQt@KW+} z$pUWEY_3)=-Mq)}y?N80n~GiMWN)76UjOyd`5ALqRMYnFIRDK}eV)k9%W~fr%$U0W zzSw`s>wV9*Ds7)yZC){LY35z?ZKaHxuS8|1ruKih|K5ML!NT9wewQmZPp)Fpsb}+4 zXz)1Vv80q)e9CM71DCg7H8f)gWS_t+Fl~BCm(_vW7YZJ{()cl9VQ_NuF)Q!gy$10n zdea>3Sv2;|X5IFW>uCH<*>!w}E;;NuBy`}thQtNdb76+IJrhe9gq%3lT)6)kIklc| z_Kw}avCM$^!AENwndz>fuNXMDNh;;&2+i})neOxAE#3 zNzO|R3=`QE!gm~9af0>61Bn}oECxXf#cYzII~#+`7z8)*Y8^Q8d3RZdv^ew$pyA`1Zd(C(=K delta 574 zcmbQvIh~U)z?+#xmjMKx+TMzq$QQ{0qPK6jH*;dXiEIj3hJgV_Yi!m3o4~++m5Cwg z2;am53eum?a{si{Y!(T8+Oa|N|Iaxk%ep(o-c@hqeGxJ7j~du4gCph{leHL4Wxg{) zOoP!7!^Cs>8IH}ET+OI3c`l=}qVSICQYC&2@?Yh?7(82gU~Y-ufhe2Cx}TjtZasbS zsL6_d@x#_Y*|8O1~TGp|@}JSTlJos)xE?U;j@^}JVmE=As(@m<>S-x~qf=Y2U( zY}S3fbbiJh7S*)Qn&#m(rwqoH>Fe%*h@>txSnyXI+s&-!l*OJQNx{j(997Wfq_En*YG%?N<%W7y{Wp2(Ua=ox6zdgPDoU4l6FZlowZS zEZBJNQl9b|@!sy#3;c{-@6#IB?sxhaUe><4d4q|-`VA}}thv}q8aIdf@F%OtHnapZ zab9fN-xKig^MfF9ohHpQ3>AO)_>ZRsPPKAq%5CG2?ha^4mpas1##TM8%2cwPVcDyh z5AVEPnVe%*P{qZ+N^;KEdpy0*g=>jjjV6X?iST9OA%8%gjs5pIE2L35&SzldD){0af_g A$N&HU diff --git a/tests/data/channels/channels/dummy_channel_1/win-64/dummy-f-0.1.0-h9490d1a_0.conda b/tests/data/channels/channels/dummy_channel_1/win-64/dummy-f-0.1.0-h9490d1a_0.conda index 3cf3c301a5f9c1820a7a8e6b830a3d91b139598a..9dce47a1a91103818d8f3f0ae5a798e1e00fdd42 100644 GIT binary patch delta 556 zcmbQrIfauiz?+#xmjMJMoiw8-@zfrHtXrS=x?YYp>=_@=9 z^mk{TGpZ6=cE9J$xqHls`SPufFZ3==NxAsCUHPA=?z5vab|tyK+`nwgIStasP3B7TMq z(C6wBlccnL73(s~ell#CEV-tN$BDs-!I9xqD-%oiuRkYm`-HkymTWD*BB7MvfBDkc zpNnrvI7_f6U(2tRy{LQcZ^V+~Nr{Wx%U#OfvA106_j&2GNx!RppOd2``u&nyef7@tgui(grhnga zs>1Ep;>C?T63$V4DycDcm)d$%v;VFYsb;!WH%mkEvRU*LK|9&E>u0I!ee_Apz1v*; za$P6i%o97Zeyx4qvb|MzZ;59!Q&;A$H*@W(PdI$ISAFSAmrH)__Sp?=HRakb&Q#oE zP19KW$u08!&MyaleUSFnR(`#=$9wrDv-NuK5Bw0wjXCyg*YB+x`_?kLOy0({P}b1l zl$?OV?*+_0K72d@-i%DT%!oLhT+HkZkJQP>nBx#Jp~K>=28#h09pKH%28tVIAd~^d JQW7(W2LM#S;-3Hj delta 557 zcmbQjIhB(yz?+#xmjMKx+TMzq$QQ{0qIp7|)J)6|a&L%afAGKYRbtmZftxcXs&ERQ ze7c5f22b{?OB1|WGdFi`+{wF0V%pCF58rRIFJ1gOee0H6nJ-@J1pN=!{N{RxTWQ0Y znGTJo#3yqwYJkmMq`e%$_I~icK##a5m2@K*-`54-6c*!}ewz;v5w};Iu zdgrty8r_y%?+%5A-d6eldc&&@W@#q|X9h=xMkdwTx~I9*UTxy|vc>#Jm{A1NGC}j_ z?OM^=g$mh$`%7Cbm=cp`Sqm*~-sE{K(RqP+`IEgbJf>}NygAjSzJB7o9_A}c1E(%O zpMP!ca|f|TZLS3Ub2oHu2pOyhdOs;LX0~Cq;e?G%x{Tc#FK_nGc(#xAmHFgz7SDr^ z318w@>~Gl+c4*pf7C|Ham(IsHy#LOXsAjrRw@ODc*lecvk2!7M{Lf5XRxxeEvOFfY z<8$qg6>8iT`FqX$(CkCg!e-feGrEa{esh~&%NfC$_+Ud%xb9G4?-ymv&+1 z$346{nrlBEinzb?%HCh^rM*}8e2sf~F>_1r>ND2-|D2`!H|%^{m%Ao;_2(nbleaJ} zl=;ZGL^(xLq@lC3nK8hdkx7>s5vh}ln7!e#I{7Gb93m>TS)A2iQ2?U@yjj^mk;4px LGQem`W(M&9n%M0y diff --git a/tests/data/channels/channels/dummy_channel_1/win-64/dummy-g-0.1.0-h9490d1a_0.conda b/tests/data/channels/channels/dummy_channel_1/win-64/dummy-g-0.1.0-h9490d1a_0.conda index 1c27307da64fd9571c8f91703c4af3811a8f6c08..229457ccd15cfc30d1b25216fa716d2e9374e5ee 100644 GIT binary patch delta 723 zcmZ3)IiHg+z?+#xmjMJMoiw8-@won>X;;88i>VDV&D zMs=`>w|`G`n{2{pTK|O+Y#RfN*4V25H-SMsl%F9?!b{F!watxfygh7Q(L1ND@wjiu zlYe=lis;e*>W5b;^W``(I59Xfc=s}~cK`Z)>aw@v=|>N=(pN?rCHN(~?ES8~Leg7? zBl%i-jpD_*+uJN&>Pf0?d*P9DPl{<_&WWWP98Zdy*4Hmwl+ElHUFvte_SR>=*$iAN zT^p{mm`v%<5j#6)n!@Y5d$+Ina;wd#VC|xrmnXZr{uI1AIs4$RI~#U>k1Bnu{BZgN zcc%oMmp=-0o1)^i-RcyMelPPrEqdMko6@x#69j+c^L=XRvk%bmY^X2$ug{<#sqq};Bt z8=l*--(BzSVkXYYDOb+k+A;gGrG)7{mtX%4xRh%07xcVa>ZQ=&am;N=DYN*L*Zc=A zZ@+42#t_K`Gh5W% z?~ZIaYl0M~c6Dx?S0!-tz;lInw_47xop<5eW z?8-YF8hTUZ|LYB}I+&%M7@Qd#85)^XYwMooPMeon_+^XvkuaqQzRMl6KRfeBYZoeH z2ktLzwGc`!J}W!%^U<5jKHr$|;;d|AfYl_`+<-FGtM&0JPRAIxyM-?E+aH;qz#Pf4 zPOHJuQ+0E~>BI}pwk7X%*PWf=D0w2{;IzX^UP^D=eM;^#eVy%F{{H6_!`3g(CzK`E zOx^HQh)E)G<$mGhV20cAQ&k_I()cX7uLkY!~tD#^;Z5aFD;UGUjaHLLpOaE6Df4j1q0 zM7)kzctv~n;j4}}L{EfAF#V8aWiDzo4q4M~IGOK*lg7a#SqJy^Bs~0F(8(>fQS%Bz z#RNY7$3;P+_6|+CZ5-0wEzfxsovoW~gZIwqv2IwJHS^(}w=0t0WTm-1GEoS4!gxzG zuTnI!f%n(}zQl%!YFi%&Mtj#tGh7zj#OKw}xw3&Vz?+dtml=`zCf721!;|0S3(Rqd elw-!?tOiRlFgn1Sl?{}Zn1N6Rn5qhxK|BB_Gcy$c diff --git a/tests/data/channels/channels/dummy_channel_1/win-64/dummy_e-0.1.0-h9490d1a_0.conda b/tests/data/channels/channels/dummy_channel_1/win-64/dummy_e-0.1.0-h9490d1a_0.conda index 12644cad48e5f583f8111419c7869df1593a2317..ad99f335eee95e13d95612ece030d84194928710 100644 GIT binary patch delta 626 zcmZqUY~|z&@MdPwWdH$5C(Y=Ie32X=T70_xv5EO6k*Q!A1_l_du~q+X0t5S9CWa&y zexV8H8Q&~4a8@qcZhYoa@|7*@lDt~;{G4Q-@W?WyZo5}Ee}dCLz0L_sM68r@PyM%3 z->aMbXsyiSQs+Zr6Mw6LEsC1_^6g|zM$`Hyj1a3}G{h$Ht9%S41sf-|B|gZT8l1z)a3?M_^25Ow&^EuO}+CdP-3ynA6WAyIk4Y{^P}qafYtfV?!{_FtpBt zGIIU|_n-{jLT^DMyGWO%AuT`Sd$bwf{R)}pwR|$4+Yc%0*!?ovYYVonIBIuMW+&@} z`OI_oY3=`}U1cbB_ROy7J*!T+En2^)sG7;M@q&r3bLhE%H(TqYndF-Pou08N=qK;5 z_dEA5KjPA;a+K|x^I4nOf-XYVM|_Si^yl~`?a=r5hkda#`?-!vM%T$pnU=^nXhu7< z delta 613 zcmZqWY~$n$@MdPwWdMPvwzr}t@~3={KBB2vII3=A+@W2^q(1P1o2Obkg! z_yiZ^KbYwsAjYum@wTgP>V7A1@ht1*vAS(wR_^VZo|^v2{@z@EB{o~Bym==J%JrUF z1aEcn{=WAVONsWxKWbom8q>SDCTlU8)<0u}*aV{?7KuOQV+f1zl5<#Xb7LEC51Uu? zPOH8}I?ptA^8TuAxyiKQDHPl|`u*DhR?&3x_p%UxSm zTCbRW!$aUuoahB5XUT($43~TMKefI8Xkm7A3e$Bhsp4BHfq`W%uAjwq&gXt>-mp4* zWlOA+9B1RkCA#vgJvDj{4{zl-@oBxpOs1%Bt8}hkbBp$uRGhXce68s6FH3c{*(uIk zmU#U7mO1NY**u<~vrQ*N|IR#5qh&9f>OS2*lgY@L$e`HLaZ-}&+>gzR8{8k;8EfsG zR(H7WPucsdFA|O-h5@_kW6DeY8C>6KB7$7#Lu*##a5m2@Kq4Sr{I* zOGzYLXXc4Yy?1hYufemX+nR6k(<+M=Uy@ul{rr+fG4(33W3@+rX>@(}+>@%`W!t&p z{jAzo=a;^^BL3$Clb47^E#XD_kZ-M z((S#;jk8hfHyQIQ2pH<<$$p7te8UqkJzA9iU_YbRT&sWy$llA}MDgvNkNx-1S>HX!F{{Uwh}7KWEDGi=O$tLiO|4AkDdv9J;H+oQ^A0FLw&J zH@YbpO@$Z@I{ zVryVJX!%^|g0;xrNMVf=V)B<)&Dp-`luXw1B_A}4m#w~j_L*>8x>lbZ z{B(1hs!ix#i>|x-5A6OIw4K*QZS!r%**(&~510igBy{zh?YUOZDBdC8uw4I@M6;FC zJBJAMmnLnsjyw+-C&@1sKH>uVYN0T0z2j&9fMHo+A$x$g z0J7Ws=B;p?oWp2Y|B4afDi{rMlsGFtgPVkxoWp9H8{2YIHrlub< zPWoROQF^42*MY&A!GWQ*=l{M>7mk)h%Ei9b-8hx!+TkxD?`u0ZZ53kQ6!veeV2AR1 z(`7rA4R(n~r~EN}Qd#Uii_NNNqnU$gR_a{$Q;V$j^Zu><%q#d$(&}Pgn-@Diw-x?58Wy;}bm^OOVzW5r)+foZ zzBv>&wf@)Z*NHp*v^WzV%qbTB%Hx_JTRyp=eZkeUGd@K{N^dhddzX`Cs?~dgu5*_& zj=fmBFI;-<$DQA9Ie)SIb)oZI#gcP-IqaUP%DO2m@HpbZ^@>sa1OI``%dL(r>HDC^ z(dB97EW02#;y^&DnaPP23x!VJ$h}x0KK=criXDwUsRf<)>Xo*!v2FXuwQ}Dj*^PQF zt&IkUL1%Va!S5so`LDJ9MSVIY;$l zqhI?8DUpWG%qGSFZ$3sQU1mg*o&25I8=ht-d$G7#!xAfu4)8|R0ZK^!p+J*C1e(Md i7?w1uOg_zGpax4 $PREFIX/bin/pixi-foobar.bat - echo "echo %*" >> $PREFIX/bin/pixi-foobar.bat + - mkdir -p $PREFIX/etc/conda/activate.d + - echo "@echo off" > $PREFIX/etc/conda/activate.d/script.bat + - echo "set BAR_PATH=bar" >> $PREFIX/etc/conda/activate.d/script.bat else: - echo '#!/bin/sh' > $PREFIX/bin/pixi-foobar - echo 'echo "$@"' >> $PREFIX/bin/pixi-foobar - chmod +x $PREFIX/bin/pixi-foobar + - mkdir -p $PREFIX/etc/conda/activate.d + - echo '#!/bin/sh' > $PREFIX/etc/conda/activate.d/script.sh + - echo "export BAR_PATH='bar'" >> $PREFIX/etc/conda/activate.d/script.sh diff --git a/tests/integration_python/test_run_cli.py b/tests/integration_python/test_run_cli.py index 6156fbf6c7..2f4fc322f6 100644 --- a/tests/integration_python/test_run_cli.py +++ b/tests/integration_python/test_run_cli.py @@ -1,5 +1,6 @@ import json import os +import platform import shutil import signal import subprocess @@ -202,7 +203,7 @@ def test_run_with_activation(pixi: Path, tmp_pixi_workspace: Path) -> None: stdout_contains="test123", ) - # Validate that without experimental it does not use the cache + # Validate that without experimental caching it does not use the cache assert not tmp_pixi_workspace.joinpath(".pixi/activation-env-v0").exists() # Enable the experimental cache config @@ -1451,6 +1452,104 @@ def test_shell_quoting_run_commands(pixi: Path, tmp_pixi_workspace: Path) -> Non ) +def test_run_with_environment_variable_priority( + pixi: Path, tmp_pixi_workspace: Path, dummy_channel_1: str +) -> None: + manifest = tmp_pixi_workspace.joinpath("pixi.toml") + is_windows = platform.system() == "Windows" + script_extension = ".bat" if is_windows else ".sh" + script_manifest = tmp_pixi_workspace.joinpath(f"env_setup{script_extension}") + toml = f""" + [workspace] + name = "test" + channels = ["{dummy_channel_1}"] + platforms = ["linux-64", "osx-64", "osx-arm64", "win-64"] + [activation.env] + MY_ENV = "test123" + [target.unix.activation] + scripts = ["env_setup.sh"] + [target.win-64.activation] + scripts = ["env_setup.bat"] + [tasks.task] + cmd = "echo $MY_ENV" + env = {{ MY_ENV = "test456" }} + [tasks.foo] + cmd = "echo $MY_ENV" + [tasks.foobar] + cmd = "echo $FOO_PATH" + [tasks.bar] + cmd = "echo $BAR_PATH" + [tasks.outside] + cmd = "echo $OUTSIDE_ENV" + [dependencies] + pixi-foobar = "*" + """ + + manifest.write_text(toml) + # Generate platform-specific script content + if is_windows: + script_content = """@echo off + set "MY_ENV=activation script" + set "FOO_PATH=activation_script" + """ + else: + script_content = """#!/bin/bash + # Activation script for Unix-like systems + export MY_ENV="activation script" + export FOO_PATH="activation_script" + """ + script_manifest.write_text(script_content) + + # Test 1: task.env > activation.env - should use environment variable defined in specific tasks + verify_cli_command( + [pixi, "run", "--manifest-path", manifest, "task"], + stdout_contains="test456", + ) + + # Test 2: activation.env > activation.script - should use activation.env + verify_cli_command( + [pixi, "run", "--manifest-path", manifest, "foo"], + stdout_contains="test123", + ) + + # Test 3: activation.script > activation scripts from dependencies + verify_cli_command( + [pixi, "run", "--manifest-path", manifest, "foobar"], + stdout_contains="activation_script", + ) + + # Test 4: activation scripts from dependencies > outside environment variable + verify_cli_command( + [pixi, "run", "--manifest-path", manifest, "bar"], + stdout_contains="bar", + stdout_excludes="outside_env", + env={"BAR_PATH": "outside_env"}, + ) + + # Test 5: if nothing specified, use outside environment variable + verify_cli_command( + [pixi, "run", "--manifest-path", manifest, "outside"], + stdout_contains="outside_env", + env={"OUTSIDE_ENV": "outside_env"}, + ) + + # Test 6: activation.env > outside environment variable - should use activation.env + verify_cli_command( + [pixi, "run", "--manifest-path", manifest, "foo"], + stdout_contains="test123", + stdout_excludes="outside_env", + env={"MY_ENV": "outside_env"}, + ) + + # Test 7: task.env > outside environment variable - should use environment variable defined in specific tasks + verify_cli_command( + [pixi, "run", "--manifest-path", manifest, "task"], + stdout_contains="test456", + stdout_excludes="outside_env", + env={"MY_ENV": "outside_env"}, + ) + + @pytest.mark.skipif( sys.platform == "win32", reason="Signal handling is different on Windows", @@ -1494,3 +1593,32 @@ def test_signal_forwarding(pixi: Path, tmp_pixi_workspace: Path) -> None: ) else: raise AssertionError("Output file was not created") + + +def test_run_environment_variable_not_be_overridden(pixi: Path, tmp_pixi_workspace: Path) -> None: + """Test environment variables should not be overridden by excluded keys.""" + manifest = tmp_pixi_workspace.joinpath("pixi.toml") + toml = """ + [workspace] + name = "my_project" + platforms = ["linux-64", "osx-64", "osx-arm64", "win-64"] + channels = [] + [activation.env] + TEST_VAR = "$PIXI_PROJECT_NAME" + PROJECT_NAME = "$(pixi workspace name get)" + [tasks] + start = "echo The project name is $PIXI_PROJECT_NAME" + test = "echo The project name is $TEST_VAR" + """ + + manifest.write_text(toml) + verify_cli_command( + [pixi, "run", "--manifest-path", manifest, "start"], + stdout_contains="my_project", + stdout_excludes="$PIXI_PROJECT_NAME", + ) + verify_cli_command( + [pixi, "run", "--manifest-path", manifest, "test"], + stdout_contains="my_project", + stdout_excludes="$(pixi workspace name get)", + ) From c8c5bb09701ec8781bfd774929137d7a7f3e04fe Mon Sep 17 00:00:00 2001 From: Julian Hofer Date: Tue, 9 Sep 2025 14:29:58 +0200 Subject: [PATCH 02/11] Extend docs --- docs/workspace/advanced_tasks.md | 4 ++++ docs/workspace/environment.md | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/docs/workspace/advanced_tasks.md b/docs/workspace/advanced_tasks.md index aa435ec285..fbf6b01792 100644 --- a/docs/workspace/advanced_tasks.md +++ b/docs/workspace/advanced_tasks.md @@ -330,6 +330,9 @@ You can set environment variables directly for a task, as well as by other means See [the environment variable priority documentation](../reference/environment_variables.md#environment-variable-priority) for full details of ways to set environment variables, and how those ways interact with each other. +Notes on environment variables in tasks: +- Values set via `tasks..env` are interpreted by `deno_task_shell` when the task runs. Shell-style expansions like `env = { VAR = "$FOO" }` therefore work the same on all operating systems. + !!! warning In older versions of Pixi, this priority was not well-defined, and there are a number of known @@ -394,6 +397,7 @@ This setting can also be set from the command line with `pixi run --clean-env TA To support the different OS's (Windows, OSX and Linux), Pixi integrates a shell that can run on all of them. This is [`deno_task_shell`](https://deno.land/manual@v1.35.0/tools/task_runner#built-in-commands). The task shell is a limited implementation of a bourne-shell interface. +Task command lines and the values of `tasks..env` are parsed and expanded by this shell. ### Built-in commands diff --git a/docs/workspace/environment.md b/docs/workspace/environment.md index 08fe446480..4447c8becf 100644 --- a/docs/workspace/environment.md +++ b/docs/workspace/environment.md @@ -42,6 +42,12 @@ It sets the `PATH` and some more environment variables. But more importantly it An example of this would be the [`libglib_activate.sh`](https://github.com/conda-forge/glib-feedstock/blob/52ba1944dffdb2d882d824d6548325155b58819b/recipe/scripts/activate.sh) script. Thus, just adding the `bin` directory to the `PATH` is not enough. +Shell used for activation: +- On Windows, Pixi executes activation under `cmd.exe`. +- On Linux and macOS, Pixi executes activation under `bash`. + +This affects both `[activation.env]` and `activation.scripts`: they are applied by the platform's shell during activation, before any task runs. + You can modify the activation with the `activation` table in the manifest, you can add more activation scripts or inject environment variables into the activation scripts. ```toml --8<-- "docs/source_files/pixi_tomls/activation.toml:activation" From 30975b3310e332f74a786207fb4d346d8421bb00 Mon Sep 17 00:00:00 2001 From: Julian Hofer Date: Tue, 9 Sep 2025 14:53:25 +0200 Subject: [PATCH 03/11] Put `activation.env` into `post_activation_env_vars` --- crates/pixi_core/src/activation.rs | 11 ++++++----- crates/pixi_task/src/executable_task.rs | 5 +++++ 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/crates/pixi_core/src/activation.rs b/crates/pixi_core/src/activation.rs index d4587a889a..a029655082 100644 --- a/crates/pixi_core/src/activation.rs +++ b/crates/pixi_core/src/activation.rs @@ -104,9 +104,6 @@ impl Environment<'_> { ), ("PIXI_PROMPT".to_string(), format!("({}) ", prompt)), ]); - - // Add the activation environment variables - map.extend(self.activation_env(Some(Platform::current()))); map } } @@ -114,7 +111,6 @@ impl Environment<'_> { /// Get the complete activator for the environment. /// This method will create an activator for the environment and add the activation scripts from the project. /// The activator will be created for the current platform and the default shell. -/// The activation scripts from the environment will be checked for existence and the extension will be checked for correctness. pub fn get_activator<'p>( environment: &'p Environment<'p>, shell: ShellEnum, @@ -162,11 +158,16 @@ pub fn get_activator<'p>( .activation_scripts .extend(additional_activation_scripts); - // Add the environment variables from the project. + // Add the environment variables from the project (pre-activation script vars). activator .env_vars .extend(get_static_environment_variables(environment)); + // Add environment variables that should be applied after activation scripts run. + activator + .post_activation_env_vars + .extend(environment.activation_env(Some(Platform::current()))); + Ok(activator) } diff --git a/crates/pixi_task/src/executable_task.rs b/crates/pixi_task/src/executable_task.rs index d30280a5a3..df23701f29 100644 --- a/crates/pixi_task/src/executable_task.rs +++ b/crates/pixi_task/src/executable_task.rs @@ -383,6 +383,11 @@ fn get_output_writer_and_handle() -> (ShellPipeWriter, JoinHandle) { } /// Task specific environment variables. +/// +/// These are rendered as `export KEY=VALUE` statements and prepended to the +/// task script. At runtime they are interpreted by `deno_task_shell`, not by an +/// external OS shell, so `$VAR`-style expansion follows deno-task-shell’s +/// semantics. fn get_export_specific_task_env(task: &Task) -> String { // Append the environment variables if they don't exist let mut export = String::new(); From ef99647d939f5e5b875e0dd258476679e63afd46 Mon Sep 17 00:00:00 2001 From: Julian Hofer Date: Tue, 9 Sep 2025 15:06:17 +0200 Subject: [PATCH 04/11] Stop setting task env variables only if it isn't set globally --- crates/pixi_task/src/executable_task.rs | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/crates/pixi_task/src/executable_task.rs b/crates/pixi_task/src/executable_task.rs index df23701f29..ae0f1ab021 100644 --- a/crates/pixi_task/src/executable_task.rs +++ b/crates/pixi_task/src/executable_task.rs @@ -393,13 +393,8 @@ fn get_export_specific_task_env(task: &Task) -> String { let mut export = String::new(); if let Some(env) = task.env() { for (key, value) in env { - if value.contains(format!("${}", key).as_str()) || std::env::var(key.as_str()).is_err() - { - tracing::info!("Setting environment variable: {}=\"{}\"", key, value); - export.push_str(&format!("export \"{}={}\";\n", key, value)); - } else { - tracing::info!("Environment variable {} already set", key); - } + tracing::debug!("Setting environment variable: {}=\"{}\"", key, value); + export.push_str(&format!("export \"{}={}\";\n", key, value)); } } export From d9d9c28b48623902dc1c5418e56c6dd0eb434b03 Mon Sep 17 00:00:00 2001 From: Julian Hofer Date: Tue, 9 Sep 2025 15:09:18 +0200 Subject: [PATCH 05/11] Patch rattler to use my branch --- Cargo.lock | 657 ++++++++++++++++++++++++++++------------------------- Cargo.toml | 18 ++ 2 files changed, 362 insertions(+), 313 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2ac831d225..89694b02b5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -56,12 +56,6 @@ version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - [[package]] name = "android_system_properties" version = "0.1.5" @@ -273,7 +267,7 @@ dependencies = [ "futures-lite", "parking", "polling", - "rustix 1.0.8", + "rustix 1.1.1", "slab", "windows-sys 0.60.2", ] @@ -310,7 +304,7 @@ dependencies = [ "cfg-if", "event-listener", "futures-lite", - "rustix 1.0.8", + "rustix 1.1.1", ] [[package]] @@ -336,7 +330,7 @@ dependencies = [ "cfg-if", "futures-core", "futures-io", - "rustix 1.0.8", + "rustix 1.1.1", "signal-hook-registry", "slab", "windows-sys 0.60.2", @@ -496,9 +490,9 @@ dependencies = [ [[package]] name = "aws-sdk-s3" -version = "1.104.0" +version = "1.105.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38c488cd6abb0ec9811c401894191932e941c5f91dc226043edacd0afa1634bc" +checksum = "c99789e929b5e1d9a5aa3fa1d81317f3a789afc796141d11b0eaafd9d9f47e38" dependencies = [ "aws-credential-types", "aws-runtime", @@ -1240,9 +1234,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.35" +version = "1.2.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "590f9024a68a8c40351881787f1934dc11afd69090f5edb6831464694d836ea3" +checksum = "5252b3d2648e5eedbc1a6f501e3c795e07025c1e93bbf8bbdd6eef7f447a6d54" dependencies = [ "find-msvc-tools", "jobserver", @@ -1280,17 +1274,16 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.41" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" +checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2" dependencies = [ - "android-tzdata", "iana-time-zone", "js-sys", "num-traits", "serde", "wasm-bindgen", - "windows-link", + "windows-link 0.2.0", ] [[package]] @@ -1305,9 +1298,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.46" +version = "4.5.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c5e4fcf9c21d2e544ca1ee9d8552de13019a42aa7dbf32747fa7aaf1df76e57" +checksum = "7eac00902d9d136acd712710d71823fb8ac8004ca445a89e73a41d45aa712931" dependencies = [ "clap_builder", "clap_derive", @@ -1315,9 +1308,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.46" +version = "4.5.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fecb53a0e6fcfb055f686001bc2e2592fa527efaf38dbe81a6a9563562e57d41" +checksum = "2ad9bbf750e73b5884fb8a211a9424a1906c1e156724260fdae972f31d70e1d6" dependencies = [ "anstream", "anstyle", @@ -1347,9 +1340,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.45" +version = "4.5.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14cb31bb0a7d536caef2639baa7fad459e15c3144efefa6dbd1c84562c4739f6" +checksum = "bbfd7eae0b0f1a6e63d4b13c9c478de77c2eb546fba158ad50b4203dc24b9f9c" dependencies = [ "heck", "proc-macro2", @@ -1365,9 +1358,18 @@ checksum = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675" [[package]] name = "coalesced_map" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75f51db9b94d9ca1f2075d1d1ea620ab431f90017a01955becb281e3ae4603a7" +checksum = "7cf5a7a58a9d5b914bddb0a3a2bd920af2be897114dc8128af022af81fc43b8b" +dependencies = [ + "dashmap", + "tokio", +] + +[[package]] +name = "coalesced_map" +version = "0.1.2" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" dependencies = [ "dashmap", "tokio", @@ -1419,15 +1421,15 @@ dependencies = [ [[package]] name = "console" -version = "0.16.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e09ced7ebbccb63b4c65413d821f2e00ce54c5ca4514ddc6b3c892fdbcbc69d" +checksum = "b430743a6eb14e9764d4260d4c0d8123087d504eeb9c48f2b2a5e810dd369df4" dependencies = [ "encode_unicode", "libc", "once_cell", "unicode-width 0.2.1", - "windows-sys 0.60.2", + "windows-sys 0.61.0", ] [[package]] @@ -1656,12 +1658,13 @@ dependencies = [ [[package]] name = "ctrlc" -version = "3.4.7" +version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46f93780a459b7d656ef7f071fe699c4d3d2cb201c4b24d085b6ddc505276e73" +checksum = "881c5d0a13b2f1498e2306e82cbada78390e152d4b1378fb28a84f4dcd0dc4f3" dependencies = [ + "dispatch", "nix 0.30.1", - "windows-sys 0.59.0", + "windows-sys 0.61.0", ] [[package]] @@ -1938,9 +1941,15 @@ dependencies = [ "libc", "option-ext", "redox_users", - "windows-sys 0.60.2", + "windows-sys 0.61.0", ] +[[package]] +name = "dispatch" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" + [[package]] name = "displaydoc" version = "0.2.5" @@ -2110,12 +2119,12 @@ dependencies = [ [[package]] name = "errno" -version = "0.3.13" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.60.2", + "windows-sys 0.61.0", ] [[package]] @@ -2187,8 +2196,7 @@ dependencies = [ [[package]] name = "file_url" version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "765662dc0b26e038099a5a1529f5d48443111eea45377c312be892997651710e" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" dependencies = [ "itertools 0.14.0", "percent-encoding", @@ -2211,9 +2219,9 @@ dependencies = [ [[package]] name = "find-msvc-tools" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e178e4fba8a2726903f6ba98a6d221e76f9c12c650d5dc0e6afdc50677b49650" +checksum = "7fd99930f64d146689264c637b5af2f0233a933bef0d8570e2526bf9e083192d" [[package]] name = "fixedbitset" @@ -2304,7 +2312,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8640e34b88f7652208ce9e88b1a37a2ae95227d84abec377ccd3c5cfeb141ed4" dependencies = [ "fs-err", - "rustix 1.0.8", + "rustix 1.1.1", "tokio", "windows-sys 0.59.0", ] @@ -2476,7 +2484,7 @@ dependencies = [ "js-sys", "libc", "r-efi", - "wasi 0.14.2+wasi-0.2.4", + "wasi 0.14.4+wasi-0.2.4", "wasm-bindgen", ] @@ -2679,7 +2687,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.11.0", + "indexmap 2.11.1", "slab", "tokio", "tokio-util", @@ -2698,7 +2706,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.3.1", - "indexmap 2.11.0", + "indexmap 2.11.1", "slab", "tokio", "tokio-util", @@ -3108,7 +3116,7 @@ dependencies = [ "js-sys", "log", "wasm-bindgen", - "windows-core 0.59.0", + "windows-core 0.61.2", ] [[package]] @@ -3262,9 +3270,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.11.0" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2481980430f9f78649238835720ddccc57e52df14ffce1c6f37391d61b563e9" +checksum = "206a8042aec68fa4a62e8d3f7aa4ceb508177d9324faf261e1959e495b7a1921" dependencies = [ "equivalent", "hashbrown 0.15.5", @@ -3277,7 +3285,7 @@ version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70a646d946d06bedbbc4cac4c218acf4bbf2d87757a784857025f4d447e4e1cd" dependencies = [ - "console 0.16.0", + "console 0.16.1", "portable-atomic", "unicode-width 0.2.1", "unit-prefix", @@ -3302,9 +3310,9 @@ dependencies = [ [[package]] name = "insta" -version = "1.43.1" +version = "1.43.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "154934ea70c58054b556dd430b99a98c2a7ff5309ac9891597e339b5c28f4371" +checksum = "46fdb647ebde000f43b5b53f773c30cf9b0cb4300453208713fa38b2c70935a0" dependencies = [ "console 0.15.11", "globset", @@ -3352,11 +3360,11 @@ checksum = "7655c9839580ee829dfacba1d1278c2b7883e50a277ff7541299489d6bdfdc45" [[package]] name = "is_executable" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4a1b5bad6f9072935961dfbf1cced2f3d129963d091b6f69f007fe04e758ae2" +checksum = "baabb8b4867b26294d818bf3f651a454b6901431711abb96e296245888d6e8c4" dependencies = [ - "winapi", + "windows-sys 0.60.2", ] [[package]] @@ -3482,9 +3490,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.77" +version = "0.3.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" +checksum = "0c0b063578492ceec17683ef2f8c5e89121fbd0b172cbc280635ab7567db2738" dependencies = [ "once_cell", "wasm-bindgen", @@ -3639,12 +3647,12 @@ dependencies = [ [[package]] name = "junction" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72bbdfd737a243da3dfc1f99ee8d6e166480f17ab4ac84d7c34aacd73fc7bd16" +checksum = "c52f6e1bf39a7894f618c9d378904a11dbd7e10fe3ec20d1173600e79b1408d8" dependencies = [ "scopeguard", - "windows-sys 0.52.0", + "windows-sys 0.60.2", ] [[package]] @@ -3658,7 +3666,7 @@ dependencies = [ "log", "secret-service", "security-framework 2.11.1", - "security-framework 3.3.0", + "security-framework 3.4.0", "windows-sys 0.60.2", "zbus", "zeroize", @@ -3730,7 +3738,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" dependencies = [ "cfg-if", - "windows-targets 0.48.5", + "windows-targets 0.53.3", ] [[package]] @@ -3741,9 +3749,9 @@ checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" [[package]] name = "libmimalloc-sys" -version = "0.1.43" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf88cd67e9de251c1781dbe2f641a1a3ad66eaae831b8a2c38fbdc5ddae16d4d" +checksum = "667f4fec20f29dfc6bc7357c582d91796c169ad7e2fce709468aefeb2c099870" dependencies = [ "cc", "libc", @@ -3781,6 +3789,12 @@ version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" +[[package]] +name = "linux-raw-sys" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" + [[package]] name = "litemap" version = "0.8.0" @@ -3799,9 +3813,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.27" +version = "0.4.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" +checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" [[package]] name = "lru" @@ -3962,9 +3976,9 @@ dependencies = [ [[package]] name = "mimalloc" -version = "0.1.47" +version = "0.1.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1791cbe101e95af5764f06f20f6760521f7158f69dbf9d6baf941ee1bf6bc40" +checksum = "e1ee66a4b64c74f4ef288bcbb9192ad9c3feaad75193129ac8509af543894fd8" dependencies = [ "libmimalloc-sys", ] @@ -3987,9 +4001,9 @@ dependencies = [ [[package]] name = "minijinja" -version = "2.11.0" +version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e60ac08614cc09062820e51d5d94c2fce16b94ea4e5003bb81b99a95f84e876" +checksum = "a9f264d75233323f4b7d2f03aefe8a990690cdebfbfe26ea86bcbaec5e9ac990" dependencies = [ "serde", ] @@ -4359,11 +4373,11 @@ dependencies = [ [[package]] name = "ordermap" -version = "0.5.8" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d6bff06e4a5dc6416bead102d3e63c480dd852ffbb278bf8cfeb4966b329609" +checksum = "0dcd63f1ae4b091e314a26627c467dd8810d674ba798abc0e566679955776c63" dependencies = [ - "indexmap 2.11.0", + "indexmap 2.11.1", "serde", ] @@ -4468,12 +4482,11 @@ checksum = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42" [[package]] name = "path_resolver" version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "493dd224adc6163e40a1e58cefbeec27dabb69696017677406417b3516c800fa" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" dependencies = [ "fs-err", "fxhash", - "indexmap 2.11.0", + "indexmap 2.11.1", "itertools 0.14.0", "proptest", "tempfile", @@ -4506,7 +4519,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "faee7227064121fcadcd2ff788ea26f0d8f2bd23a0574da11eca23bc935bcc05" dependencies = [ "boxcar", - "indexmap 2.11.0", + "indexmap 2.11.1", "itertools 0.13.0", "once_cell", "pep440_rs", @@ -4579,54 +4592,10 @@ checksum = "54acf3a685220b533e437e264e4d932cfbdc4cc7ec0cd232ed73c08d03b8a7ca" dependencies = [ "fixedbitset", "hashbrown 0.15.5", - "indexmap 2.11.0", + "indexmap 2.11.1", "serde", ] -[[package]] -name = "phf" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" -dependencies = [ - "phf_macros", - "phf_shared", -] - -[[package]] -name = "phf_generator" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" -dependencies = [ - "phf_shared", - "rand 0.8.5", -] - -[[package]] -name = "phf_macros" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216" -dependencies = [ - "phf_generator", - "phf_shared", - "proc-macro2", - "quote", - "syn", - "unicase", -] - -[[package]] -name = "phf_shared" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" -dependencies = [ - "siphasher", - "unicase", -] - [[package]] name = "pin-project" version = "1.1.10" @@ -4682,7 +4651,7 @@ dependencies = [ "fs_extra", "futures", "http 1.3.1", - "indexmap 2.11.0", + "indexmap 2.11.1", "indicatif", "insta", "itertools 0.14.0", @@ -4828,7 +4797,7 @@ dependencies = [ "fs-err", "futures", "human_bytes", - "indexmap 2.11.0", + "indexmap 2.11.1", "indicatif", "insta", "is_executable", @@ -4906,13 +4875,13 @@ dependencies = [ "async-fd-lock", "base64 0.22.1", "chrono", - "coalesced_map", + "coalesced_map 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "derive_more", "dirs", "dunce", "fs-err", "futures", - "indexmap 2.11.0", + "indexmap 2.11.1", "insta", "itertools 0.14.0", "miette 7.6.0", @@ -5019,7 +4988,7 @@ dependencies = [ "http 1.3.1", "human_bytes", "humantime", - "indexmap 2.11.0", + "indexmap 2.11.1", "indicatif", "insta", "itertools 0.14.0", @@ -5168,7 +5137,7 @@ dependencies = [ "fancy_display", "fs-err", "futures", - "indexmap 2.11.0", + "indexmap 2.11.1", "indicatif", "insta", "is_executable", @@ -5224,7 +5193,7 @@ dependencies = [ "fancy_display", "fs-err", "glob", - "indexmap 2.11.0", + "indexmap 2.11.1", "insta", "itertools 0.14.0", "miette 7.6.0", @@ -5324,7 +5293,7 @@ dependencies = [ "console 0.15.11", "futures", "human_bytes", - "indexmap 2.11.0", + "indexmap 2.11.1", "indicatif", "itertools 0.14.0", "parking_lot", @@ -5377,7 +5346,7 @@ dependencies = [ name = "pixi_spec_containers" version = "0.1.0" dependencies = [ - "indexmap 2.11.0", + "indexmap 2.11.1", "itertools 0.14.0", "pixi_spec", "rattler_conda_types", @@ -5441,7 +5410,7 @@ version = "0.1.0" dependencies = [ "digest", "hex", - "indexmap 2.11.0", + "indexmap 2.11.1", "insta", "itertools 0.14.0", "miette 7.6.0", @@ -5546,8 +5515,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3af6b589e163c5a788fab00ce0c0366f6efbb9959c2f9874b224936af7fce7e1" dependencies = [ "base64 0.22.1", - "indexmap 2.11.0", - "quick-xml 0.38.2", + "indexmap 2.11.1", + "quick-xml 0.38.3", "serde", "time", ] @@ -5562,7 +5531,7 @@ dependencies = [ "concurrent-queue", "hermit-abi", "pin-project-lite", - "rustix 1.0.8", + "rustix 1.1.1", "windows-sys 0.60.2", ] @@ -5632,7 +5601,7 @@ checksum = "5676d703dda103cbb035b653a9f11448c0a7216c7926bd35fcb5865475d0c970" dependencies = [ "autocfg", "equivalent", - "indexmap 2.11.0", + "indexmap 2.11.1", ] [[package]] @@ -5713,7 +5682,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" dependencies = [ "anyhow", - "itertools 0.11.0", + "itertools 0.14.0", "proc-macro2", "quote", "syn", @@ -5753,7 +5722,7 @@ name = "pubgrub" version = "0.3.0" source = "git+https://github.com/astral-sh/pubgrub?rev=06ec5a5f59ffaeb6cf5079c6cb184467da06c9db#06ec5a5f59ffaeb6cf5079c6cb184467da06c9db" dependencies = [ - "indexmap 2.11.0", + "indexmap 2.11.1", "log", "priority-queue", "rustc-hash", @@ -5769,11 +5738,8 @@ checksum = "60ebe4262ae91ddd28c8721111a0a6e9e58860e211fc92116c4bb85c98fd96ad" dependencies = [ "hex", "percent-encoding", - "phf", "serde", - "smartstring", "thiserror 2.0.16", - "unicase", ] [[package]] @@ -5826,7 +5792,7 @@ version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b0f6160dc48298b9260d9b958ad1d7f96f6cd0b9df200b22329204e09334663" dependencies = [ - "indexmap 2.11.0", + "indexmap 2.11.1", "pep440_rs", "pep508_rs", "serde", @@ -5851,9 +5817,9 @@ dependencies = [ [[package]] name = "quick-xml" -version = "0.38.2" +version = "0.38.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d200a41a7797e6461bd04e4e95c3347053a731c32c87f066f2f0dda22dbdbba8" +checksum = "42a232e7487fc2ef313d96dde7948e7a3c05101870d8985e4fd8d26aedd27b89" dependencies = [ "memchr", ] @@ -6019,19 +5985,18 @@ dependencies = [ [[package]] name = "rattler" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9da8b28e5e7c9d401ecb080ef4058821a5ff20d0b7f9e1293f4e308b36c99812" +version = "0.37.2" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" dependencies = [ "anyhow", "clap", - "console 0.16.0", + "console 0.16.1", "digest", "dirs", "fs-err", "futures", "humantime", - "indexmap 2.11.0", + "indexmap 2.11.1", "indicatif", "itertools 0.14.0", "memchr", @@ -6064,9 +6029,8 @@ dependencies = [ [[package]] name = "rattler_cache" -version = "0.3.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19e381b75c2a3e3b01cbc12acdd67472c4eec0369e4383c7a6f023842827c929" +version = "0.3.34" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" dependencies = [ "anyhow", "dashmap", @@ -6097,9 +6061,8 @@ dependencies = [ [[package]] name = "rattler_conda_types" -version = "0.39.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79740066d3471eb5872d931d6b6c4e1473db6eedf93e86533ea279a786dccb53" +version = "0.39.2" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" dependencies = [ "chrono", "core-foundation 0.10.1", @@ -6109,7 +6072,7 @@ dependencies = [ "fxhash", "glob", "hex", - "indexmap 2.11.0", + "indexmap 2.11.1", "itertools 0.14.0", "lazy-regex", "nom 8.0.0", @@ -6139,8 +6102,7 @@ dependencies = [ [[package]] name = "rattler_digest" version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40b746768824bc3306dcb597e549e836eda023dab8d7407d32b9f342c70cc5d" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" dependencies = [ "blake2", "digest", @@ -6156,14 +6118,13 @@ dependencies = [ [[package]] name = "rattler_lock" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6450fbe7185b3f3515a94f81b2311c0f9f7899856b2f471cc66336a1af575fd0" +version = "0.24.1" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" dependencies = [ "chrono", "file_url", "fxhash", - "indexmap 2.11.0", + "indexmap 2.11.1", "itertools 0.14.0", "pep440_rs", "pep508_rs", @@ -6183,8 +6144,7 @@ dependencies = [ [[package]] name = "rattler_macros" version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "988d5d7ace4fb1d7549008236cf08de95e8ea2f1f80754109324a08c31e6dc6a" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" dependencies = [ "quote", "syn", @@ -6192,9 +6152,8 @@ dependencies = [ [[package]] name = "rattler_menuinst" -version = "0.2.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c9b97d9033f8c61bc2458f6afafe3874ac02ef1167ab2c786b0800644378615" +version = "0.2.25" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" dependencies = [ "chrono", "configparser", @@ -6222,11 +6181,11 @@ dependencies = [ [[package]] name = "rattler_networking" -version = "0.25.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0e2647706ecaf8f6a27ce1d3faaf44ae0f5ec713c1298ee874d77b8488a1122" +version = "0.25.13" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" dependencies = [ "anyhow", + "async-once-cell", "async-trait", "aws-config", "aws-sdk-s3", @@ -6252,9 +6211,8 @@ dependencies = [ [[package]] name = "rattler_package_streaming" -version = "0.23.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe0d34a6410e8055423a6e5b054661188fe72d810d18785e2554b27f1660819f" +version = "0.23.4" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" dependencies = [ "bzip2 0.6.0", "chrono", @@ -6283,8 +6241,7 @@ dependencies = [ [[package]] name = "rattler_pty" version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a7edbf8f23a099ccb32cc4f024886e35a873c462ca83f86c286556c275bf06" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" dependencies = [ "libc", "nix 0.30.1", @@ -6294,8 +6251,7 @@ dependencies = [ [[package]] name = "rattler_redaction" version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3aa5057629aeb20861919e9ae56875985d58028f3c6f433a20b5ded086e1cec5" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" dependencies = [ "reqwest", "reqwest-middleware", @@ -6304,9 +6260,8 @@ dependencies = [ [[package]] name = "rattler_repodata_gateway" -version = "0.24.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "134f2f4a1dfc6d45ca5f09afb27070ab27e930bcd9bacb4e3c592fefed22fb1b" +version = "0.24.4" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" dependencies = [ "anyhow", "async-compression", @@ -6317,7 +6272,7 @@ dependencies = [ "cache_control", "cfg-if", "chrono", - "coalesced_map", + "coalesced_map 0.1.2 (git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars)", "dashmap", "dirs", "file_url", @@ -6364,14 +6319,13 @@ dependencies = [ [[package]] name = "rattler_shell" -version = "0.24.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3129f7f87c873168ff981e5182e8c08a5ba7e47c0a2939ca078c919b31e93034" +version = "0.24.11" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" dependencies = [ "anyhow", "enum_dispatch", "fs-err", - "indexmap 2.11.0", + "indexmap 2.11.1", "itertools 0.14.0", "rattler_conda_types", "rattler_pty", @@ -6385,9 +6339,8 @@ dependencies = [ [[package]] name = "rattler_solve" -version = "3.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "325f2531cf5370dee31d20eaa7eba56766b9dc66442f8c2f4585979b44268311" +version = "3.0.3" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" dependencies = [ "chrono", "futures", @@ -6403,9 +6356,8 @@ dependencies = [ [[package]] name = "rattler_virtual_packages" -version = "2.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83025dab2cf654df31766801fb55be564e14ebdb4de60c27ace1a1820befcb3c" +version = "2.1.5" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" dependencies = [ "archspec", "libloading", @@ -6482,14 +6434,14 @@ dependencies = [ [[package]] name = "reflink-copy" -version = "0.1.26" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78c81d000a2c524133cc00d2f92f019d399e57906c3b7119271a2495354fe895" +checksum = "23bbed272e39c47a095a5242218a67412a220006842558b03fe2935e8f3d7b92" dependencies = [ "cfg-if", "libc", - "rustix 1.0.8", - "windows 0.61.3", + "rustix 1.1.1", + "windows 0.62.0", ] [[package]] @@ -6651,7 +6603,7 @@ dependencies = [ "elsa", "event-listener", "futures", - "indexmap 2.11.0", + "indexmap 2.11.1", "itertools 0.14.0", "petgraph", "tracing", @@ -6700,7 +6652,7 @@ dependencies = [ "bytecheck", "bytes", "hashbrown 0.15.5", - "indexmap 2.11.0", + "indexmap 2.11.1", "munge", "ptr_meta", "rancor", @@ -6829,15 +6781,16 @@ dependencies = [ [[package]] name = "rustix" -version = "1.0.8" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8" +checksum = "9621e389a110cae094269936383d69b869492f03e5c1ed2d575a53c029d4441d" dependencies = [ "bitflags", "errno", "libc", + "linux-raw-sys 0.11.0", "linux-raw-sys 0.9.4", - "windows-sys 0.60.2", + "windows-sys 0.61.0", ] [[package]] @@ -6888,7 +6841,7 @@ dependencies = [ "openssl-probe", "rustls-pki-types", "schannel", - "security-framework 3.3.0", + "security-framework 3.4.0", ] [[package]] @@ -6934,7 +6887,7 @@ dependencies = [ "rustls-native-certs 0.8.1", "rustls-platform-verifier-android", "rustls-webpki 0.103.4", - "security-framework 3.3.0", + "security-framework 3.4.0", "security-framework-sys", "webpki-root-certs 0.26.11", "windows-sys 0.59.0", @@ -7002,11 +6955,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.27" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" +checksum = "891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.0", ] [[package]] @@ -7064,9 +7017,9 @@ dependencies = [ [[package]] name = "scroll_derive" -version = "0.13.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22fc4f90c27b57691bbaf11d8ecc7cfbfe98a4da6dbe60226115d322aa80c06e" +checksum = "ed76efe62313ab6610570951494bdaa81568026e0318eaa55f167de70eeea67d" dependencies = [ "proc-macro2", "quote", @@ -7137,9 +7090,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "3.3.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80fb1d92c5028aa318b4b8bd7302a5bfcf48be96a37fc6fc790f806b0004ee0c" +checksum = "60b369d18893388b345804dc0007963c99b7d665ae71d275812d828c6f089640" dependencies = [ "bitflags", "core-foundation 0.10.1", @@ -7150,9 +7103,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.14.0" +version = "2.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" +checksum = "cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0" dependencies = [ "core-foundation-sys", "libc", @@ -7254,7 +7207,7 @@ version = "1.0.143" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d401abef1d108fbd9cbaebc3e46611f4b1021f714a0597a71f41ee463f5f4a5a" dependencies = [ - "indexmap 2.11.0", + "indexmap 2.11.1", "itoa", "memchr", "ryu", @@ -7312,7 +7265,7 @@ dependencies = [ "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.11.0", + "indexmap 2.11.1", "schemars 0.9.0", "schemars 1.0.4", "serde", @@ -7340,7 +7293,7 @@ version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.11.0", + "indexmap 2.11.1", "itoa", "ryu", "serde", @@ -7493,18 +7446,11 @@ checksum = "bbbb5d9659141646ae647b42fe094daf6c6192d1620870b449d9557f748b2daa" [[package]] name = "simple_spawn_blocking" version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55c0b0b683828aa9d4f5c0e59b0c856a12c30a65b5f1ca4292664734d76fa9c2" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" dependencies = [ "tokio", ] -[[package]] -name = "siphasher" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" - [[package]] name = "slab" version = "0.4.11" @@ -7529,17 +7475,6 @@ dependencies = [ "serde", ] -[[package]] -name = "smartstring" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fb72c633efbaa2dd666986505016c32c3044395ceaf881518399d2f4127ee29" -dependencies = [ - "autocfg", - "static_assertions", - "version_check", -] - [[package]] name = "smawk" version = "0.3.2" @@ -7778,7 +7713,7 @@ dependencies = [ "ntapi", "objc2-core-foundation", "objc2-io-kit", - "windows 0.59.0", + "windows 0.61.3", ] [[package]] @@ -7853,7 +7788,7 @@ dependencies = [ "fastrand", "getrandom 0.3.3", "once_cell", - "rustix 1.0.8", + "rustix 1.1.1", "windows-sys 0.60.2", ] @@ -7863,7 +7798,7 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60b8cb979cb11c32ce1603f8137b22262a9d131aaa5c37b5678025f22b8becd0" dependencies = [ - "rustix 1.0.8", + "rustix 1.1.1", "windows-sys 0.60.2", ] @@ -7955,9 +7890,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.42" +version = "0.3.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ca967379f9d8eb8058d86ed467d81d03e81acd45757e4ca341c24affbe8e8e3" +checksum = "83bde6f1ec10e72d583d91623c939f623002284ef622b87de38cfd546cbf2031" dependencies = [ "deranged", "num-conv", @@ -7969,15 +7904,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9108bb380861b07264b950ded55a44a14a4adc68b9f5efd85aafc3aa4d40a68" +checksum = "40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b" [[package]] name = "time-macros" -version = "0.2.23" +version = "0.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7182799245a7264ce590b349d90338f1c1affad93d2639aed5f8f69c090b334c" +checksum = "30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3" dependencies = [ "num-conv", "time-core", @@ -8119,7 +8054,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75129e1dc5000bfbaa9fee9d1b21f974f9fbad9daec557a521ee6e080825f6e8" dependencies = [ "foldhash", - "indexmap 2.11.0", + "indexmap 2.11.1", "serde", "serde_spanned 1.0.0", "toml_datetime 0.7.0", @@ -8162,7 +8097,7 @@ version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ - "indexmap 2.11.0", + "indexmap 2.11.1", "serde", "serde_spanned 0.6.9", "toml_datetime 0.6.11", @@ -8172,11 +8107,11 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.23.3" +version = "0.23.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17d3b47e6b7a040216ae5302712c94d1cf88c95b47efa80e2c59ce96c878267e" +checksum = "7211ff1b8f0d3adae1663b7da9ffe396eabe1ca25f0b0bee42b0da29a9ddce93" dependencies = [ - "indexmap 2.11.0", + "indexmap 2.11.1", "serde", "serde_spanned 1.0.0", "toml_datetime 0.7.0", @@ -8607,7 +8542,7 @@ dependencies = [ "tempfile", "thiserror 2.0.16", "tokio", - "toml_edit 0.23.3", + "toml_edit 0.23.4", "tracing", "uv-cache-key", "uv-configuration", @@ -8766,7 +8701,7 @@ name = "uv-console" version = "0.0.1" source = "git+https://github.com/astral-sh/uv?tag=0.8.5#ce37286814dbb802c422f0926487cfab7aefd2b7" dependencies = [ - "console 0.16.0", + "console 0.16.1", ] [[package]] @@ -8955,7 +8890,7 @@ dependencies = [ "junction", "path-slash", "percent-encoding", - "rustix 1.0.8", + "rustix 1.1.1", "same-file", "schemars 1.0.4", "serde", @@ -9171,7 +9106,7 @@ source = "git+https://github.com/astral-sh/uv?tag=0.8.5#ce37286814dbb802c422f092 dependencies = [ "arcstr", "boxcar", - "indexmap 2.11.0", + "indexmap 2.11.1", "itertools 0.14.0", "regex", "rustc-hash", @@ -9225,7 +9160,7 @@ version = "0.0.1" source = "git+https://github.com/astral-sh/uv?tag=0.8.5#ce37286814dbb802c422f0926487cfab7aefd2b7" dependencies = [ "hashbrown 0.15.5", - "indexmap 2.11.0", + "indexmap 2.11.1", "itertools 0.14.0", "jiff", "mailparse", @@ -9237,7 +9172,7 @@ dependencies = [ "serde", "serde-untagged", "thiserror 2.0.16", - "toml_edit 0.23.3", + "toml_edit 0.23.4", "tracing", "url", "uv-cache-key", @@ -9260,7 +9195,7 @@ dependencies = [ "dunce", "fs-err", "futures", - "indexmap 2.11.0", + "indexmap 2.11.1", "itertools 0.14.0", "once_cell", "owo-colors", @@ -9304,7 +9239,7 @@ dependencies = [ "uv-warnings", "which", "windows-registry", - "windows-result", + "windows-result 0.3.4", "windows-sys 0.59.0", ] @@ -9325,7 +9260,7 @@ source = "git+https://github.com/astral-sh/uv?tag=0.8.5#ce37286814dbb802c422f092 dependencies = [ "anyhow", "configparser", - "console 0.16.0", + "console 0.16.1", "fs-err", "futures", "rustc-hash", @@ -9389,7 +9324,7 @@ dependencies = [ "either", "futures", "hashbrown 0.15.5", - "indexmap 2.11.0", + "indexmap 2.11.1", "itertools 0.14.0", "jiff", "owo-colors", @@ -9405,7 +9340,7 @@ dependencies = [ "tokio", "tokio-stream", "toml 0.9.5", - "toml_edit 0.23.3", + "toml_edit 0.23.4", "tracing", "url", "uv-cache-key", @@ -9447,7 +9382,7 @@ dependencies = [ "uv-fs", "uv-static", "windows-registry", - "windows-result", + "windows-result 0.3.4", "windows-sys 0.59.0", ] @@ -9543,7 +9478,7 @@ name = "uv-virtualenv" version = "0.0.4" source = "git+https://github.com/astral-sh/uv?tag=0.8.5#ce37286814dbb802c422f0926487cfab7aefd2b7" dependencies = [ - "console 0.16.0", + "console 0.16.1", "fs-err", "itertools 0.14.0", "owo-colors", @@ -9585,7 +9520,7 @@ dependencies = [ "thiserror 2.0.16", "tokio", "toml 0.9.5", - "toml_edit 0.23.3", + "toml_edit 0.23.4", "tracing", "uv-build-backend", "uv-cache-key", @@ -9684,30 +9619,31 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasi" -version = "0.14.2+wasi-0.2.4" +version = "0.14.4+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +checksum = "88a5f4a424faf49c3c2c344f166f0662341d470ea185e939657aaff130f0ec4a" dependencies = [ - "wit-bindgen-rt", + "wit-bindgen", ] [[package]] name = "wasm-bindgen" -version = "0.2.100" +version = "0.2.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" +checksum = "7e14915cadd45b529bb8d1f343c4ed0ac1de926144b746e2710f9cd05df6603b" dependencies = [ "cfg-if", "once_cell", "rustversion", "wasm-bindgen-macro", + "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.100" +version = "0.2.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" +checksum = "e28d1ba982ca7923fd01448d5c30c6864d0a14109560296a162f80f305fb93bb" dependencies = [ "bumpalo", "log", @@ -9719,9 +9655,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.50" +version = "0.4.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" +checksum = "0ca85039a9b469b38336411d6d6ced91f3fc87109a2a27b0c197663f5144dffe" dependencies = [ "cfg-if", "js-sys", @@ -9732,9 +9668,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.100" +version = "0.2.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" +checksum = "7c3d463ae3eff775b0c45df9da45d68837702ac35af998361e2c84e7c5ec1b0d" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -9742,9 +9678,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.100" +version = "0.2.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" +checksum = "7bb4ce89b08211f923caf51d527662b75bdc9c9c7aab40f86dcb9fb85ac552aa" dependencies = [ "proc-macro2", "quote", @@ -9755,9 +9691,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.100" +version = "0.2.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +checksum = "f143854a3b13752c6950862c906306adb27c7e839f7414cec8fea35beab624c1" dependencies = [ "unicode-ident", ] @@ -9777,9 +9713,9 @@ dependencies = [ [[package]] name = "wasmtimer" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8d49b5d6c64e8558d9b1b065014426f35c18de636895d24893dbbd329743446" +checksum = "1c598d6b99ea013e35844697fc4670d08339d5cda15588f193c6beedd12f644b" dependencies = [ "futures", "js-sys", @@ -9806,9 +9742,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.77" +version = "0.3.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" +checksum = "77e4b637749ff0d92b8fad63aa1f7cff3cbe125fd49c175cd6345e7272638b12" dependencies = [ "js-sys", "wasm-bindgen", @@ -9859,7 +9795,7 @@ checksum = "d3fabb953106c3c8eea8306e4393700d7657561cb43122571b172bbfb7c7ba1d" dependencies = [ "env_home", "regex", - "rustix 1.0.8", + "rustix 1.1.1", "winsafe", ] @@ -9881,11 +9817,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.10" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0978bf7171b3d90bac376700cb56d606feb40f251a475a5d6634613564460b22" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.61.0", ] [[package]] @@ -9919,11 +9855,24 @@ version = "0.61.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" dependencies = [ - "windows-collections", + "windows-collections 0.2.0", "windows-core 0.61.2", - "windows-future", - "windows-link", - "windows-numerics", + "windows-future 0.2.1", + "windows-link 0.1.3", + "windows-numerics 0.2.0", +] + +[[package]] +name = "windows" +version = "0.62.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9579d0e6970fd5250aa29aba5994052385ff55cf7b28a059e484bb79ea842e42" +dependencies = [ + "windows-collections 0.3.0", + "windows-core 0.62.0", + "windows-future 0.3.0", + "windows-link 0.2.0", + "windows-numerics 0.3.0", ] [[package]] @@ -9935,6 +9884,15 @@ dependencies = [ "windows-core 0.61.2", ] +[[package]] +name = "windows-collections" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a90dd7a7b86859ec4cdf864658b311545ef19dbcf17a672b52ab7cefe80c336f" +dependencies = [ + "windows-core 0.62.0", +] + [[package]] name = "windows-core" version = "0.59.0" @@ -9943,7 +9901,7 @@ checksum = "810ce18ed2112484b0d4e15d022e5f598113e220c53e373fb31e67e21670c1ce" dependencies = [ "windows-implement 0.59.0", "windows-interface", - "windows-result", + "windows-result 0.3.4", "windows-strings 0.3.1", "windows-targets 0.53.3", ] @@ -9956,11 +9914,24 @@ checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" dependencies = [ "windows-implement 0.60.0", "windows-interface", - "windows-link", - "windows-result", + "windows-link 0.1.3", + "windows-result 0.3.4", "windows-strings 0.4.2", ] +[[package]] +name = "windows-core" +version = "0.62.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57fe7168f7de578d2d8a05b07fd61870d2e73b4020e9f49aa00da8471723497c" +dependencies = [ + "windows-implement 0.60.0", + "windows-interface", + "windows-link 0.2.0", + "windows-result 0.4.0", + "windows-strings 0.5.0", +] + [[package]] name = "windows-future" version = "0.2.1" @@ -9968,8 +9939,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" dependencies = [ "windows-core 0.61.2", - "windows-link", - "windows-threading", + "windows-link 0.1.3", + "windows-threading 0.1.0", +] + +[[package]] +name = "windows-future" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2194dee901458cb79e1148a4e9aac2b164cc95fa431891e7b296ff0b2f1d8a6" +dependencies = [ + "windows-core 0.62.0", + "windows-link 0.2.0", + "windows-threading 0.2.0", ] [[package]] @@ -10011,6 +9993,12 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" +[[package]] +name = "windows-link" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65" + [[package]] name = "windows-numerics" version = "0.2.0" @@ -10018,7 +10006,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" dependencies = [ "windows-core 0.61.2", - "windows-link", + "windows-link 0.1.3", +] + +[[package]] +name = "windows-numerics" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ce3498fe0aba81e62e477408383196b4b0363db5e0c27646f932676283b43d8" +dependencies = [ + "windows-core 0.62.0", + "windows-link 0.2.0", ] [[package]] @@ -10027,8 +10025,8 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b8a9ed28765efc97bbc954883f4e6796c33a06546ebafacbabee9696967499e" dependencies = [ - "windows-link", - "windows-result", + "windows-link 0.1.3", + "windows-result 0.3.4", "windows-strings 0.4.2", ] @@ -10038,7 +10036,16 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" dependencies = [ - "windows-link", + "windows-link 0.1.3", +] + +[[package]] +name = "windows-result" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7084dcc306f89883455a206237404d3eaf961e5bd7e0f312f7c91f57eb44167f" +dependencies = [ + "windows-link 0.2.0", ] [[package]] @@ -10047,7 +10054,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319" dependencies = [ - "windows-link", + "windows-link 0.1.3", ] [[package]] @@ -10056,7 +10063,16 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" dependencies = [ - "windows-link", + "windows-link 0.1.3", +] + +[[package]] +name = "windows-strings" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7218c655a553b0bed4426cf54b20d7ba363ef543b52d515b3e48d7fd55318dda" +dependencies = [ + "windows-link 0.2.0", ] [[package]] @@ -10104,6 +10120,15 @@ dependencies = [ "windows-targets 0.53.3", ] +[[package]] +name = "windows-sys" +version = "0.61.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e201184e40b2ede64bc2ea34968b28e33622acdbbf37104f0e4a33f7abe657aa" +dependencies = [ + "windows-link 0.2.0", +] + [[package]] name = "windows-targets" version = "0.42.2" @@ -10156,7 +10181,7 @@ version = "0.53.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91" dependencies = [ - "windows-link", + "windows-link 0.1.3", "windows_aarch64_gnullvm 0.53.0", "windows_aarch64_msvc 0.53.0", "windows_i686_gnu 0.53.0", @@ -10173,7 +10198,16 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" dependencies = [ - "windows-link", + "windows-link 0.1.3", +] + +[[package]] +name = "windows-threading" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab47f085ad6932defa48855254c758cdd0e2f2d48e62a34118a268d8f345e118" +dependencies = [ + "windows-link 0.2.0", ] [[package]] @@ -10381,13 +10415,10 @@ dependencies = [ ] [[package]] -name = "wit-bindgen-rt" -version = "0.39.0" +name = "wit-bindgen" +version = "0.45.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" -dependencies = [ - "bitflags", -] +checksum = "5c573471f125075647d03df72e026074b7203790d41351cd6edc96f46bcccd36" [[package]] name = "writeable" @@ -10411,7 +10442,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af3a19837351dc82ba89f8a125e22a3c475f05aba604acc023d62b2739ae2909" dependencies = [ "libc", - "rustix 1.0.8", + "rustix 1.1.1", ] [[package]] @@ -10533,18 +10564,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.26" +version = "0.8.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f" +checksum = "0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.26" +version = "0.8.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" +checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" dependencies = [ "proc-macro2", "quote", @@ -10637,7 +10668,7 @@ dependencies = [ "crossbeam-utils", "displaydoc", "flate2", - "indexmap 2.11.0", + "indexmap 2.11.1", "lzma-rs", "memchr", "thiserror 2.0.16", @@ -10656,7 +10687,7 @@ dependencies = [ "arbitrary", "crc32fast", "flate2", - "indexmap 2.11.0", + "indexmap 2.11.1", "memchr", "time", "zopfli", @@ -10700,9 +10731,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.15+zstd.1.5.7" +version = "2.0.16+zstd.1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb81183ddd97d0c74cedf1d50d85c8d08c1b8b68ee863bdee9e706eedba1a237" +checksum = "91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748" dependencies = [ "cc", "pkg-config", diff --git a/Cargo.toml b/Cargo.toml index e2bd4d6b3f..34c4e83930 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -235,3 +235,21 @@ strip = "none" # or "debuginfo" to separate reqwest-middleware = { git = "https://github.com/astral-sh/reqwest-middleware", rev = "ad8b9d332d1773fde8b4cd008486de5973e0a3f8" } reqwest-retry = { git = "https://github.com/astral-sh/reqwest-middleware", rev = "ad8b9d332d1773fde8b4cd008486de5973e0a3f8" } version-ranges = { git = "https://github.com/astral-sh/pubgrub", rev = "06ec5a5f59ffaeb6cf5079c6cb184467da06c9db" } + +# pixi-rattler-patches - START +# Patch all rattler crates to a specific git branch +file_url = { git = "https://github.com/Hofer-Julian/rattler.git", branch = "feat/post-activation-env-vars" } +rattler = { git = "https://github.com/Hofer-Julian/rattler.git", branch = "feat/post-activation-env-vars" } +rattler_cache = { git = "https://github.com/Hofer-Julian/rattler.git", branch = "feat/post-activation-env-vars" } +rattler_conda_types = { git = "https://github.com/Hofer-Julian/rattler.git", branch = "feat/post-activation-env-vars" } +rattler_digest = { git = "https://github.com/Hofer-Julian/rattler.git", branch = "feat/post-activation-env-vars" } +rattler_lock = { git = "https://github.com/Hofer-Julian/rattler.git", branch = "feat/post-activation-env-vars" } +rattler_menuinst = { git = "https://github.com/Hofer-Julian/rattler.git", branch = "feat/post-activation-env-vars" } +rattler_networking = { git = "https://github.com/Hofer-Julian/rattler.git", branch = "feat/post-activation-env-vars" } +rattler_package_streaming = { git = "https://github.com/Hofer-Julian/rattler.git", branch = "feat/post-activation-env-vars" } +rattler_repodata_gateway = { git = "https://github.com/Hofer-Julian/rattler.git", branch = "feat/post-activation-env-vars" } +rattler_shell = { git = "https://github.com/Hofer-Julian/rattler.git", branch = "feat/post-activation-env-vars" } +rattler_solve = { git = "https://github.com/Hofer-Julian/rattler.git", branch = "feat/post-activation-env-vars" } +rattler_virtual_packages = { git = "https://github.com/Hofer-Julian/rattler.git", branch = "feat/post-activation-env-vars" } +simple_spawn_blocking = { git = "https://github.com/Hofer-Julian/rattler.git", branch = "feat/post-activation-env-vars" } +# pixi-rattler-patches - END From db4fc2b79516893f21c6dad22c1f6762cd6490e7 Mon Sep 17 00:00:00 2001 From: Julian Hofer Date: Wed, 10 Sep 2025 14:00:43 +0200 Subject: [PATCH 06/11] Fix clippy lint --- crates/pixi_core/src/activation.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/pixi_core/src/activation.rs b/crates/pixi_core/src/activation.rs index a029655082..6971bd9d13 100644 --- a/crates/pixi_core/src/activation.rs +++ b/crates/pixi_core/src/activation.rs @@ -96,7 +96,7 @@ impl Environment<'_> { } EnvironmentName::Default => self.workspace().display_name().to_string(), }; - let mut map = IndexMap::from_iter([ + let map = IndexMap::from_iter([ (format!("{ENV_PREFIX}NAME"), self.name().to_string()), ( format!("{ENV_PREFIX}PLATFORMS"), From 4abd54637b848a0646eb44eafecc606d9ecf1685 Mon Sep 17 00:00:00 2001 From: Julian Hofer Date: Wed, 10 Sep 2025 14:18:07 +0200 Subject: [PATCH 07/11] Fix tests --- crates/pixi_core/src/activation.rs | 143 ++++++++--------------------- 1 file changed, 37 insertions(+), 106 deletions(-) diff --git a/crates/pixi_core/src/activation.rs b/crates/pixi_core/src/activation.rs index 6971bd9d13..b79796e19c 100644 --- a/crates/pixi_core/src/activation.rs +++ b/crates/pixi_core/src/activation.rs @@ -493,8 +493,8 @@ mod tests { #[test] fn test_metadata_env() { - let multi_env_project = r#" - [project] + let multi_env_workspace = r#" + [workspace] name = "pixi" channels = ["conda-forge"] platforms = ["linux-64", "osx-64", "win-64"] @@ -507,7 +507,7 @@ mod tests { [environments] test = ["test"] "#; - let project = Workspace::from_str(Path::new("pixi.toml"), multi_env_project).unwrap(); + let project = Workspace::from_str(Path::new("pixi.toml"), multi_env_workspace).unwrap(); let default_env = project.default_environment(); let env = default_env.get_metadata_env(); @@ -518,40 +518,46 @@ mod tests { let test_env = project.environment("test").unwrap(); let env = test_env.get_metadata_env(); + let post_activation_env = test_env.activation_env(Some(Platform::current())); assert_eq!(env.get("PIXI_ENVIRONMENT_NAME").unwrap(), "test"); assert!(env.get("PIXI_PROMPT").unwrap().contains("pixi")); assert!(env.get("PIXI_PROMPT").unwrap().contains("test")); - assert!(env.get("TEST").unwrap().contains("123test123")); + assert!( + post_activation_env + .get("TEST") + .unwrap() + .contains("123test123") + ); } #[test] fn test_metadata_project_env() { - let project = r#" - [project] + let workspace = r#" + [workspace] name = "pixi" version = "0.1.0" channels = ["conda-forge"] platforms = ["linux-64", "osx-64", "win-64"] "#; - let project = Workspace::from_str(Path::new("pixi.toml"), project).unwrap(); - let env = project.get_metadata_env(); + let workspace = Workspace::from_str(Path::new("pixi.toml"), workspace).unwrap(); + let env = workspace.get_metadata_env(); assert_eq!( env.get("PIXI_PROJECT_NAME").unwrap(), - project.display_name() + workspace.display_name() ); assert_eq!( env.get("PIXI_PROJECT_ROOT").unwrap(), - project.root().to_str().unwrap() + workspace.root().to_str().unwrap() ); assert_eq!( env.get("PIXI_PROJECT_MANIFEST").unwrap(), - project.workspace.provenance.path.to_str().unwrap() + workspace.workspace.provenance.path.to_str().unwrap() ); assert_eq!( env.get("PIXI_PROJECT_VERSION").unwrap(), - &project + &workspace .workspace .value .workspace @@ -565,7 +571,7 @@ mod tests { #[test] fn test_metadata_project_env_order() { let project = r#" - [project] + [workspace] name = "pixi" channels = [""] platforms = ["linux-64", "osx-64", "win-64"] @@ -575,22 +581,20 @@ mod tests { ZZZ = "123test123" ZAB = "123test123" "#; - let project = Workspace::from_str(Path::new("pixi.toml"), project).unwrap(); - let env = get_static_environment_variables(&project.default_environment()); + let workspace = Workspace::from_str(Path::new("pixi.toml"), project).unwrap(); + let post_activation_env = workspace + .default_environment() + .activation_env(Some(Platform::current())); - // Make sure the user defined environment variables are at the end. + // Make sure the user defined environment variables are sorted by input order. assert!( - env.keys().position(|key| key == "PIXI_PROJECT_NAME") - < env.keys().position(|key| key == "ABC") + post_activation_env.keys().position(|key| key == "ABC") + < post_activation_env.keys().position(|key| key == "ZZZ") ); assert!( - env.keys().position(|key| key == "PIXI_PROJECT_NAME") - < env.keys().position(|key| key == "ZZZ") + post_activation_env.keys().position(|key| key == "ZZZ") + < post_activation_env.keys().position(|key| key == "ZAB") ); - - // Make sure the user defined environment variables are sorted by input order. - assert!(env.keys().position(|key| key == "ABC") < env.keys().position(|key| key == "ZZZ")); - assert!(env.keys().position(|key| key == "ZZZ") < env.keys().position(|key| key == "ZAB")); } #[test] @@ -613,8 +617,8 @@ mod tests { #[tokio::test] async fn test_run_activation_cache_based_on_lockfile() { let temp_dir = tempfile::tempdir().unwrap(); - let project = r#" - [project] + let workspace = r#" + [workspace] name = "pixi" channels = [] platforms = [] @@ -623,7 +627,7 @@ mod tests { TEST = "ACTIVATION123" "#; let project = - Workspace::from_str(temp_dir.path().join("pixi.toml").as_path(), project).unwrap(); + Workspace::from_str(temp_dir.path().join("pixi.toml").as_path(), workspace).unwrap(); let default_env = project.default_environment(); // Don't create cache, by not giving it a lockfile @@ -729,8 +733,8 @@ packages: #[tokio::test] async fn test_run_activation_cache_based_on_activation_env() { let temp_dir = tempfile::tempdir().unwrap(); - let project = r#" - [project] + let workspace = r#" + [workspace] name = "pixi" channels = [] platforms = [] @@ -739,7 +743,7 @@ packages: TEST = "ACTIVATION123" "#; let project = - Workspace::from_str(temp_dir.path().join("pixi.toml").as_path(), project).unwrap(); + Workspace::from_str(temp_dir.path().join("pixi.toml").as_path(), workspace).unwrap(); let default_env = project.default_environment(); let env = run_activation( &default_env, @@ -759,8 +763,8 @@ packages: tokio_fs::write(&cache_file, modified).await.unwrap(); // Check that the cache is invalidated when the activation.env changes. - let project = r#" - [project] + let workspace = r#" + [workspace] name = "pixi" channels = [] platforms = [] @@ -770,7 +774,7 @@ packages: TEST2 = "ACTIVATION1234" "#; let project = - Workspace::from_str(temp_dir.path().join("pixi.toml").as_path(), project).unwrap(); + Workspace::from_str(temp_dir.path().join("pixi.toml").as_path(), workspace).unwrap(); let default_env = project.default_environment(); let env = run_activation( &default_env, @@ -792,77 +796,4 @@ packages: "The new variable should be set" ); } - - // This test works, most of the times.., so this is a good test to run locally. - // But it is to flaky for CI unfortunately! - // #[tokio::test] - // async fn test_run_activation_based_on_existing_env(){ - // let temp_dir = tempfile::tempdir().unwrap(); - // let project = r#" - // [project] - // name = "pixi" - // channels = [] - // platforms = ["linux-64", "osx-64", "win-64", "osx-arm64"] - // - // [target.unix.activation.env] - // TEST_ENV_VAR = "${TEST_ENV_VAR}_and_some_more" - // - // [target.win.activation.env] - // TEST_ENV_VAR = "%TEST_ENV_VAR%_and_some_more" - // "#; - // let project = - // Project::from_str(temp_dir.path().join("pixi.toml").as_path(), project).unwrap(); - // let default_env = project.default_environment(); - // - // // Set the environment variable - // std::env::set_var("TEST_ENV_VAR", "test_value"); - // - // // Run the activation script - // let env = run_activation( - // &default_env, - // &CurrentEnvVarBehavior::Include, - // Some(&LockFile::default()), - // false, - // true, - // ).await.unwrap(); - // - // // Check that the environment variable is set correctly - // assert_eq!(env.get("TEST_ENV_VAR").unwrap(), "test_value_and_some_more"); - // - // // Modify the environment variable - // let cache_file = project.default_environment().activation_cache_file_path(); - // let contents = tokio_fs::read_to_string(&cache_file).await.unwrap(); - // let modified = contents.replace("test_value_and_some_more", "modified_cache"); - // tokio_fs::write(&cache_file, modified).await.unwrap(); - // - // // Run the activation script - // let env = run_activation( - // &default_env, - // &CurrentEnvVarBehavior::Include, - // Some(&LockFile::default()), - // false, - // true, - // ).await.unwrap(); - // - // // Check that the environment variable is taken from cache - // assert_eq!(env.get("TEST_ENV_VAR").unwrap(), "modified_cache"); - // - // // Reset the environment variable - // std::env::set_var("TEST_ENV_VAR", "different_test_value"); - // - // // Run the activation script - // let env = run_activation( - // &default_env, - // &CurrentEnvVarBehavior::Include, - // Some(&LockFile::default()), - // false, - // true, - // ).await.unwrap(); - // - // // Check that the environment variable reset, thus the cache was invalidated. - // assert_eq!(env.get("TEST_ENV_VAR").unwrap(), "different_test_value_and_some_more"); - // - // // Unset the environment variable - // std::env::remove_var("TEST_ENV_VAR"); - // } } From fd16eaa80fa156a247ca8f9867c384f109f44431 Mon Sep 17 00:00:00 2001 From: Julian Hofer Date: Wed, 10 Sep 2025 15:32:41 +0200 Subject: [PATCH 08/11] Remove test that doesn't make sense in that context --- tests/integration_python/test_run_cli.py | 29 ------------------------ 1 file changed, 29 deletions(-) diff --git a/tests/integration_python/test_run_cli.py b/tests/integration_python/test_run_cli.py index 2f4fc322f6..588c997489 100644 --- a/tests/integration_python/test_run_cli.py +++ b/tests/integration_python/test_run_cli.py @@ -1593,32 +1593,3 @@ def test_signal_forwarding(pixi: Path, tmp_pixi_workspace: Path) -> None: ) else: raise AssertionError("Output file was not created") - - -def test_run_environment_variable_not_be_overridden(pixi: Path, tmp_pixi_workspace: Path) -> None: - """Test environment variables should not be overridden by excluded keys.""" - manifest = tmp_pixi_workspace.joinpath("pixi.toml") - toml = """ - [workspace] - name = "my_project" - platforms = ["linux-64", "osx-64", "osx-arm64", "win-64"] - channels = [] - [activation.env] - TEST_VAR = "$PIXI_PROJECT_NAME" - PROJECT_NAME = "$(pixi workspace name get)" - [tasks] - start = "echo The project name is $PIXI_PROJECT_NAME" - test = "echo The project name is $TEST_VAR" - """ - - manifest.write_text(toml) - verify_cli_command( - [pixi, "run", "--manifest-path", manifest, "start"], - stdout_contains="my_project", - stdout_excludes="$PIXI_PROJECT_NAME", - ) - verify_cli_command( - [pixi, "run", "--manifest-path", manifest, "test"], - stdout_contains="my_project", - stdout_excludes="$(pixi workspace name get)", - ) From 223fe67251e08a530f1c8d10fa1e1fcb63a2bde8 Mon Sep 17 00:00:00 2001 From: Julian Hofer Date: Wed, 10 Sep 2025 15:32:54 +0200 Subject: [PATCH 09/11] Update lock file --- Cargo.lock | 100 +++++++++++++++++++++++++++-------------------------- 1 file changed, 51 insertions(+), 49 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 89694b02b5..bb6a1c6e92 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -267,7 +267,7 @@ dependencies = [ "futures-lite", "parking", "polling", - "rustix 1.1.1", + "rustix 1.1.2", "slab", "windows-sys 0.60.2", ] @@ -304,7 +304,7 @@ dependencies = [ "cfg-if", "event-listener", "futures-lite", - "rustix 1.1.1", + "rustix 1.1.2", ] [[package]] @@ -330,7 +330,7 @@ dependencies = [ "cfg-if", "futures-core", "futures-io", - "rustix 1.1.1", + "rustix 1.1.2", "signal-hook-registry", "slab", "windows-sys 0.60.2", @@ -1369,7 +1369,7 @@ dependencies = [ [[package]] name = "coalesced_map" version = "0.1.2" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" dependencies = [ "dashmap", "tokio", @@ -2196,7 +2196,7 @@ dependencies = [ [[package]] name = "file_url" version = "0.2.6" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" dependencies = [ "itertools 0.14.0", "percent-encoding", @@ -2312,7 +2312,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8640e34b88f7652208ce9e88b1a37a2ae95227d84abec377ccd3c5cfeb141ed4" dependencies = [ "fs-err", - "rustix 1.1.1", + "rustix 1.1.2", "tokio", "windows-sys 0.59.0", ] @@ -2484,7 +2484,7 @@ dependencies = [ "js-sys", "libc", "r-efi", - "wasi 0.14.4+wasi-0.2.4", + "wasi 0.14.5+wasi-0.2.4", "wasm-bindgen", ] @@ -3783,12 +3783,6 @@ version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" -[[package]] -name = "linux-raw-sys" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" - [[package]] name = "linux-raw-sys" version = "0.11.0" @@ -4482,7 +4476,7 @@ checksum = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42" [[package]] name = "path_resolver" version = "0.2.0" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" dependencies = [ "fs-err", "fxhash", @@ -5531,7 +5525,7 @@ dependencies = [ "concurrent-queue", "hermit-abi", "pin-project-lite", - "rustix 1.1.1", + "rustix 1.1.2", "windows-sys 0.60.2", ] @@ -5986,7 +5980,7 @@ dependencies = [ [[package]] name = "rattler" version = "0.37.2" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" dependencies = [ "anyhow", "clap", @@ -6030,7 +6024,7 @@ dependencies = [ [[package]] name = "rattler_cache" version = "0.3.34" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" dependencies = [ "anyhow", "dashmap", @@ -6062,7 +6056,7 @@ dependencies = [ [[package]] name = "rattler_conda_types" version = "0.39.2" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" dependencies = [ "chrono", "core-foundation 0.10.1", @@ -6102,7 +6096,7 @@ dependencies = [ [[package]] name = "rattler_digest" version = "1.1.5" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" dependencies = [ "blake2", "digest", @@ -6119,7 +6113,7 @@ dependencies = [ [[package]] name = "rattler_lock" version = "0.24.1" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" dependencies = [ "chrono", "file_url", @@ -6144,7 +6138,7 @@ dependencies = [ [[package]] name = "rattler_macros" version = "1.0.11" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" dependencies = [ "quote", "syn", @@ -6153,7 +6147,7 @@ dependencies = [ [[package]] name = "rattler_menuinst" version = "0.2.25" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" dependencies = [ "chrono", "configparser", @@ -6182,7 +6176,7 @@ dependencies = [ [[package]] name = "rattler_networking" version = "0.25.13" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" dependencies = [ "anyhow", "async-once-cell", @@ -6212,7 +6206,7 @@ dependencies = [ [[package]] name = "rattler_package_streaming" version = "0.23.4" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" dependencies = [ "bzip2 0.6.0", "chrono", @@ -6241,7 +6235,7 @@ dependencies = [ [[package]] name = "rattler_pty" version = "0.2.6" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" dependencies = [ "libc", "nix 0.30.1", @@ -6251,7 +6245,7 @@ dependencies = [ [[package]] name = "rattler_redaction" version = "0.1.12" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" dependencies = [ "reqwest", "reqwest-middleware", @@ -6261,7 +6255,7 @@ dependencies = [ [[package]] name = "rattler_repodata_gateway" version = "0.24.4" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" dependencies = [ "anyhow", "async-compression", @@ -6320,7 +6314,7 @@ dependencies = [ [[package]] name = "rattler_shell" version = "0.24.11" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" dependencies = [ "anyhow", "enum_dispatch", @@ -6340,7 +6334,7 @@ dependencies = [ [[package]] name = "rattler_solve" version = "3.0.3" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" dependencies = [ "chrono", "futures", @@ -6357,7 +6351,7 @@ dependencies = [ [[package]] name = "rattler_virtual_packages" version = "2.1.5" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" dependencies = [ "archspec", "libloading", @@ -6440,7 +6434,7 @@ checksum = "23bbed272e39c47a095a5242218a67412a220006842558b03fe2935e8f3d7b92" dependencies = [ "cfg-if", "libc", - "rustix 1.1.1", + "rustix 1.1.2", "windows 0.62.0", ] @@ -6781,15 +6775,14 @@ dependencies = [ [[package]] name = "rustix" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9621e389a110cae094269936383d69b869492f03e5c1ed2d575a53c029d4441d" +checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" dependencies = [ "bitflags", "errno", "libc", "linux-raw-sys 0.11.0", - "linux-raw-sys 0.9.4", "windows-sys 0.61.0", ] @@ -7446,7 +7439,7 @@ checksum = "bbbb5d9659141646ae647b42fe094daf6c6192d1620870b449d9557f748b2daa" [[package]] name = "simple_spawn_blocking" version = "1.1.0" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#c65dfac1163fbf6d737f249b06d6b36ce05516a3" +source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" dependencies = [ "tokio", ] @@ -7765,9 +7758,9 @@ dependencies = [ [[package]] name = "target-lexicon" -version = "0.13.2" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a" +checksum = "df7f62577c25e07834649fc3b39fafdc597c0a3527dc1c60129201ccfcbaa50c" [[package]] name = "temp-env" @@ -7781,15 +7774,15 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.21.0" +version = "3.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15b61f8f20e3a6f7e0649d825294eaf317edce30f82cf6026e7e4cb9222a7d1e" +checksum = "84fa4d11fadde498443cca10fd3ac23c951f0dc59e080e9f4b93d4df4e4eea53" dependencies = [ "fastrand", "getrandom 0.3.3", "once_cell", - "rustix 1.1.1", - "windows-sys 0.60.2", + "rustix 1.1.2", + "windows-sys 0.61.0", ] [[package]] @@ -7798,7 +7791,7 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60b8cb979cb11c32ce1603f8137b22262a9d131aaa5c37b5678025f22b8becd0" dependencies = [ - "rustix 1.1.1", + "rustix 1.1.2", "windows-sys 0.60.2", ] @@ -8353,9 +8346,9 @@ checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" [[package]] name = "unicode-ident" -version = "1.0.18" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" +checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d" [[package]] name = "unicode-linebreak" @@ -8890,7 +8883,7 @@ dependencies = [ "junction", "path-slash", "percent-encoding", - "rustix 1.1.1", + "rustix 1.1.2", "same-file", "schemars 1.0.4", "serde", @@ -9619,9 +9612,18 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasi" -version = "0.14.4+wasi-0.2.4" +version = "0.14.5+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4494f6290a82f5fe584817a676a34b9d6763e8d9d18204009fb31dceca98fd4" +dependencies = [ + "wasip2", +] + +[[package]] +name = "wasip2" +version = "1.0.0+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88a5f4a424faf49c3c2c344f166f0662341d470ea185e939657aaff130f0ec4a" +checksum = "03fa2761397e5bd52002cd7e73110c71af2109aca4e521a9f40473fe685b0a24" dependencies = [ "wit-bindgen", ] @@ -9795,7 +9797,7 @@ checksum = "d3fabb953106c3c8eea8306e4393700d7657561cb43122571b172bbfb7c7ba1d" dependencies = [ "env_home", "regex", - "rustix 1.1.1", + "rustix 1.1.2", "winsafe", ] @@ -10442,7 +10444,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af3a19837351dc82ba89f8a125e22a3c475f05aba604acc023d62b2739ae2909" dependencies = [ "libc", - "rustix 1.1.1", + "rustix 1.1.2", ] [[package]] From faacab168a060199c02de8c95c3223d29e7b9788 Mon Sep 17 00:00:00 2001 From: Julian Hofer Date: Wed, 10 Sep 2025 15:53:35 +0200 Subject: [PATCH 10/11] Add test for `pixi shell` --- tests/integration_python/test_shell.py | 68 +++++++++++++++++++++++++- 1 file changed, 67 insertions(+), 1 deletion(-) diff --git a/tests/integration_python/test_shell.py b/tests/integration_python/test_shell.py index 68199e1796..da45eb1992 100644 --- a/tests/integration_python/test_shell.py +++ b/tests/integration_python/test_shell.py @@ -1,7 +1,8 @@ from pathlib import Path +import json import platform -from .common import ExitCode, verify_cli_command +from .common import ALL_PLATFORMS, ExitCode, verify_cli_command def test_shell_hook_completions( @@ -66,3 +67,68 @@ def test_shell_hook_completions( [pixi, "shell-hook", "--manifest-path", tmp_pixi_workspace, "--shell", "fish"], stdout_contains=["for file in", "source", "share/fish/vendor_completions.d"], ) + + +def test_shell_activation_order(pixi: Path, tmp_pixi_workspace: Path) -> None: + """Validate that pixi shell env evaluation order matches the new rules. + + Expectations: + - Pre-activation metadata env vars are visible to activation scripts. + - Post-activation env (activation.env) overrides values set by scripts. + """ + is_windows = platform.system() == "Windows" + + # Create activation script that sets an override and uses metadata vars + scripts_dir = tmp_pixi_workspace.joinpath("scripts") + scripts_dir.mkdir(parents=True, exist_ok=True) + if is_windows: + script_name = "activate.bat" + script_content = ( + "@echo off\n" + "set VAR_OVERRIDE=from_script\n" + "set FROM_SCRIPT=%PIXI_PROJECT_NAME%:%CONDA_DEFAULT_ENV%\n" + ) + target_activation = "[feature.f.target.win-64.activation]" + else: + script_name = "activate.sh" + script_content = ( + "#!/usr/bin/env bash\n" + "export VAR_OVERRIDE=from_script\n" + 'export FROM_SCRIPT="$PIXI_PROJECT_NAME:$CONDA_DEFAULT_ENV"\n' + ) + target_activation = "[feature.f.target.unix.activation]" + + (scripts_dir / script_name).write_text(script_content) + + # Minimal manifest: add post-activation env override and point to the script + manifest = tmp_pixi_workspace.joinpath("pixi.toml") + toml = f""" + [workspace] + name = "order-test" + channels = [] + platforms = {ALL_PLATFORMS} + + [feature.f.activation] + env.VAR_OVERRIDE = "from_activation_env" + + {target_activation} + scripts = ["scripts/{script_name}"] + + [environments] + default = ["f"] + """ + manifest.write_text(toml) + + # Ask pixi to compute the environment for shell activation via shell-hook --json + out = verify_cli_command( + [pixi, "shell-hook", "--manifest-path", manifest, "--json"], + expected_exit_code=ExitCode.SUCCESS, + ) + + data = json.loads(out.stdout) + env = data["environment_variables"] + + # activation.env overrides activation script value + assert env.get("VAR_OVERRIDE") == "from_activation_env" + # activation script can see pre-activation metadata variables + assert env.get("FROM_SCRIPT") == "order-test:order-test" From e3a09eb2543e79dc2f692ed64332dcf8d2d8efe6 Mon Sep 17 00:00:00 2001 From: Julian Hofer Date: Fri, 12 Sep 2025 14:19:41 +0200 Subject: [PATCH 11/11] Update to latest rattler --- Cargo.lock | 81 ++++++++++++++++++++++++++++++------------------------ Cargo.toml | 36 ++++++------------------ 2 files changed, 54 insertions(+), 63 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bb6a1c6e92..35b28329d6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1366,15 +1366,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "coalesced_map" -version = "0.1.2" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" -dependencies = [ - "dashmap", - "tokio", -] - [[package]] name = "colorchoice" version = "1.0.4" @@ -2196,7 +2187,8 @@ dependencies = [ [[package]] name = "file_url" version = "0.2.6" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "765662dc0b26e038099a5a1529f5d48443111eea45377c312be892997651710e" dependencies = [ "itertools 0.14.0", "percent-encoding", @@ -3116,7 +3108,7 @@ dependencies = [ "js-sys", "log", "wasm-bindgen", - "windows-core 0.61.2", + "windows-core 0.59.0", ] [[package]] @@ -4476,7 +4468,8 @@ checksum = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42" [[package]] name = "path_resolver" version = "0.2.0" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "493dd224adc6163e40a1e58cefbeec27dabb69696017677406417b3516c800fa" dependencies = [ "fs-err", "fxhash", @@ -4869,7 +4862,7 @@ dependencies = [ "async-fd-lock", "base64 0.22.1", "chrono", - "coalesced_map 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "coalesced_map", "derive_more", "dirs", "dunce", @@ -5676,7 +5669,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" dependencies = [ "anyhow", - "itertools 0.14.0", + "itertools 0.11.0", "proc-macro2", "quote", "syn", @@ -5979,8 +5972,9 @@ dependencies = [ [[package]] name = "rattler" -version = "0.37.2" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" +version = "0.37.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bde5385d34e38d403d24d141cff078d96f02acfe9880a52cf8a7ee651925ad3" dependencies = [ "anyhow", "clap", @@ -6024,7 +6018,8 @@ dependencies = [ [[package]] name = "rattler_cache" version = "0.3.34" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a90d8113aad3c8bff55c59f37dc292ebed419fdd09242036c4d5be30fdccc9b" dependencies = [ "anyhow", "dashmap", @@ -6056,7 +6051,8 @@ dependencies = [ [[package]] name = "rattler_conda_types" version = "0.39.2" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f16f93c23cb051636dbe215be32da964969c4d8d416d6b5d4a50574f70ceb3b" dependencies = [ "chrono", "core-foundation 0.10.1", @@ -6096,7 +6092,8 @@ dependencies = [ [[package]] name = "rattler_digest" version = "1.1.5" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40b746768824bc3306dcb597e549e836eda023dab8d7407d32b9f342c70cc5d" dependencies = [ "blake2", "digest", @@ -6113,7 +6110,8 @@ dependencies = [ [[package]] name = "rattler_lock" version = "0.24.1" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b480fb1b37b095f8541ae86e3d18aa27aff8d4229bb3f3dcd9b90304e917199" dependencies = [ "chrono", "file_url", @@ -6138,7 +6136,8 @@ dependencies = [ [[package]] name = "rattler_macros" version = "1.0.11" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "988d5d7ace4fb1d7549008236cf08de95e8ea2f1f80754109324a08c31e6dc6a" dependencies = [ "quote", "syn", @@ -6146,8 +6145,9 @@ dependencies = [ [[package]] name = "rattler_menuinst" -version = "0.2.25" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" +version = "0.2.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5103aaeb791fdf9e1ac62b7573bb0fd165f21fe66bb46224c3a46b8078e70b66" dependencies = [ "chrono", "configparser", @@ -6176,7 +6176,8 @@ dependencies = [ [[package]] name = "rattler_networking" version = "0.25.13" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd5e48e1ecc33f1b73f9a6fc1a7755a298340fcaf5250034e5ee86388479d3ce" dependencies = [ "anyhow", "async-once-cell", @@ -6206,7 +6207,8 @@ dependencies = [ [[package]] name = "rattler_package_streaming" version = "0.23.4" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93a1867b2b10cc5a204e479dee7a02f29794db31a05e2cdff40bfd9652cbd54c" dependencies = [ "bzip2 0.6.0", "chrono", @@ -6235,7 +6237,8 @@ dependencies = [ [[package]] name = "rattler_pty" version = "0.2.6" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76a7edbf8f23a099ccb32cc4f024886e35a873c462ca83f86c286556c275bf06" dependencies = [ "libc", "nix 0.30.1", @@ -6245,7 +6248,8 @@ dependencies = [ [[package]] name = "rattler_redaction" version = "0.1.12" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3aa5057629aeb20861919e9ae56875985d58028f3c6f433a20b5ded086e1cec5" dependencies = [ "reqwest", "reqwest-middleware", @@ -6255,7 +6259,8 @@ dependencies = [ [[package]] name = "rattler_repodata_gateway" version = "0.24.4" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e05b845113ad91bc24d7023b201ff1f1b6600bc68ad723dc4495e2dd766c3c36" dependencies = [ "anyhow", "async-compression", @@ -6266,7 +6271,7 @@ dependencies = [ "cache_control", "cfg-if", "chrono", - "coalesced_map 0.1.2 (git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars)", + "coalesced_map", "dashmap", "dirs", "file_url", @@ -6313,8 +6318,9 @@ dependencies = [ [[package]] name = "rattler_shell" -version = "0.24.11" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3719c5f7eae3f4abd56ec6be280eecd50bdfd81670fde2fb3685911882e5e1f" dependencies = [ "anyhow", "enum_dispatch", @@ -6334,7 +6340,8 @@ dependencies = [ [[package]] name = "rattler_solve" version = "3.0.3" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23c63a7fb3e15b1885b6969fe36ec6d41989c007a69944b38f8da3af2cda37bf" dependencies = [ "chrono", "futures", @@ -6351,7 +6358,8 @@ dependencies = [ [[package]] name = "rattler_virtual_packages" version = "2.1.5" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "431de037688708d9c65b5442e7b994ce63d63c9daf96bc78bb5ae43f908fe05b" dependencies = [ "archspec", "libloading", @@ -7439,7 +7447,8 @@ checksum = "bbbb5d9659141646ae647b42fe094daf6c6192d1620870b449d9557f748b2daa" [[package]] name = "simple_spawn_blocking" version = "1.1.0" -source = "git+https://github.com/Hofer-Julian/rattler.git?branch=feat%2Fpost-activation-env-vars#4e1142e3e77a8564f50c18e2488402262fa9efc5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55c0b0b683828aa9d4f5c0e59b0c856a12c30a65b5f1ca4292664734d76fa9c2" dependencies = [ "tokio", ] @@ -7706,7 +7715,7 @@ dependencies = [ "ntapi", "objc2-core-foundation", "objc2-io-kit", - "windows 0.61.3", + "windows 0.59.0", ] [[package]] @@ -9823,7 +9832,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.61.0", + "windows-sys 0.48.0", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 34c4e83930..40d989b9ae 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -129,23 +129,23 @@ which = "8.0.0" # Rattler crates coalesced_map = "0.1.1" file_url = "0.2.6" -rattler = { version = "0.37.0", default-features = false } -rattler_cache = { version = "0.3.32", default-features = false } -rattler_conda_types = { version = "0.39.1", default-features = false, features = [ +rattler = { version = "0.37.3", default-features = false } +rattler_cache = { version = "0.3.34", default-features = false } +rattler_conda_types = { version = "0.39.2", default-features = false, features = [ "rayon", ] } rattler_digest = { version = "1.1.5", default-features = false } -rattler_lock = { version = "0.24.0", default-features = false } +rattler_lock = { version = "0.24.1", default-features = false } rattler_menuinst = { version = "0.2.23", default-features = false } -rattler_networking = { version = "0.25.11", default-features = false, features = [ +rattler_networking = { version = "0.25.13", default-features = false, features = [ "google-cloud-auth", "dirs", ] } rattler_package_streaming = { version = "0.23.0", default-features = false } -rattler_repodata_gateway = { version = "0.24.2", default-features = false } -rattler_shell = { version = "0.24.10", default-features = false } -rattler_solve = { version = "3.0.2", default-features = false } -rattler_virtual_packages = { version = "2.1.4", default-features = false } +rattler_repodata_gateway = { version = "0.24.4", default-features = false } +rattler_shell = { version = "0.25.0", default-features = false } +rattler_solve = { version = "3.0.3", default-features = false } +rattler_virtual_packages = { version = "2.1.5", default-features = false } simple_spawn_blocking = { version = "1.1.0", default-features = false } # Bumping this to a higher version breaks the Windows path handling. @@ -235,21 +235,3 @@ strip = "none" # or "debuginfo" to separate reqwest-middleware = { git = "https://github.com/astral-sh/reqwest-middleware", rev = "ad8b9d332d1773fde8b4cd008486de5973e0a3f8" } reqwest-retry = { git = "https://github.com/astral-sh/reqwest-middleware", rev = "ad8b9d332d1773fde8b4cd008486de5973e0a3f8" } version-ranges = { git = "https://github.com/astral-sh/pubgrub", rev = "06ec5a5f59ffaeb6cf5079c6cb184467da06c9db" } - -# pixi-rattler-patches - START -# Patch all rattler crates to a specific git branch -file_url = { git = "https://github.com/Hofer-Julian/rattler.git", branch = "feat/post-activation-env-vars" } -rattler = { git = "https://github.com/Hofer-Julian/rattler.git", branch = "feat/post-activation-env-vars" } -rattler_cache = { git = "https://github.com/Hofer-Julian/rattler.git", branch = "feat/post-activation-env-vars" } -rattler_conda_types = { git = "https://github.com/Hofer-Julian/rattler.git", branch = "feat/post-activation-env-vars" } -rattler_digest = { git = "https://github.com/Hofer-Julian/rattler.git", branch = "feat/post-activation-env-vars" } -rattler_lock = { git = "https://github.com/Hofer-Julian/rattler.git", branch = "feat/post-activation-env-vars" } -rattler_menuinst = { git = "https://github.com/Hofer-Julian/rattler.git", branch = "feat/post-activation-env-vars" } -rattler_networking = { git = "https://github.com/Hofer-Julian/rattler.git", branch = "feat/post-activation-env-vars" } -rattler_package_streaming = { git = "https://github.com/Hofer-Julian/rattler.git", branch = "feat/post-activation-env-vars" } -rattler_repodata_gateway = { git = "https://github.com/Hofer-Julian/rattler.git", branch = "feat/post-activation-env-vars" } -rattler_shell = { git = "https://github.com/Hofer-Julian/rattler.git", branch = "feat/post-activation-env-vars" } -rattler_solve = { git = "https://github.com/Hofer-Julian/rattler.git", branch = "feat/post-activation-env-vars" } -rattler_virtual_packages = { git = "https://github.com/Hofer-Julian/rattler.git", branch = "feat/post-activation-env-vars" } -simple_spawn_blocking = { git = "https://github.com/Hofer-Julian/rattler.git", branch = "feat/post-activation-env-vars" } -# pixi-rattler-patches - END