From f89abe38ad4799b16ec5faa6d8d3b1110d2a48a6 Mon Sep 17 00:00:00 2001 From: Robert James Hernandez Date: Sun, 6 Jul 2025 16:31:04 +0000 Subject: [PATCH 1/3] js8call: rec to finalAttrs --- pkgs/applications/radio/js8call/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/radio/js8call/default.nix b/pkgs/applications/radio/js8call/default.nix index 3b4e247e3609..de988df10b67 100644 --- a/pkgs/applications/radio/js8call/default.nix +++ b/pkgs/applications/radio/js8call/default.nix @@ -15,14 +15,14 @@ qtserialport, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "js8call"; version = "2.2.0"; src = fetchFromBitbucket { owner = "widefido"; - repo = pname; - rev = "v${version}-ga"; + repo = "js8call"; + rev = "v${finalAttrs.version}-ga"; sha256 = "sha256-mFPhiAAibCiAkLrysAmIQalVCGd9ips2lqbAsowYprY="; }; @@ -63,4 +63,4 @@ stdenv.mkDerivation rec { platforms = platforms.linux; maintainers = with maintainers; [ melling ]; }; -} +}) From 3fe21d7625a16abe330887d1d83583fe864f921b Mon Sep 17 00:00:00 2001 From: Robert James Hernandez Date: Sun, 6 Jul 2025 16:44:54 +0000 Subject: [PATCH 2/3] js8call: 2.2.0 -> 2.3.1 major improvements include (as of 2.3.0): - migration to qt 6: the ui now appears platform-native across operating systems - hamlib updated to 4.6.2: supports a wider range of radios - fortran and shared memory removed ref: https://github.com/js8call/js8call/releases/tag/v2.3.0 --- pkgs/applications/radio/js8call/cmake.patch | 69 --------------------- pkgs/applications/radio/js8call/default.nix | 35 +++++------ 2 files changed, 15 insertions(+), 89 deletions(-) delete mode 100644 pkgs/applications/radio/js8call/cmake.patch diff --git a/pkgs/applications/radio/js8call/cmake.patch b/pkgs/applications/radio/js8call/cmake.patch deleted file mode 100644 index 04552eac40ec..000000000000 --- a/pkgs/applications/radio/js8call/cmake.patch +++ /dev/null @@ -1,69 +0,0 @@ -diff --git a/CMake/Modules/Findhamlib.cmake b/CMake/Modules/Findhamlib.cmake -index 1590f05..e797851 100644 ---- a/CMake/Modules/Findhamlib.cmake -+++ b/CMake/Modules/Findhamlib.cmake -@@ -47,7 +47,7 @@ if (NOT PC_HAMLIB_FOUND) - - # libusb-1.0 has no pkg-config file on Windows so we have to find it - # ourselves -- find_library (LIBUSB NAMES usb-1.0 PATH_SUFFIXES MinGW32/dll) -+ find_library (LIBUSB NAMES libusb-1.0 usb-1.0 PATH_SUFFIXES MinGW32/dll) - if (LIBUSB) - set (hamlib_EXTRA_LIBRARIES ${LIBUSB} ${hamlib_EXTRA_LIBRARIES}) - get_filename_component (hamlib_libusb_path ${LIBUSB} PATH) -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 75b80b3..7c04265 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -558,7 +558,6 @@ find_package (FFTW3 COMPONENTS double single threads REQUIRED) - # - # libhamlib setup - # --set (hamlib_STATIC 1) - find_package (hamlib 3 REQUIRED) - find_program (RIGCTL_EXE rigctl) - find_program (RIGCTLD_EXE rigctld) -@@ -576,6 +576,7 @@ message (STATUS "hamlib_LIBRARY_DIRS: ${hamlib_LIBRARY_DIRS}") - find_package (Qt5Widgets 5 REQUIRED) - find_package (Qt5Multimedia 5 REQUIRED) - find_package (Qt5PrintSupport 5 REQUIRED) -+find_package (Qt5SerialPort 5 REQUIRED) - - if (WIN32) - add_definitions (-DQT_NEEDS_QTMAIN) -@@ -849,7 +850,7 @@ target_link_libraries (qcp Qt5::Widgets Qt5::PrintSupport) - add_library (wsjt_qt STATIC ${wsjt_qt_CXXSRCS} ${wsjt_qt_GENUISRCS} ${GENAXSRCS}) - # set wsjtx_udp exports to static variants - target_compile_definitions (wsjt_qt PUBLIC UDP_STATIC_DEFINE) --target_link_libraries (wsjt_qt qcp Qt5::Widgets Qt5::Network) -+target_link_libraries (wsjt_qt qcp Qt5::Widgets Qt5::Network Qt5::SerialPort) - target_include_directories (wsjt_qt BEFORE PRIVATE ${hamlib_INCLUDE_DIRS}) - if (WIN32) - target_link_libraries (wsjt_qt Qt5::AxContainer Qt5::AxBase) -@@ -959,7 +960,6 @@ else () - ) - endif () - endif () --qt5_use_modules (js8call SerialPort) # not sure why the interface link library syntax above doesn't work - - # if (UNIX) - # if (NOT WSJT_SKIP_MANPAGES) -@@ -1292,3 +1292,5 @@ configure_file ("${PROJECT_SOURCE_DIR}/CMakeCPackOptions.cmake.in" - set (CPACK_PROJECT_CONFIG_FILE "${PROJECT_BINARY_DIR}/CMakeCPackOptions.cmake") - - include (CPack) -+ -+add_definitions (-DJS8_USE_HAMLIB_THREE) -diff --git a/Configuration.cpp b/Configuration.cpp -index 8258f97..63a29bb 100644 ---- a/Configuration.cpp -+++ b/Configuration.cpp -@@ -160,7 +160,7 @@ - #include - #include - #include --#include -+#include - #include - #include - #include diff --git a/pkgs/applications/radio/js8call/default.nix b/pkgs/applications/radio/js8call/default.nix index de988df10b67..413b2d1193ec 100644 --- a/pkgs/applications/radio/js8call/default.nix +++ b/pkgs/applications/radio/js8call/default.nix @@ -1,46 +1,43 @@ { lib, stdenv, - fetchFromBitbucket, - wrapQtAppsHook, + fetchFromGitHub, pkg-config, - hamlib, + hamlib_4, libusb1, cmake, - gfortran, fftw, fftwFloat, - qtbase, - qtmultimedia, - qtserialport, + qt6, + boost, }: stdenv.mkDerivation (finalAttrs: { pname = "js8call"; - version = "2.2.0"; + version = "2.3.1"; - src = fetchFromBitbucket { - owner = "widefido"; + src = fetchFromGitHub { + owner = "js8call"; repo = "js8call"; - rev = "v${finalAttrs.version}-ga"; - sha256 = "sha256-mFPhiAAibCiAkLrysAmIQalVCGd9ips2lqbAsowYprY="; + rev = "v${finalAttrs.version}"; + sha256 = "sha256-rYXjcmQRRfizJVriZo9yX8x2yYfWpL94Cprx9eFC3ss="; }; nativeBuildInputs = [ - wrapQtAppsHook - gfortran + qt6.wrapQtAppsHook pkg-config cmake ]; buildInputs = [ - hamlib + hamlib_4 libusb1 fftw fftwFloat - qtbase - qtmultimedia - qtserialport + qt6.qtbase + qt6.qtmultimedia + qt6.qtserialport + boost ]; prePatch = '' @@ -50,8 +47,6 @@ stdenv.mkDerivation (finalAttrs: { --replace "/usr/bin/" "$out/bin" ''; - patches = [ ./cmake.patch ]; - meta = with lib; { description = "Weak-signal keyboard messaging for amateur radio"; longDescription = '' From 4693d31ff12c423e66f52eb10073e2eee6056600 Mon Sep 17 00:00:00 2001 From: Robert James Hernandez Date: Sun, 6 Jul 2025 17:22:46 +0000 Subject: [PATCH 3/3] js8call: add sarcasticadmin as maintainer --- pkgs/applications/radio/js8call/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/radio/js8call/default.nix b/pkgs/applications/radio/js8call/default.nix index 413b2d1193ec..6b3a2ee76d7f 100644 --- a/pkgs/applications/radio/js8call/default.nix +++ b/pkgs/applications/radio/js8call/default.nix @@ -56,6 +56,9 @@ stdenv.mkDerivation (finalAttrs: { homepage = "http://js8call.com/"; license = licenses.gpl3Plus; platforms = platforms.linux; - maintainers = with maintainers; [ melling ]; + maintainers = with maintainers; [ + melling + sarcasticadmin + ]; }; })