haskell.packages.ghc9{0,2}.haskell-language-server: Fix build

This commit is contained in:
maralorn 2023-08-08 22:45:56 +02:00
parent d0cdaabcf9
commit 3f86662951
No known key found for this signature in database
5 changed files with 79 additions and 5 deletions

View file

@ -117,8 +117,6 @@ self: super: {
hls-brittany-plugin = assert super.hls-brittany-plugin.version == "1.1.0.0"; doJailbreak super.hls-brittany-plugin;
hls-hlint-plugin = super.hls-hlint-plugin.override {
# For "ghc-lib" flag see https://github.com/haskell/haskell-language-server/issues/3185#issuecomment-1250264515
hlint = enableCabalFlag "ghc-lib" super.hlint;
apply-refact = self.apply-refact_0_11_0_0;
};

View file

@ -68,6 +68,14 @@ self: super: {
tuple = addBuildDepend self.base-orphans super.tuple;
vector-th-unbox = doJailbreak super.vector-th-unbox;
ormolu = self.ormolu_0_5_2_0.override {
Cabal-syntax = self.Cabal-syntax_3_8_1_0;
};
fourmolu = self.fourmolu_0_10_1_0.override {
Cabal-syntax = self.Cabal-syntax_3_8_1_0;
};
doctest = dontCheck super.doctest;
# Apply patches from head.hackage.
language-haskell-extract = appendPatch (pkgs.fetchpatch {
@ -87,6 +95,7 @@ self: super: {
# Needed for modern ormolu and fourmolu.
# Apply this here and not in common, because other ghc versions offer different Cabal versions.
Cabal = lself.Cabal_3_6_3_0;
hls-overloaded-record-dot-plugin = null;
}));
# Needs to use ghc-lib due to incompatible GHC

View file

@ -58,6 +58,14 @@ self: super: {
# weeder == 2.5.* requires GHC 9.4
weeder = doDistribute self.weeder_2_4_1;
ormolu = self.ormolu_0_5_2_0.override {
Cabal-syntax = self.Cabal-syntax_3_8_1_0;
};
fourmolu = self.fourmolu_0_10_1_0.override {
Cabal-syntax = self.Cabal-syntax_3_8_1_0;
};
# For GHC < 9.4, some packages need data-array-byte as an extra dependency
hashable = addBuildDepends [ self.data-array-byte ] super.hashable;
primitive = addBuildDepends [ self.data-array-byte ] super.primitive;

View file

@ -63,6 +63,7 @@ extra-packages:
- Cabal-syntax == 3.6.* # Dummy package that ensures packages depending on Cabal-syntax can work for Cabal < 3.8
- Cabal == 3.2.* # Used for packages needing newer Cabal on ghc 8.6 and 8.8
- Cabal == 3.6.* # used for packages needing newer Cabal on ghc 8.10 and 9.0
- Cabal-syntax == 3.8.* # version required for ormolu and fourmolu on ghc 9.2 and 9.0
- Cabal-syntax == 3.10.* # newest version required for cabal-install and other packages
- cachix < 1.4 # 2023-04-02: cachix 1.4{,.1} have known on multi-user Nix systems
- directory == 1.3.7.* # required to build cabal-install 3.10.* with GHC 9.2
@ -84,7 +85,6 @@ extra-packages:
- dhall == 1.38.1 # required for spago
- doctest == 0.18.* # 2021-11-19: closest to stackage version for GHC 9.*
- foundation < 0.0.29 # 2022-08-30: last version to support GHC < 8.10
- fourmolu == 0.3.0.0 # 2022-09-21: needed for hls on ghc 8.8
- ghc-api-compat == 8.10.7 # 2022-02-17: preserve for GHC 8.10.7
- ghc-api-compat == 8.6 # 2021-09-07: preserve for GHC 8.8.4
- ghc-exactprint == 0.6.* # 2022-12-12: needed for GHC < 9.2
@ -123,7 +123,9 @@ extra-packages:
- optparse-applicative < 0.16 # needed for niv-0.2.19
- ormolu == 0.1.4.1 # 2022-09-21: needed for hls on ghc 8.8
- ormolu == 0.2.* # 2022-02-21: For ghc 8.8 and 8.10
- ormolu == 0.5.* # 2022-04-12: For ghc 9.4
- ormolu == 0.5.2.0 # 2023-08-08: for hls on ghc 9.0 and 9.2
- fourmolu == 0.3.0.0 # 2022-09-21: needed for hls on ghc 8.8
- fourmolu == 0.10.1.0 # 2023-04-18: needed for hls on ghc 9.0 and 9.2
- pantry == 0.5.2.1 # needed for stack-2.7.3
- path == 0.9.0 # 2021-12-03: path version building with stackage genvalidity and GHC 9.0.2
- resolv < 0.2 # required to build cabal-install-3.10.1.0 with Stackage LTS 21
@ -137,7 +139,6 @@ extra-packages:
- commonmark-extensions < 0.2.3.3 # 2022-12-17: required by emanote 1.0.0.0 (to avoid a bug in 0.2.3.3)
- retrie < 1.2.0.0 # 2022-12-30: required for hls on ghc < 9.2
- ghc-tags == 1.5.* # 2023-02-18: preserve for ghc-lib == 9.2.*
- fourmolu == 0.10.1.0 # 2023-04-18: for hls-fourmolu-plugin 1.1.1.0
- shake-cabal < 0.2.2.3 # 2023-07-01: last version to support Cabal 3.6.*
- unix-compat < 0.7 # 2023-07-04: Need System.PosixCompat.User for git-annex

View file

@ -2874,6 +2874,26 @@ self: {
hydraPlatforms = lib.platforms.none;
}) {};
"Cabal-syntax_3_8_1_0" = callPackage
({ mkDerivation, array, base, binary, bytestring, containers
, deepseq, directory, filepath, mtl, parsec, pretty, text, time
, transformers, unix
}:
mkDerivation {
pname = "Cabal-syntax";
version = "3.8.1.0";
sha256 = "03yfk3b2sjmqpxmvx3mj185nifiaqapvc8hmbx4825z0kyqxvs07";
revision = "3";
editedCabalFile = "14zm8h7sfawysr9g37in8by8aj1p87fywj83hmshp8n6lrxr6bgd";
libraryHaskellDepends = [
array base binary bytestring containers deepseq directory filepath
mtl parsec pretty text time transformers unix
];
description = "A library for working with .cabal files";
license = lib.licenses.bsd3;
hydraPlatforms = lib.platforms.none;
}) {};
"Cabal-syntax_3_10_1_0" = callPackage
({ mkDerivation, array, base, binary, bytestring, containers
, deepseq, directory, filepath, mtl, parsec, pretty, text, time
@ -102063,6 +102083,7 @@ self: {
];
description = "High-performance parsing from strict bytestrings";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.raehik ];
}) {};
"flay" = callPackage
@ -109067,6 +109088,7 @@ self: {
libraryHaskellDepends = [ base text ];
description = "Familiar functions lifted to generic data types";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.raehik ];
}) {};
"generic-data-surgery" = callPackage
@ -139569,6 +139591,7 @@ self: {
libraryToolDepends = [ c2hs ];
description = "Haskell bindings for the Keystone assembler framework";
license = lib.licenses.gpl2Only;
maintainers = [ lib.maintainers.raehik ];
}) {inherit (pkgs) keystone;};
"heyting-algebras" = callPackage
@ -214752,6 +214775,39 @@ self: {
mainProgram = "ormolu";
}) {};
"ormolu_0_5_2_0" = callPackage
({ mkDerivation, ansi-terminal, array, base, binary, bytestring
, Cabal-syntax, containers, Diff, directory, dlist, file-embed
, filepath, ghc-lib-parser, gitrev, hspec, hspec-discover
, hspec-megaparsec, megaparsec, MemoTrie, mtl, optparse-applicative
, path, path-io, QuickCheck, syb, temporary, text
}:
mkDerivation {
pname = "ormolu";
version = "0.5.2.0";
sha256 = "1ai2wza4drirvf9pb7qsf03kii5jiayqs49c19ir93jd0ak9pi96";
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
ansi-terminal array base binary bytestring Cabal-syntax containers
Diff directory dlist file-embed filepath ghc-lib-parser megaparsec
MemoTrie mtl syb text
];
executableHaskellDepends = [
base containers filepath ghc-lib-parser gitrev optparse-applicative
text
];
testHaskellDepends = [
base containers directory filepath ghc-lib-parser hspec
hspec-megaparsec path path-io QuickCheck temporary text
];
testToolDepends = [ hspec-discover ];
description = "A formatter for Haskell source code";
license = lib.licenses.bsd3;
hydraPlatforms = lib.platforms.none;
mainProgram = "ormolu";
}) {};
"ormolu" = callPackage
({ mkDerivation, ansi-terminal, array, base, binary, bytestring
, Cabal-syntax, containers, Diff, directory, dlist, file-embed
@ -243658,6 +243714,7 @@ self: {
testHaskellDepends = [ base QuickCheck ];
description = "Refinement types with static and runtime checking";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.raehik ];
}) {};
"refined-http-api-data" = callPackage
@ -243702,6 +243759,7 @@ self: {
testHaskellDepends = [ base QuickCheck refined ];
description = "Refinement types with static and runtime checking (+ Refined1)";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.raehik ];
}) {};
"refinery" = callPackage