From acbb112c1b40adb03f3f72c8c8f5bbf2b51c08d6 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 16 Feb 2023 12:21:39 -0500 Subject: services: gnome-polkit-settings: Add spice-gtk. * gnu/services/desktop.scm (gnome-polkit-settings): Add spice-gtk to the GNOME packages providing polkit rules. (package-direct-input-selector): Allow passing a list corresponding to the dependency tree, so that non-propagated transitive inputs can be specified. Signed-off-by: Maxim Cournoyer --- gnu/services/desktop.scm | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'gnu/services/desktop.scm') diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index fe1f0fd20a..189334dc23 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2015 Andy Wingo ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2016 Sou Bunnbu -;;; Copyright © 2017, 2020, 2022 Maxim Cournoyer +;;; Copyright © 2017, 2020, 2022, 2023 Maxim Cournoyer ;;; Copyright © 2017 Nikita ;;; Copyright © 2018, 2020, 2022 Efraim Flashner ;;; Copyright © 2018 Ricardo Wurmus @@ -183,11 +183,19 @@ (define (bool value) (if value "true\n" "false\n")) -(define (package-direct-input-selector input) +(define (package-direct-input-selector tree) + "Return a procedure that selects TREE from the inputs of PACKAGE. If TREE +is a list, it recursively searches it until it locates the last item of TREE." (lambda (package) - (match (assoc-ref (package-direct-inputs package) input) - ((package . _) package)))) - + (let loop ((tree (if (pair? tree) + tree + (list tree))) + (package package)) + (if (null? tree) + package + (loop (cdr tree) + (car (assoc-ref (package-direct-inputs package) + (car tree)))))))) ;;; @@ -1360,7 +1368,10 @@ rules." '("gnome-settings-daemon" "gnome-control-center" "gnome-system-monitor" - "gvfs"))) + "gvfs" + ;; spice-gtk provides polkit actions for USB redirection + ;; in GNOME Boxes. + ("gnome-boxes" "spice-gtk")))) (define gnome-desktop-service-type (service-type -- cgit v1.2.3