about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPeter Simons <simons@cryp.to>2020-10-22 11:14:15 +0200
committerPeter Simons <simons@cryp.to>2020-10-23 21:00:26 +0200
commit89ed6f458d570cca4629c345fb944c78b4d42dfe (patch)
tree5fa181a94fc8e1f302ad5b5ea3ffe380168a7786
parent5fe0939d18d4303440c97afcf24a1c5b44e1c285 (diff)
Extend the configuration for ghc-9.0.x to make more builds succeed.
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix32
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix1
2 files changed, 31 insertions, 2 deletions
diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
index fdb5af4a854cc..ee2526b6c40fd 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
@@ -56,24 +56,49 @@ self: super: {
     };
   });
 
-  # Jailbreaks!
+  # Jailbreaks & Version Updates
+  async = doJailbreak super.async;
+  ChasingBottoms = markBrokenVersion "1.3.1.9" super.ChasingBottoms;
   dec = doJailbreak super.dec;
   ed25519 = doJailbreak super.ed25519;
+  hashable = overrideCabal (doJailbreak (dontCheck super.hashable)) (drv: { postPatch = "sed -i -e 's,integer-gmp .*<1.1,integer-gmp < 2,' hashable.cabal"; });
+  hashable-time = doJailbreak super.hashable-time;
   integer-logarithms = overrideCabal (doJailbreak super.integer-logarithms) (drv: { postPatch = "sed -i -e 's,integer-gmp <1.1,integer-gmp < 2,' integer-logarithms.cabal"; });
+  lukko = doJailbreak super.lukko;
   parallel = doJailbreak super.parallel;
   primitive = doJailbreak super.primitive_0_7_1_0;
   regex-posix = doJailbreak super.regex-posix;
+  resolv = doJailbreak super.resolv;
   singleton-bool = doJailbreak super.singleton-bool;
+  split = doJailbreak super.split;
+  splitmix = self.splitmix_0_1_0_2;
   tar = doJailbreak super.tar;
   th-abstraction = self.th-abstraction_0_4_0_0;
+  time-compat = doJailbreak super.time-compat;
+  vector = doJailbreak (dontCheck super.vector);
   zlib = doJailbreak super.zlib;
-  splitmix = doJailbreak super.splitmix;
 
   # Apply patches from head.hackage.
+  alex = appendPatch (dontCheck super.alex) (pkgs.fetchpatch {
+    url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/master/patches/alex-3.2.5.patch";
+    sha256 = "0q8x49k3jjwyspcmidwr6b84s4y43jbf4wqfxfm6wz8x2dxx6nwh";
+  });
+  doctest = appendPatch (dontCheck (doJailbreak super.doctest_0_17)) (pkgs.fetchpatch {
+    url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/master/patches/doctest-0.17.patch";
+    sha256 = "16s2jcbk9hsww38i2wzxghbf0zpp5dc35hp6rd2n7d4z5xfavp62";
+  });
+  generic-deriving = appendPatch (doJailbreak super.generic-deriving) (pkgs.fetchpatch {
+    url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/master/patches/generic-deriving-1.13.1.patch";
+    sha256 = "0z85kiwhi5p2wiqwyym0y8q8qrcifp125x5vm0n4482lz41kmqds";
+  });
   language-haskell-extract = appendPatch (doJailbreak super.language-haskell-extract) (pkgs.fetchpatch {
     url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/master/patches/language-haskell-extract-0.2.4.patch";
     sha256 = "0rgzrq0513nlc1vw7nw4km4bcwn4ivxcgi33jly4a7n3c1r32v1f";
   });
+  QuickCheck = appendPatch super.QuickCheck_2_14_1 (pkgs.fetchpatch {
+    url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/master/patches/QuickCheck-2.14.1.patch";
+    sha256 = "0n89nx95w353h4dzala57gb0y7hx4wbkv5igs89dza50p7ybq9an";
+  });
   regex-base = appendPatch (doJailbreak super.regex-base) (pkgs.fetchpatch {
     url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/master/patches/regex-base-0.94.0.0.patch";
     sha256 = "0k5fglbl7nnhn8400c4cpnflxcbj9p3xi5prl9jfmszr31jwdy5d";
@@ -83,4 +108,7 @@ self: super: {
     sha256 = "1407r8xv6bfnmpbw7glfh4smi76a2fc9pkq300c3d9f575708zqr";
   });
 
+  # The test suite depends on ChasingBottoms, which is broken with ghc-9.0.x.
+  unordered-containers = dontCheck super.unordered-containers;
+
 }
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index d1968f489aeff..d885cb55aa346 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -542,6 +542,7 @@ self: super: builtins.intersectAttrs super {
 
   # Break infinite recursion cycle between QuickCheck and splitmix.
   splitmix = dontCheck super.splitmix;
+  splitmix_0_1_0_2 = dontCheck super.splitmix_0_1_0_2;
 
   # Break infinite recursion cycle between tasty and clock.
   clock = dontCheck super.clock;