haskell.compiler.ghc964: init at 9.6.4

https://www.haskell.org/ghc/blog/20240109-ghc-9.6.4-released.html

Not updating the default GHC version yet to prevent a huge rebuild.
This commit is contained in:
sternenseemann 2024-01-16 21:40:36 +01:00
parent 393ca0ec36
commit b53d8e6cdb
4 changed files with 35 additions and 4 deletions

View file

@ -0,0 +1,4 @@
import ./common-hadrian.nix {
version = "9.6.4";
sha256 = "10bf25b8b07174fdd9868b5c0c56c17c0ef1edcb6247b4b864be933651bfd4c0";
}

View file

@ -177,12 +177,15 @@ self: super: {
sha256 = "sha256-b7u9GiIAd2xpOrM0MfILHNb6Nt7070lNRIadn2l3DfQ="; sha256 = "sha256-b7u9GiIAd2xpOrM0MfILHNb6Nt7070lNRIadn2l3DfQ=";
})]; })];
}) super.ConfigFile; }) super.ConfigFile;
}
# super.ghc is required to break infinite recursion as Nix is strict in the attrNames
// lib.optionalAttrs (pkgs.stdenv.hostPlatform.isAarch64 && lib.versionOlder super.ghc.version "9.6.4") {
# The NCG backend for aarch64 generates invalid jumps in some situations, # The NCG backend for aarch64 generates invalid jumps in some situations,
# the workaround on 9.6 is to revert to the LLVM backend (which is used # the workaround on 9.6 is to revert to the LLVM backend (which is used
# for these sorts of situations even on 9.2 and 9.4). # for these sorts of situations even on 9.2 and 9.4).
# https://gitlab.haskell.org/ghc/ghc/-/issues/23746#note_525318 # https://gitlab.haskell.org/ghc/ghc/-/issues/23746#note_525318
# TODO(@sternenseemann): after ghc963, with ghc964 these can be disabled inherit (lib.mapAttrs (_: self.forceLlvmCodegenBackend) super)
tls = if pkgs.stdenv.hostPlatform.isAarch64 then self.forceLlvmCodegenBackend super.tls else super.tls; tls
mmark = if pkgs.stdenv.hostPlatform.isAarch64 then self.forceLlvmCodegenBackend super.mmark else super.mmark; mmark
;
} }

View file

@ -282,6 +282,24 @@ in {
buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15; buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15;
llvmPackages = pkgs.llvmPackages_15; llvmPackages = pkgs.llvmPackages_15;
}; };
ghc964 = callPackage ../development/compilers/ghc/9.6.4.nix {
bootPkgs =
# For GHC 9.2 no armv7l bindists are available.
if stdenv.hostPlatform.isAarch32 then
packages.ghc928
else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
packages.ghc928
else
packages.ghc924Binary;
inherit (buildPackages.python3Packages) sphinx;
# Need to use apple's patched xattr until
# https://github.com/xattr/xattr/issues/44 and
# https://github.com/xattr/xattr/issues/55 are solved.
inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
# Support range >= 11 && < 16
buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15;
llvmPackages = pkgs.llvmPackages_15;
};
ghc96 = compiler.ghc963; ghc96 = compiler.ghc963;
ghc981 = callPackage ../development/compilers/ghc/9.8.1.nix { ghc981 = callPackage ../development/compilers/ghc/9.8.1.nix {
bootPkgs = bootPkgs =
@ -444,6 +462,11 @@ in {
ghc = bh.compiler.ghc963; ghc = bh.compiler.ghc963;
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { }; compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { };
}; };
ghc964 = callPackage ../development/haskell-modules {
buildHaskellPackages = bh.packages.ghc964;
ghc = bh.compiler.ghc964;
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { };
};
ghc96 = packages.ghc963; ghc96 = packages.ghc963;
ghc981 = callPackage ../development/haskell-modules { ghc981 = callPackage ../development/haskell-modules {
buildHaskellPackages = bh.packages.ghc981; buildHaskellPackages = bh.packages.ghc981;

View file

@ -71,6 +71,7 @@ let
ghc947 ghc947
ghc948 ghc948
ghc963 ghc963
ghc964
ghc981 ghc981
]; ];