Merge pull request #158192 from maralorn/hls-1.6
[haskell-updates] haskell-language-server: 1.5 -> 1.6
This commit is contained in:
@@ -2038,13 +2038,13 @@ 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;
|
||||
|
||||
# 2021-09-13: hls 1.3 needs a newer lsp than stackage-lts. (lsp >= 1.2.0.1)
|
||||
# 2021-09-13: hls 1.6 needs a newer lsp than stackage-lts. (lsp >= 1.2.0.1)
|
||||
# (hls is nearly the only consumer, but consists of 18 packages, so we bump lsp globally.)
|
||||
lsp = doDistribute self.lsp_1_2_0_1;
|
||||
lsp-types = doDistribute self.lsp-types_1_3_0_1;
|
||||
lsp = doDistribute self.lsp_1_4_0_0;
|
||||
lsp-types = doDistribute self.lsp-types_1_4_0_1;
|
||||
# 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 = doDistribute (overrideCabal (old: { testTarget = "tests func-test"; }) self.lsp-test_0_14_0_1);
|
||||
lsp-test = doDistribute (overrideCabal (old: { testTarget = "tests func-test"; }) self.lsp-test_0_14_0_2);
|
||||
|
||||
# 2021-09-14: Tests are flaky.
|
||||
hls-splice-plugin = dontCheck super.hls-splice-plugin;
|
||||
|
||||
@@ -150,23 +150,14 @@ self: super: {
|
||||
# Fixes a bug triggered on GHC 9.0.1
|
||||
text-short = self.text-short_0_1_5;
|
||||
|
||||
# 2021-09-18: The following plugins don‘t work yet on ghc9.
|
||||
haskell-language-server = appendConfigureFlags [
|
||||
"-f-tactic"
|
||||
"-f-splice"
|
||||
"-f-refineimports"
|
||||
"-f-class"
|
||||
fourmolu = doJailbreak self.fourmolu_0_4_0_0;
|
||||
|
||||
"-f-fourmolu"
|
||||
# 2022-02-05: The following plugins don‘t work yet on ghc9.
|
||||
# Compare: https://haskell-language-server.readthedocs.io/en/latest/supported-versions.html
|
||||
haskell-language-server = appendConfigureFlags [
|
||||
"-f-brittany"
|
||||
"-f-stylishhaskell"
|
||||
] (super.haskell-language-server.override {
|
||||
hls-tactics-plugin = null; # No upstream support, generic-lens-core fail
|
||||
hls-splice-plugin = null; # No upstream support in hls 1.4.0, should be fixed in 1.5
|
||||
hls-refine-imports-plugin = null; # same issue es splice-plugin
|
||||
hls-class-plugin = null; # No upstream support
|
||||
|
||||
hls-fourmolu-plugin = null; # No upstream support, needs new fourmolu release
|
||||
hls-stylish-haskell-plugin = null; # No upstream support
|
||||
hls-brittany-plugin = null; # Dependencies don't build with 9.0.1
|
||||
});
|
||||
|
||||
@@ -138,7 +138,7 @@ self: super: {
|
||||
quickcheck-instances = super.quickcheck-instances_0_3_27;
|
||||
regex-posix = doJailbreak super.regex-posix;
|
||||
resolv = doJailbreak super.resolv;
|
||||
retrie = doDistribute self.retrie_1_2_0_1;
|
||||
retrie = doDistribute (dontCheck self.retrie_1_2_0_1);
|
||||
semialign = super.semialign_1_2_0_1;
|
||||
singleton-bool = doJailbreak super.singleton-bool;
|
||||
scientific = doJailbreak super.scientific;
|
||||
@@ -241,4 +241,37 @@ self: super: {
|
||||
# need bytestring >= 0.11 which is only bundled with GHC >= 9.2
|
||||
regex-rure = doDistribute (markUnbroken super.regex-rure);
|
||||
jacinda = doDistribute super.jacinda;
|
||||
some = doJailbreak super.some;
|
||||
fourmolu = super.fourmolu_0_5_0_1;
|
||||
implicit-hie-cradle = doJailbreak super.implicit-hie-cradle;
|
||||
lucid = doJailbreak super.lucid;
|
||||
hashtables = doJailbreak super.hashtables;
|
||||
primitive-extras = super.primitive-extras_0_10_1_4;
|
||||
hiedb = doJailbreak super.hiedb;
|
||||
|
||||
# 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 = appendConfigureFlags [
|
||||
"-f-alternateNumberFormat"
|
||||
"-f-class"
|
||||
"-f-eval"
|
||||
"-f-haddockComments"
|
||||
"-f-hlint"
|
||||
"-f-retrie"
|
||||
"-f-splice"
|
||||
"-f-tactics"
|
||||
"-f-brittany"
|
||||
"-f-stylish-haskell"
|
||||
] (super.haskell-language-server.override {
|
||||
hls-alternate-number-format-plugin = null;
|
||||
hls-class-plugin = null;
|
||||
hls-eval-plugin = null;
|
||||
hls-haddock-comments-plugin = null;
|
||||
hls-hlint-plugin = null;
|
||||
hls-retrie-plugin = null;
|
||||
hls-splice-plugin = null;
|
||||
hls-tactics-plugin = null;
|
||||
hls-brittany-plugin = null;
|
||||
hls-stylish-haskell-plugin = null;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -82,8 +82,6 @@ default-package-overrides:
|
||||
- reflex-dom-pandoc < 1.0.0.0
|
||||
# 2021-09-07: pin to our current GHC version
|
||||
- ghc-api-compat == 8.10.7
|
||||
# 2021-09-14: Pin hiedb to version needed by ghcide
|
||||
- hiedb == 0.4.0.*
|
||||
# 2021-10-13: weeder 2.3.0 require GHC == 9.0.*; remove pin when GHC version changes
|
||||
- weeder < 2.3.0
|
||||
# 2021-10-10: taskwarrior 0.4 requires aeson > 2.0.1.0
|
||||
@@ -169,10 +167,7 @@ extra-packages:
|
||||
- brick == 0.64.* # 2021-12-03: matterhorn depends on brick < 0.65
|
||||
- path == 0.9.0 # 2021-12-03: path version building with stackage genvalidity and GHC 9.0.2
|
||||
- ormolu == 0.3.* # 2021-12-03: for HLS with GHC 9.0.2
|
||||
# 2022-01-08 hls-plugin-api 1.2.0.2 needs lsp < 1.3, but newer than stackage
|
||||
- lsp < 1.3
|
||||
- lsp-types < 1.4
|
||||
- lsp-test < 0.14.0.2
|
||||
- fourmolu == 0.4.* # 2022-02-05: for HLS with GHC 9.0.2
|
||||
|
||||
package-maintainers:
|
||||
abbradar:
|
||||
|
||||
@@ -804,90 +804,11 @@ self: super: builtins.intersectAttrs super {
|
||||
'' + drv.postInstall or "";
|
||||
}) super.hlint;
|
||||
|
||||
hls-brittany-plugin = overrideCabal (drv: {
|
||||
testToolDepends = [ pkgs.git ];
|
||||
preCheck = ''
|
||||
export HOME=$TMPDIR/home
|
||||
'';
|
||||
}) super.hls-brittany-plugin;
|
||||
hls-class-plugin = overrideCabal (drv: {
|
||||
testToolDepends = [ pkgs.git ];
|
||||
preCheck = ''
|
||||
export HOME=$TMPDIR/home
|
||||
'';
|
||||
}) super.hls-class-plugin;
|
||||
hls-ormolu-plugin = overrideCabal (drv: {
|
||||
testToolDepends = [ pkgs.git ];
|
||||
preCheck = ''
|
||||
export HOME=$TMPDIR/home
|
||||
'';
|
||||
}) super.hls-ormolu-plugin;
|
||||
hls-fourmolu-plugin = overrideCabal (drv: {
|
||||
testToolDepends = [ pkgs.git ];
|
||||
preCheck = ''
|
||||
export HOME=$TMPDIR/home
|
||||
'';
|
||||
}) super.hls-fourmolu-plugin;
|
||||
hls-module-name-plugin = overrideCabal (drv: {
|
||||
testToolDepends = [ pkgs.git ];
|
||||
preCheck = ''
|
||||
export HOME=$TMPDIR/home
|
||||
'';
|
||||
}) super.hls-module-name-plugin;
|
||||
hls-rename-plugin = overrideCabal (drv: {
|
||||
testToolDepends = [ pkgs.git ];
|
||||
preCheck = ''
|
||||
export HOME=$TMPDIR/home
|
||||
'' + (drv.preCheck or "");
|
||||
}) super.hls-rename-plugin;
|
||||
hls-splice-plugin = overrideCabal (drv: {
|
||||
testToolDepends = [ pkgs.git ];
|
||||
preCheck = ''
|
||||
export HOME=$TMPDIR/home
|
||||
'';
|
||||
}) super.hls-splice-plugin;
|
||||
hls-floskell-plugin = overrideCabal (drv: {
|
||||
testToolDepends = [ pkgs.git ];
|
||||
preCheck = ''
|
||||
export HOME=$TMPDIR/home
|
||||
'';
|
||||
}) super.hls-floskell-plugin;
|
||||
hls-pragmas-plugin = overrideCabal (drv: {
|
||||
testToolDepends = [ pkgs.git ];
|
||||
preCheck = ''
|
||||
export HOME=$TMPDIR/home
|
||||
'';
|
||||
}) super.hls-pragmas-plugin;
|
||||
hls-hlint-plugin = overrideCabal (drv: {
|
||||
testToolDepends = [ pkgs.git ];
|
||||
preCheck = ''
|
||||
export HOME=$TMPDIR/home
|
||||
'';
|
||||
}) super.hls-hlint-plugin;
|
||||
hiedb = overrideCabal (drv: {
|
||||
preCheck = ''
|
||||
export PATH=$PWD/dist/build/hiedb:$PATH
|
||||
'';
|
||||
}) super.hiedb;
|
||||
hls-call-hierarchy-plugin = overrideCabal (drv: {
|
||||
preCheck = ''
|
||||
export HOME=$TMPDIR/home
|
||||
'';
|
||||
}) super.hls-call-hierarchy-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-haddock-comments-plugin = overrideCabal (drv: {
|
||||
testToolDepends = [ pkgs.git ];
|
||||
preCheck = ''
|
||||
export HOME=$TMPDIR/home
|
||||
'';
|
||||
}) super.hls-haddock-comments-plugin;
|
||||
hls-eval-plugin = overrideCabal (drv: {
|
||||
testToolDepends = [ pkgs.git ];
|
||||
preCheck = ''
|
||||
export HOME=$TMPDIR/home
|
||||
'';
|
||||
}) super.hls-eval-plugin;
|
||||
|
||||
taglib = overrideCabal (drv: {
|
||||
librarySystemDepends = [
|
||||
@@ -1052,4 +973,33 @@ self: super: builtins.intersectAttrs super {
|
||||
install -Dm644 test/examples/*.jac -t "$docDir/examples"
|
||||
'';
|
||||
}) super.jacinda;
|
||||
|
||||
# haskell-language-server plugins all use the same test harness so we give them what we want in this loop.
|
||||
} // pkgs.lib.mapAttrs
|
||||
(_: overrideCabal (drv: {
|
||||
testToolDepends = (drv.testToolDepends or [ ]) ++ [ pkgs.git ];
|
||||
preCheck = ''
|
||||
export HOME=$TMPDIR/home
|
||||
'' + (drv.preCheck or "");
|
||||
}))
|
||||
{
|
||||
inherit (super)
|
||||
hls-alternate-number-format-plugin
|
||||
hls-brittany-plugin
|
||||
hls-call-hierarchy-plugin
|
||||
hls-class-plugin
|
||||
hls-eval-plugin
|
||||
hls-floskell-plugin
|
||||
hls-fourmolu-plugin
|
||||
hls-haddock-comments-plugin
|
||||
hls-module-name-plugin
|
||||
hls-ormolu-plugin
|
||||
hls-pragmas-plugin
|
||||
hls-qualify-imported-names-plugin
|
||||
hls-rename-plugin
|
||||
hls-selection-range-plugin
|
||||
hls-splice-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-hlint-plugin = dontCheck super.hls-hlint-plugin;
|
||||
}
|
||||
|
||||
+34
-111
@@ -98739,6 +98739,40 @@ self: {
|
||||
license = lib.licenses.bsd3;
|
||||
}) {};
|
||||
|
||||
"fourmolu_0_4_0_0" = callPackage
|
||||
({ mkDerivation, aeson, ansi-terminal, 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.4.0.0";
|
||||
sha256 = "1mq0h6nsl7ssfwh6zqhyja7w212vn8msmlm5iwwimca279hzwywb";
|
||||
revision = "1";
|
||||
editedCabalFile = "03bwhqj547brmgk191gy3k9xayi6fqqk2f5sbz3ail1bk7b73xnq";
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
libraryHaskellDepends = [
|
||||
aeson ansi-terminal 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;
|
||||
}) {};
|
||||
|
||||
"fourmolu_0_5_0_1" = callPackage
|
||||
({ mkDerivation, aeson, ansi-terminal, array, base, bytestring
|
||||
, Cabal, containers, Diff, directory, dlist, exceptions, filepath
|
||||
@@ -134292,31 +134326,6 @@ self: {
|
||||
}) {};
|
||||
|
||||
"hiedb" = callPackage
|
||||
({ mkDerivation, algebraic-graphs, ansi-terminal, array, base
|
||||
, bytestring, containers, directory, extra, filepath, ghc
|
||||
, ghc-paths, hie-compat, hspec, lucid, mtl, optparse-applicative
|
||||
, process, sqlite-simple, temporary, terminal-size, text
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "hiedb";
|
||||
version = "0.4.0.0";
|
||||
sha256 = "1frcl9mxmn97qc97l3kw21ksapyndn6jq7yfxxrr0fvzn7jji7wv";
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
libraryHaskellDepends = [
|
||||
algebraic-graphs ansi-terminal array base bytestring containers
|
||||
directory extra filepath ghc hie-compat lucid mtl
|
||||
optparse-applicative sqlite-simple terminal-size text
|
||||
];
|
||||
executableHaskellDepends = [ base ghc-paths ];
|
||||
testHaskellDepends = [
|
||||
base directory filepath ghc ghc-paths hspec process temporary
|
||||
];
|
||||
description = "Generates a references DB from .hie files";
|
||||
license = lib.licenses.bsd3;
|
||||
}) {};
|
||||
|
||||
"hiedb_0_4_1_0" = callPackage
|
||||
({ mkDerivation, algebraic-graphs, ansi-terminal, array, base
|
||||
, bytestring, containers, directory, extra, filepath, ghc
|
||||
, ghc-paths, hie-compat, hspec, lucid, mtl, optparse-applicative
|
||||
@@ -134339,7 +134348,6 @@ self: {
|
||||
];
|
||||
description = "Generates a references DB from .hie files";
|
||||
license = lib.licenses.bsd3;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
}) {};
|
||||
|
||||
"hieraclus" = callPackage
|
||||
@@ -176741,39 +176749,6 @@ self: {
|
||||
license = lib.licenses.mit;
|
||||
}) {};
|
||||
|
||||
"lsp_1_2_0_1" = callPackage
|
||||
({ mkDerivation, aeson, async, attoparsec, base, bytestring
|
||||
, containers, data-default, dependent-map, exceptions, filepath
|
||||
, hashable, hslogger, hspec, hspec-discover, lens, lsp-types, mtl
|
||||
, network-uri, QuickCheck, quickcheck-instances, random
|
||||
, rope-utf16-splay, scientific, sorted-list, stm, text, time
|
||||
, transformers, unliftio-core, unordered-containers, uuid
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "lsp";
|
||||
version = "1.2.0.1";
|
||||
sha256 = "1bdgbxakdyhkrddj58f0al2wrx1mckp6hia7hk2wqjix20my8v49";
|
||||
revision = "1";
|
||||
editedCabalFile = "193y4b3l6agm83ng2c0ngvd0j9a71q237g9i5v57p502lhzfaag2";
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
libraryHaskellDepends = [
|
||||
aeson async attoparsec base bytestring containers data-default
|
||||
dependent-map exceptions hashable hslogger lens lsp-types mtl
|
||||
network-uri random scientific sorted-list stm text time
|
||||
transformers unliftio-core unordered-containers uuid
|
||||
];
|
||||
testHaskellDepends = [
|
||||
aeson base containers filepath hspec lens network-uri QuickCheck
|
||||
quickcheck-instances rope-utf16-splay sorted-list text
|
||||
unordered-containers
|
||||
];
|
||||
testToolDepends = [ hspec-discover ];
|
||||
description = "Haskell library for the Microsoft Language Server Protocol";
|
||||
license = lib.licenses.mit;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
}) {};
|
||||
|
||||
"lsp_1_4_0_0" = callPackage
|
||||
({ mkDerivation, aeson, async, attoparsec, base, bytestring
|
||||
, containers, data-default, exceptions, filepath, hashable
|
||||
@@ -176832,34 +176807,6 @@ self: {
|
||||
license = lib.licenses.bsd3;
|
||||
}) {};
|
||||
|
||||
"lsp-test_0_14_0_1" = 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.1";
|
||||
sha256 = "0fr1812dnzv9hljb77khspaz666wqr6m1gj963v0z2j6xgvw2ipy";
|
||||
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 async 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;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
}) {};
|
||||
|
||||
"lsp-test_0_14_0_2" = callPackage
|
||||
({ mkDerivation, aeson, aeson-pretty, ansi-terminal, async, base
|
||||
, bytestring, conduit, conduit-parse, containers, data-default
|
||||
@@ -176911,30 +176858,6 @@ self: {
|
||||
license = lib.licenses.mit;
|
||||
}) {};
|
||||
|
||||
"lsp-types_1_3_0_1" = callPackage
|
||||
({ mkDerivation, aeson, base, binary, bytestring, containers
|
||||
, data-default, deepseq, dependent-sum, dependent-sum-template
|
||||
, Diff, directory, dlist, filepath, hashable, hslogger, lens, mtl
|
||||
, network-uri, rope-utf16-splay, scientific, some, template-haskell
|
||||
, temporary, text, unordered-containers
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "lsp-types";
|
||||
version = "1.3.0.1";
|
||||
sha256 = "05zgd99y7xnxnydisq5x24n1af2isar172p247hb5q0mp12hdd3z";
|
||||
revision = "1";
|
||||
editedCabalFile = "031b69fxi8m4fcwwgqb7cf4k806ikkmjqnn3wv6bn3sny1hn5gg7";
|
||||
libraryHaskellDepends = [
|
||||
aeson base binary bytestring containers data-default deepseq
|
||||
dependent-sum dependent-sum-template Diff directory dlist filepath
|
||||
hashable hslogger lens mtl network-uri rope-utf16-splay scientific
|
||||
some template-haskell temporary text unordered-containers
|
||||
];
|
||||
description = "Haskell library for the Microsoft Language Server Protocol, data types";
|
||||
license = lib.licenses.mit;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
}) {};
|
||||
|
||||
"lsp-types_1_4_0_1" = callPackage
|
||||
({ mkDerivation, aeson, base, binary, bytestring, containers
|
||||
, data-default, deepseq, Diff, directory, dlist, filepath, hashable
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, supportedGhcVersions ? [ "884" "8107" "902" ], stdenv, haskellPackages
|
||||
{ lib, supportedGhcVersions ? [ "884" "8107" "902" "921" ], stdenv, haskellPackages
|
||||
, haskell }:
|
||||
#
|
||||
# The recommended way to override this package is
|
||||
|
||||
@@ -311,11 +311,7 @@ let
|
||||
cabal2nix = released;
|
||||
cabal2nix-unstable = released;
|
||||
funcmp = released;
|
||||
haskell-language-server = [
|
||||
compilerNames.ghc884
|
||||
compilerNames.ghc8107
|
||||
compilerNames.ghc902
|
||||
];
|
||||
haskell-language-server = released;
|
||||
hoogle = released;
|
||||
hlint = released;
|
||||
hsdns = released;
|
||||
|
||||
Reference in New Issue
Block a user