biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / development / gnuradio-modules / osmosdr / default.nix
blob7b3c9ef25f0e7330e4cc85b4b51df678bb2b5067
1 { lib
2 , stdenv
3 , darwin
4 , mkDerivation
5 , fetchgit
6 , gnuradio
7 , cmake
8 , pkg-config
9 , logLib
10 , libsndfile
11 , mpir
12 , boost
13 , gmp
14 , thrift
15 , fftwFloat
16 , python
17 , swig
18 , uhd
19 , icu
20 , airspy
21 , hackrf
22 , libbladeRF
23 , rtl-sdr
24 , soapysdr-with-plugins
25 , gnuradioAtLeast
28 let
29   version = {
30     "3.7" = "0.1.5";
31     "3.8" = "0.2.3";
32     "3.9" = "0.2.5";
33     "3.10" = "0.2.5";
34   }.${gnuradio.versionAttr.major};
35   src = fetchgit {
36     url = "https://gitea.osmocom.org/sdr/gr-osmosdr";
37     rev = "v${version}";
38     sha256 = {
39       "3.7" = "0bf9bnc1c3c4yqqqgmg3nhygj6rcfmyk6pybi27f7461d2cw1drv";
40       "3.8" = "sha256-ZfI8MshhZOdJ1U5FlnZKXsg2Rsvb6oKg943ZVYd/IWo=";
41       "3.9" = "sha256-pYPDkSnBzccZ/Tbs5x3bwk34FQewkG42y/vlaVkr2YE=";
42       "3.10" = "sha256-pYPDkSnBzccZ/Tbs5x3bwk34FQewkG42y/vlaVkr2YE=";
43     }.${gnuradio.versionAttr.major};
44   };
45 in mkDerivation {
46   pname = "gr-osmosdr";
47   inherit version src;
48   disabled = gnuradioAtLeast "3.11";
50   outputs = [ "out" "dev" ];
52   buildInputs = [
53     logLib
54     mpir
55     boost
56     fftwFloat
57     gmp
58     icu
59     airspy
60     hackrf
61     libbladeRF
62     rtl-sdr
63     soapysdr-with-plugins
64   ] ++ lib.optionals (gnuradio.hasFeature "gr-blocks") [
65     libsndfile
66   ] ++ lib.optionals (gnuradio.hasFeature "gr-uhd") [
67     uhd
68   ] ++ lib.optionals (gnuradio.hasFeature "gr-ctrlport") [
69     thrift
70     python.pkgs.thrift
71   ] ++ lib.optionals (gnuradio.hasFeature "python-support") [
72       python.pkgs.numpy
73       python.pkgs.pybind11
74   ] ++ lib.optionals stdenv.isDarwin [
75     darwin.apple_sdk.frameworks.IOKit
76     darwin.apple_sdk.frameworks.Security
77   ];
78   cmakeFlags = [
79     (if (gnuradio.hasFeature "python-support") then
80       "-DENABLE_PYTHON=ON"
81     else
82       "-DENABLE_PYTHON=OFF"
83     )
84   ];
85   nativeBuildInputs = [
86     cmake
87     pkg-config
88     swig
89   ] ++ lib.optionals (gnuradio.hasFeature "python-support") [
90       (if (gnuradio.versionAttr.major == "3.7") then
91         python.pkgs.cheetah
92       else
93         python.pkgs.mako
94       )
95       python
96     ]
97   ;
99   meta = with lib; {
100     description = "Gnuradio block for OsmoSDR and rtl-sdr";
101     homepage = "https://sdr.osmocom.org/trac/wiki/GrOsmoSDR";
102     license = licenses.gpl3Plus;
103     maintainers = with maintainers; [ bjornfor ];
104     platforms = platforms.unix;
105   };