<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix.git/guix/git-download.scm, branch merge-deploy</title>
<subtitle>Personal branch of https://git.savannah.gnu.org/cgit/guix.git/ for implementing 'guix deploy'.
</subtitle>
<id>https://git.jakob.space/guix.git/atom?h=merge-deploy</id>
<link rel='self' href='https://git.jakob.space/guix.git/atom?h=merge-deploy'/>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/'/>
<updated>2019-07-24T22:16:41Z</updated>
<entry>
<title>maint: Switch to Guile-JSON 3.x.</title>
<updated>2019-07-24T22:16:41Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-07-21T21:05:54Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=81c3dc32244a17241d74eea9fa265edfcb326f6d'/>
<id>urn:sha1:81c3dc32244a17241d74eea9fa265edfcb326f6d</id>
<content type='text'>
Guile-JSON 3.x is incompatible with Guile-JSON 1.x, which we relied on
until now: it maps JSON dictionaries to alists (instead of hash tables),
and JSON arrays to vectors (instead of lists).  This commit is about
adjusting all the existing code to this new mapping.

* m4/guix.m4 (GUIX_CHECK_GUILE_JSON): New macro.
* configure.ac: Use it.
* doc/guix.texi (Requirements): Mention the Guile-JSON version.
* guix/git-download.scm (git-fetch)[guile-json]: Use GUILE-JSON-3.
* guix/import/cpan.scm (string-&gt;license): Expect vectors instead of
lists.
(module-&gt;dist-name): Use 'json-fetch' instead of 'json-fetch-alist'.
(cpan-fetch): Likewise.
* guix/import/crate.scm (crate-fetch): Likewise, and call 'vector-&gt;list'
for DEPS.
* guix/import/gem.scm (rubygems-fetch): Likewise.
* guix/import/json.scm (json-fetch-alist): Remove.
* guix/import/pypi.scm (pypi-fetch): Use 'json-fetch' instead of
'json-fetch-alist'.
(latest-source-release, latest-wheel-release): Call 'vector-&gt;list' on
RELEASES.
* guix/import/stackage.scm (stackage-lts-info-fetch): Use 'json-fetch'
instead of 'json-fetch-alist'.
(lts-package-version): Use 'vector-&gt;list'.
* guix/import/utils.scm (hash-table-&gt;alist): Remove.
(alist-&gt;package): Pass 'vector-&gt;list' on the inputs fields, and default
to the empty vector.
* guix/scripts/import/json.scm (guix-import-json): Remove call to
'hash-table-&gt;alist'.
* guix/swh.scm (define-json-reader): Expect pair? or null? instead of
hash-table?.
[extract-field]: Use 'assoc-ref' instead of 'hash-ref'.
(json-&gt;branches): Use 'map' instead of 'hash-map-&gt;list'.
(json-&gt;checksums): Likewise.
(json-&gt;directory-entries, origin-visits): Call 'vector-&gt;list' on the
result of 'json-&gt;scm'.
* tests/import-utils.scm ("alist-&gt;package with dependencies"): New test.
* gnu/installer.scm (build-compiled-file)[builder]: Use GUILE-JSON-3.
* gnu/installer.scm (installer-program)[installer-builder]: Likewise.
* gnu/installer/locale.scm (iso639-&gt;iso639-languages): Use 'assoc-ref'
instead of 'hash-ref', and pass vectors through 'vector-&gt;list'.
(iso3166-&gt;iso3166-territories): Likewise.
* gnu/system/vm.scm (system-docker-image)[build]: Use GUILE-JSON-3.
* guix/docker.scm (manifest, config): Adjust for Guile-JSON 3.
* guix/scripts/pack.scm (docker-image)[build]: Use GUILE-JSON-3.
* guix/import/github.scm (fetch-releases-or-tags): Update docstring.
(latest-released-version): Use 'assoc-ref' instead of 'hash-ref'.  Pass
the result of 'fetch-releases-or-tags' to 'vector-&gt;list'.
* guix/import/launchpad.scm (latest-released-version): Likewise.
</content>
</entry>
<entry>
<title>guix: git-download: Remove explicit import.</title>
<updated>2019-06-06T18:35:54Z</updated>
<author>
<name>Robert Vollmert</name>
<email>rob@vllmrt.net</email>
</author>
<published>2019-06-05T18:56:14Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=5d9fe4311af7444ee02617c5d76d668a52d453d8'/>
<id>urn:sha1:5d9fe4311af7444ee02617c5d76d668a52d453d8</id>
<content type='text'>
With guile-git version 0.2, repository-working-directory is no
longer private.

