-
Notifications
You must be signed in to change notification settings - Fork 20
/
setup.py
88 lines (82 loc) · 2.96 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
##############################################################################
#
# Copyright (c) 2010 Zope Foundation and Contributors.
# All Rights Reserved.
#
# This software is subject to the provisions of the Zope Public License,
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
from os.path import join
import platform
import sys
from setuptools import setup, find_packages, Extension
README = open('README.rst').read()
CHANGES = open('CHANGES.rst').read()
# PyPy won't build the extension
py_impl = getattr(platform, 'python_implementation', lambda: None)
is_pypy = py_impl() == 'PyPy'
py3k = sys.version_info >= (3, )
if is_pypy or py3k:
ext_modules = []
else:
ext_modules = [
Extension(
name='AccessControl.cAccessControl',
include_dirs=['include', 'src'],
sources=[join('src', 'AccessControl', 'cAccessControl.c')],
depends=[join('include', 'ExtensionClass', 'ExtensionClass.h'),
join('include', 'ExtensionClass', '_compat.h'),
join('include', 'Acquisition', 'Acquisition.h')]),
]
__version__ = '4.0a4'
setup(name='AccessControl',
version=__version__,
url='http://pypi.python.org/pypi/AccessControl',
license='ZPL 2.1',
description="Security framework for Zope2.",
author='Zope Foundation and Contributors',
author_email='zope-dev@zope.org',
long_description=README + '\n\n' + CHANGES,
packages=find_packages('src'),
package_dir={'': 'src'},
classifiers=[
"Development Status :: 6 - Mature",
"Environment :: Web Environment",
"Framework :: Zope2",
"License :: OSI Approved :: Zope Public License",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 2 :: Only",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: Implementation :: CPython",
],
ext_modules=ext_modules,
install_requires=[
'Acquisition',
'AuthEncoding',
'BTrees',
'DateTime', # optional dependency of RestrictedPython
'ExtensionClass>=4.2.1',
'Persistence>=3.0a3',
'Record',
'RestrictedPython',
'six',
'transaction',
'zExceptions',
'zope.component',
'zope.configuration',
'zope.deferredimport',
'zope.interface',
'zope.publisher',
'zope.schema',
'zope.security',
'zope.testing',
],
include_package_data=True,
zip_safe=False,
)