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

set -e

FLAVOR=$1
PACKAGE=flim
VERSION=1:1.14.3-9woody1

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}

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

FLAGS="-batch -no-site-file -q -l FLIM-MK.comp"
COMPILE="-batch -q -f batch-byte-compile"

STAMP=${ELCDIR}/compile-stamp

case "${FLAVOR}" in
	emacs|emacs19|mule2)
	;;
	*)

	if [ "${FLAVOR}" = "xemacs21" ];then 
	# recompile apel
	rm -rf ${SITELISP}/apel
	/usr/lib/emacsen-common/packages/install/apel ${FLAVOR}
	fi

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

	if [ "${FLAVOR}" = "emacs19" ]; then
		if [ ! -f /usr/share/emacs/site-lisp/custom-init.el ]; then
		echo -n " exited. "
		echo "W: Please install custom package for emacs19." ;
		exit 0;
		fi
	fi

	if [ "${FLAVOR}" = "mule2" ]; then
		if [ ! -f /usr/share/emacs/site-lisp/custom-mule-init.el ]; then
		echo -n " exited. "
		echo "W: Please install custom-mule package for mule2." ;
		exit 0;
		fi
	fi

	if [ -e ${STAMP} ]; then
		if [ "${VERSION}" = "`cat ${STAMP}`" ]; then
			echo " exited. (already compiled)" 
			exit
		fi
	fi

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

    # Byte compile them
    (cd ${ELDIR}
cat << EOF > FLIM-MK.comp
(setq load-path (cons (concat "/usr/share/${FLAVOR}/site-lisp/apel") load-path))
(setq load-path (cons (concat "/usr/share/${FLAVOR}/site-lisp/apel/emu") load-path))
EOF
    cat FLIM-MK >> FLIM-MK.comp
        make EMACS=${FLAVOR} FLAGS="${FLAGS}" LISPDIR=${SITELISP} install > ${ELCDIR}/CompilationLog 2>&1
	rm -f ${ELCDIR}/*.el
	rm -f FLIM-MK.comp
	)

	gzip -9 ${ELCDIR}/CompilationLog
	echo ${VERSION} > ${STAMP}

	echo " done."
	;;
esac

exit 0;
