GNU bug report logs - #31999
[PATCH 1/7] gnu: Add volume-key.

Previous Next

Package: guix-patches;

Reported by: Pierre Neidhardt <ambrevar <at> gmail.com>

Date: Thu, 28 Jun 2018 21:33:02 UTC

Severity: normal

Tags: patch

Done: Pierre Neidhardt <ambrevar <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 31999 in the body.
You can then email your comments to 31999 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Thu, 28 Jun 2018 21:33:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Pierre Neidhardt <ambrevar <at> gmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Thu, 28 Jun 2018 21:33:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: guix-patches <at> gnu.org
Subject: [PATCH 1/7] gnu: Add volume-key.
Date: Thu, 28 Jun 2018 23:32:37 +0200
* gnu/package/disk.scm (volume-key): New variable.
---
 gnu/packages/disk.scm | 47 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 46 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index bdd24a315..9c5cdf956 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2018 Vasile Dumitrascu <va511e <at> yahoo.com>
 ;;; Copyright © 2018 Eric Bavier <bavier <at> member.fsf.org>
 ;;; Copyright © 2018 Rutger Helling <rhelling <at> mykolab.com>
+;;; Copyright © 2018 Pierre Neidhardt <ambrevar <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -55,7 +56,11 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages vim)
   #:use-module (gnu packages w3m)
-  #:use-module (gnu packages xml))
+  #:use-module (gnu packages xml)
+  #:use-module (gnu packages cryptsetup)
+  #:use-module (gnu packages gnuzilla)
+  #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages swig))
 
 (define-public parted
   (package
@@ -547,3 +552,43 @@ provides a minimalistic and nice curses interface with a view on the directory
 hierarchy.  It ships with @code{rifle}, a file launcher that is good at
 automatically finding out which program to use for what file type.")
     (license license:gpl3)))
+
+(define-public volume-key
+  (package
+    (name "volume-key")
+    (version "0.3.10")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://releases.pagure.org/volume_key/volume_key-"
+                                  version ".tar.xz"))
+              (sha256
+               (base32
+                "19wqgrd0cnnjs1b1d7s9ssc957vis8vj7bls9rkwhf9ywgkrswn5"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("util-linux" ,util-linux)
+       ("glib" ,glib)
+       ("swig" ,swig)
+       ("lvm2" ,lvm2)
+       ("python" ,python-2)))           ; Used to generate the Python bindings.
+    (inputs
+     `(("cryptsetup" ,cryptsetup)
+       ("nss" ,nss)
+       ("gpgme" ,gpgme)))
+    (arguments
+     `(#:tests? #f ; Not sure how tests are supposed to pass, even when run manually.
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'patch-python.h-path
+           (lambda _
+             (let ((python (assoc-ref %build-inputs "python")))
+               (substitute* "Makefile.in"
+                 (("/usr/include/python") (string-append python "/include/python")))
+               #t))))))
+    (home-page "https://pagure.io/volume_key")
+    (synopsis "Manipulate storage volume encryption keys")
+    (description
+     "A library for manipulating storage volume encryption keys and storing
+them separately from volumes to handle forgotten passphrases.")
+    (license license:gpl2+)))
-- 
2.17.1





Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Thu, 28 Jun 2018 21:36:01 GMT) Full text and rfc822 format available.

Message #8 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: 31999 <at> debbugs.gnu.org
Subject: [PATCH 2/7] gnu: Add ndctl.
Date: Thu, 28 Jun 2018 23:35:22 +0200
* gnu/package/disk.scm (ndctl): New variable.
---
 gnu/packages/disk.scm | 60 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 59 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 9c5cdf956..8d0739a45 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -33,6 +33,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
   #:use-module (guix build-system python)
@@ -60,7 +61,11 @@
   #:use-module (gnu packages cryptsetup)
   #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages gnupg)
-  #:use-module (gnu packages swig))
+  #:use-module (gnu packages swig)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages web)
+  #:use-module (gnu packages documentation)
+  #:use-module (gnu packages bash))
 
 (define-public parted
   (package
@@ -592,3 +597,56 @@ automatically finding out which program to use for what file type.")
      "A library for manipulating storage volume encryption keys and storing
 them separately from volumes to handle forgotten passphrases.")
     (license license:gpl2+)))
+
+(define-public ndctl
+  (package
+    (name "ndctl")
+    (version "60.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/pmem/ndctl")
+                    (commit (string-append "v" version))))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32
+                "0w19yh6f9skf5zy4bhdjlrn3wdx5xx9cq8j6h04cmw4nla6zj9ar"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("asciidoc" ,asciidoc)
+       ("automake" ,automake)
+       ("autocont" ,autoconf)
+       ("libtool" ,libtool)
+       ("xmlto" ,xmlto)
+       ("which" ,which)
+       ("pkg-config" ,pkg-config)
+       ("docbook-xsl" ,docbook-xsl)
+       ("libxml2" ,libxml2)             ; Required for offline docbook generation.
+       ("bash-completion" ,bash-completion)))
+    (inputs
+     `(("json-c" ,json-c)
+       ("eudev" ,eudev)
+       ("util-linux" ,util-linux)
+       ("kmod" ,kmod)))
+     (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'autogen
+           (lambda _
+             (substitute* "autogen.sh"
+               (("/bin/sh") (which "sh")))
+             (substitute* "git-version-gen"
+               (("/bin/sh") (which "sh")))
+             (substitute* "git-version"
+               (("/bin/bash") (which "bash")))
+             (invoke "sh" "autogen.sh"))))
+       #:make-flags
+       (let ((out (assoc-ref %outputs "out")))
+         (list (string-append "BASH_COMPLETION_DIR=" out
+                              "/share/bash-completion/completions")))))
+    (home-page "https://github.com/pmem/ndctl")
+    (synopsis "Manage the non-volatile memory device sub-system in the Linux kernel")
+    (description
+     "Utility library for managing the libnvdimm (non-volatile memory device)
+sub-system in the Linux kernel.")
+    (license license:lgpl2.1+)))
-- 
2.17.1





Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Thu, 28 Jun 2018 21:36:02 GMT) Full text and rfc822 format available.

Message #11 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: 31999 <at> debbugs.gnu.org
Subject: [PATCH 3/7] gnu: Add libbytesize.
Date: Thu, 28 Jun 2018 23:35:23 +0200
* gnu/package/c.scm (libbytesize): New variable.
---
 gnu/packages/c.scm | 75 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 75 insertions(+)

diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index bc6042874..0398bb04d 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2016, 2018 Ludovic Courtès <ludo <at> gnu.org>
 ;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado <at> elephly.net>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me <at> tobias.gr>
+;;; Copyright © 2018 Pierre Neidhardt <ambrevar <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -22,6 +23,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages bootstrap)
@@ -30,6 +32,12 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages guile)
+  #:use-module (gnu packages multiprecision)
+  #:use-module (gnu packages pcre)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages gettext)
+  #:use-module (gnu packages pkg-config)
   #:use-module (srfi srfi-1))
 
 (define-public tcc
@@ -166,3 +174,70 @@ compiler while still keeping it small, simple, fast and understandable.")
     ;; PCC incorporates code under various BSD licenses; for new code bsd-2 is
     ;; preferred.  See http://pcc.ludd.ltu.se/licenses/ for more details.
     (license (list license:bsd-2 license:bsd-3))))
+
+(define-public libbytesize
+  (package
+    (name "libbytesize")
+    (version "1.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/storaged-project/libbytesize")
+                    (commit version)))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32
+                "1ys5d8rya8x4q34gn1hr96z7797s9gdzah0y0d7g84x5x6k50p30"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("gettext" ,gettext-minimal)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python)
+       ("python2" ,python-2) ; For tests.
+       ("python2-six" ,python2-six) ; For tests.
+       ("python2-polib" ,python2-polib) ; For tests.
+       ))
+    (inputs
+     `(("mpfr" ,mpfr)
+       ("pcre" ,pcre)))
+    (arguments
+     `(#:tests? #f ; One test fails because busctl (systemd only?) and
+                   ; python2-pocketlint are missing.
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'autogen
+           (lambda _
+             (invoke ("sh" "autogen.sh")))))))
+    (home-page "https://github.com/storaged-project/libbytesize")
+    (synopsis "Tiny C library for working with arbitrary big sizes in bytes")
+    (description
+     "The goal of this project is to provide a tiny library that would
+facilitate the common operations with sizes in bytes.  Many projects need to
+work with sizes in bytes (be it sizes of storage space, memory...) and all of
+them need to deal with the same issues like:
+
+@itemize
+@item How to get a human-readable string for the given size?
+@item How to store the given size so that no significant information is lost?
+@item If we store the size in bytes, what if the given size gets over the
+MAXUINT64 value?
+@item How to interpret sizes entered by users according to their locale and
+typing conventions?
+@item How to deal with the decimal/binary units (MB vs. MiB) ambiguity?
+@end itemize
+
+Some projects have all the above questions/concerns addressed well, some have
+them addressed partially some simply don't care.  However, having (partial)
+solutions implemented in multiple places every time with a different set of
+bugs, differences in behaviour and this or that missing is a waste of time and
+effort.  We need a generally usable solution that could be used by every
+project that needs to deal with sizes in bytes.
+
+Since the goal is to provide a solution as much generally usable as possible
+the implementation has to be small, fast and written in a language that can be
+easily interfaced from other languages.  The current obvious choice is the C
+language with thin bindings for other languages.")
+    (license license:lgpl2.1+)))
-- 
2.17.1





Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Thu, 28 Jun 2018 21:36:02 GMT) Full text and rfc822 format available.

Message #14 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: 31999 <at> debbugs.gnu.org
Subject: [PATCH 4/7] gnu: lvm2: Add device-mapper-event support.
Date: Thu, 28 Jun 2018 23:35:24 +0200
* GNU/packages/linux.scm (lvm2)[configure-flags]: Build device-mapper-event.
---
 gnu/packages/linux.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 50f90e165..a3c7276d6 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -2138,6 +2138,8 @@ time.")
                                "--enable-udev_sync"
                                "--enable-udev_rules"
                                "--enable-pkgconfig"
+                               "--enable-cmdlib"
+                               "--enable-dmeventd" ; Requires '--enable-cmdlib'.
 
                                ;; Make sure programs such as 'dmsetup' can
                                ;; find libdevmapper.so.
-- 
2.17.1





Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Thu, 28 Jun 2018 21:36:03 GMT) Full text and rfc822 format available.

Message #17 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: 31999 <at> debbugs.gnu.org
Subject: [PATCH 5/7] gnu: Add dmraid.
Date: Thu, 28 Jun 2018 23:35:25 +0200
* gnu/package/disk.scm (dmraid): New variable.
---
 gnu/packages/disk.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 8d0739a45..bb1faae8a 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -650,3 +650,32 @@ them separately from volumes to handle forgotten passphrases.")
      "Utility library for managing the libnvdimm (non-volatile memory device)
 sub-system in the Linux kernel.")
     (license license:lgpl2.1+)))
+
+(define-public dmraid
+  (package
+    (name "dmraid")
+    (version "1.0.0.rc16-3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://people.redhat.com/~heinzm/sw/dmraid/src/dmraid-"
+                                  version
+                                  ".tar.bz2"))
+              (sha256
+               (base32
+                "1n7vsqvh7y6yvil682q129d21yhb0cmvd5fvsbkza7ypd78inhlk"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("lvm2" ,lvm2)))
+    (arguments
+     `(#:phases (modify-phases %standard-phases
+                  (add-before 'configure 'change-directory
+                    (lambda _ (chdir (string-append ,version "/dmraid")) #t)))))
+    (home-page "http://people.redhat.com/~heinzm/sw/dmraid/")
+    (synopsis "Device mapper RAID interface")
+    (description
+     "This software supports RAID device discovery, RAID set activation, creation,
+removal, rebuild and display of properties for ATARAID/DDF1 metadata.
+
+@command{dmraid} uses @file{libdevmapper} and the device-mapper kernel runtime
+to create devices with respective mappings for the ATARAID sets discovered.")
+    (license license:gpl2+)))
-- 
2.17.1





Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Thu, 28 Jun 2018 21:36:03 GMT) Full text and rfc822 format available.

Message #20 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: 31999 <at> debbugs.gnu.org
Subject: [PATCH 6/7] gnu: Add libblockdev.
Date: Thu, 28 Jun 2018 23:35:26 +0200
* gnu/package/disk.scm (libblockdev): New variable.
---
 gnu/packages/disk.scm | 59 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 58 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index bb1faae8a..2a458eafb 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -65,7 +65,8 @@
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages web)
   #:use-module (gnu packages documentation)
-  #:use-module (gnu packages bash))
+  #:use-module (gnu packages bash)
+  #:use-module (gnu packages c))
 
 (define-public parted
   (package
@@ -679,3 +680,59 @@ removal, rebuild and display of properties for ATARAID/DDF1 metadata.
 @command{dmraid} uses @file{libdevmapper} and the device-mapper kernel runtime
 to create devices with respective mappings for the ATARAID sets discovered.")
     (license license:gpl2+)))
+
+(define-public libblockdev
+  (package
+    (name "libblockdev")
+    (version "2.17")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/rhinstaller/libblockdev")
+                    (commit (string-append version "-1"))))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32
+                "14f52cj2qcnm8i2zb57qfpdk3kij2gb3xgqkbvidmf6sjicq84z2"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("python" ,python)
+       ("gobject-introspection" ,gobject-introspection)
+       ("automake" ,automake)
+       ("autocont" ,autoconf)
+       ("libtool" ,libtool)
+       ("glib" ,glib)
+       ("util-linux" ,util-linux)
+       ("nss" ,nss)
+       ("cryptsetup" ,cryptsetup)
+       ("eudev" ,eudev)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("btrfs-progs" ,btrfs-progs)
+       ("dosfstools" ,dosfstools)
+       ("dmraid" ,dmraid)
+       ("libbytesize" ,libbytesize)
+       ("lvm2" ,lvm2)
+       ("mdadm" ,mdadm)
+       ("ndctl" ,ndctl)
+       ("mdadm" ,mdadm)
+       ("parted" ,parted)
+       ("volume-key" ,volume-key)
+       ;; ("xfsprogs" ,xfsprogs) ; TODO: Package?
+       ("kmod" ,kmod)
+       ))
+     (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'autogen
+           (lambda _
+             (invoke "sh" "autogen.sh"))))))
+    (home-page "https://github.com/rhinstaller/libblockdev")
+    (synopsis "A library for manipulating block devices")
+    (description
+     "libblockdev is a C library supporting GObject introspection for
+manipulation of block devices. It has a plugin-based architecture where each
+technology (like LVM, Btrfs, MD RAID, Swap,...) is implemented in a separate
+plugin, possibly with multiple implementations (e.g. using LVM CLI or the new
+LVM DBus API).")
+    (license license:lgpl2.1+)))
-- 
2.17.1





Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Thu, 28 Jun 2018 21:36:03 GMT) Full text and rfc822 format available.

Message #23 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: 31999 <at> debbugs.gnu.org
Subject: [PATCH 7/7] gnu: Update udisk to 2.7.6.
Date: Thu, 28 Jun 2018 23:35:27 +0200
* gnu/package/freedesktop.scm (udisks): Update to 2.7.6.
---
 gnu/packages/freedesktop.scm | 36 +++++++++++++++++++++++++++++-------
 1 file changed, 29 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 7df44dfb0..ff3720109 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2017, 2018 Rutger Helling <rhelling <at> mykolab.com>
 ;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley <at> openmailbox.org>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me <at> tobias.gr>
