mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-22 04:17:44 +00:00
Add tetex-modesw script and several new directories.
Approved by: linimon (mentor)
This commit is contained in:
parent
ad16e21811
commit
425a597bb1
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=111727
@ -5,7 +5,7 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= tex-texmflocal
|
||||
PORTVERSION= 1.3
|
||||
PORTVERSION= 1.4
|
||||
CATEGORIES= print
|
||||
MASTER_SITES= # empty
|
||||
DISTFILES= # empty
|
||||
@ -13,47 +13,87 @@ DISTFILES= # empty
|
||||
MAINTAINER= hrs@FreeBSD.org
|
||||
COMMENT= Meta-port that creates a site-local $$TEXMF directory
|
||||
|
||||
BUILD_DEPENDS= mktexlsr:${PORTSDIR}/print/teTeX
|
||||
|
||||
NO_WRKSUBDIR= yes
|
||||
NO_BUILD= yes
|
||||
PKGINSTALL= ${WRKDIR}/pkg-install.sh
|
||||
PKGDEINSTALL= ${WRKDIR}/pkg-install.sh
|
||||
PLIST= ${WRKDIR}/pkg-plist
|
||||
|
||||
TEXMF= share/texmf
|
||||
TEXMFLOCAL= share/texmf-local
|
||||
TEXMFLOCAL_LSR= ${LOCALBASE}/${TEXMFLOCAL}/ls-R
|
||||
TEXMFVAR= share/texmf-var
|
||||
TEXMFVAR_LSR= ${LOCALBASE}/${TEXMFVAR}/ls-R
|
||||
MKTEXLSR= ${LOCALBASE}/bin/mktexlsr
|
||||
|
||||
DEFAULT_MODE= tetex
|
||||
TEXMFCNF= web2c/texmf.cnf
|
||||
DVIPSKCNF= dvips/config/config.ps
|
||||
XDVIKCNF= xdvi/XDvi
|
||||
DVIPDFMCNF= dvipdfm/config/config
|
||||
|
||||
TETEX_MODESW_SUB= \
|
||||
DEFAULT_MODE=${DEFAULT_MODE} \
|
||||
TEXMFCNF=${TEXMFCNF} \
|
||||
DVIPSKCNF=${DVIPSKCNF} \
|
||||
XDVIKCNF=${XDVIKCNF} \
|
||||
DVIPDFMCNF=${DVIPDFMCNF} \
|
||||
PREFIX=${PREFIX} \
|
||||
TEXMF=${TEXMF} \
|
||||
TEXMFVAR=${TEXMFVAR} \
|
||||
TEXMFLOCAL=${TEXMFLOCAL}
|
||||
|
||||
DIRS= bibtex/bib bibtex/bst bibtex\
|
||||
dvipdfm dvips \
|
||||
context/config context \
|
||||
dvipdfm/config dvipdfm dvips/config dvips \
|
||||
etex/plain/config etex/plain etex \
|
||||
fonts/afm fonts/ofm fonts/ovp fonts/ovf \
|
||||
fonts/ocp fonts/pk fonts/tfm fonts/type1 \
|
||||
fonts/source/public fonts/source fonts/vf fonts \
|
||||
metafont metapost \
|
||||
jbibtex/bib jbibtex/bst jbibtex\
|
||||
tex/generic tex/jadetex tex/latex tex/plain tex\
|
||||
pdftex/latex pdftex/platex pdftex\
|
||||
tex/generic/config tex/generic \
|
||||
tex/jadetex tex/latex tex/plain tex\
|
||||
pdftex/config pdftex/latex pdftex/platex pdftex\
|
||||
ptex/plain ptex/platex ptex\
|
||||
web2c
|
||||
web2c xdvi
|
||||
|
||||
LSRMAGIC=${ECHO_CMD} "% ls-R -- filename database for kpathsea; do not change this line."
|
||||
|
||||
pre-install:
|
||||
(${ECHO_CMD} '${TEXMFLOCAL}/ls-R'; \
|
||||
${SED} ${TETEX_MODESW_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
|
||||
< ${FILESDIR}/tetex-modesw.in > ${WRKDIR}/tetex-modesw
|
||||
(${ECHO_CMD} "bin/tetex-modesw"; \
|
||||
for dir in ${DIRS}; do \
|
||||
${ECHO_CMD} "@dirrm ${TEXMFLOCAL}/$${dir}"; \
|
||||
${ECHO_CMD} "@unexec ${RMDIR} %D/${TEXMFLOCAL}/$${dir} > /dev/null 2>&1 || true"; \
|
||||
${ECHO_CMD} "@unexec ${RMDIR} %D/${TEXMFVAR}/$${dir} > /dev/null 2>&1 || true"; \
|
||||
${ECHO_CMD} "@exec ${MKDIR} %D/${TEXMFLOCAL}/$${dir}"; \
|
||||
${ECHO_CMD} "@exec ${MKDIR} %D/${TEXMFVAR}/$${dir}"; \
|
||||
done; \
|
||||
${ECHO_CMD} '@exec ${MKTEXLSR}'; \
|
||||
${ECHO_CMD} '@unexec ${MKTEXLSR}' ) > ${PLIST}
|
||||
${SED} -e 's,%%TEXMFLOCAL_LSR%%,${TEXMFLOCAL_LSR},' \
|
||||
< ${FILESDIR}/pkg-install.in > ${PKGINSTALL}
|
||||
${CHMOD} 0555 ${PKGINSTALL}
|
||||
${ECHO_CMD} '@exec ${LSRMAGIC:S,%,%%,g} > ${TEXMFLOCAL_LSR} && ${CHMOD} 0644 ${TEXMFLOCAL_LSR}'; \
|
||||
${ECHO_CMD} '@exec ${LSRMAGIC:S,%,%%,g} > ${TEXMFVAR_LSR} && ${CHMOD} 0644 ${TEXMFVAR_LSR}'; \
|
||||
${ECHO_CMD} '@exec ${TOUCH} ${PREFIX}/etc/tetex-modesw.conf'; \
|
||||
${ECHO_CMD} '@unexec ${RM} -f ${PREFIX}/etc/tetex-modesw.conf > /dev/null 2>&1 || true'; \
|
||||
${ECHO_CMD} '@unexec ${RM} -f ${TEXMFLOCAL_LSR} > /dev/null 2>&1 || true'; \
|
||||
${ECHO_CMD} '@unexec ${RM} -f ${TEXMFVAR_LSR} > /dev/null 2>&1 || true'; \
|
||||
${ECHO_CMD} "@unexec ${RMDIR} %D/${TEXMFLOCAL} > /dev/null 2>&1 || true"; \
|
||||
${ECHO_CMD} "@unexec ${RMDIR} %D/${TEXMFVAR} > /dev/null 2>&1 || true"; \
|
||||
${ECHO_CMD} '@exec if [ -x ${MKTEXLSR} ]; then ${MKTEXLSR}; fi'; \
|
||||
${ECHO_CMD} '@unexec if [ -x ${MKTEXLSR} ]; then ${MKTEXLSR}; fi'; \
|
||||
) > ${PLIST}
|
||||
|
||||
do-install:
|
||||
${INSTALL_SCRIPT} ${WRKDIR}/tetex-modesw ${PREFIX}/bin
|
||||
${TOUCH} ${PREFIX}/etc/tetex-modesw.conf
|
||||
${CHMOD} 644 ${PREFIX}/etc/tetex-modesw.conf
|
||||
${MKDIR} ${DIRS:S,^,${PREFIX}/${TEXMFLOCAL}/,}
|
||||
${MKDIR} ${DIRS:S,^,${PREFIX}/${TEXMFVAR}/,}
|
||||
${LSRMAGIC} > ${TEXMFLOCAL_LSR}
|
||||
${CHMOD} 0644 ${TEXMFLOCAL_LSR}
|
||||
${LSRMAGIC} > ${TEXMFVAR_LSR}
|
||||
${CHMOD} 0644 ${TEXMFVAR_LSR}
|
||||
|
||||
post-install:
|
||||
@${MKTEXLSR}
|
||||
@${PKGINSTALL} ${PKGNAME} POST-INSTALL
|
||||
@if [ -x ${MKTEXLSR} ]; then ${MKTEXLSR}; fi
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
@ -1,11 +0,0 @@
|
||||
# $FreeBSD$
|
||||
|
||||
case $2 in
|
||||
POST-INSTALL|DEINSTALL)
|
||||
echo "fixup %%TEXMFLOCAL_LSR%%..."
|
||||
T=/tmp/tex-texmflocal.$$
|
||||
cat %%TEXMFLOCAL_LSR%% | grep -v "./lsR[0-9]*.tmp": > ${T}
|
||||
cp ${T} %%TEXMFLOCAL_LSR%%
|
||||
rm -f ${T}
|
||||
;;
|
||||
esac
|
142
print/tex-texmflocal/files/tetex-modesw.in
Normal file
142
print/tex-texmflocal/files/tetex-modesw.in
Normal file
@ -0,0 +1,142 @@
|
||||
#!/bin/sh
|
||||
# $FreeBSD$
|
||||
|
||||
if [ $# != 0 ]; then MODE=$1; shift; fi
|
||||
if [ $# != 0 ]; then FILE=$1; shift; fi
|
||||
if [ $# != 0 ]; then OPTIONS=$*; fi
|
||||
|
||||
GREP=/usr/bin/grep
|
||||
SED=/usr/bin/sed
|
||||
|
||||
CONF=%%PREFIX%%/etc/tetex-modesw.conf
|
||||
|
||||
DEFAULT_MODE=tetex
|
||||
|
||||
PREFIX=%%PREFIX%%
|
||||
TEXMF=%%TEXMF%%
|
||||
TEXMFLOCAL=%%TEXMFLOCAL%%
|
||||
TEXMFVAR=%%TEXMFVAR%%
|
||||
|
||||
if [ ! -r ${CONF} ]; then
|
||||
echo "ERROR: ${CONF} not found."
|
||||
else
|
||||
. ${CONF}
|
||||
fi
|
||||
|
||||
case ${FILE} in
|
||||
texmf.cnf|tex)
|
||||
CONFIG=%%TEXMFCNF%%
|
||||
DEFAULT_MODE=tetex
|
||||
;;
|
||||
config.ps|dvips)
|
||||
CONFIG=%%DVIPSKCNF%%
|
||||
;;
|
||||
XDvi|xdvi)
|
||||
CONFIG=%%XDVIKCNF%%
|
||||
;;
|
||||
config|dvipdfm)
|
||||
CONFIG=%%DVIPDFMCNF%%
|
||||
;;
|
||||
*)
|
||||
CONFIG=${FILE}
|
||||
;;
|
||||
esac
|
||||
|
||||
FORCEINSTALL=FALSE
|
||||
DESTMF=${TEXMFVAR}
|
||||
|
||||
set -- ${OPTIONS}
|
||||
while [ $# != 0 ]; do
|
||||
case $1 in
|
||||
force*)
|
||||
FORCEINSTALL=TRUE ;;
|
||||
main)
|
||||
DESTMF=${TEXMF} ;;
|
||||
var)
|
||||
DESTMF=${TEXMFVAR} ;;
|
||||
local)
|
||||
DESTMF=${TEXMFLOCAL} ;;
|
||||
esac
|
||||
|
||||
shift;
|
||||
done
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "Usage: tetex-modesw modename {tex|dvips|dvipdfm|xdvi} [{forceinstall|var|main|local} ...]"
|
||||
exit 1
|
||||
}
|
||||
|
||||
install_file()
|
||||
{
|
||||
_MODE=$1
|
||||
_SRC=$2
|
||||
_DST=$3
|
||||
|
||||
if [ ! -f ${_SRC} ]; then
|
||||
echo "ERROR: invalid mode \"${_MODE}\" is specified."
|
||||
usage
|
||||
fi
|
||||
if [ -f ${_DST} -a "${FORCEINSTALL}" != "TRUE" ]; then
|
||||
echo "WARNING: ${_DST} is not modified because it already exists."
|
||||
echo " If you want to install ${_SRC} -> ${_DST},"
|
||||
echo " use \"forceinstall\" option."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -f ${_DST} ] && cmp -s ${_SRC} ${_DST}; then
|
||||
:
|
||||
else
|
||||
echo "Installing: ${_SRC} -> ${_DST}"
|
||||
cp -p ${_SRC} ${_DST}
|
||||
fi
|
||||
}
|
||||
|
||||
uninstall_file()
|
||||
{
|
||||
for _F in $1; do
|
||||
if [ -f ${_F} ]; then
|
||||
echo "Uninstalling: ${_F}"
|
||||
rm -f ${_F}
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
changedefault()
|
||||
{
|
||||
_MODE=$1
|
||||
|
||||
case ${_MODE} in
|
||||
tetex|tetex-letter)
|
||||
echo "Default mode -> ${_MODE}"
|
||||
echo "DEFAULT_MODE=${_MODE}" >> ${CONF}
|
||||
;;
|
||||
*)
|
||||
echo "ERROR: Unknown mode ${_MODE} is specified."
|
||||
usage
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
case ${MODE} in
|
||||
default)
|
||||
MODE=${DEFAULT_MODE}
|
||||
install_file \
|
||||
"${MODE}" \
|
||||
"${PREFIX}/${TEXMF}/${CONFIG}.${MODE}" \
|
||||
"${PREFIX}/${DESTMF}/${CONFIG}"
|
||||
;;
|
||||
uninstall)
|
||||
uninstall_file ${PREFIX}/${DESTMF}/${CONFIG}
|
||||
;;
|
||||
changedefault)
|
||||
changedefault ${CONFIG}
|
||||
;;
|
||||
*)
|
||||
install_file \
|
||||
"${MODE}" \
|
||||
"${PREFIX}/${TEXMF}/${CONFIG}.${MODE}" \
|
||||
"${PREFIX}/${DESTMF}/${CONFIG}"
|
||||
;;
|
||||
esac
|
Loading…
Reference in New Issue
Block a user