[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#34831] [PATCH 03/25] gnu: Add rakudo.
From: |
Efraim Flashner |
Subject: |
[bug#34831] [PATCH 03/25] gnu: Add rakudo. |
Date: |
Tue, 19 Mar 2019 12:04:13 +0200 |
User-agent: |
Mutt/1.11.3 (2019-02-01) |
On Tue, Mar 12, 2019 at 10:19:52PM +0200, Efraim Flashner wrote:
> * gnu/packages/perl6.scm (rakudo): New variable.
> ---
> gnu/packages/perl6.scm | 70 +++++++++++++++++++++++++++++++++++++++++-
> 1 file changed, 69 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm
> index 344bb4efda..9659361309 100644
> --- a/gnu/packages/perl6.scm
> +++ b/gnu/packages/perl6.scm
> @@ -25,7 +25,8 @@
> #:use-module (gnu packages bdw-gc)
> #:use-module (gnu packages libevent)
> #:use-module (gnu packages libffi)
> - #:use-module (gnu packages pkg-config))
> + #:use-module (gnu packages pkg-config)
> + #:use-module (gnu packages tls))
>
> (define-public moarvm
> (package
> @@ -159,3 +160,70 @@ 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 "2018.12")
> + (source
> + (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/rakudo/rakudo.git")
> + (commit version)))
> + (file-name (git-file-name name version))
This can also be downloaded from https://rakudo.perl6.org/downloads/rakudo/
> + (sha256
> + (base32
> + "1g8n1vmpi3g6qd0bj59lwgmcqdwlyg3nciyxbdnq7bw7qp12k0p4"))))
> + (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 to use for installing perl6 modules
> as
> + ;; a distribution. See: https://github.com/ugexe/zef/issues/117
"This is the recommended tool for distro maintainers to install perl6
modules systemwide"
> + (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"))))
Should we install the rest of the 'dist' folder and the 'resources'
folder?
> + #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.")
Can this be lengthened?
> + (license license:artistic2.0)))
> --
> 2.21.0
>
--
Efraim Flashner <address@hidden> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
signature.asc
Description: PGP signature
- [bug#34831] [PATCH 00/25] Add perl6, Efraim Flashner, 2019/03/12
- [bug#34831] [PATCH 02/25] gnu: Add nqp., Efraim Flashner, 2019/03/12
- [bug#34831] [PATCH 01/25] gnu: Add moarvm., Efraim Flashner, 2019/03/12
- [bug#34831] [PATCH 05/25] gnu: Add perl6-tap-harness., Efraim Flashner, 2019/03/12
- [bug#34831] [PATCH 08/25] gnu: Add perl6-json-fast., Efraim Flashner, 2019/03/12
- [bug#34831] [PATCH 12/25] gnu: Add perl6-json-class., Efraim Flashner, 2019/03/12
- [bug#34831] [PATCH 03/25] gnu: Add rakudo., Efraim Flashner, 2019/03/12
- [bug#34831] [PATCH 03/25] gnu: Add rakudo.,
Efraim Flashner <=
- [bug#34831] [PATCH 07/25] gnu: Add perl6-uri., Efraim Flashner, 2019/03/12
- [bug#34831] [PATCH 06/25] gnu: Add perl6-zef., Efraim Flashner, 2019/03/12
- [bug#34831] [PATCH 09/25] gnu: Add perl6-json-name., Efraim Flashner, 2019/03/12
- [bug#34831] [PATCH 10/25] gnu: Add perl6-json-unmarshal., Efraim Flashner, 2019/03/12
- [bug#34831] [PATCH 14/25] gnu: Add perl6-license-spdx., Efraim Flashner, 2019/03/12
- [bug#34831] [PATCH 13/25] gnu: Add perl6-meta6., Efraim Flashner, 2019/03/12
- [bug#34831] [PATCH 11/25] gnu: Add perl6-json-marshal., Efraim Flashner, 2019/03/12
- [bug#34831] [PATCH 18/25] gnu: Add perl6-svg-plot., Efraim Flashner, 2019/03/12
- [bug#34831] [PATCH 16/25] gnu: Add perl6-xml-writer., Efraim Flashner, 2019/03/12
- [bug#34831] [PATCH 15/25] gnu: Add perl6-test-meta., Efraim Flashner, 2019/03/12