diff options
author | Ludovic Courtès <ludo@gnu.org> | 2021-11-17 23:24:42 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2021-11-17 23:43:14 +0100 |
commit | 3a317f7476f8c6012e166ff9f340f861938721c9 (patch) | |
tree | 946e398c37912cfc03be7306951ae87bfeb130fa /gnu/packages/crypto.scm | |
parent | e55547bf70384691712047912c793c517debd2ec (diff) | |
parent | 62e707d67caf1dab2af411a69ff8cec4b2dc686e (diff) | |
download | guix-3a317f7476f8c6012e166ff9f340f861938721c9.tar guix-3a317f7476f8c6012e166ff9f340f861938721c9.tar.gz |
Merge branch 'master' into core-updates-frozen
Diffstat (limited to 'gnu/packages/crypto.scm')
-rw-r--r-- | gnu/packages/crypto.scm | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 0f413b8b74..1a26d7ab37 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -1538,3 +1538,86 @@ 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)))) + +(define-public b3sum + (package + (name "b3sum") + ;; 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 "b3sum" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0h3fz16q5lk6mg7r8kjkjrq5hd4injngn5m7pswjbf2pyzjmg4b4")))) + (build-system cargo-build-system) + (arguments + `(;; Install the source so that Cargo.toml is installed, because that is + ;; the only reference to the license information. + #:install-source? #t + #:phases + (modify-phases %standard-phases + (add-before 'check 'patch-tests + (lambda _ + (substitute* "tests/cli_tests.rs" + (("/bin/sh") (which "sh"))))) + (add-after 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/" ,name "-" + ,(package-version this-package)))) + (install-file "README.md" doc))))) + #:cargo-inputs + (("rust-anyhow" ,rust-anyhow-1) + ("rust-blake3" ,rust-blake3-0.3) + ("rust-clap" ,rust-clap-2) + ("rust-hex" ,rust-hex-0.4) + ("rust-memmap" ,rust-memmap-0.7) + ("rust-rayon" ,rust-rayon-1) + ("rust-wild" ,rust-wild-2)) + #:cargo-development-inputs + (("rust-duct" ,rust-duct-0.13) + ("rust-tempfile" ,rust-tempfile-3)))) + (home-page "https://github.com/BLAKE3-team/BLAKE3") + (synopsis "Command line BLAKE3 checksum tool") + (description "This package provides @code{b3sum}, a command line +checksum tool based on the BLAKE3 cryptographic hash function.") + ;; Users may choose between these two licenses when redistributing the + ;; program provided by this package. + (license (list license:cc0 license:asl2.0)))) |