Patchwork gnu: par2cmdline.

login
register
mail settings
Submitter Brendan Tildesley
Date Sept. 12, 2016, 9:18 a.m.
Message ID <09722be1-ef1a-757a-1e4c-aa6ce5724654@openmailbox.org>
Download mbox | patch
Permalink /patch/15535/
State New
Headers show

Comments

Brendan Tildesley - Sept. 12, 2016, 9:18 a.m.

Eric Bavier - Sept. 13, 2016, 1:36 a.m.
Hi!  Thanks for the patch; a few comments below:

On Mon, 12 Sep 2016 19:18:42 +1000
Brendan Tildesley <brendan.tildesley@openmailbox.org> wrote:

> From 0bb6fe510ce6a6c1cd0851527909db16b167d703 Mon Sep 17 00:00:00 2001
> From: Brendan Tildesley <brendan.tildesley@openmailbox.org>
> Date: Mon, 12 Sep 2016 16:02:27 +1000
> Subject: [PATCH] gnu: Add par2cmdline.
> 
> * gnu/package/disk.scm (par2cmdline): New variable.
[...]
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "https://github.com/Parchive/par2cmdline/archive/v"
> +                                  version ".tar.gz"))
> +              (file-name (string-append name "-" version ".tar.gz"))
> +              (sha256
> +               (base32
> +                "0ykfb7ar0x0flfdgf6i8xphyv5b93dalbjj2jb6hx7sdjax33n1g"))
> +              ;; This test merely needs a file to test recovery on, but
> +              ;; /dev/random is essentially /dev/urandom plus minimum entropy
> +              ;; locking, making the test hang indefinitely. This change is
> +              ;; already upstream: remove on upgrade to future 0.6.15.

Could you possobily list the upstream commit id for this change?

> +              (modules '((guix build utils)))
> +              (snippet
> +               '(substitute* "tests/test20" (("if=/dev/random") "if=/dev/urandom")))))
> +    (native-inputs
> +     `(("automake" ,automake)
> +       ("autoconf" ,autoconf)))
> +    (build-system gnu-build-system)
> +    (arguments
> +     `(#:phases
> +       (modify-phases %standard-phases
> +         (add-after 'unpack 'aclocal
> +           (lambda _ (zero? (system* "aclocal"))))
> +         (add-after 'aclocal 'automake
> +           (lambda _ (zero? (system* "automake" "--add-missing"))))
> +         (add-after 'automake 'autoconf
> +           (lambda _ (zero? (system* "autoconf")))))))

Could these phases be squashed into a single phase that calls
"autoreconf"?

> +    (synopsis "File verification and repair tool")
> +    (description "Par2cmdline is a tool for generating RAID-like PAR2 recovery
> +files a fraction the size their of using Reed-Solomon coding.  PAR2 files can
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I think that bit could be left out.  Unless fixing a typo could make it
understandable.

> +be stored along side backup or published files for recovering from bitrot.")
> +    (home-page "https://github.com/Parchive/par2cmdline")
> +    (license (list license:gpl2+  ; *

We can leave gpl2+ out, since in this case it is covered by gpl3+

> +                   license:gpl3+  ; config.guess
> +                   license:x11)))); install-sh

Could you send an updated patch?
Thanks,
`~Eric
Ludovic Courtès - Sept. 13, 2016, 12:09 p.m.
Hello,

Just a quick note:

Brendan Tildesley <brendan.tildesley@openmailbox.org> skribis:

> +                   license:gpl3+  ; config.guess
> +                   license:x11)))); install-sh

These two files are build system helpers provided by Autoconf and
Automake.  They are not installed so their license does not matter here.

Ludo’.

Patch

From 0bb6fe510ce6a6c1cd0851527909db16b167d703 Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <brendan.tildesley@openmailbox.org>
Date: Mon, 12 Sep 2016 16:02:27 +1000
Subject: [PATCH] gnu: Add par2cmdline.

* gnu/package/disk.scm (par2cmdline): New variable.
---
 gnu/packages/disk.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 27ab7a6..d1dabca 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -28,6 +28,7 @@ 
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages gettext)
@@ -45,6 +46,47 @@ 
   #:use-module (gnu packages compression)
   #:use-module (gnu packages xml))
 
+(define-public par2cmdline
+  (package
+    (name "par2cmdline")
+    (version "0.6.14")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/Parchive/par2cmdline/archive/v"
+                                  version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0ykfb7ar0x0flfdgf6i8xphyv5b93dalbjj2jb6hx7sdjax33n1g"))
+              ;; This test merely needs a file to test recovery on, but
+              ;; /dev/random is essentially /dev/urandom plus minimum entropy
+              ;; locking, making the test hang indefinitely. This change is
+              ;; already upstream: remove on upgrade to future 0.6.15.
+              (modules '((guix build utils)))
+              (snippet
+               '(substitute* "tests/test20" (("if=/dev/random") "if=/dev/urandom")))))
+    (native-inputs
+     `(("automake" ,automake)
+       ("autoconf" ,autoconf)))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'aclocal
+           (lambda _ (zero? (system* "aclocal"))))
+         (add-after 'aclocal 'automake
+           (lambda _ (zero? (system* "automake" "--add-missing"))))
+         (add-after 'automake 'autoconf
+           (lambda _ (zero? (system* "autoconf")))))))
+    (synopsis "File verification and repair tool")
+    (description "Par2cmdline is a tool for generating RAID-like PAR2 recovery
+files a fraction the size their of using Reed-Solomon coding.  PAR2 files can
+be stored along side backup or published files for recovering from bitrot.")
+    (home-page "https://github.com/Parchive/par2cmdline")
+    (license (list license:gpl2+  ; *
+                   license:gpl3+  ; config.guess
+                   license:x11)))); install-sh
+
 (define-public parted
   (package
     (name "parted")
-- 
2.10.0