summary refs log tree commit diff
path: root/gnu/packages/display-managers.scm
diff options
context:
space:
mode:
authorL p R n d n <guix@lprndn.info>2019-04-16 14:17:18 +0200
committerRicardo Wurmus <rekado@elephly.net>2020-05-07 00:08:11 +0200
commitbed695aa94cd85800ec2c6296fb2d13e7ac29133 (patch)
tree5ffb82369344fe8acce329652a6906a2b4701008 /gnu/packages/display-managers.scm
parent13b012754eff829bbd8b16184cfc623b96a8d4e1 (diff)
downloadguix-bed695aa94cd85800ec2c6296fb2d13e7ac29133.tar.gz
gnu: lightdm-gtk-greeter: Wrap binary.
* gnu/package/display-managers.scm (lightdm-gtk-greeter)[inputs]: Add
shared-mime-info.
[arguments]: Add "wrap-program" phase.

Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
Diffstat (limited to 'gnu/packages/display-managers.scm')
-rw-r--r--gnu/packages/display-managers.scm18
1 files changed, 17 insertions, 1 deletions
diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm
index cda7598066..23a9aabe64 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -219,13 +219,29 @@ display manager which supports different greeters.")
                              out "/share/xgreeters/lightdm-gtk-greeter.desktop")
                  (("Exec=lightdm-gtk-greeter")
                   (string-append "Exec=" out "/sbin/lightdm-gtk-greeter")))
-               #t))))))
+               #t)))
+         (add-after 'fix-.desktop-file 'wrap-program
+           ;; Mimic glib-or-gtk build system
+           ;; which doesn't wrap files in /sbin
+           (lambda* (#:key outputs inputs #:allow-other-keys)
+             (let ((gtk (assoc-ref inputs "gtk+")))
+               (wrap-program (string-append (assoc-ref outputs "out")
+                                            "/sbin/lightdm-gtk-greeter")
+                 `("XDG_DATA_DIRS" ":" prefix
+                   ,(cons "/run/current-system/profile/share"
+                          (map (lambda (pkg)
+                                 (string-append (assoc-ref inputs pkg) "/share"))
+                               '("gtk+" "shared-mime-info" "glib"))))
+                 `("GTK_PATH" ":" prefix (,gtk))
+                 `("GIO_EXTRA_MODULES" ":" prefix (,gtk))))
+             #t)))))
     (native-inputs
      `(("exo" ,exo)
        ("intltool" ,intltool)
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("lightdm" ,lightdm)
+       ("shared-mime-info" ,shared-mime-info)
        ("at-spi2-core" ,at-spi2-core)
        ("gtk+" ,gtk+)))
     (synopsis "GTK+ greeter for LightDM")