From: Efraim Flashner <efraim@flashner.co.il>
To: 34831@debbugs.gnu.org
Subject: [bug#34831] [PATCH 03/25] gnu: Add rakudo.
Date: Tue, 19 Mar 2019 12:04:13 +0200 [thread overview]
Message-ID: <20190319100413.GF1141@macbook41> (raw)
In-Reply-To: <20190312202014.31224-3-efraim@flashner.co.il>
[-- Attachment #1: Type: text/plain, Size: 4500 bytes --]
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 <efraim@flashner.co.il> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2019-03-19 10:05 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-12 20:16 [bug#34831] [PATCH 00/25] Add perl6 Efraim Flashner
2019-03-12 20:19 ` [bug#34831] [PATCH 01/25] gnu: Add moarvm Efraim Flashner
2019-03-19 10:05 ` Efraim Flashner
2019-03-12 20:19 ` [bug#34831] [PATCH 02/25] gnu: Add nqp Efraim Flashner
2019-03-19 10:02 ` Efraim Flashner
2019-03-12 20:19 ` [bug#34831] [PATCH 03/25] gnu: Add rakudo Efraim Flashner
2019-03-19 10:04 ` Efraim Flashner [this message]
2019-03-12 20:19 ` [bug#34831] [PATCH 04/25] build: Add rakudo-build-system Efraim Flashner
2019-03-19 10:13 ` Efraim Flashner
2019-03-19 10:15 ` Efraim Flashner
2019-03-12 20:19 ` [bug#34831] [PATCH 05/25] gnu: Add perl6-tap-harness Efraim Flashner
2019-03-12 20:19 ` [bug#34831] [PATCH 06/25] gnu: Add perl6-zef Efraim Flashner
2019-03-12 20:19 ` [bug#34831] [PATCH 07/25] gnu: Add perl6-uri Efraim Flashner
2019-03-12 20:19 ` [bug#34831] [PATCH 08/25] gnu: Add perl6-json-fast Efraim Flashner
2019-03-12 20:19 ` [bug#34831] [PATCH 09/25] gnu: Add perl6-json-name Efraim Flashner
2019-03-12 20:19 ` [bug#34831] [PATCH 10/25] gnu: Add perl6-json-unmarshal Efraim Flashner
2019-03-12 20:20 ` [bug#34831] [PATCH 11/25] gnu: Add perl6-json-marshal Efraim Flashner
2019-03-12 20:20 ` [bug#34831] [PATCH 12/25] gnu: Add perl6-json-class Efraim Flashner
2019-03-12 20:20 ` [bug#34831] [PATCH 13/25] gnu: Add perl6-meta6 Efraim Flashner
2019-03-12 20:20 ` [bug#34831] [PATCH 14/25] gnu: Add perl6-license-spdx Efraim Flashner
2019-03-12 20:20 ` [bug#34831] [PATCH 15/25] gnu: Add perl6-test-meta Efraim Flashner
2019-03-12 20:20 ` [bug#34831] [PATCH 16/25] gnu: Add perl6-xml-writer Efraim Flashner
2019-03-12 20:20 ` [bug#34831] [PATCH 17/25] gnu: Add perl6-svg Efraim Flashner
2019-03-12 20:20 ` [bug#34831] [PATCH 18/25] gnu: Add perl6-svg-plot Efraim Flashner
2019-03-12 20:20 ` [bug#34831] [PATCH 19/25] gnu: Add perl6-terminal-ansicolor Efraim Flashner
2019-03-12 20:20 ` [bug#34831] [PATCH 20/25] gnu: Add perl6-oo-monitors Efraim Flashner
2019-03-12 20:20 ` [bug#34831] [PATCH 21/25] gnu: Add perl6-test-mock Efraim Flashner
2019-03-12 20:20 ` [bug#34831] [PATCH 22/25] gnu: Add perl6-grammar-profiler-simple Efraim Flashner
2019-03-12 20:20 ` [bug#34831] [PATCH 23/25] gnu: Add perl6-grammar-debugger Efraim Flashner
2019-03-12 20:20 ` [bug#34831] [PATCH 24/25] gnu: Add perl6-mime-base64 Efraim Flashner
2019-03-12 20:20 ` [bug#34831] [PATCH 25/25] gnu: Add perl6-json Efraim Flashner
2019-03-24 14:31 ` bug#34831: [PATCH 00/25] Add perl6 Efraim Flashner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190319100413.GF1141@macbook41 \
--to=efraim@flashner.co.il \
--cc=34831@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.