From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([209.51.188.92]:39675) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h6BdE-0006qM-EJ for guix-patches@gnu.org; Tue, 19 Mar 2019 06:06:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h6BdC-0000o4-Qs for guix-patches@gnu.org; Tue, 19 Mar 2019 06:06:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:36030) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1h6BdC-0000nK-Dl for guix-patches@gnu.org; Tue, 19 Mar 2019 06:06:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1h6BdC-0003xy-4c for guix-patches@gnu.org; Tue, 19 Mar 2019 06:06:02 -0400 Subject: [bug#34831] [PATCH 01/25] gnu: Add moarvm. Resent-Message-ID: Date: Tue, 19 Mar 2019 12:05:42 +0200 From: Efraim Flashner Message-ID: <20190319100542.GG1141@macbook41> References: <20190312201608.30892-1-efraim@flashner.co.il> <20190312202014.31224-1-efraim@flashner.co.il> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="GdbWtwDHkcXqP16f" Content-Disposition: inline In-Reply-To: <20190312202014.31224-1-efraim@flashner.co.il> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 34831@debbugs.gnu.org --GdbWtwDHkcXqP16f Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Mar 12, 2019 at 10:19:50PM +0200, Efraim Flashner wrote: > * gnu/packages/perl6.scm (moarvm): New variable. > --- > gnu/local.mk | 3 +- > gnu/packages/perl6.scm | 93 ++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 95 insertions(+), 1 deletion(-) > create mode 100644 gnu/packages/perl6.scm >=20 > diff --git a/gnu/local.mk b/gnu/local.mk > index af2bf87273..79b93d5966 100644 > --- a/gnu/local.mk > +++ b/gnu/local.mk > @@ -10,7 +10,7 @@ > # Copyright =C2=A9 2016, 2017, 2018, 2019 Ricardo Wurmus > # Copyright =C2=A9 2016 Ben Woodcroft > # Copyright =C2=A9 2016, 2017, 2018, 2019 Alex Vong > -# Copyright =C2=A9 2016, 2017 Efraim Flashner > +# Copyright =C2=A9 2016, 2017, 2018, 2019 Efraim Flashner > # Copyright =C2=A9 2016, 2017 Jan Nieuwenhuizen > # Copyright =C2=A9 2017, 2018, 2019 Tobias Geerinckx-Rice > # Copyright =C2=A9 2017, 2018 Cl=C3=A9ment Lassieur > @@ -364,6 +364,7 @@ GNU_SYSTEM_MODULES =3D \ > %D%/packages/perl-check.scm \ > %D%/packages/perl-compression.scm \ > %D%/packages/perl-web.scm \ > + %D%/packages/perl6.scm \ > %D%/packages/photo.scm \ > %D%/packages/phabricator.scm \ > %D%/packages/php.scm \ > diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm > new file mode 100644 > index 0000000000..7e92c865aa > --- /dev/null > +++ b/gnu/packages/perl6.scm > @@ -0,0 +1,93 @@ > +;;; GNU Guix --- Functional package management for GNU > +;;; Copyright =C2=A9 2019 Efraim Flashner > +;;; > +;;; This file is part of GNU Guix. > +;;; > +;;; GNU Guix is free software; you can redistribute it and/or modify it > +;;; under the terms of the GNU General Public License as published by > +;;; the Free Software Foundation; either version 3 of the License, or (at > +;;; your option) any later version. > +;;; > +;;; GNU Guix is distributed in the hope that it will be useful, but > +;;; WITHOUT ANY WARRANTY; without even the implied warranty of > +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > +;;; GNU General Public License for more details. > +;;; > +;;; You should have received a copy of the GNU General Public License > +;;; along with GNU Guix. If not, see . > + > +(define-module (gnu packages perl6) > + #:use-module ((guix licenses) #:prefix license:) > + #:use-module (guix download) > + #:use-module (guix packages) > + #:use-module (guix build-system perl) > + #:use-module (gnu packages bdw-gc) > + #:use-module (gnu packages libevent) > + #:use-module (gnu packages libffi) > + #:use-module (gnu packages pkg-config)) > + > +(define-public moarvm > + (package > + (name "moarvm") > + (version "2018.12") Can this be upgraded to 2019.03? I saw rakudo has a 2019.03.1 release which might fix issues discovered previously when using 2019.03 > + (source > + (origin > + (method url-fetch) > + (uri (string-append "https://moarvm.org/releases/MoarVM-" > + version ".tar.gz")) > + (sha256 > + (base32 > + "0fv98712k1gk56a612388db1azjsyabsbygav1pa3z2kd6js4cz4")) > + (modules '((guix build utils))) > + (snippet > + '(begin > + ;(delete-file-recursively "3rdparty/dynasm") ; JIT > + (delete-file-recursively "3rdparty/dyncall") > + (delete-file-recursively "3rdparty/freebsd") > + (delete-file-recursively "3rdparty/libatomicops") > + (delete-file-recursively "3rdparty/libuv") > + ;(delete-file-recursively "3rdparty/libtommath") v1.0 Perhaps libtommath-1.0 should be packaged also and used > + (delete-file-recursively "3rdparty/msinttypes") > + #t)))) > + (build-system perl-build-system) > + (arguments > + '(#:phases > + (modify-phases %standard-phases > + (replace 'configure > + (lambda* (#:key inputs outputs #:allow-other-keys) > + (let ((out (assoc-ref outputs "out")) > + (pkg-config (assoc-ref inputs "pkg-config"))) > + (setenv "LDFLAGS" (string-append "-Wl,-rpath=3D" out "/li= b")) > + (invoke "perl" "Configure.pl" > + "--prefix" out > + "--pkgconfig" (string-append pkg-config "/bin/pkg= -config") > + "--has-libatomic_ops" > + "--has-libffi" > + "--has-libuv"))))))) > + (home-page "https://moarvm.org/") > + ;; These should be inputs but moar.h can't find them when building r= akudo > + (propagated-inputs > + `(("libatomic-ops" ,libatomic-ops) > + ("libuv" ,libuv))) > + (inputs > + `(("libffi" ,libffi))) > + (native-inputs > + `(("pkg-config" ,pkg-config))) > + (synopsis "VM for NQP And Rakudo Perl 6") > + (description > + "Short for \"Metamodel On A Runtime\", MoarVM is a modern virtual m= achine > +built for the Rakudo Perl 6 compiler and the NQP Compiler Toolchain. Hi= ghlights > +include: > + > +@itemize > +@item Great Unicode support, with strings represented at grapheme level > +@item Dynamic analysis of running code to identify hot functions and loo= ps, and > +perform a range of optimizations, including type specialization and inli= ning > +@item Support for threads, a range of concurrency control constructs, and > +asynchronous sockets, timers, processes, and more > +@item Generational, parallel, garbage collection > +@item Support for numerous language features, including first class func= tions, > +exceptions, continuations, runtime loading of code, big integers and int= erfacing > +with native libraries. > +@end itemize") > + (license license:artistic2.0))) > --=20 > 2.21.0 >=20 --=20 Efraim Flashner =D7=90=D7=A4=D7=A8=D7=99=D7=9D = =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8 GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted --GdbWtwDHkcXqP16f Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAlyQvvYACgkQQarn3Mo9 g1H17w//UqEmSlUXO2eH3nC0QT1KFct2u7p5UevnOe3Lu0Zl+SnVUzKYCfnS2hB6 F9L+xZu5rP7XoUGFW54Ap7qh0azKhQnjaRtm5/gvdpeFa4dbtuVRe+kPS1BlDjKW IrFQxouvHS/b30O4G+3abcuvM6SN7CUD3gXaZp0SWx5AogAuaEr/HGG3FwFsgbvc J98eyd5PROqS80g9bFHEWeBifOuhLK5zfmS1j+AXS/ghMiuOs9IyD50703fY/Izw 84IbdlzFKIBNURLHTEVeZygf7wQ5Od0SmER5bHcMTX69wc0pHPpmrw+HvbjYQLaV DSoQWNqi8Fa6RIInoMJut/uYvtjWSQr4kI7YWmZKaT7kBy9KMNtLh5owrETTyVPT 43JrgexJTSsQoPFvpHAgkkCEG+Y2wuEcfH5hHtKrITG1vntnbfe+FIvnubz+Gb+z +7yzlc7AL09auAP6URsDFkAGFKAxUTty8Nq2uy3XThGp8D5G/8lhTP9rsq3SMOLL iW5rQ3QuNPZjSsYo1vgJo0bDiu7TbiXS1L3Ja7Si6ctLIrGH02tM63vVkAgBqJwo G9AeRbchSDws8ChAMQqiWUFz+rltD3Ks9VAE0h0xnyPL16CmACkQ+hH2WQR7tOD5 Vd0HNM3PGp2WplUkvwmYsEnXA+TBYl8ZsicfL7uVcVdxDnLajjY= =QS5r -----END PGP SIGNATURE----- --GdbWtwDHkcXqP16f--