parent
40568b4910
commit
57542662e9
@ -0,0 +1,77 @@ |
||||
{ lib |
||||
, buildPythonPackage |
||||
, cffi |
||||
, fetchFromGitHub |
||||
, minidump |
||||
, nose |
||||
, pefile |
||||
, pyelftools |
||||
, pytestCheckHook |
||||
, pythonOlder |
||||
, pyvex |
||||
, pyxbe |
||||
, sortedcontainers |
||||
}: |
||||
|
||||
let |
||||
# The binaries are following the argr projects release cycle |
||||
version = "9.0.6281"; |
||||
|
||||
# Binary files from https://github.com/angr/binaries (only used for testing and only here) |
||||
binaries = fetchFromGitHub { |
||||
owner = "angr"; |
||||
repo = "binaries"; |
||||
rev = "v${version}"; |
||||
sha256 = "1qlrxfj1n34xvwkac6mbcc7zmixxbp34fj7lkf0fvp7zcz1rpla1"; |
||||
}; |
||||
|
||||
in |
||||
buildPythonPackage rec { |
||||
pname = "cle"; |
||||
inherit version; |
||||
disabled = pythonOlder "3.6"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "angr"; |
||||
repo = pname; |
||||
rev = "v${version}"; |
||||
sha256 = "0f2zc02dljmgp6ny6ja6917j08kqhwckncan860dq4xv93g61rmg"; |
||||
}; |
||||
|
||||
propagatedBuildInputs = [ |
||||
cffi |
||||
minidump |
||||
pefile |
||||
pyelftools |
||||
pyvex |
||||
pyxbe |
||||
sortedcontainers |
||||
]; |
||||
|
||||
checkInputs = [ |
||||
nose |
||||
pytestCheckHook |
||||
]; |
||||
|
||||
# Place test binaries in the right location (location is hard-coded in the tests) |
||||
preCheck = '' |
||||
export HOME=$TMPDIR |
||||
cp -r ${binaries} $HOME/binaries |
||||
''; |
||||
|
||||
disabledTests = [ |
||||
# PPC tests seems to fails |
||||
"test_ppc_rel24_relocation" |
||||
"test_ppc_addr16_ha_relocation" |
||||
"test_ppc_addr16_lo_relocation" |
||||
]; |
||||
|
||||
pythonImportsCheck = [ "cle" ]; |
||||
|
||||
meta = with lib; { |
||||
description = "Python loader for many binary formats"; |
||||
homepage = "https://github.com/angr/cle"; |
||||
license = with licenses; [ bsd2 ]; |
||||
maintainers = with maintainers; [ fab ]; |
||||
}; |
||||
} |
Loading…
Reference in new issue