The tests now include subdirectories with data files, so those should be installed with the rest of the data files
99 lines
3.5 KiB
Python
99 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.7. 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
|
|
|
|
# Monkey patch to resolve https://bugs.python.org/issue34251
|
|
# (Affects Python 3.7.0)
|
|
if os.name == 'nt':
|
|
import msilib
|
|
msilib.Win64 = msilib.AMD64
|
|
|
|
# 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.examples',
|
|
],
|
|
entry_points={
|
|
'console_scripts': [
|
|
'ck2cti=cantera.ck2cti:script_entry_point',
|
|
'ctml_writer=cantera.ctml_writer: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 :: 3.3',
|
|
'Programming Language :: Python :: 3.4',
|
|
'Programming Language :: Python :: 3.5',
|
|
'Programming Language :: Python :: 3.6',
|
|
'Programming Language :: Python :: 3.7',
|
|
'Topic :: Scientific/Engineering :: Chemistry',
|
|
],
|
|
package_data = {
|
|
'cantera.data': ['*.*'],
|
|
'cantera.test.data': ['*.*', '*/*.*'],
|
|
'cantera.examples': ['*/*.*'],
|
|
'cantera': ["@py_extension@", '*.pxd'],
|
|
},
|
|
)
|