git: 3431a612cfd6 - main - net/mpifx: New port: Modern Fortran wrappers around MPI routines

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Mon, 17 Jan 2022 22:41:26 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=3431a612cfd66943494472c69ed1eb6d320c3ada

commit 3431a612cfd66943494472c69ed1eb6d320c3ada
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-01-17 21:14:12 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-01-17 22:41:20 +0000

    net/mpifx: New port: Modern Fortran wrappers around MPI routines
---
 net/Makefile        |  1 +
 net/mpifx/Makefile  | 33 +++++++++++++++++++++++++++++++++
 net/mpifx/distinfo  |  3 +++
 net/mpifx/pkg-descr |  5 +++++
 net/mpifx/pkg-plist | 27 +++++++++++++++++++++++++++
 5 files changed, 69 insertions(+)

diff --git a/net/Makefile b/net/Makefile
index a32e91c00b44..3e31076f3f2e 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -471,6 +471,7 @@
     SUBDIR += mpd5
     SUBDIR += mpich
     SUBDIR += mpich2
+    SUBDIR += mpifx
     SUBDIR += mping
     SUBDIR += mptsd
     SUBDIR += mrouted
diff --git a/net/mpifx/Makefile b/net/mpifx/Makefile
new file mode 100644
index 000000000000..db7eb448aed5
--- /dev/null
+++ b/net/mpifx/Makefile
@@ -0,0 +1,33 @@
+PORTNAME=	mpifx
+DISTVERSION=	1.2
+CATEGORIES=	net devel
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Modern Fortran wrappers around MPI routines
+
+LICENSE=	BSD2CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	fypp:devel/py-fypp@${PY_FLAVOR}
+LIB_DEPENDS=	libmpi.so:net/mpich
+
+USES=		cmake:testing fortran python:build
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	dftbplus
+
+CMAKE_ON=	BUILD_SHARED_LIBS
+
+post-test: # run test programs # at least one test crashes, see https://github.com/dftbplus/mpifx/issues/35
+.for f in test_allgather test_allgatherv test_allreduce test_bcast test_comm_split test_gather test_gatherv test_reduce test_scatter test_scatterv
+	cd ${BUILD_WRKSRC}/test && ./${f}
+.endfor
+
+.include <bsd.port.pre.mk>
+
+.if ${GCC_DEFAULT} >= 10
+# workaround for Type mismatch in argument 'cc' at (1); passed COMPLEX(8) to REAL(8)
+FFLAGS+=	-fallow-argument-mismatch
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/net/mpifx/distinfo b/net/mpifx/distinfo
new file mode 100644
index 000000000000..19e5b73ec8f1
--- /dev/null
+++ b/net/mpifx/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1642451768
+SHA256 (dftbplus-mpifx-1.2_GH0.tar.gz) = 1f02574856537ec58ebbf0312d951f24e41ea0ccf36b6ef9dccbb105fd04b50f
+SIZE (dftbplus-mpifx-1.2_GH0.tar.gz) = 58278
diff --git a/net/mpifx/pkg-descr b/net/mpifx/pkg-descr
new file mode 100644
index 000000000000..d076335605ce
--- /dev/null
+++ b/net/mpifx/pkg-descr
@@ -0,0 +1,5 @@
+MpiFx provides modern Fortran (Fortran 2003) wrappers around routines
+of the MPI library to make their use as simple as possible. Currently
+several data distribution routines are covered.
+
+WWW: https://github.com/dftbplus/mpifx
diff --git a/net/mpifx/pkg-plist b/net/mpifx/pkg-plist
new file mode 100644
index 000000000000..a5b52b5c3830
--- /dev/null
+++ b/net/mpifx/pkg-plist
@@ -0,0 +1,27 @@
+include/mpifx/modfiles/libmpifx_module.mod
+include/mpifx/modfiles/mpifx_abort_module.mod
+include/mpifx/modfiles/mpifx_allgather_module.mod
+include/mpifx/modfiles/mpifx_allgatherv_module.mod
+include/mpifx/modfiles/mpifx_allreduce_module.mod
+include/mpifx/modfiles/mpifx_barrier_module.mod
+include/mpifx/modfiles/mpifx_bcast_module.mod
+include/mpifx/modfiles/mpifx_comm_module.mod
+include/mpifx/modfiles/mpifx_common_module.mod
+include/mpifx/modfiles/mpifx_constants_module.mod
+include/mpifx/modfiles/mpifx_finalize_module.mod
+include/mpifx/modfiles/mpifx_gather_module.mod
+include/mpifx/modfiles/mpifx_gatherv_module.mod
+include/mpifx/modfiles/mpifx_get_processor_name_module.mod
+include/mpifx/modfiles/mpifx_helper_module.mod
+include/mpifx/modfiles/mpifx_init_module.mod
+include/mpifx/modfiles/mpifx_recv_module.mod
+include/mpifx/modfiles/mpifx_reduce_module.mod
+include/mpifx/modfiles/mpifx_scatter_module.mod
+include/mpifx/modfiles/mpifx_scatterv_module.mod
+include/mpifx/modfiles/mpifx_send_module.mod
+lib/cmake/mpifx/mpifx-config-version.cmake
+lib/cmake/mpifx/mpifx-config.cmake
+lib/cmake/mpifx/mpifx-targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/mpifx/mpifx-targets.cmake
+lib/libmpifx.so
+libdata/pkgconfig/mpifx.pc