<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix.git/gnu/installer.scm, branch wip-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=wip-deploy</id>
<link rel='self' href='https://git.jakob.space/guix.git/atom?h=wip-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>installer: Increase backtrace verbosity.</title>
<updated>2019-05-15T07:28:45Z</updated>
<author>
<name>Mathieu Othacehe</name>
<email>m.othacehe@gmail.com</email>
</author>
<published>2019-05-14T12:05:36Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=3114786e3ed1cadf993d9ae87baa2a0a96a2c36c'/>
<id>urn:sha1:3114786e3ed1cadf993d9ae87baa2a0a96a2c36c</id>
<content type='text'>
* gnu/installer.scm (installer-program): Set terminal-width to 200 to
make guile backtraces more verbose.
</content>
</entry>
<entry>
<title>installer: Add btrfs-progs to PATH.</title>
<updated>2019-05-14T16:01:10Z</updated>
<author>
<name>Danny Milosavljevic</name>
<email>dannym@scratchpost.org</email>
</author>
<published>2019-05-14T15:31:09Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=813e06ac671a5cdeb1ef573459b0de6514c6562c'/>
<id>urn:sha1:813e06ac671a5cdeb1ef573459b0de6514c6562c</id>
<content type='text'>
* gnu/installer.scm (installer-program): Add btrfs-progs to PATH.
</content>
</entry>
<entry>
<title>installer: Use 'glibc-supported-locales'.</title>
<updated>2019-05-13T21:46:08Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-05-13T21:30:51Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=76269f6bc4200ef79aa80a8a6160ae269c2a36c9'/>
<id>urn:sha1:76269f6bc4200ef79aa80a8a6160ae269c2a36c9</id>
<content type='text'>
The list of locales supported by glibc is now built from source.

* gnu/installer/locale.scm (locale-string-&gt;locale): Add optional
'codeset' parameter and honor it.
(supported-locales-&gt;locales): Rewrite to 'read' from SUPPORTED-LOCALES.
* gnu/installer.scm (compute-locale-step): Pass the result of
'glibc-supported-locales' instead of the "aux-files/SUPPORTED" file.
* gnu/installer/aux-files/SUPPORTED: Remove.
* gnu/local.mk (dist_installer_DATA): Remove it.
</content>
</entry>
<entry>
<title>installer: Actually reboot when the user presses "Reboot."</title>
<updated>2019-04-26T12:19:36Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-04-26T12:08:39Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=98f035482fcb32683429a474f4071bd530c3c1b8'/>
<id>urn:sha1:98f035482fcb32683429a474f4071bd530c3c1b8</id>
<content type='text'>
* gnu/installer/newt/final.scm (run-install-success-page): Return
'success.
* gnu/installer.scm (installer-program): Check the result of the 'final
step and reboot upon success.
</content>
</entry>
<entry>
<title>installer: Run wrapped program with 'execl', not 'system'.</title>
<updated>2019-04-26T12:19:36Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-04-26T10:07:31Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=6c849cdb988d403fec11ace82704535723de9e66'/>
<id>urn:sha1:6c849cdb988d403fec11ace82704535723de9e66</id>
<content type='text'>
'system' invokes /bin/sh, which is certainly not needed here.

* gnu/installer.scm (installer-program): Use 'execl', not 'system'.
</content>
</entry>
<entry>
<title>installer: Translate keyboard layout names.</title>
<updated>2019-04-17T13:11:21Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-04-17T13:11:21Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=feaa83a377966b6cec982f0bbaba1ea15c28d52e'/>
<id>urn:sha1:feaa83a377966b6cec982f0bbaba1ea15c28d52e</id>
<content type='text'>
* gnu/installer.scm (installer-program)[installer-builder]: Call
'bindtextdomain' for "xkeyboard-config".
* gnu/installer/newt/keymap.scm (run-keymap-page): Add calls to
'gettext'.
</content>
</entry>
<entry>
<title>installer: Display language and territory names natively.</title>
<updated>2019-04-17T09:53:54Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-04-17T09:07:21Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=7837a57241775fed221c9e03700af73263e222ed'/>
<id>urn:sha1:7837a57241775fed221c9e03700af73263e222ed</id>
<content type='text'>
* gnu/installer.scm (installer-program): Add calls to 'bindtextdomain'.
* gnu/installer/newt/locale.scm (run-locale-page) &lt;language, territory&gt;:
Add calls to 'gettext'.
</content>
</entry>
<entry>
<title>installer: Choosing a locale opens the translated manual on tty2.</title>
<updated>2019-04-12T15:56:23Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-04-12T15:13:26Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=c7dc604253631588c659c1022256af98ec9262af'/>
<id>urn:sha1:c7dc604253631588c659c1022256af98ec9262af</id>
<content type='text'>
Suggested by Florian Pelz.

* gnu/system/install.scm (%installation-node-names): New variable.
(log-to-info): Expect the chosen locale as an argument.  Compute the
language, Info file name, and node name.  Install the locale.
(documentation-shepherd-service): Add 'locale' parameter to the 'start'
action and honor it.  Set GUIX_LOCPATH and TERM as environment variables
for the process.
* gnu/installer.scm (apply-locale): Use (gnu services herd).  Call
'stop-service' and 'start-service' with the chosen locale.
</content>
</entry>
<entry>
<title>installer: Generalize desktop environments to system services.</title>
<updated>2019-04-07T15:18:04Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-04-07T15:15:06Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=75988317b22efee2b2719e7d559fa9ff01a9db9a'/>
<id>urn:sha1:75988317b22efee2b2719e7d559fa9ff01a9db9a</id>
<content type='text'>
* gnu/installer/services.scm (&lt;desktop-environment&gt;): Rename to...
(&lt;system-service&gt;): ... this.  Add a 'type' field.
(%desktop-environments): Rename to...
(%system-services): ... this.
(desktop-system-service?): New procedure.
(desktop-environments-&gt;configuration): Rename to...
(system-services-&gt;configuration): ... this.  Determine the base list of
services based on whether SERVICES contains at least one "desktop"
service.
* gnu/installer/newt/services.scm (run-desktop-environments-cbt-page):
Adjust accordingly.
* gnu/installer.scm (installer-steps): Likewise.
</content>
</entry>
</feed>
