qgroundcontrol: 2.9.4 -> 3.2.7, unbreak build

+20 -38
+19 -37
pkgs/applications/science/robotics/qgroundcontrol/default.nix
··· 1 - { stdenv, fetchgit, git, espeak, SDL, udev, doxygen, cmake 1 + { stdenv, fetchgit, git, espeak, SDL2, udev, doxygen, cmake 2 2 , qtbase, qtlocation, qtserialport, qtdeclarative, qtconnectivity, qtxmlpatterns 3 3 , qtsvg, qtquick1, qtquickcontrols, qtgraphicaleffects, qmake 4 4 , makeWrapper, lndir 5 5 , gst_all_1, qt-gstreamer1, pkgconfig, glibc 6 - , version ? "2.9.4" 7 6 }: 8 7 9 8 stdenv.mkDerivation rec { 10 9 name = "qgroundcontrol-${version}"; 10 + version = "3.2.7"; 11 11 12 12 qtInputs = [ 13 13 qtbase qtlocation qtserialport qtdeclarative qtconnectivity qtxmlpatterns qtsvg ··· 19 19 ]; 20 20 21 21 enableParallelBuilding = true; 22 - buildInputs = [ SDL udev doxygen git ] ++ gstInputs ++ qtInputs; 22 + buildInputs = [ SDL2 udev doxygen git ] ++ gstInputs ++ qtInputs; 23 23 nativeBuildInputs = [ pkgconfig makeWrapper qmake ]; 24 24 25 - patches = [ ./0001-fix-gcc-cmath-namespace-issues.patch ]; 26 - postPatch = '' 27 - sed '1i#include <cmath>' -i src/Vehicle/Vehicle.cc \ 28 - -i src/comm/{QGCFlightGearLink,QGCJSBSimLink}.cc \ 29 - -i src/{uas/UAS,ui/QGCDataPlot2D}.cc 30 - ''; 31 - 32 25 preConfigure = '' 33 26 mkdir build 34 27 cd build 35 28 ''; 36 29 37 - qmakeFlags = [ "../qgroundcontrol.pro" ]; 30 + qmakeFlags = [ 31 + # Default install tries to copy Qt files into package 32 + "CONFIG+=QGC_DISABLE_BUILD_SETUP" 33 + "../qgroundcontrol.pro" 34 + ]; 38 35 39 36 installPhase = '' 40 37 cd .. 38 + 41 39 mkdir -p $out/share/applications 42 - cp -v qgroundcontrol.desktop $out/share/applications 43 - 40 + cp -v deploy/qgroundcontrol.desktop $out/share/applications 41 + 44 42 mkdir -p $out/bin 45 - cp -v build/release/qgroundcontrol "$out/bin/" 46 - 43 + cp -v build/release/QGroundControl "$out/bin/" 44 + 47 45 mkdir -p $out/share/qgroundcontrol 48 46 cp -rv resources/ $out/share/qgroundcontrol 49 - 47 + 50 48 mkdir -p $out/share/pixmaps 51 49 cp -v resources/icons/qgroundcontrol.png $out/share/pixmaps 52 - 53 - # we need to link to our Qt deps in our own output if we want 54 - # this package to work without being installed as a system pkg 55 - mkdir -p $out/lib/qt-$qtCompatVersion $out/etc/xdg 56 - for pkg in $qtInputs; do 57 - if [[ -d $pkg/lib/qt-$qtCompatVersion ]]; then 58 - for dir in lib/qt-$qtCompatVersion share etc/xdg; do 59 - if [[ -d $pkg/$dir ]]; then 60 - ${lndir}/bin/lndir "$pkg/$dir" "$out/$dir" 61 - fi 62 - done 63 - fi 64 - done 65 50 ''; 66 - 67 51 68 52 postInstall = '' 69 53 wrapProgram "$out/bin/qgroundcontrol" \ 70 54 --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH" 71 55 ''; 72 - 73 56 74 57 # TODO: package mavlink so we can build from a normal source tarball 75 58 src = fetchgit { 76 59 url = "https://github.com/mavlink/qgroundcontrol.git"; 77 60 rev = "refs/tags/v${version}"; 78 - sha256 = "0isr0zamhvr853c94lblazkilil6zzmvf7afs3mxgn07jn9wrqz3"; 61 + sha256 = "1sla3sgj2p3h87d7kcaj53f8z5xzyadvsqlqzgh4d2n1f7sikdc5"; 79 62 fetchSubmodules = true; 80 63 }; 81 64 82 - meta = { 65 + meta = with stdenv.lib; { 83 66 description = "Provides full ground station support and configuration for the PX4 and APM Flight Stacks"; 84 67 homepage = http://qgroundcontrol.org/; 85 - license = stdenv.lib.licenses.gpl3Plus; 86 - platforms = with stdenv.lib.platforms; linux; 87 - maintainers = with stdenv.lib.maintainers; [ pxc ]; 88 - broken = true; # relies improperly on private Qt 5.5 headers 68 + license = licenses.gpl3Plus; 69 + platforms = platforms.linux; 70 + maintainers = with maintainers; [ pxc ]; 89 71 }; 90 72 }
+1 -1
pkgs/top-level/all-packages.nix
··· 16604 16604 16605 16605 qgis = callPackage ../applications/gis/qgis {}; 16606 16606 16607 - qgroundcontrol = libsForQt56.callPackage ../applications/science/robotics/qgroundcontrol { }; 16607 + qgroundcontrol = libsForQt5.callPackage ../applications/science/robotics/qgroundcontrol { }; 16608 16608 16609 16609 qjackctl = libsForQt5.callPackage ../applications/audio/qjackctl { }; 16610 16610