mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 05:18:07 -05:00
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.
This commit is contained in:
parent
8e6c1415d8
commit
0505eda9c7
2 changed files with 30 additions and 1 deletions
|
@ -191,7 +191,10 @@ (define-syntax name
|
|||
|
||||
(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)
|
||||
|
|
|
@ -524,6 +524,32 @@ (define read-at
|
|||
(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"
|
||||
|
|
Loading…
Reference in a new issue