pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
openmpi: Rototill PLIST var docs
Module Name: pkgsrc-wip
Committed By: Greg Troxel <gdt%lexort.com@localhost>
Pushed By: gdt
Date: Tue Aug 2 19:50:53 2022 -0400
Changeset: 53a47e3b992e3501f517b3f4875ec863d4898abc
Modified Files:
openmpi/Makefile
openmpi/PLIST
openmpi/TODO
openmpi/options.mk
Log Message:
openmpi: Rototill PLIST var docs
- Detangle and explain PLIST vars, in part.
- assume f08 will work (it's 2022), and leave it for future work if
not
- put back etc items in PLIST, and add a TOOD to CONF_FILEize.
With this, I can build a binary package on NetBSD 9 amd64 with
PKG_DEVELOPER. And pkglint is only about 30% as upset.
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=53a47e3b992e3501f517b3f4875ec863d4898abc
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
openmpi/Makefile | 32 ++++++++++++++++++++++++++++----
openmpi/PLIST | 2 ++
openmpi/TODO | 16 ++++++++--------
openmpi/options.mk | 5 +++--
4 files changed, 41 insertions(+), 14 deletions(-)
diffs:
diff --git a/openmpi/Makefile b/openmpi/Makefile
index 621b10e745..b50c648fcf 100644
--- a/openmpi/Makefile
+++ b/openmpi/Makefile
@@ -12,7 +12,7 @@ LICENSE= modified-bsd
CONFLICTS= mpich-[0-9]*
-USE_LANGUAGES= c c++ fortran
+USE_LANGUAGES= c c++
USE_LIBTOOL= yes
USE_TOOLS+= perl:run bash:run
GNU_CONFIGURE= yes
@@ -39,8 +39,23 @@ BUILDLINK_TRANSFORM= rm:-fopenmp
TEST_TARGET= check
-PLIST_VARS+= linux loadleveler oshmem pstattest shm
-PLIST_VARS+= ignoretkr noignoretkr
+# 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
@@ -51,15 +66,21 @@ 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
@@ -68,6 +89,9 @@ PLIST.noignoretkr= yes
REPLACE_PERL= ompi/tools/wrappers/mpijavac.pl.in
REPLACE_PERL+= ompi/mca/common/monitoring/*.pl
+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.
diff --git a/openmpi/PLIST b/openmpi/PLIST
index 9f4def9e0f..3e4d6a9a20 100644
--- a/openmpi/PLIST
+++ b/openmpi/PLIST
@@ -29,6 +29,8 @@ 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
diff --git a/openmpi/TODO b/openmpi/TODO
index 7cb5c64e57..ecac7b89f0 100644
--- a/openmpi/TODO
+++ b/openmpi/TODO
@@ -1,14 +1,14 @@
This is a candidate to replace the contents of parallel/openmpi.
-- Update API/ABI depends in buildlink3.mk; seems like it can't be right.
+- f90 is a default-on option, which seems right. However fortran was
+ unconditionally in USE_LANGUAGES. Test build with f90 off.
-- f90 is a default-on option, which seems right. However fortran is
- unconditionally in USE_LANGUAGES. Either make it condition or
- explain why.
+- Get consensus on lack of subprefix.
-- 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?
+- 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
+- PLIST errors, especially PLIST.ignoretkr related.
+- There are two files in etc which should be moved and be CONF_FILES.
diff --git a/openmpi/options.mk b/openmpi/options.mk
index ca0f3fca48..a677a423bb 100644
--- a/openmpi/options.mk
+++ b/openmpi/options.mk
@@ -16,10 +16,11 @@ PLIST_VARS+= f08 f90 java sge
USE_LANGUAGES+= fortran
GCC_REQD+= 4.7
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
Home |
Main Index |
Thread Index |
Old Index