about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJörg Thalheim <Mic92@users.noreply.github.com>2020-11-19 11:14:56 +0100
committerGitHub <noreply@github.com>2020-11-19 11:14:56 +0100
commit589d025f73e1559a53e6cb9626ea9a8f9697c7c7 (patch)
treea7a6eeb5e96b386af6e8c8dd3a7b874ab8ddb731
parenta610ed10e0b04ca3961cc41bcefbac5dd4c580c5 (diff)
parentf9716740ce434d758e2c2a717ff7464670bed87d (diff)
Merge pull request #101571 from Pamplemousse/cutter
-rw-r--r--pkgs/development/tools/analysis/radare2/cutter.nix22
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 17 insertions, 7 deletions
diff --git a/pkgs/development/tools/analysis/radare2/cutter.nix b/pkgs/development/tools/analysis/radare2/cutter.nix
index 1cef52a34443b..d4a102ac097b2 100644
--- a/pkgs/development/tools/analysis/radare2/cutter.nix
+++ b/pkgs/development/tools/analysis/radare2/cutter.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub
+{ fetchFromGitHub, lib, mkDerivation
 # nativeBuildInputs
 , qmake, pkgconfig
 # Qt
@@ -8,7 +8,7 @@
 , python3
 , wrapQtAppsHook }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "radare2-cutter";
   version = "1.12.0";
 
@@ -30,21 +30,31 @@ stdenv.mkDerivation rec {
       --replace "include(lib_radare2.pri)" ""
   '';
 
-  nativeBuildInputs = [ qmake pkgconfig ];
-  buildInputs = [ qtbase qtsvg qtwebengine r2-for-cutter python3 wrapQtAppsHook ];
+  nativeBuildInputs = [ qmake pkgconfig python3 wrapQtAppsHook ];
+  propagatedBuildInputs = [ python3.pkgs.pyside2 ];
+  buildInputs = [ qtbase qtsvg qtwebengine r2-for-cutter python3 ];
 
-  qmakeFlags = [
+  qmakeFlags = with python3.pkgs; [
     "CONFIG+=link_pkgconfig"
     "PKGCONFIG+=r_core"
     # Leaving this enabled doesn't break build but generates errors
     # at runtime (to console) about being unable to load needed bits.
     # Disable until can be looked at.
     "CUTTER_ENABLE_JUPYTER=false"
+    # Enable support for Python plugins
+    "CUTTER_ENABLE_PYTHON=true"
+    "CUTTER_ENABLE_PYTHON_BINDINGS=true"
+    "SHIBOKEN_EXTRA_OPTIONS+=-I${r2-for-cutter}/include/libr"
   ];
 
+  preBuild = ''
+    export NIX_LDFLAGS="$NIX_LDFLAGS $(pkg-config --libs python3-embed)"
+    qtWrapperArgs+=(--prefix PYTHONPATH : "$PYTHONPATH")
+  '';
+
   enableParallelBuilding = true;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A Qt and C++ GUI for radare2 reverse engineering framework";
     homepage = src.meta.homepage;
     license = licenses.gpl3;
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 0fc1b9d97a5df..35bef78609d0f 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -11739,7 +11739,7 @@ julia_15 = callPackage ../development/compilers/julia/1.5.nix {
     lua = lua5;
   } // (config.radare or {}))) radare2 r2-for-cutter;
 
-  radare2-cutter = libsForQt514.callPackage ../development/tools/analysis/radare2/cutter.nix { };
+  radare2-cutter = libsForQt515.callPackage ../development/tools/analysis/radare2/cutter.nix { };
 
   ragel = ragelStable;