Skip to content

Commit

Permalink
Merge commit '2395a02497a7f25ea94b904d015034db9654d63d' as 'src/c-blosc'
Browse files Browse the repository at this point in the history
  • Loading branch information
t20100 committed Aug 27, 2024
2 parents 3be12b8 + 2395a02 commit 0785e07
Show file tree
Hide file tree
Showing 490 changed files with 185,703 additions and 0 deletions.
20 changes: 20 additions & 0 deletions src/c-blosc/.editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
; Top-most EditorConfig file
root = true

; Global settings
[*]
end_of_line = LF
indent_style = space
trim_trailing_whitespace = true
insert_final_newline = true

; C source files
[*.{h,c}]
indent_size = 2

; CMake
[CMakeLists.txt]
indent_size = 4

[*.cmake]
indent_size = 4
7 changes: 7 additions & 0 deletions src/c-blosc/.github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
155 changes: 155 additions & 0 deletions src/c-blosc/.github/workflows/cmake.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
name: CI CMake
on: [push, pull_request]
jobs:
ci-cmake:
name: ${{ matrix.name }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
name: [
Ubuntu GCC,
Ubuntu GCC OSB,
Ubuntu GCC External LZ4,
Ubuntu GCC External SNAPPY,
Ubuntu GCC External ZLIB,
Ubuntu GCC External ZSTD,
Ubuntu Clang,
Ubuntu Clang No SSE2,
Ubuntu Clang No AVX2,
Ubuntu Clang No AVX2 No SSE2,
Ubuntu Clang No LZ4,
Ubuntu Clang No ZLIB,
Ubuntu Clang No ZSTD,
Windows MSVC Win32,
Windows MSVC Win64,
macOS Clang,
macOS GCC
]
include:
- name: Ubuntu GCC
os: ubuntu-latest
compiler: gcc

# Out of source build
- name: Ubuntu GCC OSB
os: ubuntu-latest
compiler: gcc
build-dir: ../build
build-src-dir: ../c-blosc

- name: Ubuntu GCC External LZ4
os: ubuntu-latest
compiler: gcc
packages: liblz4-1 liblz4-dev
cmake-args: -DPREFER_EXTERNAL_LZ4=ON

- name: Ubuntu GCC External SNAPPY
os: ubuntu-latest
compiler: gcc
packages: libsnappy-dev
cmake-args: -DDEACTIVATE_SNAPPY=OFF

- name: Ubuntu GCC External ZLIB
os: ubuntu-latest
compiler: gcc
packages: zlib1g-dev
cmake-args: -DPREFER_EXTERNAL_ZLIB=ON

- name: Ubuntu GCC External ZSTD
os: ubuntu-latest
compiler: gcc
packages: zstd libzstd-dev
cmake-args: -DPREFER_EXTERNAL_ZSTD=ON

- name: Ubuntu Clang
os: ubuntu-latest
compiler: clang

- name: Ubuntu Clang No SSE2
os: ubuntu-latest
compiler: clang
cmake-args: -DDEACTIVATE_SSE2=ON

- name: Ubuntu Clang No AVX2
os: ubuntu-latest
compiler: clang
cmake-args: -DDEACTIVATE_AVX2=ON

- name: Ubuntu Clang No AVX2 No SSE2
os: ubuntu-latest
compiler: clang
cmake-args: -DDEACTIVATE_AVX2=ON -DDEACTIVATE_SSE2=ON

- name: Ubuntu Clang No LZ4
os: ubuntu-latest
compiler: clang
cmake-args: -DDEACTIVATE_LZ4=ON

- name: Ubuntu Clang No ZLIB
os: ubuntu-latest
compiler: clang
cmake-args: -DDEACTIVATE_ZLIB=ON

- name: Ubuntu Clang No ZSTD
os: ubuntu-latest
compiler: clang
cmake-args: -DDEACTIVATE_ZSTD=ON

- name: Windows MSVC Win32
os: windows-latest
compiler: cl
cmake-args: -A Win32

- name: Windows MSVC Win64
os: windows-latest
compiler: cl
cmake-args: -A x64

- name: macOS Clang
os: macOS-latest
compiler: clang

- name: macOS GCC
os: macOS-latest
compiler: gcc

steps:
- uses: actions/checkout@v4

- name: Install packages (Ubuntu)
if: runner.os == 'Linux' && matrix.packages
run: |
sudo apt-get update
sudo apt-get install -y ${{ matrix.packages }}
- name: Install packages (Windows)
if: runner.os == 'Windows'
run: |
choco install ninja ${{ matrix.packages }}
- name: Install packages (macOS)
if: runner.os == 'macOS'
run: |
brew install ninja ${{ matrix.packages }}
- name: Generate project files
run: |
mkdir ${{ matrix.build-dir || '.not-used' }}
cd ${{ matrix.build-dir || '.' }}
cmake ${{ matrix.build-src-dir || '.' }} ${{ matrix.cmake-args }} -DCMAKE_BUILD_TYPE=${{ matrix.build-config || 'Release' }} -DBUILD_SHARED_LIBS=OFF -DBUILD_FUZZERS=ON
env:
CC: ${{ matrix.compiler }}
CFLAGS: ${{ matrix.cflags }}
LDFLAGS: ${{ matrix.ldflags }}
CI: true

- name: Compile source code
run: |
cd ${{ matrix.build-dir || '.' }}
cmake --build . --config ${{ matrix.build-config || 'Release' }}
- name: Run test cases
run: |
cd ${{ matrix.build-dir || '.' }}
ctest -C Release --output-on-failure --max-width 120
23 changes: 23 additions & 0 deletions src/c-blosc/.github/workflows/fuzz.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: CI Fuzz
on: [push, pull_request]
jobs:
Fuzzing:
runs-on: ubuntu-latest
steps:
- name: Build Fuzzers
uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master
with:
oss-fuzz-project-name: 'c-blosc'
dry-run: false
- name: Run Fuzzers
uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master
with:
oss-fuzz-project-name: 'c-blosc'
fuzz-seconds: 600
dry-run: false
- name: Upload Crash
uses: actions/upload-artifact@v4
if: failure()
with:
name: artifacts
path: ./out/artifacts
4 changes: 4 additions & 0 deletions src/c-blosc/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
bench/bench
build/

*.sw?
4 changes: 4 additions & 0 deletions src/c-blosc/.mailmap
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Francesc Alted <[email protected]> FrancescAlted <[email protected]>
Francesc Alted <[email protected]> FrancescAlted <[email protected]>
Francesc Alted <[email protected]> FrancescAlted <[email protected]>
Francesc Alted <[email protected]> FrancescAlted <[email protected]>
52 changes: 52 additions & 0 deletions src/c-blosc/ANNOUNCE.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
===============================================================
Announcing C-Blosc 1.21.6
A blocking, shuffling and lossless compression library for C
===============================================================

What is new?
============

This is a maintenance release. Here, we are providing new versions of
internal Zlib and Zstd compressors, which are now 1.3.1 and 1.5.6
respectively.

For more info, please see the release notes in:

https://github.com/Blosc/c-blosc/blob/main/RELEASE_NOTES.rst


What is it?
===========

Blosc (https://www.blosc.org) is a high performance meta-compressor
optimized for binary data. 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 has internal support for different compressors like its internal
BloscLZ, but also LZ4, LZ4HC, Snappy, Zlib and Zstd. This way these can
automatically leverage the multithreading and pre-filtering
(shuffling) capabilities that comes with Blosc.


Download sources
================

The github repository is over here:

https://github.com/Blosc

Blosc is distributed using the BSD license, see LICENSE.txt for
details.


Mailing list
============

There is an official Blosc mailing list at:

[email protected]
https://groups.google.com/g/blosc


Enjoy Data!
Loading

0 comments on commit 0785e07

Please sign in to comment.