@@ -37,11 +37,15 @@ let
37 echo "${field}: ${lib.concatStringsSep " " xs}" >> $out/cabal.config
37 echo "${field}: ${lib.concatStringsSep " " xs}" >> $out/cabal.config
40+ componentDepends = if haskellLib.isAll componentId
41+ then lib.filter (p: p.identifier.name != componentId.cname) component.depends
42+ else component.depends;
40 flatDepends =
44 flatDepends =
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;
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
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)}
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
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}