From 219158d36caa1e2fed83d944eead56e9534fd7f2 Mon Sep 17 00:00:00 2001 From: Michael Daniels Date: Sun, 22 Jun 2025 18:58:31 -0400 Subject: [PATCH 1/2] hdf5-blosc: 1.0.0 -> 1.0.1 Changelog: https://github.com/Blosc/hdf5-blosc/releases/tag/v1.0.1 Fixes gcc14 build. I needed to update the patch for it to apply cleanly though. --- pkgs/by-name/hd/hdf5-blosc/no-external-blosc.patch | 13 ++++++++----- pkgs/by-name/hd/hdf5-blosc/package.nix | 5 +++-- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/hd/hdf5-blosc/no-external-blosc.patch b/pkgs/by-name/hd/hdf5-blosc/no-external-blosc.patch index 8f2bd8579ed8..c0b7df147b24 100644 --- a/pkgs/by-name/hd/hdf5-blosc/no-external-blosc.patch +++ b/pkgs/by-name/hd/hdf5-blosc/no-external-blosc.patch @@ -1,12 +1,15 @@ ---- a/CMakeLists.txt 2019-10-11 12:12:27.445417039 -0400 -+++ b/CMakeLists.txt 2019-10-11 12:27:26.630691742 -0400 -@@ -22,14 +22,6 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9ec0f23..35953d3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -24,15 +24,6 @@ message("BLOSC_INSTALL_DIR='${BLOSC_INSTALL_DIR}'") message("BLOSC_CMAKE_ARGS='${BLOSC_CMAKE_ARGS}'") message("GIT_EXECUTABLE='${GIT_EXECUTABLE}'") -ExternalProject_Add(project_blosc - PREFIX ${BLOSC_PREFIX} - GIT_REPOSITORY https://github.com/Blosc/c-blosc.git +- GIT_TAG main - INSTALL_DIR ${BLOSC_INSTALL_DIR} - CMAKE_ARGS ${BLOSC_CMAKE_ARGS} -) @@ -15,10 +18,10 @@ # sources set(SOURCES src/blosc_filter.c) set(PLUGIN_SOURCES src/blosc_filter.c src/blosc_plugin.c ) -@@ -53,7 +45,6 @@ +@@ -56,7 +47,6 @@ include_directories(${HDF5_INCLUDE_DIRS}) # add blosc libraries add_library(blosc_shared SHARED IMPORTED) - set_property(TARGET blosc_shared PROPERTY IMPORTED_LOCATION ${BLOSC_INSTALL_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}blosc${CMAKE_SHARED_LIBRARY_SUFFIX}) + set_property(TARGET blosc_shared PROPERTY IMPORTED_LOCATION ${BLOSC_INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/${CMAKE_SHARED_LIBRARY_PREFIX}blosc${CMAKE_SHARED_LIBRARY_SUFFIX}) -add_dependencies(blosc_shared project_blosc) include_directories(${BLOSC_INSTALL_DIR}/include) diff --git a/pkgs/by-name/hd/hdf5-blosc/package.nix b/pkgs/by-name/hd/hdf5-blosc/package.nix index 1a0eaea6c2f6..3df9bcdd11c0 100644 --- a/pkgs/by-name/hd/hdf5-blosc/package.nix +++ b/pkgs/by-name/hd/hdf5-blosc/package.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation rec { pname = "hdf5-blosc"; - version = "1.0.0"; + version = "1.0.1"; src = fetchFromGitHub { owner = "Blosc"; repo = "hdf5-blosc"; rev = "v${version}"; - sha256 = "1nj2bm1v6ymm3fmyvhbn6ih5fgdiapavlfghh1pvbmhw71cysyqs"; + sha256 = "sha256-pM438hUEdzdZEGYxoKlBAHi1G27auj9uGSeiXwVPAE8="; }; patches = [ ./no-external-blosc.patch ]; @@ -38,6 +38,7 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DPLUGIN_INSTALL_PATH=${placeholder "plugin"}/hdf5/lib/plugin" + "-DCMAKE_INSTALL_LIBDIR=lib" ]; postInstall = '' From 519c9061deb8acf08fc3f46c976e6d136c89cbaa Mon Sep 17 00:00:00 2001 From: Michael Daniels Date: Sun, 22 Jun 2025 18:59:40 -0400 Subject: [PATCH 2/2] hdf5-blosc: add passthru.updateScript, cleanup, add test --- pkgs/by-name/hd/hdf5-blosc/package.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/hd/hdf5-blosc/package.nix b/pkgs/by-name/hd/hdf5-blosc/package.nix index 3df9bcdd11c0..d0eb807a72a3 100644 --- a/pkgs/by-name/hd/hdf5-blosc/package.nix +++ b/pkgs/by-name/hd/hdf5-blosc/package.nix @@ -5,6 +5,7 @@ cmake, hdf5, fetchFromGitHub, + nix-update-script, }: stdenv.mkDerivation rec { @@ -33,12 +34,13 @@ stdenv.mkDerivation rec { ]; preConfigure = '' - substituteInPlace CMakeLists.txt --replace 'set(BLOSC_INSTALL_DIR "''${CMAKE_CURRENT_BINARY_DIR}/blosc")' 'set(BLOSC_INSTALL_DIR "${c-blosc}")' + substituteInPlace CMakeLists.txt --replace-fail 'set(BLOSC_INSTALL_DIR "''${CMAKE_CURRENT_BINARY_DIR}/blosc")' 'set(BLOSC_INSTALL_DIR "${c-blosc}")' ''; cmakeFlags = [ "-DPLUGIN_INSTALL_PATH=${placeholder "plugin"}/hdf5/lib/plugin" "-DCMAKE_INSTALL_LIBDIR=lib" + "-DBUILD_TESTS=ON" ]; postInstall = '' @@ -46,6 +48,10 @@ stdenv.mkDerivation rec { substituteAll ${./blosc_filter.pc.in} $out/lib/pkgconfig/blosc_filter.pc ''; + doCheck = true; + + passthru.updateScript = nix-update-script { }; + meta = with lib; { description = "Filter for HDF5 that uses the Blosc compressor"; homepage = "https://github.com/Blosc/hdf5-blosc";