Index: head/math/sundials/Makefile =================================================================== --- head/math/sundials/Makefile (revision 457589) +++ head/math/sundials/Makefile (revision 457590) @@ -1,82 +1,74 @@ # $FreeBSD$ PORTNAME= sundials DISTVERSION= 3.1.0 +PORTREVISION= 1 CATEGORIES= math MASTER_SITES= https://computation.llnl.gov/projects/sundials/download/ MAINTAINER= yuri@FreeBSD.org COMMENT= SUite of Nonlinear and DIfferential/ALgebraic Equation Solvers LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE USES= cmake:outsource,noninja python:build # ninja doesn't support fortran USE_LDCONFIG= yes CMAKE_ARGS= -DPTHREAD_ENABLE:BOOL=ON \ -DBUILD_STATIC_LIBS:BOOL=OFF PLIST_SUB= SHL3=${DISTVERSION} SHL1=${DISTVERSION:R:R} SHLX3=1.1.0 SHLX1=1 SHLY3=2.1.0 SHLY1=2 OPTIONS_DEFINE= BLAS EXAMPLES LAPACK MPI SUPERLUMT # OPENMP detection is broken in cmake: https://gitlab.kitware.com/cmake/cmake/issues/17474 OPTIONS_GROUP= VECTORS OPTIONS_GROUP_VECTORS= HYPRE PETSC VECTORS_DESC= Alternative vector libraries BLAS_DESC= Enable BLAS support HYPRE_DESC= HYPRE vectors support (also enables MPI) LAPACK_DESC= Use Lapack linear algebra (sets SUNDIALS_INDEX_TYPE=int32) PETSC_DESC= PETSc vectors support (also enables MPI) SUPERLUMT_DESC= Sparse matrix factorization through SUPERLUMT OPTIONS_SUB= yes BLAS_CMAKE_BOOL= BLAS_ENABLE BLAS_USES= blaslapack:openblas fortran 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} HYPRE_CMAKE_BOOL= HYPRE_ENABLE HYPRE_CMAKE_ON= -DHYPRE_INCLUDE_DIR=${LOCALBASE}/include \ - -DHYPRE_LIBRARY_DIR=${LOCALBASE}/lib \ - -DMPI_ENABLE:BOOL=ON + -DHYPRE_LIBRARY_DIR=${LOCALBASE}/lib HYPRE_LIB_DEPENDS= libHYPRE.so:science/hypre +HYPRE_IMPLIES= MPI LAPACK_USES= blaslapack:openblas fortran LAPACK_CMAKE_BOOL= LAPACK_ENABLE LAPACK_CMAKE_ON= -DSUNDIALS_INDEX_TYPE:STRING=int32_t \ -DFREEBSD_GCC_DIR:STRING=${LOCALBASE}/lib/gcc${GCC_DEFAULT:S/.//} # assumes that fortran:gcc is used MPI_CMAKE_ON= -DMPI_ENABLE:BOOL=ON +MPI_LIB_DEPENDS= libmpich.so:net/mpich2 PETSC_CMAKE_BOOL= PETSC_ENABLE PETSC_CMAKE_ON= -DPETSC_INCLUDE_DIR=${LOCALBASE}/include \ - -DPETSC_LIBRARY_DIR=${LOCALBASE}/lib \ - -DMPI_ENABLE:BOOL=ON + -DPETSC_LIBRARY_DIR=${LOCALBASE}/lib PETSC_LIB_DEPENDS= libpetsc.so:science/PETSc +PETSC_IMPLIES= MPI -SUPERLU_CMAKE_BOOL= SUPERLUMT_ENABLE -SUPERLU_CMAKE_ON= -DSUPERLUMT_INCLUDE_DIR=${LOCALBASE}/include/superlu_mt \ +SUPERLUMT_CMAKE_BOOL= SUPERLUMT_ENABLE +SUPERLUMT_CMAKE_ON= -DSUPERLUMT_INCLUDE_DIR=${LOCALBASE}/include/superlu_mt \ -DSUPERLUMT_LIBRARY_DIR=${LOCALBASE}/lib \ - -DSUPERLUMT_THREAD_TYPE=Pthread -SUPERLUMT_DEPENDS= libsuperlu_mt_PTHREAD.so:math/superlu_mt + -DSUPERLUMT_THREAD_TYPE=Pthread \ + -DFREEBSD_GCC_DIR:STRING=${LOCALBASE}/lib/gcc${GCC_DEFAULT:S/.//} # assumes that fortran:gcc is used +SUPERLUMT_LIB_DEPENDS= libsuperlu_mt_PTHREAD.so:math/superlu_mt +SUPERLUMT_PREVENTS= LAPACK # LAPACK requires SUNDIALS_INDEX_TYPE=int32, and SUPERLUMT requires SUNDIALS_INDEX_TYPE=int64 PORTEXAMPLES= * - -.include - -.if ${PORT_OPTIONS:MMPI} || ${PORT_OPTIONS:MHYPRE} || ${PORT_OPTIONS:MPETSC} -LIB_DEPENDS+= libmpich.so:net/mpich2 - -PLIST_FILES= include/nvector/nvector_parallel.h \ - include/sundials/sundials_mpi_types.h \ - lib/libsundials_nvecparallel.so \ - lib/libsundials_nvecparallel.so.${DISTVERSION:R:R} \ - lib/libsundials_nvecparallel.so.${DISTVERSION} -.endif post-install: @${RM} ${STAGEDIR}${PREFIX}/LICENSE .include Index: head/math/sundials/files/patch-config_SundialsSuperLUMT.cmake =================================================================== --- head/math/sundials/files/patch-config_SundialsSuperLUMT.cmake (nonexistent) +++ head/math/sundials/files/patch-config_SundialsSuperLUMT.cmake (revision 457590) @@ -0,0 +1,11 @@ +--- config/SundialsSuperLUMT.cmake.orig 2017-12-28 04:44:39 UTC ++++ config/SundialsSuperLUMT.cmake +@@ -61,7 +61,7 @@ if(SUPERLUMT_LIBRARY AND SUPERLUMT_LIBRA + "}\n") + + # Attempt to link the "ltest" executable +- try_compile(LTEST_OK ${SUPERLUMT_TEST_DIR} ${SUPERLUMT_TEST_DIR} ltest OUTPUT_VARIABLE MY_OUTPUT) ++ try_compile(LTEST_OK ${SUPERLUMT_TEST_DIR} ${SUPERLUMT_TEST_DIR} LINK_DIRECTORIES ${FREEBSD_GCC_DIR} ltest OUTPUT_VARIABLE MY_OUTPUT) + + # To ensure we do not use stuff from the previous attempts, + # we must remove the CMakeFiles directory. Property changes on: head/math/sundials/files/patch-config_SundialsSuperLUMT.cmake ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/math/sundials/pkg-plist =================================================================== --- head/math/sundials/pkg-plist (revision 457589) +++ head/math/sundials/pkg-plist (revision 457590) @@ -1,137 +1,146 @@ include/arkode/arkode.h include/arkode/arkode_bandpre.h include/arkode/arkode_bbdpre.h include/arkode/arkode_direct.h include/arkode/arkode_impl.h include/arkode/arkode_spils.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_impl.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_impl.h include/cvodes/cvodes_spils.h include/ida/ida.h include/ida/ida_bbdpre.h include/ida/ida_direct.h include/ida/ida_impl.h include/ida/ida_spils.h include/idas/idas.h include/idas/idas_bbdpre.h include/idas/idas_direct.h include/idas/idas_impl.h include/idas/idas_spils.h include/kinsol/kinsol.h include/kinsol/kinsol_bbdpre.h include/kinsol/kinsol_direct.h include/kinsol/kinsol_impl.h include/kinsol/kinsol_spils.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/sundials_band.h include/sundials/sundials_config.h include/sundials/sundials_dense.h include/sundials/sundials_direct.h include/sundials/sundials_fconfig.h include/sundials/sundials_fnvector.h include/sundials/sundials_iterative.h %%LAPACK%%include/sundials/sundials_lapack.h include/sundials/sundials_linearsolver.h include/sundials/sundials_math.h include/sundials/sundials_matrix.h +%%MPI%%include/sundials/sundials_mpi_types.h include/sundials/sundials_nvector.h include/sundials/sundials_pcg.h include/sundials/sundials_sparse.h include/sundials/sundials_spbcgs.h include/sundials/sundials_spfgmr.h include/sundials/sundials_spgmr.h include/sundials/sundials_sptfqmr.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 +%%SUPERLUMT%%include/sunlinsol/sunlinsol_superlumt.h include/sunmatrix/sunmatrix_band.h include/sunmatrix/sunmatrix_dense.h include/sunmatrix/sunmatrix_sparse.h lib/libsundials_arkode.so lib/libsundials_arkode.so.%%SHLY1%% lib/libsundials_arkode.so.%%SHLY3%% lib/libsundials_cvode.so lib/libsundials_cvode.so.%%SHL1%% lib/libsundials_cvode.so.%%SHL3%% lib/libsundials_cvodes.so lib/libsundials_cvodes.so.%%SHL1%% lib/libsundials_cvodes.so.%%SHL3%% lib/libsundials_ida.so lib/libsundials_ida.so.%%SHL1%% lib/libsundials_ida.so.%%SHL3%% lib/libsundials_idas.so lib/libsundials_idas.so.%%SHLY1%% lib/libsundials_idas.so.%%SHLY3%% lib/libsundials_kinsol.so lib/libsundials_kinsol.so.%%SHL1%% lib/libsundials_kinsol.so.%%SHL3%% +%%MPI%%lib/libsundials_nvecparallel.so +%%MPI%%lib/libsundials_nvecparallel.so.%%SHL1%% +%%MPI%%lib/libsundials_nvecparallel.so.%%SHL3%% %%HYPRE%%lib/libsundials_nvecparhyp.so %%HYPRE%%lib/libsundials_nvecparhyp.so.%%SHL1%% %%HYPRE%%lib/libsundials_nvecparhyp.so.%%SHL3%% %%PETSC%%lib/libsundials_nvecpetsc.so %%PETSC%%lib/libsundials_nvecpetsc.so.%%SHL1%% %%PETSC%%lib/libsundials_nvecpetsc.so.%%SHL3%% lib/libsundials_nvecpthreads.so lib/libsundials_nvecpthreads.so.%%SHL1%% lib/libsundials_nvecpthreads.so.%%SHL3%% lib/libsundials_nvecserial.so lib/libsundials_nvecserial.so.%%SHL1%% lib/libsundials_nvecserial.so.%%SHL3%% lib/libsundials_sunlinsolband.so lib/libsundials_sunlinsolband.so.%%SHLX1%% lib/libsundials_sunlinsolband.so.%%SHLX3%% lib/libsundials_sunlinsoldense.so lib/libsundials_sunlinsoldense.so.%%SHLX1%% lib/libsundials_sunlinsoldense.so.%%SHLX3%% %%LAPACK%%lib/libsundials_sunlinsollapackband.so %%LAPACK%%lib/libsundials_sunlinsollapackband.so.%%SHLX1%% %%LAPACK%%lib/libsundials_sunlinsollapackband.so.%%SHLX3%% %%LAPACK%%lib/libsundials_sunlinsollapackdense.so %%LAPACK%%lib/libsundials_sunlinsollapackdense.so.%%SHLX1%% %%LAPACK%%lib/libsundials_sunlinsollapackdense.so.%%SHLX3%% lib/libsundials_sunlinsolpcg.so lib/libsundials_sunlinsolpcg.so.%%SHLX1%% lib/libsundials_sunlinsolpcg.so.%%SHLX3%% lib/libsundials_sunlinsolspbcgs.so lib/libsundials_sunlinsolspbcgs.so.%%SHLX1%% lib/libsundials_sunlinsolspbcgs.so.%%SHLX3%% lib/libsundials_sunlinsolspfgmr.so lib/libsundials_sunlinsolspfgmr.so.%%SHLX1%% lib/libsundials_sunlinsolspfgmr.so.%%SHLX3%% lib/libsundials_sunlinsolspgmr.so lib/libsundials_sunlinsolspgmr.so.%%SHLX1%% lib/libsundials_sunlinsolspgmr.so.%%SHLX3%% lib/libsundials_sunlinsolsptfqmr.so lib/libsundials_sunlinsolsptfqmr.so.%%SHLX1%% lib/libsundials_sunlinsolsptfqmr.so.%%SHLX3%% +%%SUPERLUMT%%lib/libsundials_sunlinsolsuperlumt.so +%%SUPERLUMT%%lib/libsundials_sunlinsolsuperlumt.so.%%SHLX1%% +%%SUPERLUMT%%lib/libsundials_sunlinsolsuperlumt.so.%%SHLX3%% lib/libsundials_sunmatrixband.so lib/libsundials_sunmatrixband.so.%%SHLX1%% lib/libsundials_sunmatrixband.so.%%SHLX3%% lib/libsundials_sunmatrixdense.so lib/libsundials_sunmatrixdense.so.%%SHLX1%% lib/libsundials_sunmatrixdense.so.%%SHLX3%% lib/libsundials_sunmatrixsparse.so lib/libsundials_sunmatrixsparse.so.%%SHLX1%% lib/libsundials_sunmatrixsparse.so.%%SHLX3%%