From 90099ac5fa24cd9f4003c4def847c3559352dc8e Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Sat, 28 May 2022 20:35:49 +0200 Subject: [PATCH] haskell.compiler: ghc922 -> ghc923 https://www.haskell.org/ghc/download_ghc_9_2_3.html Since the tarball is generated by Hadrian, neither autoreconf nor ./boot is executed so ./configure and ghc.mk is missing. --- lib/options.nix | 2 +- .../development/option-declarations.section.md | 4 ++-- .../development/option-declarations.section.xml | 4 ++-- .../compilers/ghc/{9.2.2.nix => 9.2.3.nix} | 10 ++++++++-- .../haskell/haskell-language-server/withWrapper.nix | 4 ++-- pkgs/top-level/all-packages.nix | 2 +- pkgs/top-level/haskell-packages.nix | 12 ++++++------ pkgs/top-level/release-haskell.nix | 12 ++++++------ 8 files changed, 28 insertions(+), 22 deletions(-) rename pkgs/development/compilers/ghc/{9.2.2.nix => 9.2.3.nix} (98%) diff --git a/lib/options.nix b/lib/options.nix index 4aa9fe6e78c5..8d82a809083b 100644 --- a/lib/options.nix +++ b/lib/options.nix @@ -120,7 +120,7 @@ rec { Example: mkPackageOption pkgs "GHC" { default = [ "ghc" ]; - example = "pkgs.haskell.package.ghc922.ghc.withPackages (hkgs: [ hkgs.primes ])"; + example = "pkgs.haskell.package.ghc923.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 = { ... }; } */ diff --git a/nixos/doc/manual/development/option-declarations.section.md b/nixos/doc/manual/development/option-declarations.section.md index 2e11218e8238..ef7255557a10 100644 --- a/nixos/doc/manual/development/option-declarations.section.md +++ b/nixos/doc/manual/development/option-declarations.section.md @@ -120,14 +120,14 @@ lib.mkOption { ```nix lib.mkPackageOption pkgs "GHC" { default = [ "ghc" ]; - example = "pkgs.haskell.package.ghc922.ghc.withPackages (hkgs: [ hkgs.primes ])"; + example = "pkgs.haskell.package.ghc923.ghc.withPackages (hkgs: [ hkgs.primes ])"; } # is like lib.mkOption { type = lib.types.package; default = pkgs.ghc; defaultText = lib.literalExpression "pkgs.ghc"; - example = lib.literalExpression "pkgs.haskell.package.ghc922.ghc.withPackages (hkgs: [ hkgs.primes ])"; + example = lib.literalExpression "pkgs.haskell.package.ghc923.ghc.withPackages (hkgs: [ hkgs.primes ])"; description = "The GHC package to use."; } ``` diff --git a/nixos/doc/manual/from_md/development/option-declarations.section.xml b/nixos/doc/manual/from_md/development/option-declarations.section.xml index 91867c224107..381163dd7c74 100644 --- a/nixos/doc/manual/from_md/development/option-declarations.section.xml +++ b/nixos/doc/manual/from_md/development/option-declarations.section.xml @@ -183,14 +183,14 @@ lib.mkOption { lib.mkPackageOption pkgs "GHC" { default = [ "ghc" ]; - example = "pkgs.haskell.package.ghc922.ghc.withPackages (hkgs: [ hkgs.primes ])"; + example = "pkgs.haskell.package.ghc923.ghc.withPackages (hkgs: [ hkgs.primes ])"; } # is like lib.mkOption { type = lib.types.package; default = pkgs.ghc; defaultText = lib.literalExpression "pkgs.ghc"; - example = lib.literalExpression "pkgs.haskell.package.ghc922.ghc.withPackages (hkgs: [ hkgs.primes ])"; + example = lib.literalExpression "pkgs.haskell.package.ghc923.ghc.withPackages (hkgs: [ hkgs.primes ])"; description = "The GHC package to use."; } diff --git a/pkgs/development/compilers/ghc/9.2.2.nix b/pkgs/development/compilers/ghc/9.2.3.nix similarity index 98% rename from pkgs/development/compilers/ghc/9.2.2.nix rename to pkgs/development/compilers/ghc/9.2.3.nix index 880db4337893..af641ae9c59a 100644 --- a/pkgs/development/compilers/ghc/9.2.2.nix +++ b/pkgs/development/compilers/ghc/9.2.3.nix @@ -6,6 +6,8 @@ , xattr, autoSignDarwinBinariesHook , bash +, autoreconfHook # GHC 9.2.3 tarballs don't have autoconf run on them + , libiconv ? null, ncurses , glibcLocales ? null @@ -171,12 +173,12 @@ assert buildTargetLlvmPackages.llvm == llvmPackages.llvm; assert stdenv.targetPlatform.isDarwin -> buildTargetLlvmPackages.clang == llvmPackages.clang; stdenv.mkDerivation (rec { - version = "9.2.2"; + version = "9.2.3"; pname = "${targetPrefix}ghc${variantSuffix}"; src = fetchurl { url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz"; - sha256 = "902463a4cc6ee479af9358b9f8b2ee3237b03e934a1ea65b6d1fcf3e0d749ea6"; + sha256 = "50ecdc2bef013e518f9a62a15245d7db0e4409d737c43b1cea7306fd82e1669e"; }; enableParallelBuilding = true; @@ -218,6 +220,9 @@ stdenv.mkDerivation (rec { '' + '' 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") '' export LOCALE_ARCHIVE="${glibcLocales}/lib/locale/locale-archive" @@ -283,6 +288,7 @@ stdenv.mkDerivation (rec { dontAddExtraLibs = true; nativeBuildInputs = [ + autoreconfHook # GHC 9.2.3 tarball hasn't autoconf run on it perl autoconf automake m4 python3 ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ diff --git a/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix b/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix index e91ec04f0097..7c6481cabadc 100644 --- a/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix +++ b/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix @@ -1,6 +1,6 @@ { lib , stdenv -, supportedGhcVersions ? [ "884" "8107" "902" "922" ] +, supportedGhcVersions ? [ "884" "8107" "902" "923" ] , dynamic ? false , haskellPackages , haskell @@ -8,7 +8,7 @@ # # The recommended way to override this package is # -# pkgs.haskell-language-server.override { supportedGhcVersions = [ "901" ]; } +# pkgs.haskell-language-server.override { supportedGhcVersions = [ "902" ]; } # # for example. Read more about this in the haskell-language-server section of the nixpkgs manual. # diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5403295b7e2a..f6eb9764d28b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14281,7 +14281,7 @@ with pkgs; stdenv = clangStdenv; }; - jacinda = haskell.lib.compose.justStaticExecutables haskell.packages.ghc922.jacinda; + jacinda = haskell.lib.compose.justStaticExecutables haskell.packages.ghc923.jacinda; janet = callPackage ../development/interpreters/janet {}; diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index c46a7f1bcd24..79815b65f605 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -13,13 +13,13 @@ let "integer-simple" "native-bignum" "ghc902" - "ghc922" + "ghc923" "ghcHEAD" ]; nativeBignumIncludes = [ "ghc902" - "ghc922" + "ghc923" "ghcHEAD" ]; @@ -121,7 +121,7 @@ in { buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12; llvmPackages = pkgs.llvmPackages_12; }; - ghc922 = callPackage ../development/compilers/ghc/9.2.2.nix { + ghc923 = callPackage ../development/compilers/ghc/9.2.3.nix { bootPkgs = # aarch64 ghc8107Binary exceeds max output size on hydra if stdenv.isAarch64 || stdenv.isAarch32 then @@ -227,9 +227,9 @@ in { ghc = bh.compiler.ghc902; compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.0.x.nix { }; }; - ghc922 = callPackage ../development/haskell-modules { - buildHaskellPackages = bh.packages.ghc922; - ghc = bh.compiler.ghc922; + ghc923 = callPackage ../development/haskell-modules { + buildHaskellPackages = bh.packages.ghc923; + ghc = bh.compiler.ghc923; compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { }; }; ghcHEAD = callPackage ../development/haskell-modules { diff --git a/pkgs/top-level/release-haskell.nix b/pkgs/top-level/release-haskell.nix index 789d83c4be07..0c5ac7d7514c 100644 --- a/pkgs/top-level/release-haskell.nix +++ b/pkgs/top-level/release-haskell.nix @@ -52,7 +52,7 @@ let ghc884 ghc8107 ghc902 - ghc922 + ghc923 ]; # packagePlatforms applied to `haskell.packages.*` @@ -329,8 +329,8 @@ let ; }; - haskell.packages.native-bignum.ghc922 = { - inherit (packagePlatforms pkgs.pkgsStatic.haskell.packages.native-bignum.ghc922) + haskell.packages.native-bignum.ghc923 = { + inherit (packagePlatforms pkgs.pkgsStatic.haskell.packages.native-bignum.ghc923) hello lens random @@ -442,11 +442,11 @@ let jobs.pkgsMusl.haskell.compiler.ghc884 jobs.pkgsMusl.haskell.compiler.ghc8107 jobs.pkgsMusl.haskell.compiler.ghc902 - jobs.pkgsMusl.haskell.compiler.ghc922 + jobs.pkgsMusl.haskell.compiler.ghc923 jobs.pkgsMusl.haskell.compiler.ghcHEAD jobs.pkgsMusl.haskell.compiler.integer-simple.ghc8107 jobs.pkgsMusl.haskell.compiler.native-bignum.ghc902 - jobs.pkgsMusl.haskell.compiler.native-bignum.ghc922 + jobs.pkgsMusl.haskell.compiler.native-bignum.ghc923 jobs.pkgsMusl.haskell.compiler.native-bignum.ghcHEAD ]; }; @@ -462,7 +462,7 @@ let }; constituents = accumulateDerivations [ jobs.pkgsStatic.haskellPackages - jobs.pkgsStatic.haskell.packages.native-bignum.ghc922 + jobs.pkgsStatic.haskell.packages.native-bignum.ghc923 ]; }; }