git: 897652465e08 - main - comms/wsjtz: New port: Clone of WSJT-X software with additional features

Jose Alonso Cardenas Marquez acm at FreeBSD.org
Fri Aug 27 04:27:59 UTC 2021


The branch main has been updated by acm:

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

commit 897652465e08f1623b4112168ba89e22cb343806
Author:     Jose Alonso Cardenas Marquez <acm at FreeBSD.org>
AuthorDate: 2021-08-27 04:26:04 +0000
Commit:     Jose Alonso Cardenas Marquez <acm at FreeBSD.org>
CommitDate: 2021-08-27 04:27:48 +0000

    comms/wsjtz: New port: Clone of WSJT-X software with additional features
    
    WSJT ("Weak Signal Communication, by K1JT") offers specific digital protocols
    optimized for meteor scatter, ionospheric scatter, and EME (moonbounce)
    at VHF/UHF, as well as HF skywave propagation.  The program can decode
    fraction-of-a-second signals reflected from ionized meteor trails and
    steady signals 10 dB below the audible threshold.
    
    WSJT-Z is a clone of WSJT-X software by Joe Taylor K1JT
    
    Features
    
    - Modified user interface, including a larger Band Activity window
    - Extended filtering features
    - Auto CQ and auto responding
    - QRZ.COM integration
    - Audio alerts
    - DXCC / Continent Filtering
    
    WWW: https://sourceforge.net/projects/wsjt-z/
---
 comms/Makefile                                     |  1 +
 comms/wsjtz/Makefile                               | 55 +++++++++++++++
 comms/wsjtz/distinfo                               |  3 +
 comms/wsjtz/files/patch-CMakeLists.txt             | 78 ++++++++++++++++++++++
 .../files/patch-CMake_Modules_Findhamlib.cmake     | 11 +++
 comms/wsjtz/files/patch-Radio.cpp                  | 20 ++++++
 .../files/patch-widgets_FrequencyDeltaLineEdit.cpp | 13 ++++
 .../files/patch-widgets_FrequencyLineEdit.cpp      | 11 +++
 comms/wsjtz/pkg-descr                              | 18 +++++
 comms/wsjtz/pkg-plist                              | 44 ++++++++++++
 10 files changed, 254 insertions(+)

diff --git a/comms/Makefile b/comms/Makefile
index 45a8042b822e..c5ddf663d841 100644
--- a/comms/Makefile
+++ b/comms/Makefile
@@ -201,6 +201,7 @@
     SUBDIR += viewfax
     SUBDIR += vrflash
     SUBDIR += wsjtx
+    SUBDIR += wsjtz
     SUBDIR += wwl
     SUBDIR += wy60
     SUBDIR += xastir
