Merge pull request #270774 from emilytrau/libbacktrace-musl
[NixPkgs.git] / pkgs / top-level / haskell-packages.nix
blob44ff6a6dd59effb198f78cbbb53b620863e04402
1 { buildPackages, pkgsBuildTarget, pkgs, newScope, stdenv }:
3 let
4   # These are attributes in compiler that support integer-simple.
5   integerSimpleIncludes = [
6     "ghc88"
7     "ghc884"
8     "ghc810"
9     "ghc8107"
10   ];
12   nativeBignumIncludes = [
13     "ghc90"
14     "ghc902"
15     "ghc92"
16     "ghc924"
17     "ghc925"
18     "ghc926"
19     "ghc927"
20     "ghc928"
21     "ghc94"
22     "ghc942"
23     "ghc943"
24     "ghc944"
25     "ghc945"
26     "ghc946"
27     "ghc947"
28     "ghc948"
29     "ghc96"
30     "ghc962"
31     "ghc963"
32     "ghc98"
33     "ghc981"
34     "ghcHEAD"
35   ];
37   haskellLibUncomposable = import ../development/haskell-modules/lib {
38     inherit (pkgs) lib;
39     inherit pkgs;
40   };
42   callPackage = newScope {
43     haskellLib = haskellLibUncomposable.compose;
44     overrides = pkgs.haskell.packageOverrides;
45   };
47   bootstrapPackageSet = self: super: {
48     mkDerivation = drv: super.mkDerivation (drv // {
49       doCheck = false;
50       doHaddock = false;
51       enableExecutableProfiling = false;
52       enableLibraryProfiling = false;
53       enableSharedExecutables = false;
54       enableSharedLibraries = false;
55     });
56   };
58   # Use this rather than `rec { ... }` below for sake of overlays.
59   inherit (pkgs.haskell) compiler packages;
61 in {
62   lib = haskellLibUncomposable;
64   package-list = callPackage ../development/haskell-modules/package-list.nix {};
66   compiler = {
67     ghc865Binary = callPackage ../development/compilers/ghc/8.6.5-binary.nix {
68       # Should be llvmPackages_6 which has been removed from nixpkgs
69       llvmPackages = null;
70     };
72     ghc8102Binary = callPackage ../development/compilers/ghc/8.10.2-binary.nix {
73       llvmPackages = pkgs.llvmPackages_9;
74     };
76     ghc8107Binary = callPackage ../development/compilers/ghc/8.10.7-binary.nix {
77       llvmPackages = pkgs.llvmPackages_12;
78     };
80     ghc924Binary = callPackage ../development/compilers/ghc/9.2.4-binary.nix {
81       llvmPackages = pkgs.llvmPackages_12;
82     };
84     ghc8107 = callPackage ../development/compilers/ghc/8.10.7.nix {
85       bootPkgs =
86         # the oldest ghc with aarch64-darwin support is 8.10.5
87         if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
88           # to my (@a-m-joseph) knowledge there are no newer official binaries for this platform
89           packages.ghc865Binary
90         else
91           packages.ghc8107Binary;
92       inherit (buildPackages.python3Packages) sphinx;
93       # Need to use apple's patched xattr until
94       # https://github.com/xattr/xattr/issues/44 and
95       # https://github.com/xattr/xattr/issues/55 are solved.
96       inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
97       buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
98       llvmPackages = pkgs.llvmPackages_12;
99     };
100     ghc810 = compiler.ghc8107;
101     ghc902 = callPackage ../development/compilers/ghc/9.0.2.nix {
102       bootPkgs =
103         # the oldest ghc with aarch64-darwin support is 8.10.5
104         if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
105           packages.ghc810
106         else
107           packages.ghc8107Binary;
108       inherit (buildPackages.python3Packages) sphinx;
109       inherit (buildPackages.darwin) autoSignDarwinBinariesHook xattr;
110       buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
111       llvmPackages = pkgs.llvmPackages_12;
112     };
113     ghc90 = compiler.ghc902;
114     ghc924 = callPackage ../development/compilers/ghc/9.2.4.nix {
115       bootPkgs =
116         if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
117           packages.ghc810
118         else
119           packages.ghc8107Binary;
120       inherit (buildPackages.python3Packages) sphinx;
121       # Need to use apple's patched xattr until
122       # https://github.com/xattr/xattr/issues/44 and
123       # https://github.com/xattr/xattr/issues/55 are solved.
124       inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
125       buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
126       llvmPackages = pkgs.llvmPackages_12;
127     };
128     ghc925 = callPackage ../development/compilers/ghc/9.2.5.nix {
129       bootPkgs =
130         if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
131           packages.ghc810
132         else
133           packages.ghc8107Binary;
134       inherit (buildPackages.python3Packages) sphinx;
135       # Need to use apple's patched xattr until
136       # https://github.com/xattr/xattr/issues/44 and
137       # https://github.com/xattr/xattr/issues/55 are solved.
138       inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
139       buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
140       llvmPackages = pkgs.llvmPackages_12;
141     };
142     ghc926 = callPackage ../development/compilers/ghc/9.2.6.nix {
143       bootPkgs =
144         if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
145           packages.ghc810
146         else
147           packages.ghc8107Binary;
148       inherit (buildPackages.python3Packages) sphinx;
149       # Need to use apple's patched xattr until
150       # https://github.com/xattr/xattr/issues/44 and
151       # https://github.com/xattr/xattr/issues/55 are solved.
152       inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
153       buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
154       llvmPackages = pkgs.llvmPackages_12;
155     };
156     ghc927 = callPackage ../development/compilers/ghc/9.2.7.nix {
157       bootPkgs =
158         if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
159           packages.ghc810
160         else
161           packages.ghc8107Binary;
162       inherit (buildPackages.python3Packages) sphinx;
163       # Need to use apple's patched xattr until
164       # https://github.com/xattr/xattr/issues/44 and
165       # https://github.com/xattr/xattr/issues/55 are solved.
166       inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
167       buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
168       llvmPackages = pkgs.llvmPackages_12;
169     };
170     ghc928 = callPackage ../development/compilers/ghc/9.2.8.nix {
171       bootPkgs =
172         if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
173           packages.ghc810
174         else
175           packages.ghc8107Binary;
176       inherit (buildPackages.python3Packages) sphinx;
177       # Need to use apple's patched xattr until
178       # https://github.com/xattr/xattr/issues/44 and
179       # https://github.com/xattr/xattr/issues/55 are solved.
180       inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
181       buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
182       llvmPackages = pkgs.llvmPackages_12;
183     };
184     ghc92 = compiler.ghc928;
185     ghc942 = callPackage ../development/compilers/ghc/9.4.2.nix {
186       bootPkgs =
187         # Building with 9.2 is broken due to
188         # https://gitlab.haskell.org/ghc/ghc/-/issues/21914
189         # Use 8.10 as a workaround where possible to keep bootstrap path short.
191         # On ARM text won't build with GHC 8.10.*
192         if stdenv.hostPlatform.isAarch then
193           # TODO(@sternenseemann): package bindist
194           packages.ghc902
195         # No suitable bindists for powerpc64le
196         else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
197           packages.ghc902
198         else
199           packages.ghc8107Binary;
200       inherit (buildPackages.python3Packages) sphinx;
201       # Need to use apple's patched xattr until
202       # https://github.com/xattr/xattr/issues/44 and
203       # https://github.com/xattr/xattr/issues/55 are solved.
204       inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
205       # Support range >= 10 && < 14
206       buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
207       llvmPackages = pkgs.llvmPackages_12;
208     };
209     ghc943 = callPackage ../development/compilers/ghc/9.4.3.nix {
210       bootPkgs =
211         # Building with 9.2 is broken due to
212         # https://gitlab.haskell.org/ghc/ghc/-/issues/21914
213         # Use 8.10 as a workaround where possible to keep bootstrap path short.
215         # On ARM text won't build with GHC 8.10.*
216         if stdenv.hostPlatform.isAarch then
217           # TODO(@sternenseemann): package bindist
218           packages.ghc902
219         # No suitable bindists for powerpc64le
220         else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
221           packages.ghc902
222         else
223           packages.ghc8107Binary;
224       inherit (buildPackages.python3Packages) sphinx;
225       # Need to use apple's patched xattr until
226       # https://github.com/xattr/xattr/issues/44 and
227       # https://github.com/xattr/xattr/issues/55 are solved.
228       inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
229       # Support range >= 10 && < 14
230       buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
231       llvmPackages = pkgs.llvmPackages_12;
232     };
233     ghc944 = callPackage ../development/compilers/ghc/9.4.4.nix {
234       bootPkgs =
235         # Building with 9.2 is broken due to
236         # https://gitlab.haskell.org/ghc/ghc/-/issues/21914
237         # Use 8.10 as a workaround where possible to keep bootstrap path short.
239         # On ARM text won't build with GHC 8.10.*
240         if stdenv.hostPlatform.isAarch then
241           # TODO(@sternenseemann): package bindist
242           packages.ghc902
243         # No suitable bindists for powerpc64le
244         else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
245           packages.ghc902
246         else
247           packages.ghc8107Binary;
248       inherit (buildPackages.python3Packages) sphinx;
249       # Need to use apple's patched xattr until
250       # https://github.com/xattr/xattr/issues/44 and
251       # https://github.com/xattr/xattr/issues/55 are solved.
252       inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
253       # Support range >= 10 && < 14
254       buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
255       llvmPackages = pkgs.llvmPackages_12;
256     };
257     ghc945 = callPackage ../development/compilers/ghc/9.4.5.nix {
258       bootPkgs =
259         # Building with 9.2 is broken due to
260         # https://gitlab.haskell.org/ghc/ghc/-/issues/21914
261         # Use 8.10 as a workaround where possible to keep bootstrap path short.
263         # On ARM text won't build with GHC 8.10.*
264         if stdenv.hostPlatform.isAarch then
265           # TODO(@sternenseemann): package bindist
266           packages.ghc902
267         # No suitable bindists for powerpc64le
268         else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
269           packages.ghc902
270         else
271           packages.ghc8107Binary;
272       inherit (buildPackages.python3Packages) sphinx;
273       # Need to use apple's patched xattr until
274       # https://github.com/xattr/xattr/issues/44 and
275       # https://github.com/xattr/xattr/issues/55 are solved.
276       inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
277       # Support range >= 10 && < 14
278       buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
279       llvmPackages = pkgs.llvmPackages_12;
280     };
281     ghc946 = callPackage ../development/compilers/ghc/9.4.6.nix {
282       bootPkgs =
283         # Building with 9.2 is broken due to
284         # https://gitlab.haskell.org/ghc/ghc/-/issues/21914
285         # Use 8.10 as a workaround where possible to keep bootstrap path short.
287         # On ARM text won't build with GHC 8.10.*
288         if stdenv.hostPlatform.isAarch then
289           # TODO(@sternenseemann): package bindist
290           packages.ghc902
291         # No suitable bindists for powerpc64le
292         else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
293           packages.ghc902
294         else
295           packages.ghc8107Binary;
296       inherit (buildPackages.python3Packages) sphinx;
297       # Need to use apple's patched xattr until
298       # https://github.com/xattr/xattr/issues/44 and
299       # https://github.com/xattr/xattr/issues/55 are solved.
300       inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
301       # Support range >= 10 && < 14
302       buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
303       llvmPackages = pkgs.llvmPackages_12;
304     };
305     ghc947 = callPackage ../development/compilers/ghc/9.4.7.nix {
306       bootPkgs =
307         # Building with 9.2 is broken due to
308         # https://gitlab.haskell.org/ghc/ghc/-/issues/21914
309         # Use 8.10 as a workaround where possible to keep bootstrap path short.
311         # On ARM text won't build with GHC 8.10.*
312         if stdenv.hostPlatform.isAarch then
313           # TODO(@sternenseemann): package bindist
314           packages.ghc902
315         # No suitable bindists for powerpc64le
316         else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
317           packages.ghc902
318         else
319           packages.ghc8107Binary;
320       inherit (buildPackages.python3Packages) sphinx;
321       # Need to use apple's patched xattr until
322       # https://github.com/xattr/xattr/issues/44 and
323       # https://github.com/xattr/xattr/issues/55 are solved.
324       inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
325       # Support range >= 10 && < 14
326       buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
327       llvmPackages = pkgs.llvmPackages_12;
328     };
329     ghc948 = callPackage ../development/compilers/ghc/9.4.8.nix {
330       bootPkgs =
331         # Building with 9.2 is broken due to
332         # https://gitlab.haskell.org/ghc/ghc/-/issues/21914
333         # Use 8.10 as a workaround where possible to keep bootstrap path short.
335         # On ARM text won't build with GHC 8.10.*
336         if stdenv.hostPlatform.isAarch then
337           # TODO(@sternenseemann): package bindist
338           packages.ghc902
339         # No suitable bindists for powerpc64le
340         else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
341           packages.ghc902
342         else
343           packages.ghc8107Binary;
344       inherit (buildPackages.python3Packages) sphinx;
345       # Need to use apple's patched xattr until
346       # https://github.com/xattr/xattr/issues/44 and
347       # https://github.com/xattr/xattr/issues/55 are solved.
348       inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
349       # Support range >= 10 && < 14
350       buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
351       llvmPackages = pkgs.llvmPackages_12;
352     };
353     ghc94 = compiler.ghc948;
354     ghc962 = callPackage ../development/compilers/ghc/9.6.2.nix {
355       bootPkgs =
356         # For GHC 9.2 no armv7l bindists are available.
357         if stdenv.hostPlatform.isAarch32 then
358           packages.ghc924
359         else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
360           packages.ghc924
361         else
362           packages.ghc924Binary;
363       inherit (buildPackages.python3Packages) sphinx;
364       # Need to use apple's patched xattr until
365       # https://github.com/xattr/xattr/issues/44 and
366       # https://github.com/xattr/xattr/issues/55 are solved.
367       inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
368       # Support range >= 11 && < 16
369       buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15;
370       llvmPackages = pkgs.llvmPackages_15;
371     };
372     ghc963 = callPackage ../development/compilers/ghc/9.6.3.nix {
373       bootPkgs =
374         # For GHC 9.2 no armv7l bindists are available.
375         if stdenv.hostPlatform.isAarch32 then
376           packages.ghc924
377         else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
378           packages.ghc924
379         else
380           packages.ghc924Binary;
381       inherit (buildPackages.python3Packages) sphinx;
382       # Need to use apple's patched xattr until
383       # https://github.com/xattr/xattr/issues/44 and
384       # https://github.com/xattr/xattr/issues/55 are solved.
385       inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
386       # Support range >= 11 && < 16
387       buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15;
388       llvmPackages = pkgs.llvmPackages_15;
389     };
390     ghc96 = compiler.ghc963;
391     ghc981 = callPackage ../development/compilers/ghc/9.8.1.nix {
392       # No bindist packaged for 9.4.* yet
393       bootPkgs = packages.ghc947;
394       inherit (buildPackages.python3Packages) sphinx;
395       # Need to use apple's patched xattr until
396       # https://github.com/xattr/xattr/issues/44 and
397       # https://github.com/xattr/xattr/issues/55 are solved.
398       inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
399       # Support range >= 11 && < 16
400       buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15;
401       llvmPackages = pkgs.llvmPackages_15;
402     };
403     ghc98 = compiler.ghc981;
404     ghcHEAD = callPackage ../development/compilers/ghc/head.nix {
405       bootPkgs = packages.ghc963;
406       inherit (buildPackages.python3Packages) sphinx;
407       # Need to use apple's patched xattr until
408       # https://github.com/xattr/xattr/issues/44 and
409       # https://github.com/xattr/xattr/issues/55 are solved.
410       inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
411       # 2023-01-15: Support range >= 11 && < 16
412       buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15;
413       llvmPackages = pkgs.llvmPackages_15;
414     };
416     ghcjs = compiler.ghcjs810;
417     ghcjs810 = callPackage ../development/compilers/ghcjs/8.10 {
418       bootPkgs = packages.ghc810;
419       ghcjsSrcJson = ../development/compilers/ghcjs/8.10/git.json;
420       stage0 = ../development/compilers/ghcjs/8.10/stage0.nix;
421     };
423     # The integer-simple attribute set contains all the GHC compilers
424     # build with integer-simple instead of integer-gmp.
425     integer-simple = let
426       integerSimpleGhcNames = pkgs.lib.filter
427         (name: builtins.elem name integerSimpleIncludes)
428         (pkgs.lib.attrNames compiler);
429     in pkgs.recurseIntoAttrs (pkgs.lib.genAttrs
430       integerSimpleGhcNames
431       (name: compiler.${name}.override { enableIntegerSimple = true; }));
433     # Starting from GHC 9, integer-{simple,gmp} is replaced by ghc-bignum
434     # with "native" and "gmp" backends.
435     native-bignum = let
436       nativeBignumGhcNames = pkgs.lib.filter
437         (name: builtins.elem name nativeBignumIncludes)
438         (pkgs.lib.attrNames compiler);
439     in pkgs.recurseIntoAttrs (pkgs.lib.genAttrs
440       nativeBignumGhcNames
441       (name: compiler.${name}.override { enableNativeBignum = true; }));
442   };
444   # Default overrides that are applied to all package sets.
445   packageOverrides = self : super : {};
447   # Always get compilers from `buildPackages`
448   packages = let bh = buildPackages.haskell; in {
450     ghc865Binary = callPackage ../development/haskell-modules {
451       buildHaskellPackages = bh.packages.ghc865Binary;
452       ghc = bh.compiler.ghc865Binary;
453       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.6.x.nix { };
454       packageSetConfig = bootstrapPackageSet;
455     };
456     ghc8102Binary = callPackage ../development/haskell-modules {
457       buildHaskellPackages = bh.packages.ghc8102Binary;
458       ghc = bh.compiler.ghc8102Binary;
459       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { };
460       packageSetConfig = bootstrapPackageSet;
461     };
462     ghc8107Binary = callPackage ../development/haskell-modules {
463       buildHaskellPackages = bh.packages.ghc8107Binary;
464       ghc = bh.compiler.ghc8107Binary;
465       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { };
466       packageSetConfig = bootstrapPackageSet;
467     };
468     ghc924Binary = callPackage ../development/haskell-modules {
469       buildHaskellPackages = bh.packages.ghc924Binary;
470       ghc = bh.compiler.ghc924Binary;
471       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { };
472       packageSetConfig = bootstrapPackageSet;
473     };
474     ghc8107 = callPackage ../development/haskell-modules {
475       buildHaskellPackages = bh.packages.ghc8107;
476       ghc = bh.compiler.ghc8107;
477       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { };
478     };
479     ghc810 = packages.ghc8107;
480     ghc902 = callPackage ../development/haskell-modules {
481       buildHaskellPackages = bh.packages.ghc902;
482       ghc = bh.compiler.ghc902;
483       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.0.x.nix { };
484     };
485     ghc90 = packages.ghc902;
486     ghc924 = callPackage ../development/haskell-modules {
487       buildHaskellPackages = bh.packages.ghc924;
488       ghc = bh.compiler.ghc924;
489       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { };
490     };
491     ghc925 = callPackage ../development/haskell-modules {
492       buildHaskellPackages = bh.packages.ghc925;
493       ghc = bh.compiler.ghc925;
494       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { };
495     };
496     ghc926 = callPackage ../development/haskell-modules {
497       buildHaskellPackages = bh.packages.ghc926;
498       ghc = bh.compiler.ghc926;
499       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { };
500     };
501     ghc927 = callPackage ../development/haskell-modules {
502       buildHaskellPackages = bh.packages.ghc927;
503       ghc = bh.compiler.ghc927;
504       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { };
505     };
506     ghc928 = callPackage ../development/haskell-modules {
507       buildHaskellPackages = bh.packages.ghc928;
508       ghc = bh.compiler.ghc928;
509       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { };
510     };
511     ghc92 = packages.ghc928;
512     ghc942 = callPackage ../development/haskell-modules {
513       buildHaskellPackages = bh.packages.ghc942;
514       ghc = bh.compiler.ghc942;
515       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.4.x.nix { };
516     };
517     ghc943 = callPackage ../development/haskell-modules {
518       buildHaskellPackages = bh.packages.ghc943;
519       ghc = bh.compiler.ghc943;
520       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.4.x.nix { };
521     };
522     ghc944 = callPackage ../development/haskell-modules {
523       buildHaskellPackages = bh.packages.ghc944;
524       ghc = bh.compiler.ghc944;
525       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.4.x.nix { };
526     };
527     ghc945 = callPackage ../development/haskell-modules {
528       buildHaskellPackages = bh.packages.ghc945;
529       ghc = bh.compiler.ghc945;
530       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.4.x.nix { };
531     };
532     ghc946 = callPackage ../development/haskell-modules {
533       buildHaskellPackages = bh.packages.ghc946;
534       ghc = bh.compiler.ghc946;
535       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.4.x.nix { };
536     };
537     ghc947 = callPackage ../development/haskell-modules {
538       buildHaskellPackages = bh.packages.ghc947;
539       ghc = bh.compiler.ghc947;
540       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.4.x.nix { };
541     };
542     ghc948 = callPackage ../development/haskell-modules {
543       buildHaskellPackages = bh.packages.ghc948;
544       ghc = bh.compiler.ghc948;
545       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.4.x.nix { };
546     };
547     ghc94 = packages.ghc948;
548     ghc962 = callPackage ../development/haskell-modules {
549       buildHaskellPackages = bh.packages.ghc962;
550       ghc = bh.compiler.ghc962;
551       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { };
552     };
553     ghc963 = callPackage ../development/haskell-modules {
554       buildHaskellPackages = bh.packages.ghc963;
555       ghc = bh.compiler.ghc963;
556       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { };
557     };
558     ghc96 = packages.ghc963;
559     ghc981 = callPackage ../development/haskell-modules {
560       buildHaskellPackages = bh.packages.ghc981;
561       ghc = bh.compiler.ghc981;
562       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.8.x.nix { };
563     };
564     ghc98 = packages.ghc981;
565     ghcHEAD = callPackage ../development/haskell-modules {
566       buildHaskellPackages = bh.packages.ghcHEAD;
567       ghc = bh.compiler.ghcHEAD;
568       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.10.x.nix { };
569     };
571     ghcjs = packages.ghcjs810;
572     ghcjs810 = callPackage ../development/haskell-modules rec {
573       buildHaskellPackages = ghc.bootPkgs;
574       ghc = bh.compiler.ghcjs810;
575       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { };
576       packageSetConfig = callPackage ../development/haskell-modules/configuration-ghcjs.nix { };
577     };
579     # The integer-simple attribute set contains package sets for all the GHC compilers
580     # using integer-simple instead of integer-gmp.
581     integer-simple =
582       let
583         integerSimpleGhcNames = pkgs.lib.filter
584           (name: builtins.elem name integerSimpleIncludes)
585           (pkgs.lib.attrNames packages);
586       in
587       pkgs.lib.genAttrs integerSimpleGhcNames
588         (name:
589           packages.${name}.override (oldAttrs: {
590             ghc = bh.compiler.integer-simple.${name};
591             buildHaskellPackages = bh.packages.integer-simple.${name};
592             overrides =
593               pkgs.lib.composeExtensions
594                 (oldAttrs.overrides or (_: _: {}))
595                 (_: _: { integer-simple = null; });
596           })
597         );
599     native-bignum =
600       let
601         nativeBignumGhcNames = pkgs.lib.filter
602           (name: builtins.elem name nativeBignumIncludes)
603           (pkgs.lib.attrNames compiler);
604       in
605       pkgs.lib.genAttrs nativeBignumGhcNames
606         (name:
607           packages.${name}.override {
608             ghc = bh.compiler.native-bignum.${name};
609             buildHaskellPackages = bh.packages.native-bignum.${name};
610           }
611         );
612   };