GNU bug report logs - #68305
[PATCH] gnu: Add guile-srfi-197.

Previous Next

Package: guix-patches;

Reported by: Tomas Volf <~@wolfsden.cz>

Date: Sun, 7 Jan 2024 15:11:01 UTC

Severity: normal

Tags: patch

Done: Mathieu Othacehe <othacehe <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 68305 in the body.
You can then email your comments to 68305 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#68305; Package guix-patches. (Sun, 07 Jan 2024 15:11:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Tomas Volf <~@wolfsden.cz>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sun, 07 Jan 2024 15:11:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Tomas Volf <~@wolfsden.cz>
To: guix-patches <at> gnu.org
Cc: Tomas Volf <~@wolfsden.cz>
Subject: [PATCH] gnu: Add guile-srfi-197.
Date: Sun,  7 Jan 2024 16:09:44 +0100
* gnu/packages/guile-xyz.scm (guile-srfi-197): New variable.

Change-Id: Ifcdc264e6a03e88e7614d79792fbe6ca9c8e519c
---
 gnu/packages/guile-xyz.scm | 56 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 75e3754046..ff3104a407 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -3840,6 +3840,62 @@ (define-public guile-srfi-189
 or errors (Left).")
       (license license:expat))))
 
+(define-public guile-srfi-197
+  (let ((commit "d31b8be86460bf837cccf2737a1b9b9c01788573")
+        (revision "0"))
+    (package
+      (name "guile-srfi-197")
+      (version (git-version "0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/scheme-requests-for-implementation/srfi-197")
+               (commit commit)))
+         (sha256
+          (base32
+           "1c1jjzqgavjwfzs352wssdbjga5ymv4g3lkl0zxhjw7pfrr5xx1m"))
+         (file-name (git-file-name name version))))
+      (build-system guile-build-system)
+      (arguments
+       (list
+        #:source-directory "src"
+        #:phases
+        #~(modify-phases %standard-phases
+            (add-after 'unpack 'create-module
+              (λ _
+                (use-modules (ice-9 textual-ports))
+                (mkdir-p "src/srfi")
+                (call-with-output-file "src/srfi/srfi-197.scm"
+                  (λ (port)
+                    (write '(define-module (srfi srfi-197)
+                              #:use-module (scheme base)
+                              #:export (chain
+                                        chain-and
+                                        chain-when
+                                        chain-lambda
+                                        nest
+                                        nest-reverse))
+                           port)
+                    (call-with-input-file "srfi-197-syntax-case.scm"
+                      (λ (in-port)
+                        (display (get-string-all in-port) port)))))))
+            (add-after 'install 'check-installed
+              (λ _
+                (define-values (scm go) (target-guile-scm+go #$output))
+                (invoke "guile" "-L" scm "-C" go
+                        "--use-srfi=197" "./test.scm"))))))
+      (native-inputs
+       (list guile-3.0))
+      (home-page "https://srfi.schemers.org/srfi-197/")
+      (synopsis "Pipeline operators for Guile")
+      (description
+       "This library provides a reference implementation for SRFI-197.  This
+SRFI defines a family of chain and nest pipeline operators, which can rewrite
+nested expressions like (a b (c d (e f g))) as a sequence of operations:
+(chain g (e f _) (c d _) (a b _)).")
+      (license license:expat))))
+
 (define-public guile-srfi-232
   (package
     (name "guile-srfi-232")

base-commit: b212e6934643e085f168a5364cb593f61aa616ba
-- 
2.41.0





Information forwarded to guix-patches <at> gnu.org:
bug#68305; Package guix-patches. (Fri, 12 Jan 2024 16:12:02 GMT) Full text and rfc822 format available.

Message #8 received at 68305 <at> debbugs.gnu.org (full text, mbox):

From: Mathieu Othacehe <othacehe <at> gnu.org>
To: Tomas Volf <~@wolfsden.cz>
Cc: 68305 <at> debbugs.gnu.org
Subject: Re: [bug#68305] [PATCH] gnu: Add guile-srfi-197.
Date: Fri, 12 Jan 2024 17:10:50 +0100
Hello,

> +(define-public guile-srfi-197
> +  (let ((commit "d31b8be86460bf837cccf2737a1b9b9c01788573")
> +        (revision "0"))

You should explain why you are not using a release with a comment. The
"final" tag for instance.

> +        #~(modify-phases %standard-phases
> +            (add-after 'unpack 'create-module
> +              (λ _

Please use 'lambda'.

> +SRFI defines a family of chain and nest pipeline operators, which can rewrite
> +nested expressions like (a b (c d (e f g))) as a sequence of operations:

@code{(a b (c d (e f g)))}

> +(chain g (e f _) (c d _) (a b _)).")

@code{(chain g (e f _) (c d _) (a b _)).")}

Can you please send a v2?

Thanks,

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#68305; Package guix-patches. (Fri, 12 Jan 2024 16:48:02 GMT) Full text and rfc822 format available.

Message #11 received at 68305 <at> debbugs.gnu.org (full text, mbox):

From: Tomas Volf <~@wolfsden.cz>
To: 68305 <at> debbugs.gnu.org
Cc: Tomas Volf <~@wolfsden.cz>
Subject: [PATCH v2] gnu: Add guile-srfi-197.
Date: Fri, 12 Jan 2024 17:46:01 +0100
* gnu/packages/guile-xyz.scm (guile-srfi-197): New variable.

Change-Id: Ifcdc264e6a03e88e7614d79792fbe6ca9c8e519c
---
* Use lambda instead of λ.
* Add comment regarding the commit used.
* Use @code{} in the description.

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

diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 75e3754046..841127e8c9 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -3840,6 +3840,65 @@ (define-public guile-srfi-189
 or errors (Left).")
       (license license:expat))))
 
+(define-public guile-srfi-197
+  (let (
+        ;; There is minor fix to the documention after the final tag, so use
+        ;; the newest commit instead.
+        (commit "d31b8be86460bf837cccf2737a1b9b9c01788573")
+        (revision "0"))
+    (package
+      (name "guile-srfi-197")
+      (version (git-version "0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/scheme-requests-for-implementation/srfi-197")
+               (commit commit)))
+         (sha256
+          (base32
+           "1c1jjzqgavjwfzs352wssdbjga5ymv4g3lkl0zxhjw7pfrr5xx1m"))
+         (file-name (git-file-name name version))))
+      (build-system guile-build-system)
+      (arguments
+       (list
+        #:source-directory "src"
+        #:phases
+        #~(modify-phases %standard-phases
+            (add-after 'unpack 'create-module
+              (lambda _
+                (use-modules (ice-9 textual-ports))
+                (mkdir-p "src/srfi")
+                (call-with-output-file "src/srfi/srfi-197.scm"
+                  (lambda (port)
+                    (write '(define-module (srfi srfi-197)
+                              #:use-module (scheme base)
+                              #:export (chain
+                                        chain-and
+                                        chain-when
+                                        chain-lambda
+                                        nest
+                                        nest-reverse))
+                           port)
+                    (call-with-input-file "srfi-197-syntax-case.scm"
+                      (lambda (in-port)
+                        (display (get-string-all in-port) port)))))))
+            (add-after 'install 'check-installed
+              (lambda _
+                (define-values (scm go) (target-guile-scm+go #$output))
+                (invoke "guile" "-L" scm "-C" go
+                        "--use-srfi=197" "./test.scm"))))))
+      (native-inputs
+       (list guile-3.0))
+      (home-page "https://srfi.schemers.org/srfi-197/")
+      (synopsis "Pipeline operators for Guile")
+      (description
+       "This library provides a reference implementation for SRFI-197.  This
+SRFI defines a family of chain and nest pipeline operators, which can rewrite
+nested expressions like @code{(a b (c d (e f g)))} as a sequence of
+operations: @code{(chain g (e f _) (c d _) (a b _))}.")
+      (license license:expat))))
+
 (define-public guile-srfi-232
   (package
     (name "guile-srfi-232")

base-commit: b212e6934643e085f168a5364cb593f61aa616ba
-- 
2.41.0





Information forwarded to guix-patches <at> gnu.org:
bug#68305; Package guix-patches. (Fri, 12 Jan 2024 16:48:02 GMT) Full text and rfc822 format available.

Message #14 received at 68305 <at> debbugs.gnu.org (full text, mbox):

From: Tomas Volf <~@wolfsden.cz>
To: Mathieu Othacehe <othacehe <at> gnu.org>
Cc: 68305 <at> debbugs.gnu.org
Subject: Re: [bug#68305] [PATCH] gnu: Add guile-srfi-197.
Date: Fri, 12 Jan 2024 17:47:16 +0100
[Message part 1 (text/plain, inline)]
On 2024-01-12 17:10:50 +0100, Mathieu Othacehe wrote:
> 
> Hello,
> 
> > +(define-public guile-srfi-197
> > +  (let ((commit "d31b8be86460bf837cccf2737a1b9b9c01788573")
> > +        (revision "0"))
> 
> You should explain why you are not using a release with a comment. The
> "final" tag for instance.

Comment added.

> 
> > +        #~(modify-phases %standard-phases
> > +            (add-after 'unpack 'create-module
> > +              (λ _
> 
> Please use 'lambda'.

I replaced all occurrences.  Is there something regarding this in the manual?  I
see no mention of it and guix style leaves it as it is.  There are few (~5) uses
in the repository already, so I assumed it is permitted.

> 
> > +SRFI defines a family of chain and nest pipeline operators, which can rewrite
> > +nested expressions like (a b (c d (e f g))) as a sequence of operations:
> 
> @code{(a b (c d (e f g)))}
> 
> > +(chain g (e f _) (c d _) (a b _)).")
> 
> @code{(chain g (e f _) (c d _) (a b _)).")}
> 
> Can you please send a v2?

Done and done.

Have a nice day,
Tomas Volf

-- 
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#68305; Package guix-patches. (Sat, 13 Jan 2024 09:24:02 GMT) Full text and rfc822 format available.

Message #17 received at 68305 <at> debbugs.gnu.org (full text, mbox):

From: Mathieu Othacehe <othacehe <at> gnu.org>
To: Tomas Volf <~@wolfsden.cz>
Cc: 68305 <at> debbugs.gnu.org
Subject: Re: [bug#68305] [PATCH] gnu: Add guile-srfi-197.
Date: Sat, 13 Jan 2024 10:22:59 +0100
Hey,

> I replaced all occurrences.  Is there something regarding this in the manual?  I
> see no mention of it and guix style leaves it as it is.  There are few (~5) uses
> in the repository already, so I assumed it is permitted.

I don't think it is advised not to use that anywhere but the reason to
me is the consistency of the code base. It would be nice to remove the 5
existing use that you are reporting :)

> Done and done.

Perfect, thanks,

Mathieu




Reply sent to Mathieu Othacehe <othacehe <at> gnu.org>:
You have taken responsibility. (Sat, 13 Jan 2024 09:42:02 GMT) Full text and rfc822 format available.

Notification sent to Tomas Volf <~@wolfsden.cz>:
bug acknowledged by developer. (Sat, 13 Jan 2024 09:42:03 GMT) Full text and rfc822 format available.

Message #22 received at 68305-done <at> debbugs.gnu.org (full text, mbox):

From: Mathieu Othacehe <othacehe <at> gnu.org>
To: Tomas Volf <~@wolfsden.cz>
Cc: 68305-done <at> debbugs.gnu.org
Subject: Re: [bug#68305] [PATCH v2] gnu: Add guile-srfi-197.
Date: Sat, 13 Jan 2024 10:40:48 +0100
> * gnu/packages/guile-xyz.scm (guile-srfi-197): New variable.

Applied, thanks!

Mathieu




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 10 Feb 2024 12:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 190 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.