about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2023-08-23 10:09:14 +0000
committerAlyssa Ross <hi@alyssa.is>2023-08-26 09:07:03 +0000
commit63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f (patch)
treed58934cb48f9c953b19a0d0d5cffc0d0c5561471 /nixpkgs/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix
parentc4eef3dacb2a3d359561f30917d9e3cc4e041be9 (diff)
parent91a22f76cd1716f9d0149e8a5c68424bb691de15 (diff)
downloadnixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.tar
nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.tar.gz
nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.tar.bz2
nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.tar.lz
nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.tar.xz
nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.tar.zst
nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.zip
Merge branch 'nixos-unstable' of https://github.com/NixOS/nixpkgs
Conflicts:
	nixpkgs/pkgs/build-support/go/module.nix
	nixpkgs/pkgs/development/python-modules/django-mailman3/default.nix
Diffstat (limited to 'nixpkgs/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix')
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix137
1 files changed, 90 insertions, 47 deletions
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix b/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix
index 522d9a484ded..d2fcb916020c 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix
@@ -14,6 +14,9 @@ let
     else
       builtins.throw "Check if '${msg}' was resolved in ${pkg.pname} ${pkg.version} and update or remove this";
   jailbreakForCurrentVersion = p: v: checkAgainAfter p v "bad bounds" (doJailbreak p);
