diff options
Diffstat (limited to 'gnu/packages/plotutils.scm')
-rw-r--r-- | gnu/packages/plotutils.scm | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm index fb4bd2f8b6..ed01430400 100644 --- a/gnu/packages/plotutils.scm +++ b/gnu/packages/plotutils.scm @@ -22,6 +22,8 @@ (define-module (gnu packages plotutils) #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix gexp) + #:use-module ((guix utils) #:select (target-x86-32?)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) @@ -83,7 +85,27 @@ (search-patches "plotutils-spline-test.patch")))) (build-system gnu-build-system) (arguments - `(#:configure-flags (list "--enable-libplotter"))) + (list #:configure-flags + #~(list "--enable-libplotter" + + ;; On i686 some tests fail due to excess floating point + ;; precision; work around it. However, libplotter is C++ + ;; and thus unaffected by CFLAGS, but '-fexcess-precision' + ;; is not implemented for C++ as of GCC 10. + #$@(if (target-x86-32?) + #~("CFLAGS=-g -O2 -fexcess-precision=standard") + #~())) + + #:phases + (if (target-x86-32?) + #~(modify-phases %standard-phases + (add-before 'check 'skip-sloppy-test + (lambda _ + ;; This test reveals a slight difference in the SVG + ;; output due to floating point inequalities. Skip it. + (substitute* "test/plot2svg.test" + (("^exit .*") "exit 77"))))) + #~%standard-phases))) (inputs `(("libpng" ,libpng) ("libx11" ,libx11) ("libxt" ,libxt) |