diff options
author | Daniel Nagy <danielnagy@posteo.de> | 2022-04-19 12:10:22 +0200 |
---|---|---|
committer | Daniel Nagy <danielnagy@posteo.de> | 2022-04-19 21:12:45 +0200 |
commit | 0f316e5553561774a795f6ec69949ab70bd93a8f (patch) | |
tree | da0d474b09f6438209d6004bc4f79a3501c29d2b /pkgs/build-support/emacs | |
parent | 2511bad8aaf4d4de1f7a896683e92ed432eb8740 (diff) |
emacsWrapper: fix mishandling of empty package list
The native compiler of emacs does not handle empty files well. This arose in https://github.com/NixOS/nixpkgs/pull/168954 .
Diffstat (limited to 'pkgs/build-support/emacs')
-rw-r--r-- | pkgs/build-support/emacs/wrapper.nix | 7 | ||||
-rw-r--r-- | pkgs/build-support/emacs/wrapper.sh | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/pkgs/build-support/emacs/wrapper.nix b/pkgs/build-support/emacs/wrapper.nix index 207908fb606fb..2bf8eaf2d7ad2 100644 --- a/pkgs/build-support/emacs/wrapper.nix +++ b/pkgs/build-support/emacs/wrapper.nix @@ -144,6 +144,7 @@ runCommand find $pkg -name "*-autoloads.el" \ -exec echo \(load \"{}\" \'noerror \'nomessage\) \; >> $siteAutoloads done + echo "(provide 'nix-generated-autoload)" >> $siteAutoloads siteStart="$out/share/emacs/site-lisp/site-start.el" siteStartByteCompiled="$siteStart"c @@ -196,12 +197,18 @@ runCommand # Wrap emacs and friends so they find our site-start.el before the original. for prog in $emacs/bin/*; do # */ local progname=$(basename "$prog") + local autoloadExpression="" rm -f "$out/bin/$progname" + if [[ $progname == emacs ]]; then + # progs other than "emacs" do not understand the `-l` switches + autoloadExpression="-l cl-loaddefs -l nix-generated-autoload" + fi substitute ${./wrapper.sh} $out/bin/$progname \ --subst-var-by bash ${emacs.stdenv.shell} \ --subst-var-by wrapperSiteLisp "$deps/share/emacs/site-lisp" \ --subst-var-by wrapperSiteLispNative "$deps/share/emacs/native-lisp:" \ + --subst-var autoloadExpression \ --subst-var prog chmod +x $out/bin/$progname done diff --git a/pkgs/build-support/emacs/wrapper.sh b/pkgs/build-support/emacs/wrapper.sh index 6c5a5aee2a8f6..16da2a9f64954 100644 --- a/pkgs/build-support/emacs/wrapper.sh +++ b/pkgs/build-support/emacs/wrapper.sh @@ -44,4 +44,4 @@ export emacsWithPackages_siteLisp=@wrapperSiteLisp@ export EMACSNATIVELOADPATH="${newNativeLoadPath[*]}" export emacsWithPackages_siteLispNative=@wrapperSiteLispNative@ -exec @prog@ -l cl-loaddefs -l nix-generated-autoload "$@" +exec @prog@ @autoloadExpression@ "$@" |