Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at python-updates 692 lines 30 kB view raw
1{ 2 buildPackages, 3 pkgsBuildBuild, 4 pkgsBuildTarget, 5 pkgs, 6 newScope, 7 stdenv, 8}: 9 10let 11 # These are attributes in compiler that support integer-simple. 12 integerSimpleIncludes = [ 13 "ghc88" 14 "ghc884" 15 "ghc810" 16 "ghc8107" 17 ]; 18 19 nativeBignumExcludes = integerSimpleIncludes ++ [ 20 # haskell.compiler sub groups 21 "integer-simple" 22 "native-bignum" 23 # Binary GHCs 24 "ghc865Binary" 25 "ghc8107Binary" 26 "ghc902Binary" 27 "ghc924Binary" 28 "ghc963Binary" 29 "ghc984Binary" 30 # ghcjs 31 "ghcjs" 32 "ghcjs810" 33 ]; 34 35 haskellLibUncomposable = import ../development/haskell-modules/lib { 36 inherit (pkgs) lib; 37 inherit pkgs; 38 }; 39 40 callPackage = newScope { 41 haskellLib = haskellLibUncomposable.compose; 42 overrides = pkgs.haskell.packageOverrides; 43 }; 44 45 bootstrapPackageSet = self: super: { 46 mkDerivation = 47 drv: 48 super.mkDerivation ( 49 drv 50 // { 51 doCheck = false; 52 doHaddock = false; 53 enableExecutableProfiling = false; 54 enableLibraryProfiling = false; 55 enableSharedExecutables = false; 56 enableSharedLibraries = false; 57 } 58 ); 59 }; 60 61 # Use this rather than `rec { ... }` below for sake of overlays. 62 inherit (pkgs.haskell) compiler packages; 63 64in 65{ 66 lib = haskellLibUncomposable; 67 68 package-list = callPackage ../development/haskell-modules/package-list.nix { }; 69 70 # Always get boot compilers from `pkgsBuildBuild`. The boot (stage0) compiler 71 # is used to build another compiler (stage1) that'll be used to build the 72 # final compiler (stage2) (except when building a cross-compiler). This means 73 # that stage1's host platform is the same as stage0: build. Consequently, 74 # stage0 needs to be build->build. 75 # 76 # Note that we use bb.haskell.packages.*. haskell.packages.*.ghc is similar to 77 # stdenv: The ghc comes from the previous package set, i.e. this predicate holds: 78 # `name: pkgs: pkgs.haskell.packages.${name}.ghc == pkgs.buildPackages.haskell.compiler.${name}.ghc`. 79 # This isn't problematic since pkgsBuildBuild.buildPackages is also build->build, 80 # just something to keep in mind. 81 compiler = 82 let 83 bb = pkgsBuildBuild.haskell; 84 in 85 { 86 ghc865Binary = callPackage ../development/compilers/ghc/8.6.5-binary.nix { 87 # Should be llvmPackages_6 which has been removed from nixpkgs 88 llvmPackages = null; 89 }; 90 91 ghc8107Binary = callPackage ../development/compilers/ghc/8.10.7-binary.nix { 92 llvmPackages = pkgs.llvmPackages_12; 93 }; 94 95 ghc902Binary = callPackage ../development/compilers/ghc/9.0.2-binary.nix { 96 llvmPackages = pkgs.llvmPackages_12; 97 }; 98 99 ghc924Binary = callPackage ../development/compilers/ghc/9.2.4-binary.nix { 100 llvmPackages = pkgs.llvmPackages_12; 101 }; 102 103 ghc963Binary = callPackage ../development/compilers/ghc/9.6.3-binary.nix { 104 llvmPackages = pkgs.llvmPackages_15; 105 }; 106 107 ghc984Binary = callPackage ../development/compilers/ghc/9.8.4-binary.nix { 108 llvmPackages = pkgs.llvmPackages_15; 109 }; 110 111 ghc8107 = callPackage ../development/compilers/ghc/8.10.7.nix { 112 bootPkgs = 113 # the oldest ghc with aarch64-darwin support is 8.10.5 114 if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then 115 # to my (@a-m-joseph) knowledge there are no newer official binaries for this platform 116 bb.packages.ghc865Binary 117 else 118 bb.packages.ghc8107Binary; 119 inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12 120 python3 = buildPackages.python311; # so that we don't have two of them 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 ghc810 = compiler.ghc8107; 129 ghc902 = callPackage ../development/compilers/ghc/9.0.2.nix { 130 bootPkgs = 131 # the oldest ghc with aarch64-darwin support is 8.10.5 132 if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then 133 bb.packages.ghc810 134 else 135 bb.packages.ghc8107Binary; 136 inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12 137 python3 = buildPackages.python311; # so that we don't have two of them 138 inherit (buildPackages.darwin) autoSignDarwinBinariesHook xattr; 139 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12; 140 llvmPackages = pkgs.llvmPackages_12; 141 }; 142 ghc90 = compiler.ghc902; 143 ghc928 = callPackage ../development/compilers/ghc/9.2.8.nix { 144 bootPkgs = 145 # GHC >= 9.0 removed the armv7l bindist 146 if stdenv.buildPlatform.isAarch32 then 147 bb.packages.ghc8107Binary 148 # No suitable bindists for powerpc64le 149 else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then 150 bb.packages.ghc902 151 else 152 bb.packages.ghc902Binary; 153 inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12 154 python3 = buildPackages.python311; # so that we don't have two of them 155 # Need to use apple's patched xattr until 156 # https://github.com/xattr/xattr/issues/44 and 157 # https://github.com/xattr/xattr/issues/55 are solved. 158 inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; 159 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12; 160 llvmPackages = pkgs.llvmPackages_12; 161 }; 162 ghc92 = compiler.ghc928; 163 ghc947 = callPackage ../development/compilers/ghc/9.4.7.nix { 164 bootPkgs = 165 # Building with 9.2 is broken due to 166 # https://gitlab.haskell.org/ghc/ghc/-/issues/21914 167 168 # No suitable bindists for powerpc64le 169 if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then 170 bb.packages.ghc902 171 else 172 bb.packages.ghc902Binary; 173 inherit (buildPackages.python3Packages) sphinx; 174 # Need to use apple's patched xattr until 175 # https://github.com/xattr/xattr/issues/44 and 176 # https://github.com/xattr/xattr/issues/55 are solved. 177 inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; 178 # Support range >= 10 && < 14 179 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12; 180 llvmPackages = pkgs.llvmPackages_12; 181 }; 182 ghc948 = callPackage ../development/compilers/ghc/9.4.8.nix { 183 bootPkgs = 184 # Building with 9.2 is broken due to 185 # https://gitlab.haskell.org/ghc/ghc/-/issues/21914 186 187 # No suitable bindists for powerpc64le 188 if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then 189 bb.packages.ghc902 190 else 191 bb.packages.ghc902Binary; 192 inherit (buildPackages.python3Packages) sphinx; 193 # Need to use apple's patched xattr until 194 # https://github.com/xattr/xattr/issues/44 and 195 # https://github.com/xattr/xattr/issues/55 are solved. 196 inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; 197 # Support range >= 10 && < 14 198 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12; 199 llvmPackages = pkgs.llvmPackages_12; 200 }; 201 ghc94 = compiler.ghc948; 202 ghc963 = callPackage ../development/compilers/ghc/9.6.3.nix { 203 bootPkgs = 204 # For GHC 9.2 no armv7l bindists are available. 205 if stdenv.buildPlatform.isAarch32 then 206 bb.packages.ghc928 207 else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then 208 bb.packages.ghc928 209 else 210 bb.packages.ghc924Binary; 211 inherit (buildPackages.python3Packages) sphinx; 212 # Need to use apple's patched xattr until 213 # https://github.com/xattr/xattr/issues/44 and 214 # https://github.com/xattr/xattr/issues/55 are solved. 215 inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; 216 # Support range >= 11 && < 16 217 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15; 218 llvmPackages = pkgs.llvmPackages_15; 219 }; 220 ghc964 = callPackage ../development/compilers/ghc/9.6.4.nix { 221 bootPkgs = 222 # For GHC 9.2 no armv7l bindists are available. 223 if stdenv.buildPlatform.isAarch32 then 224 bb.packages.ghc928 225 else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then 226 bb.packages.ghc928 227 else 228 bb.packages.ghc924Binary; 229 inherit (buildPackages.python3Packages) sphinx; 230 # Need to use apple's patched xattr until 231 # https://github.com/xattr/xattr/issues/44 and 232 # https://github.com/xattr/xattr/issues/55 are solved. 233 inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; 234 # Support range >= 11 && < 16 235 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15; 236 llvmPackages = pkgs.llvmPackages_15; 237 }; 238 ghc965 = callPackage ../development/compilers/ghc/9.6.5.nix { 239 bootPkgs = 240 # For GHC 9.2 no armv7l bindists are available. 241 if stdenv.buildPlatform.isAarch32 then 242 bb.packages.ghc928 243 else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then 244 bb.packages.ghc928 245 else 246 bb.packages.ghc924Binary; 247 inherit (buildPackages.python3Packages) sphinx; 248 # Need to use apple's patched xattr until 249 # https://github.com/xattr/xattr/issues/44 and 250 # https://github.com/xattr/xattr/issues/55 are solved. 251 inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; 252 # Support range >= 11 && < 16 253 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15; 254 llvmPackages = pkgs.llvmPackages_15; 255 }; 256 ghc966 = callPackage ../development/compilers/ghc/9.6.6.nix { 257 bootPkgs = 258 # For GHC 9.2 no armv7l bindists are available. 259 if stdenv.buildPlatform.isAarch32 then 260 bb.packages.ghc928 261 else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then 262 bb.packages.ghc928 263 else 264 bb.packages.ghc924Binary; 265 inherit (buildPackages.python3Packages) sphinx; 266 # Need to use apple's patched xattr until 267 # https://github.com/xattr/xattr/issues/44 and 268 # https://github.com/xattr/xattr/issues/55 are solved. 269 inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; 270 # Support range >= 11 && < 16 271 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15; 272 llvmPackages = pkgs.llvmPackages_15; 273 }; 274 ghc967 = callPackage ../development/compilers/ghc/9.6.7.nix { 275 bootPkgs = 276 # For GHC 9.2 no armv7l bindists are available. 277 if stdenv.buildPlatform.isAarch32 then 278 bb.packages.ghc928 279 else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then 280 bb.packages.ghc928 281 else 282 bb.packages.ghc924Binary; 283 inherit (buildPackages.python3Packages) sphinx; 284 # Need to use apple's patched xattr until 285 # https://github.com/xattr/xattr/issues/44 and 286 # https://github.com/xattr/xattr/issues/55 are solved. 287 inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; 288 # Support range >= 11 && < 16 289 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15; 290 llvmPackages = pkgs.llvmPackages_15; 291 }; 292 ghc96 = compiler.ghc967; 293 ghc981 = callPackage ../development/compilers/ghc/9.8.1.nix { 294 bootPkgs = 295 # For GHC 9.6 no armv7l bindists are available. 296 if stdenv.buildPlatform.isAarch32 then 297 bb.packages.ghc963 298 else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then 299 bb.packages.ghc963 300 else 301 bb.packages.ghc963Binary; 302 inherit (buildPackages.python3Packages) sphinx; 303 # Need to use apple's patched xattr until 304 # https://github.com/xattr/xattr/issues/44 and 305 # https://github.com/xattr/xattr/issues/55 are solved. 306 inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; 307 # Support range >= 11 && < 16 308 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15; 309 llvmPackages = pkgs.llvmPackages_15; 310 }; 311 ghc982 = callPackage ../development/compilers/ghc/9.8.2.nix { 312 bootPkgs = 313 # For GHC 9.6 no armv7l bindists are available. 314 if stdenv.buildPlatform.isAarch32 then 315 bb.packages.ghc963 316 else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then 317 bb.packages.ghc963 318 else 319 bb.packages.ghc963Binary; 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 >= 11 && < 16 326 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15; 327 llvmPackages = pkgs.llvmPackages_15; 328 }; 329 ghc983 = callPackage ../development/compilers/ghc/9.8.3.nix { 330 bootPkgs = 331 # For GHC 9.6 no armv7l bindists are available. 332 if stdenv.buildPlatform.isAarch32 then 333 bb.packages.ghc963 334 else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then 335 bb.packages.ghc963 336 else 337 bb.packages.ghc963Binary; 338 inherit (buildPackages.python3Packages) sphinx; 339 # Need to use apple's patched xattr until 340 # https://github.com/xattr/xattr/issues/44 and 341 # https://github.com/xattr/xattr/issues/55 are solved. 342 inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; 343 # Support range >= 11 && < 16 344 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15; 345 llvmPackages = pkgs.llvmPackages_15; 346 }; 347 ghc984 = callPackage ../development/compilers/ghc/9.8.4.nix { 348 bootPkgs = 349 if stdenv.buildPlatform.isAarch64 && stdenv.buildPlatform.isMusl then 350 bb.packages.ghc984Binary 351 else if stdenv.buildPlatform.isAarch32 then 352 # For GHC 9.6 no armv7l bindists are available. 353 bb.packages.ghc963 354 else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then 355 bb.packages.ghc963 356 else 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; 366 }; 367 ghc98 = compiler.ghc984; 368 ghc9101 = callPackage ../development/compilers/ghc/9.10.1.nix { 369 bootPkgs = 370 # For GHC 9.6 no armv7l bindists are available. 371 if stdenv.buildPlatform.isAarch32 then 372 bb.packages.ghc963 373 else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then 374 bb.packages.ghc963 375 else if stdenv.buildPlatform.isDarwin then 376 # it seems like the GHC 9.6.* bindists are built with a different 377 # toolchain than we are using (which I'm guessing from the fact 378 # that 9.6.4 bindists pass linker flags our ld doesn't support). 379 # With both 9.6.3 and 9.6.4 binary it is impossible to link against 380 # the clock package (probably a hsc2hs problem). 381 bb.packages.ghc963 382 else 383 bb.packages.ghc963Binary; 384 inherit (buildPackages.python3Packages) sphinx; 385 # Need to use apple's patched xattr until 386 # https://github.com/xattr/xattr/issues/44 and 387 # https://github.com/xattr/xattr/issues/55 are solved. 388 inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; 389 # 2023-01-15: Support range >= 11 && < 16 390 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15; 391 llvmPackages = pkgs.llvmPackages_15; 392 }; 393 ghc9102 = callPackage ../development/compilers/ghc/9.10.2.nix { 394 bootPkgs = 395 # For GHC 9.6 no armv7l bindists are available. 396 if stdenv.buildPlatform.isAarch32 then 397 bb.packages.ghc963 398 else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then 399 bb.packages.ghc963 400 else if stdenv.buildPlatform.isDarwin then 401 # it seems like the GHC 9.6.* bindists are built with a different 402 # toolchain than we are using (which I'm guessing from the fact 403 # that 9.6.4 bindists pass linker flags our ld doesn't support). 404 # With both 9.6.3 and 9.6.4 binary it is impossible to link against 405 # the clock package (probably a hsc2hs problem). 406 bb.packages.ghc963 407 else 408 bb.packages.ghc963Binary; 409 inherit (buildPackages.python3Packages) sphinx; 410 # Need to use apple's patched xattr until 411 # https://github.com/xattr/xattr/issues/44 and 412 # https://github.com/xattr/xattr/issues/55 are solved. 413 inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; 414 # 2023-01-15: Support range >= 11 && < 16 415 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15; 416 llvmPackages = pkgs.llvmPackages_15; 417 }; 418 ghc910 = compiler.ghc9102; 419 ghc9121 = callPackage ../development/compilers/ghc/9.12.1.nix { 420 bootPkgs = 421 # No suitable bindist packaged yet 422 bb.packages.ghc9102; 423 inherit (buildPackages.python3Packages) sphinx; 424 # Need to use apple's patched xattr until 425 # https://github.com/xattr/xattr/issues/44 and 426 # https://github.com/xattr/xattr/issues/55 are solved. 427 inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; 428 # 2024-12-21: Support range >= 13 && < 20 429 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_19; 430 llvmPackages = pkgs.llvmPackages_19; 431 }; 432 ghc9122 = callPackage ../development/compilers/ghc/9.12.2.nix { 433 bootPkgs = 434 # No suitable bindist packaged yet 435 bb.packages.ghc9102; 436 inherit (buildPackages.python3Packages) sphinx; 437 # Need to use apple's patched xattr until 438 # https://github.com/xattr/xattr/issues/44 and 439 # https://github.com/xattr/xattr/issues/55 are solved. 440 inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; 441 # 2024-12-21: Support range >= 13 && < 20 442 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_19; 443 llvmPackages = pkgs.llvmPackages_19; 444 }; 445 ghc912 = compiler.ghc9122; 446 ghcHEAD = callPackage ../development/compilers/ghc/head.nix { 447 bootPkgs = 448 # No armv7l bindists are available. 449 if stdenv.buildPlatform.isAarch32 then 450 bb.packages.ghc984 451 else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then 452 bb.packages.ghc984 453 else 454 bb.packages.ghc984Binary; 455 inherit (buildPackages.python3Packages) sphinx; 456 # Need to use apple's patched xattr until 457 # https://github.com/xattr/xattr/issues/44 and 458 # https://github.com/xattr/xattr/issues/55 are solved. 459 inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; 460 # 2023-01-15: Support range >= 11 && < 16 461 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_18; 462 llvmPackages = pkgs.llvmPackages_18; 463 }; 464 465 ghcjs = compiler.ghcjs810; 466 ghcjs810 = callPackage ../development/compilers/ghcjs/8.10 { 467 bootPkgs = bb.packages.ghc810; 468 ghcjsSrcJson = ../development/compilers/ghcjs/8.10/git.json; 469 stage0 = ../development/compilers/ghcjs/8.10/stage0.nix; 470 }; 471 472 # The integer-simple attribute set contains all the GHC compilers 473 # build with integer-simple instead of integer-gmp. 474 integer-simple = 475 let 476 integerSimpleGhcNames = pkgs.lib.filter (name: builtins.elem name integerSimpleIncludes) ( 477 pkgs.lib.attrNames compiler 478 ); 479 in 480 pkgs.recurseIntoAttrs ( 481 pkgs.lib.genAttrs integerSimpleGhcNames ( 482 name: compiler.${name}.override { enableIntegerSimple = true; } 483 ) 484 ); 485 486 # Starting from GHC 9, integer-{simple,gmp} is replaced by ghc-bignum 487 # with "native" and "gmp" backends. 488 native-bignum = 489 let 490 nativeBignumGhcNames = pkgs.lib.filter (name: !(builtins.elem name nativeBignumExcludes)) ( 491 pkgs.lib.attrNames compiler 492 ); 493 in 494 pkgs.recurseIntoAttrs ( 495 pkgs.lib.genAttrs nativeBignumGhcNames ( 496 name: compiler.${name}.override { enableNativeBignum = true; } 497 ) 498 ); 499 }; 500 501 # Default overrides that are applied to all package sets. 502 packageOverrides = self: super: { }; 503 504 # Always get compilers from `buildPackages` 505 packages = 506 let 507 bh = buildPackages.haskell; 508 in 509 { 510 511 ghc865Binary = callPackage ../development/haskell-modules { 512 buildHaskellPackages = bh.packages.ghc865Binary; 513 ghc = bh.compiler.ghc865Binary; 514 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.6.x.nix { }; 515 packageSetConfig = bootstrapPackageSet; 516 }; 517 ghc8107Binary = callPackage ../development/haskell-modules { 518 buildHaskellPackages = bh.packages.ghc8107Binary; 519 ghc = bh.compiler.ghc8107Binary; 520 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { }; 521 packageSetConfig = bootstrapPackageSet; 522 }; 523 ghc902Binary = callPackage ../development/haskell-modules { 524 buildHaskellPackages = bh.packages.ghc902Binary; 525 ghc = bh.compiler.ghc902Binary; 526 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.0.x.nix { }; 527 packageSetConfig = bootstrapPackageSet; 528 }; 529 ghc924Binary = callPackage ../development/haskell-modules { 530 buildHaskellPackages = bh.packages.ghc924Binary; 531 ghc = bh.compiler.ghc924Binary; 532 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { }; 533 packageSetConfig = bootstrapPackageSet; 534 }; 535 ghc963Binary = callPackage ../development/haskell-modules { 536 buildHaskellPackages = bh.packages.ghc963Binary; 537 ghc = bh.compiler.ghc963Binary; 538 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { }; 539 packageSetConfig = bootstrapPackageSet; 540 }; 541 ghc984Binary = callPackage ../development/haskell-modules { 542 buildHaskellPackages = bh.packages.ghc984Binary; 543 ghc = bh.compiler.ghc984Binary; 544 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.8.x.nix { }; 545 packageSetConfig = bootstrapPackageSet; 546 }; 547 ghc8107 = callPackage ../development/haskell-modules { 548 buildHaskellPackages = bh.packages.ghc8107; 549 ghc = bh.compiler.ghc8107; 550 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { }; 551 }; 552 ghc810 = packages.ghc8107; 553 ghc902 = callPackage ../development/haskell-modules { 554 buildHaskellPackages = bh.packages.ghc902; 555 ghc = bh.compiler.ghc902; 556 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.0.x.nix { }; 557 }; 558 ghc90 = packages.ghc902; 559 ghc928 = callPackage ../development/haskell-modules { 560 buildHaskellPackages = bh.packages.ghc928; 561 ghc = bh.compiler.ghc928; 562 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { }; 563 }; 564 ghc92 = packages.ghc928; 565 ghc947 = callPackage ../development/haskell-modules { 566 buildHaskellPackages = bh.packages.ghc947; 567 ghc = bh.compiler.ghc947; 568 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.4.x.nix { }; 569 }; 570 ghc948 = callPackage ../development/haskell-modules { 571 buildHaskellPackages = bh.packages.ghc948; 572 ghc = bh.compiler.ghc948; 573 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.4.x.nix { }; 574 }; 575 ghc94 = packages.ghc948; 576 ghc963 = callPackage ../development/haskell-modules { 577 buildHaskellPackages = bh.packages.ghc963; 578 ghc = bh.compiler.ghc963; 579 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { }; 580 }; 581 ghc964 = callPackage ../development/haskell-modules { 582 buildHaskellPackages = bh.packages.ghc964; 583 ghc = bh.compiler.ghc964; 584 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { }; 585 }; 586 ghc965 = callPackage ../development/haskell-modules { 587 buildHaskellPackages = bh.packages.ghc965; 588 ghc = bh.compiler.ghc965; 589 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { }; 590 }; 591 ghc966 = callPackage ../development/haskell-modules { 592 buildHaskellPackages = bh.packages.ghc966; 593 ghc = bh.compiler.ghc966; 594 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { }; 595 }; 596 ghc967 = callPackage ../development/haskell-modules { 597 buildHaskellPackages = bh.packages.ghc967; 598 ghc = bh.compiler.ghc967; 599 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { }; 600 }; 601 ghc96 = packages.ghc967; 602 ghc981 = callPackage ../development/haskell-modules { 603 buildHaskellPackages = bh.packages.ghc981; 604 ghc = bh.compiler.ghc981; 605 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.8.x.nix { }; 606 }; 607 ghc982 = callPackage ../development/haskell-modules { 608 buildHaskellPackages = bh.packages.ghc982; 609 ghc = bh.compiler.ghc982; 610 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.8.x.nix { }; 611 }; 612 ghc983 = callPackage ../development/haskell-modules { 613 buildHaskellPackages = bh.packages.ghc983; 614 ghc = bh.compiler.ghc983; 615 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.8.x.nix { }; 616 }; 617 ghc984 = callPackage ../development/haskell-modules { 618 buildHaskellPackages = bh.packages.ghc984; 619 ghc = bh.compiler.ghc984; 620 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.8.x.nix { }; 621 }; 622 ghc98 = packages.ghc984; 623 ghc9101 = callPackage ../development/haskell-modules { 624 buildHaskellPackages = bh.packages.ghc9101; 625 ghc = bh.compiler.ghc9101; 626 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.10.x.nix { }; 627 }; 628 ghc9102 = callPackage ../development/haskell-modules { 629 buildHaskellPackages = bh.packages.ghc9102; 630 ghc = bh.compiler.ghc9102; 631 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.10.x.nix { }; 632 }; 633 ghc910 = packages.ghc9102; 634 ghc9121 = callPackage ../development/haskell-modules { 635 buildHaskellPackages = bh.packages.ghc9121; 636 ghc = bh.compiler.ghc9121; 637 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.12.x.nix { }; 638 }; 639 ghc9122 = callPackage ../development/haskell-modules { 640 buildHaskellPackages = bh.packages.ghc9122; 641 ghc = bh.compiler.ghc9122; 642 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.12.x.nix { }; 643 }; 644 ghc912 = packages.ghc9122; 645 ghcHEAD = callPackage ../development/haskell-modules { 646 buildHaskellPackages = bh.packages.ghcHEAD; 647 ghc = bh.compiler.ghcHEAD; 648 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.14.x.nix { }; 649 }; 650 651 ghcjs = packages.ghcjs810; 652 ghcjs810 = callPackage ../development/haskell-modules rec { 653 buildHaskellPackages = ghc.bootPkgs; 654 ghc = bh.compiler.ghcjs810; 655 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { }; 656 packageSetConfig = callPackage ../development/haskell-modules/configuration-ghcjs-8.x.nix { }; 657 }; 658 659 # The integer-simple attribute set contains package sets for all the GHC compilers 660 # using integer-simple instead of integer-gmp. 661 integer-simple = 662 let 663 integerSimpleGhcNames = pkgs.lib.filter (name: builtins.elem name integerSimpleIncludes) ( 664 pkgs.lib.attrNames packages 665 ); 666 in 667 pkgs.lib.genAttrs integerSimpleGhcNames ( 668 name: 669 packages.${name}.override (oldAttrs: { 670 ghc = bh.compiler.integer-simple.${name}; 671 buildHaskellPackages = bh.packages.integer-simple.${name}; 672 overrides = pkgs.lib.composeExtensions (oldAttrs.overrides or (_: _: { })) ( 673 _: _: { integer-simple = null; } 674 ); 675 }) 676 ); 677 678 native-bignum = 679 let 680 nativeBignumGhcNames = pkgs.lib.filter (name: !(builtins.elem name nativeBignumExcludes)) ( 681 pkgs.lib.attrNames compiler 682 ); 683 in 684 pkgs.lib.genAttrs nativeBignumGhcNames ( 685 name: 686 packages.${name}.override { 687 ghc = bh.compiler.native-bignum.${name}; 688 buildHaskellPackages = bh.packages.native-bignum.${name}; 689 } 690 ); 691 }; 692}