-
Notifications
You must be signed in to change notification settings - Fork 20
/
setup.py
66 lines (59 loc) · 1.98 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
#!/usr/bin/env python3
# -*- mode: python; -*-
#
# Copyright 2015 Canonical, Ltd.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This package is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
"""
probert
=========
Hardware probing tool
"""
from setuptools import setup, find_packages, Extension
import os
import subprocess
import sys
import probert
if sys.argv[-1] == 'clean':
print("Cleaning up ...")
os.system('rm -rf probert.egg-info build dist')
sys.exit()
def pkgconfig(package):
return {
'extra_compile_args': subprocess.check_output(['pkg-config', '--cflags', package]).decode('utf8').split(),
'extra_link_args': subprocess.check_output(['pkg-config', '--libs', package]).decode('utf8').split(),
}
setup(name='probert',
version=probert.__version__,
description="Hardware probing tool",
long_description=__doc__,
author='Canonical Engineering',
author_email='[email protected]',
url='https://github.com/canonical/probert',
license="GPLv3",
scripts=['bin/probert'],
ext_modules=[
Extension(
"probert._rtnetlink",
['probert/_rtnetlinkmodule.c'],
**pkgconfig("libnl-route-3.0")),
Extension(
"probert._nl80211",
['probert/_nl80211module.c'],
**pkgconfig("libnl-genl-3.0")),
],
packages=find_packages(),
install_requires=['jsonschema', 'pyudev'],
include_package_data=True,
)