summaryrefslogtreecommitdiff
path: root/parallel
diff options
context:
space:
mode:
authorthor <thor@pkgsrc.org>2022-08-25 22:09:14 +0000
committerthor <thor@pkgsrc.org>2022-08-25 22:09:14 +0000
commit5883b7bdec49ad0c257e4efe55e2e97732d36290 (patch)
treebe79b9f80c1323b502d1211a724c3f905c8ac4c5 /parallel
parentf2a618f58b94d8cd34d7b8b992b79ccf94d2ceb5 (diff)
downloadpkgsrc-5883b7bdec49ad0c257e4efe55e2e97732d36290.tar.gz
parallel/openmpi: update to 4.1.4
This is a long overdue update with some refinements, notably default-on f90 option. We skipped some major releases, so please excuse me not including the whole changelog. See https://open-mpi.org for more information.
Diffstat (limited to 'parallel')
-rw-r--r--parallel/openmpi/DESCR10
-rw-r--r--parallel/openmpi/Makefile80
-rw-r--r--parallel/openmpi/PLIST441
-rw-r--r--parallel/openmpi/buildlink3.mk6
-rw-r--r--parallel/openmpi/distinfo19
-rw-r--r--parallel/openmpi/options.mk17
-rw-r--r--parallel/openmpi/patches/patch-aa23
-rw-r--r--parallel/openmpi/patches/patch-ai53
-rw-r--r--parallel/openmpi/patches/patch-aj60
-rw-r--r--parallel/openmpi/patches/patch-ak4
-rw-r--r--parallel/openmpi/patches/patch-configure228
-rw-r--r--parallel/openmpi/patches/patch-ompi_mca_io_romio321_romio_configure15
-rw-r--r--parallel/openmpi/patches/patch-ompi_mca_sharedfp_sm_sharedfp__sm.c14
-rw-r--r--parallel/openmpi/patches/patch-opal_asm_asm-data.txt14
-rw-r--r--parallel/openmpi/patches/patch-opal_tools_wrappers_opal__wrapper.c32
15 files changed, 318 insertions, 698 deletions
diff --git a/parallel/openmpi/DESCR b/parallel/openmpi/DESCR
index da7b5e1ef60..76f037fffd3 100644
--- a/parallel/openmpi/DESCR
+++ b/parallel/openmpi/DESCR
@@ -1,11 +1,6 @@
The Open MPI Project is an open source Message Passing Interface
implementation that is developed and maintained by a consortium of
-academic, research, and industry partners. Open MPI is therefore able
-to combine the expertise, technologies, and resources from all across
-the High Performance Computing community in order to build the best
-MPI library available. Open MPI offers advantages for system and
-software vendors, application developers and computer science
-researchers.
+academic, research, and industry partners.
Features implemented or in short-term development for Open MPI include:
- Full MPI-3.1 standards conformance
@@ -24,6 +19,3 @@ Features implemented or in short-term development for Open MPI include:
- Component-based design, documented APIs
- Active, responsive mailing list
- Open source license based on the BSD license
-
-[Note that the pkgsrc version is very old, but still appears to
-support MPI 3.0.]
diff --git a/parallel/openmpi/Makefile b/parallel/openmpi/Makefile
index e412da2b54a..76fd915d0c8 100644
--- a/parallel/openmpi/Makefile
+++ b/parallel/openmpi/Makefile
@@ -1,12 +1,11 @@
-# $NetBSD: Makefile,v 1.50 2022/07/27 14:28:32 wiz Exp $
+# $NetBSD: Makefile,v 1.51 2022/08/25 22:09:14 thor Exp $
-DISTNAME= openmpi-1.10.7
-PKGREVISION= 10
+DISTNAME= openmpi-4.1.4
CATEGORIES= parallel
-MASTER_SITES= https://www.open-mpi.org/software/ompi/v1.10/downloads/
+MASTER_SITES= https://download.open-mpi.org/release/open-mpi/v4.1/
EXTRACT_SUFX= .tar.bz2
-MAINTAINER= asau@inbox.ru
+MAINTAINER= thor@NetBSD.org
HOMEPAGE= https://www.open-mpi.org/
COMMENT= Open source MPI-3.1 implementation
LICENSE= modified-bsd
@@ -15,53 +14,72 @@ CONFLICTS= mpich-[0-9]*
USE_LANGUAGES= c c++
USE_LIBTOOL= yes
-USE_TOOLS+= perl:run
+USE_TOOLS+= perl:run bash:run
GNU_CONFIGURE= yes
-CONFIGURE_ARGS+= --without-slurm
+CONFIG_SHELL= bash
CONFIGURE_ARGS+= --enable-contrib-no-build=vt # in separate package
CONFIGURE_ARGS+= --with-libltdl=${BUILDLINK_PREFIX.libltdl}
-CONFIGURE_ARGS+= --with-hwloc=${BUILDLINK_PREFIX.hwloc}
-CONFIGURE_ARGS+= --with-wrapper-ldflags="-L${PREFIX}/lib ${LINKER_RPATH_FLAG}${PREFIX}/lib"
+# See below about external hwloc.
+#CONFIGURE_ARGS+= --with-hwloc=${BUILDLINK_PREFIX.hwloc}
+# OSHM Needs additional dependencies and also is surpassed with proper MPI
+# functionality. Rare use cases.
+CONFIGURE_ARGS+= --disable-oshmem
CONFIGURE_ARGS+= OPAL_HAVE_LTDL_ADVISE=0
-LIBTOOL_OVERRIDE= ${WRKSRC}/libtool \
- ${WRKSRC}/ompi/contrib/vt/vt/extlib/otf/libtool \
- ${WRKSRC}/ompi/contrib/vt/vt/libtool \
- ${WRKSRC}/ompi/mca/io/romio/romio/libtool
-SHLIBTOOL_OVERRIDE= ${WRKSRC}/config/libtool.m4
-
-# Prevent detection of OpenMP support in order to make PLIST consistent
-BUILDLINK_TRANSFORM= rm:-fopenmp
+LIBTOOL_OVERRIDE= libtool \
+ ompi/contrib/vt/vt/extlib/otf/libtool \
+ ompi/contrib/vt/vt/libtool \
+ ompi/mca/io/romio/romio/libtool
+SHLIBTOOL_OVERRIDE= config/libtool.m4
.include "options.mk"
TEST_TARGET= check
-PLIST_VARS+= linux loadleveler oshmem pstattest shm
-PLIST_VARS+= ignoretkr noignoretkr
+# Unsurprisingly, files that are only produced on GNU/Linux systems.
+PLIST_VARS+= linux
+# \todo Explain. Apparently built if !Linux.
+PLIST_VARS+= pstattest
+# \todo Explain.
+PLIST_VARS+= ignoretkr
+PLIST_VARS+= noignoretkr
+
.if ${OPSYS} == "Linux"
-PLIST.shm= yes
PLIST.linux= yes
-PLIST.loadleveler= yes
-PLIST.oshmem= yes
-PLIST.ignoretkr= yes
-.elif ${OPSYS} == "AIX"
-PLIST.loadleveler= yes
-.elif ${OPSYS} == "DragonFly" || ${OPSYS} == "FreeBSD" || \
- (${OPSYS} == "NetBSD" && exists(/var/shm))
-PLIST.shm= yes
.endif
+
.if ${OPSYS} != "Linux"
PLIST.pstattest= yes
+.endif
+
+.if ${OPSYS} == "Linux" || ${OPSYS} == "NetBSD"
+PLIST.ignoretkr= yes
+.else
+# \todo Explain why on Darwin we don't set one of them.
. if ${OPSYS} != "Darwin"
PLIST.noignoretkr= yes
. endif
.endif
REPLACE_PERL= ompi/tools/wrappers/mpijavac.pl.in
+REPLACE_PERL+= ompi/mca/common/monitoring/*.pl
+
+EGDIR= ${PREFIX}/share/examples/openmpi
+CONF_SAMPLES+= openmpi-default-hostfile openmpi-mca-params.conf
+CONF_SAMPLES+= pmix-mca-params.conf
+.for i in ${CONF_SAMPLES}
+CONF_FILES+= ${EGDIR}/${i} ${PKG_SYSCONFDIR}/${i}
+.endfor
+
+INSTALLATION_DIRS+= ${EGDIR}
+
+post-install:
+.for i in ${CONF_SAMPLES}
+ ${MV} ${DESTDIR}${PKG_SYSCONFDIR}/${i} ${DESTDIR}${EGDIR}/${i}
+.endfor
-#LIBLTDL_CONVENIENCE_SUBDIR= opal/libltdl
-#.include "../../devel/libltdl/convenience.mk" # for "test" target to work
.include "../../devel/libltdl/buildlink3.mk"
-.include "../../parallel/hwloc/buildlink3.mk"
+# Too old, use internal hwloc 2 instead. As hwloc 2 API/ABI is incompatible,
+# upgrade has to be considered carefully.
+#.include "../../parallel/hwloc/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/parallel/openmpi/PLIST b/parallel/openmpi/PLIST
index 374482a9e8b..dbd29ffd6bb 100644
--- a/parallel/openmpi/PLIST
+++ b/parallel/openmpi/PLIST
@@ -1,4 +1,5 @@
-@comment $NetBSD: PLIST,v 1.19 2018/01/04 20:31:28 adam Exp $
+@comment $NetBSD: PLIST,v 1.20 2022/08/25 22:09:14 thor Exp $
+bin/aggregate_profile.pl
bin/mpiCC
bin/mpic++
bin/mpicc
@@ -11,31 +12,20 @@ ${PLIST.java}bin/mpijavac
${PLIST.java}bin/mpijavac.pl
bin/mpirun
bin/ompi-clean
-bin/ompi-ps
bin/ompi-server
-bin/ompi-top
bin/ompi_info
bin/opal_wrapper
bin/orte-clean
-bin/orte-dvm
bin/orte-info
-bin/orte-ps
bin/orte-server
-bin/orte-submit
-bin/orte-top
bin/ortecc
bin/orted
bin/orterun
-${PLIST.oshmem}bin/oshcc
-${PLIST.oshmem}bin/oshfort
-${PLIST.oshmem}bin/oshmem_info
-${PLIST.oshmem}bin/oshrun
-${PLIST.oshmem}bin/shmemcc
-${PLIST.oshmem}bin/shmemfort
-${PLIST.oshmem}bin/shmemrun
+bin/profile2mat.pl
include/mpi-ext.h
include/mpi.h
include/mpi_portable_platform.h
+include/mpif-c-constants-decl.h
${PLIST.f90}include/mpif-config.h
${PLIST.f90}include/mpif-constants.h
include/mpif-ext.h
@@ -46,63 +36,25 @@ ${PLIST.f90}include/mpif-io-handles.h
${PLIST.f90}include/mpif-sentinels.h
include/mpif-sizeof.h
include/mpif.h
-${PLIST.oshmem}include/mpp/shmem.fh
-${PLIST.oshmem}include/mpp/shmem.h
-include/openmpi/ompi/mpi/cxx/comm.h
-include/openmpi/ompi/mpi/cxx/comm_inln.h
-include/openmpi/ompi/mpi/cxx/constants.h
-include/openmpi/ompi/mpi/cxx/datatype.h
-include/openmpi/ompi/mpi/cxx/datatype_inln.h
-include/openmpi/ompi/mpi/cxx/errhandler.h
-include/openmpi/ompi/mpi/cxx/errhandler_inln.h
-include/openmpi/ompi/mpi/cxx/exception.h
-include/openmpi/ompi/mpi/cxx/file.h
-include/openmpi/ompi/mpi/cxx/file_inln.h
-include/openmpi/ompi/mpi/cxx/functions.h
-include/openmpi/ompi/mpi/cxx/functions_inln.h
-include/openmpi/ompi/mpi/cxx/group.h
-include/openmpi/ompi/mpi/cxx/group_inln.h
-include/openmpi/ompi/mpi/cxx/info.h
-include/openmpi/ompi/mpi/cxx/info_inln.h
-include/openmpi/ompi/mpi/cxx/intercomm.h
-include/openmpi/ompi/mpi/cxx/intercomm_inln.h
-include/openmpi/ompi/mpi/cxx/intracomm.h
-include/openmpi/ompi/mpi/cxx/intracomm_inln.h
-include/openmpi/ompi/mpi/cxx/mpicxx.h
-include/openmpi/ompi/mpi/cxx/op.h
-include/openmpi/ompi/mpi/cxx/op_inln.h
-include/openmpi/ompi/mpi/cxx/request.h
-include/openmpi/ompi/mpi/cxx/request_inln.h
-include/openmpi/ompi/mpi/cxx/status.h
-include/openmpi/ompi/mpi/cxx/status_inln.h
-include/openmpi/ompi/mpi/cxx/topology.h
-include/openmpi/ompi/mpi/cxx/topology_inln.h
-include/openmpi/ompi/mpi/cxx/win.h
-include/openmpi/ompi/mpi/cxx/win_inln.h
+include/openmpi/mpiext/mpiext_affinity_c.h
+include/openmpi/mpiext/mpiext_cuda_c.h
+include/openmpi/mpiext/mpiext_pcollreq_c.h
+${PLIST.f90}include/openmpi/mpiext/mpiext_pcollreq_mpifh.h
+include/openmpi/mpiext/pmpiext_pcollreq_c.h
${PLIST.java}include/openmpi/ompi/mpi/java/mpiJava.h
-${PLIST.oshmem}include/openshmem/oshmem/constants.h
-${PLIST.oshmem}include/openshmem/oshmem/frameworks.h
-${PLIST.oshmem}include/openshmem/oshmem/types.h
-${PLIST.oshmem}include/openshmem/oshmem/version.h
-${PLIST.oshmem}include/openshmem/oshmem_config.h
-${PLIST.oshmem}include/pshmem.h
-${PLIST.oshmem}include/pshmemx.h
-${PLIST.oshmem}include/shmem-compat.h
-${PLIST.oshmem}include/shmem.fh
-${PLIST.oshmem}include/shmem.h
-${PLIST.oshmem}include/shmemx.h
+lib/libmca_common_dstore.la
+lib/libmca_common_monitoring.la
+lib/libmca_common_ompio.la
lib/libmca_common_sm.la
lib/libmpi.la
-lib/libmpi_cxx.la
${PLIST.java}lib/libmpi_java.la
${PLIST.f90}lib/libmpi_mpifh.la
${PLIST.f90}${PLIST.noignoretkr}lib/libmpi_usempi.la
-${PLIST.ignoretkr}lib/libmpi_usempi_ignore_tkr.la
+${PLIST.f90}${PLIST.ignoretkr}lib/libmpi_usempi_ignore_tkr.la
${PLIST.f08}lib/libmpi_usempif08.la
lib/libompitrace.la
lib/libopen-pal.la
lib/libopen-rte.la
-${PLIST.oshmem}lib/liboshmem.la
${PLIST.java}lib/mpi.jar
${PLIST.f90}lib/mpi.mod
${PLIST.f90}${PLIST.ignoretkr}lib/mpi_ext.mod
@@ -112,22 +64,21 @@ ${PLIST.f08}lib/mpi_f08_ext.mod
${PLIST.f08}lib/mpi_f08_interfaces.mod
${PLIST.f08}lib/mpi_f08_interfaces_callbacks.mod
${PLIST.f08}lib/mpi_f08_types.mod
+lib/ompi_monitoring_prof.la
lib/openmpi/libompi_dbg_msgq.la
lib/openmpi/mca_allocator_basic.la
lib/openmpi/mca_allocator_bucket.la
-${PLIST.oshmem}lib/openmpi/mca_atomic_basic.la
-lib/openmpi/mca_bcol_basesmuma.la
-lib/openmpi/mca_bcol_ptpcoll.la
lib/openmpi/mca_bml_r2.la
lib/openmpi/mca_btl_self.la
lib/openmpi/mca_btl_sm.la
lib/openmpi/mca_btl_tcp.la
lib/openmpi/mca_btl_vader.la
+lib/openmpi/mca_coll_adapt.la
lib/openmpi/mca_coll_basic.la
-lib/openmpi/mca_coll_hierarch.la
+lib/openmpi/mca_coll_han.la
lib/openmpi/mca_coll_inter.la
lib/openmpi/mca_coll_libnbc.la
-lib/openmpi/mca_coll_ml.la
+lib/openmpi/mca_coll_monitoring.la
lib/openmpi/mca_coll_self.la
lib/openmpi/mca_coll_sm.la
lib/openmpi/mca_coll_sync.la
@@ -135,92 +86,85 @@ lib/openmpi/mca_coll_tuned.la
lib/openmpi/mca_compress_bzip.la
lib/openmpi/mca_compress_gzip.la
lib/openmpi/mca_crs_none.la
-lib/openmpi/mca_db_hash.la
-lib/openmpi/mca_db_print.la
-lib/openmpi/mca_dfs_app.la
-lib/openmpi/mca_dfs_orted.la
-lib/openmpi/mca_dfs_test.la
-lib/openmpi/mca_dpm_orte.la
lib/openmpi/mca_errmgr_default_app.la
lib/openmpi/mca_errmgr_default_hnp.la
lib/openmpi/mca_errmgr_default_orted.la
lib/openmpi/mca_errmgr_default_tool.la
lib/openmpi/mca_ess_env.la
lib/openmpi/mca_ess_hnp.la
+lib/openmpi/mca_ess_pmi.la
lib/openmpi/mca_ess_singleton.la
lib/openmpi/mca_ess_tool.la
lib/openmpi/mca_fbtl_posix.la
lib/openmpi/mca_fcoll_dynamic.la
+lib/openmpi/mca_fcoll_dynamic_gen2.la
lib/openmpi/mca_fcoll_individual.la
-lib/openmpi/mca_fcoll_static.la
lib/openmpi/mca_fcoll_two_phase.la
-lib/openmpi/mca_fcoll_ylib.la
+lib/openmpi/mca_fcoll_vulcan.la
lib/openmpi/mca_filem_raw.la
lib/openmpi/mca_fs_ufs.la
-lib/openmpi/mca_grpcomm_bad.la
+lib/openmpi/mca_grpcomm_direct.la
lib/openmpi/mca_io_ompio.la
-lib/openmpi/mca_io_romio.la
+lib/openmpi/mca_io_romio321.la
lib/openmpi/mca_iof_hnp.la
-lib/openmpi/mca_iof_mr_hnp.la
-lib/openmpi/mca_iof_mr_orted.la
lib/openmpi/mca_iof_orted.la
lib/openmpi/mca_iof_tool.la
-${PLIST.oshmem}lib/openmpi/mca_memheap_buddy.la
-${PLIST.oshmem}lib/openmpi/mca_memheap_ptmalloc.la
-lib/openmpi/mca_mpool_grdma.la
-lib/openmpi/mca_mpool_sm.la
+lib/openmpi/mca_mpool_hugepage.la
lib/openmpi/mca_odls_default.la
+lib/openmpi/mca_odls_pspawn.la
lib/openmpi/mca_oob_tcp.la
+lib/openmpi/mca_op_avx.la
+lib/openmpi/mca_osc_monitoring.la
lib/openmpi/mca_osc_pt2pt.la
+lib/openmpi/mca_osc_rdma.la
lib/openmpi/mca_osc_sm.la
+lib/openmpi/mca_patcher_overwrite.la
lib/openmpi/mca_plm_isolated.la
lib/openmpi/mca_plm_rsh.la
-lib/openmpi/mca_pml_bfo.la
+lib/openmpi/mca_pmix_flux.la
+lib/openmpi/mca_pmix_isolated.la
+lib/openmpi/mca_pmix_pmix3x.la
lib/openmpi/mca_pml_cm.la
+lib/openmpi/mca_pml_monitoring.la
lib/openmpi/mca_pml_ob1.la
${PLIST.linux}lib/openmpi/mca_pstat_linux.la
${PLIST.pstattest}lib/openmpi/mca_pstat_test.la
-lib/openmpi/mca_pubsub_orte.la
${PLIST.sge}lib/openmpi/mca_ras_gridengine.la
-${PLIST.loadleveler}lib/openmpi/mca_ras_loadleveler.la
lib/openmpi/mca_ras_simulator.la
-lib/openmpi/mca_rcache_vma.la
+lib/openmpi/mca_rcache_grdma.la
+${PLIST.linux}lib/openmpi/mca_reachable_netlink.la
+lib/openmpi/mca_reachable_weighted.la
+lib/openmpi/mca_regx_fwd.la
+lib/openmpi/mca_regx_naive.la
+lib/openmpi/mca_regx_reverse.la
lib/openmpi/mca_rmaps_mindist.la
lib/openmpi/mca_rmaps_ppr.la
lib/openmpi/mca_rmaps_rank_file.la
lib/openmpi/mca_rmaps_resilient.la
lib/openmpi/mca_rmaps_round_robin.la
lib/openmpi/mca_rmaps_seq.la
-lib/openmpi/mca_rmaps_staged.la
lib/openmpi/mca_rml_oob.la
lib/openmpi/mca_routed_binomial.la
-lib/openmpi/mca_routed_debruijn.la
lib/openmpi/mca_routed_direct.la
lib/openmpi/mca_routed_radix.la
-lib/openmpi/mca_sbgp_basesmsocket.la
-lib/openmpi/mca_sbgp_basesmuma.la
-lib/openmpi/mca_sbgp_p2p.la
-${PLIST.oshmem}lib/openmpi/mca_scoll_basic.la
-${PLIST.oshmem}lib/openmpi/mca_scoll_mpi.la
-lib/openmpi/mca_sec_basic.la
+lib/openmpi/mca_rtc_hwloc.la
+lib/openmpi/mca_schizo_flux.la
+lib/openmpi/mca_schizo_jsm.la
+lib/openmpi/mca_schizo_ompi.la
+lib/openmpi/mca_schizo_orte.la
lib/openmpi/mca_sharedfp_individual.la
lib/openmpi/mca_sharedfp_lockedfile.la
lib/openmpi/mca_sharedfp_sm.la
lib/openmpi/mca_shmem_mmap.la
lib/openmpi/mca_shmem_posix.la
lib/openmpi/mca_shmem_sysv.la
-${PLIST.oshmem}lib/openmpi/mca_spml_yoda.la
-${PLIST.oshmem}lib/openmpi/mca_sshmem_mmap.la
-${PLIST.oshmem}lib/openmpi/mca_sshmem_sysv.la
lib/openmpi/mca_state_app.la
-lib/openmpi/mca_state_dvm.la
lib/openmpi/mca_state_hnp.la
lib/openmpi/mca_state_novm.la
lib/openmpi/mca_state_orted.la
-lib/openmpi/mca_state_staged_hnp.la
-lib/openmpi/mca_state_staged_orted.la
lib/openmpi/mca_state_tool.la
lib/openmpi/mca_topo_basic.la
+lib/openmpi/mca_topo_treematch.la
lib/openmpi/mca_vprotocol_pessimist.la
lib/pkgconfig/ompi-c.pc
lib/pkgconfig/ompi-cxx.pc
@@ -229,6 +173,29 @@ lib/pkgconfig/ompi-f90.pc
lib/pkgconfig/ompi-fort.pc
lib/pkgconfig/ompi.pc
lib/pkgconfig/orte.pc
+lib/pkgconfig/pmix.pc
+lib/pmix/mca_bfrops_v12.la
+lib/pmix/mca_bfrops_v20.la
+lib/pmix/mca_bfrops_v21.la
+lib/pmix/mca_bfrops_v3.la
+lib/pmix/mca_gds_ds12.la
+${PLIST.linux}lib/pmix/mca_gds_ds21.la
+lib/pmix/mca_gds_hash.la
+lib/pmix/mca_pcompress_zlib.la
+lib/pmix/mca_plog_default.la
+lib/pmix/mca_plog_stdfd.la
+lib/pmix/mca_plog_syslog.la
+lib/pmix/mca_preg_compress.la
+lib/pmix/mca_preg_native.la
+lib/pmix/mca_psec_native.la
+lib/pmix/mca_psec_none.la
+lib/pmix/mca_psensor_file.la
+lib/pmix/mca_psensor_heartbeat.la
+lib/pmix/mca_pshmem_mmap.la
+lib/pmix/mca_psquash_flex128.la
+lib/pmix/mca_psquash_native.la
+lib/pmix/mca_ptl_tcp.la
+lib/pmix/mca_ptl_usock.la
${PLIST.f08}lib/pmpi_f08_interfaces.mod
man/man1/mpiCC.1
man/man1/mpic++.1
@@ -241,28 +208,38 @@ man/man1/mpifort.1
${PLIST.java}man/man1/mpijavac.1
man/man1/mpirun.1
man/man1/ompi-clean.1
-man/man1/ompi-ps.1
man/man1/ompi-server.1
-man/man1/ompi-top.1
man/man1/ompi_info.1
man/man1/opal_wrapper.1
man/man1/orte-clean.1
-man/man1/orte-dvm.1
man/man1/orte-info.1
-man/man1/orte-ps.1
man/man1/orte-server.1
-man/man1/orte-submit.1
-man/man1/orte-top.1
man/man1/orted.1
man/man1/orterun.1
-${PLIST.oshmem}man/man1/oshcc.1
-${PLIST.oshmem}man/man1/oshfort.1
-${PLIST.oshmem}man/man1/oshmem_info.1
-${PLIST.oshmem}man/man1/oshrun.1
-${PLIST.oshmem}man/man1/shmemcc.1
-${PLIST.oshmem}man/man1/shmemfort.1
-${PLIST.oshmem}man/man1/shmemrun.1
man/man3/MPI.3
+man/man3/MPIX_Allgather_init.3
+man/man3/MPIX_Allgatherv_init.3
+man/man3/MPIX_Allreduce_init.3
+man/man3/MPIX_Alltoall_init.3
+man/man3/MPIX_Alltoallv_init.3
+man/man3/MPIX_Alltoallw_init.3
+man/man3/MPIX_Barrier_init.3
+man/man3/MPIX_Bcast_init.3
+man/man3/MPIX_Exscan_init.3
+man/man3/MPIX_Gather_init.3
+man/man3/MPIX_Gatherv_init.3
+man/man3/MPIX_Neighbor_allgather_init.3
+man/man3/MPIX_Neighbor_allgatherv_init.3
+man/man3/MPIX_Neighbor_alltoall_init.3
+man/man3/MPIX_Neighbor_alltoallv_init.3
+man/man3/MPIX_Neighbor_alltoallw_init.3
+man/man3/MPIX_Query_cuda_support.3
+man/man3/MPIX_Reduce_init.3
+man/man3/MPIX_Reduce_scatter_block_init.3
+man/man3/MPIX_Reduce_scatter_init.3
+man/man3/MPIX_Scan_init.3
+man/man3/MPIX_Scatter_init.3
+man/man3/MPIX_Scatterv_init.3
man/man3/MPI_Abort.3
man/man3/MPI_Accumulate.3
man/man3/MPI_Add_error_class.3
@@ -366,10 +343,14 @@ man/man3/MPI_File_get_size.3
man/man3/MPI_File_get_type_extent.3
man/man3/MPI_File_get_view.3
man/man3/MPI_File_iread.3
+man/man3/MPI_File_iread_all.3
man/man3/MPI_File_iread_at.3
+man/man3/MPI_File_iread_at_all.3
man/man3/MPI_File_iread_shared.3
man/man3/MPI_File_iwrite.3
+man/man3/MPI_File_iwrite_all.3
man/man3/MPI_File_iwrite_at.3
+man/man3/MPI_File_iwrite_at_all.3
man/man3/MPI_File_iwrite_shared.3
man/man3/MPI_File_open.3
man/man3/MPI_File_preallocate.3
@@ -492,6 +473,8 @@ man/man3/MPI_Issend.3
man/man3/MPI_Keyval_create.3
man/man3/MPI_Keyval_free.3
man/man3/MPI_Lookup_name.3
+man/man3/MPI_Message_c2f.3
+man/man3/MPI_Message_f2c.3
man/man3/MPI_Mprobe.3
man/man3/MPI_Mrecv.3
man/man3/MPI_Neighbor_allgather.3
@@ -500,6 +483,7 @@ man/man3/MPI_Neighbor_alltoall.3
man/man3/MPI_Neighbor_alltoallv.3
man/man3/MPI_Neighbor_alltoallw.3
man/man3/MPI_Op_c2f.3
+man/man3/MPI_Op_commutative.3
man/man3/MPI_Op_create.3
man/man3/MPI_Op_f2c.3
man/man3/MPI_Op_free.3
@@ -670,228 +654,42 @@ man/man3/MPI_Win_unlock_all.3
man/man3/MPI_Win_wait.3
man/man3/MPI_Wtick.3
man/man3/MPI_Wtime.3
+man/man3/OMPI_Affinity_str.3
man/man3/OpenMPI.3
-${PLIST.oshmem}man/man3/OpenSHMEM.3
-${PLIST.oshmem}man/man3/_my_pe.3
-${PLIST.oshmem}man/man3/_num_pes.3
-${PLIST.oshmem}man/man3/intro_shmem.3
-${PLIST.oshmem}man/man3/shfree.3
-${PLIST.oshmem}man/man3/shmalloc.3
-${PLIST.oshmem}man/man3/shmem_addr_accessible.3
-${PLIST.oshmem}man/man3/shmem_align.3
-${PLIST.oshmem}man/man3/shmem_barrier.3
-${PLIST.oshmem}man/man3/shmem_barrier_all.3
-${PLIST.oshmem}man/man3/shmem_broadcast32.3
-${PLIST.oshmem}man/man3/shmem_broadcast64.3
-${PLIST.oshmem}man/man3/shmem_char_g.3
-${PLIST.oshmem}man/man3/shmem_char_get.3
-${PLIST.oshmem}man/man3/shmem_char_p.3
-${PLIST.oshmem}man/man3/shmem_char_put.3
-${PLIST.oshmem}man/man3/shmem_clear_cache_inv.3
-${PLIST.oshmem}man/man3/shmem_clear_cache_line_inv.3
-${PLIST.oshmem}man/man3/shmem_clear_lock.3
-${PLIST.oshmem}man/man3/shmem_collect32.3
-${PLIST.oshmem}man/man3/shmem_collect64.3
-${PLIST.oshmem}man/man3/shmem_complexd_prod_to_all.3
-${PLIST.oshmem}man/man3/shmem_complexd_sum_to_all.3
-${PLIST.oshmem}man/man3/shmem_complexf_prod_to_all.3
-${PLIST.oshmem}man/man3/shmem_complexf_sum_to_all.3
-${PLIST.oshmem}man/man3/shmem_double_g.3
-${PLIST.oshmem}man/man3/shmem_double_get.3
-${PLIST.oshmem}man/man3/shmem_double_iget.3
-${PLIST.oshmem}man/man3/shmem_double_iput.3
-${PLIST.oshmem}man/man3/shmem_double_max_to_all.3
-${PLIST.oshmem}man/man3/shmem_double_min_to_all.3
-${PLIST.oshmem}man/man3/shmem_double_p.3
-${PLIST.oshmem}man/man3/shmem_double_prod_to_all.3
-${PLIST.oshmem}man/man3/shmem_double_put.3
-${PLIST.oshmem}man/man3/shmem_double_sum_to_all.3
-${PLIST.oshmem}man/man3/shmem_double_swap.3
-${PLIST.oshmem}man/man3/shmem_fcollect32.3
-${PLIST.oshmem}man/man3/shmem_fcollect64.3
-${PLIST.oshmem}man/man3/shmem_fence.3
-${PLIST.oshmem}man/man3/shmem_finalize.3
-${PLIST.oshmem}man/man3/shmem_float_g.3
-${PLIST.oshmem}man/man3/shmem_float_get.3
-${PLIST.oshmem}man/man3/shmem_float_iget.3
-${PLIST.oshmem}man/man3/shmem_float_iput.3
-${PLIST.oshmem}man/man3/shmem_float_max_to_all.3
-${PLIST.oshmem}man/man3/shmem_float_min_to_all.3
-${PLIST.oshmem}man/man3/shmem_float_p.3
-${PLIST.oshmem}man/man3/shmem_float_prod_to_all.3
-${PLIST.oshmem}man/man3/shmem_float_put.3
-${PLIST.oshmem}man/man3/shmem_float_sum_to_all.3
-${PLIST.oshmem}man/man3/shmem_float_swap.3
-${PLIST.oshmem}man/man3/shmem_free.3
-${PLIST.oshmem}man/man3/shmem_get128.3
-${PLIST.oshmem}man/man3/shmem_get32.3
-${PLIST.oshmem}man/man3/shmem_get64.3
-${PLIST.oshmem}man/man3/shmem_getmem.3
-${PLIST.oshmem}man/man3/shmem_global_exit.3
-${PLIST.oshmem}man/man3/shmem_iget128.3
-${PLIST.oshmem}man/man3/shmem_iget32.3
-${PLIST.oshmem}man/man3/shmem_iget64.3
-${PLIST.oshmem}man/man3/shmem_info_get_name.3
-${PLIST.oshmem}man/man3/shmem_info_get_version.3
-${PLIST.oshmem}man/man3/shmem_init.3
-${PLIST.oshmem}man/man3/shmem_int_add.3
-${PLIST.oshmem}man/man3/shmem_int_and_to_all.3
-${PLIST.oshmem}man/man3/shmem_int_cswap.3
-${PLIST.oshmem}man/man3/shmem_int_fadd.3
-${PLIST.oshmem}man/man3/shmem_int_finc.3
-${PLIST.oshmem}man/man3/shmem_int_g.3
-${PLIST.oshmem}man/man3/shmem_int_get.3
-${PLIST.oshmem}man/man3/shmem_int_iget.3
-${PLIST.oshmem}man/man3/shmem_int_inc.3
-${PLIST.oshmem}man/man3/shmem_int_iput.3
-${PLIST.oshmem}man/man3/shmem_int_max_to_all.3
-${PLIST.oshmem}man/man3/shmem_int_min_to_all.3
-${PLIST.oshmem}man/man3/shmem_int_or_to_all.3
-${PLIST.oshmem}man/man3/shmem_int_p.3
-${PLIST.oshmem}man/man3/shmem_int_prod_to_all.3
-${PLIST.oshmem}man/man3/shmem_int_put.3
-${PLIST.oshmem}man/man3/shmem_int_sum_to_all.3
-${PLIST.oshmem}man/man3/shmem_int_swap.3
-${PLIST.oshmem}man/man3/shmem_int_wait.3
-${PLIST.oshmem}man/man3/shmem_int_wait_until.3
-${PLIST.oshmem}man/man3/shmem_int_xor_to_all.3
-${PLIST.oshmem}man/man3/shmem_iput128.3
-${PLIST.oshmem}man/man3/shmem_iput32.3
-${PLIST.oshmem}man/man3/shmem_iput64.3
-${PLIST.oshmem}man/man3/shmem_long_add.3
-${PLIST.oshmem}man/man3/shmem_long_and_to_all.3
-${PLIST.oshmem}man/man3/shmem_long_cswap.3
-${PLIST.oshmem}man/man3/shmem_long_fadd.3
-${PLIST.oshmem}man/man3/shmem_long_finc.3
-${PLIST.oshmem}man/man3/shmem_long_g.3
-${PLIST.oshmem}man/man3/shmem_long_get.3
-${PLIST.oshmem}man/man3/shmem_long_iget.3
-${PLIST.oshmem}man/man3/shmem_long_inc.3
-${PLIST.oshmem}man/man3/shmem_long_iput.3
-${PLIST.oshmem}man/man3/shmem_long_max_to_all.3
-${PLIST.oshmem}man/man3/shmem_long_min_to_all.3
-${PLIST.oshmem}man/man3/shmem_long_or_to_all.3
-${PLIST.oshmem}man/man3/shmem_long_p.3
-${PLIST.oshmem}man/man3/shmem_long_prod_to_all.3
-${PLIST.oshmem}man/man3/shmem_long_put.3
-${PLIST.oshmem}man/man3/shmem_long_sum_to_all.3
-${PLIST.oshmem}man/man3/shmem_long_swap.3
-${PLIST.oshmem}man/man3/shmem_long_wait.3
-${PLIST.oshmem}man/man3/shmem_long_wait_until.3
-${PLIST.oshmem}man/man3/shmem_long_xor_to_all.3
-${PLIST.oshmem}man/man3/shmem_longdouble_g.3
-${PLIST.oshmem}man/man3/shmem_longdouble_get.3
-${PLIST.oshmem}man/man3/shmem_longdouble_iget.3
-${PLIST.oshmem}man/man3/shmem_longdouble_iput.3
-${PLIST.oshmem}man/man3/shmem_longdouble_max_to_all.3
-${PLIST.oshmem}man/man3/shmem_longdouble_min_to_all.3
-${PLIST.oshmem}man/man3/shmem_longdouble_p.3
-${PLIST.oshmem}man/man3/shmem_longdouble_prod_to_all.3
-${PLIST.oshmem}man/man3/shmem_longdouble_put.3
-${PLIST.oshmem}man/man3/shmem_longlong_add.3
-${PLIST.oshmem}man/man3/shmem_longlong_and_to_all.3
-${PLIST.oshmem}man/man3/shmem_longlong_cswap.3
-${PLIST.oshmem}man/man3/shmem_longlong_fadd.3
-${PLIST.oshmem}man/man3/shmem_longlong_finc.3
-${PLIST.oshmem}man/man3/shmem_longlong_g.3
-${PLIST.oshmem}man/man3/shmem_longlong_get.3
-${PLIST.oshmem}man/man3/shmem_longlong_iget.3
-${PLIST.oshmem}man/man3/shmem_longlong_inc.3
-${PLIST.oshmem}man/man3/shmem_longlong_iput.3
-${PLIST.oshmem}man/man3/shmem_longlong_max_to_all.3
-${PLIST.oshmem}man/man3/shmem_longlong_min_to_all.3
-${PLIST.oshmem}man/man3/shmem_longlong_or_to_all.3
-${PLIST.oshmem}man/man3/shmem_longlong_p.3
-${PLIST.oshmem}man/man3/shmem_longlong_prod_to_all.3
-${PLIST.oshmem}man/man3/shmem_longlong_put.3
-${PLIST.oshmem}man/man3/shmem_longlong_sum_to_all.3
-${PLIST.oshmem}man/man3/shmem_longlong_swap.3
-${PLIST.oshmem}man/man3/shmem_longlong_wait.3
-${PLIST.oshmem}man/man3/shmem_longlong_wait_until.3
-${PLIST.oshmem}man/man3/shmem_longlong_xor_to_all.3
-${PLIST.oshmem}man/man3/shmem_malloc.3
-${PLIST.oshmem}man/man3/shmem_my_pe.3
-${PLIST.oshmem}man/man3/shmem_n_pes.3
-${PLIST.oshmem}man/man3/shmem_pe_accessible.3
-${PLIST.oshmem}man/man3/shmem_ptr.3
-${PLIST.oshmem}man/man3/shmem_put128.3
-${PLIST.oshmem}man/man3/shmem_put32.3
-${PLIST.oshmem}man/man3/shmem_put64.3
-${PLIST.oshmem}man/man3/shmem_putmem.3
-${PLIST.oshmem}man/man3/shmem_quiet.3
-${PLIST.oshmem}man/man3/shmem_realloc.3
-${PLIST.oshmem}man/man3/shmem_set_cache_inv.3
-${PLIST.oshmem}man/man3/shmem_set_cache_line_inv.3
-${PLIST.oshmem}man/man3/shmem_set_lock.3
-${PLIST.oshmem}man/man3/shmem_short_and_to_all.3
-${PLIST.oshmem}man/man3/shmem_short_g.3
-${PLIST.oshmem}man/man3/shmem_short_get.3
-${PLIST.oshmem}man/man3/shmem_short_iget.3
-${PLIST.oshmem}man/man3/shmem_short_iput.3
-${PLIST.oshmem}man/man3/shmem_short_max_to_all.3
-${PLIST.oshmem}man/man3/shmem_short_min_to_all.3
-${PLIST.oshmem}man/man3/shmem_short_or_to_all.3
-${PLIST.oshmem}man/man3/shmem_short_p.3
-${PLIST.oshmem}man/man3/shmem_short_prod_to_all.3
-${PLIST.oshmem}man/man3/shmem_short_put.3
-${PLIST.oshmem}man/man3/shmem_short_sum_to_all.3
-${PLIST.oshmem}man/man3/shmem_short_wait.3
-${PLIST.oshmem}man/man3/shmem_short_wait_until.3
-${PLIST.oshmem}man/man3/shmem_short_xor_to_all.3
-${PLIST.oshmem}man/man3/shmem_swap.3
-${PLIST.oshmem}man/man3/shmem_test_lock.3
-${PLIST.oshmem}man/man3/shmem_udcflush.3
-${PLIST.oshmem}man/man3/shmem_udcflush_line.3
-${PLIST.oshmem}man/man3/shmem_wait.3
-${PLIST.oshmem}man/man3/shmem_wait_until.3
-${PLIST.oshmem}man/man3/shmemalign.3
-${PLIST.oshmem}man/man3/shrealloc.3
-${PLIST.oshmem}man/man3/start_pes.3
man/man7/ompi_crcp.7
man/man7/opal_crs.7
man/man7/orte_filem.7
man/man7/orte_hosts.7
man/man7/orte_snapc.7
man/man7/orte_sstore.7
+share/examples/openmpi/openmpi-default-hostfile
+share/examples/openmpi/openmpi-mca-params.conf
+share/examples/openmpi/pmix-mca-params.conf
share/openmpi/amca-param-sets/example.conf
-share/openmpi/examples/openmpi-default-hostfile
-share/openmpi/examples/openmpi-mca-params.conf
share/openmpi/examples/openmpi-totalview.tcl
share/openmpi/help-btl-vader.txt
share/openmpi/help-coll-sync.txt
share/openmpi/help-dash-host.txt
-share/openmpi/help-db-base.txt
share/openmpi/help-errmgr-base.txt
share/openmpi/help-ess-base.txt
-share/openmpi/help-ess-hnp.txt
share/openmpi/help-hostfile.txt
share/openmpi/help-mca-base.txt
share/openmpi/help-mca-bml-r2.txt
share/openmpi/help-mca-coll-base.txt
-share/openmpi/help-mca-op-base.txt
+share/openmpi/help-mca-hook-base.txt
share/openmpi/help-mca-var.txt
share/openmpi/help-mpi-api.txt
share/openmpi/help-mpi-btl-base.txt
share/openmpi/help-mpi-btl-sm.txt
share/openmpi/help-mpi-btl-tcp.txt
-share/openmpi/help-mpi-coll-ml.txt
share/openmpi/help-mpi-coll-sm.txt
share/openmpi/help-mpi-common-sm.txt
share/openmpi/help-mpi-errors.txt
-share/openmpi/help-mpi-pml-bfo.txt
share/openmpi/help-mpi-pml-ob1.txt
share/openmpi/help-mpi-runtime.txt
share/openmpi/help-mpool-base.txt
-share/openmpi/help-ompi-crcp-base.txt
-share/openmpi/help-ompi-dpm-base.txt
-share/openmpi/help-ompi-dpm-orte.txt
-share/openmpi/help-ompi-pubsub-orte.txt
share/openmpi/help-oob-base.txt
share/openmpi/help-oob-tcp.txt
-share/openmpi/help-opal-compress-base.txt
-share/openmpi/help-opal-compress-bzip.txt
-share/openmpi/help-opal-compress-gzip.txt
-share/openmpi/help-opal-crs-base.txt
share/openmpi/help-opal-crs-none.txt
share/openmpi/help-opal-hwloc-base.txt
share/openmpi/help-opal-runtime.txt
@@ -903,43 +701,36 @@ share/openmpi/help-opal-util.txt
share/openmpi/help-opal-wrapper.txt
share/openmpi/help-opal_info.txt
share/openmpi/help-orte-clean.txt
-share/openmpi/help-orte-filem-base.txt
share/openmpi/help-orte-filem-raw.txt
share/openmpi/help-orte-info.txt
share/openmpi/help-orte-odls-base.txt
share/openmpi/help-orte-odls-default.txt
-share/openmpi/help-orte-ps.txt
+share/openmpi/help-orte-odls-pspawn.txt
share/openmpi/help-orte-rmaps-base.txt
share/openmpi/help-orte-rmaps-md.txt
share/openmpi/help-orte-rmaps-ppr.txt
share/openmpi/help-orte-rmaps-resilient.txt
share/openmpi/help-orte-rmaps-rr.txt
share/openmpi/help-orte-rmaps-seq.txt
+share/openmpi/help-orte-rtc-base.txt
+share/openmpi/help-orte-rtc-hwloc.txt
share/openmpi/help-orte-runtime.txt
share/openmpi/help-orte-server.txt
share/openmpi/help-orte-snapc-base.txt
-share/openmpi/help-orte-sstore-base.txt
-share/openmpi/help-orte-top.txt
share/openmpi/help-orted.txt
share/openmpi/help-orterun.txt
-${PLIST.oshmem}share/openmpi/help-oshmem-info.txt
-${PLIST.oshmem}share/openmpi/help-oshmem-memheap.txt
-${PLIST.oshmem}share/openmpi/help-oshmem-spml-yoda.txt
-${PLIST.oshmem}share/openmpi/help-oshmem-sshmem-mmap.txt
-${PLIST.oshmem}share/openmpi/help-oshmem-sshmem-sysv.txt
-${PLIST.oshmem}share/openmpi/help-oshmem-sshmem.txt
+share/openmpi/help-osc-pt2pt.txt
share/openmpi/help-plm-base.txt
share/openmpi/help-plm-rsh.txt
+share/openmpi/help-pmix-base.txt
+share/openmpi/help-pmix-pmix3x.txt
share/openmpi/help-ras-base.txt
${PLIST.sge}share/openmpi/help-ras-gridengine.txt
share/openmpi/help-ras-simulator.txt
+share/openmpi/help-rcache-base.txt
share/openmpi/help-regex.txt
share/openmpi/help-rmaps_rank_file.txt
-share/openmpi/help-sec-base.txt
-${PLIST.oshmem}share/openmpi/help-shmem-api.txt
-${PLIST.oshmem}share/openmpi/help-shmem-runtime.txt
-share/openmpi/help-state-staged-hnp.txt
-share/openmpi/mca-coll-ml.config
+share/openmpi/help-state-base.txt
share/openmpi/mpiCC-wrapper-data.txt
share/openmpi/mpic++-wrapper-data.txt
share/openmpi/mpicc-wrapper-data.txt
@@ -949,7 +740,11 @@ share/openmpi/mpif90-wrapper-data.txt
share/openmpi/mpifort-wrapper-data.txt
share/openmpi/openmpi-valgrind.supp
share/openmpi/ortecc-wrapper-data.txt
-${PLIST.oshmem}share/openmpi/oshcc-wrapper-data.txt
-${PLIST.oshmem}share/openmpi/oshfort-wrapper-data.txt
-${PLIST.oshmem}share/openmpi/shmemcc-wrapper-data.txt
-${PLIST.oshmem}share/openmpi/shmemfort-wrapper-data.txt
+share/pmix/help-pmix-mca-base.txt
+share/pmix/help-pmix-mca-var.txt
+share/pmix/help-pmix-plog.txt
+share/pmix/help-pmix-psensor-file.txt
+share/pmix/help-pmix-psensor-heartbeat.txt
+share/pmix/help-pmix-runtime.txt
+share/pmix/help-pmix-server.txt
+share/pmix/pmix-valgrind.supp
diff --git a/parallel/openmpi/buildlink3.mk b/parallel/openmpi/buildlink3.mk
index abe80bf1a31..6101c143fba 100644
--- a/parallel/openmpi/buildlink3.mk
+++ b/parallel/openmpi/buildlink3.mk
@@ -1,4 +1,4 @@
-# $NetBSD: buildlink3.mk,v 1.9 2022/06/28 11:35:24 wiz Exp $
+# $NetBSD: buildlink3.mk,v 1.10 2022/08/25 22:09:14 thor Exp $
BUILDLINK_TREE+= openmpi
@@ -6,10 +6,8 @@ BUILDLINK_TREE+= openmpi
OPENMPI_BUILDLINK3_MK:=
BUILDLINK_API_DEPENDS.openmpi+= openmpi>=1.5.1
-BUILDLINK_ABI_DEPENDS.openmpi?= openmpi>=1.10.7nb10
-BUILDLINK_PKGSRCDIR.openmpi?= ../../parallel/openmpi
+BUILDLINK_PKGSRCDIR.openmpi?= ../../wip/openmpi
-.include "../../parallel/hwloc/buildlink3.mk"
.endif # OPENMPI_BUILDLINK3_MK
BUILDLINK_TREE+= -openmpi
diff --git a/parallel/openmpi/distinfo b/parallel/openmpi/distinfo
index dc282b9e4ba..90ecd6af785 100644
--- a/parallel/openmpi/distinfo
+++ b/parallel/openmpi/distinfo
@@ -1,13 +1,12 @@
-$NetBSD: distinfo,v 1.22 2021/10/26 11:10:37 nia Exp $
+$NetBSD: distinfo,v 1.23 2022/08/25 22:09:14 thor Exp $
-BLAKE2s (openmpi-1.10.7.tar.bz2) = cae7a48509db131afeb7bff30fbf96f301eafb5407bc8f509e6ce9d692b772d2
-SHA512 (openmpi-1.10.7.tar.bz2) = 9c5470f9959ca37650a59e56fb8343c028422c709876ab9d25a411dd09a07cdde927c45d8f3db1ad524b1f2847fe799471d469fa1efee48f8018b2ff24427ecb
-Size (openmpi-1.10.7.tar.bz2) = 13435131 bytes
-SHA1 (patch-aa) = 6fa20775c6e2abae7c9a2ae858dbb941652beab8
-SHA1 (patch-ai) = 33667fb853caef7ae9a22c7f2e6a016929eb1a13
-SHA1 (patch-aj) = ec79dc2137107d1253e47811c3ea7d00ff988b06
-SHA1 (patch-ak) = fce9064c50f62334ebc30c8488dbf9cc7500a634
+BLAKE2s (openmpi-4.1.4.tar.bz2) = 0d98f1b9404f2a4328288c01d614421ca0a409f7e8550164664a5d692209b4b4
+SHA512 (openmpi-4.1.4.tar.bz2) = c70a92c9b16b8c76a871183f9b180d60861186e64140da897d206d53bc06213f31ea93b31734645f580f4bf28dda5605d85dbce2417e4596955384d961bed653
+Size (openmpi-4.1.4.tar.bz2) = 10042839 bytes
+SHA1 (patch-ak) = 1dba883fb533df57f5869b743e499a3117339529
SHA1 (patch-config_opal__setup__wrappers.m4) = c3fe3cb5ff7cedcb5c847f25eea129d4299dd5d2
-SHA1 (patch-configure) = 10b38cc45614258e236b70057c963a0615032e93
+SHA1 (patch-configure) = bb6373289ffa2beabccedb6ead679367c85dbe1e
+SHA1 (patch-ompi_mca_io_romio321_romio_configure) = 1adf4e3fff2ece5abba7c5909f006e8345917b9d
+SHA1 (patch-ompi_mca_sharedfp_sm_sharedfp__sm.c) = 7ce9147662864be5ae072166231d65189cb1bed2
SHA1 (patch-ompi_mpi_java_java_Makefile.in) = bd61f02f56e03af9799d2ba86d66c1ded35f62f4
-SHA1 (patch-opal_asm_asm-data.txt) = 6f1f6ecb660a67dbc265c6c023dc49c347e8cb9b
+SHA1 (patch-opal_tools_wrappers_opal__wrapper.c) = c21620ceab6aff220e6a4b74ce4929ff0d1c9885
diff --git a/parallel/openmpi/options.mk b/parallel/openmpi/options.mk
index 2b73732a0d5..32840cbc7c8 100644
--- a/parallel/openmpi/options.mk
+++ b/parallel/openmpi/options.mk
@@ -1,7 +1,8 @@
-# $NetBSD: options.mk,v 1.10 2018/01/04 20:31:28 adam Exp $
+# $NetBSD: options.mk,v 1.11 2022/08/25 22:09:14 thor Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.openmpi
-PKG_SUPPORTED_OPTIONS= debug f90 java sge
+PKG_SUPPORTED_OPTIONS= debug f90 java sge slurm
+PKG_SUGGESTED_OPTIONS+= f90
.include "../../mk/bsd.options.mk"
@@ -14,12 +15,12 @@ PLIST_VARS+= f08 f90 java sge
.if !empty(PKG_OPTIONS:Mf90)
USE_LANGUAGES+= fortran
GCC_REQD+= 4.7
-GCCDIR= ${PREFIX}/gcc47
CONFIGURE_ARGS+= --enable-mpi-fortran=yes
+# Enabling fortran builds for Fortran 90, and also for Fortran 08 if
+# the toolchain is good enough. In 2022, start by assuming that
+# USE_LANGUAGES=fortran gets us a sufficiently modern compiler.
PLIST.f90= yes
-. if ${OPSYS} == "Darwin" || ${OPSYS} == "Linux"
PLIST.f08= yes
-. endif
.else
CONFIGURE_ARGS+= --enable-mpi-fortran=no
.endif
@@ -38,3 +39,9 @@ PLIST.sge= yes
.else
CONFIGURE_ARGS+= --without-sge
.endif
+
+.if !empty(PKG_OPTIONS:Mslurm)
+CONFIGURE_ARGS+= --with-slurm
+.else
+CONFIGURE_ARGS+= --without-slurm
+.endif
diff --git a/parallel/openmpi/patches/patch-aa b/parallel/openmpi/patches/patch-aa
deleted file mode 100644
index b5f4f6ee98e..00000000000
--- a/parallel/openmpi/patches/patch-aa
+++ /dev/null
@@ -1,23 +0,0 @@
-$NetBSD: patch-aa,v 1.3 2012/05/28 18:38:18 asau Exp $
-
-Missing RPATH support.
-
---- opal/tools/wrappers/opal_wrapper.c.orig 2011-12-14 05:43:59.000000000 +0400
-+++ opal/tools/wrappers/opal_wrapper.c 2012-02-16 18:10:03.000000000 +0400
-@@ -61,6 +61,7 @@
- #else
- #define OPAL_INCLUDE_FLAG "-I"
- #define OPAL_LIBDIR_FLAG "-L"
-+#define OPAL_RPATH_FLAG "-R"
- #endif /* !defined(__WINDOWS__) && defined(_MSC_VER) */
-
- struct options_data_t {
-@@ -363,6 +364,8 @@
- #else
- asprintf(&line, OPAL_LIBDIR_FLAG"%s",
- options_data[parse_options_idx].path_libdir);
-+ asprintf(&line, OPAL_RPATH_FLAG"%s",
-+ options_data[parse_options_idx].path_libdir);
- #endif /* defined(__WINDOWS__) */
- opal_argv_append_nosize(&options_data[parse_options_idx].link_flags, line);
- free(line);
diff --git a/parallel/openmpi/patches/patch-ai b/parallel/openmpi/patches/patch-ai
deleted file mode 100644
index 34b3c66ea90..00000000000
--- a/parallel/openmpi/patches/patch-ai
+++ /dev/null
@@ -1,53 +0,0 @@
-$NetBSD: patch-ai,v 1.6 2016/10/23 14:02:28 asau Exp $
-
---- orte/etc/Makefile.in.orig 2016-09-02 01:30:19.000000000 +0000
-+++ orte/etc/Makefile.in
-@@ -1515,6 +1515,7 @@ spml_ucx_LDFLAGS = @spml_ucx_LDFLAGS@
- spml_ucx_LIBS = @spml_ucx_LIBS@
- srcdir = @srcdir@
- sysconfdir = @sysconfdir@
-+sysconfexampledir = $(pkgdatadir)/examples
- target = @target@
- target_alias = @target_alias@
- target_cpu = @target_cpu@
-@@ -1731,19 +1732,19 @@ uninstall-am: uninstall-local
- # details why the mkdir is in install-data-local.
-
- install-data-local:
-- $(MKDIR_P) $(DESTDIR)$(sysconfdir)
-+ $(MKDIR_P) $(DESTDIR)$(sysconfexampledir)
- @ p="$(orte_config_files)"; \
- for file in $$p; do \
-- if test -f $(DESTDIR)$(sysconfdir)/$$file; then \
-+ if test -f $(DESTDIR)$(sysconfexampledir)/$$file; then \
- echo "******************************* WARNING ************************************"; \
- echo "*** Not installing new $$file over existing file in:"; \
-- echo "*** $(DESTDIR)$(sysconfdir)/$$file"; \
-+ echo "*** $(DESTDIR)$(sysconfexampledir)/$$file"; \
- echo "******************************* WARNING ************************************"; \
- else \
- if test -f "$$file"; then d=; else d="$(srcdir)/"; fi; \
- f="`echo $$file | sed -e 's|^.*/||'`"; \
-- echo " $(INSTALL_DATA) $$d$$file $(DESTDIR)$(sysconfdir)/$$f"; \
-- $(INSTALL_DATA) $$d$$file $(DESTDIR)$(sysconfdir)/$$f; \
-+ echo " $(INSTALL_DATA) $$d$$file $(DESTDIR)$(sysconfexampledir)/$$f"; \
-+ $(INSTALL_DATA) $$d$$file $(DESTDIR)$(sysconfexampledir)/$$f; \
- fi; \
- done
-
-@@ -1754,11 +1755,11 @@ install-data-local:
- uninstall-local:
- @ p="$(orte_config_files)"; \
- for file in $$p; do \
-- if test -f "$(DESTDIR)$(sysconfdir)/$$file"; then \
-+ if test -f "$(DESTDIR)$(sysconfexampledir)/$$file"; then \
- if test -f "$$file"; then d=; else d="$(srcdir)/"; fi; \
-- if diff "$(DESTDIR)$(sysconfdir)/$$file" "$$d$$file" > /dev/null 2>&1 ; then \
-- echo "rm -f $(DESTDIR)$(sysconfdir)/$$file" ; \
-- rm -f "$(DESTDIR)$(sysconfdir)/$$file" ; \
-+ if diff "$(DESTDIR)$(sysconfexampledir)/$$file" "$$d$$file" > /dev/null 2>&1 ; then \
-+ echo "rm -f $(DESTDIR)$(sysconfexampledir)/$$file" ; \
-+ rm -f "$(DESTDIR)$(sysconfexampledir)/$$file" ; \
- fi ; \
- fi ; \
- done
diff --git a/parallel/openmpi/patches/patch-aj b/parallel/openmpi/patches/patch-aj
deleted file mode 100644
index dcdf22e4426..00000000000
--- a/parallel/openmpi/patches/patch-aj
+++ /dev/null
@@ -1,60 +0,0 @@
-$NetBSD: patch-aj,v 1.5 2016/10/23 14:02:28 asau Exp $
-
---- opal/etc/Makefile.in.orig 2016-09-02 01:30:16.000000000 +0000
-+++ opal/etc/Makefile.in
-@@ -89,6 +89,7 @@ am__make_running_with_option = \
- am__make_dryrun = (target_option=n; $(am__make_running_with_option))
- am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
- pkgdatadir = $(datadir)/@PACKAGE@
-+sysconfexampledir = $(pkgdatadir)/examples
- pkgincludedir = $(includedir)/@PACKAGE@
- pkglibdir = $(libdir)/@PACKAGE@
- pkglibexecdir = $(libexecdir)/@PACKAGE@
-@@ -1730,24 +1731,24 @@ uninstall-am: uninstall-local
- # details why the mkdir is in install-data-local.
-
- install-data-local:
-- $(MKDIR_P) $(DESTDIR)$(sysconfdir)
-+ $(MKDIR_P) $(DESTDIR)$(sysconfexampledir)
- @ p="$(opal_config_files)"; \
- if test "$(opal_file_from_platform)" = "yes"; then \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-- echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(sysconfdir)/openmpi-mca-params.conf"; \
-- $(INSTALL_DATA) $$d$$p $(DESTDIR)$(sysconfdir)/openmpi-mca-params.conf; \
-+ echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(sysconfexampledir)/openmpi-mca-params.conf"; \
-+ $(INSTALL_DATA) $$d$$p $(DESTDIR)$(sysconfexampledir)/openmpi-mca-params.conf; \
- else \
- for file in $$p; do \
-- if test -f $(DESTDIR)$(sysconfdir)/openmpi-mca-params.conf; then \
-+ if test -f $(DESTDIR)$(sysconfexampledir)/openmpi-mca-params.conf; then \
- echo "******************************* WARNING ************************************"; \
- echo "*** Not installing new $$file over existing file in:"; \
-- echo "*** $(DESTDIR)$(sysconfdir)/$$file"; \
-+ echo "*** $(DESTDIR)$(sysconfexampledir)/$$file"; \
- echo "******************************* WARNING ************************************"; \
- else \
- if test -f "$$file"; then d=; else d="$(srcdir)/"; fi; \
- f="`echo $$file | sed -e 's|^.*/||'`"; \
-- echo " $(INSTALL_DATA) $$d$$file $(DESTDIR)$(sysconfdir)/$$f"; \
-- $(INSTALL_DATA) $$d$$file $(DESTDIR)$(sysconfdir)/$$f; \
-+ echo " $(INSTALL_DATA) $$d$$file $(DESTDIR)$(sysconfexampledir)/$$f"; \
-+ $(INSTALL_DATA) $$d$$file $(DESTDIR)$(sysconfexampledir)/$$f; \
- fi; \
- done \
- fi;
-@@ -1759,11 +1760,11 @@ install-data-local:
- uninstall-local:
- @ p="$(opal_config_files)"; \
- for file in $$p; do \
-- if test -f "$(DESTDIR)$(sysconfdir)/$$file"; then \
-+ if test -f "$(DESTDIR)$(sysconfexampledir)/$$file"; then \
- if test -f "$$file"; then d=; else d="$(srcdir)/"; fi; \
-- if diff "$(DESTDIR)$(sysconfdir)/$$file" "$$d$$file" > /dev/null 2>&1 ; then \
-- echo "rm -f $(DESTDIR)$(sysconfdir)/$$file" ; \
-- rm -f "$(DESTDIR)$(sysconfdir)/$$file" ; \
-+ if diff "$(DESTDIR)$(sysconfexampledir)/$$file" "$$d$$file" > /dev/null 2>&1 ; then \
-+ echo "rm -f $(DESTDIR)$(sysconfexampledir)/$$file" ; \
-+ rm -f "$(DESTDIR)$(sysconfexampledir)/$$file" ; \
- fi ; \
- fi ; \
- done
diff --git a/parallel/openmpi/patches/patch-ak b/parallel/openmpi/patches/patch-ak
index 7387adac0f3..09acc4fe138 100644
--- a/parallel/openmpi/patches/patch-ak
+++ b/parallel/openmpi/patches/patch-ak
@@ -1,4 +1,6 @@
-$NetBSD: patch-ak,v 1.5 2016/10/23 14:02:28 asau Exp $
+$NetBSD: patch-ak,v 1.6 2022/08/25 22:09:14 thor Exp $
+
+# Use pkgsrc variables
--- ompi/etc/Makefile.in.orig 2016-09-02 01:30:09.000000000 +0000
+++ ompi/etc/Makefile.in
diff --git a/parallel/openmpi/patches/patch-configure b/parallel/openmpi/patches/patch-configure
index 596039e0b62..ec0b87d0200 100644
--- a/parallel/openmpi/patches/patch-configure
+++ b/parallel/openmpi/patches/patch-configure
@@ -1,171 +1,69 @@
-$NetBSD: patch-configure,v 1.2 2016/10/23 14:02:28 asau Exp $
+$NetBSD: patch-configure,v 1.3 2022/08/25 22:09:14 thor Exp $
---- configure.orig 2016-09-02 01:30:27.000000000 +0000
+# Portability of test command
+
+--- configure.orig 2022-07-29 20:55:26.095390777 +0000
+++ configure
-@@ -314733,166 +314734,6 @@ $as_echo "$as_me: WARNING: This usually
- done
+@@ -156118,7 +156118,7 @@ $as_echo_n "checking if memory patcher s
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $opal_memory_patcher_happy" >&5
+ $as_echo "$opal_memory_patcher_happy" >&6; }
+
+- if test "$opal_memory_patcher_happy" == "yes"; then :
++ if test "$opal_memory_patcher_happy" = "yes"; then :
+
+ for ac_func in __curbrk
+ do :
+@@ -338377,7 +338377,7 @@ cat >>confdefs.h <<_ACEOF
+ #define OMPI_MCA_OP_HAVE_SSE3 $op_sse3_support
+ _ACEOF
+
+- if test "$op_avx512_support" == "1"; then
++ if test "$op_avx512_support" = "1"; then
+ MCA_BUILD_ompi_op_has_avx512_support_TRUE=
+ MCA_BUILD_ompi_op_has_avx512_support_FALSE='#'
+ else
+@@ -338385,7 +338385,7 @@ else
+ MCA_BUILD_ompi_op_has_avx512_support_FALSE=
+ fi
+- if test "$op_avx2_support" == "1"; then
++ if test "$op_avx2_support" = "1"; then
+ MCA_BUILD_ompi_op_has_avx2_support_TRUE=
+ MCA_BUILD_ompi_op_has_avx2_support_FALSE='#'
+ else
+@@ -338393,7 +338393,7 @@ else
+ MCA_BUILD_ompi_op_has_avx2_support_FALSE=
+ fi
-- # If we found RPATH support, check for RUNPATH support, too
-- if test "$WRAPPER_RPATH_SUPPORT" = "rpath"; then :
--
--
--
-- # Is the private index set? If not, set it.
-- if test "x$ompi_scope_index" = "x"; then
-- ompi_scope_index=1
-- fi
--
-- # First, check to see if any of these variables are already set.
-- # This is a simple sanity check to ensure we're not already
-- # overwriting pre-existing variables (that have a non-empty
-- # value). It's not a perfect check, but at least it's something.
-- for ompi_var in LDFLAGS_save rpath_script rpath_outfile wl_fc; do
-- ompi_str="ompi_str=\"\$$ompi_var\""
-- eval $ompi_str
--
-- if test "x$ompi_str" != "x"; then
-- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Found configure shell variable clash!" >&5
--$as_echo "$as_me: WARNING: Found configure shell variable clash!" >&2;}
-- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: OPAL_VAR_SCOPE_PUSH called on \"$ompi_var\"," >&5
--$as_echo "$as_me: WARNING: OPAL_VAR_SCOPE_PUSH called on \"$ompi_var\"," >&2;}
-- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: but it is already defined with value \"$ompi_str\"" >&5
--$as_echo "$as_me: WARNING: but it is already defined with value \"$ompi_str\"" >&2;}
-- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: This usually indicates an error in configure." >&5
--$as_echo "$as_me: WARNING: This usually indicates an error in configure." >&2;}
-- as_fn_error $? "Cannot continue" "$LINENO" 5
-- fi
-- done
--
-- # Ok, we passed the simple sanity check. Save all these names so
-- # that we can unset them at the end of the scope.
-- ompi_str="ompi_scope_$ompi_scope_index=\"LDFLAGS_save rpath_script rpath_outfile wl_fc\""
-- eval $ompi_str
-- unset ompi_str
--
-- env | grep ompi_scope
-- ompi_scope_index=`expr $ompi_scope_index + 1`
--
--
-- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if linker supports RUNPATH" >&5
--$as_echo_n "checking if linker supports RUNPATH... " >&6; }
-- # Set the output in $runpath_args
-- runpath_args=
-- LDFLAGS_save=$LDFLAGS
-- LDFLAGS="$LDFLAGS -Wl,--enable-new-dtags"
-- ac_ext=c
--ac_cpp='$CPP $CPPFLAGS'
--ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
--ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
--ac_compiler_gnu=$ac_cv_c_compiler_gnu
--
-- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
--/* end confdefs.h. */
--
--int
--main ()
--{
--return 7;
-- ;
-- return 0;
--}
--_ACEOF
--if ac_fn_c_try_link "$LINENO"; then :
-- WRAPPER_RPATH_SUPPORT=runpath
-- runpath_args="-Wl,--enable-new-dtags"
-- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes (-Wl,--enable-new-dtags)" >&5
--$as_echo "yes (-Wl,--enable-new-dtags)" >&6; }
--else
-- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--fi
--rm -f core conftest.err conftest.$ac_objext \
-- conftest$ac_exeext conftest.$ac_ext
-- ac_ext=c
--ac_cpp='$CPP $CPPFLAGS'
--ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
--ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
--ac_compiler_gnu=$ac_cv_c_compiler_gnu
--
-- # Output goes into globally-visible $rpath_args. Run this in a
-- # sub-process so that we don't pollute the current process
-- # environment.
-- rpath_script=conftest.$$.sh
-- rpath_outfile=conftest.$$.out
-- rm -f $rpath_script $rpath_outfile
-- cat > $rpath_script <<EOF
--#!/bin/sh
--
--# Slurp in the libtool config into my environment
--
--# Apparently, "libtoool --config" calls "exit", so we can't source it
--# (because if script A sources script B, and B calls "exit", then both
--# B and A will exit). Instead, we have to send the output to a file
--# and then source that.
--$OMPI_TOP_BUILDDIR/libtool --tag=FC --config > $rpath_outfile
--
--chmod +x $rpath_outfile
--. ./$rpath_outfile
--rm -f $rpath_outfile
--
--wl="\`eval echo \$wl\`"
--echo \$wl
--
--# Done
--exit 0
--EOF
-- chmod +x $rpath_script
-- wl_fc=`./$rpath_script`
-- rm -f $rpath_script
--
-- LDFLAGS="$LDFLAGS_save ${wl_fc}--enable-new-dtags"
-- ac_ext=${ac_fc_srcext-f}
--ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5'
--ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5'
--ac_compiler_gnu=$ac_cv_fc_compiler_gnu
--
-- cat > conftest.$ac_ext <<_ACEOF
--program test
--end program
--_ACEOF
--if ac_fn_fc_try_link "$LINENO"; then :
-- runpath_fc_args="${wl_fc}--enable-new-dtags"
--else
-- runpath_fc_args=""
--fi
--rm -f core conftest.err conftest.$ac_objext \
-- conftest$ac_exeext conftest.$ac_ext
-- ac_ext=c
--ac_cpp='$CPP $CPPFLAGS'
--ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
--ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
--ac_compiler_gnu=$ac_cv_c_compiler_gnu
--
-- LDFLAGS=$LDFLAGS_save
--
--
-- # Unwind the index
-- ompi_scope_index=`expr $ompi_scope_index - 1`
-- ompi_scope_test=`expr $ompi_scope_index \> 0`
-- if test "$ompi_scope_test" = "0"; then
-- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: OPAL_VAR_SCOPE_POP popped too many OMPI configure scopes." >&5
--$as_echo "$as_me: WARNING: OPAL_VAR_SCOPE_POP popped too many OMPI configure scopes." >&2;}
-- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: This usually indicates an error in configure." >&5
--$as_echo "$as_me: WARNING: This usually indicates an error in configure." >&2;}
-- as_fn_error $? "Cannot continue" "$LINENO" 5
-- fi
--
-- # Get the variable names from that index
-- ompi_str="ompi_str=\"\$ompi_scope_$ompi_scope_index\""
-- eval $ompi_str
--
-- # Iterate over all the variables and unset them all
-- for ompi_var in $ompi_str; do
-- unset $ompi_var
-- done
--
--
--fi
+- if test "$op_avx_support" == "1"; then
++ if test "$op_avx_support" = "1"; then
+ MCA_BUILD_ompi_op_has_avx_support_TRUE=
+ MCA_BUILD_ompi_op_has_avx_support_FALSE='#'
+ else
+@@ -338401,7 +338401,7 @@ else
+ MCA_BUILD_ompi_op_has_avx_support_FALSE=
+ fi
+- if test "$op_sse41_support" == "1"; then
++ if test "$op_sse41_support" = "1"; then
+ MCA_BUILD_ompi_op_has_sse41_support_TRUE=
+ MCA_BUILD_ompi_op_has_sse41_support_FALSE='#'
+ else
+@@ -338409,7 +338409,7 @@ else
+ MCA_BUILD_ompi_op_has_sse41_support_FALSE=
fi
- if test "$enable_wrapper_rpath" = "yes" -a "$WRAPPER_RPATH_SUPPORT" = "disabled"; then :
+
+- if test "$op_sse3_support" == "1"; then
++ if test "$op_sse3_support" = "1"; then
+ MCA_BUILD_ompi_op_has_sse3_support_TRUE=
+ MCA_BUILD_ompi_op_has_sse3_support_FALSE='#'
+ else
+@@ -361527,7 +361527,7 @@ if test "${with_ompi_pmix_rte+set}" = se
+ withval=$with_ompi_pmix_rte;
+ fi
+
+- if test "$with_ompi_pmix_rte" == "yes"; then :
++ if test "$with_ompi_pmix_rte" = "yes"; then :
+ should_build=$should_build
+ { $as_echo "$as_me:${as_lineno-$LINENO}: PMIx RTE selected by user" >&5
+ $as_echo "$as_me: PMIx RTE selected by user" >&6;}
diff --git a/parallel/openmpi/patches/patch-ompi_mca_io_romio321_romio_configure b/parallel/openmpi/patches/patch-ompi_mca_io_romio321_romio_configure
new file mode 100644
index 00000000000..d9153ecb5a5
--- /dev/null
+++ b/parallel/openmpi/patches/patch-ompi_mca_io_romio321_romio_configure
@@ -0,0 +1,15 @@
+$NetBSD: patch-ompi_mca_io_romio321_romio_configure,v 1.1 2022/08/25 22:09:14 thor Exp $
+
+# POSIX sh compat
+
+--- ompi/mca/io/romio321/romio/configure.orig 2019-02-05 14:00:57.202743253 +0000
++++ ompi/mca/io/romio321/romio/configure
+@@ -22997,7 +22997,7 @@ if test "${with_aio_lite+set}" = set; th
+ withval=$with_aio_lite; with_aiolite=yes
+ fi
+
+-if test "x$with_aiolite" == xyes; then :
++if test "x$with_aiolite" = xyes; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lio_listio in -laio-lite" >&5
+ $as_echo_n "checking for lio_listio in -laio-lite... " >&6; }
+ if ${ac_cv_lib_aio_lite_lio_listio+:} false; then :
diff --git a/parallel/openmpi/patches/patch-ompi_mca_sharedfp_sm_sharedfp__sm.c b/parallel/openmpi/patches/patch-ompi_mca_sharedfp_sm_sharedfp__sm.c
new file mode 100644
index 00000000000..c11b88bacbd
--- /dev/null
+++ b/parallel/openmpi/patches/patch-ompi_mca_sharedfp_sm_sharedfp__sm.c
@@ -0,0 +1,14 @@
+$NetBSD: patch-ompi_mca_sharedfp_sm_sharedfp__sm.c,v 1.1 2022/08/25 22:09:14 thor Exp $
+
+# Fix missing constants
+
+--- ompi/mca/sharedfp/sm/sharedfp_sm.c.orig 2022-07-29 23:04:14.067867314 +0000
++++ ompi/mca/sharedfp/sm/sharedfp_sm.c
+@@ -26,6 +26,7 @@
+ * modules just to query their version and parameters
+ */
+
++#include <sys/stat.h> // Hack for NetBSD
+ #include "ompi_config.h"
+ #include "mpi.h"
+ #include "ompi/mca/sharedfp/sharedfp.h"
diff --git a/parallel/openmpi/patches/patch-opal_asm_asm-data.txt b/parallel/openmpi/patches/patch-opal_asm_asm-data.txt
deleted file mode 100644
index d3b33bf2166..00000000000
--- a/parallel/openmpi/patches/patch-opal_asm_asm-data.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD: patch-opal_asm_asm-data.txt,v 1.1 2020/02/06 11:28:49 jperkin Exp $
-
-Add support for SunOS/x86_64.
-
---- opal/asm/asm-data.txt.orig 2016-08-24 14:54:58.000000000 +0000
-+++ opal/asm/asm-data.txt
-@@ -44,6 +44,7 @@ ALPHA default-.text-.globl-:--$-@-1-1-1-
- ######################################################################
-
- AMD64 default-.text-.globl-:--.L-@-1-0-1-1-1 amd64-linux
-+AMD64 default-.text-.globl-:--.L-#-1-0-1-1-0 amd64-linux
- AMD64 default-.text-.globl-:--.L-@-1-0-1-1-0 amd64-linux-nongas
-
-
diff --git a/parallel/openmpi/patches/patch-opal_tools_wrappers_opal__wrapper.c b/parallel/openmpi/patches/patch-opal_tools_wrappers_opal__wrapper.c
new file mode 100644
index 00000000000..e9b70a8f591
--- /dev/null
+++ b/parallel/openmpi/patches/patch-opal_tools_wrappers_opal__wrapper.c
@@ -0,0 +1,32 @@
+$NetBSD: patch-opal_tools_wrappers_opal__wrapper.c,v 1.1 2022/08/25 22:09:14 thor Exp $
+
+# Add rpath support
+
+--- opal/tools/wrappers/opal_wrapper.c.orig 2022-07-30 14:00:47.068421047 +0000
++++ opal/tools/wrappers/opal_wrapper.c
+@@ -57,6 +57,7 @@
+
+ #define OPAL_INCLUDE_FLAG "-I"
+ #define OPAL_LIBDIR_FLAG "-L"
++#define OPAL_RPATH_FLAG "-R"
+
+ struct options_data_t {
+ char **compiler_args;
+@@ -347,6 +348,8 @@ data_callback(const char *key, const cha
+ char *line;
+ asprintf(&line, OPAL_INCLUDE_FLAG"%s",
+ options_data[parse_options_idx].path_opalincludedir);
++ asprintf(&line, OPAL_RPATH_FLAG"%s",
++ options_data[parse_options_idx].path_libdir);
+ opal_argv_append_nosize(&options_data[parse_options_idx].preproc_flags, line);
+ free(line);
+ }
+@@ -358,6 +361,8 @@ data_callback(const char *key, const cha
+ char *line;
+ asprintf(&line, OPAL_LIBDIR_FLAG"%s",
+ options_data[parse_options_idx].path_opallibdir);
++ asprintf(&line, OPAL_RPATH_FLAG"%s",
++ options_data[parse_options_idx].path_libdir);
+ opal_argv_append_nosize(&options_data[parse_options_idx].link_flags, line);
+ free(line);
+ }