diff options
author | Eric Bavier <bavier@member.fsf.org> | 2014-07-10 17:03:42 -0500 |
---|---|---|
committer | Eric Bavier <bavier@member.fsf.org> | 2014-07-10 17:03:42 -0500 |
commit | ca9ea1a849d685db46adcb92449dff36427c48bd (patch) | |
tree | 5026815a036be59c557069c766e3130538227b22 | |
parent | 8360758d5c3e8afdc5daa0b5f557360bd6116562 (diff) |
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.
-rw-r--r-- | gnu-system.am | 1 | ||||
-rw-r--r-- | gnu/packages/glib.scm | 3 | ||||
-rw-r--r-- | gnu/packages/patches/glib-tests-timer.patch | 26 |
3 files changed, 29 insertions, 1 deletions
diff --git a/gnu-system.am b/gnu-system.am index 5822c82138..6a22420e63 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -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 \ diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index c3b0b39f10..239715ecc7 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -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 diff --git a/gnu/packages/patches/glib-tests-timer.patch b/gnu/packages/patches/glib-tests-timer.patch new file mode 100644 index 0000000000..1ac364fcc1 --- /dev/null +++ b/gnu/packages/patches/glib-tests-timer.patch @@ -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, µs); + + 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); |