From 18ee31152a86519ecf045c9bf4580a0b5c8ac245 Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Mon, 1 Jan 2024 16:50:21 +0000 Subject: [PATCH 1/2] c-blosc: 1.21.1 -> 1.21.5 --- .../development/libraries/c-blosc/default.nix | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/c-blosc/default.nix b/pkgs/development/libraries/c-blosc/default.nix index b03f3be904cb..7add6c636a70 100644 --- a/pkgs/development/libraries/c-blosc/default.nix +++ b/pkgs/development/libraries/c-blosc/default.nix @@ -1,16 +1,28 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ lib +, stdenv +, fetchFromGitHub +, cmake +}: stdenv.mkDerivation rec { pname = "c-blosc"; - version = "1.21.1"; + version = "1.21.5"; src = fetchFromGitHub { owner = "Blosc"; repo = "c-blosc"; rev = "v${version}"; - sha256 = "sha256-6SKEyciwDOxcbO8chvmxrLCxLkc93zxo6eH0c/lRyT8="; + sha256 = "sha256-bz922lWiap3vMy8qS9dmXa8zUg5NJlg0bx3+/xz7QAk="; }; + # https://github.com/NixOS/nixpkgs/issues/144170 + postPatch = '' + sed -i -E \ + -e '/^libdir[=]/clibdir=@CMAKE_INSTALL_FULL_LIBDIR@' \ + -e '/^includedir[=]/cincludedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@' \ + blosc.pc.in + ''; + nativeBuildInputs = [ cmake ]; meta = with lib; { @@ -18,5 +30,6 @@ stdenv.mkDerivation rec { homepage = "https://www.blosc.org"; license = licenses.bsd3; platforms = platforms.all; + maintainers = with maintainers; [ ris ]; }; } From 4819e2bfe059a5320ef858dc3abb68c9df99d020 Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Mon, 1 Jan 2024 18:20:02 +0000 Subject: [PATCH 2/2] c-blosc: avoid vendored lz4, zlib & zstd, enable tests --- .../development/libraries/c-blosc/default.nix | 40 +++++++++++++++++-- 1 file changed, 37 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/c-blosc/default.nix b/pkgs/development/libraries/c-blosc/default.nix index 7add6c636a70..1060e44af075 100644 --- a/pkgs/development/libraries/c-blosc/default.nix +++ b/pkgs/development/libraries/c-blosc/default.nix @@ -2,16 +2,23 @@ , stdenv , fetchFromGitHub , cmake +, testers + +, static ? stdenv.hostPlatform.isStatic + +, lz4 +, zlib +, zstd }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "c-blosc"; version = "1.21.5"; src = fetchFromGitHub { owner = "Blosc"; repo = "c-blosc"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; sha256 = "sha256-bz922lWiap3vMy8qS9dmXa8zUg5NJlg0bx3+/xz7QAk="; }; @@ -25,11 +32,38 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; + buildInputs = [ + lz4 + zlib + zstd + ]; + + cmakeFlags = [ + "-DBUILD_STATIC=${if static then "ON" else "OFF"}" + "-DBUILD_SHARED=${if static then "OFF" else "ON"}" + + "-DPREFER_EXTERNAL_LZ4=ON" + "-DPREFER_EXTERNAL_ZLIB=ON" + "-DPREFER_EXTERNAL_ZSTD=ON" + + "-DBUILD_EXAMPLES=OFF" + "-DBUILD_BENCHMARKS=OFF" + "-DBUILD_TESTS=${if finalAttrs.finalPackage.doCheck then "ON" else "OFF"}" + ]; + + doCheck = !static; + + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + meta = with lib; { description = "A blocking, shuffling and loss-less compression library"; homepage = "https://www.blosc.org"; + changelog = "https://github.com/Blosc/c-blosc/releases/tag/v${version}"; + pkgConfigModules = [ + "blosc" + ]; license = licenses.bsd3; platforms = platforms.all; maintainers = with maintainers; [ ris ]; }; -} +})