diff options
author | adisbladis <adisbladis@gmail.com> | 2021-11-29 16:21:52 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-29 16:21:52 -0800 |
commit | b14dde0fd9b906dbab9f770a44d4a3c2a6d76c0f (patch) | |
tree | 7530cd0532c136a465362efe6e11cd09076d0a62 /pkgs/build-support | |
parent | 4db84ed126a16e226c5f1a3f13c7bee92fa0a3a4 (diff) | |
parent | 3247e757416496ef6a19fb53ffdc4c92c969f39a (diff) |
Merge pull request #141186 from rycee/emacs-wrapper-static-subdirs
emacs: resolve wrapper load-path at build time
Diffstat (limited to 'pkgs/build-support')
-rw-r--r-- | pkgs/build-support/emacs/mk-wrapper-subdirs.el | 6 | ||||
-rw-r--r-- | pkgs/build-support/emacs/wrapper.nix | 9 |
2 files changed, 13 insertions, 2 deletions
diff --git a/pkgs/build-support/emacs/mk-wrapper-subdirs.el b/pkgs/build-support/emacs/mk-wrapper-subdirs.el new file mode 100644 index 0000000000000..7d30400a5c65f --- /dev/null +++ b/pkgs/build-support/emacs/mk-wrapper-subdirs.el @@ -0,0 +1,6 @@ +(defmacro mk-subdirs-expr (path) + `(setq load-path + (delete-dups (append '(,path) + ',(let ((default-directory path)) + (normal-top-level-add-subdirs-to-load-path)) + load-path)))) diff --git a/pkgs/build-support/emacs/wrapper.nix b/pkgs/build-support/emacs/wrapper.nix index ccbd58485ea8b..2aa61d6d2f62f 100644 --- a/pkgs/build-support/emacs/wrapper.nix +++ b/pkgs/build-support/emacs/wrapper.nix @@ -165,8 +165,13 @@ runCommand (add-to-list 'native-comp-eln-load-path "$out/share/emacs/native-lisp/") ''} EOF - # Link subdirs.el from the emacs distribution - ln -s $emacs/share/emacs/site-lisp/subdirs.el -T $subdirs + + # Generate a subdirs.el that statically adds all subdirectories to load-path. + $emacs/bin/emacs \ + --batch \ + --load ${./mk-wrapper-subdirs.el} \ + --eval "(prin1 (macroexpand-1 '(mk-subdirs-expr \"$out/share/emacs/site-lisp\")))" \ + > "$subdirs" # Byte-compiling improves start-up time only slightly, but costs nothing. $emacs/bin/emacs --batch -f batch-byte-compile "$siteStart" "$subdirs" |