unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#68448] Add guile-rsv package definition.
@ 2024-01-14 13:03 Yuval Langer
  2024-01-28 21:34 ` Ludovic Courtès
  0 siblings, 1 reply; 4+ messages in thread
From: Yuval Langer @ 2024-01-14 13:03 UTC (permalink / raw)
  To: 68448

[-- Attachment #1: Type: text/plain, Size: 454 bytes --]

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.

[1]: https://github.com/Stenway/RSV-Specification
[2]: https://codeberg.org/kakafarm/guile-rsv

[-- Attachment #2: 0001-Add-guile-rsv-package-definition.patch --]
[-- Type: text/x-patch, Size: 4094 bytes --]

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(+)

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


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [bug#68448] Add guile-rsv package definition.
  2024-01-14 13:03 [bug#68448] Add guile-rsv package definition Yuval Langer
@ 2024-01-28 21:34 ` Ludovic Courtès
       [not found]   ` <CAK0OjG095jgS6PyvRVADL_vogndBVnX7gSty90ccpJdTOfw36w@mail.gmail.com>
  0 siblings, 1 reply; 4+ messages in thread
From: Ludovic Courtès @ 2024-01-28 21:34 UTC (permalink / raw)
  To: Yuval Langer; +Cc: 68448

Hi Yulav,

Yuval Langer <yuval.langer@gmail.com> skribis:

> 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.

Nice!

> +(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))))

[...]

> +          (add-after 'install 'link-and-wrap-executable
> +                     (lambda _
> +                       (let* ([bin (string-append #$output
> +                                                  "/bin")] ;; bin directory for PATH.

[...]

> +     (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.")

Could you please follow the conventions and style used elsewhere in the
code, in particular regarding how to deal with snapshots, avoiding
square brackets, possibly running ‘guix style guile-rsv’, and writing
synopsis and description following our guidelines:

  https://guix.gnu.org/manual/devel/en/html_node/Synopses-and-Descriptions.html
  https://guix.gnu.org/manual/devel/en/html_node/Version-Numbers.html

Could you send an updated version?

Thanks in advance!

Ludo’.




^ permalink raw reply	[flat|nested] 4+ messages in thread

* [bug#68448] Fwd: bug#68448: Add guile-rsv package definition.
       [not found]   ` <CAK0OjG095jgS6PyvRVADL_vogndBVnX7gSty90ccpJdTOfw36w@mail.gmail.com>
@ 2024-02-06 13:15     ` Yuval Langer
  2024-04-17  9:06       ` Ludovic Courtès
  0 siblings, 1 reply; 4+ messages in thread
From: Yuval Langer @ 2024-02-06 13:15 UTC (permalink / raw)
  To: 68448

