about summary refs log tree commit diff
path: root/pkgs/development/haskell-modules
diff options
context:
space:
mode:
authormaralorn <mail@maralorn.de>2023-08-08 22:45:56 +0200
committermaralorn <mail@maralorn.de>2023-08-08 22:49:51 +0200
commit3f8666295104180f95d27d209453dc1c83565b2f (patch)
tree8d728168882232584b7dc5946504e2229ffda5d9 /pkgs/development/haskell-modules
parentd0cdaabcf9f988799baf6990216f94051207462f (diff)
haskell.packages.ghc9{0,2}.haskell-language-server: Fix build
Diffstat (limited to 'pkgs/development/haskell-modules')
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix2
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix9
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix8
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml7
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix58
5 files changed, 79 insertions, 5 deletions
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 892e048843691..ea691888c26c6 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -117,8 +117,6 @@ self: super: {
   hls-brittany-plugin = assert super.hls-brittany-plugin.version == "1.1.0.0"; doJailbreak super.hls-brittany-plugin;
 
   hls-hlint-plugin = super.hls-hlint-plugin.override {
-    # For "ghc-lib" flag see https://github.com/haskell/haskell-language-server/issues/3185#issuecomment-1250264515
-    hlint = enableCabalFlag "ghc-lib" super.hlint;
     apply-refact = self.apply-refact_0_11_0_0;
   };
 
diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
index 28d02a5c8e5d1..c9ac2bae0f814 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
@@ -68,6 +68,14 @@ self: super: {
   tuple = addBuildDepend self.base-orphans super.tuple;
   vector-th-unbox = doJailbreak super.vector-th-unbox;
 
+  ormolu = self.ormolu_0_5_2_0.override {
+    Cabal-syntax = self.Cabal-syntax_3_8_1_0;
+  };
+
+  fourmolu = self.fourmolu_0_10_1_0.override {
+    Cabal-syntax = self.Cabal-syntax_3_8_1_0;
+  };
+
   doctest = dontCheck super.doctest;
   # Apply patches from head.hackage.
   language-haskell-extract = appendPatch (pkgs.fetchpatch {
@@ -87,6 +95,7 @@ self: super: {
     # Needed for modern ormolu and fourmolu.
     # Apply this here and not in common, because other ghc versions offer different Cabal versions.
     Cabal = lself.Cabal_3_6_3_0;
+    hls-overloaded-record-dot-plugin = null;
   }));
 
   # Needs to use ghc-lib due to incompatible GHC
diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix
index 38379c7221c8b..59579a58867f9 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix
@@ -58,6 +58,14 @@ self: super: {
   # weeder == 2.5.* requires GHC 9.4
   weeder = doDistribute self.weeder_2_4_1;
 
+  ormolu = self.ormolu_0_5_2_0.override {
+    Cabal-syntax = self.Cabal-syntax_3_8_1_0;
+  };
+
+  fourmolu = self.fourmolu_0_10_1_0.override {
+    Cabal-syntax = self.Cabal-syntax_3_8_1_0;
+  };
+
   # For GHC < 9.4, some packages need data-array-byte as an extra dependency
   hashable = addBuildDepends [ self.data-array-byte ] super.hashable;
   primitive = addBuildDepends [ self.data-array-byte ] super.primitive;
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
index f94d5fbc8f6a3..7e7f95486e8b0 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
@@ -63,6 +63,7 @@ extra-packages:
   - Cabal-syntax == 3.6.*               # Dummy package that ensures packages depending on Cabal-syntax can work for Cabal < 3.8
   - Cabal == 3.2.*                      # Used for packages needing newer Cabal on ghc 8.6 and 8.8
   - Cabal == 3.6.*                      # used for packages needing newer Cabal on ghc 8.10 and 9.0
+  - Cabal-syntax == 3.8.*               # version required for ormolu and fourmolu on ghc 9.2 and 9.0
   - Cabal-syntax == 3.10.*              # newest version required for cabal-install and other packages
   - cachix < 1.4                        # 2023-04-02: cachix 1.4{,.1} have known on multi-user Nix systems
   - directory == 1.3.7.*                # required to build cabal-install 3.10.* with GHC 9.2
@@ -84,7 +85,6 @@ extra-packages:
   - dhall == 1.38.1                     # required for spago
   - doctest == 0.18.*                   # 2021-11-19: closest to stackage version for GHC 9.*
   - foundation < 0.0.29                 # 2022-08-30: last version to support GHC < 8.10
-  - fourmolu == 0.3.0.0                 # 2022-09-21: needed for hls on ghc 8.8
   - ghc-api-compat == 8.10.7            # 2022-02-17: preserve for GHC 8.10.7
   - ghc-api-compat == 8.6               # 2021-09-07: preserve for GHC 8.8.4
   - ghc-exactprint == 0.6.*             # 2022-12-12: needed for GHC < 9.2
@@ -123,7 +123,9 @@ extra-packages:
   - optparse-applicative < 0.16         # needed for niv-0.2.19
   - ormolu == 0.1.4.1                   # 2022-09-21: needed for hls on ghc 8.8
   - ormolu == 0.2.*                     # 2022-02-21: For ghc 8.8 and 8.10
-  - ormolu == 0.5.*                     # 2022-04-12: For ghc 9.4
+  - ormolu == 0.5.2.0                   # 2023-08-08: for hls on ghc 9.0 and 9.2
+  - fourmolu == 0.3.0.0                 # 2022-09-21: needed for hls on ghc 8.8
+  - fourmolu == 0.10.1.0                # 2023-04-18: needed for hls on ghc 9.0 and 9.2
   - pantry == 0.5.2.1                   # needed for stack-2.7.3
   - path == 0.9.0                       # 2021-12-03: path version building with stackage genvalidity and GHC 9.0.2
   - resolv < 0.2                        # required to build cabal-install-3.10.1.0 with Stackage LTS 21
@@ -137,7 +139,6 @@ extra-packages:
   - commonmark-extensions < 0.2.3.3     # 2022-12-17: required by emanote 1.0.0.0 (to avoid a bug in 0.2.3.3)
   - retrie < 1.2.0.0                    # 2022-12-30: required for hls on ghc < 9.2
   - ghc-tags == 1.5.*                   # 2023-02-18: preserve for ghc-lib == 9.2.*
-  - fourmolu == 0.10.1.0                # 2023-04-18: for hls-fourmolu-plugin 1.1.1.0
   - shake-cabal < 0.2.2.3               # 2023-07-01: last version to support Cabal 3.6.*
   - unix-compat < 0.7                   # 2023-07-04: Need System.PosixCompat.User for git-annex
 
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index 8b7b451227020..d545edca450d1 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -2874,6 +2874,26 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "Cabal-syntax_3_8_1_0" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , deepseq, directory, filepath, mtl, parsec, pretty, text, time
+     , transformers, unix
+     }:
+     mkDerivation {
+       pname = "Cabal-syntax";
+       version = "3.8.1.0";
+       sha256 = "03yfk3b2sjmqpxmvx3mj185nifiaqapvc8hmbx4825z0kyqxvs07";
+       revision = "3";
+       editedCabalFile = "14zm8h7sfawysr9g37in8by8aj1p87fywj83hmshp8n6lrxr6bgd";
+       libraryHaskellDepends = [
+         array base binary bytestring containers deepseq directory filepath
+         mtl parsec pretty text time transformers unix
+       ];
+       description = "A library for working with .cabal files";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "Cabal-syntax_3_10_1_0" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , deepseq, directory, filepath, mtl, parsec, pretty, text, time
@@ -102063,6 +102083,7 @@ self: {
        ];
        description = "High-performance parsing from strict bytestrings";
        license = lib.licenses.mit;
+       maintainers = [ lib.maintainers.raehik ];
      }) {};
 
   "flay" = callPackage
@@ -109067,6 +109088,7 @@ self: {
        libraryHaskellDepends = [ base text ];
        description = "Familiar functions lifted to generic data types";
        license = lib.licenses.mit;
+       maintainers = [ lib.maintainers.raehik ];
      }) {};
 
   "generic-data-surgery" = callPackage
