Prepare for another gpsd update

3 views
Skip to first unread message

Kirill Bychkov

unread,
May 15, 2020, 2:30:31 AM5/15/20
to po...@openbsd.org, Sebastian Reitenbach, KDE porting team
Hi!
New gpsd-3.20 has some API changes which require fixes for consumers.
Patches below. OK?

foxtrotgps:
Index: Makefile
===================================================================
RCS file: /cvs/ports/geo/foxtrotgps/Makefile,v
retrieving revision 1.24
diff -u -p -u -r1.24 Makefile
--- Makefile 14 Jul 2019 04:41:36 -0000 1.24
+++ Makefile 7 May 2020 12:58:08 -0000
@@ -3,6 +3,7 @@
COMMENT = lightweight mapping application for use with or without GPS

DISTNAME = foxtrotgps-1.2.2
+REVISION = 0

CATEGORIES = geo x11

@@ -16,12 +17,12 @@ MAINTAINER = Kirill Bychkov <kirby@open
PERMIT_PACKAGE = Yes

WANTLIB += X11 Xcomposite Xcursor Xdamage Xext Xfixes Xi Xinerama Xrandr
-WANTLIB += Xrender atk-1.0 c cairo crypto curl exif expat ffi fontconfig
+WANTLIB += Xrender atk-1.0 c cairo crypto curl dbus-1 exif expat ffi fontconfig
WANTLIB += freetype fribidi gdk-x11-2.0 gdk_pixbuf-2.0 gio-2.0 glade-2.0
WANTLIB += glib-2.0 gmodule-2.0 gobject-2.0 gps graphite2 gthread-2.0
WANTLIB += gtk-x11-2.0 harfbuzz iconv intl lzma m nghttp2 pango-1.0
WANTLIB += pangocairo-1.0 pangoft2-1.0 pcre pixman-1 png pthread sqlite3
-WANTLIB += ssl xcb xcb-render xcb-shm xml2 z
+WANTLIB += ssl xcb xcb-render xcb-shm xml2 z ${COMPILER_LIBCXX}

