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

  • Open
  • quality assurance status badge
Details
2 participants
  • lgcoelho
  • Nikita Domnitskii
Owner
unassigned
Submitted by
lgcoelho
Severity
normal
L
L
lgcoelho wrote on 24 Dec 2023 20:15
(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
N
N
Nikita Domnitskii wrote on 25 Dec 2023 08:42
87y1dibud8.fsf@domnitskii.me
Guile already has srfi-171
L
L
lgcoelho wrote on 25 Feb 02:23 +0100
(no subject)
(address . 68015@debbugs.gnu.org)
f0acd90a924d14144e52f2521e704d15@disroot.org
Ah, sorry, I didn't know it before.

close 68015
quit
Attachment: file
?
Your comment

Commenting via the web interface is currently disabled.

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