[Zope-CVS] SVN: Sandbox/chrism/zodb/3.6.0/ Eggify.
Chris McDonough
chrism at plope.com
Thu Mar 2 23:14:27 EST 2006
Log message for revision 65766:
Eggify.
Changed:
A Sandbox/chrism/zodb/3.6.0/persistent/setup.py
A Sandbox/chrism/zodb/3.6.0/setup.py
-=-
Added: Sandbox/chrism/zodb/3.6.0/persistent/setup.py
===================================================================
--- Sandbox/chrism/zodb/3.6.0/persistent/setup.py 2006-03-03 04:13:32 UTC (rev 65765)
+++ Sandbox/chrism/zodb/3.6.0/persistent/setup.py 2006-03-03 04:14:26 UTC (rev 65766)
@@ -0,0 +1,90 @@
+##############################################################################
+#
+# Copyright (c) 2006 Zope Corporation 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.
+#
+##############################################################################
+"""Zope Object Database: object database and persistence
+
+The Zope Object Database provides an object-oriented database for
+Python that provides a high-degree of transparency. Applications can
+take advantage of object database features with few, if any, changes
+to application logic. ZODB includes features such as a plugable storage
+interface, rich transaction support, and undo.
+
+This distribution includes the persistent module from ZODB.
+"""
+
+# The (non-obvious!) choices for the Trove Development Status line:
+# Development Status :: 5 - Production/Stable
+# Development Status :: 4 - Beta
+# Development Status :: 3 - Alpha
+
+import os
+from setuptools import setup, Extension
+
+classifiers = """\
+Development Status :: 3 - Alpha
+Intended Audience :: Developers
+License :: OSI Approved :: Zope Public License
+Programming Language :: Python
+Topic :: Database
+Topic :: Software Development :: Libraries :: Python Modules
+Operating System :: Microsoft :: Windows
+Operating System :: Unix
+"""
+
+cPersistence = Extension(name = 'persistent.cPersistence',
+ include_dirs = ['src'],
+ sources= ['src/cPersistence.c',
+ 'src/ring.c'],
+ depends = ['src/cPersistence.h',
+ 'src/ring.h',
+ 'src/ring.c']
+ )
+
+cPickleCache = Extension(name = 'persistent.cPickleCache',
+ include_dirs = ['src'],
+ sources= ['src/cPickleCache.c',
+ 'src/ring.c'],
+ depends = ['src/cPersistence.h',
+ 'src/ring.h',
+ 'src/ring.c']
+ )
+
+TimeStamp = Extension(name = 'persistent.TimeStamp',
+ include_dirs = ['src'],
+ sources= ['src/TimeStamp.c']
+ )
+
+setup(name='persistent',
+ version='3.6.0',
+ url='http://svn.zope.org/ZODB',
+ download_url = "http://www.zope.org/Products/ZODB3.6",
+ license='ZPL 2.1',
+ description='ZODB persistence implementation',
+ author='Zope Corporation and Contributors',
+ maintainer='Zope Corporation and Contributors',
+ author_email='zodb-dev at zope.org',
+ maintainer_email='zodb-dev at zope.org',
+ headers = ['src/cPersistence.h'],
+ platforms = ['any'],
+ classifiers = filter(None, classifiers.split("\n")),
+ long_description = __doc__,
+ packages=['persistent', 'persistent.tests'],
+ package_dir = {'persistent': 'src'},
+ ext_modules=[cPersistence, cPickleCache, TimeStamp],
+ tests_require = [],
+ install_requires=[],
+ include_package_data = True,
+ zip_safe = True,
+ )
+
+
Property changes on: Sandbox/chrism/zodb/3.6.0/persistent/setup.py
___________________________________________________________________
Name: svn:eol-style
+ native
Added: Sandbox/chrism/zodb/3.6.0/setup.py
===================================================================
--- Sandbox/chrism/zodb/3.6.0/setup.py 2006-03-03 04:13:32 UTC (rev 65765)
+++ Sandbox/chrism/zodb/3.6.0/setup.py 2006-03-03 04:14:26 UTC (rev 65766)
@@ -0,0 +1,284 @@
+##############################################################################
+#
+# Copyright (c) 2002, 2003 Zope Corporation 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.
+#
+##############################################################################
+"""Zope Object Database: object database and persistence
+
+The Zope Object Database provides an object-oriented database for
+Python that provides a high-degree of transparency. Applications can
+take advantage of object database features with few, if any, changes
+to application logic. ZODB includes features such as a plugable storage
+interface, rich transaction support, and undo.
+"""
+
+# The (non-obvious!) choices for the Trove Development Status line:
+# Development Status :: 5 - Production/Stable
+# Development Status :: 4 - Beta
+# Development Status :: 3 - Alpha
+
+classifiers = """\
+Development Status :: 3 - Alpha
+Intended Audience :: Developers
+License :: OSI Approved :: Zope Public License
+Programming Language :: Python
+Topic :: Database
+Topic :: Software Development :: Libraries :: Python Modules
+Operating System :: Microsoft :: Windows
+Operating System :: Unix
+"""
+
+import glob
+import os
+import sys
+from distutils.core import setup
+from distutils.extension import Extension
+from distutils import dir_util
+from distutils.core import setup
+from distutils.dist import Distribution
+from distutils.command.install_lib import install_lib
+from distutils.command.build_py import build_py
+from distutils.util import convert_path
+
+if sys.version_info < (2, 3, 4):
+ print "ZODB 3.3 requires Python 2.3.4 or higher"
+ sys.exit(0)
+
+# Include directories for C extensions
+include = ['src']
+
+# Set up dependencies for the BTrees package
+base_btrees_depends = [
+ "src/BTrees/BTreeItemsTemplate.c",
+ "src/BTrees/BTreeModuleTemplate.c",
+ "src/BTrees/BTreeTemplate.c",
+ "src/BTrees/BucketTemplate.c",
+ "src/BTrees/MergeTemplate.c",
+ "src/BTrees/SetOpTemplate.c",
+ "src/BTrees/SetTemplate.c",
+ "src/BTrees/TreeSetTemplate.c",
+ "src/BTrees/sorters.c",
+ "src/persistent/cPersistence.h",
+ ]
+
+_flavors = {"O": "object", "I": "int", "F": "float"}
+
+KEY_H = "src/BTrees/%skeymacros.h"
+VALUE_H = "src/BTrees/%svaluemacros.h"
+
+def BTreeExtension(flavor):
+ key = flavor[0]
+ value = flavor[1]
+ name = "BTrees._%sBTree" % flavor
+ sources = ["src/BTrees/_%sBTree.c" % flavor]
+ kwargs = {"include_dirs": include}
+ if flavor != "fs":
+ kwargs["depends"] = (base_btrees_depends + [KEY_H % _flavors[key],
+ VALUE_H % _flavors[value]])
+ if key != "O":
+ kwargs["define_macros"] = [('EXCLUDE_INTSET_SUPPORT', None)]
+ return Extension(name, sources, **kwargs)
+
+exts = [BTreeExtension(flavor)
+ for flavor in ("OO", "IO", "OI", "II", "IF", "fs")]
+
+cPersistence = Extension(name = 'persistent.cPersistence',
+ include_dirs = include,
+ sources= ['src/persistent/cPersistence.c',
+ 'src/persistent/ring.c'],
+ depends = ['src/persistent/cPersistence.h',
+ 'src/persistent/ring.h',
+ 'src/persistent/ring.c']
+ )
+
+cPickleCache = Extension(name = 'persistent.cPickleCache',
+ include_dirs = include,
+ sources= ['src/persistent/cPickleCache.c',
+ 'src/persistent/ring.c'],
+ depends = ['src/persistent/cPersistence.h',
+ 'src/persistent/ring.h',
+ 'src/persistent/ring.c']
+ )
+
+TimeStamp = Extension(name = 'persistent.TimeStamp',
+ include_dirs = include,
+ sources= ['src/persistent/TimeStamp.c']
+ )
+
+##coptimizations = Extension(name = 'ZODB.coptimizations',
+## include_dirs = include,
+## sources= ['src/ZODB/coptimizations.c']
+## )
+
+winlock = Extension(name = 'ZODB.winlock',
+ include_dirs = include,
+ sources = ['src/ZODB/winlock.c']
+ )
+
+cZopeInterface = Extension(
+ name = 'zope.interface._zope_interface_coptimizations',
+ sources= ['src/zope/interface/_zope_interface_coptimizations.c']
+ )
+
+cZopeProxy = Extension(
+ name = 'zope.proxy._zope_proxy_proxy',
+ sources= ['src/zope/proxy/_zope_proxy_proxy.c']
+ )
+
+exts += [cPersistence,
+ cPickleCache,
+ TimeStamp,
+ winlock,
+ cZopeInterface,
+ cZopeProxy,
+ ]
+
+# The ZODB.zodb4 code is not being packaged, because it is only
+# need to convert early versions of Zope3 databases to ZODB3.
+
+packages = ["BTrees", "BTrees.tests",
+ "ZEO", "ZEO.auth", "ZEO.zrpc", "ZEO.tests",
+ "ZODB", "ZODB.FileStorage", "ZODB.tests",
+ "Persistence", "Persistence.tests",
+ "persistent", "persistent.tests",
+ "transaction", "transaction.tests",
+ "ThreadedAsync",
+ "zdaemon", "zdaemon.tests",
+
+ "zope",
+ "zope.interface", "zope.interface.tests",
+ "zope.interface.common", "zope.interface.common.tests",
+ "zope.proxy", "zope.proxy.tests",
+ "zope.testing",
+
+ "ZopeUndo", "ZopeUndo.tests",
+ "ZConfig", "ZConfig.tests",
+ "ZConfig.components",
+ "ZConfig.components.basic", "ZConfig.components.basic.tests",
+ "ZConfig.components.logger", "ZConfig.components.logger.tests",
+ "ZConfig.tests.library", "ZConfig.tests.library.widget",
+ "ZConfig.tests.library.thing",
+ ]
+
+scripts = ["src/scripts/fsdump.py",
+ "src/scripts/fsoids.py",
+ "src/scripts/fsrefs.py",
+ "src/scripts/fstail.py",
+ "src/scripts/fstest.py",
+ "src/scripts/repozo.py",
+ "src/scripts/zeopack.py",
+ "src/ZConfig/scripts/zconfig",
+ "src/ZEO/runzeo.py",
+ "src/ZEO/zeopasswd.py",
+ "src/ZEO/mkzeoinst.py",
+ "src/ZEO/zeoctl.py",
+ "src/zdaemon/zdrun.py",
+ "src/zdaemon/zdctl.py",
+ ]
+
+def copy_other_files(cmd, outputbase):
+ # A delicate dance to copy files with certain extensions
+ # into a package just like .py files.
+ extensions = ["*.conf", "*.xml", "*.txt", "*.sh"]
+ directories = [
+ "transaction",
+ "persistent/tests",
+ "ZConfig/components/basic",
+ "ZConfig/components/logger",
+ "ZConfig/tests/input",
+ "ZConfig/tests/library",
+ "ZConfig/tests/library/thing",
+ "ZConfig/tests/library/thing/extras",
+ "ZConfig/tests/library/widget",
+ "ZEO",
+ "ZODB",
+ "ZODB/tests",
+ "zdaemon",
+ "zdaemon/tests",
+ "zope/interface", "zope/interface/tests",
+ "zope/testing",
+ ]
+ # zope.testing's testrunner-ex is not a package, but contains
+ # packages, in a fairly elaborate subtree. Major special-casing
+ # for this. First find all the (non-SVN) directories starting
+ # there, and append them all to `directories`.
+ for root, dirs, files in os.walk("src/zope/testing/testrunner-ex"):
+ dirs[:] = [d for d in dirs if ".svn" not in d]
+ assert root.startswith("src/")
+ normpath = root[4:].replace("\\", "/")
+ directories.append(normpath)
+ for dir in directories:
+ exts = extensions
+ if dir.startswith("zope/testing/testrunner-ex"):
+ # testrunner-ex isn't a package, so not even the .py files
+ # get copied unless we force that there.
+ exts = extensions + ["*.py"]
+ dir = convert_path(dir)
+ inputdir = os.path.join("src", dir)
+ outputdir = os.path.join(outputbase, dir)
+ if not os.path.exists(outputdir):
+ dir_util.mkpath(outputdir)
+ for pattern in exts:
+ for fn in glob.glob(os.path.join(inputdir, pattern)):
+ # glob is going to give us a path including "src",
+ # which must be stripped to get the destination dir
+ dest = os.path.join(outputbase, fn[4:])
+ cmd.copy_file(fn, dest)
+
+class MyLibInstaller(install_lib):
+ """Custom library installer, used to put hosttab in the right place."""
+
+ # We use the install_lib command since we need to put hosttab
+ # inside the library directory. This is where we already have the
+ # real information about where to install it after the library
+ # location has been set by any relevant distutils command line
+ # options.
+
+ def run(self):
+ install_lib.run(self)
+ copy_other_files(self, self.install_dir)
+
+class MyPyBuilder(build_py):
+ def build_packages(self):
+ build_py.build_packages(self)
+ copy_other_files(self, self.build_lib)
+
+class MyDistribution(Distribution):
+ # To control the selection of MyLibInstaller and MyPyBuilder, we
+ # have to set it into the cmdclass instance variable, set in
+ # Distribution.__init__().
+
+ def __init__(self, *attrs):
+ Distribution.__init__(self, *attrs)
+ self.cmdclass['build_py'] = MyPyBuilder
+ self.cmdclass['install_lib'] = MyLibInstaller
+
+doclines = __doc__.split("\n")
+
+setup(name="ZODB3",
+ version="3.5.0a6",
+ maintainer="Zope Corporation",
+ maintainer_email="zodb-dev at zope.org",
+ url = "http://www.zope.org/Wikis/ZODB",
+ download_url = "http://www.zope.org/Products/ZODB3.5",
+ packages = packages,
+ package_dir = {'': 'src'},
+ ext_modules = exts,
+ headers = ['src/persistent/cPersistence.h',
+ 'src/persistent/ring.h'],
+ license = "ZPL 2.1",
+ platforms = ["any"],
+ description = doclines[0],
+ classifiers = filter(None, classifiers.split("\n")),
+ long_description = "\n".join(doclines[2:]),
+ distclass = MyDistribution,
+ scripts = scripts,
+ )
Property changes on: Sandbox/chrism/zodb/3.6.0/setup.py
___________________________________________________________________
Name: svn:eol-style
+ native
More information about the Zope-CVS
mailing list