summaryrefslogtreecommitdiff
path: root/staging/gpsd
diff options
context:
space:
mode:
Diffstat (limited to 'staging/gpsd')
-rw-r--r--staging/gpsd/PKGBUILD83
-rwxr-xr-xstaging/gpsd/gpsd43
-rw-r--r--staging/gpsd/gpsd.conf.d5
-rw-r--r--staging/gpsd/gpsd.install11
4 files changed, 142 insertions, 0 deletions
diff --git a/staging/gpsd/PKGBUILD b/staging/gpsd/PKGBUILD
new file mode 100644
index 000000000..0bdb7e748
--- /dev/null
+++ b/staging/gpsd/PKGBUILD
@@ -0,0 +1,83 @@
+# $Id: PKGBUILD 161333 2012-06-09 19:56:32Z tomegun $
+# Maintainer: Tom Gundersen <teg@jklm.no>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Giacomo Rizzo <alt@free-os.it>
+
+pkgname=gpsd
+pkgver=3.6
+pkgrel=1
+pkgdesc="GPS daemon and library to support USB/serial GPS devices"
+arch=('i686' 'x86_64')
+url="http://catb.org/gpsd/"
+license=('BSD')
+depends=('python2' 'libusb' 'bluez' 'desktop-file-utils')
+optdepends=('php: generate a PHP status page for your GPS'
+ 'php-gd: image support for the PHP status page'
+ 'pygtk: GUI frontends')
+makedepends=('scons' 'docbook-xsl' 'chrpath')
+backup=('etc/conf.d/gpsd')
+options=('!libtool')
+install="${pkgname}.install"
+source=("http://download.savannah.gnu.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz"{,.sig}
+ 'gpsd' 'gpsd.conf.d')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # fix python 2.7 path
+ sed -i -e "s|#![ ]*/usr/bin/python$|#!/usr/bin/python2|" \
+ -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" \
+ $(find . -name '*.py')
+ sed -i 's|/usr/bin/env python|/usr/bin/env python2|' gegps \
+ gpscat gpsfake gpsprof xgps xgpsspeed
+
+ scons prefix=/usr \
+ systemd=yes \
+ libQgpsmm=no \
+ PYTHONPATH=/usr/bin/python2
+ scons build
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # Fix man pages path (FS#21715)
+ sed -i 's|.so gps.1|.so man1/gps.1|' cgps.1 lcdgps.1 xgps.1 xgpsspeed.1
+
+ export DESTDIR="${pkgdir}"
+ scons install
+
+ install -D -m644 "${srcdir}/gpsd.conf.d" "${pkgdir}/etc/conf.d/gpsd"
+
+ sed -i 's|/lib/udev/gpsd|/usr/lib/udev/gpsd|' gpsd.rules
+
+ install -D -m644 "gpsd.rules" "${pkgdir}/usr/lib/udev/rules.d/99-gpsd-usb.rules"
+
+ sed -i 's|/etc/default/gpsd|/etc/conf.d/gpsd|' gpsd.hotplug
+ install -D -m755 gpsd.hotplug "${pkgdir}/usr/lib/udev/gpsd.hotplug"
+
+ # GPSD needs RPATH
+ chrpath -r /usr/lib/ "${pkgdir}"/usr/lib/libgps{,d}.so.20.0.0
+ chrpath -r /usr/lib/ "${pkgdir}"/usr/bin/{gpsdecode,gpsctl,gpspipe,gpxlogger,lcdgps}
+ chrpath -r /usr/lib/ "${pkgdir}"/usr/sbin/{gpsd,gpsdctl}
+ chrpath -r /usr/lib/ "${pkgdir}"/usr/lib/python2.7/site-packages/gps/{clienthelpers,packet}.so
+
+ install -D -m644 packaging/X11/xgps.desktop \
+ "${pkgdir}/usr/share/applications/xgps.desktop"
+ install -D -m644 packaging/X11/xgpsspeed.desktop \
+ "${pkgdir}/usr/share/applications/xgpsspeed.desktop"
+ install -D -m644 packaging/X11/gpsd-logo.png \
+ "${pkgdir}/usr/share/gpsd/gpsd-logo.png"
+
+ install -D -m755 "${srcdir}/gpsd" "${pkgdir}/etc/rc.d/gpsd"
+
+ install -D -m644 systemd/gpsd.service "${pkgdir}/usr/lib/systemd/system/gpsd.service"
+ install -D -m644 systemd/gpsd.socket "${pkgdir}/usr/lib/systemd/system/gpsd.socket"
+
+ install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+md5sums=('064a5ad75593f8c3ea3fe85010647832'
+ '6473da46f6bad52d38f88670f84cd92b'
+ '6602d04bb037bc500424f00f24f58837'
+ '3e963df3f9f7ef3572ecc648ae829315')
diff --git a/staging/gpsd/gpsd b/staging/gpsd/gpsd
new file mode 100755
index 000000000..2ca7efe26
--- /dev/null
+++ b/staging/gpsd/gpsd
@@ -0,0 +1,43 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+[ -f /etc/conf.d/gpsd ] && . /etc/conf.d/gpsd
+
+NAME=gpsd
+DAEMON=/usr/sbin/gpsd
+PIDFILE=/run/gpsd.pid
+PID=$(cat $PIDFILE 2>/dev/null)
+
+case "$1" in
+ start)
+ stat_busy "Starting gpsd"
+ [ -z "$PID" ] && "$DAEMON" -P $PIDFILE -F /run/gpsd.sock ${GPSD_OPTIONS} ${DEVICES}
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon $NAME
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping $NAME"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm -f $PIDFILE &>/dev/null
+ rm_daemon $NAME
+ stat_done
+ fi
+ ;;
+
+ restart)
+ $0 stop
+ sleep 2
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/staging/gpsd/gpsd.conf.d b/staging/gpsd/gpsd.conf.d
new file mode 100644
index 000000000..9fef72cb9
--- /dev/null
+++ b/staging/gpsd/gpsd.conf.d
@@ -0,0 +1,5 @@
+# Default settings for gpsd.
+START_DAEMON="true"
+GPSD_OPTIONS=""
+DEVICES=""
+USBAUTO="true"
diff --git a/staging/gpsd/gpsd.install b/staging/gpsd/gpsd.install
new file mode 100644
index 000000000..8f20cf484
--- /dev/null
+++ b/staging/gpsd/gpsd.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ update-desktop-database -q
+}
+
+post_remove() {
+ update-desktop-database -q
+}