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
