setup.py revision fb8e53bfcf11196d7831017908a55341bb1bfc86
13285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr#! /usr/bin/env python
23285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr
33285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvrimport os, sys
43285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvrfrom distutils.core import setup, Extension
5059cbe3cfb2c8f0b18ccbd8940f5f82ffb6b8b20jvrfrom distutils.command.build_ext import build_ext
63285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr
7366823498c4d0a1b630f1cfeb5544d558e0b4b18jvrtry:
8366823498c4d0a1b630f1cfeb5544d558e0b4b18jvr	# load py2exe distutils extension, if available
9366823498c4d0a1b630f1cfeb5544d558e0b4b18jvr	import py2exe
107bd0d8cdc14e6b4e69187bdfa803e975f20213e4jvrexcept ImportError:
11366823498c4d0a1b630f1cfeb5544d558e0b4b18jvr	pass
123285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr
135808f3ff71a398b617c2ed1d2eb57030e464b089jvrtry:
145808f3ff71a398b617c2ed1d2eb57030e464b089jvr	import Numeric
155808f3ff71a398b617c2ed1d2eb57030e464b089jvrexcept ImportError:
165808f3ff71a398b617c2ed1d2eb57030e464b089jvr	print "*** Warning: FontTools needs Numerical Python (NumPy), see:"
175808f3ff71a398b617c2ed1d2eb57030e464b089jvr	print "        http://sourceforge.net/projects/numpy/"
185808f3ff71a398b617c2ed1d2eb57030e464b089jvr
195808f3ff71a398b617c2ed1d2eb57030e464b089jvrtry:
2048e4b6254e202657625ffa03c15bcc7d19c82f14jvr	import xml.parsers.expat
215808f3ff71a398b617c2ed1d2eb57030e464b089jvrexcept ImportError:
225808f3ff71a398b617c2ed1d2eb57030e464b089jvr	print "*** Warning: FontTools needs PyXML, see:"
235808f3ff71a398b617c2ed1d2eb57030e464b089jvr	print "        http://sourceforge.net/projects/pyxml/"
245808f3ff71a398b617c2ed1d2eb57030e464b089jvr
255808f3ff71a398b617c2ed1d2eb57030e464b089jvr
26059cbe3cfb2c8f0b18ccbd8940f5f82ffb6b8b20jvrclass build_ext_optional(build_ext):
27059cbe3cfb2c8f0b18ccbd8940f5f82ffb6b8b20jvr	"""build_ext command which doesn't abort when it fails."""
28059cbe3cfb2c8f0b18ccbd8940f5f82ffb6b8b20jvr	def build_extension(self, ext):
29059cbe3cfb2c8f0b18ccbd8940f5f82ffb6b8b20jvr		# Skip extensions which cannot be built
30059cbe3cfb2c8f0b18ccbd8940f5f82ffb6b8b20jvr		try:
31059cbe3cfb2c8f0b18ccbd8940f5f82ffb6b8b20jvr			build_ext.build_extension(self, ext)
32059cbe3cfb2c8f0b18ccbd8940f5f82ffb6b8b20jvr		except:
33059cbe3cfb2c8f0b18ccbd8940f5f82ffb6b8b20jvr			self.announce(
34059cbe3cfb2c8f0b18ccbd8940f5f82ffb6b8b20jvr				'*** WARNING: Building of extension "%s" '
35059cbe3cfb2c8f0b18ccbd8940f5f82ffb6b8b20jvr				'failed: %s' %
36059cbe3cfb2c8f0b18ccbd8940f5f82ffb6b8b20jvr				(ext.name, sys.exc_info()[1]))
37059cbe3cfb2c8f0b18ccbd8940f5f82ffb6b8b20jvr
38059cbe3cfb2c8f0b18ccbd8940f5f82ffb6b8b20jvr
3991bde1751e5e6e51aee606b3a38c1894fab4a5edjvrif sys.version_info > (2, 3, 0, 'alpha', 1):
4091bde1751e5e6e51aee606b3a38c1894fab4a5edjvr	# Trove classifiers for PyPI
4191bde1751e5e6e51aee606b3a38c1894fab4a5edjvr	classifiers = {"classifiers": [
4291bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		"Development Status :: 4 - Beta",
4391bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		"Environment :: Console",
4491bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		"Environment :: Other Environment",
4591bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		"Intended Audience :: Developers",
4691bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		"Intended Audience :: End Users/Desktop",
4791bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		"License :: OSI Approved :: BSD License",
4891bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		"Natural Language :: English",
4991bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		"Operating System :: OS Independent",
5091bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		"Programming Language :: Python",
5191bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		"Topic :: Multimedia :: Graphics",
5291bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		"Topic :: Multimedia :: Graphics :: Graphics Conversion",
5391bde1751e5e6e51aee606b3a38c1894fab4a5edjvr	]}
5491bde1751e5e6e51aee606b3a38c1894fab4a5edjvrelse:
5591bde1751e5e6e51aee606b3a38c1894fab4a5edjvr	classifiers = {}
5691bde1751e5e6e51aee606b3a38c1894fab4a5edjvr
5791bde1751e5e6e51aee606b3a38c1894fab4a5edjvrlong_description = """\
5891bde1751e5e6e51aee606b3a38c1894fab4a5edjvrFontTools/TTX is a library to manipulate font files from Python.
5991bde1751e5e6e51aee606b3a38c1894fab4a5edjvrIt supports reading and writing of TrueType/OpenType fonts, reading
6091bde1751e5e6e51aee606b3a38c1894fab4a5edjvrand writing of AFM files, reading (and partially writing) of PS Type 1
6191bde1751e5e6e51aee606b3a38c1894fab4a5edjvrfonts. The package also contains a tool called "TTX" which converts
6291bde1751e5e6e51aee606b3a38c1894fab4a5edjvrTrueType/OpenType fonts to and from an XML-based format.
6391bde1751e5e6e51aee606b3a38c1894fab4a5edjvr"""
6491bde1751e5e6e51aee606b3a38c1894fab4a5edjvr
65fdf2d770c7aaedf270b3fd617223ef0cbee9c544jvrsetup(
66fb8e53bfcf11196d7831017908a55341bb1bfc86pabs		name = "fonttools",
6791bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		version = "2.0b1",
6891bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		description = "Tools to manipulate font files",
693285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr		author = "Just van Rossum",
703285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr		author_email = "just@letterror.com",
71fdf2d770c7aaedf270b3fd617223ef0cbee9c544jvr		maintainer = "Just van Rossum",
72fdf2d770c7aaedf270b3fd617223ef0cbee9c544jvr		maintainer_email = "just@letterror.com",
733285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr		url = "http://fonttools.sourceforge.net/",
7491bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		license = "OpenSource, BSD-style",
7591bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		platforms = ["Any"],
7691bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		long_description = long_description,
773285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr
783285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr		packages = [
793285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr			"",
803285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr			"fontTools",
813285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr			"fontTools.encodings",
823285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr			"fontTools.misc",
83ceb3449e2b8864ec259d0f0d97f14eaf452631d2jvr			"fontTools.pens",
843285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr			"fontTools.ttLib",
853285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr			"fontTools.ttLib.tables",
863285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr			"fontTools.ttLib.test",
873285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr		],
883285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr		package_dir = {'': 'Lib'},
893285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr		extra_path = 'FontTools',
903285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr		ext_modules = [
913285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr			Extension(
9209f337befdb108b15885c49a13f9df1c3942b161jvr				"fontTools.misc.eexecOp",
933285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr				["Src/eexecOp/eexecOpmodule.c"],
943285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr				include_dirs=[],
953285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr				define_macros=[],
963285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr				library_dirs=[],
973285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr				libraries=[],
983285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr			)
99fdf2d770c7aaedf270b3fd617223ef0cbee9c544jvr		],
100b46acaab8838310108a154d279132c793eb01861jvr		scripts = ["Tools/ttx"],
10191bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		cmdclass = {"build_ext": build_ext_optional},
10291bde1751e5e6e51aee606b3a38c1894fab4a5edjvr		**classifiers
1033285b4b52d7b5faf9dc08f1fe4d9ac865b7548d7jvr	)
104