GNU bug report logs - #51289
BLAKE3 reference implementation and checksum tool

Previous Next

Package: guix-patches;

Reported by: Leo Famulari <leo <at> famulari.name>

Date: Tue, 19 Oct 2021 16:14:02 UTC

Severity: normal

Done: Leo Famulari <leo <at> famulari.name>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 51289 in the body.
You can then email your comments to 51289 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#51289; Package guix-patches. (Tue, 19 Oct 2021 16:14:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Leo Famulari <leo <at> famulari.name>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Tue, 19 Oct 2021 16:14:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: guix-patches <at> gnu.org
Subject: BLAKE3 reference implementation and checksum tool
Date: Tue, 19 Oct 2021 12:13:11 -0400
These patches add the BLAKE3 reference implementation and a BLAKE3
checksum tool, b3sum.

It's *very* fast, much faster than SHA256 and even BLAKE2.




Information forwarded to guix-patches <at> gnu.org:
bug#51289; Package guix-patches. (Tue, 19 Oct 2021 16:16:02 GMT) Full text and rfc822 format available.

Message #8 received at 51289 <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: 51289 <at> debbugs.gnu.org
Subject: [PATCH 1/4] gnu: rust-duct-0.13: Update to 0.13.5.
Date: Tue, 19 Oct 2021 12:15:32 -0400
* gnu/packages/crates-io.scm (rust-duct-0.13): Update to 0.13.5.
[arguments]<cargo-inputs>: Use rust-os-pipe-0.9 instead of rust-os-pipe-0.8.
<cargo-development-inputs>: Remove key.
---
 gnu/packages/crates-io.scm | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 089b9f456c..4add0eef43 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -14774,7 +14774,7 @@ (define-public rust-dtparse-1
 (define-public rust-duct-0.13
   (package
     (name "rust-duct")
-    (version "0.13.0")
+    (version "0.13.5")
     (source
      (origin
        (method url-fetch)
@@ -14783,17 +14783,15 @@ (define-public rust-duct-0.13
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1ir3884i1yznkfdccqqbcb9v5sdpcgxlv41hgzncrqaljv18r0wj"))))
+         "13bxiy0y1dck3xz28rqw5ylf2ykv6mk8ww6g8408x26hksjs1ihg"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-libc" ,rust-libc-0.2)
         ("rust-once-cell" ,rust-once-cell-1)
-        ("rust-os-pipe" ,rust-os-pipe-0.8)
-        ("rust-shared-child" ,rust-shared-child-0.3))
-       #:cargo-development-inputs
-       (("rust-tempdir" ,rust-tempdir-0.3))))
+        ("rust-os-pipe" ,rust-os-pipe-0.9)
+        ("rust-shared-child" ,rust-shared-child-0.3))))
     (home-page
      "https://github.com/oconnor663/duct.rs")
     (synopsis
-- 
2.33.1





Information forwarded to guix-patches <at> gnu.org:
bug#51289; Package guix-patches. (Tue, 19 Oct 2021 16:16:03 GMT) Full text and rfc822 format available.

Message #11 received at 51289 <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: 51289 <at> debbugs.gnu.org
Subject: [PATCH 2/4] gnu: rust-os-pipe: Update to 0.9.2.
Date: Tue, 19 Oct 2021 12:15:33 -0400
* gnu/packages/crates-io.scm (rust-os-pipe-0.8): Replace with ...
(rust-os-pipe-0.9): ... new variable.
(arguments)<#:cargo-inputs>: Replace rust-nix-0.15 with rust-libc-0.2.
---
 gnu/packages/crates-io.scm | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 4add0eef43..447dedde2d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -31962,10 +31962,10 @@ (define-public rust-os-info-3
      "This library detects the operating system type and version.")
     (license license:expat)))
 
-(define-public rust-os-pipe-0.8
+(define-public rust-os-pipe-0.9
   (package
     (name "rust-os-pipe")
-    (version "0.8.2")
+    (version "0.9.2")
     (source
      (origin
        (method url-fetch)
@@ -31974,12 +31974,12 @@ (define-public rust-os-pipe-0.8
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "049ax8shxik7mm68r2nf7xnrcq3z3p7hz54sbrcxwywxqsjdzs41"))))
+         "04yjs1hf88jjm17g8a2lr7ibxyyg460rzbgcw9f1yzihq833y8zv"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-nix" ,rust-nix-0.15)
+       (("rust-libc" ,rust-libc-0.2)
         ("rust-winapi" ,rust-winapi-0.3))))
     (home-page
      "https://github.com/oconnor663/os_pipe.rs")
-- 
2.33.1





Information forwarded to guix-patches <at> gnu.org:
bug#51289; Package guix-patches. (Tue, 19 Oct 2021 16:16:03 GMT) Full text and rfc822 format available.

