about summary refs log tree commit diff
path: root/pkgs/development/haskell-modules
diff options
context:
space:
mode:
authorsternenseemann <sternenseemann@systemli.org>2024-01-07 01:42:06 +0100
committersternenseemann <sternenseemann@systemli.org>2024-01-07 01:44:49 +0100
commit2676ce5a9a4f073f724887059022a278aa9fff76 (patch)
tree415585eecc1c18f92a2cd0f6f72ee7b1ed1d87a4 /pkgs/development/haskell-modules
parent799b5efeef84ec2eecaae0b4b4c778fb15c5f67f (diff)
downloadnixlib-2676ce5a9a4f073f724887059022a278aa9fff76.tar
nixlib-2676ce5a9a4f073f724887059022a278aa9fff76.tar.gz
nixlib-2676ce5a9a4f073f724887059022a278aa9fff76.tar.bz2
nixlib-2676ce5a9a4f073f724887059022a278aa9fff76.tar.lz
nixlib-2676ce5a9a4f073f724887059022a278aa9fff76.tar.xz
nixlib-2676ce5a9a4f073f724887059022a278aa9fff76.tar.zst
nixlib-2676ce5a9a4f073f724887059022a278aa9fff76.zip
haskell.packages.ghc98.haskell-language-server: allow build
Sorry, this is a bit of a draw the rest of the owl commit. Upgraded
where sensible/possible, all jailbreaks note the bounds issues which are
luckily relatively boring (base and friends).

