summary refs log tree commit diff
path: root/pkgs/top-level
diff options
context:
space:
mode:
authorsternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org>2021-07-26 10:47:49 +0200
committersternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org>2021-07-26 11:00:52 +0200
commit36628e6e04e22a8b72ea5a07e4973670acabfca9 (patch)
treee9bc2ef30ef921c2efa9d5bb068d7ca9aa32f161 /pkgs/top-level
parent527dacdda61779b75ea6340b133ae2034d17449a (diff)
downloadnixpkgs-36628e6e04e22a8b72ea5a07e4973670acabfca9.tar
nixpkgs-36628e6e04e22a8b72ea5a07e4973670acabfca9.tar.gz
nixpkgs-36628e6e04e22a8b72ea5a07e4973670acabfca9.tar.bz2
nixpkgs-36628e6e04e22a8b72ea5a07e4973670acabfca9.tar.lz
nixpkgs-36628e6e04e22a8b72ea5a07e4973670acabfca9.tar.xz
nixpkgs-36628e6e04e22a8b72ea5a07e4973670acabfca9.tar.zst
nixpkgs-36628e6e04e22a8b72ea5a07e4973670acabfca9.zip
pkgsMusl.haskell.compiler.*: use python38 to unbreak build
seems like python39 currently fails to build with musl as libc
https://github.com/NixOS/nixpkgs/issues/131557. As a workaround, we can just
build the musl GHCs using python38 like we have been in the past (the python 3.8
-> 3.9 update being a more recent development).
Diffstat (limited to 'pkgs/top-level')
-rw-r--r--pkgs/top-level/haskell-packages.nix22
1 files changed, 14 insertions, 8 deletions
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 86a09b4a1fa..e6a54f0e52d 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -39,6 +39,12 @@ let
   # Use this rather than `rec { ... }` below for sake of overlays.
   inherit (pkgs.haskell) compiler packages;
 
+  # temporarily use python 3.8 since 3.9 fails with musl
+  # https://github.com/NixOS/nixpkgs/issues/131557
+  muslArgs = pkgs.lib.optionalAttrs pkgs.stdenv.buildPlatform.isMusl {
+    python3 = buildPackages.python38;
+  };
+
 in {
   lib = haskellLib;
 
@@ -57,7 +63,7 @@ in {
       minimal = true;
     };
 
-    ghc884 = callPackage ../development/compilers/ghc/8.8.4.nix {
+    ghc884 = callPackage ../development/compilers/ghc/8.8.4.nix ({
       # aarch64 ghc865Binary gets SEGVs due to haskell#15449 or similar
       # Musl bindists do not exist for ghc 8.6.5, so we use 8.10.* for them
       bootPkgs = if stdenv.isAarch64 || stdenv.targetPlatform.isMusl then
@@ -67,8 +73,8 @@ in {
       inherit (buildPackages.python3Packages) sphinx;
       buildLlvmPackages = buildPackages.llvmPackages_7;
       llvmPackages = pkgs.llvmPackages_7;
-    };
-    ghc8104 = callPackage ../development/compilers/ghc/8.10.4.nix {
+    } // muslArgs);
+    ghc8104 = callPackage ../development/compilers/ghc/8.10.4.nix ({
       # aarch64 ghc865Binary gets SEGVs due to haskell#15449 or similar
       # Musl bindists do not exist for ghc 8.6.5, so we use 8.10.* for them
       bootPkgs = if stdenv.isAarch64 || stdenv.isAarch32 || stdenv.targetPlatform.isMusl then
@@ -78,8 +84,8 @@ in {
       inherit (buildPackages.python3Packages) sphinx;
       buildLlvmPackages = buildPackages.llvmPackages_9;
       llvmPackages = pkgs.llvmPackages_9;
-    };
-    ghc901 = callPackage ../development/compilers/ghc/9.0.1.nix {
+    } // muslArgs);
+    ghc901 = callPackage ../development/compilers/ghc/9.0.1.nix ({
       # aarch64 ghc8102Binary exceeds max output size on hydra
       bootPkgs = if stdenv.isAarch64 || stdenv.isAarch32 then
           packages.ghc8102BinaryMinimal
@@ -88,14 +94,14 @@ in {
       inherit (buildPackages.python3Packages) sphinx;
       buildLlvmPackages = buildPackages.llvmPackages_10;
       llvmPackages = pkgs.llvmPackages_10;
-    };
-    ghcHEAD = callPackage ../development/compilers/ghc/head.nix {
+    } // muslArgs);
+    ghcHEAD = callPackage ../development/compilers/ghc/head.nix ({
       bootPkgs = packages.ghc901; # no binary yet
       inherit (buildPackages.python3Packages) sphinx;
       buildLlvmPackages = buildPackages.llvmPackages_10;
       llvmPackages = pkgs.llvmPackages_10;
       libffi = pkgs.libffi;
-    };
+    } // muslArgs);
 
     # The integer-simple attribute set contains all the GHC compilers
     # build with integer-simple instead of integer-gmp.