gnu: gpsbabel: Update to 1.5.4 and fix build.
* gnu/packages/patches/gpsbabel-minizip.patch: New file. * gnu/packages/patches/gpsbabel-qstring.patch: New file. * gnu/local.mk (dist_patch_DATA): Update accordingly. * gnu/packages/gps.scm (gpsbabel): Update to 1.5.4, [source]: add two previous patches to fix build, [snippet]: remove "gpsbabel" directory excursion, [arguments]: ditto.
This commit is contained in:
		
							parent
							
								
									5365596476
								
							
						
					
					
						commit
						924b96db0a
					
				
					 4 changed files with 94 additions and 12 deletions
				
			
		| 
						 | 
					@ -717,6 +717,8 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \
 | 
					  %D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \
 | 
				
			||||||
  %D%/packages/patches/gobject-introspection-cc.patch		\
 | 
					  %D%/packages/patches/gobject-introspection-cc.patch		\
 | 
				
			||||||
  %D%/packages/patches/gobject-introspection-girepository.patch	\
 | 
					  %D%/packages/patches/gobject-introspection-girepository.patch	\
 | 
				
			||||||
 | 
					  %D%/packages/patches/gpsbabel-minizip.patch     		\
 | 
				
			||||||
 | 
					  %D%/packages/patches/gpsbabel-qstring.patch     		\
 | 
				
			||||||
  %D%/packages/patches/graphite2-ffloat-store.patch		\
 | 
					  %D%/packages/patches/graphite2-ffloat-store.patch		\
 | 
				
			||||||
  %D%/packages/patches/grep-gnulib-lock.patch                   \
 | 
					  %D%/packages/patches/grep-gnulib-lock.patch                   \
 | 
				
			||||||
  %D%/packages/patches/grep-timing-sensitive-test.patch		\
 | 
					  %D%/packages/patches/grep-timing-sensitive-test.patch		\
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -25,6 +25,7 @@
 | 
				
			||||||
  #:use-module (guix git-download)
 | 
					  #:use-module (guix git-download)
 | 
				
			||||||
  #:use-module (guix build-system gnu)
 | 
					  #:use-module (guix build-system gnu)
 | 
				
			||||||
  #:use-module ((guix licenses) #:prefix license:)
 | 
					  #:use-module ((guix licenses) #:prefix license:)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages)
 | 
				
			||||||
  #:use-module (gnu packages base)
 | 
					  #:use-module (gnu packages base)
 | 
				
			||||||
  #:use-module (gnu packages pkg-config)
 | 
					  #:use-module (gnu packages pkg-config)
 | 
				
			||||||
  #:use-module (gnu packages compression)
 | 
					  #:use-module (gnu packages compression)
 | 
				
			||||||
| 
						 | 
					@ -38,7 +39,7 @@
 | 
				
			||||||
