| Index: third_party/simplejson/setup.py
 | 
| diff --git a/third_party/simplejson/setup.py b/third_party/simplejson/setup.py
 | 
| new file mode 100755
 | 
| index 0000000000000000000000000000000000000000..24f43bfcc0e7fa663d407e320d549e1901b58cd8
 | 
| --- /dev/null
 | 
| +++ b/third_party/simplejson/setup.py
 | 
| @@ -0,0 +1,122 @@
 | 
| +#!/usr/bin/env python
 | 
| +
 | 
| +from ez_setup import use_setuptools
 | 
| +import sys
 | 
| +if 'cygwin' in sys.platform.lower():
 | 
| +   min_version='0.6c6'
 | 
| +else:
 | 
| +   min_version='0.6a9'
 | 
| +try:
 | 
| +    use_setuptools(min_version=min_version)
 | 
| +except TypeError:
 | 
| +    # If a non-local ez_setup is already imported, it won't be able to
 | 
| +    # use the min_version kwarg and will bail with TypeError
 | 
| +    use_setuptools()
 | 
| +
 | 
| +from setuptools import setup, find_packages, Extension, Feature
 | 
| +from distutils.command.build_ext import build_ext
 | 
| +from distutils.errors import CCompilerError, DistutilsExecError, \
 | 
| +    DistutilsPlatformError
 | 
| +
 | 
| +VERSION = '2.0.9'
 | 
| +DESCRIPTION = "Simple, fast, extensible JSON encoder/decoder for Python"
 | 
| +LONG_DESCRIPTION = """
 | 
| +simplejson is a simple, fast, complete, correct and extensible
 | 
| +JSON <http://json.org> encoder and decoder for Python 2.4+.  It is
 | 
| +pure Python code with no dependencies, but includes an optional C
 | 
| +extension for a serious speed boost.
 | 
| +
 | 
| +simplejson was formerly known as simple_json, but changed its name to
 | 
| +comply with PEP 8 module naming guidelines.
 | 
| +
 | 
| +The encoder may be subclassed to provide serialization in any kind of
 | 
| +situation, without any special support by the objects to be serialized
 | 
| +(somewhat like pickle).
 | 
| +
 | 
| +The decoder can handle incoming JSON strings of any specified encoding
 | 
| +(UTF-8 by default).
 | 
| +"""
 | 
| +
 | 
| +CLASSIFIERS = filter(None, map(str.strip,
 | 
| +"""                 
 | 
| +Intended Audience :: Developers
 | 
| +License :: OSI Approved :: MIT License
 | 
| +Programming Language :: Python
 | 
| +Topic :: Software Development :: Libraries :: Python Modules
 | 
| +""".splitlines()))
 | 
| +
 | 
| +
 | 
| +speedups = Feature(
 | 
| +    "options C speed-enhancement modules",
 | 
| +    standard=True,
 | 
| +    ext_modules = [
 | 
| +        Extension("simplejson._speedups", ["simplejson/_speedups.c"]),
 | 
| +    ],
 | 
| +)
 | 
| +
 | 
| +if sys.platform == 'win32' and sys.version_info > (2, 6):
 | 
| +   # 2.6's distutils.msvc9compiler can raise an IOError when failing to
 | 
| +   # find the compiler
 | 
| +   ext_errors = (CCompilerError, DistutilsExecError, DistutilsPlatformError,
 | 
| +                 IOError)
 | 
| +else:
 | 
| +   ext_errors = (CCompilerError, DistutilsExecError, DistutilsPlatformError)
 | 
| +
 | 
| +class BuildFailed(Exception):
 | 
| +    pass
 | 
| +
 | 
| +class ve_build_ext(build_ext):
 | 
| +    # This class allows C extension building to fail.
 | 
| +
 | 
| +    def run(self):
 | 
| +        try:
 | 
| +            build_ext.run(self)
 | 
| +        except DistutilsPlatformError, x:
 | 
| +            raise BuildFailed()
 | 
| +
 | 
| +    def build_extension(self, ext):
 | 
| +        try:
 | 
| +            build_ext.build_extension(self, ext)
 | 
| +        except ext_errors, x:
 | 
| +            raise BuildFailed()
 | 
| +
 | 
| +def run_setup(with_binary):
 | 
| +    if with_binary:
 | 
| +        features = {'speedups': speedups}
 | 
| +    else:
 | 
| +        features = {}
 | 
| +
 | 
| +    setup(
 | 
| +        name="simplejson",
 | 
| +        version=VERSION,
 | 
| +        description=DESCRIPTION,
 | 
| +        long_description=LONG_DESCRIPTION,
 | 
| +        classifiers=CLASSIFIERS,
 | 
| +        author="Bob Ippolito",
 | 
| +        author_email="bob@redivi.com",
 | 
| +        url="http://undefined.org/python/#simplejson",
 | 
| +        license="MIT License",
 | 
| +        packages=find_packages(exclude=['ez_setup']),
 | 
| +        platforms=['any'],
 | 
| +        test_suite="simplejson.tests",
 | 
| +        zip_safe=True,
 | 
| +        features=features,
 | 
| +        cmdclass={'build_ext': ve_build_ext},
 | 
| +    )
 | 
| +
 | 
| +try:
 | 
| +    run_setup(True)
 | 
| +except BuildFailed:
 | 
| +    BUILD_EXT_WARNING = "WARNING: The C extension could not be compiled, speedups are not enabled."
 | 
| +    print '*' * 75
 | 
| +    print BUILD_EXT_WARNING
 | 
| +    print "Failure information, if any, is above."
 | 
| +    print "I'm retrying the build without the C extension now."
 | 
| +    print '*' * 75
 | 
| +
 | 
| +    run_setup(False)
 | 
| +
 | 
| +    print '*' * 75
 | 
| +    print BUILD_EXT_WARNING
 | 
| +    print "Plain-Python installation succeeded."
 | 
| +    print '*' * 75
 | 
| 
 |