-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Closed as not planned
Labels
Description
Describe the bug
Nix 2.19.8:
$ nix eval https://flakehub.com/f/DeterminateSystems/nix/2.26.1 --raw --system x86_64-linux --apply '(x: x.drvPath)'
/nix/store/v7v8pli2n4biwwgbh9csc5jlk6f3b4kx-nix-2.26.1.drv
Nix 2.27:
$ nix eval https://flakehub.com/f/DeterminateSystems/nix/2.26.1 --raw --system x86_64-linux --apply '(x: x.drvPath)'
/nix/store/rv615sv2w4wad00cms2x7562krinz1ah-nix-2.26.1.drv
However 2.19.8 produces the same result as 2.27 when using --impure:
$ nix eval https://flakehub.com/f/DeterminateSystems/nix/2.26.1 --raw --system x86_64-linux --apply '(x: x.drvPath)' --impure
/nix/store/rv615sv2w4wad00cms2x7562krinz1ah-nix-2.26.1.drv
This issue is triggered by this line:
nix-functional-tests = callPackage ../src/nix-functional-tests/package.nix {
where ../src/nix-functional-tests is a symlink to tests/functional. The latter has
workDir = ./.;
which via
sourceRoot = "${src.name}/" + workDirSubpath;
ends up in the derivation as source/./tests/functional (2.19) or source/./src/nix-functional-tests (2.27).
The root cause is that in Nix <= 2.19, we had a function checkSourcePath() that resolved symlinks depending on whether pure mode was enabled. This was removed in ea95327.
Steps To Reproduce
Expected behavior
Metadata
Additional context
Checklist
- checked latest Nix manual (source)
- checked open bug issues and pull requests for possible duplicates
Add 👍 to issues you find important.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
No status