anvil-editor: init at 0.4
[NixPkgs.git] / pkgs / applications / science / robotics / apmplanner2 / default.nix
blob34509f05daa3d9794b6c354772312392ac2945d4
1 { lib, mkDerivation, fetchFromGitHub, qmake
2 , qtbase, qtscript, qtwebkit, qtserialport, qtsvg, qtdeclarative, qtquickcontrols2
3 , alsa-lib, libsndfile, flite, openssl, udev, SDL2
4 }:
6 mkDerivation rec {
7   pname = "apmplanner2";
8   version = "2.0.28";
10   src = fetchFromGitHub {
11     owner = "ArduPilot";
12     repo = "apm_planner";
13     rev = version;
14     sha256 = "0wvbfjnnf7sh6fpgw8gimh5hgzywj3nwrgr80r782f5gayd3v2l1";
15   };
17   buildInputs = [
18     alsa-lib libsndfile flite openssl udev SDL2
19     qtbase qtscript qtwebkit qtserialport qtsvg qtdeclarative qtquickcontrols2
20   ];
22   nativeBuildInputs = [ qmake ];
24   qmakeFlags = [ "apm_planner.pro" ];
26   # this ugly hack is necessary, as `bin/apmplanner2` needs the contents of `share/APMPlanner2` inside of `bin/`
27   preFixup = ''
28     ln --relative --symbolic $out/share/APMPlanner2/* $out/bin/
29     substituteInPlace $out/share/applications/apmplanner2.desktop \
30       --replace /usr $out
31   '';
33   meta = {
34     description = "Ground station software for autonomous vehicles";
35     longDescription = ''
36       A GUI ground control station for autonomous vehicles using the MAVLink protocol.
37       Includes support for the APM and PX4 based controllers.
38     '';
39     homepage = "https://ardupilot.org/planner2/";
40     license = lib.licenses.gpl3;
41     maintainers = with lib.maintainers; [ wucke13 ];
42   };