#! /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="liece"


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

## Checking MULE supported XEmacs.
if [ ${FLAVOR} = "xemacs20" -o ${FLAVOR} = "xemacs21" ]; then
CHECKMULE=`${FLAVOR} -batch -vanilla -eval "(if (featurep 'mule)(message \"MULE\"))" 2>&1 `
  if [ "${CHECKMULE}" != "MULE" ]; then
		echo
		echo "install/${PACKAGE}: Ignoring ${FLAVOR}."
		echo "${PACKAGE} needs MULE supported XEmacs."
		exit
	fi
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

LISPDIR=${SITELISP}
VERSION_SPECIFIC_LISPDIR=${SITELISP}/apel

EMACS_AUTOLOAD_FLAGS="-f autoload-liece "
EMACS_COMPILE_FLAGS="-f compile-liece NONE ${ELCDIR} ${VERSION_SPECIFIC_LISPDIR}"

COMPILE="-q -batch -f batch-byte-compile"
CONTRIB_LISP="plum-support.el"

case "${FLAVOR}" in
	emacs)
	;;
	emacs19)
	echo "install/${PACKAGE}: Ignoring ${FLAVOR}."
	;;
	*)

	if [ -e /usr/lib/emacsen-common/packages/install/flim1.13 ]; then
		 if [ ! -d ${SITELISP}/flim ] ; then
		/usr/lib/emacsen-common/packages/install/flim1.13 ${FLAVOR}
		 fi
	fi

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

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

	if [ "$FLAVOR" = "xemacs20" ]; then
      ## Fix compile error with xemacs20 on unset LANG or LANG=C .
      export LANG=ja_JP
    fi

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

    # Copy the temp .el files
    cp ${ELDIR}/* ${ELCDIR}/

    # Byte compile them
    (cd ${ELCDIR}
        #### make EMACS=$FLAVOR LISPDIR=$SITELISP > compile.log 2>&1
		  ${FLAVOR} -batch -q -l ./liece-make.el \
			${EMACS_AUTOLOAD_FLAGS} > CompilationLog 2>&1
		${FLAVOR} -batch  -q -l ./liece-make.el \
			${EMACS_COMPILE_FLAGS} >> CompilationLog 2>&1
		${FLAVOR} ${COMPILE} ${STARTFILE} >> CompilationLog 2>&1
		${FLAVOR} ${COMPILE} ${CONTRIB_LISP} >> CompilationLog 2>&1
		mv liece-setup.el liece-setup.el_ 
		rm -f *.el Makefile*
		mv liece-setup.el_ liece-setup.el		
	)

	gzip -9 ${ELCDIR}/CompilationLog

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

exit 0;
