aboutsummaryrefslogtreecommitdiff
path: root/comms
diff options
context:
space:
mode:
authorJose Alonso Cardenas Marquez <acm@FreeBSD.org>2021-08-27 04:26:04 +0000
committerJose Alonso Cardenas Marquez <acm@FreeBSD.org>2021-08-27 04:27:48 +0000
commit897652465e08f1623b4112168ba89e22cb343806 (patch)
treee14bdcab3158d5ddd0fbe992715b1f8bef1d47bd /comms
parent6ad40c7541c29f7213810581afaba1a8b498d93d (diff)
downloadports-897652465e08f1623b4112168ba89e22cb343806.tar.gz
ports-897652465e08f1623b4112168ba89e22cb343806.zip
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/
Diffstat (limited to 'comms')
-rw-r--r--comms/Makefile1
-rw-r--r--comms/wsjtz/Makefile55
-rw-r--r--comms/wsjtz/distinfo3
-rw-r--r--comms/wsjtz/files/patch-CMakeLists.txt78
-rw-r--r--comms/wsjtz/files/patch-CMake_Modules_Findhamlib.cmake11
-rw-r--r--comms/wsjtz/files/patch-Radio.cpp20
-rw-r--r--comms/wsjtz/files/patch-widgets_FrequencyDeltaLineEdit.cpp13
-rw-r--r--comms/wsjtz/files/patch-widgets_FrequencyLineEdit.cpp11
-rw-r--r--comms/wsjtz/pkg-descr18
-rw-r--r--comms/wsjtz/pkg-plist44
10 files changed, 254 insertions, 0 deletions
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@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