Skip to content

Commit 6742e78

Browse files
authored
Update GHC 9.12 and HEAD git pins (#2289)
* Update GHC 9.12 and HEAD git pins * Manually update hashes * Add .0 to GHC 9.12 * Update head.hackage * Skip broken tests * Fixes for mingwW64 * Skip broken tests * Skip broken tests
1 parent 62b367b commit 6742e78

File tree

10 files changed

+53
-22
lines changed

10 files changed

+53
-22
lines changed

ci.nix

+8-8
Original file line numberDiff line numberDiff line change
@@ -82,30 +82,30 @@
8282
let lib = nixpkgs.lib;
8383
in lib.optionalAttrs (nixpkgsName == "unstable"
8484
&& (__match ".*llvm" compiler-nix-name == null)
85-
&& ((system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc884" "ghc902" "ghc928" "ghc948"])
86-
|| (system == "aarch64-linux" && !builtins.elem compiler-nix-name ["ghc884" "ghc902" "ghc928" "ghc948"])
87-
|| (system == "x86_64-darwin" && !builtins.elem compiler-nix-name ["ghc884" "ghc902" "ghc928" "ghc948" "ghc966" "ghc982" "ghc983" "ghc984"])
88-
|| (system == "aarch64-darwin" && !builtins.elem compiler-nix-name ["ghc884" "ghc902" "ghc928" "ghc948" "ghc966" "ghc982" "ghc983" "ghc984"])
85+
&& ((system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948"])
86+
|| (system == "aarch64-linux" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948"])
87+
|| (system == "x86_64-darwin" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948" "ghc966" "ghc982" "ghc983" "ghc984"])
88+
|| (system == "aarch64-darwin" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948" "ghc966" "ghc982" "ghc983" "ghc984"])
8989
)) {
9090
inherit (lib.systems.examples) ghcjs;
9191
} // lib.optionalAttrs (
9292
(__match ".*llvm" compiler-nix-name == null)
93-
&& ((system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc884" "ghc902" "ghc928" "ghc91220241014" "ghc91320241101"]) # Including GHC HEAD here because the patches for rts/RtsSymbols.c no longer apply and mingwW64 GHC build fails without them
93+
&& ((system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc902" "ghc928"]) # Including GHC HEAD here because the patches for rts/RtsSymbols.c no longer apply and mingwW64 GHC build fails without them
9494
|| (system == "x86_64-darwin" && builtins.elem compiler-nix-name []))) { # TODO add ghc versions when we have more darwin build capacity
9595
inherit (lib.systems.examples) mingwW64;
9696
} // lib.optionalAttrs (nixpkgsName == "unstable"
9797
&& (__match ".*llvm" compiler-nix-name == null)
98-
&& ((system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc884" "ghc8107" "ghc902" "ghc928" "ghc948"])
98+
&& ((system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc8107" "ghc902" "ghc928" "ghc948"])
9999
|| (system == "x86_64-darwin" && builtins.elem compiler-nix-name []))) { # TODO add ghc versions when we have more darwin build capacity
100100
inherit (lib.systems.examples) ucrt64;
101-
} // lib.optionalAttrs (system == "x86_64-linux" && nixpkgsName == "unstable" && !builtins.elem compiler-nix-name ["ghc884" "ghc902" "ghc928" "ghc948"]) {
101+
} // lib.optionalAttrs (system == "x86_64-linux" && nixpkgsName == "unstable" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948"]) {
102102
# Musl cross only works on linux
103103
# aarch64 cross only works on linux
104104
inherit (lib.systems.examples) musl64 aarch64-multiplatform;
105105
} // lib.optionalAttrs (system == "x86_64-linux" && nixpkgsName == "unstable" && builtins.elem compiler-nix-name ["ghc927" "ghc928"]) {
106106
# TODO fix this for the compilers we build with hadrian (ghc >=9.4)
107107
inherit (lib.systems.examples) aarch64-multiplatform-musl;
108-
} // lib.optionalAttrs (system == "aarch64-linux" && nixpkgsName == "unstable" && !builtins.elem compiler-nix-name ["ghc884" "ghc8107" "ghc902"]) {
108+
} // lib.optionalAttrs (system == "aarch64-linux" && nixpkgsName == "unstable" && !builtins.elem compiler-nix-name ["ghc8107" "ghc902"]) {
109109
inherit (lib.systems.examples) aarch64-multiplatform-musl;
110110
};
111111
isDisabled = d: d.meta.disabled or false;

lazy-inputs/ghc912X/flake.lock

+4-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lazy-inputs/ghc913/flake.lock

+4-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

overlays/bootstrap.nix

+2-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ let
1111
"9.10" = "9.10.1";
1212
};
1313
gitInputs = {
14-
ghc912X = "9.12";
14+
ghc912X = "9.12.0";
1515
ghc913 = "9.13";
1616
};
1717
versionToNixName = v: "ghc${builtins.replaceStrings ["."] [""] v}";
@@ -157,6 +157,7 @@ in {
157157
++ onWindows (fromUntil "9.8.1" "9.8.2" ./patches/ghc/win-linker-no-null-deref-9.6.patch)
158158
++ onWindows (until "9.0" ./patches/ghc/ghc-8.10-windres-invocation.patch)
159159
++ onWindows (fromUntil "9.0" "9.4" ./patches/ghc/ghc-9.0-windres-invocation.patch)
160+
++ onWindows (from "9.12" ./patches/ghc/ghc-9.12-windows-rts-symbols.patch)
160161
++ fromUntil "9.4.5" "9.4.9" ./patches/ghc/ghc-9.4.5-include-order-fix.patch
161162
++ fromUntil "9.6.2" "9.8" ./patches/ghc/ghc-9.4.5-include-order-fix.patch
162163
++ fromUntil "9.6.1" "9.9.20231203" ./patches/ghc/MR10116.patch
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
diff --git a/rts/RtsSymbols.c b/rts/RtsSymbols.c
2+
index a447f126bd..93af0f511f 100644
3+
--- a/rts/RtsSymbols.c
4+
+++ b/rts/RtsSymbols.c
5+
@@ -165,15 +165,21 @@ extern char **environ;
6+
SymI_HasProto(rts_ConsoleHandlerDone) \
7+
SymI_NeedsProto(__mingw_module_is_dll) \
8+
RTS_WIN64_ONLY(SymI_NeedsProto(___chkstk_ms)) \
9+
- SymI_HasProto(__stdio_common_vswprintf_s) \
10+
- SymI_HasProto(__stdio_common_vswprintf) \
11+
SymI_HasProto(_errno) \
12+
/* see Note [Symbols for MinGW's printf] */ \
13+
SymI_HasProto(_lock_file) \
14+
SymI_HasProto(_unlock_file) \
15+
/* See Note [_iob_func symbol] */ \
16+
SymI_HasProto_redirect( \
17+
- __imp___acrt_iob_func, __rts_iob_func, STRENGTH_WEAK, SYM_TYPE_INDIRECT_DATA)
18+
+ __imp___acrt_iob_func, __rts_iob_func, STRENGTH_WEAK, SYM_TYPE_INDIRECT_DATA) \
19+
+ SymI_HasProto(__mingw_vsnwprintf) \
20+
+ SymI_HasProto(__mingw_vfprintf) \
21+
+ SymI_HasProto(closure_sizeW_) \
22+
+ SymI_NeedsProto(_tzset) \
23+
+ /* ^^ This one needed for time, tzset deprecated */\
24+
+ SymI_NeedsProto(tzset) \
25+
+ SymI_HasProto(strtoll)
26+
+ /* ^^ These two are needed for unix-time */
27+
#else
28+
#define RTS_MINGW_ONLY_SYMBOLS /**/
29+
#endif

test/cabal.project.local

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ repository head.hackage.ghc.haskell.org
2424
f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89
2525
26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329
2626
7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d
27-
--sha256: sha256-0eRaAKpZ7NzlneI7AnTOymTGrRectxnoaLosjY4aGC4=
27+
--sha256: sha256-EQKpiiwoIXiM7r+bGYvQzB4vWANqO6PJaSUlt1NUIeI=
2828

2929
repository ghcjs-overlay
3030
url: https://raw.githubusercontent.com/input-output-hk/hackage-overlay-ghcjs/ffb32dce467b9a4d27be759fdd2740a6edd09d0b

test/gi-gtk/default.nix

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ in recurseIntoAttrs rec {
3131
# Cross compilation to aarch64 is also broken
3232
|| stdenv.hostPlatform.isAarch64 && !stdenv.buildPlatform.isAarch64
3333
# Building profiled version of Cabal for haskell-gi is currently broken for GHC head
34-
|| compiler-nix-name == "ghc91320241101";
34+
|| compiler-nix-name == "ghc91320241204";
3535

3636
ifdInputs = {
3737
inherit (project) plan-nix;

test/js-template-haskell/default.nix

+2-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ in recurseIntoAttrs {
2323
inherit (project) plan-nix;
2424
};
2525

26-
meta.disabled = stdenv.buildPlatform != stdenv.hostPlatform && stdenv.hostPlatform.isAarch64;
26+
meta.disabled = stdenv.buildPlatform != stdenv.hostPlatform && stdenv.hostPlatform.isAarch64
27+
|| builtins.elem compiler-nix-name ["ghc91320241204"];
2728

2829
build = packages.js-template-haskell.components.library;
2930
check = packages.js-template-haskell.checks.test;

test/plugin/default.nix

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ in recurseIntoAttrs {
2020

2121
# Not sure why this breaks for ghc 8.10.7
2222
meta.disabled = compiler-nix-name == "ghc8107"
23-
|| builtins.elem compiler-nix-name [ "ghc91220241014" "ghc91320241101" ]
23+
|| builtins.elem compiler-nix-name [ "ghc912020241128" "ghc91320241204" ]
2424
|| stdenv.hostPlatform.isMusl
2525
|| stdenv.hostPlatform.isGhcjs
2626
|| stdenv.hostPlatform.isWindows

test/th-dlls/default.nix

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ in recurseIntoAttrs {
2828
|| (compiler-nix-name == "ghc8107" && stdenv.hostPlatform.isWindows)
2929
# We need to update GHC HEAD to get a version of ghc-internal compatible
3030
# with th-lift from head.hackage.
31-
|| builtins.elem compiler-nix-name [ "ghc91220241014" "ghc91320241101" ]
31+
|| builtins.elem compiler-nix-name [ "ghc91320241204" ]
3232
;
3333

3434
ifdInputs = {

0 commit comments

Comments
 (0)