guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

31/295: packages: Recognize SHA3 and BLAKE2s for 'content-hash'.


From: guix-commits
Subject: 31/295: packages: Recognize SHA3 and BLAKE2s for 'content-hash'.
Date: Mon, 27 Jul 2020 06:25:10 -0400 (EDT)

dannym pushed a commit to branch wip-desktop
in repository guix.

commit 0505eda9c7cf688757f6f8be8bc3e65ad9f0805e
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Tue Jun 23 16:35:58 2020 +0200

    packages: Recognize SHA3 and BLAKE2s for 'content-hash'.
    
    * guix/packages.scm (build-content-hash): Add 'sha3-256', 'sha3-512',
    and 'blake2s-256'.
    * tests/packages.scm ("package-source-derivation, origin, sha3-512"):
    New test.
---
 guix/packages.scm  |  5 ++++-
 tests/packages.scm | 26 ++++++++++++++++++++++++++
 2 files changed, 30 insertions(+), 1 deletion(-)

diff --git a/guix/packages.scm b/guix/packages.scm
index 1e0ec41..68ef718 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -191,7 +191,10 @@ its first argument has the right size for the chosen 
algorithm."
 
 (define-content-hash-constructor build-content-hash
   (sha256 32)
-  (sha512 64))
+  (sha512 64)
+  (sha3-256 32)
+  (sha3-512 64)
+  (blake2s-256 64))
 
 (define-syntax content-hash
   (lambda (s)
diff --git a/tests/packages.scm b/tests/packages.scm
index c7b6f66..26377b2 100644
--- a/tests/packages.scm
+++ b/tests/packages.scm
@@ -524,6 +524,32 @@
     (build-derivations %store (list drv))
     (call-with-input-file output get-string-all)))
 
+(test-equal "package-source-derivation, origin, sha3-512"
+  "hello, sha3"
+  (let* ((bash    (search-bootstrap-binary "bash" (%current-system)))
+         (builder (add-text-to-store %store "my-fixed-builder.sh"
+                                     "echo -n hello, sha3 > $out" '()))
+         (method  (lambda* (url hash-algo hash #:optional name
+                                #:rest rest)
+                    (and (eq? hash-algo 'sha3-512)
+                         (raw-derivation name bash (list builder)
+                                         #:sources (list builder)
+                                         #:hash hash
+                                         #:hash-algo hash-algo))))
+         (source  (origin
+                    (method method)
+                    (uri "unused://")
+                    (file-name "origin-sha3")
+                    (hash (content-hash
+                           (gcrypt:bytevector-hash (string->utf8 "hello, sha3")
+                                                   
(gcrypt:lookup-hash-algorithm
+                                                    'sha3-512))
+                           sha3-512))))
+         (drv    (package-source-derivation %store source))
+         (output (derivation->output-path drv)))
+    (build-derivations %store (list drv))
+    (call-with-input-file output get-string-all)))
+
 (unless (network-reachable?) (test-skip 1))
 (test-equal "package-source-derivation, snippet"
   "OK"



reply via email to

[Prev in Thread] Current Thread [Next in Thread]