From d79eeb4e9dd0edde5ddad2d13e6852cfd438d3ff Mon Sep 17 00:00:00 2001 From: MaximilianCF Date: Sun, 9 Nov 2025 20:26:07 -0300 Subject: [PATCH] rovium: init at 0.4.0 --- pkgs/by-name/ro/rovium/package.nix | 99 ++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 pkgs/by-name/ro/rovium/package.nix diff --git a/pkgs/by-name/ro/rovium/package.nix b/pkgs/by-name/ro/rovium/package.nix new file mode 100644 index 000000000000..94e18aff491c --- /dev/null +++ b/pkgs/by-name/ro/rovium/package.nix @@ -0,0 +1,99 @@ +{ + lib, + stdenvNoCC, + fetchurl, + autoPatchelfHook, + makeBinaryWrapper, + wrapGAppsHook3, + dpkg, + alsa-lib, + mesa, + gtk3, + nss, + libxkbfile, + libsecret, + nix-update-script, +}: + +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "rovium"; + version = "0.4.0"; + + src = fetchurl { + url = "https://github.com/rovium/rovium-beta/releases/download/v${finalAttrs.version}/rovium-${finalAttrs.version}-amd64.deb"; + hash = "sha256-JHFD82MSyvQMYRzzLBFdO8G1RHUKU5sHk5qgYyMqWVE="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + autoPatchelfHook + makeBinaryWrapper + wrapGAppsHook3 + dpkg + ]; + + buildInputs = [ + alsa-lib + mesa + gtk3 + nss + libxkbfile + libsecret + ]; + + autoPatchelfIgnoreMissingDeps = [ + # Rovium binary is musl-static, libc is embedded + "libc.musl-x86_64.so.1" + ]; + + unpackPhase = '' + runHook preUnpack + dpkg-deb -x $src . + runHook postUnpack + ''; + + installPhase = '' + runHook preInstall + + substituteInPlace usr/share/applications/rovium.desktop \ + --replace-fail "/opt/Rovium/rovium" "$out/bin/rovium" + + install -D --mode=644 usr/share/applications/rovium.desktop \ + --target-directory=$out/share/applications + + install -D --mode=644 usr/share/icons/hicolor/512x512/apps/rovium.png \ + --target-directory=$out/share/icons/hicolor/512x512/apps + + cp --recursive opt $out + + makeWrapper $out/opt/Rovium/rovium $out/bin/rovium \ + --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath finalAttrs.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" + + runHook postInstall + ''; + + dontWrapQtApps = true; + + passthru.updateScript = nix-update-script { }; + + 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 = [ "x86_64-linux" ]; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + }; +})