+;;; Copyright © 2018 Pierre Neidhardt <ambrevar <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -77,6 +78,9 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xorg)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages swig)
   #:use-module (srfi srfi-1))
 
 (define-public xdg-utils
@@ -622,20 +626,29 @@ Analysis and Reporting Technology) functionality.")
 (define-public udisks
   (package
     (name "udisks")
-    (version "2.1.8")
+    (version "2.7.6")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "https://udisks.freedesktop.org/releases/"
-                                  name "-" version ".tar.bz2"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/storaged-project/udisks")
+                    (commit (string-append name "-" version))))
+              (file-name (string-append name "-" version "-checkout"))
               (sha256
                (base32
-                "1nkxhnqh39c9pzvm4zfj50rgv6apqawdx09bv3sfaxrah4a6jhfs"))))
+                "16kf104vv2xbk8cdgaqygszcl69d7lz9gf3vmi7ggywn7nfbp2ks"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("docbook-xml" ,docbook-xml-4.3) ; to build the manpages
        ("docbook-xsl" ,docbook-xsl)
        ("glib:bin" ,glib "bin") ; for glib-mkenums
        ("gobject-introspection" ,gobject-introspection)
+       ("gnome-common" ,gnome-common)
+       ("which" ,which)                 ; for autogen.sh
+       ("automake" ,automake)
+       ("autocont" ,autoconf)
+       ("libtool" ,libtool)
+       ("glib" ,glib "bin")             ; for glib-gettextize
+       ("gtk-doc" ,gtk-doc)
        ("intltool" ,intltool)
        ("pkg-config" ,pkg-config)
        ("xsltproc" ,libxslt)))
@@ -647,13 +660,15 @@ Analysis and Reporting Technology) functionality.")
        ("libgudev" ,libgudev)
        ("polkit" ,polkit)
        ("util-linux" ,util-linux)
-       ("cryptsetup" ,cryptsetup)
-       ("parted" ,parted)))
+       ("cryptsetup" ,cryptsetup)       ; TODO: Not needed on https://www.archlinux.org/packages/extra/x86_64/udisks2/.
+       ("parted" ,parted) ;  TODO: Use as native-input?  Arch Linux does it.
+       ))
     (outputs '("out"
                "doc"))                            ;5 MiB of gtk-doc HTML
     (arguments
      `(#:tests? #f ; requiring system message dbus
        #:disallowed-references ("doc")            ;enforce separation of "doc"
+       ;; TODO: No need for configure?
        #:configure-flags
        (list "--enable-man"
              "--localstatedir=/var"
@@ -679,6 +694,13 @@ Analysis and Reporting Technology) functionality.")
                               docbook-xml-catalog-file)))
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'autogen
+           (lambda _
+             ;; The autogen.sh script in gnome-common will run ./configure
+             ;; by default, which is problematic because source shebangs
+             ;; have not yet been patched.
+             (setenv "NOCONFIGURE" "t")
+             (invoke "sh" "autogen.sh")))
          (add-before
           'configure 'fix-girdir
           (lambda _
-- 
2.17.1





Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Thu, 28 Jun 2018 21:42:01 GMT) Full text and rfc822 format available.

Message #26 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: 31999 <at> debbugs.gnu.org
Subject: Re: [PATCH 7/7] gnu: Update udisk to 2.7.6.
Date: Thu, 28 Jun 2018 23:40:52 +0200
[Message part 1 (text/plain, inline)]
I'm sending this unfinished patch set because it's been a while and I
don't want to lose it all.

It's almost done: as far as I understand, we just need to build lvm2
with the new options so that dmraid->libblockdev->udisks can build.

-- 
Pierre Neidhardt
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Thu, 12 Jul 2018 20:05:01 GMT) Full text and rfc822 format available.

Message #29 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Pierre Neidhardt <ambrevar <at> gmail.com>, 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 1/7] gnu: Add volume-key.
Date: Thu, 12 Jul 2018 22:04:38 +0200
[Message part 1 (text/plain, inline)]
Hello!

I realize this patch set is incomplete, but will offer some feedback for
the next version :-)

Pierre Neidhardt <ambrevar <at> gmail.com> writes:

> * gnu/package/disk.scm (volume-key): New variable.

[...]

> +    (arguments
> +     `(#:tests? #f ; Not sure how tests are supposed to pass, even when run manually.

Heh.  I tried adding the "bin" output of NSS to get "certutil", but then
it failed with:

Error creating passphrase-encrypted packet: GPGME: Invalid crypto engine                          

Don't know what's up with that.  Perhaps our GPGME package is broken?

> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-before 'configure 'patch-python.h-path
> +           (lambda _
> +             (let ((python (assoc-ref %build-inputs "python")))

Rather:

           (lambda* (#:key inputs #:allow-other-keys)
             (let ((python (assoc-ref inputs "python")))

> +               (substitute* "Makefile.in"
> +                 (("/usr/include/python") (string-append python "/include/python")))
> +               #t))))))
> +    (home-page "https://pagure.io/volume_key")
> +    (synopsis "Manipulate storage volume encryption keys")
> +    (description
> +     "A library for manipulating storage volume encryption keys and storing
> +them separately from volumes to handle forgotten passphrases.")

Please use complete sentences, e.g. "This package provides a ...".

> +    (license license:gpl2+)))

This is actually GPL2 only, since the source headers specify it without
the "or later" clause.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Thu, 12 Jul 2018 20:13:02 GMT) Full text and rfc822 format available.

Message #32 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Pierre Neidhardt <ambrevar <at> gmail.com>, 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 2/7] gnu: Add ndctl.
Date: Thu, 12 Jul 2018 22:12:36 +0200
[Message part 1 (text/plain, inline)]
Pierre Neidhardt <ambrevar <at> gmail.com> writes:

> * gnu/package/disk.scm (ndctl): New variable.

[...]

> +    (native-inputs
> +     `(("asciidoc" ,asciidoc)
> +       ("automake" ,automake)
> +       ("autocont" ,autoconf)
> +       ("libtool" ,libtool)
> +       ("xmlto" ,xmlto)
> +       ("which" ,which)
> +       ("pkg-config" ,pkg-config)
> +       ("docbook-xsl" ,docbook-xsl)
> +       ("libxml2" ,libxml2)             ; Required for offline docbook generation.
> +       ("bash-completion" ,bash-completion)))
> +    (inputs
> +     `(("json-c" ,json-c)
> +       ("eudev" ,eudev)
> +       ("util-linux" ,util-linux)
> +       ("kmod" ,kmod)))

Nit-pick: please try to keep inputs sorted.  In addition to cosmetics,
it makes it easier to find out whether a particular input is present.

> +     (arguments
> +     `(#:phases
> +       (modify-phases %standard-phases
> +         (add-after 'unpack 'autogen
> +           (lambda _
> +             (substitute* "autogen.sh"
> +               (("/bin/sh") (which "sh")))
> +             (substitute* "git-version-gen"
> +               (("/bin/sh") (which "sh")))
> +             (substitute* "git-version"
> +               (("/bin/bash") (which "bash")))
> +             (invoke "sh" "autogen.sh"))))
> +       #:make-flags
> +       (let ((out (assoc-ref %outputs "out")))
> +         (list (string-append "BASH_COMPLETION_DIR=" out
> +                              "/share/bash-completion/completions")))))
> +    (home-page "https://github.com/pmem/ndctl")
> +    (synopsis "Manage the non-volatile memory device sub-system in the Linux kernel")
> +    (description
> +     "Utility library for managing the libnvdimm (non-volatile memory device)
> +sub-system in the Linux kernel.")
> +    (license license:lgpl2.1+)))

Most of the source files say GPL version 2 (only), except for the
library files which are LGPL2.1 only.  So I think we need to list both.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Thu, 12 Jul 2018 20:21:02 GMT) Full text and rfc822 format available.

Message #35 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Pierre Neidhardt <ambrevar <at> gmail.com>, 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 3/7] gnu: Add libbytesize.
Date: Thu, 12 Jul 2018 22:20:43 +0200
[Message part 1 (text/plain, inline)]
Pierre Neidhardt <ambrevar <at> gmail.com> writes:

> * gnu/package/c.scm (libbytesize): New variable.

[...]

> +    (description
> +     "The goal of this project is to provide a tiny library that would
> +facilitate the common operations with sizes in bytes.  Many projects need to
> +work with sizes in bytes (be it sizes of storage space, memory...) and all of
> +them need to deal with the same issues like:
> +
> +@itemize
> +@item How to get a human-readable string for the given size?
> +@item How to store the given size so that no significant information is lost?
> +@item If we store the size in bytes, what if the given size gets over the
> +MAXUINT64 value?
> +@item How to interpret sizes entered by users according to their locale and
> +typing conventions?
> +@item How to deal with the decimal/binary units (MB vs. MiB) ambiguity?
> +@end itemize
> +
> +Some projects have all the above questions/concerns addressed well, some have
> +them addressed partially some simply don't care.  However, having (partial)
> +solutions implemented in multiple places every time with a different set of
> +bugs, differences in behaviour and this or that missing is a waste of time and
> +effort.  We need a generally usable solution that could be used by every
> +project that needs to deal with sizes in bytes.
> +
> +Since the goal is to provide a solution as much generally usable as possible
> +the implementation has to be small, fast and written in a language that can be
> +easily interfaced from other languages.  The current obvious choice is the C
> +language with thin bindings for other languages.")

Woah.  I wonder if we should shorten this a bit (for once!).  It's a lot
to digest for the curious user.  Can you try to provide a summary?  :-)
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Thu, 12 Jul 2018 20:25:01 GMT) Full text and rfc822 format available.

Message #38 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Pierre Neidhardt <ambrevar <at> gmail.com>, 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 6/7] gnu: Add libblockdev.
Date: Thu, 12 Jul 2018 22:24:11 +0200
[Message part 1 (text/plain, inline)]
Pierre Neidhardt <ambrevar <at> gmail.com> writes:

> * gnu/package/disk.scm (libblockdev): New variable.

[...]

> +(define-public libblockdev
> +  (package
> +    (name "libblockdev")
> +    (version "2.17")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/rhinstaller/libblockdev")
> +                    (commit (string-append version "-1"))))
> +              (file-name (string-append name "-" version "-checkout"))
> +              (sha256
> +               (base32
> +                "14f52cj2qcnm8i2zb57qfpdk3kij2gb3xgqkbvidmf6sjicq84z2"))))


Note that this project provides uploaded releases, which are preferrable
to git checkouts, and won't suddenly change.  Could you change to that?

Otherwise LGTM, provided `guix lint` is happy :-)
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Thu, 12 Jul 2018 21:27:02 GMT) Full text and rfc822 format available.

Message #41 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Pierre Neidhardt <ambrevar <at> gmail.com>, 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 4/7] gnu: lvm2: Add device-mapper-event
 support.
Date: Thu, 12 Jul 2018 23:26:49 +0200
[Message part 1 (text/plain, inline)]
Pierre Neidhardt <ambrevar <at> gmail.com> writes:

> * GNU/packages/linux.scm (lvm2)[configure-flags]: Build device-mapper-event.

[...]

> +                               "--enable-cmdlib"
> +                               "--enable-dmeventd" ; Requires '--enable-cmdlib'.

I was able to get this working by modifying LDFLAGS *and* CLDFLAGS like
so:

[Message part 2 (text/x-patch, inline)]
1 file changed, 12 insertions(+), 1 deletion(-)
gnu/packages/linux.scm | 13 ++++++++++++-

modified   gnu/packages/linux.scm
@@ -2133,11 +2133,22 @@ time.")
                                "--enable-udev_rules"
                                "--enable-pkgconfig"
 
+                               "--enable-cmdlib"
+                               "--enable-dmeventd"
+
                                ;; Make sure programs such as 'dmsetup' can
                                ;; find libdevmapper.so.
                                (string-append "LDFLAGS=-Wl,-rpath="
                                               (assoc-ref %outputs "out")
-                                              "/lib"))
+                                              "/lib,-rpath="
+                                              (assoc-ref %outputs "out")
+                                              "/lib/device-mapper")
+                               (string-append "CLDFLAGS=-Wl,-rpath="
+                                              (assoc-ref %outputs "out")
+                                              "/lib,-rpath="
+                                              (assoc-ref %outputs "out")
+                                              "/lib/device-mapper")
+                               )
 
        ;; The tests use 'mknod', which requires root access.
        #:tests? #f))

[back]
[Message part 3 (text/plain, inline)]
The reason CLDFLAGS is required is because the dmeventd plugins do not
respect LDFLAGS.  See "%.so" (around line 449) in make.tmpl.in.

I think it would be okay to patch the Make template to also take LDFLAGS
into account.  Not sure what CLDFLAGS is used for, but it seems
redundant to have the same contents in both.  Can you try that?
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Thu, 12 Jul 2018 21:29:02 GMT) Full text and rfc822 format available.

Message #44 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Pierre Neidhardt <ambrevar <at> gmail.com>, 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 5/7] gnu: Add dmraid.
Date: Thu, 12 Jul 2018 23:28:40 +0200
[Message part 1 (text/plain, inline)]
Pierre Neidhardt <ambrevar <at> gmail.com> writes:

> * gnu/package/disk.scm (dmraid): New variable.

This is built-in to LVM2 these days, no?
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Thu, 12 Jul 2018 21:35:02 GMT) Full text and rfc822 format available.

Message #47 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Pierre Neidhardt <ambrevar <at> gmail.com>, 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 7/7] gnu: Update udisk to 2.7.6.
Date: Thu, 12 Jul 2018 23:34:40 +0200
[Message part 1 (text/plain, inline)]
Pierre Neidhardt <ambrevar <at> gmail.com> writes:

> * gnu/package/freedesktop.scm (udisks): Update to 2.7.6.

[...]

>  (define-public udisks
>    (package
>      (name "udisks")
> -    (version "2.1.8")
> +    (version "2.7.6")
>      (source (origin
> -              (method url-fetch)
> -              (uri (string-append "https://udisks.freedesktop.org/releases/"
> -                                  name "-" version ".tar.bz2"))
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/storaged-project/udisks")
> +                    (commit (string-append name "-" version))))
> +              (file-name (string-append name "-" version "-checkout"))
>                (sha256
>                 (base32
> -                "1nkxhnqh39c9pzvm4zfj50rgv6apqawdx09bv3sfaxrah4a6jhfs"))))
> +                "16kf104vv2xbk8cdgaqygszcl69d7lz9gf3vmi7ggywn7nfbp2ks"))))
>      (build-system gnu-build-system)
>      (native-inputs
>       `(("docbook-xml" ,docbook-xml-4.3) ; to build the manpages
>         ("docbook-xsl" ,docbook-xsl)
>         ("glib:bin" ,glib "bin") ; for glib-mkenums
>         ("gobject-introspection" ,gobject-introspection)
> +       ("gnome-common" ,gnome-common)

Do you know what gnome-common is used for?

> +       ("which" ,which)                 ; for autogen.sh
> +       ("automake" ,automake)
> +       ("autocont" ,autoconf)
> +       ("libtool" ,libtool)
> +       ("glib" ,glib "bin")             ; for glib-gettextize
> +       ("gtk-doc" ,gtk-doc)
>         ("intltool" ,intltool)
>         ("pkg-config" ,pkg-config)
>         ("xsltproc" ,libxslt)))
> @@ -647,13 +660,15 @@ Analysis and Reporting Technology) functionality.")
>         ("libgudev" ,libgudev)
>         ("polkit" ,polkit)
>         ("util-linux" ,util-linux)
> -       ("cryptsetup" ,cryptsetup)
> -       ("parted" ,parted)))
> +       ("cryptsetup" ,cryptsetup)       ; TODO: Not needed on https://www.archlinux.org/packages/extra/x86_64/udisks2/.

How does it fail without it?  Perhaps it should be propagated from
somewhere else?

> +       ("parted" ,parted) ;  TODO: Use as native-input?  Arch Linux does it.

If the software does not use parted at runtime (check with `guix gc
--references`) it should be a native-input.

> +       ))

`guix lint` won't be happy about these ;-)

