summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2017-11-24 23:10:27 +0000
committerChristopher Baines <mail@cbaines.net>2017-11-27 19:41:17 +0000
commit03800de1800613314fb2af59a515d75551cbb18f (patch)
tree0df14ea9bf96ea3cb77d41a3f0ac7a4771399366
parent5823396404bf8fc04cf0d392980bf463323014b1 (diff)
downloadguix-patches-03800de1800613314fb2af59a515d75551cbb18f.tar
guix-patches-03800de1800613314fb2af59a515d75551cbb18f.tar.gz
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.
-rw-r--r--gnu/packages/freedesktop.scm18
1 files changed, 15 insertions, 3 deletions
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index cac1f67c52..c82fc62932 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -40,7 +40,9 @@
#: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 @@ Analysis and Reporting Technology) functionality.")
("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 @@ Analysis and Reporting Technology) functionality.")
"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))))))