pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/geography/gpsbabel Update to 1.5.2.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/e8985dc3b58e
branches:  trunk
changeset: 652664:e8985dc3b58e
user:      gdt <gdt%pkgsrc.org@localhost>
date:      Sat Jun 06 12:57:58 2015 +0000

description:
Update to 1.5.2.

pkgsrc changes: add bash exorcism for testo
upstream changes: Depend on QT, and much rewriting

Summary of upstream changes:

1.5.2

  Add read support for Google's "gx:track" extension to KML.
  Ralf Horstmann adds Mynav Map Manager and VDO GP7.
  White B. Coot adds F90G support.
  Zingo Andersonadds Energympro sport watches.
  Support altitude in mainnav.

1.5.1

  Add options to discard filter to discard points based on regular expressions.
  Experimental support for for faster Garmin serial download speeds.

1.5.0

  GPSBabel 1.4.x has had a good run. That series has been downloaded
  over a million times and is widely used by thousands of people a
  day. But, like many projects entering their teens (I started the code
  that became GPSBabel in 2001) we've accumulated our share of technical
  debt and the world around us has changed. GPSBabel 1.5 is about
  revisiting some of those early, fundamental (and, sometimes, dumb)
  decisions and rebuilding much of it from the foundation up. We've
  collected hundreds of changes spanning about a hundred thousand lines
  of code and we're presenting GPSBabel 1.5.

  Of course, if you're an existing user, you're looking for new formats
  and fixes. We happen to have those. Freshly added:

  Mapbar
  Garmin G1000
  Google Direction API
  MTK Locus
  Lowrance USR v4
  GlobalSat DG-200
  Humminbird v4

  We have fixes:

  GUI now lists help button on main screen and options pages.
  TODO: list more.

  By far, our deepest cutting changes are in our infrastructure.

  We changed the implementation language from C89 to C++03. This lets
  our developers use modern, object-oriented programming and modern
  libraries.

  We moved to the open source Qt toolkit. We've successfully used Qt in
  the GUI for over five years. This lets us focus on GPSBabel itself and
  not implementi ng our own OS abstractions from scratch, robust string
  and time handling, and much more.

  We replaced time from our old representation that used the number of
  seconds since 1/1/1970 and had a fractional seconds component bolted
  onto the side (that was only sometimes used) with a QDateTime which
  allows us to represent time within millisecond resolution from Jan 2,
  4713 BCE to sometimes in the year 11 million. While that sounds crazy
  (it is!) this lets things like the track filter not mangle data
  collected by your 10Hz GPS and your placemarks can have dates that,
  say, buildings were built or cities were founded without worrying
  about Jan 1, 1970.

  We replaced all of our XML (GPX, KML, Geo, etc) readers with Qt
  readers. This reduces the number of data-specific bugs you're likely
  to encounter. No longer will a waypoint named "]]" (it happens!) crash
  your data. We're much more robust when reading extended namespaces.

  We replaced our own XML writers with Qt's XML serializers. This solves
  a whole class of data-specific issues with specific fields containing
  data like "<" or "[[<CDATA" (it happens!) or international characters
  or such.

  Reference counted, dynamic strings are now used in the majority of our
  key data structures, eliminating leaks and allowing multiple copies of
  the same data to share a copy in memory, lessening the amount of
  memory we use.

  A lot of emphasis as been placed on sound engineering. GPSBabel now
  has automated tests covering hundreds of thousands of operations to
  check against memory leaks, overwrites, unused code, uninitialized
  data use and so on. We believe this to be our highest quality release
  ever.

  As a result of all this remodelling, some of our formats that our
  statistics showed were infrequently used and that had little to no
  support traffic in many years were removed. Most of these were formats
  for Palm OS, were never mentioned after they were initially added, or
  are for companies that have been out of business for years or that
  have moved to better formats, like GPX. These include:

  Deprecated formats - Palm/OS

  cetus
  copilot
  coto
  gcdb
  geoniche
  gpilots
  gpspilot
  mag_pdb
  magnav
  palmdoc
  pathaway
  quovadis

  Others

  axim_gpb
  coastexp
  hsandv
  ktf2
  kwf2
  msroute
  msroute1
  psp
  sportsim

