1{
2 stdenv,
3 lib,
4 buildPythonPackage,
5 buildPythonApplication,
6 fetchFromGitHub,
7 pkg-config,
8 cmake,
9 setuptools,
10 libsamplerate,
11 fftwFloat,
12 rtl-sdr,
13 soapysdr-with-plugins,
14 csdr,
15 pycsdr,
16 pydigiham,
17 direwolf,
18 sox,
19 wsjtx,
20 codecserver,
21}:
22
23let
24
25 js8py = buildPythonPackage rec {
26 pname = "js8py";
27 version = "0.1.1";
28 format = "setuptools";
29
30 src = fetchFromGitHub {
31 owner = "jketterl";
32 repo = pname;
33 rev = version;
34 sha256 = "1j80zclg1cl5clqd00qqa16prz7cyc32bvxqz2mh540cirygq24w";
35 };
36
37 pythonImportsCheck = [
38 "js8py"
39 "test"
40 ];
41
42 meta = with lib; {
43 homepage = "https://github.com/jketterl/js8py";
44 description = "Library to decode the output of the js8 binary of JS8Call";
45 license = licenses.gpl3Only;
46 teams = [ teams.c3d2 ];
47 };
48 };
49
50 owrx_connector = stdenv.mkDerivation rec {
51 pname = "owrx_connector";
52 version = "0.6.0";
53
54 src = fetchFromGitHub {
55 owner = "jketterl";
56 repo = pname;
57 rev = version;
58 sha256 = "sha256-1H0TJ8QN3b6Lof5TWvyokhCeN+dN7ITwzRvEo2X8OWc=";
59 };
60
61 nativeBuildInputs = [
62 cmake
63 pkg-config
64 ];
65
66 buildInputs = [
67 libsamplerate
68 fftwFloat
69 csdr
70 rtl-sdr
71 soapysdr-with-plugins
72 ];
73
74 meta = with lib; {
75 homepage = "https://github.com/jketterl/owrx_connector";
76 description = "Set of connectors that are used by OpenWebRX to interface with SDR hardware";
77 license = licenses.gpl3Only;
78 platforms = platforms.unix;
79 teams = [ teams.c3d2 ];
80 };
81 };
82
83in
84buildPythonApplication rec {
85 pname = "openwebrx";
86 version = "1.2.2";
87 format = "setuptools";
88
89 src = fetchFromGitHub {
90 owner = "jketterl";
91 repo = pname;
92 rev = version;
93 hash = "sha256-i3Znp5Sxs/KtJazHh2v9/2P+3cEocWB5wIpF7E4pK9s=";
94 };
95
96 propagatedBuildInputs = [
97 setuptools
98 csdr
99 pycsdr
100 pydigiham
101 js8py
102 soapysdr-with-plugins
103 owrx_connector
104 direwolf
105 sox
106 wsjtx
107 codecserver
108 ];
109
110 pythonImportsCheck = [
111 "csdr"
112 "owrx"
113 "test"
114 ];
115
116 passthru = {
117 inherit js8py owrx_connector;
118 };
119
120 meta = with lib; {
121 homepage = "https://github.com/jketterl/openwebrx";
122 description = "Simple DSP library and command-line tool for Software Defined Radio";
123 mainProgram = "openwebrx";
124 license = licenses.gpl3Only;
125 teams = [ teams.c3d2 ];
126 };
127}