Sync from SUSE:SLFO:Main blosc2 revision 362319735fe8718a02710e29a5320702
This commit is contained in:
commit
a9b58c63ff
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
10
_constraints
Normal file
10
_constraints
Normal file
@ -0,0 +1,10 @@
|
||||
<constraints>
|
||||
<hardware>
|
||||
<memory>
|
||||
<size unit="G">9</size>
|
||||
</memory>
|
||||
<disk>
|
||||
<size unit="G">9</size>
|
||||
</disk>
|
||||
</hardware>
|
||||
</constraints>
|
1
baselibs.conf
Normal file
1
baselibs.conf
Normal file
@ -0,0 +1 @@
|
||||
libblosc2-2
|
208
blosc2.changes
Normal file
208
blosc2.changes
Normal file
@ -0,0 +1,208 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Dec 1 13:37:53 UTC 2023 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- Update to 2.11.3
|
||||
* Frames accept now typesizes that are larger than 255 (and up to
|
||||
2**31). See PyTables/PyTables#1086. Thanks to @chris-allan for
|
||||
the report.
|
||||
* AVX512 runtime dispatching has been fixed (basically disabled)
|
||||
for GCC versions <= 10.
|
||||
* Use typedef for blosc_timestamp_t. Thanks to Magnus Ulimoen.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Nov 30 05:21:32 UTC 2023 - Steve Kowalik <steven.kowalik@suse.com>
|
||||
|
||||
- Update to 2.11.2:
|
||||
* Added support for ARMv7l platforms (Raspberry Pi). The NEON version
|
||||
of the bitshuffle filter was not compiling there, and besides it
|
||||
offered no performance advantage over the generic bitshuffle version
|
||||
(it is 2x to 3x slower actually). So bitshuffle-neon.c has been
|
||||
disabled by default in all ARM platforms.
|
||||
* Also, unaligned access has been disabled in all ARM non-64bits platforms.
|
||||
It turned out that, at least the armv7l CPU in Raspberry Pi 4, had
|
||||
issues because __ARM_FEATURE_UNALIGNED C macro was asserted in the
|
||||
compiler (both gcc and clang), but it actually made binaries to raise
|
||||
a "Bus error".
|
||||
* Thanks to Ben Nuttall for providing a Raspberry Pi for tracking down
|
||||
these issues.
|
||||
- Release 2.11.1
|
||||
* Fix ALTIVEC header. Only affects to IBM POWER builds. Thanks to
|
||||
Michael Kuhn for providing a patch.
|
||||
- Release 2.11.0
|
||||
* New AVX512 support for the bitshuffle filter. This is a backport of
|
||||
the upstream bitshuffle project. Expect up to 20% better compression
|
||||
speed on AMD Zen4 architecture (7950X3D CPU).
|
||||
* Add c-blosc2 package definition for Guix. Thanks to Ivan Vilata.
|
||||
* Properly check calls to strtol. Fixes #558.
|
||||
* Export the b2nd_copy_buffer function. This may be useful for other
|
||||
projects dealing with multidimensional arrays in memory. Thanks to
|
||||
Ivan Vilata.
|
||||
* Better check that nthreads must be >= 1 and <= INT16_MAX. Fixes #559.
|
||||
* Fix compile arguments for armv7l. Thanks to Ben Greiner.
|
||||
- Drop patch c-blosc2-pr563-armv7l-option.patch, included upstream.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Oct 14 10:58:39 UTC 2023 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- Update to 2.10.5
|
||||
* Fix a variable name in a test that was causing a segfault in
|
||||
some platforms.
|
||||
* Change tuner's functions signature to return always an error
|
||||
code. This allows for better error checking when using plugable
|
||||
tuners in Blosc2.
|
||||
* Do checks when creating contexts.
|
||||
- Release 2.10.4
|
||||
* Remove duplicated tune initialization since it is already done
|
||||
in blosc2_create_cctx. Thanks to Marta Iborra
|
||||
* Typos fixed. Thanks to Dimitri Papadopoulos.
|
||||
- Release 2.10.3
|
||||
* Globally registered new codec openhtj2k. This will be loaded
|
||||
dynamically. See PR #557.
|
||||
* Added a BLOSC_INFO macro for details on compression params.
|
||||
* Added get_blocksize.c example on automatic blocksizes.
|
||||
* Warning fixes.
|
||||
- Add c-blosc2-pr563-armv7l-option.patch gh#Blosc/c-blosc2#563
|
||||
(But there is sitll a "Bus error" in the CTests)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Aug 22 18:51:49 UTC 2023 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- Update to 2.10.2
|
||||
* Several fixes for the CMake system. Thanks to Axel Huebl. See
|
||||
PR #541 and #542.
|
||||
- Changes from 2.10.0 to 2.10.1
|
||||
* blosc2_remove_urlpath(const char *urlpath) does not return an
|
||||
error when path does not exist.
|
||||
* Changes in CMake installer to conserve targets and properties
|
||||
on install, so CMake users do not need to write
|
||||
FindBlosc2.cmake files anymore. This also helps to preserve
|
||||
transitive dependencies on CMake targets, especially useful for
|
||||
fully static builds, e.g., for Python wheels. Thanks to @ax3l
|
||||
(Axel Huebl). See PR #537.
|
||||
* Fix new typos. Thanks to @DimitriPapadopoulos. See PR #538.
|
||||
- Changes from 2.9.3 to 2.10.0
|
||||
* bytedelta filter has been fixed. For backward compatibility,
|
||||
the old bytedelta filter is still available as
|
||||
BLOSC_FILTER_BYTEDELTA_BUGGY symbol, with the same ID (34) than
|
||||
before. The new, fixed bytedelta filter has received a new ID
|
||||
(35) and it can be used via the usual BLOSC_FILTER_BYTEDELTA
|
||||
symbol. That means that old data written with the buggy
|
||||
bytedelta filter should be decompressed without issues. Thanks
|
||||
to @foody (Tom Birch) for the fix. See #531, #532 for more
|
||||
info.
|
||||
* Filter buffers are correctly cycled now. Now it is possible to
|
||||
use e.g. shuffle and bitshuffle filters in the pipeline. Thanks
|
||||
to @foody (Tom Birch) for the fix. See #528 and PR #530.
|
||||
* Assorted fixes for allowing better inclusion in external
|
||||
projects. Thanks to @ax3l (Axel Huebel). See #525, #527 and
|
||||
#529.
|
||||
- Changes from 2.9.2 to 2.9.3
|
||||
* Thanks to Dimitri Papadopoulos for an extensive set of
|
||||
improvements in documentation and code.
|
||||
* load_lib is now a private function. Before was public, but
|
||||
never meant to be.
|
||||
* Several fixes for bugs discovered by the fuzzer.
|
||||
- Changes from 2.9.1 to 2.9.2
|
||||
* Now is possible to register the same plugin (as long as they
|
||||
have the same ID and name) without errors. This is useful for
|
||||
registering the same plugin without worrying on whether it has
|
||||
been registered already.
|
||||
* Improved detection of dynamic plugin locations. Now they must
|
||||
implement plugin_module.print_libpath() as the canonical way to
|
||||
find the path for the dynamic library plugin.
|
||||
* The blosc2_static has gained the cmake
|
||||
POSITION_INDEPENDENT_CODE property. This should allow to use
|
||||
the static library in more situations.
|
||||
* BLOSC_STUNE is defined in blosc2.h now. Fixes #481. Thanks to
|
||||
@DimitriPapadopoulos.
|
||||
* Fixed an issue when having incompressible data in combination
|
||||
with lazy_chunks.
|
||||
* Fix linking with static -DBUILD_STATIC=0. Fixes #480.
|
||||
* Many small fixes and code improvements. Thanks to
|
||||
@DimitriPapadopoulos, @bnavigator.
|
||||
- Drop c-blosc2-pr483-BLOSC_STUNE.patch upstream merged
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 16 18:54:01 UTC 2023 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- Add c-blosc2-pr483-BLOSC_STUNE.patch gh#Bosc/c-blosc2#483
|
||||
* Fixes build failure of PyTables
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu May 11 14:20:14 UTC 2023 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- Update to 2.9.1
|
||||
* Allow the use of BTUNE by detecting the ``BTUNE_BALANCE``
|
||||
environment variable.
|
||||
- Release 2.9.0
|
||||
* Dynamic plugins as Python wheels are supported now! This new
|
||||
feature allows for creating plugins in C, distribute them as
|
||||
wheels, and load them dynamically in runtime. Small example at
|
||||
https://github.com/Blosc/blosc2_plugin_example
|
||||
* BloscLZ can achieve more speed in clevel 1 now.
|
||||
* Internal Zstd sources updated to latest 1.5.5 version.
|
||||
* Copyright notice updated. Thanks to @DimitriPapadopoulos.
|
||||
- Skip failing test_contexts gh#Blosc/c-blosc2#464
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 31 09:26:42 UTC 2023 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- Add _constraints
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 30 14:54:17 UTC 2023 - Andrea Manzini <andrea.manzini@suse.com>
|
||||
|
||||
- Update to 2.8.0
|
||||
* New bytedelta filter added. SIMD support for Intel and ARM platforms is there.
|
||||
We have blogged about this: https://www.blosc.org/posts/bytedelta-enhance-compression-toolset
|
||||
Thanks to Aras Pranckevičius for inspiration and initial implementation.
|
||||
* Minor improvements in BloscLZ, leading to better compression ratios in general.
|
||||
* BLoscLZ version bumped to 2.5.2.
|
||||
* Updated internal zlib-ng to 2.0.7.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Feb 25 19:07:56 UTC 2023 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- Build AVX2 enabled hwcaps library for x86_64-v3
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Feb 25 18:14:48 UTC 2023 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- Fix AVX2 deactivation
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 24 04:04:58 UTC 2023 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- Update to 2.7.1
|
||||
* Caterva has been merged and carefully integrated in C-Blosc2 in
|
||||
the new b2nd interface. For more info on the new interface, see
|
||||
https://www.blosc.org/c-blosc2/reference/b2nd.html. Thanks to
|
||||
Marta Iborra, Oscar Guiñón, J. David Ibáñez and Francesc Alted.
|
||||
Also thanks to Aleix Alcacer for his great work in the Caterva
|
||||
project. We have a blog about this:
|
||||
https://www.blosc.org/posts/blosc2-ndim-intro
|
||||
* Updated internal zstd sources to 1.5.4. Thanks to Dimitri
|
||||
Papadopoulos.
|
||||
* blosc2_schunk_avoid_cframe_free and blosc2_schunk_append_file
|
||||
are exported as public functions now. Thanks to @bnavigator.
|
||||
* BloscLZ codec is now treated exactly the same as LZ4. Before
|
||||
BloscLZ was considered less capable of reaching decent
|
||||
compression ratios, but this has changed quite a bit lately, so
|
||||
there is no point in treating both differently.
|
||||
* Fixed some leaks, mainly on the test suite.
|
||||
* Fixed quite a bit of compiler warnings.
|
||||
- Drop blosc2-export-schunk.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 24 00:50:12 UTC 2023 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- Set ExclusiveArch to x86_64, %ix86 and aarch64: other platforms
|
||||
fail
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 17 13:00:38 UTC 2023 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- Initial specfile for v2.6.1 based on specfile for blosc 1
|
||||
- Required by python-blosc2, required by python-tables
|
||||
- Add blosc2-export-schunk.patch
|
||||
* gh#Blosc/python-blosc2#83, gh#Blosc/c-blosc2#448
|
121
blosc2.spec
Normal file
121
blosc2.spec
Normal file
@ -0,0 +1,121 @@
|
||||
#
|
||||
# spec file for package blosc2
|
||||
#
|
||||
# Copyright (c) 2023 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
# Adjust baselibs.conf if this changes
|
||||
%define major 2
|
||||
%define libname lib%{name}-%{major}
|
||||
Name: blosc2
|
||||
Version: 2.11.3
|
||||
Release: 0
|
||||
Summary: A fast, compressed, persistent binary data store library for C
|
||||
License: BSD-2-Clause AND BSD-3-Clause AND MIT
|
||||
URL: https://www.blosc.org/c-blosc2/c-blosc2.html
|
||||
Source: https://github.com/Blosc/c-blosc2/archive/refs/tags/v%{version}.tar.gz#/c-blosc2-%{version}.tar.gz
|
||||
Source99: baselibs.conf
|
||||
BuildRequires: cmake
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: pkgconfig(liblz4)
|
||||
BuildRequires: pkgconfig(libzstd)
|
||||
BuildRequires: pkgconfig(zlib)
|
||||
%{?suse_build_hwcaps_libs}
|
||||
|
||||
%description
|
||||
Blosc is a high performance compressor optimized for binary data
|
||||
(i.e. floating point numbers, integers and booleans). 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 tries hard to
|
||||
be 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 (i.e. forward compatibility is not supported). In
|
||||
case you want to ensure full API compatibility with C-Blosc1 API,
|
||||
define the BLOSC1_COMPAT symbol.
|
||||
|
||||
%package -n %{libname}
|
||||
Summary: A fast, compressed, persistent binary data store library for C
|
||||
Group: System/Libraries
|
||||
|
||||
%description -n %{libname}
|
||||
Blosc is a high performance compressor optimized for binary data
|
||||
(i.e. floating point numbers, integers and booleans).
|
||||
|
||||
%package devel
|
||||
Summary: Development libraries for %{libname}
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: %{libname} = %{version}
|
||||
|
||||
%description devel
|
||||
This package provides development libraries and headers
|
||||
for %{libname}.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n c-blosc2-%{version}
|
||||
|
||||
%build
|
||||
%cmake \
|
||||
%ifnarch x86_64_v3
|
||||
-DDEACTIVATE_AVX2:BOOL=ON \
|
||||
%endif
|
||||
-DPREFER_EXTERNAL_ZLIB:BOOL=ON \
|
||||
-DPREFER_EXTERNAL_ZSTD:BOOL=ON \
|
||||
-DPREFER_EXTERNAL_LZ4:BOOL=ON \
|
||||
-DBUILD_STATIC:BOOL=OFF \
|
||||
-DBUILD_EXAMPLES:BOOL=OFF \
|
||||
-DBUILD_FUZZERS:BOOL=OFF \
|
||||
-DBUILD_BENCHMARKS:BOOL=OFF
|
||||
%cmake_build
|
||||
|
||||
%install
|
||||
%cmake_install
|
||||
|
||||
%check
|
||||
export LD_PRELOAD="$LD_PRELOAD %{buildroot}%{_libdir}/libblosc2.so %{buildroot}%{_libdir}/libblosc2.so.%{major}"
|
||||
# https://github.com/Blosc/c-blosc2/issues/432
|
||||
single_thread_tests='test_sframe|test_schunk_frame|test_fill_special'
|
||||
# https://github.com/Blosc/c-blosc2/issues/464
|
||||
failing_tests='test_contexts'
|
||||
%ctest --exclude-regex "${single_thread_tests}|${failing_tests}"
|
||||
pushd build
|
||||
ctest --tests-regex "${single_thread_tests}"
|
||||
popd
|
||||
|
||||
%post -n %{libname} -p /sbin/ldconfig
|
||||
%postun -n %{libname} -p /sbin/ldconfig
|
||||
|
||||
%files -n %{libname}
|
||||
%license LICENSE.txt LICENSES/*.txt
|
||||
%doc ANNOUNCE.md README*.rst RELEASE_NOTES.md THANKS.rst
|
||||
%{_libdir}/libblosc2.so.%{major}
|
||||
%{_libdir}/libblosc2.so.%{version}
|
||||
|
||||
%files devel
|
||||
%doc examples/
|
||||
%{_includedir}/blosc2
|
||||
%{_includedir}/blosc2.h
|
||||
%{_includedir}/b2nd.h
|
||||
%{_libdir}/libblosc2.so
|
||||
%{_libdir}/pkgconfig/blosc2.pc
|
||||
%{_libdir}/cmake/Blosc2
|
||||
|
||||
%changelog
|
BIN
c-blosc2-2.11.3.tar.gz
(Stored with Git LFS)
Normal file
BIN
c-blosc2-2.11.3.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user