about summary refs log tree commit diff
path: root/pkgs/build-support/trivial-builders.nix
diff options
context:
space:
mode:
authorsternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org>2021-03-10 19:43:17 +0100
committerProfpatsch <mail@profpatsch.de>2021-03-18 19:56:40 +0100
commitb398d00903af1eca6b4e298225e85ecd118a80dd (patch)
tree29af5237d26cf0ae5b0b96d2c04ab1bd41ef03db /pkgs/build-support/trivial-builders.nix
parent9a48ca802731e542787b487ff559decbc0ea696e (diff)
trivial-builders: merge passAsFile with env in runCommand'
Previously it was awkward to use the runCommand-variants with
passAsFile as a double definition of passAsFile would potentially
break runCommand: passAsFile would overwrite the previous definition,
defeating the purpose of setting it in runCommand in the first place.
This is now fixed by concatenating the [ "buildCommand" ] list with
one the one from env, if present.

Adjust buildEnv where passAsFile = null; was passed in some cases,
breaking evaluation since it'd evaluate to [ "buildCommand" ] ++ null.
Diffstat (limited to 'pkgs/build-support/trivial-builders.nix')
-rw-r--r--pkgs/build-support/trivial-builders.nix5
1 files changed, 3 insertions, 2 deletions
diff --git a/pkgs/build-support/trivial-builders.nix b/pkgs/build-support/trivial-builders.nix
index eab5366e1839e..8759a67f4ea11 100644
--- a/pkgs/build-support/trivial-builders.nix
+++ b/pkgs/build-support/trivial-builders.nix
@@ -6,13 +6,14 @@ let
     stdenv.mkDerivation ({
       name = lib.strings.sanitizeDerivationName name;
       inherit buildCommand;
-      passAsFile = [ "buildCommand" ];
+      passAsFile = [ "buildCommand" ]
+        ++ (env.passAsFile or []);
     }
     // (lib.optionalAttrs runLocal {
           preferLocalBuild = true;
           allowSubstitutes = false;
        })
-    // env);
+    // builtins.removeAttrs env [ "passAsFile" ]);
 
 in