>      (outputs '("out"
>                 "doc"))                            ;5 MiB of gtk-doc HTML
>      (arguments
>       `(#:tests? #f ; requiring system message dbus
>         #:disallowed-references ("doc")            ;enforce separation of "doc"
> +       ;; TODO: No need for configure?

Why is that?  I see it can run configure as part of autogen, but IMO
it's better to keep it this way to keep a consistent interface.

>         #:configure-flags
>         (list "--enable-man"
>               "--localstatedir=/var"
> @@ -679,6 +694,13 @@ Analysis and Reporting Technology) functionality.")
>                                docbook-xml-catalog-file)))
>         #:phases
>         (modify-phases %standard-phases
> +         (add-after 'unpack 'autogen
> +           (lambda _
> +             ;; The autogen.sh script in gnome-common will run ./configure
> +             ;; by default, which is problematic because source shebangs
> +             ;; have not yet been patched.
> +             (setenv "NOCONFIGURE" "t")
> +             (invoke "sh" "autogen.sh")))

LGTM.  Thanks a lot for taking this on, hopefully we can get this in
master soon!
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Sat, 28 Jul 2018 15:33:02 GMT) Full text and rfc822 format available.

Message #50 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 5/7] gnu: Add dmraid.
Date: Sat, 28 Jul 2018 17:32:10 +0200
[Message part 1 (text/plain, inline)]
Marius Bakke <mbakke <at> fastmail.com> writes:

> Pierre Neidhardt <ambrevar <at> gmail.com> writes:
>
>> * gnu/package/disk.scm (dmraid): New variable.
>
> This is built-in to LVM2 these days, no?

Not unless I'm mistaken.

Arch Linux has separate packages for them.

The Guix declaration of lvm2 does not seem to relate to dmraid.

--
Pierre Neidhardt
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Sat, 28 Jul 2018 22:05:02 GMT) Full text and rfc822 format available.

Message #53 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: 31999 <at> debbugs.gnu.org
Subject: [PATCH 1/7] gnu: Add volume-key.
Date: Sun, 29 Jul 2018 00:04:00 +0200
* gnu/package/disk.scm (volume-key): New variable.
---
 gnu/packages/disk.scm | 48 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 47 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index c1fc2e2c3..6d4435784 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2018 Vasile Dumitrascu <va511e <at> yahoo.com>
 ;;; Copyright © 2018 Eric Bavier <bavier <at> member.fsf.org>
 ;;; Copyright © 2018 Rutger Helling <rhelling <at> mykolab.com>
+;;; Copyright © 2018 Pierre Neidhardt <ambrevar <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -55,7 +56,11 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages vim)
   #:use-module (gnu packages w3m)
-  #:use-module (gnu packages xml))
+  #:use-module (gnu packages xml)
+  #:use-module (gnu packages cryptsetup)
+  #:use-module (gnu packages gnuzilla)
+  #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages swig))
 
 (define-public parted
   (package
@@ -547,3 +552,44 @@ provides a minimalistic and nice curses interface with a view on the directory
 hierarchy.  It ships with @code{rifle}, a file launcher that is good at
 automatically finding out which program to use for what file type.")
     (license license:gpl3)))
+
+(define-public volume-key
+  (package
+    (name "volume-key")
+    (version "0.3.10")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://releases.pagure.org/volume_key/volume_key-"
+                                  version ".tar.xz"))
+              (sha256
+               (base32
+                "19wqgrd0cnnjs1b1d7s9ssc957vis8vj7bls9rkwhf9ywgkrswn5"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("util-linux" ,util-linux)
+       ("glib" ,glib)
+       ("swig" ,swig)
+       ("lvm2" ,lvm2)
+       ("python" ,python-2)))           ; Used to generate the Python bindings.
+    (inputs
+     `(("cryptsetup" ,cryptsetup)
+       ("nss" ,nss)
+       ("gpgme" ,gpgme)))
+    (arguments
+     `(#:tests? #f ; Not sure how tests are supposed to pass, even when run manually.
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'patch-python.h-path
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((python (assoc-ref inputs "python")))
+               (substitute* "Makefile.in"
+                 (("/usr/include/python") (string-append python "/include/python")))
+               #t))))))
+    (home-page "https://pagure.io/volume_key")
+    (synopsis "Manipulate storage volume encryption keys")
+    (description
+     "This package provides a library for manipulating storage volume
+encryption keys and storing them separately from volumes to handle forgotten
+passphrases.")
+    (license license:gpl2)))
-- 
2.18.0





Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Sat, 28 Jul 2018 22:06:01 GMT) Full text and rfc822 format available.

Message #56 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: 31999 <at> debbugs.gnu.org
Subject: [PATCH 2/7] gnu: Add ndctl.
Date: Sun, 29 Jul 2018 00:05:22 +0200
* gnu/package/disk.scm (ndctl): New variable.
---
 gnu/packages/disk.scm | 61 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 60 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 6d4435784..354313441 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -33,6 +33,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
   #:use-module (guix build-system python)
@@ -60,7 +61,11 @@
   #:use-module (gnu packages cryptsetup)
   #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages gnupg)
-  #:use-module (gnu packages swig))
+  #:use-module (gnu packages swig)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages web)
+  #:use-module (gnu packages documentation)
+  #:use-module (gnu packages bash))
 
 (define-public parted
   (package
@@ -593,3 +598,57 @@ automatically finding out which program to use for what file type.")
 encryption keys and storing them separately from volumes to handle forgotten
 passphrases.")
     (license license:gpl2)))
+
+(define-public ndctl
+  (package
+    (name "ndctl")
+    (version "60.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/pmem/ndctl")
+                    (commit (string-append "v" version))))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32
+                "0w19yh6f9skf5zy4bhdjlrn3wdx5xx9cq8j6h04cmw4nla6zj9ar"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("asciidoc" ,asciidoc)
+       ("automake" ,automake)
+       ("autoconf" ,autoconf)
+       ("bash-completion" ,bash-completion)
+       ("docbook-xsl" ,docbook-xsl)
+       ("libtool" ,libtool)
+       ("libxml2" ,libxml2)
+       ("pkg-config" ,pkg-config)
+       ("xmlto" ,xmlto)
+       ;; Required for offline docbook generation:
+       ("which" ,which)))
+    (inputs
+     `(("eudev" ,eudev)
+       ("json-c" ,json-c)
+       ("kmod" ,kmod)
+       ("util-linux" ,util-linux)))
+     (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'autogen
+           (lambda _
+             (substitute* "autogen.sh"
+               (("/bin/sh") (which "sh")))
+             (substitute* "git-version-gen"
+               (("/bin/sh") (which "sh")))
+             (substitute* "git-version"
+               (("/bin/bash") (which "bash")))
+             (invoke "sh" "autogen.sh"))))
+       #:make-flags
+       (let ((out (assoc-ref %outputs "out")))
+         (list (string-append "BASH_COMPLETION_DIR=" out
+                              "/share/bash-completion/completions")))))
+    (home-page "https://github.com/pmem/ndctl")
+    (synopsis "Manage the non-volatile memory device sub-system in the Linux kernel")
+    (description
+     "Utility library for managing the libnvdimm (non-volatile memory device)
+sub-system in the Linux kernel.")
+    (license (list license:lgpl2.1 license:gpl2))))
-- 
2.18.0





Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Sat, 28 Jul 2018 22:08:02 GMT) Full text and rfc822 format available.

Message #59 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: 31999 <at> debbugs.gnu.org
Subject: [PATCH 3/7] gnu: Add libbytesize.
Date: Sun, 29 Jul 2018 00:07:06 +0200
* gnu/package/c.scm (libbytesize): New variable.
---
 gnu/packages/c.scm | 67 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 67 insertions(+)

diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index bc6042874..65de20cf9 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2016, 2018 Ludovic Courtès <ludo <at> gnu.org>
 ;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado <at> elephly.net>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me <at> tobias.gr>
+;;; Copyright © 2018 Pierre Neidhardt <ambrevar <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -22,6 +23,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages bootstrap)
@@ -30,6 +32,12 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages guile)
+  #:use-module (gnu packages multiprecision)
+  #:use-module (gnu packages pcre)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages gettext)
+  #:use-module (gnu packages pkg-config)
   #:use-module (srfi srfi-1))
 
 (define-public tcc
@@ -166,3 +174,62 @@ compiler while still keeping it small, simple, fast and understandable.")
     ;; PCC incorporates code under various BSD licenses; for new code bsd-2 is
     ;; preferred.  See http://pcc.ludd.ltu.se/licenses/ for more details.
     (license (list license:bsd-2 license:bsd-3))))
+
+(define-public libbytesize
+  (package
+    (name "libbytesize")
+    (version "1.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/storaged-project/libbytesize")
+                    (commit version)))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32
+                "1ys5d8rya8x4q34gn1hr96z7797s9gdzah0y0d7g84x5x6k50p30"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("gettext" ,gettext-minimal)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python)
+       ("python2" ,python-2) ; For tests.
+       ("python2-six" ,python2-six) ; For tests.
+       ("python2-polib" ,python2-polib) ; For tests.
+       ))
+    (inputs
+     `(("mpfr" ,mpfr)
+       ("pcre" ,pcre)))
+    (arguments
+     `(#:tests? #f ; One test fails because busctl (systemd only?) and
+                   ; python2-pocketlint are missing.
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'autogen
+           (lambda _
+             (invoke "sh" "autogen.sh"))))))
+    (home-page "https://github.com/storaged-project/libbytesize")
+    (synopsis "Tiny C library for working with arbitrary big sizes in bytes")
+    (description
+     "The goal of this project is to provide a tiny library that would
+facilitate the common operations with sizes in bytes.  Many projects need to
+work with sizes in bytes (be it sizes of storage space, memory...) and all of
+them need to deal with the same issues like:
+
+@itemize
+@item How to get a human-readable string for the given size?
+@item How to store the given size so that no significant information is lost?
+@item If we store the size in bytes, what if the given size gets over the
+MAXUINT64 value?
+@item How to interpret sizes entered by users according to their locale and
+typing conventions?
+@item How to deal with the decimal/binary units (MB versus MiB) ambiguity?
+@end itemize
+
+@code{libbytesize} offers a generally usable solution that could be used by
+every project that needs to deal with sizes in bytes.  It is written in the C
+language with thin bindings for other languages.")
+    (license license:lgpl2.1+)))
-- 
2.18.0





Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Sat, 28 Jul 2018 22:10:01 GMT) Full text and rfc822 format available.

Message #62 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: 31999 <at> debbugs.gnu.org
Subject: [PATCH 4/7] gnu: lvm2: Add device-mapper-event support.
Date: Sun, 29 Jul 2018 00:09:27 +0200
* GNU/packages/linux.scm (lvm2)[configure-flags]: Build device-mapper-event.
---
 gnu/packages/linux.scm | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 70615df93..e27c9b475 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -2127,12 +2127,24 @@ time.")
                                "--enable-udev_sync"
                                "--enable-udev_rules"
                                "--enable-pkgconfig"
+                               "--enable-cmdlib"
+                               "--enable-dmeventd" ; Requires '--enable-cmdlib'.
 
                                ;; Make sure programs such as 'dmsetup' can
                                ;; find libdevmapper.so.
                                (string-append "LDFLAGS=-Wl,-rpath="
                                               (assoc-ref %outputs "out")
-                                              "/lib"))
+                                              "/lib,-rpath="
+                                              (assoc-ref %outputs "out")
+                                              "/lib/device-mapper")
+                               ;; TODO: Patch make.tmpl.in to take LDFLAGS
+                               ;; into account so that we don't need to also
+                               ;; set CLDFLAGS.
+                               (string-append "CLDFLAGS=-Wl,-rpath="
+                                              (assoc-ref %outputs "out")
+                                              "/lib,-rpath="
+                                              (assoc-ref %outputs "out")
+                                              "/lib/device-mapper"))
 
        ;; The tests use 'mknod', which requires root access.
        #:tests? #f))
-- 
2.18.0





Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Sat, 28 Jul 2018 22:11:02 GMT) Full text and rfc822 format available.

Message #65 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: 31999 <at> debbugs.gnu.org
Subject: [PATCH 5/7] gnu: Add dmraid.
Date: Sun, 29 Jul 2018 00:10:01 +0200
* gnu/package/disk.scm (dmraid): New variable.
---
 gnu/packages/disk.scm | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 354313441..f26772ed2 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -652,3 +652,43 @@ passphrases.")
      "Utility library for managing the libnvdimm (non-volatile memory device)
 sub-system in the Linux kernel.")
     (license (list license:lgpl2.1 license:gpl2))))
+
+(define-public dmraid
+  (package
+    (name "dmraid")
+    (version "1.0.0.rc16-3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://people.redhat.com/~heinzm/sw/dmraid/src/dmraid-"
+                                  version
+                                  ".tar.bz2"))
+              (sha256
+               (base32
+                "1n7vsqvh7y6yvil682q129d21yhb0cmvd5fvsbkza7ypd78inhlk"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("lvm2" ,lvm2)
+       ("which" ,which)))
+    (arguments
+     `(#:tests? #f                      ; No tests.
+       #:phases (modify-phases %standard-phases
+                  (add-before 'configure 'change-directory
+                    (lambda _
+                      (chdir (string-append ,version "/dmraid"))
+                      (substitute* "make.tmpl.in"
+                        (("/bin/sh") (which "sh")))
+                      #t)))
+       #:configure-flags (list ;; Make sure programs such as 'dmevent_tool' can
+                               ;; find libdmraid.so.
+                               (string-append "LDFLAGS=-Wl,-rpath="
+                                              (assoc-ref %outputs "out")
+                                              "/lib"))))
+    (home-page "http://people.redhat.com/~heinzm/sw/dmraid/")
+    (synopsis "Device mapper RAID interface")
+    (description
+     "This software supports RAID device discovery, RAID set activation, creation,
+removal, rebuild and display of properties for ATARAID/DDF1 metadata.
+
+@command{dmraid} uses @file{libdevmapper} and the device-mapper kernel runtime
+to create devices with respective mappings for the ATARAID sets discovered.")
+    (license license:gpl2+)))
-- 
2.18.0





Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Sat, 28 Jul 2018 22:11:02 GMT) Full text and rfc822 format available.

Message #68 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: 31999 <at> debbugs.gnu.org
Subject: [PATCH 6/7] gnu: Add libblockdev.
Date: Sun, 29 Jul 2018 00:10:35 +0200
* gnu/package/disk.scm (libblockdev): New variable.
---
 gnu/packages/disk.scm | 59 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 58 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index f26772ed2..900fa7a18 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -65,7 +65,8 @@
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages web)
   #:use-module (gnu packages documentation)
-  #:use-module (gnu packages bash))
+  #:use-module (gnu packages bash)
+  #:use-module (gnu packages c))
 
 (define-public parted
   (package
@@ -692,3 +693,59 @@ removal, rebuild and display of properties for ATARAID/DDF1 metadata.
 @command{dmraid} uses @file{libdevmapper} and the device-mapper kernel runtime
 to create devices with respective mappings for the ATARAID sets discovered.")
     (license license:gpl2+)))
+
+(define-public libblockdev
+  (package
+    (name "libblockdev")
+    (version "2.18")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/storaged-project/libblockdev/archive/"
+                                  version
+                                  "-1.tar.gz"))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32
+                "1q8wh27yngrjvydm9bainda5fgifq8hbgzdsjipkn3nrrhbfy8p9"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("automake" ,automake)
+       ("autoconf" ,autoconf)
+       ("cryptsetup" ,cryptsetup)
+       ("eudev" ,eudev)
+       ("glib" ,glib)
+       ("gobject-introspection" ,gobject-introspection)
+       ("libtool" ,libtool)
+       ("libyaml" ,libyaml)
+       ("nss" ,nss)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("util-linux" ,util-linux)))
+    (inputs
+     `(("btrfs-progs" ,btrfs-progs)
+       ("dosfstools" ,dosfstools)
+       ("dmraid" ,dmraid)
+       ("kmod" ,kmod)
+       ("libbytesize" ,libbytesize)
+       ("lvm2" ,lvm2)
+       ("mdadm" ,mdadm)
+       ("ndctl" ,ndctl)
+       ("parted" ,parted)
+       ("volume-key" ,volume-key)
+       ;; ("xfsprogs" ,xfsprogs) ; TODO: Package?
+       ))
+     (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'autogen
+           (lambda _
+             (invoke "sh" "autogen.sh"))))))
+    (home-page "https://github.com/storaged-project/libblockdev")
+    (synopsis "Library for manipulating block devices")
+    (description
+     "libblockdev is a C library supporting GObject introspection for
+manipulation of block devices.  It has a plugin-based architecture where each
+technology (like LVM, Btrfs, MD RAID, Swap...) is implemented in a separate
+plugin, possibly with multiple implementations (e.g. using LVM CLI or the new
+LVM DBus API).")
+    (license license:lgpl2.1+)))
-- 
2.18.0





Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Sat, 28 Jul 2018 22:12:02 GMT) Full text and rfc822 format available.

