qgroundcontrol: init at 2.9.4
This commit is contained in:
@@ -0,0 +1,98 @@
|
||||
{ stdenv, fetchgit, git, espeak, SDL, udev, doxygen, cmake, overrideCC#, gcc48
|
||||
, qtbase, qtlocation, qtserialport, qtdeclarative, qtconnectivity, qtxmlpatterns
|
||||
, qtsvg, qtquick1, qtquickcontrols, qtgraphicaleffects
|
||||
, makeQtWrapper, lndir
|
||||
, gst_all_1, qt_gstreamer1, pkgconfig, glibc
|
||||
, version ? "2.9.4"
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "qgroundcontrol-${version}";
|
||||
buildInputs = [
|
||||
SDL udev doxygen git
|
||||
] ++ gstInputs;
|
||||
|
||||
qtInputs = [
|
||||
qtbase qtlocation qtserialport qtdeclarative qtconnectivity qtxmlpatterns qtsvg
|
||||
qtquick1 qtquickcontrols qtgraphicaleffects
|
||||
];
|
||||
|
||||
gstInputs = with gst_all_1; [
|
||||
gstreamer gst-plugins-base
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
nativeBuildInputs = [
|
||||
pkgconfig makeQtWrapper
|
||||
] ++ qtInputs;
|
||||
|
||||
patches = [ ./0001-fix-gcc-cmath-namespace-issues.patch ];
|
||||
|
||||
preConfigure = ''
|
||||
git submodule init
|
||||
git submodule update
|
||||
|
||||
'';
|
||||
|
||||
configurePhase = ''
|
||||
mkdir build
|
||||
pushd build
|
||||
|
||||
qmake ../qgroundcontrol.pro
|
||||
|
||||
popd
|
||||
'';
|
||||
|
||||
preBuild = "pushd build/";
|
||||
postBuild = "popd";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/applications
|
||||
cp -v qgroundcontrol.desktop $out/share/applications
|
||||
|
||||
mkdir -p $out/bin
|
||||
cp -v build/release/qgroundcontrol "$out/bin/"
|
||||
|
||||
mkdir -p $out/share/qgroundcontrol
|
||||
cp -rv resources/ $out/share/qgroundcontrol
|
||||
|
||||
mkdir -p $out/share/pixmaps
|
||||
cp -v resources/icons/qgroundcontrol.png $out/share/pixmaps
|
||||
|
||||
# we need to link to our Qt deps in our own output if we want
|
||||
# this package to work without being installed as a system pkg
|
||||
mkdir -p $out/lib/qt5 $out/etc/xdg
|
||||
for pkg in $qtInputs; do
|
||||
if [[ -d $pkg/lib/qt5 ]]; then
|
||||
for dir in lib/qt5 share etc/xdg; do
|
||||
if [[ -d $pkg/$dir ]]; then
|
||||
${lndir}/bin/lndir "$pkg/$dir" "$out/$dir"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
done
|
||||
'';
|
||||
|
||||
|
||||
postInstall = ''
|
||||
wrapQtProgram "$out/bin/qgroundcontrol" \
|
||||
--prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH"
|
||||
'';
|
||||
|
||||
|
||||
# TODO: package mavlink so we can build from a normal source tarball
|
||||
src = fetchgit {
|
||||
url = "https://github.com/mavlink/qgroundcontrol.git";
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "0rwn2ddlar58ydzdykvnab1anr4xzvb9x0sxx5rs037i49f6sqga";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "provides full ground station support and configuration for the PX4 and APM Flight Stacks";
|
||||
homepage = http://qgroundcontrol.org/;
|
||||
license = stdenv.lib.licenses.gpl3Plus;
|
||||
platforms = with stdenv.lib.platforms; linux;
|
||||
maintainers = with stdenv.lib.maintainers; [ pxc ];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user