1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 capstone,
7 pythonOlder,
8}:
9
10buildPythonPackage rec {
11 pname = "ropgadget";
12 version = "7.6";
13 pyproject = true;
14
15 disabled = pythonOlder "3.7";
16
17 src = fetchFromGitHub {
18 owner = "JonathanSalwan";
19 repo = "ROPgadget";
20 tag = "v${version}";
21 hash = "sha256-vh5UYaIOQw+QJ+YT6dMi/YFCpQfY0w6ouuUWmJJMusA=";
22 };
23
24 build-system = [ setuptools ];
25
26 dependencies = [ capstone ];
27
28 # Test suite is working with binaries
29 doCheck = false;
30
31 pythonImportsCheck = [ "ropgadget" ];
32
33 meta = with lib; {
34 description = "Tool to search for gadgets in binaries to facilitate ROP exploitation";
35 mainProgram = "ROPgadget";
36 homepage = "http://shell-storm.org/project/ROPgadget/";
37 license = licenses.bsd3;
38 maintainers = with maintainers; [ bennofs ];
39 };
40}