From 9e8f6e8d54a69d32cd160a92ccf350b363e73dca Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Thu, 8 Feb 2024 09:34:54 +0100 Subject: [PATCH] mpich: fix self-referential dependencies (#42527) --- var/spack/repos/builtin/packages/mpich/package.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/var/spack/repos/builtin/packages/mpich/package.py b/var/spack/repos/builtin/packages/mpich/package.py index 75fda57494f..64757cee980 100644 --- a/var/spack/repos/builtin/packages/mpich/package.py +++ b/var/spack/repos/builtin/packages/mpich/package.py @@ -116,10 +116,15 @@ class Mpich(AutotoolsPackage, CudaPackage, ROCmPackage): when="@3.4:", multi=False, ) - depends_on("yaksa", when="@4.0: device=ch4 datatype-engine=auto") - depends_on("yaksa", when="@4.0: device=ch4 datatype-engine=yaksa") - depends_on("yaksa+cuda", when="+cuda ^yaksa") - depends_on("yaksa+rocm", when="+rocm ^yaksa") + for _yaksa_cond in ( + "@4.0: device=ch4 datatype-engine=auto", + "@4.0: device=ch4 datatype-engine=yaksa", + ): + with when(_yaksa_cond): + depends_on("yaksa") + depends_on("yaksa+cuda", when="+cuda") + depends_on("yaksa+rocm", when="+rocm") + conflicts("datatype-engine=yaksa", when="device=ch3") conflicts("datatype-engine=yaksa", when="device=ch3:sock")