summaryrefslogtreecommitdiff
path: root/gnu/packages/glib.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-09-15 22:10:06 +0200
committerLudovic Courtès <ludo@gnu.org>2021-09-15 22:10:06 +0200
commit35848d2c2ed9263a4c15f5358fcb4ec26db8d18a (patch)
tree5c86e1890bcb82308f7eaffcf252267139e7697f /gnu/packages/glib.scm
parent988eb0d51245ded55b59b777e2733d396c478861 (diff)
gnu: glib: Avoid timer.c test failure on i686-linux.
* gnu/packages/glib.scm (glib)[arguments]: In 'disable-failing-tests' phase, modify "glib/tests/timer.c" on i[56]86 to address test failure.
Diffstat (limited to 'gnu/packages/glib.scm')
-rw-r--r--gnu/packages/glib.scm12
1 files changed, 12 insertions, 0 deletions
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index d1d0f5b273..c05a57dcbf 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -231,6 +231,18 @@ shared NFS home directories.")
(substitute* '("contenttype.c" "gdbus-address-get-session.c"
"gdbus-peer.c" "appinfo.c" "desktop-app-info.c")
(("[ \t]*g_test_add_func.*;") "")))
+
+ ,@(if (let ((system (or (%current-target-system)
+ (%current-system))))
+ (or (string-prefix? "i686-" system)
+ (string-prefix? "i586-" system)))
+ ;; Add the 'volatile' qualifier for doubles to avoid excess
+ ;; precision, which leads to test failures:
+ ;; <https://gitlab.gnome.org/GNOME/glib/-/issues/820>.
+ '((substitute* "glib/tests/timer.c"
+ (("gdouble elapsed")
+ "volatile gdouble elapsed")))
+ '())
#t))
;; Python references are not being patched in patch-phase of build,
;; despite using python-wrapper as input. So we patch them manually.