diff options
author | maralorn <mail@maralorn.de> | 2023-08-08 22:45:56 +0200 |
---|---|---|
committer | maralorn <mail@maralorn.de> | 2023-08-08 22:49:51 +0200 |
commit | 3f8666295104180f95d27d209453dc1c83565b2f (patch) | |
tree | 8d728168882232584b7dc5946504e2229ffda5d9 /pkgs/development/haskell-modules | |
parent | d0cdaabcf9f988799baf6990216f94051207462f (diff) |
haskell.packages.ghc9{0,2}.haskell-language-server: Fix build
Diffstat (limited to 'pkgs/development/haskell-modules')
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 |