From e1e17786c527c534d26792c44022eac7d6915824 Mon Sep 17 00:00:00 2001 From: Taillefumier Mathieu <29380261+mtaillefumier@users.noreply.github.com> Date: Wed, 22 Jan 2025 05:27:19 -0500 Subject: [PATCH] sirius: libxc 7 forward compat (#48663) --- .../repos/builtin/packages/sirius/libxc7.patch | 16 ++++++++++++++++ .../repos/builtin/packages/sirius/package.py | 4 +++- 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 var/spack/repos/builtin/packages/sirius/libxc7.patch diff --git a/var/spack/repos/builtin/packages/sirius/libxc7.patch b/var/spack/repos/builtin/packages/sirius/libxc7.patch new file mode 100644 index 00000000000..d6d388e1397 --- /dev/null +++ b/var/spack/repos/builtin/packages/sirius/libxc7.patch @@ -0,0 +1,16 @@ +--- a/src/potential/xc_functional_base.hpp ++++ b/src/potential/xc_functional_base.hpp +@@ -15,6 +15,13 @@ + #define __XC_FUNCTIONAL_BASE_HPP__ + + #include ++ ++/* libxc >= 7 split the functional definition in a different file from xc.h */ ++ ++#if (XC_MAJOR_VERSION >= 7) ++#include ++#endif ++ + #include + #include + #include diff --git a/var/spack/repos/builtin/packages/sirius/package.py b/var/spack/repos/builtin/packages/sirius/package.py index c51db984995..fd0991bb1ba 100644 --- a/var/spack/repos/builtin/packages/sirius/package.py +++ b/var/spack/repos/builtin/packages/sirius/package.py @@ -130,7 +130,7 @@ class Sirius(CMakePackage, CudaPackage, ROCmPackage): depends_on("fftw-api@3") depends_on("libxc@3.0.0:") depends_on("libxc@4.0.0:", when="@7.2.0:") - depends_on("libxc@:6", when="@:7.6.1") + depends_on("libxc@:7", when="@:7.5") depends_on("spglib") depends_on("hdf5+hl") depends_on("pkgconfig", type="build") @@ -164,6 +164,8 @@ class Sirius(CMakePackage, CudaPackage, ROCmPackage): # spla removed the openmp option in 1.6.0 conflicts("^spla@:1.5~openmp", when="+openmp") + patch("libxc7.patch", when="@7.6:") + depends_on("nlcglib", when="+nlcglib") depends_on("nlcglib+rocm", when="+nlcglib+rocm") depends_on("nlcglib+cuda", when="+nlcglib+cuda")