all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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 --]

  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.