diffstat:

 geography/gpsbabel/Makefile            |   8 ++-
 geography/gpsbabel/distinfo            |  13 ++--
 geography/gpsbabel/patches/patch-ad    |  36 +++++++------
 geography/gpsbabel/patches/patch-af    |  10 +-
 geography/gpsbabel/patches/patch-testo |  87 ++++++++++++++++++++++++++++++++++
 5 files changed, 125 insertions(+), 29 deletions(-)

diffs (239 lines):

diff -r 841e59308665 -r e8985dc3b58e geography/gpsbabel/Makefile
--- a/geography/gpsbabel/Makefile       Sat Jun 06 12:03:24 2015 +0000
+++ b/geography/gpsbabel/Makefile       Sat Jun 06 12:57:58 2015 +0000
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.13 2013/03/16 18:52:58 gdt Exp $
+# $NetBSD: Makefile,v 1.14 2015/06/06 12:57:58 gdt Exp $
 #
 
-DISTNAME=      gpsbabel-1.4.4
+DISTNAME=      gpsbabel-1.5.2
 CATEGORIES=    geography
 MASTER_SITES=  ${MASTER_SITE_SOURCEFORGE:=gpsbabel/}
 # Download from official site apparently only via interactive form,
@@ -13,6 +13,8 @@
 COMMENT=       Utility to convert and fetch GPS related data
 LICENSE=       gnu-gpl-v2
 
+USE_LANGUAGES= c c++
+
 TEST_TARGET=   check
 
 LIBS.Darwin+=  -lexpat
@@ -21,4 +23,6 @@
 
 .include "../../devel/libusb/buildlink3.mk"
 .include "../../textproc/expat/buildlink3.mk"
+.include "../../x11/qt4-libs/buildlink3.mk"
+.include "../../x11/qt4-tools/buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"
diff -r 841e59308665 -r e8985dc3b58e geography/gpsbabel/distinfo
--- a/geography/gpsbabel/distinfo       Sat Jun 06 12:03:24 2015 +0000
+++ b/geography/gpsbabel/distinfo       Sat Jun 06 12:57:58 2015 +0000
@@ -1,7 +1,8 @@
-$NetBSD: distinfo,v 1.7 2013/03/16 18:52:58 gdt Exp $
+$NetBSD: distinfo,v 1.8 2015/06/06 12:57:58 gdt Exp $
 
-SHA1 (gpsbabel-1.4.4.tar.gz) = d7ff40f044a0ee5d81c5554da51394204e75599c
-RMD160 (gpsbabel-1.4.4.tar.gz) = 95a042fb035a5aaa2dcb50d430e36f384a575f4f
-Size (gpsbabel-1.4.4.tar.gz) = 7811264 bytes
-SHA1 (patch-ad) = 19a1319a33a0ee131557ac07ef58f388e99b1f3e
-SHA1 (patch-af) = 3ebde4baa1f34733520e08c89dbdab938358c71a
+SHA1 (gpsbabel-1.5.2.tar.gz) = 4962a7e98bbfcbfd59baa970e9b33d1300053004
+RMD160 (gpsbabel-1.5.2.tar.gz) = 86a54f6e6647ed8eaa340641e9240565acf5ca99
+Size (gpsbabel-1.5.2.tar.gz) = 8392465 bytes
+SHA1 (patch-ad) = 9f7d481ddc1d2935fb05df687db25127fe3b37f0
+SHA1 (patch-af) = 5f066824b49f959ea8b06cdeccf21a4ce789fd1d
+SHA1 (patch-testo) = 9c71a74aae088eb110c837114a7b691c3a8d9ff6
diff -r 841e59308665 -r e8985dc3b58e geography/gpsbabel/patches/patch-ad
--- a/geography/gpsbabel/patches/patch-ad       Sat Jun 06 12:03:24 2015 +0000
+++ b/geography/gpsbabel/patches/patch-ad       Sat Jun 06 12:57:58 2015 +0000
@@ -1,43 +1,47 @@
-$NetBSD: patch-ad,v 1.4 2013/03/16 18:52:58 gdt Exp $
+$NetBSD: patch-ad,v 1.5 2015/06/06 12:57:58 gdt Exp $
 
 This patch was rejected by upstream.  There is a comment in upstream
 Makefile.in that explains why there is no space, and output flag is
 set to "-o ", so that the output flag can be set to "-Fo" for MSVC.n
 
