pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

openmpi: simplify, config file handling, fixup



Module Name:	pkgsrc-wip
Committed By:	Dr. Thomas Orgis <thomas.orgis%uni-hamburg.de@localhost>
Pushed By:	thor
Date:		Thu Aug 18 17:34:09 2022 +0200
Changeset:	08101a0ce3939298182a37a0cdcb702eac908c69

Modified Files:
	openmpi/Makefile
	openmpi/PLIST
	openmpi/buildlink3.mk
	openmpi/distinfo
	openmpi/options.mk
Removed Files:
	openmpi/TODO
	openmpi/patches/patch-aj

Log Message:
openmpi: simplify, config file handling, fixup

We do not go for concurrently installed MPI libraries, so no
MPI_PREFIX. The configuration file handling does not need
patches to the build.

OpenSHMEM is not that relevant for general use and actually
surpassed in the current MPI standard, so we try to get by without
it.

Scheduler integration options exist, but are not tested. It should
be trivial changes to PLIST, if at all, and handling of the
actual scheduler inside or outside of pkgsrc. On my HPC setups, the
scheduler comes as part of the base system or my own installation
before pkgsrc, just like MPI, in fact. MPI installed from pkgsrc is
useful for workstations that parallel applications are developed on.

Turning off Fortran (f09 option) has been tested, but other packages
(will) assume it is on, hence the default.

It is not the prettiest package, there are some unknowns and nits to
pick (like not using external hwloc), but it should all in all be
something useful in contrast to the ancient state in main.

Pkglint is happy, at least.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=08101a0ce3939298182a37a0cdcb702eac908c69

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 openmpi/Makefile         |  68 +++++---------
 openmpi/PLIST            | 236 ++---------------------------------------------
 openmpi/TODO             |  14 ---
 openmpi/buildlink3.mk    |   6 --
 openmpi/distinfo         |   1 -
 openmpi/options.mk       |  15 ++-
 openmpi/patches/patch-aj |  62 -------------
 7 files changed, 39 insertions(+), 363 deletions(-)

diffs:
diff --git a/openmpi/Makefile b/openmpi/Makefile
index d9fd10d814..eaefebc0a1 100644
--- a/openmpi/Makefile
+++ b/openmpi/Makefile
@@ -5,7 +5,7 @@ CATEGORIES=	parallel
 MASTER_SITES=	https://download.open-mpi.org/release/open-mpi/v4.1/
 EXTRACT_SUFX=	.tar.bz2
 
-MAINTAINER=	bacon%NetBSD.org@localhost
+MAINTAINER=	thor%NetBSD.org@localhost
 HOMEPAGE=	https://www.open-mpi.org/
 COMMENT=	Open source MPI-3.1 implementation
 LICENSE=	modified-bsd
@@ -16,15 +16,14 @@ USE_LANGUAGES=		c c++
 USE_LIBTOOL=		yes
 USE_TOOLS+=		perl:run bash:run
 GNU_CONFIGURE=		yes
-GNU_CONFIGURE_PREFIX=	${MPI_PREFIX}
 CONFIG_SHELL=		bash
-CONFIGURE_ARGS+=	--without-slurm
 CONFIGURE_ARGS+=	--enable-contrib-no-build=vt # in separate package
 CONFIGURE_ARGS+=	--with-libltdl=${BUILDLINK_PREFIX.libltdl}
-CONFIGURE_ARGS+=	--with-hwloc=${BUILDLINK_PREFIX.hwloc}
-.if defined(PKGSRC_USE_MPI_SUBPREFIX)
-CONFIGURE_ARGS+=	--with-wrapper-ldflags="-L${MPI_PREFIX}/lib ${LINKER_RPATH_FLAG}${MPI_PREFIX}/lib"
-.endif
+# 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=	libtool \
 			ompi/contrib/vt/vt/extlib/otf/libtool \
@@ -32,45 +31,21 @@ LIBTOOL_OVERRIDE=	libtool \
 			ompi/mca/io/romio/romio/libtool
 SHLIBTOOL_OVERRIDE=	config/libtool.m4
 
-# Prevent detection of OpenMP support in order to make PLIST consistent
-BUILDLINK_TRANSFORM=	rm:-fopenmp
-
 .include "options.mk"
 
 TEST_TARGET=	check
 
-# openmpi has a large number of build options, and we must figure out
-# what is going to be discovered and enabled.  First, we describe each
-# PLIST var.
-
 # Unsurprisingly, files that are only produced on GNU/Linux systems.
 PLIST_VARS+=	linux
-# This controls if a single library is built, apparently only on Linux and AIX.
-PLIST_VARS+=	loadleveler
-# True if OpenSHMEM is enabled, perhaps currently only on Linux.
-PLIST_VARS+=	oshmem
 # \todo Explain.  Apparently built if !Linux.
 PLIST_VARS+=	pstattest
