From f3f39988b5da46ff7010179626f530471f9c7d5d Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Apr 2022 05:17:38 +0000 Subject: [PATCH] gnu: nqp: Update to 2022.04. * gnu/packages/perl6.scm (nqp): Update to 2022.04. [arguments]: Add 'remove-calls-to-git' and 'fix-paths' phases. Remove obsolete files from 'patch-more-shebangs' phase and sort the rest. Remove 'patch-source-date' and 'remove-failing-test' phases. [native-inputs]: Add nqp-configure. [home-page]: Update. [description]: Replace mentions of Perl with Raku. Signed-off-by: Efraim Flashner --- gnu/packages/perl6.scm | 56 ++++++++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 26 deletions(-) diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm index b510a584f2..0e0c352892 100644 --- a/gnu/packages/perl6.scm +++ b/gnu/packages/perl6.scm @@ -155,15 +155,14 @@ t/30-if-macro.t\n"))))) (define-public nqp (package (name "nqp") - (version "2019.03") + (version "2022.04") (source (origin (method url-fetch) - (uri (string-append "https://rakudo.perl6.org/downloads/nqp/nqp-" - version ".tar.gz")) + (uri (string-append "https://github.com/Raku/nqp/releases/download/" + version "/nqp-" version ".tar.gz")) (sha256 - (base32 - "183zhll13fx416s3hkg4bkvib77kyr857h0nydgrl643fpacxp83")) + (base32 "1777shxr8qw6m2492ckb0r301qdx5gls6kphz554dh6k4n74avam")) (modules '((guix build utils))) (snippet '(delete-file-recursively "3rdparty")))) @@ -171,25 +170,28 @@ t/30-if-macro.t\n"))))) (arguments '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'remove-calls-to-git + (lambda _ + (invoke "perl" "-ni" "-e" + "print if not /^BEGIN {/ .. /^}/" + "Configure.pl"))) + (add-after 'remove-calls-to-git 'fix-paths + (lambda _ + (substitute* "tools/build/gen-version.pl" + (("catfile\\(\\$libdir, 'MAST', \\$_\\)") + (string-append "catfile('" + (assoc-ref %build-inputs "moarvm") + "/share/nqp/lib" + "', 'MAST', $_)"))))) (add-after 'patch-source-shebangs 'patch-more-shebangs (lambda _ - (substitute* '("tools/build/install-jvm-runner.pl.in" + (substitute* '("t/nqp/111-spawnprocasync.t" + "t/nqp/113-run-command.t" "tools/build/gen-js-cross-runner.pl" "tools/build/gen-js-runner.pl" "tools/build/install-js-runner.pl" - "tools/build/install-moar-runner.pl" - "tools/build/gen-moar-runner.pl" - "t/nqp/111-spawnprocasync.t" - "t/nqp/113-run-command.t") + "tools/build/install-jvm-runner.pl.in") (("/bin/sh") (which "sh"))))) - (add-after 'unpack 'patch-source-date - (lambda _ - (substitute* "tools/build/gen-version.pl" - (("gmtime") "gmtime(0)")))) - (add-after 'unpack 'remove-failing-test - ;; One subtest fails for unknown reasons - (lambda _ - (delete-file "t/nqp/019-file-ops.t"))) (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) @@ -198,18 +200,20 @@ t/30-if-macro.t\n"))))) "--backends=moar" "--with-moar" (string-append moar "/bin/moar") "--prefix" out))))))) + (native-inputs + (list nqp-configure)) (inputs (list moarvm)) - (home-page "https://github.com/perl6/nqp") + (home-page "https://github.com/Raku/nqp") (synopsis "Not Quite Perl") - (description "This is \"Not Quite Perl\" -- a lightweight Perl 6-like -environment for virtual machines. The key feature of NQP is that it's designed -to be a very small environment (as compared with, say, perl6 or Rakudo) and is -focused on being a high-level way to create compilers and libraries for virtual -machines like MoarVM, the JVM, and others. + (description "This is \"Not Quite Perl\" -- a lightweight Raku-like +environment for virtual machines. The key feature of NQP is that it's +designed to be a very small environment (as compared with, say, Rakudo) and is +focused on being a high-level way to create compilers and libraries for +virtual machines like MoarVM, the JVM, and others. -Unlike a full-fledged implementation of Perl 6, NQP strives to have as small a -runtime footprint as it can, while still providing a Perl 6 object model and +Unlike a full-fledged implementation of Raku, NQP strives to have as small a +runtime footprint as it can, while still providing a Raku object model and regular expression engine for the virtual machine.") (license license:artistic2.0)))