diff --git a/pkgs/development/python-modules/capstone/default.nix b/pkgs/development/python-modules/capstone/default.nix index af6b9031e66e..6ab2ed91fe52 100644 --- a/pkgs/development/python-modules/capstone/default.nix +++ b/pkgs/development/python-modules/capstone/default.nix @@ -1,7 +1,7 @@ -{ stdenv -, lib +{ lib , buildPythonPackage , capstone +, stdenv , fetchpatch , fetchPypi , setuptools @@ -33,5 +33,7 @@ buildPythonPackage rec { license = licenses.bsdOriginal; description = "Python bindings for Capstone disassembly engine"; maintainers = with maintainers; [ bennofs ris ]; + # creates a manylinux2014-x86_64 wheel + broken = stdenv.isAarch64; }; } diff --git a/pkgs/development/python-modules/python-registry/default.nix b/pkgs/development/python-modules/python-registry/default.nix new file mode 100644 index 000000000000..44795da8ddf7 --- /dev/null +++ b/pkgs/development/python-modules/python-registry/default.nix @@ -0,0 +1,34 @@ +{ lib +, buildPythonPackage +, fetchPypi +, enum-compat +, unicodecsv +}: +buildPythonPackage rec { + pname = "python-registry"; + version = "1.3.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "99185f67d5601be3e7843e55902d5769aea1740869b0882f34ff1bd4b43b1eb2"; + }; + + propagatedBuildInputs = [ + enum-compat + unicodecsv + ]; + + # no tests + doCheck = false; + + pythonImportsCheck = [ + "Registry" + ]; + + meta = with lib; { + description = "Pure Python parser for Windows Registry hives"; + homepage = "https://github.com/williballenthin/python-registry"; + license = licenses.asl20; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/development/python-modules/qiling/default.nix b/pkgs/development/python-modules/qiling/default.nix new file mode 100644 index 000000000000..9513280f3cfa --- /dev/null +++ b/pkgs/development/python-modules/qiling/default.nix @@ -0,0 +1,45 @@ +{ lib +, buildPythonPackage +, fetchPypi +, capstone +, unicorn +, pefile +, python-registry +, keystone-engine +, pyelftools +, gevent +}: +buildPythonPackage rec { + pname = "qiling"; + version = "1.2.3"; + + src = fetchPypi { + inherit pname version; + sha256 = "e3ed09f9e080559e73e2a9199649b934b3594f653079d1e7da4992340c19eb64"; + }; + + propagatedBuildInputs = [ + capstone + unicorn + pefile + python-registry + keystone-engine + pyelftools + gevent + ]; + + # Tests are broken (attempt to import a file that tells you not to import it, + # amongst other things) + doCheck = false; + + pythonImportsCheck = [ + "qiling" + ]; + + meta = with lib; { + description = "Qiling Advanced Binary Emulation Framework"; + homepage = "https://qiling.io/"; + license = licenses.gpl2Only; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a613634630fc..0a09346ac79d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6952,6 +6952,8 @@ in { python-redis-lock = callPackage ../development/python-modules/python-redis-lock { }; + python-registry = callPackage ../development/python-modules/python-registry { }; + python-rtmidi = callPackage ../development/python-modules/python-rtmidi { }; python-sat = callPackage ../development/python-modules/python-sat { }; @@ -7199,6 +7201,8 @@ in { qds_sdk = callPackage ../development/python-modules/qds_sdk { }; + qiling = callPackage ../development/python-modules/qiling { }; + qimage2ndarray = callPackage ../development/python-modules/qimage2ndarray { }; qiskit-aer = callPackage ../development/python-modules/qiskit-aer { };