git: 4db7236affee - main - comms/wsjtx: Fix build on head

From: Diane Bruce <db_at_FreeBSD.org>
Date: Mon, 09 Nov 2026 16:04:56 UTC
The branch main has been updated by db:

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

commit 4db7236affeee8ef8da0b065d244e93aaff645b9
Author:     Diane Bruce <db@FreeBSD.org>
AuthorDate: 2026-11-09 16:02:07 +0000
Commit:     Diane Bruce <db@FreeBSD.org>
CommitDate: 2026-11-09 16:02:07 +0000

    comms/wsjtx: Fix build on head
    
    - Homepage has moved to https://wsjtx.github.io/wsjtx/index.html
    - Sourceforge and github make no sense code has moved to github remove SF
    - files/hamlib.patch files/wsjtx.patch are obsolete in this version
    - jt9 needs an executable stack
    - bumped PORTREVISION
    - petted portlint
---
 comms/wsjtx/Makefile                   |   6 +-
 comms/wsjtx/files/hamlib.patch         |  74 -----------
 comms/wsjtx/files/patch-CMakeLists.txt |  51 +++++++-
 comms/wsjtx/files/wsjtx.patch          | 220 ---------------------------------
 4 files changed, 53 insertions(+), 298 deletions(-)

diff --git a/comms/wsjtx/Makefile b/comms/wsjtx/Makefile
index 85285cfe8d48..c2323f25bd30 100644
--- a/comms/wsjtx/Makefile
+++ b/comms/wsjtx/Makefile
@@ -1,12 +1,12 @@
 PORTNAME=	wsjtx
 DISTVERSIONPREFIX=	v
 DISTVERSION=	3.0.2
+PORTREVISION=	1
 CATEGORIES=	comms hamradio
-MASTER_SITES=	SF/wsjt/${PORTNAME}-${PORTVERSION}${DISTVERSIONSUFFIX}
 
 MAINTAINER=	hamradio@FreeBSD.org
 COMMENT=	Weak signal ham radio communication package
-WWW=		https://physics.princeton.edu/pulsar/k1jt/wsjtx.html
+WWW=		https://wsjtx.github.io/wsjtx/index.html
 
 LICENSE=	GPLv3
 
@@ -30,7 +30,7 @@ USE_QT=		buildtools:build concurrent core gui linguisttools:build \
 		sql-sqlite3 testlib websockets widgets
 
 # for detailed debugging uncomment the next line
-#CMAKE_ARGS+=   --debug-output --trace
+CMAKE_ARGS+=   --debug-output --trace
 
 CMAKE_ARGS+=	-DUsb_LIBRARY=/usr/lib/libusb.so \
 		-DOpenMP_Fortran_FLAGS=-fopenmp \
