biome: 1.9.2 -> 1.9.3 (#349335)
[NixPkgs.git] / pkgs / development / python-modules / r2pipe / default.nix
bloba1de5b4107c39a522f5102021928e3e132bd4ab2
2   stdenv,
3   lib,
4   python,
5   buildPythonPackage,
6   fetchPypi,
7   radare2,
8   coreutils,
9   pythonOlder,
12 buildPythonPackage rec {
13   pname = "r2pipe";
14   version = "1.9.4";
15   format = "setuptools";
17   disabled = pythonOlder "3.7";
19   postPatch =
20     let
21       r2lib = "${lib.getOutput "lib" radare2}/lib";
22       libr_core = "${r2lib}/libr_core${stdenv.hostPlatform.extensions.sharedLibrary}";
23     in
24     ''
25       # Fix find_library, can be removed after
26       # https://github.com/NixOS/nixpkgs/issues/7307 is resolved.
27       substituteInPlace r2pipe/native.py --replace 'find_library("r_core")' "'${libr_core}'"
29       # Fix the default r2 executable
30       substituteInPlace r2pipe/open_sync.py --replace 'r2e = "radare2"' "r2e = '${radare2}/bin/radare2'"
31       substituteInPlace r2pipe/open_base.py --replace 'which("radare2")' "'${radare2}/bin/radare2'"
32     '';
34   src = fetchPypi {
35     inherit pname version;
36     hash = "sha256-Ah3kb+Hk1pMlQ8D1SMPAISbL2n6TDG0Ih9ezmW7oIRk=";
37   };
39   # Tiny sanity check to make sure r2pipe finds radare2 (since r2pipe doesn't
40   # provide its own tests):
41   # Analyze ls with the fastest analysis and do nothing with the result.
42   postCheck = ''
43     ${python.interpreter} <<EOF
44     import r2pipe
45     r2 = r2pipe.open('${coreutils}/bin/ls')
46     r2.cmd('a')
47     EOF
48   '';
50   meta = with lib; {
51     description = "Interact with radare2";
52     homepage = "https://github.com/radare/radare2-r2pipe";
53     license = licenses.mit;
54     maintainers = with maintainers; [ timokau ];
55   };