Message #71 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: 31999 <at> debbugs.gnu.org
Subject: [PATCH 7/7] gnu: Update udisk to 2.7.6.
Date: Sun, 29 Jul 2018 00:11:10 +0200
* gnu/package/freedesktop.scm (udisks): Update to 2.7.6.
[inputs]: Replace parted with libblockdev.
---
 gnu/packages/freedesktop.scm | 47 +++++++++++++++++++++++++-----------
 1 file changed, 33 insertions(+), 14 deletions(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index b42a27b8c..43c49f51e 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2017, 2018 Rutger Helling <rhelling <at> mykolab.com>
 ;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley <at> openmailbox.org>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me <at> tobias.gr>
+;;; Copyright © 2018 Pierre Neidhardt <ambrevar <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -77,6 +78,9 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xorg)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages swig)
   #:use-module (srfi srfi-1))
 
 (define-public xdg-utils
@@ -623,33 +627,42 @@ Analysis and Reporting Technology) functionality.")
 (define-public udisks
   (package
     (name "udisks")
-    (version "2.1.8")
+    (version "2.7.6")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "https://udisks.freedesktop.org/releases/"
-                                  name "-" version ".tar.bz2"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/storaged-project/udisks")
+                    (commit (string-append name "-" version))))
+              (file-name (string-append name "-" version "-checkout"))
               (sha256
                (base32
-                "1nkxhnqh39c9pzvm4zfj50rgv6apqawdx09bv3sfaxrah4a6jhfs"))))
+                "16kf104vv2xbk8cdgaqygszcl69d7lz9gf3vmi7ggywn7nfbp2ks"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("docbook-xml" ,docbook-xml-4.3) ; to build the manpages
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("docbook-xml" ,docbook-xml-4.3) ; to build the manpages
        ("docbook-xsl" ,docbook-xsl)
-       ("glib:bin" ,glib "bin") ; for glib-mkenums
+       ("glib:bin" ,glib "bin")         ; for glib-mkenums
+       ("gnome-common" ,gnome-common)   ; TODO: Why is this needed?
        ("gobject-introspection" ,gobject-introspection)
+       ("gtk-doc" ,gtk-doc)
+       ("libtool" ,libtool)             ; for glib-gettextize
        ("intltool" ,intltool)
        ("pkg-config" ,pkg-config)
-       ("xsltproc" ,libxslt)))
+       ("xsltproc" ,libxslt)
+       ;; For autogen.sh:
+       ("which" ,which)))
     (propagated-inputs
      `(("glib" ,glib))) ; required by udisks2.pc
     (inputs
      `(("acl" ,acl)
+       ("cryptsetup" ,cryptsetup)
        ("libatasmart" ,libatasmart)
+       ("libblockdev" ,libblockdev)
        ("libgudev" ,libgudev)
        ("polkit" ,polkit)
-       ("util-linux" ,util-linux)
-       ("cryptsetup" ,cryptsetup)
-       ("parted" ,parted)))
+       ("util-linux" ,util-linux)))
     (outputs '("out"
                "doc"))                            ;5 MiB of gtk-doc HTML
     (arguments
@@ -657,6 +670,8 @@ Analysis and Reporting Technology) functionality.")
        #:disallowed-references ("doc")            ;enforce separation of "doc"
        #:configure-flags
        (list "--enable-man"
+             "--enable-gtk-doc" ; Without this the HTML doc does not seem to build automatically.
+             "--enable-available-modules" ; Such as lvm2, btrfs, etc.
              "--localstatedir=/var"
              "--enable-fhs-media"     ;mount devices in /media, not /run/media
              (string-append "--with-html-dir="
@@ -680,6 +695,13 @@ Analysis and Reporting Technology) functionality.")
                               docbook-xml-catalog-file)))
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'autogen
+           (lambda _
+             ;; The autogen.sh script in gnome-common will run ./configure
+             ;; by default, which is problematic because source shebangs
+             ;; have not yet been patched.
+             (setenv "NOCONFIGURE" "t")
+             (invoke "sh" "autogen.sh")))
          (add-before
           'configure 'fix-girdir
           (lambda _
@@ -702,9 +724,6 @@ Analysis and Reporting Technology) functionality.")
                     ;; cryptsetup is required for setting encrypted
                     ;; partitions, e.g. in gnome-disks
                     ,(string-append cryptsetup "/sbin")
-                    ;; parted is required for managing partitions, e.g. in
-                    ;; gnome-disks
-                    ,(string-append parted "/sbin")
                     "/run/current-system/profile/bin"
                     "/run/current-system/profile/sbin")))
                #t))))))
-- 
2.18.0





Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Sat, 28 Jul 2018 22:18:02 GMT) Full text and rfc822 format available.

Message #74 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: 31999 <at> debbugs.gnu.org
Subject: Re: [PATCH 7/7] gnu: Update udisk to 2.7.6.
Date: Sun, 29 Jul 2018 00:17:30 +0200
[Message part 1 (text/plain, inline)]
At last, a working version of an up-to-date udisks!

I tried mounting an external drive with it and it worked.
I haven't test the more advanced features.

-- 
Pierre Neidhardt
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Sun, 29 Jul 2018 22:11:01 GMT) Full text and rfc822 format available.

Message #77 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Pierre Neidhardt <ambrevar <at> gmail.com>, 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 3/7] gnu: Add libbytesize.
Date: Mon, 30 Jul 2018 00:10:32 +0200
[Message part 1 (text/plain, inline)]
Pierre Neidhardt <ambrevar <at> gmail.com> writes:

> * gnu/package/c.scm (libbytesize): New variable.

[...]

> +(define-public libbytesize
> +  (package
> +    (name "libbytesize")
> +    (version "1.3")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/storaged-project/libbytesize")
> +                    (commit version)))
> +              (file-name (string-append name "-" version "-checkout"))
> +              (sha256
> +               (base32
> +                "1ys5d8rya8x4q34gn1hr96z7797s9gdzah0y0d7g84x5x6k50p30"))))

This project has a release tarball (which are distinct from
autogenerated tarballs and won't suddenly change):
https://github.com/storaged-project/libbytesize/releases

Can you change to use that instead?

> +    (build-system gnu-build-system)
> +    (native-inputs
> +     `(("autoconf" ,autoconf)
> +       ("automake" ,automake)
> +       ("libtool" ,libtool)
> +       ("gettext" ,gettext-minimal)
> +       ("pkg-config" ,pkg-config)
> +       ("python" ,python)
> +       ("python2" ,python-2) ; For tests.
> +       ("python2-six" ,python2-six) ; For tests.
> +       ("python2-polib" ,python2-polib) ; For tests.
> +       ))

Please move these parenthesis up to please 'guix lint'.

> +    (inputs
> +     `(("mpfr" ,mpfr)
> +       ("pcre" ,pcre)))
> +    (arguments
> +     `(#:tests? #f ; One test fails because busctl (systemd only?) and
> +                   ; python2-pocketlint are missing.

Nit-pick: margin comments are typically not capitalized and has no
spacing between the ; and the text.

> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-after 'unpack 'autogen
> +           (lambda _
> +             (invoke "sh" "autogen.sh"))))))

Note that since the previous 'core-updates' merge, the equivalent of
this should now be invoked automatically if needed.  Can you try
removing it?  If that doesn't work, use (replace 'bootstrap ...) here
for clarity.

The rest LGTM.

> +    (home-page "https://github.com/storaged-project/libbytesize")
> +    (synopsis "Tiny C library for working with arbitrary big sizes in bytes")
> +    (description
> +     "The goal of this project is to provide a tiny library that would
> +facilitate the common operations with sizes in bytes.  Many projects need to
> +work with sizes in bytes (be it sizes of storage space, memory...) and all of
> +them need to deal with the same issues like:
> +
> +@itemize
> +@item How to get a human-readable string for the given size?
> +@item How to store the given size so that no significant information is lost?
> +@item If we store the size in bytes, what if the given size gets over the
> +MAXUINT64 value?
> +@item How to interpret sizes entered by users according to their locale and
> +typing conventions?
> +@item How to deal with the decimal/binary units (MB versus MiB) ambiguity?
> +@end itemize
> +
> +@code{libbytesize} offers a generally usable solution that could be used by
> +every project that needs to deal with sizes in bytes.  It is written in the C
> +language with thin bindings for other languages.")
> +    (license license:lgpl2.1+)))
> -- 
> 2.18.0
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Sun, 29 Jul 2018 22:24:01 GMT) Full text and rfc822 format available.

Message #80 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Pierre Neidhardt <ambrevar <at> gmail.com>, 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 2/7] gnu: Add ndctl.
Date: Mon, 30 Jul 2018 00:23:36 +0200
[Message part 1 (text/plain, inline)]
Pierre Neidhardt <ambrevar <at> gmail.com> writes:

> * gnu/package/disk.scm (ndctl): New variable.

[...]

> +(define-public ndctl
> +  (package
> +    (name "ndctl")
> +    (version "60.3")

Version 61.2 is out.  Can you see if that still works?

> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/pmem/ndctl")
> +                    (commit (string-append "v" version))))
> +              (file-name (string-append name "-" version "-checkout"))
> +              (sha256
> +               (base32
> +                "0w19yh6f9skf5zy4bhdjlrn3wdx5xx9cq8j6h04cmw4nla6zj9ar"))))
> +    (build-system gnu-build-system)
> +    (native-inputs
> +     `(("asciidoc" ,asciidoc)
> +       ("automake" ,automake)
> +       ("autoconf" ,autoconf)
> +       ("bash-completion" ,bash-completion)

That's an unusual input.  Can you add a comment about why it's needed?

> +       ("docbook-xsl" ,docbook-xsl)
> +       ("libtool" ,libtool)
> +       ("libxml2" ,libxml2)
> +       ("pkg-config" ,pkg-config)
> +       ("xmlto" ,xmlto)
> +       ;; Required for offline docbook generation:
> +       ("which" ,which)))
> +    (inputs
> +     `(("eudev" ,eudev)
> +       ("json-c" ,json-c)
> +       ("kmod" ,kmod)
> +       ("util-linux" ,util-linux)))
> +     (arguments
> +     `(#:phases
> +       (modify-phases %standard-phases
> +         (add-after 'unpack 'autogen
> +           (lambda _
> +             (substitute* "autogen.sh"
> +               (("/bin/sh") (which "sh")))
> +             (substitute* "git-version-gen"
> +               (("/bin/sh") (which "sh")))
> +             (substitute* "git-version"
> +               (("/bin/bash") (which "bash")))
> +             (invoke "sh" "autogen.sh"))))

Same here: please use the existing bootstrap phase if possible, or
replace it.

> +       #:make-flags
> +       (let ((out (assoc-ref %outputs "out")))
> +         (list (string-append "BASH_COMPLETION_DIR=" out
> +                              "/share/bash-completion/completions")))))
> +    (home-page "https://github.com/pmem/ndctl")
> +    (synopsis "Manage the non-volatile memory device sub-system in the Linux kernel")
> +    (description
> +     "Utility library for managing the libnvdimm (non-volatile memory device)
> +sub-system in the Linux kernel.")

Please use full sentences in descriptions.  E.g. "This package provides
a ...".

> +    (license (list license:lgpl2.1 license:gpl2))))

Please add comments when the licensing situation is not clear cut.  I
had a look, and while COPYING says LGPL2.1, most of the source headers
were GPL2.

In that situation GPL2 "wins", so I'd write this as:

  ;; COPYING says LGPL2.1, but many source files are GPL2 so that's
  ;; the effective license.  Note that some files under ccan/ are
  ;; covered by BSD-3 or public domain, see the individual folders.
  (license license:gpl2)))
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Sun, 29 Jul 2018 22:34:01 GMT) Full text and rfc822 format available.

Message #83 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Pierre Neidhardt <ambrevar <at> gmail.com>, 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 4/7] gnu: lvm2: Add device-mapper-event
 support.
Date: Mon, 30 Jul 2018 00:33:34 +0200
[Message part 1 (text/plain, inline)]
Pierre Neidhardt <ambrevar <at> gmail.com> writes:

> * GNU/packages/linux.scm (lvm2)[configure-flags]: Build device-mapper-event.

This changes more than just configure-flags, can you update the commit
message accordingly?

[...]

> diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
> index 70615df93..e27c9b475 100644
> --- a/gnu/packages/linux.scm
> +++ b/gnu/packages/linux.scm
> @@ -2127,12 +2127,24 @@ time.")
>                                 "--enable-udev_sync"
>                                 "--enable-udev_rules"
>                                 "--enable-pkgconfig"
> +                               "--enable-cmdlib"
> +                               "--enable-dmeventd" ; Requires '--enable-cmdlib'.
>  
>                                 ;; Make sure programs such as 'dmsetup' can
>                                 ;; find libdevmapper.so.
>                                 (string-append "LDFLAGS=-Wl,-rpath="
>                                                (assoc-ref %outputs "out")
> -                                              "/lib"))
> +                                              "/lib,-rpath="
> +                                              (assoc-ref %outputs "out")
> +                                              "/lib/device-mapper")
> +                               ;; TODO: Patch make.tmpl.in to take LDFLAGS
> +                               ;; into account so that we don't need to also
> +                               ;; set CLDFLAGS.
> +                               (string-append "CLDFLAGS=-Wl,-rpath="
> +                                              (assoc-ref %outputs "out")
> +                                              "/lib,-rpath="
> +                                              (assoc-ref %outputs "out")
> +                                              "/lib/device-mapper"))

Did you try patching the Make template?

I suppose this is okay, though I'm curious about the LDFLAGS/CLDFLAGS
distinction.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Sun, 29 Jul 2018 22:43:02 GMT) Full text and rfc822 format available.

Message #86 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Pierre Neidhardt <ambrevar <at> gmail.com>, 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 5/7] gnu: Add dmraid.
Date: Mon, 30 Jul 2018 00:42:39 +0200
[Message part 1 (text/plain, inline)]
Pierre Neidhardt <ambrevar <at> gmail.com> writes:

> * gnu/package/disk.scm (dmraid): New variable.

[...]

> +(define-public dmraid
> +  (package
> +    (name "dmraid")
> +    (version "1.0.0.rc16-3")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "http://people.redhat.com/~heinzm/sw/dmraid/src/dmraid-"
> +                                  version
> +                                  ".tar.bz2"))

*HTTPS.  Also you can save a line here :-)

> +              (sha256
> +               (base32
> +                "1n7vsqvh7y6yvil682q129d21yhb0cmvd5fvsbkza7ypd78inhlk"))))

14 years since the last release and still going strong!

