summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAxel Huebl <axel.huebl@plasma.ninja>2020-03-18 08:47:01 -0500
committerGitHub <noreply@github.com>2020-03-18 06:47:01 -0700
commit958f26073efe340d5418e97d01ef82e9a3fbd166 (patch)
treee8554b055c634ba7ddfabe3f3fd7f05dec3a16d9
parent586609102bde55d495d79ff4c5457a38224e7c8c (diff)
downloadspack-958f26073efe340d5418e97d01ef82e9a3fbd166.tar.gz
spack-958f26073efe340d5418e97d01ef82e9a3fbd166.tar.bz2
spack-958f26073efe340d5418e97d01ef82e9a3fbd166.tar.xz
spack-958f26073efe340d5418e97d01ef82e9a3fbd166.zip
openPMD-api: HDF5 1.12.0 Support (#15530)
Fix API breakage in HDF5 1.12.0 for released versions.
-rw-r--r--var/spack/repos/builtin/packages/openpmd-api/hdf5-1.12.0.patch23
-rw-r--r--var/spack/repos/builtin/packages/openpmd-api/package.py4
2 files changed, 27 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/openpmd-api/hdf5-1.12.0.patch b/var/spack/repos/builtin/packages/openpmd-api/hdf5-1.12.0.patch
new file mode 100644
index 0000000000..f190f12ff1
--- /dev/null
+++ b/var/spack/repos/builtin/packages/openpmd-api/hdf5-1.12.0.patch
@@ -0,0 +1,23 @@
+From 61ccc18cdd478c6281466f1f77de416559234dd8 Mon Sep 17 00:00:00 2001
+From: Axel Huebl <axel.huebl@plasma.ninja>
+Date: Tue, 17 Mar 2020 10:51:20 -0700
+Subject: [PATCH] HDF5: H5Oget_info Compatibility
+
+Update to work with HDF5 1.12.0 signature.
+Macro for older releases.
+---
+ src/IO/HDF5/HDF5IOHandler.cpp | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/IO/HDF5/HDF5IOHandler.cpp b/src/IO/HDF5/HDF5IOHandler.cpp
+index 7043861b..c125e1f4 100644
+--- a/src/IO/HDF5/HDF5IOHandler.cpp
++++ b/src/IO/HDF5/HDF5IOHandler.cpp
+@@ -1535,3 +1535,7 @@ void HDF5IOHandlerImpl::listAttributes(Writable* writable,
+ H5O_info_t object_info;
+ herr_t status;
++#if H5_VERSION_GE(1,12,0)
++ status = H5Oget_info(node_id, &object_info, H5O_INFO_NUM_ATTRS);
++#else
+ status = H5Oget_info(node_id, &object_info);
++#endif
diff --git a/var/spack/repos/builtin/packages/openpmd-api/package.py b/var/spack/repos/builtin/packages/openpmd-api/package.py
index 0def9bc1f4..1459a11271 100644
--- a/var/spack/repos/builtin/packages/openpmd-api/package.py
+++ b/var/spack/repos/builtin/packages/openpmd-api/package.py
@@ -55,6 +55,10 @@ class OpenpmdApi(CMakePackage):
extends('python', when='+python')
+ # Fix breaking HDF5 1.12.0 API
+ # https://github.com/openPMD/openPMD-api/pull/696
+ patch('hdf5-1.12.0.patch', when='@:0.11.0 +hdf5')
+
def cmake_args(self):
spec = self.spec