diff options
Diffstat (limited to 'net/openmpi/Makefile')
-rw-r--r-- | net/openmpi/Makefile | 102 |
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> |