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:
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.nix136
1 files changed, 32 insertions, 104 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 3dcf3cf81949..e46a36dea4bc 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
@@ -65,49 +65,18 @@ self: super: {
   # Version deviations from Stackage LTS
   #
 
-  doctest = doDistribute super.doctest_0_22_2;
-  http-api-data = doDistribute self.http-api-data_0_6; # allows base >= 4.18
-  some = doDistribute self.some_1_0_6;
-  th-abstraction = doDistribute self.th-abstraction_0_6_0_0;
-  th-desugar = doDistribute self.th-desugar_1_16;
-  semigroupoids = doDistribute self.semigroupoids_6_0_0_1;
-  bifunctors = doDistribute self.bifunctors_5_6_1;
-  base-compat = doDistribute self.base-compat_0_13_1;
-  base-compat-batteries = doDistribute self.base-compat-batteries_0_13_1;
-  fgl = doDistribute self.fgl_5_8_2_0;
-
-  # Because we bumped the version of th-abstraction above.^
-  aeson = doJailbreak super.aeson;
-  free = doJailbreak super.free;
-
-  # Because we bumped the version of base-compat above.^
-  cabal-plan = unmarkBroken super.cabal-plan;
-  cabal-plan-bounds = unmarkBroken super.cabal-plan-bounds;
-
-  # Requires filepath >= 1.4.100.0 <=> GHC >= 9.6
-  file-io = unmarkBroken super.file-io;
-
   # 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_3_20231121;
-  ghc-lib-parser = doDistribute self.ghc-lib-parser_9_6_3_20231121;
-  ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_6_0_2;
-
-  fourmolu = doDistribute self.fourmolu_0_14_0_0;
-  ormolu = self.generateOptparseApplicativeCompletions [ "ormolu" ] (enableSeparateBinOutput super.ormolu_0_7_2_0);
-  hlint = super.hlint_3_6_1;
-
-  # v0.1.6 forbids base >= 4.18
-  singleton-bool = doDistribute super.singleton-bool_0_1_7;
-
   #
   # Too strict bounds without upstream fix
   #
 
   # Forbids transformers >= 0.6
   quickcheck-classes-base = doJailbreak super.quickcheck-classes-base;
+  # https://github.com/Gabriella439/Haskell-Break-Library/pull/3
+  break = doJailbreak super.break;
   # Forbids mtl >= 2.3
   ChasingBottoms = doJailbreak super.ChasingBottoms;
   # Forbids base >= 4.18
@@ -136,93 +105,23 @@ self: super: {
       })
     ] (super.hourglass);
 
-
-  # Test suite doesn't compile with base-4.18 / GHC 9.6
-  # https://github.com/dreixel/syb/issues/40
-  syb = dontCheck super.syb;
-
-  # 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 = super.haskell-language-server.override {
-      hls-floskell-plugin = null;
-    };
-
-  # Newer version of servant required for GHC 9.6
-  servant = self.servant_0_20_1;
-  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_1
-  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_1 = doJailbreak super.servant_0_20_1;
-  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);
   stm-containers = dontCheck super.stm-containers;
   regex-tdfa = dontCheck super.regex-tdfa;
-  rebase = doJailbreak super.rebase_1_20_2;
-  rerebase = doJailbreak super.rerebase_1_20_2;
   hiedb = dontCheck super.hiedb;
   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
-  ]) super.ghc-exactprint_1_7_0_1);
-
   inherit (pkgs.lib.mapAttrs (_: doJailbreak ) super)
     hls-cabal-plugin
-    algebraic-graphs
-    co-log-core
-    lens
-    cryptohash-sha1
-    cryptohash-md5
     ghc-trace-events
-    tasty-hspec
-    constraints-extras
-    tree-diff
-    implicit-hie-cradle
-    focus
-    hie-compat
-    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
   ;
@@ -233,9 +132,35 @@ self: super: {
   # Pending text-2.0 support https://github.com/gtk2hs/gtk2hs/issues/327
   gtk = doJailbreak super.gtk;
 
+  # 2023-12-23: It needs this to build under ghc-9.6.3.
+  #   A factor of 100 is insufficent, 200 seems seems to work.
+  hip = appendConfigureFlag "--ghc-options=-fsimpl-tick-factor=200" super.hip;
+
   # Doctest comments have bogus imports.
   bsb-http-chunked = dontCheck super.bsb-http-chunked;
 
+  # This can be removed once https://github.com/typeclasses/ascii-predicates/pull/1
+  # is merged and in a release that's being tracked.
+  ascii-predicates = appendPatch
+    (pkgs.fetchpatch
+      { url = "https://github.com/typeclasses/ascii-predicates/commit/2e6d9ed45987a8566f3a77eedf7836055c076d1a.patch";
+        name = "ascii-predicates-pull-1.patch";
+        relative = "ascii-predicates";
+        sha256 = "sha256-4JguQFZNRQpjZThLrAo13jNeypvLfqFp6o7c1bnkmZo=";
+      })
+    super.ascii-predicates;
+
+  # This can be removed once https://github.com/typeclasses/ascii-numbers/pull/1
+  # is merged and in a release that's being tracked.
+  ascii-numbers = appendPatch
+    (pkgs.fetchpatch
+      { url = "https://github.com/typeclasses/ascii-numbers/commit/e9474ad91bc997891f1a46afd5d0bdf9b9f7d768.patch";
+        name = "ascii-numbers-pull-1.patch";
+        relative = "ascii-numbers";
+        sha256 = "sha256-buw1UeW57CFefEfqdDUraSyQ+H/NvCZOv6WF2ORiYQg=";
+      })
+    super.ascii-numbers;
+
   # Fix ghc-9.6.x build errors.
   libmpd = appendPatch
     # https://github.com/vimus/libmpd-haskell/pull/138
@@ -263,5 +188,8 @@ self: super: {
   # the workaround on 9.6 is to revert to the LLVM backend (which is used
   # for these sorts of situations even on 9.2 and 9.4).
   # https://gitlab.haskell.org/ghc/ghc/-/issues/23746#note_525318
-  tls = if pkgs.stdenv.hostPlatform.isAarch64 then self.forceLlvmCodegenBackend super.tls else super.tls;
+  inherit (lib.mapAttrs (_: self.forceLlvmCodegenBackend) super)
+    tls
+    mmark
+    ;
 }