diff --git a/comms/wsjtz/Makefile b/comms/wsjtz/Makefile
new file mode 100644
index 000000000000..52041f597cc6
--- /dev/null
+++ b/comms/wsjtz/Makefile
@@ -0,0 +1,55 @@
+PORTNAME=	wsjtz
+DISTVERSION=	2.3.0-mod-0.81
+CATEGORIES=	comms hamradio
+MASTER_SITES=	SF/wsjt-z/Source
+
+MAINTAINER=	acm at FreeBSD.org
+COMMENT=	Clone of WSJT-X software with additional features
+
+CONFLICTS=	wsjtx-*
+
+LICENSE=	GPLv3
+
+BUILD_DEPENDS=	asciidoctor:textproc/rubygem-asciidoctor \
+		autoconf>=2.69:devel/autoconf \
+		automake>=1.16.1:devel/automake \
+		a2x:textproc/asciidoc \
+		libtool:devel/libtool \
+		${LOCALBASE}/share/xsl/docbook:textproc/docbook-xsl
+LIB_DEPENDS=	libfftw3.so:math/fftw3 \
+		libfftw3f.so:math/fftw3-float \
+		libxslt.so:textproc/libxslt
+
+USES=		cmake compiler:c++11-lib fortran gl \
+		makeinfo pkgconfig qt:5 zip
+USE_GL=		glu
+USE_QT=		core gui network widgets \
+		multimedia concurrent printsupport serialport sql sql-sqlite3 \
+		buildtools_build linguisttools_build qmake_build
+
+CMAKE_ARGS+=	-DCMAKE_PREFIX_PATH+=${LOCALBASE}/wsjtx/lib \
+		-DLOCALBASE::STRING="${LOCALBASE}"
+# for detailed debugging uncomment the next line
+#CMAKE_ARGS+=   --debug-output --trace
+PLIST_SUB+=	PORTVERSION="${PORTVERSION}"
+
+PORTDOCS=	*
+
+DOCSDIR=	${PREFIX}/share/doc/${PORTNAME:S/z/x/}
+DATADIR=	${PREFIX}/share/${PORTNAME:S/z/x/}
+WRKSRC=		${WRKDIR}/wsjtx
+
+.include <bsd.port.pre.mk>
+
+.if ${GCC_DEFAULT} >= 10
+# workaround for More actual than formal arguments in procedure call at (1)
+FFLAGS+=	-fallow-argument-mismatch
+.endif
+
+post-install:
+.for f in fcal fmeasure fmtave ft8code jt4code jt65code jt9 jt9code \
+	message_aggregator msk144code qra64code qra64sim udp_daemon wsjtx wsprd
+	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${f}
+.endfor
+
+.include <bsd.port.post.mk>
diff --git a/comms/wsjtz/distinfo b/comms/wsjtz/distinfo
new file mode 100644
index 000000000000..e0613d6ef2da
--- /dev/null
+++ b/comms/wsjtz/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1629936087
+SHA256 (wsjtz-2.3.0-mod-0.81.zip) = 7e36e44471c7d6fd4aae37d078d29afd9736cddeecf9e2f930e88298f484c2b3
+SIZE (wsjtz-2.3.0-mod-0.81.zip) = 15490080
diff --git a/comms/wsjtz/files/patch-CMakeLists.txt b/comms/wsjtz/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..7dfab188f567
--- /dev/null
+++ b/comms/wsjtz/files/patch-CMakeLists.txt
@@ -0,0 +1,78 @@
+--- CMakeLists.txt.orig	2021-02-08 14:51:20 UTC
++++ CMakeLists.txt
+@@ -141,6 +141,12 @@ attach a debugger which will then receive the console 
+ # install locations
+ #
+ 
++if (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
++  set (FREEBSD TRUE)
++  link_directories("/usr/lib" "${LOCALBASE}/lib")
++  include_directories("/usr/include" "${LOCALBASE}/include")
++endif()
++
+ if (APPLE)
+   set (CMAKE_INSTALL_BINDIR ${CMAKE_PROJECT_NAME}.app/Contents/MacOS)
+   set (CMAKE_INSTALL_DATAROOTDIR ${CMAKE_PROJECT_NAME}.app/Contents/Resources)
+@@ -847,8 +853,20 @@ find_package (Boost 1.62 REQUIRED COMPONENTS log_setup
+ #
+ # OpenMP
+ #
+-find_package (OpenMP)
++#    OpenMP_C_FLAGS - flags to add to the C compiler for OpenMP support
++#    OpenMP_CXX_FLAGS - flags to add to the CXX compiler for OpenMP support
++#    OpenMP_Fortran_FLAGS - flags to add to the Fortran compiler for OpenMP support
++#    OPENMP_FOUND - true if openmp is detected
+ 
++if (FREEBSD)
++  set (OpenMP_C_FLAGS "-openmp")
++  set (OpenMP_CXX_FLAGS "-openmp")
++  set (OpenMP_Fortran_FLAGS "-openmp")
++  set (OPENMP_FOUND TRUE)
++else()
++  find_package (OpenMP)
++endif()
++
+ #
+ # fftw3 single precision library
+ #
+@@ -1135,7 +1153,7 @@ add_executable (encode77 lib/77bit/encode77.f90)
+ target_link_libraries (encode77 wsjt_fort wsjt_cxx)
+ 
+ add_executable (wsprsim ${wsprsim_CSRCS})
+-target_link_libraries (wsprsim ${LIBM_LIBRARIES})
++target_link_libraries (wsprsim ${LIBM_LIBRARIES} -lm)
+ 
+ add_executable (jt4code lib/jt4code.f90)
+ target_link_libraries (jt4code wsjt_fort wsjt_cxx)
+@@ -1177,6 +1195,12 @@ target_link_libraries (ldpcsim240_74 wsjt_fort wsjt_cx
+ 
+ endif(WSJT_BUILD_UTILS)
+ 
++if(FREEBSD)
++   set (extraLIBS "ltdl" "usb")
++ else()
++   set (extraLIBS "")
++endif()
++
+ add_executable (fmtave lib/fmtave.f90)
+ 
+ add_executable (fcal lib/fcal.f90)
+@@ -1561,12 +1585,12 @@ install (PROGRAMS
+   RENAME rigctld-wsjtx${CMAKE_EXECUTABLE_SUFFIX}
+   )
+ 
+-install (PROGRAMS
+-  ${RIGCTLCOM_EXE}
+-  DESTINATION ${CMAKE_INSTALL_BINDIR}
+-  #COMPONENT runtime
+-  RENAME rigctlcom-wsjtx${CMAKE_EXECUTABLE_SUFFIX}
+-  )
++#install (PROGRAMS
++#  ${RIGCTLCOM_EXE}
++#  DESTINATION ${CMAKE_INSTALL_BINDIR}
++#  #COMPONENT runtime
++#  RENAME rigctlcom-wsjtx${CMAKE_EXECUTABLE_SUFFIX}
++#  )
+ 
+ install (FILES
+   README
diff --git a/comms/wsjtz/files/patch-CMake_Modules_Findhamlib.cmake b/comms/wsjtz/files/patch-CMake_Modules_Findhamlib.cmake
new file mode 100644
index 000000000000..1963cf606c56
--- /dev/null
+++ b/comms/wsjtz/files/patch-CMake_Modules_Findhamlib.cmake
@@ -0,0 +1,11 @@
+--- CMake/Modules/Findhamlib.cmake.orig	2021-02-01 18:08:30 UTC
++++ CMake/Modules/Findhamlib.cmake
+@@ -16,7 +16,7 @@ set (hamlib_LIBRARY_DIRS)
+ 
+ # pkg-config?
+ find_path (__hamlib_pc_path NAMES hamlib.pc
+-  PATH_SUFFIXES lib/pkgconfig lib64/pkgconfig
++  PATH_SUFFIXES libdata/pkgconfig lib64/pkgconfig
+   )
+ if (__hamlib_pc_path)
+   set (__pc_path $ENV{PKG_CONFIG_PATH})
diff --git a/comms/wsjtz/files/patch-Radio.cpp b/comms/wsjtz/files/patch-Radio.cpp
new file mode 100644
index 000000000000..4beb7759b8e8
--- /dev/null
+++ b/comms/wsjtz/files/patch-Radio.cpp
@@ -0,0 +1,20 @@
+--- Radio.cpp.orig	2021-02-01 18:08:30 UTC
++++ Radio.cpp
+@@ -45,7 +45,7 @@ namespace Radio
+     value *= std::pow (10., scale);
+     if (ok)
+       {
+-        if (value < 0. || value > std::numeric_limits<Frequency>::max ())
++        if (value < 0. || value > (float)std::numeric_limits<Frequency>::max ())
+           {
+             value = 0.;
+             *ok = false;
+@@ -70,7 +70,7 @@ namespace Radio
+     if (ok)
+       {
+         if (value < -std::numeric_limits<Frequency>::max ()
+-            || value > std::numeric_limits<Frequency>::max ())
++            || value > (float)std::numeric_limits<Frequency>::max ())
+           {
+             value = 0.;
+             *ok = false;
diff --git a/comms/wsjtz/files/patch-widgets_FrequencyDeltaLineEdit.cpp b/comms/wsjtz/files/patch-widgets_FrequencyDeltaLineEdit.cpp
new file mode 100644
index 000000000000..1b677344d795
--- /dev/null
+++ b/comms/wsjtz/files/patch-widgets_FrequencyDeltaLineEdit.cpp
@@ -0,0 +1,13 @@
+--- widgets/FrequencyDeltaLineEdit.cpp.orig	2021-02-01 18:08:30 UTC
++++ widgets/FrequencyDeltaLineEdit.cpp
+@@ -39,8 +39,8 @@ namespace
+ 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 {-(float)std::numeric_limits<FrequencyDelta>::max () / 10.e6,
++        (float)std::numeric_limits<FrequencyDelta>::max () / 10.e6, this});
+ }
+ 
+ auto FrequencyDeltaLineEdit::frequency_delta () const -> FrequencyDelta
diff --git a/comms/wsjtz/files/patch-widgets_FrequencyLineEdit.cpp b/comms/wsjtz/files/patch-widgets_FrequencyLineEdit.cpp
new file mode 100644
index 000000000000..10b456242781
--- /dev/null
+++ b/comms/wsjtz/files/patch-widgets_FrequencyLineEdit.cpp
@@ -0,0 +1,11 @@
+--- widgets/FrequencyLineEdit.cpp.orig	2021-02-01 18:08:30 UTC
++++ widgets/FrequencyLineEdit.cpp
+@@ -39,7 +39,7 @@ namespace
+ FrequencyLineEdit::FrequencyLineEdit (QWidget * parent)
+   : QLineEdit (parent)
+ {
+-  setValidator (new MHzValidator {0., std::numeric_limits<Radio::Frequency>::max () / 10.e6, this});
++  setValidator (new MHzValidator {0., (float)std::numeric_limits<Radio::Frequency>::max () / 10.e6, this});
+ }
+ 
+ auto FrequencyLineEdit::frequency () const -> Frequency
diff --git a/comms/wsjtz/pkg-descr b/comms/wsjtz/pkg-descr
new file mode 100644
index 000000000000..fc922eca3852
--- /dev/null
+++ b/comms/wsjtz/pkg-descr
@@ -0,0 +1,18 @@
+WSJT ("Weak Signal Communication, by K1JT") offers specific digital protocols
+optimized for meteor scatter, ionospheric scatter, and EME (moonbounce)
+at VHF/UHF, as well as HF skywave propagation.  The program can decode
+fraction-of-a-second signals reflected from ionized meteor trails and
+steady signals 10 dB below the audible threshold.
+
+WSJT-Z is a clone of WSJT-X software by Joe Taylor K1JT
+
+Features
+
+- Modified user interface, including a larger Band Activity window
+- Extended filtering features
+- Auto CQ and auto responding
+- QRZ.COM integration
+- Audio alerts
+- DXCC / Continent Filtering
+
+WWW: https://sourceforge.net/projects/wsjt-z/
diff --git a/comms/wsjtz/pkg-plist b/comms/wsjtz/pkg-plist
new file mode 100644
index 000000000000..34dc0fcc7d74
--- /dev/null
+++ b/comms/wsjtz/pkg-plist
@@ -0,0 +1,44 @@
+bin/fcal
+bin/fmeasure
+bin/fmtave
+bin/fst4sim
+bin/ft8code
+bin/jt4code
+bin/jt65code
+bin/jt9
+bin/jt9code
+bin/message_aggregator
+bin/msk144code
+bin/qra64code
+bin/qra64sim
+bin/rigctl-wsjtx
+bin/rigctld-wsjtx
+bin/udp_daemon
+bin/wsjtx
+bin/wsjtx_app_version
+bin/wsprd
+man/man1/fcal.1.gz
+man/man1/fmeasure.1.gz
+man/man1/fmtave.1.gz
+man/man1/fst4sim.1.gz
+man/man1/ft8code.1.gz
+man/man1/jt4code.1.gz
+man/man1/jt65code.1.gz
+man/man1/jt9.1.gz
+man/man1/jt9code.1.gz
+man/man1/message_aggregator.1.gz
+man/man1/msk144code.1.gz
+man/man1/qra64code.1.gz
+man/man1/qra64sim.1.gz
+man/man1/rigctl-wsjtx.1.gz
+man/man1/rigctlcom-wsjtx.1.gz
+man/man1/rigctld-wsjtx.1.gz
+man/man1/udp_daemon.1.gz
+man/man1/wsjtx.1.gz
+man/man1/wsprd.1.gz
+share/applications/message_aggregator.desktop
+share/applications/wsjtx.desktop
+share/pixmaps/wsjtx_icon.png
+%%DATADIR%%/JPLEPH
+%%DATADIR%%/cty.dat
+%%DATADIR%%/cty.dat_copyright.txt


More information about the dev-commits-ports-main mailing list