forked from mirrors/nixpkgs
haskellPackages.haskell-language-server: 0.2.0 -> 0.3.0
While we are at it I: * Disable tests, because I can‘t keep up with the speed hls introduces more tests that cause trouble in nixpkgs. * Fix builds of fourmolu and retrie * Remove the wrapper for hls which is obsolete because of improved package detection in hie-bios. And added a note that this can be removed for ghcide soon, too.
This commit is contained in:
parent
00a9d3f261
commit
af017c431a
|
@ -1323,41 +1323,22 @@ self: super: {
|
||||||
# https://github.com/ennocramer/monad-dijkstra/issues/4
|
# https://github.com/ennocramer/monad-dijkstra/issues/4
|
||||||
monad-dijkstra = dontCheck (doJailbreak super.monad-dijkstra);
|
monad-dijkstra = dontCheck (doJailbreak super.monad-dijkstra);
|
||||||
|
|
||||||
# haskell-language-server uses its own fork of ghcide
|
fourmolu = super.fourmolu.overrideScope (self: super: {
|
||||||
# Test disabled: it seems to freeze (is it just that it takes a long time ?)
|
aeson = dontCheck self.aeson_1_5_2_0;
|
||||||
hls-ghcide =
|
});
|
||||||
dontCheck ((
|
# Tests disabled because they access /home
|
||||||
overrideCabal super.hls-ghcide
|
haskell-language-server = (dontCheck super.haskell-language-server).overrideScope (self: super: {
|
||||||
(old: {
|
# haskell-language-server uses its own fork of ghcide
|
||||||
# The integration test run by lsp-test requires the executable to be in the PATH
|
# Test disabled: it seems to freeze (is it just that it takes a long time ?)
|
||||||
preCheck = ''
|
ghcide = dontCheck super.hls-ghcide;
|
||||||
export PATH=$PATH:dist/build/ghcide
|
# we are faster than stack here
|
||||||
'';
|
hie-bios = dontCheck self.hie-bios_0_6_2;
|
||||||
})).override {
|
lsp-test = dontCheck self.lsp-test_0_11_0_4;
|
||||||
# we are faster than stack here
|
# fourmolu can‘t compile with an older aeson
|
||||||
hie-bios = dontCheck self.hie-bios_0_6_2;
|
aeson = dontCheck super.aeson_1_5_2_0;
|
||||||
lsp-test = dontCheck self.lsp-test_0_11_0_4;
|
# brittany has an aeson upper bound of 1.5
|
||||||
});
|
brittany = doJailbreak super.brittany;
|
||||||
|
});
|
||||||
haskell-language-server = (overrideCabal super.haskell-language-server
|
|
||||||
(old: {
|
|
||||||
# The integration test run by lsp-test requires the executable to be in the PATH
|
|
||||||
preCheck = ''
|
|
||||||
export PATH=$PATH:dist/build/haskell-language-server
|
|
||||||
'';
|
|
||||||
# The wrapper test does not work for now.
|
|
||||||
testTarget = "func-test";
|
|
||||||
|
|
||||||
# test needs the git tool
|
|
||||||
testToolDepends = old.testToolDepends
|
|
||||||
++ [ pkgs.git ];
|
|
||||||
})).override {
|
|
||||||
# use a fork of ghcide
|
|
||||||
ghcide = self.hls-ghcide;
|
|
||||||
# we are faster than stack here
|
|
||||||
hie-bios = dontCheck self.hie-bios_0_6_2;
|
|
||||||
lsp-test = dontCheck self.lsp-test_0_11_0_4;
|
|
||||||
};
|
|
||||||
|
|
||||||
# https://github.com/kowainik/policeman/issues/57
|
# https://github.com/kowainik/policeman/issues/57
|
||||||
policeman = doJailbreak super.policeman;
|
policeman = doJailbreak super.policeman;
|
||||||
|
|
|
@ -2540,6 +2540,7 @@ default-package-overrides:
|
||||||
|
|
||||||
extra-packages:
|
extra-packages:
|
||||||
- aeson < 0.8 # newer versions don't work with GHC 7.6.x or earlier
|
- aeson < 0.8 # newer versions don't work with GHC 7.6.x or earlier
|
||||||
|
- aeson == 1.5.2.0 # needed for fourmolu 0.1.0.0, but 1.5.3 is to new for our purpose
|
||||||
- aeson-pretty < 0.8 # required by elm compiler
|
- aeson-pretty < 0.8 # required by elm compiler
|
||||||
- Agda == 2.6.1 # allows the agdaPackage set to be fixed to this version so that it won't break when another agda version is released.
|
- Agda == 2.6.1 # allows the agdaPackage set to be fixed to this version so that it won't break when another agda version is released.
|
||||||
- ansi-terminal == 0.10.3 # required by cabal-plan, and policeman in ghc-8.8.x
|
- ansi-terminal == 0.10.3 # required by cabal-plan, and policeman in ghc-8.8.x
|
||||||
|
@ -5074,7 +5075,6 @@ broken-packages:
|
||||||
- foscam-filename
|
- foscam-filename
|
||||||
- foscam-sort
|
- foscam-sort
|
||||||
- Foster
|
- Foster
|
||||||
- fourmolu
|
|
||||||
- fpco-api
|
- fpco-api
|
||||||
- fplll
|
- fplll
|
||||||
- fpnla-examples
|
- fpnla-examples
|
||||||
|
@ -9165,7 +9165,6 @@ broken-packages:
|
||||||
- rethinkdb-client-driver
|
- rethinkdb-client-driver
|
||||||
- rethinkdb-model
|
- rethinkdb-model
|
||||||
- rethinkdb-wereHamster
|
- rethinkdb-wereHamster
|
||||||
- retrie
|
|
||||||
- retryer
|
- retryer
|
||||||
- reverse-geocoding
|
- reverse-geocoding
|
||||||
- reversi
|
- reversi
|
||||||
|
|
|
@ -767,4 +767,8 @@ self: super: builtins.intersectAttrs super {
|
||||||
postgresql-libpq-notify = dontCheck super.postgresql-libpq-notify;
|
postgresql-libpq-notify = dontCheck super.postgresql-libpq-notify;
|
||||||
postgresql-pure = dontCheck super.postgresql-pure;
|
postgresql-pure = dontCheck super.postgresql-pure;
|
||||||
|
|
||||||
|
retrie = overrideCabal super.retrie (drv: {
|
||||||
|
testToolDepends = [ pkgs.git pkgs.mercurial ];
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -23913,6 +23913,39 @@ self: {
|
||||||
license = stdenv.lib.licenses.bsd3;
|
license = stdenv.lib.licenses.bsd3;
|
||||||
}) {};
|
}) {};
|
||||||
|
|
||||||
|
"aeson_1_5_2_0" = callPackage
|
||||||
|
({ mkDerivation, attoparsec, base, base-compat
|
||||||
|
, base-compat-batteries, base-orphans, base16-bytestring
|
||||||
|
, bytestring, containers, deepseq, Diff, directory, dlist, filepath
|
||||||
|
, generic-deriving, ghc-prim, hashable, hashable-time
|
||||||
|
, integer-logarithms, primitive, QuickCheck, quickcheck-instances
|
||||||
|
, scientific, tagged, tasty, tasty-golden, tasty-hunit
|
||||||
|
, tasty-quickcheck, template-haskell, text, th-abstraction, these
|
||||||
|
, time, time-compat, unordered-containers, uuid-types, vector
|
||||||
|
}:
|
||||||
|
mkDerivation {
|
||||||
|
pname = "aeson";
|
||||||
|
version = "1.5.2.0";
|
||||||
|
sha256 = "0awk3dss79mmcxpy147mijnd9icvlnm77bq248ibbbzx9y99hdfd";
|
||||||
|
libraryHaskellDepends = [
|
||||||
|
attoparsec base base-compat-batteries bytestring containers deepseq
|
||||||
|
dlist ghc-prim hashable primitive scientific tagged
|
||||||
|
template-haskell text th-abstraction these time time-compat
|
||||||
|
unordered-containers uuid-types vector
|
||||||
|
];
|
||||||
|
testHaskellDepends = [
|
||||||
|
attoparsec base base-compat base-orphans base16-bytestring
|
||||||
|
bytestring containers Diff directory dlist filepath
|
||||||
|
generic-deriving ghc-prim hashable hashable-time integer-logarithms
|
||||||
|
QuickCheck quickcheck-instances scientific tagged tasty
|
||||||
|
tasty-golden tasty-hunit tasty-quickcheck template-haskell text
|
||||||
|
these time time-compat unordered-containers uuid-types vector
|
||||||
|
];
|
||||||
|
description = "Fast JSON parsing and encoding";
|
||||||
|
license = stdenv.lib.licenses.bsd3;
|
||||||
|
hydraPlatforms = stdenv.lib.platforms.none;
|
||||||
|
}) {};
|
||||||
|
|
||||||
"aeson_1_5_3_0" = callPackage
|
"aeson_1_5_3_0" = callPackage
|
||||||
({ mkDerivation, attoparsec, base, base-compat
|
({ mkDerivation, attoparsec, base, base-compat
|
||||||
, base-compat-batteries, base-orphans, base16-bytestring
|
, base-compat-batteries, base-orphans, base16-bytestring
|
||||||
|
@ -92164,8 +92197,6 @@ self: {
|
||||||
testToolDepends = [ hspec-discover ];
|
testToolDepends = [ hspec-discover ];
|
||||||
description = "A formatter for Haskell source code";
|
description = "A formatter for Haskell source code";
|
||||||
license = stdenv.lib.licenses.bsd3;
|
license = stdenv.lib.licenses.bsd3;
|
||||||
hydraPlatforms = stdenv.lib.platforms.none;
|
|
||||||
broken = true;
|
|
||||||
}) {};
|
}) {};
|
||||||
|
|
||||||
"fpco-api" = callPackage
|
"fpco-api" = callPackage
|
||||||
|
@ -215815,8 +215846,6 @@ self: {
|
||||||
];
|
];
|
||||||
description = "A powerful, easy-to-use codemodding tool for Haskell";
|
description = "A powerful, easy-to-use codemodding tool for Haskell";
|
||||||
license = stdenv.lib.licenses.mit;
|
license = stdenv.lib.licenses.mit;
|
||||||
hydraPlatforms = stdenv.lib.platforms.none;
|
|
||||||
broken = true;
|
|
||||||
}) {};
|
}) {};
|
||||||
|
|
||||||
"retry" = callPackage
|
"retry" = callPackage
|
||||||
|
|
|
@ -105,8 +105,9 @@ symlinkJoin {
|
||||||
--set "NIX_${ghcCommandCaps}_LIBDIR" "${libDir}"
|
--set "NIX_${ghcCommandCaps}_LIBDIR" "${libDir}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ghcide and haskell-language-server do package discovery without calling our ghc wrapper.
|
# ghcide 0.2.0 does package discovery without calling our ghc wrapper.
|
||||||
for prg in ghcide haskell-language-server; do
|
# 2020-08-16 We can most likely remove this workaround as soon as we build ghcide with a newer hie-bios (currently we use 0.5.1 from stack)
|
||||||
|
for prg in ghcide; do
|
||||||
if [[ -x "$out/bin/$prg" ]]; then
|
if [[ -x "$out/bin/$prg" ]]; then
|
||||||
wrapProgram $out/bin/$prg \
|
wrapProgram $out/bin/$prg \
|
||||||
--set "NIX_${ghcCommandCaps}" "$out/bin/${ghcCommand}" \
|
--set "NIX_${ghcCommandCaps}" "$out/bin/${ghcCommand}" \
|
||||||
|
|
|
@ -1,30 +1,31 @@
|
||||||
{ mkDerivation, aeson, base, binary, blaze-markup, brittany
|
{ mkDerivation, aeson, base, binary, blaze-markup, brittany
|
||||||
, bytestring, containers, data-default, deepseq, Diff, directory
|
, bytestring, containers, data-default, deepseq, Diff, directory
|
||||||
, extra, fetchgit, filepath, floskell, ghc, ghc-paths, ghcide
|
, extra, fetchgit, filepath, floskell, fourmolu, ghc, ghc-boot-th
|
||||||
, gitrev, hashable, haskell-lsp, haskell-lsp-types, hie-bios
|
, ghc-paths, ghcide, gitrev, hashable, haskell-lsp
|
||||||
, hslogger, hspec, hspec-core, hspec-expectations, lens, lsp-test
|
, haskell-lsp-types, hie-bios, hslogger, hspec, hspec-core, lens
|
||||||
, optparse-applicative, optparse-simple, ormolu, process
|
, lsp-test, optparse-applicative, optparse-simple, ormolu, process
|
||||||
, regex-tdfa, safe-exceptions, shake, stdenv, stm, stylish-haskell
|
, regex-tdfa, retrie, safe-exceptions, shake, stdenv, stm
|
||||||
, tasty, tasty-ant-xml, tasty-expected-failure, tasty-golden
|
, stylish-haskell, tasty, tasty-ant-xml, tasty-expected-failure
|
||||||
, tasty-hunit, tasty-rerun, temporary, text, time, transformers
|
, tasty-golden, tasty-hunit, tasty-rerun, temporary, text, time
|
||||||
, unix, unordered-containers, yaml
|
, transformers, unix, unordered-containers, yaml
|
||||||
}:
|
}:
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
pname = "haskell-language-server";
|
pname = "haskell-language-server";
|
||||||
version = "0.2.2.0";
|
version = "0.3.0.0";
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "https://github.com/haskell/haskell-language-server.git";
|
url = "https://github.com/haskell/haskell-language-server.git";
|
||||||
sha256 = "0g9g2gyb0fidx16l741ky12djxh4cid9akvxa48105iq1gdihd8l";
|
sha256 = "0gh3sgy6a08d8d3q6r2qn5r817ilzka2qkp0g0y6wsx7rjwag0yx";
|
||||||
rev = "12c0e4423263140e3d16e76681927ec69fe4929f";
|
rev = "23dda97f583e8ff39993b89c01bbd1ac24187605";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
isLibrary = true;
|
isLibrary = true;
|
||||||
isExecutable = true;
|
isExecutable = true;
|
||||||
libraryHaskellDepends = [
|
libraryHaskellDepends = [
|
||||||
aeson base binary brittany bytestring containers data-default
|
aeson base binary brittany bytestring containers data-default
|
||||||
deepseq Diff directory extra filepath floskell ghc ghcide gitrev
|
deepseq Diff directory extra filepath floskell fourmolu ghc
|
||||||
hashable haskell-lsp hie-bios hslogger lens optparse-simple ormolu
|
ghc-boot-th ghcide gitrev hashable haskell-lsp hie-bios hslogger
|
||||||
process regex-tdfa shake stylish-haskell temporary text time
|
lens optparse-simple ormolu process regex-tdfa retrie
|
||||||
|
safe-exceptions shake stylish-haskell temporary text time
|
||||||
transformers unix unordered-containers
|
transformers unix unordered-containers
|
||||||
];
|
];
|
||||||
executableHaskellDepends = [
|
executableHaskellDepends = [
|
||||||
|
@ -36,9 +37,9 @@ mkDerivation {
|
||||||
testHaskellDepends = [
|
testHaskellDepends = [
|
||||||
aeson base blaze-markup bytestring containers data-default
|
aeson base blaze-markup bytestring containers data-default
|
||||||
directory filepath haskell-lsp haskell-lsp-types hie-bios hslogger
|
directory filepath haskell-lsp haskell-lsp-types hie-bios hslogger
|
||||||
hspec hspec-core hspec-expectations lens lsp-test process stm tasty
|
hspec hspec-core lens lsp-test process stm tasty tasty-ant-xml
|
||||||
tasty-ant-xml tasty-expected-failure tasty-golden tasty-hunit
|
tasty-expected-failure tasty-golden tasty-hunit tasty-rerun
|
||||||
tasty-rerun temporary text transformers unordered-containers yaml
|
temporary text transformers unordered-containers yaml
|
||||||
];
|
];
|
||||||
testToolDepends = [ ghcide ];
|
testToolDepends = [ ghcide ];
|
||||||
homepage = "https://github.com/haskell/haskell-language-server#readme";
|
homepage = "https://github.com/haskell/haskell-language-server#readme";
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
, hie-bios, hslogger, lens, lsp-test, mtl, network-uri
|
, hie-bios, hslogger, lens, lsp-test, mtl, network-uri
|
||||||
, opentelemetry, optparse-applicative, prettyprinter
|
, opentelemetry, optparse-applicative, prettyprinter
|
||||||
, prettyprinter-ansi-terminal, process, QuickCheck
|
, prettyprinter-ansi-terminal, process, QuickCheck
|
||||||
, quickcheck-instances, regex-tdfa, rope-utf16-splay
|
, quickcheck-instances, regex-tdfa, rope-utf16-splay, safe
|
||||||
, safe-exceptions, shake, sorted-list, stdenv, stm, syb, tasty
|
, safe-exceptions, shake, sorted-list, stdenv, stm, syb, tasty
|
||||||
, tasty-expected-failure, tasty-hunit, tasty-quickcheck
|
, tasty-expected-failure, tasty-hunit, tasty-quickcheck
|
||||||
, tasty-rerun, text, time, transformers, unix, unordered-containers
|
, tasty-rerun, text, time, transformers, unix, unordered-containers
|
||||||
|
@ -17,9 +17,9 @@ mkDerivation {
|
||||||
pname = "ghcide";
|
pname = "ghcide";
|
||||||
version = "0.2.0";
|
version = "0.2.0";
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "https://github.com/bubba/ghcide";
|
url = "https://github.com/wz1000/ghcide";
|
||||||
sha256 = "1kj2i86mkaxgxlrbmv2d24mch7hywgcy2n61z8paj21chncs1j5w";
|
sha256 = "1zq7ngaak8il91a309rl51dghzasnk4m2sm3av6d93cyqyra1hfc";
|
||||||
rev = "7e895cfa53260b41996df707baec496a8f2c75dc";
|
rev = "078e3d3c0d319f83841ccbcdc60ff5f0e243f6be";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
isLibrary = true;
|
isLibrary = true;
|
||||||
|
@ -30,23 +30,23 @@ mkDerivation {
|
||||||
filepath fuzzy ghc ghc-boot ghc-boot-th ghc-check ghc-paths
|
filepath fuzzy ghc ghc-boot ghc-boot-th ghc-check ghc-paths
|
||||||
haddock-library hashable haskell-lsp haskell-lsp-types hie-bios
|
haddock-library hashable haskell-lsp haskell-lsp-types hie-bios
|
||||||
hslogger mtl network-uri opentelemetry prettyprinter
|
hslogger mtl network-uri opentelemetry prettyprinter
|
||||||
prettyprinter-ansi-terminal regex-tdfa rope-utf16-splay
|
prettyprinter-ansi-terminal regex-tdfa rope-utf16-splay safe
|
||||||
safe-exceptions shake sorted-list stm syb text time transformers
|
safe-exceptions shake sorted-list stm syb text time transformers
|
||||||
unix unordered-containers utf8-string
|
unix unordered-containers utf8-string
|
||||||
];
|
];
|
||||||
executableHaskellDepends = [
|
executableHaskellDepends = [
|
||||||
aeson base bytestring containers data-default directory extra
|
aeson base bytestring containers data-default directory extra
|
||||||
filepath gitrev hashable haskell-lsp haskell-lsp-types hie-bios
|
filepath gitrev hashable haskell-lsp haskell-lsp-types hie-bios
|
||||||
lsp-test optparse-applicative process safe-exceptions text
|
lens lsp-test optparse-applicative process safe-exceptions text
|
||||||
unordered-containers
|
unordered-containers
|
||||||
];
|
];
|
||||||
testHaskellDepends = [
|
testHaskellDepends = [
|
||||||
aeson base bytestring containers directory extra filepath ghc
|
aeson base binary bytestring containers directory extra filepath
|
||||||
ghc-typelits-knownnat haddock-library haskell-lsp haskell-lsp-types
|
ghc ghc-typelits-knownnat haddock-library haskell-lsp
|
||||||
lens lsp-test network-uri optparse-applicative process QuickCheck
|
haskell-lsp-types lens lsp-test network-uri optparse-applicative
|
||||||
quickcheck-instances rope-utf16-splay safe-exceptions shake tasty
|
process QuickCheck quickcheck-instances rope-utf16-splay safe
|
||||||
tasty-expected-failure tasty-hunit tasty-quickcheck tasty-rerun
|
safe-exceptions shake tasty tasty-expected-failure tasty-hunit
|
||||||
text
|
tasty-quickcheck tasty-rerun text
|
||||||
];
|
];
|
||||||
benchmarkHaskellDepends = [
|
benchmarkHaskellDepends = [
|
||||||
aeson base Chart Chart-diagrams diagrams diagrams-svg directory
|
aeson base Chart Chart-diagrams diagrams diagrams-svg directory
|
||||||
|
|
|
@ -29,7 +29,7 @@ ghcide_new_version=$(curl --silent "https://api.github.com/repos/haskell/haskell
|
||||||
echo "Updating haskell-language-server from old version $ghcide_old_version to new version $ghcide_new_version."
|
echo "Updating haskell-language-server from old version $ghcide_old_version to new version $ghcide_new_version."
|
||||||
echo "Running cabal2nix and outputting to ${ghcide_derivation_file}..."
|
echo "Running cabal2nix and outputting to ${ghcide_derivation_file}..."
|
||||||
|
|
||||||
cabal2nix --revision "$ghcide_new_version" "https://github.com/bubba/ghcide" > "$ghcide_derivation_file"
|
cabal2nix --revision "$ghcide_new_version" "https://github.com/wz1000/ghcide" > "$ghcide_derivation_file"
|
||||||
|
|
||||||
|
|
||||||
# ===========================
|
# ===========================
|
||||||
|
|
Loading…
Reference in a new issue