mirror of
https://github.com/NixOS/nix
synced 2025-06-29 19:03:16 +02:00
Fix dirOf on the root of a flake
This commit is contained in:
parent
4072024d79
commit
64a69b4054
3 changed files with 6 additions and 1 deletions
|
@ -1521,7 +1521,7 @@ static void prim_dirOf(EvalState & state, const PosIdx pos, Value * * args, Valu
|
||||||
state.forceValue(*args[0], pos);
|
state.forceValue(*args[0], pos);
|
||||||
if (args[0]->type() == nPath) {
|
if (args[0]->type() == nPath) {
|
||||||
auto path = args[0]->path();
|
auto path = args[0]->path();
|
||||||
v.mkPath(path.parent());
|
v.mkPath(path.path.isRoot() ? path : path.parent());
|
||||||
} else {
|
} else {
|
||||||
auto path = state.coerceToString(pos, *args[0], context, false, false);
|
auto path = state.coerceToString(pos, *args[0], context, false, false);
|
||||||
auto dir = dirOf(*path);
|
auto dir = dirOf(*path);
|
||||||
|
|
|
@ -23,6 +23,8 @@ writeSimpleFlake() {
|
||||||
|
|
||||||
# To test "nix flake init".
|
# To test "nix flake init".
|
||||||
legacyPackages.x86_64-linux.hello = import ./simple.nix;
|
legacyPackages.x86_64-linux.hello = import ./simple.nix;
|
||||||
|
|
||||||
|
parent = builtins.dirOf ./.;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
|
|
@ -121,6 +121,9 @@ nix build -o $TEST_ROOT/result --expr "(builtins.getFlake \"$flake1Dir\").packag
|
||||||
# 'getFlake' on a locked flakeref should succeed even in pure mode.
|
# 'getFlake' on a locked flakeref should succeed even in pure mode.
|
||||||
nix build -o $TEST_ROOT/result --expr "(builtins.getFlake \"git+file://$flake1Dir?rev=$hash2\").packages.$system.default"
|
nix build -o $TEST_ROOT/result --expr "(builtins.getFlake \"git+file://$flake1Dir?rev=$hash2\").packages.$system.default"
|
||||||
|
|
||||||
|
# Regression test for dirOf on the root of the flake.
|
||||||
|
[[ $(nix eval --json flake1#parent) = '"/"' ]]
|
||||||
|
|
||||||
# Building a flake with an unlocked dependency should fail in pure mode.
|
# Building a flake with an unlocked dependency should fail in pure mode.
|
||||||
(! nix build -o $TEST_ROOT/result flake2#bar --no-registries)
|
(! nix build -o $TEST_ROOT/result flake2#bar --no-registries)
|
||||||
(! nix build -o $TEST_ROOT/result flake2#bar --no-use-registries)
|
(! nix build -o $TEST_ROOT/result flake2#bar --no-use-registries)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue