#! /bin/sh -e
#  /usr/lib/emacsen-common/packages/install/foo
# [ This particular script hasn't been tested, so be careful. ]

set -e

VERSION=10.2+20000308cvs-4
FLAVOR=$1
PACKAGE="apel"

if [ "X${FLAVOR}" = "X" ]; then
    echo Need argument to determin FLAVOR of emacs;
    exit 1
fi

if [ "X${PACKAGE}" = "X" ]; then
    echo Internal error: need package name;
    exit 1;
fi

ELDIR=/usr/share/emacs/site-lisp/${PACKAGE}
ELCDIR=/usr/share/${FLAVOR}/site-lisp/${PACKAGE}

STARTDIR=/etc/${FLAVOR}/site-start.d
STARTFILE="${PACKAGE}-init.el";

SITELISP=/usr/share/${FLAVOR}/site-lisp

EFLAGS="-batch -q -l APEL-MK"
COMPILE="-batch -q -f batch-byte-compile"
STAMP=${ELCDIR}/compile-stamp

case "${FLAVOR}" in
	emacs)
	;;
	*)

	echo -n "install/${PACKAGE}: Byte-compiling for ${FLAVOR} ..."

	if [ -e ${STAMP} ]; then
		if [ "${VERSION}" = "`cat ${STAMP}`" ]; then
		echo " exited. (already compiled)" 
		# echo "${PACKAGE}: ${VERSION} have been compiled already."
		exit
		else
		rm -f ${STAMP}
		fi
	fi

	rm -rf ${ELCDIR}
    install -m 755 -d ${ELCDIR}

    # Copy the temp .el files (and Makefile or so)
    cp ${ELDIR}/* ${ELCDIR}/

    # Byte compile them
    (cd ${ELCDIR}
     make EMACS=${FLAVOR} LISPDIR=${SITELISP} FLAGS="${EFLAGS}" elc > CompilationLog 2>&1
	 ${FLAVOR} ${COMPILE} ${STARTFILE} >> CompilationLog 2>&1

	rm -f APEL-* EMU-* Makefile *.sh
	)
	gzip -9 ${ELCDIR}/CompilationLog
	echo ${VERSION} > ${STAMP}

	if [ ! -d ${STARTDIR} ]; then
		install -m 755 -d ${STARTDIR}
	fi

	if [ -e  ${ELCDIR}/${STARTFILE}c ]; then
		mv ${ELCDIR}/${STARTFILE}c ${STARTDIR}/51${STARTFILE}c;
	else
		ln -f -s ${ELDIR}/${STARTFILE} ${STARTDIR}/51${STARTFILE};
	fi
	echo " done."
	;;
esac

exit 0;
