about summary refs log tree commit diff
path: root/pkgs/development/compilers
diff options
context:
space:
mode:
authorVladimír Čunát <v@cunat.cz>2022-05-01 14:26:52 +0200
committerVladimír Čunát <v@cunat.cz>2022-05-01 14:26:52 +0200
commitcec6e7362c864813ab21453b3e078728cf7223c7 (patch)
treeb9cb8ab6926ee34b5d73032c113d19c587c66507 /pkgs/development/compilers
parentc480cc28958dd852aa1acb29dee80d5324b3571e (diff)
parentdf738d5143b711c87d0c0b9a1ed15475f404d59c (diff)
Merge branch 'master' into staging-next-2022-04-23
Diffstat (limited to 'pkgs/development/compilers')
-rw-r--r--pkgs/development/compilers/chez/default.nix4
-rw-r--r--pkgs/development/compilers/ghc/8.10.2-binary.nix14
-rw-r--r--pkgs/development/compilers/ghc/8.10.7-binary.nix14
-rw-r--r--pkgs/development/compilers/ponyc/default.nix4
-rw-r--r--pkgs/development/compilers/purescript/purescript/default.nix6
-rw-r--r--pkgs/development/compilers/purescript/purescript/test-minimal-module/Main.js2
-rw-r--r--pkgs/development/compilers/purescript/purescript/test-minimal-module/default.nix4
-rw-r--r--pkgs/development/compilers/sbcl/2.2.4.nix4
8 files changed, 42 insertions, 10 deletions
diff --git a/pkgs/development/compilers/chez/default.nix b/pkgs/development/compilers/chez/default.nix
index d7ee7bee295a2..67fa1efd2a678 100644
--- a/pkgs/development/compilers/chez/default.nix
+++ b/pkgs/development/compilers/chez/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "chez-scheme";
-  version = "9.5.6";
+  version = "9.5.8";
 
   src = fetchFromGitHub {
     owner  = "cisco";
     repo   = "ChezScheme";
     rev    = "refs/tags/v${version}";
-    sha256 = "sha256-1C5fEbVIpFXlDQ5wFmYZ2nrDUq9jBmvnku/7f0MH7vc=";
+    sha256 = "sha256-esCWEzny/I+Ors6+upKlt4h13oN0bRLWN9OTKuSqdl8=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/compilers/ghc/8.10.2-binary.nix b/pkgs/development/compilers/ghc/8.10.2-binary.nix
index a29a5b0b5ab69..10ee40f710c81 100644
--- a/pkgs/development/compilers/ghc/8.10.2-binary.nix
+++ b/pkgs/development/compilers/ghc/8.10.2-binary.nix
@@ -272,6 +272,20 @@ stdenv.mkDerivation rec {
     lib.optionalString stdenv.isLinux ''
       find . -type f -executable -exec patchelf \
           --interpreter ${stdenv.cc.bintools.dynamicLinker} {} \;
+    '' +
+    # The hadrian install Makefile uses 'xxx' as a temporary placeholder in path
+    # substitution. Which can break the build if the store path / prefix happens
+    # to contain this string. This will be fixed with 9.4 bindists.
+    # https://gitlab.haskell.org/ghc/ghc/-/issues/21402
+    ''
+      # Detect hadrian Makefile by checking for the target that has the problem
+      if grep '^update_package_db' ghc-${version}*/Makefile > /dev/null; then
+        echo Hadrian bindist, applying workaround for xxx path substitution.
+        # based on https://gitlab.haskell.org/ghc/ghc/-/commit/dd5fecb0e2990b192d92f4dfd7519ecb33164fad.patch
+        substituteInPlace ghc-${version}*/Makefile --replace 'xxx' '\0xxx\0'
+      else
+        echo Not a hadrian bindist, not applying xxx path workaround.
+      fi
     '';
 
   # fix for `configure: error: Your linker is affected by binutils #16177`
diff --git a/pkgs/development/compilers/ghc/8.10.7-binary.nix b/pkgs/development/compilers/ghc/8.10.7-binary.nix
index bf3ace0240c5d..94ad5a78a0a76 100644
--- a/pkgs/development/compilers/ghc/8.10.7-binary.nix
+++ b/pkgs/development/compilers/ghc/8.10.7-binary.nix
@@ -270,6 +270,20 @@ stdenv.mkDerivation rec {
     lib.optionalString stdenv.isLinux ''
       find . -type f -executable -exec patchelf \
           --interpreter ${stdenv.cc.bintools.dynamicLinker} {} \;
+    '' +
+    # The hadrian install Makefile uses 'xxx' as a temporary placeholder in path
+    # substitution. Which can break the build if the store path / prefix happens
+    # to contain this string. This will be fixed with 9.4 bindists.
+    # https://gitlab.haskell.org/ghc/ghc/-/issues/21402
+    ''
+      # Detect hadrian Makefile by checking for the target that has the problem
+      if grep '^update_package_db' ghc-${version}*/Makefile > /dev/null; then
+        echo Hadrian bindist, applying workaround for xxx path substitution.
+        # based on https://gitlab.haskell.org/ghc/ghc/-/commit/dd5fecb0e2990b192d92f4dfd7519ecb33164fad.patch
+        substituteInPlace ghc-${version}*/Makefile --replace 'xxx' '\0xxx\0'
+      else
+        echo Not a hadrian bindist, not applying xxx path workaround.
+      fi
     '';
 
   # fix for `configure: error: Your linker is affected by binutils #16177`
diff --git a/pkgs/development/compilers/ponyc/default.nix b/pkgs/development/compilers/ponyc/default.nix
index c7ce1bbe43647..fbb457359149a 100644
--- a/pkgs/development/compilers/ponyc/default.nix
+++ b/pkgs/development/compilers/ponyc/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation (rec {
   pname = "ponyc";
-  version = "0.49.0";
+  version = "0.50.0";
 
   src = fetchFromGitHub {
     owner = "ponylang";
     repo = pname;
     rev = version;
-    sha256 = "sha256-WS3/POC+2vdx6bA8314sjkdWCIWGu9lJG4kbKMWfnX8=";
+    sha256 = "sha256-FnzlFTiJrqoUfnys+q9is6OH9yit5ExDiRszQ679QbY=";
 
     fetchSubmodules = true;
   };
diff --git a/pkgs/development/compilers/purescript/purescript/default.nix b/pkgs/development/compilers/purescript/purescript/default.nix
index cbf36516465b1..897348daf3dd0 100644
--- a/pkgs/development/compilers/purescript/purescript/default.nix
+++ b/pkgs/development/compilers/purescript/purescript/default.nix
@@ -18,7 +18,7 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "purescript";
-  version = "0.14.7";
+  version = "0.15.0";
 
   # These hashes can be updated automatically by running the ./update.sh script.
   src =
@@ -26,12 +26,12 @@ in stdenv.mkDerivation rec {
     then
     fetchurl {
       url = "https://github.com/${pname}/${pname}/releases/download/v${version}/macos.tar.gz";
-      sha256 = "0pc07xv5h7jgiy04rcrnsjb97nk5zs7jrvcsqggn0izlnrcyi8rc";
+      sha256 = "09d9pwba6fzc08m3nkc7xni29yr12gw5fj00aa77n9kxmsba0fkb";
     }
     else
     fetchurl {
       url = "https://github.com/${pname}/${pname}/releases/download/v${version}/linux64.tar.gz";
-      sha256 = "0vcjxb1v76wg4hmisnw0pp6wl0pwp4fa19cw08zdhgy62w06mqfa";
+      sha256 = "1ygp6wvbgl3y15wq1q41j9kg2ndaxr32rpgbzfzyd9zb8n9z8lpx";
     };
 
 
diff --git a/pkgs/development/compilers/purescript/purescript/test-minimal-module/Main.js b/pkgs/development/compilers/purescript/purescript/test-minimal-module/Main.js
index a3547e206b7c5..3f53065d25710 100644
--- a/pkgs/development/compilers/purescript/purescript/test-minimal-module/Main.js
+++ b/pkgs/development/compilers/purescript/purescript/test-minimal-module/Main.js
@@ -1,6 +1,6 @@
 "use strict"
 
-exports.log = function (s) {
+export const log = function (s) {
     return function () {
         console.log(s);
         return {};
diff --git a/pkgs/development/compilers/purescript/purescript/test-minimal-module/default.nix b/pkgs/development/compilers/purescript/purescript/test-minimal-module/default.nix
index 5f01298960cd1..9bc694cd73f31 100644
--- a/pkgs/development/compilers/purescript/purescript/test-minimal-module/default.nix
+++ b/pkgs/development/compilers/purescript/purescript/test-minimal-module/default.nix
@@ -3,9 +3,9 @@
 runCommand "purescript-test-minimal-module" {} ''
   ${purescript}/bin/purs compile -o ./output ${./.}/Main.purs
 
-  echo 'require("./output/Main/index.js").main()' > node.js
+  echo 'import {main} from "./output/Main/index.js"; main()' > node.mjs
 
-  ${nodejs}/bin/node node.js | grep "hello world" || echo "did not output hello world"
+  ${nodejs}/bin/node node.mjs | grep "hello world" || (echo "did not output hello world"; exit 1)
 
   touch $out
 ''
diff --git a/pkgs/development/compilers/sbcl/2.2.4.nix b/pkgs/development/compilers/sbcl/2.2.4.nix
new file mode 100644
index 0000000000000..1be043f112eef
--- /dev/null
+++ b/pkgs/development/compilers/sbcl/2.2.4.nix
@@ -0,0 +1,4 @@
+import ./common.nix {
+  version = "2.2.4";
+  sha256 = "sha256-/N0lHLxl9/gI7QrXckaEjRvhZqppoX90mWABhLelcgI=";
+}