From 36d2a3afeb9fba6f00de77cc62ef51e74380aff9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org>
Date: Wed, 3 Dec 2014 22:51:18 +0100
Subject: [PATCH] gnu: glib: Work around unreliable GIO test.

Fixes <http://bugs.gnu.org/18445>.

* gnu/packages/patches/glib-tests-gapplication.patch: New file
* gnu/packages/glib.scm (glib)[source]: Add it.
* gnu-system.am (dist_patch_DATA): Add it.
---
 gnu-system.am                                 |  1 +
 gnu/packages/glib.scm                         |  3 +-
 .../patches/glib-tests-gapplication.patch     | 28 +++++++++++++++++++
 3 files changed, 31 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/glib-tests-gapplication.patch

diff --git a/gnu-system.am b/gnu-system.am
index b3ba176b5bf..ddcf2e49430 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -358,6 +358,7 @@ dist_patch_DATA =						\
   gnu/packages/patches/glib-tests-homedir.patch			\
   gnu/packages/patches/glib-tests-prlimit.patch			\
   gnu/packages/patches/glib-tests-timer.patch			\
+  gnu/packages/patches/glib-tests-gapplication.patch		\
   gnu/packages/patches/glibc-bootstrap-system.patch		\
   gnu/packages/patches/glibc-ldd-x86_64.patch			\
   gnu/packages/patches/gnunet-fix-scheduler.patch		\
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index fd4aa8860db..a6149cdc0e7 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -129,7 +129,8 @@ (define glib
             (patches (list (search-patch "glib-tests-homedir.patch")
                            (search-patch "glib-tests-desktop.patch")
                            (search-patch "glib-tests-prlimit.patch")
-                           (search-patch "glib-tests-timer.patch")))))
+                           (search-patch "glib-tests-timer.patch")
+                           (search-patch "glib-tests-gapplication.patch")))))
    (build-system gnu-build-system)
    (outputs '("out"           ; everything
               "bin"           ; glib-mkenums, gtester, etc.; depends on Python
diff --git a/gnu/packages/patches/glib-tests-gapplication.patch b/gnu/packages/patches/glib-tests-gapplication.patch
new file mode 100644
index 00000000000..1845fcb9b8e
--- /dev/null
+++ b/gnu/packages/patches/glib-tests-gapplication.patch
@@ -0,0 +1,28 @@
+This test has proven to be unreliable, often leading to things like this
+in gapplication.log:
+
+  PASS: gapplication 3 /gapplication/properties
+  Failed to register: The connection is closed
+  **
+  GLib-GIO:ERROR:gapplication.c:564:test_quit: assertion failed: (activated)
+  ok 4 /gapplication/app-id
+  PASS: gapplication 4 /gapplication/app-id
+  ../../tap-test: line 5: 24133 Aborted                 $1 -k --tap
+  # GLib-GIO:ERROR:gapplication.c:564:test_quit: assertion failed: (activated)
+  cleaning up pid 24154
+  ERROR: gapplication - missing test plan
+  ERROR: gapplication - exited with status 134 (terminated by signal 6?)
+
+See <https://bugs.debian.org/756273> and <http://bugs.gnu.org/18445>.
+
+
+--- glib-2.40.2/gio/tests/gapplication.c	2014-12-03 22:34:44.566667649 +0100
++++ glib-2.40.2/gio/tests/gapplication.c	2014-12-03 22:34:45.346674179 +0100
+@@ -685,7 +685,6 @@ main (int argc, char **argv)
+ /*  g_test_add_func ("/gapplication/non-unique", test_nonunique); */
+   g_test_add_func ("/gapplication/properties", properties);
+   g_test_add_func ("/gapplication/app-id", appid);
+-  g_test_add_func ("/gapplication/quit", test_quit);
+   g_test_add_func ("/gapplication/local-actions", test_local_actions);
+ /*  g_test_add_func ("/gapplication/remote-actions", test_remote_actions); */
+   g_test_add_func ("/gapplication/local-command-line", test_local_command_line);
-- 
GitLab