diff mbox

[07/13] gnu: gpsbabel: Fix regression caused by update to qt 5.7.

Message ID 20160821140825.13048-7-david@craven.ch
State New
Headers show

Commit Message

David Craven Aug. 21, 2016, 2:08 p.m. UTC
* gnu/packages/gps.scm (gpsbabel)[arguments]: Require gnu++11. Disable tests
on all platforms due to rounding error.
---
 gnu/packages/gps.scm | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

Comments

Mark H Weaver Aug. 21, 2016, 7:59 p.m. UTC | #1
David Craven <david@craven.ch> writes:

> * gnu/packages/gps.scm (gpsbabel)[arguments]: Require gnu++11. Disable tests
> on all platforms due to rounding error.
> ---
>  gnu/packages/gps.scm | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm
> index ccd9636..8124990 100644
> --- a/gnu/packages/gps.scm
> +++ b/gnu/packages/gps.scm
> @@ -48,7 +48,9 @@
>                  "0xf7wmy2m29g2lm8lqc74yf8rf7sxfl3cfwbk7dpf0yf42pb0b6w"))))
>      (build-system gnu-build-system)
>      (arguments
> -     `(#:configure-flags '("--with-zlib=system")
> +     `(#:configure-flags
> +        '("--with-zlib=system"
> +          "CXXFLAGS=-std=gnu++11")

The ' should be under the #, so the two lines above should be moved one
column to the left.

>         #:phases
>         (modify-phases %standard-phases
>          (add-before 'configure 'pre-configure
> @@ -59,7 +61,8 @@
>         ;; On i686, 'raymarine.test' fails because of a rounding error:
>         ;; <http://hydra.gnu.org/build/133040>.  As a workaround, disable tests
>         ;; on these platforms.
> -       #:tests? ,(not (string-prefix? "i686" (%current-system)))))
> +       ;; On x86_64 with -std=gnu++11 tests also fail due to rounding error.
> +       #:tests? #f))

Please add a FIXME to this comment.  We should not be in the habit of
simply disabling test suites that fail and forgetting about them.

I don't see why there should be a rounding error on x86_64.  Unlike
i686, double-rounding doesn't happen on that platform, and it's what
developers are mostly testing on.

Anyway, okay for now with the FIXME comment.

       Mark
David Craven Aug. 21, 2016, 10:55 p.m. UTC | #2
Here is a sample of the test failures, they all look similar. This is
what I'd call a rounding error, but maybe it's something else?

       <trkpt lat="51.728263833" lon="8.736165997">
-        <ele>95.195312</ele>
+        <ele>95.195313</ele>
         <time>2013-08-15T15:19:01Z</time>
         <speed>522.500000</speed>
         <name>TP8440</name>
@@ -50705,7 +50705,7 @@
         <name>TP8445</name>
       </trkpt>
       <trkpt lat="51.728286721" lon="8.736141201">
-        <ele>95.101562</ele>
+        <ele>95.101563</ele>
         <time>2013-08-15T15:19:01Z</time>
         <speed>511.944458</speed>
         <name>TP8446</name>
diff mbox

Patch

diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm
index ccd9636..8124990 100644
--- a/gnu/packages/gps.scm
+++ b/gnu/packages/gps.scm
@@ -48,7 +48,9 @@ 
                 "0xf7wmy2m29g2lm8lqc74yf8rf7sxfl3cfwbk7dpf0yf42pb0b6w"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:configure-flags '("--with-zlib=system")
+     `(#:configure-flags
+        '("--with-zlib=system"
+          "CXXFLAGS=-std=gnu++11")
        #:phases
        (modify-phases %standard-phases
         (add-before 'configure 'pre-configure
@@ -59,7 +61,8 @@ 
        ;; On i686, 'raymarine.test' fails because of a rounding error:
        ;; <http://hydra.gnu.org/build/133040>.  As a workaround, disable tests
        ;; on these platforms.
-       #:tests? ,(not (string-prefix? "i686" (%current-system)))))
+       ;; On x86_64 with -std=gnu++11 tests also fail due to rounding error.
+       #:tests? #f))
     (inputs
      `(("expat" ,expat)
        ("zlib" ,zlib)