1 { buildPackages, pkgsBuildBuild, pkgsBuildTarget, pkgs, newScope, stdenv }:
4 # These are attributes in compiler that support integer-simple.
5 integerSimpleIncludes = [
12 nativeBignumExcludes = integerSimpleIncludes ++ [
13 # haskell.compiler sub groups
26 haskellLibUncomposable = import ../development/haskell-modules/lib {
31 callPackage = newScope {
32 haskellLib = haskellLibUncomposable.compose;
33 overrides = pkgs.haskell.packageOverrides;
36 bootstrapPackageSet = self: super: {
37 mkDerivation = drv: super.mkDerivation (drv // {
40 enableExecutableProfiling = false;
41 enableLibraryProfiling = false;
42 enableSharedExecutables = false;
43 enableSharedLibraries = false;
47 # Use this rather than `rec { ... }` below for sake of overlays.
48 inherit (pkgs.haskell) compiler packages;
51 lib = haskellLibUncomposable;
53 package-list = callPackage ../development/haskell-modules/package-list.nix {};
55 # Always get boot compilers from `pkgsBuildBuild`. The boot (stage0) compiler
56 # is used to build another compiler (stage1) that'll be used to build the
57 # final compiler (stage2) (except when building a cross-compiler). This means
58 # that stage1's host platform is the same as stage0: build. Consequently,
59 # stage0 needs to be build->build.
61 # Note that we use bb.haskell.packages.*. haskell.packages.*.ghc is similar to
62 # stdenv: The ghc comes from the previous package set, i.e. this predicate holds:
63 # `name: pkgs: pkgs.haskell.packages.${name}.ghc == pkgs.buildPackages.haskell.compiler.${name}.ghc`.
64 # This isn't problematic since pkgsBuildBuild.buildPackages is also build->build,
65 # just something to keep in mind.
66 compiler = let bb = pkgsBuildBuild.haskell; in {
67 ghc865Binary = callPackage ../development/compilers/ghc/8.6.5-binary.nix {
68 # Should be llvmPackages_6 which has been removed from nixpkgs
72 ghc8107Binary = callPackage ../development/compilers/ghc/8.10.7-binary.nix {
73 llvmPackages = pkgs.llvmPackages_12;
76 ghc924Binary = callPackage ../development/compilers/ghc/9.2.4-binary.nix {
77 llvmPackages = pkgs.llvmPackages_12;
80 ghc963Binary = callPackage ../development/compilers/ghc/9.6.3-binary.nix {
81 llvmPackages = pkgs.llvmPackages_15;
84 ghc8107 = callPackage ../development/compilers/ghc/8.10.7.nix {
86 # the oldest ghc with aarch64-darwin support is 8.10.5
87 if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then
88 # to my (@a-m-joseph) knowledge there are no newer official binaries for this platform
89 bb.packages.ghc865Binary
91 bb.packages.ghc8107Binary;
92 inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12
93 python3 = buildPackages.python311; # so that we don't have two of them
94 # Need to use apple's patched xattr until
95 # https://github.com/xattr/xattr/issues/44 and
96 # https://github.com/xattr/xattr/issues/55 are solved.
97 inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
98 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
99 llvmPackages = pkgs.llvmPackages_12;
101 ghc810 = compiler.ghc8107;
102 ghc902 = callPackage ../development/compilers/ghc/9.0.2.nix {
104 # the oldest ghc with aarch64-darwin support is 8.10.5
105 if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then
108 bb.packages.ghc8107Binary;
109 inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12
110 python3 = buildPackages.python311; # so that we don't have two of them
111 inherit (buildPackages.darwin) autoSignDarwinBinariesHook xattr;
112 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
113 llvmPackages = pkgs.llvmPackages_12;
115 ghc90 = compiler.ghc902;
116 ghc925 = callPackage ../development/compilers/ghc/9.2.5.nix {
118 if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then
121 bb.packages.ghc8107Binary;
122 inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12
123 python3 = buildPackages.python311; # so that we don't have two of them
124 # Need to use apple's patched xattr until
125 # https://github.com/xattr/xattr/issues/44 and
126 # https://github.com/xattr/xattr/issues/55 are solved.
127 inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
128 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
129 llvmPackages = pkgs.llvmPackages_12;
131 ghc926 = callPackage ../development/compilers/ghc/9.2.6.nix {
133 if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then
136 bb.packages.ghc8107Binary;
137 inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12
138 python3 = buildPackages.python311; # so that we don't have two of them
139 # Need to use apple's patched xattr until
140 # https://github.com/xattr/xattr/issues/44 and
141 # https://github.com/xattr/xattr/issues/55 are solved.
142 inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
143 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
144 llvmPackages = pkgs.llvmPackages_12;
146 ghc927 = callPackage ../development/compilers/ghc/9.2.7.nix {
148 if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then
151 bb.packages.ghc8107Binary;
152 inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12
153 python3 = buildPackages.python311; # so that we don't have two of them
154 # Need to use apple's patched xattr until
155 # https://github.com/xattr/xattr/issues/44 and
156 # https://github.com/xattr/xattr/issues/55 are solved.
157 inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
158 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
159 llvmPackages = pkgs.llvmPackages_12;
161 ghc928 = callPackage ../development/compilers/ghc/9.2.8.nix {
163 if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then
166 bb.packages.ghc8107Binary;
167 inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12
168 python3 = buildPackages.python311; # so that we don't have two of them
169 # Need to use apple's patched xattr until
170 # https://github.com/xattr/xattr/issues/44 and
171 # https://github.com/xattr/xattr/issues/55 are solved.
172 inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
173 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
174 llvmPackages = pkgs.llvmPackages_12;
176 ghc92 = compiler.ghc928;
177 ghc945 = callPackage ../development/compilers/ghc/9.4.5.nix {
179 # Building with 9.2 is broken due to
180 # https://gitlab.haskell.org/ghc/ghc/-/issues/21914
181 # Use 8.10 as a workaround where possible to keep bootstrap path short.
183 # On ARM text won't build with GHC 8.10.*
184 if stdenv.buildPlatform.isAarch then
185 # TODO(@sternenseemann): package bindist
187 # No suitable bindists for powerpc64le
188 else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then
191 bb.packages.ghc8107Binary;
192 inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12
193 python3 = buildPackages.python311; # so that we don't have two of them
194 # Need to use apple's patched xattr until
195 # https://github.com/xattr/xattr/issues/44 and
196 # https://github.com/xattr/xattr/issues/55 are solved.
197 inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
198 # Support range >= 10 && < 14
199 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
200 llvmPackages = pkgs.llvmPackages_12;
202 ghc946 = callPackage ../development/compilers/ghc/9.4.6.nix {
204 # Building with 9.2 is broken due to
205 # https://gitlab.haskell.org/ghc/ghc/-/issues/21914
206 # Use 8.10 as a workaround where possible to keep bootstrap path short.
208 # On ARM text won't build with GHC 8.10.*
209 if stdenv.buildPlatform.isAarch then
210 # TODO(@sternenseemann): package bindist
212 # No suitable bindists for powerpc64le
213 else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then
216 bb.packages.ghc8107Binary;
217 inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12
218 python3 = buildPackages.python311; # so that we don't have two of them
219 # Need to use apple's patched xattr until
220 # https://github.com/xattr/xattr/issues/44 and
221 # https://github.com/xattr/xattr/issues/55 are solved.
222 inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
223 # Support range >= 10 && < 14
224 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
225 llvmPackages = pkgs.llvmPackages_12;
227 ghc947 = callPackage ../development/compilers/ghc/9.4.7.nix {
229 # Building with 9.2 is broken due to
230 # https://gitlab.haskell.org/ghc/ghc/-/issues/21914
231 # Use 8.10 as a workaround where possible to keep bootstrap path short.
233 # On ARM text won't build with GHC 8.10.*
234 if stdenv.buildPlatform.isAarch then
235 # TODO(@sternenseemann): package bindist
237 # No suitable bindists for powerpc64le
238 else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then
241 bb.packages.ghc8107Binary;
242 inherit (buildPackages.python3Packages) sphinx;
243 # Need to use apple's patched xattr until
244 # https://github.com/xattr/xattr/issues/44 and
245 # https://github.com/xattr/xattr/issues/55 are solved.
246 inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
247 # Support range >= 10 && < 14
248 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
249 llvmPackages = pkgs.llvmPackages_12;
251 ghc948 = callPackage ../development/compilers/ghc/9.4.8.nix {
253 # Building with 9.2 is broken due to
254 # https://gitlab.haskell.org/ghc/ghc/-/issues/21914
255 # Use 8.10 as a workaround where possible to keep bootstrap path short.
257 # On ARM text won't build with GHC 8.10.*
258 if stdenv.buildPlatform.isAarch then
259 # TODO(@sternenseemann): package bindist
261 # No suitable bindists for powerpc64le
262 else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then
265 bb.packages.ghc8107Binary;
266 inherit (buildPackages.python3Packages) sphinx;
267 # Need to use apple's patched xattr until
268 # https://github.com/xattr/xattr/issues/44 and
269 # https://github.com/xattr/xattr/issues/55 are solved.
270 inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
271 # Support range >= 10 && < 14
272 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
273 llvmPackages = pkgs.llvmPackages_12;
275 ghc94 = compiler.ghc948;
276 ghc963 = callPackage ../development/compilers/ghc/9.6.3.nix {
278 # For GHC 9.2 no armv7l bindists are available.
279 if stdenv.buildPlatform.isAarch32 then
281 else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then
284 bb.packages.ghc924Binary;
285 inherit (buildPackages.python3Packages) sphinx;
286 # Need to use apple's patched xattr until
287 # https://github.com/xattr/xattr/issues/44 and
288 # https://github.com/xattr/xattr/issues/55 are solved.
289 inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
290 # Support range >= 11 && < 16
291 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15;
292 llvmPackages = pkgs.llvmPackages_15;
294 ghc964 = callPackage ../development/compilers/ghc/9.6.4.nix {
296 # For GHC 9.2 no armv7l bindists are available.
297 if stdenv.buildPlatform.isAarch32 then
299 else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then
302 bb.packages.ghc924Binary;
303 inherit (buildPackages.python3Packages) sphinx;
304 # Need to use apple's patched xattr until
305 # https://github.com/xattr/xattr/issues/44 and
306 # https://github.com/xattr/xattr/issues/55 are solved.
307 inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
308 # Support range >= 11 && < 16
309 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15;
310 llvmPackages = pkgs.llvmPackages_15;
312 ghc965 = callPackage ../development/compilers/ghc/9.6.5.nix {
314 # For GHC 9.2 no armv7l bindists are available.
315 if stdenv.buildPlatform.isAarch32 then
317 else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then
320 bb.packages.ghc924Binary;
321 inherit (buildPackages.python3Packages) sphinx;
322 # Need to use apple's patched xattr until
323 # https://github.com/xattr/xattr/issues/44 and
324 # https://github.com/xattr/xattr/issues/55 are solved.
325 inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
326 # Support range >= 11 && < 16
327 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15;
328 llvmPackages = pkgs.llvmPackages_15;
330 ghc966 = callPackage ../development/compilers/ghc/9.6.6.nix {
332 # For GHC 9.2 no armv7l bindists are available.
333 if stdenv.buildPlatform.isAarch32 then
335 else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then
338 bb.packages.ghc924Binary;
339 inherit (buildPackages.python3Packages) sphinx;
340 # Need to use apple's patched xattr until
341 # https://github.com/xattr/xattr/issues/44 and
342 # https://github.com/xattr/xattr/issues/55 are solved.
343 inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
344 # Support range >= 11 && < 16
345 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15;
346 llvmPackages = pkgs.llvmPackages_15;
348 ghc96 = compiler.ghc966;
349 ghc981 = callPackage ../development/compilers/ghc/9.8.1.nix {
351 # For GHC 9.6 no armv7l bindists are available.
352 if stdenv.buildPlatform.isAarch32 then
354 else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then
357 bb.packages.ghc963Binary;
358 inherit (buildPackages.python3Packages) sphinx;
359 # Need to use apple's patched xattr until
360 # https://github.com/xattr/xattr/issues/44 and
361 # https://github.com/xattr/xattr/issues/55 are solved.
362 inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
363 # Support range >= 11 && < 16
364 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15;
365 llvmPackages = pkgs.llvmPackages_15;
367 ghc982 = callPackage ../development/compilers/ghc/9.8.2.nix {
369 # For GHC 9.6 no armv7l bindists are available.
370 if stdenv.buildPlatform.isAarch32 then
372 else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then
375 bb.packages.ghc963Binary;
376 inherit (buildPackages.python3Packages) sphinx;
377 # Need to use apple's patched xattr until
378 # https://github.com/xattr/xattr/issues/44 and
379 # https://github.com/xattr/xattr/issues/55 are solved.
380 inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
381 # Support range >= 11 && < 16
382 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15;
383 llvmPackages = pkgs.llvmPackages_15;
385 ghc98 = compiler.ghc982;
386 ghc9101 = callPackage ../development/compilers/ghc/9.10.1.nix {
388 # For GHC 9.6 no armv7l bindists are available.
389 if stdenv.buildPlatform.isAarch32 then
391 else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then
393 else if stdenv.buildPlatform.isDarwin then
394 # it seems like the GHC 9.6.* bindists are built with a different
395 # toolchain than we are using (which I'm guessing from the fact
396 # that 9.6.4 bindists pass linker flags our ld doesn't support).
397 # With both 9.6.3 and 9.6.4 binary it is impossible to link against
398 # the clock package (probably a hsc2hs problem).
401 bb.packages.ghc963Binary;
402 inherit (buildPackages.python3Packages) sphinx;
403 # Need to use apple's patched xattr until
404 # https://github.com/xattr/xattr/issues/44 and
405 # https://github.com/xattr/xattr/issues/55 are solved.
406 inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
407 # 2023-01-15: Support range >= 11 && < 16
408 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15;
409 llvmPackages = pkgs.llvmPackages_15;
411 ghc910 = compiler.ghc9101;
412 ghcHEAD = callPackage ../development/compilers/ghc/head.nix {
414 # For GHC 9.6 no armv7l bindists are available.
415 if stdenv.buildPlatform.isAarch32 then
417 else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then
420 bb.packages.ghc963Binary;
421 inherit (buildPackages.python3Packages) sphinx;
422 # Need to use apple's patched xattr until
423 # https://github.com/xattr/xattr/issues/44 and
424 # https://github.com/xattr/xattr/issues/55 are solved.
425 inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
426 # 2023-01-15: Support range >= 11 && < 16
427 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15;
428 llvmPackages = pkgs.llvmPackages_15;
431 ghcjs = compiler.ghcjs810;
432 ghcjs810 = callPackage ../development/compilers/ghcjs/8.10 {
433 bootPkgs = bb.packages.ghc810;
434 ghcjsSrcJson = ../development/compilers/ghcjs/8.10/git.json;
435 stage0 = ../development/compilers/ghcjs/8.10/stage0.nix;
438 # The integer-simple attribute set contains all the GHC compilers
439 # build with integer-simple instead of integer-gmp.
441 integerSimpleGhcNames = pkgs.lib.filter
442 (name: builtins.elem name integerSimpleIncludes)
443 (pkgs.lib.attrNames compiler);
444 in pkgs.recurseIntoAttrs (pkgs.lib.genAttrs
445 integerSimpleGhcNames
446 (name: compiler.${name}.override { enableIntegerSimple = true; }));
448 # Starting from GHC 9, integer-{simple,gmp} is replaced by ghc-bignum
449 # with "native" and "gmp" backends.
451 nativeBignumGhcNames = pkgs.lib.filter
452 (name: !(builtins.elem name nativeBignumExcludes))
453 (pkgs.lib.attrNames compiler);
454 in pkgs.recurseIntoAttrs (pkgs.lib.genAttrs
456 (name: compiler.${name}.override { enableNativeBignum = true; }));
459 # Default overrides that are applied to all package sets.
460 packageOverrides = self : super : {};
462 # Always get compilers from `buildPackages`
463 packages = let bh = buildPackages.haskell; in {
465 ghc865Binary = callPackage ../development/haskell-modules {
466 buildHaskellPackages = bh.packages.ghc865Binary;
467 ghc = bh.compiler.ghc865Binary;
468 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.6.x.nix { };
469 packageSetConfig = bootstrapPackageSet;
471 ghc8107Binary = callPackage ../development/haskell-modules {
472 buildHaskellPackages = bh.packages.ghc8107Binary;
473 ghc = bh.compiler.ghc8107Binary;
474 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { };
475 packageSetConfig = bootstrapPackageSet;
477 ghc924Binary = callPackage ../development/haskell-modules {
478 buildHaskellPackages = bh.packages.ghc924Binary;
479 ghc = bh.compiler.ghc924Binary;
480 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { };
481 packageSetConfig = bootstrapPackageSet;
483 ghc963Binary = callPackage ../development/haskell-modules {
484 buildHaskellPackages = bh.packages.ghc963Binary;
485 ghc = bh.compiler.ghc963Binary;
486 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { };
487 packageSetConfig = bootstrapPackageSet;
489 ghc8107 = callPackage ../development/haskell-modules {
490 buildHaskellPackages = bh.packages.ghc8107;
491 ghc = bh.compiler.ghc8107;
492 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { };
494 ghc810 = packages.ghc8107;
495 ghc902 = callPackage ../development/haskell-modules {
496 buildHaskellPackages = bh.packages.ghc902;
497 ghc = bh.compiler.ghc902;
498 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.0.x.nix { };
500 ghc90 = packages.ghc902;
501 ghc925 = callPackage ../development/haskell-modules {
502 buildHaskellPackages = bh.packages.ghc925;
503 ghc = bh.compiler.ghc925;
504 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { };
506 ghc926 = callPackage ../development/haskell-modules {
507 buildHaskellPackages = bh.packages.ghc926;
508 ghc = bh.compiler.ghc926;
509 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { };
511 ghc927 = callPackage ../development/haskell-modules {
512 buildHaskellPackages = bh.packages.ghc927;
513 ghc = bh.compiler.ghc927;
514 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { };
516 ghc928 = callPackage ../development/haskell-modules {
517 buildHaskellPackages = bh.packages.ghc928;
518 ghc = bh.compiler.ghc928;
519 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { };
521 ghc92 = packages.ghc928;
522 ghc945 = callPackage ../development/haskell-modules {
523 buildHaskellPackages = bh.packages.ghc945;
524 ghc = bh.compiler.ghc945;
525 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.4.x.nix { };
527 ghc946 = callPackage ../development/haskell-modules {
528 buildHaskellPackages = bh.packages.ghc946;
529 ghc = bh.compiler.ghc946;
530 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.4.x.nix { };
532 ghc947 = callPackage ../development/haskell-modules {
533 buildHaskellPackages = bh.packages.ghc947;
534 ghc = bh.compiler.ghc947;
535 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.4.x.nix { };
537 ghc948 = callPackage ../development/haskell-modules {
538 buildHaskellPackages = bh.packages.ghc948;
539 ghc = bh.compiler.ghc948;
540 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.4.x.nix { };
542 ghc94 = packages.ghc948;
543 ghc963 = callPackage ../development/haskell-modules {
544 buildHaskellPackages = bh.packages.ghc963;
545 ghc = bh.compiler.ghc963;
546 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { };
548 ghc964 = callPackage ../development/haskell-modules {
549 buildHaskellPackages = bh.packages.ghc964;
550 ghc = bh.compiler.ghc964;
551 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { };
553 ghc965 = callPackage ../development/haskell-modules {
554 buildHaskellPackages = bh.packages.ghc965;
555 ghc = bh.compiler.ghc965;
556 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { };
558 ghc966 = callPackage ../development/haskell-modules {
559 buildHaskellPackages = bh.packages.ghc966;
560 ghc = bh.compiler.ghc966;
561 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { };
563 ghc96 = packages.ghc966;
564 ghc981 = callPackage ../development/haskell-modules {
565 buildHaskellPackages = bh.packages.ghc981;
566 ghc = bh.compiler.ghc981;
567 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.8.x.nix { };
569 ghc982 = callPackage ../development/haskell-modules {
570 buildHaskellPackages = bh.packages.ghc982;
571 ghc = bh.compiler.ghc982;
572 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.8.x.nix { };
574 ghc98 = packages.ghc982;
575 ghc9101 = callPackage ../development/haskell-modules {
576 buildHaskellPackages = bh.packages.ghc9101;
577 ghc = bh.compiler.ghc9101;
578 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.10.x.nix { };
580 ghc910 = packages.ghc9101;
581 ghcHEAD = callPackage ../development/haskell-modules {
582 buildHaskellPackages = bh.packages.ghcHEAD;
583 ghc = bh.compiler.ghcHEAD;
584 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.12.x.nix { };
587 ghcjs = packages.ghcjs810;
588 ghcjs810 = callPackage ../development/haskell-modules rec {
589 buildHaskellPackages = ghc.bootPkgs;
590 ghc = bh.compiler.ghcjs810;
591 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { };
592 packageSetConfig = callPackage ../development/haskell-modules/configuration-ghcjs-8.x.nix { };
595 # The integer-simple attribute set contains package sets for all the GHC compilers
596 # using integer-simple instead of integer-gmp.
599 integerSimpleGhcNames = pkgs.lib.filter
600 (name: builtins.elem name integerSimpleIncludes)
601 (pkgs.lib.attrNames packages);
603 pkgs.lib.genAttrs integerSimpleGhcNames
605 packages.${name}.override (oldAttrs: {
606 ghc = bh.compiler.integer-simple.${name};
607 buildHaskellPackages = bh.packages.integer-simple.${name};
609 pkgs.lib.composeExtensions
610 (oldAttrs.overrides or (_: _: {}))
611 (_: _: { integer-simple = null; });
617 nativeBignumGhcNames = pkgs.lib.filter
618 (name: !(builtins.elem name nativeBignumExcludes))
619 (pkgs.lib.attrNames compiler);
621 pkgs.lib.genAttrs nativeBignumGhcNames
623 packages.${name}.override {
624 ghc = bh.compiler.native-bignum.${name};
625 buildHaskellPackages = bh.packages.native-bignum.${name};