1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-07-07 18:31:49 +02:00

nix flake archive: Recurse into relative path inputs

We can't ignore them entirely, since we do want to archive their
transitive inputs.

Fixes #12438.
This commit is contained in:
Eelco Dolstra 2025-02-24 17:46:43 +01:00
parent d433a2242e
commit 14c9755462
3 changed files with 34 additions and 16 deletions

View file

@ -45,7 +45,7 @@ EOF
[[ $(nix eval "$rootFlake?dir=sub1#y") = 6 ]]
git init "$rootFlake"
initGitRepo "$rootFlake"
git -C "$rootFlake" add flake.nix sub0/flake.nix sub1/flake.nix
[[ $(nix eval "$subflake1#y") = 6 ]]
@ -77,7 +77,17 @@ fi
(! grep narHash "$subflake2/flake.lock")
# Test `nix flake archive` with relative path flakes.
nix flake archive --json "$rootFlake"
git -C "$rootFlake" add flake.lock
git -C "$rootFlake" commit -a -m Foo
json=$(nix flake archive --json "$rootFlake" --to "$TEST_ROOT/store2")
[[ $(echo "$json" | jq .inputs.sub0.inputs) = {} ]]
[[ -n $(echo "$json" | jq .path) ]]
nix flake prefetch --out-link "$TEST_ROOT/result" "$rootFlake"
outPath=$(readlink "$TEST_ROOT/result")
[ -e "$TEST_ROOT/store2/nix/store/$(basename "$outPath")" ]
# Test circular relative path flakes. FIXME: doesn't work at the moment.
if false; then