<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix.git/guix/serialization.scm, branch master</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=master</id>
<link rel='self' href='https://git.jakob.space/guix.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/'/>
<updated>2019-01-21T22:09:55Z</updated>
<entry>
<title>store: Rename '&amp;nix-error' to '&amp;store-error'.</title>
<updated>2019-01-21T22:09:55Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-01-21T16:41:11Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=f9e8a12379c6fefc9e5c3c7fc3926599bbefc013'/>
<id>urn:sha1:f9e8a12379c6fefc9e5c3c7fc3926599bbefc013</id>
<content type='text'>
* guix/store.scm (&amp;nix-error): Rename to...
(&amp;store-error): ... this, and adjust users.
(&amp;nix-connection-error): Rename to...
(&amp;store-connection-error): ... this, and adjust users.
(&amp;nix-protocol-error): Rename to...
(&amp;store-protocol-error): ... this, adjust users.
(&amp;nix-error, &amp;nix-connection-error, &amp;nix-protocol-error): Define these
condition types and their getters as deprecrated aliases.
* build-aux/run-system-tests.scm, guix/derivations.scm,
guix/grafts.scm, guix/scripts/challenge.scm,
guix/scripts/graph.scm, guix/scripts/lint.scm,
guix/scripts/offload.scm, guix/serialization.scm,
guix/ssh.scm, guix/tests.scm, guix/ui.scm,
tests/derivations.scm, tests/gexp.scm, tests/guix-daemon.sh,
tests/packages.scm, tests/store.scm, doc/guix.texi: Adjust to use the
new names.
</content>
</entry>
<entry>
<title>serialization: 'restore-file' errors out upon non-convertible file names.</title>
<updated>2019-01-18T16:51:34Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-01-18T13:23:31Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=9fe3f11398e858f1d06120bd046cab506efc86dc'/>
<id>urn:sha1:9fe3f11398e858f1d06120bd046cab506efc86dc</id>
<content type='text'>
Fixes &lt;https://bugs.gnu.org/33603&gt;.
Reported by Maxim Cournoyer &lt;maxim.cournoyer@gmail.com&gt;.

* guix/serialization.scm (port-conversion-strategy): New variable.
(restore-file): Parameterize it.
* tests/nar.scm ("restore-file with non-UTF8 locale"): New test.
</content>
</entry>
<entry>
<title>serialization: Remove redundancy in 'write-file'.</title>
<updated>2018-09-23T21:34:16Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-09-23T20:11:35Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=c122a2e509df98c4391750a066fecba37465eab3'/>
<id>urn:sha1:c122a2e509df98c4391750a066fecba37465eab3</id>
<content type='text'>
* guix/serialization.scm (write-file): Remove redundant 'member' call.
</content>
</entry>
<entry>
<title>serialization: Add 'write-file-tree'.</title>
<updated>2018-07-19T09:48:04Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-07-14T17:28:07Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=b94b698d4ed4bc478c56e507d53e5284d4f63073'/>
<id>urn:sha1:b94b698d4ed4bc478c56e507d53e5284d4f63073</id>
<content type='text'>
* guix/serialization.scm (write-contents-from-port): New procedure.
(write-contents): Write in terms of 'write-contents-from-port'.
(filter/sort-directory-entries, write-file-tree): New procedures.
(write-file): Rewrite in terms of 'write-file-tree'.
* tests/nar.scm ("write-file-tree + restore-file"): New test.
</content>
</entry>
<entry>
<title>store: Fix potential over-reads in 'import-paths'.</title>
<updated>2018-01-10T23:00:02Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-01-10T20:38:08Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=39d1e9654c102339f3d99b0e52a49639182f972b'/>
<id>urn:sha1:39d1e9654c102339f3d99b0e52a49639182f972b</id>
<content type='text'>
Previously 'process-stderr' would always pass a bytevector of MAX-LEN to
then daemon in the %stderr-read case (i.e., 'import-paths'), instead of
LEN (where LEN &lt;= MAX-LEN).

In practice the extra bytes didn't cause a protocol violation or
anything because they happen at the end of the stream, which typically
contains the canonical sexp of the signature, and the extra zeros were
just ignored.

