mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-11-09 16:18:34 +01:00
133 lines
2.8 KiB
Nix
133 lines
2.8 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
fetchurl,
|
|
autoPatchelfHook,
|
|
makeWrapper,
|
|
dpkg,
|
|
glib,
|
|
gtk3,
|
|
nspr,
|
|
nss,
|
|
cups,
|
|
dbus,
|
|
atk,
|
|
at-spi2-atk,
|
|
at-spi2-core,
|
|
cairo,
|
|
pango,
|
|
xorg,
|
|
libxkbcommon,
|
|
libdrm,
|
|
mesa,
|
|
libGL,
|
|
libxkbfile,
|
|
libsecret,
|
|
expat,
|
|
alsa-lib,
|
|
systemd,
|
|
fontconfig,
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "rovium";
|
|
version = "0.4.0-beta";
|
|
|
|
src = fetchurl {
|
|
url = "https://github.com/MaximilianCF/rovium-ide-nix/releases/download/v0.1.0-beta/rovium-0.4.0-amd64.deb";
|
|
hash = "sha256-JHFD82MSyvQMYRzzLBFdO8G1RHUKU5sHk5qgYyMqWVE=";
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
autoPatchelfHook
|
|
makeWrapper
|
|
dpkg
|
|
];
|
|
|
|
buildInputs = [
|
|
stdenv.cc.cc.lib
|
|
glib
|
|
gtk3
|
|
nspr
|
|
nss
|
|
cups
|
|
dbus
|
|
atk
|
|
at-spi2-atk
|
|
at-spi2-core
|
|
cairo
|
|
pango
|
|
xorg.libX11
|
|
xorg.libXcomposite
|
|
xorg.libXdamage
|
|
xorg.libXext
|
|
xorg.libXfixes
|
|
xorg.libXrandr
|
|
xorg.libxcb
|
|
libxkbcommon
|
|
libdrm
|
|
mesa
|
|
libGL
|
|
libxkbfile
|
|
libsecret
|
|
expat
|
|
alsa-lib
|
|
systemd
|
|
fontconfig
|
|
];
|
|
|
|
autoPatchelfIgnoreMissingDeps = [ "libc.musl-x86_64.so.1" ];
|
|
|
|
unpackPhase = ''
|
|
runHook preUnpack
|
|
dpkg-deb -x $src .
|
|
runHook postUnpack
|
|
'';
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
mkdir -p $out/bin $out/opt $out/share/applications $out/share/icons/hicolor/512x512/apps
|
|
|
|
cp -r opt/Rovium $out/opt/
|
|
|
|
makeWrapper $out/opt/Rovium/rovium $out/bin/rovium \
|
|
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath buildInputs}" \
|
|
--set ELECTRON_ENABLE_LOGGING 0 \
|
|
--set ELECTRON_NO_UPDATER 1 \
|
|
--set DBUS_SESSION_BUS_ADDRESS "unix:path=/run/user/\$(id -u)/bus" \
|
|
--add-flags "--no-sandbox" \
|
|
--add-flags "--ozone-platform=x11" \
|
|
--add-flags "--disable-update" \
|
|
--add-flags "--disable-component-update" \
|
|
--add-flags "--disable-breakpad" \
|
|
--add-flags "--disable-background-networking" \
|
|
--add-flags "--enable-features=UseOzonePlatform"
|
|
|
|
if [ -f usr/share/applications/rovium.desktop ]; then
|
|
cp usr/share/applications/rovium.desktop $out/share/applications/
|
|
substituteInPlace $out/share/applications/rovium.desktop \
|
|
--replace-fail "/opt/Rovium/rovium" "$out/bin/rovium"
|
|
fi
|
|
|
|
if [ -d usr/share/icons/hicolor/512x512/apps ]; then
|
|
cp usr/share/icons/hicolor/512x512/apps/* $out/share/icons/hicolor/512x512/apps/ || true
|
|
fi
|
|
|
|
runHook postInstall
|
|
'';
|
|
|
|
dontPatchELF = false;
|
|
dontWrapQtApps = true;
|
|
|
|
meta = {
|
|
description = "Integrated Development Environment for ROS and Robotics";
|
|
homepage = "https://rovium.dev";
|
|
license = lib.licenses.unfreeRedistributable;
|
|
maintainers = with lib.maintainers; [ maximiliancf ];
|
|
mainProgram = "rovium";
|
|
platforms = lib.platforms.linux;
|
|
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
|
};
|
|
}
|