diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 487158b53c38..78cab79157da 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -112,10 +112,12 @@ with haskellLib; ( let # !!! Use cself/csuper inside for the actual overrides - cabalInstallOverlay = cself: csuper: { - Cabal = cself.Cabal_3_16_1_0; - Cabal-syntax = cself.Cabal-syntax_3_16_1_0; - }; + cabalInstallOverlay = + cself: csuper: + lib.optionalAttrs (lib.versionOlder csuper.ghc.version "9.14") { + Cabal = cself.Cabal_3_16_1_0; + Cabal-syntax = cself.Cabal-syntax_3_16_1_0; + }; in { cabal-install = diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.14.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.14.x.nix index 922a1bb72554..e3ccdf381d5f 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-9.14.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-9.14.x.nix @@ -74,6 +74,10 @@ with haskellLib; # Version upgrades # + parallel = doDistribute self.parallel_3_3_0_0; + tagged = doDistribute self.tagged_0_8_10; + unordered-containers = doDistribute self.unordered-containers_0_2_21; + # # Jailbreaks # @@ -81,10 +85,46 @@ with haskellLib; primitive = doJailbreak (dontCheck super.primitive); # base <4.22 and a lot of dependencies on packages not yet working. splitmix = doJailbreak super.splitmix; # base <4.22 + # https://github.com/haskellari/indexed-traversable/issues/49 + indexed-traversable = doJailbreak super.indexed-traversable; + # https://github.com/haskellari/indexed-traversable/issues/50 + indexed-traversable-instances = doJailbreak super.indexed-traversable-instances; + # https://github.com/haskellari/these/issues/211 + these = doJailbreak super.these; + # https://github.com/haskellari/these/issues/207 + semialign = doJailbreak super.semialign; + # https://github.com/haskellari/time-compat/issues/48 + time-compat = doJailbreak super.time-compat; + # https://github.com/haskell-hvr/uuid/issues/95 + uuid-types = doJailbreak super.uuid-types; + # https://github.com/haskellari/qc-instances/issues/110 + quickcheck-instances = doJailbreak super.quickcheck-instances; + # https://github.com/haskell/aeson/issues/1155 + text-iso8601 = doJailbreak super.text-iso8601; + aeson = doJailbreak super.aeson; + + # https://github.com/well-typed/cborg/issues/373 + cborg = doJailbreak super.cborg; + serialise = doJailbreak ( + appendPatches [ + # This removes support for older versions of time (think GHC 8.6) and, in doing so, + # drops a Cabal flag that prevents jailbreak from working + (pkgs.fetchpatch { + name = "serialise-no-old-time.patch"; + url = "https://github.com/well-typed/cborg/commit/308afc2795062f847171463958e5e1bbd9c03381.patch"; + hash = "sha256-Gutu9c+houcwAvq2Z+ZQUQbNK+u+OCJRZfKBtx8/V4c="; + relative = "serialise"; + }) + ] super.serialise + ); + # https://github.com/sjakobi/newtype-generics/pull/28/files newtype-generics = warnAfterVersion "0.6.2" (doJailbreak super.newtype-generics); # # Test suite issues # + + # Fails to compile with GHC 9.14 https://github.com/snoyberg/mono-traversable/pull/261 + mono-traversable = dontCheck super.mono-traversable; }