summary refs log tree commit diff
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)
downloadguix-35848d2c2ed9263a4c15f5358fcb4ec26db8d18a.tar.gz
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.