blob: dc890e9584003ba12c050b3b04fdf1ec23c7297a [file] [log] [blame]
#! /usr/bin/env python
from __future__ import print_function
import sys
from setuptools import setup, find_packages
import versioneer
# Force distutils to use py_compile.compile() function with 'doraise' argument
# set to True, in order to raise an exception on compilation errors
import py_compile
orig_py_compile = py_compile.compile
def doraise_py_compile(file, cfile=None, dfile=None, doraise=False):
orig_py_compile(file, cfile=cfile, dfile=dfile, doraise=True)
py_compile.compile = doraise_py_compile
needs_pytest = {'pytest', 'test'}.intersection(sys.argv)
pytest_runner = ['pytest_runner'] if needs_pytest else []
needs_wheel = {'bdist_wheel'}.intersection(sys.argv)
wheel = ['wheel'] if needs_wheel else []
# 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",
]}
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=versioneer.get_version(),
description="Tools to manipulate font files",
author="Just van Rossum",
author_email="just@letterror.com",
maintainer="Behdad Esfahbod",
maintainer_email="behdad@behdad.org",
url="http://github.com/fonttools/fonttools",
license="OpenSource, BSD-style",
platforms=["Any"],
long_description=long_description,
package_dir={'': 'Lib'},
packages=find_packages("Lib"),
py_modules=['sstruct', 'xmlWriter'],
include_package_data=True,
data_files=[
('share/man/man1', ["Doc/ttx.1"])
] if sys.platform.startswith('linux') else [],
setup_requires=pytest_runner + wheel,
tests_require=[
'pytest>=2.8',
],
entry_points={
'console_scripts': [
"fonttools = fontTools.__main__:main",
"ttx = fontTools.ttx:main",
"pyftsubset = fontTools.subset:main",
"pyftmerge = fontTools.merge:main",
"pyftinspect = fontTools.inspect:main"
]
},
cmdclass=versioneer.get_cmdclass(),
**classifiers
)