<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix.git/guix/scripts/import, branch wip-deploy</title>
<subtitle>Personal branch of https://git.savannah.gnu.org/cgit/guix.git/ for implementing 'guix deploy'.
</subtitle>
<id>https://www.git.jakob.space/guix.git/atom?h=wip-deploy</id>
<link rel='self' href='https://www.git.jakob.space/guix.git/atom?h=wip-deploy'/>
<link rel='alternate' type='text/html' href='https://www.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://www.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>import: opam: Add recursive option.</title>
<updated>2019-01-07T21:05:43Z</updated>
<author>
<name>Julien Lepiller</name>
<email>julien@lepiller.eu</email>
</author>
<published>2018-12-19T21:43:43Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=6090b0beb035e53449ea344506b76dcc2de8ca0d'/>
<id>urn:sha1:6090b0beb035e53449ea344506b76dcc2de8ca0d</id>
<content type='text'>
* guix/script/import/opam.scm: Add recursive option.
* guix/import/opam.scm (opam-&gt;guix-package): return two values.
(opam-recursive-import): New variable.
</content>
</entry>
<entry>
<title>import cran: Document "recursive" option.</title>
<updated>2018-10-17T11:06:25Z</updated>
<author>
<name>Pierre Neidhardt</name>
<email>mail@ambrevar.xyz</email>
</author>
<published>2018-10-17T11:06:25Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=c4d62443eb50a615d47b590a7fedcc7f7f0ec100'/>
<id>urn:sha1:c4d62443eb50a615d47b590a7fedcc7f7f0ec100</id>
<content type='text'>
* guix/scripts/import/cran.scm: (show-help): Document "recursive" option.
</content>
</entry>
<entry>
<title>import: pypi: Support recursive importing.</title>
<updated>2018-08-30T13:22:22Z</updated>
<author>
<name>Ricardo Wurmus</name>
<email>ricardo.wurmus@mdc-berlin.de</email>
</author>
<published>2018-08-30T13:12:07Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=ac906cb7bb2ec77821ddec291db4857cc812599d'/>
<id>urn:sha1:ac906cb7bb2ec77821ddec291db4857cc812599d</id>
<content type='text'>
* guix/import/pypi.scm (guess-requirements): Use upstream names.
(compute-inputs): Return the upstream dependency names as an additional value.
(make-pypi-sexp): Likewise.
(pypi-&gt;guix-package): Memoize it.
(pypi-recursive-import): New procedure.
* guix/scripts/import/pypi.scm (show-help, %options): Accept "recursive"
option.
(guix-import-pypi): Use pypi-recursive-import.
* doc/guix.texi (Invoking guix import): Document it.
</content>
</entry>
<entry>
<title>import: stackage: Support recursive importing.</title>
<updated>2018-08-30T13:22:06Z</updated>
<author>
<name>Ricardo Wurmus</name>
<email>ricardo.wurmus@mdc-berlin.de</email>
</author>
<published>2018-08-20T15:38:56Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=a3ece51a29241c7060323cbbfc602c83200ffe4a'/>
<id>urn:sha1:a3ece51a29241c7060323cbbfc602c83200ffe4a</id>
<content type='text'>
* guix/import/hackage.scm (hackage-name-&gt;package-name): Export procedure.
* guix/import/stackage.scm (lts-info-packages-lts-info): Fix match expression.
(stackage-recursive-import): New procedure.
(stackage-&gt;guix-package): Memoize results.
* guix/scripts/import/stackage.scm (show-help, %options,
guix-import-stackage): Support recursive importing.
* doc/guix.texi (Invoking guix import): Document option.
</content>
</entry>
<entry>
<title>import: hackage: Support recursive importing.</title>
<updated>2018-08-11T16:53:46Z</updated>
<author>
<name>Ricardo Wurmus</name>
<email>ricardo.wurmus@mdc-berlin.de</email>
</author>
<published>2018-08-08T13:29:18Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=a92859616201dbf0cec36d3c746125d645c88c79'/>
<id>urn:sha1:a92859616201dbf0cec36d3c746125d645c88c79</id>
<content type='text'>
* guix/import/hackage.scm (hackage-recursive-import): New procedure.
(hackage-module-&gt;sexp): Return dependencies alongside dependencies.
(hackage-&gt;guix-package): Memoize results.
* guix/scripts/import/hackage.scm (show-help, %options, guix-import-hackage):
Support recursive importing.
* doc/guix.texi (Invoking guix import): Document option.
</content>
</entry>
<entry>
<title>import: gem: Add recursive import.</title>
<updated>2018-07-11T04:08:54Z</updated>
<author>
<name>Oleg Pykhalov</name>
<email>go.wigust@gmail.com</email>
</author>
<published>2018-07-03T20:28:42Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=88388766f778d344699e7a8a0a4d970c403007e3'/>
<id>urn:sha1:88388766f778d344699e7a8a0a4d970c403007e3</id>
<content type='text'>
* doc/guix.texi (Invoking guix import): Document gem recursive import.
* guix/import/gem.scm (gem-&gt;guix-package): Return package and dependencies
values.
(gem-recursive-import): New procedure.
* guix/scripts/import/gem.scm (show-help, %options): Add recursive option.
(guix-import-gem): Use 'gem-recursive-import'.
* tests/gem.scm (test-json): Rename to 'test-foo-json'.
("gem-&gt;guix-package"): Use 'test-foo-json'.
(test-bar-json, test-bundler-json): New variables.
("gem-recursive-import"): New test.
</content>
</entry>
<entry>
<title>guix: Add opam importer.</title>
<updated>2018-07-10T08:11:01Z</updated>
<author>
<name>Julien Lepiller</name>
<email>julien@lepiller.eu</email>
</author>
<published>2018-06-06T17:14:39Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=b24443bff9f9f3f36353eea2ef35e6dc3745a417'/>
<id>urn:sha1:b24443bff9f9f3f36353eea2ef35e6dc3745a417</id>
<content type='text'>
* guix/scripts/import.scm (importers): Add opam.
* guix/scripts/import/opam.scm: New file.
* guix/import/opam.scm: New file.
* tests/opam.scm: New file.
* Makefile.am: Add them.
* doc/guix.texi (Invoking guix import): Document it.
</content>
</entry>
<entry>
<title>import: elpa: Add recursive import.</title>
<updated>2018-06-08T11:58:33Z</updated>
<author>
<name>Oleg Pykhalov</name>
<email>go.wigust@gmail.com</email>
</author>
<published>2018-06-08T10:49:29Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=74032da3a2ef3e99e89dd58701414004f5a6c061'/>
<id>urn:sha1:74032da3a2ef3e99e89dd58701414004f5a6c061</id>
<content type='text'>
* doc/guix.texi (Invoking guix import): Document elpa recursive import.
* guix/import/elpa.scm (elpa-package-&gt;sexp): Return package and
dependencies values.
(elpa-guix-name, elpa-recursive-import): New procedures.
* guix/scripts/import/elpa.scm (show-help, %options): Add recursive
option.
(guix-import-elpa): Use 'elpa-recursive-import'.
</content>
</entry>
<entry>
<title>import: utils: Add recursive-import.</title>
<updated>2018-06-08T11:58:33Z</updated>
<author>
<name>Oleg Pykhalov</name>
<email>go.wigust@gmail.com</email>
</author>
<published>2018-06-08T10:46:43Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=ae9e5d6602544390fa5da0a87450405ebba012fd'/>
<id>urn:sha1:ae9e5d6602544390fa5da0a87450405ebba012fd</id>
<content type='text'>
* guix/import/cran.scm (cran-guix-name, cran-recursive-import): New
procedures.
(recursive-import): Remove procedure.
* guix/import/utils.scm (guix-name, recursive-import): New procedures.
* guix/scripts/import/cran.scm (guix-import-cran): Use
'cran-recursive-import' procedure.
</content>
</entry>
</feed>
