aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-01-16 23:01:24 +0100
committerLudovic Courtès <ludo@gnu.org>2013-01-19 22:20:47 +0100
commit943f33a3263af38c69a2eb60440fe10602104607 (patch)
tree7786acdae26e1d815771f1a4ecce0639c412cda4 /gnu/packages/patches
parent3889a82ef889004bb0835c54e8dc8b23a4a6758f (diff)
downloadguix-943f33a3263af38c69a2eb60440fe10602104607.tar
guix-943f33a3263af38c69a2eb60440fe10602104607.tar.gz
distro: glib: Run the test suite; add DBus.
* distro/packages/glib.scm: Rename to... * gnu/packages/glib.scm: ... this. Update module declaration accordingly. (dbus): New variable. (glib): Change version number to 2.34.3, and adjust URL accordingly. Add a "doc" output. Add #:configure-flags, #:patches, and #:phases arguments. Add DBUS as an input, as well a three patches. * Makefile.am (MODULES): Adjust to file renaming. (dist_patch_DATA): Add `glib-tests-timezone.patch', `glib-tests-homedir.patch', and `glib-tests-desktop.patch'.
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r--gnu/packages/patches/glib-tests-desktop.patch87
-rw-r--r--gnu/packages/patches/glib-tests-homedir.patch59
-rw-r--r--gnu/packages/patches/glib-tests-timezone.patch41
3 files changed, 187 insertions, 0 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..85f2b06c9a
--- /dev/null
+++ b/gnu/packages/patches/glib-tests-desktop.patch
@@ -0,0 +1,87 @@
+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.34.3/gio/tests/appinfo.c 2013-01-16 18:20:00.000000000 +0100
++++ glib-2.34.3/gio/tests/appinfo.c 2013-01-16 18:20:06.000000000 +0100
+@@ -384,14 +384,09 @@ 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/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);
+
+--- glib-2.34.3/gio/tests/contenttype.c 2013-01-16 21:22:29.000000000 +0100
++++ glib-2.34.3/gio/tests/contenttype.c 2013-01-16 21:22:33.000000000 +0100
+@@ -207,13 +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);
+
+ return g_test_run ();
+ }
+
+--- glib-2.34.3/gio/tests/desktop-app-info.c 2013-01-16 21:30:00.000000000 +0100
++++ glib-2.34.3/gio/tests/desktop-app-info.c 2013-01-16 21:30:02.000000000 +0100
+@@ -363,9 +363,5 @@ main (int argc,
+ g_setenv ("XDG_DATA_HOME", basedir, TRUE);
+ cleanup_subdirs (basedir);
+
+- 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);
+- g_test_add_func ("/desktop-app-info/lastused", test_last_used);
+
+ result = g_test_run ();
+
+
+-----------------------------
+The hunk below removes tests that depend on `gdbus-testserver.py',
+because that script depends on python-gobject.
+
+--- glib-2.34.3/gio/tests/Makefile.in 2012-11-26 20:08:54.000000000 +0100
++++ glib-2.34.3/gio/tests/Makefile.in 2013-01-17 23:09:44.000000000 +0100
+@@ -60,15 +60,8 @@ DIST_COMMON = $(srcdir)/Makefile.am $(sr
+ noinst_PROGRAMS = $(am__EXEEXT_6) $(am__EXEEXT_8)
+ @HAVE_DBUS_DAEMON_TRUE@am__append_1 = \
+ @HAVE_DBUS_DAEMON_TRUE@ actions \
+-@HAVE_DBUS_DAEMON_TRUE@ gdbus-connection \
+-@HAVE_DBUS_DAEMON_TRUE@ gdbus-connection-loss \
+-@HAVE_DBUS_DAEMON_TRUE@ gdbus-connection-slow \
+ @HAVE_DBUS_DAEMON_TRUE@ gdbus-names \
+-@HAVE_DBUS_DAEMON_TRUE@ gdbus-proxy \
+ @HAVE_DBUS_DAEMON_TRUE@ gdbus-proxy-threads \
+-@HAVE_DBUS_DAEMON_TRUE@ gdbus-proxy-well-known-name \
+-@HAVE_DBUS_DAEMON_TRUE@ gdbus-introspection \
+-@HAVE_DBUS_DAEMON_TRUE@ gdbus-threading \
+ @HAVE_DBUS_DAEMON_TRUE@ gdbus-export \
+ @HAVE_DBUS_DAEMON_TRUE@ gdbus-error \
+ @HAVE_DBUS_DAEMON_TRUE@ gdbus-bz627724 \
+
+
+The test below depends on the availability /etc/passwd to dbus-daemon.
+
+--- glib-2.34.3/gio/tests/gdbus-auth.c 2013-01-19 14:32:14.000000000 +0100
++++ glib-2.34.3/gio/tests/gdbus-auth.c 2013-01-19 14:32:20.000000000 +0100
+@@ -264,6 +264,7 @@ main (int argc,
+ {
+ gint ret;
+
++ exit (0);
+ setlocale (LC_ALL, "C");
+
+ g_type_init ();
diff --git a/gnu/packages/patches/glib-tests-homedir.patch b/gnu/packages/patches/glib-tests-homedir.patch
new file mode 100644
index 0000000000..9232ca5e77
--- /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.34.3/gio/tests/gdbus-peer.c 2013-01-16 17:38:09.000000000 +0100
++++ glib-2.34.3/gio/tests/gdbus-peer.c 2013-01-16 17:38:12.000000000 +0100
+@@ -1828,11 +1828,6 @@ main (int argc,
+
+ 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/overflow", test_overflow);
+- g_test_add_func ("/gdbus/codegen-peer-to-peer", codegen_test_peer);
+
+ ret = g_test_run();
+
+--- glib-2.34.3/gio/tests/gdbus-exit-on-close.c 2013-01-16 17:49:25.000000000 +0100
++++ glib-2.34.3/gio/tests/gdbus-exit-on-close.c 2013-01-16 17:49:30.000000000 +0100
+@@ -206,13 +206,6 @@ main (int argc,
+ g_type_init ();
+ g_test_init (&argc, &argv, NULL);
+
+- for (i = 0; cases[i].name != NULL; i++)
+- {
+- gchar *name = g_strdup_printf ("/gdbus/exit-on-close/%s", cases[i].name);
+-
+- g_test_add_data_func (name, &cases[i], test_exit_on_close);
+- 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-timezone.patch b/gnu/packages/patches/glib-tests-timezone.patch
new file mode 100644
index 0000000000..4b335c7ffb
--- /dev/null
+++ b/gnu/packages/patches/glib-tests-timezone.patch
@@ -0,0 +1,41 @@
+Since glibc 2.17 doesn't install timezone data by default (see
+http://thread.gmane.org/gmane.comp.lib.glibc.alpha/17516), and since we
+don't have that around, shamelessly skip this test.
+
+--- glib-2.34.3/glib/tests/gdatetime.c 2013-01-16 15:47:57.000000000 +0100
++++ glib-2.34.3/glib/tests/gdatetime.c 2013-01-16 15:47:58.000000000 +0100
+@@ -186,14 +186,6 @@ test_GDateTime_equal (void)
+ g_assert (g_date_time_equal (dt1, dt2));
+ g_date_time_unref (dt1);
+
+- /* America/Recife is in UTC-0300 */
+- tz = g_time_zone_new ("America/Recife");
+- dt1 = g_date_time_new (tz, 2010, 5, 24, 8, 0, 0);
+- g_time_zone_unref (tz);
+- g_assert_cmpint (g_date_time_get_utc_offset (dt1) / G_USEC_PER_SEC, ==, (-3 * 3600));
+- g_assert (g_date_time_equal (dt1, dt2));
+- g_date_time_unref (dt1);
+- g_date_time_unref (dt2);
+ }
+
+ static void
+@@ -608,7 +608,6 @@ test_GDateTime_new_full (void)
+ g_assert_cmpint (8, ==, g_date_time_get_hour (dt));
+ g_assert_cmpint (4, ==, g_date_time_get_minute (dt));
+ g_assert_cmpint (0, ==, g_date_time_get_second (dt));
+- g_assert_cmpstr ("BRT", ==, g_date_time_get_timezone_abbreviation (dt));
+ g_assert (!g_date_time_is_daylight_savings (dt));
+ g_date_time_unref (dt);
+ }
+@@ -1354,11 +1354,8 @@ main (gint argc,
+ g_test_add_func ("/GDateTime/to_timeval", test_GDateTime_to_timeval);
+ g_test_add_func ("/GDateTime/to_utc", test_GDateTime_to_utc);
+ g_test_add_func ("/GDateTime/now_utc", test_GDateTime_now_utc);
+- g_test_add_func ("/GDateTime/dst", test_GDateTime_dst);
+ g_test_add_func ("/GDateTime/test_z", test_z);
+ g_test_add_func ("/GDateTime/test-all-dates", test_all_dates);
+- g_test_add_func ("/GTimeZone/find-interval", test_find_interval);
+- g_test_add_func ("/GTimeZone/adjust-time", test_adjust_time);
+ g_test_add_func ("/GTimeZone/no-header", test_no_header);
+
+ return g_test_run ();