summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Edwards <jedwards@ucar.edu>2023-12-06 01:39:08 -0700
committerGitHub <noreply@github.com>2023-12-06 09:39:08 +0100
commit84999b699682f8505908e7c5f7e767f9d3be6c79 (patch)
tree59be27cc0b90d35d1042bbdbe14aeacb8072245b
parentb0f193071d94d01ca21a496248abdb8ae237472c (diff)
downloadspack-84999b699682f8505908e7c5f7e767f9d3be6c79.tar.gz
spack-84999b699682f8505908e7c5f7e767f9d3be6c79.tar.bz2
spack-84999b699682f8505908e7c5f7e767f9d3be6c79.tar.xz
spack-84999b699682f8505908e7c5f7e767f9d3be6c79.zip
mpiserial: rework installation (#40762)
-rw-r--r--var/spack/repos/builtin/packages/mpi-serial/install.patch34
-rw-r--r--var/spack/repos/builtin/packages/mpi-serial/package.py18
2 files changed, 14 insertions, 38 deletions
diff --git a/var/spack/repos/builtin/packages/mpi-serial/install.patch b/var/spack/repos/builtin/packages/mpi-serial/install.patch
deleted file mode 100644
index a1b3080a12..0000000000
--- a/var/spack/repos/builtin/packages/mpi-serial/install.patch
+++ /dev/null
@@ -1,34 +0,0 @@
---- old/Makefile
-+++ new/Makefile
-@@ -76,6 +76,9 @@
-
- .PHONY: clean tests install
-
-+includedir = $(PREFIX)/include
-+libdir = $(PREFIX)/lib
-+
- clean:
- /bin/rm -f *.o ctest ftest $(LIB) mpi.mod config.log config.status
- cd tests ; $(MAKE) clean
-@@ -83,7 +86,7 @@
- tests:
- cd tests; make
-
--install: lib
-+install: $(LIB)
- $(MKINSTALLDIRS) $(libdir) $(includedir)
- $(INSTALL) lib$(MODULE).a -m 644 $(libdir)
- $(INSTALL) mpi.h -m 644 $(includedir)
---- old/Makefile.conf.in
-+++ new/Makefile.conf.in
-@@ -10,7 +10,8 @@
- LIBS = @LIBS@
- CRULE = .c.o
- F90RULE = .F90.o
--
-+MKINSTALLDIRS = mkdir
- SHELL = /bin/sh
--
-+INSTALL = install
- MODULE = mpi-serial
-+PREFIX = @prefix@
diff --git a/var/spack/repos/builtin/packages/mpi-serial/package.py b/var/spack/repos/builtin/packages/mpi-serial/package.py
index 6b5b0f20d8..18a13e46ec 100644
--- a/var/spack/repos/builtin/packages/mpi-serial/package.py
+++ b/var/spack/repos/builtin/packages/mpi-serial/package.py
@@ -3,6 +3,8 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+import os
+
from spack.package import *
@@ -31,8 +33,6 @@ class MpiSerial(AutotoolsPackage):
description="Specify the size of Fortran double precision variables",
)
- patch("install.patch")
-
provides("mpi")
def flag_handler(self, name, flags):
@@ -41,8 +41,7 @@ class MpiSerial(AutotoolsPackage):
if name == "cflags":
config_flags.append(self.compiler.cc_pic_flag)
-
- if spec.compiler.name in ["oneapi"]:
+ if spec.satisfies("%oneapi"):
# OneAPI fails due to these standards checks
config_flags.append("-Wno-error=implicit-int")
config_flags.append("-Wno-error=implicit-function-declaration")
@@ -62,3 +61,14 @@ class MpiSerial(AutotoolsPackage):
args.extend(["--enable-fort-double={0}".format(doublesize)])
return args
+
+ def install(self, spec, prefix):
+ mkdir(prefix.lib)
+ mkdir(prefix.include)
+ install("libmpi-serial.a", prefix.lib)
+ install("mpi.h", prefix.include)
+ install("mpif.h", prefix.include)
+ if os.path.isfile("mpi.mod"):
+ install("mpi.mod", prefix.include)
+ if os.path.isfile("MPI.mod"):
+ install("MPI.mod", prefix.include)