[-- Attachment #1: Type: text/plain, Size: 1078 bytes --]

(re-sending to the debbugs thread)

On Sun, Jan 28, 2024 at 11:34 PM Ludovic Courtès <ludo@gnu.org> wrote:
> Nice!

Thank you!

> Could you please follow the conventions and style used elsewhere in the
> code, in particular regarding how to deal with snapshots, avoiding
> square brackets, possibly running ‘guix style guile-rsv’, and writing
> synopsis and description following our guidelines:
>
>   https://guix.gnu.org/manual/devel/en/html_node/Synopses-and-Descriptions.html
>   https://guix.gnu.org/manual/devel/en/html_node/Version-Numbers.html
>
> Could you send an updated version?

I have:

- Replaced the square brackets with parentheses in the let
  definitions,
- added a revision number and used `git-version`,
- rewrote the synopsis and description,
- checked the style with `guix style -L . guile-rsv` in my own Guix
  channel with this guile-rsv package definition, which seems to show
  no style errors or recommendations, and

I hope these are sufficient.

> Thanks in advance!
>
> Ludo’.

Thank you!
Yuval Langer.

[-- Attachment #2: 0001-Add-guile-rsv-package-definition.patch --]
[-- Type: application/x-patch, Size: 4302 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#68448: Add guile-rsv package definition.
  2024-02-06 13:15     ` [bug#68448] Fwd: bug#68448: " Yuval Langer
@ 2024-04-17  9:06       ` Ludovic Courtès
  0 siblings, 0 replies; 4+ messages in thread
From: Ludovic Courtès @ 2024-04-17  9:06 UTC (permalink / raw)
  To: Yuval Langer; +Cc: 68448-done

[-- Attachment #1: Type: text/plain, Size: 610 bytes --]

Hi Yulav,

Yuval Langer <yuval.langer@gmail.com> skribis:

> I have:
>
> - Replaced the square brackets with parentheses in the let
>   definitions,
> - added a revision number and used `git-version`,
> - rewrote the synopsis and description,
> - checked the style with `guix style -L . guile-rsv` in my own Guix
>   channel with this guile-rsv package definition, which seems to show
>   no style errors or recommendations, and
>
> I hope these are sufficient.

Apologies for the long delay.  I made the cosmetic changes below, added
a commit log, and committed it.

Thanks!

Ludo’.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 4038 bytes --]

diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 874dd3d98a..c0b0dfd78c 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -5498,21 +5498,19 @@ (define-public guile-eris
 
 (define-public guile-rsv
   (let ((commit "41b04c85eef31d4d51001c6d66e8fd339fcc614c")
-        (revision "1")
-        (base32-string "1w9jbkpmh13zrxkj915nm3l537smm0jsrdzrzcxylb6w59vqpw6l")
-        (git-repository-url "https://codeberg.org/kakafarm/guile-rsv/"))
+        (revision "1"))
     (package
       (name "guile-rsv")
       (version (git-version "0.2.0" revision commit))
+      (home-page "https://codeberg.org/kakafarm/guile-rsv/")
       (source
        (origin
-         (uri (git-reference
-               (url git-repository-url)
-               (commit commit)))
+         (uri (git-reference (url home-page) (commit commit)))
          (method git-fetch)
          (file-name (git-file-name name version))
          (sha256
-          (base32 base32-string))))
+          (base32
+           "1w9jbkpmh13zrxkj915nm3l537smm0jsrdzrzcxylb6w59vqpw6l"))))
       (inputs (list guile-3.0 bash))
       (build-system guile-build-system)
       (arguments
@@ -5530,9 +5528,9 @@ (define-public guile-rsv
                            (mkdir-p bin)
                            (for-each (lambda (command-name)
                                        (let ((source-script (string-append #$output
-                                                             scm "/"
-                                                             command-name
-                                                             ".scm"))
+                                                                           scm "/"
+                                                                           command-name
+                                                                           ".scm"))
                                              (target-command (string-append
                                                               bin "/"
                                                               command-name)))
@@ -5544,22 +5542,19 @@ (define-public guile-rsv
                                            `("GUILE_LOAD_COMPILED_PATH" prefix
                                              (,(string-append #$output go))))))
                                      (list "scm2rsv" "rsv2scm"))))))))
-      (home-page git-repository-url)
-      (synopsis
-       "Library for reading and writing Rows of String Values data format")
+      (synopsis "Reading and writing @acronym{RSV, rows of string values} data format")
       (description
-       "R7RS-small Scheme library for reading and writing RSV (Rows of String
-Values) data format, a very simple binary format for storing tables of
-strings.  It is a competitor for e.g. CSV (Comma Seperated Values),
-and TSV (Tab Separated Values).  Its main benefit is that the strings
-are represented as Unicode encoded as UTF-8, and the value and row
-separators are byte values that are never used in UTF-8, so the
-strings do not need any error prone escaping and thus can be written
-and read verbatim.
+       "R7RS-small Scheme library for reading and writing @acronym{RSV, rows
+of string values} data format, a very simple binary format for storing tables
+of strings.  It is a competitor for CSV (Comma Seperated Values) and TSV (Tab
+Separated Values).  Its main benefit is that the strings are represented as
+Unicode encoded as UTF-8, and the value and row separators are byte values
+that are never used in UTF-8, so the strings do not need any error prone
+escaping and thus can be written and read verbatim.
 
-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)))))
+The RSV format is specified in
+@url{https://github.com/Stenway/RSV-Specification}.")
+      (license license:gpl3+))))
 
 (define-public guile-r6rs-protobuf
   (package

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-04-17  9:08 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-14 13:03 [bug#68448] Add guile-rsv package definition Yuval Langer
2024-01-28 21:34 ` Ludovic Courtès
     [not found]   ` <CAK0OjG095jgS6PyvRVADL_vogndBVnX7gSty90ccpJdTOfw36w@mail.gmail.com>
2024-02-06 13:15     ` [bug#68448] Fwd: bug#68448: " Yuval Langer
2024-04-17  9:06       ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).