Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)

js8call: init at 2.2.0

+136
+69
pkgs/applications/radio/js8call/cmake.patch
··· 1 + diff --git a/CMake/Modules/Findhamlib.cmake b/CMake/Modules/Findhamlib.cmake 2 + index 1590f05..e797851 100644 3 + --- a/CMake/Modules/Findhamlib.cmake 4 + +++ b/CMake/Modules/Findhamlib.cmake 5 + @@ -47,7 +47,7 @@ if (NOT PC_HAMLIB_FOUND) 6 + 7 + # libusb-1.0 has no pkg-config file on Windows so we have to find it 8 + # ourselves 9 + - find_library (LIBUSB NAMES usb-1.0 PATH_SUFFIXES MinGW32/dll) 10 + + find_library (LIBUSB NAMES libusb-1.0 usb-1.0 PATH_SUFFIXES MinGW32/dll) 11 + if (LIBUSB) 12 + set (hamlib_EXTRA_LIBRARIES ${LIBUSB} ${hamlib_EXTRA_LIBRARIES}) 13 + get_filename_component (hamlib_libusb_path ${LIBUSB} PATH) 14 + diff --git a/CMakeLists.txt b/CMakeLists.txt 15 + index 75b80b3..7c04265 100644 16 + --- a/CMakeLists.txt 17 + +++ b/CMakeLists.txt 18 + @@ -558,7 +558,6 @@ find_package (FFTW3 COMPONENTS double single threads REQUIRED) 19 + # 20 + # libhamlib setup 21 + # 22 + -set (hamlib_STATIC 1) 23 + find_package (hamlib 3 REQUIRED) 24 + find_program (RIGCTL_EXE rigctl) 25 + find_program (RIGCTLD_EXE rigctld) 26 + @@ -576,6 +576,7 @@ message (STATUS "hamlib_LIBRARY_DIRS: ${hamlib_LIBRARY_DIRS}") 27 + find_package (Qt5Widgets 5 REQUIRED) 28 + find_package (Qt5Multimedia 5 REQUIRED) 29 + find_package (Qt5PrintSupport 5 REQUIRED) 30 + +find_package (Qt5SerialPort 5 REQUIRED) 31 + 32 + if (WIN32) 33 + add_definitions (-DQT_NEEDS_QTMAIN) 34 + @@ -849,7 +850,7 @@ target_link_libraries (qcp Qt5::Widgets Qt5::PrintSupport) 35 + add_library (wsjt_qt STATIC ${wsjt_qt_CXXSRCS} ${wsjt_qt_GENUISRCS} ${GENAXSRCS}) 36 + # set wsjtx_udp exports to static variants 37 + target_compile_definitions (wsjt_qt PUBLIC UDP_STATIC_DEFINE) 38 + -target_link_libraries (wsjt_qt qcp Qt5::Widgets Qt5::Network) 39 + +target_link_libraries (wsjt_qt qcp Qt5::Widgets Qt5::Network Qt5::SerialPort) 40 + target_include_directories (wsjt_qt BEFORE PRIVATE ${hamlib_INCLUDE_DIRS}) 41 + if (WIN32) 42 + target_link_libraries (wsjt_qt Qt5::AxContainer Qt5::AxBase) 43 + @@ -959,7 +960,6 @@ else () 44 + ) 45 + endif () 46 + endif () 47 + -qt5_use_modules (js8call SerialPort) # not sure why the interface link library syntax above doesn't work 48 + 49 + # if (UNIX) 50 + # if (NOT WSJT_SKIP_MANPAGES) 51 + @@ -1292,3 +1292,5 @@ configure_file ("${PROJECT_SOURCE_DIR}/CMakeCPackOptions.cmake.in" 52 + set (CPACK_PROJECT_CONFIG_FILE "${PROJECT_BINARY_DIR}/CMakeCPackOptions.cmake") 53 + 54 + include (CPack) 55 + + 56 + +add_definitions (-DJS8_USE_HAMLIB_THREE) 57 + diff --git a/Configuration.cpp b/Configuration.cpp 58 + index 8258f97..63a29bb 100644 59 + --- a/Configuration.cpp 60 + +++ b/Configuration.cpp 61 + @@ -160,7 +160,7 @@ 62 + #include <QFont> 63 + #include <QFontDialog> 64 + #include <QColorDialog> 65 + -#include <QSerialPortInfo> 66 + +#include <QtSerialPort/QSerialPortInfo> 67 + #include <QScopedPointer> 68 + #include <QDateTimeEdit> 69 + #include <QProcess>
+65
pkgs/applications/radio/js8call/default.nix
··· 1 + { lib 2 + , stdenv 3 + , fetchFromBitbucket 4 + , wrapQtAppsHook 5 + , pkg-config 6 + , hamlib 7 + , libusb1 8 + , cmake 9 + , gfortran 10 + , fftw 11 + , fftwFloat 12 + , qtbase 13 + , qtmultimedia 14 + , qtserialport 15 + }: 16 + 17 + stdenv.mkDerivation rec { 18 + pname = "js8call"; 19 + version = "2.2.0"; 20 + 21 + src = fetchFromBitbucket { 22 + owner = "widefido"; 23 + repo = pname; 24 + rev = "v${version}-ga"; 25 + sha256 = "sha256-mFPhiAAibCiAkLrysAmIQalVCGd9ips2lqbAsowYprY="; 26 + }; 27 + 28 + nativeBuildInputs = [ 29 + wrapQtAppsHook 30 + gfortran 31 + pkg-config 32 + cmake 33 + ]; 34 + 35 + buildInputs = [ 36 + hamlib 37 + libusb1 38 + fftw 39 + fftwFloat 40 + qtbase 41 + qtmultimedia 42 + qtserialport 43 + ]; 44 + 45 + prePatch = '' 46 + substituteInPlace CMakeLists.txt \ 47 + --replace "/usr/share/applications" "$out/share/applications" \ 48 + --replace "/usr/share/pixmaps" "$out/share/pixmaps" \ 49 + --replace "/usr/bin/" "$out/bin" 50 + ''; 51 + 52 + patches = [ ./cmake.patch ]; 53 + 54 + meta = with lib; { 55 + description = "Weak-signal keyboard messaging for amateur radio"; 56 + longDescription = '' 57 + JS8Call is software using the JS8 Digital Mode providing weak signal 58 + keyboard to keyboard messaging to Amateur Radio Operators. 59 + ''; 60 + homepage = "http://js8call.com/"; 61 + license = licenses.gpl3Plus; 62 + platforms = platforms.linux; 63 + maintainers = with maintainers; [ melling ]; 64 + }; 65 + }
+2
pkgs/top-level/all-packages.nix
··· 27640 27640 27641 27641 josm = callPackage ../applications/misc/josm { }; 27642 27642 27643 + js8call = qt5.callPackage ../applications/radio/js8call { }; 27644 + 27643 27645 jwm = callPackage ../applications/window-managers/jwm { }; 27644 27646 27645 27647 jwm-settings-manager = callPackage ../applications/window-managers/jwm/jwm-settings-manager.nix { };