diff mbox series

[bug#73096] A guile package for SRFI-235.

Message ID CAK0OjG3cjJGXXp61q_9vzmkv+QQyjrAknaChEchHdpHFrkU1Sw@mail.gmail.com
State New
Headers show
Series [bug#73096] A guile package for SRFI-235. | expand

Commit Message

Yuval Langer Sept. 8, 2024, 4:02 a.m. UTC
Friend (robin on Libera) just noticed I didn't remove the
gnu:packages:guile: prefix I use for my own Guix channel.  Uploading
the hopefully final version of this patch.

Comments

jgart Sept. 9, 2024, 6:17 p.m. UTC | #1
Applied, thanks!

I tested with the following in a REPL:

scheme@(guile-user)> ,use(srfi srfi-235)
scheme@(guile-user)> (if-procedure #t (lambda () 1) (lambda () 2))
$1 = 1
#<unspecified>
scheme@(guile-user)> (if-procedure #f (lambda () 1) (lambda () 2))
$2 = 2
#<unspecified>
diff mbox series

Patch

From 2922975cb88444b7abfb8fe971a4eb77deab0474 Mon Sep 17 00:00:00 2001
Message-Id: <2922975cb88444b7abfb8fe971a4eb77deab0474.1725768085.git.yuval.langer@gmail.com>
From: Yuval Langer <yuval.langer@gmail.com>
Date: Sat, 7 Sep 2024 16:00:04 +0300
Subject: [PATCH] gnu: Add guile-srfi-235.

* gnu/packages/guile-xyz.scm (guile-srfi-235): New variable.
---
 gnu/packages/guile-xyz.scm | 39 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 3bcb0e82bb..792b1c6fa8 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -4079,6 +4079,45 @@  procedures, and procedures created with it have predictable behavior when
 applied to surplus arguments.")
     (license license:expat)))
 
+(define-public guile-srfi-235
+  (let ((version "1.0.0")
+        (revision "1")
+        (commit "643a44aa9d6872962257995ecb0a31eb06a71d88"))
+    (package
+      (name "guile-srfi-235")
+      (version (git-version version revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url
+                "https://github.com/scheme-requests-for-implementation/srfi-235")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1slkcr67ad12ipkbhjdzjhbnsyvq5wi7cssvgv110fr2dy4rciwp"))))
+      (build-system guile-build-system)
+      (arguments
+       (list
+        #:phases #~(modify-phases %standard-phases
+                     (add-after 'unpack 'move-create-and-delete-files
+                       (lambda _
+                         (substitute* "srfi/235.sld"
+                           (("srfi 235")
+                            "srfi srfi-235"))
+                         (rename-file "srfi/235.sld" "srfi/srfi-235.scm"))))))
+      (native-inputs (list guile-3.0))
+      (home-page
+       "https://github.com/scheme-requests-for-implementation/srfi-235")
+      (synopsis "Combinators for Guile Scheme")
+      (description
+       "This SRFI contains various procedures that accept and return procedures, as
+well as a few others, drawn from an earlier version of Chicken.
+Common Lisp has a few of them too, and more come from the Standard
+Prelude from Programming Praxis.  Using these procedures helps to keep
+code terse and reduce the need for ad hoc lambdas.")
+      (license license:expat))))
+
 (define-public emacsy
   (package
     (name "emacsy")
-- 
2.30.2