[PATCH 0/3] Remove perl6 packages.

  • Done
  • quality assurance status badge
Details
2 participants
  • Efraim Flashner
  • Liliana Marie Prikler
Owner
unassigned
Submitted by
Efraim Flashner
Severity
normal
E
E
Efraim Flashner wrote on 20 Feb 08:01 +0100
(address . guix-patches@gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
cover.1708411903.git.efraim@flashner.co.il
It's been about 5 years since these were added after FOSDEM 2019 and
while the packages may be able to be adjusted to build again there has
not been any mentions on the mailing lists about the packages in
probably 4 years, in the bug tracker for about 2 years, and the
language has even been renamed from perl6 to raku.

There is also bug#55179 which updates rakudo to the (then latest)
2022.04 version and also updated the now raku packages. After this patch
set I plan on applying the patches to update rakudo to 2022.04 (probably
with some minor alterations) and then maybe to a later version. If
there is later interest in reviving the rakudo-build-system it's still
in the git history.

Efraim Flashner (3):
gnu: Remove perl6 packages.
guix: Remove rakudo-build-system.
gnu: perl6.scm: Rename to rakudo.scm.

Makefile.am | 2 -
doc/guix.texi | 18 -
etc/snippets/yas/scheme-mode/guix-package | 1 -
gnu/local.mk | 2 +-
gnu/packages/perl6.scm | 779 ----------------------
gnu/packages/rakudo.scm | 223 +++++++
guix/build-system/rakudo.scm | 142 ----
guix/build/rakudo-build-system.scm | 153 -----
8 files changed, 224 insertions(+), 1096 deletions(-)
delete mode 100644 gnu/packages/perl6.scm
create mode 100644 gnu/packages/rakudo.scm
delete mode 100644 guix/build-system/rakudo.scm
delete mode 100644 guix/build/rakudo-build-system.scm


base-commit: 4c6861b63001e6250cc52acb3003629d67cd1573
--
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
E
E
Efraim Flashner wrote on 20 Feb 08:03 +0100
[PATCH 1/3] gnu: Remove perl6 packages.
(address . 69283@debbugs.gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
70c8b4cede1f9b2165a9bd9931e275fe1b5742e2.1708411903.git.efraim@flashner.co.il
* gnu/packages/perl6.scm (perl6-grammar-debugger,
perl6-grammar-profiler-simple, perl6-json, perl6-json-class,
perl6-json-fast, perl6-json-marshal, perl6-json-name,
perl6-json-unmarshal, perl6-license-spdx, perl6-meta6,
perl6-mime-base64, perl6-oo-monitors, perl6-svg, perl6-svg-plot,
perl6-tap-harness, perl6-terminal-ansicolor, perl6-test-meta,
perl6-test-mock, perl6-uri, perl6-xml-writer, perl6-zef): Remove
variables.

Change-Id: I2fc516bf7f135e4affa31c3e17b3cf08f1500633
---
gnu/packages/perl6.scm | 556 -----------------------------------------
1 file changed, 556 deletions(-)

Toggle diff (488 lines)
diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm
index dab9dd477b..4b8899503f 100644
--- a/gnu/packages/perl6.scm
+++ b/gnu/packages/perl6.scm
@@ -20,10 +20,8 @@
(define-module (gnu packages perl6)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix download)
- #:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix build-system perl)
- #:use-module (guix build-system rakudo)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libffi)
@@ -223,557 +221,3 @@ (define-public rakudo
(description "Rakudo Perl is a compiler that implements the Perl 6
specification and runs on top of several virtual machines.")
(license license:artistic2.0)))
-
-(define-public perl6-grammar-debugger
- ;; Last commit was September 2017
- (let ((commit "0375008027c8caa216bd869476ce59ae09b2a702")
- (revision "1"))
- (package
- (name "perl6-grammar-debugger")
- (version (git-version "1.0.1" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jnthn/grammar-debugger")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0y826z3m276n7ia810hgcb3div67nxmx125m2fzlc16994zd5vm5"))))
- (build-system rakudo-build-system)
- (propagated-inputs
- (list perl6-terminal-ansicolor))
- (home-page "https://github.com/jnthn/grammar-debugger")
- (synopsis "Simple tracing and debugging support for Perl 6 grammars")
- (description "This module provides a simple debugger for grammars. Just
-@code{use} it: use @code{Grammar::Debugger;} and any grammar in the lexical
-scope of the use statement will automatically have debugging enabled. The
-debugger will break execution when you first enter the grammar, and provide a
-prompt.")
- (license license:artistic2.0))))
-
-(define-public perl6-grammar-profiler-simple
- ;; Last commit was June 2017
- (let ((commit "c0aca5fab323b2974821dabd6b89330c609e0b7d")
- (revision "1"))
- (package
- (name "perl6-grammar-profiler-simple")
- (version (git-version "0.02" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/perlpilot/Grammar-Profiler-Simple")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1qcsa4lmcilp3vp0jng0hrgzyzxin9ayg2wjvkcd0k6h7djx9dff"))))
- (build-system rakudo-build-system)
- (arguments '(#:with-zef? #f))
- (home-page "https://github.com/perlpilot/Grammar-Profiler-Simple")
- (synopsis "Simple rule profiling for Perl 6 grammars")
- (description "This module provides a simple profiler for Perl 6 grammars.
-To enable profiling simply add use @code{Grammar::Profiler::Simple;} to your
-code. Any grammar in the lexical scope of the use statement will automatically
-have profiling information collected when the grammar is used.")
- (license license:artistic2.0))))
-
-(define-public perl6-json
- (package
- (name "perl6-json")
- (version "1.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/moritz/json")
- ;; The commit where 1.0 was "tagged"
- (commit "a5ef8c179350dae44ce7fb1abb684fc62c1c2b99")))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1kzryxkqyr129rcckd4jh0dfxdgzv71qx8dpkpm1divbfjyknlay"))))
- (build-system rakudo-build-system)
- (arguments '(#:with-zef? #f))
- (home-page "https://github.com/moritz/json")
- (synopsis "Minimal JSON (de)serializer")
- (description "This module is a simple Perl 6 module for serializing and
-deserializing JSON.")
- (license license:artistic2.0)))
-
-(define-public perl6-json-class
- (package
- (name "perl6-json-class")
- (version "0.0.12")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jonathanstowe/JSON-Class")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1zyzajc57j3m8q0nr72h9pw4w2nx92rafywlvysgphc5q9sb8np2"))))
- (build-system rakudo-build-system)
- (propagated-inputs
- (list perl6-json-marshal perl6-json-unmarshal))
- (native-inputs
- (list perl6-json-fast))
- (home-page "https://github.com/jonathanstowe/JSON-Class")
- (synopsis "Provide simple serialisation/deserialisation of objects to/from JSON")
- (description "This is a simple role that provides methods to instantiate a
-class from a JSON string that (hopefully,) represents it, and to serialise an
-object of the class to a JSON string. The JSON created from an instance
-should round trip to a new instance with the same values for the public
-attributes. Private attributes (that is ones without accessors,) will be
-ignored for both serialisation and de-serialisation. The exact behaviour
-depends on that of @code{JSON::Marshal} and @code{JSON::Unmarshal}
-respectively.")
- (license license:artistic2.0)))
-
-(define-public perl6-json-fast
- (package
- (name "perl6-json-fast")
- (version "0.10")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/timo/json_fast")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1g8hr1mdrxwdpzc7hvs9l5r12phvba6y6a5chgkj90ing77ji4b2"))))
- (build-system rakudo-build-system)
- (arguments '(#:with-zef? #f))
- (home-page "https://github.com/timo/json_fast")
- (synopsis "Perl6 json parser")
- (description "A naive imperative json parser in pure perl6 (but with direct
-access to @code{nqp::} ops), to evaluate performance against @code{JSON::Tiny}.
-It is a drop-in replacement for @code{JSON::Tiny}'s from-json and to-json subs,
-but it offers a few extra features.")
- (license license:artistic2.0)))
-
-(define-public perl6-json-marshal
- (package
- (name "perl6-json-marshal")
- (version "0.0.16")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jonathanstowe/JSON-Marshal")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0qy7j83h6gjzyyv74ncd92cd9h45rv8diaz3vldiv3b6fqwz4c6i"))))
- (build-system rakudo-build-system)
- (propagated-inputs
- (list perl6-json-fast perl6-json-name))
- (native-inputs
- (list perl6-json-fast))
- (home-page "https://github.com/jonathanstowe/JSON-Marshal")
- (synopsis "Simple serialisation of objects to JSON")
- (description "This library provides a single exported subroutine to create
-a JSON representation of an object. It should round trip back into an object
-of the same class using @code{JSON::Unmarshal}.")
- (license license:artistic2.0)))
-
-(define-public perl6-json-name
- (package
- (name "perl6-json-name")
- (version "0.0.3")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jonathanstowe/JSON-Name")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "130qwdpbj5qdlsdz05y0rksd79lzbq79scy47n6lnf21b0hz1qjc"))))
- (build-system rakudo-build-system)
- (arguments '(#:with-zef? #f))
- (home-page "https://github.com/jonathanstowe/JSON-Name")
- (synopsis "Provides a trait to store an alternative JSON Name")
- (description "This is released as a dependency of @code{JSON::Marshal} and
-@code{JSON::Unmarshal} in order to save duplication, it is intended to store a
-separate JSON name for an attribute where the name of the JSON attribute might be
-changed, either for aesthetic reasons or the name is not a valid Perl identifier.
-It will of course also be needed in classes thar are going to use
-@code{JSON::Marshal} or @code{JSON::Unmarshal} for serialisation/de-serialisation.")
- (license license:artistic2.0)))
-
-(define-public perl6-json-unmarshal
- ;; Last commit was May 2017
- (let ((commit "e1b6288c5f3165058f36c0f4e171cdf2dfd640da")
- (revision "1"))
- (package
- (name "perl6-json-unmarshal")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/tadzik/JSON-Unmarshal")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "14azsmzmwdn8k0gqcpvballharcvzylmlyrx2wmv4kpqfnz29fjc"))))
- (build-system rakudo-build-system)
- (propagated-inputs
- (list perl6-json-fast perl6-json-name))
- (home-page "https://github.com/tadzik/JSON-Unmarshal")
- (synopsis "Make JSON from an Object")
- (description "This library provides a single exported subroutine to
-create an object from a JSON representation of an object.")
- (license license:expat))))
-
-(define-public perl6-license-spdx
- (package
- (name "perl6-license-spdx")
- (version "3.4.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jonathanstowe/License-SPDX")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0dl263c3fbxk001gm5fisrzqz1dx182ipaa0x2qva2gxvl075xm8"))))
- (build-system rakudo-build-system)
- (propagated-inputs
- (list perl6-json-class))
- (home-page "https://github.com/jonathanstowe/License-SPDX")
- (synopsis "Abstraction over the SPDX License List")
- (description "This provides an abstraction over the SPDX License List as
-provided in JSON format. Its primary raison d'être is to help the licence
-checking of @code{Test::META} and to allow for the warning about deprecated
-licences therein.")
- (license license:artistic2.0)))
-
-(define-public perl6-meta6
- (package
- (name "perl6-meta6")
- (version "0.0.23")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jonathanstowe/META6")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1xnlaamfbdlfb2zidim3bbc4mawsrg6qxhxi6gbld46z1cyry1cw"))))
- (build-system rakudo-build-system)
- (propagated-inputs
- (list perl6-json-class))
- (native-inputs
- (list perl6-json-fast))
- (home-page "https://github.com/jonathanstowe/META6")
- (synopsis "Do things with Perl 6 [META files]")
- (description "This provides a representation of the Perl 6 META files
-specification - the META file data can be read, created, parsed and written in a
-manner that is conformant with the specification.
-
-Where they are known about it also makes allowance for customary usage in
-existing software (such as installers and so forth.)
-
-The intent of this is allow the generation and testing of META files for
-module authors, so it can provide meta-information whether the attributes are
-mandatory as per the spec and where known the places that customary attributes
-are used.")
- (license license:artistic2.0)))
-
-(define-public perl6-mime-base64
- (package
- (name "perl6-mime-base64")
- (version "1.2.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/perl6/Perl6-MIME-Base64")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0l67m8mvz3gxml425sd1ggfnhzh4lf754k7w8fngfr453s6lsza1"))))
- (build-system rakudo-build-system)
- (arguments '(#:with-zef? #f))
- (home-page "https://github.com/perl6/Perl6-MIME-Base64")
- (synopsis "Encoding and decoding Base64 ASCII strings")
- (description "This Perl 6 module implements encoding and decoding to and
-from base64.")
- (license license:artistic2.0)))
-
-(define-public perl6-oo-monitors
- (package
- (name "perl6-oo-monitors")
- (version "1.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jnthn/oo-monitors")
- ;; The commit where 1.1 was "tagged"
- (commit "494db3a3852854f30a80c9bd1489a7d5e429e7c5")))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1sbw2x54wwjjanghjnc7ipmplaw1srvbrphsdv4ym6cipnbmbj9x"))))
- (build-system rakudo-build-system)
- (arguments '(#:with-zef? #f))
- (home-page "https://github.com/jnthn/oo-monitors")
- (synopsis "Monitors with condition variables for Perl 6")
- (description "A monitor provides per-instance mutual exclusion for objects.
-This means that for a given object instance, only one thread can ever be inside
-its methods at a time. This is achieved by a lock being associated with each
-object. The lock is acquired automatically at the entry to each method in the
-monitor. Condition variables are also supported.")
- (license license:artistic2.0)))
-
-(define-public perl6-svg
- ;; Latest commit, basically unchanged since August 2015
- (let ((commit "07190c0602aa276e5319f06aa0012452dbff3582")
- (revision "1"))
- (package
- (name "perl6-svg")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/moritz/svg")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0mkjdhg7ajksdn61n8fqhyzfd7ly9myazsvpsm02a5c2q73hdygg"))))
- (build-system rakudo-build-system)
- (propagated-inputs
- (list perl6-xml-writer))
- (home-page "https://github.com/moritz/svg")
- (synopsis "Perl 6 module to generate SVG")
- (description "This is a Perl 6 module that makes it easy to write
-@dfn{Scalable Vector Graphic files} (SVG). Right now it is a shallow wrapper
-around @code{XML::Writer}, adding only the xmlns attributes that identifies an
-XML file as SVG.")
- (license license:artistic2.0))))
-
-(define-public perl6-svg-plot
- ;; Latest commit
- (let ((commit "062570a78fd38c3c6baba29dfe2fbb8ca014f4de")
- (revision "1"))
- (package
- (name "perl6-svg-plot")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/moritz/svg-plot")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "095ga5hbg92jnmczxvhk1hjz14yr334zyf8cph4w5w5frcza44my"))))
- (build-system rakudo-build-system)
- (propagated-inputs
- (list perl6-svg))
- (home-page "https://github.com/moritz/svg-plot")
- (synopsis "Perl 6 charting and plotting library that produces SVG output")
- (description "@code{SVG::Plot} is a simple 2D chart plotter for Perl 6.
-It currently supports bars, stacked bars, lines and points (both equally spaced
-with optional labels, or xy plots).")
- (license license:artistic2.0))))
-
-(define-public perl6-tap-harness
- (package
- (name "perl6-tap-harness")
- (version "0.0.7")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/perl6/tap-harness6")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1lig8i0my3fgqvlay9532xslbf3iis2d7wz89gniwvwqffi2kh6r"))))
- (build-system rakudo-build-system)
- (arguments
- '(#:with-zef? #f
- #:with-prove6? #f
- #:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda _
- (invoke "perl6" "-Ilib" "bin/prove6" "-l" "t"))))))
- (home-page "https://github.com/perl6/tap-harness6/")
- (synopsis "TAP harness for perl6")
- (description "This module provides the @command{prove6} command which runs a
-TAP based test suite and prints a report. The @command{prove6} command is a
-minimal wrapper around an instance of this module.")
- (license license:artistic2.0)))
-
-(define-public perl6-terminal-ansicolor
- (package
- (name "perl6-terminal-ansicolor")
- (version "0.5")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/tadzik/Terminal-ANSIColor")
- ;; The commit where 0.5 was "tagged"
- (commit "edded4a7116ce11cbc9fb5a83669c7ba119d0212")))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1apm999azkyg5s35gid12wq019aqnvzrkz7qjmipd74mdxgr00x7"))))
- (build-system rakudo-build-system)
- (arguments '(#:with-zef? #f))
- (home-page "https://github.com/tadzik/Terminal-ANSIColor")
- (synopsis "Colorize terminal output")
- (description "This is a @code{Terminal::ANSIColor} module for Perl 6.")
- (license license:expat)))
-
-(define-public perl6-test-meta
- (package
- (name "perl6-test-meta")
- (version "0.0.14")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jonathanstowe/Test-META")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1mzrglb7lbiy5h9dlc7dyhvv9gppxmdmpmrv6nzbd695jzr38bri"))))
- (build-system rakudo-build-system)
- (propagated-inputs
- (list perl6-meta6 perl6-uri))
- (home-page "https://github.com/jonathanstowe/Test-META")
- (synopsis "Test a distributions META file")
- (description "This provides a simple mechanism for module authors to have
-some confidence that they have a working distribution META description file.")
- (license license:artistic2.0)))
-
-(define-public perl6-test-mock
- (package
- (name "perl6-test-mock")
- (version "1.5")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jnthn/test-mock")
- ;; The commit where 1.5 was "tagged"
- (commit "6eddb42f73f40b9ac29c14badb41ce4a04d876f2")))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "07yr3qimc8fl29p23562ayj2j9h53madcnf9sgqvgf2kcprh0zd2"))))
- (build-system rakudo-build-system)
- (propagated-inputs
- (list perl6-oo-monitors))
- (home-page "https://github.com/jnthn/test-mock")
- (synopsis "Module for simply generating and
This message was truncated. Download the full message here.
E
E
Efraim Flashner wrote on 20 Feb 08:03 +0100
[PATCH 2/3] guix: Remove rakudo-build-system.
(address . 69283@debbugs.gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
0d38a55be8a40b591a7846d013b957702d6b2145.1708411903.git.efraim@flashner.co.il
* guix/build/rakudo-build-system.scm: Remove file.
* guix/build-system/rakudo.scm: Remove file.
* doc/guix.texi (Build Systems): Remove section for rakudo-build-system.
* etc/snippets/yas/scheme-mode/guix-package: Remove rakudo-build-system.
* Makefile.am (MODULES): Remove rakudo-build-system files.

Change-Id: Ida6ec6c9be075f10be540c82cee5207176f1cfe2
---
Makefile.am | 2 -
doc/guix.texi | 18 ---
etc/snippets/yas/scheme-mode/guix-package | 1 -
guix/build-system/rakudo.scm | 142 --------------------
guix/build/rakudo-build-system.scm | 153 ----------------------
5 files changed, 316 deletions(-)
delete mode 100644 guix/build-system/rakudo.scm
delete mode 100644 guix/build/rakudo-build-system.scm

Toggle diff (372 lines)
diff --git a/Makefile.am b/Makefile.am
index cef972880c..aef56ca90c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -181,7 +181,6 @@ MODULES = \
guix/build-system/python.scm \
guix/build-system/qt.scm \
guix/build-system/r.scm \
- guix/build-system/rakudo.scm \
guix/build-system/rebar.scm \
guix/build-system/renpy.scm \
guix/build-system/ruby.scm \
@@ -245,7 +244,6 @@ MODULES = \
guix/build/qt-build-system.scm \
guix/build/r-build-system.scm \
guix/build/renpy-build-system.scm \
- guix/build/rakudo-build-system.scm \
guix/build/rebar-build-system.scm \
guix/build/ruby-build-system.scm \
guix/build/scons-build-system.scm \
diff --git a/doc/guix.texi b/doc/guix.texi
index fe6f82d4a5..06350efd7b 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -10122,24 +10122,6 @@ Build Systems
@code{tools::testInstalledPackage}.
@end defvar
-@defvar rakudo-build-system
-This variable is exported by @code{(guix build-system rakudo)}. It
-implements the build procedure used by @uref{https://rakudo.org/,
-Rakudo} for @uref{https://perl6.org/, Perl6} packages. It installs the
-package to @code{/gnu/store/@dots{}/NAME-VERSION/share/perl6} and
-installs the binaries, library files and the resources, as well as wrap
-the files under the @code{bin/} directory. Tests can be skipped by
-passing @code{#f} to the @code{tests?} parameter.
-
-Which rakudo package is used can be specified with @code{rakudo}.
-Which perl6-tap-harness package used for the tests can be specified with
-@code{#:prove6} or removed by passing @code{#f} to the
-@code{with-prove6?} parameter.
-Which perl6-zef package used for tests and installing can be specified
-with @code{#:zef} or removed by passing @code{#f} to the
-@code{with-zef?} parameter.
-@end defvar
-
@defvar rebar-build-system
This variable is exported by @code{(guix build-system rebar)}. It
implements a build procedure around @uref{https://rebar3.org,rebar3},
diff --git a/etc/snippets/yas/scheme-mode/guix-package b/etc/snippets/yas/scheme-mode/guix-package
index 3bb6307659..d38b32dc05 100644
--- a/etc/snippets/yas/scheme-mode/guix-package
+++ b/etc/snippets/yas/scheme-mode/guix-package
@@ -36,7 +36,6 @@
"python-build-system"
"qt-build-system"
"r-build-system"
- "rakudo-build-system"
"rebar-build-system"
"renpy-build-system"
"ruby-build-system"
diff --git a/guix/build-system/rakudo.scm b/guix/build-system/rakudo.scm
deleted file mode 100644
index 3b30fdfd0e..0000000000
--- a/guix/build-system/rakudo.scm
+++ /dev/null
@@ -1,142 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2021 Ludovic Courtès <ludo@gnu.org>
-;;;
-;;; 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 <http://www.gnu.org/licenses/>.
-
-(define-module (guix build-system rakudo)
- #:use-module (guix store)
- #:use-module (guix utils)
- #:use-module (guix gexp)
- #:use-module (guix monads)
- #:use-module (guix search-paths)
- #:use-module (guix build-system)
- #:use-module (guix build-system gnu)
- #:use-module (guix packages)
- #:export (%rakudo-build-system-modules
- rakudo-build
- rakudo-build-system))
-
-;; Commentary:
-;;
-;; Standard build and install procedure for packages using the Rakudo
-;; build system to be installed as system libraries. This is
-;; implemented as an extension of `gnu-build-system'.
-;;
-;; Code:
-
-(define %rakudo-build-system-modules
- ;; Build-side modules imported by default.
- `((guix build rakudo-build-system)
- ,@%gnu-build-system-modules))
-
-(define (default-rakudo)
- "Return the default Rakudo package."
-
- ;; Do not use `@' to avoid introducing circular dependencies.
- (let ((module (resolve-interface '(gnu packages perl6))))
- (module-ref module 'rakudo)))
-
-(define (default-prove6)
- "Return the default perl6-tap-harness package for tests."
- (let ((module (resolve-interface '(gnu packages perl6))))
- (module-ref module 'perl6-tap-harness)))
-
-(define (default-zef)
- "Return the default perl6-zef package."
- (let ((module (resolve-interface '(gnu packages perl6))))
- (module-ref module 'perl6-zef)))
-
-(define* (lower name
- #:key source inputs native-inputs outputs
- system target
- (rakudo (default-rakudo))
- (prove6 (default-prove6))
- (zef (default-zef))
- (with-prove6? #t)
- (with-zef? #t)
- #:allow-other-keys
- #:rest arguments)
- "Return a bag for NAME."
- (define private-keywords
- '(#:target #:rakudo #:prove6 #:zef #:inputs #:native-inputs))
-
- (and (not target) ;XXX: no cross-compilation
- (bag
- (name name)
- (system system)
- (host-inputs `(,@(if source
- `(("source" ,source))
- '())
- ,@inputs
-
- ;; Keep the standard inputs of 'gnu-build-system'.
- ,@(standard-packages)))
- (build-inputs `(("rakudo" ,rakudo)
- ,@(if with-prove6?
- `(("perl6-tap-harness" ,prove6)
- ,@(if with-zef?
- `(("perl6-zef" ,zef))
- '()))
- '())
- ,@native-inputs))
- (outputs outputs)
- (build rakudo-build)
- (arguments (strip-keyword-arguments private-keywords arguments)))))
-
-(define* (rakudo-build name inputs
- #:key
- source
- (search-paths '())
- (tests? #t)
- (phases '%standard-phases)
- (outputs '("out"))
- (system (%current-system))
- (guile #f)
- (with-zef? #t)
- (with-prove6? #t)
- (imported-modules %rakudo-build-system-modules)
- (modules '((guix build rakudo-build-system)
- (guix build utils))))
- "Build SOURCE using PERL6, and with INPUTS."
- (define builder
- (with-imported-modules imported-modules
- #~(begin
- (use-modules #$@(sexp->gexp modules))
- (rakudo-build #:name #$name
- #:source #+source
- #:search-paths '#$(sexp->gexp
- (map search-path-specification->sexp
- search-paths))
- #:phases #$phases
- #:system #$system
- #:tests? #$tests?
- #:outputs #$(outputs->gexp outputs)
- #:inputs #$(input-tuples->gexp inputs)))))
-
- (mlet %store-monad ((guile (package->derivation (or guile (default-guile))
- system #:graft? #f)))
- (gexp->derivation name builder
- #:system system
- #:guile-for-build guile)))
-
-(define rakudo-build-system
- (build-system
- (name 'rakudo)
- (description "The standard Rakudo build system")
- (lower lower)))
-
-;;; rakudo.scm ends here
diff --git a/guix/build/rakudo-build-system.scm b/guix/build/rakudo-build-system.scm
deleted file mode 100644
index 5cf1cc55bc..0000000000
--- a/guix/build/rakudo-build-system.scm
+++ /dev/null
@@ -1,153 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
-;;;
-;;; 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 <http://www.gnu.org/licenses/>.
-
-(define-module (guix build rakudo-build-system)
- #:use-module ((guix build gnu-build-system) #:prefix gnu:)
- #:use-module (guix build utils)
- #:use-module (ice-9 ftw)
- #:use-module (ice-9 match)
- #:use-module (srfi srfi-1)
- #:use-module (srfi srfi-26)
- #:export (%standard-phases
- rakudo-build))
-
-;; Commentary:
-;;
-;; Builder-side code of the standard Rakudo package build procedure.
-;;
-;; Code:
-
-(define* (check #:key tests? inputs with-prove6? #:allow-other-keys)
- (if (and tests? (assoc-ref inputs "perl6-tap-harness"))
- ;(if (and tests? with-prove6?)
- (invoke "prove6" "-I=lib" "t/")
- (format #t "test suite not run~%"))
- #t)
-
-(define* (install #:key inputs outputs with-zef? #:allow-other-keys)
- "Install a given Perl6 package."
- (let* ((out (assoc-ref outputs "out"))
- (perl6 (string-append out "/share/perl6")))
- (if (assoc-ref inputs "perl6-zef")
- ;(if with-zef?
- (begin
- (let ((zef (string-append (assoc-ref inputs "perl6-zef")
- "/bin/zef")))
- (setenv "HOME" (getcwd))
- (mkdir-p perl6)
- (invoke zef "install" "--verbose" "."
- ;; Don't install any of the following:
- "--/depends" "--/build-depends" "--/test-depends"
- (string-append "--install-to=" perl6))
- (delete-file (string-append perl6 "/repo.lock")))
- #t)
- (begin
- (let ((inst (string-append (assoc-ref inputs "rakudo")
- "/share/perl6/tools/install-dist.p6")))
- (setenv "RAKUDO_RERESOLVE_DEPENDENCIES" "0")
- (setenv "RAKUDO_MODULE_DEBUG" "1") ; be verbose while building
- (invoke inst (string-append "--to=" perl6) "--for=site"))))))
-
-(define* (install-libs #:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (lock "lib/.precomp/.lock"))
- (when (file-exists? lock)
- (delete-file "lib/.precomp/.lock"))
- (copy-recursively "lib" (string-append out "/share/perl6/lib"))
- #t))
-
-(define* (install-bins #:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (when (file-exists? "bin")
- (for-each (lambda (file)
- (install-file file (string-append out "/bin"))
- (chmod (string-append out "/" file) #o555))
- (find-files "bin" ".*")))
- (when (file-exists? "sbin")
- (for-each (lambda (file)
- (install-file file (string-append out "/sbin"))
- (chmod (string-append out "/" file) #o555))
- (find-files "sbin" ".*")))
- #t))
-
-(define* (install-resources #:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (when (file-exists? "resources")
- (copy-recursively "resources"
- (string-append out "/share/perl6/resources")))
- #t))
-
-(define* (wrap #:key inputs outputs #:allow-other-keys)
- (define (list-of-files dir)
- (map (cut string-append dir "/" <>)
- (or (scandir dir (lambda (f)
- (let ((s (stat (string-append dir "/" f))))
- (and (eq? 'regular (stat:type s))
- (not (wrapped-program? f))))))
- '())))
-
- (define bindirs
- (append-map (match-lambda
- ((_ . dir)
- (list (string-append dir "/bin")
- (string-append dir "/sbin"))))
- outputs))
-
- ;; Do not require bash to be present in the package inputs
- ;; even when there is nothing to wrap.
- ;; Also, calculate (sh) only once to prevent some I/O.
- (define %sh (delay (search-input-file inputs "bin/bash")))
- (define (sh) (force %sh))
-
- (let* ((out (assoc-ref outputs "out"))
- (var `("PERL6LIB" "," prefix
- ,(cons (string-append out "/share/perl6/lib,"
- out "/share/perl6/site/lib,"
- out "/share/perl6/vendor/lib")
- (search-path-as-string->list
- (or (getenv "PERL6LIB") "") #\,)))))
- (for-each (lambda (dir)
- (let ((files (list-of-files dir)))
- (for-each (cut wrap-program <> #:sh (sh) var)
- files)))
- bindirs)
- #t))
-
-(define %standard-phases
- ;; No need for 'bootstrap, 'configure or 'build.
- (modify-phases gnu:%standard-phases
- (delete 'bootstrap)
- (delete 'configure)
- (delete 'build)
- (replace 'check check)
- (replace 'install install)
- (add-before 'install 'install-lib-dir install-libs)
- (add-after 'install-lib-dir 'install-resources install-resources)
- (add-after 'install-resources 'install-binaries install-bins)
- ;; needs to be after 'install-binaries and all 'install phases
- (add-after 'install 'wrap wrap)))
-
-(define* (rakudo-build #:key inputs (phases %standard-phases)
- #:allow-other-keys #:rest args)
- "Build the given Perl6 package, applying all of PHASES in order."
- (apply gnu:gnu-build
- #:inputs inputs #:phases phases
- args))
-
-;;; rakudo-build-system.scm ends here
--
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
E
E
Efraim Flashner wrote on 20 Feb 08:03 +0100
[PATCH 3/3] gnu: perl6.scm: Rename to rakudo.scm.
(address . 69283@debbugs.gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
864a8e0147e4667240e3722a8d9affbad7139c26.1708411903.git.efraim@flashner.co.il
* gnu/packages/perl6.scm: Rename to rakudo.scm.
* gnu/local.mk (GNU_SYSTEM_MODULES): Adjust reference.

Change-Id: Ie06c80f393ac31020e151f0dd03228a79e1ee6b3
---
gnu/local.mk | 2 +-
gnu/packages/{perl6.scm => rakudo.scm} | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
rename gnu/packages/{perl6.scm => rakudo.scm} (99%)

Toggle diff (40 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 58011d1149..f58367c657 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -511,7 +511,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/perl-compression.scm \
%D%/packages/perl-maths.scm \
%D%/packages/perl-web.scm \
- %D%/packages/perl6.scm \
%D%/packages/photo.scm \
%D%/packages/phabricator.scm \
%D%/packages/php.scm \
@@ -554,6 +553,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/radio.scm \
%D%/packages/ragel.scm \
%D%/packages/rails.scm \
+ %D%/packages/rakudo.scm \
%D%/packages/raspberry-pi.scm \
%D%/packages/ratpoison.scm \
%D%/packages/rcm.scm \
diff --git a/gnu/packages/perl6.scm b/gnu/packages/rakudo.scm
similarity index 99%
rename from gnu/packages/perl6.scm
rename to gnu/packages/rakudo.scm
index 4b8899503f..e017466aea 100644
--- a/gnu/packages/perl6.scm
+++ b/gnu/packages/rakudo.scm
@@ -17,7 +17,7 @@
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
-(define-module (gnu packages perl6)
+(define-module (gnu packages rakudo)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix download)
#:use-module (guix packages)
--
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
L
L
Liliana Marie Prikler wrote on 24 Feb 02:27 +0100
Re: [PATCH 2/3] guix: Remove rakudo-build-system.
bcb72cab89a946544a87365d4d3914eb7e5a4bae.camel@gmail.com
Am Dienstag, dem 20.02.2024 um 09:03 +0200 schrieb Efraim Flashner:
Toggle quote (10 lines)
> * guix/build/rakudo-build-system.scm: Remove file.
> * guix/build-system/rakudo.scm: Remove file.
> * doc/guix.texi (Build Systems): Remove section for rakudo-build-
> system.
> * etc/snippets/yas/scheme-mode/guix-package: Remove rakudo-build-
> system.
> * Makefile.am (MODULES): Remove rakudo-build-system files.
>
> Change-Id: Ida6ec6c9be075f10be540c82cee5207176f1cfe2
> ---
Given that we will keep raku, but not "perl6", what is the impact on
packaging raku packages after this removal? Will we have to reinvent
rakudo-build-system?

Cheers
E
E
Efraim Flashner wrote on 25 Feb 15:50 +0100
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)(address . 69283@debbugs.gnu.org)
ZdtTmPr7Z6n2j9lc@3900XT
On Sat, Feb 24, 2024 at 02:27:45AM +0100, Liliana Marie Prikler wrote:
Toggle quote (15 lines)
> Am Dienstag, dem 20.02.2024 um 09:03 +0200 schrieb Efraim Flashner:
> > * guix/build/rakudo-build-system.scm: Remove file.
> > * guix/build-system/rakudo.scm: Remove file.
> > * doc/guix.texi (Build Systems): Remove section for rakudo-build-
> > system.
> > * etc/snippets/yas/scheme-mode/guix-package: Remove rakudo-build-
> > system.
> > * Makefile.am (MODULES): Remove rakudo-build-system files.
> >
> > Change-Id: Ida6ec6c9be075f10be540c82cee5207176f1cfe2
> > ---
> Given that we will keep raku, but not "perl6", what is the impact on
> packaging raku packages after this removal? Will we have to reinvent
> rakudo-build-system?

That's a good question.

With the work that was done with the other patchset to adjust some of
the perl6 packages to become raku packages I don't believe any changes
were needed to the rakudo-build-system other than adjusting the check
phase. I'm glad that there weren't any problems with it, but I haven't
looked at either the language or the build system in more than 4 years.
I'd rather yank it out than dive in and make sure it works correctly, so
we're not leaving broken bits around if someone later wanted to use it,
but I don't know if they'd prefer a build system that probably mostly
works or to know that rakudo is packaged and they're on their own for
actual packages.

--
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
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmXbU5EACgkQQarn3Mo9
g1F4ghAAuWEY2QEAxqbloZG0T5siLV3JI+4RR8iX/wUnaPXzzrDWi9UlJ7jrg9V/
oeNXSiiidDCC7znhSjxaqZUSBX2NRRHqoORuAiAA2VZwdX/lXNvMFTnCIZzT34p3
K+m6aHurcrdzJXhKBBUIj8szpz2LTHaC4xcEUeGx43304jdshMgqRQhZBJ4jpWYw
qee7znes2h4GKkMUHxGMHimdIjWaYXamtes8C37r9nw2tn/QcxX9g1tlCceFpCh5
CuLin4PHfZ2SGDM87/NjM7kebp7kLozmSo/Ga5acwdf4UXA4dJdmmLz0CMeLRraj
baijCJkiQa+yZ755YlFhh9a9Dsf0bytARCOUvhLu66pcjmKtez0W0zl9EXzWK/x7
vOyEtP1xMVQ1L5ZILMqTlr2j+AdMgMlqNJzF9uqdczwp+xlk1MbGYk2P9xRh8KWG
Pgtg1bhHqyEMzHw7qsQRt0+oe/gGUunETNL4AzJJbvCCX3HlkWw84qnyzOMyJzds
9ew9c4jZIZd81MdLvK2ZMq1TCEAO9LNmEj6K1rXtZA7IC2kC4lR+FsX7QIud7hGP
EJk78iJFJ7df/RvUyfnLP6usWXS5Zwaqa64DiUV73J60WHKjjVZu/HBOGnpAxUIo
6xZs22+NFWdyR+It2agIQAm3bFWgvYSBgYTQ2vH5/V9LvftamMg=
=i8F8
-----END PGP SIGNATURE-----


L
L
Liliana Marie Prikler wrote on 25 Feb 17:46 +0100
(name . Efraim Flashner)(address . efraim@flashner.co.il)(address . 69283@debbugs.gnu.org)
c6fc6621ef52b2f44ff24cf15d27e35c5b0ccc20.camel@gmail.com
Am Sonntag, dem 25.02.2024 um 16:50 +0200 schrieb Efraim Flashner:
Toggle quote (27 lines)
> On Sat, Feb 24, 2024 at 02:27:45AM +0100, Liliana Marie Prikler
> wrote:
> > Am Dienstag, dem 20.02.2024 um 09:03 +0200 schrieb Efraim Flashner:
> > > * guix/build/rakudo-build-system.scm: Remove file.
> > > * guix/build-system/rakudo.scm: Remove file.
> > > * doc/guix.texi (Build Systems): Remove section for rakudo-build-
> > > system.
> > > * etc/snippets/yas/scheme-mode/guix-package: Remove rakudo-build-
> > > system.
> > > * Makefile.am (MODULES): Remove rakudo-build-system files.
> > >
> > > Change-Id: Ida6ec6c9be075f10be540c82cee5207176f1cfe2
> > > ---
> > Given that we will keep raku, but not "perl6", what is the impact
> > on
> > packaging raku packages after this removal?  Will we have to
> > reinvent
> > rakudo-build-system?
>
> That's a good question.
>
> With the work that was done with the other patchset to adjust some of
> the perl6 packages to become raku packages I don't believe any
> changes were needed to the rakudo-build-system other than adjusting
> the check phase.  I'm glad that there weren't any problems with it,
> but I haven't looked at either the language or the build system in
> more than 4 years.
Good to know.

Toggle quote (5 lines)
> I'd rather yank it out than dive in and make sure it works correctly,
> so we're not leaving broken bits around if someone later wanted to
> use it, but I don't know if they'd prefer a build system that
> probably mostly works or to know that rakudo is packaged and they're
> on their own for actual packages.
If it works for at least one package in the tree I'd rather leave it
in; if it needs adjustments for more packages, we can still change it
as we go.

Cheers
E
E
Efraim Flashner wrote on 5 Mar 09:21 +0100
Re: bug#69283: Acknowledgement ([PATCH 0/3] Remove perl6 packages.)
(address . 69283-done@debbugs.gnu.org)
ZebV9YcvxE-z9Om8@3900XT
We're going to keep them for now.

--
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
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmXm1fUACgkQQarn3Mo9
g1ETYg/+P+T/NujA30m2vpQuW9T2Ft+fjNLxhLYJSzU+MuyGSj5z4vAxTuDRmBu/
u6iBs+DRxES5ElC10Xia39BtWHsMTWRMfhIk6tCrv2rkWF5+7SbUYa5lQR6bGBMx
ZRxlNWo1KluXZVN7J4dULvWjqtktXzep5h3g6QGkhXoDOA+5nZZc4PH2gzwx+/PC
qMSKIVz8025pyQFVY76bhgxG1WwjyEoyR3th1xxmmrgy+of5MtEXxHqdSk74kzjF
5Q2Av8JUgyMjLl/ZoxtQAtoxs303G6mGOIppVi8ip3Ma4WfngVUgmb3/pJJYCbfg
sbCVqFV0uQKFtRZbC2fV7Utq+bTbdYysUVE3Eiq92+gAkgSYhQi/qEdHglzeDLA7
d4JeMT3ZoSGfdhgW5sQzxA0Dd+oGPm1cIvHH2C05NQyEqXBYZS/1pqgDYimP+8Kl
mBmWt/qIBBa8QBFkNPuG8rFD7s8Nk9yf1zQ0Bq1HPX1yvV4mmQJ7mPasjx2zJNl8
bmUAp8BETK+LfoiJ+le8b1NYk11dRSU4/Jv1M7UaCgthD9S/so29OU/tHS0Oa6PR
1SjU5A25PynD8EwHIb4q4pQ75YZBQLTj954onUnY32HBSp9nhfv1JwEDq4llarS6
J0dwKNtcpQXeHYCVwCPxYw5IWRBv+Wx8/qym3hrSW3XiF0P0gvc=
=uV9H
-----END PGP SIGNATURE-----


Closed
?