~ruther/guix-local

2e884407c4c23fe2b19fa0ba4661680a0b59bc50 — Sergey Trofimov 2 years ago e936d8a
gnu: gpsbabel: Update to 1.9.0.

* gnu/packages/gps.scm (gpsbabel): Update to 1.9.0.
[build-system]: Use cmake-build-system.
[arguments]: Adjust for the new build system.
* gnu/packages/patches/gpsbabel-fix-i686-test.patch: Delete no longer
needed patch.
* gnu/local.mk: Delete patch line.

Signed-off-by: Christopher Baines <mail@cbaines.net>
3 files changed, 26 insertions(+), 63 deletions(-)

M gnu/local.mk
M gnu/packages/gps.scm
D gnu/packages/patches/gpsbabel-fix-i686-test.patch
M gnu/local.mk => gnu/local.mk +0 -1
@@ 1431,7 1431,6 @@ dist_patch_DATA =						\
  %D%/packages/patches/gpaste-fix-paths.patch			\
  %D%/packages/patches/gpm-glibc-2.26.patch			\
  %D%/packages/patches/gpodder-disable-updater.patch		\
  %D%/packages/patches/gpsbabel-fix-i686-test.patch		\
  %D%/packages/patches/grantlee-fix-i586-precision.patch	\
  %D%/packages/patches/grantlee-register-metaenumvariable.patch	\
  %D%/packages/patches/grep-timing-sensitive-test.patch		\

M gnu/packages/gps.scm => gnu/packages/gps.scm +26 -16
@@ 29,6 29,7 @@
  #:use-module (guix download)
  #:use-module (guix gexp)
  #:use-module (guix git-download)
  #:use-module (guix build-system cmake)
  #:use-module (guix build-system gnu)
  #:use-module (guix build-system scons)
  #:use-module (guix build-system qt)


@@ 40,6 41,7 @@
  #:use-module (gnu packages build-tools)
  #:use-module (gnu packages compression)
  #:use-module (gnu packages docbook)
  #:use-module (gnu packages geo)
  #:use-module (gnu packages glib)
  #:use-module (gnu packages gtk)
  #:use-module (gnu packages image)


@@ 58,7 60,7 @@
(define-public gpsbabel
  (package
    (name "gpsbabel")
    (version "1.7.0")
    (version "1.9.0")
    (source (origin
              (method git-fetch)
              (uri (git-reference


@@ 69,28 71,37 @@
              (file-name (git-file-name name version))
              (sha256
               (base32
                "010g0vd2f5knpq5p7qfnl31kv3r8m5sjdsafcinbj5gh02j2nzpy"))
              (patches (search-patches "gpsbabel-fix-i686-test.patch"))
                "0pyrbykf15znn63y9j1npdv148i9b8sgc947xq6dqw8gwx023ji5"))
              (modules '((guix build utils)))
              (snippet
               '(begin
                  (delete-file-recursively "zlib")
                  (substitute* "Makefile.in"
                    ((" zlib/z.*\\.h") ""))
                  ;; Delete files under GPL-compatible licences but never used
                  ;; on GNU systems, rather than bloating the LICENSE field.
                  (delete-file "gui/serial_mac.cc")           ; Apple MIT
                  (delete-file "mingw/include/ddk/hidsdi.h") ; public domain
                  (delete-file-recursively "shapelib")
                  (delete-file-recursively "mac")
                  #t))))
    (build-system gnu-build-system)
    ;; TODO: "make doc" requires Docbook & co.
    (build-system cmake-build-system)
    (arguments
     `(#:configure-flags
       '("--with-zlib=system")))
     (list #:phases
           #~(modify-phases %standard-phases
               (add-before 'check 'set-up-test-environment
                 (lambda* (#:key inputs #:allow-other-keys)
                   (setenv "TZDIR" (search-input-directory inputs "share/zoneinfo"))))

               (replace 'install
                 (lambda _
                   (install-file "gpsbabel" (string-append #$output "/bin")))))

           #:configure-flags
           #~(list
              "-DGPSBABEL_MAPPREVIEW=OFF"
              "-DGPSBABEL_WITH_LIBUSB=pkgconfig"
              "-DGPSBABEL_WITH_SHAPELIB=pkgconfig"
              "-DGPSBABEL_WITH_ZLIB=pkgconfig")))
    (inputs
     (list expat libusb qtbase-5 zlib))
     (list expat libusb libxkbcommon shapelib qt5compat qtbase qtserialport qttranslations zlib))
    (native-inputs
     (list which qttools-5 libxml2))              ;'xmllint' needed for the KML tests
     (list which pkg-config qttools libxml2 tzdata-for-tests)) ;'xmllint' needed for the KML tests
    (home-page "https://www.gpsbabel.org/")
    (synopsis "Convert and exchange data with GPS and map programs")
    (description


@@ 99,8 110,7 @@ popular GPS receivers and mapping programs.  It contains extensive data
manipulation abilities making it a convenient for server-side processing or as
the back-end for other tools.  It does not convert, transfer, send, or
manipulate maps.")
    (license (list license:expat        ; shapelib/*.[ch]
                   license:gpl2+))))    ; everything else
    (license (list license:gpl2+))))

(define-public gpscorrelate
  (package

D gnu/packages/patches/gpsbabel-fix-i686-test.patch => gnu/packages/patches/gpsbabel-fix-i686-test.patch +0 -46
@@ 1,46 0,0 @@
https://github.com/gpsbabel/gpsbabel/commit/465a74194d53acea5c8d74c5cf3cb2940546ec92.patch
Can be removed next release

From 465a74194d53acea5c8d74c5cf3cb2940546ec92 Mon Sep 17 00:00:00 2001
From: tsteven4 <13596209+tsteven4@users.noreply.github.com>
Date: Fri, 7 Aug 2020 11:29:22 -0600
Subject: [PATCH] fix i386 regression error with engima. (#620)

this was motivated by the test failure seen at
https://buildd.debian.org/status/fetch.php?pkg=gpsbabel&arch=i386&ver=1.7.0%2Bds-4&stamp=1596794554&raw=0
---
 enigma.cc | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/enigma.cc b/enigma.cc
index 850f27b4e..32fea92d6 100644
--- a/enigma.cc
+++ b/enigma.cc
@@ -21,9 +21,16 @@
 
  */
 
+#include <cmath>           // for fabs, lround
+#include <cstdint>         // for int32_t, uint8_t, uint32_t
+#include <cstdlib>         // for abs
+#include <cstring>         // for strlen, memcpy, memset
+
+#include <QtCore/QString>  // for QString
+
 #include "defs.h"
-#include <cmath>
-#include <cstdlib>
+#include "gbfile.h"        // for gbfclose, gbfopen_le, gbfread, gbfwrite, gbfile
+
 
 #define MYNAME "Enigma binary route and waypoint file format"
 
@@ -177,7 +184,7 @@ enigma_waypt_disp(const Waypoint* wpt)
   le_write32(&ewpt.longitude, decToEnigmaPosition(wpt->longitude));
   ewpt.waypoint_type = WTYPE_WAYPOINT;
   if (wpt->altitude != unknown_alt) {
-    le_write32(&ewpt.data.wp_altitude, METERS_TO_FEET(wpt->altitude) + 1000);
+    le_write32(&ewpt.data.wp_altitude, lround(METERS_TO_FEET(wpt->altitude)) + 1000);
   }
   if (wpt->shortname != nullptr) {
     ewpt.shortname_len = (uint8_t) min(6, strlen(CSTRc(wpt->shortname)));