From bc0e439506fc3524738a5e7b1aaf55893e0af7a0 Mon Sep 17 00:00:00 2001 From: Azat Bahawi Date: Fri, 11 Nov 2022 00:55:27 +0300 Subject: [PATCH 1/3] radare2: 5.7.2 -> 5.7.8 --- .../tools/analysis/radare2/default.nix | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix index 905e78fd7655..6861ebec52bd 100644 --- a/pkgs/development/tools/analysis/radare2/default.nix +++ b/pkgs/development/tools/analysis/radare2/default.nix @@ -27,30 +27,31 @@ }: let - # FIXME: Compare revision with https://github.com/radareorg/radare2/blob/master/libr/asm/arch/arm/v35arm64/Makefile#L20 + # FIXME: Compare revision with + # https://github.com/radareorg/radare2/blob/master/libr/asm/arch/arm/v35arm64/Makefile#L26-L27 arm64 = fetchFromGitHub { owner = "radareorg"; repo = "vector35-arch-arm64"; - rev = "9ab2b0bedde459dc86e079718333de4a63bbbacb"; - sha256 = "sha256-2KLtjgCqHzBBlo9ImZ8WJ1bsWy/kdJCjCFxlLE+HxoI="; + rev = "c9e7242972837ac11fc94db05fabcb801a8269c9"; + hash = "sha256-HFQj23GlLAyyzMGnPq40XaPv5qPDHdDlQOo0Hprc9Cs="; }; armv7 = fetchFromGitHub { owner = "radareorg"; repo = "vector35-arch-armv7"; rev = "dde39f69ffea19fc37e681874b12cb4707bc4f30"; - sha256 = "sha256-bnWQc0dScM9rhIdzf+iVXvMqYWq/bguEAUQPaZRgdlU="; + hash = "sha256-bnWQc0dScM9rhIdzf+iVXvMqYWq/bguEAUQPaZRgdlU="; }; in stdenv.mkDerivation rec { pname = "radare2"; - version = "5.7.2"; + version = "5.7.8"; src = fetchFromGitHub { owner = "radare"; repo = "radare2"; rev = version; - sha256 = "sha256-TZeW+9buJvCOudHsLTMITFpRUlmNpo71efc3xswJoPw="; + hash = "sha256-+/9SeILuDCUaYwPhhN6z3vQFicd1Bh8N/yicZTybR5o="; }; preBuild = '' @@ -67,9 +68,9 @@ stdenv.mkDerivation rec { done ''; - WITHOUT_PULL = "1"; makeFlags = [ - "GITTAP=${version}" + "WITHOUT_PULL=1" + "R2_GITTAP=${version}" "RANLIB=${stdenv.cc.bintools.bintools}/bin/${stdenv.cc.bintools.targetPrefix}ranlib" "CC=${stdenv.cc.targetPrefix}cc" "HOST_CC=${stdenv.cc.targetPrefix}cc" @@ -110,10 +111,10 @@ stdenv.mkDerivation rec { ]; meta = with lib; { - description = "unix-like reverse engineering framework and commandline tools"; - homepage = "https://radare.org/"; + description = "UNIX-like reverse engineering framework and command-line tools"; + homepage = "https://radare.org"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ raskin makefu mic92 arkivm ]; + maintainers = with maintainers; [ azahi raskin makefu mic92 arkivm ]; platforms = platforms.unix; }; } From 3d16a81bad31940b92b6a5ec6f7290dddfbf320f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 13 Nov 2022 21:31:08 +0100 Subject: [PATCH 2/3] radare2: fix macos build --- .../tools/analysis/radare2/default.nix | 43 ++++++++----------- 1 file changed, 19 insertions(+), 24 deletions(-) diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix index 6861ebec52bd..ef1112a80878 100644 --- a/pkgs/development/tools/analysis/radare2/default.nix +++ b/pkgs/development/tools/analysis/radare2/default.nix @@ -3,6 +3,8 @@ , fetchFromGitHub , buildPackages , pkg-config +, meson +, ninja , libusb-compat-0_1 , readline , libewf @@ -19,10 +21,11 @@ , python3 , ruby , lua +, lz4 , capstone , useX11 ? false , rubyBindings ? false -, pythonBindings ? false +, pythonBindings ? true , luaBindings ? false }: @@ -55,39 +58,30 @@ stdenv.mkDerivation rec { }; preBuild = '' - cp -r ${arm64} libr/asm/arch/arm/v35arm64/arch-arm64 - chmod -R +w libr/asm/arch/arm/v35arm64/arch-arm64 + cp -r ${arm64} ../libr/asm/arch/arm/v35arm64/arch-arm64 + chmod -R +w ../libr/asm/arch/arm/v35arm64/arch-arm64 - cp -r ${armv7} libr/asm/arch/arm/v35arm64/arch-armv7 - chmod -R +w libr/asm/arch/arm/v35arm64/arch-armv7 + cp -r ${armv7} ../libr/asm/arch/arm/v35arm64/arch-armv7 + chmod -R +w ../libr/asm/arch/arm/v35arm64/arch-armv7 ''; postFixup = lib.optionalString stdenv.isDarwin '' - for file in $out/bin/rasm2 $out/bin/ragg2 $out/bin/rabin2 $out/lib/libr_asm.${version}.dylib $out/lib/libr_anal.${version}.dylib; do - install_name_tool -change libcapstone.4.dylib ${capstone}/lib/libcapstone.4.dylib $file - done + install_name_tool -add_rpath $out/lib $out/lib/libr_io.${version}.dylib ''; - makeFlags = [ - "WITHOUT_PULL=1" - "R2_GITTAP=${version}" - "RANLIB=${stdenv.cc.bintools.bintools}/bin/${stdenv.cc.bintools.targetPrefix}ranlib" - "CC=${stdenv.cc.targetPrefix}cc" - "HOST_CC=${stdenv.cc.targetPrefix}cc" - ]; - - configureFlags = [ - "--with-sysmagic" - "--with-syszip" - "--with-sysxxhash" - "--with-syscapstone" - "--with-openssl" + mesonFlags = [ + "-Duse_sys_capstone=true" + "-Duse_sys_magic=true" + "-Duse_sys_zip=true" + "-Duse_sys_xxhash=true" + "-Duse_sys_lz4=true" + "-Dr2_gittap=${version}" ]; enableParallelBuilding = true; depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ pkg-config ]; + nativeBuildInputs = [ pkg-config meson ninja ]; buildInputs = [ capstone file @@ -98,9 +92,10 @@ stdenv.mkDerivation rec { zlib openssl libuv + python3 + lz4 ] ++ lib.optionals useX11 [ gtkdialog vte gtk2 ] ++ lib.optionals rubyBindings [ ruby ] - ++ lib.optionals pythonBindings [ python3 ] ++ lib.optionals luaBindings [ lua ]; propagatedBuildInputs = [ From 62314d2169731828284e23b449f4fd6e635a7619 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 13 Nov 2022 21:36:49 +0100 Subject: [PATCH 3/3] radare2: drop unused useFlag and fix cross compilation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jörg Thalheim --- pkgs/development/tools/analysis/radare2/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix index ef1112a80878..cd03eb0bab80 100644 --- a/pkgs/development/tools/analysis/radare2/default.nix +++ b/pkgs/development/tools/analysis/radare2/default.nix @@ -25,7 +25,6 @@ , capstone , useX11 ? false , rubyBindings ? false -, pythonBindings ? true , luaBindings ? false }: @@ -81,7 +80,9 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ pkg-config meson ninja ]; + strictDeps = true; + + nativeBuildInputs = [ pkg-config meson ninja python3 ]; buildInputs = [ capstone file @@ -92,7 +93,6 @@ stdenv.mkDerivation rec { zlib openssl libuv - python3 lz4 ] ++ lib.optionals useX11 [ gtkdialog vte gtk2 ] ++ lib.optionals rubyBindings [ ruby ]