|
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 | + # No bindist, "borrowing" the GHC from Debian |
| 95 | + useDebianBinaryOr = |
| 96 | + pkg: |
| 97 | + if lib.meta.availableOn stdenv.hostPlatform bb.packages.ghc966DebianBinary.ghc then |
| 98 | + bb.packages.ghc966DebianBinary |
| 99 | + else |
| 100 | + pkg; |
92 | 101 | in |
93 | 102 | { |
94 | 103 | # Required to bootstrap 9.4.8. |
|
110 | 119 | inherit buildTargetLlvmPackages llvmPackages; |
111 | 120 | }; |
112 | 121 | 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; |
| 122 | + bootPkgs = useDebianBinaryOr bb.packages.ghc948; |
123 | 123 | inherit (buildPackages.python3Packages) sphinx; |
124 | 124 | inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; |
125 | 125 | inherit buildTargetLlvmPackages llvmPackages; |
126 | 126 | }; |
127 | 127 | 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; |
| 128 | + bootPkgs = useDebianBinaryOr ( |
| 129 | + if stdenv.buildPlatform.isi686 then bb.packages.ghc948 else bb.packages.ghc984Binary |
| 130 | + ); |
140 | 131 | inherit (buildPackages.python3Packages) sphinx; |
141 | 132 | inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; |
142 | 133 | inherit buildTargetLlvmPackages llvmPackages; |
143 | 134 | }; |
144 | 135 | 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; |
| 136 | + bootPkgs = useDebianBinaryOr ( |
| 137 | + if stdenv.buildPlatform.isi686 then bb.packages.ghc967 else bb.packages.ghc984Binary |
| 138 | + ); |
157 | 139 | inherit (buildPackages.python3Packages) sphinx; |
158 | 140 | inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; |
159 | 141 | inherit buildTargetLlvmPackages llvmPackages; |
160 | 142 | }; |
161 | 143 | 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; |
| 144 | + bootPkgs = useDebianBinaryOr ( |
| 145 | + if stdenv.buildPlatform.isi686 then bb.packages.ghc967 else bb.packages.ghc984Binary |
| 146 | + ); |
174 | 147 | inherit (buildPackages.python3Packages) sphinx; |
175 | 148 | inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; |
176 | 149 | inherit buildTargetLlvmPackages llvmPackages; |
|
0 commit comments