-# \todo Explain.  Not used in PLIST.
-PLIST_VARS+=	shm
 # \todo Explain.
 PLIST_VARS+=	ignoretkr
 PLIST_VARS+=	noignoretkr
 
-# \todo There are no PLIST entries with PLIST.shm
-
-# \todo ignoretkr is not making sense
 
 .if ${OPSYS} == "Linux"
-PLIST.shm=		yes
 PLIST.linux=		yes
-PLIST.loadleveler=	yes
-PLIST.oshmem=		yes
-.elif ${OPSYS} == "AIX"
-PLIST.loadleveler=	yes
-.elif ${OPSYS} == "DragonFly" || ${OPSYS} == "FreeBSD" || \
-    (${OPSYS} == "NetBSD" && exists(/var/shm))
-PLIST.shm=		yes
 .endif
 
 .if ${OPSYS} != "Linux"
@@ -89,23 +64,22 @@ PLIST.noignoretkr=	yes
 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:
-	${ECHO} "Move files in etc to examples and fix PLIST!"
-
-# Some people want pkgsrc to support multiple versions of MPI at once,
-# but this is not the standard approach.   This logic, or perhaps extracting
-# the variable from the built package, is needed in buildlink3.mk.
-.if defined(PKGSRC_USE_MPI_SUBPREFIX)
-MPI_SUBPREFIX=	openmpi4
-MPI_PREFIX=	${PREFIX}/${MPI_SUBPREFIX}
-# \todo Support this in PLIST.
-.else
-MPI_SUBPREFIX=
-MPI_PREFIX=	${PREFIX}
-.endif
+.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/openmpi/PLIST b/openmpi/PLIST
index 3e4d6a9a20..6844f78fa4 100644
--- a/openmpi/PLIST
+++ b/openmpi/PLIST
@@ -21,16 +21,7 @@ bin/orte-server
 bin/ortecc
 bin/orted
 bin/orterun
-${PLIST.oshmem}bin/oshcc
-${PLIST.oshmem}bin/oshfort
-${PLIST.oshmem}bin/oshmem_info
-${PLIST.oshmem}bin/oshrun
 bin/profile2mat.pl
-${PLIST.oshmem}bin/shmemcc
-${PLIST.oshmem}bin/shmemfort
-${PLIST.oshmem}bin/shmemrun
-etc/openmpi-default-hostfile
-etc/pmix-mca-params.conf
 include/mpi-ext.h
 include/mpi.h
 include/mpi_portable_platform.h
