@@ -297,6 +297,42 @@ Current list of the known tools:
297297* `elisp-lint`
298298* `undercover`
299299
300+ [#disabling-dependencies]
301+ === Disabling dependency management
302+
303+ CAUTION: This operation mode is *not recommended*. It exists only to
304+ support special usecases that “insist” on setting Emacs’ `load-path`
305+ directly and cannot be customized (with reasonable effort).
306+
307+ {since-1-9} Eldev has limited support for operating _without
308+ dependency management_. This mode can be activated using global
309+ option `--disable-dependencies` (there is no short version to
310+ emphasize that _it is not recommended_). It exists to support certain
311+ environments that themselves provide a suitable value for Emacs
312+ variable `load-path` via environment variable `EMACSLOADPATH`. An
313+ example of such an environment is {uri-guix}[GUIX] package building.
314+
315+ Unlike in <<preinstalled-dependencies,preinstalled-dependency mode>>
316+ described earlier, here Eldev doesn’t work with dependencies (and
317+ <<development-tool-sources,tools>>) as standard Emacs packages at all.
318+ Instead, everything is expected to be loadable using `require` form
319+ without any further setup. For this, variable `load-path` must be set
320+ appropriately, most likely using `EMACSLOADPATH` (though you could, in
321+ principle, set its value in e.g. `Eldev-local`).
322+
323+ One consequence of this mode is that Emacs package system won’t
324+ consider dependency packages installed at all, see
325+ `package-installed-p`. <<autoloads,Autoloads>> are not supported in
326+ this mode (neither for dependencies nor for the project itself), so
327+ you must explicitly require all features before using them. There
328+ might be other, unexpected, limitations as well, as this mode is not
329+ thoroughly tested.
330+
331+ Unless you need to build packages for GUIX or have some comparable
332+ environment that computes `load-path` on its own and doesn’t let Eldev
333+ manage dependencies normally by accessing standard package archives,
334+ you shouldn’t use this mode.
335+
300336[#global-cache]
301337=== Global package archive cache
302338
0 commit comments