Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at 19.09 51 lines 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.4.1"; 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 = "02r2xrnanzp7iskqbq8flzhc4d56hlzyf3qwqp3azys838y0kcyy"; 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 r2.quit() 42 EOF 43 ''; 44 45 meta = with stdenv.lib; { 46 description = "Interact with radare2"; 47 homepage = https://github.com/radare/radare2-r2pipe; 48 license = licenses.mit; 49 maintainers = with maintainers; [ timokau ]; 50 }; 51}