> +    (build-system gnu-build-system)
> +    (native-inputs
> +     `(("lvm2" ,lvm2)
> +       ("which" ,which)))

Is LVM2 really a native input?

> +    (arguments
> +     `(#:tests? #f                      ; No tests.
> +       #:phases (modify-phases %standard-phases
> +                  (add-before 'configure 'change-directory
> +                    (lambda _
> +                      (chdir (string-append ,version "/dmraid"))
> +                      (substitute* "make.tmpl.in"
> +                        (("/bin/sh") (which "sh")))
> +                      #t)))

Nit-pick: I prefer having the chdir just after unpack.  It's a huge
benefit on tarballs with lots of unrelated directories, so that the
various patching phases don't have to traverse everything.

I doubt it makes a difference in this case, though :P


> +       #:configure-flags (list ;; Make sure programs such as 'dmevent_tool' can
> +                               ;; find libdmraid.so.
> +                               (string-append "LDFLAGS=-Wl,-rpath="
> +                                              (assoc-ref %outputs "out")
> +                                              "/lib"))))
> +    (home-page "http://people.redhat.com/~heinzm/sw/dmraid/")

*HTTPS

> +    (synopsis "Device mapper RAID interface")
> +    (description
> +     "This software supports RAID device discovery, RAID set activation, creation,
> +removal, rebuild and display of properties for ATARAID/DDF1 metadata.
> +
> +@command{dmraid} uses @file{libdevmapper} and the device-mapper kernel runtime
> +to create devices with respective mappings for the ATARAID sets discovered.")
> +    (license license:gpl2+)))

OK!  I realized this is the "fake RAID" driver, apparently it's called
ATARAID.  It would be good to mention this is for specialized hardware,
and LVM itself can do "normal" RAID, but if you can't think of a good
way to squeeze it in don't sweat about it :-)
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Sun, 29 Jul 2018 22:57:01 GMT) Full text and rfc822 format available.

Message #89 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Pierre Neidhardt <ambrevar <at> gmail.com>, 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 6/7] gnu: Add libblockdev.
Date: Mon, 30 Jul 2018 00:56:14 +0200
[Message part 1 (text/plain, inline)]
Pierre Neidhardt <ambrevar <at> gmail.com> writes:

> * gnu/package/disk.scm (libblockdev): New variable.

[...]

> +(define-public libblockdev
> +  (package
> +    (name "libblockdev")
> +    (version "2.17")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/rhinstaller/libblockdev")
> +                    (commit (string-append version "-1"))))
> +              (file-name (string-append name "-" version "-checkout"))
> +              (sha256
> +               (base32
> +                "14f52cj2qcnm8i2zb57qfpdk3kij2gb3xgqkbvidmf6sjicq84z2"))))

This project also provides uploaded releases.  Please use those when
available.

Also, 2.18 is out!

> +    (build-system gnu-build-system)
> +    (native-inputs
> +     `(("python" ,python)
> +       ("gobject-introspection" ,gobject-introspection)
> +       ("automake" ,automake)
> +       ("autocont" ,autoconf)
> +       ("libtool" ,libtool)
> +       ("glib" ,glib)
> +       ("util-linux" ,util-linux)
> +       ("nss" ,nss)
> +       ("cryptsetup" ,cryptsetup)
> +       ("eudev" ,eudev)
> +       ("pkg-config" ,pkg-config)))

That's a lot of native dependencies!  I would assume glib, cryptsetup
and eudev at least were "normal" inputs, I guess they are needed for
tests?  Can you add a comment about it?

> +    (inputs
> +     `(("btrfs-progs" ,btrfs-progs)
> +       ("dosfstools" ,dosfstools)
> +       ("dmraid" ,dmraid)
> +       ("libbytesize" ,libbytesize)
> +       ("lvm2" ,lvm2)
> +       ("mdadm" ,mdadm)
> +       ("ndctl" ,ndctl)
> +       ("mdadm" ,mdadm)
> +       ("parted" ,parted)
> +       ("volume-key" ,volume-key)
> +       ;; ("xfsprogs" ,xfsprogs) ; TODO: Package?
> +       ("kmod" ,kmod)
> +       ))

These parenthesis feel lonely ;-)

> +     (arguments
> +     `(#:phases
> +       (modify-phases %standard-phases
> +         (add-after 'unpack 'autogen
> +           (lambda _
> +             (invoke "sh" "autogen.sh"))))))

Try removing this phase here too, or replace 'bootstrap' :-)

> +    (home-page "https://github.com/rhinstaller/libblockdev")
> +    (synopsis "A library for manipulating block devices")

s/A library/C library/ to please `guix lint` :-)
 
> +    (description
> +     "libblockdev is a C library supporting GObject introspection for
> +manipulation of block devices. It has a plugin-based architecture where each
> +technology (like LVM, Btrfs, MD RAID, Swap,...) is implemented in a separate
> +plugin, possibly with multiple implementations (e.g. using LVM CLI or the new
> +LVM DBus API).")

Remember two spaces between sentences (guix lint should warn about this too).

Also s/DBus/D-Bus/

> +    (license license:lgpl2.1+)))

Most of the source files are GPL2+, actually.  Not a single source file
includes the LGPL header, though some are missing licensing information.

I'd write this as:

  ;; XXX: Copying says LGPL2.1, but the source files with license
  ;; information are GPL2+.
  (license license:gpl2+)))
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Sun, 29 Jul 2018 23:02:02 GMT) Full text and rfc822 format available.

Message #92 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Pierre Neidhardt <ambrevar <at> gmail.com>, 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 7/7] gnu: Update udisk to 2.7.6.
Date: Mon, 30 Jul 2018 01:01:20 +0200
[Message part 1 (text/plain, inline)]
Pierre Neidhardt <ambrevar <at> gmail.com> writes:

> * gnu/package/freedesktop.scm (udisks): Update to 2.7.6.
> [inputs]: Replace parted with libblockdev.

Woohoo!  Please also mention the changes to [native-inputs] and
[arguments] here.

[...]
  
> @@ -623,33 +627,42 @@ Analysis and Reporting Technology) functionality.")
>  (define-public udisks
>    (package
>      (name "udisks")
> -    (version "2.1.8")
> +    (version "2.7.6")
>      (source (origin
> -              (method url-fetch)
> -              (uri (string-append "https://udisks.freedesktop.org/releases/"
> -                                  name "-" version ".tar.bz2"))
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/storaged-project/udisks")
> +                    (commit (string-append name "-" version))))
> +              (file-name (string-append name "-" version "-checkout"))
>                (sha256
>                 (base32
> -                "1nkxhnqh39c9pzvm4zfj50rgv6apqawdx09bv3sfaxrah4a6jhfs"))))
> +                "16kf104vv2xbk8cdgaqygszcl69d7lz9gf3vmi7ggywn7nfbp2ks"))))

2.7.7 is out!  Also use the uploaded release instead of a git checkout.
Then you can drop the autotools inputs and autogen phase as well!

Other than that LGTM.

>      (build-system gnu-build-system)
>      (native-inputs
> -     `(("docbook-xml" ,docbook-xml-4.3) ; to build the manpages
> +     `(("autoconf" ,autoconf)
> +       ("automake" ,automake)
> +       ("docbook-xml" ,docbook-xml-4.3) ; to build the manpages
>         ("docbook-xsl" ,docbook-xsl)
> -       ("glib:bin" ,glib "bin") ; for glib-mkenums
> +       ("glib:bin" ,glib "bin")         ; for glib-mkenums
> +       ("gnome-common" ,gnome-common)   ; TODO: Why is this needed?
>         ("gobject-introspection" ,gobject-introspection)
> +       ("gtk-doc" ,gtk-doc)
> +       ("libtool" ,libtool)             ; for glib-gettextize
>         ("intltool" ,intltool)
>         ("pkg-config" ,pkg-config)
> -       ("xsltproc" ,libxslt)))
> +       ("xsltproc" ,libxslt)
> +       ;; For autogen.sh:
> +       ("which" ,which)))
>      (propagated-inputs
>       `(("glib" ,glib))) ; required by udisks2.pc
>      (inputs
>       `(("acl" ,acl)
> +       ("cryptsetup" ,cryptsetup)
>         ("libatasmart" ,libatasmart)
> +       ("libblockdev" ,libblockdev)
>         ("libgudev" ,libgudev)
>         ("polkit" ,polkit)
> -       ("util-linux" ,util-linux)
> -       ("cryptsetup" ,cryptsetup)
> -       ("parted" ,parted)))
> +       ("util-linux" ,util-linux)))
>      (outputs '("out"
>                 "doc"))                            ;5 MiB of gtk-doc HTML
>      (arguments
> @@ -657,6 +670,8 @@ Analysis and Reporting Technology) functionality.")
>         #:disallowed-references ("doc")            ;enforce separation of "doc"
>         #:configure-flags
>         (list "--enable-man"
> +             "--enable-gtk-doc" ; Without this the HTML doc does not seem to build automatically.
> +             "--enable-available-modules" ; Such as lvm2, btrfs, etc.
>               "--localstatedir=/var"
>               "--enable-fhs-media"     ;mount devices in /media, not /run/media
>               (string-append "--with-html-dir="
> @@ -680,6 +695,13 @@ Analysis and Reporting Technology) functionality.")
>                                docbook-xml-catalog-file)))
>         #:phases
>         (modify-phases %standard-phases
> +         (add-after 'unpack 'autogen
> +           (lambda _
> +             ;; The autogen.sh script in gnome-common will run ./configure
> +             ;; by default, which is problematic because source shebangs
> +             ;; have not yet been patched.
> +             (setenv "NOCONFIGURE" "t")
> +             (invoke "sh" "autogen.sh")))
>           (add-before
>            'configure 'fix-girdir
>            (lambda _
> @@ -702,9 +724,6 @@ Analysis and Reporting Technology) functionality.")
>                      ;; cryptsetup is required for setting encrypted
>                      ;; partitions, e.g. in gnome-disks
>                      ,(string-append cryptsetup "/sbin")
> -                    ;; parted is required for managing partitions, e.g. in
> -                    ;; gnome-disks
> -                    ,(string-append parted "/sbin")
>                      "/run/current-system/profile/bin"
>                      "/run/current-system/profile/sbin")))
>                 #t))))))
> -- 
> 2.18.0
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Mon, 30 Jul 2018 09:15:01 GMT) Full text and rfc822 format available.

Message #95 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 6/7] gnu: Add libblockdev.
Date: Mon, 30 Jul 2018 11:14:16 +0200
[Message part 1 (text/plain, inline)]
Looks like you've reviewed the n-1 patch! :p

Some comments are still valid though.  Let me know if there is anything
else in the latest patch.

-- 
Pierre Neidhardt
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Mon, 30 Jul 2018 09:20:02 GMT) Full text and rfc822 format available.

Message #98 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 31999 <at> debbugs.GNU.org
Subject: Re: [bug#32299] [PATCH 1/7] gnu: Add volume-key.
Date: Mon, 30 Jul 2018 11:19:11 +0200
[Message part 1 (text/plain, inline)]
Marius Bakke <mbakke <at> fastmail.com> writes:

> Pierre Neidhardt <ambrevar <at> gmail.com> writes:
>
>> * gnu/package/disk.scm (volume-key): New variable.
>
> [...]
>
>> +(define-public volume-key
>> +  (package
>> +    (name "volume-key")
>> +    (version "0.3.10")
>
> 0.3.11 is out!
>
>> +    (source (origin
>> +              (method url-fetch)
>> +              (uri (string-append "https://releases.pagure.org/volume_key/volume_key-"
>> +                                  version ".tar.xz"))
>> +              (sha256
>> +               (base32
>> +                "19wqgrd0cnnjs1b1d7s9ssc957vis8vj7bls9rkwhf9ywgkrswn5"))))
>> +    (build-system gnu-build-system)
>> +    (native-inputs
>> +     `(("pkg-config" ,pkg-config)
>> +       ("util-linux" ,util-linux)
>> +       ("glib" ,glib)
>> +       ("swig" ,swig)
>> +       ("lvm2" ,lvm2)
>> +       ("python" ,python-2)))           ; Used to generate the Python bindings.
>
> Are you sure lvm2 and glib are native-inputs?  I.e. are they truly only
> needed for building, and not at runtime?
>
> Other than that LGTM!
>
>> +    (inputs
>> +     `(("cryptsetup" ,cryptsetup)
>> +       ("nss" ,nss)
>> +       ("gpgme" ,gpgme)))
>> +    (arguments
>> +     `(#:tests? #f ; Not sure how tests are supposed to pass, even when run manually.
>> +       #:phases
>> +       (modify-phases %standard-phases
>> +         (add-before 'configure 'patch-python.h-path
>> +           (lambda* (#:key inputs #:allow-other-keys)
>> +             (let ((python (assoc-ref inputs "python")))
>> +               (substitute* "Makefile.in"
>> +                 (("/usr/include/python") (string-append python "/include/python")))
>> +               #t))))))
>> +    (home-page "https://pagure.io/volume_key")
>> +    (synopsis "Manipulate storage volume encryption keys")
>> +    (description
>> +     "This package provides a library for manipulating storage volume
>> +encryption keys and storing them separately from volumes to handle forgotten
>> +passphrases.")
>> +    (license license:gpl2)))
>> -- 
>> 2.18.0

Acknowledged.

But mind the confusion with the bug number (my bad, I messed up).
I'm CC'ing this answer to the right bug number.

-- 
Pierre Neidhardt
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Mon, 30 Jul 2018 09:48:01 GMT) Full text and rfc822 format available.

Message #101 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 2/7] gnu: Add ndctl.
Date: Mon, 30 Jul 2018 11:47:37 +0200
[Message part 1 (text/plain, inline)]
Marius Bakke <mbakke <at> fastmail.com> writes:

>> +       ("bash-completion" ,bash-completion)
>
> That's an unusual input.  Can you add a comment about why it's needed?

I took that from the Arch package
(https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/ndctl)
but it's obviously not required.
That said, should I add bash-completion as an input or leave it out?  I
tend to see this as "optional", so I'd rather leave it out.  Not sure
what the Guix policy is in this regard.

-- 
Pierre Neidhardt
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Mon, 30 Jul 2018 10:01:02 GMT) Full text and rfc822 format available.

Message #104 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 3/7] gnu: Add libbytesize.
Date: Mon, 30 Jul 2018 11:59:57 +0200
[Message part 1 (text/plain, inline)]
Marius Bakke <mbakke <at> fastmail.com> writes:

>> +       ("python2-polib" ,python2-polib) ; For tests.
>> +       ))
>
> Please move these parenthesis up to please 'guix lint'.

Actually, because there is a comment on the previous line, guix lint
does not complain and in fact it's accepted but the style guide of Guix.
See "(guix) Formatting Code" which refers to
http://mumble.net/~campbell/scheme/style.txt.

--
Pierre Neidhardt
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Mon, 30 Jul 2018 10:11:02 GMT) Full text and rfc822 format available.

Message #107 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 4/7] gnu: lvm2: Add device-mapper-event
 support.
Date: Mon, 30 Jul 2018 12:10:38 +0200
[Message part 1 (text/plain, inline)]
Marius Bakke <mbakke <at> fastmail.com> writes:

>> +                               ;; TODO: Patch make.tmpl.in to take LDFLAGS
>> +                               ;; into account so that we don't need to also
>> +                               ;; set CLDFLAGS.
>> +                               (string-append "CLDFLAGS=-Wl,-rpath="
>> +                                              (assoc-ref %outputs "out")
>> +                                              "/lib,-rpath="
>> +                                              (assoc-ref %outputs "out")
>> +                                              "/lib/device-mapper"))
>
> Did you try patching the Make template?
>
> I suppose this is okay, though I'm curious about the LDFLAGS/CLDFLAGS
> distinction.

I did not but this is low priority on my TODO list so I'd rather leave a
TODO comment if someone wants to pick this up later.

-- 
Pierre Neidhardt
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Mon, 30 Jul 2018 10:13:01 GMT) Full text and rfc822 format available.

Message #110 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 4/7] gnu: lvm2: Add device-mapper-event
 support.
Date: Mon, 30 Jul 2018 12:12:41 +0200
[Message part 1 (text/plain, inline)]
Marius Bakke <mbakke <at> fastmail.com> writes:

> Pierre Neidhardt <ambrevar <at> gmail.com> writes:
>
>> * GNU/packages/linux.scm (lvm2)[configure-flags]: Build device-mapper-event.
>
> This changes more than just configure-flags, can you update the commit
> message accordingly?

