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;