From 03800de1800613314fb2af59a515d75551cbb18f Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Fri, 24 Nov 2017 23:10:27 +0000 Subject: [PATCH] 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. --- gnu/packages/freedesktop.scm | 18 +++++++++++++++--- 1 file 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 @@ (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))))))