Pierre Neidhardt 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!