diff options
author | sternenseemann <sternenseemann@systemli.org> | 2024-03-31 13:55:54 +0200 |
---|---|---|
committer | sternenseemann <sternenseemann@systemli.org> | 2024-04-10 00:29:58 +0200 |
commit | 91a91b9ae468de8500dccb74c7896b1218e9c1de (patch) | |
tree | 6a88c07d59ed13c78b2c2666165f603b2bbaa642 /pkgs/development/compilers/ghc | |
parent | d9bbcd5f81c1abcccc275c0777c86605b4173da7 (diff) |
haskell.compiler.ghcHEAD: fix hash mismatch on case insensitive fs
By trying to migitate the conflict between two files on a case
insensitive fs, we will inevitably end up with a different hash than on
case sensitive filesystems. To work around this, we just delete the
directory that contains the offending files — luckily it is not
important to the build of GHC.
Diffstat (limited to 'pkgs/development/compilers/ghc')
-rw-r--r-- | pkgs/development/compilers/ghc/common-hadrian.nix | 4 | ||||
-rw-r--r-- | pkgs/development/compilers/ghc/head.nix | 8 |
2 files changed, 10 insertions, 2 deletions
diff --git a/pkgs/development/compilers/ghc/common-hadrian.nix b/pkgs/development/compilers/ghc/common-hadrian.nix index b201379668b1..079bbefbae4c 100644 --- a/pkgs/development/compilers/ghc/common-hadrian.nix +++ b/pkgs/development/compilers/ghc/common-hadrian.nix @@ -5,7 +5,7 @@ if rev != null then "https://gitlab.haskell.org/ghc/ghc.git" else "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz" - +, postFetch ? null }: { lib @@ -146,6 +146,8 @@ inherit url sha256; } // lib.optionalAttrs (rev != null) { inherit rev; + } // lib.optionalAttrs (postFetch != null) { + inherit postFetch; }) # GHC's build system hadrian built from the GHC-to-build's source tree diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix index ab7771e94733..30e8f4e1d991 100644 --- a/pkgs/development/compilers/ghc/head.nix +++ b/pkgs/development/compilers/ghc/head.nix @@ -1,5 +1,11 @@ import ./common-hadrian.nix { version = "9.11.20240323"; rev = "8f7cfc7ee00978fda14f31ce4a56ad4639c07138"; - sha256 = "1id5gmn472zrzx372hy4wci5sby941jd8imspgaam6vrqxibdyln"; + sha256 = "sha256-UFiZ8Vu45PZ1+QuyoruiXA6ksiFZImQvvsgC3kQCHak="; + # The STM benchmark contains chanbench.hs and ChanBench.hs causing a hash + # mismatch on case insensitive filesystems. See also + # https://gitlab.haskell.org/ghc/packages/stm/-/issues/2 + postFetch = '' + rm -rf "$out/libraries/stm/bench" + ''; } |