haskell.compiler: ghc921 -> ghc922

https://www.haskell.org/ghc/download_ghc_9_2_2.html
This commit is contained in:
sternenseemann 2022-03-09 11:29:14 +01:00
parent 0dcac2951f
commit 47f837f5e8
9 changed files with 21 additions and 28 deletions

View file

@ -122,7 +122,7 @@ rec {
Example: Example:
mkPackageOption pkgs "GHC" { mkPackageOption pkgs "GHC" {
default = [ "ghc" ]; default = [ "ghc" ];
example = "pkgs.haskell.package.ghc921.ghc.withPackages (hkgs: [ hkgs.primes ])"; example = "pkgs.haskell.package.ghc922.ghc.withPackages (hkgs: [ hkgs.primes ])";
} }
=> { _type = "option"; default = «derivation /nix/store/jxx55cxsjrf8kyh3fp2ya17q99w7541r-ghc-8.10.7.drv»; defaultText = { ... }; description = "The GHC package to use."; example = { ... }; type = { ... }; } => { _type = "option"; default = «derivation /nix/store/jxx55cxsjrf8kyh3fp2ya17q99w7541r-ghc-8.10.7.drv»; defaultText = { ... }; description = "The GHC package to use."; example = { ... }; type = { ... }; }
*/ */

View file

@ -119,14 +119,14 @@ lib.mkOption {
```nix ```nix
lib.mkPackageOption pkgs "GHC" { lib.mkPackageOption pkgs "GHC" {
default = [ "ghc" ]; default = [ "ghc" ];
example = "pkgs.haskell.package.ghc921.ghc.withPackages (hkgs: [ hkgs.primes ])"; example = "pkgs.haskell.package.ghc922.ghc.withPackages (hkgs: [ hkgs.primes ])";
} }
# is like # is like
lib.mkOption { lib.mkOption {
type = lib.types.package; type = lib.types.package;
default = pkgs.ghc; default = pkgs.ghc;
defaultText = lib.literalExpression "pkgs.ghc"; defaultText = lib.literalExpression "pkgs.ghc";
example = lib.literalExpression "pkgs.haskell.package.ghc921.ghc.withPackages (hkgs: [ hkgs.primes ])"; example = lib.literalExpression "pkgs.haskell.package.ghc922.ghc.withPackages (hkgs: [ hkgs.primes ])";
description = "The GHC package to use."; description = "The GHC package to use.";
} }
``` ```

View file

@ -181,14 +181,14 @@ lib.mkOption {
<programlisting language="bash"> <programlisting language="bash">
lib.mkPackageOption pkgs &quot;GHC&quot; { lib.mkPackageOption pkgs &quot;GHC&quot; {
default = [ &quot;ghc&quot; ]; default = [ &quot;ghc&quot; ];
example = &quot;pkgs.haskell.package.ghc921.ghc.withPackages (hkgs: [ hkgs.primes ])&quot;; example = &quot;pkgs.haskell.package.ghc922.ghc.withPackages (hkgs: [ hkgs.primes ])&quot;;
} }
# is like # is like
lib.mkOption { lib.mkOption {
type = lib.types.package; type = lib.types.package;
default = pkgs.ghc; default = pkgs.ghc;
defaultText = lib.literalExpression &quot;pkgs.ghc&quot;; defaultText = lib.literalExpression &quot;pkgs.ghc&quot;;
example = lib.literalExpression &quot;pkgs.haskell.package.ghc921.ghc.withPackages (hkgs: [ hkgs.primes ])&quot;; example = lib.literalExpression &quot;pkgs.haskell.package.ghc922.ghc.withPackages (hkgs: [ hkgs.primes ])&quot;;
description = &quot;The GHC package to use.&quot;; description = &quot;The GHC package to use.&quot;;
} }
</programlisting> </programlisting>

View file

@ -167,12 +167,12 @@ assert buildTargetLlvmPackages.llvm == llvmPackages.llvm;
assert stdenv.targetPlatform.isDarwin -> buildTargetLlvmPackages.clang == llvmPackages.clang; assert stdenv.targetPlatform.isDarwin -> buildTargetLlvmPackages.clang == llvmPackages.clang;
stdenv.mkDerivation (rec { stdenv.mkDerivation (rec {
version = "9.2.1"; version = "9.2.2";
pname = "${targetPrefix}ghc${variantSuffix}"; pname = "${targetPrefix}ghc${variantSuffix}";
src = fetchurl { src = fetchurl {
url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz"; url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz";
sha256 = "f444012f97a136d9940f77cdff03fda48f9475e2ed0fec966c4d35c4df55f746"; sha256 = "902463a4cc6ee479af9358b9f8b2ee3237b03e934a1ea65b6d1fcf3e0d749ea6";
}; };
enableParallelBuilding = true; enableParallelBuilding = true;
@ -221,6 +221,9 @@ stdenv.mkDerivation (rec {
export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}" export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
'' + lib.optionalString stdenv.isDarwin '' '' + lib.optionalString stdenv.isDarwin ''
export NIX_LDFLAGS+=" -no_dtrace_dof" export NIX_LDFLAGS+=" -no_dtrace_dof"
# GHC tries the host xattr /usr/bin/xattr by default which fails since it expects python to be 2.7
export XATTR=${lib.getBin xattr}/bin/xattr
'' + lib.optionalString targetPlatform.useAndroidPrebuilt '' '' + lib.optionalString targetPlatform.useAndroidPrebuilt ''
sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets
'' + lib.optionalString targetPlatform.isMusl '' '' + lib.optionalString targetPlatform.isMusl ''
@ -282,10 +285,6 @@ stdenv.mkDerivation (rec {
autoSignDarwinBinariesHook autoSignDarwinBinariesHook
] ++ lib.optionals enableDocs [ ] ++ lib.optionals enableDocs [
sphinx sphinx
] ++ lib.optionals stdenv.isDarwin [
# TODO(@sternenseemann): backport addition of XATTR env var like
# https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6447
xattr
]; ];
# For building runtime libs # For building runtime libs

View file

@ -42,11 +42,6 @@ self: super: {
unix = null; unix = null;
xhtml = null; xhtml = null;
# Workaround for https://gitlab.haskell.org/ghc/ghc/-/issues/20594
tf-random = overrideCabal {
doHaddock = !pkgs.stdenv.isAarch64;
} super.tf-random;
# Tests fail because of typechecking changes # Tests fail because of typechecking changes
conduit = dontCheck super.conduit; conduit = dontCheck super.conduit;

View file

@ -1,7 +1,6 @@
{ lib { lib
, stdenv , stdenv
, supportedGhcVersions ? [ "884" "8107" "902" ] , supportedGhcVersions ? [ "884" "8107" "902" "922" ]
++ lib.optionals (!stdenv.hostPlatform.isAarch64) [ "921" ]
, dynamic ? false , dynamic ? false
, haskellPackages , haskellPackages
, haskell , haskell

View file

@ -13754,7 +13754,7 @@ with pkgs;
stdenv = clangStdenv; stdenv = clangStdenv;
}; };
jacinda = haskell.lib.compose.justStaticExecutables haskell.packages.ghc921.jacinda; jacinda = haskell.lib.compose.justStaticExecutables haskell.packages.ghc922.jacinda;
janet = callPackage ../development/interpreters/janet {}; janet = callPackage ../development/interpreters/janet {};

View file

@ -13,13 +13,13 @@ let
"integer-simple" "integer-simple"
"native-bignum" "native-bignum"
"ghc902" "ghc902"
"ghc921" "ghc922"
"ghcHEAD" "ghcHEAD"
]; ];
nativeBignumIncludes = [ nativeBignumIncludes = [
"ghc902" "ghc902"
"ghc921" "ghc922"
"ghcHEAD" "ghcHEAD"
]; ];
@ -118,7 +118,7 @@ in {
buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12; buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
llvmPackages = pkgs.llvmPackages_12; llvmPackages = pkgs.llvmPackages_12;
}; };
ghc921 = callPackage ../development/compilers/ghc/9.2.1.nix { ghc922 = callPackage ../development/compilers/ghc/9.2.2.nix {
bootPkgs = bootPkgs =
# aarch64 ghc8107Binary exceeds max output size on hydra # aarch64 ghc8107Binary exceeds max output size on hydra
if stdenv.isAarch64 || stdenv.isAarch32 then if stdenv.isAarch64 || stdenv.isAarch32 then
@ -224,9 +224,9 @@ in {
ghc = bh.compiler.ghc902; ghc = bh.compiler.ghc902;
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.0.x.nix { }; compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.0.x.nix { };
}; };
ghc921 = callPackage ../development/haskell-modules { ghc922 = callPackage ../development/haskell-modules {
buildHaskellPackages = bh.packages.ghc921; buildHaskellPackages = bh.packages.ghc922;
ghc = bh.compiler.ghc921; ghc = bh.compiler.ghc922;
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { }; compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { };
}; };
ghcHEAD = callPackage ../development/haskell-modules { ghcHEAD = callPackage ../development/haskell-modules {

View file

@ -52,7 +52,7 @@ let
ghc884 ghc884
ghc8107 ghc8107
ghc902 ghc902
ghc921 ghc922
]; ];
# packagePlatforms applied to `haskell.packages.*` # packagePlatforms applied to `haskell.packages.*`
@ -407,11 +407,11 @@ let
jobs.pkgsMusl.haskell.compiler.ghc884 jobs.pkgsMusl.haskell.compiler.ghc884
jobs.pkgsMusl.haskell.compiler.ghc8107 jobs.pkgsMusl.haskell.compiler.ghc8107
jobs.pkgsMusl.haskell.compiler.ghc902 jobs.pkgsMusl.haskell.compiler.ghc902
jobs.pkgsMusl.haskell.compiler.ghc921 jobs.pkgsMusl.haskell.compiler.ghc922
jobs.pkgsMusl.haskell.compiler.ghcHEAD jobs.pkgsMusl.haskell.compiler.ghcHEAD
jobs.pkgsMusl.haskell.compiler.integer-simple.ghc8107 jobs.pkgsMusl.haskell.compiler.integer-simple.ghc8107
jobs.pkgsMusl.haskell.compiler.native-bignum.ghc902 jobs.pkgsMusl.haskell.compiler.native-bignum.ghc902
jobs.pkgsMusl.haskell.compiler.native-bignum.ghc921 jobs.pkgsMusl.haskell.compiler.native-bignum.ghc922
jobs.pkgsMusl.haskell.compiler.native-bignum.ghcHEAD jobs.pkgsMusl.haskell.compiler.native-bignum.ghcHEAD
]; ];
}; };