|
14 | 14 | "9.12" = "9.12.1";
|
15 | 15 | };
|
16 | 16 | gitInputs = {
|
| 17 | + ghc96X = "9.6.7"; |
17 | 18 | ghc912X = "9.12.1";
|
18 | 19 | ghc913 = "9.13";
|
19 | 20 | };
|
|
168 | 169 | ++ onWindows (fromUntil "9.0" "9.4" ./patches/ghc/ghc-9.0-windres-invocation.patch)
|
169 | 170 | ++ onWindows (from "9.12" ./patches/ghc/ghc-9.12-windows-rts-symbols.patch)
|
170 | 171 | ++ fromUntil "9.4.5" "9.4.9" ./patches/ghc/ghc-9.4.5-include-order-fix.patch
|
171 |
| - ++ fromUntil "9.6.2" "9.8" ./patches/ghc/ghc-9.4.5-include-order-fix.patch |
172 |
| - ++ fromUntil "9.6.1" "9.9.20231203" ./patches/ghc/MR10116.patch |
| 172 | + ++ fromUntil "9.6.2" "9.6.7" ./patches/ghc/ghc-9.4.5-include-order-fix.patch |
| 173 | + ++ fromUntil "9.6.1" "9.6.7" ./patches/ghc/MR10116.patch |
| 174 | + ++ fromUntil "9.8.1" "9.9.20231203" ./patches/ghc/MR10116.patch |
173 | 175 | ++ onNative (fromUntil "9.4.1" "9.6" ./patches/ghc/hadrian-build-deriveConstants-genprimopcode-ghc94.patch)
|
174 | 176 | ++ onNative (fromUntil "9.6.1" "9.14" ./patches/ghc/hadrian-build-deriveConstants-genprimopcode.patch)
|
175 | 177 | ++ onGhcjs (fromUntil "9.6.1" "9.6.3" ./patches/ghc/ghc-9.6-Merge-libiserv-with-ghci.patch)
|
|
199 | 201 | ++ onAarch64 (until "9.0" ./patches/ghc/ghc-8.10-aarch64-handle-none-rela.patch)
|
200 | 202 | ++ onWindows (until "9.0" ./patches/ghc/5b08e0c06e038448a63aa9bd7f163b23d824ba4b.patch)
|
201 | 203 | ++ onAarch64 (fromUntil "9.0" "9.11" ./patches/ghc/ghc-9.0-better-symbol-addr-debug.patch)
|
202 |
| - ++ onAarch64 (fromUntil "9.0" "9.8.3" ./patches/ghc/ghc-9.0-aarch64-handle-none-rela.patch) |
| 204 | + ++ onAarch64 (fromUntil "9.0" "9.6.7" ./patches/ghc/ghc-9.0-aarch64-handle-none-rela.patch) |
| 205 | + ++ onAarch64 (fromUntil "9.8" "9.8.3" ./patches/ghc/ghc-9.0-aarch64-handle-none-rela.patch) |
203 | 206 | ++ onAarch64 (fromUntil "9.10" "9.11" ./patches/ghc/ghc-9.0-aarch64-handle-none-rela.patch)
|
204 | 207 |
|
205 | 208 | ++ onWindows (fromUntil "9.6.3" "9.6.4" ./patches/ghc/ghc-9.6-hadrian-splitsections.patch)
|
@@ -258,27 +261,33 @@ in {
|
258 | 261 | && final.stdenv.targetPlatform.is32bit
|
259 | 262 | || final.stdenv.targetPlatform.isMusl)
|
260 | 263 | (until "9.11" ./patches/ghc/ghc-9.6-missing-symbols-deadbeef.patch)
|
261 |
| - ++ onAarch64Musl (fromUntil "9.6" "9.8.3" ./patches/ghc/ghc-9.6-linker-pool-allocator.patch) |
| 264 | + ++ onAarch64Musl (fromUntil "9.6" "9.6.7" ./patches/ghc/ghc-9.6-linker-pool-allocator.patch) |
| 265 | + ++ onAarch64Musl (fromUntil "9.8" "9.8.3" ./patches/ghc/ghc-9.6-linker-pool-allocator.patch) |
262 | 266 | ++ onAarch64Musl (fromUntil "9.10" "9.11" ./patches/ghc/ghc-9.6-linker-pool-allocator.patch)
|
263 |
| - ++ onAarch64Musl (fromUntil "9.6" "9.8.3" ./patches/ghc/ghc-9.6-linker-pool-allocator-2.patch) |
| 267 | + ++ onAarch64Musl (fromUntil "9.6" "9.6.7" ./patches/ghc/ghc-9.6-linker-pool-allocator-2.patch) |
| 268 | + ++ onAarch64Musl (fromUntil "9.8" "9.8.3" ./patches/ghc/ghc-9.6-linker-pool-allocator-2.patch) |
264 | 269 | ++ onAarch64Musl (fromUntil "9.10" "9.11" ./patches/ghc/ghc-9.6-linker-pool-allocator-2.patch)
|
265 | 270 |
|
266 | 271 | ++ onMusl (fromUntil "9.6" "9.8" ./patches/ghc/ghc-9.6-0001-Refactor-IServ.hs.patch)
|
267 |
| - ++ onMusl (fromUntil "9.6" "9.8.3" ./patches/ghc/ghc-9.6-0002-Drop-spurious-8-byte-offset-from-elf_plt.patch) |
| 272 | + ++ onMusl (fromUntil "9.6" "9.6.7" ./patches/ghc/ghc-9.6-0002-Drop-spurious-8-byte-offset-from-elf_plt.patch) |
| 273 | + ++ onMusl (fromUntil "9.8" "9.8.3" ./patches/ghc/ghc-9.6-0002-Drop-spurious-8-byte-offset-from-elf_plt.patch) |
268 | 274 | ++ onMusl (fromUntil "9.10" "9.11" ./patches/ghc/ghc-9.6-0002-Drop-spurious-8-byte-offset-from-elf_plt.patch)
|
269 |
| - ++ onAarch64Musl (fromUntil "9.6" "9.8.3" ./patches/ghc/ghc-9.6-0003-Better-pool-alignment.-We-still-hardcode-section-ali.patch) |
| 275 | + ++ onAarch64Musl (fromUntil "9.6" "9.6.7" ./patches/ghc/ghc-9.6-0003-Better-pool-alignment.-We-still-hardcode-section-ali.patch) |
| 276 | + ++ onAarch64Musl (fromUntil "9.8" "9.8.3" ./patches/ghc/ghc-9.6-0003-Better-pool-alignment.-We-still-hardcode-section-ali.patch) |
270 | 277 | ++ onAarch64Musl (fromUntil "9.10" "9.11" ./patches/ghc/ghc-9.6-0003-Better-pool-alignment.-We-still-hardcode-section-ali.patch)
|
271 |
| - ++ onAarch64Musl (fromUntil "9.6" "9.8.3" ./patches/ghc/ghc-9.6-0007-fixup-Better-pool-alignment.-We-still-hardcode-secti.patch) |
| 278 | + ++ onAarch64Musl (fromUntil "9.6" "9.6.7" ./patches/ghc/ghc-9.6-0007-fixup-Better-pool-alignment.-We-still-hardcode-secti.patch) |
| 279 | + ++ onAarch64Musl (fromUntil "9.8" "9.8.3" ./patches/ghc/ghc-9.6-0007-fixup-Better-pool-alignment.-We-still-hardcode-secti.patch) |
272 | 280 | ++ onAarch64Musl (fromUntil "9.10" "9.11" ./patches/ghc/ghc-9.6-0007-fixup-Better-pool-alignment.-We-still-hardcode-secti.patch)
|
273 |
| - ++ onAarch64Musl (fromUntil "9.6" "9.8.3" ./patches/ghc/ghc-9.6-0008-pool-improvements.patch) |
| 281 | + ++ onAarch64Musl (fromUntil "9.6" "9.6.7" ./patches/ghc/ghc-9.6-0008-pool-improvements.patch) |
| 282 | + ++ onAarch64Musl (fromUntil "9.8" "9.8.3" ./patches/ghc/ghc-9.6-0008-pool-improvements.patch) |
274 | 283 | ++ onAarch64Musl (fromUntil "9.10" "9.11" ./patches/ghc/ghc-9.6-0008-pool-improvements.patch)
|
275 | 284 | # these two are abit questionable. They are pretty rough, and assume static binary as well as posix.
|
276 | 285 | # onMusl (fromUntil "9.6" "9.11" ./patches/ghc/ghc-9.6-0004-ghcidladdr.patch)
|
277 | 286 | # onMusl (fromUntil "9.6" "9.11" ./patches/ghc/ghc-9.6-0005-Better-interpreter-debugging.-Needs-ghcidladdr.patch)
|
278 | 287 |
|
279 | 288 | # Fix docs/users_guide/rtd-theme/layout.html to work with sphinx 7
|
280 |
| - ++ fromUntil "9.0" "9.8" ./patches/ghc/docs-sphinx-7.patch |
281 |
| - ++ fromUntil "9.8" "9.9" ./patches/ghc/docs-sphinx-7-ghc98.patch |
| 289 | + ++ fromUntil "9.0" "9.6.7" ./patches/ghc/docs-sphinx-7.patch |
| 290 | + ++ fromUntil "9.6.7" "9.9" ./patches/ghc/docs-sphinx-7-ghc98.patch |
282 | 291 |
|
283 | 292 | # These two patches are needed for libblst, which has now hidden symbols, which the linker doesn't know how to deal with.
|
284 | 293 | ++ (
|
@@ -997,7 +1006,7 @@ in {
|
997 | 1006 | compiler-nix-name = versionToNixName version;
|
998 | 1007 | in {
|
999 | 1008 | name = compiler-nix-name;
|
1000 |
| - value = final.callPackage ../compiler/ghc { |
| 1009 | + value = final.callPackage ../compiler/ghc ({ |
1001 | 1010 | extra-passthru = { buildGHC = final.buildPackages.haskell-nix.compiler.${compiler-nix-name}; };
|
1002 | 1011 |
|
1003 | 1012 | bootPkgs = bootPkgsGhc94 // {
|
@@ -1030,7 +1039,21 @@ in {
|
1030 | 1039 | ghc-patches = ghc-patches version;
|
1031 | 1040 | ghc-version-date = version-date;
|
1032 | 1041 | ghc-commit-id = src.rev;
|
1033 |
| - }; |
| 1042 | + } // final.lib.optionalAttrs (builtins.compareVersions version "9.7" <0) { |
| 1043 | + bootPkgs = bootPkgsGhc94 // { |
| 1044 | + ghc = if final.stdenv.buildPlatform != final.stdenv.targetPlatform |
| 1045 | + then final.buildPackages.buildPackages.haskell-nix.compiler.ghc966 |
| 1046 | + else final.buildPackages.buildPackages.haskell.compiler.ghc966 |
| 1047 | + or final.buildPackages.buildPackages.haskell.compiler.ghc965 |
| 1048 | + or final.buildPackages.buildPackages.haskell.compiler.ghc964 |
| 1049 | + or final.buildPackages.buildPackages.haskell.compiler.ghc963 |
| 1050 | + or final.buildPackages.buildPackages.haskell.compiler.ghc962 |
| 1051 | + or final.buildPackages.buildPackages.haskell.compiler.ghc945 |
| 1052 | + or final.buildPackages.buildPackages.haskell.compiler.ghc944; |
| 1053 | + }; |
| 1054 | + buildLlvmPackages = final.buildPackages.llvmPackages_12; |
| 1055 | + llvmPackages = final.llvmPackages_12; |
| 1056 | + }); |
1034 | 1057 | }) gitInputs))
|
1035 | 1058 | // final.lib.optionalAttrs (final.stdenv.targetPlatform.isGhcjs or false) (
|
1036 | 1059 | if final.stdenv.hostPlatform.isGhcjs
|
|
0 commit comments