Added ugly workaround for a loop bug.
[jinja2.git] / setup.py
index 7fe263d7fc62ae955ecb90d80b787f2b24ab78b4..439ce9f18c018e522909026426b45a5ea7394fbc 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -28,34 +28,40 @@ Philosophy
 Application logic is for the controller but don't try to make the life
 for the template designer too hard by giving him too few functionality.
 
-For more informations visit the new `jinja2 webpage`_ and `documentation`_.
+For more informations visit the new `Jinja2 webpage`_ and `documentation`_.
 
 The `Jinja2 tip`_ is installable via `easy_install` with ``easy_install
 Jinja2==dev``.
 
 .. _sandboxed: http://en.wikipedia.org/wiki/Sandbox_(computer_security)
 .. _Django: http://www.djangoproject.com/
-.. _jinja webpage: http://jinja2.pocoo.org/
-.. _documentation: http://jinja2.pocoo.org/documentation/index.html
-.. _Jinja tip: http://dev.pocoo.org/hg/jinja2-main/archive/tip.tar.gz#egg=Jinja2-dev
+.. _Jinja2 webpage: http://jinja.pocoo.org/
+.. _documentation: http://jinja.pocoo.org/2/documentation/
+.. _Jinja2 tip: http://dev.pocoo.org/hg/jinja2-main/archive/tip.tar.gz#egg=Jinja2-dev
 """
 import os
 import sys
-import ez_setup
-ez_setup.use_setuptools()
 
 from setuptools import setup, Extension, Feature
 from distutils.command.build_ext import build_ext
 from distutils.errors import CCompilerError, DistutilsPlatformError
 
 
-def list_files(path):
-    for fn in os.listdir(path):
-        if fn.startswith('.'):
-            continue
-        fn = os.path.join(path, fn)
-        if os.path.isfile(fn):
-            yield fn
+#: don't change the variable and assignment.  the fabfile parses this
+#: file to get the version for deployment from it.
+VERSION = '2.2'
+
+
+data_files = []
+documentation_path = 'docs/_build/html'
+if os.path.exists(documentation_path):
+    documentation_files = []
+    for fn in os.listdir(documentation_path):
+        if not fn.startswith('.'):
+            fn = os.path.join(documentation_path, fn)
+            if os.path.isfile(fn):
+                documentation_files.append(fn)
+    data_files.append(('docs', documentation_files))
 
 
 def get_terminal_width():
@@ -70,33 +76,9 @@ def get_terminal_width():
         return 80
 
 
-class optional_build_ext(build_ext):
-    """This class allows C extension building to fail."""
-
-    def run(self):
-        try:
-            build_ext.run(self)
-        except DistutilsPlatformError:
-            self._unavailable()
-
-    def build_extension(self, ext):
-        try:
-            build_ext.build_extension(self, ext)
-        except CCompilerError, x:
-            self._unavailable()
-
-    def _unavailable(self):
-        width = get_terminal_width()
-        print '*' * width
-        print """WARNING:
-An optional C extension could not be compiled, speedups will not be
-available."""
-        print '*' * width
-
-
 setup(
     name='Jinja2',
-    version='2.0dev',
+    version=VERSION,
     url='http://jinja.pocoo.org/',
     license='BSD',
     author='Armin Ronacher',
@@ -108,7 +90,7 @@ setup(
     # in form of html and txt files it's a better idea to extract the files
     zip_safe=False,
     classifiers=[
-        'Development Status :: 4 Beta',
+        'Development Status :: 5 - Production/Stable',
         'Environment :: Web Environment',
         'Intended Audience :: Developers',
         'License :: OSI Approved :: BSD License',
@@ -119,9 +101,7 @@ setup(
         'Topic :: Text Processing :: Markup :: HTML'
     ],
     packages=['jinja2'],
-    data_files=[
-        ##('docs', list(list_files('docs/_build/html')))
-    ],
+    data_files=data_files,
     features={
         'speedups': Feature("optional C speed-enhancements",
             standard=True,
@@ -133,6 +113,6 @@ setup(
     extras_require={'i18n': ['Babel>=0.8']},
     entry_points="""
     [babel.extractors]
-    jinja2 = jinja.ext:babel_extract[i18n]
+    jinja2 = jinja2.ext:babel_extract[i18n]
     """
 )