| #! /usr/bin/env python |
| |
| import os, sys |
| from distutils.core import setup, Extension |
| from distutils.command.build_ext import build_ext |
| |
| try: |
| # load py2exe distutils extension, if available |
| import py2exe |
| except ImportError: |
| pass |
| |
| try: |
| import numpy |
| except ImportError: |
| print "*** Warning: FontTools needs the numpy library, see:" |
| print " http://numpy.scipy.org/" |
| |
| try: |
| import xml.parsers.expat |
| except ImportError: |
| print "*** Warning: FontTools needs PyXML, see:" |
| print " http://sourceforge.net/projects/pyxml/" |
| |
| |
| class build_ext_optional(build_ext): |
| """build_ext command which doesn't abort when it fails.""" |
| def build_extension(self, ext): |
| # Skip extensions which cannot be built |
| try: |
| build_ext.build_extension(self, ext) |
| except: |
| self.announce( |
| '*** WARNING: Building of extension "%s" ' |
| 'failed: %s' % |
| (ext.name, sys.exc_info()[1])) |
| |
| |
| if sys.version_info > (2, 3, 0, 'alpha', 1): |
| # Trove classifiers for PyPI |
| classifiers = {"classifiers": [ |
| "Development Status :: 4 - Beta", |
| "Environment :: Console", |
| "Environment :: Other Environment", |
| "Intended Audience :: Developers", |
| "Intended Audience :: End Users/Desktop", |
| "License :: OSI Approved :: BSD License", |
| "Natural Language :: English", |
| "Operating System :: OS Independent", |
| "Programming Language :: Python", |
| "Topic :: Multimedia :: Graphics", |
| "Topic :: Multimedia :: Graphics :: Graphics Conversion", |
| ]} |
| else: |
| classifiers = {} |
| |
| long_description = """\ |
| FontTools/TTX is a library to manipulate font files from Python. |
| It supports reading and writing of TrueType/OpenType fonts, reading |
| and writing of AFM files, reading (and partially writing) of PS Type 1 |
| fonts. The package also contains a tool called "TTX" which converts |
| TrueType/OpenType fonts to and from an XML-based format. |
| """ |
| |
| setup( |
| name = "fonttools", |
| version = "2.1+", |
| description = "Tools to manipulate font files", |
| author = "Just van Rossum", |
| author_email = "just@letterror.com", |
| maintainer = "Just van Rossum", |
| maintainer_email = "just@letterror.com", |
| url = "http://fonttools.sourceforge.net/", |
| license = "OpenSource, BSD-style", |
| platforms = ["Any"], |
| long_description = long_description, |
| |
| packages = [ |
| "", |
| "fontTools", |
| "fontTools.encodings", |
| "fontTools.misc", |
| "fontTools.pens", |
| "fontTools.ttLib", |
| "fontTools.ttLib.tables", |
| "fontTools.ttLib.test", |
| ], |
| package_dir = {'': 'Lib'}, |
| extra_path = 'FontTools', |
| ext_modules = [ |
| Extension( |
| "fontTools.misc.eexecOp", |
| ["Src/eexecOp/eexecOpmodule.c"], |
| include_dirs=[], |
| define_macros=[], |
| library_dirs=[], |
| libraries=[], |
| ) |
| ], |
| scripts = ["Tools/ttx"], |
| cmdclass = {"build_ext": build_ext_optional}, |
| **classifiers |
| ) |