@@ -40,6 +40,8 @@ let self =
4040 && !(stdenv.hostPlatform.isMusl && !stdenv.hostPlatform.isx86)
4141, enableDeadCodeElimination ? component.enableDeadCodeElimination
4242
43+, ghcOptions ? component.ghcOptions
44+
4345# Options for Haddock generation
4446, doHaddock ? component.doHaddock # Enable haddock and hoogle generation
4547, doHoogle ? component.doHoogle # Also build a hoogle index
@@ -180,10 +182,9 @@ let
180182 ++ lib.optionals useLLVM [
181183 "--ghc-option=-fPIC" "--gcc-option=-fPIC"
182184 ]
185+ ++ map (o: ''--ghc${lib.optionalString (stdenv.hostPlatform.isGhcjs) "js"}-options="${o}"'') ghcOptions
183186 );
184187
185− setupGhcOptions = lib.optional (package.ghcOptions != null) '' --ghc${lib.optionalString (stdenv.hostPlatform.isGhcjs) "js"}-options="${package.ghcOptions}"'';
186−
187188 executableToolDepends =
188189 (lib.concatMap (c: if c.isHaskell or false
189190 then builtins.attrValues (c.components.exes or {})
@@ -258,7 +259,7 @@ let
258259
259260 haddock = haddockBuilder {
260261 inherit componentId component package flags commonConfigureFlags
261− commonAttrs revision setupGhcOptions doHaddock
262+ commonAttrs revision doHaddock
262263 doHoogle hyperlinkSource quickjump setupHaddockFlags
263264 needsProfiling configFiles preHaddock postHaddock pkgconfig;
264265
@@ -336,7 +337,7 @@ let
336337 buildPhase = ''
337338 runHook preBuild
338339 # https://gitlab.haskell.org/ghc/ghc/issues/9221
339− $SETUP_HS build ${haskellLib.componentTarget componentId} -j$(($NIX_BUILD_CORES > 4 ? 4 : $NIX_BUILD_CORES)) ${lib.concatStringsSep " " (setupBuildFlags ++ setupGhcOptions)}
340+ $SETUP_HS build ${haskellLib.componentTarget componentId} -j$(($NIX_BUILD_CORES > 4 ? 4 : $NIX_BUILD_CORES)) ${lib.concatStringsSep " " setupBuildFlags}
340341 runHook postBuild
341342 '';
342343