diff options
author | Yuri Victorovich <yuri@FreeBSD.org> | 2017-12-30 08:15:36 +0000 |
---|---|---|
committer | Yuri Victorovich <yuri@FreeBSD.org> | 2017-12-30 08:15:36 +0000 |
commit | aa62378ce065850800eb81aa2f0a597d9f4c6662 (patch) | |
tree | 18883a13ab35d57c5348d06395b14a7d4e7571b3 /math/sundials | |
parent | 5860b1bf3dd57443acc9713be54b87ce9e200ecb (diff) | |
download | ports-aa62378ce065850800eb81aa2f0a597d9f4c6662.tar.gz ports-aa62378ce065850800eb81aa2f0a597d9f4c6662.zip |
Notes
Diffstat (limited to 'math/sundials')
-rw-r--r-- | math/sundials/Makefile | 32 | ||||
-rw-r--r-- | math/sundials/files/patch-config_SundialsSuperLUMT.cmake | 11 | ||||
-rw-r--r-- | math/sundials/pkg-plist | 9 |
3 files changed, 32 insertions, 20 deletions
diff --git a/math/sundials/Makefile b/math/sundials/Makefile index 48c5d5368d2f..3b0e977f55ab 100644 --- a/math/sundials/Makefile +++ b/math/sundials/Makefile @@ -2,6 +2,7 @@ PORTNAME= sundials DISTVERSION= 3.1.0 +PORTREVISION= 1 CATEGORIES= math MASTER_SITES= https://computation.llnl.gov/projects/sundials/download/ @@ -39,9 +40,9 @@ 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 @@ -49,33 +50,24 @@ 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 <bsd.port.options.mk> - -.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 diff --git a/math/sundials/files/patch-config_SundialsSuperLUMT.cmake b/math/sundials/files/patch-config_SundialsSuperLUMT.cmake new file mode 100644 index 000000000000..2b0a1670ab19 --- /dev/null +++ b/math/sundials/files/patch-config_SundialsSuperLUMT.cmake @@ -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. diff --git a/math/sundials/pkg-plist b/math/sundials/pkg-plist index 79301da778d0..e280d843babd 100644 --- a/math/sundials/pkg-plist +++ b/math/sundials/pkg-plist @@ -33,6 +33,7 @@ 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 @@ -48,6 +49,7 @@ include/sundials/sundials_iterative.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 @@ -66,6 +68,7 @@ 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 @@ -87,6 +90,9 @@ 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%% @@ -126,6 +132,9 @@ 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%% |