1{
2 lib,
3 angr,
4 buildPythonPackage,
5 cmd2,
6 coreutils,
7 fetchFromGitHub,
8 pygments,
9 pytestCheckHook,
10 pythonOlder,
11 setuptools,
12 stdenv,
13}:
14
15buildPythonPackage rec {
16 pname = "angrcli";
17 version = "1.3.0";
18 pyproject = true;
19
20 disabled = pythonOlder "3.6";
21
22 src = fetchFromGitHub {
23 owner = "fmagin";
24 repo = "angr-cli";
25 tag = "v${version}";
26 hash = "sha256-egu7jlEk8/i36qQMHztGr959sBt9d5crW8mj6+sKaHI=";
27 };
28
29 postPatch = ''
30 substituteInPlace tests/test_derefs.py \
31 --replace-fail "/bin/ls" "${coreutils}/bin/ls"
32 '';
33
34 build-system = [ setuptools ];
35
36 dependencies = [
37 angr
38 cmd2
39 pygments
40 ];
41
42 nativeCheckInputs = [
43 coreutils
44 pytestCheckHook
45 ];
46
47 disabledTests = lib.optionals (!stdenv.hostPlatform.isx86) [
48 # expects the x86 register "rax" to exist
49 "test_cc"
50 "test_loop"
51 "test_max_depth"
52 ];
53
54 pythonImportsCheck = [ "angrcli" ];
55
56 meta = with lib; {
57 description = "Python modules to allow easier interactive use of angr";
58 homepage = "https://github.com/fmagin/angr-cli";
59 license = with licenses; [ mit ];
60 maintainers = with maintainers; [ fab ];
61 };
62}