aboutsummaryrefslogtreecommitdiffstats
path: root/print/teTeX-base/files
diff options
context:
space:
mode:
authorhrs <hrs@FreeBSD.org>2006-06-30 02:46:38 +0800
committerhrs <hrs@FreeBSD.org>2006-06-30 02:46:38 +0800
commit1fb8eea09f96f6353a074cae524f26c645bc7b58 (patch)
tree4724374ab26a6990aec60e994753e8be157eec93 /print/teTeX-base/files
parentead1905ef9209c669ba9a5cdeed2f4a64613e567 (diff)
downloadfreebsd-ports-gnome-1fb8eea09f96f6353a074cae524f26c645bc7b58.tar.gz
freebsd-ports-gnome-1fb8eea09f96f6353a074cae524f26c645bc7b58.tar.zst
freebsd-ports-gnome-1fb8eea09f96f6353a074cae524f26c645bc7b58.zip
- Fix longstanding bugs in updmap(1) which prevent it from
working with map files for dvipdfm. - updmap(1) now supports --progname option. - Bump PORTREVISION.
Diffstat (limited to 'print/teTeX-base/files')
-rw-r--r--print/teTeX-base/files/patch-texk-tetex-updmap228
-rw-r--r--print/teTeX-base/files/pkg-message.in14
-rw-r--r--print/teTeX-base/files/updmap.wrapper.in39
3 files changed, 275 insertions, 6 deletions
diff --git a/print/teTeX-base/files/patch-texk-tetex-updmap b/print/teTeX-base/files/patch-texk-tetex-updmap
new file mode 100644
index 000000000000..20e82f59afe8
--- /dev/null
+++ b/print/teTeX-base/files/patch-texk-tetex-updmap
@@ -0,0 +1,228 @@
+--- texk/tetex/updmap.orig Thu Jun 29 14:46:31 2006
++++ texk/tetex/updmap Fri Jun 30 02:40:50 2006
+@@ -266,6 +266,7 @@
+ ###############################################################################
+ catMaps()
+ {
++ type=$1; shift
+ rm -f $catMapsFailed
+ egrep "$1" "$cnfFile" \
+ | sed 's@#.*@@' \
+@@ -275,14 +276,18 @@
+ | grep . > $tmp4
+
+ while read map; do
+- file=`locateMap "$map"` || { touch $catMapsFailed; break; }
+-
++ file=`locateMap ${type}_catmap "$map"` || \
++ { echo "NG" >> $catMapsFailed; break; }
++ set -- ${file}
++ posttype=$1
++ file=$2
++
+ # output the file; also output a newline, because the final newline
+ # might be missing in the map file; Empty lines are filtered out later,
+ # so it does not really hurt do do this here.
+- test -n "$file" && { cat "$file"; echo; }
++ test -n "$file" && { cat "$file" | $posttype; echo; }
+ done < $tmp4
+- if test -f $catMapsFailed; then
++ if test -s $catMapsFailed; then
+ false; return 1
+ else
+ true; return 0
+@@ -579,11 +584,15 @@
+ ###############################################################################
+ locateMap()
+ {
++ case $# in
++ 2) type=$1; shift ;;
++ *) type=map; ;;
++ esac
+
+ # Always use the "migration checking version". This might become
+ # consigurable, but for now, we always want to check.
+ if :; then
+- locateMapMigrate "$@"
++ locateMapMigrate $type "$@"
+ return $?
+ fi
+
+@@ -607,10 +616,38 @@
+ ###############################################################################
+ locateMapMigrate()
+ {
++ type=$1; shift
++
+ for map
+ do
+- # look up using the new search path
+- file=`kpsewhich --format=map "$map"`
++ posttype=cat
++ case $type in
++ dvipdfm)
++ prog=dvipdfm
++ file=`kpsewhich --progname=tmpdvipdfm --format="other text files" "$map"`
++ if ! [ -f "${file}" ]; then
++ file=`kpsewhich --progname=tmpdvips --format="other text files" "$map"`
++ fi
++ ;;
++ dvipdfm_catmap)
++ prog=dvipdfm
++ file=`kpsewhich --progname=tmpdvipdfm --format="other text files" "$map"`
++ if ! [ -f "${file}" ]; then
++ posttype=dvips2dvipdfm
++ file=`kpsewhich --progname=tmpdvips --format="other text files" "$map"`
++ fi
++ ;;
++ dvips*)
++ prog=dvips
++ file=`kpsewhich --progname=tmpdvips --format="other text files" "$map"`
++ if ! [ -f "${file}" ]; then
++ file=`kpsewhich --format=map "$map"`
++ fi
++ ;;
++ *)
++ prog=map
++ file=`kpsewhich --format=map "$map"` ;;
++ esac
+
+ # look up using the old search path
+ file2=`kpsewhich --format='dvips config' "$map"`
+@@ -621,8 +658,11 @@
+
+ if test -f "$file"; then
+
+- verboseMsg "$progname: using map file \`$file'"
+- echo "$file"
++ verboseMsg "$progname: using map file \`$file' (for $prog)"
++ case ${type} in
++ *_catmap) echo "$posttype $file" ;;
++ *) echo "$file" ;;
++ esac
+
+ # we have found the file where we should. If we have additional
+ # ones: complain!
+@@ -679,7 +719,7 @@
+ $3
+ Please, consider removing this file.
+ "
+- touch $mapWarnCalled
++ echo "NG" >> $mapWarnCalled
+ ;;
+ manualResolve)
+ warn "
+@@ -694,7 +734,7 @@
+ content of the used map file. Additionally, consider removing the
+ obsolete file.
+ "
+- touch $mapWarnCalled
++ echo "NG" >> $mapWarnCalled
+ ;;
+ badLocation)
+ map=$2
+@@ -761,7 +801,6 @@
+
+ trap 'cleanup' 1 2 3 7 13 15
+ needsCleanup=true
+- mkdir "$tmpdir" || abort "could not create directory \`$tmpdir'"
+ }
+
+ ###############################################################################
+@@ -1064,6 +1103,7 @@
+ ###############################################################################
+ dvips2dvipdfm()
+ {
++ normalizeLines | \
+ sed -e 's@$@ %@' \
+ -e 's@^\(\([^ ]*\).*\)@\1\2@' \
+ -e 's@\(.*<\[* *\([^ ]*\)\.enc\(.*\)\)@\1 \2@' \
+@@ -1150,13 +1190,14 @@
+ dvipdfm35=`locateMap dvipdfm35.map` || cleanup
+ ps2pk35=`locateMap ps2pk35.map` || cleanup
+
++ # for dvips maps
+ verboseMsg
+ verboseMsg "$progname: Scanning for MixedMap entries:"
+- catMaps '^MixedMap' > $tmp1 || cleanup
++ catMaps dvips '^MixedMap' > $tmp1 || cleanup
+
+ verboseMsg
+ verboseMsg "$progname: Scanning for Map entries:"
+- catMaps '^Map' > $tmp2 || cleanup
++ catMaps dvips '^Map' > $tmp2 || cleanup
+ verboseMsg
+
+ # files should be world-readable
+@@ -1205,9 +1246,26 @@
+ <$tmp3 normalizeLines >> "$pdftexoutputdir/pdftex_ndl14.map"
+ <$tmp7 normalizeLines >> "$pdftexoutputdir/pdftex_dl14.map"
+
++ # for dvipdfm maps
++ verboseMsg
++ verboseMsg "$progname: Scanning for dvipdfm MixedMap entries:"
++ catMaps dvipdfm '^MixedMap' > $tmp1 || cleanup
++
++ verboseMsg
++ verboseMsg "$progname: Scanning for dvipdfm Map entries:"
++ catMaps dvipdfm '^Map' > $tmp2 || cleanup
++ verboseMsg
++
++ { transLW35 "$dvipdfm35" | normalizeLines | \
++ dvips2dvipdfm; cat $tmp1 $tmp2; } \
++ | grep -v PaintType | grep . > $tmp6
++ { transLW35 "$ps2pk35" | normalizeLines | \
++ dvips2dvipdfm; cat $tmp1 $tmp2; } \
++ | grep -v PaintType | grep . > $tmp7
++
+ verboseMsg "$progname: Generating output for dvipdfm..."
+- <$tmp7 normalizeLines | dvips2dvipdfm | normalizeLines >> "$dvipdfmoutputdir/dvipdfm_dl14.map"
+- <$tmp6 normalizeLines | dvips2dvipdfm | normalizeLines >> "$dvipdfmoutputdir/dvipdfm_ndl14.map"
++ <$tmp7 normalizeLines >> "$dvipdfmoutputdir/dvipdfm_dl14.map"
++ <$tmp6 normalizeLines >> "$dvipdfmoutputdir/dvipdfm_ndl14.map"
+ verboseMsg "$progname: All output generated!"
+ verboseMsg
+
+@@ -1228,7 +1286,7 @@
+ | awk '{print $(NF-2), $(NF-1), $NF}' | verboseCat
+ verboseMsg
+
+- if test -f $mapWarnCalled; then
++ if test -s $mapWarnCalled; then
+ m="
+
+ !!! NOTICE:
+@@ -1281,18 +1339,22 @@
+ cnfFile=
+ dvipsoutputdir=; pdftexoutputdir=; dvipdfmoutputdir=
+ : ${TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`}
++ TMPDVIPDFMINPUTS=`kpsewhich -var-value TEXFONTMAPS`"//dvipdfm//"
++ TMPDVIPSINPUTS=`kpsewhich -var-value TEXFONTMAPS`"//dvips//"
++ export TMPDVIPDFMINPUTS
++ export TMPDVIPSINPUTS
+
+- tmpdir=${TMP-/tmp}/$progname.$$
+- tmp1=$tmpdir/a
+- tmp2=$tmpdir/b
+- tmp3=$tmpdir/c
+- tmp4=$tmpdir/d
+- tmp5=$tmpdir/e
+- tmp6=$tmpdir/f
+- tmp7=$tmpdir/g
+- tmp8=$tmpdir/h
+- mapWarnCalled=$tmpdir/mapWarnCalled
+- catMapsFailed=$tmpdir/catMapsFailed
++ tmpdir=`mktemp -d ${TMP-/tmp}/$progname.XXXXXXX`
++ tmp1=`mktemp $tmpdir/a.XXXXXX`
++ tmp2=`mktemp $tmpdir/b.XXXXXX`
++ tmp3=`mktemp $tmpdir/c.XXXXXX`
++ tmp4=`mktemp $tmpdir/d.XXXXXX`
++ tmp5=`mktemp $tmpdir/e.XXXXXX`
++ tmp6=`mktemp $tmpdir/f.XXXXXX`
++ tmp7=`mktemp $tmpdir/g.XXXXXX`
++ tmp8=`mktemp $tmpdir/h.XXXXXX`
++ mapWarnCalled=`mktemp $tmpdir/mapWarnCalled.XXXXXX`
++ catMapsFailed=`mktemp $tmpdir/catMapsFailed.XXXXXX`
+
+ processOptions ${1+"$@"}
+
diff --git a/print/teTeX-base/files/pkg-message.in b/print/teTeX-base/files/pkg-message.in
index 78a7d70bed41..fc773ea1ed9a 100644
--- a/print/teTeX-base/files/pkg-message.in
+++ b/print/teTeX-base/files/pkg-message.in
@@ -1,7 +1,9 @@
-You may want to run texconfig to configure teTeX for your
-local environment. You will find teTeX's local documentation
-in %%PREFIX%%/%%TEXMFDISTDIR%%/doc/.
+=== IMPORTANT NOTICE ===
-Note that if you have environment variables for teTeX in a wrong
-way (such as TEXINPUTS, TEXMF, TEXMFCNF, and so on),
-they may prevent teTeX from working.
+- You may want to run texconfig(1) to configure teTeX for your
+ local environment. You will find teTeX's local documentation
+ in %%PREFIX%%/%%TEXMFDISTDIR%%/doc/.
+
+- Note that if you have environment variables for teTeX in a wrong
+ way (such as TEXINPUTS, TEXMF, TEXMFCNF, and so on),
+ they may prevent teTeX from working.
diff --git a/print/teTeX-base/files/updmap.wrapper.in b/print/teTeX-base/files/updmap.wrapper.in
new file mode 100644
index 000000000000..36cd7503e523
--- /dev/null
+++ b/print/teTeX-base/files/updmap.wrapper.in
@@ -0,0 +1,39 @@
+#!/bin/sh
+# $FreeBSD$
+EXECBASE=${0##*/}
+EXECPREFIX=%%PREFIX%%/%%UPDMAPDIR%%/updmap
+EXECSUFFIX=dist
+OPTS=""
+
+case ${EXECBASE} in
+*-sys) v=`%%PREFIX%%/bin/kpsewhich -var-value TEXMFSYSVAR`
+ c=`%%PREFIX%%/bin/kpsewhich -var-value TEXMFSYSCONFIG`
+ TEXMFVAR="$v"; export TEXMFVAR
+ TEXMFCONFIG="$c"; export TEXMFCONFIG
+ ;;
+esac
+
+for F in "$@"; do
+ case $F in
+ --help) exec ${EXECPREFIX}.${EXECSUFFIX} --help ;;
+ --progname=*) EXECSUFFIX=${F#--progname=} ;;
+ --*) OPTS="${OPTS} ${F}" ;;
+ *) OPTS="${OPTS} \"${F}\"" ;;
+ esac
+done
+
+WEB2C='$TEXMF/web2c'; export WEB2C
+UPDMAP_DIST=${EXECPREFIX}.dist; export UPDMAP_DIST
+
+case ${EXECSUFFIX} in
+all)
+ for E in ${EXECPREFIX}.*
+ do
+ if [ -f "${E}" ]; then eval "${E} ${OPTS}"; fi
+ done
+ ;;
+*)
+ E=${EXECPREFIX}.${EXECSUFFIX}
+ if [ -f "${E}" ]; then eval "exec ${E} ${OPTS}"; fi
+ ;;
+esac