diff --git a/var/spack/repos/builtin/packages/cp2k/package.py b/var/spack/repos/builtin/packages/cp2k/package.py index 441650b85c1..217574d1469 100644 --- a/var/spack/repos/builtin/packages/cp2k/package.py +++ b/var/spack/repos/builtin/packages/cp2k/package.py @@ -38,10 +38,11 @@ class Cp2k(MakefilePackage, CMakePackage, CudaPackage, ROCmPackage): git = "https://github.com/cp2k/cp2k.git" list_url = "https://github.com/cp2k/cp2k/releases" - maintainers("dev-zero", "mtaillefumier") + maintainers("dev-zero", "mtaillefumier", "RMeli", "abussy") license("GPL-2.0-or-later") + version("2025.1", sha256="65c8ad5488897b0f995919b9fa77f2aba4b61677ba1e3c19bb093d5c08a8ce1d") version("2024.3", sha256="a6eeee773b6b1fb417def576e4049a89a08a0ed5feffcd7f0b33c7d7b48f19ba") version("2024.2", sha256="cc3e56c971dee9e89b705a1103765aba57bf41ad39a11c89d3de04c8b8cdf473") version("2024.1", sha256="a7abf149a278dfd5283dc592a2c4ae803b37d040df25d62a5e35af5c4557668f") @@ -115,6 +116,7 @@ class Cp2k(MakefilePackage, CMakePackage, CudaPackage, ROCmPackage): ) variant("pytorch", default=False, description="Enable libtorch support") variant("quip", default=False, description="Enable quip support") + variant("dftd4", when="@2024.2:", default=False, description="Enable DFT-D4 support") variant("mpi_f08", default=False, description="Use MPI F08 module") variant("smeagol", default=False, description="Enable libsmeagol support", when="@2025.2:") @@ -293,6 +295,8 @@ class Cp2k(MakefilePackage, CMakePackage, CudaPackage, ROCmPackage): depends_on("spglib", when="+spglib") + depends_on("dftd4@3.6.0: build_system=cmake", when="+dftd4") + with when("build_system=cmake"): depends_on("cmake@3.22:", type="build") @@ -624,6 +628,12 @@ def edit(self, pkg, spec, prefix): ldflags += [spglib.search_flags] libs.append(spglib.ld_flags) + if spec.satisfies("+dftd4"): + cppflags += ["-D__DFTD4"] + dftd4 = spec["dftd4"].libs + ldflags += [dftd4.search_flags] + libs.append(dftd4.ld_flags) + if spec.satisfies("+smeagol"): cppflags += ["-D__SMEAGOL"] smeagol = spec["libsmeagol"].libs @@ -1003,6 +1013,7 @@ def cmake_args(self): self.define_from_variant("CP2K_USE_VORI", "libvori"), self.define_from_variant("CP2K_USE_SPLA", "spla"), self.define_from_variant("CP2K_USE_QUIP", "quip"), + self.define_from_variant("CP2K_USE_DFTD4", "dftd4"), self.define_from_variant("CP2K_USE_MPI_F08", "mpi_f08"), self.define_from_variant("CP2K_USE_LIBSMEAGOL", "smeagol"), ]