summaryrefslogtreecommitdiff
path: root/package/gpsd
diff options
context:
space:
mode:
authorwbx <wbx@hydrogenium.(none)>2009-05-17 14:41:34 +0200
committerwbx <wbx@hydrogenium.(none)>2009-05-17 14:41:34 +0200
commit219a6dab8995aad9ac4860cc1a84d6f3509a03a4 (patch)
treeb9c0f3c43aebba2fcfef777592d0add39f2072f4 /package/gpsd
Initial import
Diffstat (limited to 'package/gpsd')
-rw-r--r--package/gpsd/Config.in26
-rw-r--r--package/gpsd/Makefile40
-rw-r--r--package/gpsd/ipkg/gpsd-clients.control5
-rw-r--r--package/gpsd/ipkg/gpsd.control5
-rw-r--r--package/gpsd/patches/patch-gpsd_h24
-rw-r--r--package/gpsd/patches/patch-sirfflash_c12
6 files changed, 112 insertions, 0 deletions
diff --git a/package/gpsd/Config.in b/package/gpsd/Config.in
new file mode 100644
index 000000000..f8c3614df
--- /dev/null
+++ b/package/gpsd/Config.in
@@ -0,0 +1,26 @@
+config ADK_PACKAGE_GPSD
+ prompt "gpsd.............................. An interface daemon for GPS receivers"
+ tristate
+ default n
+ depends on ADK_CXX
+ select ADK_PACKAGE_LIBPTHREAD
+ help
+ gpsd is a monitor daemon that watches a TCP/IP port (2947 by default),
+ waiting for applications to request information from GPSes or
+ differential-GPS radios attached to the host machine. Each GPS or
+ radio is expected to be direct-connected to the host via a USB or
+ RS232C serial port. The port may be specified to gpsd at startup, or
+ it may be set via a command shipped down a local control socket (e.g.
+ by a USB hotplug script). Given a GPS device by either means, gpsd
+ discovers the correct port speed and protocol for it.
+
+ http://gpsd.berlios.de/
+
+config ADK_PACKAGE_GPSD_CLIENTS
+ prompt "gpsd-clients.................... cgps and gpxlogger"
+ tristate
+ default y
+ depends on ADK_PACKAGE_GPSD
+ help
+ This enables the command-line GPS client "cgps" and
+ the "gpxlogger" tool for outputting standard GPX files.
diff --git a/package/gpsd/Makefile b/package/gpsd/Makefile
new file mode 100644
index 000000000..15e4d1305
--- /dev/null
+++ b/package/gpsd/Makefile
@@ -0,0 +1,40 @@
+# $Id$
+#-
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include ${TOPDIR}/rules.mk
+
+PKG_NAME:= gpsd
+PKG_VERSION:= 2.37
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 6c96cc0b2df0279cb7baac1ebc5881d3
+MASTER_SITES:= http://download.berlios.de/gpsd/
+
+include ${TOPDIR}/mk/package.mk
+
+$(eval $(call PKG_template,GPSD,gpsd,${PKG_VERSION}-${PKG_RELEASE},${ARCH}))
+$(eval $(call PKG_template,GPSD_CLIENTS,gpsd-clients,${PKG_VERSION}-${PKG_RELEASE},${ARCH}))
+
+CONFIGURE_STYLE= gnu
+CONFIGURE_ARGS+= --without-x \
+ --disable-python
+BUILD_STYLE= auto
+INSTALL_STYLE= auto
+XAKE_FLAGS= CXXLINK="\$$(LINK)"
+
+ifeq ($(ADK_TARGET_LIB_UCLIBCXX),y)
+TCXXFLAGS+= -fno-builtin -fno-rtti -nostdinc++
+TLDFLAGS+= -luClibc++ -lc -lm -nodefaultlibs
+else
+TLDFLAGS+= -shared
+endif
+
+post-install:
+ ${INSTALL_DIR} ${IDIR_GPSD}/usr/lib ${IDIR_GPSD}/usr/sbin
+ ${CP} ${WRKINST}/usr/lib/libgps.so.* ${IDIR_GPSD}/usr/lib
+ ${CP} ${WRKINST}/usr/sbin/gpsd ${IDIR_GPSD}/usr/sbin
+ ${INSTALL_DIR} ${IDIR_GPSD_CLIENTS}/usr/bin
+ ${CP} ${WRKINST}/usr/bin/{cgps,cgpxlogger} ${IDIR_GPSD_CLIENTS}/
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/gpsd/ipkg/gpsd-clients.control b/package/gpsd/ipkg/gpsd-clients.control
new file mode 100644
index 000000000..f8a15ada8
--- /dev/null
+++ b/package/gpsd/ipkg/gpsd-clients.control
@@ -0,0 +1,5 @@
+Package: gpsd-clients
+Priority: optional
+Section: net
+Depends: gpsd
+Description: Command-line clients for the GPS daemon.
diff --git a/package/gpsd/ipkg/gpsd.control b/package/gpsd/ipkg/gpsd.control
new file mode 100644
index 000000000..94618b69c
--- /dev/null
+++ b/package/gpsd/ipkg/gpsd.control
@@ -0,0 +1,5 @@
+Package: gpsd
+Priority: optional
+Section: net
+Depends: libpthread, uclibc++
+Description: An interface daemon for GPS receivers.
diff --git a/package/gpsd/patches/patch-gpsd_h b/package/gpsd/patches/patch-gpsd_h
new file mode 100644
index 000000000..50c8db101
--- /dev/null
+++ b/package/gpsd/patches/patch-gpsd_h
@@ -0,0 +1,24 @@
+$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
+--- gpsd-2.37.orig/gpsd.h 2008-02-17 18:47:00.000000000 +0100
++++ gpsd-2.37/gpsd.h 2008-10-09 14:08:46.000000000 +0200
+@@ -22,16 +22,16 @@
+ /* #undef DBUS_ENABLE */
+ #define EARTHMATE_ENABLE 1
+ #define EVERMORE_ENABLE 1
+-/* #undef FV18_ENABLE */
++#define FV18_ENABLE 1
+ /* #undef GARMINTXT_ENABLE */
+ #define GARMIN_ENABLE 1
+ #define GPSCLOCK_ENABLE 1
+ #define ITRAX_ENABLE 1
+ #define NAVCOM_ENABLE 1
+ #define NMEA_ENABLE 1
+-/* #undef NTPSHM_ENABLE */
+-/* #undef NTRIP_ENABLE */
+-/* #undef PPS_ENABLE */
++#define NTPSHM_ENABLE 1
++#define NTRIP_ENABLE 1
++#define PPS_ENABLE 1
+ #define RTCM104_ENABLE 1
+ #define SIRF_ENABLE 1
+ /* #undef SQUELCH_ENABLE */
diff --git a/package/gpsd/patches/patch-sirfflash_c b/package/gpsd/patches/patch-sirfflash_c
new file mode 100644
index 000000000..3664b374f
--- /dev/null
+++ b/package/gpsd/patches/patch-sirfflash_c
@@ -0,0 +1,12 @@
+$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
+--- gpsd-2.37.orig/sirfflash.c 2007-10-12 15:44:48.000000000 +0200
++++ gpsd-2.37/sirfflash.c 2008-10-09 14:17:23.000000000 +0200
+@@ -166,7 +166,7 @@ sirfSetProto(int pfd, struct termios *te
+
+ sirf[7] = sirf[6] = (unsigned char)proto;
+ /*@i@*/i = htonl(speed); /* borrow "i" to put speed into proper byte order */
+- /*@i@*/bcopy(&i, sirf+8, 4);
++ /*@i@*/memcpy(sirf+8, &i, 4);
+
+ /* send at whatever baud we're currently using */
+ (void)sirf_write(pfd, sirf);