haskellPackages.haskell-language-server: 0.6.0 -> 0.7.0

Remove hls-brittany as it's no longer necessary

Fix the update script to include hls-explicit-imports-plugin and
hls-retrhls-retrie-plugin
This commit is contained in:
Joe Hermaszewski 2020-12-12 10:41:47 +08:00 committed by Peter Simons
parent fb3b144fd1
commit c31e766a24
10 changed files with 75 additions and 87 deletions

View File

@ -1402,6 +1402,7 @@ self: super: {
# https://github.com/haskell/haskell-language-server/issues/611 # https://github.com/haskell/haskell-language-server/issues/611
haskell-language-server = dontCheck (super.haskell-language-server.override { haskell-language-server = dontCheck (super.haskell-language-server.override {
lsp-test = dontCheck self.lsp-test_0_11_0_7; lsp-test = dontCheck self.lsp-test_0_11_0_7;
fourmolu = self.fourmolu_0_3_0_0;
}); });
fourmolu = dontCheck super.fourmolu; fourmolu = dontCheck super.fourmolu;
@ -1412,12 +1413,6 @@ self: super: {
)); ));
refinery = doDistribute super.refinery_0_3_0_0; refinery = doDistribute super.refinery_0_3_0_0;
data-tree-print = doJailbreak super.data-tree-print; data-tree-print = doJailbreak super.data-tree-print;
# the hls brittany is objectively better, because there hasnt been a
# brittany release in a while and this version works with 8.10.
# And we need to build it anyways.
# 2020-11-15: jailbreaking because we have strict 0.4 which is to new
brittany = self.hls-brittany;
hls-brittany = dontCheck (doJailbreak super.hls-brittany);
# 2020-11-15: aeson 1.5.4.1 needs to new quickcheck-instances for testing # 2020-11-15: aeson 1.5.4.1 needs to new quickcheck-instances for testing
aeson = dontCheck super.aeson; aeson = dontCheck super.aeson;

View File

@ -6401,7 +6401,6 @@ broken-packages:
- hlrdb - hlrdb
- hlrdb-core - hlrdb-core
- hls - hls
- hls-brittany
- hlwm - hlwm
- hly - hly
- hmark - hmark

View File

