iproute2mac: use finalAttrs (#365157)
[NixPkgs.git] / pkgs / applications / radio / limesuite / default.nix
blob2679132bdb8fb6f8ae6b742a750d271686ce9d74
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   cmake,
6   sqlite,
7   wxGTK32,
8   libusb1,
9   soapysdr,
10   mesa_glu,
11   libX11,
12   gnuplot,
13   fltk,
14   GLUT,
15   withGui ? false,
18 stdenv.mkDerivation rec {
19   pname = "limesuite";
20   version = "23.11.0";
22   src = fetchFromGitHub {
23     owner = "myriadrf";
24     repo = "LimeSuite";
25     rev = "v${version}";
26     sha256 = "sha256-f1cXrkVCIc1MqTvlCUBFqzHLhIVueybVxipNZRlF2gE=";
27   };
29   nativeBuildInputs = [ cmake ];
31   cmakeFlags = [
32     "-DOpenGL_GL_PREFERENCE=GLVND"
33   ] ++ lib.optional (!withGui) "-DENABLE_GUI=OFF";
35   buildInputs =
36     [
37       libusb1
38       sqlite
39       gnuplot
40       libusb1
41       soapysdr
42     ]
43     ++ lib.optionals stdenv.hostPlatform.isDarwin [
44       GLUT
45     ]
46     ++ lib.optionals withGui [
47       fltk
48       libX11
49       mesa_glu
50       wxGTK32
51     ];
53   postInstall = ''
54     install -Dm444 -t $out/lib/udev/rules.d ../udev-rules/64-limesuite.rules
55     install -Dm444 -t $out/share/limesuite bin/Release/lms7suite_mcu/*
56   '';
58   meta = with lib; {
59     description = "Driver and GUI for LMS7002M-based SDR platforms";
60     homepage = "https://github.com/myriadrf/LimeSuite";
61     license = licenses.asl20;
62     maintainers = with maintainers; [ markuskowa ];
63     platforms = platforms.unix;
64     badPlatforms = lib.optionals withGui platforms.darwin; # withGui transitively depends on mesa, which is broken on darwin
65   };