@@ -139569,6 +139591,7 @@ self: {
        libraryToolDepends = [ c2hs ];
        description = "Haskell bindings for the Keystone assembler framework";
        license = lib.licenses.gpl2Only;
+       maintainers = [ lib.maintainers.raehik ];
      }) {inherit (pkgs) keystone;};
 
   "heyting-algebras" = callPackage
@@ -214752,6 +214775,39 @@ self: {
        mainProgram = "ormolu";
      }) {};
 
+  "ormolu_0_5_2_0" = callPackage
+    ({ mkDerivation, ansi-terminal, array, base, binary, bytestring
+     , Cabal-syntax, containers, Diff, directory, dlist, file-embed
+     , filepath, ghc-lib-parser, gitrev, hspec, hspec-discover
+     , hspec-megaparsec, megaparsec, MemoTrie, mtl, optparse-applicative
+     , path, path-io, QuickCheck, syb, temporary, text
+     }:
+     mkDerivation {
+       pname = "ormolu";
+       version = "0.5.2.0";
+       sha256 = "1ai2wza4drirvf9pb7qsf03kii5jiayqs49c19ir93jd0ak9pi96";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         ansi-terminal array base binary bytestring Cabal-syntax containers
+         Diff directory dlist file-embed filepath ghc-lib-parser megaparsec
+         MemoTrie mtl syb text
+       ];
+       executableHaskellDepends = [
+         base containers filepath ghc-lib-parser gitrev optparse-applicative
+         text
+       ];
+       testHaskellDepends = [
+         base containers directory filepath ghc-lib-parser hspec
+         hspec-megaparsec path path-io QuickCheck temporary text
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "A formatter for Haskell source code";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       mainProgram = "ormolu";
+     }) {};
+
   "ormolu" = callPackage
     ({ mkDerivation, ansi-terminal, array, base, binary, bytestring
      , Cabal-syntax, containers, Diff, directory, dlist, file-embed
@@ -243658,6 +243714,7 @@ self: {
        testHaskellDepends = [ base QuickCheck ];
        description = "Refinement types with static and runtime checking";
        license = lib.licenses.mit;
+       maintainers = [ lib.maintainers.raehik ];
      }) {};
 
   "refined-http-api-data" = callPackage
@@ -243702,6 +243759,7 @@ self: {
        testHaskellDepends = [ base QuickCheck refined ];
        description = "Refinement types with static and runtime checking (+ Refined1)";
        license = lib.licenses.mit;
+       maintainers = [ lib.maintainers.raehik ];
      }) {};
 
   "refinery" = callPackage