[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
04/26: gnu: Add rakudo.
From: |
guix-commits |
Subject: |
04/26: gnu: Add rakudo. |
Date: |
Tue, 19 Mar 2019 15:16:48 -0400 (EDT) |
efraim pushed a commit to branch wip-perl6
in repository guix.
commit 994519a95c5b2fb5fc53d7f9e1cda2d264b3868c
Author: Efraim Flashner <address@hidden>
Date: Sun Feb 24 20:44:44 2019 +0200
gnu: Add rakudo.
* gnu/packages/perl6.scm (rakudo): New variable.
---
gnu/packages/perl6.scm | 68 +++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 67 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm
index 3f7b813..b678193 100644
--- a/gnu/packages/perl6.scm
+++ b/gnu/packages/perl6.scm
@@ -25,7 +25,8 @@
#:use-module (gnu packages libevent)
#:use-module (gnu packages libffi)
#:use-module (gnu packages multiprecision)
- #:use-module (gnu packages pkg-config))
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages tls))
(define-public moarvm
(package
@@ -159,3 +160,68 @@ 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
regular expression engine for the virtual machine.")
(license license:artistic2.0)))
+
+(define-public rakudo
+ (package
+ (name "rakudo")
+ (version "2019.03.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://rakudo.perl6.org/downloads/rakudo/rakudo-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1nllf69v8xr6v3kkj7pmryg11n5m3ajfkr7j72pvhrgnjy8lv3r1"))))
+ (build-system perl-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-source-date
+ (lambda _
+ (substitute* "tools/build/gen-version.pl"
+ (("gmtime") "gmtime(0)"))
+ #t))
+ (add-after 'patch-source-shebangs 'patch-more-shebangs
+ (lambda _
+ (substitute* '("tools/build/create-js-runner.pl"
+ "tools/build/create-moar-runner.p6"
+ "tools/build/create-jvm-runner.pl"
+ "src/core/Proc.pm6")
+ (("/bin/sh") (which "sh")))
+ #t))
+ (replace 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (nqp (assoc-ref inputs "nqp")))
+ (invoke "perl" "./Configure.pl"
+ "--backend=moar"
+ "--with-nqp" (string-append nqp "/bin/nqp")
+ "--prefix" out))))
+ ;; This is the recommended tool for distro maintainers to install
perl6
+ ;; modules systemwide. See: https://github.com/ugexe/zef/issues/117
+ (add-after 'install 'install-dist-tool
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (dest (string-append out "/share/perl6/tools")))
+ (install-file "tools/install-dist.p6" dest)
+ (substitute* (string-append dest "/install-dist.p6")
+ (("/usr/bin/env perl6")
+ (string-append out "/bin/perl6"))))
+ #t)))))
+ (inputs
+ `(("moarvm" ,moarvm)
+ ("nqp" ,nqp)
+ ("openssl" ,openssl)))
+ (home-page "https://rakudo.org/")
+ (native-search-paths
+ (list (search-path-specification
+ (variable "PERL6LIB")
+ (separator ",")
+ (files '("share/perl6/lib"
+ "share/perl6/site/lib"
+ "share/perl6/vendor/lib")))))
+ (synopsis "Perl 6 Compiler")
+ (description "Rakudo Perl is a compiler that implements the Perl 6
+specification and runs on top of several virtual machines.")
+ (license license:artistic2.0)))
- 26/26: gnu: Add perl6-json., (continued)
- 26/26: gnu: Add perl6-json., guix-commits, 2019/03/19
- 19/26: gnu: Add perl6-svg-plot., guix-commits, 2019/03/19
- 20/26: gnu: Add perl6-terminal-ansicolor., guix-commits, 2019/03/19
- 22/26: gnu: Add perl6-test-mock., guix-commits, 2019/03/19
- 12/26: gnu: Add perl6-json-marshal., guix-commits, 2019/03/19
- 25/26: gnu: Add perl6-mime-base64., guix-commits, 2019/03/19
- 18/26: gnu: Add perl6-svg., guix-commits, 2019/03/19
- 23/26: gnu: Add perl6-grammar-profiler-simple., guix-commits, 2019/03/19
- 09/26: gnu: Add perl6-json-fast., guix-commits, 2019/03/19
- 14/26: gnu: Add perl6-meta6., guix-commits, 2019/03/19
- 04/26: gnu: Add rakudo.,
guix-commits <=
- 08/26: gnu: Add perl6-uri., guix-commits, 2019/03/19
- 07/26: gnu: Add perl6-zef., guix-commits, 2019/03/19
- 02/26: gnu: Add moarvm., guix-commits, 2019/03/19
- 11/26: gnu: Add perl6-json-unmarshal., guix-commits, 2019/03/19
- 10/26: gnu: Add perl6-json-name., guix-commits, 2019/03/19
- 13/26: gnu: Add perl6-json-class., guix-commits, 2019/03/19
- 15/26: gnu: Add perl6-license-spdx., guix-commits, 2019/03/19
- 06/26: gnu: Add perl6-tap-harness., guix-commits, 2019/03/19
- 03/26: gnu: Add nqp., guix-commits, 2019/03/19
- 05/26: build: Add rakudo-build-system., guix-commits, 2019/03/19