~ruther/guix-local

f7019cc8becac77908b9e477bb0fe462f81be5c6 — Leo Famulari 5 years ago 43618fe
gnu: Add BLAKE3 Rust implementation.

* gnu/packages/crypto.scm (rust-blake3-0.3): New variable.
1 files changed, 34 insertions(+), 0 deletions(-)

M gnu/packages/crypto.scm
M gnu/packages/crypto.scm => gnu/packages/crypto.scm +34 -0
@@ 1537,3 1537,37 @@ via FUSE without root permissions.  It is similar to EncFS, but provides
additional security and privacy measures such as hiding file sizes and directory
structure.  However CryFS is not considered stable yet by the developers.")
    (license license:lgpl3+)))

(define-public rust-blake3-0.3
  (package
    (name "rust-blake3")
    ;; Version 1 requires Rust >= 1.51.
    ;; <https://github.com/BLAKE3-team/BLAKE3/releases/tag/1.0.0>
    (version "0.3.8")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "blake3" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1cr5l5szgxm632px41kavl6cgils8h6yhdfkm6jsc5jgiivqai5n"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-arrayref" ,rust-arrayref-0.3)
         ("rust-arrayvec" ,rust-arrayvec-0.5)
         ("rust-cc" ,rust-cc-1)
         ("rust-cfg-if" ,rust-cfg-if-0.1)
         ("rust-constant-time-eq" ,rust-constant-time-eq-0.1)
         ("rust-crypto-mac" ,rust-crypto-mac-0.8)
         ("rust-digest" ,rust-digest-0.9)
         ("rust-rayon" ,rust-rayon-1))))
    (home-page "https://github.com/BLAKE3-team/BLAKE3")
    (synopsis "BLAKE3 hash function Rust implementation")
    (description "This crate provides the official Rust implementation of the
BLAKE3 cryptographic hash function.  BLAKE3 is faster than MD5, SHA-1, SHA-2,
SHA-3, and BLAKE2.")
    ;; Users may choose between these two licenses when redistributing the
    ;; program provided by this package.
    (license (list license:cc0 license:asl2.0))))