diff options
author | tv <tv@krebsco.de> | 2017-07-25 12:32:37 +0200 |
---|---|---|
committer | tv <tv@krebsco.de> | 2017-07-25 12:36:00 +0200 |
commit | c5fef87af8cba674198cd55ab1153d586db18080 (patch) | |
tree | e215a561e578ee4374b4cd8e63add5aed93d432a | |
parent | a1cdec85d6fd4c296d98673473623a1c847a1ec2 (diff) |
writeOut: don't modify stdenv's shell
This fixes following (and maybe more) issues:
- /nix/store/*-stdenv/setup: line 125: showBuildStats: unbound variable
- /nix/store/*-stdenv/setup: line 69: !hookName: unbound variable
-rw-r--r-- | krebs/5pkgs/writers.nix | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/krebs/5pkgs/writers.nix b/krebs/5pkgs/writers.nix index 49ca3557e..f1626078e 100644 --- a/krebs/5pkgs/writers.nix +++ b/krebs/5pkgs/writers.nix @@ -144,9 +144,14 @@ with import <stockholm/lib>; env = filevars // { passAsFile = attrNames filevars; }; in + # Use a subshell because <nixpkgs/stdenv/generic/setup.sh>'s genericBuild + # sources (or evaluates) the buildCommand and we don't want to modify its + # shell. In particular, exitHandler breaks in multiple ways with set -u. pkgs.runCommand name env /* sh */ '' - set -efu - ${concatMapStringsSep "\n" (getAttr "install") files} + ( + set -efu + ${concatMapStringsSep "\n" (getAttr "install") files} + ) ''; writeHaskell = |