aboutsummaryrefslogtreecommitdiff
path: root/modules/pkgs/hcli.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/pkgs/hcli.nix')
-rw-r--r--modules/pkgs/hcli.nix69
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
+ ];
+ };
+}