Subject: [bug#31999] [PATCH 7/7] gnu: Update udisks to 2.7.7.

From: Pierre Neidhardt <[email-masked]>
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 <[email-masked]>
 ;;; Copyright © 2017 Brendan Tildesley <[email-masked]>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <[email-masked]>
+;;; Copyright © 2018 Pierre Neidhardt <[email-masked]>
 ;;;
 ;;; 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