1{ lib
2, angr
3, buildPythonPackage
4, fetchFromGitHub
5, progressbar
6, pythonOlder
7, setuptools
8, tqdm
9}:
10
11buildPythonPackage rec {
12 pname = "angrop";
13 version = "9.2.8";
14 format = "pyproject";
15
16 disabled = pythonOlder "3.6";
17
18 src = fetchFromGitHub {
19 owner = "angr";
20 repo = pname;
21 rev = "refs/tags/v${version}";
22 hash = "sha256-zmWdGbFzwLDP7MUqEprZcIgA7lAdCrafWYohAehJyh0=";
23 };
24
25 nativeBuildInputs = [
26 setuptools
27 ];
28
29 propagatedBuildInputs = [
30 angr
31 progressbar
32 tqdm
33 ];
34
35 # Tests have additional requirements, e.g., angr binaries
36 # cle is executing the tests with the angr binaries already and is a requirement of angr
37 doCheck = false;
38
39 pythonImportsCheck = [
40 "angrop"
41 ];
42
43 meta = with lib; {
44 description = "ROP gadget finder and chain builder";
45 homepage = "https://github.com/angr/angrop";
46 license = with licenses; [ bsd2 ];
47 maintainers = with maintainers; [ fab ];
48 };
49}