cantera/interfaces/cython/setup.py.in
2016-02-06 07:44:09 -05:00

95 lines
3.5 KiB
Python

import os
from setuptools import setup
# Monkey patch to prevent bdist_msi from incorrectly overwriting the value of
# build-lib specified on the command line.
# See http://bugs.python.org/issue1109963
# This patch works by returning False the first time that the
# 'has_ext_modules' method is called in bdist_msi.run, which is where the
# replacement of build_lib happens. Subsequent calls to 'has_ext_modules'
# should use the correct value so that the resulting installer is specific to
# this Python version. Known to affect Python versions 2.6 through 3.3. If
# this bug is ever fixed, this patch should be made conditional on the Python
# version.
if os.name == 'nt':
from distutils.command.bdist_msi import bdist_msi
bdist_run_orig = bdist_msi.run
def bdist_run_new(self):
has_ext_modules_orig = self.distribution.has_ext_modules
self._first_call = True
def has_ext_modules():
if self._first_call:
self._first_call = False
return False
else:
return has_ext_modules_orig()
self.distribution.has_ext_modules = has_ext_modules
return bdist_run_orig(self)
bdist_msi.run = bdist_run_new
# Copy the long_description from docs/sphinx/index.rst
long_description = """
Cantera is a suite of object-oriented software tools for problems involving
chemical kinetics, thermodynamics, and/or transport processes.
Cantera provides types (or classes) of objects representing phases of
matter, interfaces between these phases, reaction managers, time-dependent
reactor networks, and steady one-dimensional reacting flows. Cantera is
currently used for applications including combustion, detonations,
electrochemical energy conversion and storage, fuel cells, batteries, aqueous
electrolyte solutions, plasmas, and thin film deposition.
Cantera can be used from Python and Matlab, or in applications written
in C++ and Fortran 90.
"""
setup(
name="Cantera",
version="@cantera_version@",
description="The Cantera Python Interface",
long_description=long_description,
author="Raymond Speth",
author_email="speth@mit.edu",
url="http://www.cantera.org",
packages = [
'cantera',
'cantera.data',
'cantera.test',
'cantera.test.data',
'cantera.mixmaster',
'cantera.mixmaster.Units',
'cantera.examples',
],
entry_points={
'console_scripts': [
'ck2cti=cantera.ck2cti:script_entry_point',
'ctml_writer=cantera.ctml_writer:main',
'mixmaster=cantera.mixmaster.__main__:main',
],
},
classifiers=[
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Education',
'Intended Audience :: Science/Research',
'License :: OSI Approved :: BSD License',
'Operating System :: MacOS :: MacOS X',
'Operating System :: Microsoft :: Windows',
'Operating System :: POSIX :: Linux',
'Programming Language :: C++',
'Programming Language :: Fortran',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3.3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Topic :: Scientific/Engineering :: Chemistry',
],
package_data = {
'cantera.data': ['*.*'],
'cantera.test.data': ['*.*'],
'cantera.examples': ['*/*.*'],
'cantera': ["@py_extension@", '*.pxd'],
},
)