@@ -1,38 +1,46 @@
11{ lib
22, buildPythonPackage
3−, fetchFromGitHub
43, capstone
54, crytic-compile
5+, fetchFromGitHub
6+, intervaltree
67, ply
78, prettytable
9+, protobuf
810, pyelftools
911, pyevmasm
1012, pysha3
13+, pytestCheckHook
14+, pythonOlder
1115, pyyaml
1216, rlp
1317, stdenv
1418, unicorn
1519, wasm
1620, yices
17−, pytestCheckHook
1821, z3
1922}:
2023
2124buildPythonPackage rec {
2225 pname = "manticore";
23− version = "0.3.5";
26+ version = "0.3.6";
27+ format = "setuptools";
28+
29+ disabled = pythonOlder "3.7";
2430
2531 src = fetchFromGitHub {
2632 owner = "trailofbits";
2733 repo = "manticore";
2834 rev = version;
29− sha256 = "0z2nhfcraa5dx6srbrw8s11awh2la0x7d88yw9in8g548nv6qa69";
35+ sha256 = "sha256-L112YwrBcdcLBeBsPLWt3C57u2WDvGLq50EzW9ojdyg=";
3036 };
3137
3238 propagatedBuildInputs = [
3339 crytic-compile
40+ intervaltree
3441 ply
3542 prettytable
43+ protobuf
3644 pyevmasm
3745 pysha3
3846 pyyaml
@@ -49,22 +57,29 @@ buildPythonPackage rec {
4957 sed -ie s/z3-solver// setup.py
5058 '';
5159
52− checkInputs = [ pytestCheckHook ];
53− preCheck = "export PATH=${yices}/bin:${z3}/bin:$PATH";
54− pytestFlagsArray = [
55− "--ignore=tests/ethereum" # TODO: enable when solc works again
56− "--ignore=tests/ethereum_bench"
60+ checkInputs = [
61+ pytestCheckHook
62+ ];
63+
64+ preCheck = ''
65+ export PATH=${yices}/bin:${z3}/bin:$PATH
66+ '';
67+
68+ disabledTestPaths = [
69+ "tests/ethereum" # Enable when solc works again
70+ "tests/ethereum_bench"
5771 ] ++ lib.optionals (!stdenv.isLinux) [
58− "--ignore=tests/native"
59− "--ignore=tests/other/test_locking.py"
60− "--ignore=tests/other/test_state_introspection.py"
72+ "tests/native"
73+ "tests/other/test_locking.py"
74+ "tests/other/test_state_introspection.py"
6175 ];
76+
6277 disabledTests = [
63− # failing tests
78+ # Failing tests
6479 "test_chmod"
6580 "test_timeout"
6681 "test_wasm_main"
67− # slow tests
82+ # Slow tests
6883 "testmprotectFailSymbReading"
6984 "test_ConstraintsForking"
7085 "test_resume"
@@ -97,6 +112,13 @@ buildPythonPackage rec {
97112 "test_implicit_call"
98113 "test_trace"
99114 "test_plugin"
115+ # Tests are failing with latest unicorn
116+ "Aarch64UnicornInstructions"
117+ "test_integration_resume"
118+ ];
119+
120+ pythonImportsCheck = [
121+ "manticore"
100122 ];
101123
102124 meta = with lib; {