-
Notifications
You must be signed in to change notification settings - Fork 478
/
Copy pathsetup.py
69 lines (61 loc) · 1.64 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
import os
from setuptools import setup, find_packages
on_rtd = os.environ.get('READTHEDOCS') == 'True'
def rtd_dependent_deps():
# RTD tries to build z3, ooms, and fails to build.
if on_rtd:
return []
else:
return ['z3-solver']
# If you update native_deps please update the `REQUIREMENTS_TO_IMPORTS` dict in `utils/install_helper.py`
# (we need to know how to import a given native dependency so we can check if native dependencies are installed)
native_deps = [
'capstone>=3.0.5',
'pyelftools',
'unicorn',
]
extra_require = {
'native': native_deps,
'dev': native_deps + [
'keystone-engine',
'coverage',
'nose',
'Sphinx',
],
# noks - no keystone
'dev-noks': native_deps + [
'coverage',
'nose',
'Sphinx',
],
'redis': [
'redis',
]
}
setup(
name='manticore',
description='Manticore is a symbolic execution tool for analysis of binaries and smart contracts.',
url='https://github.com/trailofbits/manticore',
author='Trail of Bits',
version='0.2.4',
packages=find_packages(exclude=['tests', 'tests.*']),
python_requires='>=3.6',
install_requires=[
'pyyaml',
# evm dependencies
'pysha3',
'prettytable',
'pyevmasm==0.2.0',
'rlp',
'ply'
] + rtd_dependent_deps(),
dependency_links=[
'https://github.com/aquynh/capstone/archive/next.zip#egg=capstone-4&subdirectory=bindings/python',
],
extras_require=extra_require,
entry_points={
'console_scripts': [
'manticore = manticore.__main__:main'
]
}
)