From 958f26073efe340d5418e97d01ef82e9a3fbd166 Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Wed, 18 Mar 2020 08:47:01 -0500 Subject: openPMD-api: HDF5 1.12.0 Support (#15530) Fix API breakage in HDF5 1.12.0 for released versions. --- .../builtin/packages/openpmd-api/hdf5-1.12.0.patch | 23 ++++++++++++++++++++++ .../repos/builtin/packages/openpmd-api/package.py | 4 ++++ 2 files changed, 27 insertions(+) create mode 100644 var/spack/repos/builtin/packages/openpmd-api/hdf5-1.12.0.patch (limited to 'var') 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 +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 -- cgit v1.2.3-70-g09d2