Subject: [bug#31999] [PATCH 7/7] gnu: Update udisk to 2.7.6.

From: Marius Bakke <[email-masked]>
Date: Mon, 30 Jul 2018 01:01:20 +0200

Pierre Neidhardt <[email-masked]> 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