summary refs log tree commit diff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-08-07 09:50:39 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-08-28 22:10:19 -0400
commit9376411fbe5be440c40ee6ea9b8dd2f2d3429f7b (patch)
treed029e01bd27d0078653a90f5aaa3f71e22b1c339
parent6da5eed4e7e5859d158b835aee6c337fdcdc58c2 (diff)
downloadguix-9376411fbe5be440c40ee6ea9b8dd2f2d3429f7b.tar.gz
gnu: lightdm-gtk-greeter: Add GDK_PIXBUF_MODULE_FILE to wrapper.
* 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.
-rw-r--r--gnu/packages/display-managers.scm22
1 files changed, 16 insertions, 6 deletions
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 @@
   #: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 @@ display manager which supports different greeters.")
               (sha256
                (base32
                 "04q62mvr97l9gv8h37hfarygqc7p0498ig7xclcg4kxkqw0b7yxy"))))
-    (build-system gnu-build-system)
+    (build-system glib-or-gtk-build-system)
     (arguments
      (list
       #:configure-flags
@@ -376,6 +377,14 @@ display manager which supports different greeters.")
                     (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 @@ display manager which supports different greeters.")
     (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