summaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorGrigory Shepelev <shegeley@gmail.com>2025-06-22 19:22:39 +0300
committerZheng Junjie <z572@z572.online>2025-07-10 17:59:28 +0800
commit75069c147b449c9a8abab264b2738dbee128dc8a (patch)
tree3ac58c0df5b3616409f5e4674ec712b265fa1daf /gnu/packages
parentf89c54f24f15a276c201014454e14b413313d202 (diff)
gnu: Add guile-srfi-126.
* gnu/packages/guile-xyz.scm (guile-srfi-126): New variable. Change-Id: Ic9f81328f44cb71164af1bb1bd9be9b66acbf600 Signed-off-by: Zheng Junjie <z572@z572.online>
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/guile-xyz.scm56
1 files changed, 56 insertions, 0 deletions
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 0bfab0e98f4..1722c55a6a0 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -4470,6 +4470,62 @@ pre-alpha code.")
parameters, which define* and lambda* special forms")
(license license:gpl3+)))
+(define-public guile-srfi-126
+ (let ((revision "0")
+ (commit "f480cf2d1a33c1f3d0fab3baf321c0ed5b5eb248"))
+ (package
+ (name "guile-srfi-126")
+ (version (git-version "0.0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url
+ "https://github.com/scheme-requests-for-implementation/srfi-126")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (modules '((guix build utils)))
+ (snippet #~(begin
+ (delete-file-recursively "r6rs")
+
+ (delete-file "srfi/126.sld")
+ (delete-file "srfi/126.sld.in")
+ (delete-file "srfi/:126.sls")
+ (delete-file "srfi/:126.sls.in")
+
+ (delete-file "test-suite.body.scm")
+ (delete-file "test-suite.r6rs.sps")
+ (delete-file "test-suite.r6rs.sps.in")
+ (delete-file "test-suite.r7rs.scm")
+ (delete-file "test-suite.r7rs.scm.in")))
+ (sha256
+ (base32 "18psw8l798xmbv2h90cz41r51q1mydzg7yr71krfprx5kdfqn32q"))))
+ (build-system guile-build-system)
+ (arguments (list #:not-compiled-file-regexp "body\\.scm$"))
+ (inputs (list guile-3.0))
+ (native-inputs (list guile-3.0))
+ (home-page
+ "https://github.com/scheme-requests-for-implementation/srfi-126")
+ (synopsis "SRFI 126: R6RS-based hashtables")
+ (description
+ "Utility procedures provided by this SRFI in addition to the R6RS API may
+be categorized as follows:
+@itemize
+@item Constructors: @code{alist->eq-hashtable}, @code{alist->eqv-hashtable},
+@code{alist->hashtable}
+@item Access and mutation: @code{hashtable-lookup}, @code{hashtable-intern!}
+@item Copying: @code{hashtable-empty-copy}
+@item Key/value collections: @code{hashtable-values},
+@code{hashtable-key-list}, @code{hashtable-value-list},
+@code{hashtable-entry-lists}
+@item Iteration: @code{hashtable-walk}, @code{hashtable-update-all!},
+@code{hashtable-prune!}, @code{hashtable-merge!}, @code{hashtable-sum},
+@code{hashtable-map->lset}, @code{hashtable-find}
+@item Miscellaneous: @code{hashtable-empty?}, @code{hashtable-pop!},
+@code{hashtable-inc!}, @code{hashtable-dec!}
+@end itemize")
+ (license license:expat))))
+
(define-public guile-srfi-128
(package
(name "guile-srfi-128")