From b53d8e6cdb122b40c1666629da1f7fac0f72a7ec Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Tue, 16 Jan 2024 21:40:36 +0100 Subject: haskell.compiler.ghc964: init at 9.6.4 https://www.haskell.org/ghc/blog/20240109-ghc-9.6.4-released.html Not updating the default GHC version yet to prevent a huge rebuild. --- pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix') 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 8bad72bc9a9a..257ca037c5ae 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix @@ -177,12 +177,15 @@ 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). # https://gitlab.haskell.org/ghc/ghc/-/issues/23746#note_525318 - # TODO(@sternenseemann): after ghc963, with ghc964 these can be disabled - tls = if pkgs.stdenv.hostPlatform.isAarch64 then self.forceLlvmCodegenBackend super.tls else super.tls; - mmark = if pkgs.stdenv.hostPlatform.isAarch64 then self.forceLlvmCodegenBackend super.mmark else super.mmark; + inherit (lib.mapAttrs (_: self.forceLlvmCodegenBackend) super) + tls + mmark + ; } -- cgit 1.4.1