Name: blosc2 Version: 2.9.1 Release: %autorelease Summary: High performance compressor optimized for binary data License: BSD-3-Clause URL: https://www.blosc.org/ Source0: https://github.com/Blosc/c-blosc2/archive/refs/tags/v%{version}.tar.gz#/c-blosc2-%{version}.tar.gz Patch: https://github.com/Blosc/c-blosc2/pull/483.patch BuildRequires: cmake BuildRequires: gcc BuildRequires: lz4-devel BuildRequires: zlib-devel BuildRequires: zlib-ng-devel BuildRequires: libzstd-devel BuildRequires: xxhash-devel %description Blosc is a high performance compressor optimized for binary data (i.e. floating point numbers, integers and booleans, although it can handle string data too). It has been designed to transmit data to the processor cache faster than the traditional, non-compressed, direct memory fetch approach via a memcpy() OS call. Blosc main goal is not just to reduce the size of large datasets on-disk or in-memory, but also to accelerate memory-bound computations. C-Blosc2 is the new major version of C-Blosc, and is backward compatible with both the C-Blosc1 API and its in-memory format. However, the reverse thing is generally not true for the format; buffers generated with C-Blosc2 are not format-compatible with C-Blosc1. %package devel Summary: Development headers for %{name} Requires: %{name}%{_isa} = %{version}-%{release} %description devel %{summary}. %prep %autosetup -n c-blosc2-%{version} -p1 # https://github.com/Blosc/c-blosc2/issues/489 rm -v plugins/codecs/ndlz/xxhash.? sed -r -i '/xxhash.c/d' plugins/codecs/ndlz/CMakeLists.txt # let's do this to make it clear that we're not using those rm -r internal-complibs/ %build OPTIONS=( -DBUILD_STATIC:BOOL=ON -DBUILD_FUZZERS:BOOL=OFF -DPREFER_EXTERNAL_LZ4:BOOL=ON -DPREFER_EXTERNAL_ZLIB:BOOL=ON -DPREFER_EXTERNAL_ZSTD:BOOL=ON -DDEACTIVATE_AVX2:BOOL=ON # We need to pass the distro build flags here, otherwise they are ignored. # Silence warnings about stupid programming errors. -DCMAKE_C_FLAGS:STRING="$CFLAGS -Wno-unused-variable" ) %cmake "${OPTIONS[@]}" %cmake_build %install %cmake_install # https://github.com/Blosc/c-blosc2/issues/480 rm %{buildroot}%{_libdir}/libblosc2.a %check # Tests fail with -j12: https://github.com/Blosc/c-blosc2/issues/432 %ctest -j1 %files %{_libdir}/libblosc2.so.2{,.*} %license LICENSE.txt %doc ROADMAP.rst %doc ANNOUNCE.* %doc THANKS.* %doc RELEASE_NOTES.* %doc README* %doc FAQ.* %files devel %dir %{_includedir}/%{name} %{_includedir}/b2nd.h %{_includedir}/blosc2.h %{_includedir}/blosc2/*.h %{_libdir}/libblosc2.so %{_libdir}/pkgconfig/blosc2.pc %changelog %autochangelog