uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
43
pkgs/applications/science/robotics/apmplanner2/default.nix
Normal file
43
pkgs/applications/science/robotics/apmplanner2/default.nix
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
{ lib, mkDerivation, fetchFromGitHub, fetchpatch, qmake
|
||||
, qtbase, qtscript, qtwebkit, qtserialport, qtsvg, qtdeclarative, qtquickcontrols2
|
||||
, alsa-lib, libsndfile, flite, openssl, udev, SDL2
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "apmplanner2";
|
||||
version = "2.0.28";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ArduPilot";
|
||||
repo = "apm_planner";
|
||||
rev = version;
|
||||
sha256 = "0wvbfjnnf7sh6fpgw8gimh5hgzywj3nwrgr80r782f5gayd3v2l1";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
alsa-lib libsndfile flite openssl udev SDL2
|
||||
qtbase qtscript qtwebkit qtserialport qtsvg qtdeclarative qtquickcontrols2
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ qmake ];
|
||||
|
||||
qmakeFlags = [ "apm_planner.pro" ];
|
||||
|
||||
# this ugly hack is necessary, as `bin/apmplanner2` needs the contents of `share/APMPlanner2` inside of `bin/`
|
||||
preFixup = ''
|
||||
ln --relative --symbolic $out/share/APMPlanner2/* $out/bin/
|
||||
substituteInPlace $out/share/applications/apmplanner2.desktop \
|
||||
--replace /usr $out
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Ground station software for autonomous vehicles";
|
||||
longDescription = ''
|
||||
A GUI ground control station for autonomous vehicles using the MAVLink protocol.
|
||||
Includes support for the APM and PX4 based controllers.
|
||||
'';
|
||||
homepage = "https://ardupilot.org/planner2/";
|
||||
license = lib.licenses.gpl3;
|
||||
maintainers = with lib.maintainers; [ wucke13 ];
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
{lib, stdenv, fetchurl, unzip, makeDesktopItem, nwjs, wrapGAppsHook, gsettings-desktop-schemas, gtk3 }:
|
||||
|
||||
let
|
||||
pname = "betaflight-configurator";
|
||||
desktopItem = makeDesktopItem {
|
||||
name = pname;
|
||||
exec = pname;
|
||||
icon = pname;
|
||||
comment = "Betaflight configuration tool";
|
||||
desktopName = "Betaflight Configurator";
|
||||
genericName = "Flight controller configuration tool";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
inherit pname;
|
||||
version = "10.7.2";
|
||||
src = fetchurl {
|
||||
url = "https://github.com/betaflight/${pname}/releases/download/${version}/${pname}_${version}_linux64.zip";
|
||||
sha256 = "sha256-FDmtFRUupPKiHeF3Xvh/VagqMo+FJi8I7mhTz0VDs3o=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ wrapGAppsHook unzip ];
|
||||
|
||||
buildInputs = [ gsettings-desktop-schemas gtk3 ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin \
|
||||
$out/opt/${pname}
|
||||
|
||||
cp -r . $out/opt/${pname}/
|
||||
install -m 444 -D icon/bf_icon_128.png $out/share/icons/hicolor/128x128/apps/${pname}.png
|
||||
cp -r ${desktopItem}/share/applications $out/share/
|
||||
|
||||
makeWrapper ${nwjs}/bin/nw $out/bin/${pname} --add-flags $out/opt/${pname}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "The Betaflight flight control system configuration tool";
|
||||
longDescription = ''
|
||||
A crossplatform configuration tool for the Betaflight flight control system.
|
||||
Various types of aircraft are supported by the tool and by Betaflight, e.g.
|
||||
quadcopters, hexacopters, octocopters and fixed-wing aircraft.
|
||||
'';
|
||||
homepage = "https://github.com/betaflight/betaflight/wiki";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ wucke13 ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
{lib, stdenv, fetchurl, unzip, makeDesktopItem, copyDesktopItems, nwjs
|
||||
, wrapGAppsHook, gsettings-desktop-schemas, gtk3 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "emuflight-configurator";
|
||||
version = "0.4.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/emuflight/EmuConfigurator/releases/download/${version}/emuflight-configurator_${version}_linux64.zip";
|
||||
sha256 = "sha256-s5AE+r9Fw6S7IG2cDW2T7vctcYIAY8al7eCFIDjD5oI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ wrapGAppsHook unzip copyDesktopItems ];
|
||||
|
||||
buildInputs = [ gsettings-desktop-schemas gtk3 ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/share/${pname}
|
||||
|
||||
cp -r . $out/share/${pname}/
|
||||
install -m 444 -D icon/emu_icon_128.png $out/share/icons/hicolor/128x128/apps/${pname}.png
|
||||
|
||||
makeWrapper ${nwjs}/bin/nw $out/bin/${pname} --add-flags $out/share/${pname}
|
||||
'';
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = pname;
|
||||
exec = pname;
|
||||
icon = pname;
|
||||
comment = "Emuflight configuration tool";
|
||||
desktopName = "Emuflight Configurator";
|
||||
genericName = "Flight controller configuration tool";
|
||||
})
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "The Emuflight flight control system configuration tool";
|
||||
longDescription = ''
|
||||
A crossplatform configuration tool for the Emuflight flight control system.
|
||||
Various types of aircraft are supported by the tool and by Emuflight, e.g.
|
||||
quadcopters, hexacopters, octocopters and fixed-wing aircraft.
|
||||
The application allows you to configure the Emuflight software running on any supported Emuflight target.
|
||||
'';
|
||||
homepage = "https://github.com/emuflight/EmuConfigurator";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ beezow ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
{ lib, stdenv, fetchurl, makeDesktopItem, copyDesktopItems, nwjs, wrapGAppsHook, gsettings-desktop-schemas, gtk3 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "inav-configurator";
|
||||
version = "4.1.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/iNavFlight/inav-configurator/releases/download/${version}/INAV-Configurator_linux64_${version}.tar.gz";
|
||||
sha256 = "sha256-+rPzytnAQcNGbISFBHb4JS9Nqy0C2i36k+EPBvq/mso=";
|
||||
};
|
||||
|
||||
icon = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/iNavFlight/inav-configurator/bf3fc89e6df51ecb83a386cd000eebf16859879e/images/inav_icon_128.png";
|
||||
sha256 = "1i844dzzc5s5cr4vfpi6k2kdn8jiqq2n6c0fjqvsp4wdidwjahzw";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ copyDesktopItems wrapGAppsHook ];
|
||||
|
||||
buildInputs = [ gsettings-desktop-schemas gtk3 ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin \
|
||||
$out/opt/${pname}
|
||||
|
||||
cp -r inav-configurator $out/opt/inav-configurator/
|
||||
install -m 444 -D $icon $out/share/icons/hicolor/128x128/apps/${pname}.png
|
||||
|
||||
chmod +x $out/opt/inav-configurator/inav-configurator
|
||||
makeWrapper ${nwjs}/bin/nw $out/bin/${pname} --add-flags $out/opt/inav-configurator/inav-configurator
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
desktopItems = makeDesktopItem {
|
||||
name = pname;
|
||||
exec = pname;
|
||||
icon = pname;
|
||||
comment = "iNavFlight configuration tool";
|
||||
desktopName = "iNav Configurator";
|
||||
genericName = "Flight controller configuration tool";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "The iNav flight control system configuration tool";
|
||||
longDescription = ''
|
||||
A crossplatform configuration tool for the iNav flight control system.
|
||||
Various types of aircraft are supported by the tool and by iNav, e.g.
|
||||
quadcopters, hexacopters, octocopters and fixed-wing aircraft.
|
||||
'';
|
||||
homepage = "https://github.com/iNavFlight/inav/wiki";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ tilcreator wucke13 ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
36
pkgs/applications/science/robotics/mavproxy/default.nix
Normal file
36
pkgs/applications/science/robotics/mavproxy/default.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{ stdenv, lib, buildPythonApplication, fetchPypi, matplotlib, numpy, pymavlink, pyserial
|
||||
, setuptools, wxPython_4_0, billiard, gnureadline }:
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "MAVProxy";
|
||||
version = "1.8.50";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-dTdXmhm6sWZphLhcoKRDQ2Ir0hcu0ev0xCul2O9hAXg=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace "opencv-python" ""
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [
|
||||
matplotlib
|
||||
numpy
|
||||
pymavlink
|
||||
pyserial
|
||||
setuptools
|
||||
wxPython_4_0
|
||||
] ++ lib.optionals stdenv.isDarwin [ billiard gnureadline ];
|
||||
|
||||
# No tests
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "MAVLink proxy and command line ground station";
|
||||
homepage = "https://github.com/ArduPilot/MAVProxy";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ lopsided98 ];
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
{ lib, stdenv, fetchurl, makeDesktopItem, makeWrapper, unzip, mono }:
|
||||
|
||||
let
|
||||
pname = "mission-planner";
|
||||
desktopItem = makeDesktopItem {
|
||||
name = pname;
|
||||
exec = pname;
|
||||
icon = pname;
|
||||
comment = "MissionPlanner GCS & Ardupilot configuration tool";
|
||||
desktopName = "MissionPlanner";
|
||||
genericName = "Ground Control Station";
|
||||
};
|
||||
in stdenv.mkDerivation rec {
|
||||
inherit pname;
|
||||
version = "1.3.76";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://firmware.ardupilot.org/Tools/MissionPlanner/MissionPlanner-${version}.zip";
|
||||
sha256 = "sha256-vdunUGwLjDKf1LDhtyTQAExddecyWc1TdZOyuu0qMlk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper mono unzip ];
|
||||
sourceRoot = ".";
|
||||
|
||||
AOT_FILES = [ "MissionPlanner.exe" "MissionPlanner.*.dll" ];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
for file in $AOT_FILES
|
||||
do
|
||||
mono --aot $file
|
||||
done
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/{bin,opt/mission-planner}
|
||||
install -m 444 -D mpdesktop150.png $out/share/icons/mission-planner.png
|
||||
cp -r ${desktopItem}/share/applications $out/share/
|
||||
mv * $out/opt/mission-planner
|
||||
makeWrapper ${mono}/bin/mono $out/bin/mission-planner \
|
||||
--add-flags $out/opt/mission-planner/MissionPlanner.exe
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "An ArduPilot ground station";
|
||||
longDescription = ''
|
||||
Full-featured ground station application for the ArduPilot open source
|
||||
autopilot project. Lets you both flash, configure and control ArduPilot
|
||||
Plane, Copter and Rover targets.
|
||||
'';
|
||||
homepage = "https://ardupilot.org/planner/";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ wucke13 ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
{ lib, mkDerivation, fetchFromGitHub, SDL2
|
||||
, qtbase, qtcharts, qtlocation, qtserialport, qtsvg, qtquickcontrols2
|
||||
, qtgraphicaleffects, qtspeech, qtx11extras, qmake, qttools
|
||||
, gst_all_1, wayland, pkg-config
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "qgroundcontrol";
|
||||
version = "4.2.1";
|
||||
|
||||
qtInputs = [
|
||||
qtbase qtcharts qtlocation qtserialport qtsvg qtquickcontrols2
|
||||
qtgraphicaleffects qtspeech qtx11extras
|
||||
];
|
||||
|
||||
gstInputs = with gst_all_1; [
|
||||
gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad wayland
|
||||
];
|
||||
|
||||
buildInputs = [ SDL2 ] ++ gstInputs ++ qtInputs;
|
||||
nativeBuildInputs = [ pkg-config qmake qttools ];
|
||||
|
||||
preConfigure = ''
|
||||
mkdir build
|
||||
cd build
|
||||
'';
|
||||
|
||||
qmakeFlags = [
|
||||
"CONFIG+=StableBuild"
|
||||
# Default install tries to copy Qt files into package
|
||||
"CONFIG+=QGC_DISABLE_BUILD_SETUP"
|
||||
# Tries to download x86_64-only prebuilt binaries
|
||||
"DEFINES+=DISABLE_AIRMAP"
|
||||
"../qgroundcontrol.pro"
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
cd ..
|
||||
|
||||
mkdir -p $out/share/applications
|
||||
sed 's/Exec=.*$/Exec=QGroundControl/g' --in-place deploy/qgroundcontrol.desktop
|
||||
cp -v deploy/qgroundcontrol.desktop $out/share/applications
|
||||
|
||||
mkdir -p $out/bin
|
||||
cp -v build/staging/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
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
qtWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0")
|
||||
'';
|
||||
|
||||
# TODO: package mavlink so we can build from a normal source tarball
|
||||
src = fetchFromGitHub {
|
||||
owner = "mavlink";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-7POrc6RUm3GVx3KuPUBNbKRUvUmA2UkEL7ezQVQt/yo=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
patches = [
|
||||
# fix build problems caused by https://github.com/mavlink/qgroundcontrol/pull/10132
|
||||
# remove once updated past 4.2.0
|
||||
./fix-10132.patch
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Provides full ground station support and configuration for the PX4 and APM Flight Stacks";
|
||||
homepage = "http://qgroundcontrol.com/";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ lopsided98 ];
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
diff --git a/libs/qmlglsink/gst-plugins-good/ext/qt/gstqsgtexture.cc b/libs/qmlglsink/gst-plugins-good/ext/qt/gstqsgtexture.cc
|
||||
index 2b314e0..ad1425e 100644
|
||||
--- a/libs/qmlglsink/gst-plugins-good/ext/qt/gstqsgtexture.cc
|
||||
+++ b/libs/qmlglsink/gst-plugins-good/ext/qt/gstqsgtexture.cc
|
||||
@@ -35,7 +35,7 @@ GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
|
||||
|
||||
GstQSGTexture::GstQSGTexture ()
|
||||
{
|
||||
- static volatile gsize _debug;
|
||||
+ static gsize _debug;
|
||||
|
||||
initializeOpenGLFunctions();
|
||||
|
||||
diff --git a/libs/qmlglsink/gst-plugins-good/ext/qt/gstqtglutility.cc b/libs/qmlglsink/gst-plugins-good/ext/qt/gstqtglutility.cc
|
||||
index 3a68576..5203d13 100644
|
||||
--- a/libs/qmlglsink/gst-plugins-good/ext/qt/gstqtglutility.cc
|
||||
+++ b/libs/qmlglsink/gst-plugins-good/ext/qt/gstqtglutility.cc
|
||||
@@ -58,7 +58,7 @@ gst_qt_get_gl_display ()
|
||||
{
|
||||
GstGLDisplay *display = NULL;
|
||||
QGuiApplication *app = static_cast<QGuiApplication *> (QCoreApplication::instance ());
|
||||
- static volatile gsize _debug;
|
||||
+ static gsize _debug;
|
||||
|
||||
g_assert (app != NULL);
|
||||
|
||||
diff --git a/libs/qmlglsink/gst-plugins-good/ext/qt/qtitem.cc b/libs/qmlglsink/gst-plugins-good/ext/qt/qtitem.cc
|
||||
index f031b36..3c6722a 100644
|
||||
--- a/libs/qmlglsink/gst-plugins-good/ext/qt/qtitem.cc
|
||||
+++ b/libs/qmlglsink/gst-plugins-good/ext/qt/qtitem.cc
|
||||
@@ -106,7 +106,7 @@ void InitializeSceneGraph::run()
|
||||
|
||||
QtGLVideoItem::QtGLVideoItem()
|
||||
{
|
||||
- static volatile gsize _debug;
|
||||
+ static gsize _debug;
|
||||
|
||||
if (g_once_init_enter (&_debug)) {
|
||||
GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "qtglwidget", 0, "Qt GL Widget");
|
||||
diff --git a/libs/qmlglsink/gst-plugins-good/ext/qt/qtwindow.cc b/libs/qmlglsink/gst-plugins-good/ext/qt/qtwindow.cc
|
||||
index 8bf14ae..2f88aa9 100644
|
||||
--- a/libs/qmlglsink/gst-plugins-good/ext/qt/qtwindow.cc
|
||||
+++ b/libs/qmlglsink/gst-plugins-good/ext/qt/qtwindow.cc
|
||||
@@ -107,7 +107,7 @@ QtGLWindow::QtGLWindow ( QWindow * parent, QQuickWindow *src ) :
|
||||
QQuickWindow( parent ), source (src)
|
||||
{
|
||||
QGuiApplication *app = static_cast<QGuiApplication *> (QCoreApplication::instance ());
|
||||
- static volatile gsize _debug;
|
||||
+ static gsize _debug;
|
||||
|
||||
g_assert (app != NULL);
|
||||
|
||||
@@ -156,7 +156,7 @@ QtGLWindow::beforeRendering()
|
||||
|
||||
g_mutex_lock (&this->priv->lock);
|
||||
|
||||
- static volatile gsize once = 0;
|
||||
+ static gsize once = 0;
|
||||
if (g_once_init_enter(&once)) {
|
||||
this->priv->start = QDateTime::currentDateTime().toMSecsSinceEpoch();
|
||||
g_once_init_leave(&once,1);
|
||||
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
{ lib, stdenv, python3, qt5, fetchFromGitHub, wrapPython, pyqt5, pyserial, dos2unix }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "sumorobot-manager";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "robokoding";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "07snhwmqqp52vdgr66vx50zxx0nmpmns5cdjgh50hzlhji2z1fl9";
|
||||
};
|
||||
|
||||
buildInputs = [ python3 ];
|
||||
pythonPath = [
|
||||
pyqt5.dev pyserial
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ wrapPython qt5.wrapQtAppsHook dos2unix ];
|
||||
|
||||
buildPhase = "true";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/opt/sumorobot-manager
|
||||
cp -r main.py lib res $out/opt/sumorobot-manager
|
||||
chmod -R 644 $out/opt/sumorobot-manager/lib/*
|
||||
mkdir $out/bin
|
||||
dos2unix $out/opt/sumorobot-manager/main.py
|
||||
makeQtWrapper $out/opt/sumorobot-manager/main.py $out/bin/sumorobot-manager \
|
||||
--chdir "$out/opt/sumorobot-manager"
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
patchShebangs $out/opt/sumorobot-manager/main.py
|
||||
wrapPythonProgramsIn "$out/opt" "$pythonPath"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Desktop App for managing SumoRobots";
|
||||
homepage = "https://www.robokoding.com/kits/sumorobot/sumomanager/";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ abbradar ];
|
||||
};
|
||||
}
|
||||
36
pkgs/applications/science/robotics/yarp/default.nix
Normal file
36
pkgs/applications/science/robotics/yarp/default.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{ lib, stdenv, fetchFromGitHub, cmake, ace
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "yarp";
|
||||
version = "2.3.70.2";
|
||||
src = fetchFromGitHub {
|
||||
owner = "robotology";
|
||||
repo = "yarp";
|
||||
rev = "v${version}";
|
||||
sha256 = "0mphh899niy30xbjjwi9xpsliq8mladfldbbbjfngdrqfhiray1a";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ ace ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DYARP_COMPILE_UNMAINTAINED:BOOL=ON"
|
||||
"-DCREATE_YARPC:BOOL=ON"
|
||||
"-DCREATE_YARPCXX:BOOL=ON"
|
||||
];
|
||||
|
||||
# since we cant expand $out in cmakeFlags
|
||||
preConfigure = ''cmakeFlags="$cmakeFlags -DCMAKE_INSTALL_LIBDIR=$out/lib"'';
|
||||
|
||||
postInstall = "mv ./$out/lib/*.so $out/lib/";
|
||||
|
||||
meta = {
|
||||
description = "Yet Another Robot Platform";
|
||||
homepage = "http://yarp.it";
|
||||
license = lib.licenses.lgpl21;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = [ lib.maintainers.nico202 ];
|
||||
};
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue