forked from lix-project/lix
Merge pull request #5476 from NixOS/ca/fix-build-in-nix-repl
Fix `nix repl`’s building of CA derivations
This commit is contained in:
commit
3d6ee223d6
|
@ -504,8 +504,8 @@ bool NixRepl::processLine(string line)
|
||||||
state->store->buildPaths({DerivedPath::Built{drvPath}});
|
state->store->buildPaths({DerivedPath::Built{drvPath}});
|
||||||
auto drv = state->store->readDerivation(drvPath);
|
auto drv = state->store->readDerivation(drvPath);
|
||||||
logger->cout("\nThis derivation produced the following outputs:");
|
logger->cout("\nThis derivation produced the following outputs:");
|
||||||
for (auto & i : drv.outputsAndOptPaths(*state->store))
|
for (auto & [outputName, outputPath] : state->store->queryDerivationOutputMap(drvPath))
|
||||||
logger->cout(" %s -> %s", i.first, state->store->printStorePath(*i.second.second));
|
logger->cout(" %s -> %s", outputName, state->store->printStorePath(outputPath));
|
||||||
} else if (command == ":i") {
|
} else if (command == ":i") {
|
||||||
runNix("nix-env", {"-i", drvPathRaw});
|
runNix("nix-env", {"-i", drvPathRaw});
|
||||||
} else {
|
} else {
|
||||||
|
|
5
tests/ca/repl.sh
Normal file
5
tests/ca/repl.sh
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
source common.sh
|
||||||
|
|
||||||
|
export NIX_TESTS_CA_BY_DEFAULT=1
|
||||||
|
|
||||||
|
cd .. && source repl.sh
|
|
@ -48,7 +48,7 @@ nix_tests = \
|
||||||
flakes.sh \
|
flakes.sh \
|
||||||
build.sh \
|
build.sh \
|
||||||
compute-levels.sh \
|
compute-levels.sh \
|
||||||
repl.sh \
|
repl.sh ca/repl.sh \
|
||||||
ca/build.sh \
|
ca/build.sh \
|
||||||
ca/build-with-garbage-path.sh \
|
ca/build-with-garbage-path.sh \
|
||||||
ca/duplicate-realisation-in-closure.sh \
|
ca/duplicate-realisation-in-closure.sh \
|
||||||
|
|
|
@ -7,7 +7,9 @@ simple = import ./simple.nix
|
||||||
|
|
||||||
testRepl () {
|
testRepl () {
|
||||||
local nixArgs=("$@")
|
local nixArgs=("$@")
|
||||||
local outPath=$(nix repl "${nixArgs[@]}" <<< "$replCmds" |&
|
local replOutput="$(nix repl "${nixArgs[@]}" <<< "$replCmds")"
|
||||||
|
echo "$replOutput"
|
||||||
|
local outPath=$(echo "$replOutput" |&
|
||||||
grep -o -E "$NIX_STORE_DIR/\w*-simple")
|
grep -o -E "$NIX_STORE_DIR/\w*-simple")
|
||||||
nix path-info "${nixArgs[@]}" "$outPath"
|
nix path-info "${nixArgs[@]}" "$outPath"
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue