<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix.git/gnu/packages.scm, 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-06-27T09:14:41Z</updated>
<entry>
<title>packages: 'specification-&gt;package+output' distinguishes "no output specified".</title>
<updated>2019-06-27T09:14:41Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-06-23T16:28:45Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=066eeae1a197b1926c7ffc42919d684686f56fdb'/>
<id>urn:sha1:066eeae1a197b1926c7ffc42919d684686f56fdb</id>
<content type='text'>
Until now the caller couldn't tell the different between a spec like
"foo:out" and one like "foo".  This change allows users to distinguish
between these two cases.

* gnu/packages.scm (specification-&gt;package+output): Disable output
membership test when OUTPUT = #f and SUB-DRV = #f.
* tests/packages.scm ("specification-&gt;package+output")
("specification-&gt;package+output invalid output")
("specification-&gt;package+output no default output")
("specification-&gt;package+output invalid output, no default"): New tests.
</content>
</entry>
<entry>
<title>packages: Reintroduce 'find-newest-available-packages'.</title>
<updated>2019-03-28T22:06:58Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-03-28T14:46:18Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=f2bf0407de70e7ae29518400d66ef968134f5169'/>
<id>urn:sha1:f2bf0407de70e7ae29518400d66ef968134f5169</id>
<content type='text'>
This is a followup to e2a903c807ccacec5925f197ce26f626060e1953.

* gnu/packages.scm (find-newest-available-packages): New procedure.
</content>
</entry>
<entry>
<title>packages: Add the channel .go files to the search path.</title>
<updated>2019-03-11T22:12:26Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-03-11T21:14:30Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=bfc9c339301ffe6dd15d156894dc27e05f6f081f'/>
<id>urn:sha1:bfc9c339301ffe6dd15d156894dc27e05f6f081f</id>
<content type='text'>
Until now %LOAD-COMPILED-PATH would wrongfully contain:

  CHANNEL/share/guile/site/X.Y

for each channel, thereby ignoring all the .go files of channels.  This
fixes it so that %LOAD-COMPILED-PATH instead contains:

  CHANNEL/lib/guile/X.Y/site-ccache

* guix/describe.scm (current-channel-entries): New procedure.
(package-path-entries): Change to return the %LOAD-COMPILED-PATH entries
as a second value.
* gnu/packages.scm (%package-module-path): Expect two values from
'package-path-entries' and augment %LOAD-COMPILED-PATH accordingly.
</content>
</entry>
<entry>
<title>packages: Remove duplicates from package cache.</title>
<updated>2019-02-16T00:00:08Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-02-15T21:58:29Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=36754eee28187b41e9a6ef15cd3c9911449a4e8d'/>
<id>urn:sha1:36754eee28187b41e9a6ef15cd3c9911449a4e8d</id>
<content type='text'>
Previously the same package could appear several times if several
variables were bound to it, as is notably the case for "python"
currently.  This, in turn, would lead to obnoxious "ambiguous package
specification" messages.

* gnu/packages.scm (generate-package-cache)[expand-cache]: Change RESULT
to RESULT+SEEN and adjust accordingly.
Call 'first' on the result of 'fold-module-public-variables*'.
* tests/packages.scm ("fold-available-packages with/without cache"):
Check for lack of duplicates in FROM-CACHE.
</content>
</entry>
<entry>
<title>guix package: '--list-available' can use data from the cache.</title>
<updated>2019-01-15T19:24:09Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-01-13T14:36:49Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=0ea939fb796fdd4f0d46d3534b2ec6135e0f3dc7'/>
<id>urn:sha1:0ea939fb796fdd4f0d46d3534b2ec6135e0f3dc7</id>
<content type='text'>
* gnu/packages.scm (fold-available-packages): New procedure.
* guix/scripts/package.scm (process-query): Use it instead of
'fold-packages'.
* tests/packages.scm ("fold-available-packages with/without cache"):
New test.
</content>
</entry>
<entry>
<title>edit: Use 'specification-&gt;location' to read information from the cache.</title>
<updated>2019-01-15T19:24:09Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-01-13T13:27:10Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=ee8099f5b688ce5f57790db4122f0b5b91a26216'/>
<id>urn:sha1:ee8099f5b688ce5f57790db4122f0b5b91a26216</id>
<content type='text'>
That way 'guix edit' doesn't need to load any package module.

* gnu/packages.scm (find-package-locations, specification-&gt;location):
New procedures.
* guix/scripts/edit.scm (package-&gt;location-specification): Rename to...
(location-&gt;location-specification): ... this.  Expect a location object
instead of a package.
(guix-edit): Use 'specification-&gt;location' instead of
'specification-&gt;package'.
* tests/packages.scm ("find-package-locations")
("find-package-locations with cache")
("specification-&gt;location"): New tests.
</content>
</entry>
<entry>
<title>channels: Compute a package cache and use it.</title>
<updated>2019-01-15T19:24:09Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-01-11T16:23:39Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=5fbdc9a5aa63fd51c65d30fe3d30608d01fe1bc8'/>
<id>urn:sha1:5fbdc9a5aa63fd51c65d30fe3d30608d01fe1bc8</id>
<content type='text'>
* gnu/packages.scm (cache-is-authoritative?, load-package-cache)
(cache-lookup, generate-package-cache): New procedures.
(%package-cache-file): New variable.
(find-packages-by-name): Rename to...
(find-packages-by-name/direct): ... this.
(find-packages-by-name): Rewrite to use the package cache when
'cache-is-authoritative?' returns true.
* tests/packages.scm ("find-packages-by-name + version, with cache")
("find-packages-by-name with cache"): New tests.
* guix/channels.scm (package-cache-file): New procedure.
(%channel-profile-hooks): New variable.
(channel-instances-&gt;derivation): Use it in #:hooks.
* guix/scripts/package.scm (build-and-use-profile): Add #:hooks and
honor it.
* guix/scripts/pull.scm (build-and-install): Pass #:hooks to
UPDATE-PROFILE.
</content>
</entry>
<entry>
<title>packages: Remove 'find-newest-available-packages'.</title>
<updated>2019-01-15T19:24:09Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-01-11T14:19:41Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=e2a903c807ccacec5925f197ce26f626060e1953'/>
<id>urn:sha1:e2a903c807ccacec5925f197ce26f626060e1953</id>
<content type='text'>
Since commit 9ffc1c00e55eb7931846dbb3fafcf54716fff57c,
'find-newest-available-packages' and 'find-packages-by-name' were both
building a vhash mapping package names to packages.  This factorizes
this bit, also reducing I/O, CPU, and memory usage.

* gnu/packages.scm (find-best-packages-by-name): Remove.
(find-best-packages-by-name): Use 'find-packages-by-name' instead of
'find-newest-available-packages'.
</content>
</entry>
<entry>
<title>Add (guix describe) and use it to initialize '%package-search-path'.</title>
<updated>2018-09-02T14:43:10Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-08-27T13:38:59Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=fe634eaf93ba40862acdf62d7f197c6f19f0651c'/>
<id>urn:sha1:fe634eaf93ba40862acdf62d7f197c6f19f0651c</id>
<content type='text'>
* guix/describe.scm: New file.
* Makefile.am (MODULES): Add it.
* gnu/packages.scm (%default-package-module-path): New variable.
(%package-module-path): Honor 'package-path-entries'.
* build-aux/update-NEWS.scm (main): Use %DEFAULT-PACKAGE-MODULE-PATH
instead of (last (%package-module-path)).
</content>
</entry>
<entry>
<title>packages: 'find-packages-by-name' properly honors version prefixes.</title>
<updated>2018-05-13T11:29:27Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-05-13T10:16:34Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=348987d3d12ebaf11fdbcc3dbd56585e7d69a1f5'/>
<id>urn:sha1:348987d3d12ebaf11fdbcc3dbd56585e7d69a1f5</id>
<content type='text'>
Fixes &lt;https://bugs.gnu.org/28446&gt;.
Reported by Mark H Weaver &lt;mhw@netris.org&gt;.

* gnu/packages.scm (find-packages-by-name): Use 'version-prefix?'
instead of 'string-prefix?'.
</content>
</entry>
</feed>
