1 { fetchFromGitHub, lib, mkDerivation
5 , qmake, pkg-config, cmake
7 , qtbase, qtsvg, qtwebengine, qttools
15 let cutter = mkDerivation rec {
19 src = fetchFromGitHub {
23 hash = "sha256-88yIqFYIv7o6aC2YSJwWJ46fZJBnOmifv+SirsfS4tw=";
24 fetchSubmodules = true;
27 nativeBuildInputs = [ cmake qmake pkg-config python3 wrapQtAppsHook ];
28 propagatedBuildInputs = [ python3.pkgs.pyside2 ];
29 buildInputs = [ graphviz qtbase qttools qtsvg qtwebengine rizin python3 ];
32 "-DCUTTER_USE_BUNDLED_RIZIN=OFF"
33 "-DCUTTER_ENABLE_PYTHON=ON"
34 "-DCUTTER_ENABLE_PYTHON_BINDINGS=ON"
35 "-DCUTTER_ENABLE_GRAPHVIZ=ON"
39 qtWrapperArgs+=(--prefix PYTHONPATH : "$PYTHONPATH")
43 plugins = rizin.plugins // {
44 rz-ghidra = rizin.plugins.rz-ghidra.override {
45 inherit cutter qtbase qtsvg;
46 enableCutterPlugin = true;
49 withPlugins = filter: pkgs.callPackage ./wrapper.nix {
52 plugins = filter plugins;
57 description = "Free and Open Source Reverse Engineering Platform powered by rizin";
58 homepage = src.meta.homepage;
59 license = licenses.gpl3;
60 mainProgram = "cutter";
61 maintainers = with maintainers; [ mic92 dtzWill ];