apteryx pushed a commit to branch master
in repository guix.

commit f04d44562fde5bb96d820e14dc7129c26d0a4bd8
Author: Maxim Cournoyer <maxim.courno...@gmail.com>
AuthorDate: Tue Dec 17 15:12:48 2024 +0900

    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.courno...@gmail.com>
    Co-authored-by: Ivan Vilata i Balaguer <i...@selidor.net>
---
 gnu/packages/compression.scm | 42 +++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 41 insertions(+), 1 deletion(-)

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.c...@posteo.net>
 ;;; Copyright © 2021 Vincent Legoll <vincent.leg...@gmail.com>
 ;;; Copyright © 2021 Simon Tournier <zimon.touto...@gmail.com>
-;;; Copyright © 2021 Maxim Cournoyer <maxim.courno...@gmail.com>
+;;; Copyright © 2021, 2024 Maxim Cournoyer <maxim.courno...@gmail.com>
 ;;; Copyright © 2021 Ahmad Jarara <g...@ajarara.io>
 ;;; Copyright © 2022 Greg Hogan <c...@greghogan.com>
 ;;; Copyright © 2022 Zhu Zihao <all_but_l...@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")

Reply via email to