+
+  # Workaround for a ghc-9.6 issue: https://gitlab.haskell.org/ghc/ghc/-/issues/23392
+  disableParallelBuilding = overrideCabal (drv: { enableParallelBuilding = false; });
 in
 
 self: super: {
@@ -62,38 +65,24 @@ self: super: {
   # Version deviations from Stackage LTS
   #
 
-  doctest = doDistribute super.doctest_0_21_1;
-  inspection-testing = doDistribute self.inspection-testing_0_5_0_1; # allows base >= 4.18
-  OneTuple = doDistribute (dontCheck super.OneTuple_0_4_1_1); # allows base >= 4.18
-  primitive = doDistribute (dontCheck self.primitive_0_7_4_0); # allows base >= 4.18
-  http-api-data = doDistribute self.http-api-data_0_5_1; # allows base >= 4.18
-  attoparsec-iso8601 = doDistribute self.attoparsec-iso8601_1_1_0_0; # for http-api-data-0.5.1
-  tagged = doDistribute self.tagged_0_8_7; # allows template-haskell-2.20
+  doctest = doDistribute super.doctest_0_22_0;
+  http-api-data = doDistribute self.http-api-data_0_6; # allows base >= 4.18
   some = doDistribute self.some_1_0_5;
-  tasty-inspection-testing = doDistribute self.tasty-inspection-testing_0_2;
   th-abstraction = doDistribute self.th-abstraction_0_5_0_0;
   th-desugar = doDistribute self.th-desugar_1_15;
-  turtle = doDistribute self.turtle_1_6_1;
-  aeson = doDistribute self.aeson_2_1_2_1;
-  memory = doDistribute self.memory_0_18_0;
   semigroupoids = doDistribute self.semigroupoids_6_0_0_1;
   bifunctors = doDistribute self.bifunctors_5_6_1;
-  cabal-plan = doDistribute self.cabal-plan_0_7_3_0;
   base-compat = doDistribute self.base-compat_0_13_0;
   base-compat-batteries = doDistribute self.base-compat-batteries_0_13_0;
-  semialign = doDistribute self.semialign_1_3;
-  assoc = doDistribute self.assoc_1_1;
-  strict = doDistribute self.strict_0_5;
+
+  # Too strict upper bound on template-haskell
+  # https://github.com/mokus0/th-extras/pull/21
+  th-extras = doJailbreak super.th-extras;
 
   ghc-lib = doDistribute self.ghc-lib_9_6_2_20230523;
   ghc-lib-parser = doDistribute self.ghc-lib-parser_9_6_2_20230523;
   ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_6_0_0;
 
-  # allows mtl, template-haskell, text and transformers
-  hedgehog = doDistribute self.hedgehog_1_2;
-  # allows base >= 4.18
-  tasty-hedgehog = doDistribute self.tasty-hedgehog_1_4_0_1;
-
   # v0.1.6 forbids base >= 4.18
   singleton-bool = doDistribute super.singleton-bool_0_1_7;
 
@@ -123,18 +112,6 @@ self: super: {
   # Compilation failure workarounds
   #
 
-  # Add missing Functor instance for Tuple2
-  # https://github.com/haskell-foundation/foundation/pull/572
-  foundation = appendPatches [
-      (pkgs.fetchpatch {
-        name = "foundation-pr-572.patch";
-        url =
-          "https://github.com/haskell-foundation/foundation/commit/d3136f4bb8b69e273535352620e53f2196941b35.patch";
-        sha256 = "sha256-oPadhQdCPJHICdCPxn+GsSQUARIYODG8Ed6g2sK+eC4=";
-        stripLen = 1;
-      })
-    ] (super.foundation);
-
   # Add support for time 1.10
   # https://github.com/vincenthz/hs-hourglass/pull/56
   hourglass = appendPatches [
@@ -151,6 +128,40 @@ self: super: {
   # https://github.com/dreixel/syb/issues/40
   syb = dontCheck super.syb;
 
+  # Support for template-haskell >= 2.16
+  language-haskell-extract = appendPatch (pkgs.fetchpatch {
+    url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/language-haskell-extract-0.2.4.patch";
+    sha256 = "0w4y3v69nd3yafpml4gr23l94bdhbmx8xky48a59lckmz5x9fgxv";
+  }) (doJailbreak super.language-haskell-extract);
+
+  # Patch for support of mtl-2.3
+  monad-par = appendPatch
+    (pkgs.fetchpatch {
+      name = "monad-par-mtl-2.3.patch";
+      url = "https://github.com/simonmar/monad-par/pull/75/commits/ce53f6c1f8246224bfe0223f4aa3d077b7b6cc6c.patch";
+      sha256 = "1jxkl3b3lkjhk83f5q220nmjxbkmni0jswivdw4wfbzp571djrlx";
+      stripLen = 1;
+    })
+    (doJailbreak super.monad-par);
+
+  # Patch 0.17.1 for support of mtl-2.3
+  xmonad-contrib = appendPatch
+    (pkgs.fetchpatch {
+      name = "xmonad-contrib-mtl-2.3.patch";
+      url = "https://github.com/xmonad/xmonad-contrib/commit/8cb789af39e93edb07f1eee39c87908e0d7c5ee5.patch";
+      sha256 = "sha256-ehCvVy0N2Udii/0K79dsRSBP7/i84yMoeyupvO8WQz4=";
+    })
+    (doJailbreak super.xmonad-contrib);
+
+  # Patch 0.12.0.1 for support of unix-2.8.0.0
+  arbtt = appendPatch
+    (pkgs.fetchpatch {
+      name = "arbtt-unix-2.8.0.0.patch";
+      url = "https://github.com/nomeata/arbtt/pull/168/commits/ddaac94395ac50e3d3cd34c133dda4a8e5a3fd6c.patch";
+      sha256 = "sha256-5Gmz23f4M+NfgduA5O+9RaPmnneAB/lAlge8MrFpJYs=";
+    })
+    super.arbtt;
+
   # 2023-04-03: plugins disabled for hls 1.10.0.0 based on
   #
   haskell-language-server =
@@ -170,8 +181,25 @@ self: super: {
       hls-stylish-haskell-plugin = null;
     };
 
-  MonadRandom = super.MonadRandom_0_6;
-  unix-compat = super.unix-compat_0_7;
+  # Newer version of servant required for GHC 9.6
+  servant = self.servant_0_20;
+  servant-server = self.servant-server_0_20;
+  servant-client = self.servant-client_0_20;
+  servant-client-core = self.servant-client-core_0_20;
+  # Select versions compatible with servant_0_20
+  servant-docs = self.servant-docs_0_13;
+  servant-swagger = self.servant-swagger_1_2;
+  # Jailbreaks for servant <0.20
+  servant-lucid = doJailbreak super.servant-lucid;
+
+  # Jailbreak strict upper bounds: http-api-data <0.6
+  servant_0_20 = doJailbreak super.servant_0_20;
+  servant-server_0_20 = doJailbreak super.servant-server_0_20;
+  servant-client_0_20 = doJailbreak super.servant-client_0_20;
+  servant-client-core_0_20 = doJailbreak super.servant-client-core_0_20;
+  # Jailbreak strict upper bounds: doctest <0.22
+  servant-swagger_1_2 = doJailbreak super.servant-swagger_1_2;
+
   lifted-base = dontCheck super.lifted-base;
   hw-fingertree = dontCheck super.hw-fingertree;
   hw-prim = dontCheck (doJailbreak super.hw-prim);
@@ -180,10 +208,9 @@ self: super: {
   rebase = doJailbreak super.rebase_1_20;
   rerebase = doJailbreak super.rerebase_1_20;
   hiedb = dontCheck super.hiedb;
-  retrie = dontCheck (super.retrie);
-
-  # break infinite recursion with foldable1-classes-compat's test suite, which depends on 'these'.
-  these = doDistribute (super.these_1_2.override { foldable1-classes-compat = dontCheck super.foldable1-classes-compat; });
+  retrie = dontCheck super.retrie;
+  # https://github.com/kowainik/relude/issues/436
+  relude = dontCheck (doJailbreak super.relude);
 
   ghc-exactprint = unmarkBroken (addBuildDepends (with self.ghc-exactprint.scope; [
    HUnit Diff data-default extra fail free ghc-paths ordered-containers silently syb
@@ -203,18 +230,21 @@ self: super: {
     implicit-hie-cradle
     focus
     hie-compat
-    xmonad-contrib              # mtl >=1 && <2.3
     dbus       # template-haskell >=2.18 && <2.20, transformers <0.6, unix <2.8
+    gi-cairo-connector          # mtl <2.3
+    haskintex                   # text <2
+    lens-family-th              # template-haskell <2.19
+    ghc-prof                    # base <4.18
+    profiteur                   # vector <0.13
+    mfsolve                     # mtl <2.3
+    cubicbezier                 # mtl <2.3
+    dhall                       # template-haskell <2.20
+    env-guard                   # doctest <0.21
+    package-version             # doctest <0.21, tasty-hedgehog <1.4
   ;
 
-  # Apply workaround for Cabal 3.8 bug https://github.com/haskell/cabal/issues/8455
-  # by making `pkg-config --static` happy. Note: Cabal 3.9 is also affected, so
-  # the GHC 9.6 configuration may need similar overrides eventually.
-  X11-xft = __CabalEagerPkgConfigWorkaround super.X11-xft;
-  # Jailbreaks for https://github.com/gtk2hs/gtk2hs/issues/323#issuecomment-1416723309
-  glib = __CabalEagerPkgConfigWorkaround (doJailbreak super.glib);
-  cairo = __CabalEagerPkgConfigWorkaround (doJailbreak super.cairo);
-  pango = __CabalEagerPkgConfigWorkaround (doJailbreak super.pango);
+  # Avoid triggering an issue in ghc-9.6.2
+  gi-gtk = disableParallelBuilding super.gi-gtk;
 
   # Pending text-2.0 support https://github.com/gtk2hs/gtk2hs/issues/327
   gtk = doJailbreak super.gtk;
@@ -229,4 +259,17 @@ self: super: {
                      })
     super.libmpd;
 
+  # Apply patch from PR with mtl-2.3 fix.
+  ConfigFile = overrideCabal (drv: {
+    editedCabalFile = null;
+    buildDepends = drv.buildDepends or [] ++ [ self.HUnit ];
+    patches = [(pkgs.fetchpatch {
+      name = "ConfigFile-pr-12.patch";
+      url = "https://github.com/jgoerzen/configfile/pull/12.patch";
+      sha256 = "sha256-b7u9GiIAd2xpOrM0MfILHNb6Nt7070lNRIadn2l3DfQ=";
+    })];
+  }) super.ConfigFile;
+
+  # The curl executable is required for withApplication tests.
+  warp_3_3_28 = addTestToolDepend pkgs.curl super.warp_3_3_28;
 }