From 4819e2bfe059a5320ef858dc3abb68c9df99d020 Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Mon, 1 Jan 2024 18:20:02 +0000 Subject: [PATCH] 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 ]; }; -} +})