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:
parent
527dacdda6
commit
36628e6e04
|
@ -39,6 +39,12 @@ let
|
||||||
# Use this rather than `rec { ... }` below for sake of overlays.
|
# Use this rather than `rec { ... }` below for sake of overlays.
|
||||||
inherit (pkgs.haskell) compiler packages;
|
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 {
|
in {
|
||||||
lib = haskellLib;
|
lib = haskellLib;
|
||||||
|
|
||||||
|
@ -57,7 +63,7 @@ in {
|
||||||
minimal = true;
|
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
|
# 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
|
# 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
|
bootPkgs = if stdenv.isAarch64 || stdenv.targetPlatform.isMusl then
|
||||||
|
@ -67,8 +73,8 @@ in {
|
||||||
inherit (buildPackages.python3Packages) sphinx;
|
inherit (buildPackages.python3Packages) sphinx;
|
||||||
buildLlvmPackages = buildPackages.llvmPackages_7;
|
buildLlvmPackages = buildPackages.llvmPackages_7;
|
||||||
llvmPackages = pkgs.llvmPackages_7;
|
llvmPackages = pkgs.llvmPackages_7;
|
||||||
};
|
} // muslArgs);
|
||||||
ghc8104 = callPackage ../development/compilers/ghc/8.10.4.nix {
|
ghc8104 = callPackage ../development/compilers/ghc/8.10.4.nix ({
|
||||||
# aarch64 ghc865Binary gets SEGVs due to haskell#15449 or similar
|
# 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
|
# 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
|
bootPkgs = if stdenv.isAarch64 || stdenv.isAarch32 || stdenv.targetPlatform.isMusl then
|
||||||
|
@ -78,8 +84,8 @@ in {
|
||||||
inherit (buildPackages.python3Packages) sphinx;
|
inherit (buildPackages.python3Packages) sphinx;
|
||||||
buildLlvmPackages = buildPackages.llvmPackages_9;
|
buildLlvmPackages = buildPackages.llvmPackages_9;
|
||||||
llvmPackages = pkgs.llvmPackages_9;
|
llvmPackages = pkgs.llvmPackages_9;
|
||||||
};
|
} // muslArgs);
|
||||||
ghc901 = callPackage ../development/compilers/ghc/9.0.1.nix {
|
ghc901 = callPackage ../development/compilers/ghc/9.0.1.nix ({
|
||||||
# aarch64 ghc8102Binary exceeds max output size on hydra
|
# aarch64 ghc8102Binary exceeds max output size on hydra
|
||||||
bootPkgs = if stdenv.isAarch64 || stdenv.isAarch32 then
|
bootPkgs = if stdenv.isAarch64 || stdenv.isAarch32 then
|
||||||
packages.ghc8102BinaryMinimal
|
packages.ghc8102BinaryMinimal
|
||||||
|
@ -88,14 +94,14 @@ in {
|
||||||
inherit (buildPackages.python3Packages) sphinx;
|
inherit (buildPackages.python3Packages) sphinx;
|
||||||
buildLlvmPackages = buildPackages.llvmPackages_10;
|
buildLlvmPackages = buildPackages.llvmPackages_10;
|
||||||
llvmPackages = pkgs.llvmPackages_10;
|
llvmPackages = pkgs.llvmPackages_10;
|
||||||
};
|
} // muslArgs);
|
||||||
ghcHEAD = callPackage ../development/compilers/ghc/head.nix {
|
ghcHEAD = callPackage ../development/compilers/ghc/head.nix ({
|
||||||
bootPkgs = packages.ghc901; # no binary yet
|
bootPkgs = packages.ghc901; # no binary yet
|
||||||
inherit (buildPackages.python3Packages) sphinx;
|
inherit (buildPackages.python3Packages) sphinx;
|
||||||
buildLlvmPackages = buildPackages.llvmPackages_10;
|
buildLlvmPackages = buildPackages.llvmPackages_10;
|
||||||
llvmPackages = pkgs.llvmPackages_10;
|
llvmPackages = pkgs.llvmPackages_10;
|
||||||
libffi = pkgs.libffi;
|
libffi = pkgs.libffi;
|
||||||
};
|
} // muslArgs);
|
||||||
|
|
||||||
# The integer-simple attribute set contains all the GHC compilers
|
# The integer-simple attribute set contains all the GHC compilers
|
||||||
# build with integer-simple instead of integer-gmp.
|
# build with integer-simple instead of integer-gmp.
|
||||||
|
|
Loading…
Reference in a new issue