freebsd-ports/science/cantera/Makefile
Rene Ladan 3d9a815d9c all: remove explicit versions in USES=python for "3.x+"
The logic in USES=python will automatically convert this to 3.8+ by
itself.

Adjust two ports that only had Python 3.7 mentioned but build fine
on Python 3.8 too.

finance/quickfix: mark BROKEN with PYTHON

libtool: compile:  c++ -DHAVE_CONFIG_H -I. -I../.. -I -I. -I.. -I../.. -I../C++ -DLIBICONV_PLUG -DPYTHON_MAJOR_VERSION=3 -Wno-unused-variable -Wno-maybe-uninitialized -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -fno-strict-aliasing -DLIBICONV_PLUG -Wall -ansi -Wno-unused-command-line-argument -Wpointer-arith -Wwrite-strings -Wno-overloaded-virtual -Wno-deprecated-declarations -Wno-deprecated -std=c++0x -MT _quickfix_la-QuickfixPython.lo -MD -MP -MF .deps/_quickfix_la-QuickfixPython.Tpo -c QuickfixPython.cpp  -fPIC -DPIC -o .libs/_quickfix_la-QuickfixPython.o
warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean '-Wno-uninitialized'? [-Wunknown-warning-option]
QuickfixPython.cpp:175:11: fatal error: 'Python.h' file not found
          ^~~~~~~~~~
1 warning and 1 error generated.

Reviewed by:	portmgr, vishwin, yuri
Differential Revision:	<https://reviews.freebsd.org/D40568>
2023-06-27 21:34:34 +02:00

82 lines
2.9 KiB
Makefile

PORTNAME= cantera
DISTVERSIONPREFIX= v
DISTVERSION= 2.6.0
PORTREVISION= 3
CATEGORIES= science # chemistry physics
MAINTAINER= yuri@FreeBSD.org
COMMENT= Chemical kinetics, thermodynamics, and transport tool suite
WWW= https://cantera.org/
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/License.txt
BUILD_DEPENDS= googletest>0:devel/googletest \
${LOCALBASE}/include/boost/algorithm/string.hpp:devel/boost-libs
LIB_DEPENDS= libfmt.so:devel/libfmt \
libyaml-cpp.so:devel/yaml-cpp
USES= compiler:c++11-lang eigen:3 localbase scons
USE_LDCONFIG= yes
USE_GITHUB= yes
GH_ACCOUNT= Cantera
GH_TUPLE= LLNL:sundials:887af43:sundials/ext/sundials # bundled sundials is only needed for the Octave option
MAKE_ARGS= system_eigen='y' \
system_sundials='n' \
system_fmt='y' \
system_yamlcpp='y' \
googletest='system' \
sundials_include='${LOCALBASE}/include/sundials' \
extra_inc_dirs="${LOCALBASE}/include:${LOCALBASE}/include/eigen3" \
extra_lib_dirs="${LOCALBASE}/lib" \
debug='no' \
cc_flags="${CXXFLAGS}" \
prefix="${PREFIX}"
ALL_TARGET= build
TEST_TARGET= test # some tests fail, see https://github.com/Cantera/cantera/issues/1095
OPTIONS_DEFINE= OCTAVE PYTHON
OPTIONS_DEFAULT= # PYTHON is broken; OCTAVE is off by default because Octave interface is not as frequently requested feature
OPTIONS_SUB= yes
OCTAVE_DESC= Octave support
OCTAVE_MAKE_ARGS= matlab_toolbox=y matlab_path=${LOCALBASE}
OCTAVE_CXXFLAGS= -I${LOCALBASE}/include/octave-${OCTAVE_VERSION}/octave
OCTAVE_LIB_DEPENDS= liboctave.so:math/octave
OCTAVE_SUB_FILES= pkg-message-octave
OCTAVE_USES= octave:env
PYTHON_USES= python
PYTHON_USE= PYTHON=cython
PYTHON_MAKE_ARGS= python_cmd=${PYTHON_CMD} python_package=full
PYTHON_MAKE_ARGS_OFF= python_package="none"
PYTHON_BUILD_DEPENDS= ${PYNUMPY}
PYTHON_RUN_DEPENDS= ${PYNUMPY} \
${PYTHON_PKGNAMEPREFIX}h5py>0:science/py-h5py@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}matplotlib>0:math/py-matplotlib@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pandas>0:math/py-pandas@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}ruamel.yaml>0:devel/py-ruamel.yaml@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}scipy>0:science/py-scipy@${PY_FLAVOR}
PYTHON_BROKEN= https://github.com/Cantera/cantera/issues/1269
do-install:
cd ${WRKSRC} && \
${MAKE_CMD} install \
stage_dir="${STAGEDIR}"
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libcantera_shared.so.2.6.0
do-install-PYTHON-on:
@${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/cantera/_cantera.cpython-${PYTHON_SUFFIX}.so
post-patch-OCTAVE-on: # adjust Octave version in SConscript (python styled os.environ['OCTAVE_VERSION'] somehow doesn't work for this)
@${REINPLACE_CMD} -e "s|, 'bin', 'glnx.*')|, 'lib', 'octave', '${OCTAVE_VERSION}')|" ${WRKSRC}/src/matlab/SConscript
post-install-OCTAVE-on: # adjust .mex file name
@${MV} \
${STAGEDIR}${PREFIX}/lib/cantera/matlab/toolbox/ctmethods.mexa64 \
${STAGEDIR}${PREFIX}/lib/cantera/matlab/toolbox/ctmethods.mex
.include <bsd.port.mk>