From e83c4a9f2503703cd55a0c27c47dea4cb16b47bf Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Wed, 22 Feb 2023 21:38:45 +0100 Subject: [PATCH] [HDF5] Update to 1.14 (#29656) * [hdf5] update to 1.14 * v db * add vtk patch * v db * v db --- ports/hdf5/pkgconfig-requires.patch | 71 ++++++++++++----------------- ports/hdf5/portfile.cmake | 12 +++-- ports/hdf5/vcpkg.json | 12 +++-- ports/vtk/9690.diff | 27 +++++++++++ ports/vtk/portfile.cmake | 1 + ports/vtk/vcpkg.json | 2 +- versions/baseline.json | 6 +-- versions/h-/hdf5.json | 5 ++ versions/v-/vtk.json | 5 ++ 9 files changed, 89 insertions(+), 52 deletions(-) create mode 100644 ports/vtk/9690.diff diff --git a/ports/hdf5/pkgconfig-requires.patch b/ports/hdf5/pkgconfig-requires.patch index c95f0ab43b..4dd70d1212 100644 --- a/ports/hdf5/pkgconfig-requires.patch +++ b/ports/hdf5/pkgconfig-requires.patch @@ -22,7 +22,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt index b75fdd2..a2e88fd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -750,6 +750,9 @@ if (H5_HAVE_PARALLEL) +@@ -711,5 +711,8 @@ if (H5_HAVE_PARALLEL) if (MPI_C_LINK_FLAGS) set (CMAKE_EXE_LINKER_FLAGS "${MPI_C_LINK_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}") endif () @@ -31,14 +31,24 @@ index b75fdd2..a2e88fd 100644 + endif() endif () - #option (DEFAULT_API_VERSION "Enable v1.12 API (v16, v18, v110, v112)" "v112") +diff --git a/config/cmake/HDFMacros.cmake b/config/cmake/HDFMacros.cmake +index 1af513b47..05d56ccce 100644 +--- a/config/cmake/HDFMacros.cmake ++++ b/config/cmake/HDFMacros.cmake +@@ -425,7 +425,7 @@ macro (HDF_DIR_PATHS package_prefix) + endif () + + #set the default debug suffix for all library targets +- if(NOT CMAKE_DEBUG_POSTFIX) ++ if(NOT DEFINED CMAKE_DEBUG_POSTFIX) + if (WIN32) + set (CMAKE_DEBUG_POSTFIX "_D") + else () diff --git a/c++/src/CMakeLists.txt b/c++/src/CMakeLists.txt index 835d422..9a7176f 100644 --- a/c++/src/CMakeLists.txt +++ b/c++/src/CMakeLists.txt -@@ -188,14 +188,14 @@ set (_PKG_CONFIG_VERSION "${HDF5_PACKAGE_VERSION}") - set (_PKG_CONFIG_LIBS_PRIVATE) - +@@ -188,10 +188,10 @@ set (_PKG_CONFIG_VERSION "${HDF5_PACKAGE_VERSION}") if (NOT ONLY_SHARED_LIBS) - set (_PKG_CONFIG_LIBS "${_PKG_CONFIG_LIBS} -l${HDF5_CPP_LIB_CORENAME}") + set (_PKG_CONFIG_LIBS "${_PKG_CONFIG_LIBS} -l${HDF5_CPP_LIB_CORENAME}${CMAKE_DEBUG_POSTFIX}") @@ -48,31 +58,16 @@ index 835d422..9a7176f 100644 + set (_PKG_CONFIG_SH_LIBS "${_PKG_CONFIG_SH_LIBS} -l${HDF5_CPP_LIB_CORENAME}${CMAKE_DEBUG_POSTFIX}") endif () --set (_PKG_CONFIG_REQUIRES "${HDF5_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") --set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") +-set (_PKG_CONFIG_REQUIRES "${HDF5_LIB_CORENAME} = ${HDF5_PACKAGE_VERSION}") +-set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_LIB_CORENAME} = ${HDF5_PACKAGE_VERSION}") +set (_PKG_CONFIG_REQUIRES "${HDF5_LIB_CORENAME}") +set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_LIB_CORENAME}") - configure_file ( - ${HDF_CONFIG_DIR}/libhdf5.pc.in -diff --git a/config/cmake_ext_mod/HDFMacros.cmake b/config/cmake_ext_mod/HDFMacros.cmake -index ae0ebca..095fae4 100644 ---- a/config/cmake_ext_mod/HDFMacros.cmake -+++ b/config/cmake_ext_mod/HDFMacros.cmake -@@ -384,7 +384,7 @@ macro (HDF_DIR_PATHS package_prefix) - endif () - - #set the default debug suffix for all library targets -- if(NOT CMAKE_DEBUG_POSTFIX) -+ if(NOT DEFINED CMAKE_DEBUG_POSTFIX) - if (WIN32) - set (CMAKE_DEBUG_POSTFIX "_D") - else () diff --git a/fortran/src/CMakeLists.txt b/fortran/src/CMakeLists.txt index e59a829..8da64dd 100644 --- a/fortran/src/CMakeLists.txt +++ b/fortran/src/CMakeLists.txt -@@ -545,14 +545,14 @@ set (_PKG_CONFIG_VERSION "${HDF5_PACKAGE_VERSION}") +@@ -549,13 +549,13 @@ set (_PKG_CONFIG_LIBS_PRIVATE) if (NOT ONLY_SHARED_LIBS) @@ -84,18 +79,17 @@ index e59a829..8da64dd 100644 + set (_PKG_CONFIG_SH_LIBS "${_PKG_CONFIG_SH_LIBS} -l${HDF5_F90_LIB_CORENAME}${CMAKE_DEBUG_POSTFIX}") endif () --set (_PKG_CONFIG_REQUIRES "${HDF5_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") --set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") +-set (_PKG_CONFIG_REQUIRES "${HDF5_LIB_CORENAME} = ${HDF5_PACKAGE_VERSION}") +-set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_LIB_CORENAME} = ${HDF5_PACKAGE_VERSION}") +set (_PKG_CONFIG_REQUIRES "${HDF5_LIB_CORENAME}") +set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_LIB_CORENAME}") configure_file ( - ${HDF_CONFIG_DIR}/libhdf5.pc.in diff --git a/hl/c++/src/CMakeLists.txt b/hl/c++/src/CMakeLists.txt index c516df1..89bd31f 100644 --- a/hl/c++/src/CMakeLists.txt +++ b/hl/c++/src/CMakeLists.txt -@@ -99,14 +99,14 @@ set (_PKG_CONFIG_VERSION "${HDF5_PACKAGE_VERSION}") +@@ -99,13 +99,13 @@ set (_PKG_CONFIG_VERSION "${HDF5_PACKAGE_VERSION}") set (_PKG_CONFIG_LIBS_PRIVATE) if (NOT ONLY_SHARED_LIBS) @@ -107,20 +101,17 @@ index c516df1..89bd31f 100644 + set (_PKG_CONFIG_SH_LIBS "${_PKG_CONFIG_SH_LIBS} -l${HDF5_HL_CPP_LIB_CORENAME}${CMAKE_DEBUG_POSTFIX}") endif () --set (_PKG_CONFIG_REQUIRES "${HDF5_HL_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") --set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_HL_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") +-set (_PKG_CONFIG_REQUIRES "${HDF5_HL_LIB_CORENAME} = ${HDF5_PACKAGE_VERSION}") +-set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_HL_LIB_CORENAME} = ${HDF5_PACKAGE_VERSION}") +set (_PKG_CONFIG_REQUIRES "${HDF5_HL_LIB_CORENAME}") +set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_HL_LIB_CORENAME}") configure_file ( - ${HDF_CONFIG_DIR}/libhdf5.pc.in diff --git a/hl/fortran/src/CMakeLists.txt b/hl/fortran/src/CMakeLists.txt index 973299f..8eadfe5 100644 --- a/hl/fortran/src/CMakeLists.txt +++ b/hl/fortran/src/CMakeLists.txt -@@ -332,14 +332,14 @@ set (_PKG_CONFIG_VERSION "${HDF5_PACKAGE_VERSION}") - set (_PKG_CONFIG_LIBS_PRIVATE) - +@@ -334,11 +334,11 @@ if (NOT ONLY_SHARED_LIBS) - set (_PKG_CONFIG_LIBS "${_PKG_CONFIG_LIBS} -l${HDF5_HL_F90_LIB_CORENAME}") + set (_PKG_CONFIG_LIBS "${_PKG_CONFIG_LIBS} -l${HDF5_HL_F90_LIB_CORENAME}${CMAKE_DEBUG_POSTFIX}") @@ -130,20 +121,17 @@ index 973299f..8eadfe5 100644 + set (_PKG_CONFIG_SH_LIBS "${_PKG_CONFIG_SH_LIBS} -l${HDF5_HL_F90_LIB_CORENAME}${CMAKE_DEBUG_POSTFIX}") endif () --set (_PKG_CONFIG_REQUIRES "${HDF5_F90_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") --set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_F90_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") +-set (_PKG_CONFIG_REQUIRES "${HDF5_F90_LIB_CORENAME} = ${HDF5_PACKAGE_VERSION}") +-set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_F90_LIB_CORENAME} = ${HDF5_PACKAGE_VERSION}") +set (_PKG_CONFIG_REQUIRES "${HDF5_F90_LIB_CORENAME}") +set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_F90_LIB_CORENAME}") configure_file ( - ${HDF_CONFIG_DIR}/libhdf5.pc.in diff --git a/hl/src/CMakeLists.txt b/hl/src/CMakeLists.txt index 7678de8..2d398cc 100644 --- a/hl/src/CMakeLists.txt +++ b/hl/src/CMakeLists.txt -@@ -131,14 +131,14 @@ set (_PKG_CONFIG_VERSION "${HDF5_PACKAGE_VERSION}") - set (_PKG_CONFIG_LIBS_PRIVATE) - +@@ -132,11 +132,11 @@ if (NOT ONLY_SHARED_LIBS) - set (_PKG_CONFIG_LIBS "${_PKG_CONFIG_LIBS} -l${HDF5_HL_LIB_CORENAME}") + set (_PKG_CONFIG_LIBS "${_PKG_CONFIG_LIBS} -l${HDF5_HL_LIB_CORENAME}${CMAKE_DEBUG_POSTFIX}") @@ -153,13 +141,12 @@ index 7678de8..2d398cc 100644 + set (_PKG_CONFIG_SH_LIBS "${_PKG_CONFIG_SH_LIBS} -l${HDF5_HL_LIB_CORENAME}${CMAKE_DEBUG_POSTFIX}") endif () --set (_PKG_CONFIG_REQUIRES "${HDF5_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") --set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") +-set (_PKG_CONFIG_REQUIRES "${HDF5_LIB_CORENAME} = ${HDF5_PACKAGE_VERSION}") +-set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_LIB_CORENAME} = ${HDF5_PACKAGE_VERSION}") +set (_PKG_CONFIG_REQUIRES "${HDF5_LIB_CORENAME}") +set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_LIB_CORENAME}") configure_file ( - ${HDF_CONFIG_DIR}/libhdf5.pc.in diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index b3c2226..ea80d60 100644 --- a/src/CMakeLists.txt diff --git a/ports/hdf5/portfile.cmake b/ports/hdf5/portfile.cmake index 196c289274..2e9701e389 100644 --- a/ports/hdf5/portfile.cmake +++ b/ports/hdf5/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO HDFGroup/hdf5 - REF hdf5-1_12_2 - SHA512 8f110e035a9bd5b07687b30fb944ed72e5b6a6e0ea74ee650250f40f0d4ff81e304366a76129a50a2d37c7f4c59a57356d0d9eed18db6cb90e924c62273d17a4 + REF hdf5-1_14_0 + SHA512 b4f694739a12220291d0704beb1cd29c05428af40b8dd89cef0ebf52ee4aecad7350b798a0deca2d30a4f32e7aaa49a9169464760a11339fa40da6a3dd0af49e HEAD_REF develop PATCHES hdf5_config.patch @@ -36,6 +36,7 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES parallel HDF5_ENABLE_PARALLEL tools HDF5_BUILD_TOOLS + tools HDF5_BUILD_HL_GIF_TOOLS cpp HDF5_BUILD_CPP_LIB szip HDF5_ENABLE_SZIP_SUPPORT szip HDF5_ENABLE_SZIP_ENCODING @@ -43,6 +44,7 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS fortran HDF5_BUILD_FORTRAN threadsafe HDF5_ENABLE_THREADSAFE utils HDF5_BUILD_UTILS + map HDF5_ENABLE_MAP_API ) file(REMOVE "${SOURCE_PATH}/config/cmake_ext_mod/FindSZIP.cmake")#Outdated; does not find debug szip @@ -105,7 +107,7 @@ file(WRITE "${CURRENT_PACKAGES_DIR}/share/hdf5/hdf5-config.cmake" ${contents}) set(HDF5_TOOLS "") if("tools" IN_LIST FEATURES) list(APPEND HDF5_TOOLS h5copy h5diff h5dump h5ls h5stat gif2h5 h52gif h5clear h5debug - h5format_convert h5jam h5unjam h5mkgrp h5repack h5repart h5watch h5import + h5format_convert h5jam h5unjam h5mkgrp h5repack h5repart h5watch h5import h5delete ) if("parallel" IN_LIST FEATURES) @@ -144,6 +146,10 @@ if(HDF5_TOOLS) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/${tool}" "${CURRENT_INSTALLED_DIR}" "$(dirname \"$0\")/../..") endif() endforeach() + if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/h5fuse.sh") + file(RENAME "${CURRENT_PACKAGES_DIR}/bin/h5fuse.sh" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/h5fuse.sh") + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/h5fuse.sh") + endif() endif() if(VCPKG_LIBRARY_LINKAGE STREQUAL static) diff --git a/ports/hdf5/vcpkg.json b/ports/hdf5/vcpkg.json index dcc580dc8b..44a51753ca 100644 --- a/ports/hdf5/vcpkg.json +++ b/ports/hdf5/vcpkg.json @@ -1,7 +1,6 @@ { "name": "hdf5", - "version": "1.12.2", - "port-version": 6, + "version": "1.14.0", "description": "HDF5 is a data model, library, and file format for storing and managing data", "homepage": "https://www.hdfgroup.org/downloads/hdf5/", "license": "BSD-3-Clause", @@ -27,6 +26,9 @@ "fortran": { "description": "Build with fortran" }, + "map": { + "description": "Build the map API" + }, "parallel": { "description": "parallel support for HDF5", "dependencies": [ @@ -41,8 +43,12 @@ }, "threadsafe": { "description": "thread safety for HDF5", + "supports": "!(static & windows)", "dependencies": [ - "pthreads" + { + "name": "pthreads", + "platform": "!windows" + } ] }, "tools": { diff --git a/ports/vtk/9690.diff b/ports/vtk/9690.diff new file mode 100644 index 0000000000..fedf8b6c3e --- /dev/null +++ b/ports/vtk/9690.diff @@ -0,0 +1,27 @@ +diff --git a/ThirdParty/xdmf2/vtkxdmf2/libsrc/XdmfH5Driver.cxx b/ThirdParty/xdmf2/vtkxdmf2/libsrc/XdmfH5Driver.cxx +index 1a412b56d028ecc7015976cd6effe8b0bb59e6fe..8f5e6e4c077b52eb956bfe8aacf7d1647860d405 100644 +--- a/ThirdParty/xdmf2/vtkxdmf2/libsrc/XdmfH5Driver.cxx ++++ b/ThirdParty/xdmf2/vtkxdmf2/libsrc/XdmfH5Driver.cxx +@@ -156,6 +156,9 @@ static herr_t H5FD_dsm_write(H5FD_t *_file, H5FD_mem_t type, hid_t fapl_id, hadd + } + + static const H5FD_class_t H5FD_dsm_g = { ++#if (H5_VERS_MAJOR>1)||((H5_VERS_MAJOR==1)&&((H5_VERS_MINOR>13)||((H5_VERS_MINOR==13)&&(H5_VERS_RELEASE>=2)))) ++ 0, /*version */ ++#endif + #if (H5_VERS_MAJOR>1)||((H5_VERS_MAJOR==1)&&(H5_VERS_MINOR>=13)) + H5_VFD_RESERVED + 0xd3f2, /*value */ + #endif +@@ -190,6 +193,12 @@ static const H5FD_class_t H5FD_dsm_g = { + NULL, /*get_handle */ + H5FD_dsm_read, /*read */ + H5FD_dsm_write, /*write */ ++#if (H5_VERS_MAJOR>1)||((H5_VERS_MAJOR==1)&&((H5_VERS_MINOR>13)||((H5_VERS_MINOR==13)&&(H5_VERS_RELEASE>=2)))) ++ NULL, /*read_vector */ ++ NULL, /*write_vector */ ++ NULL, /*read_selection */ ++ NULL, /*write_selection */ ++#endif + NULL, /*flush */ + #if (H5_VERS_MAJOR>1)||((H5_VERS_MAJOR==1)&&(H5_VERS_MINOR>=8)) + NULL, /* truncate */ diff --git a/ports/vtk/portfile.cmake b/ports/vtk/portfile.cmake index f7c2c348d7..9f9308915a 100644 --- a/ports/vtk/portfile.cmake +++ b/ports/vtk/portfile.cmake @@ -39,6 +39,7 @@ vcpkg_from_github( jsoncpp.patch iotr.patch ${STRING_PATCH} + 9690.diff ) # ============================================================================= diff --git a/ports/vtk/vcpkg.json b/ports/vtk/vcpkg.json index 24f06fcd8f..97cc9f7370 100644 --- a/ports/vtk/vcpkg.json +++ b/ports/vtk/vcpkg.json @@ -1,7 +1,7 @@ { "name": "vtk", "version-semver": "9.2.0-pv5.11.0", - "port-version": 3, + "port-version": 4, "description": "Software system for 3D computer graphics, image processing, and visualization", "homepage": "https://github.com/Kitware/VTK", "license": "BSD-3-Clause", diff --git a/versions/baseline.json b/versions/baseline.json index c704319372..f8c686ae0f 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2997,8 +2997,8 @@ "port-version": 0 }, "hdf5": { - "baseline": "1.12.2", - "port-version": 6 + "baseline": "1.14.0", + "port-version": 0 }, "healpix": { "baseline": "1.12.10", @@ -8174,7 +8174,7 @@ }, "vtk": { "baseline": "9.2.0-pv5.11.0", - "port-version": 3 + "port-version": 4 }, "vtk-dicom": { "baseline": "0.8.14", diff --git a/versions/h-/hdf5.json b/versions/h-/hdf5.json index fbbb873fff..cf4c99d6d8 100644 --- a/versions/h-/hdf5.json +++ b/versions/h-/hdf5.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "a4600f49dc4a0f8d522a408fb5486b77ce6ae7ed", + "version": "1.14.0", + "port-version": 0 + }, { "git-tree": "85fe6e7c6caeadc116edbb67dcee675f36801d7d", "version": "1.12.2", diff --git a/versions/v-/vtk.json b/versions/v-/vtk.json index 1dc4855fb8..056094cec4 100644 --- a/versions/v-/vtk.json +++ b/versions/v-/vtk.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "1261828e6817fb1dcc11cbb50a257104e87c1e69", + "version-semver": "9.2.0-pv5.11.0", + "port-version": 4 + }, { "git-tree": "35bdd05c8d99bc4933c899b76357830bfeebe01a", "version-semver": "9.2.0-pv5.11.0",