* guix/git-download.scm (git-file-list): Refer to public
repository-working-directory.

Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</content>
</entry>
<entry>
<title>git-download: Download from Software Heritage as a last resort.</title>
<updated>2018-11-26T10:10:20Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludovic.courtes@inria.fr</email>
</author>
<published>2018-11-19T14:46:50Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=608d3dca89d73fe7260e97a284a8aeea756a3e11'/>
<id>urn:sha1:608d3dca89d73fe7260e97a284a8aeea756a3e11</id>
<content type='text'>
* guix/git-download.scm (git-fetch)[inputs]: Add gzip and tar when
'git-reference-recursive?' is false.
[guile-json, gnutls]: New variables.
[modules]: Add (guix swh).
[build]: Wrap in 'with-extensions'.  Add call to 'swh-download'.
</content>
</entry>
<entry>
<title>git-download: Use 'git-minimal' instead of 'git'.</title>
<updated>2018-11-26T10:10:20Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-11-26T10:06:21Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=3b5829bbcb7ea3a76a4d2393f0b2cbfb6d1a5e37'/>
<id>urn:sha1:3b5829bbcb7ea3a76a4d2393f0b2cbfb6d1a5e37</id>
<content type='text'>
* guix/git-download.scm (git-package): Refer to 'git-minimal'.
</content>
</entry>
<entry>
<title>git-download: Don't assume the working directory is the parent of ".git".</title>
<updated>2018-09-25T22:33:00Z</updated>
<author>
<name>Marius Bakke</name>
<email>mbakke@fastmail.com</email>
</author>
<published>2018-09-15T09:53:40Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=280fc8351230a8fea086d9bbce919ba8395f312c'/>
<id>urn:sha1:280fc8351230a8fea086d9bbce919ba8395f312c</id>
<content type='text'>
This makes it do the right thing w.r.t. git worktrees.

* guix/git-download.scm (git-file-list): Use REPOSITORY-WORKING-DIRECTORY to
locate checkout.  Rename from "top" to "workdir".
</content>
</entry>
<entry>
<title>git-download: 'git-predicate' returns #f on Git errors.</title>
<updated>2018-09-14T09:23:08Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-09-14T09:11:54Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=13512e1b8f63b4d8fcb188fac992aa390149fe65'/>
<id>urn:sha1:13512e1b8f63b4d8fcb188fac992aa390149fe65</id>
<content type='text'>
Fixes a regression introduced in
aed0a594058a59bc3bb1d2686391dc0e8a181b1f whereby 'git-predicate' would
throw to 'git-error instead of returning #f as the docstring says.

* guix/git-download.scm (git-predicate): Return #f upon 'git-error'.
</content>
</entry>
<entry>
<title>git-download: Rewrite 'git-predicate' using Guile-Git.</title>
<updated>2018-09-12T22:20:42Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-09-12T21:56:34Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=aed0a594058a59bc3bb1d2686391dc0e8a181b1f'/>
<id>urn:sha1:aed0a594058a59bc3bb1d2686391dc0e8a181b1f</id>
<content type='text'>
Fixes &lt;https://bugs.gnu.org/27925&gt;.

* guix/git-download.scm (files-&gt;directory-tree)
(directory-in-tree?): Remove.
(git-file-list): New procedures.
(git-predicate): Use it instead of opening a pipe to 'git'.  Remove
directory tree hack and rely exclusively on inode/device numbers.
</content>
</entry>
<entry>
<title>git-download: Fix recursive checkouts.</title>
<updated>2018-03-19T01:00:44Z</updated>
<author>
<name>Eric Bavier</name>
<email>bavier@member.fsf.org</email>
</author>
<published>2018-03-16T04:25:01Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=be95bcf0887dc7d90177fda20cab56c6e248dcfa'/>
<id>urn:sha1:be95bcf0887dc7d90177fda20cab56c6e248dcfa</id>
<content type='text'>
* guix/git-download.scm (git-fetch)&lt;build&gt;: Fix match on INPUTS, which may
contain package outputs.
</content>
</entry>
<entry>
<title>download: Download a nar when a VCS checkout fails.</title>
<updated>2017-10-19T21:21:49Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludovic.courtes@inria.fr</email>
</author>
<published>2017-10-17T08:34:03Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=37ce440dcffa9ff4f5401bacbc9619bd8ea561c1'/>
<id>urn:sha1:37ce440dcffa9ff4f5401bacbc9619bd8ea561c1</id>
<content type='text'>
Fixes &lt;https://bugs.gnu.org/28709&gt;.

* guix/build/download-nar.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/cvs-download.scm (cvs-fetch)[zlib, config.scm, modules]: New
variables.
[build]: Use MODULES.  Add call to 'download-nar'.
* guix/git-download.scm (git-fetch): Likewise.
* guix/hg-download.scm (hg-fetch): Likewise.
</content>
</entry>
<entry>
<title>git-download: Remove call to 'canonicalize-path'.</title>
<updated>2017-07-30T15:22:13Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2017-07-30T15:19:42Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=228a3982df157847554abc9d0831d687264d8ebd'/>
<id>urn:sha1:228a3982df157847554abc9d0831d687264d8ebd</id>
<content type='text'>
* guix/git-download.scm (git-predicate): Remove call to
'canonicalize-path' since this could lead to discrepancies.  For
instance it broke 'make update-guix-package' since it passes a
non-canonical directory name.
</content>
</entry>
</feed>
