summary refs log tree commit diff
path: root/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
diff options
context:
space:
mode:
authorPeter Simons <simons@cryp.to>2021-03-18 10:47:37 +0100
committerPeter Simons <simons@cryp.to>2021-03-18 10:48:30 +0100
commit36d357d279014bdbac1ee6b89034972d423593be (patch)
treed2756c976d27bbf481126fd9f18263321fac8f7c /pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
parent6a77eb735e412e8347cd97bad3623286d0f42a7e (diff)
cabal-install: fix overrides for ghc-8.10.x
Diffstat (limited to 'pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix')
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix15
1 files changed, 8 insertions, 7 deletions
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
index f2950edd484bb..46dea49b06bd4 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
@@ -42,13 +42,14 @@ self: super: {
   unix = null;
   xhtml = null;
 
-  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; };
-    # Usung 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
+  });
 
   # cabal-install-parsers is written for Cabal 3.4
   cabal-install-parsers = super.cabal-install-parsers.override { Cabal = super.Cabal_3_4_0_0; };