diff options
author | sternenseemann <sternenseemann@systemli.org> | 2023-02-18 18:27:23 +0100 |
---|---|---|
committer | sternenseemann <sternenseemann@systemli.org> | 2023-02-18 20:16:36 +0100 |
commit | 2e9ff9aa98d6972757b5833d23969891e776d561 (patch) | |
tree | 0197c0f2aa5d018103db886f3e964edd99849b63 /pkgs/development | |
parent | faa46049d247872d0ac5c48e6b371c2263bb7e95 (diff) |
haskell.packages.*.ghc-tags: pick compatible version
Since there is probably more movement going forward, testing this on Hydra for multiple GHC versions seems sensible.
Diffstat (limited to 'pkgs/development')
5 files changed, 33 insertions, 0 deletions
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix index 7604a1c507a24..8b4439deb0b42 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix @@ -73,6 +73,9 @@ self: super: { # additional dependency to compile successfully. ghc-lib-parser-ex = addBuildDepend self.ghc-lib-parser super.ghc-lib-parser-ex; + # Needs to use ghc-lib due to incompatible GHC + ghc-tags = doDistribute (addBuildDepend self.ghc-lib self.ghc-tags_1_5); + # Jailbreak to fix the build. base-noprelude = doJailbreak super.base-noprelude; unliftio-core = doJailbreak super.unliftio-core; diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix index 5748691dd400c..7f2ca4a1a5e84 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix @@ -121,6 +121,9 @@ self: super: { Cabal = lself.Cabal_3_6_3_0; })); + # Needs to use ghc-lib due to incompatible GHC + ghc-tags = doDistribute (addBuildDepend self.ghc-lib self.ghc-tags_1_5); + # This package is marked as unbuildable on GHC 9.2, so hackage2nix doesn't include any dependencies. # See https://github.com/NixOS/nixpkgs/pull/205902 for why we use `self.<package>.scope` hls-haddock-comments-plugin = unmarkBroken (addBuildDepends (with self.hls-haddock-comments-plugin.scope; [ diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix index c9b864800d042..1c72ed517797a 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix @@ -87,6 +87,9 @@ self: super: { # For -fghc-lib see cabal.project in haskell-language-server. stylish-haskell = enableCabalFlag "ghc-lib" super.stylish-haskell; + # Needs to match ghc version + ghc-tags = doDistribute self.ghc-tags_1_5; + # For "ghc-lib" flag see https://github.com/haskell/haskell-language-server/issues/3185#issuecomment-1250264515 hlint = enableCabalFlag "ghc-lib" super.hlint; diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml index 03db8df060df3..e11380f5c9473 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml @@ -164,6 +164,7 @@ 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) - ShellCheck == 0.8.0 # 2022-12-28: required by haskell-ci 0.14.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.* package-maintainers: abbradar: diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index f5ec9671f4125..37f0aa7928891 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -111299,6 +111299,29 @@ self: { hydraPlatforms = lib.platforms.none; }) {}; + "ghc-tags_1_5" = callPackage + ({ mkDerivation, aeson, async, attoparsec, base, bytestring + , containers, deepseq, directory, filepath, ghc, ghc-boot + , ghc-paths, optparse-applicative, process, stm, temporary, text + , time, vector, yaml + }: + mkDerivation { + pname = "ghc-tags"; + version = "1.5"; + sha256 = "0hscl49qq3lx2a5g6g7g1wa4rl52piizqsykicy1kvi4di7qnyqk"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + aeson async attoparsec base bytestring containers deepseq directory + filepath ghc ghc-boot ghc-paths optparse-applicative process stm + temporary text time vector yaml + ]; + description = "Utility for generating ctags and etags with GHC API"; + license = lib.licenses.mpl20; + hydraPlatforms = lib.platforms.none; + mainProgram = "ghc-tags"; + }) {}; + "ghc-tags" = callPackage ({ mkDerivation, aeson, async, attoparsec, base, bytestring , containers, deepseq, directory, filepath, ghc-lib, ghc-paths |