Err... What else does it change?  Could be missing the obvious... :p

-- 
Pierre Neidhardt
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Mon, 30 Jul 2018 10:24:02 GMT) Full text and rfc822 format available.

Message #113 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 5/7] gnu: Add dmraid.
Date: Mon, 30 Jul 2018 12:23:42 +0200
[Message part 1 (text/plain, inline)]
Marius Bakke <mbakke <at> fastmail.com> writes:

> OK!  I realized this is the "fake RAID" driver, apparently it's called
> ATARAID.  It would be good to mention this is for specialized hardware,
> and LVM itself can do "normal" RAID, but if you can't think of a good
> way to squeeze it in don't sweat about it :-)

I don't know anything about it, so I'll leave it to someone with more
knowledge on RAID :)

-- 
Pierre Neidhardt
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Mon, 30 Jul 2018 12:51:01 GMT) Full text and rfc822 format available.

Message #116 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Pierre Neidhardt <ambrevar <at> gmail.com>
Cc: 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 4/7] gnu: lvm2: Add device-mapper-event
 support.
Date: Mon, 30 Jul 2018 14:50:21 +0200
[Message part 1 (text/plain, inline)]
Pierre Neidhardt <ambrevar <at> gmail.com> writes:

> Marius Bakke <mbakke <at> fastmail.com> writes:
>
>> Pierre Neidhardt <ambrevar <at> gmail.com> writes:
>>
>>> * GNU/packages/linux.scm (lvm2)[configure-flags]: Build device-mapper-event.
>>
>> This changes more than just configure-flags, can you update the commit
>> message accordingly?
>
> Err... What else does it change?  Could be missing the obvious... :p

Derp.  Never mind!  I though the LDFLAGS stuff was elsewhere, but
apparently I'm seeing things :-)
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Mon, 30 Jul 2018 12:53:02 GMT) Full text and rfc822 format available.

Message #119 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Pierre Neidhardt <ambrevar <at> gmail.com>
Cc: 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 6/7] gnu: Add libblockdev.
Date: Mon, 30 Jul 2018 14:52:55 +0200
[Message part 1 (text/plain, inline)]
Pierre Neidhardt <ambrevar <at> gmail.com> writes:

> Looks like you've reviewed the n-1 patch! :p
>
> Some comments are still valid though.  Let me know if there is anything
> else in the latest patch.

Derp * 2!  Please change to the release tarball, then you can get rid of
the autotools inputs and phases as well.  Other than that LGTM.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Mon, 30 Jul 2018 12:56:02 GMT) Full text and rfc822 format available.

Message #122 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Pierre Neidhardt <ambrevar <at> gmail.com>
Cc: 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 2/7] gnu: Add ndctl.
Date: Mon, 30 Jul 2018 14:54:59 +0200
[Message part 1 (text/plain, inline)]
Pierre Neidhardt <ambrevar <at> gmail.com> writes:

> Marius Bakke <mbakke <at> fastmail.com> writes:
>
>>> +       ("bash-completion" ,bash-completion)
>>
>> That's an unusual input.  Can you add a comment about why it's needed?
>
> I took that from the Arch package
> (https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/ndctl)
> but it's obviously not required.
> That said, should I add bash-completion as an input or leave it out?  I
> tend to see this as "optional", so I'd rather leave it out.  Not sure
> what the Guix policy is in this regard.

It depends on what it's used for.  If it's needed to install bash
completions or something, let's keep it.  If it does not make any
difference... well that's one less dependency to worry about!
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Mon, 30 Jul 2018 13:17:01 GMT) Full text and rfc822 format available.

Message #125 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: 31999 <at> debbugs.gnu.org
Subject: [PATCH 1/7] gnu: Add volume-key.
Date: Mon, 30 Jul 2018 15:16:00 +0200
* gnu/package/disk.scm (volume-key): New variable.
---
 gnu/packages/disk.scm | 48 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 47 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index c1fc2e2c3..1640f3d93 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2018 Vasile Dumitrascu <va511e <at> yahoo.com>
 ;;; Copyright © 2018 Eric Bavier <bavier <at> member.fsf.org>
 ;;; Copyright © 2018 Rutger Helling <rhelling <at> mykolab.com>
+;;; Copyright © 2018 Pierre Neidhardt <ambrevar <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -55,7 +56,11 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages vim)
   #:use-module (gnu packages w3m)
-  #:use-module (gnu packages xml))
+  #:use-module (gnu packages xml)
+  #:use-module (gnu packages cryptsetup)
+  #:use-module (gnu packages gnuzilla)
+  #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages swig))
 
 (define-public parted
   (package
@@ -547,3 +552,44 @@ provides a minimalistic and nice curses interface with a view on the directory
 hierarchy.  It ships with @code{rifle}, a file launcher that is good at
 automatically finding out which program to use for what file type.")
     (license license:gpl3)))
+
+(define-public volume-key
+  (package
+    (name "volume-key")
+    (version "0.3.11")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://releases.pagure.org/volume_key/volume_key-"
+                                  version ".tar.xz"))
+              (sha256
+               (base32
+                "0vaz15rcgdkh5z4yxc22x76wi44gh50jxnrqz5avaxz4bb17kcp6"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("util-linux" ,util-linux)
+       ("swig" ,swig)
+       ("python" ,python-3)))           ; Used to generate the Python bindings.
+    (inputs
+     `(("cryptsetup" ,cryptsetup)
+       ("nss" ,nss)
+       ("lvm2" ,lvm2)                   ; For "-ldevmapper".
+       ("glib" ,glib)
+       ("gpgme" ,gpgme)))
+    (arguments
+     `(#:tests? #f ; Not sure how tests are supposed to pass, even when run manually.
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'patch-python.h-path
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((python (assoc-ref inputs "python")))
+               (substitute* "Makefile.in"
+                 (("/usr/include/python") (string-append python "/include/python")))
+               #t))))))
+    (home-page "https://pagure.io/volume_key")
+    (synopsis "Manipulate storage volume encryption keys")
+    (description
+     "This package provides a library for manipulating storage volume
+encryption keys and storing them separately from volumes to handle forgotten
+passphrases.")
+    (license license:gpl2)))
-- 
2.18.0





Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Mon, 30 Jul 2018 13:36:01 GMT) Full text and rfc822 format available.

Message #128 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: 31999 <at> debbugs.gnu.org
Subject: [PATCH 2/7] gnu: Add ndctl.
Date: Mon, 30 Jul 2018 15:35:46 +0200
* gnu/package/disk.scm (ndctl): New variable.
---
 gnu/packages/disk.scm | 62 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 61 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 1640f3d93..e5d72bd1f 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -33,6 +33,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
   #:use-module (guix build-system python)
@@ -60,7 +61,11 @@
   #:use-module (gnu packages cryptsetup)
   #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages gnupg)
-  #:use-module (gnu packages swig))
+  #:use-module (gnu packages swig)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages web)
+  #:use-module (gnu packages documentation)
+  #:use-module (gnu packages bash))
 
 (define-public parted
   (package
@@ -593,3 +598,58 @@ automatically finding out which program to use for what file type.")
 encryption keys and storing them separately from volumes to handle forgotten
 passphrases.")
     (license license:gpl2)))
+
+(define-public ndctl
+  (package
+    (name "ndctl")
+    (version "61.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/pmem/ndctl")
+                    (commit (string-append "v" version))))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32
+                "0vid78jzhmzh505bpwn8mvlamfhcvl6rlfjc29y4yn7zslpydxl7"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("asciidoc" ,asciidoc)
+       ("automake" ,automake)
+       ("autoconf" ,autoconf)
+       ("docbook-xsl" ,docbook-xsl)
+       ("libtool" ,libtool)
+       ("libxml2" ,libxml2)
+       ("pkg-config" ,pkg-config)
+       ("xmlto" ,xmlto)
+       ;; Required for offline docbook generation:
+       ("which" ,which)))
+    (inputs
+     `(("eudev" ,eudev)
+       ("json-c" ,json-c)
+       ("kmod" ,kmod)
+       ("util-linux" ,util-linux)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'autogen
+           (lambda _
+             (substitute* "autogen.sh"
+               (("/bin/sh") (which "sh")))
+             (substitute* "git-version-gen"
+               (("/bin/sh") (which "sh")))
+             (substitute* "git-version"
+               (("/bin/bash") (which "bash"))))))
+       #:make-flags
+       (let ((out (assoc-ref %outputs "out")))
+         (list (string-append "BASH_COMPLETION_DIR=" out
+                              "/share/bash-completion/completions")))))
+    (home-page "https://github.com/pmem/ndctl")
+    (synopsis "Manage the non-volatile memory device sub-system in the Linux kernel")
+    (description
+     "This package provides a utility library for managing the
+libnvdimm (non-volatile memory device) sub-system in the Linux kernel.")
+    ;; COPYING says LGPL2.1, but many source files are GPL2 so that's
+    ;; the effective license.  Note that some files under ccan/ are
+    ;; covered by BSD-3 or public domain, see the individual folders.
+    (license license:gpl2)))
-- 
2.18.0





Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Mon, 30 Jul 2018 13:37:02 GMT) Full text and rfc822 format available.

Message #131 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: 31999 <at> debbugs.gnu.org
Subject: [PATCH 3/7] gnu: Add libbytesize.
Date: Mon, 30 Jul 2018 15:36:12 +0200
* gnu/package/c.scm (libbytesize): New variable.
---
 gnu/packages/c.scm | 59 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index bc6042874..dd91f8b9b 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2016, 2018 Ludovic Courtès <ludo <at> gnu.org>
 ;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado <at> elephly.net>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me <at> tobias.gr>
+;;; Copyright © 2018 Pierre Neidhardt <ambrevar <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -22,6 +23,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages bootstrap)
@@ -30,6 +32,12 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages guile)
+  #:use-module (gnu packages multiprecision)
+  #:use-module (gnu packages pcre)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages gettext)
+  #:use-module (gnu packages pkg-config)
   #:use-module (srfi srfi-1))
 
 (define-public tcc
@@ -166,3 +174,54 @@ compiler while still keeping it small, simple, fast and understandable.")
     ;; PCC incorporates code under various BSD licenses; for new code bsd-2 is
     ;; preferred.  See http://pcc.ludd.ltu.se/licenses/ for more details.
     (license (list license:bsd-2 license:bsd-3))))
+
+(define-public libbytesize
+  (package
+    (name "libbytesize")
+    (version "1.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/storaged-project/libbytesize/archive/"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32
+                "0pfm1d0cpm3l0f17n567fhfh9dxjn9y59pgjajgsagp0nc0lmf2x"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("gettext" ,gettext-minimal)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python)))
+    (inputs
+     `(("mpfr" ,mpfr)
+       ("pcre" ,pcre)))
+    ;; One test fails because busctl (systemd only?) and python2-pocketlint
+    ;; are missing.  Should we fix it, we would need the "python-2" ,
+    ;; "python2-polib" and "python2-six" native-inputs.
+    (arguments `(#:tests? #f))
+    (home-page "https://github.com/storaged-project/libbytesize")
+    (synopsis "Tiny C library for working with arbitrary big sizes in bytes")
+    (description
+     "The goal of this project is to provide a tiny library that would
+facilitate the common operations with sizes in bytes.  Many projects need to
+work with sizes in bytes (be it sizes of storage space, memory...) and all of
+them need to deal with the same issues like:
+
+@itemize
+@item How to get a human-readable string for the given size?
+@item How to store the given size so that no significant information is lost?
+@item If we store the size in bytes, what if the given size gets over the
+MAXUINT64 value?
+@item How to interpret sizes entered by users according to their locale and
+typing conventions?
+@item How to deal with the decimal/binary units (MB versus MiB) ambiguity?
+@end itemize
+
+@code{libbytesize} offers a generally usable solution that could be used by
+every project that needs to deal with sizes in bytes.  It is written in the C
+language with thin bindings for other languages.")
+    (license license:lgpl2.1+)))
-- 
2.18.0





Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Mon, 30 Jul 2018 13:37:02 GMT) Full text and rfc822 format available.

Message #134 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: 31999 <at> debbugs.gnu.org
Subject: [PATCH 4/7] gnu: lvm2: Add device-mapper-event support.
Date: Mon, 30 Jul 2018 15:36:40 +0200
* GNU/packages/linux.scm (lvm2)[configure-flags]: Build device-mapper-event.
---
 gnu/packages/linux.scm | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 70615df93..e27c9b475 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -2127,12 +2127,24 @@ time.")
                                "--enable-udev_sync"
                                "--enable-udev_rules"
                                "--enable-pkgconfig"
+                               "--enable-cmdlib"
+                               "--enable-dmeventd" ; Requires '--enable-cmdlib'.
 
                                ;; Make sure programs such as 'dmsetup' can
                                ;; find libdevmapper.so.
                                (string-append "LDFLAGS=-Wl,-rpath="
                                               (assoc-ref %outputs "out")
-                                              "/lib"))
+                                              "/lib,-rpath="
+                                              (assoc-ref %outputs "out")
+                                              "/lib/device-mapper")
+                               ;; TODO: Patch make.tmpl.in to take LDFLAGS
+                               ;; into account so that we don't need to also
+                               ;; set CLDFLAGS.
+                               (string-append "CLDFLAGS=-Wl,-rpath="
+                                              (assoc-ref %outputs "out")
+                                              "/lib,-rpath="
+                                              (assoc-ref %outputs "out")
+                                              "/lib/device-mapper"))
 
        ;; The tests use 'mknod', which requires root access.
        #:tests? #f))
-- 
2.18.0





Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Mon, 30 Jul 2018 13:38:01 GMT) Full text and rfc822 format available.

Message #137 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: 31999 <at> debbugs.gnu.org
Subject: [PATCH 5/7] gnu: Add dmraid.
Date: Mon, 30 Jul 2018 15:37:05 +0200
* gnu/package/disk.scm (dmraid): New variable.
---
 gnu/packages/disk.scm | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index e5d72bd1f..222469f88 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -653,3 +653,41 @@ libnvdimm (non-volatile memory device) sub-system in the Linux kernel.")
     ;; the effective license.  Note that some files under ccan/ are
     ;; covered by BSD-3 or public domain, see the individual folders.
     (license license:gpl2)))
+
+(define-public dmraid
+  (package
+    (name "dmraid")
+    (version "1.0.0.rc16-3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://people.redhat.com/~heinzm/sw/dmraid/src/dmraid-"
+                                  version ".tar.bz2"))
+              (sha256
+               (base32
+                "1n7vsqvh7y6yvil682q129d21yhb0cmvd5fvsbkza7ypd78inhlk"))))
+    (build-system gnu-build-system)
+    (inputs `(("lvm2" ,lvm2)))
+    (native-inputs `(("which" ,which)))
+    (arguments
+     `(#:tests? #f                      ; No tests.
+       #:phases (modify-phases %standard-phases
+                  (add-before 'configure 'change-directory
+                    (lambda _
+                      (chdir (string-append ,version "/dmraid"))
+                      (substitute* "make.tmpl.in"
+                        (("/bin/sh") (which "sh")))
+                      #t)))
+       #:configure-flags (list ;; Make sure programs such as 'dmevent_tool' can
+                               ;; find libdmraid.so.
+                               (string-append "LDFLAGS=-Wl,-rpath="
+                                              (assoc-ref %outputs "out")
+                                              "/lib"))))
+    (home-page "https://people.redhat.com/~heinzm/sw/dmraid/")
+    (synopsis "Device mapper RAID interface")
+    (description
+     "This software supports RAID device discovery, RAID set activation, creation,
+removal, rebuild and display of properties for ATARAID/DDF1 metadata.
+
+@command{dmraid} uses @file{libdevmapper} and the device-mapper kernel runtime
+to create devices with respective mappings for the ATARAID sets discovered.")
+    (license license:gpl2+)))
-- 
2.18.0





Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Mon, 30 Jul 2018 13:38:02 GMT) Full text and rfc822 format available.

