tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
qgroundcontrol: 2.9.4 -> 3.2.7, unbreak build
adisbladis
8 years ago
5f232de6
cad14c78
+20
-38
2 changed files
expand all
collapse all
unified
split
pkgs
applications
science
robotics
qgroundcontrol
default.nix
top-level
all-packages.nix
+19
-37
pkgs/applications/science/robotics/qgroundcontrol/default.nix
···
1
1
-
{ stdenv, fetchgit, git, espeak, SDL, udev, doxygen, cmake
1
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
6
-
, version ? "2.9.4"
7
6
}:
8
7
9
8
stdenv.mkDerivation rec {
10
9
name = "qgroundcontrol-${version}";
10
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
22
-
buildInputs = [ SDL udev doxygen git ] ++ gstInputs ++ qtInputs;
22
22
+
buildInputs = [ SDL2 udev doxygen git ] ++ gstInputs ++ qtInputs;
23
23
nativeBuildInputs = [ pkgconfig makeWrapper qmake ];
24
24
25
25
-
patches = [ ./0001-fix-gcc-cmath-namespace-issues.patch ];
26
26
-
postPatch = ''
27
27
-
sed '1i#include <cmath>' -i src/Vehicle/Vehicle.cc \
28
28
-
-i src/comm/{QGCFlightGearLink,QGCJSBSimLink}.cc \
29
29
-
-i src/{uas/UAS,ui/QGCDataPlot2D}.cc
30
30
-
'';
31
31
-
32
25
preConfigure = ''
33
26
mkdir build
34
27
cd build
35
28
'';
36
29
37
37
-
qmakeFlags = [ "../qgroundcontrol.pro" ];
30
30
+
qmakeFlags = [
31
31
+
# Default install tries to copy Qt files into package
32
32
+
"CONFIG+=QGC_DISABLE_BUILD_SETUP"
33
33
+
"../qgroundcontrol.pro"
34
34
+
];
38
35
39
36
installPhase = ''
40
37
cd ..
38
38
+
41
39
mkdir -p $out/share/applications
42
42
-
cp -v qgroundcontrol.desktop $out/share/applications
43
43
-
40
40
+
cp -v deploy/qgroundcontrol.desktop $out/share/applications
41
41
+
44
42
mkdir -p $out/bin
45
45
-
cp -v build/release/qgroundcontrol "$out/bin/"
46
46
-
43
43
+
cp -v build/release/QGroundControl "$out/bin/"
44
44
+
47
45
mkdir -p $out/share/qgroundcontrol
48
46
cp -rv resources/ $out/share/qgroundcontrol
49
49
-
47
47
+
50
48
mkdir -p $out/share/pixmaps
51
49
cp -v resources/icons/qgroundcontrol.png $out/share/pixmaps
52
52
-
53
53
-
# we need to link to our Qt deps in our own output if we want
54
54
-
# this package to work without being installed as a system pkg
55
55
-
mkdir -p $out/lib/qt-$qtCompatVersion $out/etc/xdg
56
56
-
for pkg in $qtInputs; do
57
57
-
if [[ -d $pkg/lib/qt-$qtCompatVersion ]]; then
58
58
-
for dir in lib/qt-$qtCompatVersion share etc/xdg; do
59
59
-
if [[ -d $pkg/$dir ]]; then
60
60
-
${lndir}/bin/lndir "$pkg/$dir" "$out/$dir"
61
61
-
fi
62
62
-
done
63
63
-
fi
64
64
-
done
65
50
'';
66
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
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
78
-
sha256 = "0isr0zamhvr853c94lblazkilil6zzmvf7afs3mxgn07jn9wrqz3";
61
61
+
sha256 = "1sla3sgj2p3h87d7kcaj53f8z5xzyadvsqlqzgh4d2n1f7sikdc5";
79
62
fetchSubmodules = true;
80
63
};
81
64
82
82
-
meta = {
65
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
85
-
license = stdenv.lib.licenses.gpl3Plus;
86
86
-
platforms = with stdenv.lib.platforms; linux;
87
87
-
maintainers = with stdenv.lib.maintainers; [ pxc ];
88
88
-
broken = true; # relies improperly on private Qt 5.5 headers
68
68
+
license = licenses.gpl3Plus;
69
69
+
platforms = platforms.linux;
70
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
16607
-
qgroundcontrol = libsForQt56.callPackage ../applications/science/robotics/qgroundcontrol { };
16607
16607
+
qgroundcontrol = libsForQt5.callPackage ../applications/science/robotics/qgroundcontrol { };
16608
16608
16609
16609
qjackctl = libsForQt5.callPackage ../applications/audio/qjackctl { };
16610
16610