summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-navigation/gpsd/gpsd_3.27.5.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe/recipes-navigation/gpsd/gpsd_3.27.5.bb')
-rw-r--r--meta-oe/recipes-navigation/gpsd/gpsd_3.27.5.bb165
1 files changed, 165 insertions, 0 deletions
diff --git a/meta-oe/recipes-navigation/gpsd/gpsd_3.27.5.bb b/meta-oe/recipes-navigation/gpsd/gpsd_3.27.5.bb
new file mode 100644
index 0000000000..f7ca367fa4
--- /dev/null
+++ b/meta-oe/recipes-navigation/gpsd/gpsd_3.27.5.bb
@@ -0,0 +1,165 @@
1SUMMARY = "A TCP/IP Daemon simplifying the communication with GPS devices"
2SECTION = "console/network"
3LICENSE = "BSD-2-Clause"
4LIC_FILES_CHKSUM = "file://COPYING;md5=7a5d174db44ec45f9638b2c747806821"
5DEPENDS = "dbus ncurses python3 pps-tools"
6PROVIDES = "virtual/gpsd"
7BUGTRACKER = "https://gitlab.com/gpsd/gpsd/-/issues"
8HOMEPAGE = "https://gpsd.io/"
9
10SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \
11 file://gpsd.init \
12 "
13SRC_URI[sha256sum] = "409873f5048462ef1ac413a51ab35caa8b50b31be62b3347bee1cc2994e7c649"
14
15inherit scons update-rc.d python3-dir python3native systemd update-alternatives pkgconfig
16
17INITSCRIPT_PACKAGES = "gpsd-conf"
18INITSCRIPT_NAME = "gpsd"
19INITSCRIPT_PARAMS = "defaults 35"
20
21SYSTEMD_OESCONS = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false',d)}"
22
23export STAGING_INCDIR
24export STAGING_LIBDIR
25
26CLEANBROKEN = "1"
27
28PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} usb"
29PACKAGECONFIG[bluez] = "bluez='true',bluez='false',bluez5"
30PACKAGECONFIG[qt] = "qt='yes' qt_versioned=5,qt='no',qtbase"
31PACKAGECONFIG[pyserial] = ""
32PACKAGECONFIG[usb] = "usb='true',usb='false',libusb1"
33EXTRA_OESCONS = " \
34 sysroot=${STAGING_DIR_TARGET} \
35 libQgpsmm='false' \
36 debug='false' \
37 nostrip='true' \
38 systemd='${SYSTEMD_OESCONS}' \
39 libdir='${libdir}' \
40 sbindir='${sbindir}' \
41 udevdir='${nonarch_base_libdir}/udev' \
42 unitdir='${systemd_system_unitdir}' \
43 manbuild='false' \
44 LINK='${CC}' \
45 ${PACKAGECONFIG_CONFARGS} \
46"
47# This cannot be used, because then chrpath is not found and only static lib is built
48# target=${HOST_SYS}
49
50do_compile:prepend() {
51 export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
52 export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config"
53 export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}"
54 export CC="${CC}"
55 export LD="${CC}"
56 export LINKFLAGS="${LDFLAGS}"
57}
58
59do_install() {
60 export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
61 export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config"
62 export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}"
63 export LD="${CC}"
64 export LINKFLAGS="${LDFLAGS}"
65
66 export DESTDIR="${D}"
67 # prefix is used for RPATH and DESTDIR/prefix for installation
68 ${STAGING_BINDIR_NATIVE}/scons prefix=${prefix} python_libdir=${libdir} udev-install ${EXTRA_OESCONS} || \
69 bbfatal "scons install execution failed."
70}
71
72do_install:append() {
73 install -d ${D}${sysconfdir}/init.d
74 install -m 0755 ${UNPACKDIR}/gpsd.init ${D}${sysconfdir}/init.d/gpsd
75 install -d ${D}${sysconfdir}/default
76 install -m 0644 ${S}/packaging/deb/etc_default_gpsd ${D}${sysconfdir}/default/gpsd.default
77
78 # Support for python
79 if [ -d ${D}${libdir}/gps ]; then
80 install -d ${D}${PYTHON_SITEPACKAGES_DIR}/gps
81 install -m 755 ${D}${libdir}/gps/*.py ${D}${PYTHON_SITEPACKAGES_DIR}/gps
82 fi
83}
84
85PACKAGES =+ "libgps python3-pygps gpsd-udev gpsd-conf gpsd-gpsctl gpsd-snmp gps-utils gps-utils-python"
86
87RPROVIDES:${PN}-dbg += "python-pygps-dbg"
88
89FILES:${PN}-dev += "${libdir}/libQgpsmm.prl"
90
91FILES:${PN}-doc += "${datadir}/${BPN}/doc"
92
93RDEPENDS:${PN} = "gpsd-gpsctl"
94RRECOMMENDS:${PN} = "gpsd-conf gpsd-udev gpsd-machine-conf"
95
96SUMMARY:gpsd-udev = "udev relevant files to use gpsd hotplugging"
97FILES:gpsd-udev = "${nonarch_base_libdir}/udev"
98RDEPENDS:gpsd-udev += "udev gpsd-conf"
99
100SUMMARY:libgps = "C service library used for communicating with gpsd"
101FILES:libgps = "${libdir}/libgps.so.*"
102
103SUMMARY:gpsd-conf = "gpsd configuration files and init scripts"
104FILES:gpsd-conf = "${sysconfdir}"
105CONFFILES:gpsd-conf = "${sysconfdir}/default/gpsd.default"
106
107SUMMARY:gpsd-gpsctl = "Tool for tweaking GPS modes"
108FILES:gpsd-gpsctl = "${bindir}/gpsctl"
109
110SUMMARY:gpsd-snmp = "MIB for using SNMP with gpsd"
111FILES:gpsd-snmp = "${datadir}/snmp"
112
113SUMMARY:gps-utils = "Utils used for simulating, monitoring,... a GPS"
114FILES:gps-utils = "\
115 ${bindir}/cgps \
116 ${bindir}/gps2udp \
117 ${bindir}/gpsctl \
118 ${bindir}/gpsdebuginfo \
119 ${bindir}/gpsdecode \
120 ${bindir}/gpsmon \
121 ${bindir}/gpspipe \
122 ${bindir}/gpsrinex \
123 ${bindir}/gpssnmp \
124 ${bindir}/gpxlogger \
125 ${bindir}/lcdgps \
126 ${bindir}/ntpshmmon \
127 ${bindir}/ppscheck \
128"
129RRECOMMENDS:gps-utils = "gps-utils-python"
130
131SUMMARY:gps-utils-python = "Python utils used for simulating, monitoring,... a GPS"
132FILES:gps-utils-python = "\
133 ${bindir}/gegps \
134 ${bindir}/gpscat \
135 ${bindir}/gpscsv \
136 ${bindir}/gpsfake \
137 ${bindir}/gpsplot \
138 ${bindir}/gpsprof \
139 ${bindir}/gpssubframe \
140 ${bindir}/ubxtool \
141 ${bindir}/xgps \
142 ${bindir}/xgpsspeed \
143 ${bindir}/zerk \
144"
145RDEPENDS:gps-utils-python = "python3-pygps"
146
147SUMMARY:python3-pygps = "Python bindings to gpsd"
148FILES:python3-pygps = "${PYTHON_SITEPACKAGES_DIR}/* ${libdir}/gps/*.py ${libdir}/*.egg-info"
149RDEPENDS:python3-pygps = " \
150 python3-core \
151 python3-io \
152 ${@bb.utils.contains('PACKAGECONFIG', 'pyserial', 'python3-pyserial', '', d)} \
153 python3-threading \
154 python3-terminal \
155 gpsd \
156 python3-json"
157
158RPROVIDES:${PN} += "${PN}-systemd"
159RREPLACES:${PN} += "${PN}-systemd"
160RCONFLICTS:${PN} += "${PN}-systemd"
161SYSTEMD_SERVICE:${PN} = "${BPN}.socket ${BPN}ctl@.service"
162
163ALTERNATIVE:${PN} = "gpsd-defaults"
164ALTERNATIVE_LINK_NAME[gpsd-defaults] = "${sysconfdir}/default/gpsd"
165ALTERNATIVE_TARGET[gpsd-defaults] = "${sysconfdir}/default/gpsd.default"