Message #140 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: 31999 <at> debbugs.gnu.org
Subject: [PATCH 6/7] gnu: Add libblockdev.
Date: Mon, 30 Jul 2018 15:37:28 +0200
* gnu/package/disk.scm (libblockdev): New variable.
---
 gnu/packages/disk.scm | 54 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 53 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 222469f88..595c39919 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -65,7 +65,8 @@
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages web)
   #:use-module (gnu packages documentation)
-  #:use-module (gnu packages bash))
+  #:use-module (gnu packages bash)
+  #:use-module (gnu packages c))
 
 (define-public parted
   (package
@@ -691,3 +692,54 @@ removal, rebuild and display of properties for ATARAID/DDF1 metadata.
 @command{dmraid} uses @file{libdevmapper} and the device-mapper kernel runtime
 to create devices with respective mappings for the ATARAID sets discovered.")
     (license license:gpl2+)))
+
+(define-public libblockdev
+  (package
+    (name "libblockdev")
+    (version "2.18")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/storaged-project/libblockdev/archive/"
+                                  version "-1.tar.gz"))
+              (file-name (string-append name "-" version))
+              (sha256
+               (base32
+                "1q8wh27yngrjvydm9bainda5fgifq8hbgzdsjipkn3nrrhbfy8p9"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("util-linux" ,util-linux)))
+    (inputs
+     `(("btrfs-progs" ,btrfs-progs)
+       ("cryptsetup" ,cryptsetup)
+       ("dosfstools" ,dosfstools)
+       ("dmraid" ,dmraid)
+       ("eudev" ,eudev)
+       ("glib" ,glib)
+       ("gobject-introspection" ,gobject-introspection)
+       ("kmod" ,kmod)
+       ("libbytesize" ,libbytesize)
+       ("libyaml" ,libyaml)
+       ("lvm2" ,lvm2)
+       ("mdadm" ,mdadm)
+       ("ndctl" ,ndctl)
+       ("nss" ,nss)
+       ("parted" ,parted)
+       ("volume-key" ,volume-key)
+       ;; ("xfsprogs" ,xfsprogs) ; TODO: Package?
+       ))
+    (home-page "https://github.com/storaged-project/libblockdev")
+    (synopsis "Library for manipulating block devices")
+    (description
+     "libblockdev is a C library supporting GObject introspection for
+manipulation of block devices.  It has a plugin-based architecture where each
+technology (like LVM, Btrfs, MD RAID, Swap...) is implemented in a separate
+plugin, possibly with multiple implementations (e.g. using LVM CLI or the new
+LVM D-Bus API).")
+    ;; XXX: Copying says LGPL2.1, but the source files with license
+    ;; information are GPL2+.
+    (license license:gpl2+)))
-- 
2.18.0





Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Mon, 30 Jul 2018 13:40:01 GMT) Full text and rfc822 format available.

Message #143 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: 31999 <at> debbugs.gnu.org
Subject: [PATCH 7/7] gnu: Update udisks to 2.7.7.
Date: Mon, 30 Jul 2018 15:38:58 +0200
* gnu/package/freedesktop.scm (udisks): Update to 2.7.7.
[inputs]: Replace parted with libblockdev.
---
 gnu/packages/freedesktop.scm | 44 +++++++++++++++++++++++++-----------
 1 file changed, 31 insertions(+), 13 deletions(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index b42a27b8c..d9edbcff9 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2017, 2018 Rutger Helling <rhelling <at> mykolab.com>
 ;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley <at> openmailbox.org>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me <at> tobias.gr>
+;;; Copyright © 2018 Pierre Neidhardt <ambrevar <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -77,6 +78,9 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xorg)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages swig)
   #:use-module (srfi srfi-1))
 
 (define-public xdg-utils
@@ -623,33 +627,41 @@ Analysis and Reporting Technology) functionality.")
 (define-public udisks
   (package
     (name "udisks")
-    (version "2.1.8")
+    (version "2.7.7")
     (source (origin
               (method url-fetch)
-              (uri (string-append "https://udisks.freedesktop.org/releases/"
-                                  name "-" version ".tar.bz2"))
+              (uri (string-append
+                    "https://github.com/storaged-project/udisks/archive/"
+                    name "-" version ".tar.gz"))
               (sha256
                (base32
-                "1nkxhnqh39c9pzvm4zfj50rgv6apqawdx09bv3sfaxrah4a6jhfs"))))
+                "1aq8n9722sgcj3b9i9lh1rzdrb6dhkadv8dafpy0rqr183kqb8jy"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("docbook-xml" ,docbook-xml-4.3) ; to build the manpages
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("docbook-xml" ,docbook-xml-4.3) ; to build the manpages
        ("docbook-xsl" ,docbook-xsl)
-       ("glib:bin" ,glib "bin") ; for glib-mkenums
+       ("glib:bin" ,glib "bin")         ; for glib-mkenums
+       ("gnome-common" ,gnome-common)   ; TODO: Why is this needed?
        ("gobject-introspection" ,gobject-introspection)
+       ("gtk-doc" ,gtk-doc)
+       ("libtool" ,libtool)             ; for glib-gettextize
        ("intltool" ,intltool)
        ("pkg-config" ,pkg-config)
-       ("xsltproc" ,libxslt)))
+       ("xsltproc" ,libxslt)
+       ;; For autogen.sh:
+       ("which" ,which)))
     (propagated-inputs
      `(("glib" ,glib))) ; required by udisks2.pc
     (inputs
      `(("acl" ,acl)
+       ("cryptsetup" ,cryptsetup)
        ("libatasmart" ,libatasmart)
+       ("libblockdev" ,libblockdev)
        ("libgudev" ,libgudev)
        ("polkit" ,polkit)
-       ("util-linux" ,util-linux)
-       ("cryptsetup" ,cryptsetup)
-       ("parted" ,parted)))
+       ("util-linux" ,util-linux)))
     (outputs '("out"
                "doc"))                            ;5 MiB of gtk-doc HTML
     (arguments
@@ -657,6 +669,8 @@ Analysis and Reporting Technology) functionality.")
        #:disallowed-references ("doc")            ;enforce separation of "doc"
        #:configure-flags
        (list "--enable-man"
+             "--enable-gtk-doc" ; Without this the HTML doc does not seem to build automatically.
+             "--enable-available-modules" ; Such as lvm2, btrfs, etc.
              "--localstatedir=/var"
              "--enable-fhs-media"     ;mount devices in /media, not /run/media
              (string-append "--with-html-dir="
@@ -680,6 +694,13 @@ Analysis and Reporting Technology) functionality.")
                               docbook-xml-catalog-file)))
        #:phases
        (modify-phases %standard-phases
+         (replace 'bootstrap
+           (lambda _
+             ;; The autogen.sh script in gnome-common will run ./configure
+             ;; by default, which is problematic because source shebangs
+             ;; have not yet been patched.
+             (setenv "NOCONFIGURE" "t")
+             (invoke "sh" "autogen.sh")))
          (add-before
           'configure 'fix-girdir
           (lambda _
@@ -702,9 +723,6 @@ Analysis and Reporting Technology) functionality.")
                     ;; cryptsetup is required for setting encrypted
                     ;; partitions, e.g. in gnome-disks
                     ,(string-append cryptsetup "/sbin")
-                    ;; parted is required for managing partitions, e.g. in
-                    ;; gnome-disks
-                    ,(string-append parted "/sbin")
                     "/run/current-system/profile/bin"
                     "/run/current-system/profile/sbin")))
                #t))))))
-- 
2.18.0





Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Mon, 30 Jul 2018 18:43:02 GMT) Full text and rfc822 format available.

Message #146 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Pierre Neidhardt <ambrevar <at> gmail.com>, 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 3/7] gnu: Add libbytesize.
Date: Mon, 30 Jul 2018 20:42:25 +0200
[Message part 1 (text/plain, inline)]
Pierre Neidhardt <ambrevar <at> gmail.com> writes:

> * gnu/package/c.scm (libbytesize): New variable.

[...]

> +(define-public libbytesize
> +  (package
> +    (name "libbytesize")
> +    (version "1.3")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append
> +                    "https://github.com/storaged-project/libbytesize/archive/"
> +                    version ".tar.gz"))
> +              (file-name (string-append name "-" version "-checkout"))
> +              (sha256
> +               (base32
> +                "0pfm1d0cpm3l0f17n567fhfh9dxjn9y59pgjajgsagp0nc0lmf2x"))))

Please use the release tarball instead of a git checkout:
https://github.com/storaged-project/libbytesize/releases/download/1.3/libbytesize-1.3.tar.gz

> +    (build-system gnu-build-system)
> +    (native-inputs
> +     `(("autoconf" ,autoconf)
> +       ("automake" ,automake)
> +       ("libtool" ,libtool)
> +       ("gettext" ,gettext-minimal)

...then you can (probably) remove these inputs as well.

Apart from that LGTM!

> +       ("pkg-config" ,pkg-config)
> +       ("python" ,python)))
> +    (inputs
> +     `(("mpfr" ,mpfr)
> +       ("pcre" ,pcre)))
> +    ;; One test fails because busctl (systemd only?) and python2-pocketlint
> +    ;; are missing.  Should we fix it, we would need the "python-2" ,
> +    ;; "python2-polib" and "python2-six" native-inputs.
> +    (arguments `(#:tests? #f))
> +    (home-page "https://github.com/storaged-project/libbytesize")
> +    (synopsis "Tiny C library for working with arbitrary big sizes in bytes")
> +    (description
> +     "The goal of this project is to provide a tiny library that would
> +facilitate the common operations with sizes in bytes.  Many projects need to
> +work with sizes in bytes (be it sizes of storage space, memory...) and all of
> +them need to deal with the same issues like:
> +
> +@itemize
> +@item How to get a human-readable string for the given size?
> +@item How to store the given size so that no significant information is lost?
> +@item If we store the size in bytes, what if the given size gets over the
> +MAXUINT64 value?
> +@item How to interpret sizes entered by users according to their locale and
> +typing conventions?
> +@item How to deal with the decimal/binary units (MB versus MiB) ambiguity?
> +@end itemize
> +
> +@code{libbytesize} offers a generally usable solution that could be used by
> +every project that needs to deal with sizes in bytes.  It is written in the C
> +language with thin bindings for other languages.")
> +    (license license:lgpl2.1+)))
> -- 
> 2.18.0
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Mon, 30 Jul 2018 18:44:01 GMT) Full text and rfc822 format available.

Message #149 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Pierre Neidhardt <ambrevar <at> gmail.com>, 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 4/7] gnu: lvm2: Add device-mapper-event
 support.
Date: Mon, 30 Jul 2018 20:43:06 +0200
[Message part 1 (text/plain, inline)]
Pierre Neidhardt <ambrevar <at> gmail.com> writes:

> * GNU/packages/linux.scm (lvm2)[configure-flags]: Build device-mapper-event.

OK!
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Mon, 30 Jul 2018 18:45:02 GMT) Full text and rfc822 format available.

Message #152 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Pierre Neidhardt <ambrevar <at> gmail.com>, 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 5/7] gnu: Add dmraid.
Date: Mon, 30 Jul 2018 20:44:25 +0200
[Message part 1 (text/plain, inline)]
Pierre Neidhardt <ambrevar <at> gmail.com> writes:

> * gnu/package/disk.scm (dmraid): New variable.

LGTM.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Mon, 30 Jul 2018 18:49:02 GMT) Full text and rfc822 format available.

Message #155 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Pierre Neidhardt <ambrevar <at> gmail.com>, 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 6/7] gnu: Add libblockdev.
Date: Mon, 30 Jul 2018 20:48:22 +0200
[Message part 1 (text/plain, inline)]
Pierre Neidhardt <ambrevar <at> gmail.com> writes:

> * gnu/package/disk.scm (libblockdev): New variable.

[...]

> +(define-public libblockdev
> +  (package
> +    (name "libblockdev")
> +    (version "2.18")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "https://github.com/storaged-project/libblockdev/archive/"
> +                                  version "-1.tar.gz"))
> +              (file-name (string-append name "-" version))
> +              (sha256
> +               (base32
> +                "1q8wh27yngrjvydm9bainda5fgifq8hbgzdsjipkn3nrrhbfy8p9"))))

Please use the uploaded release tarball instead of the autogenerated git
archive:

https://github.com/storaged-project/libblockdev/releases/download/2.18-1/libblockdev-2.18.tar.gz

Then you can remove (file-name ...) since it's already fine.

> +    (build-system gnu-build-system)
> +    (native-inputs
> +     `(("autoconf" ,autoconf)
> +       ("automake" ,automake)
> +       ("libtool" ,libtool)

...and probably also these inputs.

Other than that LGTM, provided `guix lint` is happy!

> +       ("pkg-config" ,pkg-config)
> +       ("python" ,python-wrapper)
> +       ("util-linux" ,util-linux)))
> +    (inputs
> +     `(("btrfs-progs" ,btrfs-progs)
> +       ("cryptsetup" ,cryptsetup)
> +       ("dosfstools" ,dosfstools)
> +       ("dmraid" ,dmraid)
> +       ("eudev" ,eudev)
> +       ("glib" ,glib)
> +       ("gobject-introspection" ,gobject-introspection)
> +       ("kmod" ,kmod)
> +       ("libbytesize" ,libbytesize)
> +       ("libyaml" ,libyaml)
> +       ("lvm2" ,lvm2)
> +       ("mdadm" ,mdadm)
> +       ("ndctl" ,ndctl)
> +       ("nss" ,nss)
> +       ("parted" ,parted)
> +       ("volume-key" ,volume-key)
> +       ;; ("xfsprogs" ,xfsprogs) ; TODO: Package?
> +       ))
> +    (home-page "https://github.com/storaged-project/libblockdev")
> +    (synopsis "Library for manipulating block devices")
> +    (description
> +     "libblockdev is a C library supporting GObject introspection for
> +manipulation of block devices.  It has a plugin-based architecture where each
> +technology (like LVM, Btrfs, MD RAID, Swap...) is implemented in a separate
> +plugin, possibly with multiple implementations (e.g. using LVM CLI or the new
> +LVM D-Bus API).")
> +    ;; XXX: Copying says LGPL2.1, but the source files with license
> +    ;; information are GPL2+.
> +    (license license:gpl2+)))
> -- 
> 2.18.0
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Mon, 30 Jul 2018 18:55:01 GMT) Full text and rfc822 format available.

Message #158 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Pierre Neidhardt <ambrevar <at> gmail.com>, 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 7/7] gnu: Update udisks to 2.7.7.
Date: Mon, 30 Jul 2018 20:54:35 +0200
[Message part 1 (text/plain, inline)]
Pierre Neidhardt <ambrevar <at> gmail.com> writes:

> * gnu/package/freedesktop.scm (udisks): Update to 2.7.7.
> [inputs]: Replace parted with libblockdev.

[...]

> @@ -623,33 +627,41 @@ Analysis and Reporting Technology) functionality.")
>  (define-public udisks
>    (package
>      (name "udisks")
> -    (version "2.1.8")
> +    (version "2.7.7")
>      (source (origin
>                (method url-fetch)
> -              (uri (string-append "https://udisks.freedesktop.org/releases/"
> -                                  name "-" version ".tar.bz2"))
> +              (uri (string-append
> +                    "https://github.com/storaged-project/udisks/archive/"
> +                    name "-" version ".tar.gz"))
>                (sha256
>                 (base32
> -                "1nkxhnqh39c9pzvm4zfj50rgv6apqawdx09bv3sfaxrah4a6jhfs"))))
> +                "1aq8n9722sgcj3b9i9lh1rzdrb6dhkadv8dafpy0rqr183kqb8jy"))))

This project also provides a release tarball:

https://github.com/storaged-project/udisks/releases/download/udisks-2.7.7/udisks-2.7.7.tar.bz2

