summary refs log tree commit diff
path: root/pkgs/development/haskell-modules
diff options
context:
space:
mode:
authorPeter Simons <simons@cryp.to>2021-03-19 20:51:56 +0100
committerPeter Simons <simons@cryp.to>2021-03-19 20:51:56 +0100
commit1c16f8cf4fbeec66b070a7e04b21dab8f0f6dda0 (patch)
tree0df8af78683f85d3c025126e19ea454751898caa /pkgs/development/haskell-modules
parentf17596c260174ce488ed1b9542f696de352d2438 (diff)
downloadnixpkgs-1c16f8cf4fbeec66b070a7e04b21dab8f0f6dda0.tar
nixpkgs-1c16f8cf4fbeec66b070a7e04b21dab8f0f6dda0.tar.gz
nixpkgs-1c16f8cf4fbeec66b070a7e04b21dab8f0f6dda0.tar.bz2
nixpkgs-1c16f8cf4fbeec66b070a7e04b21dab8f0f6dda0.tar.lz
nixpkgs-1c16f8cf4fbeec66b070a7e04b21dab8f0f6dda0.tar.xz
nixpkgs-1c16f8cf4fbeec66b070a7e04b21dab8f0f6dda0.tar.zst
nixpkgs-1c16f8cf4fbeec66b070a7e04b21dab8f0f6dda0.zip
cabal-install: fix the build with ghc-8.8.x
Diffstat (limited to 'pkgs/development/haskell-modules')
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix18
1 files changed, 10 insertions, 8 deletions
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
index 996d2182602..00797c0c86f 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
@@ -52,15 +52,17 @@ self: super: {
   haddock = self.haddock_2_23_1;
   haddock-api = self.haddock-api_2_23_1;
 
-  # These builds need newer versions of Cabal.
+  # This build needs a newer version of Cabal.
   cabal2spec = super.cabal2spec.override { Cabal = self.Cabal_3_2_1_0; };
-  cabal-install = super.cabal-install.override {
-    Cabal = super.Cabal_3_4_0_0;
-    hackage-security = super.hackage-security.override { Cabal = super.Cabal_3_4_0_0; };
-    # Using dontCheck to break test dependency cycles
-    edit-distance = dontCheck (super.edit-distance.override { random = super.random_1_2_0; });
-    random = super.random_1_2_0;
-  };
+
+  # cabal-install needs more recent versions of Cabal and random, but an older
+  # version of base16-bytestring.
+  cabal-install = super.cabal-install.overrideScope (self: super: {
+    Cabal = self.Cabal_3_4_0_0;
+    base16-bytestring = self.base16-bytestring_0_1_1_7;
+    random = dontCheck super.random_1_2_0;  # break infinite recursion
+    hashable = doJailbreak super.hashable;  # allow random 1.2.x
+  });
 
   # Ignore overly restrictive upper version bounds.
   aeson-diff = doJailbreak super.aeson-diff;