blob: f308568b8e5cb49e956e2017ba7b0157e948a406 [file] [log] [blame]
#! /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
)