emacs: fix setup-hook

This change fixes byte compilation of, e.g., Helm without breaking
builds using, e.g., `trivialBuild`.

See https://github.com/NixOS/nixpkgs/pull/82604#issuecomment-607201755
This commit is contained in:
Robert Helgesson 2020-04-02 00:23:46 +02:00
parent fa0bd3f902
commit bf486f784d
No known key found for this signature in database
GPG Key ID: 36BDAA14C2797E89

View File

@ -1,15 +1,23 @@
addToEmacsLoadPath() {
local lispDir="$1"
if [[ -d $lispDir && ${EMACSLOADPATH-} != *"$lispDir":* ]] ; then
# It turns out, that the trailing : is actually required
# see https://www.gnu.org/software/emacs/manual/html_node/elisp/Library-Search.html
export EMACSLOADPATH="$lispDir:${EMACSLOADPATH-}"
fi
}
addEmacsVars () {
addToEmacsLoadPath "$1/share/emacs/site-lisp"
# Add sub paths to the Emacs load path if it is a directory
# containing .el files. This is necessary to build some packages,
# e.g., using trivialBuild.
for lispDir in \
"$1/share/emacs/site-lisp" \
"$1/share/emacs/site-lisp/"* \
"$1/share/emacs/site-lisp/elpa/"*; do
# Add the path to the Emacs load path if it is a directory
# containing .el files and it has not already been added to the
# load path.
if [[ -d $lispDir && "$(echo "$lispDir"/*.el)" && ${EMACSLOADPATH-} != *"$lispDir":* ]] ; then
# It turns out, that the trailing : is actually required
# see https://www.gnu.org/software/emacs/manual/html_node/elisp/Library-Search.html
export EMACSLOADPATH="$lispDir:${EMACSLOADPATH-}"
if [[ -d $lispDir && "$(echo "$lispDir"/*.el)" ]] ; then
addToEmacsLoadPath "$lispDir"
fi
done
}