[PATCH] gnu: guile-xyz: Add guile-srfi-171.

  • Done
  • quality assurance status badge
Details
3 participants
  • jgart
  • lgcoelho
  • Nikita Domnitskii
Owner
unassigned
Submitted by
lgcoelho
Severity
normal

Debbugs page

lgcoelho wrote 1 years ago
(address . guix-patches@gnu.org)
e72faaa68ae9e0591495e5f416017231@disroot.org
This patch adds the SRFI-171, which supplies transducer functionality,
in (gnu packages guile-xyz).
Attachment: file
From 0e6f08bb1e53fc4d531cb4f1e0f7d1cdc0cd216e Mon Sep 17 00:00:00 2001
From: Luis Guilherme Coelho <lgcoelho@disroot.org>
Date: Sun, 24 Dec 2023 16:13:35 -0300
Subject: [PATCH] gnu: guile-xyz: Add guile-srfi-171.

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

Toggle diff (86 lines)
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 7b44dc3167..f22a9d995e 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -47,6 +47,7 @@
;;; Copyright © 2022 Evgeny Pisemsky <evgeny@pisemsky.com>
;;; Copyright © 2022 jgart <jgart@dismail.de>
;;; Copyright © 2023 Andrew Tropin <andrew@trop.in>
+;;; Copyright © 2023 Luis Guilherme Coelho <lgcoelho@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -3683,6 +3684,71 @@ (define-public guile-srfi-159
more expressive and flexible than the traditional @code{format} procedure.")
(license license:bsd-3))))
+(define-public guile-srfi-171
+ (let ((commit "40eb284ae54e510013054453890052df603a3a7f")
+ (revision "0"))
+ (package
+ (name "guile-srfi-171")
+ (version (git-version "0.0.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url (string-append
+ "https://github.com"
+ "/scheme-requests-for-implementation/srfi-171"))
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1w2x5mwvzb2xrp6j2drigay885ni5dag8y2iiak4s96v863wyh5l"))
+ (snippet #~(begin
+ (use-modules (ice-9 rdelim)
+ (ice-9 pretty-print)
+ (guix build utils))
+ (with-output-to-file "tmp.scm"
+ (lambda ()
+ (call-with-input-file "srfi/srfi-171.scm"
+ (lambda (input-port)
+ (let loop
+ ((i 0))
+ (let ((line (read-line input-port)))
+ (unless (equal? line
+ "(include \"171-impl.scm\")")
+ (unless (< i 13)
+ (write-line line))
+ (loop (1+ i)))))))
+ (call-with-input-file "srfi/171-impl.scm"
+ (lambda (input-port)
+ (let loop
+ ((i 0))
+ (let ((line (read-line input-port)))
+ (unless (eof-object? line)
+ (unless (< i 13)
+ (write-line line))
+ (loop (1+ i)))))))))
+ (delete-file-recursively "srfi")
+ (mkdir "srfi")
+ (rename-file "tmp.scm" "srfi/srfi-171.scm")
+ (for-each delete-file
+ '("compose.scm" "srfi-171.html"
+ "transducers.md"
+ "README.org"
+ "index.html"
+ "tests-guile.scm"
+ "tests-r7rs.scm"
+ "tests.scm"))))))
+ (build-system guile-build-system)
+ (inputs (list guile-3.0))
+ (home-page
+ "https://github.com/scheme-requests-for-implementation/srfi-171")
+ (synopsis "SRFI 171 transducers implementation for Guile")
+ (description
+ "This package provides an implementation of SRFI 171 for Guile.
+SRFI 171 defines transducers that generalize common list operations like
+map, filter, take and so on for other types. The traditional Scheme
+approach of having collection-specific procedures is not changed.")
+ (license license:expat))))
+
(define-public guile-srfi-180
(let ((commit "9188bf9724c6d320ef804579d222e855b007b193")
(revision "0"))
--
2.41.0
Nikita Domnitskii wrote 1 years ago
87y1dibud8.fsf@domnitskii.me
Guile already has srfi-171
lgcoelho wrote 1 years ago
(no subject)
(address . 68015@debbugs.gnu.org)
f0acd90a924d14144e52f2521e704d15@disroot.org
Ah, sorry, I didn't know it before.

close 68015
quit
Attachment: file
jgart wrote 6 months ago
Re: [PATCH] gnu: guile-xyz: Add guile-srfi-171.
(address . 68015-done@debbugs.gnu.org)
87r09s4sg7.fsf@dismail.de
Closing this ticket as it didn't look like it properly closed.

I used `mumi compose --done` to close the ticket in case it is helpful
for anyone else in the future.

--
all the best,
jgart
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 68015@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 68015
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help