summaryrefslogtreecommitdiff
path: root/community-staging/gpsdrive
diff options
context:
space:
mode:
authorroot <root@rshg047.dnsready.net>2011-05-25 22:48:05 +0000
committerroot <root@rshg047.dnsready.net>2011-05-25 22:48:05 +0000
commit6e35be4b44d90f92ddceb8b067cbbf03fc652a35 (patch)
tree5a27309f3fe126e49f5a2f08f08b2526bc8d4dc2 /community-staging/gpsdrive
parent363d953113a327863013a9422c8212654a86a209 (diff)
Wed May 25 22:48:05 UTC 2011
Diffstat (limited to 'community-staging/gpsdrive')
-rw-r--r--community-staging/gpsdrive/PKGBUILD69
-rw-r--r--community-staging/gpsdrive/gpsd-2.96.patch44
-rw-r--r--community-staging/gpsdrive/gpsdrive.install4
3 files changed, 117 insertions, 0 deletions
diff --git a/community-staging/gpsdrive/PKGBUILD b/community-staging/gpsdrive/PKGBUILD
new file mode 100644
index 000000000..d7fafb285
--- /dev/null
+++ b/community-staging/gpsdrive/PKGBUILD
@@ -0,0 +1,69 @@
+# $Id: PKGBUILD 47650 2011-05-24 16:23:35Z jelle $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+# Maintainer: damir <damir@archlinux.org>
+
+pkgname=gpsdrive
+pkgver=2.11
+pkgrel=8
+pkgdesc="A car (bike, ship, plane) navigation system"
+arch=("i686" "x86_64")
+url="http://www.gpsdrive.de/"
+license=('GPL2')
+depends=('gtk2' 'gpsd' 'libxml2' 'curl' 'python2' 'boost-libs' 'gdal' 'mapnik' 'postgresql-libs' 'openstreetmap-map-icons-svn'
+ 'perl-date-manip' 'perl-timedate' 'perl-dbi' 'perl-file-slurp' 'perl-www-mechanize' 'perl-libwww' 'perl-uri'
+ 'perl-text-query' 'perl-www-curl' 'perl-xml-parser' 'perl-xml-simple' 'perl-xml-twig' 'perl-xml-writer'
+ ) # already in core ('sqlite3')
+makedepends=('cmake>=2.4.4' 'boost' 'cfitsio')
+install="gpsdrive.install"
+source=("http://www.gpsdrive.de/packages/${pkgname}-${pkgver}.tar.gz"
+ "gpsd-2.96.patch")
+md5sums=('6eeeca8e5c647115bea836d1f8fb6e0c'
+ '5769e12c6d8932fb721212434c64f505')
+
+build() {
+ cd "$srcdir"
+
+ # python2 fix
+ for file in $(find . -name '*.py' -print); do
+ sed -i 's_#!/usr/bin/python_#!/usr/bin/python2_' $file
+ sed -i 's_#!/usr/bin/env python_#!/usr/bin/env python2_' $file
+ done
+
+ rm -rf build
+ mkdir build
+ cd build
+
+ # fix the mapnik default values
+ sed -i 's|"/usr/lib/mapnik/0.7/input/"|"/usr/lib/mapnik/input/"|' "${srcdir}/gpsdrive-${pkgver}/src/gpsdrive_config.c"
+ sed -i 's|"/usr/share/fonts/truetype/ttf-dejavu/"|"/usr/share/fonts/TTF/"|' "${srcdir}/gpsdrive-${pkgver}/src/gpsdrive_config.c"
+
+ export CFLAGS=-I/usr/include/gdk-pixbuf-2.0/
+ export CPPFLAGS=-I/usr/include/gdk-pixbuf-2.0/
+ export CXXFLAGS=-I/usr/include/gdk-pixbuf-2.0/
+
+ export CXXFLAGS="${CXXFLAGS} -DBOOST_FILESYSTEM_VERSION=2"
+
+ # see DefineOptions.cmake for a list of common options and defaults
+ # cmake -L for a more in-depth listing
+ cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX="/usr" \
+ -DWITH_SCRIPTS=ON \
+ -DWITH_MAPNIK=ON \
+ -DWITH_POSTGIS=ON \
+ -DWITH_GDAL=ON \
+ -DWITH_BASEMAPS=ON \
+ -DWITH_FRIENDSD=ON \
+ -DWITH_KISMET=ON \
+ -DWITH_NAVIGATION=ON \
+ -DWITH_SPEECH=OFF \
+ -DWITH_DBUS=OFF \
+ -DLIBGPS_OLD=OFF \
+ "$srcdir/gpsdrive-$pkgver"
+ (cd "$srcdir/gpsdrive-$pkgver" && patch -p1 <$srcdir/gpsd-2.96.patch)
+ make
+}
+
+package() {
+ cd "$srcdir/build"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community-staging/gpsdrive/gpsd-2.96.patch b/community-staging/gpsdrive/gpsd-2.96.patch
new file mode 100644
index 000000000..bc6c7475f
--- /dev/null
+++ b/community-staging/gpsdrive/gpsd-2.96.patch
@@ -0,0 +1,44 @@
+diff -wbBur gpsdrive-2.11/src/gps_handler.c gpsdrive-2.11.my/src/gps_handler.c
+--- gpsdrive-2.11/src/gps_handler.c 2010-06-24 19:53:32.000000000 +0000
++++ gpsdrive-2.11.my/src/gps_handler.c 2011-04-18 13:21:33.000000000 +0000
+@@ -264,7 +264,8 @@
+ #define GPS_TIMER 500
+
+ static gint gps_timeout_source = 0;
+-static struct gps_data_t *gpsdata;
++static struct gps_data_t __gd;
++static struct gps_data_t *gpsdata = &__gd;
+
+ /* SYMBOLS USED IN LIBGPS:
+ *
+@@ -410,9 +411,10 @@
+ */
+ gps_query (gpsdata, "oys\n");
+ #else
+- if (gps_waiting(gpsdata))
++ if (gps_waiting(gpsdata, 1000000))
+ {
+- gps_poll (gpsdata);
++ gps_read (gpsdata);
++ gps_hook_cb(gpsdata, NULL);
+ }
+ #endif
+
+@@ -447,7 +449,7 @@
+ }
+
+ /* try to open connection */
+- gpsdata = gps_open (local_config.gpsd_server, local_config.gpsd_port);
++ gpsdata = gps_open (local_config.gpsd_server, local_config.gpsd_port, gpsdata) ? NULL : &__gd;
+ if (!gpsdata)
+ {
+ g_print ("Can't connect to gps daemon on %s:%s, disabling GPS support!\n",
+@@ -466,7 +468,7 @@
+ gps_sats = g_new (gps_satellite_struct, MAXCHANNELS);
+
+ /* set hook function to handle gps data */
+- gps_set_raw_hook (gpsdata, (gpointer) gps_hook_cb);
++// gps_set_raw_hook (gpsdata, (gpointer) gps_hook_cb);
+
+ #ifndef LIBGPS_OLD
+ /* enable watch mode to get data stream from gpsd */
diff --git a/community-staging/gpsdrive/gpsdrive.install b/community-staging/gpsdrive/gpsdrive.install
new file mode 100644
index 000000000..8ea63912e
--- /dev/null
+++ b/community-staging/gpsdrive/gpsdrive.install
@@ -0,0 +1,4 @@
+post_install() {
+ echo "Don't forget to generate geoinfo.db with geoinfo.pl script"
+ echo "Also you can check http://wiki.archlinux.org/index.php/GpsDrive"
+}