X-Git-Url: http://git.tremily.us/?a=blobdiff_plain;f=setup.py;h=856ec5b76d09155e5f5e0773c37b6f38f1a6232a;hb=d464d0820c6a42f77a7c52516195840602195936;hp=a0be447d49ecb53b289e35de1563f4676b72274c;hpb=ecc051b3313dce2d45563cc5a39ca1f28d0728a6;p=jinja2.git diff --git a/setup.py b/setup.py index a0be447..856ec5b 100644 --- a/setup.py +++ b/setup.py @@ -1,90 +1,110 @@ # -*- coding: utf-8 -*- -import jinja -import os +""" +Jinja2 +~~~~~~ + +Jinja2 is a template engine written in pure Python. It provides a +`Django`_ inspired non-XML syntax but supports inline expressions and +an optional `sandboxed`_ environment. + +Nutshell +-------- + +Here a small example of a Jinja template:: + + {% extends 'base.html' %} + {% block title %}Memberlist{% endblock %} + {% block content %} + + {% endblock %} + +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`_. + +.. _sandboxed: http://en.wikipedia.org/wiki/Sandbox_(computer_security) +.. _Django: http://www.djangoproject.com/ +.. _Jinja2 webpage: http://jinja.pocoo.org/ +.. _documentation: http://jinja.pocoo.org/2/documentation/ +""" import sys -import ez_setup -ez_setup.use_setuptools() -from distutils.command.build_ext import build_ext -from distutils.errors import CCompilerError from setuptools import setup, Extension, Feature -from inspect import getdoc - -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 +debugsupport = Feature( + 'optional C debug support', + standard=False, + ext_modules = [ + Extension('jinja2._debugsupport', ['jinja2/_debugsupport.c']), + ], +) -class optional_build_ext(build_ext): +# tell distribute to use 2to3 with our own fixers. +extra = {} +if sys.version_info >= (3, 0): + extra.update( + use_2to3=True, + use_2to3_fixers=['custom_fixers'] + ) - def build_extension(self, ext): - try: - build_ext.build_extension(self, ext) - except CCompilerError, e: - print '=' * 79 - print 'INFORMATION' - print ' the speedup extension could not be compiled, Jinja will' - print ' fall back to the native python classes.' - print '=' * 79 - except: - e = sys.exc_info()[1] - print '=' * 79 - print 'WARNING' - print ' could not compile optional speedup extension. This is' - print ' is not a real problem because Jinja provides a native' - print ' implementation of those classes but for best performance' - print ' you could try to reinstall Jinja after fixing this' - print ' problem: %s' % e - print '=' * 79 +# ignore the old '--with-speedups' flag +try: + speedups_pos = sys.argv.index('--with-speedups') +except ValueError: + pass +else: + sys.argv[speedups_pos] = '--with-debugsupport' + sys.stderr.write('*' * 74 + '\n') + sys.stderr.write('WARNING:\n') + sys.stderr.write(' the --with-speedups flag is deprecated, assuming ' + '--with-debugsupport\n') + sys.stderr.write(' For the actual speedups install the MarkupSafe ' + 'package.\n') + sys.stderr.write('*' * 74 + '\n') setup( - name = 'Jinja', - version = '1.1', - url = 'http://jinja.pocoo.org/', - license = 'BSD', - author = 'Armin Ronacher', - author_email = 'armin.ronacher@active-4.com', - description = 'A small but fast and easy to use stand-alone template ' - 'engine written in pure python.', - long_description = getdoc(jinja), - # jinja is egg safe. But because we distribute the documentation - # in form of html and txt files it's a better idea to extract the files - zip_safe = False, - classifiers = [ + name='Jinja2', + version='2.6', + url='http://jinja.pocoo.org/', + license='BSD', + author='Armin Ronacher', + author_email='armin.ronacher@active-4.com', + description='A small but fast and easy to use stand-alone template ' + 'engine written in pure python.', + long_description=__doc__, + # jinja is egg safe. But we hate eggs + zip_safe=False, + classifiers=[ 'Development Status :: 5 - Production/Stable', 'Environment :: Web Environment', 'Intended Audience :: Developers', 'License :: OSI Approved :: BSD License', 'Operating System :: OS Independent', 'Programming Language :: Python', + 'Programming Language :: Python :: 3', 'Topic :: Internet :: WWW/HTTP :: Dynamic Content', 'Topic :: Software Development :: Libraries :: Python Modules', 'Topic :: Text Processing :: Markup :: HTML' ], - keywords = ['python.templating.engines'], - packages = ['jinja', 'jinja.translators'], - data_files = [ - ('docs', list(list_files('docs/build'))), - ('docs/txt', list(list_files('docs/src'))) - ], - platforms = 'any', - entry_points=''' - [python.templating.engines] - jinja = jinja.plugin:BuffetPlugin - ''', - extras_require = {'plugin': ['setuptools>=0.6a2']}, - features = {'speedups': Feature( - 'optional C-speed enhancements', - standard = True, - ext_modules = [ - Extension('jinja._speedups', ['jinja/_speedups.c']) - ] - )}, - cmdclass = {'build_ext': optional_build_ext} + packages=['jinja2', 'jinja2.testsuite', 'jinja2.testsuite.res', + 'jinja2._markupsafe'], + extras_require={'i18n': ['Babel>=0.8']}, + test_suite='jinja2.testsuite.suite', + include_package_data=True, + entry_points=""" + [babel.extractors] + jinja2 = jinja2.ext:babel_extract[i18n] + """, + features={'debugsupport': debugsupport}, + **extra )