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.