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
|
@ -717,6 +717,8 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \
|
||||
%D%/packages/patches/gobject-introspection-cc.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/grep-gnulib-lock.patch \
|
||||
%D%/packages/patches/grep-timing-sensitive-test.patch \
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages compression)
|
||||
|
@ -38,7 +39,7 @@
|
|||
(define-public gpsbabel
|
||||
(package
|
||||
(name "gpsbabel")
|
||||
(version "1.5.2")
|
||||
(version "1.5.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; XXX: Downloads from gpsbabel.org are hidden behind a POST, so
|
||||
|
@ -48,17 +49,21 @@
|
|||
version ".orig.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0xf7wmy2m29g2lm8lqc74yf8rf7sxfl3cfwbk7dpf0yf42pb0b6w"))
|
||||
"19hykxhyl567gf8qcrl33qhv95w0g4vxw9r3h9b8d8plx9bnaf8l"))
|
||||
(patches (search-patches
|
||||
"gpsbabel-minizip.patch"
|
||||
;; XXX: Remove this patch on the next release.
|
||||
"gpsbabel-qstring.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Delete files under GPL-compatible licences but never used
|
||||
;; on GNU systems, rather than bloating the LICENSE field.
|
||||
(with-directory-excursion "gpsbabel"
|
||||
(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))))
|
||||
(build-system gnu-build-system)
|
||||
;; TODO: "make doc" requires Docbook & co.
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
'("--with-zlib=system"
|
||||
|
@ -66,13 +71,6 @@
|
|||
;; recent binutils:
|
||||
;; https://codereview.qt-project.org/#/c/111787/
|
||||
"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:
|
||||
;; <http://hydra.gnu.org/build/133040>. As a workaround, disable tests
|
||||
;; on these platforms.
|
||||
|
|
|
@ -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)
|
||||
|
|
@ -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
|
||||
|
Loading…
Reference in New Issue