From a5052e1c6eac15370409f0bf7ba0641c1f43c487 Mon Sep 17 00:00:00 2001 From: Malte Brandy Date: Sun, 20 Jun 2021 21:56:34 +0200 Subject: [PATCH] haskellPackages.haskell-language-server: Fix build for 1.2.0.0 --- .../haskell-modules/configuration-common.nix | 27 +--- .../configuration-ghc-9.0.x.nix | 7 ++ .../configuration-hackage2nix/broken.yaml | 4 - .../configuration-hackage2nix/main.yaml | 5 - .../haskell-modules/configuration-nix.nix | 37 ++++++ .../haskell-modules/hackage-packages.nix | 115 ------------------ 6 files changed, 46 insertions(+), 149 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 4f5d28a0bc4e..89931d551a5d 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1394,39 +1394,16 @@ self: super: { # https://github.com/haskell/haskell-language-server/issues/611 haskell-language-server = dontCheck super.haskell-language-server; - # 2021-05-08: Tests fail: https://github.com/haskell/haskell-language-server/issues/1808 - hls-splice-plugin = dontCheck super.hls-splice-plugin; - # 2021-05-08: Tests fail: https://github.com/haskell/haskell-language-server/issues/1809 hls-eval-plugin = dontCheck super.hls-eval-plugin; - # 2021-03-19: Too restrictive upper bound on optparse-applicative - stylish-haskell = doJailbreak super.stylish-haskell; - - # 2021-03-19: https://github.com/facebookincubator/retrie/issues/24 - retrie = doJailbreak super.retrie; - - # Jailbreak because of restrictive upper bound on base16-bytestring - # 2021-03-19: https://github.com/Avi-D-coder/implicit-hie-cradle/pull/8 - implicit-hie-cradle = doJailbreak super.implicit-hie-cradle; + # 2021-06-20: Tests fail: https://github.com/haskell/haskell-language-server/issues/1949 + hls-refine-imports-plugin = dontCheck super.hls-refine-imports-plugin; # 2021-03-09: Golden tests seem to be missing in hackage release: # https://github.com/haskell/haskell-language-server/issues/1536 hls-tactics-plugin = dontCheck (super.hls-tactics-plugin.override { refinery = self.refinery_0_3_0_0; }); - # 2021-03-24: hlint 3.3 is for ghc 9 compat, but hls only supports ghc 8.10 - hls-hlint-plugin = super.hls-hlint-plugin.override { - hlint = super.hlint_3_2_7; - }; - - # hlint 3.3 needs a ghc-lib-parser newer than the one from stackage - hlint = super.hlint.overrideScope (self: super: { - ghc-lib-parser = overrideCabal self.ghc-lib-parser_9_0_1_20210324 { - doHaddock = false; - }; - ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_0_0_4; - }); - # 2021-03-21 Test hangs # https://github.com/haskell/haskell-language-server/issues/1562 # Jailbreak because of: https://github.com/haskell/haskell-language-server/pull/1595 diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix index bc268f5f22c0..5f41a8ce34b8 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix @@ -109,4 +109,11 @@ self: super: { # https://github.com/Soostone/retry/issues/71 retry = dontCheck super.retry; + # hlint 3.3 needs a ghc-lib-parser newer than the one from stackage + hlint = super.hlint_3_3_0.overrideScope (self: super: { + ghc-lib-parser = overrideCabal self.ghc-lib-parser_9_0_1_20210324 { + doHaddock = false; + }; + ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_0_0_4; + }); } diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml index 0f895e1f782e..8b23f1a87d2e 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml @@ -2101,10 +2101,6 @@ broken-packages: - HLogger - hlongurl - hlrdb-core - - hls-exactprint-utils - - hls-floskell-plugin - - hls-fourmolu-plugin - - hls-pragmas-plugin - hlwm - hmarkup - hmatrix-banded diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml index 7c2f668ea49b..0c4c04336f31 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml @@ -81,10 +81,6 @@ default-package-overrides: - monoid-extras < 0.6 - diagrams-core < 1.5.0 - diagrams-lib < 1.4.4 - # 2021-05-11: Pin for hls 1.1.0 - - ghcide == 1.2.* - - hls-plugin-api == 1.1.0.0 - - hls-explicit-imports-plugin < 1.0.0.2 # 2021-05-12: remove once versions >= 5.0.0 is in stackage - futhark < 0.19.5 # 2021-06-05: remove once pandoc 2.14 is in stackage @@ -109,7 +105,6 @@ extra-packages: - haddock-library ==1.7.* # required by stylish-cabal-0.5.0.0 - happy == 1.19.9 # for purescript - hinotify == 0.3.9 # for xmonad-0.26: https://github.com/kolmodin/hinotify/issues/29 - - hlint < 3.3 # We don‘t have ghc-lib-parser 9.0.X yet. - immortal == 0.2.2.1 # required by Hasura 1.3.1, 2020-08-20 - mmorph == 1.1.3 # Newest working version of mmorph on ghc 8.6.5. needed for hls - network == 2.6.3.1 # required by pkgs/games/hedgewars/default.nix, 2020-11-15 diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index 161712d594b8..c0ca0d8a7ca1 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -790,6 +790,42 @@ self: super: builtins.intersectAttrs super { export HOME=$TMPDIR/home ''; }); + hls-ormolu-plugin = overrideCabal super.hls-ormolu-plugin (drv: { + testToolDepends = [ pkgs.git ]; + preCheck = '' + export HOME=$TMPDIR/home + ''; + }); + hls-fourmolu-plugin = overrideCabal super.hls-fourmolu-plugin (drv: { + testToolDepends = [ pkgs.git ]; + preCheck = '' + export HOME=$TMPDIR/home + ''; + }); + hls-module-name-plugin = overrideCabal super.hls-module-name-plugin (drv: { + testToolDepends = [ pkgs.git ]; + preCheck = '' + export HOME=$TMPDIR/home + ''; + }); + hls-splice-plugin = overrideCabal super.hls-splice-plugin (drv: { + testToolDepends = [ pkgs.git ]; + preCheck = '' + export HOME=$TMPDIR/home + ''; + }); + hls-floskell-plugin = overrideCabal super.hls-floskell-plugin (drv: { + testToolDepends = [ pkgs.git ]; + preCheck = '' + export HOME=$TMPDIR/home + ''; + }); + hls-pragmas-plugin = overrideCabal super.hls-pragmas-plugin (drv: { + testToolDepends = [ pkgs.git ]; + preCheck = '' + export HOME=$TMPDIR/home + ''; + }); # Tests have file permissions expections that don‘t work with the nix store. hls-stylish-haskell-plugin = dontCheck super.hls-stylish-haskell-plugin; hls-haddock-comments-plugin = overrideCabal super.hls-haddock-comments-plugin (drv: { @@ -799,6 +835,7 @@ self: super: builtins.intersectAttrs super { ''; }); hls-eval-plugin = overrideCabal super.hls-eval-plugin (drv: { + testToolDepends = [ pkgs.git ]; preCheck = '' export HOME=$TMPDIR/home ''; diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index 8ad068d9e9bd..b35104da9089 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -102248,75 +102248,6 @@ self: { }) {}; "ghcide" = callPackage - ({ mkDerivation, aeson, aeson-pretty, array, async, base - , base16-bytestring, binary, bytestring, bytestring-encoding - , case-insensitive, containers, cryptohash-sha1, data-default - , deepseq, dependent-map, dependent-sum, Diff, directory, dlist - , extra, filepath, fingertree, fuzzy, ghc, ghc-boot, ghc-boot-th - , ghc-check, ghc-exactprint, ghc-paths, ghc-trace-events - , ghc-typelits-knownnat, gitrev, Glob, haddock-library, hashable - , heapsize, hie-bios, hie-compat, hiedb, hls-plugin-api, hp2pretty - , hslogger, implicit-hie, implicit-hie-cradle, lens, lsp, lsp-test - , lsp-types, mtl, network-uri, opentelemetry, optparse-applicative - , parallel, prettyprinter, prettyprinter-ansi-terminal, process - , QuickCheck, quickcheck-instances, record-dot-preprocessor - , record-hasfield, regex-tdfa, retrie, rope-utf16-splay, safe - , safe-exceptions, shake, shake-bench, sorted-list, sqlite-simple - , stm, syb, tasty, tasty-expected-failure, tasty-hunit - , tasty-quickcheck, tasty-rerun, text, time, transformers, unix - , unliftio, unliftio-core, unordered-containers, utf8-string - , vector, yaml - }: - mkDerivation { - pname = "ghcide"; - version = "1.2.0.2"; - sha256 = "0r3n23i4b51bb92q6pch9knj079a26jbz0q70qfpv66154d00wld"; - revision = "1"; - editedCabalFile = "1hv74yx0x6hh506kwg7ygkajkcczfn3l00f8rc4jnr3hkhkm5v85"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ - aeson array async base base16-bytestring binary bytestring - bytestring-encoding case-insensitive containers cryptohash-sha1 - data-default deepseq dependent-map dependent-sum Diff directory - dlist extra filepath fingertree fuzzy ghc ghc-boot ghc-boot-th - ghc-check ghc-exactprint ghc-paths ghc-trace-events Glob - haddock-library hashable heapsize hie-bios hie-compat hiedb - hls-plugin-api hslogger implicit-hie-cradle lens lsp lsp-types mtl - network-uri opentelemetry optparse-applicative parallel - prettyprinter prettyprinter-ansi-terminal regex-tdfa retrie - rope-utf16-splay safe safe-exceptions shake sorted-list - sqlite-simple stm syb text time transformers unix unliftio - unliftio-core unordered-containers utf8-string vector - ]; - executableHaskellDepends = [ - aeson aeson-pretty base bytestring containers data-default - directory extra filepath ghc gitrev hashable heapsize hie-bios - hiedb hls-plugin-api lens lsp lsp-test lsp-types - optparse-applicative process safe-exceptions shake text - unordered-containers - ]; - testHaskellDepends = [ - aeson async base binary bytestring containers data-default - directory extra filepath ghc ghc-typelits-knownnat haddock-library - hls-plugin-api lens lsp lsp-test lsp-types network-uri - optparse-applicative process QuickCheck quickcheck-instances - record-dot-preprocessor record-hasfield regex-tdfa rope-utf16-splay - safe safe-exceptions shake tasty tasty-expected-failure tasty-hunit - tasty-quickcheck tasty-rerun text - ]; - testToolDepends = [ implicit-hie ]; - benchmarkHaskellDepends = [ - aeson base directory extra filepath optparse-applicative shake - shake-bench text yaml - ]; - benchmarkToolDepends = [ hp2pretty implicit-hie ]; - description = "The core of an IDE"; - license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ maralorn ]; - }) {}; - - "ghcide_1_4_0_1" = callPackage ({ mkDerivation, aeson, aeson-pretty, array, async, base , base16-bytestring, binary, bytestring, bytestring-encoding , case-insensitive, containers, cryptohash-sha1, data-default @@ -102380,7 +102311,6 @@ self: { benchmarkToolDepends = [ hp2pretty implicit-hie ]; description = "The core of an IDE"; license = lib.licenses.asl20; - hydraPlatforms = lib.platforms.none; maintainers = with lib.maintainers; [ maralorn ]; }) {}; @@ -130045,27 +129975,9 @@ self: { ]; description = "Common utilities to interaction between ghc-exactprint and HLS plugins"; license = lib.licenses.asl20; - hydraPlatforms = lib.platforms.none; - broken = true; }) {}; "hls-explicit-imports-plugin" = callPackage - ({ mkDerivation, aeson, base, containers, deepseq, ghc, ghcide - , hls-plugin-api, lsp, lsp-types, shake, text, unordered-containers - }: - mkDerivation { - pname = "hls-explicit-imports-plugin"; - version = "1.0.0.1"; - sha256 = "1ygs667pkc3zn66yqz6ssrxifhrc906sddmcgjnkprk7zappk2nc"; - libraryHaskellDepends = [ - aeson base containers deepseq ghc ghcide hls-plugin-api lsp - lsp-types shake text unordered-containers - ]; - description = "Explicit imports plugin for Haskell Language Server"; - license = lib.licenses.asl20; - }) {}; - - "hls-explicit-imports-plugin_1_0_0_3" = callPackage ({ mkDerivation, aeson, base, containers, deepseq, ghc , ghc-api-compat, ghcide, hls-graph, hls-plugin-api, lsp, text , unordered-containers @@ -130080,7 +129992,6 @@ self: { ]; description = "Explicit imports plugin for Haskell Language Server"; license = lib.licenses.asl20; - hydraPlatforms = lib.platforms.none; }) {}; "hls-floskell-plugin" = callPackage @@ -130099,8 +130010,6 @@ self: { testHaskellDepends = [ base hls-test-utils text ]; description = "Integration with the Floskell code formatter"; license = lib.licenses.asl20; - hydraPlatforms = lib.platforms.none; - broken = true; }) {}; "hls-fourmolu-plugin" = callPackage @@ -130118,8 +130027,6 @@ self: { testHaskellDepends = [ base filepath hls-test-utils lsp-test ]; description = "Integration with the Fourmolu code formatter"; license = lib.licenses.asl20; - hydraPlatforms = lib.platforms.none; - broken = true; }) {}; "hls-graph" = callPackage @@ -130212,25 +130119,6 @@ self: { }) {}; "hls-plugin-api" = callPackage - ({ mkDerivation, aeson, base, containers, data-default - , dependent-map, dependent-sum, Diff, dlist, hashable, hslogger - , lens, lsp, opentelemetry, process, regex-tdfa, shake, text, unix - , unordered-containers - }: - mkDerivation { - pname = "hls-plugin-api"; - version = "1.1.0.0"; - sha256 = "1i18a5gxa409882zpviy4paldaq43j4z1zmgr9mag2mn64vplrxy"; - libraryHaskellDepends = [ - aeson base containers data-default dependent-map dependent-sum Diff - dlist hashable hslogger lens lsp opentelemetry process regex-tdfa - shake text unix unordered-containers - ]; - description = "Haskell Language Server API for plugin communication"; - license = lib.licenses.asl20; - }) {}; - - "hls-plugin-api_1_1_0_2" = callPackage ({ mkDerivation, aeson, base, containers, data-default , dependent-map, dependent-sum, Diff, dlist, ghc, ghc-api-compat , hashable, hls-graph, hslogger, lens, lsp, opentelemetry, process @@ -130247,7 +130135,6 @@ self: { ]; description = "Haskell Language Server API for plugin communication"; license = lib.licenses.asl20; - hydraPlatforms = lib.platforms.none; }) {}; "hls-pragmas-plugin" = callPackage @@ -130270,8 +130157,6 @@ self: { ]; description = "Pragmas plugin for Haskell Language Server"; license = lib.licenses.asl20; - hydraPlatforms = lib.platforms.none; - broken = true; }) {}; "hls-refine-imports-plugin" = callPackage