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