From ece42ca69ac0816e24d9d4ce1f02742760e15263 Mon Sep 17 00:00:00 2001 From: gdt Date: Tue, 30 Aug 2022 23:47:05 +0000 Subject: geography/gpsbabel: Update to 1.8.0 packaging changes: - switch to github for distfile - switch from configure to qmake - depend on libusb1 and zlib (and add pkg-config as a tool) - drop patches to configure - add patches to fix portability issues in qmake support upstream changes (No NEWS provided, but skimming git log): - drop autoconf - retire some formats - Update standards to c++17, Qt >= 5.12, MSVC >= 2017 - lots of bugfixes and minor improvements --- geography/gpsbabel/Makefile | 49 ++++++++++++--------------- geography/gpsbabel/distinfo | 13 ++++--- geography/gpsbabel/patches/patch-GPSBabel.pro | 26 ++++++++++++++ geography/gpsbabel/patches/patch-ad | 10 ------ geography/gpsbabel/patches/patch-configure | 27 --------------- geography/gpsbabel/patches/patch-configure.ac | 29 ---------------- geography/gpsbabel/patches/patch-libusb.pri | 14 ++++++++ 7 files changed, 68 insertions(+), 100 deletions(-) create mode 100644 geography/gpsbabel/patches/patch-GPSBabel.pro delete mode 100644 geography/gpsbabel/patches/patch-ad delete mode 100644 geography/gpsbabel/patches/patch-configure delete mode 100644 geography/gpsbabel/patches/patch-configure.ac create mode 100644 geography/gpsbabel/patches/patch-libusb.pri (limited to 'geography') diff --git a/geography/gpsbabel/Makefile b/geography/gpsbabel/Makefile index 444b33b12f0..e7cf95ce0d2 100644 --- a/geography/gpsbabel/Makefile +++ b/geography/gpsbabel/Makefile @@ -1,14 +1,14 @@ -# $NetBSD: Makefile,v 1.42 2022/07/02 16:53:21 ryoon Exp $ +# $NetBSD: Makefile,v 1.43 2022/08/30 23:47:05 gdt Exp $ # -DISTNAME= gpsbabel-1.6.0 -PKGREVISION= 18 +GITHUB_PROJECT= gpsbabel +VERSION= 1.8.0 +GH_VERSION= 1_8_0 +GITHUB_TAG= refs/tags/gpsbabel_${GH_VERSION} +DISTNAME= gpsbabel_${GH_VERSION} +PKGNAME= gpsbabel-${VERSION} CATEGORIES= geography -MASTER_SITES= ${MASTER_SITE_BACKUP} -# Download from official site apparently only via interactive form, -# but code is gnu-gpl-v2 so hosted elsewhere. -# older versions were at -# MASTER_SITES+= http://archlinux-stuff.googlecode.com/files/ +MASTER_SITES= ${MASTER_SITE_GITHUB:=GPSBabel/} MAINTAINER= gdt@NetBSD.org HOMEPAGE= https://www.gpsbabel.org/ @@ -16,29 +16,24 @@ HOMEPAGE= https://www.gpsbabel.org/ COMMENT= Utility to convert and fetch GPS related data LICENSE= gnu-gpl-v2 -USE_LANGUAGES= c c++11 -USE_TOOLS= gmake +WRKSRC= ${WRKDIR}/${GITHUB_PROJECT}-${DISTNAME} -TEST_TARGET= check +USE_LANGUAGES+= c c++11 +USE_TOOLS+= pkg-config +QMAKE= ${QTDIR}/bin/qmake +QMAKE_ARGS+= WITH_LIBUSB=no +QMAKE_ARGS+= WITH_LIBUSB=pkgconfig +QMAKE_ARGS+= WITH_ZLIB=pkgconfig -# \todo Upstream recommends trying qmake. -GNU_CONFIGURE= yes +do-configure: + cd ${WRKSRC} && ${QMAKE} ${QMAKE_ARGS} GPSBabel.pro -CONFIGURE_ENV+= QMAKE=${QTDIR}/bin/qmake -CONFIGURE_ENV+= LUPDATE=${QTDIR}/bin/lupdate -CONFIGURE_ENV+= LRELEASE=${QTDIR}/bin/lrelease +INSTALLATION_DIRS+= bin +do-install: + ${INSTALL} ${WRKSRC}/gpsbabel ${DESTDIR}${PREFIX}/bin -# \todo This seems like a bug; explain why. -LIBS.Darwin+= -lexpat - -# \todo Figure out stdarg warnings for code that looks correct. -# util.cc: In function 'int xasprintf(char**, const char*, ...)': -# util.cc:233:22: warning: second parameter of 'va_start' not last named argument [-Wvarargs] -# va_start(args, fmt); -# ^ - -# gpsbabel 1.6.0 really does need libusb 0.1, and uses usb_interrupt_read -.include "../../mk/libusb.buildlink3.mk" +.include "../../devel/libusb1/buildlink3.mk" +.include "../../devel/zlib/buildlink3.mk" .include "../../textproc/expat/buildlink3.mk" .include "../../x11/qt5-qtbase/buildlink3.mk" .include "../../x11/qt5-qttools/buildlink3.mk" diff --git a/geography/gpsbabel/distinfo b/geography/gpsbabel/distinfo index fd8ebbf6a2c..c8b8b3e63c9 100644 --- a/geography/gpsbabel/distinfo +++ b/geography/gpsbabel/distinfo @@ -1,9 +1,8 @@ -$NetBSD: distinfo,v 1.14 2021/10/26 10:45:10 nia Exp $ +$NetBSD: distinfo,v 1.15 2022/08/30 23:47:05 gdt Exp $ -BLAKE2s (gpsbabel-1.6.0.tar.gz) = 384a9739bbb62e56728991eb61fb8fe087602c8e8de39e7fe590547d079b104f -SHA512 (gpsbabel-1.6.0.tar.gz) = 369bf34aab957a88aeeb657fceb897cbe5e00e6c915760f9b278d9581d98c57084ff6ad65281a18dd7a24bec463335d5e0969c62aeddfbd05d0c5ab05fef6999 -Size (gpsbabel-1.6.0.tar.gz) = 14101201 bytes -SHA1 (patch-ad) = a2712225fc3cb70bfdf6ce90e4197cf2ce7e27e0 +BLAKE2s (gpsbabel_1_8_0.tar.gz) = 7d61335aa50c77d61d4dd418758dfc771cd2d8285945a56489c016948a997940 +SHA512 (gpsbabel_1_8_0.tar.gz) = 93137586cf887e185d96f06f59be4456cf9bae976979b9e5caad6ae8017c148d4c4c0fc182e8bd4c8547c3ed040c46f74e6f3cfb5f7b566d54fbc7fd767e27e4 +Size (gpsbabel_1_8_0.tar.gz) = 15104689 bytes +SHA1 (patch-GPSBabel.pro) = 5693c3cdec033cf2a1bd02f5f4ec177445548df0 SHA1 (patch-af) = 8bb5d9392ae682fd098578ef7a25ad84683f68c6 -SHA1 (patch-configure) = 76c4b79c26712492e2f4b060fe70d5661415f42f -SHA1 (patch-configure.ac) = 1269690568490dbb91cf25ad87dd3fb53b3ee3c1 +SHA1 (patch-libusb.pri) = 48ca6d57c45265e1ccb94c42080bf2bf990987a5 diff --git a/geography/gpsbabel/patches/patch-GPSBabel.pro b/geography/gpsbabel/patches/patch-GPSBabel.pro new file mode 100644 index 00000000000..98829e7d2a3 --- /dev/null +++ b/geography/gpsbabel/patches/patch-GPSBabel.pro @@ -0,0 +1,26 @@ +$NetBSD: patch-GPSBabel.pro,v 1.1 2022/08/30 23:47:05 gdt Exp $ + +Add netbsd as a unix-like system. + +Not yet sent upstream. + +--- GPSBabel.pro.orig 2022-01-19 21:08:42.000000000 +0000 ++++ GPSBabel.pro +@@ -281,7 +281,7 @@ HEADERS += $$FILTER_HEADERS + + CONFIG(release, debug|release): DEFINES *= NDEBUG + +-macx|linux|openbsd { ++macx|linux|netbsd|openbsd { + if (equals(MAKEFILE_GENERATOR, XCODE)) { + # "Configure tests are not supported with the XCODE Makefile generator" + # assume we have the following headers +@@ -354,7 +354,7 @@ QMAKE_EXTRA_TARGETS += check-vtesto + QMAKE_CLEAN += $${OUT_PWD}/testo.d/*.vglog + + # build the compilation data base used by clang tools including clang-tidy. +-macx|linux|openbsd{ ++macx|linux|netbsd|openbsd{ + compile_command_database.target = compile_commands.json + compile_command_database.commands = $(MAKE) clean; bear $(MAKE) + QMAKE_EXTRA_TARGETS += compile_command_database diff --git a/geography/gpsbabel/patches/patch-ad b/geography/gpsbabel/patches/patch-ad deleted file mode 100644 index 4b289f8310c..00000000000 --- a/geography/gpsbabel/patches/patch-ad +++ /dev/null @@ -1,10 +0,0 @@ -$NetBSD: patch-ad,v 1.6 2019/05/02 19:01:17 gdt Exp $ - -This patch was rejected by upstream. There is a comment in upstream -Makefile.in that explains why there is no space, and output flag is -set to "-o ", so that the output flag can be set to "-Fo" for MSVC. - -On NetBSD, the upstream version works, but there is some mysterious -failure on Mac OS X. This patch therefore needs investigation and -resolution to be filed with upstream. (It almost certainly breaks -native compilation on Windows, but that's not a pkgsrc platform.) diff --git a/geography/gpsbabel/patches/patch-configure b/geography/gpsbabel/patches/patch-configure deleted file mode 100644 index 8f22ace09fb..00000000000 --- a/geography/gpsbabel/patches/patch-configure +++ /dev/null @@ -1,27 +0,0 @@ -$NetBSD: patch-configure,v 1.2 2019/05/02 19:01:17 gdt Exp $ - ---- configure.orig 2019-04-14 02:32:25.000000000 +0000 -+++ configure -@@ -6310,21 +6310,7 @@ fi - $as_echo "#define HAVE_LIBUSB 1" >>confdefs.h - - -- # On Mac, use frameworks for includes and library files. -- # Macports uses a non-standard build of Qt with an added -- # QT_INSTALL_FRAMEWORKS flag, so look for thier custom -- # version first. That will fail on 'normal' Qt so fall -- # back to QT_INSTALL_LIBS. -- QT_FW_OR_LIBS=$($QMAKE -query QT_INSTALL_FRAMEWORKS) -- if test "$QT_FW_OR_LIBS" = "**Unknown**"; then : -- -- QT_FW_OR_LIBS=$($QMAKE -query QT_INSTALL_LIBS) -- --fi -- QT_LIBS="-Wl,-rpath, $QT_FW_OR_LIBS -F$QT_FW_OR_LIBS -framework QtCore" -- QT_INC="$QT_FW_OR_LIBS" -- QT_INC_OPT="-F" -- QT_SYSINC_OPT="-iframework" -+ # In pkgsrc, we use the installed qt, not the framework. - ;; #( - *-*-freebsd*) : - diff --git a/geography/gpsbabel/patches/patch-configure.ac b/geography/gpsbabel/patches/patch-configure.ac deleted file mode 100644 index 16bf8ea36a6..00000000000 --- a/geography/gpsbabel/patches/patch-configure.ac +++ /dev/null @@ -1,29 +0,0 @@ -$NetBSD: patch-configure.ac,v 1.1 2019/05/02 19:01:17 gdt Exp $ - -In pkgsrc, we don't provide Qt as a framework. - -It's not clear how/if this should be addressed upstream. - ---- configure.ac.orig 2019-04-14 02:32:25.000000000 +0000 -+++ configure.ac -@@ -232,19 +232,7 @@ AS_CASE(["$target"], [*-*-cygwin* | *-*- - USB_LIBS="-framework IOKit -framework CoreFoundation" - AC_DEFINE(HAVE_LIBUSB, 1) - -- # On Mac, use frameworks for includes and library files. -- # Macports uses a non-standard build of Qt with an added -- # QT_INSTALL_FRAMEWORKS flag, so look for thier custom -- # version first. That will fail on 'normal' Qt so fall -- # back to QT_INSTALL_LIBS. -- QT_FW_OR_LIBS=$($QMAKE -query QT_INSTALL_FRAMEWORKS) -- AS_IF([test "$QT_FW_OR_LIBS" = "**Unknown**"], [ -- QT_FW_OR_LIBS=$($QMAKE -query QT_INSTALL_LIBS) -- ]) -- QT_LIBS="-Wl,-rpath, $QT_FW_OR_LIBS -F$QT_FW_OR_LIBS -framework QtCore" -- QT_INC="$QT_FW_OR_LIBS" -- QT_INC_OPT="-F" -- QT_SYSINC_OPT="-iframework" -+ # In pkgsrc, we use the installed qt, not the framework. - ], [*-*-freebsd*], [ - GBSER=gbser_posix.o - AC_MSG_CHECKING(for libusb) diff --git a/geography/gpsbabel/patches/patch-libusb.pri b/geography/gpsbabel/patches/patch-libusb.pri new file mode 100644 index 00000000000..1694596fb82 --- /dev/null +++ b/geography/gpsbabel/patches/patch-libusb.pri @@ -0,0 +1,14 @@ +$NetBSD: patch-libusb.pri,v 1.1 2022/08/30 23:47:05 gdt Exp $ + +Add NetBSD as a platform where libusb can be found by pkgconfig. (One +wonders why it isn't allowed on any platform, since it presumably +fails if libusb is requested but not found.) + +--- libusb.pri.orig 2022-01-19 21:08:42.000000000 +0000 ++++ libusb.pri +@@ -1,4 +1,4 @@ +-macx|linux|openbsd { ++macx|linux|netbsd|openbsd { + !defined(WITH_LIBUSB, var) { + macx: WITH_LIBUSB = included + linux|openbsd: WITH_LIBUSB = system -- cgit v1.2.3