Subject: bug#51198: closed (Re: [bug#51198] [PATCH] gnu: Add b2sum.)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 18 Mar 2022 17:13:01 +0000

Your bug report

#51198: [PATCH] gnu: Add b2sum.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
51198: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=51198
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#51198] [PATCH] gnu: Add b2sum.
From: Leo Famulari <[email-masked]>
To: Nicolò Balzarotti <[email-masked]>
Cc: [email-masked]
Date: Fri, 18 Mar 2022 13:12:42 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

On Wed, Oct 27, 2021 at 12:26:01AM +0200, Nicolò Balzarotti wrote:
> Leo Famulari <[email-masked]> writes:
> 
> > * gnu/packages/crypto.scm (b2sum): New variable.
> 
> Hi, I guix pulled and wanted to try this, but I get
> 
> >> b2sum --help
> > Illegal instruction
> 
> (I'm on an old X200 thinkpad).  Might it be that build is not
> deterministic (and we should disable some optimization)?

I just pushed commit 386adb6df0e00e7170df0cdfaf0e04c38d0f3e11, which
removes the "march=native" compiler flag, so that the package should
work generically.

https://git.savannah.gnu.org/cgit/guix.git/commit/?id=386adb6df0e00e7170df0cdfaf0e04c38d0f3e11

This commit also enables the 'tunable?' property of the package, so that
one can use this program with the highest performance in a way that is
tailored to their hardware.

Just add the --tune command-line option to any Guix command that
provides this package and it should do the right thing.

Thanks Nicolò for reporting the problem and thanks to Ludovic for
developing the solution.

Subject: [PATCH] gnu: Add b2sum.
From: Leo Famulari <[email-masked]>
To: [email-masked]
Date: Thu, 14 Oct 2021 00:28:36 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/packages/crypto.scm (b2sum): New variable.
---
 gnu/packages/crypto.scm | 38 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 37 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index 64cdf48d5d..9d16d64ed2 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 <[email-masked]>
 ;;; Copyright © 2015, 2017, 2018, 2019 Ricardo Wurmus <[email-masked]>
-;;; Copyright © 2016, 2017, 2018, 2019 Leo Famulari <[email-masked]>
+;;; Copyright © 2016, 2017, 2018, 2019, 2021 Leo Famulari <[email-masked]>
 ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox>
 ;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <[email-masked]>
 ;;; Copyright © 2016, 2017 Nikita <[email-masked]>
@@ -838,6 +838,42 @@ (define-public libb2
 BLAKE.")
     (license license:public-domain)))
 
+(define-public b2sum
+  ;; Upstream doesn't seem to use a versioned release workflow, so build from
+  ;; a recent commit.
+  (let ((commit "54f4faa4c16ea34bcd59d16e8da46a64b259fc07")
+        (revision "0"))
+    (package
+      (name "b2sum")
+      (version (git-version "20190724" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                       (url "https://github.com/BLAKE2/BLAKE2")
+                       (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32 "04z631v0vzl52g73v390ask5fnzi5wg83lcjkjhpmmymaz0jn152"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:make-flags (list (string-append "CC=" ,(cc-for-target))
+                            (string-append "PREFIX=" (assoc-ref %outputs "out")))
+         #:tests? #f ; No test suite
+         #:phases
+         (modify-phases %standard-phases
+           ;; XXX Can add-before and delete be expected to work like this?
+           (add-before 'configure 'change-directory
+                       (lambda _
+                         (chdir "b2sum")))
+           (delete 'configure))))
+      (home-page "https://www.blake2.net/")
+      (synopsis "BLAKE2 checksum tool")
+      (description "BLAKE2 is a cryptographic hash function faster than MD5,
+SHA-1, SHA-2, and SHA-3, yet is at least as secure as SHA-3.")
+      ;; You may also choose to redistribute this program as Apache 2.0 or the
+      ;; OpenSSL license. See 'b2sum/b2sum.c' in the source distribution.
+      (license license:cc0))))
+
 (define-public rhash
   (package
     (name "rhash")
-- 
2.33.0