132 lines
2.8 KiB
Nix
132 lines
2.8 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
fetchurl,
|
|
|
|
at-spi2-atk,
|
|
autoPatchelfHook,
|
|
cairo,
|
|
cups,
|
|
dbus,
|
|
fontconfig,
|
|
freetype,
|
|
gdk-pixbuf,
|
|
glib,
|
|
gtk3,
|
|
libGL,
|
|
libdrm,
|
|
libxcb-cursor,
|
|
libxkbcommon,
|
|
makeWrapper,
|
|
pango,
|
|
wayland,
|
|
xorg,
|
|
zlib,
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "openmv-ide";
|
|
version = "4.8.9";
|
|
|
|
src = fetchurl {
|
|
url = "https://github.com/openmv/openmv-ide/releases/download/v${version}/openmv-ide-linux-x86_64-${version}.tar.gz";
|
|
hash = "sha256-D0Uunb6IIX8gkirZIISjjhvrrCsR5bgRBcXidtjN/n0=";
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
autoPatchelfHook
|
|
makeWrapper
|
|
];
|
|
|
|
buildInputs = [
|
|
at-spi2-atk
|
|
cairo
|
|
cups
|
|
dbus.lib
|
|
fontconfig
|
|
freetype
|
|
gdk-pixbuf
|
|
glib
|
|
gtk3
|
|
libGL
|
|
libdrm
|
|
libxcb-cursor
|
|
libxkbcommon
|
|
pango
|
|
stdenv.cc.cc.lib
|
|
wayland
|
|
xorg.libX11
|
|
xorg.libxcb
|
|
xorg.xcbutil
|
|
xorg.xcbutilimage
|
|
xorg.xcbutilkeysyms
|
|
xorg.xcbutilrenderutil
|
|
xorg.xcbutilwm
|
|
zlib
|
|
];
|
|
|
|
autoPatchelfIgnoreMissingDeps = [
|
|
"libQt6Designer.so.6"
|
|
"libQt6Labs*.so.6"
|
|
"libQt6OpenGLWidgets.so.6"
|
|
"libQt6Qml*.so.6"
|
|
"libQt6Quick*.so.6"
|
|
"libQt6ShaderTools.so.6"
|
|
"libgssapi_krb5.so.2"
|
|
"libicudata.so.56"
|
|
"libicui18n.so.56"
|
|
"libicuuc.so.56"
|
|
"libmysqlclient.so.21"
|
|
"libodbc.so.2"
|
|
"libpq.so.5"
|
|
];
|
|
|
|
dontAutoPatchelf = true;
|
|
dontBuild = true;
|
|
dontConfigure = true;
|
|
dontStrip = true;
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
mkdir -p $out/share/openmv-ide
|
|
cp -r bin lib share $out/share/openmv-ide/
|
|
|
|
chmod -R u+w $out/share/openmv-ide/
|
|
|
|
mkdir -p $out/share/applications
|
|
cp share/applications/io.openmv.openmvide.desktop $out/share/applications/
|
|
|
|
mkdir -p $out/share/icons
|
|
cp -r share/icons/hicolor $out/share/icons/
|
|
|
|
substituteInPlace $out/share/applications/io.openmv.openmvide.desktop \
|
|
--replace "Exec=openmvide" "Exec=$out/bin/openmvide"
|
|
|
|
mkdir -p $out/bin
|
|
makeWrapper $out/share/openmv-ide/bin/openmvide $out/bin/openmvide \
|
|
--prefix LD_LIBRARY_PATH : "$out/share/openmv-ide/lib:$out/share/openmv-ide/lib/qtcreator:$out/share/openmv-ide/lib/Qt/lib" \
|
|
--add-flags "-user-library-path \"\$LD_LIBRARY_PATH\""
|
|
|
|
runHook postInstall
|
|
'';
|
|
|
|
postFixup = ''
|
|
addAutoPatchelfSearchPath $out/share/openmv-ide/lib/Qt/lib
|
|
addAutoPatchelfSearchPath $out/share/openmv-ide/lib/qtcreator
|
|
|
|
# skip embedded third-party toolchains and tools under share/
|
|
autoPatchelf -- \
|
|
$out/share/openmv-ide/bin \
|
|
$out/share/openmv-ide/lib
|
|
'';
|
|
|
|
meta = {
|
|
description = "QtCreator based IDE for the OpenMV Cam";
|
|
homepage = "https://openmv.io/";
|
|
license = lib.licenses.gpl3Plus;
|
|
mainProgram = "openmvide";
|
|
platforms = [ "x86_64-linux" ];
|
|
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
|
|
};
|
|
}
|