summaryrefslogtreecommitdiffstats
path: root/pkgs/development/compilers/ghc
diff options
context:
space:
mode:
authorsternenseemann <sternenseemann@systemli.org>2024-03-31 13:55:54 +0200
committersternenseemann <sternenseemann@systemli.org>2024-04-10 00:29:58 +0200
commit91a91b9ae468de8500dccb74c7896b1218e9c1de (patch)
tree6a88c07d59ed13c78b2c2666165f603b2bbaa642 /pkgs/development/compilers/ghc
parentd9bbcd5f81c1abcccc275c0777c86605b4173da7 (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.nix4
-rw-r--r--pkgs/development/compilers/ghc/head.nix8
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"
+ '';
}