description="GPS daemon and library to support USB/serial GPS devices"
url="http://catb.org/gpsd/"

packager="tnut <tnut@nutyx.org>"
contributors="Spiky"

name=gpsd
version=3.24
release=2
makedepends=(tar asciidoc bluez docbook-xsl gtk3 libusb python qtbase scons
             python-gobject python-cairo)
run=(python)

source=(http://download-mirror.savannah.gnu.org/releases/gpsd/gpsd-${version}.tar.gz)

build() {
 cd $name-$version
 scons LINKFLAGS="${LDFLAGS}" \
 CC=$CC CXX=$CXX CCFLAGS="$CFLAGS" \
 CXXFLAGS="$CXXFLAGS" prefix=/usr \
 destdir=${PKG} DESTDIR=${PKG} \
 systemd=no \
 libQgpsmm=no \
 gpsd_group=uucp
 scons build
 export DESTDIR=$PKG
 scons prefix=/usr destdir=$PKG DESTDIR=$PKG install
 # Wrong location
 mv $PKG/usr/local/lib/python* $PKG/usr/lib

 # Missing files
 install -Dm755 gpsinit -t $PKG/usr/bin
 chmod 755 $PKG/usr/bin/*

 mkdir -p $PKG/etc/sysconfig
 cat > $PKG/etc/sysconfig/gpsd.example << "EOF"
# Default settings for gpsd.
START_DAEMON="true"
GPSD_OPTIONS=""
DEVICES=""
USBAUTO="true"
GPSD_SOCKET="/var/run/gpsd.sock"
EOF

install -Dm644 $name-$version/gpsd.rules $PKG/lib/udev/rules.d/25-gpsd-usb.rules
install -Dm755 gpsd.hotplug $PKG/lib/udev/gpsd.hotplug

sed -i "s@gps%n"@gps%n" , MODE="0666"@g" \
$PKG/lib/udev/rules.d/25-gpsd-usb.rules

install -Dm644 packaging/X11/xgps.desktop \
    $PKG/usr/share/applications/xgps.desktop
install -Dm644 packaging/X11/xgpsspeed.desktop \
    $PKG/usr/share/applications/xgpsspeed.desktop
install -Dm644 packaging/X11/gpsd-logo.png \
    $PKG/usr/share/gpsd/gpsd-logo.png

# Service
mkdir -p $PKG/etc/rc.d/init.d
cat  > $PKG/etc/rc.d/init.d/gpsd << "EOF"
#/bin/sh

. /lib/lsb/init-functions

NAME=gpsd
DAEMON=/usr/sbin/$NAME
PIDFILE=/var/run/$NAME.pid
SOCK=/var/run/$NAME.sock
[ -r /etc/sysconfig/$NAME ] && . /etc/sysconfig/$NAME

if [ -z "$GPSD_SOCKET" ] && [ -z "$DEVICES" ]; then
        GPSD_SOCKET=/var/run/gpsd.sock
fi

if [ -n "$GPSD_SOCKET" ]; then
        GPSD_OPTIONS="$GPSD_OPTIONS -F $GPSD_SOCKET"
fi

start() {
        log_info_msg "Starting GPS (Global Positioning System) Daemon..."
        $DAEMON $GPSD_OPTIONS -P $PIDFILE $DEVICES
        evaluate_retval
}
stop() {
	log_info_msg "Stopping GPS (Global Positioning System) Daemon..."
	kill `cat $PIDFILE`
	rm -f $PIDFILE
	evaluate_retval
}
status() {
	pid=`pidof $DAEMON`
	if [ "$pid" ]; then
		echo "GPS Daemon running on PID $pid"
	else
		echo "GPS Daemon not running"
	fi
}
case $1 in
	start)
		start
		;;
	stop)
		stop
		;;
	restart)
		stop
		start
		;;
	status)
		status
		;;
         *)
                 echo "Usage: $0 {start|stop|restart|status}"
                 ;;
esac
EOF
chmod 755 $PKG/etc/rc.d/init.d/gpsd

mkdir -p $PKG/etc/rc.d/rc{0,1,2,3,4,5,6}.d
for i in 0 1 2 6
do
  ln -sf  ../init.d/gpsd $PKG/etc/rc.d/rc${i}.d/K28gpsd
done
for i in 3 4 5
do
  ln -sf  ../init.d/gpsd $PKG/etc/rc.d/rc${i}.d/S32gpsd
done
}
