summaryrefslogtreecommitdiff
path: root/emacsen-common
diff options
context:
space:
mode:
Diffstat (limited to 'emacsen-common')
-rw-r--r--emacsen-common/compat1
-rw-r--r--emacsen-common/install57
-rw-r--r--emacsen-common/remove38
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;