parent
77ca695ff9
commit
ca9ca6eec9
@ -1,63 +0,0 @@ |
||||
{ fetchFromGitHub, lib, mkDerivation |
||||
# nativeBuildInputs |
||||
, qmake, pkg-config |
||||
# Qt |
||||
, qtbase, qtsvg, qtwebengine |
||||
# buildInputs |
||||
, r2-for-cutter |
||||
, python3 |
||||
, wrapQtAppsHook }: |
||||
|
||||
mkDerivation rec { |
||||
pname = "radare2-cutter"; |
||||
version = "1.12.0"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "radareorg"; |
||||
repo = "cutter"; |
||||
rev = "v${version}"; |
||||
sha256 = "0ljj3j3apbbw628n2nyrxpbnclixx20bqjxm0xwggqzz9vywsar0"; |
||||
}; |
||||
|
||||
postUnpack = "export sourceRoot=$sourceRoot/src"; |
||||
|
||||
# Remove this "very helpful" helper file intended for discovering r2, |
||||
# as it's a doozy of harddcoded paths and unexpected behavior. |
||||
# Happily Nix has everything all set so we don't need it, |
||||
# other than as basis for the qmakeFlags set below. |
||||
postPatch = '' |
||||
substituteInPlace Cutter.pro \ |
||||
--replace "include(lib_radare2.pri)" "" |
||||
''; |
||||
|
||||
nativeBuildInputs = [ qmake pkg-config python3 wrapQtAppsHook ]; |
||||
propagatedBuildInputs = [ python3.pkgs.pyside2 ]; |
||||
buildInputs = [ qtbase qtsvg qtwebengine r2-for-cutter python3 ]; |
||||
|
||||
qmakeFlags = with python3.pkgs; [ |
||||
"CONFIG+=link_pkg-config" |
||||
"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 lib; { |
||||
description = "A Qt and C++ GUI for radare2 reverse engineering framework"; |
||||
homepage = src.meta.homepage; |
||||
license = licenses.gpl3; |
||||
maintainers = with maintainers; [ mic92 dtzWill ]; |
||||
}; |
||||
} |
@ -0,0 +1,46 @@ |
||||
{ fetchFromGitHub, lib, mkDerivation |
||||
# nativeBuildInputs |
||||
, qmake, pkg-config, cmake |
||||
# Qt |
||||
, qtbase, qtsvg, qtwebengine, qttools |
||||
# buildInputs |
||||
, rizin |
||||
, python3 |
||||
, wrapQtAppsHook |
||||
}: |
||||
|
||||
mkDerivation rec { |
||||
pname = "cutter"; |
||||
version = "2.0.0"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "rizinorg"; |
||||
repo = "cutter"; |
||||
rev = "v${version}"; |
||||
sha256 = "sha256-uIN/NR+swu9Ie0wP2aBhw5WBvTe9NDmzSs+lQMCeavc="; |
||||
fetchSubmodules = true; |
||||
}; |
||||
|
||||
nativeBuildInputs = [ cmake qmake pkg-config python3 wrapQtAppsHook ]; |
||||
propagatedBuildInputs = [ python3.pkgs.pyside2 ]; |
||||
buildInputs = [ qtbase qttools qtsvg qtwebengine rizin python3 ]; |
||||
|
||||
cmakeFlags = [ |
||||
"-DCUTTER_USE_BUNDLED_RIZIN=OFF" |
||||
"-DCUTTER_ENABLE_PYTHON=ON" |
||||
"-DCUTTER_ENABLE_PYTHON_BINDINGS=ON" |
||||
]; |
||||
|
||||
preBuild = '' |
||||
qtWrapperArgs+=(--prefix PYTHONPATH : "$PYTHONPATH") |
||||
''; |
||||
|
||||
enableParallelBuilding = true; |
||||
|
||||
meta = with lib; { |
||||
description = "Free and Open Source Reverse Engineering Platform powered by rizin"; |
||||
homepage = src.meta.homepage; |
||||
license = licenses.gpl3; |
||||
maintainers = with maintainers; [ mic92 dtzWill ]; |
||||
}; |
||||
} |
@ -0,0 +1,71 @@ |
||||
{ lib |
||||
, stdenv |
||||
, fetchurl |
||||
, pkg-config |
||||
, libusb-compat-0_1 |
||||
, readline |
||||
, libewf |
||||
, perl |
||||
, zlib |
||||
, openssl |
||||
, libuv |
||||
, file |
||||
, libzip |
||||
, lz4 |
||||
, xxHash |
||||
, meson |
||||
, cmake |
||||
, ninja |
||||
, capstone |
||||
, tree-sitter |
||||
}: |
||||
|
||||
stdenv.mkDerivation rec { |
||||
pname = "rizin"; |
||||
version = "0.1.2"; |
||||
|
||||
src = fetchurl { |
||||
url = "https://github.com/rizinorg/rizin/releases/download/v${version}/rizin-src-${version}.tar.xz"; |
||||
sha256 = "sha256-npUp8wJiKAaQKSigXtndhJLTJ4+pyFqa0FwDLBqR/sE="; |
||||
}; |
||||
|
||||
mesonFlags = [ |
||||
"-Duse_sys_capstone=true" |
||||
"-Duse_sys_magic=true" |
||||
"-Duse_sys_libzip=true" |
||||
"-Duse_sys_zlib=true" |
||||
"-Duse_sys_xxhash=true" |
||||
"-Duse_sys_lz4=true" |
||||
"-Duse_sys_openssl=true" |
||||
"-Duse_sys_tree_sitter=true" |
||||
]; |
||||
|
||||
enableParallelBuilding = true; |
||||
|
||||
nativeBuildInputs = [ pkg-config meson ninja cmake ]; |
||||
|
||||
buildInputs = [ |
||||
file |
||||
libzip |
||||
capstone |
||||
readline |
||||
libusb-compat-0_1 |
||||
libewf |
||||
perl |
||||
zlib |
||||
lz4 |
||||
openssl |
||||
libuv |
||||
tree-sitter |
||||
xxHash |
||||
]; |
||||
|
||||
meta = { |
||||
description = "UNIX-like reverse engineering framework and command-line toolset."; |
||||
homepage = "https://rizin.re/"; |
||||
license = lib.licenses.gpl3Plus; |
||||
maintainers = with lib.maintainers; [ raskin makefu mic92 ]; |
||||
platforms = with lib.platforms; linux; |
||||
inherit version; |
||||
}; |
||||
} |
Loading…
Reference in new issue