~ruther/guix-local

ca9ea1a849d685db46adcb92449dff36427c48bd — Eric Bavier 11 years ago 8360758
gnu: glib: Fix build on i686.

* gnu/packages/patches/glib-tests-timer.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/glib.scm: Use it.
3 files changed, 29 insertions(+), 1 deletions(-)

M gnu-system.am
M gnu/packages/glib.scm
A gnu/packages/patches/glib-tests-timer.patch
M gnu-system.am => gnu-system.am +1 -0
@@ 300,6 300,7 @@ 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-timer.patch			\
  gnu/packages/patches/glibc-bootstrap-system.patch		\
  gnu/packages/patches/glibc-ldd-x86_64.patch			\
  gnu/packages/patches/gnunet-fix-scheduler.patch		\

M gnu/packages/glib.scm => gnu/packages/glib.scm +2 -1
@@ 116,7 116,8 @@ shared NFS home directories.")
             (base32 "1d98mbqjmc34s8095lkw1j1bwvnnkw9581yfvjaikjvfjsaz29qd"))
            (patches (list (search-patch "glib-tests-homedir.patch")
                           (search-patch "glib-tests-desktop.patch")
                           (search-patch "glib-tests-prlimit.patch")))))
                           (search-patch "glib-tests-prlimit.patch")
                           (search-patch "glib-tests-timer.patch")))))
   (build-system gnu-build-system)
   (outputs '("out"           ; everything
              "bin"           ; glib-mkenums, gtester, etc.; depends on Python

A gnu/packages/patches/glib-tests-timer.patch => gnu/packages/patches/glib-tests-timer.patch +26 -0
@@ 0,0 1,26 @@
* On i686 floating-point roundoff errors could sometimes cause this check to
  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 @@
   elapsed = g_timer_elapsed (timer, &micros);
 
   g_assert_cmpfloat (elapsed, <, 1.0);
-  g_assert_cmpuint (micros, ==, ((guint64)(elapsed * 1e6)) % 1000000);
+  g_assert_cmpuint (micros, ==, ((guint64)(elapsed * 1e6 + 0.5)) % 1000000);
 
   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);