diff --git a/media-radio/wsjtx_improved/Manifest b/media-radio/wsjtx_improved/Manifest index 9c894dc1556c4..28f048ba8af85 100644 --- a/media-radio/wsjtx_improved/Manifest +++ b/media-radio/wsjtx_improved/Manifest @@ -1 +1,2 @@ DIST wsjtx-3.0.0_improved_PLUS_250924_qt6.tgz 35003895 BLAKE2B 6649bdac6cc390e966398a37d5854009d8b540ce951557c186803cbd81c90a0d5428f816593b22b44e73ea82f8dab6c2b91ff6581ddac87f6f90d43ec852e5db SHA512 70d34e9d6b03549d7445689709766fb2e1be50a56b3a54c405e3d489a93a72fd8038ad2d7e02ddfbca6a9794fbd3a8c3e3c914fd0bb4a5de02a12cc1311fe309 +DIST wsjtx-3.0.0_improved_PLUS_251212_qt6.tgz 35225077 BLAKE2B 3184910c38eeb3e6a590242d5c84213e3c4af53a8ec091dfa32d2f42187fb3e9e7d49209ee976acd063e2fe2dac019d1c3cea0c8d3474f0a3f36238419c30eea SHA512 2cd381f3eea3549a2fc689b438ea954e0498ffb749219c8532159eb15cce1d2d4dc45439d45a2f4f35646ee98e5c216b8a191c740c76e2fedc643085f70710ae diff --git a/media-radio/wsjtx_improved/files/wsjtx-3.0.0_p251212-fix-sound-dir.patch b/media-radio/wsjtx_improved/files/wsjtx-3.0.0_p251212-fix-sound-dir.patch new file mode 100644 index 0000000000000..0d2e8c719ecca --- /dev/null +++ b/media-radio/wsjtx_improved/files/wsjtx-3.0.0_p251212-fix-sound-dir.patch @@ -0,0 +1,66 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a4d37ad..aaf771e 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1733,7 +1733,7 @@ install (DIRECTORY + + install (DIRECTORY + ${PROJECT_SOURCE_DIR}/sounds +- DESTINATION ${CMAKE_INSTALL_BINDIR} ++ DESTINATION ${CMAKE_INSTALL_DATADIR}/${CMAKE_PROJECT_NAME} + #COMPONENT runtime + ) + +diff --git a/widgets/displaytext.cpp b/widgets/displaytext.cpp +index 9389d50..d502479 100755 +--- a/widgets/displaytext.cpp ++++ b/widgets/displaytext.cpp +@@ -918,7 +918,7 @@ void DisplayText::AudioAlerts() + { + if(m_config->alert_Enabled()) { + QAudioDevice info(QMediaDevices::defaultAudioOutput()); +- QString audioPath = QCoreApplication::applicationDirPath() + "/sounds" + m_config->voicesPath() + "/"; ++ QString audioPath = "/usr/share/wsjtx/sounds/"; + QAudioFormat format; + format.setSampleRate(48000); + format.setChannelCount(1); +diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp +index 9c828a9..af37746 100755 +--- a/widgets/mainwindow.cpp ++++ b/widgets/mainwindow.cpp +@@ -3351,7 +3351,7 @@ void MainWindow::fastSink(qint64 frames) + QTimer::singleShot (100, [=] { + if (m_config.alert_Enabled() && ((m_config.alert_DXcall() && play_DXcall && m_hisCall!="") or (m_config.alert_Wanted() && play_Wanted))) { + QAudioDevice info(QMediaDevices::defaultAudioOutput()); +- QString audioPath = QCoreApplication::applicationDirPath() + "/sounds" + m_config.voicesPath() + "/"; ++ QString audioPath = "usr/share/wsjtx/sounds/"; + QAudioFormat format; + format.setSampleRate(48000); + format.setChannelCount(1); +@@ -7173,7 +7173,7 @@ void MainWindow::readFromStdout() //readFromStdout + QTimer::singleShot (100, [=] { + if (m_config.alert_Enabled() && ((m_config.alert_DXcall() && play_DXcall && m_hisCall!="") or (m_config.alert_Wanted() && play_Wanted))) { + QAudioDevice info(QMediaDevices::defaultAudioOutput()); +- QString audioPath = QCoreApplication::applicationDirPath() + "/sounds" + m_config.voicesPath() + "/"; ++ QString audioPath = "/usr/share/wsjtx/sounds/"; + QAudioFormat format; + format.setSampleRate(48000); + format.setChannelCount(1); +@@ -10374,7 +10374,7 @@ void MainWindow::mousePressEvent(QMouseEvent *event) // mouse press events + } else { + // Testing the default audio device + QAudioDevice info(QMediaDevices::defaultAudioOutput()); +- QString audioPath = QCoreApplication::applicationDirPath() + "/sounds" + m_config.voicesPath() + "/"; ++ QString audioPath = "/usr/share/wsjtx/sounds/"; + QAudioFormat format; + format.setSampleRate(48000); + format.setChannelCount(1); +@@ -17337,7 +17337,7 @@ void MainWindow::remove_old_files(const QString &directoryPath, int daysOld) + void MainWindow::alertQSYmessage () + { + QAudioDevice info(QMediaDevices::defaultAudioOutput()); +- QString audioPath = QCoreApplication::applicationDirPath(); ++ QString audioPath = "/usr/share/wsjtx/"; + QAudioFormat format; + format.setSampleRate(48000); + format.setChannelCount(1); diff --git a/media-radio/wsjtx_improved/wsjtx_improved-3.0.0_p20251212.ebuild b/media-radio/wsjtx_improved/wsjtx_improved-3.0.0_p20251212.ebuild new file mode 100644 index 0000000000000..7779dd29f17ab --- /dev/null +++ b/media-radio/wsjtx_improved/wsjtx_improved-3.0.0_p20251212.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake edos2unix flag-o-matic + +DESCRIPTION="Weak signal ham radio communication with improvements" +HOMEPAGE="https://wsjt-x-improved.sourceforge.io/" +SRC_URI="https://downloads.sourceforge.net/wsjt-x-improved/wsjtx-3.0.0_improved_PLUS_251212_qt6.tgz" + +S=${WORKDIR}/wsjtx + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="doc" + +RDEPEND=" + !media-radio/wsjtx + dev-libs/boost:=[nls,python] + dev-qt/qtbase:6[concurrent,gui,network,sql,sqlite,widgets] + dev-qt/qtmultimedia:6 + dev-qt/qtserialport:6 + dev-qt/qtwebsockets:6 + virtual/libusb:1 + >=media-libs/hamlib-4.0:= + sci-libs/fftw:3.0=[threads,fortran] + virtual/fortran + app-text/asciidoc + doc? ( dev-ruby/asciidoctor )" +DEPEND="${RDEPEND}" +BDEPEND="dev-qt/qttools[linguist]" + +PATCHES=( + "${FILESDIR}/wsjtx-2.2.0-werror.patch" + "${FILESDIR}/wsjtx-2.3.0-drop-docs.patch" + "${FILESDIR}/wsjtx-clang.patch" + "${FILESDIR}/wsjtx-3.0.0-gcc16.patch" + "${FILESDIR}/wsjtx-3.0.0_p251212-fix-sound-dir.patch" +) + +DOCS=( AUTHORS BUGS NEWS README THANKS ) + +src_unpack() { + unpack ${A} + unpack "${WORKDIR}/wsjtx-3.0.0/src/wsjtx.tgz" +} + +src_prepare() { + edos2unix "${S}/message_aggregator.desktop" + edos2unix "${S}/wsjtx.desktop" + edos2unix "${S}/CMakeLists.txt" + sed -i -e "s/COMMAND \${GZIP_EXECUTABLE}/# COMMAND/" \ + manpages/CMakeLists.txt || die + cmake_src_prepare +} + +src_configure() { + # fails to compile with -flto (bug #860417) + filter-lto + + local mycmakeargs=( + -DWSJT_GENERATE_DOCS="$(usex doc)" + -DCMAKE_INSTALL_DOCDIR="share/doc/${PF}" + ) + append-ldflags -no-pie + # fix executable stack from fortran nested functions, placing them on the + # heap. Switch is only supported for newer GCC versions (bug #968790). + append-fflags $(test-flags-FC -ftrampoline-impl=heap) + cmake_src_configure +} + +src_install() { + cmake_src_install + rm "${D}"/usr/bin/rigctl{,d,com}-wsjtx || die + rm "${D}"/usr/share/man/man1/rigctl{,d,com}-wsjtx.1 || die +}