git: c77cd8547d0d - main - astro/gpsd: update to 3.23.1

From: Steve Wills <swills_at_FreeBSD.org>
Date: Mon, 14 Mar 2022 00:32:41 UTC
The branch main has been updated by swills:

URL: https://cgit.FreeBSD.org/ports/commit/?id=c77cd8547d0dc016d1871eca349c7e74cc8c2332

commit c77cd8547d0dc016d1871eca349c7e74cc8c2332
Author:     Steve Wills <swills@FreeBSD.org>
AuthorDate: 2022-03-14 00:00:18 +0000
Commit:     Steve Wills <swills@FreeBSD.org>
CommitDate: 2022-03-14 00:31:48 +0000

    astro/gpsd: update to 3.23.1
    
    PR:             258109
    Approved by:    z7dr6ut7gs@snkmail.com (maintainer timeout, >2 months)
---
 astro/gpsd/Makefile               | 110 ++++++++++++++++++++------------------
 astro/gpsd/distinfo               |   6 +--
 astro/gpsd/files/patch-SConscript |  38 +++++++++++++
 astro/gpsd/files/patch-SConstruct |  56 -------------------
 astro/gpsd/pkg-plist              |  30 +++++++++--
 5 files changed, 125 insertions(+), 115 deletions(-)

diff --git a/astro/gpsd/Makefile b/astro/gpsd/Makefile
index 8208725efdc8..f85f1fbcbc3f 100644
--- a/astro/gpsd/Makefile
+++ b/astro/gpsd/Makefile
@@ -1,8 +1,7 @@
 # Created by: Anton Karpov <toxa@toxahost.ru>
 
 PORTNAME=	gpsd
-PORTVERSION=	3.20
-PORTREVISION=	2
+PORTVERSION=	3.23.1
 CATEGORIES=	astro geography
 MASTER_SITES=	SAVANNAH
 
@@ -12,30 +11,33 @@ COMMENT=	Daemon that monitors one or more GPSes attached to a host computer
 LICENSE=	BSD3CLAUSE
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-USES=		cpe pathfix pkgconfig python:3.6+ scons shebangfix
+USES=		cpe pathfix pkgconfig python:3.6+ scons
 CPE_VENDOR=	gpsd_project
 USE_LDCONFIG=	yes
 USE_RC_SUBR=	gpsd
