[PATCH 0/3] gnu: Add cl-boost-{parse,re,lexer}.

  • Done
  • quality assurance status badge
Details
2 participants
  • Guillaume Le Vaillant
  • Paul A. Patience
Owner
unassigned
Submitted by
Paul A. Patience
Severity
normal
P
P
Paul A. Patience wrote on 21 Apr 2022 03:49
(address . guix-patches@gnu.org)(name . Paul A. Patience)(address . paul@apatience.com)
20220421014937.264841-1-paul@apatience.com
The PARSE and RE Common Lisp libraries (by https://github.com/massung)have
been seemingly migrated to the CL-BOOST organization
(https://github.com/cl-boost)— some of whose packages I've added in this
patch series —, probably to avoid potential conflicts with other CL library
names.
For now I've left the cl-parse and cl-re Guix packages alone, but if no one is
using them, they could be removed.

Paul A. Patience (3):
gnu: Add cl-boost-parse.
gnu: Add cl-boost-re.
gnu: Add cl-boost-lexer.

gnu/packages/lisp-xyz.scm | 90 +++++++++++++++++++++++++++++++++++++++
1 file changed, 90 insertions(+)

--
2.35.1
P
P
Paul A. Patience wrote on 21 Apr 2022 03:52
[PATCH 1/3] gnu: Add cl-boost-parse.
(address . 55049@debbugs.gnu.org)(name . Paul A. Patience)(address . paul@apatience.com)
20220421015222.264978-1-paul@apatience.com
* gnu/packages/lisp-xyz.scm (sbcl-boost-parse, cl-boost-parse,
ecl-boost-parse): New variables.
---
gnu/packages/lisp-xyz.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 0c7d9b3848..be00bd6995 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -667,6 +667,34 @@ (define-public ecl-re
(define-public cl-re
(sbcl-package->cl-source-package sbcl-re))

+(define-public sbcl-boost-parse
+ (let ((commit "c8f7e536b950752f3e35003e7ee0446e0fd51b50")
+ (revision "0"))
+ (package
+ (name "sbcl-boost-parse")
+ (version (git-version "1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cl-boost/parse")
+ (commit commit)))
+ (file-name (git-file-name "cl-boost-parse" version))
+ (sha256
+ (base32 "0djnp392n9wgpr9r2ycnwkglad5mn285yvr53jx3g7anm2p8r0vf"))))
+ (build-system asdf-build-system/sbcl)
+ (home-page "https://github.com/cl-boost/parse")
+ (synopsis "Monadic parsing for Common Lisp")
+ (description
+ "BOOST-PARSE is a simple token parsing library for Common Lisp.")
+ (license license:asl2.0))))
+
+(define-public cl-boost-parse
+ (sbcl-package->cl-source-package sbcl-boost-parse))
+
+(define-public ecl-boost-parse
+ (sbcl-package->ecl-package sbcl-boost-parse))
+
(define-public sbcl-ubiquitous
(let ((commit "35eb7bd9e1b3daee1705f6b41260775180cce8af")
(revision "1"))
--
2.35.1
P
P
Paul A. Patience wrote on 21 Apr 2022 03:52
[PATCH 2/3] gnu: Add cl-boost-re.
(address . 55049@debbugs.gnu.org)(name . Paul A. Patience)(address . paul@apatience.com)
20220421015222.264978-2-paul@apatience.com
* gnu/packages/lisp-xyz.scm (sbcl-boost-re, cl-boost-re,
ecl-boost-re): New variables.
---
gnu/packages/lisp-xyz.scm | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)

Toggle diff (42 lines)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index be00bd6995..491c4a5633 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -695,6 +695,37 @@ (define-public cl-boost-parse
(define-public ecl-boost-parse
(sbcl-package->ecl-package sbcl-boost-parse))

+(define-public sbcl-boost-re
+ (let ((commit "d279fc58abf76d0c40aa6cde42e17a0591bc2c5d")
+ (revision "0"))
+ (package
+ (name "sbcl-boost-re")
+ (version (git-version "1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cl-boost/re")
+ (commit commit)))
+ (file-name (git-file-name "cl-boost-re" version))
+ (sha256
+ (base32 "1h9c2rdhw6m1pm67gqbj46y2vb1kc3i1c9y3l4qhgfz14dbk80a2"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ (list sbcl-boost-parse))
+ (home-page "https://github.com/cl-boost/re")
+ (synopsis "Lua-style string pattern matching for Common Lisp")
+ (description
+ "BOOST-RE is a small, portable, lightweight, and quick, regular
+expression library for Common Lisp. It is a non-recursive, backtracking VM.")
+ (license license:asl2.0))))
+
+(define-public cl-boost-re
+ (sbcl-package->cl-source-package sbcl-boost-re))
+
+(define-public ecl-boost-re
+ (sbcl-package->ecl-package sbcl-boost-re))
+
(define-public sbcl-ubiquitous
(let ((commit "35eb7bd9e1b3daee1705f6b41260775180cce8af")
(revision "1"))
--
2.35.1
P
P
Paul A. Patience wrote on 21 Apr 2022 03:52
[PATCH 3/3] gnu: Add cl-boost-lexer.
(address . 55049@debbugs.gnu.org)(name . Paul A. Patience)(address . paul@apatience.com)
20220421015222.264978-3-paul@apatience.com
* gnu/packages/lisp-xyz.scm (sbcl-boost-lexer, cl-boost-lexer,
ecl-boost-lexer): New variables.
---
gnu/packages/lisp-xyz.scm | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)

Toggle diff (42 lines)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 491c4a5633..adea65257c 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -726,6 +726,37 @@ (define-public cl-boost-re
(define-public ecl-boost-re
(sbcl-package->ecl-package sbcl-boost-re))

+(define-public sbcl-boost-lexer
+ (let ((commit "139ca9e9580f890698deec05061e495376b7735a")
+ (revision "0"))
+ (package
+ (name "sbcl-boost-lexer")
+ (version (git-version "1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cl-boost/lexer")
+ (commit commit)))
+ (file-name (git-file-name "cl-boost-lexer" version))
+ (sha256
+ (base32 "01vsczb5cn62k2hkkn39xwh5fjn2x0b507n7afia98jnhhk3d5x4"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ (list sbcl-boost-re))
+ (home-page "https://github.com/cl-boost/lexer")
+ (synopsis "String tokenizing for Common Lisp")
+ (description
+ "BOOST-LEXER is a tokenizer for Common Lisp that makes heavy use of
+BOOST-RE.")
+ (license license:asl2.0))))
+
+(define-public cl-boost-lexer
+ (sbcl-package->cl-source-package sbcl-boost-lexer))
+
+(define-public ecl-boost-lexer
+ (sbcl-package->ecl-package sbcl-boost-lexer))
+
(define-public sbcl-ubiquitous
(let ((commit "35eb7bd9e1b3daee1705f6b41260775180cce8af")
(revision "1"))
--
2.35.1
G
G
Guillaume Le Vaillant wrote on 23 Apr 2022 10:23
Re: [bug#55049] [PATCH 0/3] gnu: Add cl-boost-{parse,re,lexer}.
(name . Paul A. Patience)(address . paul@apatience.com)(address . 55049@debbugs.gnu.org)
875yn0gpyd.fsf@kitej
"Paul A. Patience" <paul@apatience.com> skribis:

Toggle quote (16 lines)
> The PARSE and RE Common Lisp libraries (by https://github.com/massung)have
> been seemingly migrated to the CL-BOOST organization
> (https://github.com/cl-boost) — some of whose packages I've added in this
> patch series —, probably to avoid potential conflicts with other CL library
> names.
> For now I've left the cl-parse and cl-re Guix packages alone, but if no one is
> using them, they could be removed.
>
> Paul A. Patience (3):
> gnu: Add cl-boost-parse.
> gnu: Add cl-boost-re.
> gnu: Add cl-boost-lexer.
>
> gnu/packages/lisp-xyz.scm | 90 +++++++++++++++++++++++++++++++++++++++
> 1 file changed, 90 insertions(+)

I think you could replace the definitions of sbcl-parse, cl-parse and
ecl-parse by:

Toggle snippet (10 lines)
(define-public sbcl-parse
(deprecated-package "sbcl-parse" sbcl-boost-parse))

(define-public cl-parse
(deprecated-package "cl-parse" cl-boost-parse))

(define-public ecl-parse
(deprecated-package "ecl-parse" ecl-boost-parse))

and likewise for {sbcl,cl,ecl}-re. Then after some time has passed we'll
remove the deprecated packages.
-----BEGIN PGP SIGNATURE-----

iIUEAREKAC0WIQTLxZxm7Ce5cXlAaz5r6CCK3yH+PwUCYmO5mg8cZ2x2QHBvc3Rl
by5uZXQACgkQa+ggit8h/j/HAAEAglxFT0gL/7XALBD4NF98h85/NWuLKowbpW/l
1rf7OzIA/23sGhMSiHYpeUf+jK6Fnii1a1DhqSM6wvJi6AFpJXnB
=h98W
-----END PGP SIGNATURE-----

P
P
Paul A. Patience wrote on 24 Apr 2022 05:29
(name . Guillaume Le Vaillant)(address . glv@posteo.net)(address . 55049@debbugs.gnu.org)
87r15nqhu7.fsf@apatience.com
On 2022-04-23 04:23:36-04:00, Guillaume Le Vaillant wrote:
Toggle quote (15 lines)
> I think you could replace the definitions of sbcl-parse, cl-parse and
> ecl-parse by:
>
> (define-public sbcl-parse
> (deprecated-package "sbcl-parse" sbcl-boost-parse))
>
> (define-public cl-parse
> (deprecated-package "cl-parse" cl-boost-parse))
>
> (define-public ecl-parse
> (deprecated-package "ecl-parse" ecl-boost-parse))
>
> and likewise for {sbcl,cl,ecl}-re. Then after some time has passed we'll
> remove the deprecated packages.

The problem is that cl-boost-parse's (CL) package name is BOOST-PARSE,
but cl-parse's package name is PARSE, so in fact they are not
transparently interchangeable.

Could we wrap the existing definitions of sbcl-parse, etc., with
deprecated-package?

Best regards,
Paul
G
G
Guillaume Le Vaillant wrote on 24 Apr 2022 12:09
(name . Paul A. Patience)(address . paul@apatience.com)(address . 55049-done@debbugs.gnu.org)
87tuaig53a.fsf@kitej
"Paul A. Patience" <paul@apatience.com> skribis:

Toggle quote (6 lines)
> On 2022-04-23 04:23:36-04:00, Guillaume Le Vaillant wrote:
>
> The problem is that cl-boost-parse's (CL) package name is BOOST-PARSE,
> but cl-parse's package name is PARSE, so in fact they are not
> transparently interchangeable.

Indeed, they are different packages. So let's keep the old "parse" and
"re" packages for now (and these are also the only ones that are in
Quicklisp).
Patches pushed as 3ab9bd077849912b0d3518d1ccc375a9296fd99a and
following.
Thanks.
Closed
?