23 let cutter = stdenv.mkDerivation rec {
27 src = fetchFromGitHub {
31 hash = "sha256-TSEi1mXVvvaGo4koo3EnN/veXPUHF747g+gifnl4IDQ=";
32 fetchSubmodules = true;
42 propagatedBuildInputs = [
55 ] ++ lib.optionals stdenv.isLinux [
60 "-DCUTTER_USE_BUNDLED_RIZIN=OFF"
61 "-DCUTTER_ENABLE_PYTHON=ON"
62 "-DCUTTER_ENABLE_PYTHON_BINDINGS=ON"
63 "-DCUTTER_ENABLE_GRAPHVIZ=ON"
68 qtWrapperArgs+=(--prefix PYTHONPATH : "$PYTHONPATH")
72 plugins = rizin.plugins // {
73 rz-ghidra = rizin.plugins.rz-ghidra.override {
74 inherit cutter qtbase qtsvg;
75 enableCutterPlugin = true;
78 withPlugins = filter: pkgs.callPackage ./wrapper.nix {
81 plugins = filter plugins;
86 description = "Free and Open Source Reverse Engineering Platform powered by rizin";
87 homepage = src.meta.homepage;
88 license = licenses.gpl3;
89 mainProgram = "cutter";
90 maintainers = with maintainers; [ mic92 dtzWill ];
91 inherit (rizin.meta) platforms;