tangled
alpha
login
or
join now
tjh.dev
/
nixpkgs
Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
0
fork
atom
overview
issues
pulls
pipelines
js8call: init at 2.2.0
Matt Melling
3 years ago
5147a3e4
ab4868bf
+136
3 changed files
expand all
collapse all
unified
split
pkgs
applications
radio
js8call
cmake.patch
default.nix
top-level
all-packages.nix
+69
pkgs/applications/radio/js8call/cmake.patch
···
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
···
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
···
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
···
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
27641
josm = callPackage ../applications/misc/josm { };
27642
0
0
27643
jwm = callPackage ../applications/window-managers/jwm { };
27644
27645
jwm-settings-manager = callPackage ../applications/window-managers/jwm/jwm-settings-manager.nix { };
···
27640
27641
josm = callPackage ../applications/misc/josm { };
27642
27643
+
js8call = qt5.callPackage ../applications/radio/js8call { };
27644
+
27645
jwm = callPackage ../applications/window-managers/jwm { };
27646
27647
jwm-settings-manager = callPackage ../applications/window-managers/jwm/jwm-settings-manager.nix { };