haskell-language-server: Fix build

main
Malte Brandy 2 years ago
parent 38b125a59d
commit 77b623d5a2
  1. 37
      pkgs/development/haskell-modules/configuration-common.nix
  2. 22
      pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
  3. 16
      pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
  4. 13
      pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix
  5. 2
      pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
  6. 1
      pkgs/development/haskell-modules/configuration-nix.nix

@ -1458,7 +1458,33 @@ self: super: {
# 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;
haskell-language-server = pkgs.lib.pipe super.haskell-language-server [
dontCheck
(appendConfigureFlags ["-ftactics"])
(overrideCabal (old: {
libraryHaskellDepends = old.libraryHaskellDepends ++ [
super.hls-tactics-plugin
];
}))
];
lsp = assert super.lsp.version == "1.4.0.0"; dontCheck super.lsp;
hls-test-utils = assert super.hls-test-utils.version == "1.2.0.0"; appendPatches [
(pkgs.fetchpatch {
url = "https://github.com/haskell/haskell-language-server/commit/074593987e9086e308b89ecde336de2c64861dc0.patch";
sha256 = "sha256-uTlIbGQKulP3963UPL2V9cqMoIvPscK+s2W/HtBmMWc=";
stripLen = 2;
extraPrefix = "";
includes = [ "*/Util.hs" ];
})
(pkgs.fetchpatch {
url = "https://github.com/haskell/haskell-language-server/commit/78305f21783807b04baebca4860c255bfe84d4ab.patch";
sha256 = "sha256-oe8Q8kBJBkel+pR5imFj43NVpm4afcyLgAUCWhrIoPk=";
stripLen = 2;
extraPrefix = "";
})
] super.hls-test-utils;
# 2021-05-08: Tests fail: https://github.com/haskell/haskell-language-server/issues/1809
hls-eval-plugin = dontCheck super.hls-eval-plugin;
@ -2212,15 +2238,6 @@ self: super: {
# https://github.com/kuribas/mfsolve/issues/8
mfsolve = dontCheck super.mfsolve;
hie-bios = appendPatches [
# Accounts for a breaking change in GHC 9.0.2 via CPP
(pkgs.fetchpatch {
name = "hie-bios-ghc-9.0.2-compat.patch";
url = "https://github.com/haskell/hie-bios/commit/da0cb23384cc6e9b393792f8f25a3c174a4edafa.patch";
sha256 = "1qj67s93h6pxvdapw1sxy6izwp5y8vjaw67gw3lsnj8gs14fqq4h";
})
] super.hie-bios;
# Ships a custom cabal-doctest Setup.hs in the release tarball, but the actual
# test suite is commented out, so the required dependency is missing naturally.
# We need to use a default Setup.hs instead. Current master doesn't exhibit

@ -51,9 +51,10 @@ self: super: {
# Pick right versions for GHC-specific packages
ghc-api-compat = doDistribute self.ghc-api-compat_8_10_7;
ghc-lib = doDistribute self.ghc-lib_8_10_7_20210828;
ghc-lib-parser = doDistribute self.ghc-lib-parser_8_10_7_20210828;
ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_8_10_0_23;
# ghc versions which don‘t match the ghc-lib-parser-ex version need the
# additional dependency to compile successfully.
ghc-lib-parser-ex = addBuildDepend self.ghc-lib-parser super.ghc-lib-parser-ex;
# Jailbreak to fix the build.
base-noprelude = doJailbreak super.base-noprelude;
@ -86,4 +87,19 @@ self: super: {
mime-string = disableOptimization super.mime-string;
# Older compilers need the latest ghc-lib to build this package.
hls-hlint-plugin = addBuildDepend self.ghc-lib super.hls-hlint-plugin;
haskell-language-server = appendConfigureFlags [
"-f-fourmolu"
"-f-stylishhaskell"
"-f-brittany"
]
(super.haskell-language-server.override {
# Not buildable on 8.10
hls-fourmolu-plugin = null;
});
# ormolu 0.3 requires Cabal == 3.4
ormolu = super.ormolu_0_2_0_0;
}

@ -121,8 +121,7 @@ self: super: {
# additional dependency to compile successfully.
ghc-lib-parser-ex = addBuildDepend self.ghc-lib-parser super.ghc-lib-parser-ex;
# Older compilers need the latest ghc-lib to build this package.
hls-hlint-plugin = addBuildDepend self.ghc-lib super.hls-hlint-plugin;
ormolu = super.ormolu_0_2_0_0;
# vector 0.12.2 indroduced doctest checks that don‘t work on older compilers
vector = dontCheck super.vector;
@ -130,4 +129,17 @@ self: super: {
ghc-api-compat = doDistribute super.ghc-api-compat_8_6;
mime-string = disableOptimization super.mime-string;
haskell-language-server = appendConfigureFlags [
"-f-fourmolu"
"-f-stylishhaskell"
"-f-brittany"
"-f-hlint"
]
(super.haskell-language-server.override {
# Not buildable on 8.8
hls-fourmolu-plugin = null;
# https://github.com/haskell/haskell-language-server/issues/2728
hls-hlint-plugin = null;
});
}

@ -47,13 +47,6 @@ self: super: {
doHaddock = !pkgs.stdenv.isAarch64;
} super.tf-random;
aeson = appendPatch (pkgs.fetchpatch {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/aeson-1.5.6.0.patch";
sha256 = "07rk7f0lhgilxvbg2grpl1p5x25wjf9m7a0wqmi2jr0q61p9a0nl";
# The revision information is newer than that included in the patch
excludes = ["*.cabal"];
}) (doJailbreak super.aeson);
basement = overrideCabal (drv: {
# This is inside a conditional block so `doJailbreak` doesn't work
postPatch = "sed -i -e 's,<4.16,<4.17,' basement.cabal";
@ -236,7 +229,8 @@ self: super: {
# 2022-02-05: The following plugins don‘t work yet on ghc9.2.
# Compare: https://haskell-language-server.readthedocs.io/en/latest/supported-versions.html
haskell-language-server = appendConfigureFlags [
haskell-language-server = overrideCabal (old: {libraryHaskellDepends = builtins.filter (x: x != super.hls-tactics-plugin) old.libraryHaskellDepends;})
(appendConfigureFlags [
"-f-alternateNumberFormat"
"-f-class"
"-f-eval"
@ -244,6 +238,7 @@ self: super: {
"-f-hlint"
"-f-retrie"
"-f-splice"
"-f-tactics"
] (super.haskell-language-server.override {
hls-alternate-number-format-plugin = null;
hls-class-plugin = null;
@ -252,5 +247,5 @@ self: super: {
hls-hlint-plugin = null;
hls-retrie-plugin = null;
hls-splice-plugin = null;
});
}));
}

@ -117,7 +117,7 @@ extra-packages:
- doctest == 0.18.* # 2021-11-19: closest to stackage version for GHC 9.*
- brick == 0.64.* # 2021-12-03: matterhorn depends on brick < 0.65
- path == 0.9.0 # 2021-12-03: path version building with stackage genvalidity and GHC 9.0.2
- ormolu == 0.2.* # 2022-02-21: For ghc 8.8
- ormolu == 0.2.* # 2022-02-21: For ghc 8.8 and 8.10
- ghc-exactprint == 1.4.* # 2022-02-07: preserve for now, 1.5.0 has a breaking change without type changes
- ShellCheck == 0.7.2 # 2022-02-20: haskell-ci 0.14 needs this

@ -994,4 +994,5 @@ self: super: builtins.intersectAttrs super {
hls-alternate-number-format-plugin = dontCheck super.hls-alternate-number-format-plugin;
hls-qualify-imported-names-plugin = dontCheck super.hls-qualify-imported-names-plugin;
hls-haddock-comments-plugin = dontCheck super.hls-haddock-comments-plugin;
hls-tactics-plugin = dontCheck super.hls-tactics-plugin;
}

Loading…
Cancel
Save