| 1 |
Index: setup.py |
|---|
| 2 |
=================================================================== |
|---|
| 3 |
--- setup.py (revision 15040) |
|---|
| 4 |
+++ setup.py (working copy) |
|---|
| 5 |
@@ -1,50 +1,111 @@ |
|---|
| 6 |
-#!/usr/bin/python |
|---|
| 7 |
+#!/usr/bin/env python |
|---|
| 8 |
# -*- test-case-name: "nevow.test -xformless.test" -*- |
|---|
| 9 |
|
|---|
| 10 |
-import os.path |
|---|
| 11 |
-from distutils.core import setup |
|---|
| 12 |
-import glob |
|---|
| 13 |
-import sys |
|---|
| 14 |
-import setupcommon |
|---|
| 15 |
+from nevow import __version__ as version |
|---|
| 16 |
|
|---|
| 17 |
-# Where should our data files go? |
|---|
| 18 |
-# They want to go in our package directory , which is under site-packages. |
|---|
| 19 |
-# We determine the location of site-packages here, for later use. It will be |
|---|
| 20 |
-# interpreted as relative to sys.prefix. |
|---|
| 21 |
-# This junk can go once we decide to drop Python 2.3 support or switch to |
|---|
| 22 |
-# setuptools. package_data is a much cleaner solution. |
|---|
| 23 |
-if sys.platform.lower().startswith('win'): |
|---|
| 24 |
- site_packages = 'Lib/site-packages/' |
|---|
| 25 |
+try: |
|---|
| 26 |
+ import setuptools |
|---|
| 27 |
+except ImportError: |
|---|
| 28 |
+ setuptools = None |
|---|
| 29 |
+ |
|---|
| 30 |
+ |
|---|
| 31 |
+setupdict = { |
|---|
| 32 |
+ 'name': 'Nevow', |
|---|
| 33 |
+ 'version': version, |
|---|
| 34 |
+ 'maintainer': 'Divmod, Inc.', |
|---|
| 35 |
+ 'maintainer_email': 'support@divmod.org', |
|---|
| 36 |
+ 'description': 'Web Application Construction Kit', |
|---|
| 37 |
+ 'url': 'http://divmod.org/trac/wiki/DivmodNevow', |
|---|
| 38 |
+ 'license': 'MIT', |
|---|
| 39 |
+ 'platforms': ["any"], |
|---|
| 40 |
+ 'classifiers': [ |
|---|
| 41 |
+ "Intended Audience :: Developers", |
|---|
| 42 |
+ "Programming Language :: Python", |
|---|
| 43 |
+ "Development Status :: 4 - Beta", |
|---|
| 44 |
+ "Topic :: Internet :: WWW/HTTP :: Dynamic Content"], |
|---|
| 45 |
+ 'scripts': ['bin/nevow-xmlgettext', 'bin/nit'], |
|---|
| 46 |
+ 'package_data': { |
|---|
| 47 |
+ 'formless': [ |
|---|
| 48 |
+ 'freeform-default.css' |
|---|
| 49 |
+ ], |
|---|
| 50 |
+ 'nevow': [ |
|---|
| 51 |
+ 'Canvas.swf', |
|---|
| 52 |
+ '*.css', |
|---|
| 53 |
+ '*.js', |
|---|
| 54 |
+ 'js/Divmod/*.js', |
|---|
| 55 |
+ 'js/Nevow/*.js', |
|---|
| 56 |
+ 'js/Nevow/Test/*.js', |
|---|
| 57 |
+ 'js/Nevow/Athena/Tests/*.js', |
|---|
| 58 |
+ 'js/Divmod/Runtime/*.js', |
|---|
| 59 |
+ 'js/Nevow/Athena/*.js', |
|---|
| 60 |
+ 'js/Nevow/TagLibrary/*.js', |
|---|
| 61 |
+ 'js/Divmod/Test/*.js', |
|---|
| 62 |
+ 'js/PythonTestSupport/*.js', |
|---|
| 63 |
+ ], |
|---|
| 64 |
+ 'nevow.athena_private': [ |
|---|
| 65 |
+ '*.png' |
|---|
| 66 |
+ ], |
|---|
| 67 |
+ 'nevow.taglibrary': [ |
|---|
| 68 |
+ '*.css', |
|---|
| 69 |
+ '*.js' |
|---|
| 70 |
+ ], |
|---|
| 71 |
+ 'nevow.livetrial': [ |
|---|
| 72 |
+ '*.css', |
|---|
| 73 |
+ '*.js' |
|---|
| 74 |
+ ], |
|---|
| 75 |
+ 'nevow.test': [ |
|---|
| 76 |
+ '*.js' |
|---|
| 77 |
+ ], |
|---|
| 78 |
+ 'nevow.test.test_package.Foo': [ |
|---|
| 79 |
+ '*.js' |
|---|
| 80 |
+ ], |
|---|
| 81 |
+ 'nevow.test.test_package.Foo.Baz': [ |
|---|
| 82 |
+ '*.js' |
|---|
| 83 |
+ ], |
|---|
| 84 |
+ } |
|---|
| 85 |
+} |
|---|
| 86 |
+ |
|---|
| 87 |
+if setuptools: |
|---|
| 88 |
+ # Importing setuptools worked -- then we do the following setup script: |
|---|
| 89 |
+ from setuptools import setup, find_packages |
|---|
| 90 |
+ |
|---|
| 91 |
+ setupdict['packages'] = find_packages() |
|---|
| 92 |
else: |
|---|
| 93 |
- version = '.'.join([str(i) for i in sys.version_info[:2]]) |
|---|
| 94 |
- site_packages = 'lib/python' + version + '/site-packages/' |
|---|
| 95 |
+ # No setuptools -- decide where the data files should go and explicitly list |
|---|
| 96 |
+ # the packages. |
|---|
| 97 |
|
|---|
| 98 |
-# Turn the package_data into a data_files for 2.3 compatability |
|---|
| 99 |
-data_files = [] |
|---|
| 100 |
-for pkg, patterns in setupcommon.package_data.items(): |
|---|
| 101 |
- pkgdir = os.path.join(*pkg.split('.')) |
|---|
| 102 |
- for pattern in patterns: |
|---|
| 103 |
- globdir = os.path.dirname(pattern) |
|---|
| 104 |
- files = glob.glob(os.path.join(pkgdir, pattern)) |
|---|
| 105 |
- data_files.append((os.path.join(site_packages,pkgdir,globdir),files)) |
|---|
| 106 |
+ from distutils.core import setup |
|---|
| 107 |
|
|---|
| 108 |
-# We need to list the packages explicitly. |
|---|
| 109 |
-packages = [ |
|---|
| 110 |
- 'formless', 'formless.test', 'nevow', 'nevow.flat', |
|---|
| 111 |
- 'nevow.scripts', 'nevow.test', 'nevow.taglibrary', |
|---|
| 112 |
- 'nevow.plugins', 'nevow.livetrial', 'twisted.plugins'] |
|---|
| 113 |
+ import os.path |
|---|
| 114 |
+ import glob |
|---|
| 115 |
+ import sys |
|---|
| 116 |
|
|---|
| 117 |
-setup( |
|---|
| 118 |
- name=setupcommon.name, |
|---|
| 119 |
- version=setupcommon.version, |
|---|
| 120 |
- maintainer=setupcommon.maintainer, |
|---|
| 121 |
- maintainer_email=setupcommon.maintainer_email, |
|---|
| 122 |
- description=setupcommon.description, |
|---|
| 123 |
- url=setupcommon.url, |
|---|
| 124 |
- license=setupcommon.license, |
|---|
| 125 |
- platforms=setupcommon.platforms, |
|---|
| 126 |
- classifiers=setupcommon.classifiers, |
|---|
| 127 |
- packages=packages, |
|---|
| 128 |
- scripts=setupcommon.scripts, |
|---|
| 129 |
- data_files=data_files, |
|---|
| 130 |
- ) |
|---|
| 131 |
+ # Where should our data files go? |
|---|
| 132 |
+ # They want to go in our package directory , which is under site-packages. |
|---|
| 133 |
+ # We determine the location of site-packages here, for later use. It will be |
|---|
| 134 |
+ # interpreted as relative to sys.prefix. |
|---|
| 135 |
+ |
|---|
| 136 |
+ if sys.platform.lower().startswith('win'): |
|---|
| 137 |
+ site_packages = 'Lib/site-packages/' |
|---|
| 138 |
+ else: |
|---|
| 139 |
+ version = '.'.join([str(i) for i in sys.version_info[:2]]) |
|---|
| 140 |
+ site_packages = 'lib/python' + version + '/site-packages/' |
|---|
| 141 |
+ |
|---|
| 142 |
+ # Turn the package_data into a data_files for 2.3 compatability |
|---|
| 143 |
+ setupdict['data_files'] = [] |
|---|
| 144 |
+ for pkg, patterns in setupdict['package_data'].items(): |
|---|
| 145 |
+ pkgdir = os.path.join(*pkg.split('.')) |
|---|
| 146 |
+ for pattern in patterns: |
|---|
| 147 |
+ globdir = os.path.dirname(pattern) |
|---|
| 148 |
+ files = glob.glob(os.path.join(pkgdir, pattern)) |
|---|
| 149 |
+ setupdict['data_files'].append((os.path.join(site_packages,pkgdir,globdir),files)) |
|---|
| 150 |
+ |
|---|
| 151 |
+ # We need to list the packages explicitly. |
|---|
| 152 |
+ setupdict['packages'] = [ |
|---|
| 153 |
+ 'formless', 'formless.test', 'nevow', 'nevow.flat', |
|---|
| 154 |
+ 'nevow.scripts', 'nevow.test', 'nevow.taglibrary', |
|---|
| 155 |
+ 'nevow.plugins', 'nevow.livetrial', 'twisted.plugins'] |
|---|
| 156 |
+ |
|---|
| 157 |
+ |
|---|
| 158 |
+setup(**setupdict) |
|---|
| 159 |
+ |
|---|
| 160 |
Index: setupcommon.py |
|---|
| 161 |
=================================================================== |
|---|
| 162 |
--- setupcommon.py (revision 15040) |
|---|
| 163 |
+++ setupcommon.py (working copy) |
|---|
| 164 |
@@ -1,53 +0,0 @@ |
|---|
| 165 |
-name='Nevow' |
|---|
| 166 |
-from nevow import __version__ as version |
|---|
| 167 |
-maintainer = 'Divmod, Inc.' |
|---|
| 168 |
-maintainer_email = 'support@divmod.org' |
|---|
| 169 |
-description = 'Web Application Construction Kit' |
|---|
| 170 |
-url='http://divmod.org/trac/wiki/DivmodNevow' |
|---|
| 171 |
-license='MIT' |
|---|
| 172 |
-platforms=["any"] |
|---|
| 173 |
-classifiers=[ |
|---|
| 174 |
- "Intended Audience :: Developers", |
|---|
| 175 |
- "Programming Language :: Python", |
|---|
| 176 |
- "Development Status :: 4 - Beta", |
|---|
| 177 |
- "Topic :: Internet :: WWW/HTTP :: Dynamic Content"] |
|---|
| 178 |
-scripts=['bin/nevow-xmlgettext', 'bin/nit'] |
|---|
| 179 |
-package_data={ |
|---|
| 180 |
- 'formless': [ |
|---|
| 181 |
- 'freeform-default.css' |
|---|
| 182 |
- ], |
|---|
| 183 |
- 'nevow': [ |
|---|
| 184 |
- 'Canvas.swf', |
|---|
| 185 |
- '*.css', |
|---|
| 186 |
- '*.js', |
|---|
| 187 |
- 'js/Divmod/*.js', |
|---|
| 188 |
- 'js/Nevow/*.js', |
|---|
| 189 |
- 'js/Nevow/Test/*.js', |
|---|
| 190 |
- 'js/Nevow/Athena/Tests/*.js', |
|---|
| 191 |
- 'js/Divmod/Runtime/*.js', |
|---|
| 192 |
- 'js/Nevow/Athena/*.js', |
|---|
| 193 |
- 'js/Nevow/TagLibrary/*.js', |
|---|
| 194 |
- 'js/Divmod/Test/*.js', |
|---|
| 195 |
- 'js/PythonTestSupport/*.js', |
|---|
| 196 |
- ], |
|---|
| 197 |
- 'nevow.athena_private': [ |
|---|
| 198 |
- '*.png' |
|---|
| 199 |
- ], |
|---|
| 200 |
- 'nevow.taglibrary': [ |
|---|
| 201 |
- '*.css', |
|---|
| 202 |
- '*.js' |
|---|
| 203 |
- ], |
|---|
| 204 |
- 'nevow.livetrial': [ |
|---|
| 205 |
- '*.css', |
|---|
| 206 |
- '*.js' |
|---|
| 207 |
- ], |
|---|
| 208 |
- 'nevow.test': [ |
|---|
| 209 |
- '*.js' |
|---|
| 210 |
- ], |
|---|
| 211 |
- 'nevow.test.test_package.Foo': [ |
|---|
| 212 |
- '*.js' |
|---|
| 213 |
- ], |
|---|
| 214 |
- 'nevow.test.test_package.Foo.Baz': [ |
|---|
| 215 |
- '*.js' |
|---|
| 216 |
- ], |
|---|
| 217 |
- } |
|---|
| 218 |
Index: setup_egg.py |
|---|
| 219 |
=================================================================== |
|---|
| 220 |
--- setup_egg.py (revision 15040) |
|---|
| 221 |
+++ setup_egg.py (working copy) |
|---|
| 222 |
@@ -1,28 +0,0 @@ |
|---|
| 223 |
-#!/usr/bin/env python |
|---|
| 224 |
-# -*- test-case-name: "nevow.test -xformless.test" -*- |
|---|
| 225 |
- |
|---|
| 226 |
-# Use setuptools, it's easier |
|---|
| 227 |
-from ez_setup import use_setuptools |
|---|
| 228 |
-use_setuptools() |
|---|
| 229 |
-from setuptools import setup, find_packages |
|---|
| 230 |
-import setupcommon |
|---|
| 231 |
- |
|---|
| 232 |
-# Import Nevow for the version string |
|---|
| 233 |
-import nevow |
|---|
| 234 |
- |
|---|
| 235 |
-setup( |
|---|
| 236 |
- name=setupcommon.name, |
|---|
| 237 |
- version=setupcommon.version, |
|---|
| 238 |
- maintainer=setupcommon.maintainer, |
|---|
| 239 |
- maintainer_email=setupcommon.maintainer_email, |
|---|
| 240 |
- description=setupcommon.description, |
|---|
| 241 |
- url=setupcommon.url, |
|---|
| 242 |
- license=setupcommon.license, |
|---|
| 243 |
- platforms=setupcommon.platforms, |
|---|
| 244 |
- classifiers=setupcommon.classifiers, |
|---|
| 245 |
- packages=find_packages(), |
|---|
| 246 |
- scripts=setupcommon.scripts, |
|---|
| 247 |
- package_data=setupcommon.package_data, |
|---|
| 248 |
- zip_safe = True, |
|---|
| 249 |
- ) |
|---|
| 250 |
- |
|---|