From 7c2fda45cc67990994ee160309fb5ed2e8425ff3 Mon Sep 17 00:00:00 2001 From: maralorn Date: Tue, 20 Sep 2022 02:49:35 +0200 Subject: [PATCH] haskell-language-server: 1.7.0.0 -> 1.8.0.0 --- .../scripts/haskell/update-stackage.sh | 7 + .../haskell-modules/configuration-common.nix | 68 ++--- .../configuration-ghc-8.10.x.nix | 35 +-- .../configuration-ghc-8.8.x.nix | 29 +- .../configuration-ghc-9.0.x.nix | 6 + .../configuration-ghc-9.2.x.nix | 31 +- .../configuration-hackage2nix/main.yaml | 10 +- .../configuration-hackage2nix/stackage.yaml | 4 - .../haskell-modules/configuration-nix.nix | 18 +- .../haskell-modules/hackage-packages.nix | 269 +++++++++++------- 10 files changed, 269 insertions(+), 208 deletions(-) diff --git a/maintainers/scripts/haskell/update-stackage.sh b/maintainers/scripts/haskell/update-stackage.sh index 4da9f6d28c2f..f1f04cdf4504 100755 --- a/maintainers/scripts/haskell/update-stackage.sh +++ b/maintainers/scripts/haskell/update-stackage.sh @@ -58,7 +58,14 @@ sed -r \ -e '/ jailbreak-cabal /d' \ -e '/ language-nix /d' \ -e '/ cabal-install /d' \ + -e '/ lsp /d' \ + -e '/ lsp-types /d' \ + -e '/ lsp-test /d' \ + -e '/ hie-bios /d' \ < "${tmpfile_new}" >> $stackage_config +# Explanations: +# cabal2nix, distribution-nixpkgs, jailbreak-cabal, language-nix: These are our packages and we know what we are doing. +# lsp, lsp-types, lsp-test, hie-bios: These are tightly coupled to hls which is not in stackage. They have no rdeps in stackage. if [[ "${1:-}" == "--do-commit" ]]; then git add $stackage_config diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 9abcbaa83304..6761be0d34d8 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1286,13 +1286,17 @@ self: super: { # upstream: https://github.com/obsidiansystems/which/pull/6 which = doJailbreak super.which; - # the test suite attempts to run the binaries built in this package - # through $PATH but they aren't in $PATH - dhall-lsp-server = dontCheck super.dhall-lsp-server; - # https://github.com/ocharles/weeder/issues/15 weeder = doJailbreak super.weeder; + # 2022-09-20: We have overridden lsp to not be the stackage version. + # dhall-lsp-server needs the older 1.4.0.0 lsp + dhall-lsp-server = super.dhall-lsp-server.override { + lsp = dontCheck (super.lsp_1_4_0_0.override { + lsp-types = super.lsp-types_1_4_0_1; + }); + }; + # Requested version bump on upstream https://github.com/obsidiansystems/constraints-extras/issues/32 constraints-extras = doJailbreak super.constraints-extras; @@ -1518,20 +1522,22 @@ self: super: { }) ] super.binary-strict; - # 2020-11-19: Checks nearly fixed, but still disabled because of flaky tests: - # https://github.com/haskell/haskell-language-server/issues/610 - # https://github.com/haskell/haskell-language-server/issues/611 - haskell-language-server = lib.pipe super.haskell-language-server [ + haskell-language-server = (lib.pipe super.haskell-language-server [ dontCheck - (appendConfigureFlags ["-ftactics"]) - (overrideCabal (old: { - libraryHaskellDepends = old.libraryHaskellDepends ++ [ - super.hls-tactics-plugin - ]; - })) - ]; + (disableCabalFlag "stan") # Sorry stan is totally unmaintained and terrible to get to run. It only works on ghc 8.8 or 8.10 anyways … + ]).overrideScope (lself: lsuper: { + # For "ghc-lib" flag see https://github.com/haskell/haskell-language-server/issues/3185#issuecomment-1250264515 + hlint = enableCabalFlag "ghc-lib" lself.hlint_3_4_1; + ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_2_0_4; + ormolu = doJailbreak lself.ormolu_0_5_0_1; + fourmolu = doJailbreak lself.fourmolu_0_8_2_0; + ghc-lib-parser = lself.ghc-lib-parser_9_2_4_20220729; + }); - lsp = assert super.lsp.version == "1.4.0.0"; dontCheck super.lsp; + # For -f-auto see cabal.project in haskell-language-server. + ghc-lib-parser-ex_9_2_0_4 = disableCabalFlag "auto" (super.ghc-lib-parser-ex_9_2_0_4.override { + ghc-lib-parser = self.ghc-lib-parser_9_2_4_20220729; + }); # 2021-05-08: Tests fail: https://github.com/haskell/haskell-language-server/issues/1809 hls-eval-plugin = dontCheck super.hls-eval-plugin; @@ -1552,6 +1558,9 @@ self: super: { # https://github.com/haskell/haskell-language-server/issues/2375 hls-pragmas-plugin = dontCheck super.hls-pragmas-plugin; + # 2022-09-19: https://github.com/haskell/haskell-language-server/issues/3200 + hls-refactor-plugin = dontCheck super.hls-refactor-plugin; + # 2021-03-21: Test hangs # https://github.com/haskell/haskell-language-server/issues/1562 # 2021-11-13: Too strict upper bound on implicit-hie-cradle @@ -2098,19 +2107,7 @@ self: super: { # 2022-03-21: Newest stylish-haskell needs ghc-lib-parser-9_2 stylish-haskell = (super.stylish-haskell.override { - ghc-lib-parser = super.ghc-lib-parser_9_2_4_20220729; - ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_2_1_1; - }); - - ghc-lib-parser-ex_9_2_1_1 = super.ghc-lib-parser-ex_9_2_1_1.override { - ghc-lib-parser = super.ghc-lib-parser_9_2_4_20220729; - }; - - ghc-lib-parser-ex_9_2_0_4 = super.ghc-lib-parser-ex_9_2_0_4.override { - ghc-lib-parser = super.ghc-lib-parser_9_2_4_20220729; - }; - - hlint_3_4_1 = doDistribute (super.hlint_3_4_1.override { + ghc-lib-parser = self.ghc-lib-parser_9_2_4_20220729; ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_2_0_4; }); @@ -2141,10 +2138,6 @@ self: super: { # 2021-08-18: streamly-posix was released with hspec 2.8.2, but it works with older versions too. streamly-posix = doJailbreak super.streamly-posix; - # Not running the "example" test because it requires a binary from lsps test - # suite which is not part of the output of lsp. - lsp-test = overrideCabal (old: { testTarget = "tests func-test"; }) super.lsp-test; - # 2021-09-14: Tests are flaky. hls-splice-plugin = dontCheck super.hls-splice-plugin; @@ -2492,13 +2485,8 @@ self: super: { # has been resolved. lucid-htmx = doJailbreak super.lucid-htmx; - lsp_1_5_0_0 = doDistribute (super.lsp_1_5_0_0.override { - lsp-types = self.lsp-types_1_5_0_0; - }); - - futhark = super.futhark.override { - lsp = self.lsp_1_5_0_0; - }; + # 2022-09-20: Restrictive upper bound on lsp + futhark = doJailbreak super.futhark; # Too strict bounds on hspec # https://github.com/klapaucius/vector-hashtables/issues/11 diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix index 4e71c26a504b..1eb8e4af80f7 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix @@ -96,31 +96,20 @@ self: super: { executableHaskellDepends = drv.executableToolDepends or [] ++ [ self.repline ]; }) super.hnix); + haskell-language-server = addBuildDepend self.hls-brittany-plugin (super.haskell-language-server.overrideScope (lself: lsuper: { + Cabal = lself.Cabal_3_6_3_0; + aeson = lself.aeson_1_5_6_0; + lsp-types = doJailbreak lsuper.lsp-types; # Checks require aeson >= 2.0 + })); + + hls-brittany-plugin = super.hls-brittany-plugin.overrideScope (lself: lsuper: { + brittany = doJailbreak lself.brittany_0_13_1_2; + aeson = lself.aeson_1_5_6_0; + lsp-types = doJailbreak lsuper.lsp-types; # Checks require aeson >= 2.0 + }); + mime-string = disableOptimization super.mime-string; - # Older compilers need the latest ghc-lib to build this package. - # Fix build with ghc-lib >= 9.0 and ghc <= 8.10.7 - # https://github.com/haskell/haskell-language-server/issues/2728 - hls-hlint-plugin = addBuildDepend self.ghc-lib (appendPatch (pkgs.fetchpatch { - name = "hls-hlint-plugin-workaround.patch"; - url = "https://github.com/haskell/haskell-language-server/pull/2854.patch"; - hash = "sha256-bLGu0OQtXsmMF3rZM+R6k7bsZm4Vgf2r0ert5Wunong="; - stripLen = 2; - includes = ["src/Ide/Plugin/Hlint.hs"]; - }) super.hls-hlint-plugin); - - haskell-language-server = appendConfigureFlags [ - "-f-stylishhaskell" - "-f-brittany" - ] - super.haskell-language-server; - - # has a restrictive lower bound on Cabal - fourmolu = doJailbreak super.fourmolu; - - # ormolu 0.3 requires Cabal == 3.4 - ormolu = super.ormolu_0_2_0_0; - # weeder 2.3.0 no longer supports GHC 8.10 weeder = doDistribute (doJailbreak self.weeder_2_2_0); diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix index 48cb8ed8c085..05585b885650 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix @@ -141,20 +141,23 @@ self: super: { mime-string = disableOptimization super.mime-string; - # Older compilers need the latest ghc-lib to build this package. - hls-hlint-plugin = addBuildDepend self.ghc-lib (overrideCabal (drv: { - # Workaround for https://github.com/haskell/haskell-language-server/issues/2728 - postPatch = '' - sed -i 's/(GHC.RealSrcSpan x,/(GHC.RealSrcSpan x Nothing,/' src/Ide/Plugin/Hlint.hs - ''; - }) - super.hls-hlint-plugin); + haskell-language-server = addBuildDepend self.hls-brittany-plugin (super.haskell-language-server.overrideScope (lself: lsuper: { + ghc-lib-parser = lself.ghc-lib-parser_8_10_7_20220219; + ghc-lib-parser-ex = addBuildDepend lself.ghc-lib-parser lself.ghc-lib-parser-ex_8_10_0_24; + # Pick old ormolu and fourmolu because ghc-lib-parser is not compatible + ormolu = doJailbreak lself.ormolu_0_1_4_1; + fourmolu = doJailbreak lself.fourmolu_0_3_0_0; + hlint = lself.hlint_3_2_8; + aeson = lself.aeson_1_5_6_0; + stylish-haskell = lself.stylish-haskell_0_13_0_0; + lsp-types = doJailbreak lsuper.lsp-types; + })); - haskell-language-server = appendConfigureFlags [ - "-f-stylishhaskell" - "-f-brittany" - ] - super.haskell-language-server; + hls-brittany-plugin = super.hls-brittany-plugin.overrideScope (lself: lsuper: { + brittany = doJailbreak lself.brittany_0_13_1_2; + aeson = lself.aeson_1_5_6_0; + lsp-types = doJailbreak lsuper.lsp-types; + }); # has a restrictive lower bound on Cabal fourmolu = doJailbreak super.fourmolu; 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 c5585825c382..9cc6a3ecd243 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix @@ -99,6 +99,12 @@ self: super: { sha256 = "0rgzrq0513nlc1vw7nw4km4bcwn4ivxcgi33jly4a7n3c1r32v1f"; }) (doJailbreak super.language-haskell-extract); + haskell-language-server = super.haskell-language-server.overrideScope (lself: lsuper: { + # 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; + }); + # The test suite depends on ChasingBottoms, which is broken with ghc-9.0.x. unordered-containers = dontCheck super.unordered-containers; 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 41228cfb294b..db27788eeae5 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix @@ -190,8 +190,13 @@ self: super: { revision = null; } super.memory); - # Use hlint from git for GHC 9.2.1 support - hlint = self.hlint_3_4_1; + # For -fghc-lib see cabal.project in haskell-language-server. + stylish-haskell = enableCabalFlag "ghc-lib" super.stylish-haskell; + + # For "ghc-lib" flag see https://github.com/haskell/haskell-language-server/issues/3185#issuecomment-1250264515 + hlint = enableCabalFlag "ghc-lib" (super.hlint_3_4_1.override { + ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_2_0_4; + }); # https://github.com/sjakobi/bsb-http-chunked/issues/38 bsb-http-chunked = dontCheck super.bsb-http-chunked; @@ -201,13 +206,8 @@ self: super: { jacinda = doDistribute super.jacinda; some = doJailbreak super.some; - # 2022-06-05: this is not the latest version of fourmolu because - # hls-fourmolu-plugin 1.0.3.0 doesn‘t support a newer one. - fourmolu = super.fourmolu_0_6_0_0; - # hls-fourmolu-plugin in this version has a to strict upper bound of fourmolu <= 0.5.0.0 - hls-fourmolu-plugin = assert super.hls-fourmolu-plugin.version == "1.0.3.0"; doJailbreak super.hls-fourmolu-plugin; + fourmolu = super.fourmolu_0_8_2_0; - hls-ormolu-plugin = assert super.hls-ormolu-plugin.version == "1.0.2.1"; doJailbreak super.hls-ormolu-plugin; implicit-hie-cradle = doJailbreak super.implicit-hie-cradle; # 1.3 introduced support for GHC 9.2.x, so when this assert fails, the jailbreak can be removed hashtables = assert super.hashtables.version == "1.2.4.2"; doJailbreak super.hashtables; @@ -215,20 +215,15 @@ self: super: { # 2022-08-01: Tests are broken on ghc 9.2.4: https://github.com/wz1000/HieDb/issues/46 hiedb = doJailbreak (dontCheck super.hiedb); + apply-refact = doDistribute super.apply-refact_0_10_0_0; + # 2022-02-05: The following plugins don‘t work yet on ghc9.2. # Compare: https://haskell-language-server.readthedocs.io/en/latest/supported-versions.html - haskell-language-server = overrideCabal (old: {libraryHaskellDepends = builtins.filter (x: x != super.hls-tactics-plugin) old.libraryHaskellDepends;}) - (appendConfigureFlags [ - "-f-haddockComments" - "-f-retrie" - "-f-splice" - "-f-tactics" - ] (super.haskell-language-server.override { + haskell-language-server = super.haskell-language-server.override { hls-haddock-comments-plugin = null; - hls-hlint-plugin = null; - hls-retrie-plugin = null; hls-splice-plugin = null; - })); + hls-tactics-plugin = null; + }; # https://github.com/fpco/inline-c/pull/131 inline-c-cpp = diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml index d828b93d0a4a..7c76ce72a578 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml @@ -113,7 +113,6 @@ extra-packages: - dhall == 1.29.0 # required for ats-pkg - dhall == 1.38.1 # required for spago - doctest == 0.18.* # 2021-11-19: closest to stackage version for GHC 9.* - - fourmolu == 0.6.0.0 # 2022-06-05: Last fourmolu version compatible with hls 1.7/ hls-fourmolu-plugin 1.0.3.0 - 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-lib == 8.10.7.* # 2022-02-17: preserve for GHC 8.10.7 @@ -121,7 +120,7 @@ extra-packages: - ghc-lib-parser == 8.10.7.* # 2022-02-17: preserve for GHC 8.10.7 - ghc-lib-parser == 9.2.* # 2022-02-17: preserve for GHC 9.2 - ghc-lib-parser-ex == 8.10.* # 2022-02-17: preserve for GHC 8.10.7 - - ghc-lib-parser-ex == 9.2.* # 2022-07-13: preserve for GHC 9.2 + - ghc-lib-parser-ex == 9.2.* # 2022-07-13: preserve for GHC 9.2 - ghc-lib-parser-ex >= 9.2.0.3 && < 9.2.1 # 2022-07-13: needed by hlint 3.4.1 - haddock == 2.23.* # required on GHC < 8.10.x - haddock-api == 2.23.* # required on GHC < 8.10.x @@ -153,6 +152,13 @@ extra-packages: - basement < 0.0.15 # 2022-08-30: last version to support GHC < 8.10 - foundation < 0.0.29 # 2022-08-30: last version to support GHC < 8.10 - cabal-install-parsers < 0.5 # 2022-08-31: required by haskell-ci 0.14.3 + - lsp == 1.4.0.0 # 2022-09-18: need for dhall-lsp-server 1.1.2 + - lsp-types == 1.4.0.1 # 2022-09-18: need for dhall-lsp-server 1.1.2 + - stylish-haskell == 0.13.0.0 # 2022-09-19: needed for hls on ghc 8.8 + - brittany == 0.13.1.2 # 2022-09-20: needed for hls on ghc 8.8 + - fourmolu == 0.3.0.0 # 2022-09-21: needed for hls on ghc 8.8 + - ormolu == 0.1.4.1 # 2022-09-21: needed for hls on ghc 8.8 + - hlint == 3.2.8 # 2022-09-21: needed for hls on ghc 8.8 package-maintainers: abbradar: diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml index d6a5bfa74c2d..15e9de507891 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml @@ -1048,7 +1048,6 @@ default-package-overrides: - hgeometry-combinatorial ==0.14 - hid ==0.2.2 - hidapi ==0.1.8 - - hie-bios ==0.9.1 - hi-file-parser ==0.1.3.0 - higher-leveldb ==0.6.0.0 - highlighting-kate ==0.6.4 @@ -1455,9 +1454,6 @@ default-package-overrides: - lpeg ==1.0.3 - lrucache ==1.2.0.1 - lrucaching ==0.3.3 - - lsp ==1.4.0.0 - - lsp-test ==0.14.0.2 - - lsp-types ==1.4.0.1 - lua ==2.1.0 - lua-arbitrary ==1.0.1 - lucid ==2.11.1 diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index a728aa6376b6..21016baede7b 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -498,6 +498,14 @@ self: super: builtins.intersectAttrs super { librarySystemDepends = drv.librarySystemDepends or [] ++ [ pkgs.cyrus_sasl.dev ]; }) super.LDAP); + # Not running the "example" test because it requires a binary from lsps test + # suite which is not part of the output of lsp. + lsp-test = overrideCabal (old: { testTarget = "tests func-test"; }) super.lsp-test; + + # the test suite attempts to run the binaries built in this package + # through $PATH but they aren't in $PATH + dhall-lsp-server = dontCheck super.dhall-lsp-server; + # Expects z3 to be on path so we replace it with a hard # # The tests expect additional solvers on the path, replace the @@ -935,11 +943,11 @@ self: super: builtins.intersectAttrs super { }) super.procex; # Test suite wants to run main executable - fourmolu_0_7_0_1 = overrideCabal (drv: { + fourmolu_0_8_2_0 = overrideCabal (drv: { preCheck = drv.preCheck or "" + '' export PATH="$PWD/dist/build/fourmolu:$PATH" ''; - }) super.fourmolu_0_7_0_1; + }) super.fourmolu_0_8_2_0; # Apply a patch which hardcodes the store path of graphviz instead of using # whatever graphviz is in PATH. @@ -1053,9 +1061,13 @@ self: super: builtins.intersectAttrs super { hls-fourmolu-plugin hls-module-name-plugin hls-pragmas-plugin - hls-splice-plugin; + hls-splice-plugin + hls-refactor-plugin + hls-code-range-plugin + hls-explicit-fixity-plugin; # Tests have file permissions expections that don‘t work with the nix store. hls-stylish-haskell-plugin = dontCheck super.hls-stylish-haskell-plugin; + hls-gadt-plugin = dontCheck super.hls-gadt-plugin; # Flaky tests hls-hlint-plugin = dontCheck super.hls-hlint-plugin; diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index 577b5c208f26..306c0c77afc0 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -48621,6 +48621,40 @@ self: { broken = true; }) {}; + "brittany_0_13_1_2" = callPackage + ({ mkDerivation, aeson, base, butcher, bytestring, cmdargs + , containers, czipwith, data-tree-print, deepseq, directory, extra + , filepath, ghc, ghc-boot-th, ghc-exactprint, ghc-paths, hspec + , monad-memo, mtl, multistate, parsec, pretty, random, safe + , semigroups, strict, syb, text, transformers, uniplate, unsafe + , yaml + }: + mkDerivation { + pname = "brittany"; + version = "0.13.1.2"; + sha256 = "1pa8qgsild3zl56sdmbsllka64k05jk2p16ij3bdla4rbfw96z5g"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson base butcher bytestring cmdargs containers czipwith + data-tree-print deepseq directory extra filepath ghc ghc-boot-th + ghc-exactprint ghc-paths monad-memo mtl multistate pretty random + safe semigroups strict syb text transformers uniplate unsafe yaml + ]; + executableHaskellDepends = [ base ]; + testHaskellDepends = [ + aeson base butcher bytestring cmdargs containers czipwith + data-tree-print deepseq directory extra filepath ghc ghc-boot-th + ghc-exactprint ghc-paths hspec monad-memo mtl multistate parsec + pretty safe semigroups strict syb text transformers uniplate unsafe + yaml + ]; + description = "Haskell source code formatter"; + license = lib.licenses.agpl3Only; + hydraPlatforms = lib.platforms.none; + mainProgram = "brittany"; + }) {}; + "brittany" = callPackage ({ mkDerivation, aeson, base, butcher, bytestring, cmdargs , containers, czipwith, data-tree-print, deepseq, directory, extra @@ -102128,6 +102162,38 @@ self: { license = lib.licenses.bsd3; }) {}; + "fourmolu_0_3_0_0" = callPackage + ({ mkDerivation, aeson, base, bytestring, containers, directory + , dlist, exceptions, filepath, ghc-lib-parser, gitrev, hspec + , hspec-discover, HsYAML, HsYAML-aeson, mtl, optparse-applicative + , path, path-io, syb, text + }: + mkDerivation { + pname = "fourmolu"; + version = "0.3.0.0"; + sha256 = "0v89dvcr8l0swj23kkakc39q6lyxjz90rqgwy7m6a5p6iv3h2wms"; + revision = "2"; + editedCabalFile = "16ky7wzmnwhzkk18r63ynq78vlrg065z6mp3hqgs92khpjr33g1l"; + isLibrary = true; + isExecutable = true; + enableSeparateDataOutput = true; + libraryHaskellDepends = [ + aeson base bytestring containers directory dlist exceptions + filepath ghc-lib-parser HsYAML HsYAML-aeson mtl syb text + ]; + executableHaskellDepends = [ + base directory ghc-lib-parser gitrev optparse-applicative text + ]; + testHaskellDepends = [ + base containers filepath hspec path path-io text + ]; + testToolDepends = [ hspec-discover ]; + description = "A formatter for Haskell source code"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + mainProgram = "fourmolu"; + }) {}; + "fourmolu" = callPackage ({ mkDerivation, aeson, ansi-terminal, base, bytestring, Cabal , containers, Diff, directory, dlist, exceptions, filepath @@ -102162,39 +102228,6 @@ self: { mainProgram = "fourmolu"; }) {}; - "fourmolu_0_6_0_0" = callPackage - ({ mkDerivation, aeson, ansi-terminal, array, base, bytestring - , Cabal, containers, Diff, directory, dlist, exceptions, filepath - , ghc-lib-parser, gitrev, hspec, hspec-discover, HsYAML - , HsYAML-aeson, mtl, optparse-applicative, path, path-io, syb - , temporary, text - }: - mkDerivation { - pname = "fourmolu"; - version = "0.6.0.0"; - sha256 = "0yxv3ih2jjnjzdhz31y4a94ly6g3qhddrm3lvflqrb4krk445p67"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ - aeson ansi-terminal array base bytestring Cabal containers Diff - directory dlist exceptions filepath ghc-lib-parser HsYAML - HsYAML-aeson mtl syb text - ]; - executableHaskellDepends = [ - base directory filepath ghc-lib-parser gitrev optparse-applicative - text - ]; - testHaskellDepends = [ - base containers directory filepath hspec path path-io temporary - text - ]; - testToolDepends = [ hspec-discover ]; - description = "A formatter for Haskell source code"; - license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; - mainProgram = "fourmolu"; - }) {}; - "fourmolu_0_8_2_0" = callPackage ({ mkDerivation, aeson, ansi-terminal, array, base, bytestring , Cabal, containers, Diff, directory, dlist, exceptions, filepath @@ -137926,41 +137959,6 @@ self: { }) {}; "hie-bios" = callPackage - ({ mkDerivation, aeson, base, base16-bytestring, bytestring - , conduit, conduit-extra, containers, cryptohash-sha1, deepseq - , directory, exceptions, extra, file-embed, filepath, ghc, hslogger - , optparse-applicative, process, tagged, tasty - , tasty-expected-failure, tasty-hunit, temporary, text, time - , transformers, unix-compat, unordered-containers, vector, yaml - }: - mkDerivation { - pname = "hie-bios"; - version = "0.9.1"; - sha256 = "0pcbgrn0hl19rk72z7mcd44j72lsmnl88nlk95rlb47l0ymr3ij1"; - revision = "1"; - editedCabalFile = "1hvhln1mnvghs05959fi5i71gaw04zhdk4wg558h2p4ybjcjsvb5"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ - aeson base base16-bytestring bytestring conduit conduit-extra - containers cryptohash-sha1 deepseq directory exceptions extra - file-embed filepath ghc hslogger process temporary text time - transformers unix-compat unordered-containers vector yaml - ]; - executableHaskellDepends = [ - base directory filepath ghc optparse-applicative - ]; - testHaskellDepends = [ - aeson base directory extra filepath ghc tagged tasty - tasty-expected-failure tasty-hunit temporary text - unordered-containers yaml - ]; - description = "Set up a GHC API session"; - license = lib.licenses.bsd3; - mainProgram = "hie-bios"; - }) {}; - - "hie-bios_0_11_0" = callPackage ({ mkDerivation, aeson, base, base16-bytestring, bytestring , co-log-core, conduit, conduit-extra, containers, cryptohash-sha1 , deepseq, directory, exceptions, extra, file-embed, filepath, ghc @@ -137992,7 +137990,6 @@ self: { ]; description = "Set up a GHC API session"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; mainProgram = "hie-bios"; }) {}; @@ -140614,6 +140611,34 @@ self: { license = lib.licenses.mit; }) {inherit (pkgs) libsass;}; + "hlint_3_2_8" = callPackage + ({ mkDerivation, aeson, ansi-terminal, base, bytestring, cmdargs + , containers, cpphs, data-default, directory, extra, file-embed + , filepath, filepattern, ghc-lib-parser, ghc-lib-parser-ex + , hscolour, process, refact, text, transformers, uniplate + , unordered-containers, utf8-string, vector, yaml + }: + mkDerivation { + pname = "hlint"; + version = "3.2.8"; + sha256 = "14nvq71kn1lhqx02r69f949p33rhxi466fwmxj9g0wd5191jawrs"; + isLibrary = true; + isExecutable = true; + enableSeparateDataOutput = true; + libraryHaskellDepends = [ + aeson ansi-terminal base bytestring cmdargs containers cpphs + data-default directory extra file-embed filepath filepattern + ghc-lib-parser ghc-lib-parser-ex hscolour process refact text + transformers uniplate unordered-containers utf8-string vector yaml + ]; + executableHaskellDepends = [ base ]; + description = "Source code suggestions"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + mainProgram = "hlint"; + maintainers = [ lib.maintainers.maralorn ]; + }) {}; + "hlint" = callPackage ({ mkDerivation, aeson, ansi-terminal, base, bytestring, cmdargs , containers, cpphs, data-default, directory, extra, file-embed @@ -182269,7 +182294,7 @@ self: { broken = true; }) {}; - "lsp" = callPackage + "lsp_1_4_0_0" = callPackage ({ mkDerivation, aeson, async, attoparsec, base, bytestring , containers, data-default, exceptions, filepath, hashable , hslogger, hspec, hspec-discover, lens, lsp-types, mtl @@ -182299,9 +182324,10 @@ self: { testToolDepends = [ hspec-discover ]; description = "Haskell library for the Microsoft Language Server Protocol"; license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; }) {}; - "lsp_1_6_0_0" = callPackage + "lsp" = callPackage ({ mkDerivation, aeson, async, attoparsec, base, bytestring , co-log-core, containers, data-default, directory, exceptions , filepath, hashable, hspec, hspec-discover, lens, lsp-types, mtl @@ -182328,39 +182354,9 @@ self: { testToolDepends = [ hspec-discover ]; description = "Haskell library for the Microsoft Language Server Protocol"; license = lib.licenses.mit; - hydraPlatforms = lib.platforms.none; }) {}; "lsp-test" = callPackage - ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, async, base - , bytestring, conduit, conduit-parse, containers, data-default - , Diff, directory, extra, filepath, Glob, hspec, lens, lsp - , lsp-types, mtl, parser-combinators, process, some, text, time - , transformers, unix, unliftio, unordered-containers - }: - mkDerivation { - pname = "lsp-test"; - version = "0.14.0.2"; - sha256 = "1capjilca74cqiwmrhbl1an6ih3227n3g417dfvql0lffa3j6qsf"; - revision = "1"; - editedCabalFile = "0szqlr1brhr1z2m2fwqj98ghh73d2sim4r5mbqzm072f6iycl6ky"; - libraryHaskellDepends = [ - aeson aeson-pretty ansi-terminal async base bytestring conduit - conduit-parse containers data-default Diff directory filepath Glob - lens lsp-types mtl parser-combinators process some text time - transformers unix unordered-containers - ]; - testHaskellDepends = [ - aeson base data-default directory filepath hspec lens lsp mtl - parser-combinators process text unliftio unordered-containers - ]; - testToolDepends = [ lsp ]; - benchmarkHaskellDepends = [ base extra lsp process ]; - description = "Functional test framework for LSP servers"; - license = lib.licenses.bsd3; - }) {}; - - "lsp-test_0_14_1_0" = callPackage ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, async, base , bytestring, co-log-core, conduit, conduit-parse, containers , data-default, Diff, directory, exceptions, extra, filepath, Glob @@ -182387,10 +182383,9 @@ self: { benchmarkHaskellDepends = [ base extra lsp process ]; description = "Functional test framework for LSP servers"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; - "lsp-types" = callPackage + "lsp-types_1_4_0_1" = callPackage ({ mkDerivation, aeson, base, binary, bytestring, containers , data-default, deepseq, Diff, directory, dlist, filepath, hashable , hslogger, lens, mod, mtl, network-uri, rope-utf16-splay @@ -182411,9 +182406,10 @@ self: { ]; description = "Haskell library for the Microsoft Language Server Protocol, data types"; license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; }) {}; - "lsp-types_1_6_0_0" = callPackage + "lsp-types" = callPackage ({ mkDerivation, aeson, base, binary, containers, data-default , deepseq, Diff, dlist, exceptions, filepath, hashable, hspec , hspec-discover, lens, mod, mtl, network-uri, QuickCheck @@ -182436,7 +182432,6 @@ self: { testToolDepends = [ hspec-discover ]; description = "Haskell library for the Microsoft Language Server Protocol, data types"; license = lib.licenses.mit; - hydraPlatforms = lib.platforms.none; }) {}; "lss" = callPackage @@ -209937,6 +209932,38 @@ self: { broken = true; }) {}; + "ormolu_0_1_4_1" = callPackage + ({ mkDerivation, ansi-terminal, base, bytestring, containers, Diff + , dlist, exceptions, filepath, ghc-lib-parser, gitrev, hspec + , hspec-discover, mtl, optparse-applicative, path, path-io, syb + , text + }: + mkDerivation { + pname = "ormolu"; + version = "0.1.4.1"; + sha256 = "1aamgzimjn9h7kwby9ajfgbj5dx08nmxyalwvpg9rs4xd8pbpd9s"; + revision = "1"; + editedCabalFile = "1fi8fxyhw9jdwhsbmrikjqd461wrz7h4kdszrahlvdjfdsn4wh7d"; + isLibrary = true; + isExecutable = true; + enableSeparateDataOutput = true; + libraryHaskellDepends = [ + ansi-terminal base bytestring containers Diff dlist exceptions + ghc-lib-parser mtl syb text + ]; + executableHaskellDepends = [ + base filepath ghc-lib-parser gitrev optparse-applicative text + ]; + testHaskellDepends = [ + base containers filepath hspec path path-io text + ]; + testToolDepends = [ hspec-discover ]; + description = "A formatter for Haskell source code"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + mainProgram = "ormolu"; + }) {}; + "ormolu_0_2_0_0" = callPackage ({ mkDerivation, ansi-terminal, base, bytestring, containers, Diff , dlist, exceptions, filepath, ghc-lib-parser, gitrev, hspec @@ -272785,6 +272812,38 @@ self: { broken = true; }) {}; + "stylish-haskell_0_13_0_0" = callPackage + ({ mkDerivation, aeson, base, bytestring, Cabal, containers + , directory, file-embed, filepath, ghc-lib-parser, HsYAML + , HsYAML-aeson, HUnit, mtl, optparse-applicative, random, strict + , syb, test-framework, test-framework-hunit, text + }: + mkDerivation { + pname = "stylish-haskell"; + version = "0.13.0.0"; + sha256 = "0x9w3zh1lzp6l5xj3mynnlr0fzb5mbv0wwpfxp8fr6bk0jcrzjwf"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson base bytestring Cabal containers directory file-embed + filepath ghc-lib-parser HsYAML HsYAML-aeson mtl syb text + ]; + executableHaskellDepends = [ + aeson base bytestring Cabal containers directory file-embed + filepath ghc-lib-parser HsYAML HsYAML-aeson mtl + optparse-applicative strict syb + ]; + testHaskellDepends = [ + aeson base bytestring Cabal containers directory file-embed + filepath ghc-lib-parser HsYAML HsYAML-aeson HUnit mtl random syb + test-framework test-framework-hunit text + ]; + description = "Haskell code prettifier"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + mainProgram = "stylish-haskell"; + }) {}; + "stylish-haskell" = callPackage ({ mkDerivation, aeson, base, bytestring, Cabal, containers , directory, file-embed, filepath, ghc-lib-parser