packages: Introduce <content-hash> and use it in <origin>.
authorLudovic Courtès <ludo@gnu.org>
Tue, 19 May 2020 13:55:08 +0000 (15:55 +0200)
committerLudovic Courtès <ludo@gnu.org>
Thu, 21 May 2020 23:29:39 +0000 (01:29 +0200)
commitce0be5675b702b2ff89aed1772ebb42af4150243
treeec275112c97e9450ed9c4a8d30e7c153a7c10786
parent56f7ca6e7c8b5eadeee48b00bcbd78f9fa9e5f43
packages: Introduce <content-hash> and use it in <origin>.

* guix/packages.scm (<content-hash>): New record type.
(define-content-hash-constructor, build-content-hash)
(content-hash): New macros.
(print-content-hash): New procedure.
(<origin>): Rename constructor to '%origin'.
[sha256]: Remove field.
[hash]: New field.  Adjust users.
(origin-compatibility-helper, origin): New macros.
(origin-sha256): New deprecated procedure.
(origin->derivation): Adjust accordingly.
* tests/packages.scm ("package-source-derivation, origin, sha512"): New
test.
* guix/tests.scm: Hide (gcrypt hash) 'sha256' for proper syntax
matching.
* tests/challenge.scm: Add #:prefix for (gcrypt hash) and adjust users.
* tests/derivations.scm: Likewise.
* tests/store.scm: Likewise.
* tests/graph.scm ("bag DAG, including origins"): Provide 'sha256' field
with the right length.
* gnu/packages/aspell.scm (aspell-dictionary)
(aspell-dict-ca, aspell-dict-it): Use 'hash' and 'content-hash' for
proper syntax matching.
* gnu/packages/bash.scm (bash-patch): Rename 'sha256' to 'sha256-bv'.
* gnu/packages/bootstrap.scm (bootstrap-executable): Rename 'sha256' to 'bv'.
* gnu/packages/readline.scm (readline-patch): Likewise.
* gnu/packages/virtualization.scm (qemu-patch): Rename 'sha256' to
'sha256-bv'.
* guix/import/utils.scm: Hide (gcrypt hash) 'sha256'.
14 files changed:
doc/guix.texi
gnu/packages/aspell.scm
gnu/packages/bash.scm
gnu/packages/bootstrap.scm
gnu/packages/readline.scm
gnu/packages/virtualization.scm
guix/import/utils.scm
guix/packages.scm
guix/tests.scm
tests/challenge.scm
tests/derivations.scm
tests/graph.scm
tests/packages.scm
tests/store.scm