-
Notifications
You must be signed in to change notification settings - Fork 4
/
setup.py
49 lines (39 loc) · 1.45 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
from os import path
from setuptools import setup, Extension, find_packages
here = path.abspath(path.dirname(__file__))
with open(path.join(here, "README.md")) as f:
long_description = f.read()
version_namespace = {}
with open(path.join(here, "cpytraceafl/version.py")) as f:
exec(f.read(), version_namespace)
tracehookmodule = Extension(
"cpytraceafl._tracehook",
sources=["cpytraceafl/_tracehookmodule.c"],
)
testheadermodule = Extension(
"cpytraceafl._testheader",
sources=["cpytraceafl/_testheadermodule.c"],
)
setup(
name="cpytraceafl",
version=version_namespace["__version__"],
description="CPython bytecode instrumentation and forkserver tools for fuzzing python and mixed python/c code using AFL",
long_description=long_description,
long_description_content_type="text/markdown",
url='https://github.com/risicle/cpytraceafl',
author="Robert Scott",
author_email="code@humanleg.org.uk",
ext_modules=[
tracehookmodule,
# figuring out how to get setuptools to build a c extension as part of the
# *test suite* is more than i'm willing to go through for this so unfortunately
# releases will get the test module too.
testheadermodule,
],
packages=find_packages(),
setup_requires=["pytest-runner"],
install_requires=["sysv_ipc"],
tests_require=["pytest"],
python_requires=">=3.5, <3.9", # not tested with other versions (yet)
license='MIT',
)