95 lines
3.5 KiB
Python
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'],
|
|
},
|
|
)
|