88 lines
2.3 KiB
Plaintext
88 lines
2.3 KiB
Plaintext
|
|
UNDERSCORED_FLAVOR=$(echo $FLAVOR | sed 's/-/_/g')
|
|
eval included_here=\$$(echo INCLUDED_$UNDERSCORED_FLAVOR)
|
|
eval excluded_here=\$$(echo EXCLUDED_$UNDERSCORED_FLAVOR)
|
|
|
|
included_all=$(for i in ${!INCLUDED_*} ; do
|
|
eval echo \$$i
|
|
done | sort -u)
|
|
|
|
excluded_all=$(for i in ${!EXCLUDED_*} ; do
|
|
eval echo \$$i
|
|
done | sort -u)
|
|
|
|
if [ ${FLAVOR} = emacs ]; then exit 0; fi
|
|
|
|
# Install-info-altdir does not actually exist.
|
|
# Maybe somebody will write it.
|
|
if test -x /usr/sbin/install-info-altdir; then
|
|
echo install/${PACKAGE}: install Info links for ${FLAVOR}
|
|
install-info-altdir --quiet --section "" "" --dirname=${FLAVOR} /usr/info/${PACKAGE}.info.gz
|
|
fi
|
|
|
|
LOG=`tempfile -pelc_ -s.log -m644`
|
|
ELDIR=/usr/share/emacs/site-lisp/${PACKAGE}
|
|
ELCDIR=/usr/share/${FLAVOR}/site-lisp/${PACKAGE}
|
|
if test -e "${ELCDIR}/${STAMPFILE}"; then
|
|
echo "${PACKAGE} files already compiled in ${ELCDIR}."
|
|
exit
|
|
fi
|
|
echo install/${PACKAGE}: Handling ${FLAVOR}, logged in ${LOG}
|
|
|
|
if [ -z "$FLAGS" ] ; then
|
|
FLAGS="-q -no-site-file --no-site-file -batch -l path.el -f batch-byte-compile"
|
|
fi
|
|
|
|
install -m 755 -d ${ELCDIR}
|
|
cd ${ELDIR}
|
|
|
|
# Now to compute the list of files to install...
|
|
|
|
FILES=$(ls -1 *.el)
|
|
# Here we have all of them
|
|
|
|
PATTERN=""
|
|
for i in $included_all $excluded_all ; do
|
|
[ ! -z "$PATTERN" ] && PATTERN="${PATTERN}\|"
|
|
PATTERN="${PATTERN}^$i\$"
|
|
done
|
|
FILES2=$FILES
|
|
if [ ! -z "$PATTERN" ] ; then
|
|
FILES=$(for i in $FILES2 ; do echo $i | grep -v $PATTERN || true ; done)
|
|
fi
|
|
# Here we only have those not explicitly included or excluded by any flavour
|
|
|
|
FILES="$FILES $included_here"
|
|
# Here we also have those included for the current flavour
|
|
|
|
for i in $excluded_all ; do
|
|
include_i="yes"
|
|
for j in $excluded_here ; do
|
|
[ $i = $j ] && include_i="no"
|
|
done
|
|
[ $include_i = "yes" ] && FILES="$FILES $i"
|
|
done
|
|
# And now we have those excluded by other flavours but not the current one
|
|
|
|
FILES=$(for i in $FILES ; do echo $i ; done | sort -u)
|
|
# And now for my last trick... The list is now uniquified!
|
|
|
|
cp ${FILES} ${ELCDIR}
|
|
cd ${ELCDIR}
|
|
|
|
cat << EOF > path.el
|
|
(setq load-path (cons "." load-path) byte-compile-warnings nil)
|
|
EOF
|
|
if test "${APPEND_LOAD_PATH}" != ""
|
|
then
|
|
cat << EOF >> path.el
|
|
(setq load-path (append ${APPEND_LOAD_PATH} load-path))
|
|
EOF
|
|
fi
|
|
|
|
echo ${FLAVOR} ${FLAGS} ${FILES} >> ${LOG}
|
|
${FLAVOR} ${FLAGS} ${FILES} >> ${LOG} &> ${LOG}
|
|
rm -f *.el path.el
|
|
|
|
exit 0
|