nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 airspy,
5 airspyhf,
6 apple-sdk_12,
7 aptdec,
8 boost,
9 cm256cc,
10 cmake,
11 codec2,
12 dab_lib,
13 dsdcc,
14 faad2,
15 fetchFromGitHub,
16 fftwFloat,
17 flac,
18 glew,
19 hackrf,
20 hidapi,
21 ffmpeg,
22 libiio,
23 libopus,
24 libpulseaudio,
25 libusb1,
26 limesuite,
27 libbladeRF,
28 mbelib,
29 ninja,
30 opencv4,
31 pkg-config,
32 qt6,
33 qt6Packages,
34 rtl-sdr,
35 serialdv,
36 sdrplay,
37 sgp4,
38 soapysdr-with-plugins,
39 uhd,
40 zlib,
41 withSDRplay ? false,
42}:
43
44stdenv.mkDerivation (finalAttrs: {
45 pname = "sdrangel";
46 version = "7.22.8";
47
48 src = fetchFromGitHub {
49 owner = "f4exb";
50 repo = "sdrangel";
51 tag = "v${finalAttrs.version}";
52 hash = "sha256-Uj6BzMUhhi/0Jz8jKe/MCiXinoKcyXy4DqC/USdkcpA=";
53 };
54
55 nativeBuildInputs = [
56 cmake
57 ninja
58 pkg-config
59 qt6.wrapQtAppsHook
60 ];
61
62 buildInputs = [
63 airspy
64 airspyhf
65 aptdec
66 boost
67 cm256cc
68 codec2
69 dab_lib
70 dsdcc
71 faad2
72 ffmpeg
73 fftwFloat
74 flac
75 glew
76 hackrf
77 hidapi
78 libbladeRF
79 libiio
80 libopus
81 libpulseaudio
82 libusb1
83 limesuite
84 mbelib
85 opencv4
86 qt6Packages.qt5compat
87 qt6Packages.qtcharts
88 qt6Packages.qtdeclarative
89 qt6Packages.qtlocation
90 qt6Packages.qtmultimedia
91 qt6Packages.qtscxml
92 qt6Packages.qtserialport
93 qt6Packages.qtspeech
94 qt6Packages.qttools
95 qt6Packages.qtwebsockets
96 qt6Packages.qtwebengine
97 rtl-sdr
98 serialdv
99 sgp4
100 soapysdr-with-plugins
101 uhd
102 zlib
103 ]
104 ++ lib.optionals stdenv.hostPlatform.isLinux [ qt6Packages.qtwayland ]
105 ++ lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_12 ]
106 ++ lib.optionals withSDRplay [ sdrplay ];
107
108 cmakeFlags = [
109 "-DAPT_DIR=${aptdec}"
110 "-DDAB_DIR=${dab_lib}"
111 "-DSGP4_DIR=${sgp4}"
112 "-DSOAPYSDR_DIR=${soapysdr-with-plugins}"
113 "-Wno-dev"
114 "-DENABLE_QT6=ON"
115 ];
116
117 meta = {
118 description = "Software defined radio (SDR) software";
119 homepage = "https://github.com/f4exb/sdrangel";
120 license = lib.licenses.gpl3Plus;
121 longDescription = ''
122 SDRangel is an Open Source Qt6 / OpenGL 3.0+ SDR and signal analyzer frontend to various hardware.
123 '';
124 maintainers = with lib.maintainers; [
125 alkeryn
126 Tungsten842
127 ];
128 platforms = lib.platforms.unix;
129 };
130})