From 61ab2478c3bdb8fcf71432ffb4a3529a1afb137a Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 14 Apr 2026 17:05:09 +0300 Subject: [PATCH] hdf5: use lib.cmakeBool for all cmakeFlags --- pkgs/tools/misc/hdf5/default.nix | 34 +++++++++++++++----------------- 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix index b94b19c7fdde..6d3a02d616e3 100644 --- a/pkgs/tools/misc/hdf5/default.nix +++ b/pkgs/tools/misc/hdf5/default.nix @@ -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} '{}' +