1{
2 lib,
3 stdenv,
4 cmake,
5 pkg-config,
6 fetchFromGitHub,
7 makeDesktopItem,
8 alsa-lib,
9 speex,
10 libopus,
11 curl,
12 gsm,
13 libgcrypt,
14 libsigcxx,
15 popt,
16 qtbase,
17 qttools,
18 wrapQtAppsHook,
19 rtl-sdr,
20 tcl,
21 doxygen,
22 groff,
23 jsoncpp,
24}:
25
26let
27 desktopItem = makeDesktopItem rec {
28 name = "Qtel";
29 exec = "qtel";
30 icon = "qtel";
31 desktopName = name;
32 genericName = "EchoLink Client";
33 categories = [
34 "HamRadio"
35 "Qt"
36 "Network"
37 ];
38 };
39
40in
41stdenv.mkDerivation rec {
42 pname = "svxlink";
43 version = "25.05.1";
44
45 src = fetchFromGitHub {
46 owner = "sm0svx";
47 repo = "svxlink";
48 tag = version;
49 hash = "sha256-OyAR/6heGX6J53p6x+ZPXY6nzSv22umMTg0ISlWcjp8=";
50 };
51
52 cmakeFlags = [
53 "-DDO_INSTALL_CHOWN=NO"
54 "-DRTLSDR_LIBRARIES=${rtl-sdr}/lib/librtlsdr.so"
55 "-DRTLSDR_INCLUDE_DIRS=${rtl-sdr}/include"
56 "../src"
57 ];
58
59 dontWrapQtApps = true;
60
61 nativeBuildInputs = [
62 cmake
63 pkg-config
64 doxygen
65 groff
66 wrapQtAppsHook
67 ];
68
69 buildInputs = [
70 alsa-lib
71 curl
72 gsm
73 libgcrypt
74 libsigcxx
75 libopus
76 popt
77 qtbase
78 qttools
79 rtl-sdr
80 speex
81 tcl
82 jsoncpp
83 ];
84
85 postInstall = ''
86 rm -rf $out/share/applications
87 ln -s ${desktopItem}/share/applications $out/share/applications
88 wrapQtApp $out/bin/qtel
89 '';
90
91 meta = {
92 description = "Advanced repeater controller and EchoLink software";
93 longDescription = ''
94 Advanced repeater controller and EchoLink software for Linux including a
95 GUI, Qtel - The Qt EchoLink client
96 '';
97 homepage = "http://www.svxlink.org/";
98 license = with lib.licenses; [ gpl2 ];
99 maintainers = with lib.maintainers; [ zaninime ];
100 platforms = lib.platforms.linux;
101 };
102}