about summary refs log tree commit diff
path: root/pkgs/stdenv
diff options
context:
space:
mode:
authorJude Taylor <me@jude.bio>2015-07-02 18:59:10 -0700
committerJude Taylor <me@jude.bio>2015-07-08 14:15:03 -0700
commitcb3e282cdacdd1e42c4e62712263f515a5ffd128 (patch)
tree00f65952df46eed0714e4e333e8f9a767ca26277 /pkgs/stdenv
parent7cda24c01e67f50f790212311a240e56a957dc19 (diff)
unique host deps, otherwise we get 600000 char derivations
Diffstat (limited to 'pkgs/stdenv')
-rw-r--r--pkgs/stdenv/generic/default.nix5
1 files changed, 3 insertions, 2 deletions
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index 07486093da83f..fe7bec54ba02b 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -147,8 +147,9 @@ let
           __impureHostDeps = attrs.__impureHostDeps or [];
           __propagatedImpureHostDeps = attrs.__propagatedImpureHostDeps or [];
 
-          computedImpureHostDeps           = lib.concatMap (input: input.__propagatedImpureHostDeps or []) (extraBuildInputs ++ buildInputs ++ nativeBuildInputs);
-          computedPropagatedImpureHostDeps = lib.concatMap (input: input.__propagatedImpureHostDeps or []) (propagatedBuildInputs ++ propagatedNativeBuildInputs);
+          # TODO: remove lib.unique once nix has a list canonicalization primitive
+          computedImpureHostDeps           = lib.unique (lib.concatMap (input: input.__propagatedImpureHostDeps or []) (extraBuildInputs ++ buildInputs ++ nativeBuildInputs));
+          computedPropagatedImpureHostDeps = lib.unique (lib.concatMap (input: input.__propagatedImpureHostDeps or []) (propagatedBuildInputs ++ propagatedNativeBuildInputs));
         in
         {
           builder = attrs.realBuilder or shell;