summary refs log tree commit diff
diff options
context:
space:
mode:
authorsternenseemann <sternenseemann@systemli.org>2023-02-19 16:21:57 +0100
committersternenseemann <sternenseemann@systemli.org>2023-03-08 17:12:18 +0100
commit471b9cab41b218080f5e9f4abbc83eaaa60c6abf (patch)
treeb2cc6155bf8b3c5c3d4f07931c54b3dfffaf2fa7
parentfaa92cd30b1079e76b99716aa92df7cc5c552dd6 (diff)
downloadnixpkgs-471b9cab41b218080f5e9f4abbc83eaaa60c6abf.tar
nixpkgs-471b9cab41b218080f5e9f4abbc83eaaa60c6abf.tar.gz
nixpkgs-471b9cab41b218080f5e9f4abbc83eaaa60c6abf.tar.bz2
nixpkgs-471b9cab41b218080f5e9f4abbc83eaaa60c6abf.tar.lz
nixpkgs-471b9cab41b218080f5e9f4abbc83eaaa60c6abf.tar.xz
nixpkgs-471b9cab41b218080f5e9f4abbc83eaaa60c6abf.tar.zst
nixpkgs-471b9cab41b218080f5e9f4abbc83eaaa60c6abf.zip
haskell.compiler.ghcHEAD: 9.7.20221224 -> 9.7.20230217
- Christmas is over!

- Upstream has changed the name of the target triplet used for the JS
  backend from js-unknown-ghcjs to javascript-unknown-ghcjs, since Cabal
  calls the architecture "javascript":
  https://gitlab.haskell.org/ghc/ghc/-/commit/6636b670233522f01d002c9b97827d00289dbf5c

  Since the triplet is made up anyways, i.e. autoconf does not support
  it and Rust uses different triplets for its emscripten backends, we'll
  just change it as well.

- Upstream fixed the problem with ar(1) being invoked incorrectly by stage0:
  https://gitlab.haskell.org/ghc/ghc/-/commit/e987e345c807035e4637ca3eae227ae501e16c42
-rw-r--r--lib/systems/doubles.nix2
-rw-r--r--lib/systems/examples.nix5
-rw-r--r--lib/systems/inspect.nix2
-rw-r--r--lib/systems/parse.nix2
-rw-r--r--nixos/doc/manual/release-notes/rl-2305.section.md2
-rw-r--r--pkgs/development/compilers/ghc/head.nix6
-rw-r--r--pkgs/top-level/release-haskell.nix3
7 files changed, 12 insertions, 10 deletions
diff --git a/lib/systems/doubles.nix b/lib/systems/doubles.nix
index 383dd30bfdb..6b19309d11f 100644
--- a/lib/systems/doubles.nix
+++ b/lib/systems/doubles.nix
@@ -22,7 +22,7 @@ let
     "x86_64-solaris"
 
     # JS
-    "js-ghcjs"
+    "javascript-ghcjs"
 
     # Linux
     "aarch64-linux" "armv5tel-linux" "armv6l-linux" "armv7a-linux"
diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix
index de5adad3ca5..9ea2e3b56e9 100644
--- a/lib/systems/examples.nix
+++ b/lib/systems/examples.nix
@@ -329,6 +329,9 @@ rec {
 
   # Ghcjs
   ghcjs = {
-    config = "js-unknown-ghcjs";
+    # This triple is special to GHC/Cabal/GHCJS and not recognized by autotools
+    # See: https://gitlab.haskell.org/ghc/ghc/-/commit/6636b670233522f01d002c9b97827d00289dbf5c
+    # https://github.com/ghcjs/ghcjs/issues/53
+    config = "javascript-unknown-ghcjs";
   };
 }
diff --git a/lib/systems/inspect.nix b/lib/systems/inspect.nix
index 30615c9fde3..b32c8630107 100644
--- a/lib/systems/inspect.nix
+++ b/lib/systems/inspect.nix
@@ -49,7 +49,7 @@ rec {
     isM68k         = { cpu = { family = "m68k"; }; };
     isS390         = { cpu = { family = "s390"; }; };
     isS390x        = { cpu = { family = "s390"; bits = 64; }; };
-    isJavaScript   = { cpu = cpuTypes.js; };
+    isJavaScript   = { cpu = cpuTypes.javascript; };
 
     is32bit        = { cpu = { bits = 32; }; };
     is64bit        = { cpu = { bits = 64; }; };
diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix
index 5987cf1b5d2..bd3366e140b 100644
--- a/lib/systems/parse.nix
+++ b/lib/systems/parse.nix
@@ -131,7 +131,7 @@ rec {
 
     or1k     = { bits = 32; significantByte = bigEndian; family = "or1k"; };
 
-    js       = { bits = 32; significantByte = littleEndian; family = "js"; };
+    javascript = { bits = 32; significantByte = littleEndian; family = "javascript"; };
   };
 
   # GNU build systems assume that older NetBSD architectures are using a.out.
diff --git a/nixos/doc/manual/release-notes/rl-2305.section.md b/nixos/doc/manual/release-notes/rl-2305.section.md
index 3e63ddced61..02806676a36 100644
--- a/nixos/doc/manual/release-notes/rl-2305.section.md
+++ b/nixos/doc/manual/release-notes/rl-2305.section.md
@@ -115,6 +115,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - Calling `makeSetupHook` without passing a `name` argument is deprecated.
 
+- `lib.systems.examples.ghcjs` and consequently `pkgsCross.ghcjs` now use the target triplet `javascript-unknown-ghcjs` instead of `js-unknown-ghcjs`. This has been done to match an [upstream decision](https://gitlab.haskell.org/ghc/ghc/-/commit/6636b670233522f01d002c9b97827d00289dbf5c) to follow Cabal's platform naming more closely. Nixpkgs will also reject `js` as an architecture name.
+
 - The `cosmoc` package has been removed. The upstream scripts in `cosmocc` should be used instead.
 
 - Qt 5.12 and 5.14 have been removed, as the corresponding branches have been EOL upstream for a long time. This affected under 10 packages in nixpkgs, largely unmaintained upstream as well, however, out-of-tree package expressions may need to be updated manually.
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index 19739ecbd14..35d285ca2b2 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -1,5 +1,5 @@
 import ./common-hadrian.nix {
-  version = "9.7.20221224";
-  rev = "a5bd0eb8dd1d03c54e1b0b476ebbc4cc886d6f19";
-  sha256 = "1rrds9alzpy4vyh2isan32h1zmf44nsr8552wbsn1y3fg6bnpbxi";
+  version = "9.7.20230217";
+  rev = "a203ad854ffee802e6bf0aca26e6c9a99bec3865";
+  sha256 = "06q6l7svdynvdv90yz6dxbsk3j5c8gh5ghwfl02rdwamcrzw7zic";
 }
diff --git a/pkgs/top-level/release-haskell.nix b/pkgs/top-level/release-haskell.nix
index adc9b9fe0a7..2267860af22 100644
--- a/pkgs/top-level/release-haskell.nix
+++ b/pkgs/top-level/release-haskell.nix
@@ -351,9 +351,6 @@ let
       pkgsCross.ghcjs.haskellPackages =
         removePlatforms
           [
-            # Still unexplained build failure: https://github.com/NixOS/nixpkgs/issues/217127
-            "x86_64-darwin"
-
             # Hydra output size of 3GB is exceeded
             "aarch64-linux"
           ]