From 86d196fad6900b51c7283c28285dccd40e8cd383 Mon Sep 17 00:00:00 2001 From: Morgan Jones Date: Mon, 24 Nov 2025 15:49:32 -0800 Subject: [PATCH 1/5] wsjtx: add update script --- pkgs/applications/radio/wsjtx/default.nix | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/radio/wsjtx/default.nix b/pkgs/applications/radio/wsjtx/default.nix index 6aabb7f824eb..387604e423ef 100644 --- a/pkgs/applications/radio/wsjtx/default.nix +++ b/pkgs/applications/radio/wsjtx/default.nix @@ -5,6 +5,7 @@ asciidoc, asciidoctor, cmake, + gitUpdater, pkg-config, fftw, fftwFloat, @@ -21,13 +22,13 @@ wrapQtAppsHook, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "wsjtx"; version = "2.7.0"; src = fetchgit { url = "https://git.code.sf.net/p/wsjt/wsjtx"; - rev = "wsjtx-${version}"; + rev = "wsjtx-${finalAttrs.version}"; hash = "sha256-AAPZTJUhz3x/28B9rk2uwFs1bkcEvaj+hOzAjpsFALQ="; }; @@ -56,6 +57,11 @@ stdenv.mkDerivation rec { strictDeps = true; + passthru.updateScript = gitUpdater { + rev-prefix = "wsjtx-"; + ignoredVersions = "(-rc).*"; + }; + meta = { description = "Weak-signal digital communication modes for amateur radio"; longDescription = '' @@ -73,4 +79,4 @@ stdenv.mkDerivation rec { numinit ]; }; -} +}) From f31b67a4c281dd3d3b328d7e10744a1fc0749df1 Mon Sep 17 00:00:00 2001 From: Morgan Jones Date: Mon, 24 Nov 2025 15:50:46 -0800 Subject: [PATCH 2/5] wsjtx: move to by-name --- .../default.nix => by-name/ws/wsjtx/package.nix} | 16 ++++++---------- pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 6 insertions(+), 12 deletions(-) rename pkgs/{applications/radio/wsjtx/default.nix => by-name/ws/wsjtx/package.nix} (91%) diff --git a/pkgs/applications/radio/wsjtx/default.nix b/pkgs/by-name/ws/wsjtx/package.nix similarity index 91% rename from pkgs/applications/radio/wsjtx/default.nix rename to pkgs/by-name/ws/wsjtx/package.nix index 387604e423ef..81f9ab1e51f1 100644 --- a/pkgs/applications/radio/wsjtx/default.nix +++ b/pkgs/by-name/ws/wsjtx/package.nix @@ -13,13 +13,9 @@ hamlib_4, libtool, libusb1, - qtbase, - qtmultimedia, - qtserialport, - qttools, + qt5, boost, texinfo, - wrapQtAppsHook, }: stdenv.mkDerivation (finalAttrs: { @@ -40,18 +36,18 @@ stdenv.mkDerivation (finalAttrs: { hamlib_4 # rigctl libtool pkg-config - qttools + qt5.qttools texinfo - wrapQtAppsHook + qt5.wrapQtAppsHook ]; buildInputs = [ fftw fftwFloat hamlib_4 libusb1 - qtbase - qtmultimedia - qtserialport + qt5.qtbase + qt5.qtmultimedia + qt5.qtserialport boost ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6fee0170889a..47102f8ebdf7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10936,8 +10936,6 @@ with pkgs; wrapThunderbird = callPackage ../applications/networking/mailreaders/thunderbird/wrapper.nix { }; - wsjtx = qt5.callPackage ../applications/radio/wsjtx { }; - x2gokdriveclient = libsForQt5.callPackage ../applications/networking/remote/x2gokdriveclient { }; x32edit = callPackage ../applications/audio/midas/x32edit.nix { }; From 86abce96b1a86226ab2c4f16af957fb33d16bafc Mon Sep 17 00:00:00 2001 From: Morgan Jones Date: Mon, 24 Nov 2025 16:03:46 -0800 Subject: [PATCH 3/5] wsjtz: don't use wsjtx update script --- pkgs/by-name/ws/wsjtz/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/by-name/ws/wsjtz/package.nix b/pkgs/by-name/ws/wsjtz/package.nix index ad44eebb5b8f..715b1b60f03b 100644 --- a/pkgs/by-name/ws/wsjtz/package.nix +++ b/pkgs/by-name/ws/wsjtz/package.nix @@ -19,6 +19,9 @@ wsjtx.overrideAttrs ( mv $out/bin/wsjtx_app_version $out/bin/wsjtz_app_version ''; + # Source isn't available in Git. + passthru = lib.removeAttrs old.passthru [ "updateScript" ]; + meta = { description = "WSJT-X fork, primarily focused on automation and enhanced functionality"; homepage = "https://sourceforge.net/projects/wsjt-z/"; From 4bc2b4b300a75a484a51b5f6c8925f085d645504 Mon Sep 17 00:00:00 2001 From: Morgan Jones Date: Mon, 13 Apr 2026 01:06:03 -0700 Subject: [PATCH 4/5] wsjtx: 2.7.0 -> 3.0.0 --- pkgs/by-name/ws/wsjtx/package.nix | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/pkgs/by-name/ws/wsjtx/package.nix b/pkgs/by-name/ws/wsjtx/package.nix index 81f9ab1e51f1..18bd3514c9ff 100644 --- a/pkgs/by-name/ws/wsjtx/package.nix +++ b/pkgs/by-name/ws/wsjtx/package.nix @@ -1,10 +1,11 @@ { lib, stdenv, - fetchgit, + fetchFromGitHub, asciidoc, asciidoctor, cmake, + nix-update-script, gitUpdater, pkg-config, fftw, @@ -20,12 +21,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "wsjtx"; - version = "2.7.0"; + version = "3.0.0"; - src = fetchgit { - url = "https://git.code.sf.net/p/wsjt/wsjtx"; - rev = "wsjtx-${finalAttrs.version}"; - hash = "sha256-AAPZTJUhz3x/28B9rk2uwFs1bkcEvaj+hOzAjpsFALQ="; + src = fetchFromGitHub { + owner = "WSJTX"; + repo = "wsjtx"; + tag = "v${finalAttrs.version}"; + hash = "sha256-ZM46ouS4NyXP7wPsAxY7Uf2mn0CawRiRmqYkkS8yTAU="; }; nativeBuildInputs = [ @@ -48,14 +50,17 @@ stdenv.mkDerivation (finalAttrs: { qt5.qtbase qt5.qtmultimedia qt5.qtserialport + qt5.qtwebsockets boost ]; strictDeps = true; - passthru.updateScript = gitUpdater { - rev-prefix = "wsjtx-"; - ignoredVersions = "(-rc).*"; + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "^v([0-9]\\.[0-9]\\.[0-9])$" + ]; }; meta = { From b9b29a144417e24768c777bf83c2170e1d7e6578 Mon Sep 17 00:00:00 2001 From: Morgan Jones Date: Mon, 13 Apr 2026 01:09:08 -0700 Subject: [PATCH 5/5] release-notes: add wsjtx note --- doc/release-notes/rl-2605.section.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/release-notes/rl-2605.section.md b/doc/release-notes/rl-2605.section.md index 32ef54ff4771..8b9a439a32a9 100644 --- a/doc/release-notes/rl-2605.section.md +++ b/doc/release-notes/rl-2605.section.md @@ -268,6 +268,9 @@ - Added `lovr` package, a LUA-based game engine for VR and XR applications. +- Updated `wsjtx` from 2.7.0 to 3.0.0 for amateur radio hobbyists who use FT8 and other related digital modes. + See the [release notes](https://wsjt.sourceforge.io/Release_Notes.txt) for the changelog. + - `openrgb` was updated to 1.0rc2, which now uses Plugin API version 4. Some existing OpenRGB plugins may be incompatible or require updates.