diff --git a/comms/wsjtx/files/hamlib.patch b/comms/wsjtx/files/hamlib.patch
deleted file mode 100644
index c4a39324ad9c..000000000000
--- a/comms/wsjtx/files/hamlib.patch
+++ /dev/null
@@ -1,74 +0,0 @@
---- hamlib/configure.orig	2022-01-02 05:10:19.000000000 -0500
-+++ hamlib/configure	2023-09-03 10:33:52.838742000 -0400
-@@ -19135,7 +19135,7 @@
- case "$host_os" in #(
-   freebsd*) :
- 
--	AM_CPPFLAGS="-I/usr/local/include ${AM_CPPFLAGS}"
-+	AM_CPPFLAGS="${AM_CPPFLAGS} -I/usr/local/include"
- 	AM_LDFLAGS="${AM_LDFLAGS} -L/usr/local/lib"
- 	 ;; #(
-   darwin* | rhapsody*) :
-@@ -19211,6 +19211,7 @@
- fi
- 
- 
-+LIBUSB_LIBS="-lusb"
- LIBUSB=""
- 
- 
---- hamlib/hamlib.pc.in.orig	2022-01-02 05:10:11.000000000 -0500
-+++ hamlib/hamlib.pc.in	2023-09-03 10:33:52.839354000 -0400
-@@ -7,7 +7,6 @@
- Description: Library to control radio and rotator equipment.
- URL: @PACKAGE_URL@
- Version: @PACKAGE_VERSION@
--Requires.private: @LIBUSB@
- Cflags: -I${includedir} @PTHREAD_CFLAGS@
--Libs: -L${libdir} -lhamlib
--Libs.private: @MATH_LIBS@ @DL_LIBS@ @NET_LIBS@ @PTHREAD_LIBS@
-+Libs: -L${libdir} ${libdir}/libhamlib.a
-+Libs.private: @MATH_LIBS@ @DL_LIBS@ @NET_LIBS@ @PTHREAD_LIBS@ -lusb
---- hamlib/tests/rigtestlibusb.c.orig	2022-01-02 05:10:11.000000000 -0500
-+++ hamlib/tests/rigtestlibusb.c	2023-09-03 10:33:52.839923000 -0400
-@@ -115,7 +115,10 @@
-     printf("      wSpeedSupported:       %u\n", ss_usb_cap->wSpeedSupported);
-     printf("      bFunctionalitySupport: %u\n", ss_usb_cap->bFunctionalitySupport);
-     printf("      bU1devExitLat:         %u\n", ss_usb_cap->bU1DevExitLat);
--    printf("      bU2devExitLat:         %u\n", ss_usb_cap->bU2DevExitLat);
-+/*
-+ * does not exist on FreeBSD libusb.h yet
-+ *    printf("      bU2devExitLat:         %u\n", ss_usb_cap->bU2DevExitLat);
-+ */
- }
- 
- static void print_bos(libusb_device_handle *handle)
-@@ -133,6 +136,7 @@
- 
-     printf("  Binary Object Store (BOS):\n");
-     printf("    wTotalLength:            %u\n", bos->wTotalLength);
-+#if 0
-     printf("    bNumDeviceCaps:          %u\n", bos->bNumDeviceCaps);
- 
-     for (i = 0; i < bos->bNumDeviceCaps; i++)
-@@ -170,7 +174,7 @@
-             libusb_free_ss_usb_device_capability_descriptor(ss_dev_cap);
-         }
-     }
--
-+#endif
-     libusb_free_bos_descriptor(bos);
- }
- 
---- hamlib/src/misc.c.orig	2022-01-02 05:10:11.000000000 -0500
-+++ hamlib/src/misc.c	2023-09-03 10:33:52.841041000 -0400
-@@ -2550,7 +2550,8 @@
-     if (localtime)
-     {
-         mytm = localtime_r(&t, &result);
--        mytimezone = timezone;
-+	/* For FreeBSD */
-+        mytimezone = mytm->tm_gmtoff;
-     }
-     else
-     {
diff --git a/comms/wsjtx/files/patch-CMakeLists.txt b/comms/wsjtx/files/patch-CMakeLists.txt
index 3caf562c2437..3767e62cceb3 100644
--- a/comms/wsjtx/files/patch-CMakeLists.txt
+++ b/comms/wsjtx/files/patch-CMakeLists.txt
@@ -1,6 +1,55 @@
 --- CMakeLists.txt.orig	2026-06-18 16:22:52 UTC
 +++ CMakeLists.txt
-@@ -1937,7 +1937,7 @@ install (DIRECTORY
+@@ -1052,7 +1052,12 @@ find_package (Boost 1.62 REQUIRED COMPONENTS log_setup
+ #
+ # OpenMP
+ #
+-find_package (OpenMP)
++if (NOT BSD)
++  find_package (OpenMP)
++else()
++  set (OPENMP_FOUND True)
++  set (OpenMP_C_FLAGS "-fopenmp")
++endif()
+ 
+ if (APPLE)
+   set (WSJT_MACOS_LIBGOMP_LIBRARY "" CACHE FILEPATH "Path to the static GNU OpenMP runtime archive")
+@@ -1640,6 +1645,7 @@ add_executable (jt9 ${jt9_FSRCS} ${jt9_VERSION_RESOURC
+ target_link_libraries (record_time_signal wsjt_cxx wsjt_qtmm wsjt_qt)
+ 
+ add_executable (jt9 ${jt9_FSRCS} ${jt9_VERSION_RESOURCES})
++
+ if (${OPENMP_FOUND} OR APPLE)
+   if (APPLE)
+     # On Mac we don't have working OpenMP support in the C/C++
+@@ -1655,12 +1661,20 @@ if (${OPENMP_FOUND} OR APPLE)
+       )
+   else (APPLE)
+     if (OpenMP_C_FLAGS)
+-      set_target_properties (jt9
+-        PROPERTIES
+-        COMPILE_FLAGS "${OpenMP_C_FLAGS}"
+-        LINK_FLAGS "${OpenMP_C_FLAGS}"
+-        )
+-    endif ()
++      if (BSD)
++	  set_target_properties (jt9
++          PROPERTIES
++          COMPILE_FLAGS "${OpenMP_C_FLAGS}"
++          LINK_FLAGS "${OpenMP_C_FLAGS} -z execstack"
++          )
++      else()
++        set_target_properties (jt9
++          PROPERTIES
++          COMPILE_FLAGS "${OpenMP_C_FLAGS}"
++          LINK_FLAGS "${OpenMP_C_FLAGS}"
++          )
++      endif(BSD)
++    endif (OpenMP_C_FLAGS)
+     set_target_properties (jt9
+       PROPERTIES
+       Fortran_MODULE_DIRECTORY ${CMAKE_BINARY_DIR}/fortran_modules_omp
+@@ -1937,7 +1951,7 @@ install (DIRECTORY
    #COMPONENT runtime
    )
  
diff --git a/comms/wsjtx/files/wsjtx.patch b/comms/wsjtx/files/wsjtx.patch
deleted file mode 100644
index 621ad7481184..000000000000
--- a/comms/wsjtx/files/wsjtx.patch
+++ /dev/null
@@ -1,220 +0,0 @@
---- wsjtx/wsjtx_config.h.in.orig	2021-12-28 04:31:58.000000000 -0500
-+++ wsjtx/wsjtx_config.h.in	2024-12-27 18:49:18.680477000 -0500
-@@ -57,17 +57,22 @@
- #	endif
- #endif
- 
--  /* typedef for consistent gfortran ABI for charlen type hidden arguments */
--#if __GNUC__ > 7
--#ifdef __cplusplus
--#include <cstddef>
--#else
--#include <stddef.h>
--#endif
--  typedef size_t fortran_charlen_t;
--#else
--  typedef int fortran_charlen_t;
--#endif
-+#if (__GNUC__ > 7)
-+  #ifdef __cplusplus
-+    #include <cstddef>
-+  #else
-+    #include <stddef.h>
-+  #endif
-+   typedef size_t fortran_charlen_t;
-+ #else
-+/* typedef for consistent gfortran ABI for charlen type hidden arguments */
-+  #if defined(__clang__)
-+    #include <stddef.h>
-+    typedef size_t fortran_charlen_t;
-+  #else
-+    typedef int fortran_charlen_t;
-+  #endif
-+ #endif
- 
- #ifdef __cplusplus
- }
---- wsjtx/CMakeLists.txt.orig	2021-12-28 04:31:58.000000000 -0500
-+++ wsjtx/CMakeLists.txt	2024-12-27 18:52:10.335420000 -0500
-@@ -41,7 +41,7 @@
- endif ()
- 
- if (POLICY CMP0075)
--  cmake_policy (SET CMP0075 NEW) # honour CMAKE_REQUIRED_LIBRARIES in config checks
-+  cmake_policy (SET CMP0075 NEW) # honour CMAKE_REQUIRED_LIBRARIES in config che,cks
- endif ()
- 
- project (wsjtx
-@@ -868,7 +868,7 @@
- # OpenMP
- #
- find_package (OpenMP)
--
-+set (OpenMP_C_FLAGS "-fopenmp")
- #
- # fftw3 single precision library
- #
-@@ -885,7 +885,7 @@
- check_type_size (CACHE_ALL HAMLIB_OLD_CACHING)
- check_symbol_exists (rig_set_cache_timeout_ms "hamlib/rig.h" HAVE_HAMLIB_CACHING)
- 
--find_package (Usb REQUIRED)
-+#find_package (Usb REQUIRED)
- 
- #
- # Qt5 setup
-@@ -915,7 +915,7 @@
- #
- set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra")
- 
--set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall -Wextra -fexceptions -frtti")
-+set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -fexceptions -frtti")
- 
- if (NOT APPLE)
-   set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-pragmas")
-@@ -1161,7 +1161,7 @@
- target_link_libraries (encode77 wsjt_fort wsjt_cxx)
- 
- add_executable (wsprsim ${wsprsim_CSRCS})
--target_link_libraries (wsprsim ${LIBM_LIBRARIES})
-+target_link_libraries (wsprsim "-lm")
- 
- add_executable (jt4code lib/jt4code.f90)
- target_link_libraries (jt4code wsjt_fort wsjt_cxx)
-@@ -1402,6 +1402,11 @@
- else (${OPENMP_FOUND} OR APPLE)
-   target_link_libraries (jt9 wsjt_fort wsjt_cxx fort_qt)
- endif (${OPENMP_FOUND} OR APPLE)
-+if (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
-+  set_target_properties (jt9 PROPERTIES
-+    LINK_FLAGS -Wl,-zexecstack
-+    )
-+endif ()
- 
- if (WIN32)
-   # build map65
---- wsjtx/Radio.cpp.orig	2021-12-28 04:31:58.000000000 -0500
-+++ wsjtx/Radio.cpp	2024-12-27 18:49:18.681599000 -0500
-@@ -54,7 +54,8 @@
-     value *= std::pow (10., scale);
-     if (ok)
-       {
--        if (value < 0. || value > std::numeric_limits<Frequency>::max ())
-+#define MAXDOUBLEFREQUENCY 18446744073709551616.0
-+        if (value < 0. || value > MAXDOUBLEFREQUENCY)
-           {
-             value = 0.;
-             *ok = false;
-@@ -92,7 +93,7 @@
-     if (ok)
-       {
-         if (value < -std::numeric_limits<Frequency>::max ()
--            || value > std::numeric_limits<Frequency>::max ())
-+            || value > MAXDOUBLEFREQUENCY)
-           {
-             value = 0.;
-             *ok = false;
---- wsjtx/widgets/FrequencyLineEdit.cpp.orig	2021-12-28 04:31:58.000000000 -0500
-+++ wsjtx/widgets/FrequencyLineEdit.cpp	2024-12-27 18:49:18.681849000 -0500
-@@ -39,7 +39,8 @@
- FrequencyLineEdit::FrequencyLineEdit (QWidget * parent)
-   : QLineEdit (parent)
- {
--  setValidator (new MHzValidator {0., std::numeric_limits<Radio::Frequency>::max () / 10.e6, this});
-+#define MAXDOUBLEFREQUENCY 18446744073709551616.0
-+  setValidator (new MHzValidator {0., MAXDOUBLEFREQUENCY / 10.e6, this});
- }
- 
- auto FrequencyLineEdit::frequency () const -> Frequency
---- wsjtx/widgets/FrequencyDeltaLineEdit.cpp.orig	2021-12-28 04:31:58.000000000 -0500
-+++ wsjtx/widgets/FrequencyDeltaLineEdit.cpp	2024-12-27 18:49:18.682097000 -0500
-@@ -39,8 +39,8 @@
- FrequencyDeltaLineEdit::FrequencyDeltaLineEdit (QWidget * parent)
-   : QLineEdit (parent)
- {
--  setValidator (new MHzValidator {-std::numeric_limits<FrequencyDelta>::max () / 10.e6,
--        std::numeric_limits<FrequencyDelta>::max () / 10.e6, this});
-+  setValidator (new MHzValidator {(-(std::numeric_limits<FrequencyDelta>::max ())&-0xF) / 10.e6,
-+		  (std::numeric_limits<FrequencyDelta>::max ()&~0xF) / 10.e6, this});
- }
- 
- auto FrequencyDeltaLineEdit::frequency_delta () const -> FrequencyDelta
---- wsjtx/CMake/Modules/FindUsb.cmake.orig	2021-12-28 04:31:58.000000000 -0500
-+++ wsjtx/CMake/Modules/FindUsb.cmake	2024-12-27 18:49:18.682329000 -0500
-@@ -13,25 +13,35 @@
- #  Usb::Usb	- The libusb library
- #
- 
-+if ( CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" )
-+   message ( Status "FreeBSD libusb is built in")
-+   set (Usb_FOUND True)
-+   set(Usb_LIBRARY "usb")
-+   set(Usb_INCLUDE_DIR "/usr/include")
-+   set(Usb_LIBRARIES "")
-+   add_library (Usb "usb")
-+else()
- include (LibFindMacros)
- 
--if (WIN32)
--  # Use path suffixes on MS Windows as we probably shouldn't
--  # trust the PATH envvar. PATH will still be searched to find the
--  # library as last resort.
--  if (CMAKE_SIZEOF_VOID_P MATCHES "8")
--    set (_library_options PATH_SUFFIXES MinGW64/dll MinGW64/static)
--  else ()
--    set (_library_options PATH_SUFFIXES MinGW32/dll MinGW32/static)
--  endif ()
--endif ()
--libfind_pkg_detect (Usb usb-1.0
--  FIND_PATH libusb.h PATH_SUFFIXES libusb-1.0
--  FIND_LIBRARY usb-1.0 ${_library_options}
--  )
-+   if (WIN32)
-+      # Use path suffixes on MS Windows as we probably shouldn't
-+      # trust the PATH envvar. PATH will still be searched to find the
-+      # library as last resort.
-+      if (CMAKE_SIZEOF_VOID_P MATCHES "8")
-+       set (_library_options PATH_SUFFIXES MinGW64/dll MinGW64/static)
-+      else ()
-+        set (_library_options PATH_SUFFIXES MinGW32/dll MinGW32/static)
-+      endif ()
-+   endif ()
- 
--libfind_process (Usb)
-+   libfind_pkg_detect (Usb usb-1.0
-+     FIND_PATH libusb.h PATH_SUFFIXES libusb-1.0
-+     FIND_LIBRARY usb-1.0 ${_library_options}
-+     )
- 
-+   libfind_process (Usb)
-+endif()
-+
- if (Usb_FOUND AND NOT TARGET Usb::Usb)
-   add_library (Usb::Usb UNKNOWN IMPORTED)
-   set_target_properties (Usb::Usb PROPERTIES
-@@ -40,10 +50,12 @@
-     INTERFACE_INCLUDE_DIRECTORIES "${Usb_INCLUDE_DIRS}"
-     INTERFACE_LINK_LIBRARIES "${Usb_LIBRARIES}"
-     )
--endif ()
-+endif()
- 
-+if ( NOT CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" )
- mark_as_advanced (
-   Usb_INCLUDE_DIR
-   Usb_LIBRARY
-   Usb_LIBRARIES
-   )
-+endif()
---- wsjtx/CMake/Modules/FindHamlib.cmake.orig	2021-12-28 04:31:58.000000000 -0500
-+++ wsjtx/CMake/Modules/FindHamlib.cmake	2024-12-27 18:49:18.682526000 -0500
-@@ -18,7 +18,9 @@
-   FIND_LIBRARY hamlib
-   )
- 
-+if ( NOT CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" )
- libfind_package (Hamlib Usb)
-+endif()
- 
- libfind_process (Hamlib)
-