summary refs log tree commit diff
path: root/gnu/packages/patches
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r--gnu/packages/patches/glib-tests-desktop.patch138
-rw-r--r--gnu/packages/patches/glib-tests-gapplication.patch28
-rw-r--r--gnu/packages/patches/glib-tests-homedir.patch59
-rw-r--r--gnu/packages/patches/glib-tests-prlimit.patch14
-rw-r--r--gnu/packages/patches/glib-tests-timer.patch11
-rw-r--r--gnu/packages/patches/gtk2-theme-paths.patch41
6 files changed, 250 insertions, 41 deletions
diff --git a/gnu/packages/patches/glib-tests-desktop.patch b/gnu/packages/patches/glib-tests-desktop.patch
new file mode 100644
index 0000000000..642234ebbc
--- /dev/null
+++ b/gnu/packages/patches/glib-tests-desktop.patch
@@ -0,0 +1,138 @@
+Some GLib tests expect desktop things, such as an xterm, a MIME
+database, the `update-desktop-database' program, which we don't provide.
+
+--- glib-2.37.1/gio/tests/appinfo.c	2013-06-07 23:44:44.000000000 +0200
++++ glib-2.37.1/gio/tests/appinfo.c	2013-06-07 23:44:56.000000000 +0200
+@@ -497,16 +497,10 @@ main (int argc, char *argv[])
+ 
+   g_test_add_func ("/appinfo/basic", test_basic);
+   g_test_add_func ("/appinfo/text", test_text);
+-  g_test_add_func ("/appinfo/launch", test_launch);
+   g_test_add_func ("/appinfo/show-in", test_show_in);
+   g_test_add_func ("/appinfo/commandline", test_commandline);
+-  g_test_add_func ("/appinfo/launch-context", test_launch_context);
+-  g_test_add_func ("/appinfo/launch-context-signals", test_launch_context_signals);
+   g_test_add_func ("/appinfo/tryexec", test_tryexec);
+-  g_test_add_func ("/appinfo/associations", test_associations);
+   g_test_add_func ("/appinfo/environment", test_environment);
+-  g_test_add_func ("/appinfo/startup-wm-class", test_startup_wm_class);
+-  g_test_add_func ("/appinfo/supported-types", test_supported_types);
+   g_test_add_func ("/appinfo/from-keyfile", test_from_keyfile);
+ 
+   return g_test_run ();
+
+--- glib-2.40.0/gio/tests/contenttype.c	2013-01-16 21:22:29.000000000 +0100
++++ glib-2.40.0/gio/tests/contenttype.c	2013-01-16 21:22:33.000000000 +0100
+@@ -207,15 +207,6 @@ main (int argc, char *argv[])
+ {
+   g_test_init (&argc, &argv, NULL);
+ 
+-  g_test_add_func ("/contenttype/guess", test_guess);
+-  g_test_add_func ("/contenttype/unknown", test_unknown);
+-  g_test_add_func ("/contenttype/subtype", test_subtype);
+-  g_test_add_func ("/contenttype/list", test_list);
+-  g_test_add_func ("/contenttype/executable", test_executable);
+-  g_test_add_func ("/contenttype/description", test_description);
+-  g_test_add_func ("/contenttype/icon", test_icon);
+-  g_test_add_func ("/contenttype/symbolic-icon", test_symbolic_icon);
+-  g_test_add_func ("/contenttype/tree", test_tree);
+ 
+   return g_test_run ();
+ }
+
+
+--- glib-2.40.0/gio/tests/desktop-app-info.c	2014-03-19 22:50:45.000000000 -0500
++++ glib-2.40.0/gio/tests/desktop-app-info.c	2014-06-30 14:27:52.543358331 -0500
+@@ -708,6 +708,8 @@
+   g_setenv ("XDG_DATA_HOME", basedir, TRUE);
+   cleanup_subdirs (basedir);
+ 
++  result = g_test_run ();
++  return result;
+   g_test_add_func ("/desktop-app-info/delete", test_delete);
+   g_test_add_func ("/desktop-app-info/default", test_default);
+   g_test_add_func ("/desktop-app-info/fallback", test_fallback);
+
+
+-----------------------------
+The hunk below removes tests that depend on `gdbus-testserver.py',
+because that script depends on python-gobject.  The second hunk
+disables a test that expects /etc/machine-id in the build environment.
+ 
+--- glib-2.46.0/gio/tests/Makefile.in	2015-10-14 14:11:00.928809504 +0200
++++ glib-2.46.0/gio/tests/Makefile.in	2015-10-14 14:12:13.157291092 +0200
+@@ -186,20 +186,13 @@ check_PROGRAMS = $(am__EXEEXT_16)
+ @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@	gdbus-auth				\
+ @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@	gdbus-bz627724				\
+ @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@	gdbus-close-pending			\
+-@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@	gdbus-connection			\
+-@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@	gdbus-connection-loss			\
+-@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@	gdbus-connection-slow			\
+ @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@	gdbus-error				\
+ @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@	gdbus-exit-on-close			\
+ @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@	gdbus-export				\
+-@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@	gdbus-introspection			\
+ @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@	gdbus-names				\
+-@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@	gdbus-proxy				\
+ @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@	gdbus-proxy-threads			\
+-@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@	gdbus-proxy-well-known-name		\
+ @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@	gdbus-test-codegen			\
+ @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@	gdbus-test-codegen-old			\
+-@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@	gdbus-threading				\
+ @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@	gmenumodel				\
+ @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@	gnotification				\
+ @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@	$(NULL)
+@@ -321,8 +314,7 @@ libresourceplugin_la_LINK = $(LIBTOOL) $
+ am__EXEEXT_1 =
+ @OS_UNIX_TRUE@am__EXEEXT_2 = contenttype$(EXEEXT) file$(EXEEXT) \
+ @OS_UNIX_TRUE@	gdbus-peer-object-manager$(EXEEXT) \
+-@OS_UNIX_TRUE@	gdbus-unix-addresses$(EXEEXT) \
+ @OS_UNIX_TRUE@	live-g-file$(EXEEXT) socket-address$(EXEEXT) \
+ @OS_UNIX_TRUE@	stream-rw_all$(EXEEXT) unix-fd$(EXEEXT) \
+ @OS_UNIX_TRUE@	unix-streams$(EXEEXT) $(am__EXEEXT_1) \
+  
+
+The test below depends on the availability /etc/passwd to dbus-daemon.
+
+--- glib-2.40.0/gio/tests/gdbus-auth.c	2014-02-03 11:40:41.000000000 -0600
++++ glib-2.40.0/gio/tests/gdbus-auth.c	2014-06-30 15:08:43.719421893 -0500
+@@ -286,6 +286,8 @@
+ {
+   gint ret;
+ 
++  g_test_init (&argc, &argv, NULL);
++  return g_test_run();
+   setlocale (LC_ALL, "C");
+ 
+   temp_dbus_keyrings_setup ();
+
+
+The test dbus-appinfo is dropped as it hangs indefinitely since 2.37.5, see
+   https://launchpad.net/ubuntu/+source/glib2.0/2.37.5-1ubuntu1
+
+--- glib-2.40.0/gio/tests/dbus-appinfo.c	2014-02-03 11:40:41.000000000 -0600
++++ glib-2.40.0/gio/tests/dbus-appinfo.c	2014-06-30 14:44:08.215383632 -0500
+@@ -278,7 +278,7 @@
+ {
+   g_test_init (&argc, &argv, NULL);
+ 
+-  g_test_add_func ("/appinfo/dbusappinfo", test_dbus_appinfo);
++  return g_test_run();
+ 
+   return session_bus_run ();
+ }
+
+
+The test below fails for unknown reasons (!).
+
+--- glib-2.39.1/gio/tests/gsettings.c.orig	2014-01-20 00:45:04.000000000 +0100
++++ glib-2.39.1/gio/tests/gsettings.c	2014-01-20 00:45:10.000000000 +0100
+@@ -2489,7 +2489,6 @@ main (int argc, char *argv[])
+   g_test_add_func ("/gsettings/range/subprocess/high", test_range_high);
+   g_test_add_func ("/gsettings/range/subprocess/low", test_range_low);
+   g_test_add_func ("/gsettings/list-items", test_list_items);
+-  g_test_add_func ("/gsettings/list-schemas", test_list_schemas);
+   g_test_add_func ("/gsettings/mapped", test_get_mapped);
+   g_test_add_func ("/gsettings/get-range", test_get_range);
+   g_test_add_func ("/gsettings/schema-source", test_schema_source);
+
diff --git a/gnu/packages/patches/glib-tests-gapplication.patch b/gnu/packages/patches/glib-tests-gapplication.patch
new file mode 100644
index 0000000000..1845fcb9b8
--- /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);
diff --git a/gnu/packages/patches/glib-tests-homedir.patch b/gnu/packages/patches/glib-tests-homedir.patch
new file mode 100644
index 0000000000..0a2bcf1a23
--- /dev/null
+++ b/gnu/packages/patches/glib-tests-homedir.patch
@@ -0,0 +1,59 @@
+`g_get_home_dir' looks at /etc/passwd first, which fails in chroot builds.
+The gdbus tests use it to lookup .dbus-keyrings, so they cannot run in our
+chroot build environment.  Thus, disable them.
+
+--- glib-2.34.3/gio/tests/gdbus-connection-flush.c	2013-01-16 17:29:46.000000000 +0100
++++ glib-2.34.3/gio/tests/gdbus-connection-flush.c	2013-01-16 17:29:47.000000000 +0100
+@@ -373,10 +373,6 @@ main (int   argc,
+   g_type_init ();
+   g_test_init (&argc, &argv, NULL);
+ 
+-  g_test_add ("/gdbus/connection/flush/busy", Fixture, NULL,
+-              setup, test_flush_busy, teardown);
+-  g_test_add ("/gdbus/connection/flush/idle", Fixture, NULL,
+-              setup, test_flush_idle, teardown);
+ 
+   ret = g_test_run();
+
+--- glib-2.38.0.orig/gio/tests/gdbus-peer.c     2013-08-08 12:00:40.000000000 +0200
++++ glib-2.38.0/gio/tests/gdbus-peer.c  2013-09-30 19:36:40.000000000 +0200
+@@ -1746,11 +1746,6 @@
+
+   g_test_add_func ("/gdbus/peer-to-peer", test_peer);
+   g_test_add_func ("/gdbus/delayed-message-processing", delayed_message_processing);
+-  g_test_add_func ("/gdbus/nonce-tcp", test_nonce_tcp);
+-
+-  g_test_add_func ("/gdbus/tcp-anonymous", test_tcp_anonymous);
+-  g_test_add_func ("/gdbus/credentials", test_credentials);
+-  g_test_add_func ("/gdbus/codegen-peer-to-peer", codegen_test_peer);
+
+   ret = g_test_run();
+ 
+--- glib-2.37.1/gio/tests/gdbus-exit-on-close.c	2013-06-07 23:41:34.000000000 +0200
++++ glib-2.37.1/gio/tests/gdbus-exit-on-close.c	2013-06-07 23:41:40.000000000 +0200
+@@ -211,6 +211,7 @@ main (int   argc,
+ 
+   g_test_init (&argc, &argv, NULL);
+ 
++  return g_test_run();
+   for (i = 0; cases[i].name != NULL; i++)
+     {
+       gchar *name;
+@@ -224,5 +225,4 @@ main (int   argc,
+       g_free (name);
+     }
+ 
+-  return g_test_run();
+ }
+
+--- glib-2.34.3/gio/tests/gdbus-non-socket.c	2013-01-16 18:13:25.000000000 +0100
++++ glib-2.34.3/gio/tests/gdbus-non-socket.c	2013-01-16 18:13:27.000000000 +0100
+@@ -294,7 +294,6 @@ main (int   argc,
+   g_type_init ();
+   g_test_init (&argc, &argv, NULL);
+ 
+-  g_test_add_func ("/gdbus/non-socket", test_non_socket);
+ 
+   ret = g_test_run();
+ 
+
diff --git a/gnu/packages/patches/glib-tests-prlimit.patch b/gnu/packages/patches/glib-tests-prlimit.patch
new file mode 100644
index 0000000000..f2b2a61bee
--- /dev/null
+++ b/gnu/packages/patches/glib-tests-prlimit.patch
@@ -0,0 +1,14 @@
+prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64 as found on
+hydra.gnu.org, and strace(1) doesn't recognize it.
+
+--- glib-2.34.3/glib/tests/thread.c	2012-11-20 15:27:12.000000000 +0100
++++ glib-2.34.3/glib/tests/thread.c	2013-03-27 14:48:31.000000000 +0100
+@@ -130,7 +130,7 @@ test_thread3 (void)
+ static void
+ test_thread4 (void)
+ {
+-#ifdef HAVE_PRLIMIT
++#if 0
+   struct rlimit ol, nl;
+   GThread *thread;
+   GError *error;
diff --git a/gnu/packages/patches/glib-tests-timer.patch b/gnu/packages/patches/glib-tests-timer.patch
index e37425c0c8..1ac364fcc1 100644
--- a/gnu/packages/patches/glib-tests-timer.patch
+++ b/gnu/packages/patches/glib-tests-timer.patch
@@ -2,6 +2,9 @@
   fail depending on the elapsed microseconds.  Improve rounding by adding a
   fractional bit.
 
+* The /timer/stop test fails if compiler optimizations are enabled, which they
+  are by default.  Disable that test.
+
 --- glib-2.40.0/glib/tests/timer.c	2014-03-05 08:05:42.000000000 -0600
 +++ glib-2.40.0/glib/tests/timer.c	2014-07-10 16:33:12.746862822 -0500
 @@ -35,7 +35,7 @@
@@ -13,3 +16,11 @@
  
    g_timer_destroy (timer);
  }
+@@ -204,7 +204,6 @@
+   g_test_init (&argc, &argv, NULL);
+ 
+   g_test_add_func ("/timer/basic", test_timer_basic);
+-  g_test_add_func ("/timer/stop", test_timer_stop);
+   g_test_add_func ("/timer/continue", test_timer_continue);
+   g_test_add_func ("/timer/reset", test_timer_reset);
+   g_test_add_func ("/timeval/add", test_timeval_add);
diff --git a/gnu/packages/patches/gtk2-theme-paths.patch b/gnu/packages/patches/gtk2-theme-paths.patch
deleted file mode 100644
index 6c1351e516..0000000000
--- a/gnu/packages/patches/gtk2-theme-paths.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From: Jookia <166291@gmail.com>
-Subject: [PATCHv2] gtk: Patch GTK+ to look for themes in profiles.
-To: guix-devel@gnu.org
-Date: Sun, 13 Mar 2016 15:17:37 +1100
-Url: https://lists.gnu.org/archive/html/guix-devel/2016-03/msg00492.html
-
-diff -Naur gtk+-2.24.28.new/gtk/gtkrc.c gtk+-2.24.28/gtk/gtkrc.c
---- gtk+-2.24.28.new/gtk/gtkrc.c	2016-03-13 10:31:14.413644362 +1100
-+++ gtk+-2.24.28/gtk/gtkrc.c	2016-03-13 12:51:34.723398423 +1100
-@@ -808,6 +808,8 @@
-   gchar *path = NULL;
-   const gchar *home_dir;
-   gchar *subpath;
-+  const gchar * const *xdg_data_dirs;
-+  gint i;
- 
-   if (type)
-     subpath = g_strconcat ("gtk-2.0-", type,
-@@ -830,6 +832,22 @@
-     }
- 
-   if (!path)
-+    {
-+      xdg_data_dirs = g_get_system_data_dirs ();
-+      for (i = 0; xdg_data_dirs[i]; i++)
-+        {
-+          path = g_build_filename (xdg_data_dirs[i], "themes", name, subpath, NULL);
-+          if (g_file_test (path, G_FILE_TEST_EXISTS))
-+            break;
-+          else
-+            {
-+              g_free (path);
-+              path = NULL;
-+            }
-+        }
-+    }
-+
-+  if (!path)
-     {
-       gchar *theme_dir = gtk_rc_get_theme_dir ();
-       path = g_build_filename (theme_dir, name, subpath, NULL);