~ruther/guix-local

f04d44562fde5bb96d820e14dc7129c26d0a4bd8 — Maxim Cournoyer 1 year, 5 months ago 537c8e5
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>
1 files changed, 41 insertions(+), 1 deletions(-)

M gnu/packages/compression.scm
M gnu/packages/compression.scm => gnu/packages/compression.scm +41 -1
@@ 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")