diff --git a/pkgs/development/compilers/ghc/9.6.3-binary.nix b/pkgs/development/compilers/ghc/9.6.3-binary.nix index f8916d712b16..b8ad3c1192eb 100644 --- a/pkgs/development/compilers/ghc/9.6.3-binary.nix +++ b/pkgs/development/compilers/ghc/9.6.3-binary.nix @@ -403,5 +403,8 @@ 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; }; } diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index b757c630420f..b0c098ddcaa8 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -298,6 +298,13 @@ 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; @@ -316,6 +323,13 @@ 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; @@ -335,6 +349,13 @@ 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;