Removed overrides are mostly stale overrides from configuration-head.nix
that don't work anymore and make little sense with the current package
set anyways.
Diffstat (limited to 'pkgs/development/haskell-modules')
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix16
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-9.8.x.nix83
2 files changed, 75 insertions, 24 deletions
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 15498c52d32b..96e70b7efc77 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -2786,9 +2786,19 @@ self: super: {
   # 2023-03-05: restrictive bounds on base https://github.com/diagrams/diagrams-gtk/issues/11
   diagrams-gtk = doJailbreak super.diagrams-gtk;
 
-  # 2023-03-13: restrictive bounds on validation-selective (>=0.1.0 && <0.2).
-  # Get rid of this in the next release: https://github.com/kowainik/tomland/commit/37f16460a6dfe4606d48b8b86c13635d409442cd
-  tomland = doJailbreak super.tomland;
+  tomland = overrideCabal (drv: {
+    # 2023-03-13: restrictive bounds on validation-selective (>=0.1.0 && <0.2).
+    # Get rid of this in the next release: https://github.com/kowainik/tomland/commit/37f16460a6dfe4606d48b8b86c13635d409442cd
+    jailbreak = true;
+    # Fix compilation of test suite with GHC >= 9.8
+    patches = drv.patches or [ ] ++ [
+      (pkgs.fetchpatch {
+        name = "tomland-disambiguate-string-type-for-ghc-9.8.patch";
+        url = "https://github.com/kowainik/tomland/commit/0f107269b8835a8253f618b75930b11d3a3f1337.patch";
+        sha256 = "13ndlfw32xh8jz5g6lpxzn2ks8zchb3y4j1jbbm2x279pdyvvars";
+      })
+    ];
+  }) super.tomland;
 
   # libfuse3 fails to mount fuse file systems within the build environment
   libfuse3 = dontCheck super.libfuse3;
diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.8.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.8.x.nix
index c2718537a283..d6672c22a203 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-9.8.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-9.8.x.nix
@@ -49,30 +49,71 @@ self: super: {
   unix = null;
   xhtml = null;
 
-  # https://github.com/tibbe/unordered-containers/issues/214
-  unordered-containers = dontCheck super.unordered-containers;
+  # HLS
+  # https://haskell-language-server.readthedocs.io/en/latest/support/plugin-support.html
+  haskell-language-server = super.haskell-language-server.override {
+    hls-class-plugin = null;
+    hls-floskell-plugin = null;
+    hls-fourmolu-plugin = null;
+    hls-gadt-plugin = null;
+    hls-hlint-plugin = null;
+    hls-ormolu-plugin = null;
+    hls-refactor-plugin = null;
+    hls-rename-plugin = null;
+    hls-retrie-plugin = null;
+    hls-splice-plugin = null;
+    hls-stylish-haskell-plugin = null;
+  };
 
-  # Test suite does not compile.
-  data-clist = doJailbreak super.data-clist;  # won't cope with QuickCheck 2.12.x
-  dates = doJailbreak super.dates; # base >=4.9 && <4.12
-  Diff = dontCheck super.Diff;
-  HaTeX = doJailbreak super.HaTeX; # containers >=0.4 && <0.6 is too tight; https://github.com/Daniel-Diaz/HaTeX/issues/126
-  hpc-coveralls = doJailbreak super.hpc-coveralls; # https://github.com/guillaume-nargeot/hpc-coveralls/issues/82
-  http-api-data = doJailbreak super.http-api-data;
-  persistent-sqlite = dontCheck super.persistent-sqlite;
-  system-fileio = dontCheck super.system-fileio;  # avoid dependency on broken "patience"
-  unicode-transforms = dontCheck super.unicode-transforms;
-  wl-pprint-extras = doJailbreak super.wl-pprint-extras; # containers >=0.4 && <0.6 is too tight; https://github.com/ekmett/wl-pprint-extras/issues/17
-  RSA = dontCheck super.RSA; # https://github.com/GaloisInc/RSA/issues/14
-  github = dontCheck super.github; # hspec upper bound exceeded; https://github.com/phadej/github/pull/341
-  binary-orphans = dontCheck super.binary-orphans; # tasty upper bound exceeded; https://github.com/phadej/binary-orphans/commit/8ce857226595dd520236ff4c51fa1a45d8387b33
+  # Version upgrades
+  alex = doDistribute self.alex_3_4_0_1;
+  some = doDistribute self.some_1_0_6;
+  tagged = doDistribute self.tagged_0_8_8;
+  th-abstraction = doDistribute self.th-abstraction_0_6_0_0;
+  hspec-core = doDistribute self.hspec-core_2_11_7;
+  hspec-meta = doDistribute self.hspec-meta_2_11_7;
+  hspec-discover = doDistribute self.hspec-discover_2_11_7;
+  hspec = doDistribute self.hspec_2_11_7;
+  hspec-expectations = doDistribute self.hspec-expectations_0_8_4;
+  bifunctors = doDistribute self.bifunctors_5_6_1;
+  free = doDistribute self.free_5_2;
+  semigroupoids = doDistribute self.semigroupoids_6_0_0_1;
+  doctest = doDistribute self.doctest_0_22_2;
+  ghc-lib-parser = doDistribute self.ghc-lib-parser_9_8_1_20231121;
+  ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_8_0_0;
+  ghc-lib = doDistribute self.ghc-lib_9_8_1_20231121;
+  megaparsec = doDistribute self.megaparsec_9_6_1;
+  tasty-hspec = doDistribute self.tasty-hspec_1_2_0_4;
+  hedgehog = doDistribute self.hedgehog_1_4;
+  rebase = doDistribute self.rebase_1_20_2;
+  rerebase = doDistribute self.rerebase_1_20_2;
+  aeson = doDistribute self.aeson_2_2_1_0;
+  aeson-pretty = doDistribute self.aeson-pretty_0_8_10;
+  attoparsec-aeson = doDistribute self.attoparsec-aeson_2_2_0_1;
+  ormolu = doDistribute self.ormolu_0_7_3_0;
+  fourmolu = doDistribute (dontCheck self.fourmolu_0_14_1_0);
 
-  # https://github.com/jgm/skylighting/issues/55
-  skylighting-core = dontCheck super.skylighting-core;
-
-  # Break out of "yaml >=0.10.4.0 && <0.11": https://github.com/commercialhaskell/stack/issues/4485
-  stack = doJailbreak super.stack;
+  # Jailbreaks
+  commutative-semigroups = doJailbreak super.commutative-semigroups; # base < 4.19
+  ghc-trace-events = doJailbreak super.ghc-trace-events; # text < 2.1, bytestring < 0.12, base < 4.19
+  primitive-unlifted = doJailbreak super.primitive-unlifted; # bytestring < 0.12
+  newtype-generics = doJailbreak super.newtype-generics; # base < 4.19
+  hw-prim = doJailbreak super.hw-prim; # doctest < 0.22, ghc-prim < 0.11, hedgehog < 1.4
+  hw-fingertree = doJailbreak super.hw-fingertree; # deepseq <1.5, doctest < 0.22, hedgehog < 1.4
   # Too strict bound on base, believe it or not.
   # https://github.com/judah/terminfo/pull/55#issuecomment-1876894232
   terminfo_0_4_1_6 = doJailbreak super.terminfo_0_4_1_6;
+
+  # Test suite issues
+  unordered-containers = dontCheck super.unordered-containers; # ChasingBottoms doesn't support base 4.20
+  lifted-base = dontCheck super.lifted-base; # doesn't compile with transformers == 0.6.*
+  # https://github.com/wz1000/HieDb/issues/64
+  hiedb = overrideCabal (drv: {
+    testFlags = drv.testFlags or [ ] ++ [
+      "--match" "!/hiedb/Command line/point-info/correctly prints type signatures/"
+    ];
+  }) super.hiedb;
+
+  # Unbroken due to hspec* upgrades
+  hspec-api = doDistribute (unmarkBroken super.hspec-api);
 }