haskell.compiler: ghc923 -> ghc924

https://www.haskell.org/ghc/download_ghc_9_2_4.html
This commit is contained in:
sternenseemann 2022-07-28 17:26:51 +02:00
parent 721c6659bd
commit 7f909b041b
8 changed files with 22 additions and 30 deletions

View file

@ -121,7 +121,7 @@ rec {
Example: Example:
mkPackageOption pkgs "GHC" { mkPackageOption pkgs "GHC" {
default = [ "ghc" ]; default = [ "ghc" ];
example = "pkgs.haskell.package.ghc923.ghc.withPackages (hkgs: [ hkgs.primes ])"; example = "pkgs.haskell.packages.ghc924.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

@ -127,14 +127,14 @@ lib.mkOption {
```nix ```nix
lib.mkPackageOption pkgs "GHC" { lib.mkPackageOption pkgs "GHC" {
default = [ "ghc" ]; default = [ "ghc" ];
example = "pkgs.haskell.package.ghc923.ghc.withPackages (hkgs: [ hkgs.primes ])"; example = "pkgs.haskell.packages.ghc924.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.ghc923.ghc.withPackages (hkgs: [ hkgs.primes ])"; example = lib.literalExpression "pkgs.haskell.packages.ghc924.ghc.withPackages (hkgs: [ hkgs.primes ])";
description = "The GHC package to use."; description = "The GHC package to use.";
} }
``` ```

View file

@ -193,14 +193,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.ghc923.ghc.withPackages (hkgs: [ hkgs.primes ])&quot;; example = &quot;pkgs.haskell.packages.ghc924.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.ghc923.ghc.withPackages (hkgs: [ hkgs.primes ])&quot;; example = lib.literalExpression &quot;pkgs.haskell.packages.ghc924.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

@ -6,8 +6,6 @@
, xattr, autoSignDarwinBinariesHook , xattr, autoSignDarwinBinariesHook
, bash , bash
, autoreconfHook # GHC 9.2.3 tarballs don't have autoconf run on them
, libiconv ? null, ncurses , libiconv ? null, ncurses
, glibcLocales ? null , glibcLocales ? null
@ -176,12 +174,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.3"; version = "9.2.4";
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 = "50ecdc2bef013e518f9a62a15245d7db0e4409d737c43b1cea7306fd82e1669e"; sha256 = "15213888064a0ec4e7723d075f31b87a678ce0851773d58b44ef7aa3de996458";
}; };
enableParallelBuilding = true; enableParallelBuilding = true;
@ -231,12 +229,7 @@ stdenv.mkDerivation (rec {
# LLVM backend on Darwin needs clang: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/codegens.html#llvm-code-generator-fllvm # LLVM backend on Darwin needs clang: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/codegens.html#llvm-code-generator-fllvm
export CLANG="${buildTargetLlvmPackages.clang}/bin/${buildTargetLlvmPackages.clang.targetPrefix}clang" export CLANG="${buildTargetLlvmPackages.clang}/bin/${buildTargetLlvmPackages.clang.targetPrefix}clang"
'' + '' '' + ''
echo -n "${buildMK}" > mk/build.mk echo -n "${buildMK}" > mk/build.mk
# GHC 9.2.3 tarball is not properly prepared
./boot
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
'' + lib.optionalString (stdenv.isLinux && hostPlatform.libc == "glibc") '' '' + lib.optionalString (stdenv.isLinux && hostPlatform.libc == "glibc") ''
export LOCALE_ARCHIVE="${glibcLocales}/lib/locale/locale-archive" export LOCALE_ARCHIVE="${glibcLocales}/lib/locale/locale-archive"
'' + lib.optionalString (!stdenv.isDarwin) '' '' + lib.optionalString (!stdenv.isDarwin) ''
@ -301,7 +294,6 @@ stdenv.mkDerivation (rec {
dontAddExtraLibs = true; dontAddExtraLibs = true;
nativeBuildInputs = [ nativeBuildInputs = [
autoreconfHook # GHC 9.2.3 tarball hasn't autoconf run on it
perl autoconf automake m4 python3 perl autoconf automake m4 python3
ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [

View file

@ -1,6 +1,6 @@
{ lib { lib
, stdenv , stdenv
, supportedGhcVersions ? [ "884" "8107" "902" "923" ] , supportedGhcVersions ? [ "884" "8107" "902" "924" ]
, dynamic ? false , dynamic ? false
, haskellPackages , haskellPackages
, haskell , haskell

View file

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

View file

@ -15,14 +15,14 @@ let
"integer-simple" "integer-simple"
"native-bignum" "native-bignum"
"ghc902" "ghc902"
"ghc923" "ghc924"
"ghc941" "ghc941"
"ghcHEAD" "ghcHEAD"
]; ];
nativeBignumIncludes = [ nativeBignumIncludes = [
"ghc902" "ghc902"
"ghc923" "ghc924"
"ghc941" "ghc941"
"ghcHEAD" "ghcHEAD"
]; ];
@ -138,7 +138,7 @@ in {
buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12; buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
llvmPackages = pkgs.llvmPackages_12; llvmPackages = pkgs.llvmPackages_12;
}; };
ghc923 = callPackage ../development/compilers/ghc/9.2.3.nix { ghc924 = callPackage ../development/compilers/ghc/9.2.4.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
@ -277,9 +277,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 { };
}; };
ghc923 = callPackage ../development/haskell-modules { ghc924 = callPackage ../development/haskell-modules {
buildHaskellPackages = bh.packages.ghc923; buildHaskellPackages = bh.packages.ghc924;
ghc = bh.compiler.ghc923; ghc = bh.compiler.ghc924;
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { }; compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { };
}; };
ghc941 = callPackage ../development/haskell-modules { ghc941 = callPackage ../development/haskell-modules {

View file

@ -52,7 +52,7 @@ let
ghc884 ghc884
ghc8107 ghc8107
ghc902 ghc902
ghc923 ghc924
]; ];
# packagePlatforms applied to `haskell.packages.*` # packagePlatforms applied to `haskell.packages.*`
@ -331,8 +331,8 @@ let
; ;
}; };
haskell.packages.native-bignum.ghc923 = { haskell.packages.native-bignum.ghc924 = {
inherit (packagePlatforms pkgs.pkgsStatic.haskell.packages.native-bignum.ghc923) inherit (packagePlatforms pkgs.pkgsStatic.haskell.packages.native-bignum.ghc924)
hello hello
lens lens
random random
@ -382,7 +382,7 @@ let
weeder = [ weeder = [
compilerNames.ghc8107 compilerNames.ghc8107
compilerNames.ghc902 compilerNames.ghc902
compilerNames.ghc923 compilerNames.ghc924
]; ];
purescript-cst = [ purescript-cst = [
compilerNames.ghc8107 compilerNames.ghc8107
@ -456,11 +456,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.ghc923 jobs.pkgsMusl.haskell.compiler.ghc924
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.ghc923 jobs.pkgsMusl.haskell.compiler.native-bignum.ghc924
jobs.pkgsMusl.haskell.compiler.native-bignum.ghcHEAD jobs.pkgsMusl.haskell.compiler.native-bignum.ghcHEAD
]; ];
}; };
@ -476,7 +476,7 @@ let
}; };
constituents = accumulateDerivations [ constituents = accumulateDerivations [
jobs.pkgsStatic.haskellPackages jobs.pkgsStatic.haskellPackages
jobs.pkgsStatic.haskell.packages.native-bignum.ghc923 jobs.pkgsStatic.haskell.packages.native-bignum.ghc924
]; ];
}; };
} }