Unverified Commit 3d06d762 authored by maralorn's avatar maralorn
Browse files

haskell-language-server: Fix 2.3.0.0

parent 03248bf8
Loading
Loading
Loading
Loading
+34 −28
Original line number Diff line number Diff line
@@ -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 {
+3 −0
Original line number Diff line number Diff line
@@ -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
+0 −12
Original line number Diff line number Diff line
@@ -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
+8 −7
Original line number Diff line number Diff line
@@ -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);
+37 −4
Original line number Diff line number Diff line
@@ -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";
     }) {};