View of /PEAK/setup.py
Parent Directory
| Revision Log
Revision:
1755 -
(
download)
(
as text)
Fri Jun 11 04:06:01 2004 UTC (19 years, 10 months ago) by
pje
File size: 4202 byte(s)
The 'persistence' package has been moved to 'peak.persistence' to avoid
conflicts with ZODB3 and the latest version of Zope 3. It will eventually
be phased out, but for now this move is the simplest way to get it out of
the way.
#!/usr/bin/env python
"""Distutils setup file"""
import sys, os
from setuptools import setup, Extension, Feature, find_packages
# Metadata
PACKAGE_NAME = "PEAK"
PACKAGE_VERSION = "0.5a4"
HAPPYDOC_IGNORE = [
'-i','datetime', '-i','old', '-i','tests', '-i','setup', '-i','examples',
'-i', 'kjbuckets', '-i', 'ZConfig', '-i', 'csv',
]
scripts = ['scripts/peak']
packages = find_packages('src')
extensions = [
Extension("kjbuckets", ["src/kjbuckets/kjbucketsmodule.c"]),
Extension(
"peak.binding._once", [
"src/peak/binding/_once.pyx", "src/peak/binding/getdict.c"
]
),
Extension("peak.util.buffer_gap", ["src/peak/util/buffer_gap.pyx"]),
Extension("peak.util._Code", ["src/peak/util/_Code.pyx"]),
Extension("protocols._speedups", ["src/protocols/_speedups.pyx"]),
Extension(
"peak.persistence._persistence", ["src/peak/persistence/persistence.c"]
),
Extension('_csv', ['src/_csv.c']),
]
try:
# Check if Zope X3 is installed; we use zope.component
# because we don't install it ourselves; if we used something we
# install, we'd get a false positive if PEAK was previously installed.
import zope.component
zope_installed = True
except ImportError:
zope_installed = False
have_uuidgen = False
if os.name=='posix' and hasattr(os, 'uname'):
un = os.uname()
if un[0] == 'FreeBSD' and int(un[2].split('.')[0]) >= 5:
have_uuidgen = True
elif un[0] == 'NetBSD' and int(un[2].split('.')[0]) >= 2:
have_uuidgen = True
elif un[0] == 'NetBSD' and un[2].startswith('1.6Z'):
# XXX for development versions before 2.x where uuidgen
# is present -- this should be removed at some point
try:
if len(un[2]) > 4:
if ord(un[2][4]) >= ord('I'):
if os.path.exists('/lib/libc.so.12'):
l = os.listdir('/lib')
l = [x for x in l if x.startswith('libc.so.12.')]
l = [int(x.split('.')[-1]) for x in l]
l.sort(); l.reverse()
if l[0] >= 111:
have_uuidgen = True
except:
pass
execfile('src/setup/common.py')
features = {
'tests': Feature(
"test modules", standard = True,
remove = [p for p in packages if p.endswith('.tests')]
),
'metamodels': Feature(
"MOF/UML metamodels", standard = True, remove=['peak.metamodels']
),
'legacy-support': Feature(
"Python 2.2 support packages",
standard = sys.version_info < (2,3), optional = False,
remove = ['datetime','csv','_csv'],
),
'fcgiapp': Feature(
"FastCGI support", standard = (os.name=='posix'),
ext_modules = [
Extension("fcgiapp", [
"src/fcgiapp/fcgiappmodule.c", "src/fcgiapp/fcgiapp.c"
])
]
),
'ZConfig': Feature(
"ZConfig 2.0", standard = not zope_installed, remove = ['ZConfig']
),
'uuidgen': Feature(
"UUID generation via BSD system libraries",
available = have_uuidgen, standard = have_uuidgen,
optional = have_uuidgen,
ext_modules = [
Extension("peak.util._uuidgen", ["src/peak/util/_uuidgen.c"]),
]
),
}
ALL_EXTS = [
'*.ini', '*.html', '*.conf', '*.xml', '*.pwt', '*.dtd', '*.txt',
]
setup(
name=PACKAGE_NAME,
version=PACKAGE_VERSION,
description="The Python Enterprise Application Kit",
author="Phillip J. Eby",
author_email="transwarp@eby-sarna.com",
url="http://peak.telecommunity.com/",
license="PSF or ZPL",
platforms=['UNIX','Windows'],
package_dir = {'':'src'},
packages = packages,
cmdclass = SETUP_COMMANDS,
package_data = {
'': ALL_EXTS,
'ZConfig': ['doc/schema.dtd'],
'ZConfig.tests': ['input/*.xml', 'input/*.conf'],
'ZConfig.tests.library.thing': ['extras/extras.xml'],
'peak.metamodels': ['*.asdl']
},
features = features,
test_suite = 'peak.tests.test_suite',
ext_modules = extensions,
scripts = scripts,
)