summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /sci-geosciences/gpsd/files
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'sci-geosciences/gpsd/files')
-rw-r--r--sci-geosciences/gpsd/files/2.95-disable-strip.patch10
-rw-r--r--sci-geosciences/gpsd/files/2.95-fix-ldflags.patch12
-rw-r--r--sci-geosciences/gpsd/files/2.96-fix-ldflags.patch21
-rw-r--r--sci-geosciences/gpsd/files/2.96-fix-tests.patch23
-rw-r--r--sci-geosciences/gpsd/files/2.96-pkgconfig.patch37
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.10-dbus.patch32
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.10-nmea-disabled.patch54
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.10-rpath.patch13
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.10-udev-install.patch40
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.11-hotplug-config.patch27
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.11-no-ntpshm.patch97
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.11-rpath.patch12
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.13-ntpshm.patch25
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.15-broken-install.patch28
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.15-dynamic-libs.patch100
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.15-libgpsd.patch80
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.3-ldflags.patch15
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.3-msocks-init.patch33
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.3-pkg-config.patch49
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.3-release-rev.patch39
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.3-setup.py17
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.3-udev-install.patch31
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.4-always-install-man-pages.patch36
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.4-cfgetispeed.patch47
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.4-chrpath.patch69
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.4-gpsmon-lm.patch29
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.4-no-man-gen.patch13
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.4-strptime.patch26
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.5-clock.patch42
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.6-debug.patch221
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.6-rpath.patch13
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.7-gps_regress.patch63
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.7-no-export-t.patch44
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.7-rpath.patch17
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.8-ldflags.patch15
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.8-libgps.patch38
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.8-no-export-t.patch44
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.8-udev.patch38
-rw-r--r--sci-geosciences/gpsd/files/gpsd.conf-28
-rwxr-xr-xsci-geosciences/gpsd/files/gpsd.init-239
40 files changed, 1597 insertions, 0 deletions
diff --git a/sci-geosciences/gpsd/files/2.95-disable-strip.patch b/sci-geosciences/gpsd/files/2.95-disable-strip.patch
new file mode 100644
index 000000000000..734853968b71
--- /dev/null
+++ b/sci-geosciences/gpsd/files/2.95-disable-strip.patch
@@ -0,0 +1,10 @@
+--- gpsd-2.95/Makefile.am 2010-07-12 02:40:22.000000000 +0200
++++ gpsd-2.95.new/Makefile.am 2010-10-03 18:04:10.000000000 +0200
+@@ -340,6 +340,7 @@
+ "QMAKE_CC=$(CC)" \
+ "QMAKE_CFLAGS+=$(CFLAGS)" \
+ "QMAKE_LFLAGS+=$(LDFLAGS)" \
++ "QMAKE_STRIP=" \
+ "VERSION=$(libgps_VERSION)" \
+ "TARGET_LIBDIR=${libdir}" \
+ "TARGET_INCLUDEDIR=${includedir}"
diff --git a/sci-geosciences/gpsd/files/2.95-fix-ldflags.patch b/sci-geosciences/gpsd/files/2.95-fix-ldflags.patch
new file mode 100644
index 000000000000..bcb8bdb3a1e8
--- /dev/null
+++ b/sci-geosciences/gpsd/files/2.95-fix-ldflags.patch
@@ -0,0 +1,12 @@
+diff -urN gpsd-2.95//Makefile.am gpsd-2.95.new//Makefile.am
+--- gpsd-2.95//Makefile.am 2010-07-12 02:40:22.000000000 +0200
++++ gpsd-2.95.new//Makefile.am 2010-10-03 18:12:23.000000000 +0200
+@@ -137,7 +137,7 @@
+ libgps_VERSION__REVISION = 0
+ libgps_VERSION_AGE = 0
+ libgps_VERSION_NUMBER = $(libgps_VERSION_AGE):$(libgps_VERSION__REVISION):$(libgps_VERSION_AGE)
+-libgps_la_LDFLAGS = -version-number $(libgps_VERSION_CURRENT):$(libgps_VERSION__REVISION):$(libgps_VERSION_AGE)
++libgps_la_LDFLAGS = ${LDFLAGS} -version-number $(libgps_VERSION_CURRENT):$(libgps_VERSION__REVISION):$(libgps_VERSION_AGE)
+ lib_LTLIBRARIES = libgps.la libgpsd.la
+
+ libgps_SONAME = $(shell expr $(libgps_VERSION_CURRENT) - $(libgps_VERSION_AGE))
diff --git a/sci-geosciences/gpsd/files/2.96-fix-ldflags.patch b/sci-geosciences/gpsd/files/2.96-fix-ldflags.patch
new file mode 100644
index 000000000000..f643a359df8f
--- /dev/null
+++ b/sci-geosciences/gpsd/files/2.96-fix-ldflags.patch
@@ -0,0 +1,21 @@
+diff -urN gpsd-2.96.old/Makefile.am gpsd-2.96/Makefile.am
+--- gpsd-2.96.old/Makefile.am 2011-05-16 11:41:11.763256750 +0200
++++ gpsd-2.96/Makefile.am 2011-05-16 11:44:02.742119221 +0200
+@@ -130,7 +130,7 @@
+ libgps_VERSION_REVISION = 0
+ libgps_VERSION_AGE = 0
+ libgps_VERSION_NUMBER = $(libgps_VERSION_CURRENT):$(libgps_VERSION_REVISION):$(libgps_VERSION_AGE)
+-libgps_la_LDFLAGS = -version-number $(libgps_VERSION_NUMBER)
++libgps_la_LDFLAGS = $(LDFLAGS) -version-number $(libgps_VERSION_NUMBER)
+ lib_LTLIBRARIES = libgps.la libgpsd.la
+
+ libgps_SONAME = $(shell expr $(libgps_VERSION_CURRENT) - $(libgps_VERSION_AGE))
+@@ -425,7 +425,7 @@
+ # Build test_qgpsmm
+ #
+ test_qgpsmm_SOURCES = test_gpsmm.cpp
+-test_qgpsmm_LDFLAGS = -Wl,-rpath,$(srcdir)/libQgpsmm/binaries
++test_qgpsmm_LDFLAGS = $(LDFLAGS) -Wl,-rpath,$(srcdir)/libQgpsmm/binaries
+ test_qgpsmm_LDADD = $(LIBC) $(LIBUSB) $(QtNetwork_LIBS) libgps.la -LlibQgpsmm/binaries -lQgpsmm
+ test_qgpsmm_DEPENDENCIES = libQgpsmm/binaries/libQgpsmm.so
+ endif
diff --git a/sci-geosciences/gpsd/files/2.96-fix-tests.patch b/sci-geosciences/gpsd/files/2.96-fix-tests.patch
new file mode 100644
index 000000000000..38aec0024b0c
--- /dev/null
+++ b/sci-geosciences/gpsd/files/2.96-fix-tests.patch
@@ -0,0 +1,23 @@
+diff -urN gpsd-2.96.old//Makefile.am gpsd-2.96//Makefile.am
+--- gpsd-2.96.old//Makefile.am 2011-05-16 11:41:11.763256750 +0200
++++ gpsd-2.96//Makefile.am 2011-05-16 12:37:34.095971771 +0200
+@@ -615,8 +615,8 @@
+ pkgconfigdir = $(libdir)/pkgconfig
+
+ # These are not distributed
+-libgps: libgps_core.c gps.h .libs/libgps.a
+- $(CC) $(CFLAGS) -o libgps $(LIBM) -DTESTMAIN $(LIBPTHREAD) -g libgps_core.c .libs/libgps.a
++libgps: libgps_core.c gps.h .libs/libgps.so
++ $(CC) $(CFLAGS) $(LDFLAGS) -o libgps $(LIBM) -DTESTMAIN $(LIBPTHREAD) -g libgps_core.c .libs/libgps.so
+
+
+ # Report splint warnings
+@@ -720,7 +720,7 @@
+
+ # Use make REGRESSOPTS=-u to force running with UDP rather than pty devices
+
+-run_regress_driver = PYTHON=$(PYTHON) $(srcdir)/regress-driver $(REGRESSOPTS)
++run_regress_driver = PYTHON=$(PYTHON) LD_LIBRARY_PATH="./.libs/" $(srcdir)/regress-driver $(REGRESSOPTS)
+
+ # Regression-test the daemon
+ gps-regress: gpsd stamp-python
diff --git a/sci-geosciences/gpsd/files/2.96-pkgconfig.patch b/sci-geosciences/gpsd/files/2.96-pkgconfig.patch
new file mode 100644
index 000000000000..b829c4730111
--- /dev/null
+++ b/sci-geosciences/gpsd/files/2.96-pkgconfig.patch
@@ -0,0 +1,37 @@
+Index: gpsd-2.96/configure.ac
+===================================================================
+--- gpsd-2.96.orig/configure.ac
++++ gpsd-2.96/configure.ac
+@@ -687,12 +687,7 @@ AC_MSG_CHECKING([for BlueZ support])
+ if test x"$ac_bluetooth" = x"yes"; then
+ AC_MSG_RESULT([yes])
+ AC_DEFINE(HAVE_BLUEZ,1,[Define if we have Bluez])
+- # Older versions of autotools barf and die on this.
+- #PKG_CHECK_MODULES(BLUEZ, bluez )
+- BLUEZ_CFLAGS=`pkg-config --cflags bluez`
+- BLUEZ_LIBS=`pkg-config --libs bluez`
+- AC_SUBST(BLUEZ_CFLAGS)
+- AC_SUBST(BLUEZ_LIBS)
++ PKG_CHECK_MODULES(BLUEZ, bluez )
+ else
+ AC_MSG_RESULT([no])
+ fi
+@@ -709,16 +704,8 @@ AC_MSG_CHECKING([for DBUS support])
+ if test x"$ac_dbus" = "xyes"; then
+ AC_MSG_RESULT([yes])
+ AC_DEFINE([DBUS_ENABLE], 1, [DBUS support])
+- # Older versions of autotools barf and die on this.
+- #PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.23.4 )
+- DBUS_CFLAGS=`pkg-config --cflags dbus-glib-1`
+- DBUS_LIBS=`pkg-config --libs dbus-1`
+- AC_SUBST(DBUS_CFLAGS)
+- AC_SUBST(DBUS_LIBS)
+- #PKG_CHECK_MODULES(DBUS_GLIB, dbus-glib-1 >= 0.22 )
+- DBUS_GLIB_LIBS=`pkg-config --libs dbus-glib-1`
+- AC_SUBST(DBUS_GLIB_CFLAGS)
+- AC_SUBST(DBUS_GLIB_LIBS)
++ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.23.4 )
++ PKG_CHECK_MODULES(DBUS_GLIB, dbus-glib-1 >= 0.22 )
+ else
+ AC_MSG_RESULT([no])
+ fi
diff --git a/sci-geosciences/gpsd/files/gpsd-3.10-dbus.patch b/sci-geosciences/gpsd/files/gpsd-3.10-dbus.patch
new file mode 100644
index 000000000000..3ea68386e2f1
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.10-dbus.patch
@@ -0,0 +1,32 @@
+From efaf7972ca95ff52464dedfe30bafa45095d299e Mon Sep 17 00:00:00 2001
+From: Bernd Zeimetz <bernd@bzed.de>
+Date: Sat, 23 Nov 2013 02:56:22 +0100
+Subject: [PATCH] Make it build abain with dbus enabled.
+
+This reverts a bad change to SConstruct in 57e9bdea.
+
+It still leaves the issue that scons links all file sstaically now.
+---
+ SConstruct | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/SConstruct b/SConstruct
+index 290910b..51b07e1 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -968,7 +968,11 @@ gpsdlibs = ["-lgpsd"] + usblibs + bluezlibs + gpslibs
+ # linking
+ # The final executable will build but not be portable.
+
+-env.StaticLibrary(target = 'libgps.a', source = libgps_sources)
++env.StaticLibrary(target='libgps.a',
++ source=libgps_sources,
++ parse_flags=dbus_libs + rtlibs)
++
++
+
+ # Source groups
+
+--
+1.8.4.3
+
diff --git a/sci-geosciences/gpsd/files/gpsd-3.10-nmea-disabled.patch b/sci-geosciences/gpsd/files/gpsd-3.10-nmea-disabled.patch
new file mode 100644
index 000000000000..e87eff8a5644
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.10-nmea-disabled.patch
@@ -0,0 +1,54 @@
+https://bugs.gentoo.org/493022
+
+From c31095e1562494a74d56b46fcc01541d1444cd5c Mon Sep 17 00:00:00 2001
+From: Simon Dawson <spdawson@gmail.com>
+Date: Sun, 8 Dec 2013 10:31:25 +0000
+Subject: [PATCH] gpsmon: fix build when nmea is false
+
+When nmea is False and ncurses support is enabled, the build fails as
+follows.
+
+gpsmon.o: In function `gpsmon_hook':
+gpsmon.c:(.text+0x974): undefined reference to `driver_nmea0183'
+collect2: error: ld returned 1 exit status
+scons: *** [gpsmon] Error 1
+scons: building terminated because of errors.
+
+The problem appears to be a failure to protect use of the driver_nmea0183
+variable with appropriate #ifdef guards.
+
+Signed-off-by: Simon Dawson <spdawson@gmail.com>
+Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
+---
+ gpsmon.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/gpsmon.c b/gpsmon.c
+index de1f14b..b030979 100644
+--- a/gpsmon.c
++++ b/gpsmon.c
+@@ -36,7 +36,9 @@ extern struct monitor_object_t garmin_mmt, garmin_bin_ser_mmt;
+ extern struct monitor_object_t italk_mmt, ubx_mmt, superstar2_mmt;
+ extern struct monitor_object_t fv18_mmt, gpsclock_mmt, mtk3301_mmt;
+ extern struct monitor_object_t oncore_mmt, tnt_mmt, aivdm_mmt;
++#ifdef NMEA_ENABLE
+ extern const struct gps_type_t driver_nmea0183;
++#endif /* NMEA_ENABLE */
+
+ /* These are public */
+ struct gps_device_t session;
+@@ -477,9 +479,11 @@ static void select_packet_monitor(struct gps_device_t *device)
+ */
+ if (device->packet.type != last_type) {
+ const struct gps_type_t *active_type = device->device_type;
++#ifdef NMEA_ENABLE
+ if (device->packet.type == NMEA_PACKET
+ && ((device->device_type->flags & DRIVER_STICKY) != 0))
+ active_type = &driver_nmea0183;
++#endif /* NMEA_ENABLE */
+ if (!switch_type(active_type))
+ longjmp(terminate, TERM_DRIVER_SWITCH);
+ else {
+--
+2.1.2
+
diff --git a/sci-geosciences/gpsd/files/gpsd-3.10-rpath.patch b/sci-geosciences/gpsd/files/gpsd-3.10-rpath.patch
new file mode 100644
index 000000000000..8d4a309f0957
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.10-rpath.patch
@@ -0,0 +1,13 @@
+don't set the -rpath flag to the install dir as this breaks DESTDIR
+
+--- a/SConstruct
++++ b/SConstruct
+@@ -287,7 +287,7 @@ def installdir(dir, add_destdir=True):
+ # Honor the specified installation prefix in link paths.
+ if env["sysroot"]:
+ env.Prepend(LIBPATH=[env["sysroot"] + installdir('libdir', add_destdir=False)])
+-if env["shared"]:
++if env["shared"] and env["chrpath"]:
+ env.Prepend(RPATH=[installdir('libdir')])
+
+ # Give deheader a way to set compiler flags
diff --git a/sci-geosciences/gpsd/files/gpsd-3.10-udev-install.patch b/sci-geosciences/gpsd/files/gpsd-3.10-udev-install.patch
new file mode 100644
index 000000000000..5d81466b9709
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.10-udev-install.patch
@@ -0,0 +1,40 @@
+From 6821edb2d40956e5f93a80420ae1dbf825b95281 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Mon, 11 Mar 2013 13:26:57 -0400
+Subject: [PATCH] fix DESTDIR handling with udev rules install again
+
+Commit 102e29d16c3fd9b414eeac53c794302f902ae8da reverted the DESTDIR
+logic when upgrading the udev path handling.
+
+I fixed that with commit a41cd69c87e312198834a2e6232134176c9352e5.
+
+It's been reverted yet again in an unrelated commit
+57e9bdeae2f00664616ee1d9a936a5cfe27bfd30. Why do people keep doing this?
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ SConstruct | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/SConstruct b/SConstruct
+index 51b07e1..caed21e 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -1790,10 +1790,10 @@ if env['python']:
+ # is plugged in.
+
+ Utility('udev-install', 'install', [
+- 'mkdir -p ' + env['udevdir'],
+- 'cp $SRCDIR/gpsd.rules ' + env['udevdir'] + '/rules.d/25-gpsd.rules',
+- 'cp $SRCDIR/gpsd.hotplug ' + env['udevdir'],
+- 'chmod a+x ' + env['udevdir'] + '/gpsd.hotplug',
++ 'mkdir -p ' + DESTDIR + env['udevdir'] + '/rules.d',
++ 'cp $SRCDIR/gpsd.rules ' + DESTDIR + env['udevdir'] + '/rules.d/25-gpsd.rules',
++ 'cp $SRCDIR/gpsd.hotplug ' + DESTDIR + env['udevdir'],
++ 'chmod a+x ' + DESTDIR + env['udevdir'] + '/gpsd.hotplug',
+ ])
+
+ Utility('udev-uninstall', '', [
+--
+1.8.4.3
+
diff --git a/sci-geosciences/gpsd/files/gpsd-3.11-hotplug-config.patch b/sci-geosciences/gpsd/files/gpsd-3.11-hotplug-config.patch
new file mode 100644
index 000000000000..a2b96f4d01af
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.11-hotplug-config.patch
@@ -0,0 +1,27 @@
+https://bugs.gentoo.org/511584
+
+From 2c0c2d90cbe450d208b320359b55089a441ff52a Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Thu, 30 Oct 2014 17:17:41 -0400
+Subject: [PATCH] udev rules: source Gentoo config files
+
+---
+ gpsd.hotplug | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/gpsd.hotplug b/gpsd.hotplug
+index dd0deaf..5f4ce13 100644
+--- a/gpsd.hotplug
++++ b/gpsd.hotplug
+@@ -24,6 +24,8 @@ export PATH
+
+ if [ -r /etc/default/gpsd ]; then
+ . /etc/default/gpsd
++elif [ -r /etc/conf.d/gpsd ]; then
++ . /etc/conf.d/gpsd
+ elif [ -r /etc/sysconfig/gpsd ]; then
+ . /etc/sysconfig/gpsd
+ GPSD_OPTIONS=$OPTIONS
+--
+2.1.2
+
diff --git a/sci-geosciences/gpsd/files/gpsd-3.11-no-ntpshm.patch b/sci-geosciences/gpsd/files/gpsd-3.11-no-ntpshm.patch
new file mode 100644
index 000000000000..c53eeca907b0
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.11-no-ntpshm.patch
@@ -0,0 +1,97 @@
+From 80cd103396fcd1185a476761bfb267ce12f64b32 Mon Sep 17 00:00:00 2001
+From: Simon Dawson <spdawson@gmail.com>
+Date: Mon, 25 Aug 2014 10:31:18 +0100
+Subject: [PATCH] Fix build error when ntpshm is false
+
+The build fails as follows
+
+libgpsd_core.c: In function 'ntpshm_latch':
+libgpsd_core.c:1660:24: error: 'const struct gps_type_t' has no member named 'time_offset'
+ || device->device_type->time_offset == NULL)
+ ^
+libgpsd_core.c:1663:33: error: 'const struct gps_type_t' has no member named 'time_offset'
+ fix_time += device->device_type->time_offset(device);
+ ^
+scons: *** [libgpsd_core.os] Error 1
+
+The solution is to wrap #ifdef NTPSHM_ENABLE around the ntpshm_latch function
+
+Signed-off-by: Simon Dawson <spdawson@gmail.com>
+---
+ libgpsd_core.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/libgpsd_core.c b/libgpsd_core.c
+index 6ec08a4..f7e8075 100644
+--- a/libgpsd_core.c
++++ b/libgpsd_core.c
+@@ -1638,6 +1638,7 @@ void gpsd_zero_satellites( /*@out@*/ struct gps_data_t *out)
+ #endif
+ }
+
++#ifdef NTPSHM_ENABLE
+ void ntpshm_latch(struct gps_device_t *device, struct timedrift_t /*@out@*/*td)
+ /* latch the fact that we've saved a fix */
+ {
+@@ -1668,5 +1669,6 @@ void ntpshm_latch(struct gps_device_t *device, struct timedrift_t /*@out@*/*td)
+ device->last_fixtime.clock = td->clock.tv_sec + td->clock.tv_nsec / 1e9;
+ #endif /* S_SPLINT_S */
+ }
++#endif /* NTPSHM_ENABLE */
+
+ /* end */
+--
+2.1.2
+
+From 48caee55069bdb7f7115e1930ace3914f4ddfe3b Mon Sep 17 00:00:00 2001
+From: Simon Dawson <spdawson@gmail.com>
+Date: Wed, 3 Sep 2014 18:43:31 +0100
+Subject: [PATCH] Complete wrapping of ntpshm_latch function in #ifdef
+ NTPSHM_ENABLE
+
+Currently, the build fails as follows
+
+gpsmon.o: In function `gpsmon_hook':
+gpsmon.c:(.text+0x8b0): undefined reference to `ntpshm_latch'
+collect2: error: ld returned 1 exit status
+scons: *** [gpsmon] Error 1
+
+Addresses Sacannah bug #43129: ntpshm patch is incomplete.
+
+Signed-off-by: Simon Dawson <spdawson@gmail.com>
+---
+ gpsd.h-tail | 2 ++
+ gpsmon.c | 2 ++
+ 2 files changed, 4 insertions(+)
+
+diff --git a/gpsd.h-tail b/gpsd.h-tail
+index 7b62ce1..7b44f91 100644
+--- a/gpsd.h-tail
++++ b/gpsd.h-tail
+@@ -857,7 +857,9 @@ extern unsigned int ais_binary_encode(struct ais_t *ais, /*@out@*/unsigned char
+ extern void ntpshm_context_init(struct gps_context_t *);
+ extern void ntpshm_session_init(struct gps_device_t *);
+ extern int ntpshm_put(struct gps_device_t *, int, struct timedrift_t *);
++#ifdef NTPSHM_ENABLE
+ extern void ntpshm_latch(struct gps_device_t *device, /*@out@*/struct timedrift_t *td);
++#endif /* NTPSHM_ENABLE */
+ extern void ntpshm_link_deactivate(struct gps_device_t *);
+ extern void ntpshm_link_activate(struct gps_device_t *);
+
+diff --git a/gpsmon.c b/gpsmon.c
+index c812063..909f271 100644
+--- a/gpsmon.c
++++ b/gpsmon.c
+@@ -734,8 +734,10 @@ static void gpsmon_hook(struct gps_device_t *device, gps_mask_t changed UNUSED)
+
+ report_unlock();
+
++#ifdef NTPSHM_ENABLE
+ /* Update the last fix time seen for PPS. FIXME: do this here? */
+ ntpshm_latch(device, &td);
++#endif /* NTPSHM_ENABLE */
+ }
+ /*@+observertrans +nullpass +globstate +compdef +uniondef@*/
+
+--
+2.1.2
diff --git a/sci-geosciences/gpsd/files/gpsd-3.11-rpath.patch b/sci-geosciences/gpsd/files/gpsd-3.11-rpath.patch
new file mode 100644
index 000000000000..7615b8b5d73f
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.11-rpath.patch
@@ -0,0 +1,12 @@
+don't set the -rpath flag to the install dir as this breaks DESTDIR
+
+--- a/SConstruct
++++ b/SConstruct
+@@ -287,7 +287,7 @@
+
+ # Don't hack RPATH unless libdir points somewhere that is not on the
+ # minimum default load path.
+-if env["shared"]:
++if env["shared"] and env["chrpath"]:
+ if env["libdir"] not in ["/usr/lib", "/lib"]:
+ env.Prepend(RPATH=[installdir('libdir')])
diff --git a/sci-geosciences/gpsd/files/gpsd-3.13-ntpshm.patch b/sci-geosciences/gpsd/files/gpsd-3.13-ntpshm.patch
new file mode 100644
index 000000000000..c931ad1aa21f
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.13-ntpshm.patch
@@ -0,0 +1,25 @@
+From 861d148321aafa3f7dadb1da4f507da83ba2f846 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Thu, 26 Feb 2015 17:39:23 -0500
+Subject: [PATCH] ntpshm: fix status type
+
+---
+ ntpshm.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ntpshm.h b/ntpshm.h
+index c8cd3b6..45648a8 100644
+--- a/ntpshm.h
++++ b/ntpshm.h
+@@ -60,7 +60,7 @@ enum segstat_t {
+ OK, NO_SEGMENT, NOT_READY, BAD_MODE, CLASH};
+
+ struct shm_stat_t {
+- int status;
++ enum segstat_t status;
+ struct timespec tvc, tvr, tvt;
+ int precision;
+ int leap;
+--
+2.3.0
+
diff --git a/sci-geosciences/gpsd/files/gpsd-3.15-broken-install.patch b/sci-geosciences/gpsd/files/gpsd-3.15-broken-install.patch
new file mode 100644
index 000000000000..ec68a3c21a9c
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.15-broken-install.patch
@@ -0,0 +1,28 @@
+From 798629da485b9504dbb5bd5c96c9ea1d3454ebe3 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sun, 7 Jun 2015 13:39:55 -0400
+Subject: [PATCH] Revert "# Work arount a minor bug in InstallSharedLib() link
+ handling"
+
+This reverts commit 0532106c1ea0807922ea6f868fcde384f22d4e92 as it breaks
+parallel installs. The original commit itself contains no real details.
+---
+ SConstruct | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/SConstruct b/SConstruct
+index 39a6b6a..c8a977e 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -1336,8 +1336,6 @@ if env["ncurses"]:
+ binaryinstall.append(env.Install(installdir('bindir'), [cgps, gpsmon]))
+ binaryinstall.append(LibraryInstall(env, installdir('libdir'), compiled_gpslib, libgps_version))
+ binaryinstall.append(LibraryInstall(env, installdir('libdir'), compiled_gpsdlib, libgps_version))
+-# Work arount a minor bug in InstallSharedLib() link handling
+-env.AddPreAction(binaryinstall, 'rm -f %s/libgps.*' % (installdir('libdir'), ))
+
+ if qt_env:
+ binaryinstall.append(LibraryInstall(qt_env, installdir('libdir'), compiled_qgpsmmlib, libgps_version))
+--
+2.4.1
+
diff --git a/sci-geosciences/gpsd/files/gpsd-3.15-dynamic-libs.patch b/sci-geosciences/gpsd/files/gpsd-3.15-dynamic-libs.patch
new file mode 100644
index 000000000000..9461a666b031
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.15-dynamic-libs.patch
@@ -0,0 +1,100 @@
+From ac48583654e97ef04e8cbb52c2ae77a617c7add3 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sun, 7 Jun 2015 01:08:39 -0400
+Subject: [PATCH] reenable dynamic libs
+
+Upstream decided to staticly link their own programs against their libs
+instead of using the shared ones. Restore dynamic linking to save space
+and such.
+---
+ SConstruct | 64 ++++++++++++++++++++++++++++++++++----------------------------
+ 1 file changed, 35 insertions(+), 29 deletions(-)
+
+diff --git a/SConstruct b/SConstruct
+index 28cebf0..a050f38 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -961,6 +961,9 @@ if qt_env:
+ gpsflags = ["-lm"] + rtlibs + dbusflags
+ gpsdflags = usbflags + bluezflags + gpsflags
+
++gpslibs = ["-lgps"] + gpsflags
++gpsdlibs = ["-lgpsd"] + gpsdflags + gpslibs
++
+ # Source groups
+
+ gpsd_sources = ['gpsd.c','timehint.c', 'shmexport.c','dbusexport.c']
+@@ -983,38 +986,41 @@ gpsmon_sources = [
+ ## Production programs
+
+ gpsd = env.Program('gpsd', gpsd_sources,
+- LIBS=['gpsd', 'gps_static'], LIBPATH='.',
+- parse_flags=gpsdflags+gpsflags)
++ LIBS=['gpsd'], parse_flags=gpsdflags+gpslibs)
++env.Depends(gpsd, [compiled_gpslib])
++
+ gpsdecode = env.Program('gpsdecode', ['gpsdecode.c'],
+- LIBS=['gpsd', 'gps_static'], LIBPATH='.',
+- parse_flags=gpsdflags+gpsflags)
++ LIBS=['gpsd'], parse_flags=gpsdflags+gpslibs)
++env.Depends(gpsdecode, [compiled_gpslib])
++
+ gpsctl = env.Program('gpsctl', ['gpsctl.c'],
+- LIBS=['gpsd', 'gps_static'], LIBPATH='.',
+- parse_flags=gpsdflags+gpsflags)
++ LIBS=['gpsd'], parse_flags=gpsdflags+gpslibs)
++env.Depends(gpsctl, [compiled_gpslib])
++
+ gpsmon = env.Program('gpsmon', gpsmon_sources,
+- LIBS=['gpsd', 'gps_static'], LIBPATH='.',
+- parse_flags=gpsdflags + gpsflags + ncurseslibs)
+-gpsdctl = env.Program('gpsdctl', ['gpsdctl.c'],
+- LIBS=['gps_static'], LIBPATH='.',
+- parse_flags=gpsflags)
+-gpspipe = env.Program('gpspipe', ['gpspipe.c'],
+- LIBS=['gps_static'], LIBPATH='.',
+- parse_flags=gpsflags)
+-gps2udp = env.Program('gps2udp', ['gps2udp.c'],
+- LIBS=['gps_static'], LIBPATH='.',
+- parse_flags=gpsflags)
+-gpxlogger = env.Program('gpxlogger', ['gpxlogger.c'],
+- LIBS=['gps_static'], LIBPATH='.',
+- parse_flags=gpsflags)
+-lcdgps = env.Program('lcdgps', ['lcdgps.c'],
+- LIBS=['gps_static'], LIBPATH='.',
+- parse_flags=gpsflags)
+-cgps = env.Program('cgps', ['cgps.c'],
+- LIBS=['gps_static'], LIBPATH='.',
+- parse_flags=gpsflags + ncurseslibs)
+-ntpshmmon = env.Program('ntpshmmon', ['ntpshmmon.c'],
+- LIBS=['gps_static'], LIBPATH='.',
+- parse_flags=gpsflags)
++ LIBS=['gpsd'], parse_flags=gpsdflags+gpslibs + ncurseslibs)
++env.Depends(gpsmon, [compiled_gpslib])
++
++gpsdctl = env.Program('gpsdctl', ['gpsdctl.c'], parse_flags=gpslibs)
++env.Depends(gpsdctl, compiled_gpslib)
++
++gpspipe = env.Program('gpspipe', ['gpspipe.c'], parse_flags=gpslibs)
++env.Depends(gpspipe, compiled_gpslib)
++
++gps2udp = env.Program('gps2udp', ['gps2udp.c'], parse_flags=gpslibs)
++env.Depends(gps2udp, compiled_gpslib)
++
++gpxlogger = env.Program('gpxlogger', ['gpxlogger.c'], parse_flags=gpslibs)
++env.Depends(gpxlogger, compiled_gpslib)
++
++lcdgps = env.Program('lcdgps', ['lcdgps.c'], parse_flags=gpslibs)
++env.Depends(lcdgps, compiled_gpslib)
++
++cgps = env.Program('cgps', ['cgps.c'], parse_flags=gpslibs + ncurseslibs)
++env.Depends(cgps, compiled_gpslib)
++
++ntpshmmon = env.Program('ntpshmmon', ['ntpshmmon.c'], parse_flags=gpslibs)
++env.Depends(ntpshmmon, compiled_gpslib)
+
+ binaries = [gpsd, gpsdecode, gpsctl, gpsdctl, gpspipe, gps2udp, gpxlogger, lcdgps, ntpshmmon]
+ if env["ncurses"]:
+--
+2.4.1
+
diff --git a/sci-geosciences/gpsd/files/gpsd-3.15-libgpsd.patch b/sci-geosciences/gpsd/files/gpsd-3.15-libgpsd.patch
new file mode 100644
index 000000000000..b8d2cf02ee8b
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.15-libgpsd.patch
@@ -0,0 +1,80 @@
+From 7b29fcb88a476daab12957ac22512edf66aee813 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sun, 7 Jun 2015 01:08:48 -0400
+Subject: [PATCH] reenable libgpsd
+
+Upstream has decided to drop the shared libgpsd (since it wasn't used
+externally anymore), but this also meant they statically link the code
+into every app. Re-enable the shared lib so that the various runtime
+programs can continue to share and save on resources.
+---
+ SConstruct | 25 +++++++++++++------------
+ 1 file changed, 13 insertions(+), 12 deletions(-)
+
+diff --git a/SConstruct b/SConstruct
+index a050f38..53f697d 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -903,7 +903,7 @@ else:
+ obj_list = []
+ for s in Flatten(sources):
+ if type(s) is str:
+- obj_list.append(env.SharedObject(s))
++ obj_list.append(env.SharedObject(s, parse_flags=parse_flags))
+ else:
+ obj_list.append(s)
+ return env.SharedLibrary(target=target,
+@@ -925,9 +925,11 @@ static_gpslib = env.StaticLibrary("gps_static",
+ [env.StaticObject(s) for s in libgps_sources],
+ rtlibs)
+
+-compiled_gpsdlib = env.StaticLibrary(target="gpsd",
+- source=[env.StaticObject(s, parse_flags=usbflags + bluezflags) for s in libgpsd_sources],
+- parse_flags=usbflags + bluezflags)
++compiled_gpsdlib = Library(env=env,
++ target="gpsd",
++ sources=libgpsd_sources,
++ version=libgps_version,
++ parse_flags=usbflags + rtlibs + bluezflags + ["-lgps"])
+
+ libraries = [compiled_gpslib, compiled_gpsdlib]
+
+@@ -985,21 +987,19 @@ gpsmon_sources = [
+
+ ## Production programs
+
+-gpsd = env.Program('gpsd', gpsd_sources,
+- LIBS=['gpsd'], parse_flags=gpsdflags+gpslibs)
+-env.Depends(gpsd, [compiled_gpslib])
++gpsd = env.Program('gpsd', gpsd_sources, parse_flags=gpsdlibs)
++env.Depends(gpsd, [compiled_gpsdlib, compiled_gpslib])
+
+-gpsdecode = env.Program('gpsdecode', ['gpsdecode.c'],
+- LIBS=['gpsd'], parse_flags=gpsdflags+gpslibs)
+-env.Depends(gpsdecode, [compiled_gpslib])
++gpsdecode = env.Program('gpsdecode', ['gpsdecode.c'], parse_flags=gpsdlibs)
++env.Depends(gpsdecode, [compiled_gpsdlib, compiled_gpslib])
+
+ gpsctl = env.Program('gpsctl', ['gpsctl.c'],
+ LIBS=['gpsd'], parse_flags=gpsdflags+gpslibs)
+-env.Depends(gpsctl, [compiled_gpslib])
++env.Depends(gpsctl, [compiled_gpslib, compiled_gpslib])
+
+ gpsmon = env.Program('gpsmon', gpsmon_sources,
+ LIBS=['gpsd'], parse_flags=gpsdflags+gpslibs + ncurseslibs)
+-env.Depends(gpsmon, [compiled_gpslib])
++env.Depends(gpsmon, [compiled_gpslib, compiled_gpslib])
+
+ gpsdctl = env.Program('gpsdctl', ['gpsdctl.c'], parse_flags=gpslibs)
+ env.Depends(gpsdctl, compiled_gpslib)
+@@ -1339,6 +1339,7 @@ binaryinstall.append(env.Install(installdir('bindir'), [gpsdecode, gpsctl, gpsp
+ if env["ncurses"]:
+ binaryinstall.append(env.Install(installdir('bindir'), [cgps, gpsmon]))
+ binaryinstall.append(LibraryInstall(env, installdir('libdir'), compiled_gpslib, libgps_version))
++binaryinstall.append(LibraryInstall(env, installdir('libdir'), compiled_gpsdlib, libgps_version))
+ # Work arount a minor bug in InstallSharedLib() link handling
+ env.AddPreAction(binaryinstall, 'rm -f %s/libgps.*' % (installdir('libdir'), ))
+
+--
+2.4.1
+
diff --git a/sci-geosciences/gpsd/files/gpsd-3.3-ldflags.patch b/sci-geosciences/gpsd/files/gpsd-3.3-ldflags.patch
new file mode 100644
index 000000000000..867b96b2da50
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.3-ldflags.patch
@@ -0,0 +1,15 @@
+https://bugs.gentoo.org/391299
+
+split up linking flags into multiple arguments
+
+--- gpsd-3.3/SConstruct
++++ gpsd-3.3/SConstruct
+@@ -214,7 +214,7 @@
+ env.Replace(**{j: os.getenv(i)})
+ for flags in ["LDFLAGS", "LINKFLAGS", "SHLINKFLAGS", "CPPFLAGS"]:
+ if os.environ.has_key(flags):
+- env.MergeFlags({flags : [os.getenv(flags)]})
++ env.MergeFlags({flags : Split(os.getenv(flags))})
+
+
+ # Placeholder so we can kluge together something like VPATH builds.
diff --git a/sci-geosciences/gpsd/files/gpsd-3.3-msocks-init.patch b/sci-geosciences/gpsd/files/gpsd-3.3-msocks-init.patch
new file mode 100644
index 000000000000..6b06864448cb
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.3-msocks-init.patch
@@ -0,0 +1,33 @@
+fix from upstream git repo
+
+From e3d7f8b3f35442ae71dc95d776c900d2c29b215c Mon Sep 17 00:00:00 2001
+From: Yufeng Shen <miletus@chromium.org>
+Date: Tue, 15 Nov 2011 17:29:49 -0500
+Subject: [PATCH] Initialize msocks[2] to -1
+
+When SOCKET_EXPORT_ENABLE is not defined, msocks[2] can reach the
+point where it is used (put into all_fds to be monitored by select()),
+without initilization.
+
+Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
+---
+ gpsd.c | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/gpsd.c b/gpsd.c
+index 2d4090f..d342f5a 100644
+--- a/gpsd.c
++++ b/gpsd.c
+@@ -1762,7 +1762,8 @@ int main(int argc, char *argv[])
+ static char *pid_file = NULL;
+ struct gps_device_t *device;
+ fd_set rfds;
+- int i, option, msocks[2], dfd;
++ int i, option, dfd;
++ int msocks[2] = {-1, -1};
+ bool go_background = true;
+ struct timeval tv;
+ const struct gps_type_t **dp;
+--
+1.7.6.1
+
diff --git a/sci-geosciences/gpsd/files/gpsd-3.3-pkg-config.patch b/sci-geosciences/gpsd/files/gpsd-3.3-pkg-config.patch
new file mode 100644
index 000000000000..0bb4b3c8e0aa
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.3-pkg-config.patch
@@ -0,0 +1,49 @@
+From b6ef265b49d973acc2295f46f0518e0644ba7dbb Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Mon, 21 Nov 2011 16:05:27 -0500
+Subject: [PATCH] respect PKG_CONFIG in the build env
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ SConstruct | 9 +++++----
+ 1 files changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/SConstruct b/SConstruct
+index cb578fe..5bb0fed 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -214,8 +214,9 @@ env['PYTHON'] = sys.executable
+ # explicitly quote them or (better yet) use the "=" form of GNU option
+ # settings.
+ env['STRIP'] = "strip"
++env['PKG_CONFIG'] = "pkg-config"
+ env['CHRPATH'] = 'chrpath'
+-for i in ["AR", "ARFLAGS", "CCFLAGS", "CFLAGS", "CC", "CXX", "CXXFLAGS", "STRIP", "CHRPATH", "LD", "TAR"]:
++for i in ["AR", "ARFLAGS", "CCFLAGS", "CFLAGS", "CC", "CXX", "CXXFLAGS", "STRIP", "PKG_CONFIG", "CHRPATH", "LD", "TAR"]:
+ if os.environ.has_key(i):
+ j = i
+ if i == "LD":
+@@ -407,9 +408,9 @@ cxx = config.CheckCXX()
+ # define a helper function for pkg-config - we need to pass
+ # --static for static linking, too.
+ if env["shared"]:
+- pkg_config = lambda pkg: ['!pkg-config --cflags --libs %s' %(pkg, )]
++ pkg_config = lambda pkg: ['!%s --cflags --libs %s' %(env['PKG_CONFIG'], pkg, )]
+ else:
+- pkg_config = lambda pkg: ['!pkg-config --cflags --libs --static %s' %(pkg, )]
++ pkg_config = lambda pkg: ['!%s --cflags --libs --static %s' %(env['PKG_CONFIG'], pkg, )]
+
+ # GCC isn't always named gcc, alas.
+ if env['CC'] == 'gcc' or (sys.platform.startswith('freebsd') and env['CC'] == 'cc'):
+@@ -339,7 +340,7 @@ if "help" in ARGLIST:
+
+ def CheckPKG(context, name):
+ context.Message( 'Checking for %s... ' % name )
+- ret = context.TryAction('pkg-config --exists \'%s\'' % name)[0]
++ ret = context.TryAction('%s --exists \'%s\'' % (env['PKG_CONFIG'], name))[0]
+ context.Result( ret )
+ return ret
+
+--
+1.7.6.1
+
diff --git a/sci-geosciences/gpsd/files/gpsd-3.3-release-rev.patch b/sci-geosciences/gpsd/files/gpsd-3.3-release-rev.patch
new file mode 100644
index 000000000000..29415590caee
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.3-release-rev.patch
@@ -0,0 +1,39 @@
+taken from upstream repo & tweaked; drop with 3.4 release
+
+From c96ffb7733b56a8c5c20d473d8fd83b62b6abfde Mon Sep 17 00:00:00 2001
+From: Bernd Zeimetz <bernd@bzed.de>
+Date: Thu, 10 Nov 2011 22:18:07 +0100
+Subject: [PATCH] SConstruct: Use gpsd_version as revision for releases.
+
+---
+ SConstruct | 13 ++++++++-----
+ 1 files changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/SConstruct b/SConstruct
+index d367403..3d95e7e 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -978,12 +978,15 @@ env.Command(target="ais_json.i", source="jsongen.py", action='''\
+ chmod a-w $TARGET''')
+
+ # generate revision.h
+-(st, rev) = commands.getstatusoutput('git describe')
+-if st != 0:
+- from datetime import datetime
+- rev = datetime.now().isoformat()[:-4]
++if 'dev' in gpsd_version:
++ (st, rev) = commands.getstatusoutput('git describe')
++ if st != 0:
++ from datetime import datetime
++ rev = datetime.now().isoformat()[:-4]
++else:
++ rev = gpsd_version
+ revision='#define REVISION "%s"\n' %(rev.strip(),)
+-env.NoClean(env.Textfile(target="revision.h", source=[revision]))
++env.Textfile(target="revision.h", source=[revision])
+
+ # generate pps_pin.h
+ pps_pin = env['pps_pin']
+--
+1.7.6.1
+
diff --git a/sci-geosciences/gpsd/files/gpsd-3.3-setup.py b/sci-geosciences/gpsd/files/gpsd-3.3-setup.py
new file mode 100644
index 000000000000..93cc5e8f2149
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.3-setup.py
@@ -0,0 +1,17 @@
+from distutils.core import setup, Extension
+
+setup(
+ name = "gps",
+ version = @VERSION@,
+ description = 'Python libraries for the gpsd service daemon',
+ url = @URL@,
+ author = 'the GPSD project',
+ author_email = @EMAIL@,
+ license = "BSD",
+ ext_modules=[
+ Extension("gps.packet", @GPS_PACKET_SOURCES@, include_dirs=["."]),
+ Extension("gps.clienthelpers", @GPS_CLIENT_SOURCES@, include_dirs=["."]),
+ ],
+ packages = ['gps'],
+ scripts = @SCRIPTS@,
+)
diff --git a/sci-geosciences/gpsd/files/gpsd-3.3-udev-install.patch b/sci-geosciences/gpsd/files/gpsd-3.3-udev-install.patch
new file mode 100644
index 000000000000..ef000bc27068
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.3-udev-install.patch
@@ -0,0 +1,31 @@
+From b0513cd2e44705058ffdaa7a9c3f32371e9fcd5b Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Thu, 17 Nov 2011 23:44:06 -0500
+Subject: [PATCH] use DESTDIR with udev install
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ SConstruct | 7 ++++---
+ 1 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/SConstruct b/SConstruct
+index 1f99740..b7a98e4 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -1505,9 +1505,10 @@ if env['python']:
+ # is plugged in.
+
+ Utility('udev-install', '', [
+- 'cp $SRCDIR/gpsd.rules /lib/udev/rules.d/25-gpsd.rules',
+- 'cp $SRCDIR/gpsd.hotplug /lib/udev/',
+- 'chmod a+x /lib/udev/gpsd.hotplug',
++ 'mkdir -p ' + DESTDIR + '/lib/udev/rules.d',
++ 'cp $SRCDIR/gpsd.rules ' + DESTDIR + '/lib/udev/rules.d/25-gpsd.rules',
++ 'cp $SRCDIR/gpsd.hotplug ' + DESTDIR + '/lib/udev/',
++ 'chmod a+x ' + DESTDIR + '/lib/udev/gpsd.hotplug',
+ ])
+
+ Utility('udev-uninstall', '', [
+--
+1.7.6.1
+
diff --git a/sci-geosciences/gpsd/files/gpsd-3.4-always-install-man-pages.patch b/sci-geosciences/gpsd/files/gpsd-3.4-always-install-man-pages.patch
new file mode 100644
index 000000000000..c9c1c7d109ad
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.4-always-install-man-pages.patch
@@ -0,0 +1,36 @@
+From 918d6d8e5bac3981126cb01e673430cb7c96ec02 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Thu, 9 Feb 2012 16:51:24 -0500
+Subject: [PATCH] always install the man pages
+
+Since we maintain local copies, don't require xmlto/xsltproc in
+order to install them. This makes packaging simpler.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ SConstruct | 9 ++++-----
+ 1 files changed, 4 insertions(+), 5 deletions(-)
+
+diff --git a/SConstruct b/SConstruct
+index ab85b7d..fb08779 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -1186,11 +1186,10 @@ if qt_env:
+
+
+ maninstall = []
+-if manbuilder:
+- for manpage in base_manpages.keys() + python_manpages.keys():
+- section = manpage.split(".")[1]
+- dest = os.path.join(installdir('mandir'), "man"+section, manpage)
+- maninstall.append(env.InstallAs(source=manpage, target=dest))
++for manpage in base_manpages.keys() + python_manpages.keys():
++ section = manpage.split(".")[1]
++ dest = os.path.join(installdir('mandir'), "man"+section, manpage)
++ maninstall.append(env.InstallAs(source=manpage, target=dest))
+ install = env.Alias('install', binaryinstall + maninstall + python_install + pc_install + headerinstall)
+
+ def Uninstall(nodes):
+--
+1.7.8.4
+
diff --git a/sci-geosciences/gpsd/files/gpsd-3.4-cfgetispeed.patch b/sci-geosciences/gpsd/files/gpsd-3.4-cfgetispeed.patch
new file mode 100644
index 000000000000..02abcb0e95d2
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.4-cfgetispeed.patch
@@ -0,0 +1,47 @@
+From 38702bf0f4aaafdddde51393106eeaf720c1fc63 Mon Sep 17 00:00:00 2001
+From: Manuel Lauss <manuel.lauss@googlemail.com>
+Date: Fri, 13 Jan 2012 11:59:55 -0500
+Subject: [PATCH] serial: use cfgetispeed helpers
+
+Rather than poking c_ispeed directly, use the cfgetispeed helper. This
+is part of POSIX, and we already use cfsetispeed, so there shouldn't be
+any portability issues here.
+
+Signed-off-by: Manuel Lauss <manuel.lauss@googlemail.com>
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ serial.c | 9 +--------
+ 1 files changed, 1 insertions(+), 8 deletions(-)
+
+diff --git a/serial.c b/serial.c
+index c1464dd..8eb03ce 100644
+--- a/serial.c
++++ b/serial.c
+@@ -594,13 +594,8 @@ void gpsd_close(struct gps_device_t *session)
+ * them the first time. Economical, and avoids tripping over an
+ * obscure Linux 2.6 kernel bug that disables threaded
+ * ioctl(TIOCMWAIT) on a device after tcsetattr() is called.
+- *
+- * Unfortunately the termios struct doesn't have c_ispeed/c_ospeed
+- * on all architectures. Its missing on sparc, mips/mispel and hurd-i386 at least.
+ */
+-#if defined(_HAVE_STRUCT_TERMIOS_C_ISPEED)
+- if (session->ttyset_old.c_ispeed != session->ttyset.c_ispeed || (session->ttyset_old.c_cflag & CSTOPB) != (session->ttyset.c_cflag & CSTOPB)) {
+-#endif
++ if (cfgetispeed(&session->ttyset_old) != cfgetispeed(&session->ttyset) || (session->ttyset_old.c_cflag & CSTOPB) != (session->ttyset.c_cflag & CSTOPB)) {
+ /*@ ignore @*/
+ (void)cfsetispeed(&session->ttyset_old,
+ (speed_t) session->gpsdata.dev.baudrate);
+@@ -609,9 +604,7 @@ void gpsd_close(struct gps_device_t *session)
+ /*@ end @*/
+ (void)tcsetattr(session->gpsdata.gps_fd, TCSANOW,
+ &session->ttyset_old);
+-#if defined(_HAVE_STRUCT_TERMIOS_C_ISPEED)
+ }
+-#endif
+ gpsd_report(LOG_SPIN, "close(%d) in gpsd_close(%s)\n",
+ session->gpsdata.gps_fd, session->gpsdata.dev.path);
+ (void)close(session->gpsdata.gps_fd);
+--
+1.7.8.3
+
diff --git a/sci-geosciences/gpsd/files/gpsd-3.4-chrpath.patch b/sci-geosciences/gpsd/files/gpsd-3.4-chrpath.patch
new file mode 100644
index 000000000000..c509e2d29968
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.4-chrpath.patch
@@ -0,0 +1,69 @@
+From 63a44d0cb5494ed1078de411b55cb1c9a8307cec Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Fri, 18 Nov 2011 19:09:27 -0500
+Subject: [PATCH] make chrpath optional
+
+There's no reason to require chrpath for distributions who only want to
+compile locally and then install elsewhere for packaging. So allow them
+to specify CHRPATH='' via the env to disable this requirement.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ SConstruct | 27 ++++++++++++++-------------
+ 1 files changed, 14 insertions(+), 13 deletions(-)
+
+diff --git a/SConstruct b/SConstruct
+index ccaca7d..68bf367 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -270,7 +270,7 @@ def installdir(dir, add_destdir=True):
+
+ # Honor the specified installation prefix in link paths.
+ env.Prepend(LIBPATH=[installdir('libdir')])
+-if env["shared"]:
++if env["shared"] and env['CHRPATH']:
+ env.Prepend(RPATH=[installdir('libdir')])
+
+ # Give deheader a way to set compiler flags
+@@ -390,17 +390,18 @@ config = Configure(env, custom_tests = { 'CheckPKG' : CheckPKG,
+ 'CheckXsltproc' : CheckXsltproc})
+
+ env.Prepend(LIBPATH=[os.path.realpath(os.curdir)])
+-if config.CheckExecutable('$CHRPATH -v', 'chrpath'):
+- # Tell generated binaries to look in the current directory for
+- # shared libraries so we can run tests without hassle. Should be
+- # handled sanely by scons on all systems. Not good to use '.' or
+- # a relative path here; it's a security risk. At install time we
+- # use chrpath to edit this out of RPATH.
+- if env["shared"]:
+- env.Prepend(RPATH=[os.path.realpath(os.curdir)])
+-else:
+- print "chrpath is not available, forcing static linking."
+- env["shared"] = False
++if env['CHRPATH']:
++ if config.CheckExecutable('$CHRPATH -v', 'chrpath'):
++ # Tell generated binaries to look in the current directory for
++ # shared libraries so we can run tests without hassle. Should be
++ # handled sanely by scons on all systems. Not good to use '.' or
++ # a relative path here; it's a security risk. At install time we
++ # use chrpath to edit this out of RPATH.
++ if env["shared"]:
++ env.Prepend(RPATH=[os.path.realpath(os.curdir)])
++ else:
++ print "chrpath is not available, forcing static linking."
++ env["shared"] = False
+
+ confdefs = ["/* gpsd_config.h. Generated by scons, do not hand-hack. */\n"]
+
+@@ -1140,7 +1141,7 @@ if qt_env:
+ binaryinstall.append(LibraryInstall(qt_env, installdir('libdir'), compiled_qgpsmmlib))
+
+ # We don't use installdir here in order to avoid having DESTDIR affect the rpath
+-if env["shared"]:
++if env['CHRPATH']:
+ env.AddPostAction(binaryinstall, '$CHRPATH -r "%s" "$TARGET"' \
+ % (installdir('libdir', False), ))
+
+--
+1.7.8.3
+
diff --git a/sci-geosciences/gpsd/files/gpsd-3.4-gpsmon-lm.patch b/sci-geosciences/gpsd/files/gpsd-3.4-gpsmon-lm.patch
new file mode 100644
index 000000000000..a749fcf05100
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.4-gpsmon-lm.patch
@@ -0,0 +1,29 @@
+From 55131187b6a0290f99d1dd70b5cce48040bba7bb Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Fri, 13 Jan 2012 11:53:39 -0500
+Subject: [PATCH] gpsmon: always link with -lm
+
+Since the gpsmon pkg uses math funcs itself (and not just via libgps),
+we need to link in -lm for the app.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ SConstruct | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/SConstruct b/SConstruct
+index 68bf367..a5249c1 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -851,7 +851,7 @@ gpsdctl = env.Program('gpsdctl', ['gpsdctl.c'], parse_flags=gpslibs)
+ env.Depends(gpsdctl, compiled_gpslib)
+
+ gpsmon = env.Program('gpsmon', gpsmon_sources,
+- parse_flags=gpsdlibs + ncurseslibs)
++ parse_flags=gpsdlibs + ncurseslibs + ['-lm'])
+ env.Depends(gpsmon, [compiled_gpsdlib, compiled_gpslib])
+
+ gpspipe = env.Program('gpspipe', ['gpspipe.c'], parse_flags=gpslibs)
+--
+1.7.8.3
+
diff --git a/sci-geosciences/gpsd/files/gpsd-3.4-no-man-gen.patch b/sci-geosciences/gpsd/files/gpsd-3.4-no-man-gen.patch
new file mode 100644
index 000000000000..20a3b707a4c3
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.4-no-man-gen.patch
@@ -0,0 +1,13 @@
+the scons logic is dumb and will always regenerate the man pages.
+forcibly disable that as the releases contain the man pages.
+
+--- a/SConstruct
++++ b/SConstruct
+@@ -575,6 +575,7 @@
+ manbuilder = "xmlto man $SOURCE; mv `basename $TARGET` $TARGET"
+ else:
+ announce("Neither xsltproc nor xmlto found, documentation cannot be built.")
++manbuilder = htmlbuilder = False
+ if manbuilder:
+ env['BUILDERS']["Man"] = Builder(action=manbuilder)
+ env['BUILDERS']["HTML"] = Builder(action=htmlbuilder,
diff --git a/sci-geosciences/gpsd/files/gpsd-3.4-strptime.patch b/sci-geosciences/gpsd/files/gpsd-3.4-strptime.patch
new file mode 100644
index 000000000000..50a2b2755956
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.4-strptime.patch
@@ -0,0 +1,26 @@
+From 083ee79e5b6acbd08008965cbca496eb61957fa4 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Fri, 13 Jan 2012 11:56:12 -0500
+Subject: [PATCH] fix missing strptime prototype
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ gpsutils.c | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/gpsutils.c b/gpsutils.c
+index a1530ec..cc47d52 100644
+--- a/gpsutils.c
++++ b/gpsutils.c
+@@ -3,6 +3,8 @@
+ * This file is Copyright (c) 2010 by the GPSD project
+ * BSD terms apply: see the file COPYING in the distribution root for details.
+ */
++#define _XOPEN_SOURCE 700
++
+ #include <stdio.h>
+ #include <time.h>
+ #include <sys/time.h>
+--
+1.7.8.3
+
diff --git a/sci-geosciences/gpsd/files/gpsd-3.5-clock.patch b/sci-geosciences/gpsd/files/gpsd-3.5-clock.patch
new file mode 100644
index 000000000000..478b12a48194
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.5-clock.patch
@@ -0,0 +1,42 @@
+From f9f9bb6c10102f3d69a7f50e758a3a9256bf8744 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Mon, 21 May 2012 16:27:36 -0400
+Subject: [PATCH] fix building with clock_gettime and newer glibc
+
+Building with recent glibc versions fails in gpsutils.c due to missing
+definitions related to clock_gettime. This is because we define the
+_XOPEN_SOURCE macro, but not to a new enough value. So set it to a
+recent spec value that satisfies both strptime and clock_gettime.
+
+Example build failure with glibc-2.15:
+gpsutils.c: In function 'timestamp':
+gpsutils.c:299:22: error: storage size of 'ts' isn't known
+gpsutils.c:300:14: warning: implicit declaration of function 'clock_gettime' [-Wimplicit-function-declaration]
+gpsutils.c:300:34: error: 'CLOCK_REALTIME' undeclared (first use in this function)
+gpsutils.c:300:34: note: each undeclared identifier is reported only once for each function it appears in
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ gpsutils.c | 6 ++++--
+ 1 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/gpsutils.c b/gpsutils.c
+index 523838a..3b4990a 100644
+--- a/gpsutils.c
++++ b/gpsutils.c
+@@ -5,8 +5,10 @@
+ */
+
+ /* The strptime prototype is not provided unless explicitly requested.
+- * So add the define that POSIX says to to avoid: */
+-#define _XOPEN_SOURCE
++ * We also need to set the value high enough to signal inclusion of
++ * newer features (like clock_gettime). See the POSIX spec for more info:
++ * http://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_02_01_02 */
++#define _XOPEN_SOURCE 600
+
+ #include <stdio.h>
+ #include <time.h>
+--
+1.7.8.6
+
diff --git a/sci-geosciences/gpsd/files/gpsd-3.6-debug.patch b/sci-geosciences/gpsd/files/gpsd-3.6-debug.patch
new file mode 100644
index 000000000000..ecaf717b7391
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.6-debug.patch
@@ -0,0 +1,221 @@
+From 07ecfcc72d977cfd364f0337032d5be7a0ff64e0 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Wed, 23 May 2012 10:09:26 -0400
+Subject: [PATCH] nmea2000: fix build failures when debugging is disabled
+
+When debugging is disabled, there is no libgps_debuglevel, so building
+this driver fails with:
+driver_nmea2000.c: In function 'print_data':
+driver_nmea2000.c:50:10: error: 'libgps_debuglevel' undeclared (first use in this function)
+
+Add some ifdef to this driver to fix that, and change the return type
+of print_data to void since it always returns 0 and no one ever checks
+the return value.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ driver_nmea2000.c | 45 +++++++++++++++++++++++----------------------
+ 1 files changed, 23 insertions(+), 22 deletions(-)
+
+diff --git a/driver_nmea2000.c b/driver_nmea2000.c
+index 1db6686..b3d2734 100644
+--- a/driver_nmea2000.c
++++ b/driver_nmea2000.c
+@@ -44,8 +44,9 @@ typedef struct PGN
+ FILE *logFile = NULL;
+ #endif /* of if LOG_FILE */
+
+-static int print_data(unsigned char *buffer, int len, PGN *pgn)
++static void print_data(unsigned char *buffer, int len, PGN *pgn)
+ {
++#ifdef LIBGPS_DEBUG
+ /*@-bufferoverflowhigh@*/
+ if ((libgps_debuglevel >= LOG_IO) != 0) {
+ int l1, l2, ptr;
+@@ -67,7 +68,7 @@ static int print_data(unsigned char *buffer, int len, PGN *pgn)
+ gpsd_report(LOG_IO,"%s\n", bu);
+ }
+ /*@+bufferoverflowhigh@*/
+- return(0);
++#endif
+ }
+
+ static gps_mask_t get_mode(struct gps_device_t *session)
+@@ -84,7 +85,7 @@ static gps_mask_t get_mode(struct gps_device_t *session)
+
+ static gps_mask_t hnd_059392(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session)
+ {
+- (void)print_data(bu, len, pgn);
++ print_data(bu, len, pgn);
+ gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit);
+ return(0);
+ }
+@@ -92,7 +93,7 @@ static gps_mask_t hnd_059392(unsigned char *bu, int len, PGN *pgn, struct gps_de
+
+ static gps_mask_t hnd_060928(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session)
+ {
+- (void)print_data(bu, len, pgn);
++ print_data(bu, len, pgn);
+ gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit);
+ return(0);
+ }
+@@ -100,7 +101,7 @@ static gps_mask_t hnd_060928(unsigned char *bu, int len, PGN *pgn, struct gps_de
+
+ static gps_mask_t hnd_126208(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session)
+ {
+- (void)print_data(bu, len, pgn);
++ print_data(bu, len, pgn);
+ gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit);
+ return(0);
+ }
+@@ -108,7 +109,7 @@ static gps_mask_t hnd_126208(unsigned char *bu, int len, PGN *pgn, struct gps_de
+
+ static gps_mask_t hnd_126464(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session)
+ {
+- (void)print_data(bu, len, pgn);
++ print_data(bu, len, pgn);
+ gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit);
+ return(0);
+ }
+@@ -116,7 +117,7 @@ static gps_mask_t hnd_126464(unsigned char *bu, int len, PGN *pgn, struct gps_de
+
+ static gps_mask_t hnd_126996(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session)
+ {
+- (void)print_data(bu, len, pgn);
++ print_data(bu, len, pgn);
+ gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit);
+ return(0);
+ }
+@@ -124,7 +125,7 @@ static gps_mask_t hnd_126996(unsigned char *bu, int len, PGN *pgn, struct gps_de
+
+ static gps_mask_t hnd_129025(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session)
+ {
+- (void)print_data(bu, len, pgn);
++ print_data(bu, len, pgn);
+ gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit);
+
+ /*@-type@*//* splint has a bug here */
+@@ -140,7 +141,7 @@ static gps_mask_t hnd_129025(unsigned char *bu, int len, PGN *pgn, struct gps_de
+
+ static gps_mask_t hnd_129026(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session)
+ {
+- (void)print_data(bu, len, pgn);
++ print_data(bu, len, pgn);
+ gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit);
+
+ session->driver.nmea2000.sid[0] = bu[0];
+@@ -161,10 +162,10 @@ static gps_mask_t hnd_126992(unsigned char *bu, int len, PGN *pgn, struct gps_de
+ //uint8_t sid;
+ //uint8_t source;
+
+- (void)print_data(bu, len, pgn);
++ print_data(bu, len, pgn);
+ gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit);
+
+- (void)print_data(bu, len, pgn);
++ print_data(bu, len, pgn);
+ gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit);
+
+ //sid = bu[0];
+@@ -187,7 +188,7 @@ static gps_mask_t hnd_129539(unsigned char *bu, int len, PGN *pgn, struct gps_de
+ {
+ gps_mask_t mask;
+
+- (void)print_data(bu, len, pgn);
++ print_data(bu, len, pgn);
+ gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit);
+
+ mask = 0;
+@@ -222,7 +223,7 @@ static gps_mask_t hnd_129540(unsigned char *bu, int len, PGN *pgn, struct gps_de
+ {
+ int l1, l2;
+
+- (void)print_data(bu, len, pgn);
++ print_data(bu, len, pgn);
+ gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit);
+
+ session->driver.nmea2000.sid[2] = bu[0];
+@@ -261,7 +262,7 @@ static gps_mask_t hnd_129029(unsigned char *bu, int len, PGN *pgn, struct gps_de
+ {
+ gps_mask_t mask;
+
+- (void)print_data(bu, len, pgn);
++ print_data(bu, len, pgn);
+ gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit);
+
+ mask = 0;
+@@ -326,7 +327,7 @@ static gps_mask_t hnd_129029(unsigned char *bu, int len, PGN *pgn, struct gps_de
+
+ static gps_mask_t hnd_129038(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session)
+ {
+- (void)print_data(bu, len, pgn);
++ print_data(bu, len, pgn);
+ gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit);
+ return(0);
+ }
+@@ -334,7 +335,7 @@ static gps_mask_t hnd_129038(unsigned char *bu, int len, PGN *pgn, struct gps_de
+
+ static gps_mask_t hnd_129039(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session)
+ {
+- (void)print_data(bu, len, pgn);
++ print_data(bu, len, pgn);
+ gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit);
+ return(0);
+ }
+@@ -342,7 +343,7 @@ static gps_mask_t hnd_129039(unsigned char *bu, int len, PGN *pgn, struct gps_de
+
+ static gps_mask_t hnd_129040(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session)
+ {
+- (void)print_data(bu, len, pgn);
++ print_data(bu, len, pgn);
+ gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit);
+ return(0);
+ }
+@@ -350,7 +351,7 @@ static gps_mask_t hnd_129040(unsigned char *bu, int len, PGN *pgn, struct gps_de
+
+ static gps_mask_t hnd_129794(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session)
+ {
+- (void)print_data(bu, len, pgn);
++ print_data(bu, len, pgn);
+ gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit);
+ return(0);
+ }
+@@ -358,7 +359,7 @@ static gps_mask_t hnd_129794(unsigned char *bu, int len, PGN *pgn, struct gps_de
+
+ static gps_mask_t hnd_129798(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session)
+ {
+- (void)print_data(bu, len, pgn);
++ print_data(bu, len, pgn);
+ gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit);
+ return(0);
+ }
+@@ -366,7 +367,7 @@ static gps_mask_t hnd_129798(unsigned char *bu, int len, PGN *pgn, struct gps_de
+
+ static gps_mask_t hnd_129802(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session)
+ {
+- (void)print_data(bu, len, pgn);
++ print_data(bu, len, pgn);
+ gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit);
+ return(0);
+ }
+@@ -374,7 +375,7 @@ static gps_mask_t hnd_129802(unsigned char *bu, int len, PGN *pgn, struct gps_de
+
+ static gps_mask_t hnd_129809(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session)
+ {
+- (void)print_data(bu, len, pgn);
++ print_data(bu, len, pgn);
+ gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit);
+ return(0);
+ }
+@@ -382,7 +383,7 @@ static gps_mask_t hnd_129809(unsigned char *bu, int len, PGN *pgn, struct gps_de
+
+ static gps_mask_t hnd_129810(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session)
+ {
+- (void)print_data(bu, len, pgn);
++ print_data(bu, len, pgn);
+ gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit);
+ return(0);
+ }
+--
+1.7.8.6
+
diff --git a/sci-geosciences/gpsd/files/gpsd-3.6-rpath.patch b/sci-geosciences/gpsd/files/gpsd-3.6-rpath.patch
new file mode 100644
index 000000000000..ecff094e4a9f
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.6-rpath.patch
@@ -0,0 +1,13 @@
+don't set the -rpath flag to the install dir as this breaks DESTDIR
+
+--- a/SConstruct
++++ b/SConstruct
+@@ -268,7 +268,7 @@ def installdir(dir, add_destdir=True):
+
+ # Honor the specified installation prefix in link paths.
+ env.Prepend(LIBPATH=[installdir('libdir')])
+-if env["shared"]:
++if env["shared"] and env["chrpath"]:
+ env.Prepend(RPATH=[installdir('libdir')])
+
+ # Give deheader a way to set compiler flags
diff --git a/sci-geosciences/gpsd/files/gpsd-3.7-gps_regress.patch b/sci-geosciences/gpsd/files/gpsd-3.7-gps_regress.patch
new file mode 100644
index 000000000000..018431e1d6b9
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.7-gps_regress.patch
@@ -0,0 +1,63 @@
+https://bugs.gentoo.org/441760
+
+From 52dedf2ca8b31a8d113a1d9b14977d5d9b782744 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Wed, 27 Mar 2013 16:13:30 -0400
+Subject: [PATCH] fix build error when socket_export is disabled
+
+If you try to build with socket_export disabled, you'll hit a build
+failure due to gps_regress being undefined:
+
+NameError: name 'gps_regress' is not defined:
+ File "SConstruct", line 1519:
+ gps_regress,
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ SConstruct | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/SConstruct b/SConstruct
+index 1c187f3..a2b7a4c 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -1394,8 +1394,8 @@ else:
+ # using regress-drivers requires socket_export being enabled.
+ if env['socket_export']:
+ # Regression-test the daemon
+- gps_regress = Utility("gps-regress", [gpsd, python_built_extensions],
+- '$SRCDIR/regress-driver test/daemon/*.log')
++ gps_regress = [Utility("gps-regress", [gpsd, python_built_extensions],
++ '$SRCDIR/regress-driver test/daemon/*.log')]
+
+ # Test that super-raw mode works. Compare each logfile against itself
+ # dumped through the daemon running in R=2 mode. (This test is not
+@@ -1410,6 +1410,8 @@ if env['socket_export']:
+ # offset from subframe data.
+ Utility('gps-makeregress', [gpsd, python_built_extensions],
+ '$SRCDIR/regress-driver -b test/daemon/*.log')
++else:
++ gps_regress = []
+
+ # To build an individual test for a load named foo.log, put it in
+ # test/daemon and do this:
+@@ -1550,7 +1552,6 @@ flocktest = Utility("flocktest", [], "cd devtools; ./flocktest " + gitrepo)
+ check = env.Alias('check', [
+ python_compilation_regress,
+ bits_regress,
+- gps_regress,
+ rtcm_regress,
+ aivdm_regress,
+ packet_regress,
+@@ -1559,7 +1560,7 @@ check = env.Alias('check', [
+ time_regress,
+ unpack_regress,
+ json_regress,
+- ])
++ ] + gps_regress)
+
+ env.Alias('testregress', check)
+
+--
+1.8.1.2
+
diff --git a/sci-geosciences/gpsd/files/gpsd-3.7-no-export-t.patch b/sci-geosciences/gpsd/files/gpsd-3.7-no-export-t.patch
new file mode 100644
index 000000000000..bcfcaf185580
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.7-no-export-t.patch
@@ -0,0 +1,44 @@
+From b605a5fb47ab73412071b6571afcaef4b03c389d Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sat, 30 Mar 2013 16:35:42 -0400
+Subject: [PATCH] punt export_t
+
+Nothing is actually following the convention laid out by this enum,
+so punt it.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ libgps.h | 17 -----------------
+ 1 file changed, 17 deletions(-)
+
+diff --git a/libgps.h b/libgps.h
+index c16b6aa..d30353f 100644
+--- a/libgps.h
++++ b/libgps.h
+@@ -6,23 +6,6 @@
+ #ifndef _GPSD_LIBGPS_H_
+ #define _GPSD_LIBGPS_H_
+
+-/*
+- * first member of each kind of privdata structure must be named
+- * 'export_type' and must be of this type. It's how we do runtime
+- * dispatch to the different transports.
+- */
+-enum export_t {
+-#ifdef SOCKET_EXPORT_ENABLE
+- sockets,
+-#endif /* SOCKET_EXPORT_ENABLE */
+-#ifdef SHM_EXPORT_ENABLE
+- shm,
+-#endif /* SHM_EXPORT_ENABLE */
+-#ifdef DBUS_EXPORT_ENABLE
+- dbus,
+-#endif /* DBUS_EXPORT_ENABLE */
+-};
+-
+ /* values to poke in the gps_fd member if we get it via something special */
+ #define SHM_PSEUDO_FD -1
+ #define DBUS_PSEUDO_FD -2
+--
+1.8.1.2
+
diff --git a/sci-geosciences/gpsd/files/gpsd-3.7-rpath.patch b/sci-geosciences/gpsd/files/gpsd-3.7-rpath.patch
new file mode 100644
index 000000000000..5419cd31f637
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.7-rpath.patch
@@ -0,0 +1,17 @@
+don't set the -rpath/-L flags to the install dir as this breaks DESTDIR
+
+--- a/SConstruct
++++ b/SConstruct
+@@ -268,11 +268,7 @@
+ return wrapped
+
+ # Honor the specified installation prefix in link paths.
+-if not env["sysroot"]:
+- env.Prepend(LIBPATH=[installdir('libdir')])
+-else:
+- env.Prepend(LIBPATH=[env["sysroot"] + installdir('libdir')])
+-if env["shared"]:
++if env["shared"] and env["chrpath"]:
+ env.Prepend(RPATH=[installdir('libdir')])
+
+ # Give deheader a way to set compiler flags
diff --git a/sci-geosciences/gpsd/files/gpsd-3.8-ldflags.patch b/sci-geosciences/gpsd/files/gpsd-3.8-ldflags.patch
new file mode 100644
index 000000000000..b41be8b66e54
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.8-ldflags.patch
@@ -0,0 +1,15 @@
+https://bugs.gentoo.org/391299
+
+split up linking flags into multiple arguments
+
+--- gpsd-3.8/SConstruct
++++ gpsd-3.8/SConstruct
+@@ -214,7 +214,7 @@
+ env.Replace(**{j: os.getenv(i)})
+ for flag in ["LDFLAGS", "LINKFLAGS", "SHLINKFLAGS", "CPPFLAGS"]:
+ if os.environ.has_key(flag):
+- env.MergeFlags({flag : [os.getenv(flag)]})
++ env.MergeFlags({flag : Split(os.getenv(flag))})
+
+
+ # Placeholder so we can kluge together something like VPATH builds.
diff --git a/sci-geosciences/gpsd/files/gpsd-3.8-libgps.patch b/sci-geosciences/gpsd/files/gpsd-3.8-libgps.patch
new file mode 100644
index 000000000000..ba22d2bda0e0
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.8-libgps.patch
@@ -0,0 +1,38 @@
+From da2369a8e72578b5c5636adb78accd8bf66b3311 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Mon, 11 Mar 2013 12:35:34 -0400
+Subject: [PATCH] libgps.a: fix building w/dbus support
+
+The current libgps.a logic doesn't pass down pkg-config output from
+dbus and such which breaks building when compiling:
+
+gcc -o libgps_dbus.o -c -D_GNU_SOURCE -Wextra -Wall -Wno-uninitialized \
+ -Wno-missing-field-initializers -Wcast-align -Wmissing-declarations \
+ -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith -Wreturn-type \
+ -O2 libgps_dbus.c
+libgps_dbus.c:26:23: fatal error: dbus/dbus.h: No such file or directory
+compilation terminated.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ SConstruct | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/SConstruct b/SConstruct
+index e5d1f54..a56fa9b 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -886,7 +886,9 @@ gpsdlibs = ["-lgpsd"] + usblibs + bluezlibs + gpslibs + caplibs
+ # linking
+ # The final executable will build but not be portable.
+
+-env.StaticLibrary(target = 'libgps.a', source = libgps_sources)
++env.StaticLibrary(target='libgps.a',
++ source=libgps_sources,
++ parse_flags=dbus_libs + rtlibs)
+
+ # Source groups
+
+--
+1.8.1.2
+
diff --git a/sci-geosciences/gpsd/files/gpsd-3.8-no-export-t.patch b/sci-geosciences/gpsd/files/gpsd-3.8-no-export-t.patch
new file mode 100644
index 000000000000..c56929abb14a
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.8-no-export-t.patch
@@ -0,0 +1,44 @@
+From b605a5fb47ab73412071b6571afcaef4b03c389d Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sat, 30 Mar 2013 16:35:42 -0400
+Subject: [PATCH] punt export_t
+
+Nothing is actually following the convention laid out by this enum,
+so punt it.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ libgps.h | 17 -----------------
+ 1 file changed, 17 deletions(-)
+
+diff --git a/libgps.h b/libgps.h
+index c16b6aa..d30353f 100644
+--- a/libgps.h
++++ b/libgps.h
+@@ -6,23 +6,6 @@
+ #ifndef _GPSD_LIBGPS_H_
+ #define _GPSD_LIBGPS_H_
+
+-/*
+- * first member of each kind of privdata structure must be named
+- * 'export_type' and must be of this type. It's how we do runtime
+- * dispatch to the different transports.
+- */
+-enum export_t {
+-#ifdef SOCKET_EXPORT_ENABLE
+- sockets,
+-#endif /* SOCKET_EXPORT_ENABLE */
+-#ifdef SHM_EXPORT_ENABLE
+- shm,
+-#endif /* SHM_EXPORT_ENABLE */
+-#ifdef DBUS_EXPORT_ENABLE
+- dbus,
+-#endif /* DBUS_EXPORT_ENABLE */
+-};
+-
+ /* values to poke in the gps_fd member if we get it via something special */
+ #define SHM_PSEUDO_FD -1
+ #define DBUS_PSEUDO_FD -2
+--
+1.8.1.2
+
diff --git a/sci-geosciences/gpsd/files/gpsd-3.8-udev.patch b/sci-geosciences/gpsd/files/gpsd-3.8-udev.patch
new file mode 100644
index 000000000000..f6b783e5c3cf
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.8-udev.patch
@@ -0,0 +1,38 @@
+From 2e7d2e22935950ece32ff3acd6837c79800752dd Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Mon, 11 Mar 2013 13:21:14 -0400
+Subject: [PATCH] fix DESTDIR handling with udev rules install again
+
+Commit 102e29d16c3fd9b414eeac53c794302f902ae8da reverted the DESTDIR
+logic when upgrading the udev path handling.
+
+It also slightly broke the mkdir setup by not creating the rules.d
+subdir under the udev path.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ SConstruct | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/SConstruct b/SConstruct
+index a56fa9b..1c187f3 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -1662,10 +1662,10 @@ if env['python']:
+ # is plugged in.
+
+ Utility('udev-install', 'install', [
+- 'mkdir -p ' + env['udevdir'],
+- 'cp $SRCDIR/gpsd.rules ' + env['udevdir'] + '/rules.d/25-gpsd.rules',
+- 'cp $SRCDIR/gpsd.hotplug ' + env['udevdir'],
+- 'chmod a+x ' + env['udevdir'] + '/gpsd.hotplug',
++ 'mkdir -p ' + DESTDIR + env['udevdir'] + '/rules.d',
++ 'cp $SRCDIR/gpsd.rules ' + DESTDIR + env['udevdir'] + '/rules.d/25-gpsd.rules',
++ 'cp $SRCDIR/gpsd.hotplug ' + DESTDIR + env['udevdir'],
++ 'chmod a+x ' + DESTDIR + env['udevdir'] + '/gpsd.hotplug',
+ ])
+
+ Utility('udev-uninstall', '', [
+--
+1.8.1.2
+
diff --git a/sci-geosciences/gpsd/files/gpsd.conf-2 b/sci-geosciences/gpsd/files/gpsd.conf-2
new file mode 100644
index 000000000000..b077fdbf9cde
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd.conf-2
@@ -0,0 +1,8 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# Config file for gpsd server
+GPSD_OPTIONS=""
+DEVICES=""
+GPSD_SOCKET="/var/run/gpsd.sock"
diff --git a/sci-geosciences/gpsd/files/gpsd.init-2 b/sci-geosciences/gpsd/files/gpsd.init-2
new file mode 100755
index 000000000000..ad734e34d987
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd.init-2
@@ -0,0 +1,39 @@
+#!/sbin/runscript
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ after dbus
+ before ntpd
+}
+
+PIDFILE=/var/run/${SVCNAME}.pid
+DAEMON=/usr/sbin/gpsd
+
+checkconfig() {
+ # Note: these GPSD_xxx var names should be kept in sync with the udev rules.
+ if [ -z "${GPSD_SOCKET}" ] && [ -z "${DEVICES}" ]; then
+ GPSD_SOCKET="/var/run/gpsd.sock"
+ fi
+
+ if [ -n "${GPSD_SOCKET}" ]; then
+ GPSD_OPTIONS="${GPSD_OPTIONS} -F ${GPSD_SOCKET}"
+ fi
+}
+
+start() {
+ checkconfig
+ ebegin "Starting gpsd"
+
+ start-stop-daemon --start --quiet --pidfile ${PIDFILE} --exec ${DAEMON} -- \
+ ${GPSD_OPTIONS} -P ${PIDFILE} ${DEVICES}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping gpsd"
+ start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile ${PIDFILE}
+ eend $?
+ rm -f ${PIDFILE}
+}