(address . guix-patches@gnu.org)
Hi,
this library implements the Rows of String Vectors file format as
specified by Stenway[1], an alternative to Comma Separated Values and
similar file formats.
It also provides two commands, rsv2scm and scm2rsv, for reading and
writing RSV files to and from a list of lists of strings.
The main repository is on Codeberg[2].
Many thanks,
Yuval Langer.
From c5361f0bf17b02a385b4782a2435c52519095c7a Mon Sep 17 00:00:00 2001
Message-Id: <c5361f0bf17b02a385b4782a2435c52519095c7a.1705236958.git.yuval.langer@gmail.com>
From: Yuval Langer <yuval.langer@gmail.com>
Date: Sun, 14 Jan 2024 14:54:10 +0200
Subject: [PATCH] Add guile-rsv package definition.
---
gnu/packages/guile-xyz.scm | 63 ++++++++++++++++++++++++++++++++++++++
1 file changed, 63 insertions(+)
Toggle diff (76 lines)
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 77be632cc3..cb7c7f504b 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -5366,6 +5366,69 @@ using a short read-capability.")
(home-page "https://codeberg.org/eris/guile-eris")
(license license:gpl3+)))
+(define-public guile-rsv
+ (let ((commit-string "ecf0cbd486bb5f73e335e9e04212b0985f3efc35")
+ (base32-string "0cgnilix4050717xx3b2n45nfvr2hag1asbw92zs6mz6srq7xclq")
+ (git-repository-url "https://codeberg.org/kakafarm/guile-rsv/"))
+ (package
+ (name "guile-rsv")
+ (version "0.1.0")
+ (source
+ (origin
+ (uri (git-reference
+ (url git-repository-url)
+ (commit commit-string)))
+ (method git-fetch)
+ (file-name (git-file-name name version))
+ (sha256 (base32 base32-string))))
+ (inputs
+ (list guile-3.0
+ bash))
+ (build-system guile-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases
+ %standard-phases
+ (add-after 'install 'link-and-wrap-executable
+ (lambda _
+ (let* ([bin (string-append #$output
+ "/bin")] ;; bin directory for PATH.
+ [site-version (target-guile-effective-version)]
+ [scm (string-append "/share/guile/site/"
+ site-version)]
+ [go (string-append "/lib/guile/"
+ site-version
+ "/site-ccache")])
+ (mkdir-p bin)
+ (for-each (lambda (command-name)
+ (let ((source-script (string-append
+ #$output
+ scm
+ "/"
+ command-name
+ ".scm"))
+ (target-command (string-append
+ bin
+ "/"
+ command-name)))
+ (symlink source-script target-command)
+ (wrap-program target-command
+ #:sh (which "bash")
+ `("GUILE_LOAD_PATH" prefix
+ (,(string-append #$output scm)))
+ `("GUILE_LOAD_COMPILED_PATH" prefix
+ (,(string-append #$output go))))))
+ (list "scm2rsv" "rsv2scm"))))))))
+ (home-page git-repository-url)
+ (synopsis "R7RS Scheme library for reading and writing RSV data format")
+ (description "R7RS Scheme library for reading and writing RSV (Rows of String
+Values) data format. Specified in
+https://github.com/Stenway/RSV-Specification and demonstrated in
+https://www.youtube.com/watch?v=tb_70o6ohMA.")
+ (license (list license:gpl3+
+ license:expat-0)))))
+
(define-public guile-r6rs-protobuf
(package
(name "guile-r6rs-protobuf")
--
2.30.2