MODULES = devel/dconf \
lang/python \
Index: patches/patch-src_gps_functions_c
===================================================================
RCS file: patches/patch-src_gps_functions_c
diff -N patches/patch-src_gps_functions_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_gps_functions_c 7 May 2020 12:58:08 -0000
@@ -0,0 +1,21 @@
+$OpenBSD$
+
+add compatibility with gpsd 3.20
+https://bazaar.launchpad.net/~foxtrotgps-team/foxtrotgps/trunk/revision/320
+
+Index: src/gps_functions.c
+--- src/gps_functions.c.orig
++++ src/gps_functions.c
+@@ -753,7 +753,11 @@ cb_gpsd_data(GIOChannel *src, GIOCondition condition,
+ {
+ gpsdata->satellites_used = libgps_gpsdata.satellites_used;
+ gpsdata->hdop = libgps_gpsdata.dop.hdop;
+- gpsdata->fix.time = libgps_gpsdata.fix.time;
++ #if GPSD_API_MAJOR_VERSION >= 9
++ gpsdata->fix.time = libgps_gpsdata.fix.time.tv_sec;
++ #else
++ gpsdata->fix.time = libgps_gpsdata.fix.time;
++ #endif
+ if (isnan(gpsdata->fix.time))
+ {
+ gpsdata->fix.time = (time_t) 0;

kdeworkspace:
Index: Makefile
===================================================================
RCS file: /cvs/ports/x11/kde4/workspace/Makefile,v
retrieving revision 1.74
diff -u -p -u -r1.74 Makefile
--- Makefile 23 Nov 2019 15:25:31 -0000 1.74
+++ Makefile 9 May 2020 13:39:25 -0000
@@ -2,7 +2,7 @@

COMMENT = KDE workspace
DISTNAME = kde-workspace-4.11.21
-REVISION = 32
+REVISION = 33

MASTER_SITES = ${MASTER_SITE_KDE:=Attic/applications/15.04.3/src/}

Index: patches/patch-plasma_generic_dataengines_geolocation_location_gps_cpp
===================================================================
RCS file:
/cvs/ports/x11/kde4/workspace/patches/patch-plasma_generic_dataengines_geolocation_location_gps_cpp,v
retrieving revision 1.1
diff -u -p -u -r1.1 patch-plasma_generic_dataengines_geolocation_location_gps_cpp
--- patches/patch-plasma_generic_dataengines_geolocation_location_gps_cpp 3
Aug 2019 07:20:35 -0000 1.1
+++ patches/patch-plasma_generic_dataengines_geolocation_location_gps_cpp 9
May 2020 13:39:25 -0000
@@ -2,11 +2,12 @@ $OpenBSD: patch-plasma_generic_dataengin

fix build with newer gpsd API
upstream commit 81a0fe6db9ac9044c2ec8a246878ec65651cb6dd
+and 0c4974d68804cdaff2efb6317f7853a89d3a3d2b

Index: plasma/generic/dataengines/geolocation/location_gps.cpp
--- plasma/generic/dataengines/geolocation/location_gps.cpp.orig
+++ plasma/generic/dataengines/geolocation/location_gps.cpp
-@@ -51,7 +51,9 @@ void Gpsd::run()
+@@ -51,13 +51,19 @@ void Gpsd::run()
while (!m_abort) {
Plasma::DataEngine::Data d;

@@ -17,3 +18,13 @@ Index: plasma/generic/dataengines/geoloc
if (gps_read(m_gpsdata) != -1) {
#else
if (gps_poll(m_gpsdata) != -1) {
+ #endif
+ //kDebug() << "poll ok";
++#if GPSD_API_MAJOR_VERSION >= 9
++ if (m_gpsdata->online.tv_sec || m_gpsdata->online.tv_nsec) {
++#else
+ if (m_gpsdata->online) {
++#endif
+ //kDebug() << "online";
+ if (m_gpsdata->status != STATUS_NO_FIX) {
+ //kDebug() << "fix";

qlandkartegt is dead upstream and superseeded by qmapshack. Probably
it is the last time we fix qlandkartegt - I have qmapshack in my
tree but it's another story.

Index: Makefile
===================================================================
RCS file: /cvs/ports/geo/qlandkartegt/Makefile,v
retrieving revision 1.34
diff -u -p -u -p -r1.34 Makefile
--- Makefile 20 Mar 2020 16:44:23 -0000 1.34
+++ Makefile 15 May 2020 06:29:07 -0000
@@ -4,7 +4,7 @@ COMMENT = garmin GPS map management tool

DISTNAME = qlandkartegt-1.8.1
CATEGORIES = geo x11
-REVISION = 4
+REVISION = 5

HOMEPAGE = http://www.qlandkarte.org/
MASTER_SITES = ${MASTER_SITE_SOURCEFORGE:=qlandkartegt/}
Index: patches/patch-src_CDeviceGPSD_cpp
===================================================================
RCS file: /cvs/ports/geo/qlandkartegt/patches/patch-src_CDeviceGPSD_cpp,v
retrieving revision 1.1
diff -u -p -u -p -r1.1 patch-src_CDeviceGPSD_cpp
--- patches/patch-src_CDeviceGPSD_cpp 31 Jul 2019 12:37:53 -0000 1.1
+++ patches/patch-src_CDeviceGPSD_cpp 15 May 2020 06:29:07 -0000
@@ -5,14 +5,41 @@ Fix build with newer gpsd API.
Index: src/CDeviceGPSD.cpp
--- src/CDeviceGPSD.cpp.orig
+++ src/CDeviceGPSD.cpp
-@@ -212,7 +212,9 @@ void CGPSDThread::run()
+@@ -212,10 +212,10 @@ void CGPSDThread::run()
} // if
else if( FD_ISSET( gpsdata->gps_fd, &fds ) )
{
-#if GPSD_API_MAJOR_VERSION >= 5
+- gps_read( gpsdata );
+#if GPSD_API_MAJOR_VERSION >= 7
+ gps_read( gpsdata, NULL, 0 );
-+#elif GPSD_API_MAJOR_VERSION >= 5
- gps_read( gpsdata );
#else
- gps_poll( gpsdata );
+- gps_poll( gpsdata );
++ gps_read( gpsdata );
+ #endif
+ if( !decodeData() ) break;
+ } // else if
+@@ -233,7 +233,11 @@ void CGPSDThread::run()
+ bool CGPSDThread::decodeData()
+ {
+ // see, if it's interesting
++#if GPSD_API_MAJOR_VERSION >= 9
++ if( gpsdata->fix.time.tv_sec == 0 )
++#else
+ if( gpsdata->fix.time == 0 )
++#endif
+ return true;
+ static const gps_mask_t interesting_mask = TIME_SET | LATLON_SET
+ | ALTITUDE_SET | SPEED_SET | TRACK_SET | STATUS_SET | MODE_SET
+@@ -263,7 +267,11 @@ bool CGPSDThread::decodeData()
+ current_log.lon = gpsdata->fix.longitude;
+ current_log.lat = gpsdata->fix.latitude;
+ current_log.ele = gpsdata->fix.altitude;
++#if GPSD_API_MAJOR_VERSION >= 9
++ current_log.timestamp = gpsdata->fix.time.tv_sec;
++#else
+ current_log.timestamp = gpsdata->fix.time;
++#endif
+ current_log.error_horz = gpsdata->fix.epx;
+ current_log.error_vert = gpsdata->fix.epv;
+ current_log.heading = gpsdata->fix.track;



Reply all
Reply to author
Forward
0 new messages