about summary refs log tree commit diff
path: root/pkgs/top-level/haskell-packages.nix
diff options
context:
space:
mode:
authorsternenseemann <sternenseemann@systemli.org>2023-06-24 11:59:20 +0200
committersternenseemann <sternenseemann@systemli.org>2023-07-04 15:29:40 +0200
commit20b0406a00aa630e4f98cf737e528a47e639ae18 (patch)
tree3139245da365da97c40afbf65dd695b55d1c1b31 /pkgs/top-level/haskell-packages.nix
parent8aeb0de93dd371d4e578f1d4e21c4ddf8a8460e0 (diff)
downloadnixlib-20b0406a00aa630e4f98cf737e528a47e639ae18.tar
nixlib-20b0406a00aa630e4f98cf737e528a47e639ae18.tar.gz
nixlib-20b0406a00aa630e4f98cf737e528a47e639ae18.tar.bz2
nixlib-20b0406a00aa630e4f98cf737e528a47e639ae18.tar.lz
nixlib-20b0406a00aa630e4f98cf737e528a47e639ae18.tar.xz
nixlib-20b0406a00aa630e4f98cf737e528a47e639ae18.tar.zst
nixlib-20b0406a00aa630e4f98cf737e528a47e639ae18.zip
haskell.*.ghc*BinaryMinimal: remove
haskell.compiler.ghc8102BinaryMinimal: remove at 8.10.2
haskell.compiler.ghc8107BinaryMinimal: remove at 8.10.7
haskell.compiler.ghc924BinaryMinimal: remove at 9.2.4

