gnu: hdf5: Do not propagate libaec and zlib dependencies.

The patch 'hdf5-config-dependencies.patch' added 'find_dependency' calls for
libaec and zlib in hdf5-config.cmake.  As a result, packages that use
find_package(HDF5) in CMake Config mode must have libaec and zlib in the build
environment.  The patch appears to be unnecessary; it should be sufficient to
add libaec and zlib as inputs to packages that need them.

Related discussion in: <https://codeberg.org/guix/guix/pulls/953>.

* gnu/packages/maths.scm (hdf5): Do not propagate dependencies.
[source]<patches>: Remove hdf5-config-dependencies.patch.
* gnu/packages/image-processing.scm (insight-toolkit) [inputs]: Remove
libaec.
* gnu/packages/patches/hdf5-config-dependencies.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Deregister hdf5-config-dependencies.patch.

Change-Id: Idef61308cd146e898d1a4a8f1a97db23d36fc649
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Jake Forster 2025-07-12 09:14:14 +09:30 committed by Ludovic Courtès
parent 6d063d7628
commit 11473f37c1
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
4 changed files with 1 additions and 35 deletions

View file

@ -1584,7 +1584,6 @@ dist_patch_DATA = \
%D%/packages/patches/hdf4-reproducibility.patch \
%D%/packages/patches/hdf4-shared-fortran.patch \
%D%/packages/patches/hdf5-config-date.patch \
%D%/packages/patches/hdf5-config-dependencies.patch \
%D%/packages/patches/hdf-eos2-build-shared.patch \
%D%/packages/patches/hdf-eos2-remove-gctp.patch \
%D%/packages/patches/hdf-eos2-fortrantests.patch \

View file

@ -1321,7 +1321,6 @@ libraries designed for computer vision research and implementation.")
fftw
fftwf
hdf5
libaec
libjpeg-turbo
libpng
libtiff

View file

@ -1948,8 +1948,7 @@ extremely large and complex data collections.")
"src/H5Epubgen.h"
"src/H5Eterm.h"
"src/H5overflow.h"
"src/H5version.h"))))
(patches (search-patches "hdf5-config-dependencies.patch"))))
"src/H5version.h"))))))
(build-system cmake-build-system)
(arguments
(list

View file

@ -1,31 +0,0 @@
The installed CMake configuration is missing targets for zlib and
libaec. Taken from
https://github.com/microsoft/vcpkg/blob/e36fe7110deac47a3aff8eda3dcc7cfb894a2ebf/ports/hdf5/hdf5_config.patch
diff --git a/config/cmake/hdf5-config.cmake.in b/config/cmake/hdf5-config.cmake.in
index 1a3fb7bbf2..79081ce040 100644
--- a/config/cmake/hdf5-config.cmake.in
+++ b/config/cmake/hdf5-config.cmake.in
@@ -120,12 +114,22 @@ set (${HDF5_PACKAGE_NAME}_VERSION_MINOR @HDF5_VERSION_MINOR@)
# Don't include targets if this file is being picked up by another
# project which has already built hdf5 as a subproject
#-----------------------------------------------------------------------------
+include(CMakeFindDependencyMacro)
if (NOT TARGET "@HDF5_PACKAGE@")
if (${HDF5_PACKAGE_NAME}_ENABLE_Z_LIB_SUPPORT AND ${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS)
include (@PACKAGE_SHARE_INSTALL_DIR@/@ZLIB_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake)
+ elseif (${HDF5_PACKAGE_NAME}_ENABLE_Z_LIB_SUPPORT)
+ find_dependency(ZLIB)
endif ()
if (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_SUPPORT AND ${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS)
include (@PACKAGE_SHARE_INSTALL_DIR@/@LIBAEC_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake)
+ elseif (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_SUPPORT)
+ if (${HDF5_PACKAGE_NAME}_BUILD_STATIC_LIBS)
+ set(libaec_USE_STATIC_LIBS ON)
+ else()
+ set(libaec_USE_STATIC_LIBS OFF)
+ endif()
+ find_dependency(libaec)
endif ()
include (@PACKAGE_SHARE_INSTALL_DIR@/@HDF5_PACKAGE@@HDF_PACKAGE_EXT@-targets.cmake)
endif ()