haskell-language-server: Fix 2.3.0.0

This commit is contained in:
maralorn 2023-10-18 23:44:37 +02:00
parent 03248bf8af
commit 3d06d7622d
No known key found for this signature in database
5 changed files with 82 additions and 51 deletions

View File

@ -96,10 +96,11 @@ self: super: {
### HASKELL-LANGUAGE-SERVER SECTION ###
#######################################
haskell-language-server = (lib.pipe super.haskell-language-server [
dontCheck
(disableCabalFlag "stan") # Sorry stan is totally unmaintained and terrible to get to run. It only works on ghc 8.8 or 8.10 anyways …
]).overrideScope (lself: lsuper: {
inherit (let
hls_overlay = lself: lsuper: {
ghc-lib-parser = lself.ghc-lib-parser_9_6_2_20230523;
ghc-lib-parser-ex = doDistribute lself.ghc-lib-parser-ex_9_6_0_2;
Cabal-syntax = lself.Cabal-syntax_3_10_1_0;
# 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
@ -110,7 +111,31 @@ self: super: {
# 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: doDistribute (pkg.overrideScope hls_overlay)) {
haskell-language-server = allowInconsistentDependencies (dontCheck super.haskell-language-server);
# Tests fail due to the newly-build fourmolu not being in PATH
# https://github.com/fourmolu/fourmolu/issues/231
fourmolu = dontCheck super.fourmolu_0_14_0_0;
ormolu = super.ormolu_0_7_2_0;
hlint = super.hlint_3_6_1;
stylish-haskell = super.stylish-haskell_0_14_5_0;
})
haskell-language-server
# HLS from 2.3 needs at least formolu 0.14.
# This means we need to bump a lot of other tools, too, because they all us ghc-lib-parser
# We do this globally to prevent inconsistent formatting or lints between hls and the command line tools.
fourmolu
ormolu
hlint
stylish-haskell;
fourmolu_0_13_1_0 = dontCheck super.fourmolu_0_13_1_0;
# hasn't bumped upper bounds
# test fails: "floskell-test: styles/base.md: openBinaryFile: does not exist (No such file or directory)"
# https://github.com/ennocramer/floskell/issues/48
floskell = dontCheck (doJailbreak super.floskell);
# 2023-04-03: https://github.com/haskell/haskell-language-server/issues/3546#issuecomment-1494139751
# There will probably be a new revision soon.
@ -119,19 +144,6 @@ self: super: {
# 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);
# Test ldap server test/ldap.js is missing from sdist
# https://github.com/supki/ldap-client/issues/18
ldap-client-og = dontCheck super.ldap-client-og;
stylish-haskell =
# Too-strict upper bounds, no Hackage revisions
doJailbreak
# For -fghc-lib see cabal.project in haskell-language-server.
(if lib.versionAtLeast super.ghc.version "9.2"
then enableCabalFlag "ghc-lib" super.stylish-haskell
else super.stylish-haskell
);
hiedb =
lib.pipe
super.hiedb
@ -153,6 +165,10 @@ self: super: {
### END HASKELL-LANGUAGE-SERVER SECTION ###
###########################################
# Test ldap server test/ldap.js is missing from sdist
# https://github.com/supki/ldap-client/issues/18
ldap-client-og = dontCheck super.ldap-client-og;
vector = overrideCabal (old: {
# Too strict bounds on doctest which isn't used, but is part of the configuration
jailbreak = true;
@ -1494,11 +1510,6 @@ self: super: {
# See: https://github.com/robstewart57/rdf4h/issues/39
rdf4h = dontCheck super.rdf4h;
# hasn't bumped upper bounds
# test fails: "floskell-test: styles/base.md: openBinaryFile: does not exist (No such file or directory)"
# https://github.com/ennocramer/floskell/issues/48
floskell = dontCheck (doJailbreak super.floskell);
# hasn't bumped upper bounds
# test fails because of a "Warning: Unused LANGUAGE pragma"
# https://github.com/ennocramer/monad-dijkstra/issues/4
@ -2675,11 +2686,6 @@ self: super: {
# libfuse3 fails to mount fuse file systems within the build environment
libfuse3 = dontCheck super.libfuse3;
# Tests fail due to the newly-build fourmolu not being in PATH
# https://github.com/fourmolu/fourmolu/issues/231
fourmolu_0_14_0_0 = dontCheck super.fourmolu_0_14_0_0;
fourmolu_0_13_1_0 = dontCheck super.fourmolu_0_13_1_0;
# Merged upstream, but never released. Allows both intel and aarch64 darwin to build.
# https://github.com/vincenthz/hs-gauge/pull/106
gauge = appendPatch (pkgs.fetchpatch {

View File

@ -58,6 +58,9 @@ default-package-overrides:
# https://github.com/obsidiansystems/dependent-sum-template/issues/5
- dependent-sum-template < 0.1.2
# hls-floskell-plugin 2.4 does not yet support floskell 0.11
- floskell < 0.11
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

View File

@ -487,8 +487,6 @@ dont-distribute-packages:
- amby
- ampersand
- amqp-streamly
- amqp-utils_0_6_4_0
- amqp_0_22_2
- analyze-client
- anatomy
- animate-example
@ -749,7 +747,6 @@ dont-distribute-packages:
- cakyrespa
- cal3d-examples
- cal3d-opengl
- calamity
- calc
- calculator
- caldims
@ -1125,7 +1122,6 @@ dont-distribute-packages:
- discogs-haskell
- discord-gateway
- discord-hs
- discord-register
- discord-rest
- distributed-fork
- distributed-fork-aws-lambda
@ -2186,9 +2182,7 @@ dont-distribute-packages:
- htoml-parse
- htsn-import
- http-client-auth
- http-client-restricted_0_1_0
- http-client-rustls
- http-client-tls_0_3_6_3
- http-enumerator
- http-exchange
- http-exchange-instantiations
@ -2815,7 +2809,6 @@ dont-distribute-packages:
- nero-wai
- nero-warp
- nested-routes
- net-mqtt_0_8_6_0
- net-spider
- net-spider-cli
- net-spider-pangraph
@ -2829,7 +2822,6 @@ dont-distribute-packages:
- nettle-openflow
- network-anonymous-i2p
- network-anonymous-tor
- network-conduit-tls_1_4_0
- network-connection
- network-enumerator
- network-hans
@ -2848,7 +2840,6 @@ dont-distribute-packages:
- newsletter-mailgun
- newsynth
- ngx-export-distribution
- ngx-export-healthcheck
- ngx-export-tools-extra
- nikepub
- nirum
@ -3059,7 +3050,6 @@ dont-distribute-packages:
- point-octree
- pointless-lenses
- pointless-rewrite
- poke
- poker
- polh-lexicon
- polydata
@ -3343,7 +3333,6 @@ dont-distribute-packages:
- repo-based-blog
- repr
- representable-tries
- req_3_13_1
- reserve
- resin
- resource-simple
@ -4191,7 +4180,6 @@ dont-distribute-packages:
- wumpus-drawing
- wumpus-microprint
- wumpus-tree
- wuss_2_0_1_4
- wx
- wxAsteroids
- wxFruit

View File

@ -93,13 +93,6 @@ self: super: builtins.intersectAttrs super {
doCheck = false;
}) super.ghcide;
# Test suite needs executable
agda2lagda = overrideCabal (drv: {
preCheck = ''
export PATH="$PWD/dist/build/agda2lagda:$PATH"
'' + drv.preCheck or "";
}) super.agda2lagda;
hiedb = overrideCabal (drv: {
preCheck = ''
export PATH=$PWD/dist/build/hiedb:$PATH
@ -185,6 +178,14 @@ self: super: builtins.intersectAttrs super {
### END HASKELL-LANGUAGE-SERVER SECTION ###
###########################################
# Test suite needs executable
agda2lagda = overrideCabal (drv: {
preCheck = ''
export PATH="$PWD/dist/build/agda2lagda:$PATH"
'' + drv.preCheck or "";
}) super.agda2lagda;
audacity = enableCabalFlag "buildExamples" (overrideCabal (drv: {
executableHaskellDepends = [self.optparse-applicative self.soxlib];
}) super.audacity);

View File

@ -58403,7 +58403,6 @@ self: {
];
description = "A library for writing discord bots in haskell";
license = lib.licenses.mit;
hydraPlatforms = lib.platforms.none;
}) {};
"calamity-commands" = callPackage
@ -88008,7 +88007,6 @@ self: {
];
description = "Discord verification bot";
license = lib.licenses.mpl20;
hydraPlatforms = lib.platforms.none;
mainProgram = "discord-register-exe";
}) {};
@ -106967,6 +106965,42 @@ self: {
}) {};
"floskell" = callPackage
({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring
, containers, criterion, data-default, deepseq, directory
, exceptions, filepath, ghc-prim, haskell-src-exts, hspec
, monad-dijkstra, mtl, optparse-applicative, text, transformers
, unordered-containers, utf8-string
}:
mkDerivation {
pname = "floskell";
version = "0.10.8";
sha256 = "1mj4c3q9jw161jzzlz7aa9lw58g6a8j9cnk3974n3bbwxbzqrfdq";
isLibrary = true;
isExecutable = true;
enableSeparateDataOutput = true;
libraryHaskellDepends = [
aeson attoparsec base bytestring containers data-default directory
filepath haskell-src-exts monad-dijkstra mtl text transformers
unordered-containers utf8-string
];
executableHaskellDepends = [
aeson-pretty base bytestring directory ghc-prim haskell-src-exts
optparse-applicative text
];
testHaskellDepends = [
base bytestring deepseq exceptions haskell-src-exts hspec text
utf8-string
];
benchmarkHaskellDepends = [
base bytestring criterion deepseq exceptions ghc-prim
haskell-src-exts text utf8-string
];
description = "A flexible Haskell source code pretty printer";
license = lib.licenses.bsd3;
mainProgram = "floskell";
}) {};
"floskell_0_11_0" = callPackage
({ mkDerivation, aeson, aeson-pretty, ansi-wl-pprint, attoparsec
, attoparsec-aeson, base, bytestring, containers, criterion
, data-default, deepseq, directory, exceptions, filepath, ghc-prim
@ -106998,6 +107032,7 @@ self: {
];
description = "A flexible Haskell source code pretty printer";
license = lib.licenses.bsd3;
hydraPlatforms = lib.platforms.none;
mainProgram = "floskell";
}) {};
@ -213038,7 +213073,6 @@ self: {
];
description = "Active health checks and monitoring of Nginx upstreams";
license = lib.licenses.bsd3;
hydraPlatforms = lib.platforms.none;
}) {};
"ngx-export-log" = callPackage
@ -233722,7 +233756,6 @@ self: {
];
description = "Discord verification bot";
license = lib.licenses.mpl20;
hydraPlatforms = lib.platforms.none;
mainProgram = "poke-exe";
}) {};