>      (build-system gnu-build-system)
>      (native-inputs
> -     `(("docbook-xml" ,docbook-xml-4.3) ; to build the manpages
> +     `(("autoconf" ,autoconf)
> +       ("automake" ,automake)

...which should make these unnecessary...

> +       ("docbook-xml" ,docbook-xml-4.3) ; to build the manpages
>         ("docbook-xsl" ,docbook-xsl)
> -       ("glib:bin" ,glib "bin") ; for glib-mkenums
> +       ("glib:bin" ,glib "bin")         ; for glib-mkenums
> +       ("gnome-common" ,gnome-common)   ; TODO: Why is this needed?
>         ("gobject-introspection" ,gobject-introspection)
> +       ("gtk-doc" ,gtk-doc)
> +       ("libtool" ,libtool)             ; for glib-gettextize

...and this...

>         ("intltool" ,intltool)
>         ("pkg-config" ,pkg-config)
> -       ("xsltproc" ,libxslt)))
> +       ("xsltproc" ,libxslt)
> +       ;; For autogen.sh:
> +       ("which" ,which)))

...and this...

>      (propagated-inputs
>       `(("glib" ,glib))) ; required by udisks2.pc
>      (inputs
>       `(("acl" ,acl)
> +       ("cryptsetup" ,cryptsetup)
>         ("libatasmart" ,libatasmart)
> +       ("libblockdev" ,libblockdev)
>         ("libgudev" ,libgudev)
>         ("polkit" ,polkit)
> -       ("util-linux" ,util-linux)
> -       ("cryptsetup" ,cryptsetup)
> -       ("parted" ,parted)))
> +       ("util-linux" ,util-linux)))
>      (outputs '("out"
>                 "doc"))                            ;5 MiB of gtk-doc HTML
>      (arguments
> @@ -657,6 +669,8 @@ Analysis and Reporting Technology) functionality.")
>         #:disallowed-references ("doc")            ;enforce separation of "doc"
>         #:configure-flags
>         (list "--enable-man"
> +             "--enable-gtk-doc" ; Without this the HTML doc does not seem to build automatically.
> +             "--enable-available-modules" ; Such as lvm2, btrfs, etc.
>               "--localstatedir=/var"
>               "--enable-fhs-media"     ;mount devices in /media, not /run/media
>               (string-append "--with-html-dir="
> @@ -680,6 +694,13 @@ Analysis and Reporting Technology) functionality.")
>                                docbook-xml-catalog-file)))
>         #:phases
>         (modify-phases %standard-phases
> +         (replace 'bootstrap
> +           (lambda _
> +             ;; The autogen.sh script in gnome-common will run ./configure
> +             ;; by default, which is problematic because source shebangs
> +             ;; have not yet been patched.
> +             (setenv "NOCONFIGURE" "t")
> +             (invoke "sh" "autogen.sh")))

...and this.

Apart from that LGTM!

>           (add-before
>            'configure 'fix-girdir
>            (lambda _
> @@ -702,9 +723,6 @@ Analysis and Reporting Technology) functionality.")
>                      ;; cryptsetup is required for setting encrypted
>                      ;; partitions, e.g. in gnome-disks
>                      ,(string-append cryptsetup "/sbin")
> -                    ;; parted is required for managing partitions, e.g. in
> -                    ;; gnome-disks
> -                    ,(string-append parted "/sbin")
>                      "/run/current-system/profile/bin"
>                      "/run/current-system/profile/sbin")))
>                 #t))))))
> -- 
> 2.18.0
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Mon, 30 Jul 2018 18:57:02 GMT) Full text and rfc822 format available.

Message #161 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Pierre Neidhardt <ambrevar <at> gmail.com>, 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 2/7] gnu: Add ndctl.
Date: Mon, 30 Jul 2018 20:56:01 +0200
[Message part 1 (text/plain, inline)]
Pierre Neidhardt <ambrevar <at> gmail.com> writes:

> * gnu/package/disk.scm (ndctl): New variable.

LGTM.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Mon, 30 Jul 2018 19:02:01 GMT) Full text and rfc822 format available.

Message #164 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Pierre Neidhardt <ambrevar <at> gmail.com>, 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 1/7] gnu: Add volume-key.
Date: Mon, 30 Jul 2018 21:01:13 +0200
[Message part 1 (text/plain, inline)]
Pierre Neidhardt <ambrevar <at> gmail.com> writes:

> * gnu/package/disk.scm (volume-key): New variable.

(I started in the wrong order again)

LGTM.  Feel free to push this series with the final adjustments.

And thanks a lot for this hard work!  :-)
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Mon, 30 Jul 2018 19:21:01 GMT) Full text and rfc822 format available.

Message #167 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 7/7] gnu: Update udisks to 2.7.7.
Date: Mon, 30 Jul 2018 21:20:44 +0200
[Message part 1 (text/plain, inline)]
The manual 'autogen.sh' is necessary because otherwise it would run ./configure
too early.

I tried removing the autoconf, etc. inputs and it didn't work.  Am I missing something?

-- 
Pierre Neidhardt
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Mon, 30 Jul 2018 19:37:02 GMT) Full text and rfc822 format available.

Message #170 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 7/7] gnu: Update udisks to 2.7.7.
Date: Mon, 30 Jul 2018 21:36:19 +0200
[Message part 1 (text/plain, inline)]
My bad, it works :p

-- 
Pierre Neidhardt
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Mon, 30 Jul 2018 19:40:02 GMT) Full text and rfc822 format available.

Message #173 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Pierre Neidhardt <ambrevar <at> gmail.com>
Cc: 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 7/7] gnu: Update udisks to 2.7.7.
Date: Mon, 30 Jul 2018 21:39:22 +0200
[Message part 1 (text/plain, inline)]
Pierre Neidhardt <ambrevar <at> gmail.com> writes:

> The manual 'autogen.sh' is necessary because otherwise it would run ./configure
> too early.
>
> I tried removing the autoconf, etc. inputs and it didn't work.  Am I missing something?

Did you change to use the release tarball (hash
1dnlxqgy9v0mjdknv3b1s64szdykyk3hk0rxj3chwhpd415lrwgs)?

I don't see a reason why the bootstrap phase would run using the release
tarball, since it appears to be already bootstrapped (i.e. "make dist").
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Mon, 30 Jul 2018 19:51:01 GMT) Full text and rfc822 format available.

Message #176 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 7/7] gnu: Update udisks to 2.7.7.
Date: Mon, 30 Jul 2018 21:50:44 +0200
[Message part 1 (text/plain, inline)]
Yes you are right, it all works now.  I've always been stupidly confused by
which tarball was which on Github :(  Sorry for the confusion.

I'll merge now.

-- 
Pierre Neidhardt
[signature.asc (application/pgp-signature, inline)]

Reply sent to Pierre Neidhardt <ambrevar <at> gmail.com>:
You have taken responsibility. (Mon, 30 Jul 2018 19:54:02 GMT) Full text and rfc822 format available.

Notification sent to Pierre Neidhardt <ambrevar <at> gmail.com>:
bug acknowledged by developer. (Mon, 30 Jul 2018 19:54:02 GMT) Full text and rfc822 format available.

Message #181 received at 31999-done <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <ambrevar <at> gmail.com>
To: 31999-done <at> debbugs.gnu.org
Subject: [bug#31999] [PATCH 7/7] gnu: Update udisks to 2.7.7.
Date: Mon, 30 Jul 2018 21:53:00 +0200
[Message part 1 (text/plain, inline)]
Merged.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Mon, 30 Jul 2018 21:00:02 GMT) Full text and rfc822 format available.

Message #184 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Pierre Neidhardt <ambrevar <at> gmail.com>
Cc: 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 7/7] gnu: Update udisks to 2.7.7.
Date: Mon, 30 Jul 2018 22:59:06 +0200
[Message part 1 (text/plain, inline)]
Pierre Neidhardt <ambrevar <at> gmail.com> writes:

> Yes you are right, it all works now.  I've always been stupidly confused by
> which tarball was which on Github :(  Sorry for the confusion.

Excellent.  Yes the distinction is not very clear... :/

> I'll merge now.

Woohoo :-)
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Wed, 01 Aug 2018 03:22:01 GMT) Full text and rfc822 format available.

Message #187 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Brendan Tildesley <brendan.tildesley <at> openmailbox.org>
To: guix-patches <at> gnu.org
Subject: Re: [bug#31999] [PATCH 5/7] gnu: Add dmraid. --- Failed to build from
 master
Date: Wed, 1 Aug 2018 13:21:22 +1000
On 07/31/18 04:44, Marius Bakke wrote:
> Pierre Neidhardt <ambrevar <at> gmail.com> writes:
>
>> * gnu/package/disk.scm (dmraid): New variable.
> LGTM.

dmraid failed to build for me when I reconfigured. This change has
broken my ability to reconfigure as dmraid has crept in to my OS config
via udisks, even though I don't know anything about it and don't seem to
need it at all.

If guix pull was using a model with a delayed 'stable' branch as has
been discussed, this would mean I'd have caught this bug before any
regular user saw it. Currently, patches sit on the mailing list until
maybe one maintainer tests them and pushes them (I presume), so bugs get
immediately propagated to all users. If master was not immediately
pushed to all users, it would mean that all of us developers could
voluntarily choose to guix pull with master and thus become 'beta
testers' for all new patches that passed the initial screening by the
maintainer with git access. All nonurgent patches would have to run the
bug-catching gauntlet of master before it made it to stable. Currently,
I don't do any testing at all of other peoples patches on the list
simply because it would take effort to download, commit the patches to a
branch, and build, but I'm happy to be a zero-effort tester simply by
continuing to pull from master for my own system.

----------------------


gcc -o libdmraid.so -O2 -fPIC -Wall -Wundef -Wcast-align -Wwrite-strings
-Winline -DDMRAID_AUTOREGISTER -O2
-Wl,-rpath=/gnu/store/gr6ik2qp7vfqgfrnb9r1qj9x6x9w981s-dmraid-1.0.0.rc16-3/lib
activate/activate.o activate/devmapper.o device/ata.o device/partition.o
device/scan.o device/scsi.o display/display.o format/format.o
locking/locking.o log/log.o metadata/log_ops.o metadata/metadata.o
metadata/reconfig.o misc/file.o misc/init.o misc/lib_context.o
misc/misc.o misc/workaround.o mm/dbg_malloc.o format/ataraid/asr.o
format/ataraid/hpt37x.o format/ataraid/hpt45x.o format/ataraid/isw.o
format/ataraid/jm.o format/ataraid/lsi.o format/ataraid/nv.o
format/ataraid/pdc.o format/ataraid/sil.o format/ataraid/via.o
format/ddf/ddf1.o format/ddf/ddf1_lib.o format/ddf/ddf1_crc.o
format/ddf/ddf1_cvt.o format/ddf/ddf1_dump.o format/partition/dos.o
register/dmreg.o \
        -shared -Wl,--discard-all -Wl,--no-undefined
-Wl,--version-script,../lib/.export.sym \
        -Wl,-soname,libdmraid.so.1 \
        -ldevmapper-event -ldevmapper -ldl
gcc -o libdmraid-events-isw.so -O2 -fPIC -Wall -Wundef -Wcast-align
-Wwrite-strings -Winline -DDMRAID_AUTOREGISTER -O2
-Wl,-rpath=/gnu/store/gr6ik2qp7vfqgfrnb9r1qj9x6x9w981s-dmraid-1.0.0.rc16-3/lib
events/libdmraid-events-isw.o \
        -shared -Wl,--discard-all -Wl,--no-undefined
-Wl,-soname,libdmraid-events-isw.so \
        libdmraid.so -ldevmapper-event -ldevmapper -lpthread
ar r libdmraid.a activate/activate.o activate/devmapper.o device/ata.o
device/partition.o device/scan.o device/scsi.o display/display.o
format/format.o locking/locking.o log/log.o metadata/log_ops.o
metadata/metadata.o metadata/reconfig.o misc/file.o misc/init.o
misc/lib_context.o misc/misc.o misc/workaround.o mm/dbg_malloc.o
format/ataraid/asr.o format/ataraid/hpt37x.o format/ataraid/hpt45x.o
format/ataraid/isw.o format/ataraid/jm.o format/ataraid/lsi.o
format/ataraid/nv.o format/ataraid/pdc.o format/ataraid/sil.o
format/ataraid/via.o format/ddf/ddf1.o format/ddf/ddf1_lib.o
format/ddf/ddf1_crc.o format/ddf/ddf1_cvt.o format/ddf/ddf1_dump.o
format/partition/dos.o register/dmreg.o
gcc: error: libdmraid.so: No such file or directory
make[1]: *** [Makefile:83: libdmraid-events-isw.so] Error 1
make[1]: *** Waiting for unfinished jobs....
ar: creating libdmraid.a
ranlib libdmraid.a
make[1]: Leaving directory
'/tmp/guix-build-dmraid-1.0.0.rc16-3.drv-0/dmraid/1.0.0.rc16-3/dmraid/lib'
make: *** [make.tmpl:120: lib] Error 2
Backtrace:
           4 (primitive-load "/gnu/store/4mmzx3xfbbpmaafdl8hdadsa2ah…")
In ice-9/eval.scm:
   191:35  3 (_ _)
In srfi/srfi-1.scm:
    640:9  2 (for-each #<procedure a30b00 at /gnu/store/f95ghy8mx00…> …)
In
/gnu/store/f95ghy8mx00fc22nrvswvnpqlfdkf2nk-module-import/guix/build/gnu-build-system.scm:
   799:31  1 (_ _)
In
/gnu/store/f95ghy8mx00fc22nrvswvnpqlfdkf2nk-module-import/guix/build/utils.scm:
    616:6  0 (invoke _ . _)

/gnu/store/f95ghy8mx00fc22nrvswvnpqlfdkf2nk-module-import/guix/build/utils.scm:616:6:
In procedure invoke:
Throw to key `srfi-34' with args `(#<condition &invoke-error [program:
"make" arguments: ("-j" "8") exit-status: 2 term-signal: #f stop-signal:
#f] 68fc00>)'.
builder for
`/gnu/store/1pijciihl4mlkk81hvr7sz1bvlhbgjsy-dmraid-1.0.0.rc16-3.drv'
failed with exit code 1
@ build-failed
/gnu/store/1pijciihl4mlkk81hvr7sz1bvlhbgjsy-dmraid-1.0.0.rc16-3.drv - 1
builder for
`/gnu/store/1pijciihl4mlkk81hvr7sz1bvlhbgjsy-dmraid-1.0.0.rc16-3.drv'
failed with exit code 1
guix build: error: build failed: build of
`/gnu/store/1pijciihl4mlkk81hvr7sz1bvlhbgjsy-dmraid-1.0.0.rc16-3.drv' failed





Information forwarded to guix-patches <at> gnu.org:
bug#31999; Package guix-patches. (Wed, 01 Aug 2018 11:39:02 GMT) Full text and rfc822 format available.

Message #190 received at 31999 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Brendan Tildesley <brendan.tildesley <at> openmailbox.org>,
 31999 <at> debbugs.gnu.org
Subject: Re: [bug#31999] [PATCH 5/7] gnu: Add dmraid. --- Failed to build from
 master
Date: Wed, 01 Aug 2018 13:37:58 +0200
[Message part 1 (text/plain, inline)]
Brendan Tildesley <brendan.tildesley <at> openmailbox.org> writes:

> On 07/31/18 04:44, Marius Bakke wrote:
>> Pierre Neidhardt <ambrevar <at> gmail.com> writes:
>>
>>> * gnu/package/disk.scm (dmraid): New variable.
>> LGTM.
>
> dmraid failed to build for me when I reconfigured. This change has
> broken my ability to reconfigure as dmraid has crept in to my OS config
> via udisks, even though I don't know anything about it and don't seem to
> need it at all.

Hello!

The build failure should be fixed in
2207053542f293980266ab77c920fcd8de2f961b, thank for reporting it!
[signature.asc (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 30 Aug 2018 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 5 years and 250 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.