From debbugs-submit-bounces@debbugs.gnu.org Tue Aug 30 12:31:52 2022 Received: (at submit) by debbugs.gnu.org; 30 Aug 2022 16:31:52 +0000 Received: from localhost ([127.0.0.1]:37282 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oT49Y-0007ft-1V for submit@debbugs.gnu.org; Tue, 30 Aug 2022 12:31:52 -0400 Received: from lists.gnu.org ([209.51.188.17]:45712) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oT49T-0007fh-54 for submit@debbugs.gnu.org; Tue, 30 Aug 2022 12:31:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38868) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oT49S-0004np-Fj for guix-patches@gnu.org; Tue, 30 Aug 2022 12:31:46 -0400 Received: from out1.migadu.com ([2001:41d0:2:863f::]:38435) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oT49P-0004HV-Bd for guix-patches@gnu.org; Tue, 30 Aug 2022 12:31:46 -0400 MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=codesections.com; s=key1; t=1661877097; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1VuxvB9pptNxlJjIZLJpIY8qLDS5zRZUGWUF2lCJfAM=; b=zsdSvtMvBbPCy1etkVpawQGerhztAW/TjMyyENtq6fJhDStKe9itWlZqTaeR76SxVJYIhO 9GxuwDCwRPblctzeie7VIFyBVFHM0xkC+ENjeVJpOTZptPt3Ui/xWshk+lC5zJ9+3gTtrQ llLIt+XWq01brEjPcI/Qi0f36WqLgOQttjE46CQxOq4UsYUSp1R5UqmjIIDI/f0VOLTBzh cYKzzlVMvGaX+0lWTQWM1coOPcpAIP52fhB5qbwUgrmsDb+R0+uw6wBS1AK5+xd49vDOmn aBwaQ/Iu6u3oJ+zRnrCR6Z2oXoP11hsBNE7z7W+LcyCl2+rE6l4u+D1wo5kmqg== Date: Tue, 30 Aug 2022 16:31:36 +0000 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: "Daniel Sockwell" Message-ID: Subject: [PATCH] patch series: Update Raku ecosystem To: guix-patches@gnu.org X-Migadu-Flow: FLOW_OUT X-Migadu-Auth-User: codesections.com Received-SPF: pass client-ip=2001:41d0:2:863f::; envelope-from=daniel@codesections.com; helo=out1.migadu.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) Hi all,=0A=0AI am working on updating Guix's version of the compiler/rela= ted tools=0Afor the Raku programming language. The current versions are = from March=0Aof 2019, which makes them pretty out-of-date given Raku's mo= nthly=0Arelease cadence.=0A=0AThis first patch is for MoarVM (the virtual= machine that Raku runs on)=0Awhich is a dependency for later packages. = I note that, unfortunately,=0Athe output of this package is currently non= -deterministic; however, the=0Asame is true of the 2019 version so that n= on-determinism isn't a=0Aregression.=0A=0AThis is my first Guix package s= o I'd welcome any feedback you might=0Ahave. I will follow up shortly wi= th three additional patches that=0AGuix needs in order to provide an up-t= o-date Raku compiler.=0A=0AThanks in advance!=0A=0ABest,=0ADaniel=0A=0A= =0AFrom 18919edeb7ba1f3e3a18e710a715eec899f1910c Mon Sep 17 00:00:00 2001= =0AMessage-Id: <18919edeb7ba1f3e3a18e710a715eec899f1910c.1661876717.git.d= aniel@codesections.com>=0AFrom: Daniel Sockwell = =0ADate: Tue, 30 Aug 2022 12:23:21 -0400=0ASubject: [PATCH] Update moarvm= 2019.03->2022.07=0A=0A---=0A gnu/packages/perl6.scm | 88 +++++++++++++++= ++++++---------------------=0A 1 file changed, 45 insertions(+), 43 delet= ions(-)=0A=0Adiff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm= =0Aindex dab9dd477b..9b3d98987a 100644=0A--- a/gnu/packages/perl6.scm=0A+= ++ b/gnu/packages/perl6.scm=0A@@ -22,11 +22,13 @@ (define-module (gnu pac= kages perl6)=0A #:use-module (guix download)=0A #:use-module (guix gi= t-download)=0A #:use-module (guix packages)=0A+ #:use-module (guix bui= ld-system gnu)=0A #:use-module (guix build-system perl)=0A #:use-modu= le (guix build-system rakudo)=0A #:use-module (gnu packages bdw-gc)=0A = #:use-module (gnu packages libevent)=0A #:use-module (gnu packages li= bffi)=0A+ #:use-module (gnu packages perl)=0A #:use-module (gnu packag= es multiprecision)=0A #:use-module (gnu packages pkg-config)=0A #:use= -module (gnu packages tls))=0A@@ -34,29 +36,27 @@ (define-module (gnu pac= kages perl6)=0A (define-public moarvm=0A (package=0A (name "moarvm"= )=0A- (version "2019.03")=0A+ (version "2022.07")=0A (source=0A= - (origin=0A- (method url-fetch)=0A- (uri (string-appe= nd "https://moarvm.org/releases/MoarVM-"=0A- v= ersion ".tar.gz"))=0A- (sha256=0A- (base32=0A- "0= 17w1zvr6yl0cgjfc1b3ddlc6vjw9q8p7alw1vvsckw95190xc14"))=0A- (module= s '((guix build utils)))=0A- (snippet=0A- '(begin=0A- = ;(delete-file-recursively "3rdparty/dynasm") ; JIT=0A- = (delete-file-recursively "3rdparty/dyncall")=0A- (delete-file-= recursively "3rdparty/freebsd")=0A- (delete-file-recursively "= 3rdparty/libatomicops")=0A- (delete-file-recursively "3rdparty= /libuv")=0A- (delete-file-recursively "3rdparty/libtommath")= =0A- (delete-file-recursively "3rdparty/msinttypes")=0A- = #t))))=0A- (build-system perl-build-system)=0A+ (origin=0A+ = (method url-fetch)=0A+ (uri (string-append "https://moarvm.or= g/releases/MoarVM-" version ".tar.gz"))=0A+ (sha256 (base32 "0ijvdd= 7jyq990zyxrlv8pqhf53q20qhbjly6cnagj9pq2r6z0zik"))=0A+ (modules '((g= uix build utils)))=0A+ (snippet=0A+ '(begin (for-each=0A+ = delete-file-recursively=0A+ '(;"3rdparty/dy= ncall" ; upstream prefers dyncall to libffi=0A+ ;"3rdpa= rty/dynasm" ; needed for JIT=0A+ ;"3rdparty/freebsd" ;= freebsd/memmem.o is used on linux=0A+ "3rdparty/libato= micops"=0A+ "3rdparty/libtommath"=0A+ = "3rdparty/libuv"=0A+ "3rdparty/msinttypes"))))))=0A+ = (build-system gnu-build-system)=0A (arguments=0A- '(#:phases=0A= + '(#:test-target "test"=0A+ #:phases=0A (modify-phases = %standard-phases=0A (replace 'configure=0A (lambda* (= #:key inputs outputs #:allow-other-keys)=0A@@ -65,34 +65,36 @@ (define-pu= blic moarvm=0A (setenv "CFLAGS" "-fcommon")=0A = (setenv "LDFLAGS" (string-append "-Wl,-rpath=3D" out "/lib"))=0A = (invoke "perl" "Configure.pl"=0A- "--pre= fix" out=0A- "--pkgconfig" (string-append pkg-confi= g "/bin/pkg-config")=0A- "--has-libtommath"=0A+ = "--mimalloc"=0A "--has-libatomi= c_ops"=0A- "--has-libffi"=0A- = "--has-libuv")))))))=0A+ "--has-libtommath"=0A+ = "--has-libuv"=0A+ ;"--has-dynca= ll" ; TODO: package dyncall for guix=0A+ "--toolcha= in" "gnu"=0A+ "--os" "linux"=0A+ = "--pkgconfig" (string-append pkg-config "/bin/pkg-config")=0A+ = "--prefix" out)))))))=0A (home-page "https://moarvm.o= rg/")=0A ;; These should be inputs but moar.h can't find them when bu= ilding rakudo=0A- (propagated-inputs=0A- (list libatomic-ops libff= i libtommath-1.0 libuv))=0A- (native-inputs=0A- (list pkg-config))= =0A- (synopsis "VM for NQP And Rakudo Perl 6")=0A+ (propagated-inpu= ts (list libatomic-ops libtommath libuv))=0A+ (native-inputs (list pkg= -config perl))=0A+ (synopsis "Virtual machine for the Raku programming= language")=0A (description=0A- "Short for \"Metamodel On A Runti= me\", MoarVM is a modern virtual machine=0A-built for the Rakudo Perl 6 c= ompiler and the NQP Compiler Toolchain. Highlights=0A-include:=0A+ "= MoarVM (\"Metamodel On A Runtime\") is a modern virtual machine built for= =0A+the Raku programming language, NQP, and the Rakudo Raku compiler. Mo= arVM's=0A+features include:=0A =0A @itemize=0A-@item Great Unicode suppor= t, with strings represented at grapheme level=0A-@item Dynamic analysis o= f running code to identify hot functions and loops, and=0A-perform a rang= e of optimizations, including type specialization and inlining=0A-@item S= upport for threads, a range of concurrency control constructs, and=0A-asy= nchronous sockets, timers, processes, and more=0A-@item Generational, par= allel, garbage collection=0A-@item Support for numerous language features= , including first class functions,=0A-exceptions, continuations, runtime = loading of code, big integers and interfacing=0A-with native libraries.= =0A+@item Just-in-time compilation of running code, allowing MoarVM to id= entify=0A+and optimize hot functions/loops. Optimizations include type s= pecialization,=0A+code inlining/elimination, and on-stack replacement.=0A= +@item Unusually strong Unicode support enabled by strings represented at= =0A+grapheme level and an embedded copy of the Unicode Character Database= =0A+@item Support for numerous Raku language features, such as delimited= =0A+continuations, first-class functions, resumable exceptions, runtime c= ode=0A+loading, bounded serialization, and native calling/pointer manipul= ation.=0A+@item The low-level concurrency primitives required to implemen= t Raku's=0A+high level concurrency system.=0A @end itemize")=0A (lice= nse license:artistic2.0)))=0A =0A-- =0A2.37.2