13285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr#! /usr/bin/env python
23285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr
3db08ee2c19ba148b440e90ccef73c634b4577163Denis Jacqueryefrom __future__ import print_function
43285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvrimport os, sys
53285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvrfrom distutils.core import setup, Extension
6059cbe3cfb2c8f0b18ccbd8940f5f82ffb6b8b20jvrfrom distutils.command.build_ext import build_ext
73285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr
8366823498c4d0a1b630f1cfeb5544d558e0b4b18jvrtry:
9366823498c4d0a1b630f1cfeb5544d558e0b4b18jvr	# load py2exe distutils extension, if available
10366823498c4d0a1b630f1cfeb5544d558e0b4b18jvr	import py2exe
117bd0d8cdc14e6b4e69187bdfa803e975f20213e4jvrexcept ImportError:
12366823498c4d0a1b630f1cfeb5544d558e0b4b18jvr	pass
133285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr
145808f3ff71a398b617c2ed1d2eb57030e464b089jvrtry:
1548e4b6254e202657625ffa03c15bcc7d19c82f14jvr	import xml.parsers.expat
165808f3ff71a398b617c2ed1d2eb57030e464b089jvrexcept ImportError:
17db08ee2c19ba148b440e90ccef73c634b4577163Denis Jacquerye	print("*** Warning: FontTools needs PyXML, see:")
18db08ee2c19ba148b440e90ccef73c634b4577163Denis Jacquerye	print("        http://sourceforge.net/projects/pyxml/")
195808f3ff71a398b617c2ed1d2eb57030e464b089jvr
205808f3ff71a398b617c2ed1d2eb57030e464b089jvr
21059cbe3cfb2c8f0b18ccbd8940f5f82ffb6b8b20jvrclass build_ext_optional(build_ext):
22059cbe3cfb2c8f0b18ccbd8940f5f82ffb6b8b20jvr	"""build_ext command which doesn't abort when it fails."""
23059cbe3cfb2c8f0b18ccbd8940f5f82ffb6b8b20jvr	def build_extension(self, ext):
24059cbe3cfb2c8f0b18ccbd8940f5f82ffb6b8b20jvr		# Skip extensions which cannot be built
25059cbe3cfb2c8f0b18ccbd8940f5f82ffb6b8b20jvr		try:
26059cbe3cfb2c8f0b18ccbd8940f5f82ffb6b8b20jvr			build_ext.build_extension(self, ext)
27059cbe3cfb2c8f0b18ccbd8940f5f82ffb6b8b20jvr		except:
28059cbe3cfb2c8f0b18ccbd8940f5f82ffb6b8b20jvr			self.announce(
29059cbe3cfb2c8f0b18ccbd8940f5f82ffb6b8b20jvr				'*** WARNING: Building of extension "%s" '
30059cbe3cfb2c8f0b18ccbd8940f5f82ffb6b8b20jvr				'failed: %s' %
31059cbe3cfb2c8f0b18ccbd8940f5f82ffb6b8b20jvr				(ext.name, sys.exc_info()[1]))
32059cbe3cfb2c8f0b18ccbd8940f5f82ffb6b8b20jvr
33059cbe3cfb2c8f0b18ccbd8940f5f82ffb6b8b20jvr
3491bde1751e5e6e51aee606b3a38c1894fab4a5edjvrif sys.version_info > (2, 3, 0, 'alpha', 1):
3591bde1751e5e6e51aee606b3a38c1894fab4a5edjvr	# Trove classifiers for PyPI
3691bde1751e5e6e51aee606b3a38c1894fab4a5edjvr	classifiers = {"classifiers": [
3791bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		"Development Status :: 4 - Beta",
3891bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		"Environment :: Console",
3991bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		"Environment :: Other Environment",
4091bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		"Intended Audience :: Developers",
4191bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		"Intended Audience :: End Users/Desktop",
4291bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		"License :: OSI Approved :: BSD License",
4391bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		"Natural Language :: English",
4491bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		"Operating System :: OS Independent",
4591bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		"Programming Language :: Python",
4691bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		"Topic :: Multimedia :: Graphics",
4791bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		"Topic :: Multimedia :: Graphics :: Graphics Conversion",
4891bde1751e5e6e51aee606b3a38c1894fab4a5edjvr	]}
4991bde1751e5e6e51aee606b3a38c1894fab4a5edjvrelse:
5091bde1751e5e6e51aee606b3a38c1894fab4a5edjvr	classifiers = {}
5191bde1751e5e6e51aee606b3a38c1894fab4a5edjvr
5291bde1751e5e6e51aee606b3a38c1894fab4a5edjvrlong_description = """\
5391bde1751e5e6e51aee606b3a38c1894fab4a5edjvrFontTools/TTX is a library to manipulate font files from Python.
5491bde1751e5e6e51aee606b3a38c1894fab4a5edjvrIt supports reading and writing of TrueType/OpenType fonts, reading
5591bde1751e5e6e51aee606b3a38c1894fab4a5edjvrand writing of AFM files, reading (and partially writing) of PS Type 1
5691bde1751e5e6e51aee606b3a38c1894fab4a5edjvrfonts. The package also contains a tool called "TTX" which converts
5791bde1751e5e6e51aee606b3a38c1894fab4a5edjvrTrueType/OpenType fonts to and from an XML-based format.
5891bde1751e5e6e51aee606b3a38c1894fab4a5edjvr"""
5991bde1751e5e6e51aee606b3a38c1894fab4a5edjvr
60fdf2d770c7aaedf270b3fd617223ef0cbee9c544jvrsetup(
61fb8e53bfcf11196d7831017908a55341bb1bfc86pabs		name = "fonttools",
62ec62dbe03e1a34c2c1948c371b9ca8701ae3dafapabs		version = "2.4",
6391bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		description = "Tools to manipulate font files",
643285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr		author = "Just van Rossum",
653285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr		author_email = "just@letterror.com",
66fdf2d770c7aaedf270b3fd617223ef0cbee9c544jvr		maintainer = "Just van Rossum",
67fdf2d770c7aaedf270b3fd617223ef0cbee9c544jvr		maintainer_email = "just@letterror.com",
683285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr		url = "http://fonttools.sourceforge.net/",
6991bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		license = "OpenSource, BSD-style",
7091bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		platforms = ["Any"],
7191bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		long_description = long_description,
723285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr
733285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr		packages = [
743285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr			"fontTools",
753285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr			"fontTools.encodings",
763285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr			"fontTools.misc",
77ceb3449e2b8864ec259d0f0d97f14eaf452631d2jvr			"fontTools.pens",
783285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr			"fontTools.ttLib",
793285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr			"fontTools.ttLib.tables",
803285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr		],
813285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr		package_dir = {'': 'Lib'},
823285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr		extra_path = 'FontTools',
83642eaf135d7803894c7cf56bdfd4649da9031adeRoozbeh Pournader		scripts = ["Tools/ttx", "Tools/pyftsubset", "Tools/pyftinspect", "Tools/pyftmerge"],
8491bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		cmdclass = {"build_ext": build_ext_optional},
85406cb2f7ba2c4998033372402a1842849b41d623pabs		data_files = [('share/man/man1', ["Doc/ttx.1"])],
8691bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		**classifiers
873285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr	)
88