at master 1.9 kB view raw
1{ 2 lib, 3 stdenv, 4 ailment, 5 archinfo, 6 buildPythonPackage, 7 cachetools, 8 capstone, 9 cffi, 10 claripy, 11 cle, 12 cppheaderparser, 13 cxxheaderparser, 14 dpkt, 15 fetchFromGitHub, 16 gitpython, 17 itanium-demangler, 18 mulpyplexer, 19 nampa, 20 networkx, 21 progressbar2, 22 protobuf, 23 psutil, 24 pycparser, 25 pyformlang, 26 pydemumble, 27 pythonOlder, 28 pyvex, 29 rich, 30 rpyc, 31 setuptools, 32 sortedcontainers, 33 sqlalchemy, 34 sympy, 35 unicorn-angr, 36 unique-log-filter, 37}: 38 39buildPythonPackage rec { 40 pname = "angr"; 41 version = "9.2.154"; 42 pyproject = true; 43 44 disabled = pythonOlder "3.11"; 45 46 src = fetchFromGitHub { 47 owner = "angr"; 48 repo = "angr"; 49 tag = "v${version}"; 50 hash = "sha256-aOgZXHk6GTWZAEraZQahEXUYs8LWAWv1n9GfX+2XTPU="; 51 }; 52 53 pythonRelaxDeps = [ "capstone" ]; 54 55 build-system = [ setuptools ]; 56 57 dependencies = [ 58 ailment 59 archinfo 60 cachetools 61 capstone 62 cffi 63 claripy 64 cle 65 cppheaderparser 66 cxxheaderparser 67 dpkt 68 gitpython 69 itanium-demangler 70 mulpyplexer 71 nampa 72 networkx 73 progressbar2 74 protobuf 75 psutil 76 pycparser 77 pyformlang 78 pydemumble 79 pyvex 80 rich 81 rpyc 82 sortedcontainers 83 sympy 84 unique-log-filter 85 ]; 86 87 optional-dependencies = { 88 angrdb = [ sqlalchemy ]; 89 unicorn = [ unicorn-angr ]; 90 }; 91 92 setupPyBuildFlags = lib.optionals stdenv.hostPlatform.isLinux [ 93 "--plat-name" 94 "linux" 95 ]; 96 97 # Tests have additional requirements, e.g., pypcode and angr binaries 98 # cle is executing the tests with the angr binaries 99 doCheck = false; 100 101 pythonImportsCheck = [ 102 "angr" 103 "claripy" 104 "cle" 105 "pyvex" 106 "archinfo" 107 ]; 108 109 meta = with lib; { 110 description = "Powerful and user-friendly binary analysis platform"; 111 homepage = "https://angr.io/"; 112 license = licenses.bsd2; 113 maintainers = with maintainers; [ fab ]; 114 }; 115}