|
21 | 21 | permittedInsecurePackages = ["libdwarf-20210528" "libdwarf-20181024" "dwarfdump-20181024"];
|
22 | 22 | };
|
23 | 23 | };
|
24 |
| - compilerNixNames = nixpkgsName: nixpkgs: builtins.mapAttrs (compiler-nix-name: runTests: { |
25 |
| - inherit runTests; |
26 |
| - }) ( |
27 |
| - # GHC version to cache and whether to run the tests against them. |
28 |
| - # This list of GHC versions should include everything for which we |
29 |
| - # have a ./materialized/ghcXXX directory containing the materialized |
30 |
| - # cabal-install and nix-tools plans. When removing a ghc version |
31 |
| - # from here (so that is no longer cached) also remove ./materialized/ghcXXX. |
32 |
| - # Update supported-ghc-versions.md to reflect any changes made here. |
33 |
| - nixpkgs.lib.optionalAttrs (nixpkgsName == "R2205") { |
34 |
| - ghc865 = false; |
35 |
| - ghc8107 = false; |
36 |
| - } // nixpkgs.lib.optionalAttrs (nixpkgsName == "unstable") { |
37 |
| - ghc865 = false; |
38 |
| - ghc884 = false; # Native version is used to boot 9.0.1 |
39 |
| - ghc8107 = true; |
40 |
| - ghc902 = false; |
41 |
| - ghc924 = true; |
42 |
| - }); |
43 |
| - systems = nixpkgsName: nixpkgs: compiler-nix-name: nixpkgs.lib.genAttrs ( |
44 |
| - nixpkgs.lib.filter (v: |
| 24 | + compilerNixNames = nixpkgsName: nixpkgs: |
| 25 | + # Include only the GHC versions that are supported by haskell.nix |
| 26 | + nixpkgs.lib.filterAttrs (compiler-nix-name: _: |
45 | 27 | # We have less x86_64-darwin build capacity so build fewer GhC versions
|
46 |
| - (v != "x86_64-darwin" || ( |
| 28 | + (system != "x86_64-darwin" || ( |
47 | 29 | !__elem compiler-nix-name ["ghc8104" "ghc810420210212" "ghc8105" "ghc8106" "ghc901" "ghc921" "ghc922"]))
|
48 | 30 | &&
|
49 | 31 | # aarch64-darwin requires ghc 8.10.7
|
50 |
| - (v != "aarch64-darwin" || ( |
| 32 | + (system != "aarch64-darwin" || ( |
51 | 33 | !__elem compiler-nix-name ["ghc865" "ghc884" "ghc8104" "ghc810420210212" "ghc8105" "ghc8106" "ghc901" "ghc921" "ghc922"]))
|
52 | 34 | &&
|
53 | 35 | # aarch64-linux requires ghc 8.8.4
|
54 |
| - (v != "aarch64-linux" || ( |
| 36 | + (system != "aarch64-linux" || ( |
55 | 37 | !__elem compiler-nix-name ["ghc865" "ghc8104" "ghc810420210212" "ghc8105" "ghc8106" "ghc901" "ghc921" "ghc922"]
|
56 |
| - ))) [ system ]) (v: v); |
| 38 | + ))) |
| 39 | + (builtins.mapAttrs (compiler-nix-name: runTests: { |
| 40 | + inherit runTests; |
| 41 | + }) ( |
| 42 | + # GHC version to cache and whether to run the tests against them. |
| 43 | + # This list of GHC versions should include everything for which we |
| 44 | + # have a ./materialized/ghcXXX directory containing the materialized |
| 45 | + # cabal-install and nix-tools plans. When removing a ghc version |
| 46 | + # from here (so that is no longer cached) also remove ./materialized/ghcXXX. |
| 47 | + # Update supported-ghc-versions.md to reflect any changes made here. |
| 48 | + nixpkgs.lib.optionalAttrs (nixpkgsName == "R2205") { |
| 49 | + ghc865 = false; |
| 50 | + ghc8107 = false; |
| 51 | + } // nixpkgs.lib.optionalAttrs (nixpkgsName == "unstable") { |
| 52 | + ghc865 = false; |
| 53 | + ghc884 = false; # Native version is used to boot 9.0.1 |
| 54 | + ghc8107 = true; |
| 55 | + ghc902 = false; |
| 56 | + ghc924 = true; |
| 57 | + })); |
57 | 58 | crossSystems = nixpkgsName: nixpkgs: compiler-nix-name:
|
58 | 59 | # We need to use the actual nixpkgs version we're working with here, since the values
|
59 | 60 | # of 'lib.systems.examples' are not understood between all versions
|
|
0 commit comments