diff options
Diffstat (limited to 'emacsen-common/install')
-rwxr-xr-x | emacsen-common/install | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/emacsen-common/install b/emacsen-common/install new file mode 100755 index 0000000..2e11984 --- /dev/null +++ b/emacsen-common/install @@ -0,0 +1,56 @@ +#!/bin/sh +# /usr/lib/emacsen-common/packages/install/${PACKAGE} + +set -e + +ELPA_DIR=#ELPAPACKAGE#-#ELPAVERSION# + +FLAVOR=$1 +case $FLAVOR in + emacs) + exit 0 + ;; + emacs2[0123]*) + echo install/${ELPA_DIR}: Skipping obsolete emacs ${FLAVOR} + exit 0 + ;; + xemacs*) + echo install/${ELPA_DIR}: Skipping unsupported emacs ${FLAVOR} + exit 0 + ;; + *) + echo install/${ELPA_DIR}: Handling install of emacsen flavor ${FLAVOR} +esac + +src_dir=/usr/share/emacs/site-lisp/elpa-src +el_dir=$src_dir/${ELPA_DIR}/ +elc_dir=/usr/share/${FLAVOR}/site-lisp/elpa/${ELPA_DIR}/ + +export EMACSLOADPATH +EMACSLOADPATH="/usr/share/emacs/site-lisp:" + +echo install/${ELPA_DIR}: byte-compiling for ${FLAVOR} + +[ -d ${elc_dir} ] || mkdir -p ${elc_dir} + +# Create symlinks to the .el files (see section 6E in debian-emacs +# polcy). This makes complation easy, and also allows find-function +# and find-library to work properly. Also link all other top level +# files and directories into the flavor directory +(cd ${elc_dir} && ln -sf ${el_dir}/* .) + +# Byte compile them +(cd ${elc_dir} + set +e + ${FLAVOR} -q -batch -l package \ + --eval "(add-to-list 'package-directory-list \"$src_dir\")" \ + -f package-initialize -f batch-byte-compile *.el > Install.log 2>&1 + if test $? -ne 0 + then + cat Install.log + exit 1 + fi + set -e + gzip -9f Install.log) + +exit 0; |