git: 672f96db60a1 - main - science/precice: New port: Coupling library for partitioned multi-physics simulations

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Mon, 20 Jun 2022 16:53:16 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=672f96db60a1557abf034ceba9b7636195da5770

commit 672f96db60a1557abf034ceba9b7636195da5770
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-06-20 16:49:55 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-06-20 16:53:11 +0000

    science/precice: New port: Coupling library for partitioned multi-physics simulations
---
 science/Makefile                           |  1 +
 science/precice/Makefile                   | 33 ++++++++++++++++++++++++++++++
 science/precice/distinfo                   |  3 +++
 science/precice/files/patch-CMakeLists.txt | 11 ++++++++++
 science/precice/pkg-descr                  |  5 +++++
 science/precice/pkg-plist                  | 16 +++++++++++++++
 6 files changed, 69 insertions(+)

diff --git a/science/Makefile b/science/Makefile
index fa98002f91a9..06c04580a862 100644
--- a/science/Makefile
+++ b/science/Makefile
@@ -242,6 +242,7 @@
     SUBDIR += phonopy
     SUBDIR += plumed
     SUBDIR += pnetcdf
+    SUBDIR += precice
     SUBDIR += pulseview
     SUBDIR += py-DendroPy
     SUBDIR += py-GPy
diff --git a/science/precice/Makefile b/science/precice/Makefile
new file mode 100644
index 000000000000..e6da4a1f5371
--- /dev/null
+++ b/science/precice/Makefile
@@ -0,0 +1,33 @@
+PORTNAME=	precice
+DISTVERSIONPREFIX=	v
+DISTVERSION=	2.4.0
+CATEGORIES=	science # physics
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Coupling library for partitioned multi-physics simulations
+
+LICENSE=	LGPL3
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+LIB_DEPENDS=	libboost_system.so:devel/boost-libs \
+		libmpicxx.so:net/mpich \
+		libpetsc.so:science/PETSc
+
+USES=		cmake:noninja,testing compiler:c++14-lang eigen:3 gnome pkgconfig # fails with ninja: phony target 'binprecice' names itself as an input; ignoring
+USE_GNOME=	libxml2
+USE_LDCONFIG=	yes
+
+USE_GITHUB=	yes
+
+CMAKE_OFF=	BUILD_TESTING PRECICE_ENABLE_FORTRAN PRECICE_PythonActions
+
+OPTIONS_DEFINE=	EXAMPLES
+
+PORTEXAMPLES=	*
+
+# several tests are known to fail, see https://github.com/precice/precice/issues/1331
+
+post-install: # remove files which aren't docs
+	@${RM} -r ${STAGEDIR}${PREFIX}/share/doc
+
+.include <bsd.port.mk>
diff --git a/science/precice/distinfo b/science/precice/distinfo
new file mode 100644
index 000000000000..ec753470c6af
--- /dev/null
+++ b/science/precice/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1655718589
+SHA256 (precice-precice-v2.4.0_GH0.tar.gz) = 762e603fbcaa96c4fb0b378b7cb6789d09da0cf6193325603e5eeb13e4c7601c
+SIZE (precice-precice-v2.4.0_GH0.tar.gz) = 1596029
diff --git a/science/precice/files/patch-CMakeLists.txt b/science/precice/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..77b6ab92d538
--- /dev/null
+++ b/science/precice/files/patch-CMakeLists.txt
@@ -0,0 +1,11 @@
+--- CMakeLists.txt.orig	2022-06-20 10:08:50 UTC
++++ CMakeLists.txt
+@@ -461,7 +461,7 @@ endif()
+ 
+ # Install examples
+ install(DIRECTORY examples
+-  DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/precice
++  DESTINATION share/examples/precice
+   PATTERN ".gitignore" EXCLUDE
+   )
+ 
diff --git a/science/precice/pkg-descr b/science/precice/pkg-descr
new file mode 100644
index 000000000000..060a3a18b617
--- /dev/null
+++ b/science/precice/pkg-descr
@@ -0,0 +1,5 @@
+preCICE is an open-source coupling library for partitioned
+multi-physics simulations, including, but not restricted to
+fluid-structure interaction and conjugate heat transfer simulations.
+
+WWW: https://precice.org/
diff --git a/science/precice/pkg-plist b/science/precice/pkg-plist
new file mode 100644
index 000000000000..d590108a64a7
--- /dev/null
+++ b/science/precice/pkg-plist
@@ -0,0 +1,16 @@
+bin/binprecice
+bin/precice-tools
+include/precice/SolverInterface.hpp
+include/precice/SolverInterfaceC.h
+include/precice/Tooling.hpp
+include/precice/types.hpp
+lib/cmake/precice/preciceConfig.cmake
+lib/cmake/precice/preciceConfigVersion.cmake
+lib/cmake/precice/preciceTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/precice/preciceTargets.cmake
+lib/libprecice.so
+lib/libprecice.so.2
+lib/libprecice.so.2.4.0
+libdata/pkgconfig/libprecice.pc
+share/lintian/overrides/libprecice2
+share/man/man1/precice-tools.1.gz