Index: setup.py =================================================================== --- setup.py (revision 14803) +++ setup.py (working copy) @@ -1,50 +1,74 @@ #!/usr/bin/python # -*- test-case-name: "nevow.test -xformless.test" -*- -import os.path -from distutils.core import setup -import glob -import sys -import setupcommon +try: + import setuptools +except ImportError: + # No setuptools -- then we do the following setup script: + import os.path + from distutils.core import setup + import glob + import sys + import setupcommon -# Where should our data files go? -# They want to go in our package directory , which is under site-packages. -# We determine the location of site-packages here, for later use. It will be -# interpreted as relative to sys.prefix. -# This junk can go once we decide to drop Python 2.3 support or switch to -# setuptools. package_data is a much cleaner solution. -if sys.platform.lower().startswith('win'): - site_packages = 'Lib/site-packages/' -else: - version = '.'.join([str(i) for i in sys.version_info[:2]]) - site_packages = 'lib/python' + version + '/site-packages/' + # Where should our data files go? + # They want to go in our package directory , which is under site-packages. + # We determine the location of site-packages here, for later use. It will be + # interpreted as relative to sys.prefix. + # This junk can go once we decide to drop Python 2.3 support or switch to + # setuptools. package_data is a much cleaner solution. + if sys.platform.lower().startswith('win'): + site_packages = 'Lib/site-packages/' + else: + version = '.'.join([str(i) for i in sys.version_info[:2]]) + site_packages = 'lib/python' + version + '/site-packages/' -# Turn the package_data into a data_files for 2.3 compatability -data_files = [] -for pkg, patterns in setupcommon.package_data.items(): - pkgdir = os.path.join(*pkg.split('.')) - for pattern in patterns: - globdir = os.path.dirname(pattern) - files = glob.glob(os.path.join(pkgdir, pattern)) - data_files.append((os.path.join(site_packages,pkgdir,globdir),files)) + # Turn the package_data into a data_files for 2.3 compatability + data_files = [] + for pkg, patterns in setupcommon.package_data.items(): + pkgdir = os.path.join(*pkg.split('.')) + for pattern in patterns: + globdir = os.path.dirname(pattern) + files = glob.glob(os.path.join(pkgdir, pattern)) + data_files.append((os.path.join(site_packages,pkgdir,globdir),files)) -# We need to list the packages explicitly. -packages = [ - 'formless', 'formless.test', 'nevow', 'nevow.flat', - 'nevow.scripts', 'nevow.test', 'nevow.taglibrary', - 'nevow.plugins', 'nevow.livetrial', 'twisted.plugins'] + # We need to list the packages explicitly. + packages = [ + 'formless', 'formless.test', 'nevow', 'nevow.flat', + 'nevow.scripts', 'nevow.test', 'nevow.taglibrary', + 'nevow.plugins', 'nevow.livetrial', 'twisted.plugins'] -setup( - name=setupcommon.name, - version=setupcommon.version, - maintainer=setupcommon.maintainer, - maintainer_email=setupcommon.maintainer_email, - description=setupcommon.description, - url=setupcommon.url, - license=setupcommon.license, - platforms=setupcommon.platforms, - classifiers=setupcommon.classifiers, - packages=packages, - scripts=setupcommon.scripts, - data_files=data_files, - ) + setup( + name=setupcommon.name, + version=setupcommon.version, + maintainer=setupcommon.maintainer, + maintainer_email=setupcommon.maintainer_email, + description=setupcommon.description, + url=setupcommon.url, + license=setupcommon.license, + platforms=setupcommon.platforms, + classifiers=setupcommon.classifiers, + packages=packages, + scripts=setupcommon.scripts, + data_files=data_files, + ) +else: + # Importing setuptools worked -- then we do the following setup script: + from setuptools import setup, find_packages + import setupcommon + + setup( + name=setupcommon.name, + version=setupcommon.version, + maintainer=setupcommon.maintainer, + maintainer_email=setupcommon.maintainer_email, + description=setupcommon.description, + url=setupcommon.url, + license=setupcommon.license, + platforms=setupcommon.platforms, + classifiers=setupcommon.classifiers, + packages=find_packages(), + scripts=setupcommon.scripts, + package_data=setupcommon.package_data, + zip_safe = True, + ) Index: setup.cfg =================================================================== --- setup.cfg (revision 14803) +++ setup.cfg (working copy) @@ -1,3 +1,5 @@ [aliases] dev = egg_info --tag-svn-revision +[easy_install] +zip_ok=False