at 23.05-pre 1.9 kB view raw
1{ lib 2, stdenv 3, ailment 4, archinfo 5, buildPythonPackage 6, cachetools 7, capstone 8, cffi 9, claripy 10, cle 11, cppheaderparser 12, dpkt 13, fetchFromGitHub 14, GitPython 15, itanium-demangler 16, mulpyplexer 17, nampa 18, networkx 19, progressbar2 20, protobuf 21, psutil 22, pycparser 23, pythonOlder 24, pyvex 25, sympy 26, sqlalchemy 27, rpyc 28, sortedcontainers 29, unicorn 30}: 31 32let 33 # Only the pinned release in setup.py works properly 34 unicorn' = unicorn.overridePythonAttrs (old: rec { 35 pname = "unicorn"; 36 version = "1.0.2-rc4"; 37 src = fetchFromGitHub { 38 owner = "unicorn-engine"; 39 repo = pname; 40 rev = version; 41 sha256 = "17nyccgk7hpc4hab24yn57f1xnmr7kq4px98zbp2bkwcrxny8gwy"; 42 }; 43 doCheck = false; 44 }); 45in 46 47buildPythonPackage rec { 48 pname = "angr"; 49 version = "9.2.25"; 50 format = "pyproject"; 51 52 disabled = pythonOlder "3.8"; 53 54 src = fetchFromGitHub { 55 owner = pname; 56 repo = pname; 57 rev = "v${version}"; 58 hash = "sha256-BxhCQZl/hsqaKzjieAreiOePUcmWGNn63jD0mZ9vFNE="; 59 }; 60 61 propagatedBuildInputs = [ 62 ailment 63 archinfo 64 cachetools 65 capstone 66 cffi 67 claripy 68 cle 69 cppheaderparser 70 dpkt 71 GitPython 72 itanium-demangler 73 mulpyplexer 74 nampa 75 networkx 76 progressbar2 77 protobuf 78 psutil 79 pycparser 80 pyvex 81 rpyc 82 sortedcontainers 83 sqlalchemy 84 sympy 85 unicorn' 86 ]; 87 88 setupPyBuildFlags = lib.optionals stdenv.isLinux [ 89 "--plat-name" 90 "linux" 91 ]; 92 93 # Tests have additional requirements, e.g., pypcode and angr binaries 94 # cle is executing the tests with the angr binaries 95 doCheck = false; 96 97 pythonImportsCheck = [ 98 "angr" 99 "claripy" 100 "cle" 101 "pyvex" 102 "archinfo" 103 ]; 104 105 meta = with lib; { 106 description = "Powerful and user-friendly binary analysis platform"; 107 homepage = "https://angr.io/"; 108 license = with licenses; [ bsd2 ]; 109 maintainers = with maintainers; [ fab ]; 110 }; 111}