(define-public gpsbabel
 | 
					(define-public gpsbabel
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "gpsbabel")
 | 
					    (name "gpsbabel")
 | 
				
			||||||
    (version "1.5.2")
 | 
					    (version "1.5.4")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              ;; XXX: Downloads from gpsbabel.org are hidden behind a POST, so
 | 
					              ;; XXX: Downloads from gpsbabel.org are hidden behind a POST, so
 | 
				
			||||||
| 
						 | 
					@ -48,17 +49,21 @@
 | 
				
			||||||
                    version ".orig.tar.gz"))
 | 
					                    version ".orig.tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0xf7wmy2m29g2lm8lqc74yf8rf7sxfl3cfwbk7dpf0yf42pb0b6w"))
 | 
					                "19hykxhyl567gf8qcrl33qhv95w0g4vxw9r3h9b8d8plx9bnaf8l"))
 | 
				
			||||||
 | 
					              (patches (search-patches
 | 
				
			||||||
 | 
					                        "gpsbabel-minizip.patch"
 | 
				
			||||||
 | 
					                        ;; XXX: Remove this patch on the next release.
 | 
				
			||||||
 | 
					                        "gpsbabel-qstring.patch"))
 | 
				
			||||||
              (modules '((guix build utils)))
 | 
					              (modules '((guix build utils)))
 | 
				
			||||||
              (snippet
 | 
					              (snippet
 | 
				
			||||||
               '(begin
 | 
					               '(begin
 | 
				
			||||||
                  ;; Delete files under GPL-compatible licences but never used
 | 
					                  ;; Delete files under GPL-compatible licences but never used
 | 
				
			||||||
                  ;; on GNU systems, rather than bloating the LICENSE field.
 | 
					                  ;; on GNU systems, rather than bloating the LICENSE field.
 | 
				
			||||||
                  (with-directory-excursion "gpsbabel"
 | 
					 | 
				
			||||||
                  (delete-file "gui/serial_mac.cc")           ; Apple MIT
 | 
					                  (delete-file "gui/serial_mac.cc")           ; Apple MIT
 | 
				
			||||||
                    (delete-file "mingw/include/ddk/hidsdi.h")) ; public domain
 | 
					                  (delete-file "mingw/include/ddk/hidsdi.h") ; public domain
 | 
				
			||||||
                  #t))))
 | 
					                  #t))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
 | 
					    ;; TODO: "make doc" requires Docbook & co.
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:configure-flags
 | 
					     `(#:configure-flags
 | 
				
			||||||
       '("--with-zlib=system"
 | 
					       '("--with-zlib=system"
 | 
				
			||||||
| 
						 | 
					@ -66,13 +71,6 @@
 | 
				
			||||||
         ;; recent binutils:
 | 
					         ;; recent binutils:
 | 
				
			||||||
         ;; https://codereview.qt-project.org/#/c/111787/
 | 
					         ;; https://codereview.qt-project.org/#/c/111787/
 | 
				
			||||||
         "CXXFLAGS=-std=gnu++11 -fPIC")
 | 
					         "CXXFLAGS=-std=gnu++11 -fPIC")
 | 
				
			||||||
       #:phases
 | 
					 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					 | 
				
			||||||
        (add-before 'configure 'pre-configure
 | 
					 | 
				
			||||||
                    (lambda _
 | 
					 | 
				
			||||||
                      (chdir "gpsbabel"))))
 | 
					 | 
				
			||||||
                    ;; TODO: "make doc" requires Docbook & co.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
       ;; On i686, 'raymarine.test' fails because of a rounding error:
 | 
					       ;; On i686, 'raymarine.test' fails because of a rounding error:
 | 
				
			||||||
       ;; <http://hydra.gnu.org/build/133040>.  As a workaround, disable tests
 | 
					       ;; <http://hydra.gnu.org/build/133040>.  As a workaround, disable tests
 | 
				
			||||||
       ;; on these platforms.
 | 
					       ;; on these platforms.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										13
									
								
								gnu/packages/patches/gpsbabel-minizip.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								gnu/packages/patches/gpsbabel-minizip.patch
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,13 @@
 | 
				
			||||||
 | 
					Patch taken from https://sources.debian.org/data/main/g/gpsbabel/1.5.3-2/debian/patches/use_minizip.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--- a/Makefile.in
 | 
				
			||||||
 | 
					+++ b/Makefile.in
 | 
				
			||||||
 | 
					@@ -120,7 +120,7 @@ LIBOBJS = queue.o route.o waypt.o filter
 | 
				
			||||||
 | 
					 	  src/core/usasciicodec.o\
 | 
				
			||||||
 | 
					 	  src/core/ziparchive.o \
 | 
				
			||||||
 | 
					 	  $(GARMIN) $(JEEPS) $(SHAPE) @ZLIB@ $(FMTS) $(FILTERS)
 | 
				
			||||||
 | 
					-OBJS = main.o globals.o $(LIBOBJS) @FILEINFO@
 | 
				
			||||||
 | 
					+OBJS = main.o globals.o $(MINIZIP) $(LIBOBJS) @FILEINFO@
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 DEPFILES = $(OBJS:.o=.d)
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
							
								
								
									
										69
									
								
								gnu/packages/patches/gpsbabel-qstring.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								gnu/packages/patches/gpsbabel-qstring.patch
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,69 @@
 | 
				
			||||||
 | 
					Extracted from following patch of gpsbabel:
 | 
				
			||||||
 | 
					https://github.com/gpsbabel/gpsbabel/commit/604178aa8ad4d3c3ad218df24c1e9a6a1f683bb3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					From 604178aa8ad4d3c3ad218df24c1e9a6a1f683bb3 Mon Sep 17 00:00:00 2001
 | 
				
			||||||
 | 
					From: Harel Mazor <harel.mazor@gmail.com>
 | 
				
			||||||
 | 
					Date: Tue, 24 Jan 2017 00:35:04 +0200
 | 
				
			||||||
 | 
					Subject: [PATCH] Added geojson read capablity, moved magic strings to
 | 
				
			||||||
 | 
					 constants, fixed windows compilation issues.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--- a/tef_xml.cc
 | 
				
			||||||
 | 
					+++ b/tef_xml.cc
 | 
				
			||||||
 | 
					@@ -72,11 +72,11 @@ tef_start(xg_string args, const QXmlStreamAttributes* attrv)
 | 
				
			||||||
 | 
					   bool valid = false;
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					   foreach(QXmlStreamAttribute attr, *attrv) {
 | 
				
			||||||
 | 
					-    if (attr.name().compare("Comment", Qt::CaseInsensitive) == 0) {
 | 
				
			||||||
 | 
					-      if (attr.value().compare("TourExchangeFormat", Qt::CaseInsensitive) == 0) {
 | 
				
			||||||
 | 
					+    if (attr.name().compare(QString("Comment"), Qt::CaseInsensitive) == 0) {
 | 
				
			||||||
 | 
					+      if (attr.value().compare(QString("TourExchangeFormat"), Qt::CaseInsensitive) == 0) {
 | 
				
			||||||
 | 
					         valid = true;
 | 
				
			||||||
 | 
					       }
 | 
				
			||||||
 | 
					-    } else if (attr.name().compare("Version", Qt::CaseInsensitive) == 0) {
 | 
				
			||||||
 | 
					+    } else if (attr.name().compare(QString("Version"), Qt::CaseInsensitive) == 0) {
 | 
				
			||||||
 | 
					       version = attr.value().toString().toDouble();
 | 
				
			||||||
 | 
					     }
 | 
				
			||||||
 | 
					   }
 | 
				
			||||||
 | 
					@@ -95,9 +95,9 @@ tef_header(xg_string args, const QXmlStreamAttributes* attrv)
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					   route = route_head_alloc();
 | 
				
			||||||
 | 
					   foreach(QXmlStreamAttribute attr, *attrv) {
 | 
				
			||||||
 | 
					-    if (attr.name().compare("Name", Qt::CaseInsensitive) == 0) {
 | 
				
			||||||
 | 
					+    if (attr.name().compare(QString("Name"), Qt::CaseInsensitive) == 0) {
 | 
				
			||||||
 | 
					       route->rte_name = attr.value().toString().trimmed();
 | 
				
			||||||
 | 
					-    } else if (attr.name().compare("Software", Qt::CaseInsensitive) == 0) {
 | 
				
			||||||
 | 
					+    } else if (attr.name().compare(QString("Software"), Qt::CaseInsensitive) == 0) {
 | 
				
			||||||
 | 
					       route->rte_desc = attr.value().toString().trimmed();
 | 
				
			||||||
 | 
					     }
 | 
				
			||||||
 | 
					   }
 | 
				
			||||||
 | 
					@@ -248,20 +248,20 @@ tef_item_start(xg_string args, const QXmlStreamAttributes* attrv)
 | 
				
			||||||
 | 
					     QString attrstr = attr.value().toString();
 | 
				
			||||||
 | 
					     QByteArray attrtext = attrstr.toUtf8();
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					-    if (attr.name().compare("SegDescription", Qt::CaseInsensitive) == 0) {
 | 
				
			||||||
 | 
					+    if (attr.name().compare(QString("SegDescription"), Qt::CaseInsensitive) == 0) {
 | 
				
			||||||
 | 
					       wpt_tmp->shortname = attrstr.trimmed();
 | 
				
			||||||
 | 
					-    } else if (attr.name().compare("PointDescription", Qt::CaseInsensitive) == 0) {
 | 
				
			||||||
 | 
					+    } else if (attr.name().compare(QString("PointDescription"), Qt::CaseInsensitive) == 0) {
 | 
				
			||||||
 | 
					       wpt_tmp->description = attrstr.trimmed();
 | 
				
			||||||
 | 
					-    } else if (attr.name().compare("ViaStation", Qt::CaseInsensitive) == 0 &&
 | 
				
			||||||
 | 
					-               attr.value().compare("true", Qt::CaseInsensitive) == 0) {
 | 
				
			||||||
 | 
					+    } else if (attr.name().compare(QString("ViaStation"), Qt::CaseInsensitive) == 0 &&
 | 
				
			||||||
 | 
					+               attr.value().compare(QString("true"), Qt::CaseInsensitive) == 0) {
 | 
				
			||||||
 | 
					       wpt_tmp->wpt_flags.fmt_use = 1;  /* only a flag */
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					       /* new in TEF V2 */
 | 
				
			||||||
 | 
					-    } else if (attr.name().compare("Instruction", Qt::CaseInsensitive) == 0) {
 | 
				
			||||||
 | 
					+    } else if (attr.name().compare(QString("Instruction"), Qt::CaseInsensitive) == 0) {
 | 
				
			||||||
 | 
					       wpt_tmp->description = attrstr.trimmed();
 | 
				
			||||||
 | 
					-    } else if (attr.name().compare("Altitude", Qt::CaseInsensitive) == 0) {
 | 
				
			||||||
 | 
					+    } else if (attr.name().compare(QString("Altitude"), Qt::CaseInsensitive) == 0) {
 | 
				
			||||||
 | 
					       wpt_tmp->altitude = attrstr.toDouble();
 | 
				
			||||||
 | 
					-    } else if (attr.name().compare("TimeStamp", Qt::CaseInsensitive) == 0) {
 | 
				
			||||||
 | 
					+    } else if (attr.name().compare(QString("TimeStamp"), Qt::CaseInsensitive) == 0) {
 | 
				
			||||||
 | 
					       /* nothing for the moment */
 | 
				
			||||||
 | 
					     }
 | 
				
			||||||
 | 
					   }
 | 
				
			||||||
 | 
					-- 
 | 
				
			||||||
 | 
					2.16.1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Reference in a new issue