1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-19 08:13:21 +00:00
freebsd-ports/science/bout++/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

115 lines
4.1 KiB
Makefile

PORTNAME= bout++
DISTVERSIONPREFIX= v
DISTVERSION= 4.4.2
PORTREVISION= 3
CATEGORIES= science math # physics
MAINTAINER= yuri@FreeBSD.org
COMMENT= Plasma fluid finite-difference simulation code
WWW= https://boutproject.github.io/
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= gmake:devel/gmake
LIB_DEPENDS= libfftw3.so:math/fftw3 \
libopenblas.so:math/openblas \
libuuid.so:misc/e2fsprogs-libuuid
RUN_DEPENDS= bash:shells/bash
USES= cmake:testing python gettext-runtime shebangfix
USE_LDCONFIG= yes
USE_GITHUB= yes
GH_ACCOUNT= boutproject
GH_PROJECT= BOUT-dev
GH_TUPLE= boutproject:boutdata:3a66e6c:boutdata/externalpackages/boutdata \
boutproject:boututils:a79a00a:boututils/externalpackages/boututils \
google:googletest:96f4ce0:googletest/externalpackages/googletest \
meitar:git-archive-all.sh:fc86194:git_archive_all_sh/externalpackages/git-archive-all.sh \
mpark:variant:0b488da:variant/externalpackages/mpark.variant
SHEBANG_GLOB= *.sh
SHEBANG_FILES= bin/bout-boutdata-restart-create \
bin/bout-pylib-cmd-to-bin \
bin/bout-sonnet \
bin/bout-stop-script \
bin/bout_3to4.py \
bin/bout_4to5
CMAKE_ON= BUILD_SHARED_LIBS
CMAKE_OFF= BOUT_TESTS
CMAKE_TESTING_ON= BOUT_TESTS # tests fail to build, see https://github.com/boutproject/BOUT-dev/issues/2618
CXXFLAGS+= -I${WRKSRC}/include
LDFLAGS+= -lexecinfo
OPTIONS_DEFINE= OPENMP PETSC SLEPC SUNDIALS
OPTIONS_MULTI= FORMAT
OPTIONS_MULTI_FORMAT= HDF5 NETCDF
OPTIONS_SINGLE= MPI
OPTIONS_SINGLE_MPI= MPICH OPENMPI
OPTIONS_DEFAULT= MPICH NETCDF # PETSC SLEPC: not compatible with the latest petsc-3.18.4
FORMAT_DESC= File format support
HDF5_CMAKE_BOOL= BOUT_USE_HDF5
HDF5_LIB_DEPENDS= libhdf5.so:science/hdf5
NETCDF_USES= localbase:ldflags pkgconfig # because of the cmake patch in files/
NETCDF_CMAKE_BOOL= BOUT_USE_NETCDF
NETCDF_LIB_DEPENDS= libnetcdf_c++4.so:science/netcdf-cxx \
libnetcdf.so:science/netcdf
MPICH_USES= mpi:mpich
OPENMP_CMAKE_BOOL= BOUT_ENABLE_OPENMP
OPRNMP_BROKEN= SEGV when OpenMP is enabled, see https://github.com/boutproject/BOUT-dev/issues/2620
OPENMPI_USES= mpi:openmpi
PETSC_DESC= Build with PETSc support
PETSC_CMAKE_BOOL= BOUT_USE_PETSC
PETSC_LIB_DEPENDS= libpetsc.so:science/PETSc
SLEPC_DESC= Build with SLEPc support
SLEPC_CMAKE_BOOL= BOUT_USE_SLEPC
SLEPC_LIB_DEPENDS= libslepc.so:math/slepc
SLEPC_IMPLIES= PETSC # build breaks w/out petsc
SUNDIALS_DESC= Build with Sundials support
SUNDIALS_CMAKE_BOOL= BOUT_USE_SUNDIALS
SUNDIALS_CMAKE_ON= -DBOUT_DOWNLOAD_SUNDIALS=OFF
SUNDIALS_BROKEN= fails to build with sundials, see https://github.com/boutproject/BOUT-dev/issues/2617
BINARY_ALIAS= make=${GMAKE}
.if defined(WITH_EXAMPLES) # Build executables demonstrating BOUT++ capabilities. They aren't installed and don't need to be built for packaging.
CMAKE_ON+= BOUT_BUILD_EXAMPLES
.endif
post-install:
# workaround for /usr/local/lib/cmake/bout++/bout++Config.cmake:if
@${REINPLACE_CMD} -i '' \
-e 's|${BUILD_WRKSRC}/externalpackages/mpark.variant|${PREFIX}/lib/cmake/mpark_variant|' \
-e 's|${BUILD_WRKSRC}/externalpackages/PVODE|${PREFIX}/lib/cmake/PVODE|' \
-e 's|${WRKSRC}/cmake|${PREFIX}/lib/cmake/bout++|' \
${STAGEDIR}${PREFIX}/lib/cmake/bout++/bout++Config.cmake
# remove *.orig files created by patching
@${RM} ${STAGEDIR}${PREFIX}/include/*.orig
# install missing PVODE cmake files
@${RM} ${STAGEDIR}${PREFIX}/lib/cmake/PVODE/*
${INSTALL_DATA} ${BUILD_WRKSRC}/externalpackages/PVODE/PVODEConfig.cmake ${STAGEDIR}${PREFIX}/lib/cmake/PVODE
${INSTALL_DATA} ${BUILD_WRKSRC}/externalpackages/PVODE/PVODEConfigVersion.cmake ${STAGEDIR}${PREFIX}/lib/cmake/PVODE
@${REINPLACE_CMD} -i '' \
-e 's|${BUILD_WRKSRC}/lib|${PREFIX}/lib|' \
-e 's|${PORTSDIR}/.*/BOUT-dev-${PORTVERSION}/externalpackages/PVODE/include|${PREFIX}/include|g' \
${STAGEDIR}${PREFIX}/lib/cmake/PVODE/*
@${REINPLACE_CMD} -i '' \
-e 's|INTERFACE_INCLUDE_DIRECTORIES .*|INTERFACE_INCLUDE_DIRECTORIES "${PREFIX}/include"|' \
${STAGEDIR}${PREFIX}/lib/cmake/PVODE/PVODEConfig.cmake
# remove broken link, see https://github.com/boutproject/BOUT-dev/issues/2623
@${RM} ${STAGEDIR}${PREFIX}/bin/bout-squashoutput
.include <bsd.port.mk>