at 23.05-pre 1.4 kB view raw
1{ stdenv 2, lib 3, python 4, buildPythonPackage 5, fetchPypi 6, radare2 7, coreutils 8}: 9 10buildPythonPackage rec { 11 pname = "r2pipe"; 12 version = "1.7.3"; 13 14 postPatch = let 15 r2lib = "${lib.getOutput "lib" radare2}/lib"; 16 libr_core = "${r2lib}/libr_core${stdenv.hostPlatform.extensions.sharedLibrary}"; 17 in 18 '' 19 # Fix find_library, can be removed after 20 # https://github.com/NixOS/nixpkgs/issues/7307 is resolved. 21 substituteInPlace r2pipe/native.py --replace 'find_library("r_core")' "'${libr_core}'" 22 23 # Fix the default r2 executable 24 substituteInPlace r2pipe/open_sync.py --replace 'r2e = "radare2"' "r2e = '${radare2}/bin/radare2'" 25 substituteInPlace r2pipe/open_base.py --replace 'which("radare2")' "'${radare2}/bin/radare2'" 26 ''; 27 28 src = fetchPypi { 29 inherit pname version; 30 sha256 = "sha256-zhKV0+467xFpzmSDswIWPEGpks0X/F+ecBWPWpvakik="; 31 }; 32 33 # Tiny sanity check to make sure r2pipe finds radare2 (since r2pipe doesn't 34 # provide its own tests): 35 # Analyze ls with the fastest analysis and do nothing with the result. 36 postCheck = '' 37 ${python.interpreter} <<EOF 38 import r2pipe 39 r2 = r2pipe.open('${coreutils}/bin/ls') 40 r2.cmd('a') 41 EOF 42 ''; 43 44 meta = with lib; { 45 description = "Interact with radare2"; 46 homepage = "https://github.com/radare/radare2-r2pipe"; 47 license = licenses.mit; 48 maintainers = with maintainers; [ timokau ]; 49 }; 50}