Wednesday, August 5, 2009

WinTTX 2.2

Getting TTX 2.2 svn trunk r568 compiled with Python 2.6 py2exe 0.6.9.

WinTTX-2.2-svn-trunk-r568.7z

with modified setup.py:
#! /usr/bin/env python
import psyco
psyco.full()

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.
"""

py2exe_options = dict(
                      excludes=['_ssl',  # Exclude _ssl
                                '_hashlib',"bz2", "_ctypes",'_socket',
                                'doctest',"pywin", "pywin.debugger", "pywin.debugger.dbgcon",
                                "pywin.dialogs", "pywin.dialogs.list",
                                "Tkconstants","Tkinter","tcl",
                                "compiler","email","ctypes","logging","unicodedata",
                                "pydoc_topics","pydoc","httplib","cookielib","cookielib","urllib",
                                'pickle', 'calendar'],  # Exclude standard library
                      dll_excludes=['msvcr71.dll'],  # Exclude msvcr71
                      compressed=1,
                      optimize=1,
                      bundle_files=2
                      )

setup(
  name = "fonttools",
  version = "2.2",
  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=[],
   )
  ],
  console=[{'script': 'Tools/ttx', 
                'other_resources': [(u"VERSIONTAG",1,'2.2')],
                             'icon_resources': [(1,'Windows/ttx.ico')]
               }],
  options={'py2exe': py2exe_options},
  cmdclass = {"build_ext": build_ext_optional},
  data_files = [('man/man1', ["Doc/ttx.1"])],
  zipfile = None,
  **classifiers
 )

No comments:

Post a Comment