summaryrefslogtreecommitdiff
path: root/community/viking
diff options
context:
space:
mode:
authorroot <root@rshg047.dnsready.net>2011-04-27 22:24:53 +0000
committerroot <root@rshg047.dnsready.net>2011-04-27 22:24:53 +0000
commit18d6577d511b9a1ac36eaae50060133a401e42a3 (patch)
treef681f9444a7a0a95916de40af82d3b805d5fb8d3 /community/viking
parent69e1fada8bdc9588d0a3d8bc3403fa809d809a84 (diff)
Wed Apr 27 22:24:53 UTC 2011
Diffstat (limited to 'community/viking')
-rw-r--r--community/viking/PKGBUILD13
-rw-r--r--community/viking/gpsd-2.96.patch47
2 files changed, 56 insertions, 4 deletions
diff --git a/community/viking/PKGBUILD b/community/viking/PKGBUILD
index 823893a45..6f73fc6ef 100644
--- a/community/viking/PKGBUILD
+++ b/community/viking/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 40427 2011-02-23 20:48:09Z jlichtblau $
+# $Id: PKGBUILD 45239 2011-04-18 13:40:23Z spupykin $
# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
# Contributor: Nick Østergaard <oe.nick@gmail.com>
# Contributor: Jonny Gerold <jonny@fsk141.com>
pkgname=viking
pkgver=1.1
-pkgrel=1
+pkgrel=2
pkgdesc="GTK+2 application to manage GPS data"
arch=('i686' 'x86_64')
url="http://viking.sourceforge.net/"
@@ -16,12 +16,17 @@ optdepends=('gpsbabel: for GPS management')
options=('!emptydirs')
install=$pkgname.install
changelog=$pkgname.changelog
-source=(http://downloads.sourceforge.net/viking/$pkgname-$pkgver.tar.gz)
-sha256sums=('5c34a76c09b6fda092e8170f7546606814382cf9d13174e87c4ee43fffa36743')
+source=(http://downloads.sourceforge.net/viking/$pkgname-$pkgver.tar.gz
+ gpsd-2.96.patch)
+sha256sums=('5c34a76c09b6fda092e8170f7546606814382cf9d13174e87c4ee43fffa36743'
+ '7277a6f0bbe7b16440ca92a5975c6f0b38261f13bbbb6f04e4fc684b8965c902')
build() {
cd ${srcdir}/$pkgname-$pkgver
+ patch -p1 <$srcdir/gpsd-2.96.patch
+ autoreconf
+
./configure --prefix=/usr
make
}
diff --git a/community/viking/gpsd-2.96.patch b/community/viking/gpsd-2.96.patch
new file mode 100644
index 000000000..01b117312
--- /dev/null
+++ b/community/viking/gpsd-2.96.patch
@@ -0,0 +1,47 @@
+diff -wbBur viking-1.1/configure.ac viking-1.1.my/configure.ac
+--- viking-1.1/configure.ac 2011-02-08 21:29:01.000000000 +0000
++++ viking-1.1.my/configure.ac 2011-04-18 13:31:07.000000000 +0000
+@@ -244,7 +244,7 @@
+ [ac_cv_enable_realtimegpstracking], [ac_cv_enable_realtimegpstracking=yes])
+ case $ac_cv_enable_realtimegpstracking in
+ yes)
+- AC_CHECK_LIB(gps,gps_poll,,AC_MSG_ERROR([libgps is needed for Realtime GPS Tracking feature[,] but not found. The feature can be disable with --disable-realtime-gps-tracking]))
++ AC_CHECK_LIB(gps,gps_read,,AC_MSG_ERROR([libgps is needed for Realtime GPS Tracking feature[,] but not found. The feature can be disable with --disable-realtime-gps-tracking]))
+ AC_DEFINE(VIK_CONFIG_REALTIME_GPS_TRACKING, [], [REALTIME GPS TRACKING STUFF])
+ ;;
+ esac
+diff -wbBur viking-1.1/src/vikgpslayer.c viking-1.1.my/src/vikgpslayer.c
+--- viking-1.1/src/vikgpslayer.c 2011-02-08 21:09:00.000000000 +0000
++++ viking-1.1.my/src/vikgpslayer.c 2011-04-18 13:35:48.000000000 +0000
+@@ -1377,8 +1377,11 @@
+ {
+ VikGpsLayer *vgl = data;
+ if (condition == G_IO_IN) {
+- if (!gps_poll(&vgl->vgpsd->gpsd))
++ if (!gps_read(&vgl->vgpsd->gpsd))
++ {
++ gpsd_raw_hook(&vgl->vgpsd->gpsd, NULL);
+ return TRUE;
++ }
+ else {
+ g_warning("Disconnected from gpsd. Trying to reconnect");
+ rt_gpsd_disconnect(vgl);
+@@ -1408,7 +1411,8 @@
+ {
+ VikGpsLayer *vgl = (VikGpsLayer *)data;
+ #ifndef HAVE_GPS_OPEN_R
+- struct gps_data_t *gpsd = gps_open(vgl->gpsd_host, vgl->gpsd_port);
++ static struct gps_data_t __gd;
++ struct gps_data_t *gpsd = gps_open(vgl->gpsd_host, vgl->gpsd_port, &__gd) ? NULL : &__gd;
+
+ if (gpsd == NULL) {
+ #else
+@@ -1439,7 +1443,7 @@
+ vik_trw_layer_add_track(vtl, vgl->realtime_track_name, vgl->realtime_track);
+ }
+
+- gps_set_raw_hook(&vgl->vgpsd->gpsd, gpsd_raw_hook);
++// gps_set_raw_hook(&vgl->vgpsd->gpsd, gpsd_raw_hook);
+ vgl->realtime_io_channel = g_io_channel_unix_new(vgl->vgpsd->gpsd.gps_fd);
+ vgl->realtime_io_watch_id = g_io_add_watch( vgl->realtime_io_channel,
+ G_IO_IN | G_IO_ERR | G_IO_HUP, gpsd_data_available, vgl);