diff --git a/pkgs/development/compilers/ghc/9.6.3-binary.nix b/pkgs/development/compilers/ghc/9.6.3-binary.nix index 65ed655e5797..7e043262f015 100644 --- a/pkgs/development/compilers/ghc/9.6.3-binary.nix +++ b/pkgs/development/compilers/ghc/9.6.3-binary.nix @@ -282,6 +282,12 @@ stdenv.mkDerivation rec { isScript "$i" || continue sed -i -e '2i export PATH="${lib.makeBinPath runtimeDeps}:$PATH"' "$i" done + '' + lib.optionalString stdenv.targetPlatform.isDarwin '' + # Work around building with binary GHC on Darwin due to GHC’s use of `ar -L` when it + # detects `llvm-ar` even though the resulting archives are not supported by ld64. + # https://gitlab.haskell.org/ghc/ghc/-/issues/23188 + # https://github.com/haskell/cabal/issues/8882 + sed -i -e 's/,("ar supports -L", "YES")/,("ar supports -L", "NO")/' "$out/lib/ghc-${version}/lib/settings" ''; # Apparently necessary for the ghc Alpine (musl) bindist: