#! /usr/bin/env python from __future__ import print_function 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 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.4", 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", ], package_dir = {'': 'Lib'}, extra_path = 'FontTools', scripts = ["Tools/ttx", "Tools/pyftsubset", "Tools/pyftinspect", "Tools/pyftmerge"], cmdclass = {"build_ext": build_ext_optional}, data_files = [('share/man/man1', ["Doc/ttx.1"])], **classifiers )