gnu: geeqie: Fix X11 error at startup.
authorLudovic Courtès <ludo@gnu.org>
Wed, 8 Dec 2021 21:35:03 +0000 (22:35 +0100)
committerLudovic Courtès <ludo@gnu.org>
Wed, 8 Dec 2021 21:35:03 +0000 (22:35 +0100)
Fixes <https://issues.guix.gnu.org/52089>.
Reported by Maxim Cournoyer <maxim.cournoyer@gmail.com>.
Patch provided by John Kehayias <john.kehayias@protonmail.com>.

* gnu/packages/patches/geeqie-clutter.patch: New file.
* gnu/packages/image-viewers.scm (geeqie)[sources]: Use it.
* gnu/local.mk (dist_patch_DATA): Add it.

gnu/local.mk
gnu/packages/image-viewers.scm
gnu/packages/patches/geeqie-clutter.patch [new file with mode: 0644]

index 5c19919..621dace 100644 (file)
@@ -1121,6 +1121,7 @@ dist_patch_DATA =                                         \
   %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/geeqie-clutter.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        \
index d2307a3..ff6af70 100644 (file)
@@ -314,7 +314,8 @@ actions.")
               (sha256
                (base32
                 "1i9yd8lddp6b9s9vjjjzbpqj4bvwidxc6kiba6vdrk7dda5akyky"))
-              (file-name (git-file-name name version))))
+              (file-name (git-file-name name version))
+              (patches (search-patches "geeqie-clutter.patch"))))
     (build-system gnu-build-system)
     (arguments
      ;; Enable support for a "map" pane using GPS data.
diff --git a/gnu/packages/patches/geeqie-clutter.patch b/gnu/packages/patches/geeqie-clutter.patch
new file mode 100644 (file)
index 0000000..ab7cc95
--- /dev/null
@@ -0,0 +1,35 @@
+From c99084ac5fc2fb854ff8e8abd4bd3298fb08fb43 Mon Sep 17 00:00:00 2001
+From: Colin Clark <colin.clark@cclark.uk>
+Date: Sat, 9 Jan 2021 11:35:41 +0000
+Subject: [PATCH] Fix #829: segfault with clutter-gtk
+
+https://github.com/BestImageViewer/geeqie/issues/829
+
+This fix might cause other problems which might be cured by calling:
+LIBGL_ALWAYS_INDIRECT=1 geeqie
+
+or, worst case:
+geeqie --disable-clutter
+---
+ src/main.c | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/src/main.c b/src/main.c
+index f497240d..4af654fe 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -904,11 +904,6 @@ gint main(gint argc, gchar *argv[])
+ #ifdef HAVE_GTHREAD
+ #if !GLIB_CHECK_VERSION(2,32,0)
+       g_thread_init(NULL);
+-#endif
+-#ifdef HAVE_CLUTTER
+-/* FIXME: see below */
+-      putenv("LIBGL_ALWAYS_INDIRECT=1");
+-      XInitThreads();
+ #endif
+       gdk_threads_init();
+       gdk_threads_enter();
+-- 
+2.34.0
+