1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 cmake,
6 pkg-config,
7 wrapQtAppsHook,
8 qtbase,
9 qtcharts,
10 qtmultimedia,
11 qt5compat,
12 faad2,
13 rtl-sdr,
14 soapysdr-with-plugins,
15 libusb-compat-0_1,
16 fftwSinglePrec,
17 lame,
18 mpg123,
19 unixtools,
20 withFlac ? true,
21 flac,
22}:
23
24stdenv.mkDerivation (finalAttrs: {
25 pname = "welle-io";
26 version = "2.7";
27
28 src = fetchFromGitHub {
29 owner = "AlbrechtL";
30 repo = "welle.io";
31 tag = "v${finalAttrs.version}";
32 hash = "sha256-+xjwvxFrv++XF6Uhm/ZwkseuToz3LtqCfTD18GiwNyw=";
33 };
34
35 nativeBuildInputs = [
36 cmake
37 pkg-config
38 wrapQtAppsHook
39 unixtools.xxd
40 ];
41
42 buildInputs = [
43 faad2
44 fftwSinglePrec
45 lame
46 libusb-compat-0_1
47 mpg123
48 qtbase
49 qtcharts
50 qtmultimedia
51 qt5compat
52 rtl-sdr
53 soapysdr-with-plugins
54 ]
55 ++ lib.optional withFlac flac;
56
57 cmakeFlags = [
58 "-DRTLSDR=true"
59 "-DSOAPYSDR=true"
60 ]
61 ++ lib.optional withFlac "-DFLAC=true";
62
63 meta = {
64 description = "DAB/DAB+ Software Radio";
65 homepage = "https://www.welle.io/";
66 maintainers = with lib.maintainers; [
67 ck3d
68 markuskowa
69 ];
70 license = lib.licenses.gpl2Only;
71 platforms = [
72 "x86_64-linux"
73 "i686-linux"
74 ]
75 ++ lib.platforms.darwin;
76 };
77})