summaryrefslogtreecommitdiff
path: root/sci-physics/geant/files/geant4.10.7-hdf5.patch
diff options
context:
space:
mode:
Diffstat (limited to 'sci-physics/geant/files/geant4.10.7-hdf5.patch')
-rw-r--r--sci-physics/geant/files/geant4.10.7-hdf5.patch70
1 files changed, 70 insertions, 0 deletions
diff --git a/sci-physics/geant/files/geant4.10.7-hdf5.patch b/sci-physics/geant/files/geant4.10.7-hdf5.patch
new file mode 100644
index 000000000000..679cdfbed9d6
--- /dev/null
+++ b/sci-physics/geant/files/geant4.10.7-hdf5.patch
@@ -0,0 +1,70 @@
+From 4e86e523e7f0e419b990520a15ef7d524102cd06 Mon Sep 17 00:00:00 2001
+From: Guilherme Amadio <amadio@gentoo.org>
+Date: Mon, 23 Aug 2021 13:18:25 +0200
+Subject: [PATCH] Rename Geant4::HDF5 to hdf5::hdf5
+
+Needed to be compatible with CMake 3.20, which now provides imported
+targets for HDF5 (https://cmake.org/cmake/help/v3.20/module/FindHDF5.html).
+---
+ cmake/Modules/G4HDF5Shim.cmake | 16 ++++++++--------
+ cmake/Modules/G4OptionalComponents.cmake | 2 +-
+
+diff --git a/cmake/Modules/G4HDF5Shim.cmake b/cmake/Modules/G4HDF5Shim.cmake
+index 963a7bb5be..97d97248d8 100644
+--- a/cmake/Modules/G4HDF5Shim.cmake
++++ b/cmake/Modules/G4HDF5Shim.cmake
+@@ -1,10 +1,10 @@
+- # - G4HDF5Shim
++# - G4HDF5Shim
+ #
+ # Geant4's Geant4Config.cmake file aims to support CMake 3.8 and newer
+ # The HDF5 dependency is located through CMake's builtin FindHDF5
+-# module, but this does not supply imported targets as of CMake 3.16.
++# module, but this does not supply imported targets until CMake 3.20.
+ # It may use HDF5's hdf5-config.cmake file if available, so create
+-# custom imported target Geant4::HDF5 to allow both cases to be handled
++# custom imported target hdf5::hdf5 to allow both cases to be handled
+ # without interference with either.
+
+ if(HDF5_FOUND)
+@@ -24,18 +24,18 @@ if(HDF5_FOUND)
+ endif()
+ endif()
+
+- # As FindHDF5 does not yet supply imported targets, we
++ # If FindHDF5 does not yet supply imported targets, we
+ # create an internal INTERFACE target to wrap these.
+ # This still hard-codes include/library paths, but limits it
+ # to one place. Later, we'll create proper imported targets
+ # with re-finds but for now this is the best minimally invasive proceedure
+- if(NOT TARGET Geant4::HDF5)
+- add_library(Geant4::HDF5 IMPORTED UNKNOWN)
+- set_target_properties(Geant4::HDF5 PROPERTIES
++ if(NOT TARGET hdf5::hdf5)
++ add_library(hdf5::hdf5 IMPORTED UNKNOWN)
++ set_target_properties(hdf5::hdf5 PROPERTIES
+ IMPORTED_LINK_INTERFACE_LANGUAGES "C"
+ IMPORTED_LOCATION "${HDF5_C_LIBRARY_hdf5}"
+ INTERFACE_INCLUDE_DIRECTORIES "${HDF5_C_INCLUDE_DIRS}"
+ INTERFACE_LINK_LIBRARIES "${HDF5_C_LIBRARIES}"
+ )
+ endif()
+-endif()
+\ No newline at end of file
++endif()
+diff --git a/cmake/Modules/G4OptionalComponents.cmake b/cmake/Modules/G4OptionalComponents.cmake
+index c0639a538b..77b3c91241 100644
+--- a/cmake/Modules/G4OptionalComponents.cmake
++++ b/cmake/Modules/G4OptionalComponents.cmake
+@@ -369,7 +369,7 @@ if(GEANT4_USE_HDF5)
+ find_package(HDF5 1.8 REQUIRED)
+ include("${CMAKE_CURRENT_LIST_DIR}/G4HDF5Shim.cmake")
+ # Backward compatibility
+- set(HDF5_LIBRARIES Geant4::HDF5)
++ set(HDF5_LIBRARIES hdf5::hdf5)
+
+ # May have found via config mode...
+ if(HDF5_DIR)
+--
+2.33.0
+