about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/interpreters/rakudo/moarvm.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/interpreters/rakudo/moarvm.nix')
-rw-r--r--nixpkgs/pkgs/development/interpreters/rakudo/moarvm.nix32
1 files changed, 24 insertions, 8 deletions
diff --git a/nixpkgs/pkgs/development/interpreters/rakudo/moarvm.nix b/nixpkgs/pkgs/development/interpreters/rakudo/moarvm.nix
index 73dac18a5974..cbc283ce25f2 100644
--- a/nixpkgs/pkgs/development/interpreters/rakudo/moarvm.nix
+++ b/nixpkgs/pkgs/development/interpreters/rakudo/moarvm.nix
@@ -1,14 +1,30 @@
-{ lib, stdenv, fetchurl, perl
-, CoreServices, ApplicationServices }:
+{ lib
+, stdenv
+, fetchurl
+, perl
+, CoreServices
+, ApplicationServices
+}:
 
 stdenv.mkDerivation rec {
   pname = "moarvm";
-  version = "2021.07";
+  version = "2021.12";
 
   src = fetchurl {
     url = "https://moarvm.org/releases/MoarVM-${version}.tar.gz";
-    sha256 = "1zk3dpvgrgg4kam3hx9pq1a2l2kgw822dci8hg7x0cn1lppwwdw4";
-   };
+    sha256 = "sha256-1Ju+sQ2WFsLYen+t0ca7elzhHBnHxEu7i+928ltQXE8=";
+  };
+
+  postPatch = ''
+    patchShebangs .
+  '' + lib.optionalString stdenv.isDarwin ''
+    substituteInPlace Configure.pl \
+      --replace '`/usr/bin/arch`' '"${stdenv.hostPlatform.darwinArch}"' \
+      --replace '/usr/bin/arch' "$(type -P true)" \
+      --replace '/usr/' '/nope/'
+    substituteInPlace 3rdparty/dyncall/configure \
+      --replace '`sw_vers -productVersion`' '"$MACOSX_DEPLOYMENT_TARGET"'
+  '';
 
   buildInputs = [ perl ] ++ lib.optionals stdenv.isDarwin [ CoreServices ApplicationServices ];
   doCheck = false; # MoarVM does not come with its own test suite
@@ -17,9 +33,9 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "VM with adaptive optimization and JIT compilation, built for Rakudo";
-    homepage    = "https://moarvm.org";
-    license     = licenses.artistic2;
-    platforms   = platforms.unix;
+    homepage = "https://moarvm.org";
+    license = licenses.artistic2;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ thoughtpolice vrthra sgo ];
   };
 }