nixpkgs/pkgs/development/python-modules/qiling/default.nix

56 lines
1.0 KiB
Nix
Raw Normal View History

2021-04-19 23:25:58 +00:00
{ lib
, buildPythonPackage
, capstone
2021-11-09 23:06:20 +00:00
, fetchFromGitHub
, fetchPypi
, gevent
2021-04-19 23:25:58 +00:00
, keystone-engine
2021-11-09 23:06:20 +00:00
, multiprocess
, pefile
2021-04-19 23:25:58 +00:00
, pyelftools
2021-11-09 23:06:20 +00:00
, python-registry
, unicorn
2021-04-19 23:25:58 +00:00
}:
2021-11-09 23:06:20 +00:00
2021-04-19 23:25:58 +00:00
buildPythonPackage rec {
pname = "qiling";
2021-11-09 23:06:20 +00:00
version = "1.4.0";
format = "setuptools";
2021-04-19 23:25:58 +00:00
src = fetchPypi {
inherit pname version;
2021-11-09 23:06:20 +00:00
sha256 = "sha256-xUoNHMyGN0G2itVcKLsk+7QKxZdguzyh6OZCqCHNB4Y=";
2021-04-19 23:25:58 +00:00
};
propagatedBuildInputs = [
capstone
2021-11-09 23:06:20 +00:00
gevent
2021-04-19 23:25:58 +00:00
keystone-engine
2021-11-09 23:06:20 +00:00
multiprocess
pefile
2021-04-19 23:25:58 +00:00
pyelftools
2021-11-09 23:06:20 +00:00
python-registry
unicorn
2021-04-19 23:25:58 +00:00
];
2021-11-09 23:06:20 +00:00
postPatch = ''
substituteInPlace setup.py \
--replace "pefile==2021.5.24" "pefile>=2021.5.24"
'';
2021-04-19 23:25:58 +00:00
# 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;
};
}