diff options
Diffstat (limited to 'modules/pkgs')
| -rw-r--r-- | modules/pkgs/hcli.nix | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/modules/pkgs/hcli.nix b/modules/pkgs/hcli.nix new file mode 100644 index 0000000..ba8feb5 --- /dev/null +++ b/modules/pkgs/hcli.nix @@ -0,0 +1,69 @@ +{ ... }: +{ + flake.overlays.hcli = final: prev: { + hcli = final.stdenv.mkDerivation rec { + pname = "hcli"; + version = "0.18.1"; + + src = final.fetchurl { + url = "https://github.com/HexRaysSA/ida-hcli/releases/download/v${version}/hcli-linux-x86_64-${version}"; + hash = "sha256-l9Wql8exa0a6IOTpaJdJ749WI2+9v5+3IJe8kVAm7Tw="; + }; + + dontUnpack = true; + + nativeBuildInputs = [ + final.autoPatchelfHook + final.makeWrapper + ]; + + buildInputs = [ + final.stdenv.cc.cc.lib + final.zlib + final.openssl + final.libffi + final.xz + final.bzip2 + ]; + + installPhase = '' + runHook preInstall + + install -Dm755 "$src" "$out/bin/hcli-unwrapped" + + makeWrapper "$out/bin/hcli-unwrapped" "$out/bin/hcli" \ + --set-default HCLI_DISABLE_UPDATES true \ + --set-default HCLI_CURRENT_IDA_INSTALL_DIR "${final.ida-pro}/opt" \ + --set-default HCLI_CURRENT_IDA_PLATFORM "linux-x86_64" \ + --set-default HCLI_CURRENT_IDA_VERSION "${final.ida-pro.version}" + + runHook postInstall + ''; + + meta = with final.lib; { + description = "Hex-Rays command-line interface"; + homepage = "https://github.com/HexRaysSA/ida-hcli"; + license = licenses.mit; + mainProgram = "hcli"; + platforms = [ "x86_64-linux" ]; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + }; + }; + }; + + flake.modules.nixos.hcli = + { pkgs, ... }: + { + environment.systemPackages = [ + pkgs.hcli + ]; + }; + + flake.modules.homeManager.hcli = + { pkgs, ... }: + { + home.packages = [ + pkgs.hcli + ]; + }; +} |
