summaryrefslogtreecommitdiff
path: root/net/openmpi/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'net/openmpi/Makefile')
-rw-r--r--net/openmpi/Makefile102
1 files changed, 46 insertions, 56 deletions
diff --git a/net/openmpi/Makefile b/net/openmpi/Makefile
index 2aee01721b2e..ee1d15b1e670 100644
--- a/net/openmpi/Makefile
+++ b/net/openmpi/Makefile
@@ -1,8 +1,7 @@
PORTNAME= openmpi
-PORTVERSION= 4.1.5
-PORTREVISION= 4
+PORTVERSION= 5.0.1
CATEGORIES= net parallel
-MASTER_SITES= http://www.open-mpi.org/software/ompi/v${PORTVERSION:R}/downloads/
+MASTER_SITES= https://download.open-mpi.org/release/open-mpi/v${PORTVERSION:R}/
MAINTAINER= ports@FreeBSD.org
COMMENT= High Performance Message Passing Library
@@ -11,50 +10,52 @@ WWW= https://www.open-mpi.org/
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
+NOT_FOR_ARCHS= armv6 armv7 i386 powerpc
+NOT_FOR_ARCHS_REASON= Not supported on 32-bits - see net/openmpi4
+
LIB_DEPENDS= libhwloc.so.15:devel/hwloc2 \
- libltdl.so:devel/libltdl \
libevent.so:devel/libevent \
- libmunge.so:security/munge
+ libmunge.so:security/munge \
+ libze_loader.so:devel/level-zero
# :keepla because port uses lt_dlopen
-USES= fortran gmake libtool:keepla localbase perl5 \
+USES= compiler:c11 fortran gmake libtool:keepla localbase perl5 \
pkgconfig shebangfix tar:bzip2
-HAS_CONFIGURE= yes
+CONFLICTS_INSTALL= openmpi4-4*
+
USE_PERL5= build
MPIBASE?= mpi
MPIDIR?= ${MPIBASE}/${PKGBASE}
-PLIST_SUB+= MPIBASE=${MPIBASE}
PLIST_SUB+= MPIDIR=${MPIDIR}
-# Workaround for https://github.com/open-mpi/ompi/issues/7516
-CONFIGURE_ENV+= DISABLE_gds_ds12=1 DISABLE_gds_ds21=1
-
-CONFIGURE_ARGS+= --prefix=${PREFIX}/${MPIDIR} \
- --mandir=${PREFIX}/${MPIDIR}/share/man \
- --program-prefix= \
+GNU_CONFIGURE= yes
+GNU_CONFIGURE_PREFIX= ${PREFIX}/${MPIDIR}
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/${MPIDIR}/share
+CONFIGURE_ARGS+= --program-prefix= \
--with-hwloc=external \
- --with-libltdl \
--without-ofi \
- --enable-mpi-fortran=usempi \
- --enable-mpi-cxx \
- --enable-cxx-exceptions \
+ --enable-mpi-fortran=usempif08 \
--with-libevent=external \
--enable-mca-no-build=verbs,btl_openib,oob_ud \
- --without-verbs \
- --with-wrapper-ldflags=-Wl,-rpath=-Wl,-rpath=${LOCALBASE}/lib/gcc${_GCC_VER} \
- ompi_cv_fortran_ignore_tkr_data=0
+ --with-wrapper-ldflags=-Wl,-rpath=-Wl,-rpath=${LOCALBASE}/lib/gcc${_GCC_VER}
+CFLAGS+= ${CFLAGS_F2018}
+
+# See <https://github.com/open-mpi/ompi/issues/9715>
+CONFIGURE_ARGS+= --disable-io-romio
USE_LDCONFIG= ${PREFIX}/${MPIDIR}/lib
+TEST_TARGET= check
+
MANDIRS= ${PREFIX}/${MPIDIR}/share/man
SHEBANG_FILES= ompi/mca/common/monitoring/profile2mat.pl \
ompi/mca/common/monitoring/aggregate_profile.pl
-OPTIONS_DEFINE= AVX DEBUG IPV6 SLURM TORQUE
+OPTIONS_DEFINE= AVX DEBUG DOCS IPV6 SLURM TORQUE
OPTIONS_DEFAULT= SLURM
OPTIONS_EXCLUDE_aarch64= AVX
OPTIONS_EXCLUDE_armv6= AVX SLURM
@@ -77,33 +78,20 @@ AVX_CONFIGURE_OFF= --enable-mca-no-build=op-avx
DEBUG_CONFIGURE_ENABLE= debug
DEBUG_INSTALL_TARGET_OFF= install-strip
+DOCS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinx>0:textproc/py-sphinx@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}recommonmark>0:textproc/py-recommonmark@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}sphinx_rtd_theme>0:textproc/py-sphinx_rtd_theme@${PY_FLAVOR}
+DOCS_USES= python:build
+
IPV6_CONFIGURE_ENABLE= ipv6
TORQUE_CONFIGURE_WITH= tm
TORQUE_LIB_DEPENDS= libtorque.so:sysutils/torque
-TORQUE_PLIST_FILES= ${MPIDIR}/lib/openmpi/mca_plm_tm.so \
- ${MPIDIR}/lib/openmpi/mca_plm_tm.la \
- ${MPIDIR}/lib/openmpi/mca_ras_tm.la \
- ${MPIDIR}/lib/openmpi/mca_ras_tm.so \
- ${MPIDIR}/lib/openmpi/mca_ess_tm.so \
- ${MPIDIR}/lib/openmpi/mca_ess_tm.la \
- ${MPIDIR}/share/openmpi/help-plm-tm.txt \
- ${MPIDIR}/share/openmpi/help-ras-tm.txt
SLURM_CONFIGURE_WITH= slurm
SLURM_LIB_DEPENDS= libslurm.so:sysutils/slurm-wlm
-SLURM_PLIST_FILES= ${MPIDIR}/lib/openmpi/mca_ess_slurm.la \
- ${MPIDIR}/lib/openmpi/mca_ess_slurm.so \
- ${MPIDIR}/lib/openmpi/mca_plm_slurm.la \
- ${MPIDIR}/lib/openmpi/mca_plm_slurm.so \
- ${MPIDIR}/lib/openmpi/mca_ras_slurm.la \
- ${MPIDIR}/lib/openmpi/mca_ras_slurm.so \
- ${MPIDIR}/lib/openmpi/mca_schizo_slurm.la \
- ${MPIDIR}/lib/openmpi/mca_schizo_slurm.so \
- ${MPIDIR}/share/openmpi/help-plm-slurm.txt \
- ${MPIDIR}/share/openmpi/help-ras-slurm.txt
-
-.include <bsd.port.options.mk>
+
+.include <bsd.port.pre.mk>
.if ${FORTRAN_DEFAULT} == gfortran && ${GCC_DEFAULT} >= 10
FCFLAGS+= -fallow-argument-mismatch
@@ -115,17 +103,19 @@ PLIST_SUB+= NO_MCA_PATCHER_OVERWRITE="@comment "
PLIST_SUB+= NO_MCA_PATCHER_OVERWRITE=""
.endif
-post-patch:
- @${REINPLACE_CMD} -e 's|$$(libdir)/pkgconfig|${LOCALBASE}/libdata/pkgconfig|g' \
- ${WRKSRC}/ompi/tools/wrappers/Makefile.am \
- ${WRKSRC}/ompi/tools/wrappers/Makefile.in \
- ${WRKSRC}/opal/tools/wrappers/Makefile.am \
- ${WRKSRC}/opal/tools/wrappers/Makefile.in \
- ${WRKSRC}/orte/tools/wrappers/Makefile.am \
- ${WRKSRC}/orte/tools/wrappers/Makefile.in \
- ${WRKSRC}/opal/mca/pmix/pmix3x/pmix/Makefile.am \
- ${WRKSRC}/opal/mca/pmix/pmix3x/pmix/Makefile.in
- @${REINPLACE_CMD} 's|define MCA_hwloc_external_.*header "|&${LOCALBASE}/include/|' \
- ${WRKSRC}/configure
-
-.include <bsd.port.mk>
+.if ${COMPILER_TYPE} == clang && ${COMPILER_VERSION} >= 170
+PLIST_SUB+= SHORTFLOAT=""
+.else
+PLIST_SUB+= SHORTFLOAT="@comment "
+.endif
+
+LIBDIR2FIX= oshmem/tools/wrappers opal/tools/wrappers \
+ 3rd-party/openpmix ompi/tools/wrappers
+
+pre-configure:
+.for d in ${LIBDIR2FIX}
+ ${REINPLACE_CMD} -e 's|$$(libdir)/pkgconfig|${LOCALBASE}/libdata/pkgconfig|g' \
+ ${WRKSRC}/${d}/Makefile.in
+.endfor
+
+.include <bsd.port.post.mk>