From 0e756e65d5b1134e1364a731b583e233385ac7ae Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Tue, 16 Jan 2024 21:40:36 +0100 Subject: haskell.compiler.ghc96: 9.6.3 -> 9.6.4 https://www.haskell.org/ghc/blog/20240109-ghc-9.6.4-released.html Co-authored-by: Ben Gamari --- pkgs/development/compilers/ghc/9.6.4.nix | 4 ++++ .../haskell-modules/configuration-ghc-9.6.x.nix | 4 +++- pkgs/top-level/haskell-packages.nix | 28 ++++++++++++++++++++-- pkgs/top-level/release-haskell.nix | 1 + 4 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 pkgs/development/compilers/ghc/9.6.4.nix diff --git a/pkgs/development/compilers/ghc/9.6.4.nix b/pkgs/development/compilers/ghc/9.6.4.nix new file mode 100644 index 000000000000..40a2261180e2 --- /dev/null +++ b/pkgs/development/compilers/ghc/9.6.4.nix @@ -0,0 +1,4 @@ +import ./common-hadrian.nix { + version = "9.6.4"; + sha256 = "10bf25b8b07174fdd9868b5c0c56c17c0ef1edcb6247b4b864be933651bfd4c0"; +} diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix index 63029222cde4..3dcf3cf81949 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix @@ -256,7 +256,9 @@ self: super: { sha256 = "sha256-b7u9GiIAd2xpOrM0MfILHNb6Nt7070lNRIadn2l3DfQ="; })]; }) 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 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). diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 7bf0431130fb..9d27972bdf98 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -24,6 +24,7 @@ let "ghc948" "ghc96" "ghc963" + "ghc964" "ghc98" "ghc981" "ghcHEAD" @@ -278,7 +279,25 @@ in { buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15; llvmPackages = pkgs.llvmPackages_15; }; - ghc96 = compiler.ghc963; + 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.ghc964; ghc981 = callPackage ../development/compilers/ghc/9.8.1.nix { # No bindist packaged for 9.4.* yet bootPkgs = packages.ghc947; @@ -421,7 +440,12 @@ in { ghc = bh.compiler.ghc963; compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { }; }; - ghc96 = packages.ghc963; + 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.ghc964; ghc981 = callPackage ../development/haskell-modules { buildHaskellPackages = bh.packages.ghc981; ghc = bh.compiler.ghc981; diff --git a/pkgs/top-level/release-haskell.nix b/pkgs/top-level/release-haskell.nix index afaa94a23a32..18b0a19a7e46 100644 --- a/pkgs/top-level/release-haskell.nix +++ b/pkgs/top-level/release-haskell.nix @@ -71,6 +71,7 @@ let ghc947 ghc948 ghc963 + ghc964 ghc981 ]; -- cgit v1.2.3