Mercurial > genshi > mirror
annotate setup.py @ 907:9de04b70c0d2 experimental-inline
inline branch: merged r1129 from trunk.
author | cmlenz |
---|---|
date | Wed, 28 Apr 2010 21:36:59 +0000 |
parents | fe25855324dd |
children |
rev | line source |
---|---|
1 | 1 #!/usr/bin/env python |
2 # -*- coding: utf-8 -*- | |
3 # | |
902
fe25855324dd
Sync `experimental/inline` branch with [source:trunk@1126].
cmlenz
parents:
820
diff
changeset
|
4 # Copyright (C) 2006-2010 Edgewall Software |
1 | 5 # All rights reserved. |
6 # | |
7 # This software is licensed as described in the file COPYING, which | |
8 # you should have received as part of this distribution. The terms | |
230 | 9 # are also available at http://genshi.edgewall.org/wiki/License. |
1 | 10 # |
11 # This software consists of voluntary contributions made by many | |
12 # individuals. For the exact contribution history, see the revision | |
230 | 13 # history and logs, available at http://genshi.edgewall.org/log/. |
1 | 14 |
395 | 15 from distutils.cmd import Command |
820
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
16 from distutils.command.build_ext import build_ext |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
17 from distutils.errors import CCompilerError, DistutilsPlatformError |
395 | 18 import doctest |
19 from glob import glob | |
20 import os | |
84
0a1843b2c096
Make dependency of the setup script on setuptools optional.
cmlenz
parents:
66
diff
changeset
|
21 try: |
820
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
22 from setuptools import setup, Extension, Feature |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
23 from setuptools.command.bdist_egg import bdist_egg |
84
0a1843b2c096
Make dependency of the setup script on setuptools optional.
cmlenz
parents:
66
diff
changeset
|
24 except ImportError: |
820
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
25 from distutils.core import setup, Extension |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
26 Feature = None |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
27 bdist_egg = None |
500 | 28 import sys |
1 | 29 |
820
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
30 sys.path.append(os.path.join('doc', 'common')) |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
31 try: |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
32 from doctools import build_doc, test_doc |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
33 except ImportError: |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
34 build_doc = test_doc = None |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
35 |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
36 _speedup_available = False |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
37 |
902
fe25855324dd
Sync `experimental/inline` branch with [source:trunk@1126].
cmlenz
parents:
820
diff
changeset
|
38 |
820
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
39 class optional_build_ext(build_ext): |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
40 # This class allows C extension building to fail. |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
41 def run(self): |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
42 try: |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
43 build_ext.run(self) |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
44 except DistutilsPlatformError, e: |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
45 self._unavailable(e) |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
46 |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
47 def build_extension(self, ext): |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
48 try: |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
49 build_ext.build_extension(self, ext) |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
50 global _speedup_available |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
51 _speedup_available = True |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
52 except CCompilerError, e: |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
53 self._unavailable(e) |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
54 |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
55 def _unavailable(self, exc): |
902
fe25855324dd
Sync `experimental/inline` branch with [source:trunk@1126].
cmlenz
parents:
820
diff
changeset
|
56 print('*' * 70) |
fe25855324dd
Sync `experimental/inline` branch with [source:trunk@1126].
cmlenz
parents:
820
diff
changeset
|
57 print("""WARNING: |
820
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
58 An optional C extension could not be compiled, speedups will not be |
902
fe25855324dd
Sync `experimental/inline` branch with [source:trunk@1126].
cmlenz
parents:
820
diff
changeset
|
59 available.""") |
fe25855324dd
Sync `experimental/inline` branch with [source:trunk@1126].
cmlenz
parents:
820
diff
changeset
|
60 print('*' * 70) |
fe25855324dd
Sync `experimental/inline` branch with [source:trunk@1126].
cmlenz
parents:
820
diff
changeset
|
61 print(exc) |
820
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
62 |
395 | 63 |
820
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
64 if Feature: |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
65 speedups = Feature( |
902
fe25855324dd
Sync `experimental/inline` branch with [source:trunk@1126].
cmlenz
parents:
820
diff
changeset
|
66 "optional C speed-enhancements", |
fe25855324dd
Sync `experimental/inline` branch with [source:trunk@1126].
cmlenz
parents:
820
diff
changeset
|
67 standard = False, |
820
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
68 ext_modules = [ |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
69 Extension('genshi._speedups', ['genshi/_speedups.c']), |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
70 ], |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
71 ) |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
72 else: |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
73 speedups = None |
395 | 74 |
75 | |
820
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
76 # Setuptools need some help figuring out if the egg is "zip_safe" or not |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
77 if bdist_egg: |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
78 class my_bdist_egg(bdist_egg): |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
79 def zip_safe(self): |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
80 return not _speedup_available and bdist_egg.zip_safe(self) |
395 | 81 |
82 | |
820
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
83 cmdclass = {'build_doc': build_doc, 'test_doc': test_doc, |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
84 'build_ext': optional_build_ext} |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
85 if bdist_egg: |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
86 cmdclass['bdist_egg'] = my_bdist_egg |
395 | 87 |
88 | |
1 | 89 setup( |
230 | 90 name = 'Genshi', |
902
fe25855324dd
Sync `experimental/inline` branch with [source:trunk@1126].
cmlenz
parents:
820
diff
changeset
|
91 version = '0.7', |
820
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
92 description = 'A toolkit for generation of output for the web', |
148
dcc9dc25bc59
Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
145
diff
changeset
|
93 long_description = \ |
500 | 94 """Genshi is a Python library that provides an integrated set of |
95 components for parsing, generating, and processing HTML, XML or | |
96 other textual content for output generation on the web. The major | |
97 feature is a template language, which is heavily inspired by Kid.""", | |
148
dcc9dc25bc59
Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
145
diff
changeset
|
98 author = 'Edgewall Software', |
dcc9dc25bc59
Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
145
diff
changeset
|
99 author_email = 'info@edgewall.org', |
dcc9dc25bc59
Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
145
diff
changeset
|
100 license = 'BSD', |
230 | 101 url = 'http://genshi.edgewall.org/', |
256 | 102 download_url = 'http://genshi.edgewall.org/wiki/Download', |
148
dcc9dc25bc59
Added changelog file, plus some README and setup tweaks.
cmlenz
parents:
145
diff
changeset
|
103 |
124
a9a8db67bb5a
Add Trove classifiers and download URL to `setup.py`.
cmlenz
parents:
84
diff
changeset
|
104 classifiers = [ |
a9a8db67bb5a
Add Trove classifiers and download URL to `setup.py`.
cmlenz
parents:
84
diff
changeset
|
105 'Development Status :: 4 - Beta', |
a9a8db67bb5a
Add Trove classifiers and download URL to `setup.py`.
cmlenz
parents:
84
diff
changeset
|
106 'Environment :: Web Environment', |
a9a8db67bb5a
Add Trove classifiers and download URL to `setup.py`.
cmlenz
parents:
84
diff
changeset
|
107 'Intended Audience :: Developers', |
a9a8db67bb5a
Add Trove classifiers and download URL to `setup.py`.
cmlenz
parents:
84
diff
changeset
|
108 'License :: OSI Approved :: BSD License', |
a9a8db67bb5a
Add Trove classifiers and download URL to `setup.py`.
cmlenz
parents:
84
diff
changeset
|
109 'Operating System :: OS Independent', |
a9a8db67bb5a
Add Trove classifiers and download URL to `setup.py`.
cmlenz
parents:
84
diff
changeset
|
110 'Programming Language :: Python', |
a9a8db67bb5a
Add Trove classifiers and download URL to `setup.py`.
cmlenz
parents:
84
diff
changeset
|
111 'Topic :: Internet :: WWW/HTTP :: Dynamic Content', |
a9a8db67bb5a
Add Trove classifiers and download URL to `setup.py`.
cmlenz
parents:
84
diff
changeset
|
112 'Topic :: Software Development :: Libraries :: Python Modules', |
a9a8db67bb5a
Add Trove classifiers and download URL to `setup.py`.
cmlenz
parents:
84
diff
changeset
|
113 'Topic :: Text Processing :: Markup :: HTML', |
a9a8db67bb5a
Add Trove classifiers and download URL to `setup.py`.
cmlenz
parents:
84
diff
changeset
|
114 'Topic :: Text Processing :: Markup :: XML' |
a9a8db67bb5a
Add Trove classifiers and download URL to `setup.py`.
cmlenz
parents:
84
diff
changeset
|
115 ], |
215 | 116 keywords = ['python.templating.engines'], |
500 | 117 packages = ['genshi', 'genshi.filters', 'genshi.template'], |
230 | 118 test_suite = 'genshi.tests.suite', |
84
0a1843b2c096
Make dependency of the setup script on setuptools optional.
cmlenz
parents:
66
diff
changeset
|
119 |
820
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
120 extras_require = { |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
121 'i18n': ['Babel>=0.8'], |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
122 'plugin': ['setuptools>=0.6a2'] |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
123 }, |
4
49364e784c47
Added first stab of an implementation of the !TurboGears [http://www.turbogears.org/docs/plugins/template.html plugin API for template engines], and also a !TurboGears-based example using this plugin. Both written by Matt Good.
cmlenz
parents:
1
diff
changeset
|
124 entry_points = """ |
820
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
125 [babel.extractors] |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
126 genshi = genshi.filters.i18n:extract[i18n] |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
127 |
4
49364e784c47
Added first stab of an implementation of the !TurboGears [http://www.turbogears.org/docs/plugins/template.html plugin API for template engines], and also a !TurboGears-based example using this plugin. Both written by Matt Good.
cmlenz
parents:
1
diff
changeset
|
128 [python.templating.engines] |
336
7763f7aec949
Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
265
diff
changeset
|
129 genshi = genshi.template.plugin:MarkupTemplateEnginePlugin[plugin] |
7763f7aec949
Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
265
diff
changeset
|
130 genshi-markup = genshi.template.plugin:MarkupTemplateEnginePlugin[plugin] |
7763f7aec949
Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
265
diff
changeset
|
131 genshi-text = genshi.template.plugin:TextTemplateEnginePlugin[plugin] |
4
49364e784c47
Added first stab of an implementation of the !TurboGears [http://www.turbogears.org/docs/plugins/template.html plugin API for template engines], and also a !TurboGears-based example using this plugin. Both written by Matt Good.
cmlenz
parents:
1
diff
changeset
|
132 """, |
395 | 133 |
820
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
134 features = {'speedups': speedups}, |
9755836bb396
Sync (old) experimental inline branch with trunk@1027.
cmlenz
parents:
500
diff
changeset
|
135 cmdclass = cmdclass |
1 | 136 ) |