Message #14 received at 51289 <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: 51289 <at> debbugs.gnu.org
Subject: [PATCH 4/4] gnu: Add BLAKE3 command line tool.
Date: Tue, 19 Oct 2021 12:15:35 -0400
* gnu/packages/crypto.scm (b3sum): New variable.
---
 gnu/packages/crypto.scm | 49 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index 3b5957ef23..1b4906dc31 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -1534,3 +1534,52 @@ (define-public rust-blake3-0.3
     ;; 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))))
-- 
2.33.1





Information forwarded to guix-patches <at> gnu.org:
bug#51289; Package guix-patches. (Tue, 19 Oct 2021 16:16:04 GMT) Full text and rfc822 format available.

Message #17 received at 51289 <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: 51289 <at> debbugs.gnu.org
Subject: [PATCH 3/4] gnu: Add BLAKE3 Rust implementation.
Date: Tue, 19 Oct 2021 12:15:34 -0400
* gnu/packages/crypto.scm (rust-blake3-0.3): New variable.
---
 gnu/packages/crypto.scm | 36 +++++++++++++++++++++++++++++++++++-
 1 file changed, 35 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index 823b888b82..3b5957ef23 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014 David Thompson <davet <at> gnu.org>
 ;;; Copyright © 2015, 2017, 2018, 2019 Ricardo Wurmus <rekado <at> elephly.net>
-;;; Copyright © 2016, 2017, 2018, 2019 Leo Famulari <leo <at> famulari.name>
+;;; Copyright © 2016, 2017, 2018, 2019, 2021 Leo Famulari <leo <at> famulari.name>
 ;;; Copyright © 2016 Lukas Gradl <lgradl <at> openmailbox>
 ;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me <at> tobias.gr>
 ;;; Copyright © 2016, 2017 Nikita <nikita <at> n0.is>
@@ -1500,3 +1500,37 @@ (define-public cryfs
 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))))
-- 
2.33.1





Information forwarded to guix-patches <at> gnu.org:
bug#51289; Package guix-patches. (Sun, 31 Oct 2021 13:37:01 GMT) Full text and rfc822 format available.

Message #20 received at 51289 <at> debbugs.gnu.org (full text, mbox):

From: Efraim Flashner <efraim <at> flashner.co.il>
To: Leo Famulari <leo <at> famulari.name>
Cc: 51289 <at> debbugs.gnu.org
Subject: Re: [bug#51289] BLAKE3 reference implementation and checksum tool
Date: Sun, 31 Oct 2021 15:36:13 +0200
[Message part 1 (text/plain, inline)]
On Tue, Oct 19, 2021 at 12:13:11PM -0400, Leo Famulari wrote:
> These patches add the BLAKE3 reference implementation and a BLAKE3
> checksum tool, b3sum.
> 
> It's *very* fast, much faster than SHA256 and even BLAKE2.

I'd rather not remove the development-inputs for rust-duct but other
than that it looks fine to me. Didn't try building or running it though.

-- 
Efraim Flashner   <efraim <at> flashner.co.il>   רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#51289; Package guix-patches. (Thu, 04 Nov 2021 15:54:02 GMT) Full text and rfc822 format available.

Message #23 received at 51289 <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: Efraim Flashner <efraim <at> flashner.co.il>, 51289 <at> debbugs.gnu.org
Subject: Re: [bug#51289] BLAKE3 reference implementation and checksum tool
Date: Thu, 4 Nov 2021 11:53:52 -0400
On Sun, Oct 31, 2021 at 03:36:13PM +0200, Efraim Flashner wrote:
> I'd rather not remove the development-inputs for rust-duct but other
> than that it looks fine to me. Didn't try building or running it though.

Thanks, I'll remove that part of the rust-duct commit.

I also realized that the commits changing rust-duct and rust-os-pipe
need to be in the opposite order: We have to create rust-os-pipe-0.9
before using it in the updated rust-duct-0.13.

I'll test again and push soon.




Reply sent to Leo Famulari <leo <at> famulari.name>:
You have taken responsibility. (Wed, 10 Nov 2021 16:39:02 GMT) Full text and rfc822 format available.

Notification sent to Leo Famulari <leo <at> famulari.name>:
bug acknowledged by developer. (Wed, 10 Nov 2021 16:39:03 GMT) Full text and rfc822 format available.

Message #28 received at 51289-done <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: Efraim Flashner <efraim <at> flashner.co.il>, 51289-done <at> debbugs.gnu.org
Subject: Re: [bug#51289] BLAKE3 reference implementation and checksum tool
Date: Wed, 10 Nov 2021 11:37:59 -0500
On Thu, Nov 04, 2021 at 11:53:52AM -0400, Leo Famulari wrote:
> I'll test again and push soon.

Pushed as 650dcc18e7f840a789a6aa06533b4a4ffc06af59




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 09 Dec 2021 12:24:08 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 100 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.