lol
1{ fetchFromGitHub, lib, mkDerivation
2# nativeBuildInputs
3, qmake, pkg-config, cmake
4# Qt
5, qtbase, qtsvg, qtwebengine, qttools
6# buildInputs
7, rizin
8, python3
9, wrapQtAppsHook
10}:
11
12mkDerivation rec {
13 pname = "cutter";
14 version = "2.1.2";
15
16 src = fetchFromGitHub {
17 owner = "rizinorg";
18 repo = "cutter";
19 rev = "v${version}";
20 sha256 = "sha256-rJYnKQYrwj2zSg3dBHOI7zxwXTAO7ImAj0dkbVmUvHU=";
21 fetchSubmodules = true;
22 };
23
24 nativeBuildInputs = [ cmake qmake pkg-config python3 wrapQtAppsHook ];
25 propagatedBuildInputs = [ python3.pkgs.pyside2 ];
26 buildInputs = [ qtbase qttools qtsvg qtwebengine rizin python3 ];
27
28 cmakeFlags = [
29 "-DCUTTER_USE_BUNDLED_RIZIN=OFF"
30 "-DCUTTER_ENABLE_PYTHON=ON"
31 "-DCUTTER_ENABLE_PYTHON_BINDINGS=ON"
32 ];
33
34 preBuild = ''
35 qtWrapperArgs+=(--prefix PYTHONPATH : "$PYTHONPATH")
36 '';
37
38 meta = with lib; {
39 description = "Free and Open Source Reverse Engineering Platform powered by rizin";
40 homepage = src.meta.homepage;
41 license = licenses.gpl3;
42 maintainers = with maintainers; [ mic92 dtzWill ];
43 };
44}