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 via email to