1 { lib, stdenv, fetchurl, makeDesktopItem, makeWrapper, unzip, mono }:
4 pname = "mission-planner";
5 desktopItem = makeDesktopItem {
9 comment = "MissionPlanner GCS & Ardupilot configuration tool";
10 desktopName = "MissionPlanner";
11 genericName = "Ground Control Station";
13 in stdenv.mkDerivation rec {
18 url = "https://firmware.ardupilot.org/Tools/MissionPlanner/MissionPlanner-${version}.zip";
19 sha256 = "sha256-iivlaQWtOMJHchmR92FoqTaosGJ9F1AgFtuFgDE/9qQ=";
22 nativeBuildInputs = [ makeWrapper mono unzip ];
25 AOT_FILES = [ "MissionPlanner.exe" "MissionPlanner.*.dll" ];
29 for file in $AOT_FILES
38 mkdir -p $out/{bin,opt/mission-planner}
39 install -m 444 -D mpdesktop150.png $out/share/icons/mission-planner.png
40 cp -r ${desktopItem}/share/applications $out/share/
41 mv * $out/opt/mission-planner
42 makeWrapper ${mono}/bin/mono $out/bin/mission-planner \
43 --add-flags $out/opt/mission-planner/MissionPlanner.exe
48 description = "An ArduPilot ground station";
49 mainProgram = "mission-planner";
51 Full-featured ground station application for the ArduPilot open source
52 autopilot project. Lets you both flash, configure and control ArduPilot
53 Plane, Copter and Rover targets.
55 homepage = "https://ardupilot.org/planner/";
56 license = licenses.gpl3Plus;
57 maintainers = with maintainers; [ wucke13 ];
58 platforms = platforms.all;