[Subversion] / PEAK / setup.py  

Diff of /PEAK/setup.py

Parent Directory | Revision Log

version 1637, Sun Jan 25 02:50:18 2004 UTC version 2590, Sat Nov 1 03:09:58 2008 UTC
Line 1 
Line 1 
 #!/usr/bin/env python  #!/usr/bin/env python
 """Distutils setup file"""  """Distutils setup file"""
   
 execfile('src/setup/prologue.py')  import sys, os, ez_setup
   ez_setup.use_setuptools()
   
 include_tests      = True   # edit this to stop installation of test modules  from setuptools import setup, Extension, Feature, find_packages
 include_metamodels = True   # edit this to stop installation of MOF, UML, etc.  
 include_fcgiapp    = True   # edit this to stop installation of 'fcgiapp'  
   
 # Metadata  # Metadata
 PACKAGE_NAME = "PEAK"  PACKAGE_NAME = "PEAK"
 PACKAGE_VERSION = "0.5a3"  PACKAGE_VERSION = "0.5a4"
 HAPPYDOC_IGNORE = [  HAPPYDOC_IGNORE = [
     '-i','datetime', '-i','old', '-i','tests', '-i','setup', '-i','examples',      '-i','old', '-i','tests', '-i','setup', '-i','examples',
     '-i', 'kjbuckets', '-i', 'ZConfig', '-i', 'persistence', '-i', 'csv',  
 ]  ]
   
 # Base packages for installation  
 scripts = ['scripts/peak']  packages = find_packages('src')
 packages = [  
     'peak', 'peak.api', 'peak.binding', 'peak.config', 'peak.model',  
     'peak.naming', 'peak.naming.factories', 'peak.net', 'peak.running',  
     'peak.tools', 'peak.tools.n2', 'peak.security', 'peak.tools.supervisor',  
     'peak.storage', 'peak.util', 'peak.web', 'peak.ddt', 'protocols',  
     'peak.tools.version', 'peak.query', 'peak.events',  
 ]  
   
 extensions = [  extensions = [
     Extension("kjbuckets", ["src/kjbuckets/kjbucketsmodule.c"]),      Extension("peak.util.pyexpat", [
           "src/peak/util/pyexpat.c",
           "src/expat/xmlparse.c", "src/expat/xmltok.c", #"src/expat/xmltok_ns.c",
           "src/expat/xmlrole.c",], #"src/expat/xmltok_impl.c"],
           include_dirs=["src/expat"],
           define_macros=[('XML_STATIC',1),('HAVE_MEMMOVE',1)]   # XXX
       ),
     Extension(      Extension(
         "peak.binding._once", [          "peak.binding._once", [
             "src/peak/binding/_once" + EXT,              "src/peak/binding/_once.pyx", "src/peak/binding/getdict.c"
             "src/peak/binding/getdict.c"  
         ]          ]
     ),      ),
     Extension("peak.util.buffer_gap", ["src/peak/util/buffer_gap" + EXT]),      Extension("peak.util.buffer_gap", ["src/peak/util/buffer_gap.pyx"]),
     Extension("peak.util._Code", ["src/peak/util/_Code" + EXT]),      Extension("peak.util._Code", ["src/peak/util/_Code.pyx"]),
     Extension("protocols._speedups", ["src/protocols/_speedups" + EXT]),      Extension(
           "peak.persistence._persistence", ["src/peak/persistence/persistence.c"]
       ),
 ]  ]
   
   
 # Base data files  
   
 data_files = [  
     ('peak',     ['src/peak/peak.ini']),  
     ('peak/web', ['src/peak/web/resource_defaults.ini']),  
     ('ZConfig/doc', ['src/ZConfig/doc/schema.dtd']),  
 ] + findDataFiles('src/peak/running', 1, '*.xml', '*.ini')  
   
   
 if include_tests:  
     packages += [  
         'peak.tests', 'peak.binding.tests', 'peak.config.tests',  
         'peak.model.tests', 'peak.naming.tests', 'peak.running.tests',  
         'peak.security.tests', 'peak.web.tests', 'peak.query.tests',  
         'peak.storage.tests', 'peak.util.tests', 'protocols.tests',  
         'peak.events.tests', 'peak.ddt.tests',  
     ]  
     data_files += [  
         ('peak/running/tests', ['src/peak/running/tests/test_cluster.txt']),  
         ('peak/config/tests',  ['src/peak/config/tests/test_links.ini']),  
     ] + findDataFiles('src/peak/web/tests', 1, '*.pwt')  
   
   have_uuidgen = False
   
 if include_metamodels:  if os.name=='posix' and hasattr(os, 'uname'):
   
     packages += [  
         'peak.metamodels',  
         'peak.metamodels.UML13', 'peak.metamodels.UML14',  
         'peak.metamodels.UML13.model', 'peak.metamodels.UML14.model',  
         'peak.metamodels.UML13.model.Foundation',  
         'peak.metamodels.UML13.model.Behavioral_Elements',  
     ]  
   
     if include_tests:      un = os.uname()
   
         packages += [ 'peak.metamodels.tests' ]      if un[0] == 'FreeBSD' and int(un[2].split('.')[0]) >= 5:
           have_uuidgen = True
   
         data_files += findDataFiles(      elif un[0] == 'NetBSD' and int(un[2].split('.')[0]) >= 2:
             'src/peak/metamodels/tests', 1, '*.xml', '*.asdl'          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:  try:
     # Check if Zope X3 is installed; we use zope.component              if len(un[2]) > 4:
     # because we don't install it ourselves; if we used something we                  if ord(un[2][4]) >= ord('I'):
     # install, we'd get a false positive if PEAK was previously installed.                      if os.path.exists('/lib/libc.so.12'):
     import zope.component                          l = os.listdir('/lib')
     zope_installed = True                          l = [x for x in l if x.startswith('libc.so.12.')]
                           l = [int(x.split('.')[-1]) for x in l]
 except ImportError:                          l.sort(); l.reverse()
     zope_installed = False                          if l[0] >= 111:
                               have_uuidgen = True
           except:
               pass
   
   
 if not zope_installed:  
   
     packages += [  
         'persistence', 'ZConfig',  
     ]  
   
     extensions += [  
         Extension("persistence._persistence", ["src/persistence/persistence.c"])  
     ]  
   
     if include_tests:  
         packages += [  
             'persistence.tests', 'ZConfig.tests',  
         ]  
   
         data_files += findDataFiles(  
             'src/ZConfig/tests', 1, '*.xml', '*.txt', '*.conf'  
         )  
   
   
   
Line 118 
Line 80 
   
   
   
   execfile('src/setup/common.py')
   
   features = {
       'tests': Feature(
 import sys          "test modules", standard = True,
           remove = [p for p in packages if p.endswith('.tests')]
 if sys.version_info < (2,3):      ),
     # Install datetime and csv if we're not on 2.3      'metamodels': Feature(
           "MOF/UML metamodels", standard = True, remove=['peak.metamodels']
     packages += ['datetime','csv']      ),
     if include_tests:      'uuidgen': Feature(
         packages += ['datetime.tests']          "UUID generation via BSD system libraries",
           available = have_uuidgen, standard = have_uuidgen,
     extensions += [          optional = have_uuidgen,
         Extension('_csv', ['src/_csv.c'])          ext_modules = [
               Extension("peak.util._uuidgen", ["src/peak/util/_uuidgen.c"]),
     ]      ]
       ),
       'pyexpat-plus': Feature(
           "Backport pyexpat features from Python 2.4",
           standard=sys.version_info < (2,4), optional = False,
           remove = ["peak.util.pyexpat"]
       ),
   }
   
 import os  ALL_EXTS = [
       '*.ini', '*.html', '*.conf', '*.xml', '*.pwt', '*.dtd', '*.txt',
 if os.name=='posix':  
   
     # install 'fcgiapp' module on posix systems  
     if include_fcgiapp:  
         extensions += [  
             Extension("fcgiapp", [  
                 "src/fcgiapp/fcgiappmodule.c", "src/fcgiapp/fcgiapp.c"  
             ])  
         ]          ]
   
   
