svn commit: r457590 - in head/math/sundials: . files

Yuri Victorovich yuri at FreeBSD.org
Sat Dec 30 08:15:38 UTC 2017


Author: yuri
Date: Sat Dec 30 08:15:36 2017
New Revision: 457590
URL: https://svnweb.freebsd.org/changeset/ports/457590

Log:
  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

Added:
  head/math/sundials/files/patch-config_SundialsSuperLUMT.cmake   (contents, props changed)
Modified:
  head/math/sundials/Makefile
  head/math/sundials/pkg-plist

Modified: head/math/sundials/Makefile
==============================================================================
--- head/math/sundials/Makefile	Sat Dec 30 08:12:01 2017	(r457589)
+++ head/math/sundials/Makefile	Sat Dec 30 08:15:36 2017	(r457590)
@@ -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=${EXAMPLESD
 
 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,32 +50,23 @@ 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

Added: head/math/sundials/files/patch-config_SundialsSuperLUMT.cmake
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/math/sundials/files/patch-config_SundialsSuperLUMT.cmake	Sat Dec 30 08:15:36 2017	(r457590)
@@ -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.

Modified: head/math/sundials/pkg-plist
==============================================================================
--- head/math/sundials/pkg-plist	Sat Dec 30 08:12:01 2017	(r457589)
+++ head/math/sundials/pkg-plist	Sat Dec 30 08:15:36 2017	(r457590)
@@ -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%%


More information about the svn-ports-head mailing list