<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix.git/guix/discovery.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-05-26T21:02:02Z</updated>
<entry>
<title>discovery: 'all-modules' returns modules in path order.</title>
<updated>2019-05-26T21:02:02Z</updated>
<author>
<name>Robert Vollmert</name>
<email>rob@vllmrt.net</email>
</author>
<published>2019-05-25T06:40:38Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=002d17dcaacba0f86265b34f2509419d9e21224d'/>
<id>urn:sha1:002d17dcaacba0f86265b34f2509419d9e21224d</id>
<content type='text'>
A particular effect of this is that if there are ambiguous
packages in a directory specified with `-L module_dir` and the
distribution, the version from `module_dir` will be loaded,
which is usually what would be expected. (E.g. for `guix build`
or `guix package -i`.)

* guix/discovery.scm (all-modules): Return modules in path order.
* tests/guix-package.sh: Test local definitions take precedence.

Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</content>
</entry>
<entry>
<title>discovery: Add 'fold-module-public-variables*'.</title>
<updated>2019-01-15T19:24:09Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-01-12T21:26:01Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=1d90e9d7c906b1e9e94d1642bfd60c51609fd0df'/>
<id>urn:sha1:1d90e9d7c906b1e9e94d1642bfd60c51609fd0df</id>
<content type='text'>
* guix/discovery.scm (fold-module-public-variables*): New procedure.
</content>
</entry>
<entry>
<title>discovery: Add 'scheme-modules*'.</title>
<updated>2018-09-02T14:43:10Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-08-24T13:51:31Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=02fa1d251c9caeba39c7593e0b8ab52b60735b17'/>
<id>urn:sha1:02fa1d251c9caeba39c7593e0b8ab52b60735b17</id>
<content type='text'>
* guix/self.scm (scheme-modules*): Move to...
* guix/discovery.scm (scheme-modules*): ... here.  New procedure.  Make
'sub-directory' an optional parameter.
</content>
</entry>
<entry>
<title>discovery: Remove dependency on (guix ui).</title>
<updated>2018-04-08T15:48:33Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-03-26T21:42:59Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=3c0128b035ae00462f1b0a4427d9525d750e5575'/>
<id>urn:sha1:3c0128b035ae00462f1b0a4427d9525d750e5575</id>
<content type='text'>
This reduces the closure of (guix discovery) from 28 to 8 modules.

* guix/discovery.scm (scheme-files): Use 'format' instead of 'warning'.
(scheme-modules): Add #:warn parameter.  Use it instead of
'warn-about-load-error'.
(fold-modules): Add #:warn and pass it to 'scheme-modules'.
(all-modules): Likewise.
* gnu/bootloader.scm (bootloader-modules): Pass #:warn to 'all-modules'.
* gnu/packages.scm (fold-packages): Likewise.
* gnu/services.scm (all-service-modules): Likewise.
* guix/upstream.scm (importer-modules): Likewise.
</content>
</entry>
<entry>
<title>Add (guix self).</title>
<updated>2018-04-08T15:41:08Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-03-23T14:36:12Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=eaae07ec2878707744fed76029a28ab9a494fc2e'/>
<id>urn:sha1:eaae07ec2878707744fed76029a28ab9a494fc2e</id>
<content type='text'>
* guix/self.scm: New file.
* Makefile.am (MODULES): Add it.
* gnu/packages.scm (%distro-root-directory): Rewrite to try different
directories.
* guix/discovery.scm (guix): Export 'scheme-files'.
</content>
</entry>
<entry>
<title>discovery: Move 'file-name-&gt;module-name' to (guix modules).</title>
<updated>2017-10-23T05:09:00Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2017-10-13T20:16:46Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=7a51c78c6e0cd06dd31f3f28cd941fde15eb17d6'/>
<id>urn:sha1:7a51c78c6e0cd06dd31f3f28cd941fde15eb17d6</id>
<content type='text'>
* guix/discovery.scm (file-name-&gt;module-name): Move to...
* guix/modules.scm (file-name-&gt;module-name): ... here.
* guix/build/compile.scm: Use (guix modules) instead of (guix discovery).
</content>
</entry>
<entry>
<title>build: Factorize module compilation in (guix build compile).</title>
<updated>2017-10-23T05:09:00Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2017-10-13T16:07:41Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=2890ad332fcdfd4bc92b127d783975437c8b718b'/>
<id>urn:sha1:2890ad332fcdfd4bc92b127d783975437c8b718b</id>
<content type='text'>
* guix/build/compile.scm: New file.
* Makefile.am (MODULES): Add it.
* build-aux/compile-all.scm: Use it.
(warnings, file-&gt;module, load-module-file)
(%default-optimizations, %lightweight-optimizations)
(optimization-options, compile-file*): Remove.
&lt;top level&gt;: Use 'compile-files'.
* guix/build/pull.scm (%default-optimizations)
(%lightweight-optimizations, optimization-options): Remove.
(build-guix): Rewrite as a call to 'compile-files'.
* guix/discovery.scm (file-name-&gt;module-name): Export.
</content>
</entry>
<entry>
<title>discovery: Recurse into directories pointed to by a symlink.</title>
<updated>2017-07-03T21:51:23Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2017-07-03T21:35:56Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=960c6ce96d746cf19829ad26e092ec5dad2a5c62'/>
<id>urn:sha1:960c6ce96d746cf19829ad26e092ec5dad2a5c62</id>
<content type='text'>
Reported by Christopher Baines &lt;mail@cbaines.net&gt;
and Alex Kost &lt;alezost@gmail.com&gt;
at &lt;https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00290.html&gt;.

* guix/discovery.scm (scheme-files): When ENTRY is a symlink that
doesn't end in '.scm', call 'stat' and recurse if it points to a
directory.
* tests/discovery.scm ("scheme-modules recurses in symlinks to
directories"): New test.
</content>
</entry>
<entry>
<title>discovery: 'scheme-files' returns '() for a non-accessible directory.</title>
<updated>2017-06-17T22:14:07Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2017-06-17T22:02:56Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=d46c4423f46278bd2f96770ceb0667431414349e'/>
<id>urn:sha1:d46c4423f46278bd2f96770ceb0667431414349e</id>
<content type='text'>
Fixes a regression introduced in
d27cc3bfaafe6b5b0831e88afb1c46311d382a0b.

Reported by Ricardo Wurmus &lt;rekado@elephly.net&gt;.

* guix/discovery.scm (scheme-files): Catch 'scandir*' system errors.
Return '() and optionally raise a warning upon 'system-error'.
* tests/discovery.scm ("scheme-modules, non-existent directory"): New
test.
</content>
</entry>
<entry>
<title>discovery: Rewrite 'scheme-files' using 'scandir*'.</title>
<updated>2017-06-16T15:08:22Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludovic.courtes@inria.fr</email>
</author>
<published>2017-06-16T10:07:26Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=d27cc3bfaafe6b5b0831e88afb1c46311d382a0b'/>
<id>urn:sha1:d27cc3bfaafe6b5b0831e88afb1c46311d382a0b</id>
<content type='text'>
On a command like:

  guix environment --ad-hoc coreutils -- true

this reduces the number of 'stat' calls from 14.1K to 9.7K on my
setup (previously each getdents(2) call would be followed by one stat(2)
call per entry).

* guix/discovery.scm (scheme-files): Rewrite using 'scandir*'.
</content>
</entry>
</feed>
