1{
2 lib,
3 buildPythonPackage,
4 capstone,
5 fetchFromGitHub,
6 fetchPypi,
7 gevent,
8 keystone-engine,
9 multiprocess,
10 pefile,
11 pyelftools,
12 pythonOlder,
13 python-fx,
14 python-registry,
15 pyyaml,
16 questionary,
17 termcolor,
18 unicorn,
19}:
20
21buildPythonPackage rec {
22 pname = "qiling";
23 version = "1.4.6";
24 format = "setuptools";
25
26 disabled = pythonOlder "3.7";
27
28 src = fetchPypi {
29 inherit pname version;
30 hash = "sha256-l3WQBlJic4lXCe5Z1FmoxaqOblE7uAaW2gG/nTn84Kc=";
31 };
32
33 propagatedBuildInputs = [
34 capstone
35 gevent
36 keystone-engine
37 multiprocess
38 pefile
39 pyelftools
40 python-fx
41 python-registry
42 pyyaml
43 termcolor
44 questionary
45 unicorn
46 ];
47
48 # Tests are broken (attempt to import a file that tells you not to import it,
49 # amongst other things)
50 doCheck = false;
51
52 pythonImportsCheck = [ "qiling" ];
53
54 meta = with lib; {
55 description = "Qiling Advanced Binary Emulation Framework";
56 homepage = "https://qiling.io/";
57 changelog = "https://github.com/qilingframework/qiling/releases/tag/${version}";
58 license = licenses.gpl2Only;
59 maintainers = [ ];
60 };
61}