all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#52065] [PATCH core-updates-frozen] gnu: gdm: Pass GDK_PIXBUF_MODULE_FILE to sessions.
@ 2021-11-23 20:25 Josselin Poiret via Guix-patches via
  2021-11-24  6:06 ` bug#52065: " Maxim Cournoyer
  0 siblings, 1 reply; 2+ messages in thread
From: Josselin Poiret via Guix-patches via @ 2021-11-23 20:25 UTC (permalink / raw)
  To: 52065; +Cc: Josselin Poiret

Hello,

This patch should fix GDM not showing svg icons, most notably the peek
password one on the login prompt.

Best,
Josselin

-- >8 --
* gnu/packages/patches/gdm-pass-gdk-pixbuf-loader-env.patch: Add
patch.
* gnu/local.mk (dist_patch_DATA): List it.
* gnu/packages/gnome.scm (gdm): Use it.
* gnu/services/xorg.scm (gdm-shepherd-service): Pass
GDK_PIXBUF_MODULE_FILE.
---
 gnu/local.mk                                  |  1 +
 gnu/packages/gnome.scm                        |  3 ++-
 .../gdm-pass-gdk-pixbuf-loader-env.patch      | 24 +++++++++++++++++++
 gnu/services/xorg.scm                         |  4 ++++
 4 files changed, 31 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/gdm-pass-gdk-pixbuf-loader-env.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 351c81bb3a..fe86c635c1 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1114,6 +1114,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/gdm-elogind-support.patch		\
   %D%/packages/patches/gdm-remove-hardcoded-xwayland-path.patch	\
   %D%/packages/patches/gdm-wayland-session-wrapper-from-env.patch	\
+  %D%/packages/patches/gdm-pass-gdk-pixbuf-loader-env.patch	\
   %D%/packages/patches/genimage-mke2fs-test.patch		\
   %D%/packages/patches/geoclue-config.patch			\
   %D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch	\
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 40f49a44db..6d56d04915 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -8367,7 +8367,8 @@ (define-public gdm
                 "gdm-default-session.patch"
                 "gdm-elogind-support.patch"
                 "gdm-remove-hardcoded-xwayland-path.patch"
-                "gdm-wayland-session-wrapper-from-env.patch"))))
+                "gdm-wayland-session-wrapper-from-env.patch"
+                "gdm-pass-gdk-pixbuf-loader-env.patch"))))
     (build-system meson-build-system)
     (arguments
      `(#:glib-or-gtk? #t
diff --git a/gnu/packages/patches/gdm-pass-gdk-pixbuf-loader-env.patch b/gnu/packages/patches/gdm-pass-gdk-pixbuf-loader-env.patch
new file mode 100644
index 0000000000..4341e3fc30
--- /dev/null
+++ b/gnu/packages/patches/gdm-pass-gdk-pixbuf-loader-env.patch
@@ -0,0 +1,24 @@
+From 444250fce55f916af993bc855930c6809686e4bd Mon Sep 17 00:00:00 2001
+From: Josselin Poiret <dev@jpoiret.xyz>
+Date: Tue, 23 Nov 2021 18:39:39 +0000
+Subject: [PATCH] Make GDM pass GDK_PIXBUF_MODULE_FILE to sessions
+
+---
+ daemon/gdm-launch-environment.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/daemon/gdm-launch-environment.c b/daemon/gdm-launch-environment.c
+index 14ecfac2..3e618321 100644
+--- a/daemon/gdm-launch-environment.c
++++ b/daemon/gdm-launch-environment.c
+@@ -158,6 +158,7 @@ build_launch_environment (GdmLaunchEnvironment *launch_environment,
+                 "WINDOWPATH",
+                 "XCURSOR_PATH",
+                 "XDG_CONFIG_DIRS",
++                "GDK_PIXBUF_MODULE_FILE",
+                 NULL
+         };
+         char *system_data_dirs;
+-- 
+2.33.1
+
diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index 0735d777bd..3abee8694a 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -1004,6 +1004,10 @@ (define (gdm-shepherd-service config)
                            ;; cursors.  gdm doesn't login so doesn't source
                            ;; the corresponding line in /etc/profile.
                            "XCURSOR_PATH=/run/current-system/profile/share/icons"
+                           (string-append
+                            "GDK_PIXBUF_MODULE_FILE="
+                            #$gnome-shell
+                            "/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache")
                            (string-append
                             "GDM_WAYLAND_SESSION="
                             #$(gdm-configuration-wayland-session config))))))
-- 
2.33.1





^ permalink raw reply related	[flat|nested] 2+ messages in thread

* bug#52065: [PATCH core-updates-frozen] gnu: gdm: Pass GDK_PIXBUF_MODULE_FILE to sessions.
  2021-11-23 20:25 [bug#52065] [PATCH core-updates-frozen] gnu: gdm: Pass GDK_PIXBUF_MODULE_FILE to sessions Josselin Poiret via Guix-patches via
@ 2021-11-24  6:06 ` Maxim Cournoyer
  0 siblings, 0 replies; 2+ messages in thread
From: Maxim Cournoyer @ 2021-11-24  6:06 UTC (permalink / raw)
  To: Josselin Poiret; +Cc: 52065-done

Hello Josselin,

Josselin Poiret <dev@jpoiret.xyz> writes:

> Hello,
>
> This patch should fix GDM not showing svg icons, most notably the peek
> password one on the login prompt.
>
> Best,
> Josselin
>
> -- >8 --
> * gnu/packages/patches/gdm-pass-gdk-pixbuf-loader-env.patch: Add
> patch.
> * gnu/local.mk (dist_patch_DATA): List it.
> * gnu/packages/gnome.scm (gdm): Use it.
> * gnu/services/xorg.scm (gdm-shepherd-service): Pass
> GDK_PIXBUF_MODULE_FILE.

Thank you so much for tackling this!

[...]

> diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
> index 0735d777bd..3abee8694a 100644
> --- a/gnu/services/xorg.scm
> +++ b/gnu/services/xorg.scm
> @@ -1004,6 +1004,10 @@ (define (gdm-shepherd-service config)
>                             ;; cursors.  gdm doesn't login so doesn't source
>                             ;; the corresponding line in /etc/profile.
>                             "XCURSOR_PATH=/run/current-system/profile/share/icons"
> +                           (string-append
> +                            "GDK_PIXBUF_MODULE_FILE="
> +                            #$gnome-shell
> +                            "/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache")
>                             (string-append
>                              "GDM_WAYLAND_SESSION="
>                              #$(gdm-configuration-wayland-session config))))))

I've modified the above slightly like so:

--8<---------------cut here---------------start------------->8---
@@ -49,6 +49,7 @@ (define-module (gnu services xorg)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages bash)
   #:use-module (gnu system shadow)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system trivial)
   #:use-module (guix gexp)
   #:use-module (guix store)
@@ -1004,6 +1005,9 @@ (define (gdm-shepherd-service config)
                            ;; cursors.  gdm doesn't login so doesn't source
                            ;; the corresponding line in /etc/profile.
                            "XCURSOR_PATH=/run/current-system/profile/share/icons"
+                           (string-append
+                            "GDK_PIXBUF_MODULE_FILE="
+                            #$gnome-shell "/" #$%gdk-pixbuf-loaders-cache-file)
                            (string-append
                             "GDM_WAYLAND_SESSION="
                             #$(gdm-configuration-wayland-session config))))))
--8<---------------cut here---------------end--------------->8---

To avoid hard coding the path.

I tested it in a VM with

--8<---------------cut here---------------start------------->8---
./pre-inst-env guix system vm gnu/system/examples/desktop.tmpl
--8<---------------cut here---------------end--------------->8---

It all looked good, so I push as commit
c3fd310d8f9ab0b5ae0b23bf6a6c67e5e25cc135.

Thank you!

Maxim




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-11-24  6:07 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-23 20:25 [bug#52065] [PATCH core-updates-frozen] gnu: gdm: Pass GDK_PIXBUF_MODULE_FILE to sessions Josselin Poiret via Guix-patches via
2021-11-24  6:06 ` bug#52065: " Maxim Cournoyer

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.