Prefix env vars for attrs.* files with NIX_
This commit is contained in:
parent
a92245b110
commit
27ce722638
|
@ -1092,10 +1092,10 @@ void LocalDerivationGoal::writeStructuredAttrs()
|
||||||
|
|
||||||
writeFile(tmpDir + "/.attrs.sh", rewriteStrings(jsonSh, inputRewrites));
|
writeFile(tmpDir + "/.attrs.sh", rewriteStrings(jsonSh, inputRewrites));
|
||||||
chownToBuilder(tmpDir + "/.attrs.sh");
|
chownToBuilder(tmpDir + "/.attrs.sh");
|
||||||
env["ATTRS_SH_FILE"] = tmpDir + "/.attrs.sh";
|
env["NIX_ATTRS_SH_FILE"] = tmpDir + "/.attrs.sh";
|
||||||
writeFile(tmpDir + "/.attrs.json", rewriteStrings(json.dump(), inputRewrites));
|
writeFile(tmpDir + "/.attrs.json", rewriteStrings(json.dump(), inputRewrites));
|
||||||
chownToBuilder(tmpDir + "/.attrs.json");
|
chownToBuilder(tmpDir + "/.attrs.json");
|
||||||
env["ATTRS_JSON_FILE"] = tmpDir + "/.attrs.json";
|
env["NIX_ATTRS_JSON_FILE"] = tmpDir + "/.attrs.json";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -454,8 +454,8 @@ static void main_nix_build(int argc, char * * argv)
|
||||||
auto attrsSH = (Path) tmpDir + "/.attrs.sh";
|
auto attrsSH = (Path) tmpDir + "/.attrs.sh";
|
||||||
writeFile(attrsSH, structuredAttrsRC);
|
writeFile(attrsSH, structuredAttrsRC);
|
||||||
|
|
||||||
env["ATTRS_SH_FILE"] = attrsSH;
|
env["NIX_ATTRS_SH_FILE"] = attrsSH;
|
||||||
env["ATTRS_JSON_FILE"] = attrsJSON;
|
env["NIX_ATTRS_JSON_FILE"] = attrsJSON;
|
||||||
keepTmp = true;
|
keepTmp = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,7 @@ let pkgs = rec {
|
||||||
done
|
done
|
||||||
|
|
||||||
# mimic behavior of stdenv for `$out` etc. for structured attrs.
|
# mimic behavior of stdenv for `$out` etc. for structured attrs.
|
||||||
if [ -n "''${ATTRS_SH_FILE}" ]; then
|
if [ -n "''${NIX_ATTRS_SH_FILE}" ]; then
|
||||||
for o in "''${!outputs[@]}"; do
|
for o in "''${!outputs[@]}"; do
|
||||||
eval "''${o}=''${outputs[$o]}"
|
eval "''${o}=''${outputs[$o]}"
|
||||||
export "''${o}"
|
export "''${o}"
|
||||||
|
|
|
@ -36,7 +36,7 @@ mkDerivation {
|
||||||
echo bar > $dest
|
echo bar > $dest
|
||||||
echo foo > $dest2
|
echo foo > $dest2
|
||||||
|
|
||||||
json=$(cat $ATTRS_JSON_FILE)
|
json=$(cat $NIX_ATTRS_JSON_FILE)
|
||||||
[[ $json =~ '"narHash":"sha256:1r7yc43zqnzl5b0als5vnyp649gk17i37s7mj00xr8kc47rjcybk"' ]]
|
[[ $json =~ '"narHash":"sha256:1r7yc43zqnzl5b0als5vnyp649gk17i37s7mj00xr8kc47rjcybk"' ]]
|
||||||
[[ $json =~ '"narSize":288' ]]
|
[[ $json =~ '"narSize":288' ]]
|
||||||
[[ $json =~ '"closureSize":288' ]]
|
[[ $json =~ '"closureSize":288' ]]
|
||||||
|
|
|
@ -11,7 +11,7 @@ nix-build structured-attrs.nix -A all -o $TEST_ROOT/result
|
||||||
|
|
||||||
export NIX_BUILD_SHELL=$SHELL
|
export NIX_BUILD_SHELL=$SHELL
|
||||||
env NIX_PATH=nixpkgs=shell.nix nix-shell structured-attrs-shell.nix \
|
env NIX_PATH=nixpkgs=shell.nix nix-shell structured-attrs-shell.nix \
|
||||||
--run 'test -e .attrs.json; test "3" = "$(jq ".my.list|length" < $ATTRS_JSON_FILE)"'
|
--run 'test -e .attrs.json; test "3" = "$(jq ".my.list|length" < $NIX_ATTRS_JSON_FILE)"'
|
||||||
|
|
||||||
# `nix develop` is a slightly special way of dealing with environment vars, it parses
|
# `nix develop` is a slightly special way of dealing with environment vars, it parses
|
||||||
# these from a shell-file exported from a derivation. This is to test especially `outputs`
|
# these from a shell-file exported from a derivation. This is to test especially `outputs`
|
||||||
|
|
Loading…
Reference in a new issue