Skip to content

Commit cd7e5c4

Browse files
authored
Add ghc 9.8.3, update nixpkgs and ghc HEAD (#2264)
* Update nixpkgs and ghc HEAD * Fix warning * Update internalHackageIndexState * Update patch bounds * Update rcodesign for recent MacOS * Replace ghc911 with ghc912X and ghc913 * ifdLevel 1 * Use lazy-inputs instead of fetch-source overlay * Skip broken mingwW64 GHC * Skip broken mingwW64 GHC * Add GHC 9.8.3 * Update patch bounds * More patch fixes * Turn off pool allocator in favour of m32_alloc solution in ghc 9.8.3 * Remove another redundant patch * Turn off pool allocator in favour of m32_alloc solution in ghc 9.8.3 * Remove another redundant patch * Fix ghc 9.10 * Update materialized files * Update materialized files * Build ghc983 cross compilers with ghc983 * Patch upper bounds * ifdLevel 2 * Disable broken tests * ifdLevel 3 * Fix cabal-latests * Update head.hackage * Disable HLS for ghc 9.8.3 for now * Update nixpkgs-unstable and fix issue with no libcxxabi * Bump ghcjs-overlay and head.hackage * Enable external-static-plugin test for GHC >=9.6 (Fixes #2265) * Bump head.hackage * Fix external-static-plugin test * Fix external-static-plugin test * Fix eval issue with latest nixpkgs * Skip th-dlls test for ghc 9.12 and head brances * Fix HLS test * Fix hls test * Bump head.hackage * Bump head.hackage * Bump GHC git pins * ifdLevel 2 * ifdLevel 3 * Add hackage-quirk for #2277 * Bump head.hackage * Add hackage-quirk for #2277 * Fix for ghcjs on macOS * Disable broken tests * Disable broken test * Fix update scripts to use nixVersions.stable
1 parent 76418d8 commit cd7e5c4

File tree

141 files changed

+3813
-392
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

141 files changed

+3813
-392
lines changed

build.nix

+4-4
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ in rec {
2828
pkgs.recurseIntoAttrs ({
2929
cabal-latest = tool compiler-nix-name "cabal" ({
3030
inherit evalPackages;
31-
} // pkgs.lib.optionalAttrs (ghcFromTo "9.10" "9.12") {
31+
} // pkgs.lib.optionalAttrs (ghcFromTo "9.12" "9.13") {
3232
cabalProjectLocal = builtins.readFile ./test/cabal.project.local;
3333
});
3434
} // pkgs.lib.optionalAttrs (__compareVersions haskell.compiler.${compiler-nix-name}.version "9.8" < 0) {
@@ -62,7 +62,7 @@ in rec {
6262
inherit evalPackages;
6363
src = pkgs.haskell-nix.sources."hls-2.2";
6464
};
65-
} // pkgs.lib.optionalAttrs (ghcFromTo "9.0" "9.11") {
65+
} // pkgs.lib.optionalAttrs (ghcFromTo "9.0" "9.8.3" || ghcFromTo "9.10" "9.11") {
6666
"hls-29" = tool compiler-nix-name "haskell-language-server" {
6767
inherit evalPackages;
6868
src = pkgs.haskell-nix.sources."hls-2.9";
@@ -77,14 +77,14 @@ in rec {
7777
maintainer-scripts = pkgs.dontRecurseIntoAttrs {
7878
update-hackage = import ./scripts/update-hackage.nix {
7979
inherit (pkgs) stdenv lib writeScript coreutils glibc git
80-
openssh nixFlakes gawk bash curl findutils;
80+
openssh nixVersions gawk bash curl findutils;
8181
# Update scripts use the internal nix-tools (compiled with a fixed GHC version)
8282
nix-tools = haskell.nix-tools-unchecked;
8383
inherit (haskell) update-index-state-hashes cabal-issue-8352-workaround;
8484
};
8585
update-stackage = haskell.callPackage ./scripts/update-stackage.nix {
8686
inherit (pkgs) stdenv lib writeScript coreutils glibc git
87-
openssh nixFlakes gawk bash curl findutils;
87+
openssh nixVersions gawk bash curl findutils;
8888
# Update scripts use the internal nix-tools (compiled with a fixed GHC version)
8989
nix-tools = haskell.nix-tools-unchecked;
9090
inherit (haskell) cabal-issue-8352-workaround;

builder/comp-builder.nix

+3
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,9 @@ let
197197
"--with-gcc=${pkgsBuildBuild.emscripten}/bin/emcc"
198198
"--with-ld=${pkgsBuildBuild.emscripten}/bin/emcc"
199199
]
200+
++ lib.optionals (stdenv.hostPlatform.isGhcjs && stdenv.buildPlatform.isDarwin) [
201+
"--ar-options=--format=gnu" # Avoid `--format=darwin` it can cause `section too large` errors
202+
]
200203
++ [ # other flags
201204
(disableFeature dontStrip "executable-stripping")
202205
(disableFeature dontStrip "library-stripping")

builder/shell-for.nix

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{ lib, stdenv, mkShell, glibcLocales, pkgconfig, ghcForComponent, makeConfigFiles, hsPkgs, hoogleLocal, haskellLib, pkgsBuildBuild, evalPackages, compiler }:
1+
{ lib, stdenv, mkShell, glibcLocales, ghcForComponent, makeConfigFiles, hsPkgs, hoogleLocal, haskellLib, pkgsBuildBuild, evalPackages, compiler }:
22

33
{ # `packages` function selects packages that will be worked on in the shell itself.
44
# These packages will not be built by `shellFor`, but their

ci.nix

+5-4
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,8 @@
7373
ghc98llvm = false;
7474
ghc910 = true;
7575
ghc910llvm = true;
76-
ghc911 = true;
76+
ghc912X = true;
77+
ghc913 = true;
7778
})));
7879
crossSystems = nixpkgsName: nixpkgs: compiler-nix-name:
7980
# We need to use the actual nixpkgs version we're working with here, since the values
@@ -83,13 +84,13 @@
8384
&& (__match ".*llvm" compiler-nix-name == null)
8485
&& ((system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc884" "ghc902" "ghc928" "ghc948"])
8586
|| (system == "aarch64-linux" && !builtins.elem compiler-nix-name ["ghc884" "ghc902" "ghc928" "ghc948"])
86-
|| (system == "x86_64-darwin" && !builtins.elem compiler-nix-name ["ghc884" "ghc902" "ghc928" "ghc948" "ghc966" "ghc982"])
87-
|| (system == "aarch64-darwin" && !builtins.elem compiler-nix-name ["ghc884" "ghc902" "ghc928" "ghc948" "ghc966" "ghc982"])
87+
|| (system == "x86_64-darwin" && !builtins.elem compiler-nix-name ["ghc884" "ghc902" "ghc928" "ghc948" "ghc966" "ghc982" "ghc983"])
88+
|| (system == "aarch64-darwin" && !builtins.elem compiler-nix-name ["ghc884" "ghc902" "ghc928" "ghc948" "ghc966" "ghc982" "ghc983"])
8889
)) {
8990
inherit (lib.systems.examples) ghcjs;
9091
} // lib.optionalAttrs (
9192
(__match ".*llvm" compiler-nix-name == null)
92-
&& ((system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc884" "ghc902" "ghc928" "ghc91120240918"]) # 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 ["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
9394
|| (system == "x86_64-darwin" && builtins.elem compiler-nix-name []))) { # TODO add ghc versions when we have more darwin build capacity
9495
inherit (lib.systems.examples) mingwW64;
9596
} // lib.optionalAttrs (nixpkgsName == "unstable"

compiler/ghc/default.nix

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ let self =
99
# build-tools
1010
, bootPkgs
1111
, buildPackages
12-
, autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3, m4, sphinx, numactl, elfutils, libcxx, libcxxabi
12+
, autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3, m4, sphinx, numactl, elfutils, libcxx, libcxxabi ? throw "No libcxxabi"
1313
, autoreconfHook
1414
, bash
1515

flake.lock

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

lazy-inputs/default.nix

+5-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ let
33
callFlake = import prev.haskell-nix.sources.flake-compat;
44
in {
55
haskell-nix = prev.haskell-nix // {
6-
sources = prev.haskell-nix.sources // {
6+
sources = {
77
inherit ((callFlake { pkgs = final; src = ./ghc8107; }).defaultNix) ghc8107;
88
inherit ((callFlake { pkgs = final; src = ./ghc901; }).defaultNix) ghc901;
99
inherit ((callFlake { pkgs = final; src = ./ghc902; }).defaultNix) ghc902;
@@ -31,7 +31,10 @@ in {
3131
inherit ((callFlake { pkgs = final; src = ./ghc966; }).defaultNix) ghc966;
3232
inherit ((callFlake { pkgs = final; src = ./ghc981; }).defaultNix) ghc981;
3333
inherit ((callFlake { pkgs = final; src = ./ghc982; }).defaultNix) ghc982;
34+
inherit ((callFlake { pkgs = final; src = ./ghc983; }).defaultNix) ghc983;
3435
inherit ((callFlake { pkgs = final; src = ./ghc9101; }).defaultNix) ghc9101;
35-
};
36+
inherit ((callFlake { pkgs = final; src = ./ghc912X; }).defaultNix) ghc912X;
37+
inherit ((callFlake { pkgs = final; src = ./ghc913; }).defaultNix) ghc913;
38+
} // prev.haskell-nix.sources;
3639
};
3740
}

