From a85f1cfa4b2c84637a421a99a5d6ccb3cc58999b Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Mon, 24 Feb 2025 14:48:27 -0800 Subject: [PATCH] WarpX 25.02 (#48917) * pyAMReX: 25.02 * PICMI: 0.33.0 * WarpX: 25.02 * `amrex +fft` depends on `pkgconfig` * Updated CMake logic uses `pkgconfig` --- var/spack/repos/builtin/packages/amrex/package.py | 1 + .../repos/builtin/packages/py-amrex/package.py | 10 ++++++++-- .../builtin/packages/py-picmistandard/package.py | 3 ++- var/spack/repos/builtin/packages/warpx/package.py | 15 ++++++++++++--- 4 files changed, 23 insertions(+), 6 deletions(-) diff --git a/var/spack/repos/builtin/packages/amrex/package.py b/var/spack/repos/builtin/packages/amrex/package.py index 4c43f903894..41694a4abbd 100644 --- a/var/spack/repos/builtin/packages/amrex/package.py +++ b/var/spack/repos/builtin/packages/amrex/package.py @@ -158,6 +158,7 @@ class Amrex(CMakePackage, CudaPackage, ROCmPackage): with when("+fft"): depends_on("rocfft", when="+rocm") depends_on("fftw@3", when="~cuda ~rocm ~sycl") + depends_on("pkgconfig", type="build") with when("+ascent"): depends_on("ascent") depends_on("ascent +cuda", when="+cuda") diff --git a/var/spack/repos/builtin/packages/py-amrex/package.py b/var/spack/repos/builtin/packages/py-amrex/package.py index 7922cd7214c..1eb8000fd2d 100644 --- a/var/spack/repos/builtin/packages/py-amrex/package.py +++ b/var/spack/repos/builtin/packages/py-amrex/package.py @@ -18,7 +18,12 @@ class PyAmrex(CMakePackage, PythonExtension, CudaPackage, ROCmPackage): license("BSD-3-Clause-LBNL") version("develop", branch="development") - version("24.10", sha256="dc1752ed3fbd5113dcfdbddcfe6c3c458e572b288ac9d41ed3ed7db130591d74") + version("25.02", sha256="c743086b317f9fa90639d825db32a92376cde8dc5e1eab47a4c6a82af36d5b5c") + version( + "24.10", + sha256="dc1752ed3fbd5113dcfdbddcfe6c3c458e572b288ac9d41ed3ed7db130591d74", + deprecated=True, + ) version( "24.08", sha256="e7179d88261f64744f392a2194ff2744fe323fe0e21d0742ba60458709a1b47e", @@ -36,7 +41,7 @@ class PyAmrex(CMakePackage, PythonExtension, CudaPackage, ROCmPackage): deprecated=True, ) - for v in ["24.10", "24.08", "24.04", "24.03"]: + for v in ["25.02", "24.10", "24.08", "24.04", "24.03"]: depends_on("amrex@{0}".format(v), when="@{0}".format(v), type=("build", "link")) variant( @@ -67,6 +72,7 @@ class PyAmrex(CMakePackage, PythonExtension, CudaPackage, ROCmPackage): depends_on("cmake@3.20:3", type="build", when="@:24.08") depends_on("cmake@3.24:3", type="build", when="@24.09:") + depends_on("pkgconfig", type="build") # amrex +fft depends_on("python@3.8:", type=("build", "run")) depends_on("py-mpi4py@2.1.0:", type=("build", "run"), when="+mpi") depends_on("py-numpy@1.15:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-picmistandard/package.py b/var/spack/repos/builtin/packages/py-picmistandard/package.py index ccd00516623..660a9bd44f2 100644 --- a/var/spack/repos/builtin/packages/py-picmistandard/package.py +++ b/var/spack/repos/builtin/packages/py-picmistandard/package.py @@ -10,11 +10,12 @@ class PyPicmistandard(PythonPackage): homepage = "https://picmi-standard.github.io" git = "https://github.com/picmi-standard/picmi.git" - pypi = "picmistandard/picmistandard-0.30.0.tar.gz" + pypi = "picmistandard/picmistandard-0.33.0.tar.gz" maintainers("ax3l", "dpgrote", "RemiLehe") version("master", branch="master") + version("0.33.0", sha256="bdab1643385d85da1462ba8cebc4460dd87c735946f4766181714d7cb8cf2188") version("0.30.0", sha256="28b892b242e0cc044ad987d6bdc12811fe4a478d5096d6bc5989038ee9d9dab6") version("0.29.0", sha256="dc0bf3ddd3635df9935ac569b3085de387150c4f8e9851897078bb12d123dde8") version("0.28.0", sha256="aa980b0fb49fc3ff9c7e32b5927b3700c4660aefbf96567bac1f8c9c93bb7831") diff --git a/var/spack/repos/builtin/packages/warpx/package.py b/var/spack/repos/builtin/packages/warpx/package.py index 0fac6808fe5..575700dfb6a 100644 --- a/var/spack/repos/builtin/packages/warpx/package.py +++ b/var/spack/repos/builtin/packages/warpx/package.py @@ -25,7 +25,12 @@ class Warpx(CMakePackage, PythonExtension): # NOTE: if you update the versions here, also see py-warpx version("develop", branch="development") - version("24.10", sha256="1fe3a86bf820a2ecef853cdcd9427fba4e0cb1efb05326da7dc9dbf94551202f") + version("25.02", sha256="c65385a3598bf43278c0b1c10ae2a5a07c1a46f6fa98deded385ecca2021a1a2") + version( + "24.10", + sha256="1fe3a86bf820a2ecef853cdcd9427fba4e0cb1efb05326da7dc9dbf94551202f", + deprecated=True, + ) version( "24.08", sha256="8da1f2967f613a65a295260260aa4f081ac1d1b7c1d6987d294e02b86099df08", @@ -245,7 +250,7 @@ class Warpx(CMakePackage, PythonExtension): depends_on("c", type="build") depends_on("cxx", type="build") - for v in ["24.10", "24.08", "develop"]: + for v in ["25.02", "24.10", "24.08", "develop"]: depends_on( f"amrex@{v} build_system=cmake +linear_solvers +pic +particles +shared +tiny_profile", when=f"@{v}", @@ -277,6 +282,8 @@ class Warpx(CMakePackage, PythonExtension): depends_on("amrex dimensions=3") with when("+eb"): depends_on("amrex +eb") + with when("+fft"): + depends_on("amrex +fft", when="@24.11:") depends_on("mpi", when="+mpi") with when("+mpi"): depends_on("amrex +mpi") @@ -321,6 +328,7 @@ class Warpx(CMakePackage, PythonExtension): depends_on("openpmd-api@0.13.1:") depends_on("openpmd-api@0.14.2:", when="@21.09:") depends_on("openpmd-api@0.15.1:", when="@23.05:") + depends_on("openpmd-api@0.16.1:", when="@25.02:") depends_on("openpmd-api ~mpi", when="~mpi") depends_on("openpmd-api +mpi", when="+mpi") @@ -334,7 +342,8 @@ class Warpx(CMakePackage, PythonExtension): depends_on("py-periodictable@1.5:1", type=("build", "run")) depends_on("py-picmistandard@0.28.0", type=("build", "run"), when="@23.11:24.07") depends_on("py-picmistandard@0.29.0", type=("build", "run"), when="@24.08") - depends_on("py-picmistandard@0.30.0", type=("build", "run"), when="@24.09:") + depends_on("py-picmistandard@0.30.0", type=("build", "run"), when="@24.09:24.12") + depends_on("py-picmistandard@0.33.0", type=("build", "run"), when="@25.01:") depends_on("py-pip@23:", type="build") depends_on("py-setuptools@42:", type="build") depends_on("py-pybind11@2.12.0:", type=("build", "link"))