diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 1144ee0f823..bd7692721e8 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -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 diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml index bbf0485e88b..2a340dd7f92 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml @@ -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 diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index 657c04b0d81..4e23ab80c1b 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -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); diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index 1e2f3427dfb..fd2a6646564 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -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 diff --git a/pkgs/development/haskell-modules/non-hackage-packages.nix b/pkgs/development/haskell-modules/non-hackage-packages.nix index af317c92a5a..4d66478f338 100644 --- a/pkgs/development/haskell-modules/non-hackage-packages.nix +++ b/pkgs/development/haskell-modules/non-hackage-packages.nix @@ -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 https://github.com/hasura/ci-info-hs.git diff --git a/pkgs/development/tools/haskell/haskell-language-server/default.nix b/pkgs/development/tools/haskell/haskell-language-server/default.nix deleted file mode 100644 index 71b6355db58..00000000000 --- a/pkgs/development/tools/haskell/haskell-language-server/default.nix +++ /dev/null @@ -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; -} 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 deleted file mode 100644 index b757dc8c9e8..00000000000 --- a/pkgs/development/tools/haskell/haskell-language-server/hls-class-plugin.nix +++ /dev/null @@ -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; -} 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 deleted file mode 100644 index 2677b45a591..00000000000 --- a/pkgs/development/tools/haskell/haskell-language-server/hls-eval-plugin.nix +++ /dev/null @@ -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; -} 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 deleted file mode 100644 index 8207b5181ba..00000000000 --- a/pkgs/development/tools/haskell/haskell-language-server/hls-explicit-imports-plugin.nix +++ /dev/null @@ -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; -} 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 deleted file mode 100644 index 02e314cba3a..00000000000 --- a/pkgs/development/tools/haskell/haskell-language-server/hls-hlint-plugin.nix +++ /dev/null @@ -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; -} 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 deleted file mode 100644 index cca8acb8819..00000000000 --- a/pkgs/development/tools/haskell/haskell-language-server/hls-retrie-plugin.nix +++ /dev/null @@ -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; -} 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 deleted file mode 100644 index 369ce0e27b8..00000000000 --- a/pkgs/development/tools/haskell/haskell-language-server/hls-tactics-plugin.nix +++ /dev/null @@ -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; -} diff --git a/pkgs/development/tools/haskell/haskell-language-server/update.sh b/pkgs/development/tools/haskell/haskell-language-server/update.sh deleted file mode 100755 index aaccf8b9b9f..00000000000 --- a/pkgs/development/tools/haskell/haskell-language-server/update.sh +++ /dev/null @@ -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."