summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-08-09 00:54:22 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-08-28 22:10:19 -0400
commit0d23e9cda2a3777c035c36846fe7b994c818114b (patch)
tree970e4b0d61daad14177cd7a36b4b184e1174a3df
parent9376411fbe5be440c40ee6ea9b8dd2f2d3429f7b (diff)
gnu: lightdm-gtk-greeter: Use the glib-or-gtk-wrap phase as-is.
* gnu/packages/display-managers.scm (lightdm-gtk-greeter) [configure-flags]: Install binaries to bin/, so the wrap phase of glib-or-gtk handles them. [phases]{wrap-program}: Delete. {custom-wrap}: New phase, wrapping the wrapper with a few extra environment variables.
-rw-r--r--gnu/packages/display-managers.scm54
1 files changed, 26 insertions, 28 deletions
diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm
index 53002f2122..11d5c519ea 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -54,6 +54,7 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages guile)
#:use-module (gnu packages image)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages linux)
@@ -353,6 +354,9 @@ display manager which supports different greeters.")
(list
#:configure-flags
#~(list "--disable-indicator-services-command" ;requires upstart
+ ;; Put the binary under /bin rather than /sbin, so that it gets
+ ;; wrapped by the glib-or-gtk-wrap phase.
+ (string-append "--sbindir=" #$output "/bin")
(string-append "--enable-at-spi-command="
(search-input-file
%build-inputs "libexec/at-spi-bus-launcher")))
@@ -367,35 +371,29 @@ display manager which supports different greeters.")
(("Exec=lightdm-gtk-greeter")
(string-append "Exec="
(search-input-file
- outputs "sbin/lightdm-gtk-greeter"))))))
- (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 #$(this-package-input "gtk+"))
- (shared-mime-info #$(this-package-input "shared-mime-info"))
- (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)
- (string-append pkg "/share"))
- (list gtk shared-mime-info glib))))
- `("GTK_PATH" ":" prefix (,gtk))
- `("GIO_EXTRA_MODULES" ":" prefix (,gtk))
- '("XCURSOR_PATH" ":" prefix
- ("/run/current-system/profile/share/icons")))))))))
+ outputs "bin/lightdm-gtk-greeter"))))))
+ (add-after 'glib-or-gtk-wrap 'custom-wrap
+ (lambda* (#:key outputs #:allow-other-keys)
+ (wrap-script (search-input-file
+ outputs "bin/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
+ outputs
+ "lib/gdk-pixbuf-2.0/2.10.0/loaders.cache")))
+ `("XDG_DATA_DIRS" ":" prefix
+ (,(string-append "/run/current-system/profile/share:"
+ (getenv "XDG_DATA_DIRS"))))
+ '("XCURSOR_PATH" ":" prefix
+ ("/run/current-system/profile/share/icons"))))))))
(native-inputs
- (list exo intltool pkg-config xfce4-dev-tools))
+ (list exo
+ intltool
+ pkg-config
+ xfce4-dev-tools))
(inputs
(list at-spi2-core
bash-minimal ;for wrap-program