-On NetBSD, the upstream versoni works, but there is some mysterious
+On NetBSD, the upstream version works, but there is some mysterious
 failure on Mac OS X.  This patch therefore needs investigation and
-resolution to be filed with upstream.
+resolution to be filed with upstream.  (It almost certainly breaks
+native compilation on Windows, but that's not a pkgsrc platform.)
 
---- Makefile.in.orig   2012-03-29 00:19:29.000000000 +0000
+--- Makefile.in.orig   2014-12-17 00:47:31.000000000 +0000
 +++ Makefile.in
-@@ -102,7 +102,7 @@ LIBOBJS = queue.o route.o waypt.o filter
- OBJS = main.o globals.o $(LIBOBJS) @FILEINFO@
+@@ -119,9 +119,9 @@ OBJS = main.o globals.o $(LIBOBJS) @FILE
+ DEPFILES = $(OBJS:.o=.d)
  
+ .cc.o:
+-      $(CXX) @CPPFLAGS@ @CXXFLAGS@ -c $(GBCFLAGS) $< $(OUTPUT_SWITCH)$@
++      $(CXX) @CPPFLAGS@ @CXXFLAGS@ -c $(GBCFLAGS) $< $(OUTPUT_SWITCH) $@
  .c.o:
--      $(CC)  @CPPFLAGS@ -c $(GBCFLAGS) $< $(OUTPUT_SWITCH)$@
-+      $(CC)  @CPPFLAGS@ -c $(GBCFLAGS) $< $(OUTPUT_SWITCH) $@
+-      $(CC) @CPPFLAGS@ @CFLAGS@ -c $(GBCFLAGS) $< $(OUTPUT_SWITCH)$@
++      $(CC) @CPPFLAGS@ @CFLAGS@ -c $(GBCFLAGS) $< $(OUTPUT_SWITCH) $@
  
  
  
-@@ -113,10 +113,10 @@ WEB=@DOCDIR@
+@@ -141,10 +141,10 @@ gui linux-gui mac-gui mac-gui-dmg msvc-b
  all: gpsbabel$(EXEEXT)
  
  gpsbabel$(EXEEXT): configure Makefile $(OBJS) @GPSBABEL_DEBUG@ 
--      $(CC)  $(CFLAGS) $(LDFLAGS) $(OBJS) @LIBS@ @EXPAT_LIB@ @USB_LIBS@ $(OUTPUT_SWITCH)$@
-+      $(CC)  $(CFLAGS) $(LDFLAGS) $(OBJS) @LIBS@ @EXPAT_LIB@ @USB_LIBS@ $(OUTPUT_SWITCH) $@
+-      $(CXX) $(CXXFLAGS) $(LDFLAGS) $(OBJS) @LIBS@ $(QT_LIBS) @USB_LIBS@ $(OUTPUT_SWITCH)$@
++      $(CXX) $(CXXFLAGS) $(LDFLAGS) $(OBJS) @LIBS@ $(QT_LIBS) @USB_LIBS@ $(OUTPUT_SWITCH) $@
  
  gpsbabel-debug: $(OBJS)
--      $(CC)  $(CFLAGS) $(LDFLAGS) $(OBJS) @LIBS@ @EFENCE_LIB@ @EXPAT_LIB@ @USB_LIBS@ $(OUTPUT_SWITCH)$@
-+      $(CC)  $(CFLAGS) $(LDFLAGS) $(OBJS) @LIBS@ @EFENCE_LIB@ @EXPAT_LIB@ @USB_LIBS@ $(OUTPUT_SWITCH) $@
+-      $(CXX) $(CXXFLAGS) $(LDFLAGS) $(OBJS) @LIBS@ @EFENCE_LIB@ $(QT_LIBS) @USB_LIBS@ $(OUTPUT_SWITCH)$@
++      $(CXX) $(CXXFLAGS) $(LDFLAGS) $(OBJS) @LIBS@ @EFENCE_LIB@ $(QT_LIBS) @USB_LIBS@ $(OUTPUT_SWITCH) $@
  
  Makefile gbversion.h: Makefile.in config.status xmldoc/makedoc.in \
          gbversion.h.in gui/setup.iss.in
-@@ -129,7 +129,7 @@ config.status: configure 
+@@ -157,7 +157,7 @@ config.status: configure 
        $(SHELL) config.status --recheck
  
  jeeps/gpslibusb.o: 
--      $(CC)  @CPPFLAGS@ -c $(GBCFLAGS) @USB_CFLAGS@ @srcdir@/jeeps/gpslibusb.c $(OUTPUT_SWITCH)$@
-+      $(CC)  @CPPFLAGS@ -c $(GBCFLAGS) @USB_CFLAGS@ @srcdir@/jeeps/gpslibusb.c $(OUTPUT_SWITCH) $@
+-      $(CXX) @CPPFLAGS@ @CXXFLAGS@ -c $(GBCFLAGS) @USB_CFLAGS@ @srcdir@/jeeps/gpslibusb.cc $(OUTPUT_SWITCH)$@
++      $(CXX) @CPPFLAGS@ @CXXFLAGS@ -c $(GBCFLAGS) @USB_CFLAGS@ @srcdir@/jeeps/gpslibusb.cc $(OUTPUT_SWITCH) $@
  
  fileinfo.o: win32/gpsbabel.rc
        $(RC) -o fileinfo.o win32/gpsbabel.rc
diff -r 841e59308665 -r e8985dc3b58e geography/gpsbabel/patches/patch-af
--- a/geography/gpsbabel/patches/patch-af       Sat Jun 06 12:03:24 2015 +0000
+++ b/geography/gpsbabel/patches/patch-af       Sat Jun 06 12:57:58 2015 +0000
@@ -1,12 +1,12 @@
-$NetBSD: patch-af,v 1.4 2013/03/16 18:52:58 gdt Exp $
+$NetBSD: patch-af,v 1.5 2015/06/06 12:57:58 gdt Exp $
 
 From Giles Lean, who places it in the public domain.  Workarounds for
 problems with buggy USB serial adapators.  Not applied by upstream
 2009-02-21 because it's too dangerous to work around problems without
 understanding them.
 
---- jeeps/gpsread.c.orig       2011-07-26 01:56:33.000000000 +0000
-+++ jeeps/gpsread.c
+--- jeeps/gpsread.cc.orig      2014-02-13 00:12:48.000000000 +0000
++++ jeeps/gpsread.cc
 @@ -98,6 +98,36 @@ int32 GPS_Serial_Packet_Read(gpsdevh* fd
        GPS_Diag("%02x ", u);
  
@@ -50,12 +50,12 @@
  
 +dle_missed:
        if (len==1) {
-         (*packet)->type = u;
+         (*packet).type = u;
          ++len;
 @@ -130,6 +161,20 @@ int32 GPS_Serial_Packet_Read(gpsdevh* fd
        if (u == ETX)
          if (isDLE) {
-           if (p-(*packet)->data-2 != (*packet)->n) {
+           if (p-(*packet).data-2 != (*packet).n) {
 +          /*
 +           * When used with a buggy Prolific USB-serial converter the
 +           * calling sequence GPS_A000() -> GPS_Get_Ack() sometimes
diff -r 841e59308665 -r e8985dc3b58e geography/gpsbabel/patches/patch-testo
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/geography/gpsbabel/patches/patch-testo    Sat Jun 06 12:57:58 2015 +0000
@@ -0,0 +1,87 @@
+$NetBSD: patch-testo,v 1.1 2015/06/06 12:57:58 gdt Exp $
+
+Remove bashisms from testo and convert to /bin/sh.
+
+Sent upstream 20150606.
+
+--- testo.orig 2014-12-22 19:30:03.000000000 +0000
++++ testo
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ 
+ GPSBABEL_FREEZE_TIME=y
+ export GPSBABEL_FREEZE_TIME
+@@ -38,7 +38,7 @@ bincompare()
+               ${OD} $2 >${TMPDIR}/bc2
+               ${DIFF} ${TMPDIR}/bc1 ${TMPDIR}/bc2 || {
+               echo ERROR binary comparing $*
+-              let errorcount=errorcount+1
++              errorcount=`expr errorcount+1`
+               #exit 1
+       }
+ }
+@@ -47,7 +47,7 @@ compare()
+ {
+       ${DIFF} -u -b -w $* ||  {
+               echo ERROR comparing $*
+-              let errorcount=errorcount+1
++              errorcount=`expr errorcount+1`
+               #exit 1
+       } 
+ }
+@@ -64,7 +64,7 @@ gpsbabel()
+       ${PNAME} $* || {
+               echo "$PNAME returned error $?"
+               echo "($PNAME $*)"
+-              let errorcount=errorcount+1
++              errorcount=`expr errorcount+1`
+               #exit 1
+       }
+ }
+@@ -72,9 +72,9 @@ gpsbabel()
+ utf8bomcheck()
+ {
+   if [ ${RUNNINGVALGRIND} -ne  0 ]; then
+-    if [ "$(dd if=$1 bs=1 count=3 2>/dev/null)" == $'\xef\xbb\xbf' ]; then
++    if [ "$(dd if=$1 bs=1 count=3 2>/dev/null)" = $'\xef\xbb\xbf' ]; then
+       echo "ERROR: UTF-8 BOM found in $1"
+-      let errorcount=errorcount+1
++      errorcount=`expr errorcount+1`
+     fi
+   fi
+ }
+@@ -82,13 +82,13 @@ utf8bomcheck()
+ xmlwfcheck()
+ {
+   if [ ${RUNNINGVALGRIND} -ne 0 ]; then
+-    if which ${XMLWF} >& /dev/null; then
++    if which ${XMLWF} 2>&1 > /dev/null; then
+       # xmlwf is a bit lame, exit status is always 0
+       rm -f ${TMPDIR}/xmlwf.out
+       ${XMLWF} $1 2>&1 | tee ${TMPDIR}/xmlwf.out
+       if [ -s ${TMPDIR}/xmlwf.out ]; then
+         echo "ERROR: xml is not well-formed in $1"
+-        let errorcount=errorcount+1
++        errorcount=`expr errorcount+1`
+       fi
+     fi
+   fi
+@@ -108,7 +108,7 @@ xmlwfcheck()
+ # cambridge
+ # cup
+ 
+-let errorcount=0;
++errorcount=0;
+ 
+ if [ $# -ge 1 ]; then
+   while [ $# -ge 1 ];
+@@ -144,7 +144,7 @@ if [ ${RUNNINGVALGRIND} -ne  0 ]; then
+ fi
+ 
+ if [ ${RUNNINGVALGRIND} -ne  0 ]; then
+-  if which ${XMLWF} >& /dev/null; then
++  if which ${XMLWF} 2>&1 > /dev/null; then
+     echo "Running well-formed XML test"
+     for i in ${XMLS}
+     do



Home | Main Index | Thread Index | Old Index