diff --git a/math/sundials/Makefile b/math/sundials/Makefile index 2649cccb2c2d..44916c08392b 100644 --- a/math/sundials/Makefile +++ b/math/sundials/Makefile @@ -1,70 +1,71 @@ PORTNAME= sundials DISTVERSION= 6.2.0 +PORTREVISION= 1 CATEGORIES= math MASTER_SITES= https://github.com/LLNL/sundials/releases/download/v${DISTVERSION}/ MAINTAINER= yuri@FreeBSD.org COMMENT= SUite of Nonlinear and DIfferential/ALgebraic Equation Solvers LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE USES= cmake:testing fortran localbase:ldflags python:build USE_LDCONFIG= yes CMAKE_ARGS= -DENABLE_PTHREAD:BOOL=ON \ - -DBUILD_STATIC_LIBS:BOOL=OFF + -DBUILD_STATIC_LIBS:BOOL=OFF \ + -DCMAKE_C_STANDARD=99 CMAKE_OFF= EXAMPLES_ENABLE_C EXAMPLES_ENABLE_CXX EXAMPLES_ENABLE_F77 EXAMPLES_ENABLE_F90 CMAKE_TESTING_ON= SUNDIALS_TEST_UNITTESTS \ EXAMPLES_ENABLE_C EXAMPLES_ENABLE_CXX EXAMPLES_ENABLE_F77 EXAMPLES_ENABLE_F90 FCFLAGS:= ${FFLAGS} # project checks that these flags are equal -OPTIONS_DEFINE= BLAS LAPACK MPI # OPENMP detection is broken in cmake: https://gitlab.kitware.com/cmake/cmake/issues/17474; EXAMPLES are broken on some systems due to CLOCK_MONOTONIC -#OPTIONS_DEFAULT= LAPACK # LAPACK is broken +OPTIONS_DEFINE= BLAS EXAMPLES LAPACK MPI OPENMP +OPTIONS_DEFAULT= LAPACK OPTIONS_GROUP= VECTORS OPTIONS_GROUP_VECTORS= HYPRE PETSC VECTORS_DESC= Alternative vector libraries OPTIONS_SUB= yes BLAS_DESC= Enable BLAS support -BLAS_CMAKE_BOOL= BLAS_ENABLE +BLAS_CMAKE_BOOL= ENABLE_BLAS BLAS_USES= blaslapack:openblas -BLAS_CMAKE_ON= -DFREEBSD_GCC_DIR:STRING=${LOCALBASE}/lib/gcc${GCC_DEFAULT:S/.//} # assumes that fortran:gcc is used #EXAMPLES_CMAKE_BOOL= EXAMPLES_ENABLE_C EXAMPLES_ENABLE_CXX EXAMPLES_ENABLE_F77 EXAMPLES_ENABLE_F90 #EXAMPLES_CMAKE_ON= -DEXAMPLES_INSTALL_PATH=${EXAMPLESDIR} #PORTEXAMPLES= * HYPRE_DESC= HYPRE vectors support (also enables MPI) HYPRE_CMAKE_BOOL= ENABLE_HYPRE HYPRE_CMAKE_ON= -DHYPRE_INCLUDE_DIR=${LOCALBASE}/include \ -DHYPRE_LIBRARY_DIR=${LOCALBASE}/lib HYPRE_LIB_DEPENDS= libHYPRE.so:science/hypre # maybe is broken due to https://github.com/hypre-space/hypre/issues/464 HYPRE_IMPLIES= MPI HYPRE_PREVENTS= LAPACK # error: Incompatible sunindextype for LAPACK; disable LAPACK and rebuild +HYPRE_BROKEN= ERROR: SUNDIALS interface to HYPRE is not functional. LAPACK_DESC= Use Lapack linear algebra (sets SUNDIALS_INDEX_TYPE=int32) LAPACK_USES= blaslapack:openblas LAPACK_CMAKE_BOOL= ENABLE_LAPACK -LAPACK_CMAKE_ON= -DSUNDIALS_INDEX_TYPE:STRING=int64_t \ - -DFREEBSD_GCC_DIR:STRING=${LOCALBASE}/lib/gcc${GCC_DEFAULT:S/.//} # assumes that fortran:gcc is used -LAPACK_BROKEN= Ignores LDFLAGS and fails to find lapack: https://github.com/LLNL/sundials/issues/74 -MPI_CMAKE_ON= -DMPI_ENABLE:BOOL=ON +MPI_CMAKE_BOOL= ENABLE_MPI MPI_LIB_DEPENDS= libmpich.so:net/mpich +OPENMP_CMAKE_BOOL= ENABLE_OPENMP + PETSC_DESC= PETSc vectors support (also enables MPI) PETSC_CMAKE_BOOL= ENABLE_PETSC PETSC_CMAKE_ON= -DPETSC_DIR=${LOCALBASE} \ -DPETSC_INCLUDE_DIR=${LOCALBASE}/include \ -DPETSC_LIBRARY_DIR=${LOCALBASE}/lib PETSC_LIB_DEPENDS= libpetsc.so:science/PETSc PETSC_IMPLIES= MPI PETSC_PREVENTS= LAPACK # error: Incompatible sunindextype for LAPACK; disable LAPACK and rebuild PETSC_BROKEN= ERROR: PETSc not functional due to index size mismatch: SUNDIALS_INDEX_SIZE=64, but PETSc was built with 32-bit indices post-install: @${RM} ${STAGEDIR}${PREFIX}/include/sundials/LICENSE .include diff --git a/math/sundials/pkg-plist b/math/sundials/pkg-plist index 87960a1f948c..0d167a1df2d1 100644 --- a/math/sundials/pkg-plist +++ b/math/sundials/pkg-plist @@ -1,166 +1,168 @@ include/arkode/arkode.h include/arkode/arkode_arkstep.h include/arkode/arkode_bandpre.h include/arkode/arkode_bbdpre.h include/arkode/arkode_butcher.h include/arkode/arkode_butcher_dirk.h include/arkode/arkode_butcher_erk.h include/arkode/arkode_erkstep.h include/arkode/arkode_ls.h include/arkode/arkode_mristep.h include/cvode/cvode.h include/cvode/cvode_bandpre.h include/cvode/cvode_bbdpre.h include/cvode/cvode_diag.h include/cvode/cvode_direct.h include/cvode/cvode_ls.h include/cvode/cvode_proj.h include/cvode/cvode_spils.h include/cvodes/cvodes.h include/cvodes/cvodes_bandpre.h include/cvodes/cvodes_bbdpre.h include/cvodes/cvodes_diag.h include/cvodes/cvodes_direct.h include/cvodes/cvodes_ls.h include/cvodes/cvodes_proj.h include/cvodes/cvodes_spils.h include/ida/ida.h include/ida/ida_bbdpre.h include/ida/ida_direct.h include/ida/ida_ls.h include/ida/ida_spils.h include/idas/idas.h include/idas/idas_bbdpre.h include/idas/idas_direct.h include/idas/idas_ls.h include/idas/idas_spils.h include/kinsol/kinsol.h include/kinsol/kinsol_bbdpre.h include/kinsol/kinsol_direct.h include/kinsol/kinsol_ls.h include/kinsol/kinsol_spils.h include/nvector/nvector_manyvector.h %%MPI%%include/nvector/nvector_mpimanyvector.h %%MPI%%include/nvector/nvector_mpiplusx.h +%%OPENMP%%include/nvector/nvector_openmp.h %%MPI%%include/nvector/nvector_parallel.h %%HYPRE%%include/nvector/nvector_parhyp.h %%PETSC%%include/nvector/nvector_petsc.h include/nvector/nvector_pthreads.h include/nvector/nvector_serial.h include/sundials/NOTICE include/sundials/sundials_band.h include/sundials/sundials_config.h include/sundials/sundials_context.h include/sundials/sundials_dense.h include/sundials/sundials_direct.h include/sundials/sundials_export.h include/sundials/sundials_iterative.h %%LAPACK%%include/sundials/sundials_lapack.h include/sundials/sundials_linearsolver.h include/sundials/sundials_logger.h include/sundials/sundials_math.h include/sundials/sundials_matrix.h include/sundials/sundials_memory.h %%MPI%%include/sundials/sundials_mpi_types.h include/sundials/sundials_nonlinearsolver.h include/sundials/sundials_nvector.h include/sundials/sundials_profiler.h include/sundials/sundials_types.h include/sundials/sundials_version.h include/sunlinsol/sunlinsol_band.h include/sunlinsol/sunlinsol_dense.h %%LAPACK%%include/sunlinsol/sunlinsol_lapackband.h %%LAPACK%%include/sunlinsol/sunlinsol_lapackdense.h include/sunlinsol/sunlinsol_pcg.h include/sunlinsol/sunlinsol_spbcgs.h include/sunlinsol/sunlinsol_spfgmr.h include/sunlinsol/sunlinsol_spgmr.h include/sunlinsol/sunlinsol_sptfqmr.h include/sunmatrix/sunmatrix_band.h include/sunmatrix/sunmatrix_dense.h include/sunmatrix/sunmatrix_sparse.h include/sunmemory/sunmemory_system.h include/sunnonlinsol/sunnonlinsol_fixedpoint.h include/sunnonlinsol/sunnonlinsol_newton.h lib/cmake/sundials/SUNDIALSConfig.cmake lib/cmake/sundials/SUNDIALSConfigVersion.cmake lib/cmake/sundials/SUNDIALSTargets-%%CMAKE_BUILD_TYPE%%.cmake lib/cmake/sundials/SUNDIALSTargets.cmake lib/libsundials_arkode.so lib/libsundials_arkode.so.5 lib/libsundials_arkode.so.5.2.0 lib/libsundials_cvode.so lib/libsundials_cvode.so.6 lib/libsundials_cvode.so.6.2.0 lib/libsundials_cvodes.so lib/libsundials_cvodes.so.6 lib/libsundials_cvodes.so.6.2.0 lib/libsundials_generic.so lib/libsundials_generic.so.6 lib/libsundials_generic.so.6.2.0 lib/libsundials_ida.so lib/libsundials_ida.so.6 lib/libsundials_ida.so.6.2.0 lib/libsundials_idas.so lib/libsundials_idas.so.5 lib/libsundials_idas.so.5.2.0 lib/libsundials_kinsol.so lib/libsundials_kinsol.so.6 lib/libsundials_kinsol.so.6.2.0 lib/libsundials_nvecmanyvector.so lib/libsundials_nvecmanyvector.so.6 lib/libsundials_nvecmanyvector.so.6.2.0 %%MPI%%lib/libsundials_nvecmpimanyvector.so %%MPI%%lib/libsundials_nvecmpimanyvector.so.6 %%MPI%%lib/libsundials_nvecmpimanyvector.so.6.2.0 %%MPI%%lib/libsundials_nvecmpiplusx.so %%MPI%%lib/libsundials_nvecmpiplusx.so.6 %%MPI%%lib/libsundials_nvecmpiplusx.so.6.2.0 +%%OPENMP%%lib/libsundials_nvecopenmp.so +%%OPENMP%%lib/libsundials_nvecopenmp.so.6 +%%OPENMP%%lib/libsundials_nvecopenmp.so.6.2.0 %%MPI%%lib/libsundials_nvecparallel.so %%MPI%%lib/libsundials_nvecparallel.so.6 %%MPI%%lib/libsundials_nvecparallel.so.6.2.0 %%HYPRE%%lib/libsundials_nvecparhyp.so %%HYPRE%%lib/libsundials_nvecparhyp.so.6 %%HYPRE%%lib/libsundials_nvecparhyp.so.6.2.0 %%PETSC%%lib/libsundials_nvecpetsc.so %%PETSC%%lib/libsundials_nvecpetsc.so.6 %%PETSC%%lib/libsundials_nvecpetsc.so.6.2.0 lib/libsundials_nvecpthreads.so lib/libsundials_nvecpthreads.so.6 lib/libsundials_nvecpthreads.so.6.2.0 lib/libsundials_nvecserial.so lib/libsundials_nvecserial.so.6 lib/libsundials_nvecserial.so.6.2.0 lib/libsundials_sunlinsolband.so lib/libsundials_sunlinsolband.so.4.2.0 lib/libsundials_sunlinsoldense.so lib/libsundials_sunlinsoldense.so.4.2.0 %%LAPACK%%lib/libsundials_sunlinsollapackband.so -%%LAPACK%%lib/libsundials_sunlinsollapackband.so.%%SHLX1%% -%%LAPACK%%lib/libsundials_sunlinsollapackband.so.%%SHLX3%% +%%LAPACK%%lib/libsundials_sunlinsollapackband.so.4.2.0 %%LAPACK%%lib/libsundials_sunlinsollapackdense.so -%%LAPACK%%lib/libsundials_sunlinsollapackdense.so.%%SHLX1%% -%%LAPACK%%lib/libsundials_sunlinsollapackdense.so.%%SHLX3%% +%%LAPACK%%lib/libsundials_sunlinsollapackdense.so.4.2.0 lib/libsundials_sunlinsolpcg.so lib/libsundials_sunlinsolpcg.so.4.2.0 lib/libsundials_sunlinsolspbcgs.so lib/libsundials_sunlinsolspbcgs.so.4.2.0 lib/libsundials_sunlinsolspfgmr.so lib/libsundials_sunlinsolspfgmr.so.4.2.0 lib/libsundials_sunlinsolspgmr.so lib/libsundials_sunlinsolspgmr.so.4.2.0 lib/libsundials_sunlinsolsptfqmr.so lib/libsundials_sunlinsolsptfqmr.so.4.2.0 lib/libsundials_sunmatrixband.so lib/libsundials_sunmatrixband.so.4 lib/libsundials_sunmatrixband.so.4.2.0 lib/libsundials_sunmatrixdense.so lib/libsundials_sunmatrixdense.so.4 lib/libsundials_sunmatrixdense.so.4.2.0 lib/libsundials_sunmatrixsparse.so lib/libsundials_sunmatrixsparse.so.4 lib/libsundials_sunmatrixsparse.so.4.2.0 lib/libsundials_sunnonlinsolfixedpoint.so lib/libsundials_sunnonlinsolfixedpoint.so.3.2.0 lib/libsundials_sunnonlinsolnewton.so lib/libsundials_sunnonlinsolnewton.so.3.2.0