On aarch64-linux the binary GHCs take up about 2.6GB (which compresses
pretty well on zfs as it turns out), so they are below the output limit
of Hydra. This allows us to drop the special casing of aarch platforms
in haskell-packages.nix. While we're at it, drop the minimal variants so
we don't unnecessarily build variants of the binary GHCs.
Diffstat (limited to 'pkgs/top-level/haskell-packages.nix')
-rw-r--r--pkgs/top-level/haskell-packages.nix79
1 files changed, 8 insertions, 71 deletions
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 42867afef83d..62fb2d1f5ef2 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -5,11 +5,8 @@ let
   integerSimpleExcludes = [
     "ghc865Binary"
     "ghc8102Binary"
-    "ghc8102BinaryMinimal"
     "ghc8107Binary"
-    "ghc8107BinaryMinimal"
     "ghc924Binary"
-    "ghc924BinaryMinimal"
     "ghcjs"
     "ghcjs810"
     "integer-simple"
@@ -89,36 +86,20 @@ in {
       llvmPackages = pkgs.llvmPackages_9;
     };
 
-    ghc8102BinaryMinimal = callPackage ../development/compilers/ghc/8.10.2-binary.nix {
-      llvmPackages = pkgs.llvmPackages_9;
-      minimal = true;
-    };
-
     ghc8107Binary = callPackage ../development/compilers/ghc/8.10.7-binary.nix {
       llvmPackages = pkgs.llvmPackages_12;
     };
 
-    ghc8107BinaryMinimal = callPackage ../development/compilers/ghc/8.10.7-binary.nix {
-      llvmPackages = pkgs.llvmPackages_12;
-      minimal = true;
-    };
-
     ghc924Binary = callPackage ../development/compilers/ghc/9.2.4-binary.nix {
       llvmPackages = pkgs.llvmPackages_12;
     };
-    ghc924BinaryMinimal = callPackage ../development/compilers/ghc/9.2.4-binary.nix {
-      llvmPackages = pkgs.llvmPackages_12;
-      minimal = true;
-    };
 
     ghc884 = callPackage ../development/compilers/ghc/8.8.4.nix {
       bootPkgs =
         # aarch64 ghc865Binary gets SEGVs due to haskell#15449 or similar
         # 8.10.2 is needed as using 8.10.7 is broken due to RTS-incompatibilities
-        if stdenv.isAarch64 then
-          packages.ghc8102BinaryMinimal
         # Musl bindists do not exist for ghc 8.6.5, so we use 8.10.* for them
-        else if stdenv.hostPlatform.isMusl then
+        if stdenv.hostPlatform.isAarch64 || stdenv.hostPlatform.isMusl then
           packages.ghc8102Binary
         else
           packages.ghc865Binary;
@@ -129,12 +110,8 @@ in {
     ghc88 = compiler.ghc884;
     ghc8107 = callPackage ../development/compilers/ghc/8.10.7.nix {
       bootPkgs =
-        # aarch64 ghc865Binary gets SEGVs due to haskell#15449 or similar
         # the oldest ghc with aarch64-darwin support is 8.10.5
-        # Musl bindists do not exist for ghc 8.6.5, so we use 8.10.* for them
-        if stdenv.hostPlatform.isAarch then
-          packages.ghc8107BinaryMinimal
-        else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
+        if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
           # to my (@a-m-joseph) knowledge there are no newer official binaries for this platform
           packages.ghc865Binary
         else
@@ -150,11 +127,8 @@ in {
     ghc810 = compiler.ghc8107;
     ghc902 = callPackage ../development/compilers/ghc/9.0.2.nix {
       bootPkgs =
-        # aarch64 ghc8107Binary exceeds max output size on hydra
         # the oldest ghc with aarch64-darwin support is 8.10.5
-        if stdenv.hostPlatform.isAarch then
-          packages.ghc8107BinaryMinimal
-        else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
+        if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
           packages.ghc810
         else
           packages.ghc8107Binary;
@@ -166,10 +140,7 @@ in {
     ghc90 = compiler.ghc902;
     ghc924 = callPackage ../development/compilers/ghc/9.2.4.nix {
       bootPkgs =
-        # aarch64 ghc8107Binary exceeds max output size on hydra
-        if stdenv.hostPlatform.isAarch then
-          packages.ghc8107BinaryMinimal
-        else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
+        if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
           packages.ghc810
         else
           packages.ghc8107Binary;
@@ -183,10 +154,7 @@ in {
     };
     ghc925 = callPackage ../development/compilers/ghc/9.2.5.nix {
       bootPkgs =
-        # aarch64 ghc8107Binary exceeds max output size on hydra
-        if stdenv.hostPlatform.isAarch then
-          packages.ghc8107BinaryMinimal
-        else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
+        if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
           packages.ghc810
         else
           packages.ghc8107Binary;
@@ -200,10 +168,7 @@ in {
     };
     ghc926 = callPackage ../development/compilers/ghc/9.2.6.nix {
       bootPkgs =
-        # aarch64 ghc8107Binary exceeds max output size on hydra
-        if stdenv.hostPlatform.isAarch then
-          packages.ghc8107BinaryMinimal
-        else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
+        if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
           packages.ghc810
         else
           packages.ghc8107Binary;
@@ -217,10 +182,7 @@ in {
     };
     ghc927 = callPackage ../development/compilers/ghc/9.2.7.nix {
       bootPkgs =
-        # aarch64 ghc8107Binary exceeds max output size on hydra
-        if stdenv.hostPlatform.isAarch then
-          packages.ghc8107BinaryMinimal
-        else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
+        if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
           packages.ghc810
         else
           packages.ghc8107Binary;
@@ -234,10 +196,7 @@ in {
     };
     ghc928 = callPackage ../development/compilers/ghc/9.2.8.nix {
       bootPkgs =
-        # aarch64 ghc8107Binary exceeds max output size on hydra
-        if stdenv.hostPlatform.isAarch then
-          packages.ghc8107BinaryMinimal
-        else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
+        if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
           packages.ghc810
         else
           packages.ghc8107Binary;
@@ -354,8 +313,6 @@ in {
           packages.ghc924
         else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
           packages.ghc924
-        else if stdenv.isAarch64 then
-          packages.ghc924BinaryMinimal
         else
           packages.ghc924Binary;
       inherit (buildPackages.python3Packages) sphinx;
@@ -375,8 +332,6 @@ in {
           packages.ghc924
         else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
           packages.ghc924
-        else if stdenv.isAarch64 then
-          packages.ghc924BinaryMinimal
         else
           packages.ghc924Binary;
       inherit (buildPackages.python3Packages) sphinx;
@@ -435,36 +390,18 @@ in {
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { };
       packageSetConfig = bootstrapPackageSet;
     };
-    ghc8102BinaryMinimal = callPackage ../development/haskell-modules {
-      buildHaskellPackages = bh.packages.ghc8102BinaryMinimal;
-      ghc = bh.compiler.ghc8102BinaryMinimal;
-      compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { };
-      packageSetConfig = bootstrapPackageSet;
-    };
     ghc8107Binary = callPackage ../development/haskell-modules {
       buildHaskellPackages = bh.packages.ghc8107Binary;
       ghc = bh.compiler.ghc8107Binary;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { };
       packageSetConfig = bootstrapPackageSet;
     };
-    ghc8107BinaryMinimal = callPackage ../development/haskell-modules {
-      buildHaskellPackages = bh.packages.ghc8107BinaryMinimal;
-      ghc = bh.compiler.ghc8107BinaryMinimal;
-      compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { };
-      packageSetConfig = bootstrapPackageSet;
-    };
     ghc924Binary = callPackage ../development/haskell-modules {
       buildHaskellPackages = bh.packages.ghc924Binary;
       ghc = bh.compiler.ghc924Binary;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { };
       packageSetConfig = bootstrapPackageSet;
     };
-    ghc924BinaryMinimal = callPackage ../development/haskell-modules {
-      buildHaskellPackages = bh.packages.ghc924BinaryMinimal;
-      ghc = bh.compiler.ghc924BinaryMinimal;
-      compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { };
-      packageSetConfig = bootstrapPackageSet;
-    };
     ghc884 = callPackage ../development/haskell-modules {
       buildHaskellPackages = bh.packages.ghc884;
       ghc = bh.compiler.ghc884;