1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-29 05:38:00 +00:00

math/sundials: Changed to using <opt>_IMPLIES for HYPRE and PETSC options, and removed the .include clause

Submitted by:	myself
Reported by:	jbeich
Approved by:	tcberner (mentor)
Differential Revision:	https://reviews.freebsd.org/D13653
This commit is contained in:
Yuri Victorovich 2017-12-30 08:15:36 +00:00
parent 5860b1bf3d
commit aa62378ce0
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=457590
3 changed files with 32 additions and 20 deletions

View File

@ -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

View File

@ -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.

View File

@ -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%%