@ -19,9 +19,10 @@ self: super: {
# HLS and its fork of ghcide that it uses # HLS and its fork of ghcide that it uses
# both are auto-generated by pkgs/development/tools/haskell/haskell-language-server/update.sh # both are auto-generated by pkgs/development/tools/haskell/haskell-language-server/update.sh
haskell-language-server = self.callPackage ../tools/haskell/haskell-language-server { }; haskell-language-server = self.callPackage ../tools/haskell/haskell-language-server { };
hls-brittany = self.callPackage ../tools/haskell/haskell-language-server/hls-brittany.nix { };
hls-hlint-plugin = self.callPackage ../tools/haskell/haskell-language-server/hls-hlint-plugin.nix { }; 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-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 { };
nix-output-monitor = self.callPackage ../../tools/nix/nix-output-monitor { }; nix-output-monitor = self.callPackage ../../tools/nix/nix-output-monitor { };

View File

@ -2,39 +2,39 @@
, bytestring, containers, data-default, deepseq, directory, extra , bytestring, containers, data-default, deepseq, directory, extra
, fetchgit, filepath, floskell, fourmolu, ghc, ghc-boot-th , fetchgit, filepath, floskell, fourmolu, ghc, ghc-boot-th
, ghc-paths, ghcide, gitrev, hashable, haskell-lsp, hie-bios , ghc-paths, ghcide, gitrev, hashable, haskell-lsp, hie-bios
, hls-hlint-plugin, hls-plugin-api, hls-tactics-plugin, hslogger , hls-explicit-imports-plugin, hls-hlint-plugin, hls-plugin-api
, hspec, hspec-core, lens, lsp-test, mtl, optparse-applicative , hls-retrie-plugin, hls-tactics-plugin, hslogger, hspec
, optparse-simple, ormolu, process, regex-tdfa, retrie , hspec-core, lens, lsp-test, mtl, optparse-applicative
, safe-exceptions, shake, stdenv, stm, stylish-haskell, tasty , optparse-simple, ormolu, process, regex-tdfa, safe-exceptions
, tasty-ant-xml, tasty-expected-failure, tasty-golden, tasty-hunit , shake, stdenv, stm, stylish-haskell, tasty, tasty-ant-xml
, tasty-rerun, temporary, text, time, transformers , tasty-expected-failure, tasty-golden, tasty-hunit, tasty-rerun
, unordered-containers, yaml , temporary, text, time, transformers, unordered-containers, yaml
}: }:
mkDerivation { mkDerivation {
pname = "haskell-language-server"; pname = "haskell-language-server";
version = "0.6.0.0"; version = "0.7.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 = "027fq6752024wzzq9izsilm5lkq9gmpxf82rixbimbijw0yk4pwj"; sha256 = "0w37792wkq4ys7afgali4jg1kwgkbpk8q0y95fd2j1vgpk0pndlr";
rev = "372a12e797069dc3ac4fa33dcaabe3b992999d7c"; rev = "6a692de3308c06d8eb7bdf0f7b8a35b6e9a92610";
fetchSubmodules = true; fetchSubmodules = true;
}; };
isLibrary = true; isLibrary = true;
isExecutable = true; isExecutable = true;
libraryHaskellDepends = [ libraryHaskellDepends = [
base containers data-default directory extra filepath ghc ghcide base containers data-default directory extra filepath ghc ghcide
gitrev haskell-lsp hie-bios hls-plugin-api hslogger gitrev haskell-lsp hls-plugin-api hslogger optparse-applicative
optparse-applicative optparse-simple process text optparse-simple process text unordered-containers
unordered-containers
]; ];
executableHaskellDepends = [ executableHaskellDepends = [
aeson base binary brittany bytestring containers deepseq directory aeson base binary brittany bytestring containers deepseq directory
extra filepath floskell fourmolu ghc ghc-boot-th ghc-paths ghcide extra filepath floskell fourmolu ghc ghc-boot-th ghc-paths ghcide
gitrev hashable haskell-lsp hie-bios hls-hlint-plugin gitrev hashable haskell-lsp hie-bios hls-explicit-imports-plugin
hls-plugin-api hls-tactics-plugin hslogger lens mtl hls-hlint-plugin hls-plugin-api hls-retrie-plugin
optparse-applicative optparse-simple ormolu process regex-tdfa hls-tactics-plugin hslogger lens mtl optparse-applicative
retrie safe-exceptions shake stylish-haskell temporary text time optparse-simple ormolu process regex-tdfa safe-exceptions shake
transformers unordered-containers stylish-haskell temporary text time transformers
unordered-containers
]; ];
testHaskellDepends = [ testHaskellDepends = [
aeson base blaze-markup bytestring containers data-default aeson base blaze-markup bytestring containers data-default

View File

@ -1,36 +0,0 @@
{ mkDerivation, aeson, base, butcher, bytestring, cmdargs
, containers, czipwith, data-tree-print, deepseq, directory, extra
, fetchgit, filepath, ghc, ghc-boot-th, ghc-exactprint, ghc-paths
, hspec, monad-memo, mtl, multistate, parsec, pretty, random, safe
, semigroups, stdenv, strict, syb, text, transformers, uniplate
, unsafe, yaml
}:
mkDerivation {
pname = "brittany";
version = "0.12.1.1";
src = fetchgit {
url = "https://github.com/bubba/brittany";
sha256 = "1rkk09f8750qykrmkqfqbh44dbx1p8aq1caznxxlw8zqfvx39cxl";
rev = "c59655f10d5ad295c2481537fc8abf0a297d9d1c";
fetchSubmodules = true;
};
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
];
homepage = "https://github.com/lspitzner/brittany/";
description = "Haskell source code formatter";
license = stdenv.lib.licenses.agpl3;
}

View File

@ -0,0 +1,21 @@
{ mkDerivation, aeson, base, containers, deepseq, fetchgit, ghc
, ghcide, haskell-lsp-types, hls-plugin-api, shake, stdenv, 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 = "0w37792wkq4ys7afgali4jg1kwgkbpk8q0y95fd2j1vgpk0pndlr";
rev = "6a692de3308c06d8eb7bdf0f7b8a35b6e9a92610";
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 = stdenv.lib.licenses.asl20;
}

View File

@ -10,8 +10,8 @@ mkDerivation {
version = "0.1.0.0"; version = "0.1.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 = "027fq6752024wzzq9izsilm5lkq9gmpxf82rixbimbijw0yk4pwj"; sha256 = "0w37792wkq4ys7afgali4jg1kwgkbpk8q0y95fd2j1vgpk0pndlr";
rev = "372a12e797069dc3ac4fa33dcaabe3b992999d7c"; rev = "6a692de3308c06d8eb7bdf0f7b8a35b6e9a92610";
fetchSubmodules = true; fetchSubmodules = true;
}; };
postUnpack = "sourceRoot+=/plugins/hls-hlint-plugin; echo source root reset to $sourceRoot"; postUnpack = "sourceRoot+=/plugins/hls-hlint-plugin; echo source root reset to $sourceRoot";

