triptych.nvim: add plenary-nvim as required dependency (#358924)
[NixPkgs.git] / pkgs / development / haskell-modules / configuration-ghc-9.10.x.nix
blob6d0cd255ef9c233752bbcee9e7019650883a4992
1 { pkgs, haskellLib }:
3 with haskellLib;
5 let
6   inherit (pkgs) lib;
8 in
10 self: super: {
11   llvmPackages = lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
13   # Disable GHC core libraries
14   array = null;
15   base = null;
16   binary = null;
17   bytestring = null;
18   Cabal = null;
19   Cabal-syntax = null;
20   containers = null;
21   deepseq = null;
22   directory = null;
23   exceptions = null;
24   filepath = null;
25   ghc-bignum = null;
26   ghc-boot = null;
27   ghc-boot-th = null;
28   ghc-compact = null;
29   ghc-experimental = null;
30   ghc-heap = null;
31   ghc-internal = null;
32   ghc-platform = null;
33   ghc-prim = null;
34   ghc-toolchain = null;
35   ghci = null;
36   haskeline = null;
37   hpc = null;
38   integer-gmp = null;
39   mtl = null;
40   os-string = null;
41   parsec = null;
42   pretty = null;
43   process = null;
44   rts = null;
45   semaphore-compat = null;
46   stm = null;
47   system-cxx-std-lib = null;
48   template-haskell = null;
49   # GHC only builds terminfo if it is a native compiler
50   terminfo = if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then null else doDistribute self.terminfo_0_4_1_6;
51   text = null;
52   time = null;
53   transformers = null;
54   unix = null;
55   xhtml = null;
57   #
58   # Version upgrades
59   #
61   # Upgrade to accommodate new core library versions, where the authors have
62   # already made the relevant changes.
63   aeson = doDistribute self.aeson_2_2_3_0;
64   attoparsec-aeson = doDistribute self.attoparsec-aeson_2_2_2_0;
65   auto-update = super.auto-update_0_2_1;
66   extensions = doDistribute self.extensions_0_1_0_2;
67   fourmolu = doDistribute self.fourmolu_0_16_2_0;
68   hashable = doDistribute self.hashable_1_4_7_0;
69   integer-conversion = doDistribute self.integer-conversion_0_1_1;
70   ghc-lib-parser = doDistribute self.ghc-lib-parser_9_10_1_20240511;
71   ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_10_0_0;
72   http2 = self.http2_5_3_4;
73   lens = doDistribute self.lens_5_3_2;
74   lukko = doDistribute self.lukko_0_1_2;
75   network-control = super.network-control_0_1_3;
76   network-run = super.network-run_0_4_0;
77   ormolu = doDistribute self.ormolu_0_7_7_0;
78   primitive = doDistribute (dontCheck self.primitive_0_9_0_0); # tests introduce a recursive dependency via hspec
79   quickcheck-instances = doDistribute self.quickcheck-instances_0_3_31;
80   rebase = doDistribute self.rebase_1_21_1;
81   rerebase = doDistribute self.rerebase_1_21_1;
82   scientific = doDistribute self.scientific_0_3_8_0;
83   semirings = doDistribute self.semirings_0_7;
84   time-manager = super.time-manager_0_1_0;
85   th-abstraction = doDistribute self.th-abstraction_0_7_0_0;
86   uuid-types = doDistribute self.uuid-types_1_0_6;
87   warp = pkgs.haskell.lib.dontCheck super.warp_3_4_3; # test suite assumes it can freely call curl
89   # A given major version of ghc-exactprint only supports one version of GHC.
90   ghc-exactprint = doDistribute self.ghc-exactprint_1_9_0_0;
91   ghc-exactprint_1_9_0_0 = addBuildDepends [
92     self.Diff
93     self.extra
94     self.ghc-paths
95     self.silently
96     self.syb
97     self.HUnit
98   ] super.ghc-exactprint_1_9_0_0;
100   #
101   # Jailbreaks
102   #
103   base64 = doJailbreak super.base64; # base <4.20
104   commutative-semigroups = doJailbreak super.commutative-semigroups; # base <4.20
105   dejafu = doJailbreak super.dejafu; # containers <0.7
106   floskell = doJailbreak super.floskell; # base <4.20
107   lucid = doJailbreak super.lucid; # base <4.20
108   tar = doJailbreak super.tar; # base <4.20
109   tasty-coverage = doJailbreak super.tasty-coverage; # base <4.20, filepath <1.5
110   tree-diff = doJailbreak super.tree-diff; # base <4.20
111   time-compat = doJailbreak super.time-compat; # base <4.20
113   bitvec = doJailbreak super.bitvec; # primitive <0.9
115   hashable_1_4_7_0 = doJailbreak super.hashable_1_4_7_0; # relax bounds for QuickCheck, tasty, and tasty-quickcheck
116   hashable_1_5_0_0 = doJailbreak super.hashable_1_5_0_0; # relax bounds for QuickCheck, tasty, and tasty-quickcheck
118   broadcast-chan = doJailbreak super.broadcast-chan; # base <4.19  https://github.com/merijn/broadcast-chan/pull/19
120   #
121   # Test suite issues
122   #
123   call-stack = dontCheck super.call-stack; # expects the package to be named "main", but we generate a name
124   lifted-base = dontCheck super.lifted-base; # doesn't compile with transformers ==0.6.*
125   lukko_0_1_2 = dontCheck super.lukko_0_1_2; # doesn't compile with tasty ==1.4.*
126   resolv = dontCheck super.resolv; # doesn't compile with filepath ==1.5.*
127   primitive-unlifted = dontCheck super.primitive-unlifted; # doesn't compile with primitive ==0.9.*
128   bsb-http-chunked = pkgs.haskell.lib.dontCheck super.bsb-http-chunked; # https://github.com/sjakobi/bsb-http-chunked/issues/45
129   hinotify = pkgs.haskell.lib.dontCheck super.hinotify; # https://github.com/kolmodin/hinotify/issues/38
131   haskell-language-server = disableCabalFlag "retrie" (disableCabalFlag "hlint" (disableCabalFlag "stylishhaskel" (super.haskell-language-server.override {stylish-haskell = null;retrie = null;apply-refact=null;hlint = null;})));