1{ lib
2, mkDerivation
3, fetchFromGitHub
4, gnuradio
5, cmake
6, pkg-config
7, swig
8, python
9, logLib
10, mpir
11, thrift
12, boost
13, gmp
14, icu
15}:
16
17let
18 version = {
19 "3.7" = "1.1.0";
20 "3.8" = "3.8.0";
21 "3.9" = null;
22 }.${gnuradio.versionAttr.major};
23 src = fetchFromGitHub {
24 owner = "bastibl";
25 repo = "gr-rds";
26 rev = "v${version}";
27 sha256 = {
28 "3.7" = "0jkzchvw0ivcxsjhi1h0mf7k13araxf5m4wi5v9xdgqxvipjzqfy";
29 "3.8" = "+yKLJu2bo7I2jkAiOdjvdhZwxFz9NFgTmzcLthH9Y5o=";
30 "3.9" = null;
31 }.${gnuradio.versionAttr.major};
32 };
33in mkDerivation {
34 pname = "gr-rds";
35 inherit version src;
36 disabledForGRafter = "3.9";
37
38 buildInputs = [
39 logLib
40 mpir
41 boost
42 gmp
43 icu
44 ] ++ lib.optionals (gnuradio.hasFeature "gr-ctrlport") [
45 thrift
46 python.pkgs.thrift
47 ];
48
49 nativeBuildInputs = [
50 cmake
51 pkg-config
52 swig
53 python
54 ];
55
56 meta = with lib; {
57 description = "Gnuradio block for radio data system";
58 homepage = "https://github.com/bastibl/gr-rds";
59 license = licenses.gpl2Plus;
60 platforms = platforms.unix;
61 maintainers = with maintainers; [ mog ];
62 };
63}