Alex Kost <alez...@gmail.com> skribis: > As I wrote at > <http://lists.gnu.org/archive/html/guix-devel/2014-08/msg00165.html>, I > see the only way to achieve that: > > - to modify emacs package recipes so that they will provide some files > with all required initial configuration (and to name such file > "…-autoloads.el", for example);
‘FOO-autoloads.el’ is the most common convention, right? > - to modify “guix-init.el” so that (require 'guix-init) will load those > autoloads files; > > - to write some elisp code for auto-loading "…-autoloads.el" on the fly > — i.e., to make it possible to install an Emacs package using > "guix.el" and to use "M-x <package-command>" immediately. Yep, that sounds good. > So if it's acceptable, what about modifying the current recipes > step-by-step. With geiser it's easy: as "geiser-install.el" provides > all required setup (including autoloads for "M-x …" commands), > "geiser-autoloads.el" may just be a symlink to "geiser-install.el". I'm > attaching the patch for that. Yes. > + (arguments > + '(#:phases (alist-cons-after > + 'install 'post-install > + (lambda* (#:key outputs #:allow-other-keys) > + (symlink "geiser-install.el" > + (string-append (assoc-ref outputs "out") > + "/share/emacs/site-lisp/" > + "geiser-autoloads.el"))) > + %standard-phases))) This particular instance won’t work because it’s called from $top_builddir. Actually, since it’s going to be used in most packages, what about adding an ‘install-autoloads’ procedure in (guix build emacs-utils)? So the above would become (alist-cons-after 'install 'post-install (lambda* (#:key outputs #:allow-other-keys) (install-autoloads (assoc-ref outputs "out"))) %standard-phases) Or better yet, (guix build emacs-utils) could provide %standard-emacs-phases. WDYT? Thanks, Ludo’.