gnu: Patch udisks to directly reference cryptsetup and parted.

This fixes some functionality in gnome-disks, which uses udisks. Adding
cryptsetup enables creating partitions using LUKS, and adding parted enables
editing the partition tables through the disks application.

* gnu/packages/freedesktop.scm (udisks)[inputs]: Add cryptsetup and parted.
  (arguments): Rename set-mount-file-name phase, and add cryptsetup and
  parted.
This commit is contained in:
Christopher Baines 2017-11-24 23:10:27 +00:00
parent 5823396404
commit 03800de180
No known key found for this signature in database
GPG key ID: 5E28A33B0B84F577

View file

@ -40,7 +40,9 @@ (define-module (gnu packages freedesktop)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages databases)
#:use-module (gnu packages disk)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
#:use-module (gnu packages gettext)
@ -613,7 +615,9 @@ (define-public udisks
("libatasmart" ,libatasmart)
("libgudev" ,libgudev)
("polkit" ,polkit)
("util-linux" ,util-linux)))
("util-linux" ,util-linux)
("cryptsetup" ,cryptsetup)
("parted" ,parted)))
(outputs '("out"
"doc")) ;5 MiB of gtk-doc HTML
(arguments
@ -653,14 +657,22 @@ (define-public udisks
"girdir = $(datadir)/gir-1.0\n")
(("typelibsdir = .*")
"typelibsdir = $(libdir)/girepository-1.0\n"))))
(add-after 'install 'set-mount-file-name
(add-after 'install 'wrap-udisksd
(lambda* (#:key outputs inputs #:allow-other-keys)
;; Tell 'udisksd' where to find the 'mount' command.
(let ((out (assoc-ref outputs "out"))
(utils (assoc-ref inputs "util-linux")))
(utils (assoc-ref inputs "util-linux"))
(cryptsetup (assoc-ref inputs "cryptsetup"))
(parted (assoc-ref inputs "parted")))
(wrap-program (string-append out "/libexec/udisks2/udisksd")
`("PATH" ":" prefix
(,(string-append utils "/bin") ;for 'mount'
;; 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))))))