From debbugs-submit-bounces@debbugs.gnu.org Tue Aug 30 12:59:08 2022 Received: (at 57491) by debbugs.gnu.org; 30 Aug 2022 16:59:08 +0000 Received: from localhost ([127.0.0.1]:37352 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oT4Zv-0008RD-UU for submit@debbugs.gnu.org; Tue, 30 Aug 2022 12:59:08 -0400 Received: from out1.migadu.com ([91.121.223.63]:57663) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oT4Zp-0008Qj-QT for 57491@debbugs.gnu.org; Tue, 30 Aug 2022 12:59:05 -0400 MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=codesections.com; s=key1; t=1661878740; 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: in-reply-to:in-reply-to:references:references; bh=krak3rHxVVJahmw/t43U1EDdSCfudOCPR8+9f7bwETU=; b=l3BrggMPLtn+OeE9xQ1Nc/+lkh8RdC8J0aFXdtgVXOaLE013hSy9jhSG7cWDi6AGnnv59U MyTIMBPpwViO4TEqqt5DwtJkc+bU5mnkrJejVQq0O8XPcvb7S3h7kmgcHelC54il3Rj+kT hnOjUUoVxEWn2QYujg1tx5I8/5fbg2GvJ3M+WMfHeDysMFROclKWiNHARbDugbBtyatuFD 3RjPnMfCa944Bv7YHSgnwsdaZZV+c+YtcwFZS1gl3PbpysVaTG6uD7NWEumTc4JR1LM+2y 9yeRrdmVccacPLFUHJvxXWfwRXafOiOW+K/wmq41ob+9nNwZ5qlbnjYkslz//A== Date: Tue, 30 Aug 2022 16:59:00 +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: <2dfb67c93f7d2cfabf26c89298c7386d@codesections.com> Subject: Re: [PATCH] patch series: Update Raku ecosystem To: 57491@debbugs.gnu.org In-Reply-To: <209b7ee5a4550c6de4495ef66584f718@codesections.com> References: <209b7ee5a4550c6de4495ef66584f718@codesections.com> X-Migadu-Flow: FLOW_OUT X-Migadu-Auth-User: codesections.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 57491 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: -1.7 (-) The fourth (and, for now, last) patch in this series updates Rakudo,=0Ath= e primary Raku compiler.=0A=0AFinally, I also want to note that one of th= e major changes in the Raku=0Aecosystem in the last few years is Raku's n= ame: Raku was previously known=0Aas "Perl 6" and the Guix module name ref= ers to by that old name. I'm not=0Asure if there's any way to update Gui= x's name (or add an alias?) without=0Abreaking things. But I wanted to b= ring the issue to the attention of =0Apeople who might know the best way = to proceed.=0A=0AI look forward to any feedback you might have and/or to = being able to=0A`guix install` an up-to-date version of Raku soon!=0A=0AB= est,=0ADaniel=0A=0AFrom fcdc70a2ec483c6f1abe0c6230ad0aa9a29a2443 Mon Sep = 17 00:00:00 2001=0AMessage-Id: =0AFrom: Daniel Sockwell =0ADate: Tue, 30 Aug 2022 12:58:09 -0400=0ASubject: [PATC= H] rakudo 2019.03->2022.07=0A=0A---=0A .../rakudo.do-not-pull-files-via-g= it.patch | 26 +++++=0A gnu/packages/perl6.scm |= 98 ++++++++++++-------=0A 2 files changed, 88 insertions(+), 36 deletion= s(-)=0A create mode 100644 gnu/packages/patches/rakudo.do-not-pull-files-= via-git.patch=0A=0Adiff --git a/gnu/packages/patches/rakudo.do-not-pull-f= iles-via-git.patch b/gnu/packages/patches/rakudo.do-not-pull-files-via-gi= t.patch=0Anew file mode 100644=0Aindex 0000000000..4edf67dd0d=0A--- /dev/= null=0A+++ b/gnu/packages/patches/rakudo.do-not-pull-files-via-git.patch= =0A@@ -0,0 +1,26 @@=0A+# Don't fetch nqp-configure from git (Guix supplie= s it as an input)=0A+diff --git a/Configure.pl b/Configure.after.pl=0A+in= dex b315704..e4e3668 100755=0A+--- a/Configure.pl=0A++++ b/Configure.afte= r.pl=0A+@@ -11,20 +11,6 @@ use Cwd;=0A+ use FindBin;=0A+ =0A+ =0A+-BEGIN = {=0A+- # Download / Update submodules=0A+- my $set_config =3D !qx{g= it config rakudo.initialized};=0A+- if ( !-e '3rdparty/nqp-configure/L= ICENSE' ) {=0A+- my $code =3D system($^X, 'tools/build/update-subm= odules.pl', Cwd::cwd(), @ARGV);=0A+- exit 1 if $code;=0A+- = $set_config =3D 1;=0A+- }=0A+- if ($set_config) {=0A+- syste= m("git config submodule.recurse true");=0A+- system("git config ra= kudo.initialized 1");=0A+- }=0A+-}=0A+-=0A+ use lib ( "$FindBin::Bin/t= ools/lib",=0A+ "$FindBin::Bin/3rdparty/nqp-configure/lib" );=0A+ use = NQP::Config qw;=0Adiff --git a/gnu/packages/perl6.sc= m b/gnu/packages/perl6.scm=0Aindex 5f43cd59aa..3fedf08f6d 100644=0A--- a/= gnu/packages/perl6.scm=0A+++ b/gnu/packages/perl6.scm=0A@@ -27,6 +27,7 @@= (define-module (gnu packages perl6)=0A #:use-module (guix build-system= perl)=0A #:use-module (guix build-system rakudo)=0A #:use-module (gn= u packages)=0A+ #:use-module (gnu packages gcc)=0A #:use-module (gnu p= ackages bdw-gc)=0A #:use-module (gnu packages libevent)=0A #:use-modu= le (gnu packages libffi)=0A@@ -188,64 +189,89 @@ (define-public nqp=0A (d= efine-public rakudo=0A (package=0A (name "rakudo")=0A- (version = "2019.03.1")=0A+ (version "2022.07")=0A (source=0A- (origin= =0A- (method url-fetch)=0A- (uri (string-append "https://ra= kudo.perl6.org/downloads/rakudo/rakudo-"=0A- v= ersion ".tar.gz"))=0A- (sha256=0A- (base32=0A- "1= nllf69v8xr6v3kkj7pmryg11n5m3ajfkr7j72pvhrgnjy8lv3r1"))))=0A+ (origin= =0A+ (method url-fetch)=0A+ (uri (string-append "https://rakudo= .perl6.org/dl/rakudo/rakudo-"=0A+ version ".tar.= gz"))=0A+ (sha256 (base32 "1bchc3r0axrif2mfgpbadcgi8vgkdq8syksv0lm7k= lp1akbcjfvs"))=0A+ (patches (search-patches "rakudo.do-not-pull-file= s-via-git.patch"))))=0A (build-system perl-build-system)=0A (argu= ments=0A '(#:phases=0A (modify-phases %standard-phases=0A- = (add-after 'unpack 'patch-source-date=0A- (lambda _=0A- = (substitute* "tools/build/gen-version.pl"=0A- ((= "gmtime") "gmtime(0)"))=0A- #t))=0A (add-after 'patc= h-source-shebangs 'patch-more-shebangs=0A (lambda _=0A = (substitute* '("tools/build/create-js-runner.pl"=0A- = "tools/build/create-moar-runner.p6"=0A = "tools/build/create-jvm-runner.pl"=0A- = "src/core/Proc.pm6")=0A- (("/bin/sh") (which "sh")))=0A- = #t))=0A+ "src/core.c/Proc.pm6")=0A+ = (("/bin/sh")=0A+ (which "sh")))))=0A = (replace 'configure=0A (lambda* (#:key inputs outputs #:allo= w-other-keys)=0A- (let ((out (assoc-ref outputs "out"))=0A- = (nqp (assoc-ref inputs "nqp")))=0A- (invok= e "perl" "./Configure.pl"=0A+ (let ((out (assoc-ref outputs = "out"))=0A+ (nqp (assoc-ref inputs "nqp"))=0A+ = (nqp-config (assoc-ref inputs "nqp-configure")))=0A+ = (setenv "RAKULIB" (string-append nqp-config "/lib:"=0A+ = (or (getenv "RAKULIB") "")))=0A+ = (invoke "perl"=0A+ "./Configure.pl"=0A = "--backend=3Dmoar"=0A "--with-= nqp" (string-append nqp "/bin/nqp")=0A "--prefix" = out))))=0A- ;; This is the recommended tool for distro maintainer= s to install perl6=0A+ (add-before 'check 'setup-for-rakudo-tests= =0A+ (lambda _=0A+ ;; fudging tests requires downlo= ading the Roast spectests=0A+ (substitute* "Makefile"=0A+ = (("M_HARNESS5_WITH_FUDGE) --verbosity=3D1")=0A+ = "M_HARNESS5) --verbosity=3D1"))=0A+ (setenv "HOME" "/tmp/")= =0A+ (mkdir-p "/tmp/.raku/short") ;needed for t/05-messages/0= 3-errors.t=0A+ (substitute* "t/09-moar/01-profilers.t"=0A+ = (("ok.*\\$htmlpath" html-test-text)=0A+ (strin= g-append "todo \"harness5 fails to write html profile\";"=0A+ = html-test-text)))))=0A+ ;; This is the recomme= nded tool for distro maintainers to install Raku=0A ;; modules s= ystemwide. See: https://github.com/ugexe/zef/issues/117=0A (add= -after 'install 'install-dist-tool=0A (lambda* (#:key outputs = #:allow-other-keys)=0A- (let* ((out (assoc-ref outputs "out"= ))=0A+ (let* ((out (assoc-ref outputs "out"))=0A = (dest (string-append out "/share/perl6/tools")))=0A = (install-file "tools/install-dist.p6" dest)=0A- (substitu= te* (string-append dest "/install-dist.p6")=0A- (("/usr/b= in/env perl6")=0A- (string-append out "/bin/perl6"))))= =0A- #t)))))=0A+ (install-file "tools/install-d= ist.raku" dest)=0A+ (substitute* `(,(string-append dest "/i= nstall-dist.raku")=0A+ ,(string-append dest = "/install-dist.p6"))=0A+ (("/usr/bin/env raku")=0A+ = (string-append out "/bin/raku")))))))))=0A (inputs=0A- = (list moarvm nqp openssl))=0A+ (list libatomic-ops ;\=0A+ = libuv ; for NativeCall=0A+ libtommath ;/=0A+ = gcc ; could be a native-input, but needed for NativeCall in= practice=0A+ nqp))=0A+ (native-inputs=0A+ (list nqp-con= figure))=0A (home-page "https://rakudo.org/")=0A (native-search-p= aths=0A- (list (search-path-specification=0A- (variable= "PERL6LIB")=0A- (separator ",")=0A- (files '("= share/perl6/lib"=0A- "share/perl6/site/lib"=0A- = "share/perl6/vendor/lib")))))=0A- (synopsis "Perl 6= Compiler")=0A- (description "Rakudo Perl is a compiler that implement= s the Perl 6=0A-specification and runs on top of several virtual machines= .")=0A+ (list (search-path-specification=0A+ (variable "RA= KULIB")=0A+ (separator ",")=0A+ (files '("share/nqp= /lib"=0A+ "share/perl6/lib" "share/raku/lib"= =0A+ "share/perl6/site/lib" "share/raku/site/lib"= =0A+ "share/perl6/vendor/lib" "share/raku/vendor/lib"= )))))=0A+ (synopsis "Compiler for the Raku programming language")=0A+ = (description "Rakudo is a compiler for Raku, a programming language=0A= +that prioritizes expressiveness and is optimized for fun. More specific= ally,=0A+Raku is an omni-paradigm, open source, concurrency friendly, met= aprogrammable,=0A+JIT- and AOT-compiled, interoperable, linguistically in= spired, and gradually=0A+typed programming language with Regex/Unicode su= perpowers. Raku's initial=0A+design was lead by Larry Wall and Raku was = formerly known as Perl 6.=0A+=0A+Rakudo is written primarily in Raku, wit= h lower-level features in NQP;=0A+Rakudo implements the Roast specificati= on suite for Raku compilers and=0A+targets multiple virtual machines incl= uding MoarVM.")=0A (license license:artistic2.0)))=0A =0A (define-pub= lic perl6-grammar-debugger=0A-- =0A2.37.2