diff mbox series

[bug#57168,04/14] gnu: lightdm-gtk-greeter: Add GDK_PIXBUF_MODULE_FILE to wrapper.

Message ID 20220813065433.27319-4-maxim.cournoyer@gmail.com
State Accepted
Headers show
Series Add a LightDM service. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git-branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Maxim Cournoyer Aug. 13, 2022, 6:54 a.m. UTC
* gnu/packages/display-managers.scm (lightdm-gtk-greeter)
[build-system]: Use glib-or-gtk-build-system.
[phases]{wrap-program}: Add GDK_PIXBUF_MODULE_FILE to wrapper.
[inputs]: Add librsvg.
---
 gnu/packages/display-managers.scm | 22 ++++++++++++++++------
 1 file changed, 16 insertions(+), 6 deletions(-)
diff mbox series

Patch

diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm
index 6c1c5b6c25..53002f2122 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -37,6 +37,7 @@  (define-module (gnu packages display-managers)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system qt)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system trivial)
   #:use-module (guix packages)
   #:use-module (guix utils)
@@ -347,7 +348,7 @@  (define-public lightdm-gtk-greeter
               (sha256
                (base32
                 "04q62mvr97l9gv8h37hfarygqc7p0498ig7xclcg4kxkqw0b7yxy"))))
-    (build-system gnu-build-system)
+    (build-system glib-or-gtk-build-system)
     (arguments
      (list
       #:configure-flags
@@ -376,6 +377,14 @@  (define-public lightdm-gtk-greeter
                     (glib #$(this-package-input "glib")))
                 (wrap-program (search-input-file
                                outputs "sbin/lightdm-gtk-greeter")
+                  ;; Wrap GDK_PIXBUF_MODULE_FILE, so that the SVG loader is
+                  ;; available at all times even outside of profiles, such as
+                  ;; when used in the lightdm-service-type.  Otherwise, it
+                  ;; wouldn't be able to display its own icons.
+                  `("GDK_PIXBUF_MODULE_FILE" =
+                    (,(search-input-file
+                       inputs
+                       "lib/gdk-pixbuf-2.0/2.10.0/loaders.cache")))
                   `("XDG_DATA_DIRS" ":" prefix
                     ,(cons "/run/current-system/profile/share"
                            (map (lambda (pkg)
@@ -388,12 +397,13 @@  (define-public lightdm-gtk-greeter
     (native-inputs
      (list exo intltool pkg-config xfce4-dev-tools))
     (inputs
-     (list bash-minimal                 ;for wrap-program
+     (list at-spi2-core
+           bash-minimal                 ;for wrap-program
+           gtk+
+           guile-3.0
+           librsvg
            lightdm
-           shared-mime-info
-           at-spi2-core
-           glib
-           gtk+))
+           shared-mime-info))
     (synopsis "GTK+ greeter for LightDM")
     (home-page "https://github.com/xubuntu/lightdm-gtk-greeter")
     (description "This package provides a LightDM greeter implementation using