aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am1
-rw-r--r--gnu/packages/glib.scm31
-rw-r--r--gnu/packages/patches/glib-tests-desktop.patch27
-rw-r--r--gnu/packages/patches/glib-tests-homedir.patch24
-rw-r--r--gnu/packages/patches/glib-tests-timezone.patch41
5 files changed, 49 insertions, 75 deletions
diff --git a/Makefile.am b/Makefile.am
index 9f106a27fb..a98bcd3573 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -236,7 +236,6 @@ dist_patch_DATA = \
gnu/packages/patches/glib-tests-desktop.patch \
gnu/packages/patches/glib-tests-homedir.patch \
gnu/packages/patches/glib-tests-prlimit.patch \
- gnu/packages/patches/glib-tests-timezone.patch \
gnu/packages/patches/glibc-bootstrap-system.patch \
gnu/packages/patches/glibc-no-ld-so-cache.patch \
gnu/packages/patches/grub-gets-undeclared.patch \
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index f951fe7b71..2e8f40a6b1 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -33,7 +33,8 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
- #:use-module (gnu packages xml))
+ #:use-module (gnu packages xml)
+ #:use-module (gnu packages bash))
(define-public dbus
(package
@@ -74,14 +75,14 @@ shared NFS home directories.")
(define-public glib
(package
(name "glib")
- (version "2.34.3")
+ (version "2.37.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/"
name "/2.34/"
name "-" version ".tar.xz"))
(sha256
- (base32 "19sq4rhl2vr8ikjvl8qh51vr38yqfhbkb3imi2s6ac5rgkwcnpw5"))))
+ (base32 "1lp705q0g9jlfj24x8fpgjh7awmmara5iyj9kz5lhd49sr9s813k"))))
(build-system gnu-build-system)
(outputs '("out" ; everything
"doc")) ; 20 MiB of GTK-Doc reference
@@ -94,9 +95,9 @@ shared NFS home directories.")
("zlib" ,zlib)
("perl" ,perl) ; needed by GIO tests
("dbus" ,dbus) ; for GDBus tests
+ ("bash" ,bash)
+ ("tzdata" ,tzdata) ; for tests/gdatetime.c
- ("patch/tests-tzdata"
- ,(search-patch "glib-tests-timezone.patch"))
("patch/tests-homedir"
,(search-patch "glib-tests-homedir.patch"))
("patch/tests-desktop"
@@ -104,17 +105,31 @@ shared NFS home directories.")
("patch/tests-prlimit"
,(search-patch "glib-tests-prlimit.patch"))))
(arguments
- '(#:patches (list (assoc-ref %build-inputs "patch/tests-tzdata")
- (assoc-ref %build-inputs "patch/tests-homedir")
+ '(#:patches (list (assoc-ref %build-inputs "patch/tests-homedir")
(assoc-ref %build-inputs "patch/tests-desktop")
(assoc-ref %build-inputs "patch/tests-prlimit"))
#:phases (alist-cons-before
'build 'pre-build
(lambda* (#:key inputs outputs #:allow-other-keys)
+ ;; For tests/gdatetime.c.
+ (setenv "TZDIR"
+ (string-append (assoc-ref inputs "tzdata")
+ "/share/zoneinfo"))
+
+ ;; Some tests want write access there.
+ (setenv "XDG_CACHE_HOME" (getcwd))
+
(substitute* '("glib/gspawn.c"
"glib/tests/utils.c"
"tests/spawn-test.c")
- (("/bin/sh") (which "sh"))))
+ (("/bin/sh")
+ (string-append (assoc-ref inputs "bash") "/bin/sh")))
+
+ ;; Honor $(TESTS_ENVIRONMENT).
+ (substitute* (find-files "." "^Makefile(\\.in)?$")
+ (("^GTESTER[[:blank:]]*=(.*)$" _ rest)
+ (string-append "GTESTER = $(TESTS_ENVIRONMENT) "
+ rest))))
%standard-phases)
;; Note: `--docdir' and `--htmldir' are not honored, so work around it.
diff --git a/gnu/packages/patches/glib-tests-desktop.patch b/gnu/packages/patches/glib-tests-desktop.patch
index 85f2b06c9a..a92662886e 100644
--- a/gnu/packages/patches/glib-tests-desktop.patch
+++ b/gnu/packages/patches/glib-tests-desktop.patch
@@ -1,9 +1,9 @@
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[])
+--- 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);
@@ -11,12 +11,15 @@ database, the `update-desktop-database' program, which we don't provide.
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.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
@@ -35,18 +38,16 @@ database, the `update-desktop-database' program, which we don't provide.
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,
+--- glib-2.37.1/gio/tests/desktop-app-info.c 2013-06-07 23:46:28.000000000 +0200
++++ glib-2.37.1/gio/tests/desktop-app-info.c 2013-06-07 23:46:32.000000000 +0200
+@@ -385,6 +385,7 @@ 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 ();
++ return 0;
+ 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);
-----------------------------
@@ -81,7 +82,7 @@ The test below depends on the availability /etc/passwd to dbus-daemon.
{
gint ret;
-+ exit (0);
++ return 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
index 9232ca5e77..cb9538ef8c 100644
--- a/gnu/packages/patches/glib-tests-homedir.patch
+++ b/gnu/packages/patches/glib-tests-homedir.patch
@@ -29,21 +29,21 @@ chroot build environment. Thus, disable them.
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 ();
+--- 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);
-- 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();
+ for (i = 0; cases[i].name != NULL; i++)
+ {
+ gchar *name;
+@@ -224,5 +225,4 @@ main (int argc,
+ g_free (name);
+ }
- return g_test_run();
+- return g_test_run();
}
--- glib-2.34.3/gio/tests/gdbus-non-socket.c 2013-01-16 18:13:25.000000000 +0100
diff --git a/gnu/packages/patches/glib-tests-timezone.patch b/gnu/packages/patches/glib-tests-timezone.patch
deleted file mode 100644
index 4b335c7ffb..0000000000
--- a/gnu/packages/patches/glib-tests-timezone.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-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 ();