@@ -17,7 +17,7 @@
1717, preCheck ? null, postCheck ? null
1818, preInstall ? null, postInstall ? null
1919
20−, doCheck ? component.doCheck || componentId.ctype == "test"
20+, doCheck ? component.doCheck || haskellLib.isTest componentId
2121, doCrossCheck ? component.doCrossCheck || false
2222, dontPatchELF ? true
2323, dontStrip ? true
@@ -27,7 +27,9 @@
2727}:
2828
2929let
30− fullName = "${name}-${componentId.ctype}-${componentId.cname}";
30+ fullName = if haskellLib.isAll componentId
31+ then "${name}-all"
32+ else "${name}-${componentId.ctype}-${componentId.cname}";
3133
3234 flagsAndConfig = field: xs: lib.optionalString (xs != []) ''
3335 echo ${lib.concatStringsSep " " (map (x: "--${field}=${x}") xs)} >> $out/configure-flags
@@ -122,7 +124,7 @@ let
122124
123125 finalConfigureFlags = lib.concatStringsSep " " (
124126 [ "--prefix=$out"
125− "${componentId.ctype}:${componentId.cname}"
127+ "${haskellLib.componentTarget componentId}"
126128 "$(cat ${configFiles}/configure-flags)"
127129 # GHC
128130 "--with-ghc=${ghc.targetPrefix}ghc"
@@ -217,12 +219,12 @@ in stdenv.mkDerivation ({
217219 installPhase = ''
218220 runHook preInstall
219221 $SETUP_HS copy ${lib.concatStringsSep " " component.setupInstallFlags}
220− ${lib.optionalString (haskellLib.isLibrary componentId) ''
222+ ${lib.optionalString (haskellLib.isLibrary componentId || haskellLib.isAll componentId) ''
221223 $SETUP_HS register --gen-pkg-config=${name}.conf
222224 ${ghc.targetPrefix}ghc-pkg -v0 init $out/package.conf.d
223225 ${ghc.targetPrefix}ghc-pkg -v0 --package-db ${configFiles}/package.conf.d -f $out/package.conf.d register ${name}.conf
224226 ''}
225− ${lib.optionalString (componentId.ctype == "test") ''
227+ ${lib.optionalString (haskellLib.isTest componentId || haskellLib.isAll componentId) ''
226228 mkdir -p $out/${name}
227229 if [ -f "dist/build/${componentId.cname}/${componentId.cname}" ]; then
228230 cp dist/build/${componentId.cname}/${componentId.cname} $out/${name}/