View File

@ -0,0 +1,23 @@
{ mkDerivation, aeson, base, containers, deepseq, directory, extra
, fetchgit, ghc, ghcide, hashable, haskell-lsp, haskell-lsp-types
, hls-plugin-api, retrie, safe-exceptions, shake, stdenv, 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 = "0w37792wkq4ys7afgali4jg1kwgkbpk8q0y95fd2j1vgpk0pndlr";
rev = "6a692de3308c06d8eb7bdf0f7b8a35b6e9a92610";
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 = stdenv.lib.licenses.asl20;
}

View File

@ -1,8 +1,8 @@
{ mkDerivation, aeson, base, checkers, containers, deepseq { mkDerivation, aeson, base, checkers, containers, deepseq
, directory, extra, fetchgit, filepath, fingertree, generic-lens , directory, extra, fetchgit, filepath, fingertree, generic-lens
, ghc, ghc-boot-th, ghc-exactprint, ghc-source-gen, ghcide , ghc, ghc-boot-th, ghc-exactprint, ghc-source-gen, ghcide
, haskell-lsp, hie-bios, hls-plugin-api, hspec, lens, mtl , haskell-lsp, hie-bios, hls-plugin-api, hspec, hspec-discover
, QuickCheck, refinery, retrie, shake, stdenv, syb, text , lens, mtl, QuickCheck, refinery, retrie, shake, stdenv, syb, text
, transformers , transformers
}: }:
mkDerivation { mkDerivation {
@ -10,8 +10,8 @@ mkDerivation {
version = "0.5.1.0"; version = "0.5.1.0";
src = fetchgit { src = fetchgit {
url = "https://github.com/haskell/haskell-language-server.git"; url = "https://github.com/haskell/haskell-language-server.git";
sha256 = "027fq6752024wzzq9izsilm5lkq9gmpxf82rixbimbijw0yk4pwj"; sha256 = "0w37792wkq4ys7afgali4jg1kwgkbpk8q0y95fd2j1vgpk0pndlr";
rev = "372a12e797069dc3ac4fa33dcaabe3b992999d7c"; rev = "6a692de3308c06d8eb7bdf0f7b8a35b6e9a92610";
fetchSubmodules = true; fetchSubmodules = true;
}; };
postUnpack = "sourceRoot+=/plugins/tactics; echo source root reset to $sourceRoot"; postUnpack = "sourceRoot+=/plugins/tactics; echo source root reset to $sourceRoot";
@ -25,8 +25,8 @@ mkDerivation {
base checkers containers ghc hie-bios hls-plugin-api hspec mtl base checkers containers ghc hie-bios hls-plugin-api hspec mtl
QuickCheck QuickCheck
]; ];
homepage = "https://github.com/isovector/hls-tactics-plugin#readme"; testToolDepends = [ hspec-discover ];
description = "LSP server for GHC"; description = "Tactics plugin for Haskell Language Server";
license = "unknown"; license = "unknown";
hydraPlatforms = stdenv.lib.platforms.none; hydraPlatforms = stdenv.lib.platforms.none;
} }

View File

@ -15,23 +15,6 @@ set -eo pipefail
# This is the directory of this update.sh script. # This is the directory of this update.sh script.
script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
# ===========================
# HLS maintainer's Brittany fork
# ===========================
# brittany derivation created with cabal2nix.
brittany_derivation_file="${script_dir}/hls-brittany.nix"
# This is the current revision of the brittany fork in Nixpkgs.
brittany_old_version="$(sed -En 's/.*\bversion = "(.*?)".*/\1/p' "$brittany_derivation_file")"
brittany_new_version=$(curl --silent "https://api.github.com/repos/bubba/brittany/commits/ghc-8.10.1" | jq '.sha' --raw-output)
echo "Updating haskell-language-server's brittany from old version $brittany_old_version to new version $brittany_new_version."
echo "Running cabal2nix and outputting to ${brittany_derivation_file}..."
cabal2nix --revision "$brittany_new_version" "https://github.com/bubba/brittany" > "$brittany_derivation_file"
# =========================== # ===========================
# HLS # HLS
# =========================== # ===========================
@ -51,5 +34,7 @@ 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" "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/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-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"
echo "Finished." echo "Finished."