From b623508a4e673e53e63336ee5d97c39e85b52b75 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Tue, 28 Apr 2020 05:02:06 -0400
Subject: [PATCH 3/3] gnu: spacefm: Fix privilege and disk management.
* gnu/packages/lxde.scm (spacefm): Fix privilege and disk management.
Patched references to su, ktsuss and udevil; to load them correctly.
---
gnu/packages/lxde.scm | 34 +++++++++++++++++++++++++++-------
1 file changed, 27 insertions(+), 7 deletions(-)
@@ -27,6 +27,7 @@
(define-module (gnu packages lxde)
#:use-module (gnu packages)
+ #:use-module (gnu packages admin)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bash)
#:use-module (gnu packages disk)
@@ -279,7 +280,6 @@ with freedesktop.org standard.")
`(("bash" ,bash)
("cairo" ,cairo)
("curlftpfs" ,curlftpfs)
- ("dbus" ,dbus)
("eudev" ,eudev)
("fakeroot" ,fakeroot)
("ffmpegthumbnailer" ,ffmpegthumbnailer)
@@ -288,6 +288,7 @@ with freedesktop.org standard.")
("gtk+" ,gtk+)
("ifuse" ,ifuse)
("jmtpfs" ,jmtpfs)
+ ("ktsuss" ,ktsuss)
("libx11" ,libx11)
("lsof" ,lsof)
("pango" ,pango)
@@ -297,12 +298,31 @@ with freedesktop.org standard.")
("util-linux" ,util-linux)
("wget" ,wget)))
(arguments
- `(#:configure-flags (list (string-append "--with-bash-path="
- (assoc-ref %build-inputs "bash")
- "/bin/bash")
- (string-append "--sysconfdir="
- (assoc-ref %outputs "out")
- "/etc"))))
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-source-files
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Patch config file to load programs correctly.
+ (substitute* "etc/spacefm.conf"
+ (("#terminal_su=/bin/su")
+ "terminal_su=/run/setuid-programs/su")
+ (("#graphical_su=/usr/bin/gksu")
+ (string-append "graphical_su="
+ (string-append (assoc-ref inputs "ktsuss")
+ "/bin/ktsuss"))))
+ ;; SpaceFM expects udevil to have uid set to root.
+ ;; User has to manually add udevil to setuid-programs.
+ (substitute* "src/settings.c"
+ (("/usr/bin/udevil")
+ "/run/setuid-programs/udevil"))
+ #t)))
+ #:configure-flags (list
+ (string-append "--with-bash-path="
+ (assoc-ref %build-inputs "bash")
+ "/bin/bash")
+ (string-append "--sysconfdir="
+ (assoc-ref %outputs "out")
+ "/etc"))))
(home-page "https://ignorantguru.github.io/spacefm/")
(synopsis "Multi-panel tabbed file manager")
(description "SpaceFM is a graphical, multi-panel, tabbed file manager
--
2.26.2