From 6b86a8562f464ff100165ad8f7416a63341d0fe7 Mon Sep 17 00:00:00 2001 From: kwryankrattiger <80296582+kwryankrattiger@users.noreply.github.com> Date: Mon, 31 Oct 2022 21:58:02 -0500 Subject: [PATCH] ParaView: ParaView needs to set the HDF5 API (#33617) When building ParaView with a newer HDf5 than 1.10, it needs to select the 1.10 API using flags. --- var/spack/repos/builtin/packages/paraview/package.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/var/spack/repos/builtin/packages/paraview/package.py b/var/spack/repos/builtin/packages/paraview/package.py index 0ed725dc6ab..8dd0049e055 100644 --- a/var/spack/repos/builtin/packages/paraview/package.py +++ b/var/spack/repos/builtin/packages/paraview/package.py @@ -311,6 +311,15 @@ def flag_handler(self, name, flags): if (name == "cflags" or name == "cxxflags") and self.spec.satisfies("%intel"): flags.append("-no-ipo") return (None, None, flags) + + if name in ("cflags", "cxxflags"): + # Constrain the HDF5 API + if self.spec.satisfies("@:5.9 +hdf5"): + if self.spec["hdf5"].satisfies("@1.10:"): + flags.append("-DH5_USE_18_API") + elif self.spec.satisfies("@5.10: +hdf5"): + if self.spec["hdf5"].satisfies("@1.12:"): + flags.append("-DH5_USE_110_API") return (flags, None, None) def setup_run_environment(self, env):