on iko/ghcjs-patch-master help sign in
builder: Remove self from depends of "all" component
0747270Rodney Lorrimar
builder/comp-builder.nix+7−3
@@ -37,11 +37,15 @@ let
37 echo "${field}: ${lib.concatStringsSep " " xs}" >> $out/cabal.config
37 echo "${field}: ${lib.concatStringsSep " " xs}" >> $out/cabal.config
38 '';
38 '';
39
39
40+ componentDepends = if haskellLib.isAll componentId
41+ then lib.filter (p: p.identifier.name != componentId.cname) component.depends
42+ else component.depends;
43+
40 flatDepends =
44 flatDepends =
41 let
45 let
42 makePairs = map (p: rec { key="${val}"; val=p.components.library; });
46 makePairs = map (p: rec { key="${val}"; val=p.components.library; });
43 closure = builtins.genericClosure {
47 closure = builtins.genericClosure {
44− startSet = makePairs component.depends;
48+ startSet = makePairs componentDepends;
45 operator = {val,...}: makePairs val.config.depends;
49 operator = {val,...}: makePairs val.config.depends;
46 };
50 };
47 in map ({val,...}: val) closure;
51 in map ({val,...}: val) closure;
@@ -99,7 +103,7 @@ let
99 clear-package-db
103 clear-package-db
100 package-db $out/package.conf.d
104 package-db $out/package.conf.d
101 EOF
105 EOF
102− ${lib.concatMapStringsSep "\n" (p: envDep "--package-db ${p.components.library}/package.conf.d" p.identifier.name) component.depends}
106+ ${lib.concatMapStringsSep "\n" (p: envDep "--package-db ${p.components.library}/package.conf.d" p.identifier.name) componentDepends}
103 ${lib.concatMapStringsSep "\n" (envDep "") (lib.remove "ghc" nonReinstallablePkgs)}
107 ${lib.concatMapStringsSep "\n" (envDep "") (lib.remove "ghc" nonReinstallablePkgs)}
104
108
105 '' + lib.optionalString component.doExactConfig ''
109 '' + lib.optionalString component.doExactConfig ''
@@ -107,7 +111,7 @@ let
107 echo "allow-newer: ${package.identifier.name}:*" >> $out/cabal.config
111 echo "allow-newer: ${package.identifier.name}:*" >> $out/cabal.config
108 echo "allow-older: ${package.identifier.name}:*" >> $out/cabal.config
112 echo "allow-older: ${package.identifier.name}:*" >> $out/cabal.config
109
113
110− ${lib.concatMapStringsSep "\n" (p: exactDep "--package-db ${p.components.library}/package.conf.d" p.identifier.name) component.depends}
114+ ${lib.concatMapStringsSep "\n" (p: exactDep "--package-db ${p.components.library}/package.conf.d" p.identifier.name) componentDepends}
111 ${lib.concatMapStringsSep "\n" (exactDep "") nonReinstallablePkgs}
115 ${lib.concatMapStringsSep "\n" (exactDep "") nonReinstallablePkgs}
112
116
113 ''
117 ''