about summary refs log tree commit diff
path: root/pkgs/development/tools/analysis/radare2/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools/analysis/radare2/default.nix')
-rw-r--r--pkgs/development/tools/analysis/radare2/default.nix41
1 files changed, 30 insertions, 11 deletions
diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix
index 5ddb03d318f9..bc5f41bf86ec 100644
--- a/pkgs/development/tools/analysis/radare2/default.nix
+++ b/pkgs/development/tools/analysis/radare2/default.nix
@@ -1,4 +1,6 @@
-{stdenv, fetchFromGitHub, pkgconfig, libusb, readline, libewf, perl, zlib, openssl
+{stdenv, fetchFromGitHub
+, ninja, meson , pkgconfig
+, libusb, readline, libewf, perl, zlib, openssl
 , gtk2 ? null, vte ? null, gtkdialog ? null
 , python ? null
 , ruby ? null
@@ -10,40 +12,57 @@ assert useX11 -> (gtk2 != null && vte != null && gtkdialog != null);
 assert rubyBindings -> ruby != null;
 assert pythonBindings -> python != null;
 
+
 let
   inherit (stdenv.lib) optional;
+  #<generated>
+  # DO NOT EDIT! Automatically generated by ./update.py
+  version_commit = "18177";
+  gittap = "2.6.0";
+  gittip = "83ef480221ec29d82c16003c61d0dc86b8851d38";
+  version = "2.6.0";
+  sha256 = "18jhb9w8c1m09383d2xm2qp0rc240psjygbbs222hzpx32hald5s";
+  cs_tip = "37569a6874c8547b349a80823adda9284499fe80";
+  cs_sha256 = "0v31367g4jn4baswl62y0rvvm2nf57y91n3731xqblvi6qxj8qkv";
+  #</generated>
 in
 stdenv.mkDerivation rec {
-  version = "2.5.0";
   name = "radare2-${version}";
 
   src = fetchFromGitHub {
     owner = "radare";
     repo = "radare2";
     rev = version;
-    sha256 = "07x94chkhpn3wgw4pypn35psxq370j6xwmhf1mh5z27cqkq7c2yd";
+    inherit sha256;
   };
 
-  # do not try to update capstone
-  WITHOUT_PULL=1;
-
   postPatch = let
-    cs_tip = "4a1b580d069c82d60070d0869a87000db7cdabe2"; # version from $sourceRoot/shlr/Makefile
     capstone = fetchFromGitHub {
       owner = "aquynh";
       repo = "capstone";
+      # version from $sourceRoot/shlr/Makefile
       rev = cs_tip;
-      sha256 = "0v6rxfpxjq0hf40qn1n5m5wsv1dv6p1j8vm94a708lhvcbk9nkv8";
+      sha256 = cs_sha256;
     };
   in ''
     if ! grep -F "CS_TIP=${cs_tip}" shlr/Makefile; then echo "CS_TIP mismatch"; exit 1; fi
-    cp -r ${capstone} shlr/capstone
-    chmod -R u+rw shlr/capstone
+    ln -s ${capstone} shlr/capstone
   '';
 
+  postInstall = ''
+    ln -s $out/bin/radare2 $out/bin/r2
+    install -D -m755 $src/binr/r2pm/r2pm $out/bin/r2pm
+  '';
+
+  mesonFlags = [
+    "-Dr2_version_commit=${version_commit}"
+    "-Dr2_gittap=${gittap}"
+    "-Dr2_gittip=${gittip}"
+  ];
+
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig ninja meson ];
   buildInputs = [ readline libusb libewf perl zlib openssl]
     ++ optional useX11 [gtkdialog vte gtk2]
     ++ optional rubyBindings [ruby]