|
|
94350ef |
Summary: High performance compressor optimized for binary data
|
|
|
26e3712 |
Name: blosc
|
|
|
6df6fcb |
Version: 1.21.2
|
|
|
035bc62 |
Release: %autorelease
|
|
|
26e3712 |
License: MIT
|
|
|
94350ef |
Source: https://github.com/Blosc/c-blosc/archive/v%{version}/blosc-%{version}.tar.gz
|
|
|
8e0df17 |
Patch0: %{name}-gcc11.patch
|
|
|
94350ef |
|
|
Orion Poplawski |
3f41574 |
URL: https://github.com/Blosc/c-blosc
|
|
|
a91e646 |
BuildRequires: gcc
|
|
|
a91e646 |
BuildRequires: gcc-c++
|
|
|
26e3712 |
BuildRequires: cmake
|
|
|
1324eaa |
BuildRequires: lz4-devel
|
|
|
b85f625 |
BuildRequires: snappy-devel
|
|
|
b85f625 |
BuildRequires: zlib-devel
|
|
|
b467587 |
BuildRequires: libzstd-devel
|
|
|
26e3712 |
|
|
|
26e3712 |
%description
|
|
|
76c553c |
Blosc is a compression library designed to transmit data to the processor
|
|
|
76c553c |
cache faster than the traditional non-compressed memory fetch.
|
|
|
76c553c |
Compression ratios are not very high, but the decompression is very fast.
|
|
|
76c553c |
Blosc is meant not only to reduce the size of large datasets on-disk or
|
|
|
26e3712 |
in-memory, but also to accelerate memory-bound computations.
|
|
|
26e3712 |
|
|
|
26e3712 |
%package devel
|
|
|
26e3712 |
Summary: Header files and libraries for Blosc development
|
|
|
26e3712 |
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
26e3712 |
|
|
|
26e3712 |
%description devel
|
|
|
26e3712 |
The blosc-devel package contains the header files and libraries needed
|
|
|
26e3712 |
to develop programs that use the blosc meta-compressor.
|
|
|
26e3712 |
|
|
|
26e3712 |
%package bench
|
|
|
26e3712 |
Summary: Benchmark for the Blosc compressor
|
|
|
26e3712 |
Requires: %{name} = %{version}-%{release}
|
|
|
2f199ab |
Requires: python3-matplotlib
|
|
|
26e3712 |
|
|
|
26e3712 |
%description bench
|
|
|
26e3712 |
The blosc-bench package contains a benchmark suite which evaluates
|
|
|
b85f625 |
the performance of Blosc, and compares it with memcpy.
|
|
|
26e3712 |
|
|
|
26e3712 |
%prep
|
|
|
9a54e5b |
%autosetup -n c-%{name}-%{version} -p1
|
|
|
940e175 |
rm -r internal-complibs/lz4* internal-complibs/zstd*
|
|
|
26e3712 |
|
|
|
26e3712 |
# Fix rpath issue
|
|
|
26e3712 |
sed -i '1i set\(CMAKE_SKIP_RPATH true\)' bench/CMakeLists.txt
|
|
|
26e3712 |
|
|
|
73525bb |
# Fix cmake detection of pthreads
|
|
|
73525bb |
sed -i '1i set\(CMAKE_POSITION_INDEPENDENT_CODE TRUE\)' CMakeLists.txt
|
|
|
73525bb |
|
|
|
b467587 |
# https://github.com/Blosc/c-blosc/issues/190
|
|
|
b467587 |
sed -i 's|lib/pkgconfig|%{_lib}/pkgconfig|' CMakeLists.txt
|
|
|
b467587 |
|
|
|
26e3712 |
# Add python shebang and permission
|
|
|
2ff45d3 |
sed -i '1i #!/usr/bin/python3' bench/plot-speeds.py
|
|
|
26e3712 |
|
|
Orion Poplawski |
d598a47 |
%build
|
|
|
26e3712 |
# Use the proper library path and SSE2 instruction on 64bits systems
|
|
|
9d70380 |
%cmake \
|
|
|
26e3712 |
-DBUILD_STATIC:BOOL=OFF \
|
|
|
9d70380 |
-DPREFER_EXTERNAL_LZ4:BOOL=ON \
|
|
|
9d70380 |
-DTEST_INCLUDE_BENCH_SUITE:BOOL=OFF \
|
|
|
b60ac04 |
-DDEACTIVATE_SNAPPY:BOOL=OFF \
|
|
|
2f199ab |
-DPREFER_EXTERNAL_ZLIB:BOOL=ON \
|
|
|
db930b8 |
-DPREFER_EXTERNAL_ZSTD:BOOL=ON
|
|
|
26e3712 |
|
|
|
db930b8 |
%cmake_build
|
|
|
26e3712 |
|
|
|
26e3712 |
%check
|
|
|
db930b8 |
export LD_LIBRARY_PATH=%{buildroot}%{_libdir}
|
|
|
db930b8 |
%ctest
|
|
|
26e3712 |
|
|
|
26e3712 |
%install
|
|
|
db930b8 |
%cmake_install
|
|
|
26e3712 |
|
|
|
8db4dbc |
install -p bench/plot-speeds.py* -Dt %{buildroot}/%{_pkgdocdir}/bench/
|
|
|
76c553c |
install -pm 0644 bench/*.c %{buildroot}/%{_pkgdocdir}/bench
|
|
|
26e3712 |
|
|
|
db930b8 |
install -p %{_vpath_builddir}/bench/bench -D %{buildroot}/%{_bindir}/%{name}-bench
|
|
|
76c553c |
install -p bench/plot-speeds.py %{buildroot}/%{_bindir}/%{name}-plot-times
|
|
|
26e3712 |
|
|
|
26e3712 |
%files
|
|
|
26e3712 |
%exclude %{_pkgdocdir}/bench/
|
|
Orion Poplawski |
3f41574 |
%license LICENSES/*
|
|
|
a4a47c9 |
%doc README.md ANNOUNCE.rst RELEASE_NOTES.rst README*.rst
|
|
Orion Poplawski |
3f41574 |
%{_libdir}/libblosc.so.1*
|
|
|
26e3712 |
|
|
|
26e3712 |
%files devel
|
|
|
26e3712 |
%{_libdir}/libblosc.so
|
|
|
b467587 |
%{_libdir}/pkgconfig/blosc.pc
|
|
|
26e3712 |
%{_includedir}/blosc.h
|
|
Orion Poplawski |
3f41574 |
%{_includedir}/blosc-export.h
|
|
|
26e3712 |
|
|
|
26e3712 |
%files bench
|
|
|
26e3712 |
%{_pkgdocdir}/bench/*.c
|
|
|
26e3712 |
%{_bindir}/%{name}-bench
|
|
|
26e3712 |
%{_bindir}/%{name}-plot-times
|
|
|
26e3712 |
|
|
|
26e3712 |
|
|
|
26e3712 |
%changelog
|
|
|
035bc62 |
%autochangelog
|