Unverified Commit 9a7fc129 authored by Moritz Sanft's avatar Moritz Sanft Committed by GitHub
Browse files

ida-free: 9.1 -> 9.2 (#442202)

parents 83b163d8 50d9ac65
Loading
Loading
Loading
Loading
+14 −13
Original line number Diff line number Diff line
@@ -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