Subject: bug#50606: Add support for other formats of Guix channels

From: EuAndreh <[email-masked]>
Date: Wed, 15 Sep 2021 14:30:17 -0300

As I've described in [0], one can't have a Guix channel served over Git's
"Dumb HTTP" protocol.  That is caused by libgit's inability to do so [1].

Guix channel authors may want to serve channels:
- via "Dumb HTTP" Git repositories;
- via other DVCS like Mercurial, Fossil, BitKeeper;
- decoupled from the backing versioning tool.

My initial though is that making Guix knowing how to handle channels served as
tarballs would suffice, and cover all of the above.  Those channels wouldn't
have the exact same caching and authentication characteristics as channels
served via Git repositories, but that seems OK.

WDYT?

[0]: https://yhetil.org/guix-user/162732098483.1190082.2428052336447457010@localhost/t/#m8bb1fc83a8eccd9819085432a59bad9257ef434a
[1]: https://github.com/libgit2/libgit2/issues/4652#issuecomment-390903142