-
Notifications
You must be signed in to change notification settings - Fork 26
/
setup.py
142 lines (115 loc) · 4.1 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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
import lnt
import os
from sys import platform as _platform
import sys
from setuptools import setup, find_packages, Extension
if sys.version_info < (3, 6):
raise RuntimeError("Python 3.6 or higher required.")
cflags = []
if _platform == "darwin":
os.environ["CC"] = "xcrun --sdk macosx clang"
os.environ["CXX"] = "xcrun --sdk macosx clang"
cflags += ['-stdlib=libc++', '-mmacosx-version-min=10.7']
# setuptools expects to be invoked from within the directory of setup.py, but
# it is nice to allow:
# python path/to/setup.py install
# to work (for scripts, etc.)
os.chdir(os.path.dirname(os.path.abspath(__file__)))
cPerf = Extension('lnt.testing.profile.cPerf',
sources=['lnt/testing/profile/cPerf.cpp'],
extra_compile_args=['-std=c++11'] + cflags)
if "--server" in sys.argv:
sys.argv.remove("--server")
print("Use pip to install requirements.server.txt for a full server install:")
print("pip install -r ./requirements.server.txt")
sys.exit(1)
setup(
name="LNT",
version=lnt.__version__,
author=lnt.__author__,
author_email=lnt.__email__,
url='https://llvm.org',
license='Apache-2.0 with LLVM exception',
description="LLVM Nightly Test Infrastructure",
keywords='web testing performance development llvm',
long_description="""\
*LNT*
+++++
About
=====
*LNT* is an infrastructure for performance testing. The software itself
consists of two main parts, a web application for accessing and visualizing
performance data, and command line utilities to allow users to generate and
submit test results to the server.
The package was originally written for use in testing LLVM compiler
technologies, but is designed to be usable for the performance testing of any
software.
Documentation
=============
The official *LNT* documentation is available online at:
https://llvm.org/docs/lnt
Source
======
The *LNT* source is available in the llvm-lnt repository:
https://github.com/llvm/llvm-lnt
""",
classifiers=[
'Development Status :: 4 - Beta',
'Environment :: Web Environment',
'Intended Audience :: Developers',
'License :: OSI Approved :: Apache-2.0 with LLVM exception',
'Natural Language :: English',
'Operating System :: OS Independent',
'Programming Language :: Python :: 3',
'Topic :: Software Development :: Quality Assurance',
'Topic :: Software Development :: Testing',
],
zip_safe=False,
# Additional resource extensions we use.
package_data={'lnt.server.ui': ['static/*.ico',
'static/*.js',
'static/*.css',
'static/*.svg',
'static/bootstrap/css/*.css',
'static/bootstrap/js/*.js',
'static/bootstrap/img/*.png',
'static/flot/*.min.js',
'static/plotly/*.min.js',
'static/d3/*.min.js',
'static/jquery/**/*.min.js',
'templates/*.html',
'templates/reporting/*.html',
'templates/reporting/*.txt'],
'lnt.server.db': ['migrations/*.py'],
},
packages=find_packages(),
test_suite='tests.test_all',
entry_points={
'console_scripts': [
'lnt = lnt.lnttool:main',
],
},
install_requires=[
"six",
"aniso8601==1.2.0",
"Flask==0.12.2",
"Flask-RESTful==0.3.4",
"Jinja2==2.11.3",
"MarkupSafe==1.1.1",
"SQLAlchemy==1.2.19",
"Werkzeug==0.15.6",
"itsdangerous==0.24",
"python-gnupg==0.3.7",
"pytz==2016.10",
"WTForms==2.0.2",
"Flask-WTF==0.12",
"typing",
"click==6.7",
"pyyaml==5.1.2",
"requests",
"lit==0.11.1",
"certifi"
],
ext_modules=[cPerf],
python_requires='>=3.6',
)