diff options
author | Pavol Rusnak <pavol@rusnak.io> | 2021-08-23 17:21:32 +0200 |
---|---|---|
committer | Pavol Rusnak <pavol@rusnak.io> | 2021-08-24 18:49:25 +0200 |
commit | 02c5e5173f459fcbccc5e06a33761ee94ebfec25 (patch) | |
tree | 319ade68c54727cb5fffa0aaaebe6a7c279cf23d /pkgs/top-level/haskell-packages.nix | |
parent | ba2e930fcb51c58d8f7c2344817b458ac074fdf2 (diff) |
haskellPackages: introduce ghc8105Binary to enable aarch64-darwin bootstrap
Diffstat (limited to 'pkgs/top-level/haskell-packages.nix')
-rw-r--r-- | pkgs/top-level/haskell-packages.nix | 48 |
1 files changed, 40 insertions, 8 deletions
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index d60c20f38e0d2..4ef012b9b4f52 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -6,6 +6,8 @@ let "ghc865Binary" "ghc8102Binary" "ghc8102BinaryMinimal" + "ghc8105Binary" + "ghc8105BinaryMinimal" "integer-simple" "native-bignum" "ghcHEAD" @@ -57,10 +59,22 @@ in { minimal = true; }; + ghc8105Binary = callPackage ../development/compilers/ghc/8.10.5-binary.nix { + llvmPackages = pkgs.llvmPackages_11; + }; + + ghc8105BinaryMinimal = callPackage ../development/compilers/ghc/8.10.5-binary.nix { + llvmPackages = pkgs.llvmPackages_11; + minimal = true; + }; + 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 + # the oldest ghc with aarch64-darwin support is 8.10.5 + bootPkgs = if stdenv.isDarwin && stdenv.isAarch64 then + packages.ghc8105BinaryMinimal + # 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 + else if stdenv.isAarch64 || stdenv.targetPlatform.isMusl then packages.ghc8102BinaryMinimal else packages.ghc865Binary; @@ -69,9 +83,12 @@ in { llvmPackages = pkgs.llvmPackages_7; }; ghc8106 = callPackage ../development/compilers/ghc/8.10.6.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 + # the oldest ghc with aarch64-darwin support is 8.10.5 + bootPkgs = if stdenv.isDarwin && stdenv.isAarch64 then + packages.ghc8105BinaryMinimal + # 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 + else if stdenv.isAarch64 || stdenv.isAarch32 || stdenv.targetPlatform.isMusl then packages.ghc8102BinaryMinimal else packages.ghc865Binary; @@ -84,8 +101,11 @@ in { llvmPackages = pkgs.llvmPackages_9; }; ghc901 = callPackage ../development/compilers/ghc/9.0.1.nix { - # aarch64 ghc8102Binary exceeds max output size on hydra - bootPkgs = if stdenv.isAarch64 || stdenv.isAarch32 then + # the oldest ghc with aarch64-darwin support is 8.10.5 + bootPkgs = if stdenv.isDarwin && stdenv.isAarch64 then + packages.ghc8105BinaryMinimal + # aarch64 ghc8102Binary exceeds max output size on hydra + else if stdenv.isAarch64 || stdenv.isAarch32 then packages.ghc8102BinaryMinimal else packages.ghc8102Binary; @@ -146,6 +166,18 @@ in { compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { }; packageSetConfig = bootstrapPackageSet; }; + ghc8105Binary = callPackage ../development/haskell-modules { + buildHaskellPackages = bh.packages.ghc8105Binary; + ghc = bh.compiler.ghc8105Binary; + compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { }; + packageSetConfig = bootstrapPackageSet; + }; + ghc8105BinaryMinimal = callPackage ../development/haskell-modules { + buildHaskellPackages = bh.packages.ghc8105BinaryMinimal; + ghc = bh.compiler.ghc8105BinaryMinimal; + compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { }; + packageSetConfig = bootstrapPackageSet; + }; ghc884 = callPackage ../development/haskell-modules { buildHaskellPackages = bh.packages.ghc884; ghc = bh.compiler.ghc884; |