hdf5: use lib.cmakeBool for all cmakeFlags

This commit is contained in:
Doron Behar
2026-04-14 17:47:41 +03:00
parent be49150ba8
commit 61ab2478c3
+16 -18
View File
@@ -88,25 +88,23 @@ stdenv.mkDerivation rec {
cmakeFlags = [
"-DHDF5_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake"
"-DBUILD_STATIC_LIBS=${lib.boolToString enableStatic}"
(lib.cmakeBool "BUILD_STATIC_LIBS" enableStatic)
(lib.cmakeBool "BUILD_SHARED_LIBS" enableShared)
(lib.cmakeBool "HDF5_BUILD_WITH_INSTALL_NAME" stdenv.hostPlatform.isDarwin)
(lib.cmakeBool "HDF5_BUILD_CPP_LIB" cppSupport)
(lib.cmakeBool "HDF5_BUILD_FORTRAN" fortranSupport)
(lib.cmakeBool "HDF5_ENABLE_SZIP_SUPPORT" szipSupport)
(lib.cmakeBool "HDF5_ENABLE_PARALLEL" mpiSupport)
(lib.cmakeBool "HDF5_BUILD_JAVA" javaSupport)
(lib.cmakeBool "HDF5_ENABLE_THREADSAFE" threadsafe)
(lib.cmakeBool "HDF5_BUILD_HL_LIB" (!threadsafe))
# broken in nixpkgs since around 1.14.3 -> 1.14.4.3
# https://github.com/HDFGroup/hdf5/issues/4208#issuecomment-2098698567
(lib.cmakeBool "HDF5_ENABLE_NONSTANDARD_FEATURE_FLOAT16" (
with stdenv.hostPlatform; !(isDarwin && isx86_64)
))
]
++ lib.optional stdenv.hostPlatform.isDarwin "-DHDF5_BUILD_WITH_INSTALL_NAME=ON"
++ lib.optional cppSupport "-DHDF5_BUILD_CPP_LIB=ON"
++ lib.optional fortranSupport "-DHDF5_BUILD_FORTRAN=ON"
++ lib.optional szipSupport "-DHDF5_ENABLE_SZIP_SUPPORT=ON"
++ lib.optionals mpiSupport [ "-DHDF5_ENABLE_PARALLEL=ON" ]
++ lib.optional enableShared "-DBUILD_SHARED_LIBS=ON"
++ lib.optional javaSupport "-DHDF5_BUILD_JAVA=ON"
++ lib.optional (apiVersion != null) (lib.cmakeFeature "HDF5_DEFAULT_API_VERSION" apiVersion)
++ lib.optionals threadsafe [
"-DHDF5_ENABLE_THREADSAFE:BOOL=ON"
"-DHDF5_BUILD_HL_LIB=OFF"
]
# broken in nixpkgs since around 1.14.3 -> 1.14.4.3
# https://github.com/HDFGroup/hdf5/issues/4208#issuecomment-2098698567
++ lib.optional (
stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64
) "-DHDF5_ENABLE_NONSTANDARD_FEATURE_FLOAT16=OFF";
++ lib.optional (apiVersion != null) (lib.cmakeFeature "HDF5_DEFAULT_API_VERSION" apiVersion);
postInstall = ''
find "$out" -type f -exec remove-references-to -t ${stdenv.cc} '{}' +