From 50d9ac6547eb4451ae34169ad978c0cd26175ce5 Mon Sep 17 00:00:00 2001 From: Marcus Sand <15278940+HeroGamers@users.noreply.github.com> Date: Thu, 11 Sep 2025 23:35:31 +0200 Subject: [PATCH] ida-free: 9.1 -> 9.2 https://docs.hex-rays.com/release-notes/9_2 --- pkgs/by-name/id/ida-free/package.nix | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/pkgs/by-name/id/ida-free/package.nix b/pkgs/by-name/id/ida-free/package.nix index c741c6b5337a..1641cf4228ba 100644 --- a/pkgs/by-name/id/ida-free/package.nix +++ b/pkgs/by-name/id/ida-free/package.nix @@ -12,7 +12,6 @@ libGL, libkrb5, libsecret, - libsForQt5, libunwind, libxkbcommon, makeWrapper, @@ -21,21 +20,19 @@ xorg, zlib, }: - stdenv.mkDerivation (finalAttrs: rec { pname = "ida-free"; - version = "9.1"; + version = "9.2"; src = requireFile { name = "ida-free-pc_${lib.replaceStrings [ "." ] [ "" ] version}_x64linux.run"; - url = "https://my.hex-rays.com/dashboard/download-center/${version}/ida-free"; - hash = "sha256-DIkxr9yD6yvziO8XHi0jt80189bXueRxmSFyq2LM0cg="; + url = "https://my.hex-rays.com/dashboard/download-center/installers/release/${version}/ida-free"; + hash = "sha256-CQm9phkqLXhht4UQxooKmhmiGuW3lV8RIJuDrm52aNw="; }; nativeBuildInputs = [ makeWrapper autoPatchelfHook - libsForQt5.wrapQtAppsHook ]; # We just get a runfile in $src, so no need to unpack it. @@ -53,7 +50,6 @@ stdenv.mkDerivation (finalAttrs: rec { libGL libkrb5 libsecret - libsForQt5.qtbase libunwind libxkbcommon openssl @@ -70,11 +66,18 @@ stdenv.mkDerivation (finalAttrs: rec { xorg.xcbutilkeysyms xorg.xcbutilrenderutil xorg.xcbutilwm + xorg.xcbutilcursor zlib ]; buildInputs = runtimeDependencies; - dontWrapQtApps = true; + # IDA comes with its own Qt6, some dependencies are missing in the installer. + autoPatchelfIgnoreMissingDeps = [ + "libQt6Network.so.6" + "libQt6EglFSDeviceIntegration.so.6" + "libQt6WaylandEglClientHwIntegration.so.6" + "libQt6WlShellIntegration.so.6" + ]; installPhase = '' runHook preInstall @@ -101,11 +104,9 @@ stdenv.mkDerivation (finalAttrs: rec { # Some libraries come with the installer. addAutoPatchelfSearchPath $IDADIR - for bb in ida assistant; do - wrapProgram $IDADIR/$bb \ - --prefix QT_PLUGIN_PATH : $IDADIR/plugins/platforms - ln -s $IDADIR/$bb $out/bin/$bb - done + # Wrap the ida executable to set QT_PLUGIN_PATH + wrapProgram $IDADIR/ida --prefix QT_PLUGIN_PATH : $IDADIR/plugins/platforms + ln -s $IDADIR/ida $out/bin/ida # runtimeDependencies don't get added to non-executables, and openssl is needed # for cloud decompilation