From 84999b699682f8505908e7c5f7e767f9d3be6c79 Mon Sep 17 00:00:00 2001 From: Jim Edwards Date: Wed, 6 Dec 2023 01:39:08 -0700 Subject: mpiserial: rework installation (#40762) --- .../builtin/packages/mpi-serial/install.patch | 34 ---------------------- .../repos/builtin/packages/mpi-serial/package.py | 18 +++++++++--- 2 files changed, 14 insertions(+), 38 deletions(-) delete mode 100644 var/spack/repos/builtin/packages/mpi-serial/install.patch 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) -- cgit v1.2.3-70-g09d2