Unverified Commit 255f5952 authored by maralorn's avatar maralorn Committed by GitHub
Browse files

Merge pull request #330560 from reckenrode/ghc-9.6.3-fixes

ghc: bootstrap 9.8 from bindist again on Darwin
parents 5d9f1a8d ac9122dd
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -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:
@@ -403,8 +409,5 @@ stdenv.mkDerivation rec {
    # `pkgsMusl`.
    platforms = builtins.attrNames ghcBinDists.${distSetName};
    maintainers = lib.teams.haskell.members;
    # packages involving hsc2hs (clock) produce libraries our
    # ld can't link against
    broken = stdenv.hostPlatform.isDarwin;
  };
}
+0 −21
Original line number Diff line number Diff line
@@ -342,13 +342,6 @@ in {
          packages.ghc963
        else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
          packages.ghc963
        else if stdenv.hostPlatform.isDarwin then
          # it seems like the GHC 9.6.* bindists are built with a different
          # toolchain than we are using (which I'm guessing from the fact
          # that 9.6.4 bindists pass linker flags our ld doesn't support).
          # With both 9.6.3 and 9.6.4 binary it is impossible to link against
          # the clock package (probably a hsc2hs problem).
          packages.ghc963
        else
          packages.ghc963Binary;
      inherit (buildPackages.python3Packages) sphinx;
@@ -367,13 +360,6 @@ in {
          packages.ghc963
        else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
          packages.ghc963
        else if stdenv.hostPlatform.isDarwin then
          # it seems like the GHC 9.6.* bindists are built with a different
          # toolchain than we are using (which I'm guessing from the fact
          # that 9.6.4 bindists pass linker flags our ld doesn't support).
          # With both 9.6.3 and 9.6.4 binary it is impossible to link against
          # the clock package (probably a hsc2hs problem).
          packages.ghc963
        else
          packages.ghc963Binary;
      inherit (buildPackages.python3Packages) sphinx;
@@ -419,13 +405,6 @@ in {
          packages.ghc963
        else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
          packages.ghc963
        else if stdenv.hostPlatform.isDarwin then
          # it seems like the GHC 9.6.* bindists are built with a different
          # toolchain than we are using (which I'm guessing from the fact
          # that 9.6.4 bindists pass linker flags our ld doesn't support).
          # With both 9.6.3 and 9.6.4 binary it is impossible to link against
          # the clock package (probably a hsc2hs problem).
          packages.ghc963
        else
          packages.ghc963Binary;
      inherit (buildPackages.python3Packages) sphinx;