Line 158 
Line 121 
   
   
   
   
   
   
   
 execfile('src/setup/common.py')  
   
 setup(  setup(
     name=PACKAGE_NAME,      name=PACKAGE_NAME,
     version=PACKAGE_VERSION,      version=PACKAGE_VERSION,
   
     description="The Python Enterprise Application Kit",      description="The Python Enterprise Application Kit",
     author="Phillip J. Eby",      author="Phillip J. Eby",
     author_email="transwarp@eby-sarna.com",      author_email="peak@eby-sarna.com",
     url="http://peak.telecommunity.com/",      url="http://peak.telecommunity.com/",
       download_url="http://peak.telecommunity.com/snapshots/",
     license="PSF or ZPL",      license="PSF or ZPL",
     platforms=['UNIX','Windows'],      platforms=['UNIX','Windows'],
   
     package_dir = {'':'src'},      package_dir = {'':'src'},
     packages    = packages,      packages    = packages,
     cmdclass = SETUP_COMMANDS,      cmdclass = SETUP_COMMANDS,
     data_files = data_files,  
     ext_modules = extensions,  
     scripts = scripts,  
 )  
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
       install_requires = [
           'RuleDispatch >= 0.5a0dev-r2287', 'PyProtocols  >= 1.0a0dev-r2287',
           'Importing    >= 1.9',            'SymbolType   >= 1.0',
           'wsgiref      >= 0.0.1dev',       'ZConfig      >  2.0',
           'DecoratorTools>=1.6',            'CLI-Tools    >= 0.5dev',
       ],
   
       extras_require = {
           'FastCGI': ['fcgiapp >= 1.4'],
       },
   
       package_data = {
           '': ALL_EXTS,
           'peak.metamodels': ['*.asdl']
       },
   
       features = features,
       test_suite = 'peak.tests.test_suite',
       ext_modules = extensions,
   
       entry_points = {
           "console_scripts":["peak = peak.running.commands:__main__"]
       },
       zip_safe=sys.version>='2.3.5',
   
   
       long_description = """\
   PEAK is an application kit, and applications are made from components.
   PEAK provides you with a component architecture, component infrastructure,
   and various general-purpose components and component frameworks for
   building applications.  As with J2EE, the idea is to let you stop
   reinventing architectural and infrastructure wheels, so you can put more
   time into your actual application.
   
   Development version: svn://svn.eby-sarna.com/svnroot/PEAK#egg=PEAK-dev
   """,
   
       keywords = "Enterprise,SQL,LDAP,UML,XMI,JNDI,persistence,AOP,FastCGI,MOF,event-driven,twisted,web",
   
       classifiers = """
       Development Status :: 3 - Alpha
       Development Status :: 4 - Beta
       Environment :: Console
       Environment :: No Input/Output (Daemon)
       Environment :: Web Environment
       Environment :: Win32 (MS Windows)
       Intended Audience :: Developers
       License :: OSI Approved :: BSD License
       License :: OSI Approved :: Python Software Foundation License
       License :: OSI Approved :: Zope Public License
       Natural Language :: English
       Operating System :: Microsoft :: Windows
       Operating System :: POSIX
       Programming Language :: C
       Programming Language :: Python
       Topic :: Database :: Front-Ends
       Topic :: Internet :: WWW/HTTP :: Dynamic Content :: CGI Tools/Libraries
       Topic :: Office/Business
       Topic :: Software Development :: Code Generators
       Topic :: Software Development :: Libraries :: Application Frameworks
       Topic :: Software Development :: Libraries :: Python Modules
       Topic :: System :: Systems Administration :: Authentication/Directory :: LDAP
       Topic :: Text Processing :: Markup :: XML""".strip().splitlines(),
   
       dependency_links = ['http://peak.telecommunity.com/snapshots/']
   )
   


Generate output suitable for use with a patch program
Legend:
Removed from v.1637  
changed lines
  Added in v.2590

cvs-admin@eby-sarna.com

Powered by ViewCVS 1.0-dev

ViewCVS and CVS Help