git: 3c4f78ecb115 - main - comms/svxlink: update of qtel and svxlink port
Diane Bruce <[email protected]> Sat, 01 Aug 2026 13:04:38 +0000
| Newsgroups | gmane.os.freebsd.devel.cvs.ports |
|---|---|
| Message-ID | <[email protected]> |
The branch main has been updated by db: URL: https://cgit.FreeBSD.org/ports/commit/?id=3c4f78ecb115483a5153ef2a759829f0c953f836 commit 3c4f78ecb115483a5153ef2a759829f0c953f836 Author: Diane Bruce <[email protected]> AuthorDate: 2026-07-31 23:41:37 +0000 Commit: Diane Bruce <[email protected]> CommitDate: 2026-08-01 13:03:29 +0000 comms/svxlink: update of qtel and svxlink port Updated to 26.05.1 major changes from 19.09.2 26.05.1 is a security upgrade from 26.05 26.05 Most important changes since the previous release IMPORTANT! This release may break your TCL event handler changes if they were not done properly! So, the TCL event handling system has been rewritten since the last release. It has been changed to be more powerful and to better reflect the hierarchies in the C++ code. If you have no local TCL changes you should be fine. If things break or behave strange when you start the new version, move all your changes out of the way so that there are no local TCL changes at all. ... See https://github.com/sm0svx/svxlink/releases --- comms/qtel/Makefile | 6 +- comms/qtel/pkg-plist | 8 +- comms/svxlink/Makefile | 25 ++--- comms/svxlink/distinfo | 6 +- comms/svxlink/files/patch-src_CMakeLists.txt | 64 +++++++---- comms/svxlink/files/patch-src_async_CMakeLists.txt | 2 +- .../svxlink/files/patch-src_async_core_AsyncMsg.h | 6 +- .../files/patch-src_async_cpp_CMakeLists.txt | 11 ++ .../files/patch-src_cmake_Modules_FindRtlSdr.cmake | 54 ++++++++++ .../svxlink/files/patch-src_doc_man_CMakeLists.txt | 50 +++------ comms/svxlink/files/patch-src_misc_CMakeLists.txt | 12 +++ comms/svxlink/files/patch-src_qtel_CMakeLists.txt | 4 +- .../files/patch-src_svxlink_devcal_CMakeLists.txt | 4 +- ...ch-src_svxlink_modules_metarinfo_CMakeLists.txt | 8 +- .../patch-src_svxlink_reflector_CMakeLists.txt | 23 ++++ .../files/patch-src_svxlink_svxlink_CMakeLists.txt | 24 +++-- .../files/patch-src_svxlink_trx_CMakeLists.txt | 24 +++++ comms/svxlink/pkg-plist | 117 ++++++++++++++------- 18 files changed, 312 insertions(+), 136 deletions(-) diff --git a/comms/qtel/Makefile b/comms/qtel/Makefile index 791a696bf613..d556195fdd96 100644 --- a/comms/qtel/Makefile +++ b/comms/qtel/Makefile @@ -9,9 +9,9 @@ LIB_DEPENDS= libecholib.so:comms/svxlink \ libgsm.so:audio/gsm MASTERDIR= ${.CURDIR}/../svxlink -USES= qt:5 gnome -USE_QT= buildtools core gui linguisttools network qmake widgets -USE_GNOME= libsigc++20 +USES= qt:6 +USE_QT= base 5compat tools +USE_GL= gl opengl PKGDIR= ${.CURDIR} CMAKE_ARGS+= -DUSE_QT:BOOL=YES \ -DQT_ONLY:BOOL=YES diff --git a/comms/qtel/pkg-plist b/comms/qtel/pkg-plist index eca666b2ad82..bcbfdae7594b 100644 --- a/comms/qtel/pkg-plist +++ b/comms/qtel/pkg-plist @@ -1,10 +1,13 @@ bin/qtel include/svxlink/AsyncQtApplication.h %%STATIC%%lib/libasyncqt.a -lib/libasyncqt.so.1.6.0 -lib/libasyncqt.so.1.6 +lib/libasyncqt.so.1.9.1 +lib/libasyncqt.so.1.9 lib/libasyncqt.so share/applications/qtel.desktop +share/doc/svxlink/man1/qtel.1.html +share/icons/hicolor/128x128/apps/qtel.png +share/metainfo/org.svxlink.Qtel.metainfo.xml %%DATADIR%%/translations/qtel_sv.qm %%DATADIR%%/translations/qtel_de.qm %%DATADIR%%/translations/qtel_tr.qm @@ -17,5 +20,4 @@ share/applications/qtel.desktop %%DATADIR%%/translations/qtel_ja.qm %%DATADIR%%/translations/qtel_fr.qm %%DATADIR%%/sounds/connect.raw -share/icons/link.xpm share/man/man1/qtel.1.gz diff --git a/comms/svxlink/Makefile b/comms/svxlink/Makefile index 44908356470d..b014581f3f49 100644 --- a/comms/svxlink/Makefile +++ b/comms/svxlink/Makefile @@ -1,6 +1,5 @@ PORTNAME?= svxlink -PORTVERSION= 19.09.2 -PORTREVISION?= 2 +PORTVERSION= 26.05.1 CATEGORIES= comms hamradio MAINTAINER= [email protected] @@ -11,15 +10,19 @@ LICENSE?= GPLv2 LIB_DEPENDS?= libcurl.so:ftp/curl \ libgcrypt.so:security/libgcrypt \ - libgpg-error.so:security/libgpg-error \ libgsm.so:audio/gsm \ + libogg.so:audio/libogg \ libopus.so:audio/opus \ libpopt.so:devel/popt \ + libjsoncpp.so:devel/jsoncpp \ librtlsdr.so:comms/rtl-sdr \ libspeex.so:audio/speex -BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto +BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto \ + anytopnm:graphics/netpbm -USES+= cmake:noninja compiler:c++11-lang gnome groff pkgconfig tcl:86 +USES+= cmake:noninja compiler:c++11-lang ghostscript gnome groff pkgconfig \ + python tcl:86 ssl shebangfix +SHEBANG_FILES= src/svxlink/reflector/ca-hook.py.in src/svxlink/reflector/svxreflector-status USE_GITHUB= yes GH_ACCOUNT= sm0svx GH_PROJECT= svxlink @@ -62,11 +65,9 @@ PORTDOCS= * post-patch: @${GREP} -lr /dev/ttyS0 ${WRKSRC} | ${GREP} -v .bak | ${GREP} -v .orig | ${XARGS} \ ${REINPLACE_CMD} -e 's|/dev/ttyS0|/dev/ttyu0|' - @${REINPLACE_CMD} -e 's|/usr/share/icons|${PREFIX}/share/icons|' \ - ${WRKSRC}/src/qtel/qtel.desktop @${REINPLACE_CMD} -e 's|/usr/share/svxlink|${DOCSDIR}|' \ ${WRKSRC}/src/doc/man/svxlink.conf.5 - @${REINPLACE_CMD} -e 's|/usr/bin/|${PREFIX}/bin/|' ${WRKSRC}/src/qtel/qtel.desktop \ + @${REINPLACE_CMD} -e 's|/usr/bin/|${PREFIX}/bin/|' \ ${WRKSRC}/src/doc/man/svxlink.conf.5 \ ${WRKSRC}/src/svxlink/svxlink/svxlink.conf.in @${REINPLACE_CMD} -e 's|/usr/lib|${PREFIX}/lib|' \ @@ -81,6 +82,8 @@ post-patch-OSS-on: post-install: ${MV} ${STAGEDIR}${PREFIX}/etc/svxlink/.procmailrc \ ${STAGEDIR}${PREFIX}/etc/svxlink/.procmailrc.sample + ${MV} ${STAGEDIR}${PREFIX}/etc/svxlink/ca-hook.yaml \ + ${STAGEDIR}${PREFIX}/etc/svxlink/ca-hook.yaml.sample ${MV} ${STAGEDIR}${PREFIX}/etc/svxlink/gpio.conf \ ${STAGEDIR}${PREFIX}/etc/svxlink/gpio.conf.sample ${MV} ${STAGEDIR}${PREFIX}/etc/svxlink/TclVoiceMail.conf \ @@ -117,11 +120,5 @@ do-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${WRKSRC}/src/doc/README-19.09.adoc ${STAGEDIR}${DOCSDIR} .endif -.if ${PORTNAME} == qtel -post-install: - ${RM} ${STAGEDIR}${PREFIX}/include/svxlink/CppStdCompat.h - ${RM} ${STAGEDIR}${PREFIX}/include/svxlink/common.h - ${RM} ${STAGEDIR}${PREFIX}/lib/libsvxmisc.a -.endif .include <bsd.port.mk> diff --git a/comms/svxlink/distinfo b/comms/svxlink/distinfo index 89a08bd93c52..60edf56d760a 100644 --- a/comms/svxlink/distinfo +++ b/comms/svxlink/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1702760267 -SHA256 (sm0svx-svxlink-19.09.2_GH0.tar.gz) = 47e9bf098cef19a8f0a3bf567e96d70447cb028e0fcfc3bbeb692ae5bae05a70 -SIZE (sm0svx-svxlink-19.09.2_GH0.tar.gz) = 1730836 +TIMESTAMP = 1785521039 +SHA256 (sm0svx-svxlink-26.05.1_GH0.tar.gz) = 78830607449cdf90f52142d8863a656bcc9777a0b90d709cd525b9455c1da63b +SIZE (sm0svx-svxlink-26.05.1_GH0.tar.gz) = 2072886 diff --git a/comms/svxlink/files/patch-src_CMakeLists.txt b/comms/svxlink/files/patch-src_CMakeLists.txt index 26d2cec8f11a..85bc15e58ee9 100644 --- a/comms/svxlink/files/patch-src_CMakeLists.txt +++ b/comms/svxlink/files/patch-src_CMakeLists.txt @@ -1,6 +1,25 @@ ---- src/CMakeLists.txt.orig 2019-09-01 20:12:38 UTC +--- src/CMakeLists.txt.orig 2026-05-23 14:59:55 UTC +++ src/CMakeLists.txt -@@ -37,6 +37,7 @@ set(RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin +@@ -27,6 +27,18 @@ set(PROJECT_INCLUDE_DIR ${PROJECT_BINARY_DIR}/include) + + # The path to the project global include directory + set(PROJECT_INCLUDE_DIR ${PROJECT_BINARY_DIR}/include) ++# Set up include directories ++include_directories( ++ ${PROJECT_INCLUDE_DIR} ++ ${CMAKE_BINARY_DIR} ++if(QT_ONLY) ++ ${CMAKE_SOURCE_DIR}/echolib ++ ${CMAKE_SOURCE_DIR}/async/audio ++ ${CMAKE_SOURCE_DIR}/async/core ++ ${CMAKE_SOURCE_DIR}/async/cpp ++ ${INCLUDE_INSTALL_DIR}/svxlink/svxlink ++endif(QT_ONLY) ++) + + # Where to put library files + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib) +@@ -43,6 +55,7 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cma list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/Modules/") # Optional parts @@ -8,7 +27,7 @@ option(USE_QT "Build Qt applications and libs" ON) option(BUILD_STATIC_LIBS "Build static libraries in addition to dynamic" OFF) -@@ -46,12 +47,6 @@ if(NOT DEFINED INTERNAL_SAMPLE_RATE) +@@ -52,12 +65,6 @@ add_definitions(-DINTERNAL_SAMPLE_RATE=${INTERNAL_SAMP endif(NOT DEFINED INTERNAL_SAMPLE_RATE) add_definitions(-DINTERNAL_SAMPLE_RATE=${INTERNAL_SAMPLE_RATE}) @@ -21,7 +40,7 @@ # Warnings should be enabled for GCC. Also turning off the NDEBUG flag # since that remove asserts. if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) -@@ -79,7 +74,6 @@ if(NOT CMAKE_BUILD_TYPE) +@@ -85,7 +92,6 @@ endif(NOT CMAKE_BUILD_TYPE) FORCE) endif(NOT CMAKE_BUILD_TYPE) @@ -29,7 +48,7 @@ ############################################################################## # Install targets properties setup ############################################################################## -@@ -93,6 +87,18 @@ if(NOT DEFINED INCLUDE_INSTALL_DIR) +@@ -99,6 +105,18 @@ endif(NOT DEFINED INCLUDE_INSTALL_DIR) set(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_FULL_INCLUDEDIR}) endif(NOT DEFINED INCLUDE_INSTALL_DIR) @@ -48,16 +67,24 @@ # Where to install libraries if(NOT DEFINED LIB_INSTALL_DIR) #set(LIB_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}) -@@ -333,21 +339,23 @@ set(LIBS ${LIBS} ${SIGC2_LIBRARIES}) - # Find the chown utility - include(FindCHOWN) +@@ -297,11 +315,11 @@ configure_file(${CMAKE_SOURCE_DIR}/config.h.in + ) --set(SVXLINK_USER "svxlink" CACHE STRING "Set SvxLink system user") --set(SVXLINK_GROUP "svxlink" CACHE STRING "Set SvxLink system group") --message(STATUS "SvxLink user = ${SVXLINK_USER}") --message(STATUS "SvxLink group = ${SVXLINK_GROUP}") -- - # Add directories to build + # Find the Sigc++ library +-find_package(SIGC REQUIRED) +-include_directories(${SIGC_INCLUDE_DIRS}) +-add_definitions(${SIGC_DEFINITIONS}) ++find_package(SIGC2 REQUIRED) ++include_directories(${SIGC2_INCLUDE_DIRS}) ++add_definitions(${SIGC2_DEFINITIONS}) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SIGC_CXX_FLAGS}") +-set(LIBS ${LIBS} ${SIGC_LIBRARIES}) ++set(LIBS ${LIBS} ${SIGC2_LIBRARIES}) + + find_package(LADSPA) + if(LADSPA_FOUND) +@@ -331,9 +349,11 @@ add_subdirectory(misc) + add_subdirectory(doc) add_subdirectory(async) add_subdirectory(misc) +if(NOT QT_ONLY) @@ -68,12 +95,3 @@ if(USE_QT) add_subdirectory(qtel) endif(USE_QT) - add_subdirectory(doc) -+ -+set(SVXLINK_USER "svxlink" CACHE STRING "Set SvxLink system user") -+set(SVXLINK_GROUP "daemon" CACHE STRING "Set SvxLink system group") -+message(STATUS "SvxLink user = ${SVXLINK_USER}") -+message(STATUS "SvxLink group = ${SVXLINK_GROUP}") - - # Experimental CPack package building - set(CPACK_SET_DESTDIR "ON") diff --git a/comms/svxlink/files/patch-src_async_CMakeLists.txt b/comms/svxlink/files/patch-src_async_CMakeLists.txt index dcc2cd0587ae..c58a4506a1c9 100644 --- a/comms/svxlink/files/patch-src_async_CMakeLists.txt +++ b/comms/svxlink/files/patch-src_async_CMakeLists.txt @@ -1,4 +1,4 @@ ---- src/async/CMakeLists.txt.orig 2018-03-04 18:59:29 UTC +--- src/async/CMakeLists.txt.orig 2026-05-23 14:59:55 UTC +++ src/async/CMakeLists.txt @@ -1,7 +1,9 @@ +if(NOT QT_ONLY) diff --git a/comms/svxlink/files/patch-src_async_core_AsyncMsg.h b/comms/svxlink/files/patch-src_async_core_AsyncMsg.h index 9cdf30366cd5..198ca01b6dd4 100644 --- a/comms/svxlink/files/patch-src_async_core_AsyncMsg.h +++ b/comms/svxlink/files/patch-src_async_core_AsyncMsg.h @@ -1,7 +1,7 @@ ---- src/async/core/AsyncMsg.h.orig 2019-03-10 00:47:36 UTC +--- src/async/core/AsyncMsg.h.orig 2026-05-23 14:59:55 UTC +++ src/async/core/AsyncMsg.h -@@ -129,7 +129,7 @@ An example of how to use the AsyncMsg class - #include <vector> +@@ -131,7 +131,7 @@ An example of how to use the AsyncMsg class + #include <set> #include <map> #include <limits> -#include <endian.h> diff --git a/comms/svxlink/files/patch-src_async_cpp_CMakeLists.txt b/comms/svxlink/files/patch-src_async_cpp_CMakeLists.txt new file mode 100644 index 000000000000..91793e8faf99 --- /dev/null +++ b/comms/svxlink/files/patch-src_async_cpp_CMakeLists.txt @@ -0,0 +1,11 @@ +--- src/async/cpp/CMakeLists.txt.orig 2026-06-03 15:52:20 UTC ++++ src/async/cpp/CMakeLists.txt +@@ -16,7 +16,7 @@ set(LIBS ${LIBS} ${CMAKE_THREAD_LIBS_INIT}) + set(LIBS ${LIBS} ${CMAKE_THREAD_LIBS_INIT}) + + # Find libresolv for real? +-set(LIBS ${LIBS} resolv) ++#set(LIBS ${LIBS} resolv) + + # Set up additional defines + # FIXME: Do we need this? diff --git a/comms/svxlink/files/patch-src_cmake_Modules_FindRtlSdr.cmake b/comms/svxlink/files/patch-src_cmake_Modules_FindRtlSdr.cmake new file mode 100644 index 000000000000..b2b50ae4d9c0 --- /dev/null +++ b/comms/svxlink/files/patch-src_cmake_Modules_FindRtlSdr.cmake @@ -0,0 +1,54 @@ +--- src/cmake/Modules/FindRtlSdr.cmake.orig 2026-05-23 14:59:55 UTC ++++ src/cmake/Modules/FindRtlSdr.cmake +@@ -7,18 +7,24 @@ + # RTLSDR_DEFINITIONS - Compiler switches required for using rtl-sdr + # + ++string(COMPARE EQUAL "FreeBSD" ${BSD} FreeBSD) ++ ++if (${FreeBSD}) ++ set(LIBUSB_NAME "usb") ++endif( FreeBSD) ++ + if (RTLSDR_LIBRARIES AND RTLSDR_INCLUDE_DIRS) + # In cache already + set(RTLSDR_FOUND TRUE) + else (RTLSDR_LIBRARIES AND RTLSDR_INCLUDE_DIRS) +- find_package(PkgConfig) +- if(CMAKE_VERSION VERSION_LESS 2.8.2) +- pkg_check_modules(PC_LIBUSB libusb-1.0) +- pkg_check_modules(PC_RTLSDR librtlsdr) +- else() +- pkg_check_modules(PC_LIBUSB QUIET libusb-1.0) +- pkg_check_modules(PC_RTLSDR QUIET librtlsdr) +- endif() ++ find_package(PkgConfig) ++ if(CMAKE_VERSION VERSION_LESS 2.8.2) ++ pkg_check_modules(PC_LIBUSB libusb-1.0) ++ pkg_check_modules(PC_RTLSDR librtlsdr) ++ else() ++ pkg_check_modules(PC_LIBUSB QUIET libusb-1.0) ++ pkg_check_modules(PC_RTLSDR QUIET librtlsdr) ++ endif(CMAKE_VERSION VERSION_LESS 2.8.2) + + find_path(LIBUSB_INCLUDE_DIR + NAMES libusb.h +@@ -27,17 +33,15 @@ else (RTLSDR_LIBRARIES AND RTLSDR_INCLUDE_DIRS) + ) + + find_library(LIBUSB_LIBRARY +- NAMES usb-1.0 ++ NAMES ${LIBUSB_NAME} + PATHS ${PC_LIBUSB_LIBRARY_DIRS} + DOC "libusb library path" + ) +- + find_path(RTLSDR_INCLUDE_DIR + NAMES rtl-sdr.h + PATHS ${PC_RTLSDR_INCLUDE_DIRS} ${RTLSDR_DIR}/include + DOC "librtlsdr include directory path" + ) +- + find_library(RTLSDR_LIBRARY + NAMES rtlsdr + PATHS ${PC_RTLSDR_LIBRARY_DIRS} ${RTLSDR_DIR}/build/src ${RTLSDR_DIR}/src/.libs diff --git a/comms/svxlink/files/patch-src_doc_man_CMakeLists.txt b/comms/svxlink/files/patch-src_doc_man_CMakeLists.txt index 440327863be2..35ecb0e98b20 100644 --- a/comms/svxlink/files/patch-src_doc_man_CMakeLists.txt +++ b/comms/svxlink/files/patch-src_doc_man_CMakeLists.txt @@ -1,40 +1,22 @@ ---- src/doc/man/CMakeLists.txt.orig 2019-09-01 20:12:38 UTC +--- src/doc/man/CMakeLists.txt.orig 2026-05-23 14:59:55 UTC +++ src/doc/man/CMakeLists.txt -@@ -1,11 +1,18 @@ +@@ -46,11 +46,17 @@ endfunction(add_manual_pages) + endfunction(add_manual_pages) + # Set up which man pages to build and install +if(QT_ONLY) -+ set(MAN_PAGES qtel.1) ++add_manual_pages(qtel.1) +else(QT_ONLY) - set(MAN_PAGES svxlink.1 svxlink.conf.5 remotetrx.1 remotetrx.conf.5 -- siglevdetcal.1 devcal.1 svxreflector.1 svxreflector.conf.5 qtel.1 -+ siglevdetcal.1 devcal.1 svxreflector.1 svxreflector.conf.5 - ModuleHelp.conf.5 ModuleParrot.conf.5 ModuleEchoLink.conf.5 - ModuleTclVoiceMail.conf.5 ModuleDtmfRepeater.conf.5 - ModulePropagationMonitor.conf.5 ModuleSelCallEnc.conf.5 - ModuleFrn.conf.5 ModuleTrx.conf.5 --) -+ ) -+if(USE_QT) -+ set(MAN_PAGES ${MAN_PAGES} qtel.1) + add_manual_pages( + svxlink.1 svxlink.conf.5 remotetrx.1 remotetrx.conf.5 siglevdetcal.1 devcal.1 +- svxreflector.1 svxreflector.conf.5 qtel.1 ModuleHelp.conf.5 ++ svxreflector.1 svxreflector.conf.5 ModuleHelp.conf.5 + ModuleParrot.conf.5 ModuleEchoLink.conf.5 ModuleTclVoiceMail.conf.5 + ModuleDtmfRepeater.conf.5 ModulePropagationMonitor.conf.5 + ModuleSelCallEnc.conf.5 ModuleFrn.conf.5 ModuleTrx.conf.5 + ) +- ++if (USE_QT) ++ add_manual_pages(qtel.1) +endif(USE_QT) +endif(QT_ONLY) - - # Search for the gzip and groff programs. Error out if not found. - include(FindGZIP) -@@ -31,11 +38,11 @@ if(GROFF_TOOL AND GZIP_TOOL) - DESTINATION ${MAN_INSTALL_DIR}/man${sec} - OPTIONAL - ) -- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${man}.html -- DESTINATION ${DOC_INSTALL_DIR}/man/man${sec} -- OPTIONAL -- ) -- set(TARGETS ${TARGETS} ${man}.gz ${man}.html) -+ #install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${man}.html -+ # DESTINATION ${DOC_INSTALL_DIR}/man/man${sec} -+ # OPTIONAL -+ #) -+ set(TARGETS ${TARGETS} ${man}.gz) - endforeach(man) - - # Add a custom target to trigger the build of the man pages diff --git a/comms/svxlink/files/patch-src_misc_CMakeLists.txt b/comms/svxlink/files/patch-src_misc_CMakeLists.txt new file mode 100644 index 000000000000..e7fb1fdeb80d --- /dev/null +++ b/comms/svxlink/files/patch-src_misc_CMakeLists.txt @@ -0,0 +1,12 @@ +--- src/misc/CMakeLists.txt.orig 2026-05-23 14:59:55 UTC ++++ src/misc/CMakeLists.txt +@@ -13,5 +13,7 @@ target_link_libraries(${LIBNAME} ${LIBS}) + target_link_libraries(${LIBNAME} ${LIBS}) + + # Install targets +-install(TARGETS ${LIBNAME} DESTINATION ${LIB_INSTALL_DIR}) +-install(FILES ${EXPINC} DESTINATION ${SVX_INCLUDE_INSTALL_DIR}) ++if(NOT QT_ONLY) ++ install(TARGETS ${LIBNAME} DESTINATION ${LIB_INSTALL_DIR}) ++ install(FILES ${EXPINC} DESTINATION ${SVX_INCLUDE_INSTALL_DIR}) ++endif(NOT QT_ONLY) diff --git a/comms/svxlink/files/patch-src_qtel_CMakeLists.txt b/comms/svxlink/files/patch-src_qtel_CMakeLists.txt index defac889ecdd..0dc4b19e7804 100644 --- a/comms/svxlink/files/patch-src_qtel_CMakeLists.txt +++ b/comms/svxlink/files/patch-src_qtel_CMakeLists.txt @@ -1,6 +1,6 @@ ---- src/qtel/CMakeLists.txt.orig 2018-03-04 18:59:29 UTC +--- src/qtel/CMakeLists.txt.orig 2026-05-23 14:59:55 UTC +++ src/qtel/CMakeLists.txt -@@ -16,7 +16,14 @@ set(FORMS MainWindowBase.ui ComDialogBase.ui SettingsD +@@ -16,7 +16,14 @@ set(RESOURCES qtel.qrc) set(RESOURCES qtel.qrc) # Libraries diff --git a/comms/svxlink/files/patch-src_svxlink_devcal_CMakeLists.txt b/comms/svxlink/files/patch-src_svxlink_devcal_CMakeLists.txt index 769f0957c3cb..c13581560de6 100644 --- a/comms/svxlink/files/patch-src_svxlink_devcal_CMakeLists.txt +++ b/comms/svxlink/files/patch-src_svxlink_devcal_CMakeLists.txt @@ -1,6 +1,6 @@ ---- src/svxlink/devcal/CMakeLists.txt.orig 2018-03-04 18:59:29 UTC +--- src/svxlink/devcal/CMakeLists.txt.orig 2026-05-23 14:59:55 UTC +++ src/svxlink/devcal/CMakeLists.txt -@@ -21,3 +21,6 @@ set_target_properties(devcal PROPERTIES +@@ -17,3 +17,6 @@ install(TARGETS devcal DESTINATION ${BIN_INSTALL_DIR}) # Install targets install(TARGETS devcal DESTINATION ${BIN_INSTALL_DIR}) diff --git a/comms/svxlink/files/patch-src_svxlink_modules_metarinfo_CMakeLists.txt b/comms/svxlink/files/patch-src_svxlink_modules_metarinfo_CMakeLists.txt index 3a86c9138a07..523488096ee2 100644 --- a/comms/svxlink/files/patch-src_svxlink_modules_metarinfo_CMakeLists.txt +++ b/comms/svxlink/files/patch-src_svxlink_modules_metarinfo_CMakeLists.txt @@ -1,10 +1,10 @@ ---- src/svxlink/modules/metarinfo/CMakeLists.txt.orig 2019-09-01 20:12:38 UTC +--- src/svxlink/modules/metarinfo/CMakeLists.txt.orig 2026-05-23 14:59:55 UTC +++ src/svxlink/modules/metarinfo/CMakeLists.txt -@@ -6,6 +6,7 @@ set(MODNAME MetarInfo) +@@ -6,6 +6,7 @@ set(LIBS ${LIBS} ${CURL_LIBRARY}) # Project libraries to link to set(LIBS ${LIBS} ${CURL_LIBRARY}) +include_directories(AFTER "${LOCALBASE}/include") - # The version tag name without the VER_ prefix - set(VERNAME ${MODNAME}) + # Build the plugin + add_library(Module${MODNAME} MODULE Module${MODNAME}.cpp ${MODSRC}) diff --git a/comms/svxlink/files/patch-src_svxlink_reflector_CMakeLists.txt b/comms/svxlink/files/patch-src_svxlink_reflector_CMakeLists.txt new file mode 100644 index 000000000000..29c468942eff --- /dev/null +++ b/comms/svxlink/files/patch-src_svxlink_reflector_CMakeLists.txt @@ -0,0 +1,23 @@ +--- src/svxlink/reflector/CMakeLists.txt.orig 2026-06-07 15:05:16 UTC ++++ src/svxlink/reflector/CMakeLists.txt +@@ -11,13 +11,13 @@ add_definitions(${POPT_DEFINITIONS}) + #add_definitions(${GCRYPT_DEFINITIONS}) + + # Find jsoncpp library +-#find_package(jsoncpp REQUIRED) +-#get_target_property(JSONCPP_INC_PATH jsoncpp_lib INTERFACE_INCLUDE_DIRECTORIES) +-#include_directories(${JSONCPP_INC_PATH}) +-#set(LIBS ${LIBS} jsoncpp_lib) +-pkg_check_modules (JSONCPP REQUIRED jsoncpp) +-include_directories(${JSONCPP_INCLUDE_DIRS}) +-set(LIBS ${LIBS} ${JSONCPP_LIBRARIES}) ++find_package(jsoncpp REQUIRED) ++get_target_property(JSONCPP_INC_PATH jsoncpp_lib INTERFACE_INCLUDE_DIRECTORIES) ++include_directories(${JSONCPP_INC_PATH}) ++set(LIBS ${LIBS} jsoncpp_lib) ++##pkg_check_modules (JSONCPP REQUIRED jsoncpp) ++##include_directories(${JSONCPP_INCLUDE_DIRS}) ++##set(LIBS ${LIBS} ${JSONCPP_LIBRARIES}) + + # Add project libraries + set(LIBS asynccpp asyncaudio asynccore svxmisc ${LIBS}) diff --git a/comms/svxlink/files/patch-src_svxlink_svxlink_CMakeLists.txt b/comms/svxlink/files/patch-src_svxlink_svxlink_CMakeLists.txt index b1f0d566d71d..c5efc087159c 100644 --- a/comms/svxlink/files/patch-src_svxlink_svxlink_CMakeLists.txt +++ b/comms/svxlink/files/patch-src_svxlink_svxlink_CMakeLists.txt @@ -1,12 +1,22 @@ ---- src/svxlink/svxlink/CMakeLists.txt.orig 2021-03-09 23:15:07 UTC +--- src/svxlink/svxlink/CMakeLists.txt.orig 2026-05-23 14:59:55 UTC +++ src/svxlink/svxlink/CMakeLists.txt -@@ -55,6 +55,9 @@ add_version_target(SVXLINK VERSION_DEPENDS) - set(VERSION_DEPENDS) - add_version_target(SVXLINK VERSION_DEPENDS) +@@ -78,6 +78,9 @@ set(LIBS trx locationinfo asynccpp asyncaudio asynccor + # Add project libraries + set(LIBS trx locationinfo asynccpp asyncaudio asynccore svxmisc ${LIBS}) +# Needed on FreeBSD -+string(PREPEND CMAKE_CXX_FLAGS "-Wl,-export-dynamic ") ++string(PREPEND CMAKE_CXX_FLAGS "-Wl,-export-dynamic,-L${LOCALBASE}/lib ") + # Build the executable - add_executable(svxlink - MsgHandler.cpp Module.cpp Logic.cpp SimplexLogic.cpp RepeaterLogic.cpp + add_executable(svxlink ${SVXLINK_SRCS} ${VERSION_DEPENDS}) + target_link_libraries(svxlink ${LIBS}) +@@ -109,6 +112,9 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/svxlink_gpi + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/svxlink_gpio_down.in + ${RUNTIME_OUTPUT_DIRECTORY}/svxlink_gpio_down + @ONLY) ++ ++# Set up standard GNU installation directories ++include(GNUInstallDirs) + + # Install targets + install(TARGETS svxlink DESTINATION ${BIN_INSTALL_DIR}) diff --git a/comms/svxlink/files/patch-src_svxlink_trx_CMakeLists.txt b/comms/svxlink/files/patch-src_svxlink_trx_CMakeLists.txt new file mode 100644 index 000000000000..20a8d379407c --- /dev/null +++ b/comms/svxlink/files/patch-src_svxlink_trx_CMakeLists.txt @@ -0,0 +1,24 @@ +--- src/svxlink/trx/CMakeLists.txt.orig 2026-05-23 14:59:55 UTC ++++ src/svxlink/trx/CMakeLists.txt +@@ -78,14 +78,13 @@ endif (GPIOD_FOUND) + endif (GPIOD_FOUND) + + # Find jsoncpp library +-#find_package(jsoncpp REQUIRED) +-#get_target_property(JSONCPP_INC_PATH jsoncpp_lib INTERFACE_INCLUDE_DIRECTORIES) +-#include_directories(${JSONCPP_INC_PATH}) +-#set(LIBS ${LIBS} jsoncpp_lib) +-pkg_check_modules (JSONCPP REQUIRED jsoncpp) +-include_directories(${JSONCPP_INCLUDE_DIRS}) +-set(LIBS ${LIBS} ${JSONCPP_LIBRARIES}) +- ++find_package(jsoncpp REQUIRED) ++get_target_property(JSONCPP_INC_PATH jsoncpp_lib INTERFACE_INCLUDE_DIRECTORIES) ++include_directories(${JSONCPP_INC_PATH}) ++set(LIBS ${LIBS} jsoncpp_lib) ++#pkg_check_modules (JSONCPP REQUIRED jsoncpp) ++#include_directories(${JSONCPP_INCLUDE_DIRS}) ++#set(LIBS ${LIBS} ${JSONCPP_LIBRARIES}) + # Build only a static library + add_library(${LIBNAME} STATIC ${LIBSRC} ${VERSION_DEPENDS}) + target_link_libraries(${LIBNAME} ${LIBS}) diff --git a/comms/svxlink/pkg-plist b/comms/svxlink/pkg-plist index 23f3f559633d..6c2e277cf249 100644 --- a/comms/svxlink/pkg-plist +++ b/comms/svxlink/pkg-plist @@ -3,9 +3,12 @@ bin/remotetrx bin/siglevdetcal bin/svxlink bin/svxreflector +bin/svxreflector-status @sample %%ETCDIR%%/.procmailrc.sample @sample %%ETCDIR%%/TclVoiceMail.conf.sample +@sample %%ETCDIR%%/ca-hook.yaml.sample @sample %%ETCDIR%%/gpio.conf.sample +%%ETCDIR%%/node_info.json @sample %%ETCDIR%%/remotetrx.conf.sample @sample %%ETCDIR%%/svxlink.conf.sample @sample %%ETCDIR%%/svxlink.d/ModuleDtmfRepeater.conf.sample @@ -24,6 +27,10 @@ include/svxlink/AsyncAtTimer.h include/svxlink/AsyncAudioAmp.h include/svxlink/AsyncAudioClipper.h include/svxlink/AsyncAudioCompressor.h +include/svxlink/AsyncAudioContainer.h +include/svxlink/AsyncAudioContainerOpus.h +include/svxlink/AsyncAudioContainerPcm.h +include/svxlink/AsyncAudioContainerWav.h include/svxlink/AsyncAudioDebugger.h include/svxlink/AsyncAudioDecimator.h include/svxlink/AsyncAudioDecoder.h @@ -53,21 +60,36 @@ include/svxlink/AsyncAudioStreamStateDetector.h include/svxlink/AsyncAudioValve.h include/svxlink/AsyncConfig.h include/svxlink/AsyncCppApplication.h +include/svxlink/AsyncDigest.h include/svxlink/AsyncDnsLookup.h +include/svxlink/AsyncDnsResourceRecord.h +include/svxlink/AsyncEncryptedUdpSocket.h include/svxlink/AsyncExec.h +include/svxlink/AsyncFactory.h include/svxlink/AsyncFdWatch.h include/svxlink/AsyncFileReader.h include/svxlink/AsyncFramedTcpConnection.h +include/svxlink/AsyncHttpServerConnection.h include/svxlink/AsyncIpAddress.h include/svxlink/AsyncMsg.h +include/svxlink/AsyncPlugin.h include/svxlink/AsyncPty.h include/svxlink/AsyncPtyStreamBuf.h include/svxlink/AsyncSerial.h include/svxlink/AsyncSigCAudioSink.h include/svxlink/AsyncSigCAudioSource.h +include/svxlink/AsyncSslCertSigningReq.h +include/svxlink/AsyncSslContext.h +include/svxlink/AsyncSslKeypair.h +include/svxlink/AsyncSslX509.h +include/svxlink/AsyncSslX509ExtSubjectAltName.h +include/svxlink/AsyncSslX509Extensions.h +include/svxlink/AsyncStateMachine.h include/svxlink/AsyncTcpClient.h include/svxlink/AsyncTcpClientBase.h include/svxlink/AsyncTcpConnection.h +include/svxlink/AsyncTcpPrioClient.h +include/svxlink/AsyncTcpPrioClientBase.h include/svxlink/AsyncTcpServer.h include/svxlink/AsyncTcpServerBase.h include/svxlink/AsyncTimer.h @@ -78,20 +100,26 @@ include/svxlink/EchoLinkDispatcher.h include/svxlink/EchoLinkProxy.h include/svxlink/EchoLinkQso.h include/svxlink/EchoLinkStationData.h +include/svxlink/LogWriter.h include/svxlink/common.h +%%STATIC%%lib/libasyncaudio.a lib/libasyncaudio.so -lib/libasyncaudio.so.1.6 -lib/libasyncaudio.so.1.6.0 +lib/libasyncaudio.so.1.9 +lib/libasyncaudio.so.1.9.1 +%%STATIC%%lib/libasynccore.a lib/libasynccore.so -lib/libasynccore.so.1.6 -lib/libasynccore.so.1.6.0 +lib/libasynccore.so.1.9 +lib/libasynccore.so.1.9.1 +%%STATIC%%lib/libasynccpp.a lib/libasynccpp.so -lib/libasynccpp.so.1.6 -lib/libasynccpp.so.1.6.0 +lib/libasynccpp.so.1.9 +lib/libasynccpp.so.1.9.1 +%%STATIC%%lib/libecholib.a lib/libecholib.so lib/libecholib.so.1.3 -lib/libecholib.so.1.3.3 +lib/libecholib.so.1.3.7 lib/libsvxmisc.a +lib/svxlink/DummyLogic.so lib/svxlink/ModuleDtmfRepeater.so lib/svxlink/ModuleEchoLink.so lib/svxlink/ModuleFrn.so @@ -100,33 +128,12 @@ lib/svxlink/ModuleMetarInfo.so lib/svxlink/ModuleParrot.so lib/svxlink/ModuleTcl.so lib/svxlink/ModuleTrx.so -%%STATIC%%lib/libasyncaudio.a -%%STATIC%%lib/libasynccore.a -%%STATIC%%lib/libasynccpp.a -%%STATIC%%lib/libecholib.a -%%DATADIR%%/events.tcl -%%DATADIR%%/events.d/RepeaterLogic.tcl -%%DATADIR%%/events.d/SimplexLogic.tcl -%%DATADIR%%/events.d/Module.tcl -%%DATADIR%%/events.d/Logic.tcl -%%DATADIR%%/events.d/CW.tcl -%%DATADIR%%/events.d/SelCall.tcl -%%DATADIR%%/events.d/locale.tcl -%%DATADIR%%/events.d/Help.tcl -%%DATADIR%%/events.d/Parrot.tcl -%%DATADIR%%/events.d/EchoLink.tcl -%%DATADIR%%/events.d/Frn.tcl -%%DATADIR%%/events.d/Tcl.tcl.example -%%DATADIR%%/events.d/TclVoiceMail.tcl -%%DATADIR%%/events.d/DtmfRepeater.tcl -%%DATADIR%%/events.d/MetarInfo.tcl -%%DATADIR%%/events.d/PropagationMonitor.tcl -%%DATADIR%%/events.d/SelCallEnc.tcl -%%DATADIR%%/events.d/Trx.tcl -%%DATADIR%%/modules.d/ModuleTcl.tcl.example -%%DATADIR%%/modules.d/ModuleTclVoiceMail.tcl -%%DATADIR%%/modules.d/ModulePropagationMonitor.tcl -%%DATADIR%%/modules.d/ModuleSelCallEnc.tcl +lib/svxlink/ReflectorLogic.so +lib/svxlink/ReflectorV2Logic.so +lib/svxlink/RepeaterLogic.so +lib/svxlink/SimplexLogic.so +sbin/svxlink_gpio_down +sbin/svxlink_gpio_up share/man/man1/devcal.1.gz share/man/man1/remotetrx.1.gz share/man/man1/siglevdetcal.1.gz @@ -144,10 +151,46 @@ share/man/man5/ModuleTrx.conf.5.gz share/man/man5/remotetrx.conf.5.gz share/man/man5/svxlink.conf.5.gz share/man/man5/svxreflector.conf.5.gz -sbin/svxlink_gpio_down -sbin/svxlink_gpio_up +%%DATADIR%%/ca-hook.py +%%DATADIR%%/events.d/CW.tcl +%%DATADIR%%/events.d/DtmfRepeater.tcl +%%DATADIR%%/events.d/EchoLink.tcl +%%DATADIR%%/events.d/EchoLinkCommon.tcl +%%DATADIR%%/events.d/EchoLinkRemote.tcl +%%DATADIR%%/events.d/Frn.tcl +%%DATADIR%%/events.d/Help.tcl +%%DATADIR%%/events.d/Logic.tcl +%%DATADIR%%/events.d/LogicBase.tcl +%%DATADIR%%/events.d/MetarInfo.tcl +%%DATADIR%%/events.d/Module.tcl +%%DATADIR%%/events.d/Parrot.tcl +%%DATADIR%%/events.d/PropagationMonitor.tcl +%%DATADIR%%/events.d/ReflectorLogic.tcl +%%DATADIR%%/events.d/ReflectorLogicType.tcl +%%DATADIR%%/events.d/ReflectorV2LogicType.tcl +%%DATADIR%%/events.d/RepeaterLogic.tcl +%%DATADIR%%/events.d/RepeaterLogicType.tcl +%%DATADIR%%/events.d/SelCall.tcl +%%DATADIR%%/events.d/SelCallEnc.tcl +%%DATADIR%%/events.d/SimplexLogic.tcl +%%DATADIR%%/events.d/SimplexLogicType.tcl +%%DATADIR%%/events.d/Tcl.tcl.example +%%DATADIR%%/events.d/TclModule.tcl +%%DATADIR%%/events.d/TclVoiceMail.tcl +%%DATADIR%%/events.d/Trx.tcl +%%DATADIR%%/events.d/globals.tcl +%%DATADIR%%/events.d/locale.tcl +%%DATADIR%%/events.d/squelch_timeout.tcl +%%DATADIR%%/events.tcl +%%DATADIR%%/modules.d/ModulePropagationMonitor.tcl +%%DATADIR%%/modules.d/ModuleSelCallEnc.tcl +%%DATADIR%%/modules.d/ModuleTcl.tcl.example +%%DATADIR%%/modules.d/ModuleTclVoiceMail.tcl @dir %%DATADIR%%/sounds +@dir /var/lib/svxlink/pki +@dir /var/lib/svxlink +@dir /var/lib @dir(svxlink,svxlink,755) /var/spool/svxlink/propagation_monitor @dir(svxlink,svxlink,755) /var/spool/svxlink/qso_recorder @dir(svxlink,svxlink,755) /var/spool/svxlink/voice_mail -@dir(svxlink,svxlink,755) /var/spool/svxlink +@dir /var/spool/svxlink