diff --git a/pkgs/development/compilers/ghc/common-hadrian.nix b/pkgs/development/compilers/ghc/common-hadrian.nix index e32880fb02b7c..5fd09fec1b45e 100644 --- a/pkgs/development/compilers/ghc/common-hadrian.nix +++ b/pkgs/development/compilers/ghc/common-hadrian.nix @@ -244,6 +244,29 @@ hash = "sha256-L3FQvcm9QB59BOiR2g5/HACAufIG08HiT53EIOjj64g="; }) ] + ++ lib.optionals (lib.versionOlder version "9.12.1") [ + (fetchpatch { + name = "ghc-ppc-support-elf-v2-on-powerpc64-big-endian.patch"; + url = "https://gitlab.haskell.org/ghc/ghc/-/commit/ead75532c9dc915bfa9ebaef0ef5d148e793cc0a.patch"; + # ghc-platform was split out of ghc-boot in ddcdd88c2c95445a87ee028f215d1e876939a4d9 + postFetch = lib.optionalString (lib.versionOlder version "9.10.1") '' + substituteInPlace $out \ + --replace-fail 'libraries/ghc-platform/src/GHC' 'libraries/ghc-boot/GHC' + ''; + hash = + if lib.versionOlder version "9.10.1" then + "sha256-5SVSW1aYoItqHli5QjnudH4zGporYNLDeEo4gZksBZw=" + else + "sha256-vtjT+TL/7sYPu4rcVV3xCqJQ+uqkyBbf9l0KIi97j/0="; + }) + ] + ++ lib.optionals (lib.versionOlder version "9.14.1") [ + (fetchpatch { + name = "ghc-rts-Fix-compile-on-powerpc64-elf-v1.patch"; + url = "https://gitlab.haskell.org/ghc/ghc/-/commit/05e5785a3157c71e327a8e9bdc80fa7082918739.patch"; + hash = "sha256-xP5v3cKhXeTRSFvRiKEn9hPxGXgVgykjTILKjh/pdDU="; + }) + ] # Fix build with gcc15 # https://gitlab.haskell.org/ghc/ghc/-/issues/25662 # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/13863