73 lines
1.9 KiB
Bash
Executable File
73 lines
1.9 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# emacsen install script for the Debian GNU/Linux
|
|
# dictionaries-common package
|
|
#
|
|
# Written by Rafael Laboissiere <rafael@debian.org> and
|
|
# Agustin Martin <agmartin@debian.org>
|
|
#
|
|
# Some things taken from Dirk Eddelbuettel script for the octave package.
|
|
# lpath.el trick is stolen from Davide Salvetti's auctex package
|
|
# --------------------------------------------------------------
|
|
|
|
set -e
|
|
|
|
# Canadian spelling ;-)
|
|
flavour=$1
|
|
|
|
package=dictionaries-common
|
|
files_base="debian-ispell.el"
|
|
files="$files_base ispell.el flyspell.el"
|
|
source=/usr/share/dictionaries-common/site-elisp
|
|
destination=/usr/share/${flavour}/site-lisp/${package}
|
|
|
|
case "$flavour" in
|
|
xemacs*)
|
|
flags="-no-site-file"
|
|
;;
|
|
emacs19|emacs20|emacs21|emacs22|emacs-snapshot*)
|
|
# Do not byte-compile anything for above emacsen flavours
|
|
echo "install/${package}: Skipping byte-compilation for $flavour"
|
|
exit 0
|
|
;;
|
|
emacs*)
|
|
flags="--no-site-file"
|
|
emacs_version=$($flavour -no-site-file --version | head -n 1 | sed 's/^.* Emacs //' )
|
|
if dpkg --compare-versions ${emacs_version} ge "24.5"; then
|
|
files=${files_base}
|
|
fi
|
|
;;
|
|
*)
|
|
echo install/${package}: Ignoring emacsen flavour [${flavour}]
|
|
exit 0
|
|
;;
|
|
esac
|
|
|
|
if [ -e "${destination}/done" ]; then
|
|
echo "install/${package}: Already byte-compiled for ${flavour}. Skipping ..."
|
|
else
|
|
echo install/${package}: Byte-compiling for emacsen flavour ${flavour}
|
|
|
|
# Make sure destination directory is available
|
|
install -m 0755 -d ${destination}
|
|
|
|
# Make sure current dir is in the load path
|
|
cat << EOF > ${destination}/path.el
|
|
(setq load-path (cons "." load-path) byte-compile-warnings nil)
|
|
EOF
|
|
|
|
flags="${flags} -q -batch -l path.el -f batch-byte-compile"
|
|
( # Go to the .elc dir, set sources symlinks, byte compile files and remove temp .el files from the .elc dir
|
|
cd ${destination}
|
|
touch .nosearch
|
|
for i in $files; do
|
|
ln -sf $source/$i
|
|
done
|
|
${flavour} ${flags} ${files}
|
|
rm path.el
|
|
touch done
|
|
)
|
|
fi
|
|
|
|
exit 0;
|