# $Id: PKGBUILD 229659 2015-01-22 18:35:34Z bpiotrowski $
# 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.11
pkgrel=5
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-libs' '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' 'hardening-wrapper')
backup=('etc/gpsd.conf')
install="${pkgname}.install"
source=("http://download.savannah.gnu.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz"{,.sig}
        'gpsd.conf'
        'gpsd-3.11-gpsdctl-service.patch')
validpgpkeys=('3CE764D4FAFF5FA810B203BFADF516D38421F11C') # Eric S. Raymond

prepare() {
  cd "${srcdir}/${pkgname}-${pkgver}"
  patch -p1 -i "${srcdir}/gpsd-3.11-gpsdctl-service.patch"

  # 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

  sed -i 's/sbin/bin/g' systemd/*.service
}

build() {
  cd "${srcdir}/${pkgname}-${pkgver}"

  scons prefix=/usr \
        systemd=yes \
        libQgpsmm=no \
        gpsd_group=uucp \
        PYTHONPATH=/usr/bin/python2 \
        sbindir=/usr/bin
  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" "${pkgdir}/etc/gpsd.conf"

  install -D -m644 "gpsd.rules" "${pkgdir}/usr/lib/udev/rules.d/25-gpsd-usb.rules"

  sed -i 's|/etc/default/gpsd|/etc/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.so.21.0.0
  chrpath -r /usr/lib/ "${pkgdir}"/usr/lib/libgpsd.so.22.0.0
  chrpath -r /usr/lib/ \
    "${pkgdir}"/usr/bin/{gpsdecode,gpsctl,gpspipe,gpxlogger,lcdgps,cgps,gpsmon} \
    "${pkgdir}"/usr/bin/{gpsd,gpsdctl,gps2udp}
  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 -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 systemd/gpsdctl@.service "${pkgdir}/usr/lib/systemd/system/gpsdctl@.service"

  install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}

md5sums=('ba28369992886fccb85ce560e4727e20'
         'SKIP'
         '3e963df3f9f7ef3572ecc648ae829315'
         '45932e924a0a415ce3c82d8a118fd7be')
