diff options
author | David Bremner <david@tethera.net> | 2015-07-16 18:22:03 +0200 |
---|---|---|
committer | David Bremner <david@tethera.net> | 2015-07-16 18:22:03 +0200 |
commit | a8059109f5651d6598133470c93a17e2c91a05d5 (patch) | |
tree | 9f781540b798432a24abf05246a6a8904abd45a1 /emacsen-common | |
parent | 39eb5f8b7a4b1dbd7752b88d6b366d44ea104ecd (diff) |
add templates for emacsen-common helper scripts
Diffstat (limited to 'emacsen-common')
-rw-r--r-- | emacsen-common/compat | 1 | ||||
-rw-r--r-- | emacsen-common/install | 57 | ||||
-rw-r--r-- | emacsen-common/remove | 38 |
3 files changed, 96 insertions, 0 deletions
diff --git a/emacsen-common/compat b/emacsen-common/compat new file mode 100644 index 0000000..0cfbf08 --- /dev/null +++ b/emacsen-common/compat @@ -0,0 +1 @@ +2 diff --git a/emacsen-common/install b/emacsen-common/install new file mode 100644 index 0000000..9d9fdd6 --- /dev/null +++ b/emacsen-common/install @@ -0,0 +1,57 @@ +#!/bin/sh +# /usr/lib/emacsen-common/packages/install/${PACKAGE} + +set -e + +PACKAGE=$(basename $0) +VERSION=$(dpkg-query -Wf '${Version}' $PACKAGE) +UPSTREAM_VERSION=${VERSION%-*} +ELPA_PACKAGE=${PACKAGE#elpa-}-${UPSTREAM_VERSION} + +FLAVOR=$1 +case $FLAVOR in + emacs) + exit 0 + ;; + emacs23*) + echo install/${ELPA_PACKAGE}: Skipping obsolete emacs ${FLAVOR} + exit 0 + ;; + xemacs*) + echo install/${ELPA_PACKAGE}: Skipping unsupported emacs ${FLAVOR} + exit 0 + ;; + *) + echo install/${ELPA_PACKAGE}: Handling install of emacsen flavor ${FLAVOR} +esac + +el_dir=/usr/share/emacs/site-lisp/elpa/${ELPA_PACKAGE}/ +elc_dir=/usr/share/${FLAVOR}/site-lisp/elpa/${ELPA_PACKAGE}/ + +export EMACSLOADPATH +EMACSLOADPATH="/usr/share/emacs/site-lisp:" + +byte_compile_options="-Q -batch -l package -f package-initialize -f batch-byte-compile" + +echo install/${ELPA_PACKAGE}: byte-compiling for ${FLAVOR} + +[ -d ${elc_dir} ] || mkdir ${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. +(cd ${elc_dir} && cp -sf ${el_dir}/*.el .) + +# Byte compile them +(cd ${elc_dir} + set +e + ${FLAVOR} ${byte_compile_options} *.el > Install.log 2>&1 + if test $? -ne 0 + then + cat Install.log + exit 1 + fi + set -e + gzip -9f Install.log) + +exit 0; diff --git a/emacsen-common/remove b/emacsen-common/remove new file mode 100644 index 0000000..8abaf36 --- /dev/null +++ b/emacsen-common/remove @@ -0,0 +1,38 @@ +#!/bin/sh +# /usr/lib/emacsen-common/packages/remove/foo +set -e + +PACKAGE=$DPKG_MAINTSCRIPT_PACKAGE +VERSION=$(dpkg-query -Wf '${Version}' $PACKAGE) +UPSTREAM_VERSION=${VERSION%-*} +ELPA_PACKAGE=${PACKAGE#elpa-}-${UPSTREAM_VERSION} + +FLAVOR=$1 +elc_dir=/usr/share/${FLAVOR}/site-lisp/elpa/${ELPA_PACKAGE} + +FLAVOR=$1 +case $FLAVOR in + emacs) + exit 0 + ;; + emacs23) + echo remove/${ELPA_PACKAGE}: Skipping obsolete emacs ${FLAVOUR} + exit 0 + ;; + xemacs*) + echo remove/${ELPA_PACKAGE}: Skipping unsupported emacs ${FLAVOUR} + ;; + *) + echo remove/${ELPA_PACKAGE}: Handling removal of emacsen flavor ${FLAVOR} +esac + +echo emacsen-common: purging byte-compiled files for ${FLAVOR} +rm -f ${elc_dir}/*.elc +rm -f ${elc_dir}/*.el +rm -f ${elc_dir}/Install.log* +if test -e "${elc_dir}" +then + rmdir --ignore-fail-on-non-empty "${elc_dir}" +fi + +exit 0; |