summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsternenseemann <sternenseemann@systemli.org>2024-01-16 21:40:36 +0100
committersternenseemann <sternenseemann@systemli.org>2024-01-23 21:05:01 +0100
commit0e756e65d5b1134e1364a731b583e233385ac7ae (patch)
tree5ad97e797c52c93ea9ceb8ad306ed39fcb986c07
parent3624e2d44e62306c23cec6e4bd558dbc6822eeb5 (diff)
haskell.compiler.ghc96: 9.6.3 -> 9.6.4
https://www.haskell.org/ghc/blog/20240109-ghc-9.6.4-released.html Co-authored-by: Ben Gamari <ben@smart-cactus.org>
-rw-r--r--pkgs/development/compilers/ghc/9.6.4.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix4
-rw-r--r--pkgs/top-level/haskell-packages.nix28
-rw-r--r--pkgs/top-level/release-haskell.nix1
4 files changed, 34 insertions, 3 deletions
diff --git a/pkgs/development/compilers/ghc/9.6.4.nix b/pkgs/development/compilers/ghc/9.6.4.nix
new file mode 100644
index 000000000000..40a2261180e2
--- /dev/null
+++ b/pkgs/development/compilers/ghc/9.6.4.nix
@@ -0,0 +1,4 @@
+import ./common-hadrian.nix {
+ version = "9.6.4";
+ sha256 = "10bf25b8b07174fdd9868b5c0c56c17c0ef1edcb6247b4b864be933651bfd4c0";
+}
diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix
index 63029222cde4..3dcf3cf81949 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix
@@ -256,7 +256,9 @@ self: super: {
sha256 = "sha256-b7u9GiIAd2xpOrM0MfILHNb6Nt7070lNRIadn2l3DfQ=";
})];
}) super.ConfigFile;
-
+}
+# super.ghc is required to break infinite recursion as Nix is strict in the attrNames
+// lib.optionalAttrs (pkgs.stdenv.hostPlatform.isAarch64 && lib.versionOlder super.ghc.version "9.6.4") {
# The NCG backend for aarch64 generates invalid jumps in some situations,
# the workaround on 9.6 is to revert to the LLVM backend (which is used
# for these sorts of situations even on 9.2 and 9.4).
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 7bf0431130fb..9d27972bdf98 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -24,6 +24,7 @@ let
"ghc948"
"ghc96"
"ghc963"
+ "ghc964"
"ghc98"
"ghc981"
"ghcHEAD"
@@ -278,7 +279,25 @@ in {
buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15;
llvmPackages = pkgs.llvmPackages_15;
};
- ghc96 = compiler.ghc963;
+ ghc964 = callPackage ../development/compilers/ghc/9.6.4.nix {
+ bootPkgs =
+ # For GHC 9.2 no armv7l bindists are available.
+ if stdenv.hostPlatform.isAarch32 then
+ packages.ghc928
+ else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
+ packages.ghc928
+ else
+ packages.ghc924Binary;
+ 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 >= 11 && < 16
+ buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15;
+ llvmPackages = pkgs.llvmPackages_15;
+ };
+ ghc96 = compiler.ghc964;
ghc981 = callPackage ../development/compilers/ghc/9.8.1.nix {
# No bindist packaged for 9.4.* yet
bootPkgs = packages.ghc947;
@@ -421,7 +440,12 @@ in {
ghc = bh.compiler.ghc963;
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { };
};
- ghc96 = packages.ghc963;
+ ghc964 = callPackage ../development/haskell-modules {
+ buildHaskellPackages = bh.packages.ghc964;
+ ghc = bh.compiler.ghc964;
+ compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { };
+ };
+ ghc96 = packages.ghc964;
ghc981 = callPackage ../development/haskell-modules {
buildHaskellPackages = bh.packages.ghc981;
ghc = bh.compiler.ghc981;
diff --git a/pkgs/top-level/release-haskell.nix b/pkgs/top-level/release-haskell.nix
index afaa94a23a32..18b0a19a7e46 100644
--- a/pkgs/top-level/release-haskell.nix
+++ b/pkgs/top-level/release-haskell.nix
@@ -71,6 +71,7 @@ let
ghc947
ghc948
ghc963
+ ghc964
ghc981
];