Subject: [PATCH 2/4] gnu: moarvm: Update to 2020.12.

From: Alexandru-Sergiu Marton <[email-masked]>
Date: Sat, 6 Feb 2021 23:35:09 +0200

* gnu/packages/perl6.scm (moarvm): Update to 2020.12.
---
 gnu/packages/perl6.scm | 57 ++++++++++++++++++++++++------------------
 1 file changed, 32 insertions(+), 25 deletions(-)

diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm
index e02dd757e5..96d76dd417 100644
--- a/gnu/packages/perl6.scm
+++ b/gnu/packages/perl6.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2019 Efraim Flashner <[email-masked]>
 ;;; Copyright © 2019 Tobias Geerinckx-Rice <[email-masked]>
+;;; Copyright © 2021 Alexandru-Sergiu Marton <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -25,6 +26,7 @@
   #:use-module (guix build-system perl)
   #:use-module (guix build-system rakudo)
   #:use-module (gnu packages bdw-gc)
+  #:use-module (gnu packages c)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages multiprecision)
@@ -34,26 +36,26 @@
 (define-public moarvm
   (package
     (name "moarvm")
-    (version "2019.03")
+    (version "2020.12")
     (source
-      (origin
-        (method url-fetch)
-        (uri (string-append "https://moarvm.org/releases/MoarVM-"
-                            version ".tar.gz"))
-        (sha256
-         (base32
-          "017w1zvr6yl0cgjfc1b3ddlc6vjw9q8p7alw1vvsckw95190xc14"))
-        (modules '((guix build utils)))
-        (snippet
-         '(begin
-            ;(delete-file-recursively "3rdparty/dynasm") ; JIT
-            (delete-file-recursively "3rdparty/dyncall")
-            (delete-file-recursively "3rdparty/freebsd")
-            (delete-file-recursively "3rdparty/libatomicops")
-            (delete-file-recursively "3rdparty/libuv")
-            (delete-file-recursively "3rdparty/libtommath")
-            (delete-file-recursively "3rdparty/msinttypes")
-            #t))))
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://moarvm.org/releases/MoarVM-"
+                           version ".tar.gz"))
+       (sha256
+        (base32
+         "18iys1bdb92asggrsz7sg1hh76j7kq63c3fgg33fnla18qf4z488"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           ;; Delete libraries which we can provide through Guix.
+           (delete-file-recursively "3rdparty/dyncall")
+           (delete-file-recursively "3rdparty/libatomicops")
+           (delete-file-recursively "3rdparty/libuv")
+           (delete-file-recursively "3rdparty/libtommath")
+           ;; Useful only for Microsoft Visual Studio.
+           (delete-file-recursively "3rdparty/msinttypes")
+           #t))))
     (build-system perl-build-system)
     (arguments
      '(#:phases
@@ -64,19 +66,22 @@
                    (pkg-config (assoc-ref inputs "pkg-config")))
                (setenv "LDFLAGS" (string-append "-Wl,-rpath=" out "/lib"))
                (invoke "perl" "Configure.pl"
-                       "--prefix" out
-                       "--pkgconfig" (string-append pkg-config "/bin/pkg-config")
+                       (string-append "--prefix=" out)
+                       (string-append "--pkgconfig=" pkg-config
+                                      "/bin/pkg-config")
                        "--has-libtommath"
                        "--has-libatomic_ops"
                        "--has-libffi"
-                       "--has-libuv")))))))
+                       "--has-libuv"
+                       "--has-dyncall")))))))
     (home-page "https://moarvm.org/")
     ;; These should be inputs but moar.h can't find them when building rakudo
     (propagated-inputs
      `(("libatomic-ops" ,libatomic-ops)
        ("libffi" ,libffi)
-       ("libtommath" ,libtommath-1.0)
-       ("libuv" ,libuv)))
+       ("libtommath" ,libtommath)
+       ("libuv" ,libuv)
+       ("dyncall" ,dyncall)))
     (native-inputs
      `(("pkg-config" ,pkg-config)))
     (synopsis "VM for NQP And Rakudo Perl 6")
@@ -96,7 +101,9 @@ asynchronous sockets, timers, processes, and more
 exceptions, continuations, runtime loading of code, big integers and interfacing
 with native libraries.
 @end itemize")
-    (license license:artistic2.0)))
+    (license (list license:artistic2.0       ; For MoarVM itself
+                   license:expat             ; 3rdparty/freebsd,tinymt,cmp
+                   license:public-domain)))) ; 3rdparty/sha1
 
 (define-public nqp
   (package
-- 
2.30.0