aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2024-12-17 15:12:48 +0900
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2024-12-17 23:43:58 +0900
commitf04d44562fde5bb96d820e14dc7129c26d0a4bd8 (patch)
tree9ecd34e5a2492986d272c7fb39e2df7f187bfa45 /gnu/packages
parent537c8e5f6de4bbca38dc702e1df627609d8dd15a (diff)
downloadguix-f04d44562fde5bb96d820e14dc7129c26d0a4bd8.tar.gz
guix-f04d44562fde5bb96d820e14dc7129c26d0a4bd8.zip
gnu: Add c-blosc2.
Adapted from https://raw.githubusercontent.com/Blosc/c-blosc2/refs/heads/main/.guix/modules/c-blosc2-package.scm. * gnu/packages/compression.scm (c-blosc2): New variable. Change-Id: Ic0f11487e8d920dd31dfb009485c204fa1b575f7 Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Co-authored-by: Ivan Vilata i Balaguer <ivan@selidor.net>
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/compression.scm42
1 files changed, 41 insertions, 1 deletions
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 121b26b499..bb2a846c9a 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -33,7 +33,7 @@
;;; Copyright © 2021 Antoine Côté <antoine.cote@posteo.net>
;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
-;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Ahmad Jarara <git@ajarara.io>
;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
@@ -2804,6 +2804,46 @@ computations.")
;; other non-copyleft licenses.
(license license:bsd-3)))
+(define-public c-blosc2
+ (package
+ (name "c-blosc2")
+ (version "2.15.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Blosc/c-blosc2")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "17kqwvw2n6bgzidi8f5906s5hc9wm1lbfbpd491gf7csxjck99sx"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list #:configure-flags #~(list "-DBUILD_STATIC=OFF"
+ "-DDEACTIVATE_AVX2=ON"
+ "-DDEACTIVATE_AVX512=ON"
+ "-DPREFER_EXTERNAL_LZ4=ON"
+ "-DPREFER_EXTERNAL_ZLIB=ON"
+ "-DPREFER_EXTERNAL_ZSTD=ON")))
+ (inputs (list lz4 zlib `(,zstd "lib")))
+ (home-page "https://blosc.org")
+ (synopsis "Blocking, shuffling and lossless compression library")
+ (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 @code{memcpy()} system 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 (i.e. forward compatibility is not
+supported).")
+ (license license:bsd-3)))
+
(define-public ecm
(package
(name "ecm")