diff --git a/pkgs/development/haskell-modules/non-hackage-packages.nix b/pkgs/development/haskell-modules/non-hackage-packages.nix index b31f6c6289d5..af317c92a5ab 100644 --- a/pkgs/development/haskell-modules/non-hackage-packages.nix +++ b/pkgs/development/haskell-modules/non-hackage-packages.nix @@ -25,6 +25,8 @@ self: super: { 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 { }; diff --git a/pkgs/development/tools/haskell/haskell-language-server/default.nix b/pkgs/development/tools/haskell/haskell-language-server/default.nix index e33d731dae43..44cd234da722 100644 --- a/pkgs/development/tools/haskell/haskell-language-server/default.nix +++ b/pkgs/development/tools/haskell/haskell-language-server/default.nix @@ -2,21 +2,23 @@ , 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-explicit-imports-plugin, hls-hlint-plugin, hls-plugin-api -, hls-retrie-plugin, hls-tactics-plugin, hslogger, hspec -, hspec-core, lens, lsp-test, mtl, optparse-applicative +, 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, stdenv, stm, stylish-haskell, tasty, tasty-ant-xml , tasty-expected-failure, tasty-golden, tasty-hunit, tasty-rerun -, temporary, text, time, transformers, unordered-containers, yaml +, temporary, text, transformers, unordered-containers, with-utf8 +, yaml }: mkDerivation { pname = "haskell-language-server"; - version = "0.7.1.0"; + version = "0.8.0.0"; src = fetchgit { url = "https://github.com/haskell/haskell-language-server.git"; - sha256 = "0gkzvjx4dgf53yicinqjshlj80gznx5khb62i7g3kqjr85iy0raa"; - rev = "e4f677e1780fe85a02b99a09404a0a3c3ab5ce7c"; + sha256 = "0p6fqs07lajbi2g1wf4w3j5lvwknnk58n12vlg48cs4iz25gp588"; + rev = "eb58f13f7b8e4f9bc771af30ff9fd82dc4309ff5"; fetchSubmodules = true; }; isLibrary = true; @@ -29,19 +31,20 @@ mkDerivation { 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-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 time transformers - unordered-containers + 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 lens lsp-test process stm tasty - tasty-ant-xml tasty-expected-failure tasty-golden tasty-hunit - tasty-rerun temporary text transformers unordered-containers yaml + 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"; diff --git a/pkgs/development/tools/haskell/haskell-language-server/hls-class-plugin.nix b/pkgs/development/tools/haskell/haskell-language-server/hls-class-plugin.nix new file mode 100644 index 000000000000..86c29c7be390 --- /dev/null +++ b/pkgs/development/tools/haskell/haskell-language-server/hls-class-plugin.nix @@ -0,0 +1,21 @@ +{ mkDerivation, aeson, base, containers, fetchgit, ghc +, ghc-exactprint, ghcide, haskell-lsp, hls-plugin-api, lens, shake +, stdenv, 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 = stdenv.lib.licenses.asl20; +} diff --git a/pkgs/development/tools/haskell/haskell-language-server/hls-eval-plugin.nix b/pkgs/development/tools/haskell/haskell-language-server/hls-eval-plugin.nix new file mode 100644 index 000000000000..20ebc5f5e898 --- /dev/null +++ b/pkgs/development/tools/haskell/haskell-language-server/hls-eval-plugin.nix @@ -0,0 +1,27 @@ +{ 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, stdenv, 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 = stdenv.lib.licenses.asl20; +} diff --git a/pkgs/development/tools/haskell/haskell-language-server/hls-explicit-imports-plugin.nix b/pkgs/development/tools/haskell/haskell-language-server/hls-explicit-imports-plugin.nix index 7c3b22cf1d0a..bad0e82194cd 100644 --- a/pkgs/development/tools/haskell/haskell-language-server/hls-explicit-imports-plugin.nix +++ b/pkgs/development/tools/haskell/haskell-language-server/hls-explicit-imports-plugin.nix @@ -7,8 +7,8 @@ mkDerivation { version = "0.1.0.0"; src = fetchgit { url = "https://github.com/haskell/haskell-language-server.git"; - sha256 = "0gkzvjx4dgf53yicinqjshlj80gznx5khb62i7g3kqjr85iy0raa"; - rev = "e4f677e1780fe85a02b99a09404a0a3c3ab5ce7c"; + sha256 = "0p6fqs07lajbi2g1wf4w3j5lvwknnk58n12vlg48cs4iz25gp588"; + rev = "eb58f13f7b8e4f9bc771af30ff9fd82dc4309ff5"; fetchSubmodules = true; }; postUnpack = "sourceRoot+=/plugins/hls-explicit-imports-plugin; echo source root reset to $sourceRoot"; diff --git a/pkgs/development/tools/haskell/haskell-language-server/hls-hlint-plugin.nix b/pkgs/development/tools/haskell/haskell-language-server/hls-hlint-plugin.nix index 8bfcf034bd2b..ecbe141fd724 100644 --- a/pkgs/development/tools/haskell/haskell-language-server/hls-hlint-plugin.nix +++ b/pkgs/development/tools/haskell/haskell-language-server/hls-hlint-plugin.nix @@ -10,8 +10,8 @@ mkDerivation { version = "0.1.0.0"; src = fetchgit { url = "https://github.com/haskell/haskell-language-server.git"; - sha256 = "0gkzvjx4dgf53yicinqjshlj80gznx5khb62i7g3kqjr85iy0raa"; - rev = "e4f677e1780fe85a02b99a09404a0a3c3ab5ce7c"; + sha256 = "0p6fqs07lajbi2g1wf4w3j5lvwknnk58n12vlg48cs4iz25gp588"; + rev = "eb58f13f7b8e4f9bc771af30ff9fd82dc4309ff5"; fetchSubmodules = true; }; postUnpack = "sourceRoot+=/plugins/hls-hlint-plugin; echo source root reset to $sourceRoot"; diff --git a/pkgs/development/tools/haskell/haskell-language-server/hls-retrie-plugin.nix b/pkgs/development/tools/haskell/haskell-language-server/hls-retrie-plugin.nix index 7a44903f9870..5a769e7a719b 100644 --- a/pkgs/development/tools/haskell/haskell-language-server/hls-retrie-plugin.nix +++ b/pkgs/development/tools/haskell/haskell-language-server/hls-retrie-plugin.nix @@ -8,8 +8,8 @@ mkDerivation { version = "0.1.0.0"; src = fetchgit { url = "https://github.com/haskell/haskell-language-server.git"; - sha256 = "0gkzvjx4dgf53yicinqjshlj80gznx5khb62i7g3kqjr85iy0raa"; - rev = "e4f677e1780fe85a02b99a09404a0a3c3ab5ce7c"; + sha256 = "0p6fqs07lajbi2g1wf4w3j5lvwknnk58n12vlg48cs4iz25gp588"; + rev = "eb58f13f7b8e4f9bc771af30ff9fd82dc4309ff5"; fetchSubmodules = true; }; postUnpack = "sourceRoot+=/plugins/hls-retrie-plugin; echo source root reset to $sourceRoot"; diff --git a/pkgs/development/tools/haskell/haskell-language-server/hls-tactics-plugin.nix b/pkgs/development/tools/haskell/haskell-language-server/hls-tactics-plugin.nix index 326e8ce0cdf9..b5819b705b62 100644 --- a/pkgs/development/tools/haskell/haskell-language-server/hls-tactics-plugin.nix +++ b/pkgs/development/tools/haskell/haskell-language-server/hls-tactics-plugin.nix @@ -10,8 +10,8 @@ mkDerivation { version = "0.5.1.0"; src = fetchgit { url = "https://github.com/haskell/haskell-language-server.git"; - sha256 = "0gkzvjx4dgf53yicinqjshlj80gznx5khb62i7g3kqjr85iy0raa"; - rev = "e4f677e1780fe85a02b99a09404a0a3c3ab5ce7c"; + sha256 = "0p6fqs07lajbi2g1wf4w3j5lvwknnk58n12vlg48cs4iz25gp588"; + rev = "eb58f13f7b8e4f9bc771af30ff9fd82dc4309ff5"; fetchSubmodules = true; }; postUnpack = "sourceRoot+=/plugins/tactics; echo source root reset to $sourceRoot"; diff --git a/pkgs/development/tools/haskell/haskell-language-server/update.sh b/pkgs/development/tools/haskell/haskell-language-server/update.sh index f14a97221ff8..aaccf8b9b9fe 100755 --- a/pkgs/development/tools/haskell/haskell-language-server/update.sh +++ b/pkgs/development/tools/haskell/haskell-language-server/update.sh @@ -41,11 +41,10 @@ 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" -cabal2nix --revision "$hls_new_version" --subpath plugins/hls-hlint-plugin "https://github.com/haskell/haskell-language-server.git" > "${script_dir}/hls-hlint-plugin.nix" -cabal2nix --revision "$hls_new_version" --subpath plugins/hls-explicit-imports-plugin "https://github.com/haskell/haskell-language-server.git" > "${script_dir}/hls-explicit-imports-plugin.nix" -cabal2nix --revision "$hls_new_version" --subpath plugins/hls-retrie-plugin "https://github.com/haskell/haskell-language-server.git" > "${script_dir}/hls-retrie-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."