|
6 | 6 | newScope, |
7 | 7 | stdenv, |
8 | 8 | config, |
| 9 | + lib, |
9 | 10 | }: |
10 | 11 |
|
11 | 12 | let |
|
89 | 90 | compiler = pkgs.lib.recurseIntoAttrs ( |
90 | 91 | let |
91 | 92 | bb = pkgsBuildBuild.haskell; |
| 93 | + |
| 94 | + ghc966DebianBinary = callPackage ../development/compilers/ghc/9.6.6-debian-binary.nix { }; |
| 95 | + |
| 96 | + # No bindist, "borrowing" the GHC from Debian |
| 97 | + useDebianBinaryOr = |
| 98 | + pkg: |
| 99 | + if lib.meta.availableOn stdenv.hostPlatform ghc966DebianBinary then |
| 100 | + bb.packages.ghc966DebianBinary |
| 101 | + else |
| 102 | + pkg; |
92 | 103 | in |
93 | 104 | { |
| 105 | + inherit ghc966DebianBinary; |
| 106 | + |
94 | 107 | # Required to bootstrap 9.4.8. |
95 | 108 | ghc902Binary = callPackage ../development/compilers/ghc/9.0.2-binary.nix { |
96 | 109 | inherit llvmPackages; |
97 | 110 | }; |
98 | 111 |
|
99 | | - ghc966DebianBinary = callPackage ../development/compilers/ghc/9.6.6-debian-binary.nix { }; |
100 | | - |
101 | 112 | ghc984Binary = callPackage ../development/compilers/ghc/9.8.4-binary.nix { }; |
102 | 113 |
|
103 | 114 | ghc948 = callPackage ../development/compilers/ghc/9.4.8.nix { |
|
110 | 121 | inherit buildTargetLlvmPackages llvmPackages; |
111 | 122 | }; |
112 | 123 | ghc967 = callPackage ../development/compilers/ghc/9.6.7.nix { |
113 | | - bootPkgs = |
114 | | - if |
115 | | - stdenv.buildPlatform.isPower64 |
116 | | - && stdenv.buildPlatform.isBigEndian |
117 | | - && pkgs.stdenv.hostPlatform.isAbiElfv1 |
118 | | - then |
119 | | - # No bindist, "borrowing" the GHC from Debian |
120 | | - bb.packages.ghc966DebianBinary |
121 | | - else |
122 | | - bb.packages.ghc948; |
| 124 | + bootPkgs = useDebianBinaryOr bb.packages.ghc948; |
123 | 125 | inherit (buildPackages.python3Packages) sphinx; |
124 | 126 | inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; |
125 | 127 | inherit buildTargetLlvmPackages llvmPackages; |
126 | 128 | }; |
127 | 129 | ghc984 = callPackage ../development/compilers/ghc/9.8.4.nix { |
128 | | - bootPkgs = |
129 | | - if |
130 | | - stdenv.buildPlatform.isPower64 |
131 | | - && stdenv.buildPlatform.isBigEndian |
132 | | - && pkgs.stdenv.hostPlatform.isAbiElfv1 |
133 | | - then |
134 | | - # No bindist, "borrowing" the GHC from Debian |
135 | | - bb.packages.ghc966DebianBinary |
136 | | - else if stdenv.buildPlatform.isi686 then |
137 | | - bb.packages.ghc948 |
138 | | - else |
139 | | - bb.packages.ghc984Binary; |
| 130 | + bootPkgs = useDebianBinaryOr ( |
| 131 | + if stdenv.buildPlatform.isi686 then bb.packages.ghc948 else bb.packages.ghc984Binary |
| 132 | + ); |
140 | 133 | inherit (buildPackages.python3Packages) sphinx; |
141 | 134 | inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; |
142 | 135 | inherit buildTargetLlvmPackages llvmPackages; |
143 | 136 | }; |
144 | 137 | ghc9102 = callPackage ../development/compilers/ghc/9.10.2.nix { |
145 | | - bootPkgs = |
146 | | - if |
147 | | - stdenv.buildPlatform.isPower64 |
148 | | - && stdenv.buildPlatform.isBigEndian |
149 | | - && pkgs.stdenv.hostPlatform.isAbiElfv1 |
150 | | - then |
151 | | - # No bindist, "borrowing" the GHC from Debian |
152 | | - bb.packages.ghc966DebianBinary |
153 | | - else if stdenv.buildPlatform.isi686 then |
154 | | - bb.packages.ghc967 |
155 | | - else |
156 | | - bb.packages.ghc984Binary; |
| 138 | + bootPkgs = useDebianBinaryOr ( |
| 139 | + if stdenv.buildPlatform.isi686 then bb.packages.ghc967 else bb.packages.ghc984Binary |
| 140 | + ); |
157 | 141 | inherit (buildPackages.python3Packages) sphinx; |
158 | 142 | inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; |
159 | 143 | inherit buildTargetLlvmPackages llvmPackages; |
160 | 144 | }; |
161 | 145 | ghc9103 = callPackage ../development/compilers/ghc/9.10.3.nix { |
162 | | - bootPkgs = |
163 | | - if |
164 | | - stdenv.buildPlatform.isPower64 |
165 | | - && stdenv.buildPlatform.isBigEndian |
166 | | - && pkgs.stdenv.hostPlatform.isAbiElfv1 |
167 | | - then |
168 | | - # No bindist, "borrowing" the GHC from Debian |
169 | | - bb.packages.ghc966DebianBinary |
170 | | - else if stdenv.buildPlatform.isi686 then |
171 | | - bb.packages.ghc967 |
172 | | - else |
173 | | - bb.packages.ghc984Binary; |
| 146 | + bootPkgs = useDebianBinaryOr ( |
| 147 | + if stdenv.buildPlatform.isi686 then bb.packages.ghc967 else bb.packages.ghc984Binary |
| 148 | + ); |
174 | 149 | inherit (buildPackages.python3Packages) sphinx; |
175 | 150 | inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; |
176 | 151 | inherit buildTargetLlvmPackages llvmPackages; |
|
0 commit comments