mirror of
https://github.com/NixOS/nix
synced 2025-06-25 06:31:14 +02:00
EvalState::realiseContext(): Allow access to the entire closure
Fixes #11030.
This commit is contained in:
parent
18770c7e18
commit
08361f031d
5 changed files with 44 additions and 10 deletions
|
@ -1,4 +1,4 @@
|
|||
with import ./config.nix;
|
||||
with import <config>;
|
||||
|
||||
rec {
|
||||
bar = mkDerivation {
|
||||
|
@ -30,4 +30,23 @@ rec {
|
|||
echo -n BLA$(cat $src) > $out
|
||||
'';
|
||||
};
|
||||
|
||||
step1 = mkDerivation {
|
||||
name = "step1";
|
||||
buildCommand = ''
|
||||
mkdir -p $out
|
||||
echo 'foo' > $out/bla
|
||||
'';
|
||||
};
|
||||
|
||||
addPathExpr = mkDerivation {
|
||||
name = "add-path";
|
||||
inherit step1;
|
||||
buildCommand = ''
|
||||
mkdir -p $out
|
||||
echo "builtins.path { path = \"$step1\"; sha256 = \"7ptL+pnrZXnSa5hwwB+2SXTLkcSb5264WGGokN8OXto=\"; }" > $out/default.nix
|
||||
'';
|
||||
};
|
||||
|
||||
importAddPathExpr = import addPathExpr;
|
||||
}
|
||||
|
|
|
@ -6,6 +6,8 @@ TODO_NixOS
|
|||
|
||||
clearStoreIfPossible
|
||||
|
||||
export NIX_PATH=config="${config_nix}"
|
||||
|
||||
if nix-instantiate --readonly-mode ./import-from-derivation.nix -A result; then
|
||||
echo "read-only evaluation of an imported derivation unexpectedly failed"
|
||||
exit 1
|
||||
|
@ -15,6 +17,9 @@ outPath=$(nix-build ./import-from-derivation.nix -A result --no-out-link)
|
|||
|
||||
[ "$(cat "$outPath")" = FOO579 ]
|
||||
|
||||
# Check that we can have access to the entire closure of a derivation output.
|
||||
nix build --no-link --restrict-eval -I src=. -f ./import-from-derivation.nix importAddPathExpr -v
|
||||
|
||||
# FIXME: the next tests are broken on CA.
|
||||
if [[ -n "${NIX_TESTS_CA_BY_DEFAULT:-}" ]]; then
|
||||
exit 0
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue