<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix.git/guix/channels.scm, branch merge-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=merge-deploy</id>
<link rel='self' href='https://www.git.jakob.space/guix.git/atom?h=merge-deploy'/>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/'/>
<updated>2019-07-19T09:53:47Z</updated>
<entry>
<title>channels: Always provide a &lt;channel-metadata&gt; record.</title>
<updated>2019-07-19T09:53:47Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-07-16T22:41:10Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=ce5d9ec875156f3de7479e861731edf48c984c16'/>
<id>urn:sha1:ce5d9ec875156f3de7479e861731edf48c984c16</id>
<content type='text'>
This simplifies the code since one no longer needs to think about
whether '.guix-channel' was present.

* guix/channels.scm (read-channel-metadata): Always pass a string as the
first argument to 'channel-metadata'.
(read-channel-metadata-from-source): Always return a &lt;channel-metadata&gt;
record.
(channel-instance-dependencies): Remove now unneeded 'match'.
(standard-module-derivation): Assume DIRECTORY is never #f and contains
a leading slash.
* tests/channels.scm (channel-metadata-directory)
(channel-metadata-dependencies): New procedures.
("channel-instance-metadata returns #f if .guix-channel does not
exist"): Remove.
("channel-instance-metadata returns default if .guix-channel does not
exist"): New test.
(make-instance): Use 'write' instead of 'display' when creating
'.guix-channel'.
(instance--no-deps): Remove dependencies.
(instance--sub-directory): New variable.
("channel-instance-metadata and default dependencies")
("channel-instance-metadata and directory"): New tests.
("latest-channel-instances excludes duplicate channel dependencies"):
Expect 'channel-commit' to return a string and adjust accordingly.
</content>
</entry>
<entry>
<title>channels: Remove unneeded 'version' field of &lt;channel-metadata&gt;.</title>
<updated>2019-07-19T09:53:47Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-07-16T22:24:56Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=5d9daa85b0b8b7145d53768e673fd26ff31b0666'/>
<id>urn:sha1:5d9daa85b0b8b7145d53768e673fd26ff31b0666</id>
<content type='text'>
The idea is that 'read-channel-metadata' will take care of converting
possibly older versions to the current data type.  Thus, storing the
version number is unnecessary.

* guix/channels.scm (&lt;channel-metadata&gt;)[version]: Remove.
(read-channel-metadata, channel-instance-dependencies): Adjust
accordingly.
</content>
</entry>
<entry>
<title>channels: Strictly check the version of '.guix-channel'.</title>
<updated>2019-07-19T09:53:47Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-07-16T22:04:41Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=45b903323e0fecb7947926d2c14103d47fea624a'/>
<id>urn:sha1:45b903323e0fecb7947926d2c14103d47fea624a</id>
<content type='text'>
Until now the 'version' field in '.guix-channel' could be omitted, or it
could be any value.

* guix/channels.scm (read-channel-metadata): Rename to...
(channel-instance-metadata): ... this.
(channel-instance-dependencies): Adjust accordingly.
(read-channel-metadata): New procedure.  Use 'match'
to require a 'version' field.  Provide proper error handling when the
channel sexp is malformed or when given an unsupported version number.
(read-channel-metadata-from-source): Use 'catch' and
'system-error-errno' instead of 'file-exists?'.
* tests/channels.scm (instance--unsupported-version): New variable.
(read-channel-metadata): Rename to...
(channel-instance-metadata): ... this.  Rename tests accordingly.
("channel-instance-metadata rejects unsupported version"): New test.
</content>
</entry>
<entry>
<title>channels: Avoid use of 'derivation-input-path'.</title>
<updated>2019-07-15T08:01:05Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-07-10T16:51:56Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=9af75a26308475f5fc9cf1c13bb0374b5a3345a6'/>
<id>urn:sha1:9af75a26308475f5fc9cf1c13bb0374b5a3345a6</id>
<content type='text'>
* guix/channels.scm (old-style-guix?): Use 'derivation-name' rather than
'derivation-input-path'.
</content>
</entry>
<entry>
<title>channels: Add optional directory to channel metadata.</title>
<updated>2019-07-13T22:58:09Z</updated>
<author>
<name>Jan Nieuwenhuizen</name>
<email>janneke@gnu.org</email>
</author>
<published>2019-07-13T14:31:50Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=53f21642729e4786141c072dd835b04cb85dfe28'/>
<id>urn:sha1:53f21642729e4786141c072dd835b04cb85dfe28</id>
<content type='text'>
* guix/channels.scm (&lt;channel-metadata&gt;): Add directory slot.  Update users.
(read-channel-metadata-from-source): New function.
(standard-module-derivation): Use it.
* doc/guix.texi (Package Modules in a Subdirectory): New subsection.
</content>
</entry>
<entry>
<title>channels: Key cached channel derivations by system.</title>
<updated>2019-07-08T11:05:55Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-07-08T08:53:41Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=cdf689471a7f360efc798eb6e4dcdc4297d64043'/>
<id>urn:sha1:cdf689471a7f360efc798eb6e4dcdc4297d64043</id>
<content type='text'>
Previously, the channel instance to derivation mapping would be
independent of the system.  Thus, building the same channel instance for
several different systems would always return the derivation that was
first computed.

This is a followup to c3ab921eed2a471022e9863a94ea521508782e53.

* guix/channels.scm (channel-instance-derivations)[instance-&gt;derivation]:
Pass the current system as a third argument to 'mcached'.
</content>
</entry>
<entry>
<title>channels: Simplify 'channel-instances-&gt;manifest'.</title>
<updated>2019-07-06T14:17:24Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-07-06T13:54:45Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=d9e6217f4e978777d1e6f7b82a1e096740cc419a'/>
<id>urn:sha1:d9e6217f4e978777d1e6f7b82a1e096740cc419a</id>
<content type='text'>
* guix/channels.scm (channel-instances-&gt;manifest)[instance-&gt;entry]:
Change to take two arguments instead of a tuple.  Turn into a
non-monadic procedure.
Call it via 'map' instead of 'mapm'.
</content>
</entry>
<entry>
<title>deprecation: Use the 'warning' procedure for diagnostics.</title>
<updated>2019-06-03T21:18:47Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-06-03T21:00:42Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=69962ab7a8e07af77a2eb466be39615d139d5cf0'/>
<id>urn:sha1:69962ab7a8e07af77a2eb466be39615d139d5cf0</id>
<content type='text'>
Until now, (guix deprecation) had its own warning mechanism, which was
inconsistent (it did not use colors, etc.)

* guix/deprecation.scm (deprecation-warning-port): Remove
(source-properties-&gt;location-string): Remove.
(warn-about-deprecation): Use 'warning' instead of 'format'.
(define-deprecated, define-deprecated/alias): Adjust docstring.
* guix/channels.scm (build-from-source): Refer to 'guix-warning-port'
instead of 'deprecation-warning-port'.
</content>
</entry>
<entry>
<title>pull: '--url', '--commit', and '--branch' apply to the 'guix' channel.</title>
<updated>2019-04-17T11:56:40Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-04-17T11:56:40Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=72f749dcb83dbda9f98e28fa3622cc1d3db6275a'/>
<id>urn:sha1:72f749dcb83dbda9f98e28fa3622cc1d3db6275a</id>
<content type='text'>
Suggested by pkill9 &lt;pkill9@runbox.com&gt;.

* guix/scripts/pull.scm (channel-list): Apply REF and URL to the 'guix'
channel.
* doc/guix.texi (Invoking guix pull): Adjust accordingly.
</content>
</entry>
<entry>
<title>channels: Do not fail when the inferior lacks 'guix repl'.</title>
<updated>2019-03-08T11:31:38Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-03-08T11:25:25Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=4035fcba93aaf551f4b5698045f025aa61287e17'/>
<id>urn:sha1:4035fcba93aaf551f4b5698045f025aa61287e17</id>
<content type='text'>
Fixes &lt;https://bugs.gnu.org/34637&gt;.
Reported by Martin Flack &lt;martin.flack@gmail.com&gt;.

Previously we'd fail to build the package cache for old versions of Guix
that lack 'guix repl'.  Now we simply ignore the issue and keep going
without a cache.

* guix/inferior.scm (gexp-&gt;derivation-in-inferior): Add
 #:silent-failure? and honor it.
[drop-extra-keyword]: New procedure.
Use it.
* guix/channels.scm (package-cache-file): Pass #:silent-failure? #t.
</content>
</entry>
</feed>
