~ruther/guix-local

7bc5cc2b96188aad7f452309a0f4ae5aeecdf0e4 — Ludovic Courtès 12 years ago 0d62efb
gnu: glib: Update to 2.37.1.

* gnu/packages/glib.scm (glib): Update to 2.37.1.  Add Bash and tzdata
  as inputs.  Remove `glib-tests-timezone.patch'.  Augment `pre-build'
  phase to set `TZDIR', `XDG_CACHE_HOME', and to modify makefiles to
  honor $(TESTS_ENVIRONMENT).
* gnu/packages/patches/glib-tests-desktop.patch,
  gnu/packages/patches/glib-tests-homedir.patch: Update.
* gnu/packages/patches/glib-tests-timezone.patch: Remove.
* Makefile.am (dist_patch_DATA): Update accordingly.
5 files changed, 49 insertions(+), 75 deletions(-)

M Makefile.am
M gnu/packages/glib.scm
M gnu/packages/patches/glib-tests-desktop.patch
M gnu/packages/patches/glib-tests-homedir.patch
D gnu/packages/patches/glib-tests-timezone.patch
M Makefile.am => Makefile.am +0 -1
@@ 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		\

M gnu/packages/glib.scm => gnu/packages/glib.scm +23 -8
@@ 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.

M gnu/packages/patches/glib-tests-desktop.patch => gnu/packages/patches/glib-tests-desktop.patch +14 -13
@@ 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 ();

M gnu/packages/patches/glib-tests-homedir.patch => gnu/packages/patches/glib-tests-homedir.patch +12 -12
@@ 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

D gnu/packages/patches/glib-tests-timezone.patch => gnu/packages/patches/glib-tests-timezone.patch +0 -41
@@ 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 ();