Age | Commit message (Expand) | Author |
2019-07-20 | ui: 'warn-about-load-error' warns about file/module name mismatches....* guix/discovery.scm (scheme-modules): Rename the inner 'file' to
'relative'. Pass FILE as an addition argument to WARN.
* guix/ui.scm (warn-about-load-error): Add 'module' argument (actually,
what was called 'file' really contained a module name.) Call
'check-module-matches-file' in the catch-all error case.
(check-module-matches-file): New procedure.
* tests/guix-build.sh: Test it.
| Ludovic Courtès |
2019-07-08 | discovery: Handle edge case in scheme-files when looking at symlinks....Previously, this code would cause crashes in Guix (running guix package -s for
example) which could be experienced when Emacs creates temporary files in the
gnu/packages/patches directory when a patch file has been edited, but not
saved.
* guix/discovery.scm (scheme-files): Add else clause to cond used when
handling symlinks.
| Christopher Baines |
2019-05-26 | discovery: 'all-modules' returns modules in path order....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 <ludo@gnu.org>
| Robert Vollmert |
2019-01-15 | discovery: Add 'fold-module-public-variables*'....* guix/discovery.scm (fold-module-public-variables*): New procedure.
| Ludovic Courtès |
2018-09-02 | discovery: Add 'scheme-modules*'....* guix/self.scm (scheme-modules*): Move to...
* guix/discovery.scm (scheme-modules*): ... here. New procedure. Make
'sub-directory' an optional parameter.
| Ludovic Courtès |
2018-04-08 | discovery: Remove dependency on (guix ui)....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.
| Ludovic Courtès |
2018-04-08 | Add (guix self)....* 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'.
| Ludovic Courtès |
2017-10-22 | discovery: Move 'file-name->module-name' to (guix modules)....* guix/discovery.scm (file-name->module-name): Move to...
* guix/modules.scm (file-name->module-name): ... here.
* guix/build/compile.scm: Use (guix modules) instead of (guix discovery).
| Ludovic Courtès |
2017-10-22 | build: Factorize module compilation in (guix build compile)....* guix/build/compile.scm: New file.
* Makefile.am (MODULES): Add it.
* build-aux/compile-all.scm: Use it.
(warnings, file->module, load-module-file)
(%default-optimizations, %lightweight-optimizations)
(optimization-options, compile-file*): Remove.
<top level>: 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->module-name): Export.
| Ludovic Courtès |
2017-07-03 | discovery: Recurse into directories pointed to by a symlink....Reported by Christopher Baines <mail@cbaines.net>
and Alex Kost <alezost@gmail.com>
at <https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00290.html>.
* 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.
| Ludovic Courtès |
2017-06-18 | discovery: 'scheme-files' returns '() for a non-accessible directory....Fixes a regression introduced in
d27cc3bfaafe6b5b0831e88afb1c46311d382a0b.
Reported by Ricardo Wurmus <rekado@elephly.net>.
* 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.
| Ludovic Courtès |
2017-06-16 | discovery: Rewrite 'scheme-files' using 'scandir*'....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*'.
| Ludovic Courtès |
2017-05-03 | Add (guix discovery)....* guix/discovery.scm, tests/discovery.scm: New files.
* gnu/packages.scm (scheme-files, file-name->module-name)
(scheme-modules, all-package-modules): Remove.
(fold-packages): Rewrite in terms of 'fold-module-public-variables'.
* gnu/tests.scm: Use (guix discovery).
* Makefile.am (MODULES): Add guix/discovery.scm.
(SCM_TESTS): Add tests/discovery.scm.
| Ludovic Courtès |