about summary refs log tree commit diff
path: root/pkgs/development/tools/analysis
diff options
context:
space:
mode:
authorchayleaf <chayleaf-git@pavluk.org>2023-11-21 12:26:15 +0700
committerchayleaf <chayleaf-git@pavluk.org>2023-11-29 06:30:41 +0700
commite0a6355d722e9aebe7b0ba0685b17321564b7d9a (patch)
treef1f58a3f0cab652a314a1bf2db51b8879710b6b6 /pkgs/development/tools/analysis
parent927a9655a267b2b92ece7363efc4f74bf7b2612d (diff)
cutter: fix build; switch from qt5 to qt6
Diffstat (limited to 'pkgs/development/tools/analysis')
-rw-r--r--pkgs/development/tools/analysis/rizin/cutter.nix55
1 files changed, 46 insertions, 9 deletions
diff --git a/pkgs/development/tools/analysis/rizin/cutter.nix b/pkgs/development/tools/analysis/rizin/cutter.nix
index f274bff6cca7a..f20f77eca7a22 100644
--- a/pkgs/development/tools/analysis/rizin/cutter.nix
+++ b/pkgs/development/tools/analysis/rizin/cutter.nix
@@ -1,18 +1,26 @@
-{ fetchFromGitHub, lib, mkDerivation
+{ lib
+, fetchFromGitHub
+, fetchpatch
+, stdenv
 # for passthru.plugins
 , pkgs
 # nativeBuildInputs
-, qmake, pkg-config, cmake
+, cmake
+, pkg-config
+, wrapQtAppsHook
 # Qt
-, qtbase, qtsvg, qtwebengine, qttools
+, qt5compat
+, qtbase
+, qtsvg
+, qttools
+, qtwebengine
 # buildInputs
 , graphviz
-, rizin
 , python3
-, wrapQtAppsHook
+, rizin
 }:
 
-let cutter = mkDerivation rec {
+let cutter = stdenv.mkDerivation rec {
   pname = "cutter";
   version = "2.3.2";
 
@@ -24,15 +32,43 @@ let cutter = mkDerivation rec {
     fetchSubmodules = true;
   };
 
-  nativeBuildInputs = [ cmake qmake pkg-config python3 wrapQtAppsHook ];
-  propagatedBuildInputs = [ python3.pkgs.pyside2 ];
-  buildInputs = [ graphviz qtbase qttools qtsvg qtwebengine rizin python3 ];
+  patches = [
+    # tracking: https://github.com/rizinorg/cutter/pull/3268
+    (fetchpatch {
+      name = "cutter-simplify-python-binding-include-handling.patch";
+      url = "https://github.com/rizinorg/cutter/compare/7256fbb00e92ab12a24d14a92364db482ed295cb..ca5949d9d7c907185cf3d062d9fa71c34c5960d4.diff";
+      hash = "sha256-bqV2FTA8lMNpHBDXdenNx+1cLYa7MH47XKo1YatmLV4=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+    python3
+    wrapQtAppsHook
+  ];
+
+  propagatedBuildInputs = [
+    python3.pkgs.pyside6
+  ];
+
+  buildInputs = [
+    graphviz
+    python3
+    qt5compat
+    qtbase
+    qtsvg
+    qttools
+    qtwebengine
+    rizin
+  ];
 
   cmakeFlags = [
     "-DCUTTER_USE_BUNDLED_RIZIN=OFF"
     "-DCUTTER_ENABLE_PYTHON=ON"
     "-DCUTTER_ENABLE_PYTHON_BINDINGS=ON"
     "-DCUTTER_ENABLE_GRAPHVIZ=ON"
+    "-DCUTTER_QT6=ON"
   ];
 
   preBuild = ''
@@ -59,5 +95,6 @@ let cutter = mkDerivation rec {
     license = licenses.gpl3;
     mainProgram = "cutter";
     maintainers = with maintainers; [ mic92 dtzWill ];
+    inherit (rizin.meta) platforms;
   };
 }; in cutter