openwrt-packages/utils/gpsd/Makefile

168 lines
4.4 KiB
Makefile
Raw Normal View History

#
# Copyright (C) 2006-2015 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=gpsd
PKG_VERSION:=3.23.1
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@SAVANNAH/$(PKG_NAME)
PKG_HASH:=ca2c466df783c57b8a07ad3f5c67943186d05befdc377de938ed111d1358a8c1
PKG_MAINTAINER:=Pushpal Sidhu <psidhu.devel@gmail.com>
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=COPYING
PKG_CPE_ID:=cpe:/a:berlios:gps_daemon
PKG_BUILD_DEPENDS:=scons/host
include $(INCLUDE_DIR)/package.mk
include ../../devel/scons/scons.mk
define Package/gpsd/Default
DEPENDS+= +libusb-1.0
gpsd: update to v3.19 From gpsd NEWS: 3.19: 2019-07-01 Rearrange rawdata_t. Bump the API because gps_data_t changed. Report sequence-ID fields in type 7 and 13 AIS messages. Preliminary support for SiRFstar V Improve error modeling. Update pseudo NMEA to v3.0, with fractional time. Improve cycle detection, mostly for NMEA. Move epe from gps_data_t to be near its friends in gps_fix_t. Preliminary u-blox 9 support. Add qErr in gps_data_t to store PPS quantization error. Add Android (AOSP) support Improved multi gnss and multi signal support. NMEA 4.10 multi gnss multi signal support. The arguments to "ubxtool -p P" have been expanded and changed. New options, -g, -x, -z, added to ubxtool for u-blox 9 support. 3.18.1: 2018-10-19 (Gary E. Miller <gem@rellim.com>) Fix some installation issues. A few minor updates to ubxtool and driver_ubx. Add contrib/skyview2svg 3.18: 2018-10-02 (Gary E. Miller <gem@rellim.com>) Add ECEF support to ievermore, italk,Skytraq, SiRF, U-blox drivers. Add ECEF support to JSON, cgps and xgps. Add GREIS (Javad) driver from Virgin Orbit. Add CLI tools zerk and ubxtool to manage JAVAD and u-blox GPS. Add gnssid:svid to satellite_t, cgps and xgps. PRN will die. Add gnssid:svid to JSON, cgps and xgps. Add stricter version checking (more to todo). More and better regression tests. Better Python dependency checking, at build time and runtime. Fix several buffer issues. New polar plots, and improved statistice, in gpsprof. gpsd master/slave mode works, first time ever. All isnan() changed to !isfinite(), fixing many bugs. Client-side Python libraries may automatically reconnect Too many other bug fixes and improvements to mention. Over 1,000 commits from 46 different commiters. Signed-off-by: Russell Senior <russell@personaltelco.net>
2019-07-28 10:54:26 +02:00
URL:=https://gpsd.gitlab.io/gpsd/
endef
define Package/gpsd/Default/description
gpsd is a userland daemon acting as a translator between GPS and AIS receivers
and their clients. gpsd listens on port 2947 for clients requesting
position/time/velocity information. The receivers are expected to generate
position information in a well-known format -- as NMEA-0183 sentences, SiRF
binary, Rockwell binary, Garmin binary format, or other vendor binary
protocols. gpsd takes this information from the GPS and translates it into
something uniform and easier to understand for clients.
endef
define Package/gpsd
$(call Package/gpsd/Default)
SECTION:=utils
CATEGORY:=Utilities
TITLE:=An interface daemon for GPS receivers
endef
define Package/gpsd/conffiles
/etc/config/gpsd
endef
define Package/gpsd/description
$(call Package/gpsd/Default/description)
This package contains the GPS daemon.
endef
define Package/gpsd-clients
$(call Package/gpsd/Default)
SECTION:=utils
CATEGORY:=Utilities
DEPENDS+= +libncurses
TITLE:=GPS tools and clients
endef
define Package/gpsd-clients/description
$(call Package/gpsd/Default/description)
This package contains auxiliary tools and example clients for monitoring and
testing the GPS daemon.
endef
define Package/gpsd-utils
$(call Package/gpsd/Default)
SECTION:=utils
CATEGORY:=Utilities
TITLE:=GPS daemon utils
endef
define Package/gpsd-utils/description
$(call Package/gpsd/Default/description)
This package contains utilities for interacting with GPS daemon.
endef
define Package/libgps
$(call Package/gpsd/Default)
SECTION:=libs
CATEGORY:=Libraries
TITLE:=C service library for communicating with the GPS daemon
ABI_VERSION:=29
endef
define Package/libgps/description
$(call Package/gpsd/Default/description)
This package contains the libgps library.
endef
SCONS_VARS += \
CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS) -L$(STAGING_DIR)/usr/lib" \
LINKFLAGS="$(TARGET_LDFLAGS)"
SCONS_OPTIONS += \
dbus_export=no \
tsip=no \
fv18=no \
tripmate=no \
earthmate=no \
itrax=no \
navcom=no \
ubx=no \
evermore=no \
ntrip=no \
libgpsmm=no \
libQgpsmm=no \
bluez=no \
nostrip=yes \
python=no \
implicit_link=no \
chrpath=no \
manbuild=no \
sysroot="$(TOOLCHAIN_DIR)" \
target="$(TARGET_CROSS:-=)"
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/gps.h $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libgps*.so* $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libgps.pc $(1)/usr/lib/pkgconfig
$(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/libgps.pc
$(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/libgps.pc
endef
define Package/gpsd/install
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_CONF) ./files/gpsd.config $(1)/etc/config/gpsd
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/gpsd.init $(1)/etc/init.d/gpsd
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/gpsd $(1)/usr/sbin/
endef
define Package/gpsd-clients/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) \
$(PKG_INSTALL_DIR)/usr/bin/cgps \
$(PKG_INSTALL_DIR)/usr/bin/gps{ctl,decode,mon,pipe} \
$(PKG_INSTALL_DIR)/usr/bin/gpxlogger \
$(PKG_INSTALL_DIR)/usr/bin/lcdgps \
$(1)/usr/bin/
endef
define Package/gpsd-utils/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/gpsdctl $(1)/usr/sbin/
endef
define Package/libgps/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libgps.so.$(ABI_VERSION)* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,gpsd))
$(eval $(call BuildPackage,gpsd-clients))
$(eval $(call BuildPackage,gpsd-utils))
$(eval $(call BuildPackage,libgps))