Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ pkgs, haskellLib }:
2
3self: super:
4
5with haskellLib;
6
7let
8 inherit (pkgs) lib;
9
10 warnAfterVersion =
11 ver: pkg:
12 lib.warnIf (lib.versionOlder ver
13 super.${pkg.pname}.version
14 ) "override for haskell.packages.ghc910.${pkg.pname} may no longer be needed" pkg;
15
16in
17
18{
19 llvmPackages = lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
20
21 # Disable GHC core libraries
22 array = null;
23 base = null;
24 binary = null;
25 bytestring = null;
26 Cabal = null;
27 Cabal-syntax = null;
28 containers = null;
29 deepseq = null;
30 directory = null;
31 exceptions = null;
32 filepath = null;
33 ghc-bignum = null;
34 ghc-boot = null;
35 ghc-boot-th = null;
36 ghc-compact = null;
37 ghc-experimental = null;
38 ghc-heap = null;
39 ghc-internal = null;
40 ghc-platform = null;
41 ghc-prim = null;
42 ghc-toolchain = null;
43 ghci = null;
44 haskeline = null;
45 hpc = null;
46 integer-gmp = null;
47 mtl = null;
48 os-string = null;
49 parsec = null;
50 pretty = null;
51 process = null;
52 rts = null;
53 semaphore-compat = null;
54 stm = null;
55 system-cxx-std-lib = null;
56 template-haskell = null;
57 # GHC only builds terminfo if it is a native compiler
58 terminfo =
59 if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then
60 null
61 else
62 doDistribute self.terminfo_0_4_1_7;
63 text = null;
64 time = null;
65 transformers = null;
66 unix = null;
67 xhtml = null;
68
69 #
70 # Version upgrades
71 #
72
73 # Upgrade to accommodate new core library versions, where the authors have
74 # already made the relevant changes.
75 # 2025-04-09: jailbreak to allow hedgehog >= 1.5, hspec-hedgehog >=0.2
76 extensions = doJailbreak (doDistribute self.extensions_0_1_0_2);
77 fourmolu = doDistribute self.fourmolu_0_16_0_0;
78 # https://github.com/digital-asset/ghc-lib/issues/600
79 ghc-lib = doDistribute self.ghc-lib_9_10_2_20250515;
80 ghc-lib-parser = doDistribute self.ghc-lib-parser_9_10_2_20250515;
81 ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_10_0_0;
82 htree = doDistribute self.htree_0_2_0_0;
83 ormolu = doDistribute self.ormolu_0_7_7_0;
84 stylish-haskell = doDistribute self.stylish-haskell_0_15_0_1;
85
86 # A given major version of ghc-exactprint only supports one version of GHC.
87 ghc-exactprint = doDistribute self.ghc-exactprint_1_9_0_0;
88 ghc-exactprint_1_9_0_0 = addBuildDepends [
89 self.Diff
90 self.extra
91 self.ghc-paths
92 self.silently
93 self.syb
94 self.HUnit
95 ] super.ghc-exactprint_1_9_0_0;
96
97 #
98 # Jailbreaks
99 #
100 # 2025-04-09: base <4.20, containers <0.7, filepath <1.5, Cabal-syntax <3.11
101 cabal-install-parsers =
102 assert super.cabal-install-parsers.version == "0.6.1.1";
103 doJailbreak super.cabal-install-parsers;
104 floskell = doJailbreak super.floskell; # base <4.20
105 # 2025-04-09: filepath <1.5
106 haddock-library =
107 assert super.haddock-library.version == "1.11.0";
108 doJailbreak super.haddock-library;
109 large-generics = doJailbreak super.large-generics; # base <4.20
110 tree-sitter = doJailbreak super.tree-sitter; # containers <0.7, filepath <1.5
111
112 hashable_1_5_0_0 = doJailbreak super.hashable_1_5_0_0; # relax bounds for QuickCheck, tasty, and tasty-quickcheck
113
114 #
115 # Test suite issues
116 #
117 call-stack = dontCheck super.call-stack; # https://github.com/sol/call-stack/issues/19
118 fsnotify = dontCheck super.fsnotify; # https://github.com/haskell-fswatch/hfsnotify/issues/115
119 hinotify = pkgs.haskell.lib.dontCheck super.hinotify; # https://github.com/kolmodin/hinotify/issues/38
120 monad-dijkstra = dontCheck super.monad-dijkstra; # needs hlint 3.10
121
122 haskell-language-server = super.haskell-language-server.override {
123 floskell = null;
124 retrie = null;
125 hlint = null;
126 apply-refact = null;
127 };
128
129}