haskell-language-server: Use hackage version and cleanup
This commit is contained in:
parent
b1d2e3b10f
commit
bac09b7658
|
@ -1405,28 +1405,20 @@ self: super: {
|
|||
# quickcheck-instances is only used in the tests of binary-instances.
|
||||
binary-instances = dontCheck super.binary-instances;
|
||||
|
||||
# tons of overrides for bleeding edge versions for ghcide and hls
|
||||
# overriding aeson on all of them to prevent double compilations
|
||||
# this shouldn‘t break anything because nearly all their reverse deps are
|
||||
# in this list or marked as broken anyways
|
||||
# 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 = dontCheck (super.haskell-language-server.override {
|
||||
lsp-test = dontCheck self.lsp-test;
|
||||
fourmolu = self.fourmolu_0_3_0_0;
|
||||
});
|
||||
haskell-language-server = dontCheck super.haskell-language-server;
|
||||
|
||||
# 2021-01-20
|
||||
# apply-refact 0.9.0.0 get's a build error with hls-hlint-plugin 0.8.0
|
||||
# https://github.com/haskell/haskell-language-server/issues/1240
|
||||
apply-refact = super.apply-refact_0_8_2_1;
|
||||
|
||||
fourmolu = dontCheck super.fourmolu;
|
||||
|
||||
# 1. test requires internet
|
||||
# 2. dependency shake-bench hasn't been published yet so we also need unmarkBroken and doDistribute
|
||||
ghcide = doDistribute (unmarkBroken (dontCheck (super.ghcide_0_7_0_0.override { lsp-test = dontCheck self.lsp-test; })));
|
||||
refinery = doDistribute super.refinery_0_3_0_0;
|
||||
ghcide = doDistribute (unmarkBroken (dontCheck super.ghcide));
|
||||
|
||||
data-tree-print = doJailbreak super.data-tree-print;
|
||||
|
||||
# 2020-11-15: aeson 1.5.4.1 needs to new quickcheck-instances for testing
|
||||
|
|
|
@ -73,9 +73,11 @@ default-package-overrides:
|
|||
# gi-gdkx11-4.x requires gtk-4.x, which is still under development and
|
||||
# not yet available in Nixpkgs
|
||||
- gi-gdkx11 < 4
|
||||
# haskell-language-server 0.5.0.0 doesn't accept newer versions
|
||||
- fourmolu ==0.2.*
|
||||
- refinery ==0.2.*
|
||||
- hls-plugin-api == 0.6.0.0 # Needed for hls 0.8.0
|
||||
- hls-eval-plugin == 0.1.0.0 # Needed for hls 0.8.0
|
||||
- hls-hlint-plugin == 0.1.0.0 # Needed for hls 0.8.0
|
||||
- ghcide == 0.7.0.0 # Needed for hls 0.8.0
|
||||
|
||||
# Stackage Nightly 2021-02-02
|
||||
- abstract-deque ==0.3
|
||||
- abstract-par ==0.3.3
|
||||
|
@ -2709,7 +2711,6 @@ extra-packages:
|
|||
- dependent-map == 0.2.4.0 # required by Hasura 1.3.1, 2020-08-20
|
||||
- dependent-sum == 0.4 # required by Hasura 1.3.1, 2020-08-20
|
||||
- network == 2.6.3.1 # required by pkgs/games/hedgewars/default.nix, 2020-11-15
|
||||
- ghcide == 0.7.0.0 # Needed for hls 0.8.0
|
||||
- apply-refact == 0.8.2.1 # Needed for hls 0.8.0
|
||||
|
||||
package-maintainers:
|
||||
|
@ -6038,7 +6039,6 @@ broken-packages:
|
|||
- haskell-igraph
|
||||
- haskell-in-space
|
||||
- haskell-kubernetes
|
||||
- haskell-language-server
|
||||
- haskell-lsp-client
|
||||
- haskell-ml
|
||||
- haskell-mpfr
|
||||
|
@ -6468,9 +6468,6 @@ broken-packages:
|
|||
- hlrdb
|
||||
- hlrdb-core
|
||||
- hls
|
||||
- hls-explicit-imports-plugin
|
||||
- hls-hlint-plugin
|
||||
- hls-retrie-plugin
|
||||
- hlwm
|
||||
- hly
|
||||
- hmark
|
||||
|
|
|
@ -787,7 +787,7 @@ self: super: builtins.intersectAttrs super {
|
|||
testTarget = "unit-tests";
|
||||
};
|
||||
|
||||
haskell-language-server = overrideCabal super.haskell-language-server (drv: {
|
||||
haskell-language-server = enableCabalFlag (enableCabalFlag (overrideCabal super.haskell-language-server (drv: {
|
||||
postInstall = let
|
||||
inherit (pkgs.lib) concatStringsSep take splitString;
|
||||
ghc_version = self.ghc.version;
|
||||
|
@ -802,7 +802,7 @@ self: super: builtins.intersectAttrs super {
|
|||
export PATH=$PATH:$PWD/dist/build/haskell-language-server:$PWD/dist/build/haskell-language-server-wrapper
|
||||
export HOME=$TMPDIR
|
||||
'';
|
||||
});
|
||||
})) "all-plugins") "all-formatters";
|
||||
|
||||
# tests depend on a specific version of solc
|
||||
hevm = dontCheck (doJailbreak super.hevm);
|
||||
|
|
|
@ -94066,34 +94066,6 @@ self: {
|
|||
}) {};
|
||||
|
||||
"fourmolu" = 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.2.0.0";
|
||||
sha256 = "1jak0xgd6gcbw7icyrblvqnvzjyyakpw2zfnqj1z958qyg763v52";
|
||||
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;
|
||||
}) {};
|
||||
|
||||
"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
|
||||
|
@ -94119,7 +94091,6 @@ self: {
|
|||
testToolDepends = [ hspec-discover ];
|
||||
description = "A formatter for Haskell source code";
|
||||
license = lib.licenses.bsd3;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
}) {};
|
||||
|
||||
"fp-ieee" = callPackage
|
||||
|
@ -101421,7 +101392,7 @@ self: {
|
|||
license = lib.licenses.bsd3;
|
||||
}) {};
|
||||
|
||||
"ghcide_0_7_0_0" = callPackage
|
||||
"ghcide" = callPackage
|
||||
({ mkDerivation, aeson, array, async, base, base16-bytestring
|
||||
, binary, bytestring, case-insensitive, containers, cryptohash-sha1
|
||||
, data-default, deepseq, directory, extra, filepath, fingertree
|
||||
|
@ -101480,7 +101451,7 @@ self: {
|
|||
broken = true;
|
||||
}) {shake-bench = null;};
|
||||
|
||||
"ghcide" = callPackage
|
||||
"ghcide_0_7_3_0" = callPackage
|
||||
({ mkDerivation, aeson, array, async, base, base16-bytestring
|
||||
, binary, bytestring, case-insensitive, containers, cryptohash-sha1
|
||||
, data-default, deepseq, directory, dlist, extra, filepath
|
||||
|
@ -117971,8 +117942,6 @@ self: {
|
|||
testToolDepends = [ ghcide ];
|
||||
description = "LSP server for GHC";
|
||||
license = lib.licenses.asl20;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
broken = true;
|
||||
}) {};
|
||||
|
||||
"haskell-lexer" = callPackage
|
||||
|
@ -128968,6 +128937,28 @@ self: {
|
|||
}) {};
|
||||
|
||||
"hls-eval-plugin" = callPackage
|
||||
({ mkDerivation, aeson, base, containers, deepseq, Diff, directory
|
||||
, extra, filepath, ghc, ghc-boot-th, ghc-paths, ghcide, hashable
|
||||
, haskell-lsp, haskell-lsp-types, hls-plugin-api
|
||||
, parser-combinators, pretty-simple, QuickCheck, safe-exceptions
|
||||
, shake, temporary, text, time, transformers, unordered-containers
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "hls-eval-plugin";
|
||||
version = "0.1.0.0";
|
||||
sha256 = "1rghn0p8qqh9vh0x1ib2w00vv74y8j9qj2ydhwc68viii03wpjan";
|
||||
libraryHaskellDepends = [
|
||||
aeson base containers deepseq Diff directory extra filepath ghc
|
||||
ghc-boot-th ghc-paths ghcide hashable haskell-lsp haskell-lsp-types
|
||||
hls-plugin-api parser-combinators pretty-simple QuickCheck
|
||||
safe-exceptions shake temporary text time transformers
|
||||
unordered-containers
|
||||
];
|
||||
description = "Eval plugin for Haskell Language Server";
|
||||
license = lib.licenses.asl20;
|
||||
}) {};
|
||||
|
||||
"hls-eval-plugin_0_2_0_0" = callPackage
|
||||
({ mkDerivation, aeson, base, containers, deepseq, Diff, directory
|
||||
, dlist, extra, filepath, ghc, ghc-boot-th, ghc-paths, ghcide
|
||||
, hashable, haskell-lsp, haskell-lsp-types, hls-plugin-api, lens
|
||||
|
@ -128988,6 +128979,7 @@ self: {
|
|||
];
|
||||
description = "Eval plugin for Haskell Language Server";
|
||||
license = lib.licenses.asl20;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
}) {};
|
||||
|
||||
"hls-exactprint-utils" = callPackage
|
||||
|
@ -129022,8 +129014,6 @@ self: {
|
|||
];
|
||||
description = "Explicit imports plugin for Haskell Language Server";
|
||||
license = lib.licenses.asl20;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
broken = true;
|
||||
}) {};
|
||||
|
||||
"hls-haddock-comments-plugin" = callPackage
|
||||
|
@ -129043,6 +129033,29 @@ self: {
|
|||
}) {};
|
||||
|
||||
"hls-hlint-plugin" = callPackage
|
||||
({ mkDerivation, aeson, apply-refact, base, binary, bytestring
|
||||
, containers, data-default, deepseq, Diff, directory, extra
|
||||
, filepath, ghc, ghcide, hashable, haskell-lsp, hlint
|
||||
, hls-plugin-api, hslogger, lens, regex-tdfa, shake, temporary
|
||||
, text, transformers, unordered-containers
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "hls-hlint-plugin";
|
||||
version = "0.1.0.0";
|
||||
sha256 = "1sjbdzdrl4r0ar75z5znrv5iyim2hmf52c6r5hgmyn7wmhzbpvnq";
|
||||
revision = "1";
|
||||
editedCabalFile = "1al6a1kzhymxrpq5mvz1nlyhfcnjsz3ygqkafa8llb6hzsff6m7s";
|
||||
libraryHaskellDepends = [
|
||||
aeson apply-refact base binary bytestring containers data-default
|
||||
deepseq Diff directory extra filepath ghc ghcide hashable
|
||||
haskell-lsp hlint hls-plugin-api hslogger lens regex-tdfa shake
|
||||
temporary text transformers unordered-containers
|
||||
];
|
||||
description = "Hlint integration plugin with Haskell Language Server";
|
||||
license = lib.licenses.asl20;
|
||||
}) {};
|
||||
|
||||
"hls-hlint-plugin_0_2_0_0" = callPackage
|
||||
({ mkDerivation, aeson, apply-refact, base, binary, bytestring
|
||||
, containers, data-default, deepseq, Diff, directory, extra
|
||||
, filepath, ghc, ghc-exactprint, ghcide, hashable, haskell-lsp
|
||||
|
@ -129062,10 +129075,29 @@ self: {
|
|||
description = "Hlint integration plugin with Haskell Language Server";
|
||||
license = lib.licenses.asl20;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
broken = true;
|
||||
}) {};
|
||||
|
||||
"hls-plugin-api" = callPackage
|
||||
({ mkDerivation, aeson, base, containers, data-default, Diff
|
||||
, hashable, haskell-lsp, hslogger, lens, process, regex-tdfa, shake
|
||||
, text, unix, unordered-containers
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "hls-plugin-api";
|
||||
version = "0.6.0.0";
|
||||
sha256 = "0dnd20mb0id0l2dz6j3ckfrjyfm3mjys0kf11z3a684i4bc0w1pi";
|
||||
revision = "2";
|
||||
editedCabalFile = "0726nm80c7xfg6bxac32bg8yjszw5b0fq27jsg0w7dg2rg4zy1ji";
|
||||
libraryHaskellDepends = [
|
||||
aeson base containers data-default Diff hashable haskell-lsp
|
||||
hslogger lens process regex-tdfa shake text unix
|
||||
unordered-containers
|
||||
];
|
||||
description = "Haskell Language Server API for plugin communication";
|
||||
license = lib.licenses.asl20;
|
||||
}) {};
|
||||
|
||||
"hls-plugin-api_0_7_0_0" = callPackage
|
||||
({ mkDerivation, aeson, base, containers, data-default, Diff
|
||||
, hashable, haskell-lsp, hslogger, lens, process, regex-tdfa, shake
|
||||
, text, unix, unordered-containers
|
||||
|
@ -129081,6 +129113,7 @@ self: {
|
|||
];
|
||||
description = "Haskell Language Server API for plugin communication";
|
||||
license = lib.licenses.asl20;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
}) {};
|
||||
|
||||
"hls-retrie-plugin" = callPackage
|
||||
|
@ -129100,8 +129133,6 @@ self: {
|
|||
];
|
||||
description = "Retrie integration plugin for Haskell Language Server";
|
||||
license = lib.licenses.asl20;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
broken = true;
|
||||
}) {};
|
||||
|
||||
"hls-splice-plugin" = callPackage
|
||||
|
@ -215840,22 +215871,6 @@ self: {
|
|||
}) {};
|
||||
|
||||
"refinery" = callPackage
|
||||
({ mkDerivation, base, checkers, exceptions, hspec, logict, mmorph
|
||||
, mtl, QuickCheck
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "refinery";
|
||||
version = "0.2.0.0";
|
||||
sha256 = "0nsfmb5y8y0hanh3h03v0n8wa5frgj85gz8ycl8h5z045j2kk3wq";
|
||||
libraryHaskellDepends = [ base exceptions logict mmorph mtl ];
|
||||
testHaskellDepends = [
|
||||
base checkers exceptions hspec logict mmorph mtl QuickCheck
|
||||
];
|
||||
description = "Toolkit for building proof automation systems";
|
||||
license = lib.licenses.bsd3;
|
||||
}) {};
|
||||
|
||||
"refinery_0_3_0_0" = callPackage
|
||||
({ mkDerivation, base, checkers, exceptions, hspec, logict, mmorph
|
||||
, mtl, QuickCheck
|
||||
}:
|
||||
|
@ -215869,7 +215884,6 @@ self: {
|
|||
];
|
||||
description = "Toolkit for building proof automation systems";
|
||||
license = lib.licenses.bsd3;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
}) {};
|
||||
|
||||
"reflection" = callPackage
|
||||
|
|
|
@ -18,16 +18,6 @@ self: super: {
|
|||
# https://github.com/spacchetti/spago/issues/512
|
||||
spago = self.callPackage ../tools/purescript/spago/spago.nix { };
|
||||
|
||||
# HLS and its fork of ghcide that it uses
|
||||
# both are auto-generated by pkgs/development/tools/haskell/haskell-language-server/update.sh
|
||||
haskell-language-server = self.callPackage ../tools/haskell/haskell-language-server { };
|
||||
hls-hlint-plugin = self.callPackage ../tools/haskell/haskell-language-server/hls-hlint-plugin.nix { };
|
||||
hls-tactics-plugin = self.callPackage ../tools/haskell/haskell-language-server/hls-tactics-plugin.nix { };
|
||||
hls-explicit-imports-plugin = self.callPackage ../tools/haskell/haskell-language-server/hls-explicit-imports-plugin.nix { };
|
||||
hls-retrie-plugin = self.callPackage ../tools/haskell/haskell-language-server/hls-retrie-plugin.nix { };
|
||||
hls-class-plugin = self.callPackage ../tools/haskell/haskell-language-server/hls-class-plugin.nix { };
|
||||
hls-eval-plugin = self.callPackage ../tools/haskell/haskell-language-server/hls-eval-plugin.nix { };
|
||||
|
||||
nix-output-monitor = self.callPackage ../../tools/nix/nix-output-monitor { };
|
||||
|
||||
# cabal2nix --revision <rev> https://github.com/hasura/ci-info-hs.git
|
||||
|
|
|
@ -1,53 +0,0 @@
|
|||
{ mkDerivation, aeson, base, binary, blaze-markup, brittany
|
||||
, bytestring, containers, data-default, deepseq, directory, extra
|
||||
, fetchgit, filepath, floskell, fourmolu, ghc, ghc-boot-th
|
||||
, ghc-paths, ghcide, gitrev, hashable, haskell-lsp, hie-bios
|
||||
, hls-class-plugin, hls-eval-plugin, hls-explicit-imports-plugin
|
||||
, hls-hlint-plugin, hls-plugin-api, hls-retrie-plugin
|
||||
, hls-tactics-plugin, hslogger, hspec, hspec-core
|
||||
, hspec-expectations, lens, lsp-test, mtl, optparse-applicative
|
||||
, optparse-simple, ormolu, process, regex-tdfa, safe-exceptions
|
||||
, shake, lib, stm, stylish-haskell, tasty, tasty-ant-xml
|
||||
, tasty-expected-failure, tasty-golden, tasty-hunit, tasty-rerun
|
||||
, temporary, text, transformers, unordered-containers, with-utf8
|
||||
, yaml
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "haskell-language-server";
|
||||
version = "0.8.0.0";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/haskell/haskell-language-server.git";
|
||||
sha256 = "0p6fqs07lajbi2g1wf4w3j5lvwknnk58n12vlg48cs4iz25gp588";
|
||||
rev = "eb58f13f7b8e4f9bc771af30ff9fd82dc4309ff5";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
libraryHaskellDepends = [
|
||||
base containers data-default directory extra filepath ghc ghcide
|
||||
gitrev haskell-lsp hls-plugin-api hslogger optparse-applicative
|
||||
optparse-simple process shake text unordered-containers
|
||||
];
|
||||
executableHaskellDepends = [
|
||||
aeson base binary brittany bytestring containers deepseq directory
|
||||
extra filepath floskell fourmolu ghc ghc-boot-th ghc-paths ghcide
|
||||
gitrev hashable haskell-lsp hie-bios hls-class-plugin
|
||||
hls-eval-plugin hls-explicit-imports-plugin hls-hlint-plugin
|
||||
hls-plugin-api hls-retrie-plugin hls-tactics-plugin hslogger lens
|
||||
mtl optparse-applicative optparse-simple ormolu process regex-tdfa
|
||||
safe-exceptions shake stylish-haskell temporary text transformers
|
||||
unordered-containers with-utf8
|
||||
];
|
||||
testHaskellDepends = [
|
||||
aeson base blaze-markup bytestring containers data-default
|
||||
directory extra filepath haskell-lsp hie-bios hls-plugin-api
|
||||
hslogger hspec hspec-core hspec-expectations lens lsp-test process
|
||||
stm tasty tasty-ant-xml tasty-expected-failure tasty-golden
|
||||
tasty-hunit tasty-rerun temporary text transformers
|
||||
unordered-containers yaml
|
||||
];
|
||||
testToolDepends = [ ghcide ];
|
||||
homepage = "https://github.com/haskell/haskell-language-server#readme";
|
||||
description = "LSP server for GHC";
|
||||
license = lib.licenses.asl20;
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
{ mkDerivation, aeson, base, containers, fetchgit, ghc
|
||||
, ghc-exactprint, ghcide, haskell-lsp, hls-plugin-api, lens, shake
|
||||
, lib, text, transformers, unordered-containers
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "hls-class-plugin";
|
||||
version = "0.1.0.0";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/haskell/haskell-language-server.git";
|
||||
sha256 = "0p6fqs07lajbi2g1wf4w3j5lvwknnk58n12vlg48cs4iz25gp588";
|
||||
rev = "eb58f13f7b8e4f9bc771af30ff9fd82dc4309ff5";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
postUnpack = "sourceRoot+=/plugins/hls-class-plugin; echo source root reset to $sourceRoot";
|
||||
libraryHaskellDepends = [
|
||||
aeson base containers ghc ghc-exactprint ghcide haskell-lsp
|
||||
hls-plugin-api lens shake text transformers unordered-containers
|
||||
];
|
||||
description = "Explicit imports plugin for Haskell Language Server";
|
||||
license = lib.licenses.asl20;
|
||||
}
|
|
@ -1,27 +0,0 @@
|
|||
{ mkDerivation, aeson, base, containers, deepseq, Diff, directory
|
||||
, extra, fetchgit, filepath, ghc, ghc-boot-th, ghc-paths, ghcide
|
||||
, hashable, haskell-lsp, haskell-lsp-types, hls-plugin-api
|
||||
, parser-combinators, pretty-simple, QuickCheck, safe-exceptions
|
||||
, shake, lib, temporary, text, time, transformers
|
||||
, unordered-containers
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "hls-eval-plugin";
|
||||
version = "0.1.0.0";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/haskell/haskell-language-server.git";
|
||||
sha256 = "0p6fqs07lajbi2g1wf4w3j5lvwknnk58n12vlg48cs4iz25gp588";
|
||||
rev = "eb58f13f7b8e4f9bc771af30ff9fd82dc4309ff5";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
postUnpack = "sourceRoot+=/plugins/hls-eval-plugin; echo source root reset to $sourceRoot";
|
||||
libraryHaskellDepends = [
|
||||
aeson base containers deepseq Diff directory extra filepath ghc
|
||||
ghc-boot-th ghc-paths ghcide hashable haskell-lsp haskell-lsp-types
|
||||
hls-plugin-api parser-combinators pretty-simple QuickCheck
|
||||
safe-exceptions shake temporary text time transformers
|
||||
unordered-containers
|
||||
];
|
||||
description = "Eval plugin for Haskell Language Server";
|
||||
license = lib.licenses.asl20;
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
{ mkDerivation, aeson, base, containers, deepseq, fetchgit, ghc
|
||||
, ghcide, haskell-lsp-types, hls-plugin-api, shake, lib, text
|
||||
, unordered-containers
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "hls-explicit-imports-plugin";
|
||||
version = "0.1.0.0";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/haskell/haskell-language-server.git";
|
||||
sha256 = "0p6fqs07lajbi2g1wf4w3j5lvwknnk58n12vlg48cs4iz25gp588";
|
||||
rev = "eb58f13f7b8e4f9bc771af30ff9fd82dc4309ff5";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
postUnpack = "sourceRoot+=/plugins/hls-explicit-imports-plugin; echo source root reset to $sourceRoot";
|
||||
libraryHaskellDepends = [
|
||||
aeson base containers deepseq ghc ghcide haskell-lsp-types
|
||||
hls-plugin-api shake text unordered-containers
|
||||
];
|
||||
description = "Explicit imports plugin for Haskell Language Server";
|
||||
license = lib.licenses.asl20;
|
||||
}
|
|
@ -1,26 +0,0 @@
|
|||
{ mkDerivation, aeson, apply-refact, base, binary, bytestring
|
||||
, containers, data-default, deepseq, Diff, directory, extra
|
||||
, fetchgit, filepath, ghc, ghc-lib, ghc-lib-parser-ex, ghcide
|
||||
, hashable, haskell-lsp, hlint, hls-plugin-api, hslogger, lens
|
||||
, regex-tdfa, shake, lib, temporary, text, transformers
|
||||
, unordered-containers
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "hls-hlint-plugin";
|
||||
version = "0.1.0.0";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/haskell/haskell-language-server.git";
|
||||
sha256 = "0p6fqs07lajbi2g1wf4w3j5lvwknnk58n12vlg48cs4iz25gp588";
|
||||
rev = "eb58f13f7b8e4f9bc771af30ff9fd82dc4309ff5";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
postUnpack = "sourceRoot+=/plugins/hls-hlint-plugin; echo source root reset to $sourceRoot";
|
||||
libraryHaskellDepends = [
|
||||
aeson apply-refact base binary bytestring containers data-default
|
||||
deepseq Diff directory extra filepath ghc ghc-lib ghc-lib-parser-ex
|
||||
ghcide hashable haskell-lsp hlint hls-plugin-api hslogger lens
|
||||
regex-tdfa shake temporary text transformers unordered-containers
|
||||
];
|
||||
description = "Hlint integration plugin with Haskell Language Server";
|
||||
license = lib.licenses.asl20;
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
{ mkDerivation, aeson, base, containers, deepseq, directory, extra
|
||||
, fetchgit, ghc, ghcide, hashable, haskell-lsp, haskell-lsp-types
|
||||
, hls-plugin-api, retrie, safe-exceptions, shake, lib, text
|
||||
, transformers, unordered-containers
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "hls-retrie-plugin";
|
||||
version = "0.1.0.0";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/haskell/haskell-language-server.git";
|
||||
sha256 = "0p6fqs07lajbi2g1wf4w3j5lvwknnk58n12vlg48cs4iz25gp588";
|
||||
rev = "eb58f13f7b8e4f9bc771af30ff9fd82dc4309ff5";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
postUnpack = "sourceRoot+=/plugins/hls-retrie-plugin; echo source root reset to $sourceRoot";
|
||||
libraryHaskellDepends = [
|
||||
aeson base containers deepseq directory extra ghc ghcide hashable
|
||||
haskell-lsp haskell-lsp-types hls-plugin-api retrie safe-exceptions
|
||||
shake text transformers unordered-containers
|
||||
];
|
||||
description = "Retrie integration plugin for Haskell Language Server";
|
||||
license = lib.licenses.asl20;
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{ mkDerivation, aeson, base, checkers, containers, deepseq
|
||||
, directory, extra, fetchgit, filepath, fingertree, generic-lens
|
||||
, ghc, ghc-boot-th, ghc-exactprint, ghc-source-gen, ghcide
|
||||
, haskell-lsp, hie-bios, hls-plugin-api, hspec, hspec-discover
|
||||
, lens, mtl, QuickCheck, refinery, retrie, shake, lib, syb, text
|
||||
, transformers
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "hls-tactics-plugin";
|
||||
version = "0.5.1.0";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/haskell/haskell-language-server.git";
|
||||
sha256 = "0p6fqs07lajbi2g1wf4w3j5lvwknnk58n12vlg48cs4iz25gp588";
|
||||
rev = "eb58f13f7b8e4f9bc771af30ff9fd82dc4309ff5";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
postUnpack = "sourceRoot+=/plugins/tactics; echo source root reset to $sourceRoot";
|
||||
libraryHaskellDepends = [
|
||||
aeson base containers deepseq directory extra filepath fingertree
|
||||
generic-lens ghc ghc-boot-th ghc-exactprint ghc-source-gen ghcide
|
||||
haskell-lsp hls-plugin-api lens mtl refinery retrie shake syb text
|
||||
transformers
|
||||
];
|
||||
testHaskellDepends = [
|
||||
base checkers containers ghc hie-bios hls-plugin-api hspec mtl
|
||||
QuickCheck
|
||||
];
|
||||
testToolDepends = [ hspec-discover ];
|
||||
description = "Tactics plugin for Haskell Language Server";
|
||||
license = "unknown";
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
}
|
|
@ -1,50 +0,0 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p cabal2nix jq curl
|
||||
#
|
||||
# This script will update the haskell-language-server derivation to the latest version using
|
||||
# cabal2nix.
|
||||
#
|
||||
# Note that you should always try building haskell-language-server after updating it here, since
|
||||
# some of the overrides in pkgs/development/haskell/configuration-nix.nix may
|
||||
# need to be updated/changed.
|
||||
#
|
||||
# Remember to split out different updates into multiple commits
|
||||
|
||||
set -eo pipefail
|
||||
|
||||
# This is the directory of this update.sh script.
|
||||
script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||
|
||||
# ===========================
|
||||
# HLS
|
||||
# ===========================
|
||||
|
||||
# hls derivation created with cabal2nix.
|
||||
hls_derivation_file="${script_dir}/default.nix"
|
||||
|
||||
# This is the current revision of hls in Nixpkgs.
|
||||
hls_old_version="$(sed -En 's/.*\bversion = "(.*?)".*/\1/p' "$hls_derivation_file")"
|
||||
|
||||
# This is the latest release version of hls on GitHub.
|
||||
# Get all tag names, filter to the hls ones (no prefix like 'hls-plugin-api-'),
|
||||
# sort for the latest one and select just that
|
||||
hls_latest_release=$(curl -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/haskell/haskell-language-server/tags |
|
||||
jq --raw-output 'map(.name) | .[]' |
|
||||
grep '^[0-9]' |
|
||||
sort --version-sort |
|
||||
tail -n1)
|
||||
|
||||
# Use this value instead for the very latest revision
|
||||
# hls_head=(curl --silent "https://api.github.com/repos/haskell/haskell-language-server/commits/master" | jq '.sha' --raw-output)
|
||||
|
||||
hls_new_version=$hls_latest_release
|
||||
|
||||
echo "Updating haskell-language-server from old version $hls_old_version to new version $hls_new_version."
|
||||
echo "Running cabal2nix and outputting to ${hls_derivation_file}..."
|
||||
cabal2nix --revision "$hls_new_version" "https://github.com/haskell/haskell-language-server.git" > "$hls_derivation_file"
|
||||
cabal2nix --revision "$hls_new_version" --subpath plugins/tactics "https://github.com/haskell/haskell-language-server.git" > "${script_dir}/hls-tactics-plugin.nix"
|
||||
for plugin in "hls-hlint-plugin" "hls-explicit-imports-plugin" "hls-retrie-plugin" "hls-class-plugin" "hls-eval-plugin"; do
|
||||
cabal2nix --revision "$hls_new_version" --subpath plugins/$plugin "https://github.com/haskell/haskell-language-server.git" > "${script_dir}/$plugin.nix"
|
||||
done
|
||||
|
||||
echo "Finished."
|
Loading…
Reference in New Issue