summaryrefslogtreecommitdiff
path: root/helper/install
diff options
context:
space:
mode:
Diffstat (limited to 'helper/install')
-rw-r--r--helper/install64
1 files changed, 64 insertions, 0 deletions
diff --git a/helper/install b/helper/install
new file mode 100644
index 0000000..622cbc7
--- /dev/null
+++ b/helper/install
@@ -0,0 +1,64 @@
+#!/bin/sh
+# invoke as /usr/lib/dh-elpa/helper/install flavor elpa_package elpa_version elpa_load_path
+
+set -e
+
+# safe values for important variables
+
+unset HOME
+PATH=/usr/sbin:/usr/bin:/sbin:/bin
+
+# grab parameters
+
+FLAVOR=$1
+ELPA_PACKAGE=$2
+ELPA_VERSION=$3
+ELPA_LOADPATH=$4
+
+ELPA_DIR=${ELPA_PACKAGE}-${ELPA_VERSION}
+
+case $FLAVOR in
+ emacs2[01234]*)
+ 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=${ELPA_LOAD_PATH}
+
+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
+# policy). 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} --quick --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;