-SHEBANG_FILES=	*.py gps/*.py gegps xgps gpscat xgpsspeed gpsprof \
-		gpsfake ubxtool zerk
 
-MAKE_ARGS=	prefix="${PREFIX}" mandir="man" pkgconfig="libdata/pkgconfig" \
-		manbuild=no target_python="${PYTHON_CMD}" qt=no
+MAKE_ARGS=	manbuild=no \
+		mandir="man" \
+		pkgconfig="libdata/pkgconfig" \
+		prefix="${PREFIX}" \
+		qt=no \
+		target_python="${PYTHON_CMD}"
 MAKE_ENV=	DESTDIR="${STAGEDIR}"
 PLIST_SUB=	PYTHON_EGGINFO=gps-${PORTVERSION}.egg-info
 
-OPTIONS_DEFINE=	AIVDM ASHTECH CPPBIND DBUS EARTHMATE EVERMORE FURY FV18 GARMIN \
-		GARMINTXT GEOSTAR GPSCLOCK IPV6 ITRAX MTK NAVCOM NCURSES \
-		NETFEED NMEA0183 NTP NTPSHM NTRIP OCEANSERVER ONCORE \
-		PASSTHROUGH PPS PROFILING RECONFIGURE RTCM104V2 RTCM104V3 \
-		SHMEXPORT SIRF SOCKEXPORT SUPERSTARII TIMING TNT TRIPMATE \
-		TSIP UBLOX USB X11
-OPTIONS_DEFAULT=	AIVDM ASHTECH CPPBIND EARTHMATE EVERMORE FURY FV18 GARMIN \
-			GARMINTXT GEOSTAR GPSCLOCK ITRAX NAVCOM NCURSES NETFEED \
-			NMEA0183 NTP NTPSHM NTRIP OCEANSERVER ONCORE PASSTHROUGH \
-			RECONFIGURE RTCM104V2 RTCM104V3 SHMEXPORT SIRF SOCKEXPORT \
+OPTIONS_DEFINE=		AIVDM ASHTECH CPPBIND DBUS EARTHMATE EVERMORE FURY FV18 \
+			GARMIN GARMINTXT GEOSTAR GPSCLOCK IPV6 ITRAX MTK NAVCOM \
+			NCURSES NETFEED NMEA0183 NTP NTPSHM NTRIP OCEANSERVER \
+			ONCORE PASSTHROUGH PPS PROFILING PYSERIAL RECONFIGURE \
+			RTCM104V2 RTCM104V3 SHMEXPORT SIRF SOCKEXPORT \
 			SUPERSTARII TIMING TNT TRIPMATE TSIP UBLOX USB X11
-OPTIONS_SUB=	yes
+OPTIONS_DEFAULT=	AIVDM ASHTECH CPPBIND EARTHMATE EVERMORE FURY FV18 \
+			GARMIN GARMINTXT GEOSTAR GPSCLOCK ITRAX NAVCOM NCURSES \
+			NETFEED NMEA0183 NTP NTPSHM NTRIP OCEANSERVER ONCORE \
+			PASSTHROUGH PYSERIAL RECONFIGURE RTCM104V2 RTCM104V3 \
+			SHMEXPORT SIRF SOCKEXPORT SUPERSTARII TIMING TNT \
+			TRIPMATE TSIP UBLOX USB X11
+OPTIONS_SUB=		yes
 
 AIVDM_DESC=		Aivdm support
 ASHTECH_DESC=		Ashtech support
@@ -62,6 +64,7 @@ ONCORE_DESC=		Motorola OnCore chipset support
 PASSTHROUGH_DESC=	Build support for passing through JSON
 PPS_DESC=		PPS time syncing support
 PROFILING_DESC=		Profiling support
+PYSERIAL_DESC=		Python serial port support
 RECONFIGURE_DESC=	Allow gpsd to change device settings
 RTCM104V2_DESC=		rtcm104v2 support
 RTCM104V3_DESC=		rtcm104v3 support
@@ -77,30 +80,30 @@ UBLOX_DESC=		u-blox protocol support
 USB_DESC=		libusb support for USB devices
 
 # Options related to GPS protocols
-NMEA0183_MAKE_ARGS_OFF=	nmea0183=no
-ASHTECH_MAKE_ARGS_OFF=	ashtech=no
+NMEA0183_MAKE_ARGS_OFF=		nmea0183=no
+ASHTECH_MAKE_ARGS_OFF=		ashtech=no
 EARTHMATE_MAKE_ARGS_OFF=	earthmate=no
-EVERMORE_MAKE_ARGS_OFF=	evermore=no
-FURY_MAKE_ARGS_OFF=	fury=no
-FV18_MAKE_ARGS_OFF=	fv18=no
-GARMIN_MAKE_ARGS_OFF=	garmin=no
+EVERMORE_MAKE_ARGS_OFF=		evermore=no
+FURY_MAKE_ARGS_OFF=		fury=no
+FV18_MAKE_ARGS_OFF=		fv18=no
+GARMIN_MAKE_ARGS_OFF=		garmin=no
 GARMINTXT_MAKE_ARGS_OFF=	garmintxt=no
-GEOSTAR_MAKE_ARGS_OFF=	geostar=no
-ITRAX_MAKE_ARGS_OFF=	itrax=no
-MTK_MAKE_ARGS_OFF=	mtk3301=no
-NAVCOM_MAKE_ARGS_OFF=	navcom=no
-ONCORE_MAKE_ARGS_OFF=	oncore=no
-SIRF_MAKE_ARGS_OFF=	sirf=no
+GEOSTAR_MAKE_ARGS_OFF=		geostar=no
+ITRAX_MAKE_ARGS_OFF=		itrax=no
+MTK_MAKE_ARGS_OFF=		mtk3301=no
+NAVCOM_MAKE_ARGS_OFF=		navcom=no
+ONCORE_MAKE_ARGS_OFF=		oncore=no
+SIRF_MAKE_ARGS_OFF=		sirf=no
 SUPERSTARII_MAKE_ARGS_OFF=	superstar2=no
-TNT_MAKE_ARGS_OFF=	tnt=no
-TRIPMATE_MAKE_ARGS_OFF=	tripmate=no
-TSIP_MAKE_ARGS_OFF=	tsip=no
-UBLOX_MAKE_ARGS_OFF=	ublox=no
+TNT_MAKE_ARGS_OFF=		tnt=no
+TRIPMATE_MAKE_ARGS_OFF=		tripmate=no
+TSIP_MAKE_ARGS_OFF=		tsip=no
+UBLOX_MAKE_ARGS_OFF=		ublox=no
 
 # Options related to Non-GPS protocols
-AIVDM_MAKE_ARGS_OFF=	aivdm=no
-GPSCLOCK_MAKE_ARGS_OFF=	gpsclock=no
-NTRIP_MAKE_ARGS_OFF=	ntrip=no
+AIVDM_MAKE_ARGS_OFF=		aivdm=no
+GPSCLOCK_MAKE_ARGS_OFF=		gpsclock=no
+NTRIP_MAKE_ARGS_OFF=		ntrip=no
 OCEANSERVER_MAKE_ARGS_OFF=	oceanserver=no
 RTCM104V2_MAKE_ARGS_OFF=	rtcm104v2=no
 RTCM104V3_MAKE_ARGS_OFF=	rtcm104v3=no
@@ -113,31 +116,34 @@ PPS_IMPLIES=		NTPSHM
 
 # Export methods
 SOCKEXPORT_MAKE_ARGS_OFF=	socket_export=no
-DBUS_LIB_DEPENDS=	libdbus-1.so:devel/dbus
-DBUS_MAKE_ARGS=		dbus_export=yes
-DBUS_MAKE_ARGS_OFF=	dbus_export=no
+DBUS_LIB_DEPENDS=		libdbus-1.so:devel/dbus
+DBUS_MAKE_ARGS=			dbus_export=yes
+DBUS_MAKE_ARGS_OFF=		dbus_export=no
 SHMEXPORT_MAKE_ARGS_OFF=	shm_export=no
 
 # Communication
-USB_MAKE_ARGS_OFF=	usb=no
-IPV6_MAKE_ARGS_OFF=	ipv6=no
-NETFEED_MAKE_ARGS_OFF=	netfeed=no
+USB_MAKE_ARGS_OFF=		usb=no
+IPV6_MAKE_ARGS_OFF=		ipv6=no
+NETFEED_MAKE_ARGS_OFF=		netfeed=no
 PASSTHROUGH_MAKE_ARGS_OFF=	passthrough=no
 
 # Other daemon options
 TIMING_MAKE_ARGS_OFF=	timing=no
 
 # Client-side options
-NCURSES_MAKE_ARGS_OFF=	ncurses=no
-NCURSES_USES=		ncurses
+NCURSES_MAKE_ARGS_OFF=		ncurses=no
+NCURSES_USES=			ncurses
 RECONFIGURE_MAKE_ARGS_OFF=	reconfigure=no
-CPPBIND_MAKE_ARGS_OFF=	libgpsmm=no
-X11_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}cairo>=0:graphics/py-cairo@${PY_FLAVOR} \
-			${PYTHON_PKGNAMEPREFIX}gobject3>=0:devel/py-gobject3@${PY_FLAVOR} \
-			${PYTHON_PKGNAMEPREFIX}pyserial>=0:comms/py-pyserial@${PY_FLAVOR}
-X11_USES=	gnome
-X11_USE=	GNOME=gtk30
-X11_MAKE_ARGS_OFF=	xgps=no
+CPPBIND_MAKE_ARGS_OFF=		libgpsmm=no
+PYSERIAL_BUILD_DEPENDS=		${PYTHON_PKGNAMEPREFIX}pyserial>=0:comms/py-pyserial@${PY_FLAVOR}
+PYSERIAL_RUN_DEPENDS=		${PYTHON_PKGNAMEPREFIX}pyserial>=0:comms/py-pyserial@${PY_FLAVOR}
+X11_BUILD_DEPENDS=		${PYTHON_PKGNAMEPREFIX}cairo>=0:graphics/py-cairo@${PY_FLAVOR} \
+				${PYTHON_PKGNAMEPREFIX}gobject3>=0:devel/py-gobject3@${PY_FLAVOR}
+X11_RUN_DEPENDS=		${PYTHON_PKGNAMEPREFIX}cairo>=0:graphics/py-cairo@${PY_FLAVOR} \
+				${PYTHON_PKGNAMEPREFIX}gobject3>=0:devel/py-gobject3@${PY_FLAVOR}
+X11_USES=			gnome
+X11_USE=			GNOME=gtk30
+X11_MAKE_ARGS_OFF=		xgps=no
 
 # Build control
 PROFILING_MAKE_ARGS=	profiling=yes
diff --git a/astro/gpsd/distinfo b/astro/gpsd/distinfo
index 1bacb0d70082..588e0d978518 100644
--- a/astro/gpsd/distinfo
+++ b/astro/gpsd/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1581144632
-SHA256 (gpsd-3.20.tar.gz) = 172a7805068eacb815a3c5225436fcb0be46e7e49a5001a94034eac43df85e50
-SIZE (gpsd-3.20.tar.gz) = 3600835
+TIMESTAMP = 1640093689
+SHA256 (gpsd-3.23.1.tar.gz) = 0b991ce9a46538c4ea450f7a8ee428ff44fb4f8d665fddf2ffe40fe0ae9a6c09
+SIZE (gpsd-3.23.1.tar.gz) = 4904121
diff --git a/astro/gpsd/files/patch-SConscript b/astro/gpsd/files/patch-SConscript
new file mode 100644
index 000000000000..29352adf2a7f
--- /dev/null
+++ b/astro/gpsd/files/patch-SConscript
@@ -0,0 +1,38 @@
+--- SConscript.orig	2021-09-21 21:53:44 UTC
++++ SConscript
+@@ -20,7 +20,7 @@ import re
+ import subprocess
+ import sys
+ import time
+-from distutils import sysconfig
++import sysconfig
+ import SCons
+ 
+ # scons does not like targets that come and go (if cleaning, if python,
+@@ -243,7 +243,7 @@ website = "https://gpsd.io/"
+ # Hosting information ends here
+ 
+ 
+-PYTHON_SYSCONFIG_IMPORT = 'from distutils import sysconfig'
++PYTHON_SYSCONFIG_IMPORT = 'import sysconfig'
+ 
+ # Utility productions
+ 
+@@ -1419,7 +1419,7 @@ if not cleaning and not helping:
+ 
+ # Set up configuration for target Python
+ 
+-PYTHON_LIBDIR_CALL = 'sysconfig.get_python_lib()'
++PYTHON_LIBDIR_CALL = 'sysconfig.get_paths()["purelib"]'
+ 
+ PYTHON_CONFIG_NAMES = ['SO']  # Now a fairly degenerate list
+ PYTHON_CONFIG_QUOTED = ["'%s'" % s for s in PYTHON_CONFIG_NAMES]
+@@ -1520,7 +1520,7 @@ if not cleaning and not helping and config.env['python
+                                        'import sys',
+                                        '"%d.%d" % sys.version_info[0:2]')
+ 
+-        if 3 > int(sysver[0]) or 6 > int(sysver[2]):
++        if 3 > int(sysver[0]) or 6 > int(sysver[2:]):
+             config.env['aiogps'] = False
+             announce("WARNING: Python%s too old (need 3.6): "
+                      "gps/aiogps.py will not be installed" %
diff --git a/astro/gpsd/files/patch-SConstruct b/astro/gpsd/files/patch-SConstruct
deleted file mode 100644
index c856c189dbc4..000000000000
--- a/astro/gpsd/files/patch-SConstruct
+++ /dev/null
@@ -1,56 +0,0 @@
---- SConstruct.orig	2020-02-08 06:51:40 UTC
-+++ SConstruct
-@@ -1267,32 +1267,32 @@ else:
-             config.env['aiogps'] = True
-
-         # check for pyserial
--        try:
--            imp.find_module('serial')
--            announce("Python module serial (pyserial) found.")
--        except ImportError:
--            # no pycairo, don't build xgps, xgpsspeed
--            announce("WARNING: Python module serial (pyserial) not found.")
--            config.env['xgps'] = False
-+        #try:
-+        #    imp.find_module('serial')
-+        #    announce("Python module serial (pyserial) found.")
-+        #except ImportError:
-+        #    # no pycairo, don't build xgps, xgpsspeed
-+        #    announce("WARNING: Python module serial (pyserial) not found.")
-+        #    config.env['xgps'] = False
-
-         if config.env['xgps']:
-             # check for pycairo
--            try:
--                imp.find_module('cairo')
--                announce("Python module cairo (pycairo) found.")
--            except ImportError:
--                # no pycairo, don't build xgps, xgpsspeed
--                announce("WARNING: Python module cairo (pycairo) not found.")
--                config.env['xgps'] = False
-+            #try:
-+            #    imp.find_module('cairo')
-+            #    announce("Python module cairo (pycairo) found.")
-+            #except ImportError:
-+            #    # no pycairo, don't build xgps, xgpsspeed
-+            #    announce("WARNING: Python module cairo (pycairo) not found.")
-+            #    config.env['xgps'] = False
-
-             # check for pygobject
--            try:
--                imp.find_module('gi')
--                announce("Python module gi (pygobject) found.")
--            except ImportError:
--                # no pygobject, don't build xgps, xgpsspeed
--                announce("WARNING: Python module gi (pygobject) not found.")
--                config.env['xgps'] = False
-+            #try:
-+            #    imp.find_module('gi')
-+            #    announce("Python module gi (pygobject) found.")
-+            #except ImportError:
-+            #    # no pygobject, don't build xgps, xgpsspeed
-+            #    announce("WARNING: Python module gi (pygobject) not found.")
-+            #    config.env['xgps'] = False
-
-             if not config.CheckPKG('gtk+-3.0'):
-                 config.env['xgps'] = False
diff --git a/astro/gpsd/pkg-plist b/astro/gpsd/pkg-plist
index e38966eaf060..9ef01fd4b666 100644
--- a/astro/gpsd/pkg-plist
+++ b/astro/gpsd/pkg-plist
@@ -2,13 +2,18 @@
 bin/gegps
 bin/gps2udp
 bin/gpscat
+bin/gpscsv
 bin/gpsctl
+bin/gpsdebuginfo
 bin/gpsdecode
 bin/gpsfake
 %%NCURSES%%bin/gpsmon
 bin/gpspipe
+bin/gpsplot
 bin/gpsprof
 bin/gpsrinex
+bin/gpssnmp
+bin/gpssubframe
 bin/gpxlogger
 bin/lcdgps
 %%PPS%%bin/ntpshmmon
@@ -19,20 +24,28 @@ bin/zerk
 include/gps.h
 include/libgpsmm.h
 lib/libgps.so
-lib/libgps.so.25
-lib/libgps.so.25.0.0
+lib/libgps.so.29
+lib/libgps.so.29.0.0
+lib/libgpsdpacket.so
+lib/libgpsdpacket.so.29
+lib/libgpsdpacket.so.29.0.0
 man/man1/cgps.1.gz
 man/man1/gegps.1.gz
 man/man1/gps.1.gz
 man/man1/gps2udp.1.gz
 man/man1/gpscat.1.gz
+man/man1/gpscsv.1.gz
 man/man1/gpsctl.1.gz
+man/man1/gpsdebuginfo.1.gz
 man/man1/gpsdecode.1.gz
 man/man1/gpsfake.1.gz
 man/man1/gpsmon.1.gz
 man/man1/gpspipe.1.gz
+man/man1/gpsplot.1.gz
 man/man1/gpsprof.1.gz
 man/man1/gpsrinex.1.gz
+man/man1/gpssnmp.1.gz
+man/man1/gpssubframe.1.gz
 man/man1/gpxlogger.1.gz
 man/man1/lcdgps.1.gz
 man/man1/ntpshmmon.1.gz
@@ -44,10 +57,10 @@ man/man3/libQgpsmm.3.gz
 man/man3/libgps.3.gz
 man/man3/libgpsmm.3.gz
 man/man5/gpsd_json.5.gz
-man/man5/srec.5.gz
 man/man8/gpsd.8.gz
 man/man8/gpsdctl.8.gz
 man/man8/gpsinit.8.gz
+man/man8/ppscheck.8.gz
 %%PYTHON_SITELIBDIR%%/%%PYTHON_EGGINFO%%
 %%PYTHON_SITELIBDIR%%/gps/__init__.py
 %%PYTHON_SITELIBDIR%%/gps/aiogps.py
@@ -56,8 +69,17 @@ man/man8/gpsinit.8.gz
 %%PYTHON_SITELIBDIR%%/gps/fake.py
 %%PYTHON_SITELIBDIR%%/gps/gps.py
 %%PYTHON_SITELIBDIR%%/gps/misc.py
-%%PYTHON_SITELIBDIR%%/gps/packet%%PYTHON_EXT_SUFFIX%%.so
+%%PYTHON_SITELIBDIR%%/gps/packet.py
+%%PYTHON_SITELIBDIR%%/gps/ubx.py
 %%PYTHON_SITELIBDIR%%/gps/watch_options.py
 libdata/pkgconfig/libgps.pc
+%%DATADIR%%/doc/AUTHORS
+%%DATADIR%%/doc/COPYING
+%%DATADIR%%/doc/NEWS
+%%DATADIR%%/doc/README.adoc
+%%DATADIR%%/doc/SUPPORT.adoc
+%%DATADIR%%/doc/build.adoc
+%%DATADIR%%/doc/example1.c.txt
+%%DATADIR%%/icons/gpsd-logo.png
 sbin/gpsd
 sbin/gpsdctl