channels: Add mechanism to patch checkouts of the 'guix channel.
authorLudovic Courtès <ludo@gnu.org>
Wed, 6 May 2020 20:45:31 +0000 (22:45 +0200)
committerLudovic Courtès <ludo@gnu.org>
Thu, 7 May 2020 08:06:15 +0000 (10:06 +0200)
commit053b10c3ef2df7ea80556ab9b2c93d0bf88094f2
tree6d3bbcd545f2590a879a066010df9ef8fa157cc7
parent4ba425060a9d000f54bbab99d17a2f23b277c623
channels: Add mechanism to patch checkouts of the 'guix channel.

* guix/channels.scm (<patch>): New record type.
(apply-patches): New procedure.
(latest-channel-instance)[dot-git?]: New procedure.
Use 'update-cached-checkout' and 'add-to-store' instead of
'latest-repository-commit'.  Call 'apply-patches' when CHANNEL is the
'guix channel.
(%patches): New variable.
* guix/git.scm (url+commit->name): Make public.
* tests/channels.scm ("latest-channel-instances includes channel dependencies")
("latest-channel-instances excludes duplicate channel dependencies"):
Mock 'update-cached-checkout' instead of 'latest-repository-commit'.
Wrap body in 'with-store' and pass the store to 'latest-channel-instances'.
guix/channels.scm
guix/git.scm
tests/channels.scm