package-$(BR2_PACKAGE_GMEDIASERVER) += gmediaserver
 package-$(BR2_PACKAGE_GMP) += gmp
 package-$(BR2_COMPILE_GNUTLS) += gnutls
+package-$(BR2_PACKAGE_GPSD) += gpsd
 package-$(BR2_PACKAGE_HASERL) += haserl
 package-$(BR2_PACKAGE_HOSTAPD) += hostapd
 package-$(BR2_PACKAGE_HOWL) += howl
 gdbserver-compile: ncurses-compile
 gmediaserver-compile: id3lib-compile libupnp-compile
 gnutls-compile: libgcrypt-compile opencdk-compile libtasn1-compile
+gpsd-compile: uclibc++-compile
 icecast-compile: curl-compile libvorbisidec-compile libxml2-compile libxslt-compile
 id3lib-compile: uclibc++-compile zlib-compile
 irssi-compile: glib-compile ncurses-compile
 
--- /dev/null
+config BR2_PACKAGE_GPSD
+       tristate "gpsd - An interface daemon for GPS receivers"
+       default m if CONFIG_DEVEL
+       select BR2_PACKAGE_LIBPTHREAD
+       select BR2_PACKAGE_UCLIBCXX
+       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/
+         
 
--- /dev/null
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=gpsd
+PKG_VERSION:=2.30
+PKG_RELEASE:=1
+PKG_MD5SUM:=dde177174878e8ae6db15f8010da46dd
+
+PKG_SOURCE_URL:=http://download.berlios.de/gpsd/
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_CAT:=zcat
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+include $(TOPDIR)/package/rules.mk
+
+$(eval $(call PKG_template,GPSD,gpsd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+
+$(PKG_BUILD_DIR)/.configured:
+       ( cd $(PKG_BUILD_DIR); rm -rf config.{cache,status}; \
+               $(TARGET_CONFIGURE_OPTS) \
+               CFLAGS="$(TARGET_CFLAGS)" \
+               CXXFLAGS="$(TARGET_CFLAGS) -fno-builtin -nostdinc++"  \
+               CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include" \
+               LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \
+               LIBS="-nodefaultlibs -luClibc++ -lc -lm -lnotimpl" \
+               ./configure \
+                       --target=$(GNU_TARGET_NAME) \
+                       --host=$(GNU_TARGET_NAME) \
+                       --build=$(GNU_HOST_NAME) \
+                       --program-prefix="" \
+                       --program-suffix="" \
+                       --prefix=/usr \
+                       --exec-prefix=/usr \
+                       --bindir=/usr/bin \
+                       --datadir=/usr/share \
+                       --includedir=/usr/include \
+                       --infodir=/usr/share/info \
+                       --libdir=/usr/lib \
+                       --libexecdir=/usr/lib \
+                       --localstatedir=/var \
+                       --mandir=/usr/share/man \
+                       --sbindir=/usr/sbin \
+                       --sysconfdir=/etc \
+                       $(DISABLE_LARGEFILE) \
+                       $(DISABLE_NLS) \
+                       --enable-shared \
+                       --enable-static \
+                       --with-gnu-ld \
+       );
+       touch $@
+
+$(PKG_BUILD_DIR)/.built:
+       rm -rf $(PKG_INSTALL_DIR)
+       mkdir -p $(PKG_INSTALL_DIR)
+       $(MAKE) -C $(PKG_BUILD_DIR) \
+               CXXLINK="\$$(LINK)" \
+               DESTDIR="$(PKG_INSTALL_DIR)" \
+               all install
+       touch $@
+
+$(IPKG_GPSD):
+       install -d -m0755 $(IDIR_GPSD)/usr/lib
+       cp -fpR $(PKG_INSTALL_DIR)/usr/lib/libgps.so.* $(IDIR_GPSD)/usr/lib/
+       install -d -m0755 $(IDIR_GPSD)/usr/sbin
+       cp -fpR $(PKG_INSTALL_DIR)/usr/sbin/gpsd $(IDIR_GPSD)/usr/sbin/
+       $(RSTRIP) $(IDIR_GPSD)
+       $(IPKG_BUILD) $(IDIR_GPSD) $(PACKAGE_DIR)
+
+$(STAGING_DIR)/usr/lib/libgps.so: $(PKG_BUILD_DIR)/.built
+       mkdir -p $(STAGING_DIR)/usr/include
+       cp -fpR $(PKG_INSTALL_DIR)/usr/include/gps{,d}.h $(STAGING_DIR)/usr/include/
+       cp -fpR $(PKG_INSTALL_DIR)/usr/include/libgpsmm.h $(STAGING_DIR)/usr/include/
+       mkdir -p $(STAGING_DIR)/usr/lib
+       cp -fpR $(PKG_INSTALL_DIR)/usr/lib/libgps.{a,so*} $(STAGING_DIR)/usr/lib/
+       touch $@
+
+install-dev: $(STAGING_DIR)/usr/lib/libgps.so
+
+uninstall-dev:
+       rm -rf \
+               $(STAGING_DIR)/usr/include/gps{,d}.h \
+               $(STAGING_DIR)/usr/include/libgpsmm.h \
+               $(STAGING_DIR)/usr/lib/libgps.{a,so*} \
+
+compile: install-dev
+clean: uninstall-dev