about summary refs log tree commit diff
path: root/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix
diff options
context:
space:
mode:
authorsternenseemann <sternenseemann@systemli.org>2023-10-09 23:10:53 +0200
committersternenseemann <sternenseemann@systemli.org>2023-10-22 19:18:13 +0200
commit5ea114083c0362f8d58f967fccb7e4916f02cf06 (patch)
treef177d8ee4c36b7b936b6e4a5274ed56c017e1312 /pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix
parent4a47fc9395f2dc6577a2f637debc1518236592c6 (diff)
downloadnixlib-5ea114083c0362f8d58f967fccb7e4916f02cf06.tar
nixlib-5ea114083c0362f8d58f967fccb7e4916f02cf06.tar.gz
nixlib-5ea114083c0362f8d58f967fccb7e4916f02cf06.tar.bz2
nixlib-5ea114083c0362f8d58f967fccb7e4916f02cf06.tar.lz
nixlib-5ea114083c0362f8d58f967fccb7e4916f02cf06.tar.xz
nixlib-5ea114083c0362f8d58f967fccb7e4916f02cf06.tar.zst
nixlib-5ea114083c0362f8d58f967fccb7e4916f02cf06.zip
haskell.packages.ghc96.tls: fix missing LLVM tools on aarch64
The original change missed that we used to erroneously provide LLVM on
aarch64-linux, but not on aarch64-darwin which was later fixed
in #246045. Since the change was tested on aarch64-linux prior to this,
tls ended up being broken on both aarch64-linux and aarch64-darwin.

This commit resolves the situation by introducing a helper function to
achieve the effect of passing -fllvm while ensuring LLVM is provided.

Resolves #260013.
Diffstat (limited to 'pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix')
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix4
1 files changed, 1 insertions, 3 deletions
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 e14ad08b9263..0c6320e4f77b 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix
@@ -272,7 +272,5 @@ self: super: {
   # 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
-  tls = appendConfigureFlags
-    (lib.optionals pkgs.stdenv.hostPlatform.isAarch64 [ "--ghc-option=-fllvm" ])
-    super.tls;
+  tls = if pkgs.stdenv.hostPlatform.isAarch64 then self.forceLlvmCodegenBackend super.tls else super.tls;
 }