aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2022-06-20 16:49:55 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2022-06-20 16:53:11 +0000
commit672f96db60a1557abf034ceba9b7636195da5770 (patch)
tree34afa61c0b99ee9345730442c0637abd2a1c1c01
parentda639fa82be472d9d40c9400fbcc197dadb339ac (diff)
downloadports-672f96db60a1557abf034ceba9b7636195da5770.tar.gz
ports-672f96db60a1557abf034ceba9b7636195da5770.zip
science/precice: New port: Coupling library for partitioned multi-physics simulations
-rw-r--r--science/Makefile1
-rw-r--r--science/precice/Makefile33
-rw-r--r--science/precice/distinfo3
-rw-r--r--science/precice/files/patch-CMakeLists.txt11
-rw-r--r--science/precice/pkg-descr5
-rw-r--r--science/precice/pkg-plist16
6 files changed, 69 insertions, 0 deletions
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