mirror of
https://github.com/NixOS/nix.git
synced 2025-11-13 14:02:42 +01:00
Merge pull request #13952 from NixOS/mergify/bp/2.31-maintenance/pr-13939
Pass `dir` in extraAttrs when overriding the registry (backport #13939)
This commit is contained in:
commit
489fad878b
2 changed files with 24 additions and 5 deletions
|
|
@ -178,10 +178,16 @@ MixFlakeOptions::MixFlakeOptions()
|
||||||
for (auto & [inputName, input] : flake.lockFile.root->inputs) {
|
for (auto & [inputName, input] : flake.lockFile.root->inputs) {
|
||||||
auto input2 = flake.lockFile.findInput({inputName}); // resolve 'follows' nodes
|
auto input2 = flake.lockFile.findInput({inputName}); // resolve 'follows' nodes
|
||||||
if (auto input3 = std::dynamic_pointer_cast<const flake::LockedNode>(input2)) {
|
if (auto input3 = std::dynamic_pointer_cast<const flake::LockedNode>(input2)) {
|
||||||
|
fetchers::Attrs extraAttrs;
|
||||||
|
|
||||||
|
if (!input3->lockedRef.subdir.empty()) {
|
||||||
|
extraAttrs["dir"] = input3->lockedRef.subdir;
|
||||||
|
}
|
||||||
|
|
||||||
overrideRegistry(
|
overrideRegistry(
|
||||||
fetchers::Input::fromAttrs(fetchSettings, {{"type", "indirect"}, {"id", inputName}}),
|
fetchers::Input::fromAttrs(fetchSettings, {{"type", "indirect"}, {"id", inputName}}),
|
||||||
input3->lockedRef.input,
|
input3->lockedRef.input,
|
||||||
{});
|
extraAttrs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}},
|
}},
|
||||||
|
|
|
||||||
|
|
@ -472,12 +472,12 @@ EOF
|
||||||
[[ "$(nix flake metadata --json "$flake3Dir" | jq -r .locks.nodes.flake1.locked.rev)" = $prevFlake1Rev ]]
|
[[ "$(nix flake metadata --json "$flake3Dir" | jq -r .locks.nodes.flake1.locked.rev)" = $prevFlake1Rev ]]
|
||||||
|
|
||||||
baseDir=$TEST_ROOT/$RANDOM
|
baseDir=$TEST_ROOT/$RANDOM
|
||||||
subdirFlakeDir=$baseDir/foo
|
subdirFlakeDir1=$baseDir/foo1
|
||||||
mkdir -p "$subdirFlakeDir"
|
mkdir -p "$subdirFlakeDir1"
|
||||||
|
|
||||||
writeSimpleFlake "$baseDir"
|
writeSimpleFlake "$baseDir"
|
||||||
|
|
||||||
cat > "$subdirFlakeDir"/flake.nix <<EOF
|
cat > "$subdirFlakeDir1"/flake.nix <<EOF
|
||||||
{
|
{
|
||||||
outputs = inputs: {
|
outputs = inputs: {
|
||||||
shouldBeOne = 1;
|
shouldBeOne = 1;
|
||||||
|
|
@ -485,5 +485,18 @@ cat > "$subdirFlakeDir"/flake.nix <<EOF
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
nix registry add --registry "$registry" flake2 "path:$baseDir?dir=foo"
|
nix registry add --registry "$registry" flake2 "path:$baseDir?dir=foo1"
|
||||||
[[ "$(nix eval --flake-registry "$registry" flake2#shouldBeOne)" = 1 ]]
|
[[ "$(nix eval --flake-registry "$registry" flake2#shouldBeOne)" = 1 ]]
|
||||||
|
|
||||||
|
subdirFlakeDir2=$baseDir/foo2
|
||||||
|
mkdir -p "$subdirFlakeDir2"
|
||||||
|
cat > "$subdirFlakeDir2"/flake.nix <<EOF
|
||||||
|
{
|
||||||
|
inputs.foo1.url = "path:$baseDir?dir=foo1";
|
||||||
|
|
||||||
|
outputs = inputs: { };
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Regression test for https://github.com/NixOS/nix/issues/13918
|
||||||
|
[[ "$(nix eval --inputs-from "$subdirFlakeDir2" foo1#shouldBeOne)" = 1 ]]
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue