about summary refs log tree commit diff
path: root/nixpkgs/pkgs/top-level/haskell-packages.nix
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2023-11-20 14:55:32 +0100
committerAlyssa Ross <hi@alyssa.is>2023-11-20 14:55:32 +0100
commit34b58aaefccdb5c64b912903973ba729bae58be3 (patch)
treee18a96bc0f066422356a8da655453403baa97e64 /nixpkgs/pkgs/top-level/haskell-packages.nix
parent7be318098d7fe87d896e8787bfadc0345149cb59 (diff)
parent3fb937a1e9f4157f57011965b99fcb7f4139d9ad (diff)
downloadnixlib-34b58aaefccdb5c64b912903973ba729bae58be3.tar
nixlib-34b58aaefccdb5c64b912903973ba729bae58be3.tar.gz
nixlib-34b58aaefccdb5c64b912903973ba729bae58be3.tar.bz2
nixlib-34b58aaefccdb5c64b912903973ba729bae58be3.tar.lz
nixlib-34b58aaefccdb5c64b912903973ba729bae58be3.tar.xz
nixlib-34b58aaefccdb5c64b912903973ba729bae58be3.tar.zst
nixlib-34b58aaefccdb5c64b912903973ba729bae58be3.zip
Merge branch 'nixos-unstable-small' of https://github.com/NixOS/nixpkgs
Diffstat (limited to 'nixpkgs/pkgs/top-level/haskell-packages.nix')
-rw-r--r--nixpkgs/pkgs/top-level/haskell-packages.nix75
1 files changed, 40 insertions, 35 deletions
diff --git a/nixpkgs/pkgs/top-level/haskell-packages.nix b/nixpkgs/pkgs/top-level/haskell-packages.nix
index 0b970cb44f04..b8f11100d39c 100644
--- a/nixpkgs/pkgs/top-level/haskell-packages.nix
+++ b/nixpkgs/pkgs/top-level/haskell-packages.nix
@@ -1,37 +1,12 @@
 { buildPackages, pkgsBuildTarget, pkgs, newScope, stdenv }:
 
 let
-  # These are attributes in compiler and packages that don't support integer-simple.
-  integerSimpleExcludes = [
-    "ghc865Binary"
-    "ghc8102Binary"
-    "ghc8107Binary"
-    "ghc924Binary"
-    "ghcjs"
-    "ghcjs810"
-    "integer-simple"
-    "native-bignum"
-    "ghc902"
-    "ghc90"
-    "ghc924"
-    "ghc925"
-    "ghc926"
-    "ghc927"
-    "ghc928"
-    "ghc92"
-    "ghc942"
-    "ghc943"
-    "ghc944"
-    "ghc945"
-    "ghc946"
-    "ghc947"
-    "ghc94"
-    "ghc96"
-    "ghc962"
-    "ghc963"
-    "ghc981"
-    "ghc98"
-    "ghcHEAD"
+  # These are attributes in compiler that support integer-simple.
+  integerSimpleIncludes = [
+    "ghc88"
+    "ghc884"
+    "ghc810"
+    "ghc8107"
   ];
 
   nativeBignumIncludes = [
@@ -50,6 +25,7 @@ let
     "ghc945"
     "ghc946"
     "ghc947"
+    "ghc948"
     "ghc96"
     "ghc962"
     "ghc963"
@@ -363,7 +339,31 @@ in {
       buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
       llvmPackages = pkgs.llvmPackages_12;
     };
-    ghc94 = compiler.ghc947;
+    ghc948 = callPackage ../development/compilers/ghc/9.4.8.nix {
+      bootPkgs =
+        # Building with 9.2 is broken due to
+        # https://gitlab.haskell.org/ghc/ghc/-/issues/21914
+        # Use 8.10 as a workaround where possible to keep bootstrap path short.
+
+        # On ARM text won't build with GHC 8.10.*
+        if stdenv.hostPlatform.isAarch then
+          # TODO(@sternenseemann): package bindist
+          packages.ghc902
+        # No suitable bindists for powerpc64le
+        else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
+          packages.ghc902
+        else
+          packages.ghc8107Binary;
+      inherit (buildPackages.python3Packages) sphinx;
+      # Need to use apple's patched xattr until
+      # https://github.com/xattr/xattr/issues/44 and
+      # https://github.com/xattr/xattr/issues/55 are solved.
+      inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
+      # Support range >= 10 && < 14
+      buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
+      llvmPackages = pkgs.llvmPackages_12;
+    };
+    ghc94 = compiler.ghc948;
     ghc962 = callPackage ../development/compilers/ghc/9.6.2.nix {
       bootPkgs =
         # For GHC 9.2 no armv7l bindists are available.
@@ -437,7 +437,7 @@ in {
     # build with integer-simple instead of integer-gmp.
     integer-simple = let
       integerSimpleGhcNames = pkgs.lib.filter
-        (name: ! builtins.elem name integerSimpleExcludes)
+        (name: builtins.elem name integerSimpleIncludes)
         (pkgs.lib.attrNames compiler);
     in pkgs.recurseIntoAttrs (pkgs.lib.genAttrs
       integerSimpleGhcNames
@@ -558,7 +558,12 @@ in {
       ghc = bh.compiler.ghc947;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.4.x.nix { };
     };
-    ghc94 = packages.ghc947;
+    ghc948 = callPackage ../development/haskell-modules {
+      buildHaskellPackages = bh.packages.ghc948;
+      ghc = bh.compiler.ghc948;
+      compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.4.x.nix { };
+    };
+    ghc94 = packages.ghc948;
     ghc962 = callPackage ../development/haskell-modules {
       buildHaskellPackages = bh.packages.ghc962;
       ghc = bh.compiler.ghc962;
@@ -595,7 +600,7 @@ in {
     integer-simple =
       let
         integerSimpleGhcNames = pkgs.lib.filter
-          (name: ! builtins.elem name integerSimpleExcludes)
+          (name: builtins.elem name integerSimpleIncludes)
           (pkgs.lib.attrNames packages);
       in
       pkgs.lib.genAttrs integerSimpleGhcNames