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;