* guix/serialization.scm (write-bytevector): Add optional 'l' parameter
and honor it.
* guix/store.scm (process-stderr): Pass LEN to 'write-bytevector'.
</content>
</entry>
<entry>
<title>serialization: Remove Guile &lt; 2.0.9 workaround.</title>
<updated>2017-04-17T21:31:28Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2017-04-17T21:17:49Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=e16c823f802d09965acf50cad64ab278dc01c1b2'/>
<id>urn:sha1:e16c823f802d09965acf50cad64ab278dc01c1b2</id>
<content type='text'>
* guix/serialization.scm (write-contents): Assume 'sendfile' is always
defined.
</content>
</entry>
<entry>
<title>build: Require Guile &gt;= 2.0.9.</title>
<updated>2017-03-17T23:39:49Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2017-03-17T22:07:01Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=36626c556ed75219bce196ac93d148f6b9af984c'/>
<id>urn:sha1:36626c556ed75219bce196ac93d148f6b9af984c</id>
<content type='text'>
* configure.ac: Bump requirement to 2.0.9.
* doc/guix.texi (Requirements): Adjust accordingly.
* README (Requirements): Likewise.
* build-aux/download.scm: Remove workaround for &lt;http://bugs.gnu.org/13095&gt;.
* guix/build/download.scm: Likewise.
(http-fetch)[post-2.0.7?]: Remove.  Remove conditional code for not
POST-2.0.7?.
* guix/http-client.scm:  Remove workaround for &lt;http://bugs.gnu.org/13095&gt;.
(http-fetch)[post-2.0.7?]: Remove.  Remove conditional code for not
POST-2.0.7?.
* guix/serialization.scm (read-latin1-string): Remove mention of 2.0.9.
* tests/nar.scm: Use (ice-9 control).
(let/ec): Remove.
</content>
</entry>
<entry>
<title>store: Add 'add-data-to-store'.</title>
<updated>2017-01-30T09:52:45Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2017-01-29T11:55:24Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=0d268c5d701423b770b05ed208461c47709dafb7'/>
<id>urn:sha1:0d268c5d701423b770b05ed208461c47709dafb7</id>
<content type='text'>
* guix/serialization.scm (write-bytevector): New procedure.
(write-string): Rewrite in terms of 'write-bytevector'.
* guix/store.scm (write-arg): Add 'bytevector' case.
(add-data-to-store): New procedure, from former 'add-text-to-store'.
(add-text-to-store): Rewrite in terms of 'add-data-to-store'.
* tests/store.scm ("add-data-to-store"): New test.
</content>
</entry>
<entry>
<title>Use (ice-9 binary-ports) instead of (rnrs io ports).</title>
<updated>2016-10-19T13:54:10Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2016-10-19T12:28:56Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=2535635f182d6a2aca5689adb5551fdd7c7e2d0a'/>
<id>urn:sha1:2535635f182d6a2aca5689adb5551fdd7c7e2d0a</id>
<content type='text'>
This reduces the closure of (guix ui) from 123 to 106 modules.

* guix/derivations.scm: Use (ice-9 binary-ports) instead of (rnrs io
ports).
(map-derivation)[substitute-file]: Use 'read-string' instead of
'get-string-all'.
* guix/ftp-client.scm: Likewise.
* guix/hash.scm: Likewise.
* guix/http-client.scm: Likewise.
* guix/pki.scm (ensure-acl, current-acl): Likewise.
* guix/scripts/archive.scm (authorize-key)[read-key]: Likewise.
* guix/scripts/authenticate.scm (read-canonical-sexp)
(read-hash-data): Likewise.
* guix/scripts/download.scm: Likewise.
* guix/scripts/offload.scm (register-gc-root, remove-gc-roots)
(send-files): Likewise.
* guix/scripts/publish.scm (lazy-read-file-sexp): Likewise.
* guix/scripts/refresh.scm: Likewise.
* guix/scripts/substitute.scm (check-acl-initialized): Likewise.
* guix/serialization.scm (read-maybe-utf8-string): Likewise.
* guix/scripts/hash.scm (guix-hash): Use 'force-output' instead of
'flush-output-port'.
* guix/store.scm (process-stderr): Likewise.
* guix/tests.scm: Likewise.
* guix/utils.scm: Use (ice-9 binary-ports) and autoload (rnrs io ports)
for 'make-custom-binary-input-port'.
</content>
</entry>
<entry>
<title>serialization: Add #:select? parameter to 'write-file'.</title>
<updated>2016-06-12T21:55:22Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2016-06-12T21:22:54Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=fe585be9aa8f5158a7dfb6477d19ece3d643dec3'/>
<id>urn:sha1:fe585be9aa8f5158a7dfb6477d19ece3d643dec3</id>
<content type='text'>
* guix/serialization.scm (write-file): Add #:select? parameter and honor it.
* tests/nar.scm ("write-file #:select? + restore-file"): New test.
</content>
</entry>
</feed>
