From 9e9ab642711f2424f828e21d14b98c45cdef2b29 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 1 Dec 2011 23:14:46 +0000 Subject: Thu Dec 1 23:14:46 UTC 2011 --- community-testing/gpsdrive/PKGBUILD | 69 +++++++++++++++++++++++++++++ community-testing/gpsdrive/gpsd-2.96.patch | 44 ++++++++++++++++++ community-testing/gpsdrive/gpsdrive.install | 4 ++ 3 files changed, 117 insertions(+) create mode 100644 community-testing/gpsdrive/PKGBUILD create mode 100644 community-testing/gpsdrive/gpsd-2.96.patch create mode 100644 community-testing/gpsdrive/gpsdrive.install (limited to 'community-testing/gpsdrive') diff --git a/community-testing/gpsdrive/PKGBUILD b/community-testing/gpsdrive/PKGBUILD new file mode 100644 index 000000000..bdc6b9143 --- /dev/null +++ b/community-testing/gpsdrive/PKGBUILD @@ -0,0 +1,69 @@ +# $Id: PKGBUILD 59747 2011-11-30 06:34:34Z ibiru $ +# Maintainer: Sergej Pupykin +# Contributor: Tom Newsom +# Maintainer: damir + +pkgname=gpsdrive +pkgver=2.11 +pkgrel=11 +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" + unset LDFLAGS + + # 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-testing/gpsdrive/gpsd-2.96.patch b/community-testing/gpsdrive/gpsd-2.96.patch new file mode 100644 index 000000000..bc6c7475f --- /dev/null +++ b/community-testing/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-testing/gpsdrive/gpsdrive.install b/community-testing/gpsdrive/gpsdrive.install new file mode 100644 index 000000000..8ea63912e --- /dev/null +++ b/community-testing/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" +} -- cgit v1.2.3-54-g00ecf