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).
This commit is contained in:
sternenseemann 2021-07-26 10:47:49 +02:00
parent 527dacdda6
commit 36628e6e04

View file

@ -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.