From 3dd7619f73b9b4d31b43d88ff09aff79589affc5 Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Wed, 1 Jun 2022 17:49:25 -0700 Subject: WarpX: Patch no-MPI & Lib Install (#30866) Fixes WarpX issues: - https://github.com/ECP-WarpX/WarpX/pull/3134 - https://github.com/ECP-WarpX/WarpX/pull/3141 and uses GitHub patch URLs directly instead of storing patch copies. --- var/spack/repos/builtin/packages/warpx/2626.patch | 34 ----------------------- var/spack/repos/builtin/packages/warpx/package.py | 24 ++++++++++++++-- 2 files changed, 22 insertions(+), 36 deletions(-) delete mode 100644 var/spack/repos/builtin/packages/warpx/2626.patch diff --git a/var/spack/repos/builtin/packages/warpx/2626.patch b/var/spack/repos/builtin/packages/warpx/2626.patch deleted file mode 100644 index 699744b89d..0000000000 --- a/var/spack/repos/builtin/packages/warpx/2626.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 9785e706229622626133c4b03c7abd004f62023f Mon Sep 17 00:00:00 2001 -From: Axel Huebl -Date: Sat, 4 Dec 2021 15:28:13 -0800 -Subject: [PATCH] Fix: Installed Symlink LIB - -The latest patch to these routines broke our library alias in installs. - -By default, this variable is relative and needs the prefix appended. -In some cases, e.g., if externally set, it can already be absolute. In that -case, we skip adding the prefix. ---- - CMakeLists.txt | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 04092ba962..a549546ab9 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -343,9 +343,14 @@ if(WarpX_LIB) - else() - set(mod_ext "so") - endif() -+ if(IS_ABSOLUTE ${CMAKE_INSTALL_LIBDIR}) -+ set(ABS_INSTALL_LIB_DIR ${CMAKE_INSTALL_LIBDIR}) -+ else() -+ set(ABS_INSTALL_LIB_DIR ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}) -+ endif() - install(CODE "file(CREATE_LINK - $ -- ${CMAKE_INSTALL_LIBDIR}/libwarpx.${lib_suffix}.${mod_ext} -+ ${ABS_INSTALL_LIB_DIR}/libwarpx.${lib_suffix}.${mod_ext} - COPY_ON_ERROR SYMBOLIC)") - endif() - diff --git a/var/spack/repos/builtin/packages/warpx/package.py b/var/spack/repos/builtin/packages/warpx/package.py index 66577c87c6..039ee9bfe6 100644 --- a/var/spack/repos/builtin/packages/warpx/package.py +++ b/var/spack/repos/builtin/packages/warpx/package.py @@ -132,7 +132,22 @@ class Warpx(CMakePackage): # The symbolic aliases for our +lib target were missing in the install # location # https://github.com/ECP-WarpX/WarpX/pull/2626 - patch('2626.patch', when='@21.12') + patch('https://github.com/ECP-WarpX/WarpX/pull/2626.patch?full_index=1', + sha256='a431d4664049d6dcb6454166d6a948d8069322a111816ca5ce01553800607544', + when='@21.12') + + # Workaround for AMReX<=22.06 no-MPI Gather + # https://github.com/ECP-WarpX/WarpX/pull/3134 + # https://github.com/AMReX-Codes/amrex/pull/2793 + patch('https://github.com/ECP-WarpX/WarpX/pull/3134.patch?full_index=1', + sha256='b786ce64a3c2c2b96ff2e635f0ee48532e4ae7ad9637dbf03f11c0768c290690', + when='@22.02:22.05') + + # Forgot to install ABLASTR library + # https://github.com/ECP-WarpX/WarpX/pull/3141 + patch('https://github.com/ECP-WarpX/WarpX/pull/3141.patch?full_index=1', + sha256='dab6fb44556ee1fd466a4cb0e20f89bde1ce445c9a51a2c0f59d1740863b5e7d', + when='@22.04,22.05') def cmake_args(self): spec = self.spec @@ -168,10 +183,15 @@ class Warpx(CMakePackage): def libs(self): libsuffix = {'1': '1d', '2': '2d', '3': '3d', 'rz': 'rz'} dims = self.spec.variants['dims'].value - return find_libraries( + libs = find_libraries( ['libwarpx.' + libsuffix[dims]], root=self.prefix, recursive=True, shared=True ) + libs += find_libraries( + ['libablastr'], root=self.prefix, recursive=True, + shared=self.spec.variants['shared'] + ) + return libs # WarpX has many examples to serve as a suitable smoke check. One # that is typical was chosen here -- cgit v1.2.3-70-g09d2