haskell.compiler.ghc961: init at 9.6.1

xhtml seems to be built unconditionally now which is at least one thing
improved by hadrian.
This commit is contained in:
sternenseemann 2023-01-15 21:23:21 +01:00
parent f2032fa12b
commit f07d4d077e
6 changed files with 104 additions and 10 deletions

View file

@ -0,0 +1,4 @@
import ./common-hadrian.nix rec {
version = "9.6.1";
sha256 = "fe5ac909cb8bb087e235de97fa63aff47a8ae650efaa37a2140f4780e21f34cb";
}

View file

@ -395,9 +395,11 @@ stdenv.mkDerivation ({
nativeBuildInputs = [ nativeBuildInputs = [
perl ghc hadrian bootPkgs.alex bootPkgs.happy bootPkgs.hscolour perl ghc hadrian bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
# autoconf and friends are necessary for hadrian to create the bindist
autoconf automake m4
] ++ lib.optionals (rev != null) [ ] ++ lib.optionals (rev != null) [
# We need to execute the boot script # We need to execute the boot script
autoconf automake m4 python3 python3
] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
autoSignDarwinBinariesHook autoSignDarwinBinariesHook
] ++ lib.optionals enableDocs [ ] ++ lib.optionals enableDocs [

View file

@ -0,0 +1,50 @@
{ pkgs, haskellLib }:
let
inherit (pkgs) lib;
in
with haskellLib;
self: super: {
llvmPackages = lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
# Disable GHC core libraries
array = null;
base = null;
binary = null;
bytestring = null;
Cabal = null;
Cabal-syntax = null;
containers = null;
deepseq = null;
directory = null;
exceptions = null;
filepath = null;
ghc-bignum = null;
ghc-boot = null;
ghc-boot-th = null;
ghc-compact = null;
ghc-heap = null;
ghc-prim = null;
ghci = null;
haskeline = null;
hpc = null;
integer-gmp = null;
libiserv = null;
mtl = null;
parsec = null;
pretty = null;
process = null;
rts = null;
stm = null;
system-cxx-std-lib = null;
template-haskell = null;
# terminfo is not built if GHC is a cross compiler
terminfo = if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then null else self.terminfo_0_4_1_5;
text = null;
time = null;
transformers = null;
unix = null;
xhtml = null;
}

View file

@ -15002,7 +15002,7 @@ with pkgs;
haskellPackages = dontRecurseIntoAttrs haskellPackages = dontRecurseIntoAttrs
# JS backend is only available for GHC >= 9.6 # JS backend is only available for GHC >= 9.6
(if stdenv.hostPlatform.isGhcjs (if stdenv.hostPlatform.isGhcjs
then haskell.packages.native-bignum.ghcHEAD then haskell.packages.native-bignum.ghc96
# Prefer native-bignum to avoid linking issues with gmp # Prefer native-bignum to avoid linking issues with gmp
else if stdenv.hostPlatform.isStatic else if stdenv.hostPlatform.isStatic
then haskell.packages.native-bignum.ghc92 then haskell.packages.native-bignum.ghc92

View file

@ -25,6 +25,8 @@ let
"ghc943" "ghc943"
"ghc944" "ghc944"
"ghc94" "ghc94"
"ghc96"
"ghc961"
"ghcHEAD" "ghcHEAD"
]; ];
@ -40,6 +42,8 @@ let
"ghc942" "ghc942"
"ghc943" "ghc943"
"ghc944" "ghc944"
"ghc96"
"ghc961"
"ghcHEAD" "ghcHEAD"
]; ];
@ -299,6 +303,27 @@ in {
llvmPackages = pkgs.llvmPackages_12; llvmPackages = pkgs.llvmPackages_12;
}; };
ghc94 = ghc944; ghc94 = ghc944;
ghc961 = callPackage ../development/compilers/ghc/9.6.1.nix {
bootPkgs =
# For GHC 9.2 no armv7l bindists are available.
if stdenv.hostPlatform.isAarch32 then
packages.ghc924
else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
packages.ghc924
else if stdenv.isAarch64 then
packages.ghc924BinaryMinimal
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 >= 10 && < 15
buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_14;
llvmPackages = pkgs.llvmPackages_14;
};
ghc96 = ghc961;
ghcHEAD = callPackage ../development/compilers/ghc/head.nix { ghcHEAD = callPackage ../development/compilers/ghc/head.nix {
bootPkgs = bootPkgs =
# For GHC 9.2 no armv7l bindists are available. # For GHC 9.2 no armv7l bindists are available.
@ -315,7 +340,7 @@ in {
# https://github.com/xattr/xattr/issues/44 and # https://github.com/xattr/xattr/issues/44 and
# https://github.com/xattr/xattr/issues/55 are solved. # https://github.com/xattr/xattr/issues/55 are solved.
inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
# 2022-08-04: Support range >= 10 && < 15 # 2023-01-15: Support range >= 10 && < 15
buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_14; buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_14;
llvmPackages = pkgs.llvmPackages_14; llvmPackages = pkgs.llvmPackages_14;
}; };
@ -451,6 +476,12 @@ in {
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.4.x.nix { }; compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.4.x.nix { };
}; };
ghc94 = ghc942; ghc94 = ghc942;
ghc961 = callPackage ../development/haskell-modules {
buildHaskellPackages = bh.packages.ghc961;
ghc = bh.compiler.ghc961;
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { };
};
ghc96 = ghc961;
ghcHEAD = callPackage ../development/haskell-modules { ghcHEAD = callPackage ../development/haskell-modules {
buildHaskellPackages = bh.packages.ghcHEAD; buildHaskellPackages = bh.packages.ghcHEAD;
ghc = bh.compiler.ghcHEAD; ghc = bh.compiler.ghcHEAD;

View file

@ -346,19 +346,26 @@ let
}; };
}; };
# TODO(@sternenseemann): when GHC 9.6 comes out we need separate jobs for pkgsCross.ghcjs =
# default GHC and ghcHEAD.
pkgsCross.ghcjs.haskellPackages =
removePlatforms removePlatforms
[ [
# Hydra output size of 3GB is exceeded # Hydra output size of 3GB is exceeded
"aarch64-linux" "aarch64-linux"
] ]
{ {
inherit (packagePlatforms pkgs.pkgsCross.ghcjs.haskellPackages) haskellPackages = {
ghc inherit (packagePlatforms pkgs.pkgsCross.ghcjs.haskellPackages)
hello ghc
; hello
;
};
haskell.packages.ghcHEAD = {
inherit (packagePlatforms pkgs.pkgsCross.ghcjs.haskell.packages.ghcHEAD)
ghc
hello
;
};
}; };
}) })
(versionedCompilerJobs { (versionedCompilerJobs {