diff --git a/pkgs/development/tools/analysis/radare2-cutter/default.nix b/pkgs/development/tools/analysis/radare2-cutter/default.nix new file mode 100644 index 000000000000..3cd1d309e15d --- /dev/null +++ b/pkgs/development/tools/analysis/radare2-cutter/default.nix @@ -0,0 +1,48 @@ +{ stdenv, fetchFromGitHub, fetchpatch, qmake, pkgconfig, qtbase, qtsvg, radare2 }: + + +stdenv.mkDerivation rec { + name = "radare2-cutter-${version}"; + version = "1.1"; + + src = fetchFromGitHub { + owner = "radareorg"; + repo = "cutter"; + rev = "v${version}"; + sha256 = "02m5sf45n455hn34y7hrqanj830rc5xhz2ppp1z3mzbz0s515pfl"; + }; + + postUnpack = "export sourceRoot=$sourceRoot/src"; + + patches = [ + # Fixup version number :D + (fetchpatch { + url = "https://github.com/radareorg/cutter/commit/69506b64600df632afdca8b680baa7d946c78644.patch"; + sha256 = "0ks3ixz8bycjcfi26bd0p6z7qaplhq00alw44hsfzpdm4bmr01x0"; + }) + (fetchpatch { + url = "https://github.com/radareorg/cutter/commit/8b52c66f4f0091cd9d97389b32aa519c2c602e2b.patch"; + sha256 = "0wcdn35lx2943pfzm7mkg4sr82pm0qz3yxf74m8fxbd70s3w0gkm"; + }) + + # case-insensitive filtering + (fetchpatch { + url = "https://github.com/radareorg/cutter/commit/0ebd34370bcaed00000168147572bb78106eeab1.patch"; + sha256 = "0sc50jwhncfnd2i5mlyld4dbdzi2ws7nh4yglkhlap9l9h1jxn20"; + }) + ]; + + patchFlags = [ "-p2" ]; + + nativeBuildInputs = [ qmake pkgconfig ]; + buildInputs = [ qtbase qtsvg radare2 ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "A Qt and C++ GUI for radare2 reverse engineering framework"; + homepage = src.meta.homepage; + license = licenses.gpl3; + maintainers = with maintainers; [ dtzWill ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 05368b965227..911c13fbe29b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7928,6 +7928,7 @@ with pkgs; rubyBindings = config.radare.rubyBindings or false; luaBindings = config.radare.luaBindings or false; }; + radare2-cutter = libsForQt5.callPackage ../development/tools/analysis/radare2-cutter { }; ragel = ragelStable;