24 buildPythonPackage rec {
27 format = "setuptools";
29 disabled = pythonOlder "3.7";
31 src = fetchFromGitHub {
32 owner = "trailofbits";
35 hash = "sha256-+17VBfAtkZZIi3SF5Num1Uqg3WjIpgbz3Jx65rD5zkM=";
38 propagatedBuildInputs = [
49 ] ++ lib.optionals (stdenv.isLinux) [
56 # Python API is not used in the code, only z3 from PATH
57 substituteInPlace setup.py \
58 --replace "z3-solver" "" \
59 --replace "crytic-compile==0.2.2" "crytic-compile>=0.2.2"
67 export PATH=${yices}/bin:${z3}/bin:$PATH
71 "tests/ethereum" # Enable when solc works again
72 "tests/ethereum_bench"
73 ] ++ lib.optionals (!stdenv.isLinux) [
75 "tests/other/test_locking.py"
76 "tests/other/test_state_introspection.py"
85 "testmprotectFailSymbReading"
86 "test_ConstraintsForking"
89 "test_symbolic_syscall_arg"
92 "test_register_comparison"
93 "test_arguments_assertions_armv7"
94 "test_integration_basic_stdout"
95 "test_fclose_linux_amd64"
96 "test_fileio_linux_amd64"
97 "test_arguments_assertions_amd64"
100 "test_brk_regression"
102 "test_logger_verbosity"
103 "test_profiling_data"
104 "test_integration_basic_stdin"
107 "test_ld1_mlt_structs"
109 "test_try_to_allocate_greater_than_last_space_memory_page_12"
110 "test_not_enough_memory_page_12"
111 "test_PCMPISTRI_30_symbolic"
112 "test_ld1_mlt_structs"
117 # Tests are failing with latest unicorn
118 "Aarch64UnicornInstructions"
119 "test_integration_resume"
122 pythonImportsCheck = [
127 # m.c.manticore:WARNING: Manticore is only supported on Linux. Proceed at your own risk!
128 broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin;
129 description = "Symbolic execution tool for analysis of smart contracts and binaries";
130 homepage = "https://github.com/trailofbits/manticore";
131 changelog = "https://github.com/trailofbits/manticore/releases/tag/${version}";
132 license = licenses.agpl3Only;
133 platforms = platforms.unix;
134 maintainers = with maintainers; [ arturcygan ];