@@ -45,25 +36,12 @@ ${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/mpiext/mpiext_affinity_c.h
 include/openmpi/mpiext/mpiext_cuda_c.h
 include/openmpi/mpiext/mpiext_pcollreq_c.h
-include/openmpi/mpiext/mpiext_pcollreq_mpifh.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
@@ -72,12 +50,11 @@ lib/libmpi.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
@@ -91,7 +68,6 @@ 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_bml_r2.la
 lib/openmpi/mca_btl_self.la
 lib/openmpi/mca_btl_sm.la
@@ -133,8 +109,6 @@ lib/openmpi/mca_io_romio321.la
 lib/openmpi/mca_iof_hnp.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_hugepage.la
 lib/openmpi/mca_odls_default.la
 lib/openmpi/mca_odls_pspawn.la
@@ -156,9 +130,9 @@ lib/openmpi/mca_pml_ob1.la
 ${PLIST.linux}lib/openmpi/mca_pstat_linux.la
 ${PLIST.pstattest}lib/openmpi/mca_pstat_test.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_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
@@ -178,17 +152,12 @@ lib/openmpi/mca_schizo_flux.la
 lib/openmpi/mca_schizo_jsm.la
 lib/openmpi/mca_schizo_ompi.la
 lib/openmpi/mca_schizo_orte.la
-${PLIST.oshmem}lib/openmpi/mca_scoll_basic.la
-${PLIST.oshmem}lib/openmpi/mca_scoll_mpi.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_hnp.la
 lib/openmpi/mca_state_novm.la
@@ -247,13 +216,6 @@ man/man1/orte-info.1
 man/man1/orte-server.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
@@ -694,190 +656,16 @@ 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-mca-params.conf
 share/openmpi/examples/openmpi-totalview.tcl
 share/openmpi/help-btl-vader.txt
 share/openmpi/help-coll-sync.txt
@@ -932,12 +720,6 @@ share/openmpi/help-orte-snapc-base.txt
 share/openmpi/help-orted.txt
 share/openmpi/help-orterun.txt
 share/openmpi/help-osc-pt2pt.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-plm-base.txt
 share/openmpi/help-plm-rsh.txt
 share/openmpi/help-pmix-base.txt
@@ -948,8 +730,6 @@ share/openmpi/help-ras-simulator.txt
 share/openmpi/help-rcache-base.txt
 share/openmpi/help-regex.txt
 share/openmpi/help-rmaps_rank_file.txt
-${PLIST.oshmem}share/openmpi/help-shmem-api.txt
-${PLIST.oshmem}share/openmpi/help-shmem-runtime.txt
 share/openmpi/help-state-base.txt
 share/openmpi/mpiCC-wrapper-data.txt
 share/openmpi/mpic++-wrapper-data.txt
@@ -960,10 +740,6 @@ 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
diff --git a/openmpi/TODO b/openmpi/TODO
deleted file mode 100644
index ecac7b89f0..0000000000
--- a/openmpi/TODO
+++ /dev/null
@@ -1,14 +0,0 @@
-This is a candidate to replace the contents of parallel/openmpi.
-
-- f90 is a default-on option, which seems right.  However fortran was
-  unconditionally in USE_LANGUAGES.  Test build with f90 off.
-
-- Get consensus on lack of subprefix. 
-
-- If not, explain if the subprefix scheme depend on other MPI impls
-  adopting it.  Or is it just that one can install one non-prefixed,
-  or N prefixed, or at most one non-prefixed?
-
-- PLIST errors, especially PLIST.ignoretkr related.
-
-- There are two files in etc which should be moved and be CONF_FILES.
diff --git a/openmpi/buildlink3.mk b/openmpi/buildlink3.mk
index ec768a7d54..3f60ded88b 100644
--- a/openmpi/buildlink3.mk
+++ b/openmpi/buildlink3.mk
@@ -8,12 +8,6 @@ OPENMPI_BUILDLINK3_MK:=
 BUILDLINK_API_DEPENDS.openmpi+=	openmpi>=1.5.1
 BUILDLINK_PKGSRCDIR.openmpi?=	../../wip/openmpi
 
-# \todo Extract to a mk fragment.
-#MPI_SUBPREFIX=			openmpi4
-#MPI_PREFIX=			${PREFIX}/${MPI_SUBPREFIX}
-MPI_PREFIX=			${PREFIX}
-
-.include "../../parallel/hwloc/buildlink3.mk"
 .endif # OPENMPI_BUILDLINK3_MK
 
 BUILDLINK_TREE+=	-openmpi
diff --git a/openmpi/distinfo b/openmpi/distinfo
index 53fea3ffab..b2359457aa 100644
--- a/openmpi/distinfo
+++ b/openmpi/distinfo
@@ -3,7 +3,6 @@ $NetBSD: distinfo,v 1.22 2021/10/26 11:10:37 nia Exp $
 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-aj) = e50a1843fa512b1957faea952f01da77e3396543
 SHA1 (patch-ak) = 1dba883fb533df57f5869b743e499a3117339529
 SHA1 (patch-config_opal__setup__wrappers.m4) = c3fe3cb5ff7cedcb5c847f25eea129d4299dd5d2
 SHA1 (patch-configure) = bb6373289ffa2beabccedb6ead679367c85dbe1e
diff --git a/openmpi/options.mk b/openmpi/options.mk
index a677a423bb..d5c02ed47b 100644
--- a/openmpi/options.mk
+++ b/openmpi/options.mk
@@ -1,7 +1,7 @@
 # $NetBSD: options.mk,v 1.10 2018/01/04 20:31:28 adam Exp $
 
 PKG_OPTIONS_VAR=	PKG_OPTIONS.openmpi
-PKG_SUPPORTED_OPTIONS=	debug f90 java
+PKG_SUPPORTED_OPTIONS=	debug f90 java sge slurm
 PKG_SUGGESTED_OPTIONS+=	f90
 
 .include "../../mk/bsd.options.mk"
@@ -33,6 +33,15 @@ PLIST.java=		yes
 CONFIGURE_ARGS+=	--disable-mpi-java
 .endif
 
-# \todo Keep sge, or add to COMMIT_MSG an explanation of why it is
-# dropped.
+.if !empty(PKG_OPTIONS:Msge)
+CONFIGURE_ARGS+=	--with-sge
+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/openmpi/patches/patch-aj b/openmpi/patches/patch-aj
deleted file mode 100644
index dc2f7b3aa0..0000000000
--- a/openmpi/patches/patch-aj
+++ /dev/null
@@ -1,62 +0,0 @@
-$NetBSD: patch-aj,v 1.5 2016/10/23 14:02:28 asau Exp $
-
-# Use pkgsrc variables
-
---- 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


Home | Main Index | Thread Index | Old Index