mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-07-20 07:31:19 +00:00
haskell-language-server: Fix build (#441171)
This commit is contained in:
@@ -249,11 +249,22 @@ with haskellLib;
|
||||
### HASKELL-LANGUAGE-SERVER SECTION ###
|
||||
#######################################
|
||||
|
||||
# All jailbreaks in this section due to: https://github.com/haskell/haskell-language-server/pull/4316#discussion_r1667684895
|
||||
haskell-language-server =
|
||||
lib.pipe
|
||||
(super.haskell-language-server.overrideScope (
|
||||
lself: lsuper: {
|
||||
inherit
|
||||
(
|
||||
let
|
||||
hls_overlay = lself: lsuper: {
|
||||
# For fourmolu 0.18 and ormolu 0.7.7
|
||||
Cabal-syntax = lself.Cabal-syntax_3_14_2_0;
|
||||
Cabal = lself.Cabal_3_14_2_0;
|
||||
# Jailbreaking cabal-install-parsers to make it pick Cabal 3.14 instead of 3.12.
|
||||
cabal-install-parsers = doJailbreak lsuper.cabal-install-parsers;
|
||||
# hls 2.11 needs older cabal-add than in stackage. Also copying over test fix override from configuration-nix.nix
|
||||
cabal-add = overrideCabal (drv: {
|
||||
# tests depend on executable
|
||||
preCheck = ''export PATH="$PWD/dist/build/cabal-add:$PATH"'';
|
||||
}) lself.cabal-add_0_1;
|
||||
# Need a newer version of extensions to be compatible with the newer Cabal
|
||||
extensions = doJailbreak lself.extensions_0_1_0_3;
|
||||
# For most ghc versions, we overrideScope Cabal in the configuration-ghc-???.nix,
|
||||
# because some packages, like ormolu, need a newer Cabal version.
|
||||
# ghc-paths is special because it depends on Cabal for building
|
||||
@@ -264,17 +275,29 @@ with haskellLib;
|
||||
# otherwise we have different versions of ghc-paths
|
||||
# around which have the same abi-hash, which can lead to confusions and conflicts.
|
||||
ghc-paths = lsuper.ghc-paths.override { Cabal = null; };
|
||||
};
|
||||
in
|
||||
lib.mapAttrs (_: pkg: pkg.overrideScope hls_overlay) (
|
||||
super
|
||||
// {
|
||||
# HLS 2.11: Too strict bound on Diff 1.0.
|
||||
haskell-language-server = dontCheck (doJailbreak super.haskell-language-server);
|
||||
}
|
||||
))
|
||||
[
|
||||
dontCheck
|
||||
];
|
||||
)
|
||||
)
|
||||
fourmolu
|
||||
ormolu
|
||||
haskell-language-server
|
||||
;
|
||||
|
||||
# For -f-auto see cabal.project in haskell-language-server.
|
||||
ghc-lib-parser-ex = addBuildDepend self.ghc-lib-parser (
|
||||
disableCabalFlag "auto" super.ghc-lib-parser-ex
|
||||
);
|
||||
|
||||
hls-plugin-api = doJailbreak super.hls-plugin-api; # HLS 2.11: Too strict bound on Diff 1.0.
|
||||
ghcide = doJailbreak super.ghcide; # HLS 2.11: Too strict bound on Diff 1.0.
|
||||
|
||||
###########################################
|
||||
### END HASKELL-LANGUAGE-SERVER SECTION ###
|
||||
###########################################
|
||||
|
||||
@@ -75,9 +75,6 @@ in
|
||||
|
||||
# Upgrade to accommodate new core library versions, where the authors have
|
||||
# already made the relevant changes.
|
||||
fourmolu = doDistribute self.fourmolu_0_16_0_0;
|
||||
ormolu = doDistribute self.ormolu_0_7_7_0;
|
||||
stylish-haskell = doDistribute self.stylish-haskell_0_15_0_1;
|
||||
|
||||
# 2025-08-10: Tests fail, but fix is not released yet https://github.com/clash-lang/ghc-typelits-natnormalise/issues/89
|
||||
ghc-typelits-natnormalise = doDistribute (doJailbreak self.ghc-typelits-natnormalise_0_7_12);
|
||||
@@ -90,7 +87,6 @@ in
|
||||
haddock-library =
|
||||
assert super.haddock-library.version == "1.11.0";
|
||||
doJailbreak super.haddock-library;
|
||||
large-generics = doJailbreak super.large-generics; # base <4.20
|
||||
tree-sitter = doJailbreak super.tree-sitter; # containers <0.7, filepath <1.5
|
||||
|
||||
#
|
||||
|
||||
@@ -47,6 +47,7 @@ extra-packages:
|
||||
- Cabal == 3.12.*
|
||||
- Cabal == 3.14.*
|
||||
- Cabal == 3.16.* # version required for cabal-install and other packages
|
||||
- cabal-add == 0.1 # 2025-09-09: Only needed for hls 2.11 can be removed once we are past it.
|
||||
- Cabal-syntax == 3.6.* # Dummy package that ensures packages depending on Cabal-syntax can work for Cabal < 3.8
|
||||
- Cabal-syntax == 3.8.* # version required for ormolu and fourmolu on ghc 9.0
|
||||
- Cabal-syntax == 3.10.*
|
||||
@@ -54,7 +55,6 @@ extra-packages:
|
||||
- Cabal-syntax == 3.14.*
|
||||
- Cabal-syntax == 3.16.* # version required for cabal-install and other packages
|
||||
- fourmolu == 0.14.0.0 # 2023-11-13: for ghc-lib-parser 9.6 compat
|
||||
- fourmolu == 0.16.0.0 # 2025-01-27: for ghc 9.10 compat
|
||||
- fsnotify < 0.4 # 2024-04-22: required by spago-0.21
|
||||
- fuzzyset == 0.2.4 # 2023-12-20: Needed for building postgrest > 10
|
||||
- ghc-exactprint == 0.6.* # 2022-12-12: needed for GHC < 9.2
|
||||
@@ -92,7 +92,6 @@ extra-packages:
|
||||
- network-run == 0.4.0 # 2024-10-20: for GHC 9.10/network == 3.1.*
|
||||
- ormolu == 0.5.2.0 # 2023-08-08: preserve for ghc 9.0
|
||||
- ormolu == 0.7.2.0 # 2023-11-13: for ghc-lib-parser 9.6 compat
|
||||
- ormolu == 0.7.7.0 # 2025-01-27: for ghc 9.10 compat
|
||||
- os-string == 1.* # 2025-07-30: dummy package we need for pre os-string GHCs
|
||||
- postgresql-binary < 0.14 # 2025-01-19: Needed for building postgrest
|
||||
- primitive-unlifted == 0.1.3.1 # 2024-03-16: preserve for ghc 9.2
|
||||
|
||||
265
pkgs/development/haskell-modules/hackage-packages.nix
generated
265
pkgs/development/haskell-modules/hackage-packages.nix
generated
@@ -122463,6 +122463,67 @@ self: {
|
||||
}
|
||||
) { youProbablyWantCapitalCabal = null; };
|
||||
|
||||
"cabal-add_0_1" = callPackage (
|
||||
{
|
||||
mkDerivation,
|
||||
base,
|
||||
bytestring,
|
||||
Cabal,
|
||||
cabal-install-parsers,
|
||||
Cabal-syntax,
|
||||
containers,
|
||||
Diff,
|
||||
directory,
|
||||
filepath,
|
||||
mtl,
|
||||
optparse-applicative,
|
||||
process,
|
||||
string-qq,
|
||||
tasty,
|
||||
temporary,
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "cabal-add";
|
||||
version = "0.1";
|
||||
sha256 = "1szbi0z8yf98641rwnj856gcfsvvflxwrfxraxy6rl60m7i0mab1";
|
||||
revision = "3";
|
||||
editedCabalFile = "0siv5ajqxcbs9c0ky94p5qk51w6cgf1zyc3rckxvlc25f4kygw4v";
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
libraryHaskellDepends = [
|
||||
base
|
||||
bytestring
|
||||
Cabal
|
||||
Cabal-syntax
|
||||
containers
|
||||
mtl
|
||||
];
|
||||
executableHaskellDepends = [
|
||||
base
|
||||
bytestring
|
||||
Cabal
|
||||
cabal-install-parsers
|
||||
directory
|
||||
filepath
|
||||
optparse-applicative
|
||||
process
|
||||
];
|
||||
testHaskellDepends = [
|
||||
base
|
||||
Diff
|
||||
directory
|
||||
process
|
||||
string-qq
|
||||
tasty
|
||||
temporary
|
||||
];
|
||||
description = "Extend Cabal build-depends from the command line";
|
||||
license = lib.licenses.bsd3;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
mainProgram = "cabal-add";
|
||||
}
|
||||
) { };
|
||||
|
||||
"cabal-add" = callPackage (
|
||||
{
|
||||
mkDerivation,
|
||||
@@ -240271,113 +240332,6 @@ self: {
|
||||
}
|
||||
) { };
|
||||
|
||||
"fourmolu_0_16_0_0" = callPackage (
|
||||
{
|
||||
mkDerivation,
|
||||
aeson,
|
||||
ansi-terminal,
|
||||
array,
|
||||
base,
|
||||
binary,
|
||||
bytestring,
|
||||
Cabal-syntax,
|
||||
containers,
|
||||
deepseq,
|
||||
Diff,
|
||||
directory,
|
||||
file-embed,
|
||||
filepath,
|
||||
ghc-lib-parser,
|
||||
hspec,
|
||||
hspec-discover,
|
||||
hspec-megaparsec,
|
||||
megaparsec,
|
||||
MemoTrie,
|
||||
mtl,
|
||||
optparse-applicative,
|
||||
path,
|
||||
path-io,
|
||||
pretty,
|
||||
process,
|
||||
QuickCheck,
|
||||
scientific,
|
||||
syb,
|
||||
temporary,
|
||||
terminal-size,
|
||||
text,
|
||||
th-env,
|
||||
yaml,
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "fourmolu";
|
||||
version = "0.16.0.0";
|
||||
sha256 = "0vczia3hb1klvbf9fjy32ynyqaka8n7cdk0h8jg6nr89pixla9lc";
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
libraryHaskellDepends = [
|
||||
aeson
|
||||
ansi-terminal
|
||||
array
|
||||
base
|
||||
binary
|
||||
bytestring
|
||||
Cabal-syntax
|
||||
containers
|
||||
deepseq
|
||||
Diff
|
||||
directory
|
||||
file-embed
|
||||
filepath
|
||||
ghc-lib-parser
|
||||
megaparsec
|
||||
MemoTrie
|
||||
mtl
|
||||
scientific
|
||||
syb
|
||||
text
|
||||
];
|
||||
executableHaskellDepends = [
|
||||
base
|
||||
Cabal-syntax
|
||||
containers
|
||||
directory
|
||||
filepath
|
||||
ghc-lib-parser
|
||||
optparse-applicative
|
||||
terminal-size
|
||||
text
|
||||
th-env
|
||||
yaml
|
||||
];
|
||||
testHaskellDepends = [
|
||||
base
|
||||
bytestring
|
||||
Cabal-syntax
|
||||
containers
|
||||
Diff
|
||||
directory
|
||||
filepath
|
||||
ghc-lib-parser
|
||||
hspec
|
||||
hspec-megaparsec
|
||||
megaparsec
|
||||
path
|
||||
path-io
|
||||
pretty
|
||||
process
|
||||
QuickCheck
|
||||
temporary
|
||||
text
|
||||
yaml
|
||||
];
|
||||
testToolDepends = [ hspec-discover ];
|
||||
description = "A formatter for Haskell source code";
|
||||
license = lib.licenses.bsd3;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
mainProgram = "fourmolu";
|
||||
}
|
||||
) { };
|
||||
|
||||
"fourmolu" = callPackage (
|
||||
{
|
||||
mkDerivation,
|
||||
@@ -493377,103 +493331,6 @@ self: {
|
||||
}
|
||||
) { };
|
||||
|
||||
"ormolu_0_7_7_0" = callPackage (
|
||||
{
|
||||
mkDerivation,
|
||||
ansi-terminal,
|
||||
array,
|
||||
base,
|
||||
binary,
|
||||
bytestring,
|
||||
Cabal-syntax,
|
||||
choice,
|
||||
containers,
|
||||
deepseq,
|
||||
Diff,
|
||||
directory,
|
||||
file-embed,
|
||||
filepath,
|
||||
ghc-lib-parser,
|
||||
hspec,
|
||||
hspec-discover,
|
||||
hspec-megaparsec,
|
||||
megaparsec,
|
||||
MemoTrie,
|
||||
mtl,
|
||||
optparse-applicative,
|
||||
path,
|
||||
path-io,
|
||||
QuickCheck,
|
||||
syb,
|
||||
temporary,
|
||||
text,
|
||||
th-env,
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "ormolu";
|
||||
version = "0.7.7.0";
|
||||
sha256 = "1069j7cldvqqazmfrpfc6wy816227c5vz7fbq860yfb5h9ycv5ns";
|
||||
revision = "1";
|
||||
editedCabalFile = "1v8n4kf8wskyizn868k1662rqsd8myhvrjkchb9hiysw9lgja79c";
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
libraryHaskellDepends = [
|
||||
ansi-terminal
|
||||
array
|
||||
base
|
||||
binary
|
||||
bytestring
|
||||
Cabal-syntax
|
||||
choice
|
||||
containers
|
||||
deepseq
|
||||
Diff
|
||||
directory
|
||||
file-embed
|
||||
filepath
|
||||
ghc-lib-parser
|
||||
megaparsec
|
||||
MemoTrie
|
||||
mtl
|
||||
syb
|
||||
text
|
||||
];
|
||||
executableHaskellDepends = [
|
||||
base
|
||||
Cabal-syntax
|
||||
containers
|
||||
directory
|
||||
filepath
|
||||
ghc-lib-parser
|
||||
optparse-applicative
|
||||
text
|
||||
th-env
|
||||
];
|
||||
testHaskellDepends = [
|
||||
base
|
||||
Cabal-syntax
|
||||
choice
|
||||
containers
|
||||
directory
|
||||
filepath
|
||||
ghc-lib-parser
|
||||
hspec
|
||||
hspec-megaparsec
|
||||
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,
|
||||
|
||||
Reference in New Issue
Block a user