Skip to content

Commit

Permalink
Add GHC 9.8.4
Browse files Browse the repository at this point in the history
  • Loading branch information
hamishmack committed Dec 4, 2024
1 parent 5ce912e commit ff5f27b
Show file tree
Hide file tree
Showing 7 changed files with 81 additions and 10 deletions.
4 changes: 2 additions & 2 deletions ci.nix
Original file line number Diff line number Diff line change
Expand Up @@ -84,8 +84,8 @@
&& (__match ".*llvm" compiler-nix-name == null)
&& ((system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc884" "ghc902" "ghc928" "ghc948"])
|| (system == "aarch64-linux" && !builtins.elem compiler-nix-name ["ghc884" "ghc902" "ghc928" "ghc948"])
|| (system == "x86_64-darwin" && !builtins.elem compiler-nix-name ["ghc884" "ghc902" "ghc928" "ghc948" "ghc966" "ghc982" "ghc983"])
|| (system == "aarch64-darwin" && !builtins.elem compiler-nix-name ["ghc884" "ghc902" "ghc928" "ghc948" "ghc966" "ghc982" "ghc983"])
|| (system == "x86_64-darwin" && !builtins.elem compiler-nix-name ["ghc884" "ghc902" "ghc928" "ghc948" "ghc966" "ghc982" "ghc983" "ghc984"])
|| (system == "aarch64-darwin" && !builtins.elem compiler-nix-name ["ghc884" "ghc902" "ghc928" "ghc948" "ghc966" "ghc982" "ghc983" "ghc984"])
)) {
inherit (lib.systems.examples) ghcjs;
} // lib.optionalAttrs (
Expand Down
1 change: 1 addition & 0 deletions lazy-inputs/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ in {
inherit ((callFlake { pkgs = final; src = ./ghc981; }).defaultNix) ghc981;
inherit ((callFlake { pkgs = final; src = ./ghc982; }).defaultNix) ghc982;
inherit ((callFlake { pkgs = final; src = ./ghc983; }).defaultNix) ghc983;
inherit ((callFlake { pkgs = final; src = ./ghc984; }).defaultNix) ghc984;
inherit ((callFlake { pkgs = final; src = ./ghc9101; }).defaultNix) ghc9101;
inherit ((callFlake { pkgs = final; src = ./ghc912X; }).defaultNix) ghc912X;
inherit ((callFlake { pkgs = final; src = ./ghc913; }).defaultNix) ghc913;
Expand Down
30 changes: 30 additions & 0 deletions lazy-inputs/ghc984/flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions lazy-inputs/ghc984/flake.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
description = "Lazy Input for Haskell.nix";

inputs = {
ghc984 = {
flake = false;
url = "git+https://github.com/stable-haskell/ghc?ref=ghc-9.8.4-iog&submodules=1";
};
};

outputs = inputs: inputs;
}
34 changes: 31 additions & 3 deletions overlays/bootstrap.nix
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ let
"9.2" = "9.2.8";
"9.4" = "9.4.8";
"9.6" = "9.6.6";
"9.8" = "9.8.3";
"9.8" = "9.8.4";
"9.10" = "9.10.1";
};
gitInputs = {
Expand Down Expand Up @@ -851,13 +851,40 @@ in {

ghc-patches = ghc-patches "9.8.3";
});
ghc984 = traceWarnOld "9.8" (final.callPackage ../compiler/ghc {
extra-passthru = { buildGHC = final.buildPackages.haskell-nix.compiler.ghc984; };

bootPkgs = bootPkgsGhc94 // {
ghc = if final.stdenv.buildPlatform != final.stdenv.targetPlatform
then final.buildPackages.buildPackages.haskell-nix.compiler.ghc984
else final.buildPackages.buildPackages.haskell.compiler.ghc966
or final.buildPackages.buildPackages.haskell.compiler.ghc965
or final.buildPackages.buildPackages.haskell.compiler.ghc964
or final.buildPackages.buildPackages.haskell.compiler.ghc963
or final.buildPackages.buildPackages.haskell.compiler.ghc962
or final.buildPackages.buildPackages.haskell.compiler.ghc945
or final.buildPackages.buildPackages.haskell.compiler.ghc944
or final.buildPackages.buildPackages.haskell.compiler.ghc943;
};
inherit sphinx;

buildLlvmPackages = final.buildPackages.llvmPackages_12;
llvmPackages = final.llvmPackages_12;

src-spec.file = final.haskell-nix.sources.ghc984;
src-spec.version = "9.8.4";
src-spec.needsBooting = true;

ghc-patches = ghc-patches "9.8.4";
});
ghc9101 = traceWarnOld "9.10" (final.callPackage ../compiler/ghc {
extra-passthru = { buildGHC = final.buildPackages.haskell-nix.compiler.ghc9101; };

bootPkgs = bootPkgsGhc94 // {
ghc = if final.stdenv.buildPlatform != final.stdenv.targetPlatform
then final.buildPackages.buildPackages.haskell-nix.compiler.ghc9101
else final.buildPackages.buildPackages.haskell.compiler.ghc983
else final.buildPackages.buildPackages.haskell.compiler.ghc984
or final.buildPackages.buildPackages.haskell.compiler.ghc983
or final.buildPackages.buildPackages.haskell.compiler.ghc982
or final.buildPackages.buildPackages.haskell.compiler.ghc981
or final.buildPackages.buildPackages.haskell.compiler.ghc966
Expand Down Expand Up @@ -894,7 +921,8 @@ in {
bootPkgs = bootPkgsGhc94 // {
ghc = if final.stdenv.buildPlatform != final.stdenv.targetPlatform
then final.buildPackages.buildPackages.haskell-nix.compiler.ghc9101 # TODO use ${compiler-nix-name}
else final.buildPackages.buildPackages.haskell.compiler.ghc983
else final.buildPackages.buildPackages.haskell.compiler.ghc984
or final.buildPackages.buildPackages.haskell.compiler.ghc983
or final.buildPackages.buildPackages.haskell.compiler.ghc982
or final.buildPackages.buildPackages.haskell.compiler.ghc981
or final.buildPackages.buildPackages.haskell.compiler.ghc966
Expand Down
8 changes: 4 additions & 4 deletions scripts/check-compiler-materialization/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,10 @@ in builtins.listToAttrs (builtins.concatMap (system: builtins.concatMap (compile
{ name = "${prefix}-iserv-int-arm-musl"; value = pkgs.pkgsCross.aarch64-multiplatform-musl.haskell-nix.iserv-proxy-exes.${compiler-nix-name}.iserv-proxy-interpreter.project.plan-nix; }
{ name = "${prefix}-hello-arm-musl"; value = (pkgs.pkgsCross.aarch64-multiplatform-musl.haskell-nix.tool compiler-nix-name "hello" {}).project.plan-nix; }
] ++ eval.lib.optionals (
(system == "x86_64-linux" && __elem compiler-nix-name ["ghc8107" "ghc961" "ghc962" "ghc963" "ghc964" "ghc965" "ghc981" "ghc982" "ghc983" "ghc9101"])
|| (system == "aarch64-linux" && __elem compiler-nix-name ["ghc961" "ghc962" "ghc963" "ghc964" "ghc965" "ghc981" "ghc982" "ghc983" "ghc9101"])
|| (system == "x86_64-darwin" && __elem compiler-nix-name ["ghc8107" "ghc961" "ghc962" "ghc963" "ghc964" "ghc964" "ghc981" "ghc982" "ghc983" "ghc9101"])
|| (system == "aarch64-darwin" && __elem compiler-nix-name ["ghc961" "ghc962" "ghc963" "ghc964" "ghc981" "ghc965" "ghc982" "ghc983" "ghc9101"])) [
(system == "x86_64-linux" && __elem compiler-nix-name ["ghc8107" "ghc961" "ghc962" "ghc963" "ghc964" "ghc965" "ghc981" "ghc982" "ghc983" "ghc984" "ghc9101"])
|| (system == "aarch64-linux" && __elem compiler-nix-name ["ghc961" "ghc962" "ghc963" "ghc964" "ghc965" "ghc981" "ghc982" "ghc983" "ghc984" "ghc9101"])
|| (system == "x86_64-darwin" && __elem compiler-nix-name ["ghc8107" "ghc961" "ghc962" "ghc963" "ghc964" "ghc964" "ghc981" "ghc982" "ghc983" "ghc984" "ghc9101"])
|| (system == "aarch64-darwin" && __elem compiler-nix-name ["ghc961" "ghc962" "ghc963" "ghc964" "ghc981" "ghc965" "ghc982" "ghc983" "ghc984" "ghc9101"])) [
{ name = "${prefix}-boot-ghcjs"; value = pkgs.pkgsCross.ghcjs.ghc-boot-packages-nix.${compiler-nix-name}; }
{ name = "${prefix}-ghcjs"; value = (pkgs.pkgsCross.ghcjs.haskell-nix.roots' compiler-nix-name).ghc-extra-projects-nix or {}; }
{ name = "${prefix}-hello-ghcjs"; value = (pkgs.pkgsCross.ghcjs.haskell-nix.tool compiler-nix-name "hello" {}).project.plan-nix; }
Expand Down
2 changes: 1 addition & 1 deletion test/haskell-language-server/cabal.nix
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,5 @@ in recurseIntoAttrs {
stdenv.hostPlatform != stdenv.buildPlatform
|| __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.0.1" < 0
|| __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.11.0" >= 0
|| compiler-nix-name == "ghc983";
|| __elem compiler-nix-name ["ghc983" "ghc984"];
}

0 comments on commit ff5f27b

Please sign in to comment.