summary refs log tree commit diff
path: root/gnu/packages/glib.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/glib.scm')
-rw-r--r--gnu/packages/glib.scm15
1 files changed, 7 insertions, 8 deletions
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index fd57041768..6373fd0da9 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -232,16 +232,15 @@ shared NFS home directories.")
                               "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:
+             ,@(if (target-x86-32?)
+                   ;; Comment out parts of timer.c that fail on i686 due to
+                   ;; excess precision when building with GCC 10:
                    ;; <https://gitlab.gnome.org/GNOME/glib/-/issues/820>.
                    '((substitute* "glib/tests/timer.c"
-                       (("gdouble elapsed")
-                        "volatile gdouble elapsed")))
+                       (("^  g_assert_cmpuint \\(micros.*" all)
+                        (string-append "//" all "\n"))
+                       (("^  g_assert_cmpfloat \\(elapsed, ==.*" all)
+                        (string-append "//" all "\n"))))
                    '())
              #t))
          ;; Python references are not being patched in patch-phase of build,