lazy-inputs/ghc912X/flake.lock

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

lazy-inputs/ghc912X/flake.nix

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
description = "Lazy Input for Haskell.nix";
3+
4+
inputs = {
5+
ghc912X = {
6+
flake = false;
7+
url = "git+https://gitlab.haskell.org/ghc/ghc?ref=ghc-9.12&submodules=1";
8+
};
9+
};
10+
11+
outputs = inputs: inputs;
12+
}

lazy-inputs/ghc911/flake.lock lazy-inputs/ghc913/flake.lock

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

lazy-inputs/ghc911/flake.nix lazy-inputs/ghc913/flake.nix

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
description = "Lazy Input for Haskell.nix";
33

44
inputs = {
5-
ghc911 = {
5+
ghc913 = {
66
flake = false;
77
url = "git+https://gitlab.haskell.org/ghc/ghc?submodules=1";
88
};

lazy-inputs/ghc983/flake.lock

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

lazy-inputs/ghc983/flake.nix

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
description = "Lazy Input for Haskell.nix";
3+
4+
inputs = {
5+
ghc983 = {
6+
flake = false;
7+
url = "git+https://github.com/stable-haskell/ghc?ref=ghc-9.8.3-iog&submodules=1";
8+
};
9+
};
10+
11+
outputs = inputs: inputs;
12+
}

lib/pkgconf-nixpkgs-map.nix

+1-1
Original file line numberDiff line numberDiff line change
@@ -5149,7 +5149,7 @@ pkgs:
51495149
"svrcore" = [ "svrcore" ];
51505150
"SvtAv1Dec" = [ "svt-av1" ];
51515151
"SvtAv1Enc" = [ "svt-av1" ];
5152-
"swipl" = [ "swiProlog" ];
5152+
"swipl" = [ "swi-prolog" ];
51535153
# "swipl" = [ "swiPrologWithGui" ];
51545154
"sword" = [ "sword" ];
51555155
"syncthingconnector" = [ "syncthingtray" ];

materialized/ghc-boot-packages-nix/ghc983-aarch64/base.nix

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

materialized/ghc-boot-packages-nix/ghc983-aarch64/deriveConstants.nix

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

0 commit comments

Comments
 (0)