summaryrefslogtreecommitdiff
path: root/geography
diff options
context:
space:
mode:
authorgdt <gdt@pkgsrc.org>2009-02-08 15:30:26 +0000
committergdt <gdt@pkgsrc.org>2009-02-08 15:30:26 +0000
commitab8db7dc9ced236aac4812cb947e2165fd471062 (patch)
treecd59a59c4f71dd9517f59bff46a283fe0d893f82 /geography
parent9dc29845ae55734a8baaf67dab128a3a9afed06e (diff)
downloadpkgsrc-ab8db7dc9ced236aac4812cb947e2165fd471062.tar.gz
Update to 1.3.6 from 1.3.4. Add two patches from Giles Lean to work
around what is believed to be bugs in Prolific USB convertors. Point to pkgsrc-hosted distfile because upstream distfile, although LICENSE=gnu-gpl-v2 is apparently only available via a web form. Full changes available at http://www.gpsbabel.org/changes.html Notable changes in 1.3.6: Fix writing waypoint names under 6 characters to old serial Garmins. Notable changes in 1.3.5: Read waypointsw from jpg/exif. Add support for osm (openstreetmap) format files. Set computer's clock from GARMIN.
Diffstat (limited to 'geography')
-rw-r--r--geography/gpsbabel/Makefile10
-rw-r--r--geography/gpsbabel/distinfo10
-rw-r--r--geography/gpsbabel/patches/patch-af74
-rw-r--r--geography/gpsbabel/patches/patch-ag16
4 files changed, 103 insertions, 7 deletions
diff --git a/geography/gpsbabel/Makefile b/geography/gpsbabel/Makefile
index 69767642956..e1e248185bd 100644
--- a/geography/gpsbabel/Makefile
+++ b/geography/gpsbabel/Makefile
@@ -1,9 +1,13 @@
-# $NetBSD: Makefile,v 1.5 2008/06/21 18:35:03 adrianp Exp $
+# $NetBSD: Makefile,v 1.6 2009/02/08 15:30:26 gdt Exp $
#
-DISTNAME= gpsbabel-1.3.4
+DISTNAME= gpsbabel-1.3.6
CATEGORIES= geography
-MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=gpsbabel/}
+#MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=gpsbabel/}
+# Download from official site apparently only via interactive form,
+# but code is gnu-gpl-v2 so hosted elsewhere as a convenience to
+# pkgsrc users.
+MASTER_SITES= http://www.lexort.com/pkgsrc/distfiles/
MAINTAINER= martti@NetBSD.org
HOMEPAGE= http://www.gpsbabel.org/
diff --git a/geography/gpsbabel/distinfo b/geography/gpsbabel/distinfo
index c40d3c27c12..6f91a19e1aa 100644
--- a/geography/gpsbabel/distinfo
+++ b/geography/gpsbabel/distinfo
@@ -1,9 +1,11 @@
-$NetBSD: distinfo,v 1.2 2008/06/21 18:35:03 adrianp Exp $
+$NetBSD: distinfo,v 1.3 2009/02/08 15:30:26 gdt Exp $
-SHA1 (gpsbabel-1.3.4.tar.gz) = 9b504ce151bb44b86558cce5c3f727819cdb30c5
-RMD160 (gpsbabel-1.3.4.tar.gz) = 2391f0b3aef271567808edbed6fc2c481d5514ea
-Size (gpsbabel-1.3.4.tar.gz) = 3547058 bytes
+SHA1 (gpsbabel-1.3.6.tar.gz) = 8ff86e356539ca493b33527b91032adb3b452a78
+RMD160 (gpsbabel-1.3.6.tar.gz) = db405e020fb4340da7f40acf266e27a89330ad94
+Size (gpsbabel-1.3.6.tar.gz) = 6637505 bytes
SHA1 (patch-aa) = 06166a96029100d6e5828875d00d7dde1acf90f9
SHA1 (patch-ab) = 194779944c80cbab89563dad1d7876564bd374df
SHA1 (patch-ac) = 3d464f3fc7786f1a5dff61e4a3b88b0f358081e7
SHA1 (patch-ad) = f5ce3036d1e2cff1d25333a547ded859a21312cd
+SHA1 (patch-af) = 9cb6fc9c180de78b1ecde1875f94905708c5f76a
+SHA1 (patch-ag) = 22e3a6073a146983d7d533814a07561ec988df6f
diff --git a/geography/gpsbabel/patches/patch-af b/geography/gpsbabel/patches/patch-af
new file mode 100644
index 00000000000..3250b4494fb
--- /dev/null
+++ b/geography/gpsbabel/patches/patch-af
@@ -0,0 +1,74 @@
+$NetBSD: patch-af,v 1.1 2009/02/08 15:30:26 gdt Exp $
+
+From Giles Lean, who places it in the public domain. Workarounds for
+problems with buggy USB serial adapators.
+
+--- jeeps/gpsread.c.orig 2006-04-19 22:20:18.000000000 -0400
++++ jeeps/gpsread.c
+@@ -103,6 +103,37 @@ int32 GPS_Serial_Packet_Read(gpsdevh *fd
+
+ if(!len)
+ {
++ /*
++ * Missed DLE characters have been observed with Geko
++ * 201 and Legend GPSRs with Prolific USB-serial
++ * cables. The following kludge seems to help.
++ *
++ * It has been tested so far with the following
++ * combinations of software and hardware:
++ *
++ * OS X 10.4.x and 10.5.x:
++ *
++ * - a Geko 201 (firmware version 2.70) and a third
++ * party cable using a Prolific USB-serial converter
++ * - a Legend using a serial cable with a non-integral
++ * Prolific USB-serial converter.
++ *
++ * NetBSD-4.0/i386 with the Geko and cable as above.
++ *
++ * REVISIT GFL Should this be a switch in a .ini file?
++ *
++ * + it's a kludge, so leaving it always on is ugly
++ * - if it's harmless to properly working hardware,
++ * then it's a better user experience to leave it on
++ */
++ if (u == 0x06 || u == 0x15)
++ {
++ (*packet)->dle = DLE;
++ ++len;
++ (void) fprintf(stderr,"GPS_Packet_Read: inserted DLE due to 0x%02x.\n", u);
++ goto dle_missed;
++ }
++
+ (*packet)->dle = u;
+ if(u != DLE)
+ {
+@@ -114,6 +145,7 @@ int32 GPS_Serial_Packet_Read(gpsdevh *fd
+ continue;
+ }
+
++dle_missed:
+ if(len==1)
+ {
+ (*packet)->type = u;
+@@ -212,6 +244,20 @@ int32 GPS_Serial_Get_Ack(gpsdevh *fd, GP
+
+ if(*(*rec)->data != (*tra)->type)
+ {
++ /*
++ * When used with a buggy Prolific USB-serial converter the
++ * calling sequence GPS_A000() -> GPS_Get_Ack() sometimes
++ * returns data != type causing this routine to fail and the
++ * following error message to be emitted:
++ *
++ * GARMIN:Can't init /dev/cu.usbserial
++ *
++ * Manually retrying usually works, and subsequent
++ * investigation shows that the call that fails is made from
++ * GPS_Init() which in this case is GPS_Serial_Init(). Simply
++ * retrying the call a workaround: see note and retry loop in
++ * gpsapp.c:GPS_Init().
++ */
+ gps_error = FRAMING_ERROR;
+ return 0;
+ }
diff --git a/geography/gpsbabel/patches/patch-ag b/geography/gpsbabel/patches/patch-ag
new file mode 100644
index 00000000000..26fcd5cd938
--- /dev/null
+++ b/geography/gpsbabel/patches/patch-ag
@@ -0,0 +1,16 @@
+$NetBSD: patch-ag,v 1.1 2009/02/08 15:30:26 gdt Exp $
+
+From Giles Lean. Discards characters that may be waiting in the tty
+on open to get a fresh start. Not yet sent upstream.
+
+--- jeeps/gpsserial.c.orig 2008-09-18 16:16:14.000000000 -0400
++++ jeeps/gpsserial.c
+@@ -281,7 +281,7 @@ int32 GPS_Serial_Open(gpsdevh *dh, const
+ tty.c_cc[VMIN] = 1;
+ tty.c_cc[VTIME] = 0;
+
+- if(tcsetattr(psd->fd,TCSANOW,&tty)==-1)
++ if(tcsetattr(psd->fd,TCSANOW|TCSAFLUSH,&tty)==-1)
+ {
+ GPS_Serial_Error("SERIAL: tcsetattr error");
+ return 0;