rpms/texlive/devel dvipsk-jpatch-pdvips.patch, NONE, 1.1 texlive-12a_fix_thumbpdf_invocation.patch, NONE, 1.1 texlive-12b_fix_a2ping_invocation.patch, NONE, 1.1 texlive-12c_fix_pdfcrop_invocation.patch, NONE, 1.1 texlive-12d_fix_ebong_invocation.patch, NONE, 1.1 texlive-12e_fix_vpe_invocation.patch, NONE, 1.1 texlive-2007-badscript.patch, NONE, 1.1 texlive-2007-browser.patch, NONE, 1.1 texlive-2007-copyright-utf8-man.patch, NONE, 1.1 texlive-2007-dvipdfm-security.patch, NONE, 1.1 texlive-2007-epstopdf-shellbang.patch, NONE, 1.1 texlive-2007-jp-platex209.patch, NONE, 1.1 texlive-2007-kpse-extensions.patch, NONE, 1.1 texlive-2007-kuesterei-man.patch, NONE, 1.1 texlive-2007-makej.patch, NONE, 1.1 texlive-2007-pdvips.patch, NONE, 1.1 texlive-2007-ptex-3.1.10.patch, NONE, 1.1 texlive-2007-pxdvi.patch, NONE, 1.1 texlive-2007-tkdep.patch, NONE, 1.1 texlive-2007-tmpcleanup.patch, NONE, 1.1 texlive-2007-xdvi-keepflag.patch, NONE, 1.1 texlive-2007-xprint.patch, NONE, 1.1 texlive-Build_script.patch, NONE, 1.1 texlive-CVE-2007-4033.patch, NONE, 1.1 texlive-CVE-2007-4352-5392-5393.patch, NONE, 1.1 texlive-checklib_fixes.patch, NONE, 1.1 texlive-dviljktemp.patch, NONE, 1.1 texlive-dvipdfm_timezone.patch, NONE, 1.1 texlive-dvips_fontbug_fix_upstream.patch, NONE, 1.1 texlive-dvipsoverflow.patch, NONE, 1.1 texlive-fedora_paths.patch, NONE, 1.1 texlive-filter-requires.sh, NONE, 1.1 texlive-fix_makempx_installation.patch, NONE, 1.1 texlive-fix_pkfix_invocation.patch, NONE, 1.1 texlive-fmtutil_keep_failedlog.patch, NONE, 1.1 texlive-generate-tarball.sh, NONE, 1.1 texlive-maketexmf.patch, NONE, 1.1 texlive-mktexlsr_fixes.patch, NONE, 1.1 texlive-more_paths.patch, NONE, 1.1 texlive-pdftex.patch, NONE, 1.1 texlive-poppler.patch, NONE, 1.1 texlive-source-CVE-2007-0650.patch, NONE, 1.1 texlive-source-icu.patch, NONE, 1.1 texlive-source-t1lib.patch, NONE, 1.1 texlive-source-warns.patch, NONE, 1.1 texlive-source-x11r7.patch, NONE, 1.1 texlive-source-xdvi-numlock.patch, NONE, 1.1 texlive-source-xdvizilla.patch, NONE, 1.1 texlive-teckit.patch, NONE, 1.1 texlive-texdoc.patch, NONE, 1.1 texlive-xdvi-maxchar.patch, NONE, 1.1 texlive-xdvi.patch, NONE, 1.1 texlive.cron, NONE, 1.1 texlive.spec, NONE, 1.1 vfontmap, NONE, 1.1 xdvi48x48.png, NONE, 1.1 xdvik-22.84.10-j1.34.patch, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2
Jindrich Novy (jnovy)
fedora-extras-commits at redhat.com
Sun Dec 2 08:03:53 UTC 2007
Author: jnovy
Update of /cvs/extras/rpms/texlive/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv19979/devel
Modified Files:
.cvsignore sources
Added Files:
dvipsk-jpatch-pdvips.patch
texlive-12a_fix_thumbpdf_invocation.patch
texlive-12b_fix_a2ping_invocation.patch
texlive-12c_fix_pdfcrop_invocation.patch
texlive-12d_fix_ebong_invocation.patch
texlive-12e_fix_vpe_invocation.patch
texlive-2007-badscript.patch texlive-2007-browser.patch
texlive-2007-copyright-utf8-man.patch
texlive-2007-dvipdfm-security.patch
texlive-2007-epstopdf-shellbang.patch
texlive-2007-jp-platex209.patch
texlive-2007-kpse-extensions.patch
texlive-2007-kuesterei-man.patch texlive-2007-makej.patch
texlive-2007-pdvips.patch texlive-2007-ptex-3.1.10.patch
texlive-2007-pxdvi.patch texlive-2007-tkdep.patch
texlive-2007-tmpcleanup.patch texlive-2007-xdvi-keepflag.patch
texlive-2007-xprint.patch texlive-Build_script.patch
texlive-CVE-2007-4033.patch
texlive-CVE-2007-4352-5392-5393.patch
texlive-checklib_fixes.patch texlive-dviljktemp.patch
texlive-dvipdfm_timezone.patch
texlive-dvips_fontbug_fix_upstream.patch
texlive-dvipsoverflow.patch texlive-fedora_paths.patch
texlive-filter-requires.sh
texlive-fix_makempx_installation.patch
texlive-fix_pkfix_invocation.patch
texlive-fmtutil_keep_failedlog.patch
texlive-generate-tarball.sh texlive-maketexmf.patch
texlive-mktexlsr_fixes.patch texlive-more_paths.patch
texlive-pdftex.patch texlive-poppler.patch
texlive-source-CVE-2007-0650.patch texlive-source-icu.patch
texlive-source-t1lib.patch texlive-source-warns.patch
texlive-source-x11r7.patch texlive-source-xdvi-numlock.patch
texlive-source-xdvizilla.patch texlive-teckit.patch
texlive-texdoc.patch texlive-xdvi-maxchar.patch
texlive-xdvi.patch texlive.cron texlive.spec vfontmap
xdvi48x48.png xdvik-22.84.10-j1.34.patch
Log Message:
initial import
dvipsk-jpatch-pdvips.patch:
--- NEW FILE dvipsk-jpatch-pdvips.patch ---
--- tetex-src-3.0/texk/pdvipsk/Makefile.in.pdvips 2005-04-13 19:35:07.000000000 +0900
+++ tetex-src-3.0/texk/pdvipsk/Makefile.in 2005-04-13 19:53:44.000000000 +0900
@@ -20,6 +20,8 @@
ac_include ../make/texi.mk
prog_cflags = -DUNIX -DKPATHSEA -DNeedFunctionPrototypes -DSHIFTLOWCHARS
+ppsheaderdir = $(texmf)/pdvips
+
# The `t[mp]-' business is so that we don't create an empty .pro file,
# if running squeeze fails for some reason. A dependency on squeeze
# fails here, so we include it below.
@@ -36,11 +38,11 @@
header.o repack.o virtualfont.o dpicheck.o finclude.o writet1.o \
pprescan.o papersiz.o color.o bbox.o hps.o t1part.o
-program = dvips
+program = pdvips
programs = afm2tfm $(program)
-default all: $(programs) $(prologues) dvips.info
+default all: $(programs) $(prologues)
$(program): $(kpathsea) $(objects)
$(kpathsea_link) $(objects) $(LOADLIBES)
@@ -93,16 +95,16 @@
for p in $(programs); do rm -f $(bindir)/$$p; done
rm -f $(bindir)/o$(program)
-install-data: $(program).info
- $(SHELL) $(top_srcdir)/../mkinstalldirs $(man1dir) $(infodir) $(psheaderdir)/base
+install-data:
+ $(SHELL) $(top_srcdir)/../mkinstalldirs $(man1dir) $(infodir) $(ppsheaderdir)/base
# PostScript prologues and encodings.
- for h in $(prologues); do $(INSTALL_DATA) $$h $(psheaderdir)/base/$$h; done
+ for h in $(prologues); do $(INSTALL_DATA) $$h $(ppsheaderdir)/base/$$h; done
# cd $(srcdir)/reencode && \
# for e in *.enc; do $(INSTALL_DATA) $$e $(psheaderdir)/base/$$e; done
# config.ps. Any one config.ps will be wrong for most people, so don't
# install anything by default.
- $(INSTALL) -d $(psheaderdir)/config
- $(INSTALL_DATA) $(srcdir)/config.ps $(psheaderdir)/config/config.ps
+ $(INSTALL) -d $(ppsheaderdir)/config
+ $(INSTALL_DATA) $(srcdir)/config.ps $(ppsheaderdir)/config/config.ps
# psfonts.map.
# if test ! -r $(psheaderdir)/base/psfonts.map \
# || grep 'original psfonts.map --' $(psheaderdir)/base/psfonts.map \
@@ -110,11 +112,8 @@
# $(INSTALL_DATA) $(srcdir)/psfonts.map $(psheaderdir)/base/psfonts.map; \
# else true; fi
# psfonts_jp.map.
- $(INSTALL) -d $(texmf)/fonts/map/dvips/ptex
- $(INSTALL_DATA) $(srcdir)/psfonts_jp.map $(texmf)/fonts/map/dvips/ptex/psfonts_jp.map
-# Info files.
- cd $(srcdir) && for i in $(program).i*; do \
- $(INSTALL_DATA) $$i $(infodir)/$$i; done
+ $(INSTALL) -d $(texmf)/fonts/map/pdvips
+ $(INSTALL_DATA) $(srcdir)/psfonts_jp.map $(fontdir)/map/pdvips/psfonts_jp.map
# Man pages.
$(INSTALL_DATA) $(srcdir)/$(program).1 $(man1dir)/$(program).$(manext)
rm -f $(man1dir)/o$(program).$(manext)
@@ -124,9 +123,6 @@
# cd $(srcdir)/tex && for m in *.tex; do \
# $(INSTALL_DATA) $$m $(dvips_plain_macrodir)/$$m; done
$(POST_INSTALL)
- if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \
- install-info --info-dir=$(infodir) $(infodir)/$(program).info; \
- else true; fi
uninstall-data:
$(PRE_UNINSTALL)
@@ -149,11 +145,11 @@
rm -f $(man1dir)/dvips.$(manext) $(man1dir)/afm2tfm.$(manext)
distname = dvipsk
-program_files = *.texi *.info* *.lpro psfonts.map *.1 texc.script \
+program_files = *.texi *.lpro psfonts.map *.1 texc.script \
dvips.help $(program).aux $(program).cps dvipstst.dvi
version_files = dvips.h afm2tfm.c dvips.c
-pre-dist-$(distname): INSTALL $(program).info $(program).dvi
+pre-dist-$(distname): INSTALL $(program).dvi
post-dist-$(distname):
ln -s `pwd`/contrib `pwd`/tex $(distdir)
mkdir $(distdir)/reencode; ln -s $(fontname)/*.enc $(distdir)/reencode
--- tetex-src-2.99.6.20041211-beta/texk/pdvipsk/dvips.c.pdvips 2004-12-14 21:13:36.005636838 +0900
+++ tetex-src-2.99.6.20041211-beta/texk/pdvipsk/dvips.c 2004-12-14 21:13:36.076623936 +0900
@@ -588,17 +588,17 @@ main P2C(int, argc, char **, argv)
#ifdef __APPLE__ /* for Mac OS X, T. Uchiyama */
struct rlimit rl;
getrlimit(RLIMIT_STACK, &rl);
rl.rlim_cur = 2048 * 1024;
setrlimit(RLIMIT_STACK, &rl);
#endif
#ifdef KPATHSEA
- kpse_set_program_name (argv[0], "dvips");
+ kpse_set_program_name (argv[0], "pdvips");
kpse_set_program_enabled (kpse_pk_format, MAKE_TEX_PK_BY_DEFAULT, kpse_src_compile);
#endif
#ifdef __THINK__
argc = dcommand(&argv) ; /* do I/O stream redirection */
#endif
#ifdef VMS /* Grab the command-line buffer */
short len_arg;
--- texlive-2007/texk/configure.in.pdvips 2007-01-11 01:36:20.000000000 +0900
+++ texlive-2007/texk/configure.in 2007-02-22 10:45:22.000000000 +0900
@@ -57,16 +57,17 @@ PKGS='
dvi2tty
dvidvi
dviljk
dvipdfm
dvipdfmx
dvipng
dvipos
dvipsk
+ pdvipsk
gsftopk
lacheck
makeindexk
musixflx
ps2pkm
seetexk
tetex
tex4htk
--- texlive-2007/texk/configure.pdvips 2007-01-11 01:36:44.000000000 +0900
+++ texlive-2007/texk/configure 2007-02-22 10:46:14.000000000 +0900
@@ -6599,16 +6599,17 @@ PKGS='
dvi2tty
dvidvi
dviljk
dvipdfm
dvipdfmx
dvipng
dvipos
dvipsk
+ pdvipsk
gsftopk
lacheck
makeindexk
musixflx
ps2pkm
seetexk
tetex
tex4htk
texlive-12a_fix_thumbpdf_invocation.patch:
--- NEW FILE texlive-12a_fix_thumbpdf_invocation.patch ---
12a_fix_thumbpdf_invocation.dpatch <preining at logic.at>
Fix invocation of thumbpdf to get rid of magic
---
build/source/texk/tetex/thumbpdf | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
Index: texlive-bin-2007/build/source/texk/tetex/thumbpdf
===================================================================
--- texlive-bin-2007.orig/build/source/texk/tetex/thumbpdf 2005-07-06 13:03:00.000000000 +0200
+++ texlive-bin-2007/build/source/texk/tetex/thumbpdf 2007-05-19 16:30:21.000000000 +0200
@@ -1,7 +1,4 @@
-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q'
- if 0;
-use strict;
-$^W=1; # turn warning on
+#!/usr/bin/perl -w
#
# thumbpdf.pl
#
texlive-12b_fix_a2ping_invocation.patch:
--- NEW FILE texlive-12b_fix_a2ping_invocation.patch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 12b_fix_a2ping_invocation.dpatch <preining at logic.at>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Fix invocation of a2ping to get rid of magic
@DPATCH@
---
build/source/texk/tetex/a2ping | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
Index: texlive-bin-2006.svn3816/build/source/texk/tetex/a2ping
===================================================================
--- texlive-bin-2006.svn3816.orig/build/source/texk/tetex/a2ping 2006-01-17 22:41:51.000000000 +0100
+++ texlive-bin-2006.svn3816/build/source/texk/tetex/a2ping 2007-01-26 03:58:02.000000000 +0100
@@ -1,11 +1,5 @@
-#! /bin/sh
-eval '(exit $?0)' && eval 'PERL_BADLANG=x;export PERL_BADLANG;: \
-;exec perl -x -S -- "$0" ${1+"$@"};#'if 0;
-eval 'setenv PERL_BADLANG x;exec perl -x -S -- "$0" $argv:q;#'.q+
-#!perl -w
-package Htex::a2ping; $0=~/(.*)/s;unshift at INC,'.';do($1);die$@if$@;__END__+if !1;
-# This Perl script was generated by JustLib2 at Wed Apr 23 09:14:13 2003.
-# Don't touch/remove any lines above; http://www.inf.bme.hu/~pts/justlib
+#! /usr/bin/perl -w
+package Htex::a2ping;
#
# This program is free software, licensed under the GNU GPL, >=2.0.
# This software comes with absolutely NO WARRANTY. Use at your own risk!
texlive-12c_fix_pdfcrop_invocation.patch:
--- NEW FILE texlive-12c_fix_pdfcrop_invocation.patch ---
12c_fix_pdfcrop_invocation.dpatch <preining at logic.at>
Fix invocation of pdfcrop to get rid of magic
---
build/source/texk/tetex/pdfcrop | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
Index: texlive-bin-2006.svn3816/build/source/texk/tetex/pdfcrop
===================================================================
--- texlive-bin-2006.svn3816.orig/build/source/texk/tetex/pdfcrop 2006-01-03 00:53:39.000000000 +0100
+++ texlive-bin-2006.svn3816/build/source/texk/tetex/pdfcrop 2007-01-26 03:58:07.000000000 +0100
@@ -1,7 +1,5 @@
-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q'
- if 0;
+#!/usr/bin/perl -w
use strict;
-$^W=1; # turn warning on
#
# pdfcrop.pl
#
texlive-12d_fix_ebong_invocation.patch:
--- NEW FILE texlive-12d_fix_ebong_invocation.patch ---
---
build/source/texk/texlive/ebong | 1 +
1 file changed, 1 insertion(+)
Index: texlive-bin-2007/build/source/texk/texlive/ebong
===================================================================
--- texlive-bin-2007.orig/build/source/texk/texlive/ebong 2007-05-15 14:44:43.000000000 +0200
+++ texlive-bin-2007/build/source/texk/texlive/ebong 2007-05-15 14:44:52.000000000 +0200
@@ -1,3 +1,4 @@
+#!/usr/bin/python
# look in newbong
import sre
A='A'
texlive-12e_fix_vpe_invocation.patch:
--- NEW FILE texlive-12e_fix_vpe_invocation.patch ---
---
build/source/texk/texlive/vpe | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
Index: texlive-bin-2007/build/source/texk/texlive/vpe
===================================================================
--- texlive-bin-2007.orig/build/source/texk/texlive/vpe 2007-05-19 16:37:45.000000000 +0200
+++ texlive-bin-2007/build/source/texk/texlive/vpe 2007-05-19 16:37:54.000000000 +0200
@@ -1,5 +1,4 @@
-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q'
- if 0;
+#!/usr/bin/perl -w
use strict;
#
# vpe.pl
texlive-2007-badscript.patch:
--- NEW FILE texlive-2007-badscript.patch ---
--- TeX/texk/tetex/allcm.badscript 2006-05-24 16:15:36.000000000 -0700
+++ TeX/texk/tetex/allcm 2006-05-24 16:18:47.000000000 -0700
@@ -14,7 +14,7 @@
test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
progname=`basename $0`
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$
+tmpdir=`mktemp -d ${TMP-/tmp}/$progname.XXXXXX`
case "$progname" in
allec)
@@ -81,11 +81,6 @@
exit 1
' 1 2 3 7 13 15
-(umask 077; mkdir "$tmpdir") || {
- echo "$progname: failed to create temp directory." >&2
- exit 1
-}
-
cd $tmpdir || exit 1
echo >&2
echo "---------------------------------------------------------------------" >&2
--- TeX/texk/tetex/fmtutil.badscript 2006-05-24 16:19:21.000000000 -0700
+++ TeX/texk/tetex/fmtutil 2006-05-24 16:22:26.000000000 -0700
@@ -108,8 +108,6 @@
trap 'cleanup 1' 1 2 3 7 13 15
needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
}
###############################################################################
@@ -355,7 +353,7 @@
need_find_hyphenfile=false
cfgparam=
cfgmaint=
- tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$
+ tmpdir=`mktemp -d ${TMP-/tmp}/$progname.XXXXXX`
verboseFlag=true
# mktexfmtMode: if called as mktexfmt, set to true. Will echo the generated
--- TeX/texk/tetex/texconfig.badscript 2006-05-24 16:22:54.000000000 -0700
+++ TeX/texk/tetex/texconfig 2006-05-24 16:24:18.000000000 -0700
@@ -37,7 +37,7 @@
TEXMFDBS TEXMFINI TEXMFSCRIPTS TEXPICTS TEXPKS TEXPOOL TEXPSHEADERS
TEXSOURCES TFMFONTS TRFONTS TTFONTS VFFONTS WEB2C WEBINPUTS
"
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tctmp.$$
+tmpdir=`mktemp -d "${TMP-/tmp}/$progname.XXXXXX"` || exit 1
needsCleanup=false
lastUpdatedFile=
@@ -216,8 +216,6 @@
trap 'cleanup 1' 1 2 3 7 13 15
needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
}
###############################################################################
--- TeX/texk/tetex/texlinks.badscript 2005-08-28 12:45:59.000000000 -0700
+++ TeX/texk/tetex/texlinks 2006-05-24 16:31:25.000000000 -0700
@@ -100,8 +100,6 @@
trap 'cleanup 1' 1 2 3 7 13 15
needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
}
@@ -192,7 +190,7 @@
upd_symlinkdir()
{
search_symlinkdir || return 0
- for i in `sed 's@ .*@@' cnf_file_ln.$$`; do
+ for i in `sed 's@ .*@@' $tmpdir/cnf_file_ln`; do
install_link "$selfautoloc/$i" "$symlinkdir/$i"
done
}
@@ -236,12 +234,12 @@
test -f "$cnf_file" || abort "config file \`$cnf' not found"
- tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/texlinks.$$
+ tmpdir=`mktemp -d ${TMP-/tmp}/$progname.XXXXXX` || exit 1
setupTmpDir
cd "$tmpdir" || cleanup 1
sed '/^[ ]*#/d; /^[ ]*$/d' $cnf_file \
- | awk '{print $1, $2}' > cnf_file_ln.$$
+ | awk '{print $1, $2}' > $tmpdir/cnf_file_ln
if test -z "$dirs"; then
if test $multiplatform = true; then
@@ -259,8 +257,8 @@
for d in $dirs; do
kpseaccess -w $d \
|| { errmsg "$d: no write permissions. Skipping..."; continue; }
- # cnf_file_ln.$$ has lines with "format engine" pairs
- set x `cat cnf_file_ln.$$`; shift
+ # $tmpdir/cnf_file_ln has lines with "format engine" pairs
+ set x `cat $tmpdir/cnf_file_ln`; shift
while test $# != 0; do
fmt=$1; engine=$2; shift; shift
--- TeX/texk/tetex/updmap.badscript 2006-05-24 16:32:13.000000000 -0700
+++ TeX/texk/tetex/updmap 2006-05-24 16:33:51.000000000 -0700
@@ -769,7 +769,6 @@
trap 'cleanup 1' 1 2 3 7 13 15
needsCleanup=true
- mkdir "$tmpdir" || abort "could not create directory \`$tmpdir'"
}
###############################################################################
@@ -1296,7 +1295,8 @@
dvipsoutputdir=; pdftexoutputdir=; dvipdfmoutputdir=
: ${TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`}
- tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$
+ tmpdir=`mktemp -d ${TMP-/tmp}/$progname.XXXXXX` || \
+ abort "could not create directory"
tmp1=$tmpdir/a
tmp2=$tmpdir/b
tmp3=$tmpdir/c
--- TeX/texk/dviljk/dvihp.badscript 2006-05-24 16:43:13.000000000 -0700
+++ TeX/texk/dviljk/dvihp 2006-05-24 16:47:10.000000000 -0700
@@ -7,9 +7,7 @@
: ${SPOOL=lpr} # used to print an LJ file
: ${TMPDIR=${TEMP-${TMP-/tmp}}} # for the dvicopy output
-tmpdir="${TMPDIR}"/dvihp$$
-(umask 077; mkdir "$tmpdir") \
- || { echo "cannot create directory \`$tmpdir'."; exit 1; }
+tmpdir=`mktemp -d ${TMPDIR}/dvihp.XXXXXX` || { echo "cannot create secure temporary directory."; exit 1; }
trap '
cd "${TMPDIR}"
--- TeX/texk/dvipdfm/dvipdft.badscript 2006-05-24 16:48:16.000000000 -0700
+++ TeX/texk/dvipdfm/dvipdft 2006-05-24 16:51:53.000000000 -0700
@@ -31,7 +31,7 @@
$progname --help
$progname --version"
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$
+tmpdir=`mktemp -d ${TMP-/tmp}/$progname.XXXXXX`
quoteit()
{
texlive-2007-browser.patch:
--- NEW FILE texlive-2007-browser.patch ---
--- tetex-src-3.0/texk/xdvik/browser.c.browser 2004-11-12 10:25:26.000000000 +0900
+++ tetex-src-3.0/texk/xdvik/browser.c 2005-02-07 15:22:31.849488410 +0900
@@ -39,7 +39,10 @@
#include "statusline.h"
static const char *const default_browser_cmd =
- "netscape -raise -remote \"openURL(%s,new-window)\""
+ "xdg-open %s"
+ ":firefox -remote \"openURL(%s,new-window)\""
+ ":mozilla -remote \"openURL(%s,new-window)\""
+ ":xterm -e w3m %s"
":xterm -e lynx %s"
":xterm -e wget %s";
--- tetex-src-3.0/texk/xdvik/gui/xm_prefsP.h.browser 2004-04-22 06:12:09.000000000 +0900
+++ tetex-src-3.0/texk/xdvik/gui/xm_prefsP.h 2005-02-07 15:22:31.850488229 +0900
@@ -96,8 +96,10 @@
#define Xdvi_APPLY_STR "Apply"
#define Xdvi_PREFS_BROWSER_DEFAULTS \
+ "xdg-open %s\n" \
+ "firefox -remote 'openURL(%s,new-window)'\n" \
"mozilla -remote 'openURL(%s,new-window)'\n" \
- "netscape -raise -remote 'openURL(%s,new-window)'\n" \
+ "xterm -e w3m %s\n" \
"xterm -e lynx %s\n" \
Xdvi_ADD_COMMAND_STR
#define Xdvi_PREFS_EDITOR_DEFAULTS \
--- tetex-src-3.0/texk/xdvik/xdvi.1.in.browser 2005-01-21 01:51:45.000000000 +0900
+++ tetex-src-3.0/texk/xdvik/xdvi.1.in 2005-02-07 15:22:31.854487501 +0900
@@ -365,7 +365,7 @@
.B WWWBROWSER
(in that order) are used to determine the browser command. If these are
not set either, the following default value is used:
-.SB netscape -raise -remote "openURL(%s,new-window)":xterm -e lynx %s:xterm -e wget %s
+.SB xdg-open %s:firefox -remote -remote "openURL(%s,new-window)":mozilla -remote "openURL(%s,new-window)":xterm -e w3m %s:xterm -e lynx %s:xterm -e wget %s
.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
.TP
.BI \-bw " width"
texlive-2007-copyright-utf8-man.patch:
--- NEW FILE texlive-2007-copyright-utf8-man.patch ---
diff -ur tetex-src-3.0/texk/tetex/texlinks.man tetex-src-3.0-copyright-utf8-man/texk/tetex/texlinks.man
--- tetex-src-3.0/texk/tetex/texlinks.man 2005-01-20 08:58:46.000000000 -0800
+++ tetex-src-3.0-copyright-utf8-man/texk/tetex/texlinks.man 2006-05-12 01:35:35.000000000 -0700
@@ -54,7 +54,7 @@
.SH "AUTHOR"
.PP
\fBtexlinks\fP was written by Thomas Esser
-<te at dbs\&.uni-hannover\&.de> and is Copyright © 1999\&.
+<te at dbs\&.uni-hannover\&.de> and is Copyright © 1999\&.
\fBtexlinks\fP has been released into the public domain\&.
.PP
This manual page was written by C\&.M\&. Connelly
diff -ur tetex-src-3.0/texk/tetex/thumbpdf.man tetex-src-3.0-copyright-utf8-man/texk/tetex/thumbpdf.man
--- tetex-src-3.0/texk/tetex/thumbpdf.man 2005-01-20 08:50:12.000000000 -0800
+++ tetex-src-3.0-copyright-utf8-man/texk/tetex/thumbpdf.man 2006-05-12 01:35:58.000000000 -0700
@@ -83,7 +83,7 @@
.PP
.SH "COPYRIGHT"
.PP
-Copyright © 1999\&. \fBthumbpdf\fP is distributed under
+Copyright © 1999\&. \fBthumbpdf\fP is distributed under
version 1, or (at your option) a later version of the LaTeX Project
Public License\&.
.PP
texlive-2007-dvipdfm-security.patch:
--- NEW FILE texlive-2007-dvipdfm-security.patch ---
--- tetex-src-2.0.2/texk/dvipdfm/psimage.c.dvipdfm-security 2001-06-28 20:55:26.000000000 +0100
+++ tetex-src-2.0.2/texk/dvipdfm/psimage.c 2003-03-12 18:12:56.000000000 +0000
@@ -113,10 +113,15 @@
{
#ifdef HAVE_SYSTEM
pdf_obj *result = NULL;
- char *tmp, *cmd;
+ char tmp[] = "/tmp/dvipdfm.XXXXXX", *cmd;
+ int tfd;
FILE *pdf_file = NULL;
/* Get a full qualified tmp name */
- tmp = tmpnam (NULL);
+ tfd = mkstemp (tmp);
+ if (tfd == -1) {
+ fprintf (stderr, "\nCouldn't create temporary file for output\n");
+ return NULL;
+ } else close (tfd);
if ((cmd = build_command_line (file_name, tmp))) {
if (!system (cmd) && (pdf_file = MFOPEN (tmp, FOPEN_RBIN_MODE))) {
result = pdf_include_page (pdf_file, p, res_name);
texlive-2007-epstopdf-shellbang.patch:
--- NEW FILE texlive-2007-epstopdf-shellbang.patch ---
--- TeX/texk/tetex/epstopdf.perl 2006-05-24 18:09:36.000000000 -0700
+++ TeX/texk/tetex/epstopdf 2006-05-24 18:11:06.000000000 -0700
@@ -1,5 +1,4 @@
-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q'
- if 0;
+#!/usr/bin/env perl
use strict;
# Change by Thomas Esser, Sept. 1998: The above lines allows us to find
texlive-2007-jp-platex209.patch:
--- NEW FILE texlive-2007-jp-platex209.patch ---
--- ptex-src-3.1.8/Makefile.in.orig 2004-12-03 17:33:13.000000000 +0900
+++ ptex-src-3.1.8/Makefile.in 2004-12-16 15:54:25.407886051 +0900
@@ -6,8 +6,8 @@
default: programs formats
programs=ptex tftopl pltotf pdvitype jbibtex
-euc-formats=ptex-euc.fmt platex-euc.fmt
-sjis-formats=ptex-sjis.fmt platex-sjis.fmt
+euc-formats=ptex-euc.fmt platex-euc.fmt platex209-euc.fmt
+sjis-formats=ptex-sjis.fmt platex-sjis.fmt platex209-sjis.fmt
ac_include ../../make/paths.mk
@@ -186,6 +186,14 @@
$(dumpenv) $(MAKE) progname=platex files="platex.ltx" prereq-check
$(dumpenv) ./ptex --ini --kanji=sjis --progname=platex --jobname=platex-sjis \\input platex.ltx </dev/null
+platex209-euc.fmt: ptex texmf.cnf
+ $(dumpenv) $(MAKE) progname=platex files="plplain.ini" prereq-check
+ $(dumpenv) ./ptex --ini --kanji=euc --progname=platex --jobname=platex209-euc \\input platex.ltx </dev/null
+
+platex209-sjis.fmt: ptex texmf.cnf
+ $(dumpenv) $(MAKE) progname=platex files="plplain.ini" prereq-check
+ $(dumpenv) ./ptex --ini --kanji=sjis --progname=platex --jobname=platex209-sjis \\input platex.ltx </dev/null
+
# This is meant to be called recursively, with $(files) set.
prereq-check: $(kpathsea_dir)/kpsewhich
$(dumpenv) $(kpathsea_dir)/kpsewhich --progname=$(progname) $(files) >/dev/null || $(MAKE) prereq-lose >/dev/null
@@ -222,17 +230,19 @@
# The links to ptex for each format.
install-links: install-programs $(bindir)
- cd $(bindir) && (rm -f iniptex virptex platex; $(LN) ptex platex)
+ cd $(bindir) && (rm -f iniptex virptex platex platex209; $(LN) ptex platex ; $(LN) ptex platex209)
# Always do plain.*, so examples from the TeXbook (etc.) will work.
install-formats: $(formats) $(web2cdir)
for f in $(formats); do $(INSTALL_DATA) $$f $(web2cdir)/$$f; done
- cd $(web2cdir) && (rm -f ptex-jis.fmt platex-jis.fmt ;\
+ cd $(web2cdir) && (rm -f ptex-jis.fmt platex-jis.fmt platex209-jis.fmt ;\
$(LN) ptex-euc.fmt ptex-jis.fmt ;\
- $(LN) platex-euc.fmt platex-jis.fmt)
- cd $(web2cdir) && (rm -f ptex.fmt platex.fmt ;\
+ $(LN) platex-euc.fmt platex-jis.fmt ;\
+ $(LN) platex209-euc.fmt platex209-jis.fmt)
+ cd $(web2cdir) && (rm -f ptex.fmt platex.fmt platex209.fmt ;\
$(LN) ptex-$(configkcode).fmt ptex.fmt ;\
- $(LN) platex-$(configkcode).fmt platex.fmt )
+ $(LN) platex-$(configkcode).fmt platex.fmt ;\
+ $(LN) platex209-$(configkcode).fmt platex209.fmt)
# Auxiliary files.
install-data::
@@ -321,6 +331,7 @@
rm -fr failure
rm -f ptex.web ptex.ch ptex.p ptex.pool ptex.log ptex-euc.fmt ptex-sjis.fmt
rm -f platex.log platex-euc.fmt platex-sjis.fmt texsys.aux platex
+ rm -f platex209.log platex209-euc.fmt platex209-sjis.fmt platex209
rm -f tftopl.web tftopl.p
rm -f pltotf.web pltotf.p
rm -f pdvitype.web pdvitype.p
texlive-2007-kpse-extensions.patch:
--- NEW FILE texlive-2007-kpse-extensions.patch ---
--- texk/kpathsea/tex-file.c.kpse-extensions 2006-05-27 21:43:07.000000000 -0700
+++ texk/kpathsea/tex-file.c 2006-05-27 21:40:06.000000000 -0700
@@ -413,14 +413,16 @@
times with token pasting, but it doesn't seem worth it. */
case kpse_gf_format:
INIT_FORMAT ("gf", DEFAULT_GFFONTS, GF_ENVS);
- SUFFIXES ("gf");
+#define GF_SUFFIXES "gf", "GF"
+ SUFFIXES (GF_SUFFIXES);
FMT_INFO.suffix_search_only = true;
FMT_INFO.binmode = true;
break;
case kpse_pk_format:
init_maketex (format, "mktexpk", MKTEXPK_ARGS);
INIT_FORMAT ("pk", DEFAULT_PKFONTS, PK_ENVS);
- SUFFIXES ("pk");
+#define PK_SUFFIXES "pk", "PK"
+ SUFFIXES (PK_SUFFIXES);
FMT_INFO.suffix_search_only = true;
FMT_INFO.binmode = true;
break;
@@ -434,77 +436,92 @@
/* Must come before kpse_ofm_format. */
init_maketex (format, "mktextfm", NULL);
INIT_FORMAT ("tfm", DEFAULT_TFMFONTS, TFM_ENVS);
- SUFFIXES (".tfm");
+#define TFM_SUFFIXES ".tfm", ".TFM"
+ SUFFIXES (TFM_SUFFIXES);
FMT_INFO.suffix_search_only = true;
FMT_INFO.binmode = true;
break;
case kpse_afm_format:
INIT_FORMAT ("afm", DEFAULT_AFMFONTS, AFM_ENVS);
- SUFFIXES (".afm");
+#define AFM_SUFFIXES ".afm", ".AFM"
+ SUFFIXES (AFM_SUFFIXES);
break;
case kpse_base_format:
init_maketex (format, "mktexfmt", NULL);
INIT_FORMAT ("base", DEFAULT_MFBASES, BASE_ENVS);
- SUFFIXES (".base");
+#define BASE_SUFFIXES ".base", ".BASE"
+ SUFFIXES (BASE_SUFFIXES);
FMT_INFO.binmode = true;
break;
case kpse_bib_format:
INIT_FORMAT ("bib", DEFAULT_BIBINPUTS, BIB_ENVS);
- SUFFIXES (".bib");
+#define BIB_SUFFIXES ".bib", ".BIB"
+ SUFFIXES (BIB_SUFFIXES);
FMT_INFO.suffix_search_only = true;
break;
case kpse_bst_format:
INIT_FORMAT ("bst", DEFAULT_BSTINPUTS, BST_ENVS);
- SUFFIXES (".bst");
+#define BST_SUFFIXES ".bst", ".BST"
+ SUFFIXES (BST_SUFFIXES);
break;
case kpse_cnf_format:
INIT_FORMAT ("cnf", DEFAULT_TEXMFCNF, CNF_ENVS);
- SUFFIXES (".cnf");
+#define CNF_SUFFIXES ".cnf", ".CNF"
+ SUFFIXES (CNF_SUFFIXES);
break;
case kpse_db_format:
INIT_FORMAT ("ls-R", DEFAULT_TEXMFDBS, DB_ENVS);
-#define LSR_SUFFIXES "ls-R", "ls-r"
+#define LSR_SUFFIXES "ls-R", "ls-r", "LS-R"
SUFFIXES (LSR_SUFFIXES);
FMT_INFO.path = remove_dbonly (FMT_INFO.path);
break;
case kpse_fmt_format:
init_maketex (format, "mktexfmt", NULL);
INIT_FORMAT ("fmt", DEFAULT_TEXFORMATS, FMT_ENVS);
- SUFFIXES (".fmt");
-#define FMT_SUFFIXES ".efmt",".efm",".ofmt",".ofm",".oft",".eofmt",".eoft",".eof",".pfmt",".pfm",".epfmt",".epf",".xpfmt",".xpf",".afmt",".afm"
- ALT_SUFFIXES (FMT_SUFFIXES);
+#define FMT_SUFFIXES ".fmt", ".FMT"
+ SUFFIXES (FMT_SUFFIXES);
+#define FMT_ALT_SUFFIXES ".efmt",".efm",".ofmt",".ofm",".oft",".eofmt",".eoft",".eof",".pfmt",".pfm",".epfmt",".epf",".xpfmt",".xpf",".afmt",".afm" \
+ ".EFMT",".EFM",".OFMT",".OFM",".OFT",".EOFMT",".EOFT",".EOF",".PFMT",".PFM",".EPFMT",".EPF",".XPFMT",".XPF",".AFMT",".AFM"
+ ALT_SUFFIXES (FMT_ALT_SUFFIXES);
FMT_INFO.binmode = true;
break;
case kpse_fontmap_format:
INIT_FORMAT ("map", DEFAULT_TEXFONTMAPS, FONTMAP_ENVS);
- SUFFIXES (".map");
+#define MAP_SUFFIXES ".map", ".MAP"
+ SUFFIXES (MAP_SUFFIXES);
break;
case kpse_mem_format:
init_maketex (format, "mktexfmt", NULL);
INIT_FORMAT ("mem", DEFAULT_MPMEMS, MEM_ENVS);
- SUFFIXES (".mem");
+#define MEM_SUFFIXES ".mem", ".MEM"
+ SUFFIXES (MEM_SUFFIXES);
FMT_INFO.binmode = true;
break;
case kpse_mf_format:
init_maketex (format, "mktexmf", NULL);
INIT_FORMAT ("mf", DEFAULT_MFINPUTS, MF_ENVS);
- SUFFIXES (".mf");
+#define MF_SUFFIXES ".mf", ".MF"
+ SUFFIXES (MF_SUFFIXES);
break;
case kpse_mft_format:
INIT_FORMAT ("mft", DEFAULT_MFTINPUTS, MFT_ENVS);
- SUFFIXES (".mft");
+#define MFT_SUFFIXES ".mft", ".MFT"
+ SUFFIXES (MFT_SUFFIXES);
break;
case kpse_mfpool_format:
INIT_FORMAT ("mfpool", DEFAULT_MFPOOL, MFPOOL_ENVS);
- SUFFIXES (".pool");
+#define MFPOOL_SUFFIXES ".pool", ".POOL"
+ SUFFIXES (MFPOOL_SUFFIXES);
break;
case kpse_mp_format:
INIT_FORMAT ("mp", DEFAULT_MPINPUTS, MP_ENVS);
- SUFFIXES (".mp");
+#define MP_SUFFIXES ".mp", ".MP"
+ SUFFIXES (MP_SUFFIXES);
break;
case kpse_mppool_format:
INIT_FORMAT ("mppool", DEFAULT_MPPOOL, MPPOOL_ENVS);
- SUFFIXES (".pool");
+#define MPPOOL_SUFFIXES ".pool", ".POOL"
+ SUFFIXES (MPPOOL_SUFFIXES);
break;
case kpse_mpsupport_format:
INIT_FORMAT ("MetaPost support", DEFAULT_MPSUPPORT, MPSUPPORT_ENVS);
@@ -512,49 +529,55 @@
case kpse_ocp_format:
init_maketex (format, "mkocp", NULL);
INIT_FORMAT ("ocp", DEFAULT_OCPINPUTS, OCP_ENVS);
- SUFFIXES (".ocp");
+#define OCP_SUFFIXES ".ocp", ".OCP"
+ SUFFIXES (OCP_SUFFIXES);
FMT_INFO.suffix_search_only = true;
FMT_INFO.binmode = true;
break;
case kpse_ofm_format:
init_maketex (format, "mkofm", NULL);
INIT_FORMAT ("ofm", DEFAULT_OFMFONTS, OFM_ENVS);
-#define OFM_SUFFIXES ".ofm", ".tfm"
+#define OFM_SUFFIXES ".ofm", ".tfm", ".OFM", ".TFM"
SUFFIXES (OFM_SUFFIXES);
FMT_INFO.suffix_search_only = true;
FMT_INFO.binmode = true;
break;
case kpse_opl_format:
INIT_FORMAT ("opl", DEFAULT_OPLFONTS, OPL_ENVS);
- SUFFIXES (".opl");
+#define OPL_SUFFIXES ".opl", ".OPL"
+ SUFFIXES (OPL_SUFFIXES);
FMT_INFO.suffix_search_only = true;
break;
case kpse_otp_format:
INIT_FORMAT ("otp", DEFAULT_OTPINPUTS, OTP_ENVS);
- SUFFIXES (".otp");
+#define OTP_SUFFIXES ".otp", ".OTP"
+ SUFFIXES (OTP_SUFFIXES);
FMT_INFO.suffix_search_only = true;
break;
case kpse_ovf_format:
INIT_FORMAT ("ovf", DEFAULT_OVFFONTS, OVF_ENVS);
- SUFFIXES (".ovf");
+#define OVF_SUFFIXES ".ovf", ".OVF"
+ SUFFIXES (OVF_SUFFIXES);
FMT_INFO.suffix_search_only = true;
FMT_INFO.binmode = true;
break;
case kpse_ovp_format:
INIT_FORMAT ("ovp", DEFAULT_OVPFONTS, OVP_ENVS);
- SUFFIXES (".ovp");
+#define OVP_SUFFIXES ".ovp", ".OVP"
+ SUFFIXES (OVP_SUFFIXES);
FMT_INFO.suffix_search_only = true;
break;
case kpse_pict_format:
INIT_FORMAT ("graphic/figure", DEFAULT_TEXINPUTS, PICT_ENVS);
-#define PICT_SUFFIXES ".eps", ".epsi"
+#define PICT_SUFFIXES ".eps", ".epsi", ".EPS", ".EPSI"
ALT_SUFFIXES (PICT_SUFFIXES);
FMT_INFO.binmode = true;
break;
case kpse_tex_format:
init_maketex (format, "mktextex", NULL);
INIT_FORMAT ("tex", DEFAULT_TEXINPUTS, TEX_ENVS);
- SUFFIXES (".tex");
+#define TEX_SUFFIXES ".tex", ".TEX"
+ SUFFIXES (TEX_SUFFIXES);
/* We don't maintain a list of alternate TeX suffixes. Such a list
could never be complete. */
break;
@@ -562,7 +585,7 @@
INIT_FORMAT ("PostScript header", DEFAULT_TEXPSHEADERS,
TEX_PS_HEADER_ENVS);
/* Unfortunately, dvipsk uses this format for type1 fonts. */
-#define TEXPSHEADER_SUFFIXES ".pro"
+#define TEXPSHEADER_SUFFIXES ".pro", ".PRO"
ALT_SUFFIXES (TEXPSHEADER_SUFFIXES);
FMT_INFO.binmode = true;
break;
@@ -571,7 +594,8 @@
break;
case kpse_texpool_format:
INIT_FORMAT ("texpool", DEFAULT_TEXPOOL, TEXPOOL_ENVS);
- SUFFIXES (".pool");
+#define TEXPOOL_SUFFIXES ".pool", ".POOL"
+ SUFFIXES (TEXPOOL_SUFFIXES);
break;
case kpse_texsource_format:
INIT_FORMAT ("TeX system sources", DEFAULT_TEXSOURCES, TEXSOURCE_ENVS);
@@ -582,13 +606,14 @@
break;
case kpse_type1_format:
INIT_FORMAT ("type1 fonts", DEFAULT_T1FONTS, TYPE1_ENVS);
-#define TYPE1_SUFFIXES ".pfa", ".pfb"
+#define TYPE1_SUFFIXES ".pfa", ".pfb", ".PFA", ".PFB"
SUFFIXES (TYPE1_SUFFIXES);
FMT_INFO.binmode = true;
break;
case kpse_vf_format:
INIT_FORMAT ("vf", DEFAULT_VFFONTS, VF_ENVS);
- SUFFIXES (".vf");
+#define VF_SUFFIXES ".vf", ".VF"
+ SUFFIXES (VF_SUFFIXES);
FMT_INFO.suffix_search_only = true;
FMT_INFO.binmode = true;
break;
@@ -597,7 +622,8 @@
break;
case kpse_ist_format:
INIT_FORMAT ("ist", DEFAULT_INDEXSTYLE, IST_ENVS);
- SUFFIXES (".ist");
+#define IST_SUFFIXES ".ist", ".IST"
+ SUFFIXES (IST_SUFFIXES);
break;
case kpse_truetype_format:
INIT_FORMAT ("truetype fonts", DEFAULT_TTFONTS, TRUETYPE_ENVS);
@@ -632,26 +658,32 @@
break;
case kpse_web_format:
INIT_FORMAT ("web", DEFAULT_WEBINPUTS, WEB_ENVS);
- SUFFIXES (".web");
- ALT_SUFFIXES (".ch");
+#define WEB_SUFFIXES ".web", ".WEB"
+ SUFFIXES (WEB_SUFFIXES);
+#define WEB_ALT_SUFFIXES ".ch", ".CH"
+ ALT_SUFFIXES (WEB_ALT_SUFFIXES);
break;
case kpse_cweb_format:
INIT_FORMAT ("cweb", DEFAULT_CWEBINPUTS, CWEB_ENVS);
-#define CWEB_SUFFIXES ".w", ".web"
+#define CWEB_SUFFIXES ".w", ".web", ".W", ".WEB"
SUFFIXES (CWEB_SUFFIXES);
- ALT_SUFFIXES (".ch");
+#define CWEB_ALT_SUFFIXES ".ch", ".CH"
+ ALT_SUFFIXES (CWEB_ALT_SUFFIXES);
break;
case kpse_enc_format:
INIT_FORMAT ("enc files", DEFAULT_ENCFONTS, ENC_ENVS);
- SUFFIXES (".enc");
+#define ENC_SUFFIXES ".enc", ".ENC"
+ SUFFIXES (ENC_SUFFIXES);
break;
case kpse_cmap_format:
INIT_FORMAT ("cmap files", DEFAULT_CMAPFONTS, CMAP_ENVS);
- SUFFIXES (".cmap");
+#define CMAP_SUFFIXES ".cmap", ".CMAP"
+ SUFFIXES (CMAP_SUFFIXES);
break;
case kpse_sfd_format:
INIT_FORMAT ("subfont definition files", DEFAULT_SFDFONTS, SFD_ENVS);
- SUFFIXES (".sfd");
+#define SFD_SUFFIXES ".sfd", ".SFD"
+ SUFFIXES (SFD_SUFFIXES);
break;
case kpse_opentype_format:
INIT_FORMAT ("opentype fonts", DEFAULT_OPENTYPEFONTS, OPENTYPE_ENVS);
@@ -663,7 +695,8 @@
break;
case kpse_lig_format:
INIT_FORMAT ("lig files", DEFAULT_LIGFONTS, LIG_ENVS);
- SUFFIXES (".lig");
+#define LIG_SUFFIXES ".lig", ".LIG"
+ SUFFIXES (LIG_SUFFIXES);
break;
case kpse_texmfscripts_format:
INIT_FORMAT ("texmfscripts", DEFAULT_TEXMFSCRIPTS, TEXMFSCRIPTS_ENVS);
texlive-2007-kuesterei-man.patch:
--- NEW FILE texlive-2007-kuesterei-man.patch ---
diff -ur tetex-src-3.0/texk/dvipdfm/dvipdft.1 tetex-src-3.0-kuesterei_man/texk/dvipdfm/dvipdft.1
--- tetex-src-3.0/texk/dvipdfm/dvipdft.1 2004-05-14 17:42:14.000000000 -0700
+++ tetex-src-3.0-kuesterei_man/texk/dvipdfm/dvipdft.1 2006-05-12 00:23:31.000000000 -0700
@@ -29,7 +29,7 @@
.PP
\fBdvipdft\fP was written by Mark A. Wicks and Thomas Esser.
.PP
-This manual page was written by Frank Küster <frank at kuesterei\&.ch>,
+This manual page was written by Frank Küster <frank at kuesterei\&.ch>,
for the Debian GNU/Linux system\&. It may be used by others without
contacting the author\&. Any mistakes or omissions in the manual page
are my fault; inquiries about or corrections to this manual page
diff -ur tetex-src-3.0/texk/dvipdfm/ebb.1 tetex-src-3.0-kuesterei_man/texk/dvipdfm/ebb.1
--- tetex-src-3.0/texk/dvipdfm/ebb.1 2004-05-09 00:06:02.000000000 -0700
+++ tetex-src-3.0-kuesterei_man/texk/dvipdfm/ebb.1 2006-05-12 00:24:22.000000000 -0700
@@ -28,7 +28,7 @@
.PP
\fBebb\fP was written by Mark A. Wicks.
.PP
-This manual page was written by Frank Küster <frank at kuesterei\&.ch>,
+This manual page was written by Frank Küster <frank at kuesterei\&.ch>,
for the Debian GNU/Linux system\&. It may be used and modified by
others without contacting the author\&. Any mistakes or omissions in
the manual page are my fault; inquiries about or corrections to this
diff -ur tetex-src-3.0/texk/tetex/kpsewhere.man tetex-src-3.0-kuesterei_man/texk/tetex/kpsewhere.man
--- tetex-src-3.0/texk/tetex/kpsewhere.man 2005-01-31 09:51:58.000000000 -0800
+++ tetex-src-3.0-kuesterei_man/texk/tetex/kpsewhere.man 2006-05-12 00:25:46.000000000 -0700
@@ -42,7 +42,7 @@
<te at dbs\&.uni-hannover\&.de>, in 2003 and 2004\&. \fBkpsewhere\fP
is in the public domain\&.
.PP
-This manual page was written by Frank Küster <frank at kuesterei\&.ch>,
+This manual page was written by Frank Küster <frank at kuesterei\&.ch>,
for the Debian GNU/Linux system\&. It is also in the public domain
and may be used and changed by others without contacting the author\&.
Any mistakes or omissions in the manual page are my fault; inquiries
texlive-2007-makej.patch:
--- NEW FILE texlive-2007-makej.patch ---
--- tetex-src-2.0.2/texk/web2c/web2c/Makefile.in.makej 2002-10-12 13:37:39.000000000 +0200
+++ tetex-src-2.0.2/texk/web2c/web2c/Makefile.in 2005-01-07 10:48:22.931698496 +0100
@@ -25,13 +25,14 @@
# We use y_tab.* for the sake of MS-DOS.
main.o: main.c y_tab.h
-y_tab.c y_tab.h: web2c.y
+y_tab.c: y_tab.h
+y_tab.h: web2c.y
@echo Expect one shift/reduce conflict.
$(YACC) -d -v $(srcdir)/web2c.y
-test -f y.tab.c && mv -f y.tab.c y_tab.c
-test -f y.tab.h && mv -f y.tab.h y_tab.h
$(LEX_OUTPUT_ROOT).o: y_tab.h
-$(LEX_OUTPUT_ROOT).c: web2c.l
+$(LEX_OUTPUT_ROOT).c: y_tab.h web2c.l
$(LEX) $(srcdir)/web2c.l
fixwrites: fixwrites.o
--- tetex-src-2.0.2/texk/web2c/otps/Makefile.in.makej 2000-06-21 00:27:56.000000000 +0200
+++ tetex-src-2.0.2/texk/web2c/otps/Makefile.in 2005-01-07 10:49:37.588348960 +0100
@@ -21,12 +21,13 @@
$(kpathsea_link) $(otp2ocp_objects) $(LEXLIB) $(LOADLIBES)
otp2ocp.o: otp2ocp.c y_tab.h
-y_tab.c y_tab.h: otp.y
+y_tab.c: y_tab.h
+y_tab.h: otp.y
$(YACC) -d -v $(srcdir)/otp.y
-test -f y.tab.c && mv -f y.tab.c y_tab.c
-test -f y.tab.h && mv -f y.tab.h y_tab.h
$(LEX_OUTPUT_ROOT).o: otp.h
-$(LEX_OUTPUT_ROOT).c: otp.l
+$(LEX_OUTPUT_ROOT).c: y_tab.h otp.l
$(LEX) $(srcdir)/otp.l
outocp: outocp.o
--- tetex-src-2.0.2/texk/web2c/omegafonts/Makefile.in.makej 2001-11-10 14:42:37.000000000 +0100
+++ tetex-src-2.0.2/texk/web2c/omegafonts/Makefile.in 2005-01-07 10:44:36.556112816 +0100
@@ -34,12 +34,13 @@
$(kpathsea_link) $(omfonts_objects) $(LEXLIB) $(LOADLIBES)
omfonts.o: omfonts.c y_tab.h
-y_tab.c y_tab.h: pl.y
+y_tab.c: y_tab.h
+y_tab.h: pl.y
$(YACC) -d -v $(srcdir)/pl.y
-test -f y.tab.c && mv -f y.tab.c y_tab.c
-test -f y.tab.h && mv -f y.tab.h y_tab.h
$(LEX_OUTPUT_ROOT).o: parser.h
-$(LEX_OUTPUT_ROOT).c: pl.l
+$(LEX_OUTPUT_ROOT).c: y_tab.h pl.l
$(LEX) $(srcdir)/pl.l
texlive-2007-pdvips.patch:
--- NEW FILE texlive-2007-pdvips.patch ---
--- dvipsk-p1.7a.patch.orig 2005-10-17 17:03:56.000000000 +0900
+++ dvipsk-p1.7a.patch 2007-08-16 14:51:19.000000000 +0900
@@ -1236,37 +1236,30 @@
}
diff -Nur dvipsk.orig/dvips.c dvipsk/dvips.c
---- dvipsk.orig/dvips.c Sun Jan 30 22:17:21 2005
-+++ dvipsk/dvips.c Thu Mar 3 11:11:55 2005
-@@ -44,12 +44,18 @@
- #include descrip
- #endif
+--- dvipsk.orig/dvips.c 2007-08-16 14:39:44.000000000 +0900
++++ dvipsk/dvips.c 2007-08-16 14:44:03.000000000 +0900
+@@ -45,6 +45,12 @@
+ #define DEFRES (600)
#endif
+
+#ifdef __APPLE__ /* for Mac OS X, T. Uchiyama */
+#include <sys/types.h>
+#include <sys/time.h>
+#include <sys/resource.h>
+#endif
++
/*
* First we define some globals.
*/
- #ifdef VMS
- static char ofnme[252],infnme[252],pap[40],thh[20];
- #endif
+@@ -55,6 +61,7 @@
+ /* PS fonts fully downloaded as headers */
+ char *downloadedpsnames[DOWNLOADEDPSSIZE];
+
+Boolean SJIS ; /* KANJI code */
+ int unused_top_of_psnames ; /* unused top number of downloadedpsnames[#] */
fontdesctype *fonthead ; /* list of all fonts mentioned so far */
fontdesctype *curfnt ; /* the currently selected font */
- sectiontype *sections ; /* sections to process document in */
-@@ -64,7 +70,7 @@
- Boolean cropmarks ; /* add cropmarks? */
- Boolean abspage = 0 ; /* are page numbers absolute? */
- Boolean tryepsf = 0 ; /* should we try to make it espf? */
--Boolean secure = 0 ; /* make safe for suid */
-+Boolean secure = 1 ; /* make safe for suid */
- int collatedcopies = 1 ; /* how many collated copies? */
- int sectioncopies = 1 ; /* how many times to repeat each section? */
- integer pagecopies = 1 ; /* how many times to repeat each page? */
-@@ -186,6 +192,7 @@
+@@ -194,6 +201,7 @@
char xdig[256]; /* table for reading hexadecimal digits */
char banner[] = BANNER ; /* our startup message */
char banner2[] = BANNER2 ; /* our second startup message */
@@ -1274,7 +1267,7 @@
Boolean noenv = 0 ; /* ignore PRINTER envir variable? */
Boolean dopprescan = 0 ; /* do we do a scan before the prescan? */
extern int dontmakefont ;
-@@ -284,6 +291,7 @@
+@@ -292,6 +300,7 @@
#else
" Z* Compress bitmap fonts ",
#endif
@@ -1282,7 +1275,7 @@
/* "- Interactive query of options", */
" # = number f = file s = string * = suffix, `0' to turn off ",
" c = comma-separated dimension pair (e.g., 3.2in,-32.1cm) ",
-@@ -294,16 +302,21 @@
+@@ -302,16 +311,21 @@
{
char **p;
FILE *f = status == 0 ? stdout : stderr;
@@ -1302,30 +1295,31 @@
+*/
+ fputs ("Email bug reports to www-ptex at ascii.co.jp.\n", f);
}
- /*
- * This error routine prints an error message; if the first
-@@ -440,6 +453,7 @@
- for (s="abcdef"; *s!=0; s++)
- xdig[(int)*s] = i++;
+
+ void
+@@ -461,6 +475,7 @@
+ for(i=0 ; i < DOWNLOADEDPSSIZE; i++)
+ downloadedpsnames[i] = NULL;
morestrings() ;
+ SJIS = 0;
maxpages = 100000 ;
numcopies = 1 ;
iname = fulliname = strings ;
-@@ -552,6 +566,12 @@
- int firstext = -1 ;
+@@ -574,6 +589,13 @@
#endif
- register sectiontype *sects ;
+ sectiontype *sects ;
+
+#ifdef __APPLE__ /* for Mac OS X, T. Uchiyama */
+ struct rlimit rl;
+ getrlimit(RLIMIT_STACK, &rl);
+ rl.rlim_cur = 2048 * 1024;
+ setrlimit(RLIMIT_STACK, &rl);
+#endif
-
++
#ifdef KPATHSEA
kpse_set_program_name (argv[0], "dvips");
-@@ -618,12 +638,12 @@
+ kpse_set_program_enabled (kpse_pk_format, MAKE_TEX_PK_BY_DEFAULT, kpse_src_compile);
+@@ -639,12 +661,12 @@
exit (0);
}
if (argc == 2 && strncmp(argv[1], "-?", 2) == 0) {
@@ -1340,8 +1334,8 @@
exit(0);
}
}
-@@ -747,10 +767,13 @@
- secure = (*p != '0') ;
+@@ -790,10 +812,13 @@
+ secure_option = 1 ; /* Never used */
break ;
case 'S':
- if (*p == 0 && argv[i+1])
@@ -1358,7 +1352,7 @@
break ;
case 'm' :
if (STREQ (p, "ode") && argv[i+1]) {
-@@ -892,7 +915,7 @@
+@@ -935,7 +960,7 @@
paperfmt = p ;
break ;
case 'v':
@@ -1367,7 +1361,7 @@
exit (0);
break;
case 'x' : case 'y' :
-@@ -1070,7 +1093,7 @@
+@@ -1113,7 +1138,7 @@
}
papsizes = (struct papsiz *)revlist((void *)papsizes) ;
if (queryoptions != 0) { /* get new options */
@@ -1376,38 +1370,40 @@
help(1) ;
queryargs();
if (qargc == 1)
-@@ -1108,7 +1131,7 @@
- getpsinfo((char *)NULL) ;
+@@ -1152,11 +1177,11 @@
revpslists() ;
- if (!quiet)
-- (void)fprintf(stderr, "%s %s\n", banner, banner2) ;
-+ (void)fprintf(stderr, "%s\n%s\n", banner, banner2) ;
+ if (dvips_debug_flag) {
+ if (!quiet)
+- (void)fprintf(stderr, "\n%s %s\n", banner, banner2) ;
++ (void)fprintf(stderr, "\n%s\n%s\n", banner, banner2) ;
+ prettycolumn = 0 ;
+ } else {
+ if (!quiet)
+- (void)fprintf(stderr, "%s %s\n", banner, banner2) ;
++ (void)fprintf(stderr, "%s\n%s\n", banner, banner2) ;
+ }
if (*iname) {
dvifile = fopen(iname, READBIN) ;
- /*
diff -Nur dvipsk.orig/dvips.h dvipsk/dvips.h
---- dvipsk.orig/dvips.h Sun Jan 30 22:17:15 2005
-+++ dvipsk/dvips.h Mon Oct 17 16:57:18 2005
-@@ -10,10 +10,15 @@
- */
-
+--- dvipsk.orig/dvips.h 2007-08-16 14:39:44.000000000 +0900
++++ dvipsk/dvips.h 2007-08-16 14:49:19.000000000 +0900
+@@ -7,9 +7,12 @@
/* This file is the header for dvips's global data structures. */
-+#define CREATIONDATE
-+
-+#define MAX_CODE 65536
+ #define CREATIONDATE
++#define MAX_CODE 65536
#define BANNER \
--"This is dvips(k) 5.95a Copyright 2005 Radical Eye Software"
+-"This is dvips(k) 5.96.1 Copyright 2007 Radical Eye Software"
-#define BANNER2 "(www.radicaleye.com)"
+"This is dvips(k) p1.7a Copyright 2005 ASCII Corp.(www-ptex at ascii.co.jp)"
+#define BANNER2 \
-+"based on dvips(k) 5.95a Copyright 2005 Radical Eye Software (www.radicaleye.com)"
++"This is dvips(k) 5.96.1 Copyright 2007 Radical Eye Software (www.radicaleye.com)"
+#define WEBURL "(www.radicaleye.com)"
#ifdef KPATHSEA
#include "config.h"
#include "debug.h"
-@@ -60,9 +65,9 @@
- #define STRINGSIZE (200000) /* maximum total chars in strings in program */
+@@ -56,9 +59,9 @@
+ #define STRINGSIZE (200000) /* maximum total chars in strings in program */
#define RASTERCHUNK (8192) /* size of chunk of raster */
#define MINCHUNK (240) /* minimum size char to get own raster */
-#define STACKSIZE (350) /* maximum stack size for dvi files */
@@ -1417,9 +1413,9 @@
+#define MAXFRAME (50) /* maximum depth of virtual font recursion */
+#define MAXFONTHD (1024) /* number of unique names of included fonts */
#define STDOUTSIZE (75) /* width of a standard output line */
+ #define DOWNLOADEDPSSIZE (1000) /* max number of downloaded fonts to check */
/*
- * Other constants, which define printer-dependent stuff.
-@@ -166,7 +171,7 @@
+@@ -163,7 +166,7 @@
* psfile. It can be 0, PREVPAGE, THISPAGE, or EXISTS.
*/
typedef struct tfd {
@@ -1428,7 +1424,7 @@
halfword dpi, loadeddpi ;
halfword alreadyscaled ;
halfword psname ;
-@@ -181,6 +186,7 @@
+@@ -178,6 +181,7 @@
struct tfd *nextsize;
char *scalename;
chardesctype *chardesc ;
texlive-2007-ptex-3.1.10.patch:
--- NEW FILE texlive-2007-ptex-3.1.10.patch ---
--- ptex-src-3.1.10/jbibtex.ch.orig 2006-05-29 11:27:25.000000000 +0900
+++ ptex-src-3.1.10/jbibtex.ch 2007-03-02 19:00:49.000000000 +0900
@@ -1504,7 +1504,7 @@
end; {Else it was a flag; |getopt| has already done the assignment.}
until getopt_return_val = -1;
if (version_switch) then
- print_version_and_exit (banner, 'Oren Patashnik', nil);
+ print_version_and_exit (banner, 'Oren Patashnik', nil, nil);
{Now |optind| is the index of first non-option on the command line.
We must have one remaining argument.}
--- ptex-src-3.1.10/pdvitype.ch.orig 2005-03-07 15:30:44.000000000 +0900
+++ ptex-src-3.1.10/pdvitype.ch 2007-03-02 19:00:11.000000000 +0900
@@ -1021,7 +1021,7 @@
usage_help (PDVITYPE_HELP, nil);
end else if argument_is ('version') then begin
- print_version_and_exit (banner, nil, 'D.E. Knuth');
+ print_version_and_exit (banner, nil, 'D.E. Knuth', nil);
end else if argument_is ('output-level') then begin
out_mode := atou (optarg);
--- ptex-src-3.1.10/pltotf.ch.orig 2006-07-18 17:03:33.000000000 +0900
+++ ptex-src-3.1.10/pltotf.ch 2007-03-02 18:59:39.000000000 +0900
@@ -427,7 +427,7 @@
@z
@x
end else if argument_is ('version') then begin
- print_version_and_exit (banner, nil, 'D.E. Knuth');
+ print_version_and_exit (banner, nil, 'D.E. Knuth', nil);
end; {Else it was a flag; |getopt| has already done the assignment.}
until getopt_return_val = -1;
@@ -441,7 +441,7 @@
end; {Else it was a flag; |getopt| has already done the assignment.}
until getopt_return_val = -1;
if (version_switch) then
- print_version_and_exit (banner, nil, 'D.E. Knuth');
+ print_version_and_exit (banner, nil, 'D.E. Knuth', nil);
@z
@x
--- ptex-src-3.1.10/ptexextra.c.orig 2006-05-29 11:27:25.000000000 +0900
+++ ptex-src-3.1.10/ptexextra.c 2007-03-02 14:48:05.000000000 +0900
@@ -953,7 +953,7 @@
} /* Else it was a flag; getopt has already done the assignment. */
}
if (version_switch) {
- printversionandexit (BANNER, COPYRIGHT_HOLDER, AUTHOR);
+ printversionandexit (BANNER, COPYRIGHT_HOLDER, AUTHOR, nil);
}
}
@@ -1718,7 +1718,7 @@
}
strnumber
-getjobname()
+getjobname(strnumber curname)
{
strnumber ret = curname;
if (job_name != NULL)
--- ptex-src-3.1.10/tftopl.ch.orig 2006-07-18 17:03:33.000000000 +0900
+++ ptex-src-3.1.10/tftopl.ch 2007-03-02 18:58:41.000000000 +0900
@@ -374,7 +374,7 @@
@z
@x
end else if argument_is ('version') then begin
- print_version_and_exit (banner, nil, 'D.E. Knuth');
+ print_version_and_exit (banner, nil, 'D.E. Knuth', nil);
@y
end else if argument_is ('version') then begin
version_switch := true;
@@ -389,7 +389,7 @@
end; {Else it was a flag; |getopt| has already done the assignment.}
until getopt_return_val = -1;
if (version_switch) then
- print_version_and_exit (banner, nil, 'D.E. Knuth');
+ print_version_and_exit (banner, nil, 'D.E. Knuth', nil);
@z
@x
--- ptex-src-3.1.10/version.c.orig 2006-05-29 11:27:25.000000000 +0900
+++ ptex-src-3.1.10/version.c 2007-03-02 15:38:03.000000000 +0900
@@ -3,8 +3,9 @@
/*** lib/printversion.c: Output for the option --version. ***/
void
-printversionandexit P3C(const_string, banner,
- const_string, copyright_holder, const_string, author)
+printversionandexit P4C(const_string, banner,
+ const_string, copyright_holder, const_string, author,
+ char*, extra_info)
{
extern string versionstring; /* from web2c/lib/version.c */
extern string based_prog_name;
texlive-2007-pxdvi.patch:
--- NEW FILE texlive-2007-pxdvi.patch ---
--- texlive-2007/texk/configure.in.pxdvi 2007-02-22 11:12:57.000000000 +0900
+++ texlive-2007/texk/configure.in 2007-02-22 11:16:07.000000000 +0900
@@ -76,6 +76,7 @@
tth
xdv2pdf
xdvik
+ pxdvik
xdvipdfmx
'
--- texlive-2007/texk/pxdvik/vfontmap.c.pxdvi 2007-02-22 11:12:58.000000000 +0900
+++ texlive-2007/texk/pxdvik/vfontmap.c 2007-02-22 11:12:58.000000000 +0900
@@ -8,7 +8,7 @@
#include "vfontmap.h"
#include "kpathsea/tex-file.h"
#ifndef DEFAULT_FONTMAP
-#define DEFAULT_FONTMAP "/usr/local/share/texmf/xdvi/vfontmap"
+#define DEFAULT_FONTMAP "/usr/share/texmf/pxdvi/vfontmap"
#endif
#ifdef KANJI
#if defined(USE_ZEIT) && defined(USE_VFONTMAP)
--- texlive-2007/texk/pxdvik/withenable.ac.pxdvi 2007-02-22 11:12:58.000000000 +0900
+++ texlive-2007/texk/pxdvik/withenable.ac 2007-02-22 11:12:58.000000000 +0900
@@ -83,9 +83,9 @@
fi],
AC_DEFINE(A4))
-VFONTMAP='$(texmf)/xdvi/vfontmap'
+VFONTMAP='$(texmf)/pxdvi/vfontmap'
AC_ARG_WITH(vfontmap,
-[ --with-vfontmap=FILE Use FILE as default vfontmap (default ${texmf}/xdvi/vfontmap)],
+[ --with-vfontmap=FILE Use FILE as default vfontmap (default ${texmf}/pxdvi/vfontmap)],
[VFONTMAP="$withval"])
AC_SUBST(VFONTMAP)
--- texlive-2007/texk/pxdvik/xdvi-config.h.pxdvi 2007-02-22 11:12:58.000000000 +0900
+++ texlive-2007/texk/pxdvik/xdvi-config.h 2007-02-22 11:12:58.000000000 +0900
@@ -35,7 +35,7 @@
#define DEFAULT_FONTCONF ""
#define USE_VFONTMAP
#ifndef DEFAULT_FONTMAP
-#define DEFAULT_FONTMAP "/usr/local/share/texmf/xdvi/vfontmap"
+#define DEFAULT_FONTMAP "/usr/share/texmf/pxdvi/vfontmap"
#endif /* DEFAULT_FONTMAP */
#define NTTZEIT
#endif /* KANJI */
--- texlive-2007/texk/pxdvik/texmf/XDvi.pxdvi 2007-02-22 11:12:58.000000000 +0900
+++ texlive-2007/texk/pxdvik/texmf/XDvi 2007-02-22 11:12:58.000000000 +0900
@@ -137,7 +137,7 @@
!!!------------------------------------------------------------------------------
!!! note: when i18n'ed, *font and *fontSet should have same size of font
*international: true
-*inputMethod: kinput2
+*inputMethod: SCIM
*preeditType: OverTheSpot,OffTheSpot,Root
!!! note: xdviSelFile can not be i18n'ed (bug?)
xdviSelFile*international: false
--- texlive-2007/texk/pxdvik/Makefile.in.pxdvi 2007-02-22 11:12:57.000000000 +0900
+++ texlive-2007/texk/pxdvik/Makefile.in 2007-02-22 11:12:58.000000000 +0900
@@ -11,6 +11,9 @@
all_subdirs = gui
+dvipsdir = $(texmf)/pdvips
+psheaderdir = $(dvipsdir)
+
CPP = @CPP@
# Make `#include <X11/...>' and `-lX...' work.
@@ -140,8 +143,8 @@
rm -f $(scriptdir)/o at wrapper_script@
ln -s @wrapper_script@ $(scriptdir)/o at wrapper_script@
### fix wrong CVS permissions for shell script
- $(INSTALL_SCRIPT) $(srcdir)/xdvizilla $(scriptdir)/xdvizilla
- chmod +x $(scriptdir)/xdvizilla
+ $(INSTALL_SCRIPT) $(srcdir)/xdvizilla $(scriptdir)/pxdvizilla
+ chmod +x $(scriptdir)/pxdvizilla
uninstall-exec:
for p in @final_exec_name@; do rm -f $(bindir)/$$p; done
@@ -149,42 +152,42 @@
install-data: $(manpage).1 pixmaps/toolbar.xpm pixmaps/toolbar2.xpm
$(SHELL) $(top_srcdir)/../mkinstalldirs $(man1dir)
- $(SHELL) $(top_srcdir)/../mkinstalldirs $(texmf)/xdvi/pixmaps
+ $(SHELL) $(top_srcdir)/../mkinstalldirs $(texmf)/pxdvi/pixmaps
$(INSTALL_DATA) $(manpage).1 $(man1dir)/$(manpage).$(manext)
rm -f $(man1dir)/o$(manpage).$(manext)
ln -s $(manpage).$(manext) $(man1dir)/o$(manpage).$(manext)
- $(INSTALL_DATA) $(srcdir)/texmf/XDvi $(texmf)/xdvi/XDvi
- $(INSTALL_DATA) $(srcdir)/pixmaps/toolbar.xpm $(srcdir)/pixmaps/toolbar2.xpm $(texmf)/xdvi/pixmaps
+ $(INSTALL_DATA) $(srcdir)/texmf/XDvi $(texmf)/pxdvi/XDvi
+ $(INSTALL_DATA) $(srcdir)/pixmaps/toolbar.xpm $(srcdir)/pixmaps/toolbar2.xpm $(texmf)/pxdvi/pixmaps
if \
- grep 'original xdvi.cfg --' $(texmf)/xdvi/xdvi.cfg >/dev/null 2>&1 \
- || test ! -r $(texmf)/xdvi/xdvi.cfg; \
+ grep 'original xdvi.cfg --' $(texmf)/pxdvi/xdvi.cfg >/dev/null 2>&1 \
+ || test ! -r $(texmf)/pxdvi/xdvi.cfg; \
then \
- $(INSTALL_DATA) $(srcdir)/texmf/xdvi.cfg $(texmf)/xdvi/xdvi.cfg; \
+ $(INSTALL_DATA) $(srcdir)/texmf/xdvi.cfg $(texmf)/pxdvi/xdvi.cfg; \
else \
true; \
fi
$(INSTALL_DATA) $(srcdir)/xdvizilla.1 $(man1dir)/xdvizilla.$(manext)
- $(INSTALL_DATA) $(srcdir)/vfontmap.sample $(texmf)/xdvi/
+ $(INSTALL_DATA) $(srcdir)/vfontmap.sample $(texmf)/pxdvi/
if test ! -f $(VFONTMAP); then \
$(INSTALL_DATA) $(srcdir)/vfontmap.sample $(VFONTMAP); \
fi
uninstall-data:
rm -f $(man1dir)/$(manpage).$(manext) $(man1dir)/xdvizilla.$(manext) \
- $(scriptdir)/xdvizilla \
- $(texmf)/xdvi/pixmaps/toolbar.xpm $(texmf)/xdvi/pixmaps/toolbar2.xpm \
- $(texmf)/xdvi/XDvi
+ $(scriptdir)/pxdvizilla \
+ $(texmf)/pxdvi/pixmaps/toolbar.xpm $(texmf)/pxdvi/pixmaps/toolbar2.xpm \
+ $(texmf)/pxdvi/XDvi
if \
- head -n 1 $(texmf)/xdvi/xdvi.cfg | grep 'original xdvi.cfg --' >/dev/null 2>&1 \
- || test ! -r $(texmf)/xdvi/xdvi.cfg; \
+ head -n 1 $(texmf)/pxdvi/xdvi.cfg | grep 'original xdvi.cfg --' >/dev/null 2>&1 \
+ || test ! -r $(texmf)/pxdvi/xdvi.cfg; \
then \
- rm -f $(texmf)/xdvi/xdvi.cfg; \
+ rm -f $(texmf)/pxdvi/xdvi.cfg; \
else \
true; \
fi
- rmdir $(texmf)/xdvi/pixmaps
+ rmdir $(texmf)/pxdvi/pixmaps
-distname = xdvik
+distname = pxdvik
program_files = *.1.in *.ac xdvi.icon xdvi.FAQ psheader.txt mksedscript \
MOTIF
version_files = xdvi.c
--- texlive-2007/texk/pxdvik/xdvi-sh.in.pxdvi 2006-01-18 06:41:51.000000000 +0900
+++ texlive-2007/texk/pxdvik/xdvi-sh.in 2007-02-22 11:12:58.000000000 +0900
@@ -28,7 +28,7 @@
NAMEOPT='-name xdvi';;
esac
-xdviappfile=`kpsewhich -progname=xdvi --format='other text files' XDvi`
+xdviappfile=`kpsewhich -progname=pxdvi --format='other text files' XDvi`
if test -n "$xdviappfile"; then
xdviappdir=`dirname "$xdviappfile"`
xdviapppath="${xdviappdir}/%l_%t/%N:${xdviappdir}/%N"
texlive-2007-tkdep.patch:
--- NEW FILE texlive-2007-tkdep.patch ---
--- tetex-src-3.0/texk/tetex/texdoctk.tkdep 2004-11-06 00:12:14.000000000 +0100
+++ tetex-src-3.0/texk/tetex/texdoctk 2005-07-18 14:57:54.132164864 +0200
@@ -9,7 +9,11 @@
# and the full disclaimer.
###############################################################################
use strict;
-use Tk;
+BEGIN {
+ eval {require Tk;};
+ die "This program requires perl-Tk. Try to look in fedora-extras.\n" if $@;
+ import Tk;
+}
use Getopt::Long;
Getopt::Long::config('bundling');
use File::Basename;
texlive-2007-tmpcleanup.patch:
--- NEW FILE texlive-2007-tmpcleanup.patch ---
--- TeX/texk/tetex/texconfig.tmpcleanup 2006-05-24 17:21:48.000000000 -0700
+++ TeX/texk/tetex/texconfig 2006-05-24 17:23:55.000000000 -0700
@@ -38,7 +38,8 @@
TEXSOURCES TFMFONTS TRFONTS TTFONTS VFFONTS WEB2C WEBINPUTS
"
tmpdir=`mktemp -d "${TMP-/tmp}/$progname.XXXXXX"` || exit 1
-needsCleanup=false
+trap -- "cleanup;" EXIT 1 2 3 7 13 15
+needsCleanup=true
lastUpdatedFile=
###############################################################################
--- TeX/texk/tetex/updmap.tmpcleanup 2006-05-24 17:24:18.000000000 -0700
+++ TeX/texk/tetex/updmap 2006-05-24 17:26:39.000000000 -0700
@@ -1288,7 +1288,7 @@
texhashEnabled=true
mkmapEnabled=true
verbose=true
- needsCleanup=false
+ needsCleanup=true
cnfFileShort=updmap.cfg
cnfFile=
@@ -1296,7 +1296,8 @@
: ${TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`}
tmpdir=`mktemp -d ${TMP-/tmp}/$progname.XXXXXX` || \
- abort "could not create directory"
+ abort "could not create temporary directory"
+ trap -- "cleanup;" EXIT 1 2 3 7 13 15
tmp1=$tmpdir/a
tmp2=$tmpdir/b
tmp3=$tmpdir/c
--- TeX/texk/tetex/fmtutil.tmpcleanup 2006-05-24 17:27:13.000000000 -0700
+++ TeX/texk/tetex/fmtutil 2006-05-24 17:30:36.000000000 -0700
@@ -349,11 +349,13 @@
destdir= # global variable: where do we put the format files?
cnf_file= # global variable: full name of the config file
cmd= # desired action from command line
- needsCleanup=false
+ needsCleanup=true
need_find_hyphenfile=false
cfgparam=
cfgmaint=
- tmpdir=`mktemp -d ${TMP-/tmp}/$progname.XXXXXX`
+ tmpdir=`mktemp -d ${TMP-/tmp}/$progname.XXXXXX` || \
+ abort "could not create temporary directory"
+ trap -- "cleanup;" EXIT 1 2 3 7 13 15
verboseFlag=true
# mktexfmtMode: if called as mktexfmt, set to true. Will echo the generated
texlive-2007-xdvi-keepflag.patch:
--- NEW FILE texlive-2007-xdvi-keepflag.patch ---
--- tetex-src-3.0/texk/xdvik/events.c.xdvi-keepflag 2004-11-29 17:45:11.000000000 -0700
+++ tetex-src-3.0/texk/xdvik/events.c 2005-11-02 17:02:19.000000000 -0700
@@ -696,10 +696,12 @@ home(wide_bool scrl)
{
int value;
- value = (globals.page.w - mane.width) / 2;
- if (value > resource.sidemargin_int / mane.shrinkfactor)
- value = resource.sidemargin_int / mane.shrinkfactor;
- (void)set_bar_value(globals.widgets.x_bar, value, (int)(globals.page.w - mane.width));
+ if (!resource.keep_flag) {
+ value = (globals.page.w - mane.width) / 2;
+ if (value > resource.sidemargin_int / mane.shrinkfactor)
+ value = resource.sidemargin_int / mane.shrinkfactor;
+ (void)set_bar_value(globals.widgets.x_bar, value, (int)(globals.page.w - mane.width));
+ }
value = (globals.page.h - mane.height) / 2;
if (value > resource.topmargin_int / mane.shrinkfactor)
@@ -745,10 +747,12 @@ home_bottom(wide_bool scrl)
{
int value;
- value = (globals.page.w - mane.width) / 2;
- if (value > resource.sidemargin_int / mane.shrinkfactor)
- value = resource.sidemargin_int / mane.shrinkfactor;
- (void)set_bar_value(globals.widgets.x_bar, value, (int)(globals.page.w - mane.width));
+ if (!resource.keep_flag) {
+ value = (globals.page.w - mane.width) / 2;
+ if (value > resource.sidemargin_int / mane.shrinkfactor)
+ value = resource.sidemargin_int / mane.shrinkfactor;
+ (void)set_bar_value(globals.widgets.x_bar, value, (int)(globals.page.w - mane.width));
+ }
(void)set_bar_value(globals.widgets.y_bar, (int)(globals.page.h - mane.height), (int)(globals.page.h - mane.height));
}
texlive-2007-xprint.patch:
--- NEW FILE texlive-2007-xprint.patch ---
--- tetex-src-3.0/texk/xdvik/configure.in.xprint 2006-05-05 16:31:52.000000000 -0400
+++ tetex-src-3.0/texk/xdvik/configure.in 2006-05-05 16:32:07.000000000 -0400
@@ -105,8 +105,8 @@
else
XLFLAG=
fi
- AC_CHECK_LIB(Xp, XpQueryVersion,
- x_ext_lib="-lXp -lXext", :, -lXext -lX11 $X_EXTRA_LIBS $XLFLAG)
+# AC_CHECK_LIB(Xp, XpQueryVersion,
+# x_ext_lib="-lXp -lXext", :, -lXext -lX11 $X_EXTRA_LIBS $XLFLAG)
fi
dnl
dnl If libXp not found, try libXext only:
texlive-Build_script.patch:
--- NEW FILE texlive-Build_script.patch ---
---
build/source/Build | 22 ++++++++++++++++++----
1 file changed, 18 insertions(+), 4 deletions(-)
Index: texlive-bin-2007/build/source/Build
===================================================================
--- texlive-bin-2007.orig/build/source/Build 2006-12-14 03:12:38.000000000 +0100
+++ texlive-bin-2007/build/source/Build 2007-02-14 15:56:00.000000000 +0100
@@ -47,11 +47,25 @@
# Force building xdvi-xaw; motif is not always free and/or available.
# --enable-gif is for sam2p; the gif patent has expired worldwide.
-(set -x; \
- time $TL_CONFIGURE \
+case $1 in
+ configure)
+ shift
+ (set -x; \
+ $TL_CONFIGURE \
--prefix=$TL_INSTALL_DEST \
--datadir=$TL_INSTALL_DEST \
$TL_XDVI_TOOLKIT \
$TL_CONFIGURE_ARGS \
- "$@" \
- && time $TL_MAKE $TL_TARGET)
+ "$@" )
+ ;;
+ build)
+ # not make world, this would strip
+ shift
+ make all
+ make install
+ ;;
+ *)
+ echo "This script must be invoked with argument configure or build"
+ ;;
+esac
+
texlive-CVE-2007-4033.patch:
--- NEW FILE texlive-CVE-2007-4033.patch ---
diff -up tetex-src-3.0/libs/t1lib/t1env.c.CVE-2007-4033 tetex-src-3.0/libs/t1lib/t1env.c
--- tetex-src-3.0/libs/t1lib/t1env.c.CVE-2007-4033 2004-01-27 23:26:31.000000000 +0100
+++ tetex-src-3.0/libs/t1lib/t1env.c 2007-11-02 12:48:20.000000000 +0100
@@ -568,6 +568,12 @@ char *intT1_Env_GetCompletePath( char *F
#endif
strcat( pathbuf, DIRECTORY_SEP);
/* And finally the filename: */
+ /* If current pathbuf + StrippedName + 1 byte for NULL is bigger than pathbuf
+ let's try next pathbuf */
+ if( strlen(pathbuf) + strlen(StrippedName) + 1 > sizeof(pathbuf) ) {
+ i++;
+ continue;
+ }
strcat( pathbuf, StrippedName);
/* Check for existence of the path: */
texlive-CVE-2007-4352-5392-5393.patch:
--- NEW FILE texlive-CVE-2007-4352-5392-5393.patch ---
diff -up texlive-2007/libs/xpdf/xpdf/Stream.h.CVE-2007-4352-5392-5393 texlive-2007/libs/xpdf/xpdf/Stream.h
--- texlive-2007/libs/xpdf/xpdf/Stream.h.CVE-2007-4352-5392-5393 2007-08-14 14:03:52.000000000 +0200
+++ texlive-2007/libs/xpdf/xpdf/Stream.h 2007-11-20 15:16:48.000000000 +0100
@@ -528,13 +528,15 @@ private:
int row; // current row
int inputBuf; // input buffer
int inputBits; // number of bits in input buffer
- short *refLine; // reference line changing elements
- int b1; // index into refLine
- short *codingLine; // coding line changing elements
- int a0; // index into codingLine
+ int *codingLine; // coding line changing elements
+ int *refLine; // reference line changing elements
+ int a0i; // index into codingLine
+ GBool err; // error on current line
int outputBits; // remaining ouput bits
int buf; // character buffer
+ void addPixels(int a1, int black);
+ void addPixelsNeg(int a1, int black);
short getTwoDimCode();
short getWhiteCode();
short getBlackCode();
diff -up texlive-2007/libs/xpdf/xpdf/Stream.cc.CVE-2007-4352-5392-5393 texlive-2007/libs/xpdf/xpdf/Stream.cc
--- texlive-2007/libs/xpdf/xpdf/Stream.cc.CVE-2007-4352-5392-5393 2007-08-14 14:03:52.000000000 +0200
+++ texlive-2007/libs/xpdf/xpdf/Stream.cc 2007-11-20 15:16:48.000000000 +0100
@@ -1243,23 +1243,26 @@ CCITTFaxStream::CCITTFaxStream(Stream *s
columns = columnsA;
if (columns < 1) {
columns = 1;
- }
- if (columns + 4 <= 0) {
- columns = INT_MAX - 4;
+ } else if (columns > INT_MAX - 2) {
+ columns = INT_MAX - 2;
}
rows = rowsA;
endOfBlock = endOfBlockA;
black = blackA;
- refLine = (short *)gmallocn(columns + 3, sizeof(short));
- codingLine = (short *)gmallocn(columns + 2, sizeof(short));
+ // 0 <= codingLine[0] < codingLine[1] < ... < codingLine[n] = columns
+ // ---> max codingLine size = columns + 1
+ // refLine has one extra guard entry at the end
+ // ---> max refLine size = columns + 2
+ codingLine = (int *)gmallocn(columns + 1, sizeof(int));
+ refLine = (int *)gmallocn(columns + 2, sizeof(int));
eof = gFalse;
row = 0;
nextLine2D = encoding < 0;
inputBits = 0;
- codingLine[0] = 0;
- codingLine[1] = refLine[2] = columns;
- a0 = 1;
+ codingLine[0] = columns;
+ a0i = 0;
+ outputBits = 0;
buf = EOF;
}
@@ -1278,9 +1281,9 @@ void CCITTFaxStream::reset() {
row = 0;
nextLine2D = encoding < 0;
inputBits = 0;
- codingLine[0] = 0;
- codingLine[1] = columns;
- a0 = 1;
+ codingLine[0] = columns;
+ a0i = 0;
+ outputBits = 0;
buf = EOF;
// skip any initial zero bits and end-of-line marker, and get the 2D
@@ -1297,211 +1300,230 @@ void CCITTFaxStream::reset() {
}
}
+inline void CCITTFaxStream::addPixels(int a1, int blackPixels) {
+ if (a1 > codingLine[a0i]) {
+ if (a1 > columns) {
+ error(getPos(), "CCITTFax row is wrong length (%d)", a1);
+ err = gTrue;
+ a1 = columns;
+ }
+ if ((a0i & 1) ^ blackPixels) {
+ ++a0i;
+ }
+ codingLine[a0i] = a1;
+ }
+}
+
+inline void CCITTFaxStream::addPixelsNeg(int a1, int blackPixels) {
+ if (a1 > codingLine[a0i]) {
+ if (a1 > columns) {
+ error(getPos(), "CCITTFax row is wrong length (%d)", a1);
+ err = gTrue;
+ a1 = columns;
+ }
+ if ((a0i & 1) ^ blackPixels) {
+ ++a0i;
+ }
+ codingLine[a0i] = a1;
+ } else if (a1 < codingLine[a0i]) {
+ if (a1 < 0) {
+ error(getPos(), "Invalid CCITTFax code");
+ err = gTrue;
+ a1 = 0;
+ }
+ while (a0i > 0 && a1 <= codingLine[a0i - 1]) {
+ --a0i;
+ }
+ codingLine[a0i] = a1;
+ }
+}
+
int CCITTFaxStream::lookChar() {
short code1, code2, code3;
- int a0New;
- GBool err, gotEOL;
- int ret;
- int bits, i;
+ int b1i, blackPixels, i, bits;
+ GBool gotEOL;
- // if at eof just return EOF
- if (eof && codingLine[a0] >= columns) {
- return EOF;
+ if (buf != EOF) {
+ return buf;
}
// read the next row
- err = gFalse;
- if (codingLine[a0] >= columns) {
+ if (outputBits == 0) {
+
+ // if at eof just return EOF
+ if (eof) {
+ return EOF;
+ }
+
+ err = gFalse;
// 2-D encoding
if (nextLine2D) {
- // state:
- // a0New = current position in coding line (0 <= a0New <= columns)
- // codingLine[a0] = last change in coding line
- // (black-to-white if a0 is even,
- // white-to-black if a0 is odd)
- // refLine[b1] = next change in reference line of opposite color
- // to a0
- // invariants:
- // 0 <= codingLine[a0] <= a0New
- // <= refLine[b1] <= refLine[b1+1] <= columns
- // 0 <= a0 <= columns+1
- // refLine[0] = 0
- // refLine[n] = refLine[n+1] = columns
- // -- for some 1 <= n <= columns+1
- // end condition:
- // 0 = codingLine[0] <= codingLine[1] < codingLine[2] < ...
- // < codingLine[n-1] < codingLine[n] = columns
- // -- where 1 <= n <= columns+1
for (i = 0; codingLine[i] < columns; ++i) {
refLine[i] = codingLine[i];
}
- refLine[i] = refLine[i + 1] = columns;
- b1 = 1;
- a0New = codingLine[a0 = 0] = 0;
- do {
+ refLine[i++] = columns;
+ refLine[i] = columns;
+ codingLine[0] = 0;
+ a0i = 0;
+ b1i = 0;
+ blackPixels = 0;
+ // invariant:
+ // refLine[b1i-1] <= codingLine[a0i] < refLine[b1i] < refLine[b1i+1]
+ // <= columns
+ // exception at left edge:
+ // codingLine[a0i = 0] = refLine[b1i = 0] = 0 is possible
+ // exception at right edge:
+ // refLine[b1i] = refLine[b1i+1] = columns is possible
+ while (codingLine[a0i] < columns) {
code1 = getTwoDimCode();
switch (code1) {
case twoDimPass:
- if (refLine[b1] < columns) {
- a0New = refLine[b1 + 1];
- b1 += 2;
+ addPixels(refLine[b1i + 1], blackPixels);
+ if (refLine[b1i + 1] < columns) {
+ b1i += 2;
}
break;
case twoDimHoriz:
- if ((a0 & 1) == 0) {
- code1 = code2 = 0;
+ code1 = code2 = 0;
+ if (blackPixels) {
do {
- code1 += code3 = getWhiteCode();
+ code1 += code3 = getBlackCode();
} while (code3 >= 64);
do {
- code2 += code3 = getBlackCode();
+ code2 += code3 = getWhiteCode();
} while (code3 >= 64);
} else {
- code1 = code2 = 0;
do {
- code1 += code3 = getBlackCode();
+ code1 += code3 = getWhiteCode();
} while (code3 >= 64);
do {
- code2 += code3 = getWhiteCode();
+ code2 += code3 = getBlackCode();
} while (code3 >= 64);
}
- if (code1 > 0 || code2 > 0) {
- if (a0New + code1 <= columns) {
- codingLine[a0 + 1] = a0New + code1;
- } else {
- codingLine[a0 + 1] = columns;
- }
- ++a0;
- if (codingLine[a0] + code2 <= columns) {
- codingLine[a0 + 1] = codingLine[a0] + code2;
- } else {
- codingLine[a0 + 1] = columns;
- }
- ++a0;
- a0New = codingLine[a0];
- while (refLine[b1] <= a0New && refLine[b1] < columns) {
- b1 += 2;
+ addPixels(codingLine[a0i] + code1, blackPixels);
+ if (codingLine[a0i] < columns) {
+ addPixels(codingLine[a0i] + code2, blackPixels ^ 1);
+ }
+ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
+ b1i += 2;
+ }
+ break;
+ case twoDimVertR3:
+ addPixels(refLine[b1i] + 3, blackPixels);
+ blackPixels ^= 1;
+ if (codingLine[a0i] < columns) {
+ ++b1i;
+ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
+ b1i += 2;
}
}
break;
- case twoDimVert0:
- if (refLine[b1] < columns) {
- a0New = codingLine[++a0] = refLine[b1];
- ++b1;
- while (refLine[b1] <= a0New && refLine[b1] < columns) {
- b1 += 2;
+ case twoDimVertR2:
+ addPixels(refLine[b1i] + 2, blackPixels);
+ blackPixels ^= 1;
+ if (codingLine[a0i] < columns) {
+ ++b1i;
+ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
+ b1i += 2;
}
- } else {
- a0New = codingLine[++a0] = columns;
}
break;
case twoDimVertR1:
- if (refLine[b1] + 1 < columns) {
- a0New = codingLine[++a0] = refLine[b1] + 1;
- ++b1;
- while (refLine[b1] <= a0New && refLine[b1] < columns) {
- b1 += 2;
+ addPixels(refLine[b1i] + 1, blackPixels);
+ blackPixels ^= 1;
+ if (codingLine[a0i] < columns) {
+ ++b1i;
+ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
+ b1i += 2;
}
- } else {
- a0New = codingLine[++a0] = columns;
}
break;
- case twoDimVertL1:
- if (refLine[b1] - 1 > a0New || (a0 == 0 && refLine[b1] == 1)) {
- a0New = codingLine[++a0] = refLine[b1] - 1;
- --b1;
- while (refLine[b1] <= a0New && refLine[b1] < columns) {
- b1 += 2;
+ case twoDimVert0:
+ addPixels(refLine[b1i], blackPixels);
+ blackPixels ^= 1;
+ if (codingLine[a0i] < columns) {
+ ++b1i;
+ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
+ b1i += 2;
}
}
break;
- case twoDimVertR2:
- if (refLine[b1] + 2 < columns) {
- a0New = codingLine[++a0] = refLine[b1] + 2;
- ++b1;
- while (refLine[b1] <= a0New && refLine[b1] < columns) {
- b1 += 2;
+ case twoDimVertL3:
+ addPixelsNeg(refLine[b1i] - 3, blackPixels);
+ blackPixels ^= 1;
+ if (codingLine[a0i] < columns) {
+ if (b1i > 0) {
+ --b1i;
+ } else {
+ ++b1i;
+ }
+ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
+ b1i += 2;
}
- } else {
- a0New = codingLine[++a0] = columns;
}
break;
case twoDimVertL2:
- if (refLine[b1] - 2 > a0New || (a0 == 0 && refLine[b1] == 2)) {
- a0New = codingLine[++a0] = refLine[b1] - 2;
- --b1;
- while (refLine[b1] <= a0New && refLine[b1] < columns) {
- b1 += 2;
+ addPixelsNeg(refLine[b1i] - 2, blackPixels);
+ blackPixels ^= 1;
+ if (codingLine[a0i] < columns) {
+ if (b1i > 0) {
+ --b1i;
+ } else {
+ ++b1i;
}
- }
- break;
- case twoDimVertR3:
- if (refLine[b1] + 3 < columns) {
- a0New = codingLine[++a0] = refLine[b1] + 3;
- ++b1;
- while (refLine[b1] <= a0New && refLine[b1] < columns) {
- b1 += 2;
+ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
+ b1i += 2;
}
- } else {
- a0New = codingLine[++a0] = columns;
}
break;
- case twoDimVertL3:
- if (refLine[b1] - 3 > a0New || (a0 == 0 && refLine[b1] == 3)) {
- a0New = codingLine[++a0] = refLine[b1] - 3;
- --b1;
- while (refLine[b1] <= a0New && refLine[b1] < columns) {
- b1 += 2;
+ case twoDimVertL1:
+ addPixelsNeg(refLine[b1i] - 1, blackPixels);
+ blackPixels ^= 1;
+ if (codingLine[a0i] < columns) {
+ if (b1i > 0) {
+ --b1i;
+ } else {
+ ++b1i;
+ }
+ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
+ b1i += 2;
}
}
break;
case EOF:
+ addPixels(columns, 0);
eof = gTrue;
- codingLine[a0 = 0] = columns;
- return EOF;
+ break;
default:
error(getPos(), "Bad 2D code %04x in CCITTFax stream", code1);
+ addPixels(columns, 0);
err = gTrue;
break;
}
- } while (codingLine[a0] < columns);
+ }
// 1-D encoding
} else {
- codingLine[a0 = 0] = 0;
- while (1) {
+ codingLine[0] = 0;
+ a0i = 0;
+ blackPixels = 0;
+ while (codingLine[a0i] < columns) {
code1 = 0;
- do {
- code1 += code3 = getWhiteCode();
- } while (code3 >= 64);
- codingLine[a0+1] = codingLine[a0] + code1;
- ++a0;
- if (codingLine[a0] >= columns) {
- break;
- }
- code2 = 0;
- do {
- code2 += code3 = getBlackCode();
- } while (code3 >= 64);
- codingLine[a0+1] = codingLine[a0] + code2;
- ++a0;
- if (codingLine[a0] >= columns) {
- break;
+ if (blackPixels) {
+ do {
+ code1 += code3 = getBlackCode();
+ } while (code3 >= 64);
+ } else {
+ do {
+ code1 += code3 = getWhiteCode();
+ } while (code3 >= 64);
}
+ addPixels(codingLine[a0i] + code1, blackPixels);
+ blackPixels ^= 1;
}
}
- if (codingLine[a0] != columns) {
- error(getPos(), "CCITTFax row is wrong length (%d)", codingLine[a0]);
- // force the row to be the correct length
- while (codingLine[a0] > columns) {
- --a0;
- }
- codingLine[++a0] = columns;
- err = gTrue;
- }
-
// byte-align the row
if (byteAlign) {
inputBits &= ~7;
@@ -1560,14 +1582,17 @@ int CCITTFaxStream::lookChar() {
// this if we know the stream contains end-of-line markers because
// the "just plow on" technique tends to work better otherwise
} else if (err && endOfLine) {
- do {
+ while (1) {
+ code1 = lookBits(13);
if (code1 == EOF) {
eof = gTrue;
return EOF;
}
+ if ((code1 >> 1) == 0x001) {
+ break;
+ }
eatBits(1);
- code1 = lookBits(13);
- } while ((code1 >> 1) != 0x001);
+ }
eatBits(12);
if (encoding > 0) {
eatBits(1);
@@ -1575,11 +1600,11 @@ int CCITTFaxStream::lookChar() {
}
}
- a0 = 0;
- outputBits = codingLine[1] - codingLine[0];
- if (outputBits == 0) {
- a0 = 1;
- outputBits = codingLine[2] - codingLine[1];
+ // set up for output
+ if (codingLine[0] > 0) {
+ outputBits = codingLine[a0i = 0];
+ } else {
+ outputBits = codingLine[a0i = 1];
}
++row;
@@ -1587,39 +1612,43 @@ int CCITTFaxStream::lookChar() {
// get a byte
if (outputBits >= 8) {
- ret = ((a0 & 1) == 0) ? 0xff : 0x00;
- if ((outputBits -= 8) == 0) {
- ++a0;
- if (codingLine[a0] < columns) {
- outputBits = codingLine[a0 + 1] - codingLine[a0];
- }
+ buf = (a0i & 1) ? 0x00 : 0xff;
+ outputBits -= 8;
+ if (outputBits == 0 && codingLine[a0i] < columns) {
+ ++a0i;
+ outputBits = codingLine[a0i] - codingLine[a0i - 1];
}
} else {
bits = 8;
- ret = 0;
+ buf = 0;
do {
if (outputBits > bits) {
- i = bits;
- bits = 0;
- if ((a0 & 1) == 0) {
- ret |= 0xff >> (8 - i);
+ buf <<= bits;
+ if (!(a0i & 1)) {
+ buf |= 0xff >> (8 - bits);
}
- outputBits -= i;
+ outputBits -= bits;
+ bits = 0;
} else {
- i = outputBits;
- bits -= outputBits;
- if ((a0 & 1) == 0) {
- ret |= (0xff >> (8 - i)) << bits;
+ buf <<= outputBits;
+ if (!(a0i & 1)) {
+ buf |= 0xff >> (8 - outputBits);
}
+ bits -= outputBits;
outputBits = 0;
- ++a0;
- if (codingLine[a0] < columns) {
- outputBits = codingLine[a0 + 1] - codingLine[a0];
+ if (codingLine[a0i] < columns) {
+ ++a0i;
+ outputBits = codingLine[a0i] - codingLine[a0i - 1];
+ } else if (bits > 0) {
+ buf <<= bits;
+ bits = 0;
}
}
- } while (bits > 0 && codingLine[a0] < columns);
+ } while (bits);
+ }
+ if (black) {
+ buf ^= 0xff;
}
- buf = black ? (ret ^ 0xff) : ret;
return buf;
}
@@ -1661,6 +1690,9 @@ short CCITTFaxStream::getWhiteCode() {
code = 0; // make gcc happy
if (endOfBlock) {
code = lookBits(12);
+ if (code == EOF) {
+ return 1;
+ }
if ((code >> 5) == 0) {
p = &whiteTab1[code];
} else {
@@ -1673,6 +1705,9 @@ short CCITTFaxStream::getWhiteCode() {
} else {
for (n = 1; n <= 9; ++n) {
code = lookBits(n);
+ if (code == EOF) {
+ return 1;
+ }
if (n < 9) {
code <<= 9 - n;
}
@@ -1684,6 +1719,9 @@ short CCITTFaxStream::getWhiteCode() {
}
for (n = 11; n <= 12; ++n) {
code = lookBits(n);
+ if (code == EOF) {
+ return 1;
+ }
if (n < 12) {
code <<= 12 - n;
}
@@ -1709,9 +1747,12 @@ short CCITTFaxStream::getBlackCode() {
code = 0; // make gcc happy
if (endOfBlock) {
code = lookBits(13);
+ if (code == EOF) {
+ return 1;
+ }
if ((code >> 7) == 0) {
p = &blackTab1[code];
- } else if ((code >> 9) == 0) {
+ } else if ((code >> 9) == 0 && (code >> 7) != 0) {
p = &blackTab2[(code >> 1) - 64];
} else {
p = &blackTab3[code >> 7];
@@ -1723,6 +1764,9 @@ short CCITTFaxStream::getBlackCode() {
} else {
for (n = 2; n <= 6; ++n) {
code = lookBits(n);
+ if (code == EOF) {
+ return 1;
+ }
if (n < 6) {
code <<= 6 - n;
}
@@ -1734,6 +1778,9 @@ short CCITTFaxStream::getBlackCode() {
}
for (n = 7; n <= 12; ++n) {
code = lookBits(n);
+ if (code == EOF) {
+ return 1;
+ }
if (n < 12) {
code <<= 12 - n;
}
@@ -1747,6 +1794,9 @@ short CCITTFaxStream::getBlackCode() {
}
for (n = 10; n <= 13; ++n) {
code = lookBits(n);
+ if (code == EOF) {
+ return 1;
+ }
if (n < 13) {
code <<= 13 - n;
}
@@ -1961,6 +2011,12 @@ void DCTStream::reset() {
// allocate a buffer for the whole image
bufWidth = ((width + mcuWidth - 1) / mcuWidth) * mcuWidth;
bufHeight = ((height + mcuHeight - 1) / mcuHeight) * mcuHeight;
+ if (bufWidth <= 0 || bufHeight <= 0 ||
+ bufWidth > INT_MAX / bufWidth / (int)sizeof(int)) {
+ error(getPos(), "Invalid image size in DCT stream");
+ y = height;
+ return;
+ }
for (i = 0; i < numComps; ++i) {
frameBuf[i] = (int *)gmallocn(bufWidth * bufHeight, sizeof(int));
memset(frameBuf[i], 0, bufWidth * bufHeight * sizeof(int));
@@ -3036,6 +3092,11 @@ GBool DCTStream::readScanInfo() {
}
scanInfo.firstCoeff = str->getChar();
scanInfo.lastCoeff = str->getChar();
+ if (scanInfo.firstCoeff < 0 || scanInfo.lastCoeff > 63 ||
+ scanInfo.firstCoeff > scanInfo.lastCoeff) {
+ error(getPos(), "Bad DCT coefficient numbers in scan info block");
+ return gFalse;
+ }
c = str->getChar();
scanInfo.ah = (c >> 4) & 0x0f;
scanInfo.al = c & 0x0f;
texlive-checklib_fixes.patch:
--- NEW FILE texlive-checklib_fixes.patch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 54_checklib_fixes.dpatch by Norbert Preining
##
## DP: fix unnecessary libraries in the ELF header, ie libs which were
## DP: added to teh bin at linking stage
@DPATCH@
build/source/texk/web2c/Makefile.in | 4 ++--
build/source/texk/xdvik/Makefile.in | 4 ++--
build/source/utils/pdfopen/Makefile.in | 2 +-
3 files changed, 5 insertions(+), 5 deletions(-)
Index: texlive-bin-2006.svn3816/build/source/texk/web2c/Makefile.in
===================================================================
--- texlive-bin-2006.svn3816.orig/build/source/texk/web2c/Makefile.in 2007-01-10 18:39:42.000000000 +0100
+++ texlive-bin-2006.svn3816/build/source/texk/web2c/Makefile.in 2007-01-26 04:03:16.000000000 +0100
@@ -55,10 +55,10 @@
# All the x_... variables will be empty if we aren't supporting X.
x_cppflags = @X_CFLAGS@
x_ldflags = @X_LIBS@
-x_pre_libs = @X_PRE_LIBS@
+x_pre_libs = # disabled since it created unnecessary deps @X_PRE_LIBS@
x_extra_libs = @X_EXTRA_LIBS@
x_tool_libs = @x_tool_libs@
-x_ext_lib = @x_ext_lib@
+x_ext_lib = # disabled since it created unnecessary deps @x_ext_lib@
wlibs = @wlibs@
# Follow the library order used in X11R6 itself:
# -lXaw -lXmu -lXt -lSM -lICE -lXext -lX11 (some may not be present).
Index: texlive-bin-2006.svn3816/build/source/texk/xdvik/Makefile.in
===================================================================
--- texlive-bin-2006.svn3816.orig/build/source/texk/xdvik/Makefile.in 2006-01-17 22:41:51.000000000 +0100
+++ texlive-bin-2006.svn3816/build/source/texk/xdvik/Makefile.in 2007-01-26 04:03:16.000000000 +0100
@@ -17,13 +17,13 @@
# This matches web2c (needed only for Metafont).
x_cppflags=@X_CFLAGS@ @iconv_includes@
x_ldflags=@X_LIBS@ @x_linker_options@ @iconv_libpath@
-x_pre_libs=@X_PRE_LIBS@
+x_pre_libs= # disabled as it generates unnecessary deps @X_PRE_LIBS@
x_extra_libs=@X_EXTRA_LIBS@ @iconv_libs@
x_tool_libs=@x_tool_libs@
x_xmu_lib=@x_xmu_lib@
x_xpm_libs=@x_xpm_libs@
# -lXp and -lXext
-x_ext_lib=@x_ext_lib@
+x_ext_lib= # disabled as it generates unnecessary deps @x_ext_lib@
# Follow the library order used in X11R6 itself.
# It seems that on Cygwin, libXaw needs _XpmReadFileToPixmap, so we put
Index: texlive-bin-2006.svn3816/build/source/utils/pdfopen/Makefile.in
===================================================================
--- texlive-bin-2006.svn3816.orig/build/source/utils/pdfopen/Makefile.in 2006-06-15 15:28:00.000000000 +0200
+++ texlive-bin-2006.svn3816/build/source/utils/pdfopen/Makefile.in 2007-01-26 04:03:16.000000000 +0100
@@ -158,7 +158,7 @@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
AM_CFLAGS = $(X_CFLAGS)
-LDADD = $(X_LIBS) -lX11 -lXmu $(X_EXTRA_LIBS)
+LDADD = $(X_LIBS) -lX11 $(X_EXTRA_LIBS)
pdfopen_SOURCES = pdfopen.c sendx.c
pdfclose_SOURCES = pdfclose.c sendx.c
all: all-am
texlive-dviljktemp.patch:
--- NEW FILE texlive-dviljktemp.patch ---
diff -up tetex-src-3.0/texk/dviljk/dvi2xx.c.dviljktemp tetex-src-3.0/texk/dviljk/dvi2xx.c
--- tetex-src-3.0/texk/dviljk/dvi2xx.c.dviljktemp 1999-02-06 22:46:34.000000000 +0100
+++ tetex-src-3.0/texk/dviljk/dvi2xx.c 2007-11-13 14:53:45.000000000 +0100
@@ -1,5 +1,5 @@
/* $Id: dvi2xx.c,v 2.5 1997/12/08 20:52:20 neumann Exp $ */
-#define VERSION "2.6p2 (dviljk)"
+#define VERSION "dviljk (version 2.6p3)"
/*
#define DEBUGGS 1
*/
@@ -173,7 +173,7 @@ char *argv[];
y_origin = YDEFAULTOFF; /* y-origin in dots */
setbuf(ERR_STREAM, NULL);
- (void) strcpy(G_progname, argv[0]);
+ G_progname = argv[0];
#ifdef KPATHSEA
kpse_set_progname(argv[0]);
kpse_set_program_enabled (kpse_pk_format, MAKE_TEX_PK_BY_DEFAULT, kpse_src_compile);
@@ -2968,8 +2968,8 @@ char *argv[];
#endif
{
int argind; /* argument index for flags */
- char curarea[STRSIZE]; /* current file area */
- char curname[STRSIZE]; /* current file name */
+ char *curarea; /* current file area */
+ char *curname; /* current file name */
char *tcp, *tcp1; /* temporary character pointers */
char *this_arg;
double x_offset = 0.0, y_offset = 0.0;
@@ -2988,9 +2988,9 @@ char *argv[];
#endif
#endif
- if (argc == 2 && (strcmp (argv[1], "--version") == 0)) {
+ if (argc == 2 && EQ(argv[1], "--version")) {
extern KPSEDLL char *kpathsea_version_string;
- puts ("dvilj(k) 2.6");
+ puts (VERSION);
puts (kpathsea_version_string);
puts ("Copyright (C) 1997 Gustaf Neumann.\n\
There is NO warranty. You may redistribute this software\n\
@@ -3328,8 +3328,8 @@ Primary author of Dvi2xx: Gustaf Neumann
}
} else {
- (void) strcpy(filename, tcp);
- if (!strcmp(filename, "-")) {
+ filename = tcp;
+ if (EQ(filename, "-")) {
EmitFileName = "-";
#ifdef RISC_USE_OSL
dvifp = BINOPEN("Kbd:");
@@ -3339,57 +3339,68 @@ Primary author of Dvi2xx: Gustaf Neumann
AssureBinary(fileno(dvifp));
#endif
} else {
+ /* Since this code is used only once during startup, we don't care
+ about free()ing the allocated strings that represent filenames.
+ It will be more work to realize proper deallocation handling than
+ it's worth in terms of saving a few bytes. We consider these
+ bytes actually static memory where we don't know the size in
+ advance and don't add them to the allocated_storage count.
+ [27 Jun 07 -js] */
#ifdef KPATHSEA
/* split into directory + file name */
int tcplen, argvlen;
tcp = (char *)xbasename(argv[argind]);/* this knows about any kind of slashes */
tcplen = strlen(tcp);
+ if ( tcplen == 0 ) {
+ /* This happens when the DVI file name has a trailing slash; this
+ is not a valid name. Then we terminate the argument parsing
+ loop, a usage message will be output below. */
+ break;
+ }
argvlen = strlen(argv[argind]);
if (tcplen == argvlen)
- curarea[0] = '\0';
+ curarea = "";
else {
- (void) strcpy(curarea, argv[argind]);
+ curarea = xstrdup(argv[argind]);
curarea[argvlen-tcplen] = '\0';
}
#else
tcp = strrchr(argv[argind], '/');
/* split into directory + file name */
if (tcp == NULL) {
- curarea[0] = '\0';
+ curarea[0] = "";
tcp = argv[argind];
} else {
- (void) strcpy(curarea, argv[argind]);
+ curarea = xstrdup(argv[argind]);
curarea[tcp-argv[argind]+1] = '\0';
tcp += 1;
}
#endif
+ curname = (char *) xmalloc(strlen(tcp)+5); /* + space for ".dvi" */
(void) strcpy(curname, tcp);
/* split into file name + extension */
- tcp1 = strrchr(tcp, '.');
+ tcp1 = strrchr(curname, '.');
if (tcp1 == NULL) {
- (void) strcpy(rootname, curname);
+ rootname = xstrdup(curname);
strcat(curname, ".dvi");
} else {
*tcp1 = '\0';
- (void) strcpy(rootname, curname);
+ rootname = xstrdup(curname);
*tcp1 = '.';
}
+ filename = (char *) xmalloc(strlen(curarea)+strlen(curname)+1);
(void) strcpy(filename, curarea);
(void) strcat(filename, curname);
if ((dvifp = BINOPEN(filename)) == FPNULL) {
/* do not insist on .dvi */
if (tcp1 == NULL) {
- int l = strlen(curname);
- if (l > 4)
- curname[l - 4] = '\0';
- l = strlen(filename);
- if (l > 4)
- filename[l - 4] = '\0';
+ filename[strlen(filename) - 4] = '\0';
+ dvifp = BINOPEN(filename);
}
- if (tcp1 != NULL || (dvifp = BINOPEN(filename)) == FPNULL) {
+ if (dvifp == FPNULL) {
#ifdef MSC5
Fatal("%s: can't find DVI file \"%s\"\n\n",
G_progname, filename);
@@ -3411,7 +3422,7 @@ Primary author of Dvi2xx: Gustaf Neumann
y_goffset = (short) MM_TO_PXL(y_offset) + y_origin;
if (dvifp == FPNULL) {
- fprintf(ERR_STREAM,"\nThis is the DVI to %s converter version %s",
+ fprintf(ERR_STREAM,"\nThis is the DVI to %s converter %s",
PRINTER, VERSION);
#ifdef SEVENBIT
fprintf(ERR_STREAM,", 7bit");
@@ -3507,13 +3518,8 @@ Primary author of Dvi2xx: Gustaf Neumann
exit(1);
}
if (EQ(EmitFileName, "")) {
- if ((EmitFileName = (char *)malloc( STRSIZE )) != NULL)
- allocated_storage += STRSIZE;
- else
- Fatal("Can't allocate storage of %d bytes\n",STRSIZE);
- (void) strcpy(EmitFileName, curname);
- if ((tcp1 = strrchr(EmitFileName, '.')))
- *tcp1 = '\0';
+ EmitFileName = (char *) xmalloc(strlen(rootname)+sizeof(EMITFILE_EXTENSION));
+ (void) strcpy(EmitFileName, rootname);
strcat(EmitFileName, EMITFILE_EXTENSION);
}
if (G_quiet)
@@ -3698,6 +3704,8 @@ bool PFlag;
#endif
}
CloseFiles();
+ if ( tmp_dir[0] != '\0' )
+ rmdir (tmp_dir); /* ignore errors */
exit(G_errenc);
}
@@ -3895,22 +3903,21 @@ char *str;
int n;
#endif
{
- char spbuf[STRSIZE], xs[STRSIZE], ys[STRSIZE];
- char *sf = NULL, *psfile = NULL;
+ char xs[STRSIZE], ys[STRSIZE];
+ char *include_file = NULL;
+ enum { VerbFile, HPFile, PSFile } file_type;
float x,y;
long4 x_pos, y_pos;
KeyWord k;
int i, j, j1;
static int GrayScale = 10, Pattern = 1;
static bool GrayFill = _TRUE;
- static long4 p_x[80], p_y[80];
- int llx=0, lly=0, urx=0, ury=0, rwi=0, rhi=0;
-#ifdef WIN32
- char *gs_path;
-#endif
+ static long4 p_x[MAX_SPECIAL_DEFPOINTS], p_y[MAX_SPECIAL_DEFPOINTS];
+ int llx=0, lly=0, urx=0, ury=0, rwi=0;
str[n] = '\0';
- spbuf[0] = '\0';
+ for ( i=0 ; i<MAX_SPECIAL_DEFPOINTS ; i++ )
+ p_x[i] = p_y[i] = -1;
SetPosn(h, v);
#ifdef __riscos
@@ -3924,41 +3931,30 @@ int n;
/* get all keyword-value pairs */
/* for compatibility, single words are taken as file names */
if ( k.vt == None && access(k.Key, 0) == 0) {
- if ( sf
-#ifdef KPATHSEA
- && !kpse_tex_hush ("special")
-#endif
- )
- Warning("More than one \\special file name given. %s ignored", sf);
- (void) strcpy(spbuf, k.Key);
- sf = spbuf;
- /*
- for (j = 1; ((sf[j]=='/' ? sf[j]='\\':sf[j]) != '\0'); j++);
- */
- } else if ( GetKeyVal( &k, KeyTab, NKEYS, &i ) && i != -1 )
+ if ( include_file && !kpse_tex_hush ("special") ) {
+ Warning("More than one \\special file name given. %s ignored", include_file);
+ free (include_file);
+ }
+ include_file = xstrdup(k.Key);
+ file_type = VerbFile;
+ } else if ( GetKeyVal( &k, KeyTab, NKEYS, &i ) && i != -1 ) {
switch (i) {
case PSFILE:
- if (sf
-#ifdef KPATHSEA
- && !kpse_tex_hush ("special")
-#endif
- )
- Warning("More than one \\special file name given. %s ignored", sf);
- (void) strcpy(spbuf, k.Val);
- psfile = spbuf;
- /*
- for (j=1; ((sf[j]=='/' ? sf[j]='\\':sf[j]) != '\0'); j++);
- */
+ if ( include_file ) {
+ Warning("More than one \\special file name given. %s ignored", include_file);
+ free(include_file);
+ }
+ include_file = xstrdup(k.Val);
+ file_type = PSFile;
break;
case HPFILE:
- if (sf)
- Warning("More than one \\special file name given. %s ignored", sf);
- (void) strcpy(spbuf, k.Val);
- sf = spbuf;
- /*
- for (j=1; ((sf[j]=='/' ? sf[j]='\\':sf[j]) != '\0'); j++);
- */
+ if ( include_file && !kpse_tex_hush ("special") ) {
+ Warning("More than one \\special file name given. %s ignored", include_file);
+ free(include_file);
+ }
+ include_file = xstrdup(k.Val);
+ file_type = HPFile;
break;
case ORIENTATION:
@@ -3978,23 +3974,24 @@ int n;
}
#endif
else
-#ifdef KPATHSEA
- if (!kpse_tex_hush ("special"))
-#endif
Warning( "Invalid orientation (%d)given; ignored.", k.v.i);
break;
case RESETPOINTS:
- (void) strcpy(spbuf, k.Val);
-
- sf = NULL;
+ for ( i=0 ; i<MAX_SPECIAL_DEFPOINTS ; i++ )
+ p_x[i] = p_y[i] = -1;
break;
case DEFPOINT:
- (void) strcpy(spbuf, k.Val);
- i = sscanf(spbuf,"%d(%[^,],%s)",&j,xs,ys);
+ /* 254 is STRSIZE-1. cpp should be used to construct that number. */
+ i = sscanf(k.Val,"%d(%254[^,],%254s)",&j,xs,ys);
if (i>0) {
- x_pos = h;
+ if ( j < 0 || j >= MAX_SPECIAL_DEFPOINTS ) {
+ Warning ("defpoint %d ignored, must be between 0 and %d",
+ j, MAX_SPECIAL_DEFPOINTS);
+ break;
+ }
+ x_pos = h;
y_pos = v;
if (i>1) {
if (sscanf(xs,"%fpt",&x)>0) {
@@ -4011,19 +4008,32 @@ int n;
p_x[j]=x_pos;
p_y[j]=y_pos;
} else
-#ifdef KPATHSEA
- if (!kpse_tex_hush ("special"))
-#endif
Warning("invalid point definition\n");
-
- sf = NULL;
break;
case FILL:
- (void) strcpy(spbuf, k.Val);
- i = sscanf(spbuf,"%d/%d %s",&j,&j1,xs);
+ /* 254 is STRSIZE-1. cpp should be used to construct that number. */
+ i = sscanf(k.Val,"%d/%d %254s",&j,&j1,xs);
if (i>1) {
#ifdef LJ
+ if ( j < 0 || j >= MAX_SPECIAL_DEFPOINTS ) {
+ Warning ("fill ignored, point %d must be between 0 and %d",
+ j, MAX_SPECIAL_DEFPOINTS);
+ break;
+ }
+ if ( p_x[j] == -1 ) {
+ Warning ("fill ignored, point %d is undefined\n", j);
+ break;
+ }
+ if ( j1 < 0 || j1 >= MAX_SPECIAL_DEFPOINTS ) {
+ Warning ("fill ignored, point %d must be between 0 and %d",
+ j1, MAX_SPECIAL_DEFPOINTS);
+ break;
+ }
+ if ( p_x[j1] == -1 ) {
+ Warning ("fill ignored, point %d is undefined\n", j1);
+ break;
+ }
SetPosn(p_x[j], p_y[j]);
x_pos = (long4)PIXROUND(p_x[j1]-p_x[j], hconv);
y_pos = (long4)PIXROUND(p_y[j1]-p_y[j], vconv);
@@ -4044,9 +4054,6 @@ int n;
GrayScale = k.v.i;
GrayFill = _TRUE;
} else
-#ifdef KPATHSEA
- if (!kpse_tex_hush ("special"))
-#endif
Warning( "Invalid gray scale (%d) given; ignored.", k.v.i);
break;
@@ -4055,9 +4062,6 @@ int n;
Pattern = k.v.i;
GrayFill = _FALSE;
} else
-#ifdef KPATHSEA
- if (!kpse_tex_hush ("special"))
-#endif
Warning( "Invalid pattern (%d) given; ignored.", k.v.i);
break;
@@ -4066,75 +4070,123 @@ int n;
case URX: urx = k.v.i; break;
case URY: ury = k.v.i; break;
case RWI: rwi = k.v.i; break;
- case RHI: rhi = k.v.i; break;
+ case RHI:
+ if (!kpse_tex_hush ("special"))
+ Warning("Whatever rhi was good for once, it is ignored now.");
+ break;
default:
-#ifdef KPATHSEA
- if (!kpse_tex_hush ("special"))
-#endif
+ if ( !kpse_tex_hush ("special") )
Warning("Can't handle %s=%s command; ignored.", k.Key, k.Val);
break;
}
-
- else
-#ifdef KPATHSEA
- if (!kpse_tex_hush ("special"))
-#endif
+
+ } else if (!kpse_tex_hush ("special")) {
Warning("Invalid keyword or value in \\special - <%s> ignored", k.Key);
+ }
+
+ free (k.Key);
+ if ( k.Val != NULL ) free(k.Val);
}
- if ( sf || psfile ) {
+ if ( include_file ) {
last_rx = last_ry = UNKNOWN;
#ifdef IBM3812
PMPflush;
#endif
- if (sf) {
- if (i == HPFILE)
- CopyHPFile( sf );
- else
- CopyFile( sf );
- }
- else
+
#ifdef LJ
- if (psfile) {
+ if ( file_type == PSFile) {
/* int height = rwi * (urx - llx) / (ury - lly);*/
int width = urx - llx;
int height = ury - lly;
char cmd[255];
- int scale_factor = 3000 * width / rwi;
- int adjusted_height = height * 300/scale_factor;
- int adjusted_llx = llx * 300/scale_factor;
+ char *cmd_format = "%s -q -dSIMPLE -dSAFER -dNOPAUSE -sDEVICE=%s -sOutputFile=%s %s %s showpage.ps -c quit";
+ char *gs_cmd;
+ int scale_factor, adjusted_height, adjusted_llx;
char *printer = "ljetplus"; /* use the most stupid one */
-
- char scale_file_name[255];
- char *scale_file = tmpnam(scale_file_name);
- char *pcl_file = tmpnam(NULL);
+ char pcl_file[STRSIZE];
+ char scale_file[STRSIZE];
FILEPTR scalef;
- if ( (scalef = BOUTOPEN(scale_file)) == FPNULL ) {
- Warning("Unable to open file %s for writing", scale_file );
- return;
- }
- fprintf(scalef, "%.2f %.2f scale\n%d %d translate\n",
- 300.0/scale_factor, 300.0/scale_factor,
- 0, adjusted_height == height ? 0 : ury);
- BCLOSE( scalef );
+ if ( urx == 0 || ury == 0 || rwi == 0 ) {
+ /* Since dvips' psfile special has a different syntax, this might
+ well be one of those specials, i.e., a non-dviljk special. Then
+ the Warning should be suppressable. */
+ if ( !kpse_tex_hush ("special") )
+ Warning ("Ignoring psfile special without urx, ury and rwi attributes");
+ free (include_file);
+ return;
+ }
+ scale_factor = 3000 * width / rwi;
+ adjusted_height = height * 300/scale_factor;
+ adjusted_llx = llx * 300/scale_factor;
+
+ /* We cannot use mkstemp, as we cannot pass two open file descriptors
+ portably to Ghostscript. We don't want to use tmpnam() or tempnam()
+ either, as they have tempfile creation race conditions. Instead we
+ create a temporary directory with mkdtemp() -- if that's available.
+ If not, we are thrown back to tempnam(), to get our functionality
+ at all. We need to create the temporary directory only once per
+ run; it will be deleted in AllDone(). */
+ if ( tmp_dir[0] == '\0' ) {
+ char * base_dir;
+ if ( (base_dir = getenv("TMPDIR")) == NULL ) {
+ base_dir = "/tmp";
+ } else if ( strlen(base_dir) > STRSIZE - sizeof("/dviljkXXXXXX/include.pcl") ) {
+ Warning ("TMPDIR %s is too long, using /tmp instead", base_dir);
+ base_dir = "/tmp";
+ }
+ if ( base_dir[0] == '/' && base_dir[1] == '\0' ) {
+ Warning ("Feeling naughty, do we? / is no temporary directory, dude");
+ base_dir = "/tmp";
+ }
+ strcpy (tmp_dir, base_dir);
+ strcat (tmp_dir, "/dviljkXXXXXX");
+ if ( mkdtemp(tmp_dir) == NULL ) {
+ Warning ("Could not create temporary directory %s, errno = %d; ignoring include file special",
+ tmp_dir, errno);
+ return;
+ }
+ }
+ strcpy(pcl_file, tmp_dir);
+ strcat(pcl_file, "/include.pcl");
+ strcpy(scale_file, tmp_dir);
+ strcat(scale_file, "/scale.ps");
+
+ if ( (scalef = BOUTOPEN(scale_file)) == FPNULL ) {
+ Warning("Unable to open file %s for writing", scale_file );
+ free (include_file);
+ unlink(scale_file); /* ignore error */
+ return;
+ }
+ fprintf(scalef, "%.2f %.2f scale\n%d %d translate\n",
+ 300.0/scale_factor, 300.0/scale_factor,
+ 0, adjusted_height == height ? 0 : ury);
+ BCLOSE( scalef );
#ifdef WIN32
- gs_path = getenv("GS_PATH");
- if (!gs_path)
- gs_path = "gswin32c.exe";
- sprintf(cmd,"%s -q -dSIMPLE -dSAFER -dNOPAUSE -sDEVICE=%s -sOutputFile=%s %s %s showpage.ps -c quit",
- gs_path, printer, pcl_file, scale_file, psfile);
+ if ( (gs_cmd = getenv("GS_PATH")) == NULL )
+ gs_cmd = "gswin32c.exe";
#else
- sprintf(cmd,"gs -q -dSIMPLE -dSAFER -dNOPAUSE -sDEVICE=%s -sOutputFile=%s %s %s showpage.ps -c quit",
- printer, pcl_file, scale_file, psfile);
+ gs_cmd = "gs";
#endif
+ if ( strlen(cmd_format)-10 + strlen(gs_cmd) + strlen(printer) +
+ strlen(pcl_file) + strlen(scale_file) + strlen(include_file) +1 >
+ sizeof(cmd) ) {
+ Warning ("Ghostscript command for %s would be too long, skipping special", include_file);
+ free (include_file);
+ unlink(scale_file); /* ignore errors */
+ unlink(pcl_file);
+ return;
+ }
+ sprintf(cmd, cmd_format,
+ gs_cmd, printer, pcl_file, scale_file, include_file);
#ifdef DEBUGGS
fprintf(stderr,
"PS-file '%s' w=%d, h=%d, urx=%d, ury=%d, llx=%d, lly=%d, rwi=%d\n",
- psfile, urx - llx, height, urx,ury,llx,lly, rwi);
+ include_file, urx - llx, height, urx,ury,llx,lly, rwi);
fprintf(stderr,"%s\n",cmd);
#endif
if (system(cmd)) {
@@ -4158,11 +4210,21 @@ int n;
#endif
CopyHPFile( pcl_file );
- /* unlink(pcl_file); */
- /* unlink(scale_file); */
- }
}
+ unlink(scale_file); /* ignore errors */
+ unlink(pcl_file);
+ }
+ else
#endif /* LJ */
+
+ if ( file_type == HPFile )
+ CopyHPFile( include_file );
+ else if ( file_type == VerbFile )
+ CopyFile( include_file );
+ else
+ Warning ("This can't happen: unknown file_type value %d", file_type);
+
+ if ( include_file != NULL ) free(include_file);
}
}
@@ -4173,12 +4235,11 @@ int n;
/**********************************************************************/
/***************************** GetKeyStr ****************************/
/**********************************************************************/
-/* extract first keyword-value pair from string (value part may be null)
- * return pointer to remainder of string
- * return NULL if none found
+/* Extract first keyword-value pair from string (value part may be null),
+ * keyword and value are allocated and must be free by caller.
+ * Return pointer to remainder of string,
+ * return NULL if none found.
*/
-char KeyStr[STRSIZE];
-char ValStr[STRSIZE];
#if NeedFunctionPrototypes
char *GetKeyStr(char *str, KeyWord *kw )
#else
@@ -4187,39 +4248,46 @@ char *str;
KeyWord *kw;
#endif
{
- char *s, *k, *v, t;
+ char *s, *start;
+ char save_char, quote_char;
if ( !str )
return( NULL );
for (s = str; *s == ' '; s++)
; /* skip over blanks */
if (*s == '\0')
return( NULL );
- for (k = KeyStr; /* extract keyword portion */
- *s != ' ' && *s != '\0' && *s != '=';
- *k++ = *s++)
- ;
- *k = '\0';
- kw->Key = KeyStr;
- kw->Val = v = NULL;
+ start = s++; /* start of keyword */
+ while ( *s != ' ' && *s != '\0' && *s != '=' ) /* locate end */
+ s++;
+ save_char = *s;
+ *s = '\0';
+ kw->Key = xstrdup(start);
+ kw->Val = NULL;
kw->vt = None;
- for ( ; *s == ' '; s++)
- ; /* skip over blanks */
- if ( *s != '=' ) /* look for "=" */
+ if ( save_char == '\0' ) /* shortcut when we're at the end */
+ return (s);
+ *s = save_char; /* restore keyword end char */
+ while ( *s == ' ' ) s++ ; /* skip over blanks */
+ if ( *s != '=' ) /* no "=" means no value */
return( s );
- for (s++; *s == ' '; s++); /* skip over blanks */
- if ( *s == '\'' || *s == '\"' ) /* get string delimiter */
- t = *s++;
+ for (s++; *s == ' '; s++)
+ ; /* skip over blanks */
+ if ( *s == '\'' || *s == '\"' ) /* get string delimiter */
+ quote_char = *s++;
else
- t = ' ';
- for (v = ValStr; /* copy value portion up to delim */
- *s != t && *s != '\0';
- *v++ = *s++)
- ;
- if ( t != ' ' && *s == t )
- s++;
- *v = '\0';
- kw->Val = ValStr;
+ quote_char = ' ';
+ start = s; /* no increment, might be "" as value */
+ while ( *s != quote_char && *s != '\0' )
+ s++; /* locate end of value portion */
+ save_char = *s;
+ *s = '\0';
+ kw->Val = xstrdup(start);
kw->vt = String;
+ if ( save_char != '\0' ) { /* save_char is now quote_char */
+ *s = save_char;
+ if ( quote_char != ' ' ) /* we had real quote chars */
+ s++;
+ }
return( s );
}
@@ -4819,13 +4887,14 @@ struct font_entry *fontptr;
the resident fonts. */
if (tfm_read_info(fontptr->n, &tfm_info)
&& tfm_info.family[0]
- && strcmp((char *)tfm_info.family, "HPAUTOTFM") == 0) {
+ && EQ((char *)tfm_info.family, "HPAUTOTFM")) {
unsigned i;
double factor = fontptr->s / (double)0x100000;
resident_count++;
fontptr->resident_p = _TRUE;
- strcpy(fontptr->symbol_set, (char *)tfm_info.coding_scheme);
+ strncpy(fontptr->symbol_set, (char *)tfm_info.coding_scheme, 39);
+ fontptr->symbol_set[39] = '\0';
fontptr->resid = tfm_info.typeface_id;
fontptr->spacing = tfm_info.spacing;
fontptr->style = tfm_info.style;
@@ -4878,7 +4947,7 @@ struct font_entry *fontptr;
fontptr->resident_p = _FALSE;
if (tfm_info.family[0]
- && strcmp((char *)tfm_info.family, "UNSPECIFIED") == 0) {
+ && EQ((char *)tfm_info.family, "UNSPECIFIED")) {
Warning("font family for %s is UNSPECIFIED; need to run dvicopy?",
fontptr->n);
fontptr->font_file_id = NO_FILE;
@@ -5031,10 +5100,9 @@ printf("[%ld]=%lf * %lf * %lf + 0.5 = %l
if (tfontptr->resident_p)
return;
- if (!(resident_font_located)) {
+ if (!(resident_font_located))
#endif
-#ifdef KPATHSEA
{
kpse_glyph_file_type font_ret;
char *name;
@@ -5047,9 +5115,9 @@ printf("[%ld]=%lf * %lf * %lf + 0.5 = %l
if (name)
{
font_found = _TRUE;
- strcpy (tfontptr->name, name);
- free (name);
-
+ tfontptr->name = name;
+ allocated_storage += strlen(name)+1;
+
if (!FILESTRCASEEQ (tfontptr->n, font_ret.name)) {
fprintf (stderr,
"dvilj: Font %s not found, using %s at %d instead.\n",
@@ -5071,29 +5139,6 @@ printf("[%ld]=%lf * %lf * %lf + 0.5 = %l
tfontptr->n, dpi);
}
}
-#else /* not KPATHSEA */
- if (!(findfile(PXLpath,
- tfontptr->n,
- tfontptr->font_mag,
- tfontptr->name,
- _FALSE,
- 0))) {
- Warning(tfontptr->name); /* contains error messsage */
- tfontptr->font_file_id = NO_FILE;
-#ifdef __riscos
- MakeMetafontFile(PXLpath, tfontptr->n, tfontptr->font_mag);
-#endif
- }
- else {
- font_found = _TRUE;
- if (G_verbose)
- fprintf(ERR_STREAM,"%d: using font <%s>\n", plusid, tfontptr->name);
- }
-#endif /* not KPATHSEA */
-
-#ifdef LJ_RESIDENT_FONTS
- }
-#endif
tfontptr->plusid = plusid;
plusid++;
diff -U0 tetex-src-3.0/texk/dviljk/ChangeLog.dviljktemp tetex-src-3.0/texk/dviljk/ChangeLog
--- tetex-src-3.0/texk/dviljk/ChangeLog.dviljktemp 1998-03-03 11:17:39.000000000 +0100
+++ tetex-src-3.0/texk/dviljk/ChangeLog 2007-11-13 14:59:19.000000000 +0100
@@ -0,0 +1,39 @@
+2007-07-02 Joachim Schrod <jschrod at acm.org>
+
+ * dvi2xx.c (DoSpecial): Security issue: usage of tmpnam() caused
+ tempfile race condition. I use mkdtemp() if it's available and
+ fall back to tmpnam.
+
+ Special parsing of include files was inconsistent, unify it. The
+ current parsing code still allows lots of non-sensical special
+ commands, but at least it doesn't access unrelated variables any
+ more.
+
+2007-06-28 Joachim Schrod <jschrod at acm.org>
+
+ * dvi2xx.c: Fixed a whole bunch of buffer overflows: The program
+ did not check memory bounds for any string operation. All places
+ where strings are copied with strcpy are replaced by dynamically
+ allocated strings (with xstrdup from kpathsea) or bounded string
+ operations. Fixed also manual string copy operations on special
+ strings. Fixed array buffer overflow in defpoint and fill special
+ operations.
+ (DoSpecial): Call of ghostscript for psfile special had also a
+ potential buffer overflow caused by unchecked usage of sprintf.
+ Fix core dump: Check if all required parameters of psfile special
+ are passed.
+
+ Bumped version number up to 2.6p3.
+
+ * dvi2xx.h: Some fixed sized string arrays are pointers now, they
+ get dynamically allocated.
+ (GetBytes): Another buffer overflow: Check that the buffer size is
+ sufficient to store the read bytes. That relies on the invariant
+ that the GetBytes macro is always called with an array as argument
+ and not with a pointer.
+
+ * config.h: Throw an error if kpathsea is not used. dvi2xx.c
+ had previously already kpathsea dependencies without protecting
+ them with #if KPATHSEA. We go that road further since upstream
+ does not exist any more.
+
diff -up tetex-src-3.0/texk/dviljk/configure.dviljktemp tetex-src-3.0/texk/dviljk/configure
diff -up tetex-src-3.0/texk/dviljk/configure.in.dviljktemp tetex-src-3.0/texk/dviljk/configure.in
--- tetex-src-3.0/texk/dviljk/configure.in.dviljktemp 1999-02-08 22:42:01.000000000 +0100
+++ tetex-src-3.0/texk/dviljk/configure.in 2007-11-13 14:55:04.000000000 +0100
@@ -13,6 +13,7 @@ sinclude(../kpathsea/withenable.ac)
dnl These tests prevent reliable cross-compilation. Sigh.
AC_C_CHAR_UNSIGNED
AC_CHECK_SIZEOF(long)
+AC_CHECK_FUNCS(rmdir unlink mkdtemp)
AC_OUTPUT(Makefile)
dnl Update stamp-auto, since we just remade `c-auto.h'.
diff -up tetex-src-3.0/texk/dviljk/dvi2xx.h.dviljktemp tetex-src-3.0/texk/dviljk/dvi2xx.h
--- tetex-src-3.0/texk/dviljk/dvi2xx.h.dviljktemp 1999-03-16 08:03:33.000000000 +0100
+++ tetex-src-3.0/texk/dviljk/dvi2xx.h 2007-11-13 14:53:45.000000000 +0100
@@ -10,8 +10,8 @@
#ifdef KPATHSEA
#include <kpathsea/config.h>
+#include <kpathsea/c-std.h>
#include <kpathsea/c-limits.h>
-#include <kpathsea/c-memstr.h>
#include <kpathsea/magstep.h>
#include <kpathsea/proginit.h>
#include <kpathsea/progname.h>
@@ -24,6 +24,7 @@
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
+#include <unistd.h>
#ifdef unix
#include <limits.h>
#endif
@@ -41,9 +42,6 @@
#ifdef MSC5
#include <dos.h> /* only for binaryopen on device */
#endif
-#if defined (unix) && !defined (KPATHSEA)
-#include <limits.h>
-#endif
#include "config.h"
@@ -116,6 +114,7 @@
#define HUGE_SIZE (unsigned char) 2
#define HUGE_CHAR_PATTERN 32767l
#define BYTES_PER_PIXEL_LINE 500 /* max number of bytes per pixel line */
+#define MAX_SPECIAL_DEFPOINTS 80 /* max number of defpoint specials */
#define PK_POST 245
@@ -281,7 +280,14 @@ char *MFMODE = MFMODE600;
#define VisChar(c) (unsigned char)(c)
#endif
-#define GetBytes(fp,buf,n) read_multi(buf,1,n,fp) /* used to be a function */
+/* Used to be a function. buf is always an array, never a pointer.
+ Without that invariant, we would have to introduce full dynamic
+ memory management in this driver -- probably it would be easier to
+ write a new one. [27 Jun 07 -js] */
+#define GetBytes(fp,buf,n) \
+ ( sizeof(buf) != sizeof(void *) && sizeof(buf) > n ? \
+ read_multi(buf, 1, n, fp) \
+ : Fatal("Try to read %d bytes in an array of size %d", n, sizeof(buf)) )
/**********************************************************************/
@@ -307,6 +313,7 @@ int printf();
int sscanf();
int strcmp();
char *strcpy();
+char *strncpy();
# ifdef MSC5
unsigned int strlen();
# endif
@@ -393,7 +400,7 @@ struct font_entry { /* font entry */
char n[STRSIZE]; /* FNT_DEF command parameters */
long4 font_mag; /* computed from FNT_DEF s and d parameters */
/*char psname[STRSIZE];*/ /* PostScript name of the font */
- char name[STRSIZE]; /* full name of PXL file */
+ char *name; /* full name of PXL file */
FILEPTR font_file_id; /* file identifier (NO_FILE if none) */
#ifdef USEPXL
long4 magnification; /* magnification read from PXL file */
@@ -487,8 +494,8 @@ void LoadAChar DVIPROTO((long4, regis
long4 NoSignExtend DVIPROTO((FILEPTR, int));
void OpenFontFile DVIPROTO((void));
long4 PixRound DVIPROTO((long4, long4));
-void PkRaster DVIPROTO((struct char_entry *, int));
-void RasterLine DVIPROTO((struct char_entry *, unsigned int,
+void PkRaster DVIPROTO((struct char_entry *, int));
+void RasterLine DVIPROTO((struct char_entry *, unsigned int,
unsigned int, unsigned char *));
void RasterChar DVIPROTO((struct char_entry *));
void ReadFontDef DVIPROTO((long4));
@@ -534,11 +541,12 @@ bool LastPageSpecified = _FALSE;
#ifndef KPATHSEA
char *PXLpath = FONTAREA;
#endif
-char G_progname[STRSIZE]; /* program name */
-char filename[STRSIZE]; /* DVI file name */
-char rootname[STRSIZE]; /* DVI filename without extension */
+char *G_progname; /* program name */
+char *filename; /* DVI file name */
+char *rootname; /* DVI filename without extension */
char *HeaderFileName = ""; /* file name & path of Headerfile */
char *EmitFileName = ""; /* file name & path for output */
+char tmp_dir[STRSIZE] = ""; /* temporary directory for auxilliary files */
#ifdef IBM3812
bool FirstAlternate = _FALSE; /* first page from alternate casette ? */
#endif
diff -up tetex-src-3.0/texk/dviljk/c-auto.in.dviljktemp tetex-src-3.0/texk/dviljk/c-auto.in
--- tetex-src-3.0/texk/dviljk/c-auto.in.dviljktemp 1999-03-23 23:40:08.000000000 +0100
+++ tetex-src-3.0/texk/dviljk/c-auto.in 2007-11-13 14:53:45.000000000 +0100
@@ -1,9 +1,23 @@
-/* c-auto.in. Generated automatically from configure.in by autoheader. */
+/* c-auto.in. Generated from configure.in by autoheader. */
+/* acconfig.h -- used by autoheader when generating c-auto.in.
-/* Define if type char is unsigned and you are not using gcc. */
-#ifndef __CHAR_UNSIGNED__
-#undef __CHAR_UNSIGNED__
-#endif
+ If you're thinking of editing acconfig.h to fix a configuration
+ problem, don't. Edit the c-auto.h file created by configure,
+ instead. Even better, fix configure to give the right answer. */
+
+/* Define to 1 if you have the `mkdtemp' function. */
+#undef HAVE_MKDTEMP
+
+/* Define to 1 if you have the `rmdir' function. */
+#undef HAVE_RMDIR
-/* The number of bytes in a long. */
+/* Define to 1 if you have the `unlink' function. */
+#undef HAVE_UNLINK
+
+/* The size of a `long', as computed by sizeof. */
#undef SIZEOF_LONG
+
+/* Define to 1 if type `char' is unsigned and you are not using gcc. */
+#ifndef __CHAR_UNSIGNED__
+# undef __CHAR_UNSIGNED__
+#endif
diff -up tetex-src-3.0/texk/dviljk/config.h.dviljktemp tetex-src-3.0/texk/dviljk/config.h
--- tetex-src-3.0/texk/dviljk/config.h.dviljktemp 2002-01-03 17:40:25.000000000 +0100
+++ tetex-src-3.0/texk/dviljk/config.h 2007-11-13 14:53:45.000000000 +0100
@@ -216,12 +216,7 @@ typedef SCHAR_TYPE signed_char;
#endif
#ifndef KPATHSEA
-extern bool findfile(
-#if NeedFunctionPrototypes
-char path[], char n[], long4 fontmag, char name[],
- bool tfm, int level
-#endif
- );
+#error "Would need changed findfile, dviljk has changed allocation semantic of name member in tfontptr"
#endif
@@ -444,3 +439,24 @@ typedef FILE *FILEPTR;
/* If we have neither, should fall back to fprintf with fixed args. */
#endif
#endif
+
+/* If unlink and rmdir are not there, we don't delete the temporary files. */
+#ifndef HAVE_RMDIR
+#define rmdir(dir)
+#endif
+#ifndef HAVE_UNLINK
+#define unlink(file)
+#endif
+
+/* If mkdtemp() does not exist, we have to use tmpnam(). */
+#ifndef HAVE_MKDTEMP
+#define mkdtemp(dir) (tmpnam(dir) ? \
+ ( mkdir(dir, 0700) == -1 ? NULL : dir ) : \
+ ( errno = EINVAL, NULL ) )
+#endif
+
+#ifndef KPATHSEA
+/* FIXME: Should provide a strdup function. But currently this tree is
+ only used in connection with kpathsea anyhow. */
+#error "Need xstrdup and xmalloc function, e.g. from kpathsea"
+#endif
texlive-dvipdfm_timezone.patch:
--- NEW FILE texlive-dvipdfm_timezone.patch ---
# 61_dvipdfm_timezone by "Mark A. Wicks" <mwicks at kettering.edu>
#
# fix crash of dvipdfm with 0.5 timezones
build/source/texk/dvipdfm/pdfdoc.c | 34 +++++++++++++++++++++++-----------
1 file changed, 23 insertions(+), 11 deletions(-)
Index: texlive-bin-2007/build/source/texk/dvipdfm/pdfdoc.c
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipdfm/pdfdoc.c 2006-01-17 22:41:51.000000000 +0100
+++ texlive-bin-2007/build/source/texk/dvipdfm/pdfdoc.c 2007-02-15 15:53:08.000000000 +0100
@@ -232,13 +232,7 @@
static char *asn_date (void)
{
-#ifndef HAVE_TIMEZONE
- #ifdef TM_GM_TOFF
- #define timezone (bdtime->gm_toff)
- #else
- #define timezone 0l
-#endif /* TM_GM_TOFF */
-#endif /* HAVE_TIMEZONE */
+ long tz_offset;
static char date_string[24];
time_t current_time;
struct tm *bd_time;
@@ -247,10 +241,28 @@
}
time(¤t_time);
bd_time = localtime(¤t_time);
- sprintf (date_string, "D:%04d%02d%02d%02d%02d%02d%+03ld'%02ld'",
- bd_time -> tm_year+1900, bd_time -> tm_mon+1, bd_time -> tm_mday,
- bd_time -> tm_hour, bd_time -> tm_min, bd_time -> tm_sec,
- -timezone/3600, timezone%3600);
+
+#ifdef HAVE_TM_GMTOFF /* Preferred way to get time zone offset */
+ tz_offset = bd_time->tm_gmtoff;
+#else
+#ifdef HAVE_TIMEZONE /* Plan B --- use external variable 'timezone'
+ /* (may not provide correct offset for daylight savings time) */
+ tz_offset = - timezone;
+#else /* Last resort --- without more information, set offset to zero */
+ tz_offset = 0l;
+#endif /* HAVE_TIMEZONE */
+#endif /* HAVE_TM_GMTOFF */
+
+ if (tz_offset == 0l) {
+ sprintf (date_string, "D:%04d%02d%02d%02d%02d%02dZ00'00'",
+ bd_time -> tm_year+1900, bd_time -> tm_mon+1, bd_time -> tm_mday,
+ bd_time -> tm_hour, bd_time -> tm_min, bd_time -> tm_sec);
+ } else {
+ sprintf (date_string, "D:%04d%02d%02d%02d%02d%02d%c%02ld'%02ld'",
+ bd_time -> tm_year+1900, bd_time -> tm_mon+1, bd_time -> tm_mday,
+ bd_time -> tm_hour, bd_time -> tm_min, bd_time -> tm_sec,
+ (tz_offset>0)? '+':'-', labs(tz_offset)/3600, (labs(tz_offset)/60)%60);
+ }
return date_string;
}
texlive-dvips_fontbug_fix_upstream.patch:
--- NEW FILE texlive-dvips_fontbug_fix_upstream.patch ---
---
build/source/texk/dvipsk/ChangeLog | 36 +++++++++++++++++++
build/source/texk/dvipsk/Makefile.in | 2 -
build/source/texk/dvipsk/afm2tfm.c | 6 +--
build/source/texk/dvipsk/afm2tfm.rc | 34 ------------------
build/source/texk/dvipsk/bbox.c | 2 -
build/source/texk/dvipsk/config.h | 2 -
build/source/texk/dvipsk/crop.lpro | 2 -
build/source/texk/dvipsk/debug.h | 2 -
build/source/texk/dvipsk/download.c | 25 +++++++++----
build/source/texk/dvipsk/dpicheck.c | 6 +--
build/source/texk/dvipsk/dvips.1 | 25 ++++++++-----
build/source/texk/dvipsk/dvips.c | 61 +++++++++++++++++++++++++++------
build/source/texk/dvipsk/dvips.h | 14 ++-----
build/source/texk/dvipsk/emspecial.c | 15 ++++++--
build/source/texk/dvipsk/finclude.c | 11 +++++
build/source/texk/dvipsk/finclude.lpro | 1
build/source/texk/dvipsk/flib.c | 2 -
build/source/texk/dvipsk/header.c | 4 +-
build/source/texk/dvipsk/hps.c | 4 +-
build/source/texk/dvipsk/hps.lpro | 5 +-
build/source/texk/dvipsk/loadfont.c | 11 +++++
build/source/texk/dvipsk/makefont.c | 6 +--
build/source/texk/dvipsk/output.c | 11 +++++
build/source/texk/dvipsk/papersiz.c | 2 -
build/source/texk/dvipsk/paths.h | 2 -
build/source/texk/dvipsk/psfonts.map | 1
build/source/texk/dvipsk/resident.c | 24 +++++++++++-
build/source/texk/dvipsk/special.lpro | 5 +-
build/source/texk/dvipsk/squeeze.c | 5 --
build/source/texk/dvipsk/tex.lpro | 2 +
build/source/texk/dvipsk/texc.script | 2 -
build/source/texk/dvipsk/texps.lpro | 2 -
32 files changed, 220 insertions(+), 112 deletions(-)
Index: texlive-bin-2007/build/source/texk/dvipsk/ChangeLog
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/ChangeLog 2007-05-07 01:17:36.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/ChangeLog 2007-05-07 01:38:37.000000000 +0200
@@ -1,3 +1,39 @@
+2007-05-06 Karl Berry <karl at tug.org>
+
+ * finclude.c, dvips.c: keep track of last-unused psname (Akira).
+ * dvips.c (DEFRES): move down.
+ * dvips.c (--help): just mention Tom R.
+
+2007-05-05 Karl Berry <karl at tug.org>
+
+ * dvips.h (DOWNLOADEDPSSIZE): new constant.
+ * dvips.c (downloadedpsname): new global array.
+ * finclude.c: set it up as we download.
+ * download.c: use it to avoid downloading fonts as both header
+ and font. (From Akira.)
+
+2007-05-04 Karl Berry <karl at tug.org>
+
+ * dvips.h (BANNER): change to 5.96dev to distinguish from the release.
+
+ * header.c (add_name, add_header): cast result of
+ add_header_general to int and return it. From Akira.
+
+2007-03-23 Karl Berry <karl at tug.org>
+
+ * dvips.texi: document it.
+ * dvips.c, loadfont.c, resident.c: also report map files
+ and config files, if the envvar DVIPSDEBUG is set. From Akira.
+
+2007-03-20 Karl Berry <karl at tug.org>
+
+ * download.c, output.c, emspecial.c: report full pathnames,
+ to help debugging and for consistency with TeX. From Akira.
+
+2007-03-19 Karl Berry <karl at tug.org>
+
+ * config.ps (screen): add this, 8.25x11, for powerdot. (From Akira.)
+
2006-12-09 Karl Berry <karl at tug.org>
* dvips.texi (Config file paper sizes): best match now. (From Akira.)
Index: texlive-bin-2007/build/source/texk/dvipsk/Makefile.in
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/Makefile.in 2007-05-07 01:38:11.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/Makefile.in 2007-05-07 01:38:37.000000000 +0200
@@ -1,5 +1,5 @@
# Makefile for dvipsk -- kb at mail.tug.org. Public domain.
-version = 5.96
+version = 5.96.1
# Add -DDEFRES=dpi to DEFS to change the default resolution from 600.
# Add -DSECURE if you will install dvips with special privileges.
Index: texlive-bin-2007/build/source/texk/dvipsk/afm2tfm.c
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/afm2tfm.c 2007-05-07 01:17:54.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/afm2tfm.c 2007-05-07 01:38:37.000000000 +0200
@@ -1489,15 +1489,15 @@
void version P1C(FILE *, f)
{
extern KPSEDLL char *kpathsea_version_string;
- fputs ("afm2tfm(k) (dvips(k) 5.96) 8.1\n", f);
+ fputs ("afm2tfm(k) (dvips(k) 5.96.1) 8.1\n", f);
fprintf (f, "%s\n", kpathsea_version_string);
- fputs ("Copyright (C) 2005 Radical Eye Software.\n\
+ fputs ("Copyright (C) 2007 Radical Eye Software.\n\
There is NO warranty. You may redistribute this software\n\
under the terms of the GNU General Public License\n\
and the Dvips copyright.\n\
For more information about these matters, see the files\n\
named COPYING and afm2tfm.c.\n\
-Primary author of afm2tfm: T. Rokicki; -k maintainer: K. Berry.\n", f);
+Original author of afm2tfm: T. Rokicki.\n", f);
}
#define USAGE "\
Index: texlive-bin-2007/build/source/texk/dvipsk/afm2tfm.rc
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/afm2tfm.rc 2007-05-07 01:38:11.000000000 +0200
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,34 +0,0 @@
-/* afm2tfm.rc: afm2tfm resources -*- C++ -*-
-
- Copyright (C) 1996-2003 Fabrice Popineau <fabrice.popineau at supelec.fr>
-
- This file is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published
- by the Free Software Foundation; either version 2, or (at your
- option) any later version.
-
- This file is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this file; if not, write to the Free Software
- Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
- USA. */
-
-#include <texlive-version.h>
-
-#define VER_FILEVERSION TEXLIVE_MAJOR_VERSION,TEXLIVE_MINOR_VERSION,TEXLIVE_BETA_NUMBER,TEXLIVE_ALPHA_NUMBER
-#define VER_FILEVERSION_STR TEXLIVE_PRODUCTVERSION_STR " afm2tfm(k) (dvips(k) 5.94b) 8.1"
-
-#define VER_INTERNALNAME_STR "afm2tfm"
-#define VER_ORIGINALFILENAME_STR "afm2tfm.exe"
-
-#define VER_LEGALCOPYRIGHT_STR "Copyright (C) 1990-2004 Radical Eye Software"
-
-#define VER_FILEDESCRIPTION_STR "Adobe Font Metric to TeX Font Metric file converter"
-
-#include <texlive.version>
-
-/* afm2tfm.rc ends here */
Index: texlive-bin-2007/build/source/texk/dvipsk/bbox.c
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/bbox.c 2007-05-07 01:38:11.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/bbox.c 2007-05-07 01:38:37.000000000 +0200
@@ -6,7 +6,7 @@
* If you request an EPSF file and specify -a, you may end up
* processing a single page four times!
*/
-#include "dvips.h"
+#include "dvips.h" /* The copyright notice in that file is included too! */
#include <math.h>
#include "protos.h"
Index: texlive-bin-2007/build/source/texk/dvipsk/config.h
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/config.h 2007-05-07 01:38:11.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/config.h 2007-05-07 01:38:37.000000000 +0200
@@ -1,5 +1,5 @@
/* config.h: master configuration file, included first by all compilable
- source files (not headers). */
+ source files (not headers). This file is public domain. */
#ifndef CONFIG_H
#define CONFIG_H
Index: texlive-bin-2007/build/source/texk/dvipsk/crop.lpro
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/crop.lpro 2007-05-07 01:38:11.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/crop.lpro 2007-05-07 01:38:37.000000000 +0200
@@ -1,5 +1,5 @@
%!
-% This file is for crop marks.
+% This file is for crop marks. This file is public domain.
%
% First, we translate and draw the marks. You can change the way the
% marks are drawn, but the quarter inch border around the page is fixed.
Index: texlive-bin-2007/build/source/texk/dvipsk/debug.h
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/debug.h 2007-05-07 01:38:11.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/debug.h 2007-05-07 01:38:37.000000000 +0200
@@ -1,5 +1,5 @@
/*
- * Here's some stuff for debugging dvips.
+ * Here's some stuff for debugging dvips. See dvips.h for copyright.
*/
#ifdef DEBUG
Index: texlive-bin-2007/build/source/texk/dvipsk/download.c
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/download.c 2007-05-07 01:17:43.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/download.c 2007-05-07 01:38:37.000000000 +0200
@@ -433,6 +433,9 @@
* Download a PostScript font, using partial font downloading if
* necessary.
*/
+extern char *downloadedpsnames[];
+extern int unused_top_of_psnames;
+
void downpsfont P2C(charusetype *, p, charusetype *, all)
{
#ifdef DOWNLOAD_USING_PDFTEX
@@ -444,6 +447,8 @@
register chardesctype *c ;
struct resfont *rf ;
int cc;
+ extern char *realnameoffile ;
+ int j;
curfnt = p->fd ;
rf = curfnt->resfont ;
@@ -457,6 +462,10 @@
return ;
if (rf->sent == 2) /* sent as header, from a PS file */
return ;
+ for (j=0; downloadedpsnames[j] && j < unused_top_of_psnames; j++) {
+ if (strcmp (downloadedpsnames[j], rf->PSname) == 0)
+ return;
+ }
if (all->fd == 0)
error("! internal error in downpsfont") ;
if (!partialdownload) {
@@ -514,14 +523,6 @@
}
}
if(GridCount!=0 || extraGlyphs) {
- if (!quiet) {
- if (strlen(rf->Fontfile) + prettycolumn > STDOUTSIZE) {
- fprintf(stderr, "\n") ;
- prettycolumn = 0 ;
- }
- (void)fprintf(stderr, "<%s>", rf->Fontfile);
- prettycolumn += strlen(rf->Fontfile) + 2 ;
- }
newline() ;
if (! disablecomments)
(void)fprintf(bitfile, "%%%%BeginFont: %s\n", rf->PSname);
@@ -531,6 +532,14 @@
if(FontPart(bitfile, rf->Fontfile, rf->Vectfile) < 0)
#endif
exit(1);
+ if (!quiet) {
+ if (strlen(realnameoffile) + prettycolumn > STDOUTSIZE) {
+ fprintf(stderr, "\n") ;
+ prettycolumn = 0 ;
+ }
+ (void)fprintf(stderr, "<%s>", realnameoffile);
+ prettycolumn += strlen(realnameoffile) + 2 ;
+ }
if (! disablecomments)
(void)fprintf(bitfile, "%%%%EndFont \n");
}
Index: texlive-bin-2007/build/source/texk/dvipsk/dpicheck.c
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/dpicheck.c 2007-05-07 01:38:11.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/dpicheck.c 2007-05-07 01:38:37.000000000 +0200
@@ -1,12 +1,10 @@
/*
- * This software is Copyright 1988 by Radical Eye Software.
- */
-/*
* dpicheck of dvips.c. Checks the dots per inch to make sure
* it exists. The fonts which exist are DPI at the appropriate
* magnifications.
*/
-#include "dvips.h"
+#include "dvips.h" /* The copyright notice in that file is included too! */
+
extern int actualdpi ;
static integer existsizes[30] = { 0 , 99999999 } ;
static int checkdpi ;
Index: texlive-bin-2007/build/source/texk/dvipsk/dvips.1
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/dvips.1 2007-05-07 01:18:03.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/dvips.1 2007-05-07 01:38:37.000000000 +0200
@@ -360,16 +360,21 @@
.B -r
Stack pages in reverse order. Normally, page 1 will be printed first.
.TP
-.B -R
-Run in secure mode. This means that ``backtick'' commands from a
-.I \especial{}
-or
-.I \epsffile{}
-macro in the (La)TeX source like
-.I \especial{psfile="`zcat foo.ps.Z"}
-or
-.I \epsffile[72 72 540 720]{"`zcat screendump.ps.gz"}
-are not executed.
+.B -R[0|1|2]
+Run securely.
+.BR -R2
+disables both shell command execution in
+.I \especial'{}
+(via backticks
+.BR `
+) and config files (via the
+.I E
+option), and opening of any absolute filenames.
+.BR -R1
+, the default, forbids shell escapes but allows absolute filenames.
+.BR -R0
+allows both. The config file option is
+.I z
.TP
.B -s
Causes the entire global output to be enclosed in a save/restore pair.
Index: texlive-bin-2007/build/source/texk/dvipsk/dvips.c
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/dvips.c 2007-05-07 01:18:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/dvips.c 2007-05-07 01:38:37.000000000 +0200
@@ -1,10 +1,6 @@
/*
* This is the main routine.
*/
-#ifndef DEFRES
-#define DEFRES (600)
-#endif
-
#include "dvips.h" /* The copyright notice there is included too! */
#ifdef KPATHSEA
#include <kpathsea/c-pathch.h>
@@ -44,12 +40,22 @@
#include descrip
#endif
#endif
+
+#ifndef DEFRES
+#define DEFRES (600)
+#endif
+
/*
* First we define some globals.
*/
#ifdef VMS
static char ofnme[252],infnme[252],pap[40],thh[20];
#endif
+
+/* PS fonts fully downloaded as headers */
+char *downloadedpsnames[DOWNLOADEDPSSIZE];
+
+int unused_top_of_psnames ; /* unused top number of downloadedpsnames[#] */
fontdesctype *fonthead ; /* list of all fonts mentioned so far */
fontdesctype *curfnt ; /* the currently selected font */
sectiontype *sections ; /* sections to process document in */
@@ -159,6 +165,7 @@
int quiet ; /* should we only print errors to stderr? */
int filter ; /* act as filter default output to stdout,
default input to stdin? */
+int dvips_debug_flag ; /* output config and map files to stderr if 1 */
int prettycolumn ; /* the column we are at when running pretty */
int gargc ; /* global argument count */
char **gargv ; /* global argument vector */
@@ -306,6 +313,16 @@
fputs (kpse_bug_address, f);
#endif
}
+
+void
+freememforpsnames(void)
+{
+ int i;
+
+ for (i = 0; i < unused_top_of_psnames && downloadedpsnames[i]; i++)
+ free (downloadedpsnames[i]);
+}
+
/*
* This error routine prints an error message; if the first
* character is !, it aborts the job.
@@ -328,6 +345,7 @@
}
if (*s=='!') {
+ freememforpsnames() ;
if (bitfile != NULL) {
cleanprinter() ;
}
@@ -440,6 +458,8 @@
i = 10;
for (s="abcdef"; *s!=0; s++)
xdig[(int)*s] = i++;
+ for(i=0 ; i < DOWNLOADEDPSSIZE; i++)
+ downloadedpsnames[i] = NULL;
morestrings() ;
maxpages = 100000 ;
numcopies = 1 ;
@@ -552,7 +572,7 @@
#ifdef MVSXA
int firstext = -1 ;
#endif
- register sectiontype *sects ;
+ sectiontype *sects ;
#ifdef KPATHSEA
kpse_set_program_name (argv[0], "dvips");
@@ -607,15 +627,15 @@
exit (0);
} else if (strcmp (argv[1], "--version") == 0) {
extern KPSEDLL char *kpathsea_version_string;
- puts ("dvips(k) 5.96");
+ puts ("dvips(k) 5.96.1");
puts (kpathsea_version_string);
- puts ("Copyright (C) 2005 Radical Eye Software.\n\
+ puts ("Copyright (C) 2007 Radical Eye Software.\n\
There is NO warranty. You may redistribute this software\n\
under the terms of the GNU General Public License\n\
and the Dvips copyright.\n\
For more information about these matters, see the files\n\
named COPYING and dvips.h.\n\
-Primary author of Dvips: T. Rokicki; -k maintainer: T. Kacvinsky/ S. Rahtz.");
+Primary author of Dvips: T. Rokicki.");
exit (0);
}
if (argc == 2 && strncmp(argv[1], "-?", 2) == 0) {
@@ -630,6 +650,20 @@
}
#endif
#endif
+ dvips_debug_flag = 0 ;
+ { /* for compilers incompatible with c99 */
+ char *s = (char *)getenv ("DVIPSDEBUG") ;
+ if (s) {
+ dvips_debug_flag = 1 ;
+ free (s) ;
+ } else {
+ s = (char *) getenv ("KPATHSEA_DEBUG") ;
+ if (s) {
+ dvips_debug_flag = 1 ;
+ free (s) ;
+ }
+ }
+ }
initialize() ;
checkenv(0) ;
getdefaults(CONFIGFILE) ;
@@ -1116,8 +1150,14 @@
revpslists() ;
getpsinfo((char *)NULL) ;
revpslists() ;
- if (!quiet)
- (void)fprintf(stderr, "%s %s\n", banner, banner2) ;
+ if (dvips_debug_flag) {
+ if (!quiet)
+ (void)fprintf(stderr, "\n%s %s\n", banner, banner2) ;
+ prettycolumn = 0 ;
+ } else {
+ if (!quiet)
+ (void)fprintf(stderr, "%s %s\n", banner, banner2) ;
+ }
if (*iname) {
dvifile = fopen(iname, READBIN) ;
/*
@@ -1367,6 +1407,7 @@
}
}
}
+ freememforpsnames() ;
if (! sepfiles) {
#ifdef HPS
if (HPS_FLAG)
Index: texlive-bin-2007/build/source/texk/dvipsk/dvips.h
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/dvips.h 2007-05-07 01:18:25.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/dvips.h 2007-05-07 01:38:37.000000000 +0200
@@ -1,19 +1,14 @@
/*
* This is dvips, a freely redistributable PostScript driver
- * for dvi files. It is (C) Copyright 1986-2004 by Tomas Rokicki.
- * You may modify and use this program to your heart's content,
- * so long as you send modifications to Tomas Rokicki. It can
- * be included in any distribution, commercial or otherwise, so
- * long as the banner string defined below is not modified (except
- * for the version number) and this banner is printed on program
- * invocation, or can be printed on program invocation with the -? option.
+ * for dvi files. It is (C) Copyright 1986-2007 by Tomas Rokicki.
+ * You may modify and use this program to your heart's content.
*/
/* This file is the header for dvips's global data structures. */
#define CREATIONDATE
#define BANNER \
-"This is dvips(k) 5.96 Copyright 2005 Radical Eye Software"
+"This is dvips(k) 5.96.1 Copyright 2007 Radical Eye Software"
#define BANNER2 "(www.radicaleye.com)"
#ifdef KPATHSEA
#include "config.h"
@@ -58,13 +53,14 @@
* of a string that can be handled in specials, so it should not be
* set too small.
*/
-#define STRINGSIZE (200000) /* maximum total chars in strings in program */
+#define STRINGSIZE (200000) /* maximum total chars in strings in program */
#define RASTERCHUNK (8192) /* size of chunk of raster */
#define MINCHUNK (240) /* minimum size char to get own raster */
#define STACKSIZE (350) /* maximum stack size for dvi files */
#define MAXFRAME (10) /* maximum depth of virtual font recursion */
#define MAXFONTHD (100) /* number of unique names of included fonts */
#define STDOUTSIZE (75) /* width of a standard output line */
+#define DOWNLOADEDPSSIZE (1000) /* max number of downloaded fonts to check */
/*
* Other constants, which define printer-dependent stuff.
*/
Index: texlive-bin-2007/build/source/texk/dvipsk/emspecial.c
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/emspecial.c 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/emspecial.c 2007-05-07 01:38:37.000000000 +0200
@@ -659,14 +659,23 @@
void imagehead P5C(char *, filename, int, wide, int, high,
float, emwidth, float, emheight)
{
+ char *fullname = NULL, *name ;
if (!quiet) {
- if (strlen(filename) + prettycolumn > STDOUTSIZE) {
+#ifdef KPATHSEA
+ fullname = (char *)kpse_find_file (filename, pictpath, 0) ;
+#endif
+ if (!fullname)
+ name = filename ;
+ else
+ name = fullname ;
+ if (strlen(name) + prettycolumn > STDOUTSIZE) {
fprintf(stderr,"\n");
prettycolumn = 0;
}
- (void)fprintf(stderr,"<%s",filename);
+ (void)fprintf(stderr,"<%s",name);
(void)fflush(stderr);
- prettycolumn += 2+strlen(filename);
+ prettycolumn += 2+strlen(name);
+ if (fullname) free (fullname);
}
hvpos();
nlcmdout("@beginspecial @setspecial") ;
Index: texlive-bin-2007/build/source/texk/dvipsk/finclude.c
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/finclude.c 2007-05-07 01:17:29.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/finclude.c 2007-05-07 01:38:37.000000000 +0200
@@ -57,6 +57,9 @@
extern integer debug_flag;
#endif /* DEBUG */
+extern char *downloadedpsnames[];
+extern int unused_top_of_psnames;
+
/*
* Create a font descriptor for a font included in a psfile. There will be
* no fontmaptype node for the resulting font descriptor until this font is
@@ -252,6 +255,10 @@
char *p,*pe;
struct resfont *re;
int i;
+ int j = 0;
+
+ while (downloadedpsnames[j] != NULL && j < DOWNLOADEDPSSIZE)
+ j++;
/* Turn all newlines, CRs, and tabs into spaces. */
p = str;
@@ -312,6 +319,10 @@
infont = 0 ;
}
re->sent = 2 ;
+ if (unused_top_of_psnames < DOWNLOADEDPSSIZE) {
+ downloadedpsnames[unused_top_of_psnames] = xstrdup (re->PSname);
+ unused_top_of_psnames++;
+ }
} else {
char eb[1000];
sprintf(eb,"Font %s used in file %s is not in the mapping file.",
Index: texlive-bin-2007/build/source/texk/dvipsk/finclude.lpro
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/finclude.lpro 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/finclude.lpro 2007-05-07 01:38:37.000000000 +0200
@@ -1,4 +1,5 @@
%!
+% finclude.lpro - public domain.
% Define tfm-name to be a dictionary of included fonts indexed by size:
% /tfm-name scaled-size1 /font-select1 ... scsize_k /fselect_k k fstore -
/fstore
Index: texlive-bin-2007/build/source/texk/dvipsk/flib.c
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/flib.c 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/flib.c 2007-05-07 01:38:37.000000000 +0200
@@ -4,7 +4,7 @@
* Tomas Rokicki or Radical Eye Software; use at your own risk.
*/
#ifdef FONTLIB
-#include "dvips.h"
+#include "dvips.h" /* The copyright notice in that file is included too! */
#include "paths.h"
#include "protos.h"
extern int debug_flag ;
Index: texlive-bin-2007/build/source/texk/dvipsk/header.c
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/header.c 2007-05-07 01:18:19.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/header.c 2007-05-07 01:38:37.000000000 +0200
@@ -35,7 +35,7 @@
int
add_name P2C(char *, s, struct header_list **, what)
{
- add_name_general (s, what, NULL, NULL);
+ return (int) add_name_general (s, what, NULL, NULL);
}
/*
@@ -122,7 +122,7 @@
int
add_header P1C(char *, s)
{
- add_header_general (s, NULL, NULL);
+ return (int) add_header_general (s, NULL, NULL);
}
int
Index: texlive-bin-2007/build/source/texk/dvipsk/hps.c
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/hps.c 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/hps.c 2007-05-07 01:38:37.000000000 +0200
@@ -1,8 +1,8 @@
/* This is the main file for hacking dvips to do HyperPostScript
* Written by Mark D. Doyle 11/94. It is (C) Copyright 1994 by Mark D. Doyle
* and the University of California. You may modify and use this program to
- * your heart's content, so long as you send modifications to Mark Doyle and
- * abide by the rest of the dvips copyrights.
+ * your heart's content. Mark Doyle requests that you send him
+ * any modifications.
*/
#include "dvips.h"
#ifdef HPS
Index: texlive-bin-2007/build/source/texk/dvipsk/hps.lpro
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/hps.lpro 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/hps.lpro 2007-05-07 01:38:37.000000000 +0200
@@ -5,8 +5,9 @@
% Written by Tanmoy Bhattacharya and Mark D. Doyle 11/94.
% It is (C) Copyright 1994 by Tanmoy Bhattacharya, Mark D. Doyle
% and the University of California. You may modify and use this program to
-% your heart's content, so long as you send modifications to Tanmoy
-% Bhattacharya and/or Mark Doyle.
+% your heart's content. Tanmoy Bhattacharya and Mark Doyle request that
+% you send either or both them any modifications.
+%
% Version number info
% 1 0 Probably first release
% 1 1 Added external handler to let ghostview work
Index: texlive-bin-2007/build/source/texk/dvipsk/loadfont.c
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/loadfont.c 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/loadfont.c 2007-05-07 01:38:37.000000000 +0200
@@ -333,6 +333,9 @@
register chardesctype *cd = 0 ;
int maxcc = 0 ;
int munged = 0 ;
+ extern int prettycolumn ;
+ extern int quiet ;
+ extern char *realnameoffile ;
/*
* We clear out some pointers:
*/
@@ -358,6 +361,14 @@
tfmload(curfnt) ;
return ;
}
+ if (!quiet) {
+ if (strlen(realnameoffile) + prettycolumn > STDOUTSIZE) {
+ fprintf(stderr, "\n") ;
+ prettycolumn = 0 ;
+ }
+ (void)fprintf(stderr, "<%s>", realnameoffile);
+ prettycolumn += strlen(realnameoffile) + 2 ;
+ }
#ifdef DEBUG
if (dd(D_FONTS))
(void)fprintf(stderr,"Loading pk font %s at %.1fpt\n",
Index: texlive-bin-2007/build/source/texk/dvipsk/makefont.c
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/makefont.c 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/makefont.c 2007-05-07 01:38:37.000000000 +0200
@@ -1,7 +1,5 @@
-/*
- * This software is Copyright 1988 by Radical Eye Software.
- */
-#include "dvips.h"
+/* makefont.c */
+#include "dvips.h" /* The copyright notice in that file is included too! */
#include <math.h>
#include "protos.h"
extern int quiet ;
Index: texlive-bin-2007/build/source/texk/dvipsk/output.c
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/output.c 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/output.c 2007-05-07 01:38:37.000000000 +0200
@@ -113,6 +113,7 @@
void
copyfile_general P2C(char *, s, struct header_list *, cur_header)
{
+ extern char *realnameoffile ;
FILE *f = NULL ;
int c, prevc = '\n' ;
long len ;
@@ -205,7 +206,11 @@
error(errbuf) ;
else {
if (! quiet) {
+#if defined(VMCMS) || defined (MVSXA)
if (strlen(s) + prettycolumn > STDOUTSIZE) {
+#else
+ if (strlen(realnameoffile) + prettycolumn > STDOUTSIZE) {
+#endif
fprintf(stderr, "\n") ;
prettycolumn = 0 ;
}
@@ -215,11 +220,15 @@
#ifdef MVSXA
(void)fprintf(stderr, "<%s>", trunc_s) ;
#else
- (void)fprintf(stderr, "<%s>", s) ;
+ (void)fprintf(stderr, "<%s>", realnameoffile) ;
#endif
#endif
(void)fflush(stderr) ;
+#if defined(VMCMS) || defined (MVSXA)
prettycolumn += 2 + strlen(s) ;
+#else
+ prettycolumn += 2 + strlen(realnameoffile) ;
+#endif
}
if (linepos != 0)
(void)putc('\n', bitfile) ;
Index: texlive-bin-2007/build/source/texk/dvipsk/papersiz.c
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/papersiz.c 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/papersiz.c 2007-05-07 01:38:37.000000000 +0200
@@ -11,7 +11,7 @@
* 0 <= num < den <= 20000
* 0 <= whole
*/
-#include "dvips.h"
+#include "dvips.h" /* The copyright notice in that file is included too! */
#include "protos.h"
static long scale P4C(long, whole, long, num, long, den, long, sf)
{
Index: texlive-bin-2007/build/source/texk/dvipsk/paths.h
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/paths.h 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/paths.h 2007-05-07 01:38:37.000000000 +0200
@@ -1,4 +1,4 @@
-/*
+/* paths.h - public domain.
* OUTPATH is where to send the output. If you want a .ps file to
* be created by default, set this to "". If you want to automatically
* invoke a pipe (as in lpr), make the first character an exclamation
Index: texlive-bin-2007/build/source/texk/dvipsk/psfonts.map
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/psfonts.map 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/psfonts.map 2007-05-07 01:38:37.000000000 +0200
@@ -1,4 +1,5 @@
% original psfonts.map -- match TFM filenames to PostScript FontNames.
+% This file is public domain.
% (If you change or delete `original' on the previous line, dvips won't
% install its psfonts.map over this file.)
%
Index: texlive-bin-2007/build/source/texk/dvipsk/resident.c
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/resident.c 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/resident.c 2007-05-07 01:38:37.000000000 +0200
@@ -32,6 +32,8 @@
* These are the external variables we use.
*/
extern char *realnameoffile ;
+extern int prettycolumn ;
+extern int dvips_debug_flag ;
#ifdef DEBUG
extern integer debug_flag;
#endif /* DEBUG */
@@ -441,6 +443,14 @@
#else
if ((deffile=search(d,PSname,READ))!=NULL) {
#endif
+ if (dvips_debug_flag && !quiet) {
+ if (strlen(realnameoffile) + prettycolumn > STDOUTSIZE) {
+ fprintf(stderr, "\n") ;
+ prettycolumn = 0 ;
+ }
+ (void)fprintf(stderr, "{%s}", realnameoffile);
+ prettycolumn += strlen(realnameoffile) + 2 ;
+ }
#ifdef DEBUG
if (dd (D_CONFIG)) {
fprintf (stderr, "Reading dvips config file `%s':\n", realnameoffile);
@@ -845,9 +855,9 @@
*/
void getpsinfo P1C(char *, name)
{
- FILE *deffile ;
- register char *p ;
- char *specinfo, *downloadinfo ;
+ FILE *deffile ;
+ register char *p ;
+ char *specinfo, *downloadinfo ;
char downbuf[500] ;
char specbuf[500] ;
int slen ;
@@ -855,6 +865,14 @@
if (name == 0)
name = psmapfile ;
if ((deffile=search(mappath, name, READ))!=NULL) {
+ if (dvips_debug_flag && !quiet) {
+ if (strlen(realnameoffile) + prettycolumn > STDOUTSIZE) {
+ fprintf(stderr, "\n") ;
+ prettycolumn = 0 ;
+ }
+ (void)fprintf(stderr, "{%s}", realnameoffile);
+ prettycolumn += strlen(realnameoffile) + 2 ;
+ }
while (fgets(was_inline, INLINE_SIZE, deffile)!=NULL) {
p = was_inline ;
if (*p > ' ' && *p != '*' && *p != '#' && *p != ';' && *p != '%') {
Index: texlive-bin-2007/build/source/texk/dvipsk/special.lpro
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/special.lpro 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/special.lpro 2007-05-07 01:38:37.000000000 +0200
@@ -1,6 +1,5 @@
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% header for the \special command
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% special.lpro - public domain.
+% header for the \special command
% The structure of the PostScript produced by dvips for \special is:
% @beginspecial
% - any number of @hsize, @hoffset, @hscale, etc., commands
Index: texlive-bin-2007/build/source/texk/dvipsk/squeeze.c
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/squeeze.c 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/squeeze.c 2007-05-07 01:38:37.000000000 +0200
@@ -1,7 +1,4 @@
/*
- * This software is Copyright 1988 by Radical Eye Software.
- */
-/*
* This routine squeezes a PostScript file down to its
* minimum. We parse and then output it.
*/
@@ -14,7 +11,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include "dvips.h"
+#include "dvips.h" /* The copyright notice in that file is included too! */
#endif
#ifdef fopen
#undef fopen
Index: texlive-bin-2007/build/source/texk/dvipsk/tex.lpro
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/tex.lpro 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/tex.lpro 2007-05-07 01:38:37.000000000 +0200
@@ -1,3 +1,5 @@
+% tex.lpro - public domain.
+%
% The following defines procedures assumed and used by program "dvips"
% and must be downloaded or sent as a header file for all TeX jobs.
% Originated by Neal Holtz, Carleton University, Ottawa, Canada
Index: texlive-bin-2007/build/source/texk/dvipsk/texc.script
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/texc.script 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/texc.script 2007-05-07 01:38:37.000000000 +0200
@@ -1,5 +1,5 @@
#! /bin/sh
-# A shell script to convert tex.lpro to texc.lpro
+# A shell script to convert tex.lpro to texc.lpro. Public domain.
#
# To use it, say
# texc.script tex.lpro texc.lpro
Index: texlive-bin-2007/build/source/texk/dvipsk/texps.lpro
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/texps.lpro 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/texps.lpro 2007-05-07 01:38:37.000000000 +0200
@@ -1,5 +1,5 @@
% Thanks for some changes to:
-%+ This is TEXPS.LPRO as modified by Rob Hutchings 1992Apr02
+%+ This is TEXPS.LPRO as modified by Rob Hutchings 1992Apr02. Public domain.
%+ My comments are marked as %+
% PostScript prolog for using resident fonts.
%+ Provision is made to change the encoding scheme in special instructions.
texlive-dvipsoverflow.patch:
--- NEW FILE texlive-dvipsoverflow.patch ---
diff -up texlive-2007/texk/dvipsk/hps.c.dvipsoverflow texlive-2007/texk/dvipsk/hps.c
--- texlive-2007/texk/dvipsk/hps.c.dvipsoverflow 2007-11-22 15:44:30.000000000 +0100
+++ texlive-2007/texk/dvipsk/hps.c 2007-11-22 15:46:10.000000000 +0100
@@ -441,19 +441,32 @@ int href_name_match P2C(char *, h, char
void stamp_hps P1C(Hps_link *, pl)
{
- char tmpbuf[200] ;
+ char * tmpbuf;
if (pl == NULL) {
error("Null pointer, oh no!") ;
return ;
- } else {
- /* print out the proper pdfm with local page info only
- * target info will be in the target dictionary */
- (void)sprintf(tmpbuf,
- " (%s) [[%.0f %.0f %.0f %.0f] [%i %i %i [%i %i]] [%.0f %.0f %.0f]] pdfm ", pl->title, pl->rect.llx, pl->rect.lly, pl->rect.urx, pl->rect.ury,
- pl->border[0], pl->border[1], pl->border[2], pl->border[3],pl->border[4],
- pl->color[0], pl->color[1], pl->color[2]) ;
- cmdout(tmpbuf) ;
- }
+ }
+ if(pl->title == NULL) {
+ error("Null pointer, oh no!") ;
+ return ;
+ }
+
+ tmpbuf = (char *) malloc(strlen(pl->title)+200);
+ if(tmpbuf == NULL) {
+ error("out of memory, oh no!") ;
+ return ;
+ }
+
+ /* print out the proper pdfm with local page info only
+ * target info will be in the target dictionary */
+ (void)sprintf(tmpbuf,
+ " (%s) [[%.0f %.0f %.0f %.0f] [%i %i %i [%i %i]] [%.0f %.0f %.0f]] pdfm ",
+ pl->title, pl->rect.llx, pl->rect.lly, pl->rect.urx, pl->rect.ury,
+ pl->border[0], pl->border[1], pl->border[2], pl->border[3],pl->border[4],
+ pl->color[0], pl->color[1], pl->color[2]) ;
+ cmdout(tmpbuf) ;
+ free(tmpbuf);
+
}
@@ -462,18 +475,31 @@ void stamp_hps P1C(Hps_link *, pl)
*/
void stamp_external P2C(char *, s, Hps_link *, pl)
{
- char tmpbuf[200];
+ char *tmpbuf;
if (pl == NULL) {
error("Null pointer, oh no!") ;
return ;
- } else {
- /* print out the proper pdfm with local page info only
- * target info will be in the target dictionary */
- (void)sprintf(tmpbuf," [[%.0f %.0f %.0f %.0f] [%i %i %i [%i %i]] [%.0f %.0f %.0f]] (%s) pdfm ", pl->rect.llx, pl->rect.lly, pl->rect.urx, pl->rect.ury,
- pl->border[0], pl->border[1], pl->border[2], pl->border[3],pl->border[4],
- pl->color[0], pl->color[1], pl->color[2], s) ;
- cmdout(tmpbuf) ;
- }
+ }
+
+ if (s == NULL) {
+ error("Null pointer, oh no!") ;
+ return ;
+ }
+
+ tmpbuf = (char *) malloc(strlen(s) + 200);
+ if(tmpbuf == NULL) {
+ error("out of memory, oh no!") ;
+ return ;
+ }
+
+ /* print out the proper pdfm with local page info only
+ * target info will be in the target dictionary */
+ (void)sprintf(tmpbuf," [[%.0f %.0f %.0f %.0f] [%i %i %i [%i %i]] [%.0f %.0f %.0f]] (%s) pdfm ",
+ pl->rect.llx, pl->rect.lly, pl->rect.urx, pl->rect.ury,
+ pl->border[0], pl->border[1], pl->border[2], pl->border[3],pl->border[4],
+ pl->color[0], pl->color[1], pl->color[2], s) ;
+ cmdout(tmpbuf) ;
+ free(tmpbuf);
}
void finish_hps P1H(void) {
texlive-fedora_paths.patch:
--- NEW FILE texlive-fedora_paths.patch ---
diff -up texlive/texk/make/paths.mk.fedora_paths texlive/texk/make/paths.mk
--- texlive/texk/make/paths.mk.fedora_paths 2007-08-19 08:46:09.000000000 +0200
+++ texlive/texk/make/paths.mk 2007-08-19 08:55:17.000000000 +0200
@@ -59,7 +59,7 @@ libexecdir = @libexecdir@
texmf = @texmfmain@
# The directory used by varfonts.
-vartexfonts = /var/tmp/texfonts
+vartexfonts = $(localstatedir)/cache/fonts
# Regular input files.
texinputdir = $(texmf)/tex
diff -up texlive/texk/kpathsea/texmf.in.fedora_paths texlive/texk/kpathsea/texmf.in
--- texlive/texk/kpathsea/texmf.in.fedora_paths 2007-08-19 08:47:04.000000000 +0200
+++ texlive/texk/kpathsea/texmf.in 2007-08-21 14:16:49.000000000 +0200
@@ -59,12 +59,12 @@
TEXMFMAIN = @texmf@
% The main distribution tree:
-TEXMFDIST = @texmf at -dist
+TEXMFDIST = @texmf@
% A place for local additions to a "standard" texmf tree.
% This tree is not used for local configuration maintained by
% texconfig, it uses TEXMFCONFIG below.
-TEXMFLOCAL = @texmf at -local
+TEXMFLOCAL = /usr/local/share/texmf
% TEXMFSYSVAR, where texconfig-sys stores variable runtime data.
% With teTeX-3.0 or later, this must be set.
@@ -72,7 +72,7 @@ TEXMFLOCAL = @texmf at -local
% TEXMFSYSVAR = $TEXMFMAIN
% For using a separate tree:
% TEXMFSYSVAR = @texmf at -var
-TEXMFSYSVAR = @texmf at -var
+TEXMFSYSVAR = @localstatedir@/lib/texmf
% TEXMFSYSCONFIG, where texconfig-sys stores configuration data.
% With teTeX-3.0 or later, this must be set.
@@ -80,7 +80,7 @@ TEXMFSYSVAR = @texmf at -var
% TEXMFSYSCONFIG = $TEXMFMAIN
% For using a separate tree:
% TEXMFSYSCONFIG = @texmf at -config
-TEXMFSYSCONFIG = @texmf at -config
+TEXMFSYSCONFIG = @sysconfdir@/texmf
% User texmf trees are allowed as follows.
% This used to be HOMETEXMF.
@@ -111,7 +111,7 @@ TEXMFCONFIG = $HOME/.texmf-config
%
% For texconfig to work properly, TEXMFCONFIG and TEXMFVAR should be named
% explicitly and before all other trees.
-TEXMF = {$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST}
+TEXMF = {$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFLOCAL,!!$TEXMFMAIN,!!$TEXMFDIST}
% The system trees. These are the trees that are shared by all the users.
% If a tree appears in this list, the mktex* scripts will use
@@ -379,7 +379,7 @@ TEXMFSCRIPTS = $TEXMF/scripts//
%
% For security reasons, it is better not to have . part of the path.
%
-TEXMFCNF = {$SELFAUTOLOC,$SELFAUTODIR,$SELFAUTOPARENT}{,{/share,}/texmf{-local,}/web2c};/.$TETEXDIR;$TEXMF/web2c;@web2c@
+TEXMFCNF = {$SELFAUTOLOC,$SELFAUTODIR,$SELFAUTOPARENT}{,{/share,}/texmf{-local,}/web2c};@sysconfdir@/texmf;/usr/local/share/texmf/web2c;$TEXMF/web2c;@web2c@
# $progname: kpathsea v. 3.5.3 or later overwrites this at runtime. To
# avoid empty expansions from binaries linked against an earlier
--- NEW FILE texlive-filter-requires.sh ---
#!/bin/sh
/usr/lib/rpm/perl.req "$@" | grep -v 'perl(\(Tk\|Win32\|only\|path_tre\|just\|Htex\|Pts\)'
texlive-fix_makempx_installation.patch:
--- NEW FILE texlive-fix_makempx_installation.patch ---
64_fix_makempx_installation by Sanjoy Mahajan <sanjoy at mrao.cam.ac.uk>
building with --enable-shared installs the makempx script instead of the
binary build
---
build/source/texk/web2c/mpware/Makefile.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: texlive-bin-2007/build/source/texk/web2c/mpware/Makefile.in
===================================================================
--- texlive-bin-2007.orig/build/source/texk/web2c/mpware/Makefile.in 2007-05-19 20:04:58.000000000 +0200
+++ texlive-bin-2007/build/source/texk/web2c/mpware/Makefile.in 2007-05-19 20:05:19.000000000 +0200
@@ -49,7 +49,7 @@
$(INSTALL_PROGRAM) newer $(bindir)/newer
$(INSTALL_LIBTOOL_PROG) dmp $(bindir)
$(INSTALL_LIBTOOL_PROG) mpto $(bindir)
- $(INSTALL_SCRIPT) makempx $(scriptdir)/makempx
+ $(INSTALL_LIBTOOL_PROG) makempx $(bindir)
install-data:
kpse_include ../make/tkpathsea.mk
texlive-fix_pkfix_invocation.patch:
--- NEW FILE texlive-fix_pkfix_invocation.patch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 11_fix_pkfix_invocation.dpatch <preining at logic.at>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Fix invocation of pkfix to get rid of magic
@DPATCH@
build/source/texk/texlive/pkfix | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
Index: texlive-bin-2006.svn3816/build/source/texk/texlive/pkfix
===================================================================
--- texlive-bin-2006.svn3816.orig/build/source/texk/texlive/pkfix 2006-01-17 22:41:51.000000000 +0100
+++ texlive-bin-2006.svn3816/build/source/texk/texlive/pkfix 2007-01-26 03:56:42.000000000 +0100
@@ -1,7 +1,4 @@
-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q'
- if 0;
-use strict;
-$^W=1; # turn warning on
+#!/usr/bin/perl -w
#
# pkfix.pl
#
texlive-fmtutil_keep_failedlog.patch:
--- NEW FILE texlive-fmtutil_keep_failedlog.patch ---
---
build/source/texk/tetex/fmtutil | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
Index: texlive-bin-2007/build/source/texk/tetex/fmtutil
===================================================================
--- texlive-bin-2007.orig/build/source/texk/tetex/fmtutil 2007-04-13 14:04:31.000000000 +0200
+++ texlive-bin-2007/build/source/texk/tetex/fmtutil 2007-04-13 14:09:48.000000000 +0200
@@ -696,9 +696,7 @@
if test -f $fmtfile; then
grep '^! ' $format.log >/dev/null 2>&1 &&
log_failure "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed."
- rm -f "$fulldestdir/$format.log"
- # We don't want user-interaction for the following "mv" commands:
- mv "$format.log" "$fulldestdir/$format.log" </dev/null
+ # We don't want user-interaction for the following "mv" command:
if mv "$fmtfile" "$fulldestdir/$fmtfile" </dev/null; then
verboseMsg "$progname: $fulldestdir/$fmtfile installed."
#
@@ -710,6 +708,9 @@
else
log_failure "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' failed"
fi
+ rm -f "$fulldestdir/$format.log"
+ # We don't want user-interaction for the following "mv" command:
+ mv "$format.log" "$fulldestdir/$format.log" </dev/null
}
###############################################################################
--- NEW FILE texlive-generate-tarball.sh ---
#!/bin/sh
mkdir texlive-source-free
cd texlive-source-free
tar -xjvf ../source.tar.bz2
for file in texk/texlive/nts.pl \
texk/dvipsk/contrib/bbfig/bb.ps \
texk/dvipsk/contrib/pspic/pspic.sty \
texk/dvipsk/contrib/psfntmac/ps_lfonts.tex \
texk/dvipsk/contrib/psfntmac/ps_plain.tex \
texk/dvpisk/contrib/timesmat.sty \
texk/dvpisk/contrib/MakeTeXPK.pl\
; do
rm $file
done
tar -cjvf ../source-free.tar.bz2 .
cd ..
rm -rf texlive-source-free
texlive-maketexmf.patch:
--- NEW FILE texlive-maketexmf.patch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 41_maketexmf.dpatch
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: fix for mktexmf script from perforce depot
@DPATCH@
build/source/texk/kpathsea/mktexmf | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
Index: texlive-bin-2006.svn3816/build/source/texk/kpathsea/mktexmf
===================================================================
--- texlive-bin-2006.svn3816.orig/build/source/texk/kpathsea/mktexmf 2006-01-17 22:41:51.000000000 +0100
+++ texlive-bin-2006.svn3816/build/source/texk/kpathsea/mktexmf 2007-01-26 04:01:50.000000000 +0100
@@ -36,17 +36,20 @@
rootfile=$sauterroot
rootname=b-$rootname
else
- case $rootname in
+ case $name in
# csso12[0-5][0-9] from CJK package; unsupported by mktexmf
csso12[0-5][0-9])
- rootfile=;;
- cs*|lcsss*|icscsc*|icstt*|ilcsss*)
- rootfile=`kpsewhich cscode.mf`;;
- wn[bcdfirstuv]*|rx[bcdfiorstuvx][bcfhilmostx]|l[abcdhl][bcdfiorstuvx]*)
- lhprefix=`echo "$name" | sed 's/^\(..\).*/\1/'`
- rootfile=`kpsewhich ${lhprefix}codes.mf 2>/dev/null`;;
+ rootfile=;;
*)
- rootfile=`kpsewhich $rootname.mf 2>/dev/null`;;
+ case $rootname in
+ cs*|lcsss*|icscsc*|icstt*|ilcsss*)
+ rootfile=`kpsewhich cscode.mf`;;
+ wn[bcdfirstuv]*|rx[bcdfiorstuvx][bcfhilmostx]|l[abcdhl][bcdfiorstuvx]*)
+ lhprefix=`echo "$name" | sed 's/^\(..\).*/\1/'`
+ rootfile=`kpsewhich ${lhprefix}codes.mf 2>/dev/null`;;
+ *)
+ rootfile=`kpsewhich $rootname.mf 2>/dev/null`;;
+ esac;;
esac
fi
{ test -z "$rootfile" || test ! -f "$rootfile"; } && exit 1
texlive-mktexlsr_fixes.patch:
--- NEW FILE texlive-mktexlsr_fixes.patch ---
## 10_mktexlsr_fixes by <frank at debian.org> etc etc
##
## DP: Fixes wrong paths in various scripts to make lintian shut up.
## DP: Fix creation of ls-R in root's homedir
## DP: Also add a note to the man page of mktexlsr about the above fix
build/source/texk/kpathsea/mktexlsr | 24 ++++++++++++------------
texmf/doc/man/man1/mktexlsr.1 | 9 +++++++++
2 files changed, 21 insertions(+), 12 deletions(-)
Index: texlive-bin-2006.svn3816/build/source/texk/kpathsea/mktexlsr
===================================================================
--- texlive-bin-2006.svn3816.orig/build/source/texk/kpathsea/mktexlsr 2006-12-25 19:44:43.000000000 +0100
+++ texlive-bin-2006.svn3816/build/source/texk/kpathsea/mktexlsr 2007-01-26 03:55:05.000000000 +0100
@@ -82,6 +82,9 @@
'
set x `kpsewhich --show-path=ls-R | tr : '
' | sort | uniq`; shift
+ if test "`id -u`" -eq 0; then
+ NOROOTHOME=true
+ fi
IFS=$OIFS
}
@@ -89,6 +92,10 @@
# Prepend cwd if the directory was relative.
case "$TEXMFLS_R" in
"") continue ;; # Strictly speaking, it is an error if this case is taken.
+ $HOME/*) if test -n "$NOROOTHOME"; then
+ tty -s && echo "$progname: Skipping $TEXMFLS_R" >&2
+ continue
+ fi ;;
/* | [A-z]:/*) ;;
*) TEXMFLS_R="`pwd`/$TEXMFLS_R"
esac
@@ -112,9 +119,9 @@
db_dir=`echo "$db_file" | sed 's%/[^/][^/]*$%%'` # can't rely on dirname
test -d "$db_dir" || continue
- test -w "$db_dir" || { echo "$progname: $db_dir: directory not writable. Skipping..." >&2; continue; }
if test ! -f "$db_file"; then
+ test -w "$db_dir" || { echo "$progname: $db_dir: directory not writable. Skipping..." >&2; continue; }
cp /dev/null "$db_file"
# Use same permissions as parent directory, minus x,s, or t bits.
chmod `kpsestat -xst "$db_dir"` "$db_file"
@@ -128,11 +135,8 @@
# Skip if we cannot write the file:
kpseaccess -w "$db_file" || { echo "$progname: $db_file: no write permission. Skipping..." >&2; continue; }
- db_dir_tmp="$db_dir/lsR$$.tmp"
- (umask 077 && mkdir "$db_dir_tmp" ) \
- || { echo "$progname: could not create directory '$db_dir_tmp'. Skipping..." >&2; continue; }
- db_file_tmp="$db_dir_tmp/lsR$$.tmp"
- rm -f "$db_file_tmp"
+ db_file_tmp=`mktemp -t ls-R.XXXXXXXXXX` \
+ || { echo "$progname: could not create temporary file for '$db_file'. Skipping..." >&2; continue; }
$verbose && echo "$progname: Updating $db_file... " >&2
echo "$ls_R_magic" >"$db_file_tmp"
@@ -152,12 +156,8 @@
| sed -e '/\.svn.*:$/,/^$/d' \
>>"$db_file_tmp"
- # To be really safe, a loop.
- until PERMS=`kpsestat = "$db_file"`; do sleep 1; done
- chmod $PERMS "$db_file_tmp"
- rm -f "$db_file"
- mv "$db_file_tmp" "$db_file"
- rm -rf "$db_dir_tmp"
+ cat "$db_file_tmp" > "$db_file"
+ rm -f "$db_file_tmp"
done
$verbose && echo "$progname: Done." >&2
exit 0
Index: texlive-bin-2006.svn3816/texmf/doc/man/man1/mktexlsr.1
===================================================================
--- texlive-bin-2006.svn3816.orig/build/source/texk/kpathsea/mktexlsr.man 2007-01-14 19:01:06.000000000 +0100
+++ texlive-bin-2006.svn3816/build/source/texk/kpathsea/mktexlsr.man 2007-01-26 03:55:05.000000000 +0100
@@ -44,3 +44,12 @@
.B --version
.rb
Print version information and exit.
+.\"=====================================================================
+.SH NOTES
+When called by root with no arguments, \fBmktexlsr\fP in Debian ignores
+TEXMF trees under \fI$HOME\fP. This is to avoid creating undesirable files
+such as \fI/root/texmf/ls-R\fP when doing usual maintainance (it is generally
+a bad idea to work with TeX as root, therefore having a file such as
+\fI/root/texmf/ls-R\fP in the first place is rather pointless). If you really
+want to update the ls-R databases for such TEXMF trees, simply list them
+explicitely on the command-line.
texlive-more_paths.patch:
--- NEW FILE texlive-more_paths.patch ---
diff -up texlive/texk/make/makevars.mk.more_paths texlive/texk/make/makevars.mk
--- texlive/texk/make/makevars.mk.more_paths 2007-08-19 07:38:56.000000000 +0200
+++ texlive/texk/make/makevars.mk 2007-08-19 07:45:26.000000000 +0200
@@ -5,6 +5,8 @@ makevars = prefix=$(prefix) exec_prefix=
bindir=$(bindir) scriptdir=$(scriptdir) libdir=$(libdir) \
datadir=$(datadir) infodir=$(infodir) includedir=$(includedir) \
mandir=$(mandir) manext=$(manext) man1dir=$(man1dir) \
+ sysconfdir=$(sysconfdir) localstatedir=$(localstatedir) \
+ libexecdir=$(libexecdir) \
texmf=$(texmf) web2cdir=$(web2cdir) vartexfonts=$(vartexfonts)\
texinputdir=$(texinputdir) mfinputdir=$(mfinputdir) mpinputdir=$(mpinputdir)\
fontdir=$(fontdir) fmtdir=$(fmtdir) basedir=$(basedir) memdir=$(memdir) \
diff -up texlive/texk/make/paths.mk.more_paths texlive/texk/make/paths.mk
--- texlive/texk/make/paths.mk.more_paths 2007-08-19 07:39:12.000000000 +0200
+++ texlive/texk/make/paths.mk 2007-08-19 08:54:35.000000000 +0200
@@ -35,6 +35,18 @@ manext = 1
mandir = @mandir@
man1dir = $(mandir)/man$(manext)
+# modifiable single-machine data.
+
+localstatedir = @localstatedir@
+
+# read-only single-machine data (configuration).
+
+sysconfdir = @sysconfdir@
+
+# executables that other programs run.
+
+libexecdir = @libexecdir@
+
# TeX system-specific directories. Not all of the following are relevant
# for all programs, but it seems cleaner to collect everything in one place.
texlive-pdftex.patch:
--- NEW FILE texlive-pdftex.patch ---
--- texlive-2007/texk/web2c/pdftexdir/ptexlib.h.orig 2007-06-21 20:07:37.746531903 -0400
+++ texlive-2007/texk/web2c/pdftexdir/ptexlib.h 2007-06-21 20:05:40.014606804 -0400
@@ -38,7 +38,9 @@
/* avl */
# include "avlstuff.h"
+#ifndef __linux__
# include "openbsd-compat.h"
+#endif
/* pdftexlib type declarations */
typedef struct {
--- texlive-2007/texk/web2c/pdftexdir/epdf.h.orig 2007-06-21 22:27:08.039209770 -0400
+++ texlive-2007/texk/web2c/pdftexdir/epdf.h 2007-06-21 22:27:32.643343920 -0400
@@ -44,7 +44,9 @@
#include <web2c/pdftexdir/ptexmac.h>
+#ifndef __linux__
#include "openbsd-compat.h"
+#endif
/* #-define pdfbufsize pdfbufmax */
--- texlive-2007/texk/web2c/pdftexdir/depend.mk.pdftex 2006-12-26 18:37:34.000000000 -0500
+++ texlive-2007/texk/web2c/pdftexdir/depend.mk 2007-06-22 00:17:35.157351368 -0400
@@ -7,15 +7,13 @@
ptexmac.h
utils.o: utils.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \
../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h \
- ../../../libs/zlib/zlib.h ../../../libs/zlib/zconf.h \
- ../../../libs/md5/md5.h pdftexextra.h \
- ../../../libs/obsdcompat/openbsd-compat.h
+pdftexextra.h
vfpacket.o: vfpacket.c ptexlib.h ../pdftexd.h ../texmfmp.h \
../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \
ptexmac.h
pkin.o: pkin.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \
../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h
-writefont.o: writefont.c ../../../libs/xpdf/goo/gmem.h ptexlib.h \
+writefont.o: writefont.c ptexlib.h \
../pdftexd.h ../texmfmp.h ../cpascal.h ../config.h ../help.h \
../texmfmem.h ../pdftexcoerce.h ptexmac.h
writet1.o: writet1.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \
@@ -24,7 +22,7 @@
../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h
writezip.o: writezip.c ptexlib.h ../pdftexd.h ../texmfmp.h \
../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \
- ptexmac.h ../../../libs/zlib/zlib.h ../../../libs/zlib/zconf.h
+ ptexmac.h
writeenc.o: writeenc.c ptexlib.h ../pdftexd.h ../texmfmp.h \
../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \
ptexmac.h
@@ -40,16 +38,7 @@
writeimg.o: writeimg.c ptexlib.h ../pdftexd.h ../texmfmp.h \
../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \
ptexmac.h image.h
-pdftoepdf.o: pdftoepdf.cc ../../../libs/xpdf/xpdf/Object.h \
- ../../../libs/xpdf/goo/gmem.h ../../../libs/xpdf/xpdf/Array.h \
- ../../../libs/xpdf/xpdf/Dict.h ../../../libs/xpdf/xpdf/Stream.h \
- ../../../libs/xpdf/xpdf/XRef.h ../../../libs/xpdf/xpdf/Catalog.h \
- ../../../libs/xpdf/xpdf/Page.h ../../../libs/xpdf/xpdf/GfxFont.h \
- ../../../libs/xpdf/xpdf/Error.h epdf.h
+pdftoepdf.o: pdftoepdf.cc \
+ epdf.h
ttf2afm.o: ttf2afm.c writettf.h macnames.c
-pdftosrc.o: pdftosrc.cc ../../../libs/xpdf/xpdf/Object.h \
- ../../../libs/xpdf/xpdf/Array.h ../../../libs/xpdf/xpdf/Dict.h \
- ../../../libs/xpdf/xpdf/Stream.h ../../../libs/xpdf/xpdf/XRef.h \
- ../../../libs/xpdf/xpdf/Catalog.h ../../../libs/xpdf/xpdf/Page.h \
- ../../../libs/xpdf/xpdf/PDFDoc.h ../../../libs/xpdf/xpdf/Link.h \
- ../../../libs/xpdf/xpdf/Error.h ../../../libs/xpdf/xpdf/config.h
+pdftosrc.o: pdftosrc.cc
--- texlive-2007/texk/web2c/pdftexdir/utils.c.orig 2007-06-22 00:33:15.216284121 -0400
+++ texlive-2007/texk/web2c/pdftexdir/utils.c 2007-06-22 00:33:32.948057443 -0400
@@ -20,7 +20,9 @@
$Id: //depot/Build/source.development/TeX/texk/web2c/pdftexdir/utils.c#24 $
*/
+#ifndef __linux__
#include "openbsd-compat.h"
+#endif
#ifdef HAVE_ASPRINTF /* asprintf is not defined in openbsd-compat.h, but in stdio.h */
# include <stdio.h>
#endif
texlive-poppler.patch:
--- NEW FILE texlive-poppler.patch ---
diff -up texlive-2007/texk/web2c/pdftexdir/pdftex.mk.poppler texlive-2007/texk/web2c/pdftexdir/pdftex.mk
--- texlive-2007/texk/web2c/pdftexdir/pdftex.mk.poppler 2006-12-27 00:37:34.000000000 +0100
+++ texlive-2007/texk/web2c/pdftexdir/pdftex.mk 2007-11-28 11:53:15.000000000 +0100
@@ -2,6 +2,9 @@
# This fragment contains the parts of the makefile that are most likely to
# differ between releases of pdfeTeX.
+# use libpoppler instead of included xpdf code
+ADDLDFLAGS = -lpoppler
+
# We build pdftex
pdftex = @PETEX@ pdftex
pdftexdir = pdftexdir
@@ -29,7 +32,7 @@ pdftex_o = pdftexini.o pdftex0.o pdftex1
# Making pdftex
pdftex: pdftexd.h $(pdftex_o) $(pdftexextra_o) $(pdftexlibsdep)
- @CXXHACKLINK@ $(pdftex_o) $(pdftexextra_o) $(pdftexlibs) $(socketlibs) @CXXHACKLDLIBS@ @CXXLDEXTRA@
+ @CXXHACKLINK@ $(pdftex_o) $(pdftexextra_o) $(pdftexlibs) $(socketlibs) @CXXHACKLDLIBS@ @CXXLDEXTRA@ $(ADDLDFLAGS)
# C file dependencies.
$(pdftex_c) pdftexcoerce.h pdftexd.h: pdftex.p $(web2c_texmf) $(srcdir)/$(pdftexdir)/pdftex.defines $(srcdir)/$(pdftexdir)/pdftex.h
@@ -156,7 +159,7 @@ ttf2afm-clean:
pdftosrc = pdftosrc
pdftosrc: $(pdftexdir)/pdftosrc.o $(LIBXPDFDEP)
- @CXXHACKLINK@ $(pdftexdir)/pdftosrc.o $(LDLIBXPDF) -lm @CXXLDEXTRA@
+ @CXXHACKLINK@ $(pdftexdir)/pdftosrc.o $(LDLIBXPDF) -lm @CXXLDEXTRA@ $(ADDLDFLAGS)
$(pdftexdir)/pdftosrc.o:$(srcdir)/$(pdftexdir)/pdftosrc.cc
cd $(pdftexdir) && $(MAKE) pdftosrc.o
check: pdftosrc-check
diff -up texlive-2007/texk/web2c/pdftexdir/pdftoepdf.cc.poppler texlive-2007/texk/web2c/pdftexdir/pdftoepdf.cc
--- texlive-2007/texk/web2c/pdftexdir/pdftoepdf.cc.poppler 2006-12-27 00:37:34.000000000 +0100
+++ texlive-2007/texk/web2c/pdftexdir/pdftoepdf.cc 2007-11-28 11:53:15.000000000 +0100
@@ -26,25 +26,24 @@ $Id: pdftoepdf.cc,v 1.9 2006/09/01 18:06
#include <stdio.h>
#include <string.h>
#include <ctype.h>
-#include <aconf.h>
-#include <GString.h>
-#include <gmem.h>
-#include <gfile.h>
-#include <config.h>
#include <assert.h>
-#include "Object.h"
-#include "Stream.h"
-#include "Array.h"
-#include "Dict.h"
-#include "XRef.h"
-#include "Catalog.h"
-#include "Link.h"
-#include "Page.h"
-#include "GfxFont.h"
-#include "PDFDoc.h"
-#include "GlobalParams.h"
-#include "Error.h"
-
+#include <dirent.h>
+#include <poppler/poppler-config.h>
+#include <poppler/goo/GooString.h>
+#include <poppler/goo/gmem.h>
+#include <poppler/goo/gfile.h>
+#include "poppler/Object.h"
+#include "poppler/Stream.h"
+#include "poppler/Array.h"
+#include "poppler/Dict.h"
+#include "poppler/XRef.h"
+#include "poppler/Link.h"
+#include "poppler/Catalog.h"
+#include "poppler/Page.h"
+#include "poppler/GfxFont.h"
+#include "poppler/PDFDoc.h"
+#include "poppler/GlobalParams.h"
+#include "poppler/Error.h"
#include "epdf.h"
// This file is mostly C and not very much C++; it's just used to interface
@@ -169,7 +168,7 @@ static PdfDocument *find_add_document(ch
fprintf(stderr, "\npdfTeX Debug: Creating %s (%d)\n", p->file_name,
p->occurences);
#endif
- GString *docName = new GString(p->file_name);
+ GooString *docName = new GooString(p->file_name);
p->doc = new PDFDoc(docName); // takes ownership of docName
if (!p->doc->isOk() || !p->doc->okToPrint()) {
pdftex_fail("xpdf: reading PDF image failed");
@@ -511,7 +510,7 @@ static void copyObject(Object * obj)
int i, l, c;
Ref ref;
char *p;
- GString *s;
+ GooString *s;
if (obj->isBool()) {
pdf_printf("%s", obj->getBool()? "true" : "false");
} else if (obj->isInt()) {
@@ -703,7 +702,7 @@ read_pdf_info(char *image_name, char *pa
epdf_num_pages = pdf_doc->doc->getCatalog()->getNumPages();
if (page_name) {
// get page by name
- GString name(page_name);
+ GooString name(page_name);
LinkDest *link = pdf_doc->doc->findDest(&name);
if (link == 0 || !link->isOk())
pdftex_fail("PDF inclusion: invalid destination <%s>", page_name);
diff -up texlive-2007/texk/web2c/pdftexdir/pdftexextra.in.poppler texlive-2007/texk/web2c/pdftexdir/pdftexextra.in
--- texlive-2007/texk/web2c/pdftexdir/pdftexextra.in.poppler 2006-12-27 00:37:34.000000000 +0100
+++ texlive-2007/texk/web2c/pdftexdir/pdftexextra.in 2007-11-28 11:53:15.000000000 +0100
@@ -26,7 +26,7 @@ $Id: pdftexextra.in,v 1.4 2004/08/26 18:
(generated from ../lib/texmfmp.c).
*/
-#define BANNER "This is pdfTeX, Version 3.141592-PDFTEX-VERSION-ETEX-VERSION"
+#define BANNER "This is pdfTeX using libpoppler, Version 3.141592-PDFTEX-VERSION-ETEX-VERSION"
#define COPYRIGHT_HOLDER "Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX)"
#define AUTHOR NULL
#define PROGRAM_HELP PDFTEXHELP
diff -up texlive-2007/texk/web2c/pdftexdir/pdftosrc.cc.poppler texlive-2007/texk/web2c/pdftexdir/pdftosrc.cc
--- texlive-2007/texk/web2c/pdftexdir/pdftosrc.cc.poppler 2006-12-27 00:37:34.000000000 +0100
+++ texlive-2007/texk/web2c/pdftexdir/pdftosrc.cc 2007-11-28 12:03:48.000000000 +0100
@@ -25,22 +25,23 @@ $Id: //depot/Build/source.development/Te
#include <stdio.h>
#include <string.h>
#include <ctype.h>
-#include <aconf.h>
#include <assert.h>
-#include <GString.h>
-#include <gmem.h>
-#include <gfile.h>
-#include "Object.h"
-#include "Stream.h"
-#include "Array.h"
-#include "Dict.h"
-#include "XRef.h"
-#include "Catalog.h"
-#include "Page.h"
-#include "GfxFont.h"
-#include "PDFDoc.h"
-#include "GlobalParams.h"
-#include "Error.h"
+
+#include <dirent.h>
+#include <poppler/goo/GooString.h>
+#include <poppler/goo/gmem.h>
+#include <poppler/goo/gfile.h>
+#include <poppler/Object.h>
+#include <poppler/Stream.h>
+#include <poppler/Array.h>
+#include <poppler/Dict.h>
+#include <poppler/XRef.h>
+#include <poppler/Catalog.h>
+#include <poppler/Page.h>
+#include <poppler/GfxFont.h>
+#include <poppler/PDFDoc.h>
+#include <poppler/GlobalParams.h>
+#include <poppler/Error.h>
static XRef *xref = 0;
@@ -48,7 +49,7 @@ int main(int argc, char *argv[])
{
char *p, buf[1024];
PDFDoc *doc;
- GString *fileName;
+ GooString *fileName;
Stream *s;
Object srcStream, srcName, catalogDict;
FILE *outfile;
@@ -62,7 +63,7 @@ int main(int argc, char *argv[])
"Usage: pdftosrc <PDF-file> [<stream-object-number>]\n");
exit(1);
}
- fileName = new GString(argv[1]);
+ fileName = new GooString(argv[1]);
globalParams = new GlobalParams();
doc = new PDFDoc(fileName);
if (!doc->isOk()) {
diff -up texlive-2007/texk/web2c/pdftexdir/utils.c.poppler texlive-2007/texk/web2c/pdftexdir/utils.c
--- texlive-2007/texk/web2c/pdftexdir/utils.c.poppler 2007-01-01 18:20:03.000000000 +0100
+++ texlive-2007/texk/web2c/pdftexdir/utils.c 2007-11-28 11:53:15.000000000 +0100
@@ -37,7 +39,7 @@ $Id: //depot/Build/source.development/Te
#include "zlib.h"
#include "ptexlib.h"
#include "png.h"
-#include "xpdf/config.h" /* just to get the xpdf version */
+#include "poppler/poppler-config.h" /* just to get the xpdf version */
#define check_nprintf(size_get, size_want) \
if ((unsigned)(size_get) >= (unsigned)(size_want)) \
@@ -1261,7 +1263,7 @@ void initversionstring(char **versions)
(void) asprintf(versions,
"Compiled with libpng %s; using libpng %s\n"
"Compiled with zlib %s; using zlib %s\n"
- "Compiled with xpdf version %s\n",
+ "Compiled with libpoppler version %s\n",
PNG_LIBPNG_VER_STRING, png_libpng_ver,
ZLIB_VERSION, zlib_version, xpdfVersion);
}
diff -up texlive-2007/texk/web2c/xetexdir/pdfimage.cpp.poppler texlive-2007/texk/web2c/xetexdir/pdfimage.cpp
--- texlive-2007/texk/web2c/xetexdir/pdfimage.cpp.poppler 2006-12-09 11:29:12.000000000 +0100
+++ texlive-2007/texk/web2c/xetexdir/pdfimage.cpp 2007-11-28 11:53:15.000000000 +0100
@@ -11,10 +11,24 @@
#include "pdfimage.h"
-#include "PDFDoc.h"
-#include "Catalog.h"
-#include "Page.h"
-#include "GString.h"
+#include <dirent.h>
+#include <poppler/poppler-config.h>
+#include <poppler/goo/GooString.h>
+#include <poppler/goo/gmem.h>
+#include <poppler/goo/gfile.h>
+#include "poppler/Object.h"
+#include "poppler/Stream.h"
+#include "poppler/Array.h"
+#include "poppler/Dict.h"
+#include "poppler/XRef.h"
+#include "poppler/Link.h"
+#include "poppler/Catalog.h"
+#include "poppler/Page.h"
+#include "poppler/GfxFont.h"
+#include "poppler/PDFDoc.h"
+#include "poppler/GlobalParams.h"
+#include "poppler/Error.h"
+
#include "XeTeX_ext.h"
@@ -28,7 +42,7 @@ my_fmin(double x, double y)
int
pdf_get_rect(char* filename, int page_num, int pdf_box, realrect* box)
{
- GString* name = new GString(filename);
+ GooString* name = new GooString(filename);
PDFDoc* doc = new PDFDoc(name);
if (!doc) {
diff -up texlive-2007/texk/web2c/xetexdir/XeTeX_ext.c.poppler texlive-2007/texk/web2c/xetexdir/XeTeX_ext.c
--- texlive-2007/texk/web2c/xetexdir/XeTeX_ext.c.poppler 2007-01-15 14:04:36.000000000 +0100
+++ texlive-2007/texk/web2c/xetexdir/XeTeX_ext.c 2007-11-28 11:53:15.000000000 +0100
@@ -33,7 +33,7 @@ authorization from SIL International.
*/
#ifdef XETEX_OTHER
-#include "xpdf/config.h"
+#include "poppler/poppler-config.h"
#include "png.h"
#endif
@@ -194,7 +194,7 @@ void initversionstring(char **versions)
#else
"Compiled with fontconfig version %d.%d.%d; using %d.%d.%d\n"
"Compiled with libpng version %s; using %s\n"
- "Compiled with xpdf version %s\n"
+ "Compiled with libpoppler version %s\n"
#endif
;
diff -up texlive-2007/texk/web2c/xetexdir/xetex.mk.poppler texlive-2007/texk/web2c/xetexdir/xetex.mk
--- texlive-2007/texk/web2c/xetexdir/xetex.mk.poppler 2007-11-28 11:53:15.000000000 +0100
+++ texlive-2007/texk/web2c/xetexdir/xetex.mk 2007-11-28 11:53:15.000000000 +0100
@@ -4,6 +4,10 @@
Makefile: $(srcdir)/xetexdir/xetex.mk
+# use libpoppler instead of included xpdf code
+ADDLDFLAGS = -lpoppler
+
+
# We build xetex unless configure decides to skip it
xetex = @XETEX@ xetex
@@ -29,7 +33,7 @@ xetex = @XETEX@ xetex
@XETEX_GENERIC@ XETEX_DEFINES = -DXETEX_OTHER
- at XETEX_GENERIC@ EXTRALIBS = @LDLIBXPDF@ @LDLIBPNG@ @LDFONTCONFIG@
+ at XETEX_GENERIC@ EXTRALIBS = @LDLIBXPDF@ @LDLIBPNG@ @LDFONTCONFIG@ $(ADDLDFLAGS)
@XETEX_GENERIC@ EXTRADEPS = @LIBXPDFDEP@ @LIBPNGDEP@
@@ -144,7 +148,7 @@ pngimage.o: $(srcdir)/xetexdir/pngimage.
$(compile) $(ALL_CFLAGS) $(LIBPNGCPPFLAGS) $(ZLIBCPPFLAGS) -c $< -o $@
pdfimage.o: $(srcdir)/xetexdir/pdfimage.cpp $(srcdir)/xetexdir/pdfimage.h
- $(CXX) $(ALL_CFLAGS) $(LIBXPDFCPPFLAGS) -c $< -o $@
+ $(CXX) $(ALL_CFLAGS) $(LIBXPDFCPPFLAGS) -I/usr/include/poppler -c $< -o $@
XeTeX_pic.o: $(srcdir)/xetexdir/XeTeX_pic.c $(srcdir)/xetexdir/XeTeX_ext.h $(XeTeXImageHdrs)
$(compile) $(TECKITFLAGS) $(ALL_CFLAGS) $(XETEX_DEFINES) -c $< -o $@
@@ -187,7 +191,7 @@ XeTeXOTMath.o: $(srcdir)/xetexdir/XeTeXO
# special rules for files that need the TECkit headers as well
XeTeX_ext.o: $(srcdir)/xetexdir/XeTeX_ext.c xetexd.h
- $(compile) $(ICUCFLAGS) $(FTFLAGS) $(TECKITFLAGS) $(LIBPNGCPPFLAGS) $(LIBXPDFCPPFLAGS) $(ZLIBCPPFLAGS) $(ALL_CFLAGS) $(XETEX_DEFINES) -c $< -o $@
+ $(compile) $(ICUCFLAGS) $(FTFLAGS) $(TECKITFLAGS) $(LIBPNGCPPFLAGS) $(LIBXPDFCPPFLAGS) $(ZLIBCPPFLAGS) $(ALL_CFLAGS) $(XETEX_DEFINES) -I/usr/include/poppler -c $< -o $@
XeTeX_mac.o: $(srcdir)/xetexdir/XeTeX_mac.c xetexd.h
$(compile) $(ICUCFLAGS) $(TECKITFLAGS) $(ALL_CFLAGS) $(XETEX_DEFINES) -c $< -o $@
diff -up texlive-2007/configure.poppler texlive-2007/configure
--- texlive-2007/configure.poppler 2007-01-09 15:16:26.000000000 +0100
+++ texlive-2007/configure 2007-11-28 11:53:15.000000000 +0100
@@ -3442,9 +3442,9 @@ export needs_zlib
# we need libxpdf for pdf[ex]tex, xetex
test ! -d $srcdir/$LIBXPDFDIR && : ${needs_libxpdf=no}
-test "$with_pdftex" != no && : ${needs_libxpdf=yes}
-test "$with_pdfetex" != no && : ${needs_libxpdf=yes}
-test "$with_xetex" != no && : ${needs_libxpdf=yes}
+test "$with_pdftex" != no && : ${needs_libxpdf=no}
+test "$with_pdfetex" != no && : ${needs_libxpdf=no}
+test "$with_xetex" != no && : ${needs_libxpdf=no}
: ${needs_libxpdf=no}
export needs_libxpdf
diff -up texlive-2007/configure.in.poppler texlive-2007/configure.in
--- texlive-2007/configure.in.poppler 2007-01-09 02:17:11.000000000 +0100
+++ texlive-2007/configure.in 2007-11-28 11:53:15.000000000 +0100
@@ -157,9 +157,9 @@ export needs_zlib
# we need libxpdf for pdf[ex]tex, xetex
test ! -d $srcdir/$LIBXPDFDIR && : ${needs_libxpdf=no}
-test "$with_pdftex" != no && : ${needs_libxpdf=yes}
-test "$with_pdfetex" != no && : ${needs_libxpdf=yes}
-test "$with_xetex" != no && : ${needs_libxpdf=yes}
+test "$with_pdftex" != no && : ${needs_libxpdf=no}
+test "$with_pdfetex" != no && : ${needs_libxpdf=no}
+test "$with_xetex" != no && : ${needs_libxpdf=no}
: ${needs_libxpdf=no}
export needs_libxpdf
@@ -207,7 +207,7 @@ dnl We cannot use variables (e.g. $LIBPN
sinclude(libs/libpng/libpng.ac)
sinclude(libs/zlib/zlib.ac)
sinclude(libs/ncurses/ncurses.ac)
-sinclude(libs/xpdf/libxpdf.ac)
+#sinclude(libs/xpdf/libxpdf.ac)
sinclude(libs/t1lib/t1lib.ac)
sinclude(libs/gd/gd.ac)
sinclude(libs/freetype/freetype.ac)
texlive-source-CVE-2007-0650.patch:
--- NEW FILE texlive-source-CVE-2007-0650.patch ---
--- texk/makeindexk/mkind.c
+++ texk/makeindexk/mkind.c 2007-02-06 13:43:26.000000000 +0100
@@ -179,7 +179,9 @@ char *argv[];
argc--;
if (argc <= 0)
FATAL("Expected -p <num>\n","");
- strcpy(pageno, *++argv);
+ if (strlen(*++argv) >= sizeof(pageno))
+ FATAL("Page number too high\n","");
+ strcpy(pageno, *argv);
init_page = TRUE;
if (STREQ(pageno, EVEN)) {
log_given = TRUE;
@@ -227,10 +229,10 @@ char *argv[];
if (fn_no == 0 && !sty_given)
{
- char tmp[STRING_MAX + 5];
+ char tmp[STRING_MAX];
/* base set by last call to check_idx */
- sprintf (tmp, "%s%s", base, INDEX_STY);
+ snprintf (tmp, sizeof(tmp), "%s%s", base, INDEX_STY);
if (0 == access(tmp, R_OK)) {
open_sty (tmp);
sty_given = TRUE;
@@ -407,7 +409,7 @@ int open_fn;
if ((idx_fn = (char *) malloc(STRING_MAX)) == NULL)
FATAL("Not enough core...abort.\n", "");
- sprintf(idx_fn, "%s%s", base, INDEX_IDX);
+ snprintf(idx_fn, STRING_MAX, "%s%s", base, INDEX_IDX);
if ((open_fn &&
((idx_fp = OPEN_IN(idx_fn)) == NULL)
) ||
@@ -434,7 +436,7 @@ int log_given;
/* index output file */
if (!ind_given) {
- sprintf(ind, "%s%s", base, INDEX_IND);
+ snprintf(ind, sizeof(ind), "%s%s", base, INDEX_IND);
ind_fn = ind;
}
if ((ind_fp = OPEN_OUT(ind_fn)) == NULL)
@@ -442,14 +444,14 @@ int log_given;
/* index transcript file */
if (!ilg_given) {
- sprintf(ilg, "%s%s", base, INDEX_ILG);
+ snprintf(ilg, sizeof(ilg), "%s%s", base, INDEX_ILG);
ilg_fn = ilg;
}
if ((ilg_fp = OPEN_OUT(ilg_fn)) == NULL)
FATAL("Can't create transcript file %s.\n", ilg_fn);
if (log_given) {
- sprintf(log_fn, "%s%s", base, INDEX_LOG);
+ snprintf(log_fn, sizeof(log_fn), "%s%s", base, INDEX_LOG);
if ((log_fp = OPEN_IN(log_fn)) == NULL) {
FATAL("Source log file %s not found.\n", log_fn);
} else {
@@ -505,6 +507,9 @@ char *fn;
if ((found = kpse_find_file (fn, kpse_ist_format, 1)) == NULL) {
FATAL("Index style file %s not found.\n", fn);
} else {
+ if (strlen(found) >= sizeof(sty_fn)) {
+ FATAL("Style file %s too long.\n", found);
+ }
strcpy(sty_fn,found);
if ((sty_fp = OPEN_IN(sty_fn)) == NULL) {
FATAL("Could not open style file %s.\n", sty_fn);
@@ -512,6 +517,9 @@ char *fn;
}
#else
if ((path = getenv(STYLE_PATH)) == NULL) {
+ if (strlen(fn) >= sizeof(sty_fn)) {
+ FATAL("Style file %s too long.\n", fn);
+ }
/* style input path not defined */
strcpy(sty_fn, fn);
sty_fp = OPEN_IN(sty_fn);
--- texk/makeindexk/mkind.h
+++ texk/makeindexk/mkind.h 2007-02-06 13:42:38.000000000 +0100
@@ -322,7 +322,7 @@ ensuing.
#ifdef LINE_MAX /* IBM RS/6000 AIX has this in <sys/limits.h> */
#undef LINE_MAX
#endif
-#define LINE_MAX 72 /* maximum output line length (longer */
+#define LINE_MAX _POSIX2_LINE_MAX /* maximum output line length (longer */
/* ones wrap if possible) */
#define NUMBER_MAX 16 /* maximum digits in a Roman or Arabic */
@@ -337,7 +337,7 @@ ensuing.
#define ROMAN_MAX 16 /* maximum length of Roman page number */
/* field */
-#define STRING_MAX 256 /* maximum length of host filename */
+#define STRING_MAX _POSIX2_LINE_MAX /* maximum length of host filename */
/*====================================================================*/
texlive-source-icu.patch:
--- NEW FILE texlive-source-icu.patch ---
--- libs/configure
+++ libs/configure 2007-02-07 12:21:24.000000000 +0000
@@ -2976,11 +2976,11 @@
fi
OLD_LDFLAGS=$LDFLAGS
- OLD_CPP=$CPP
+ OLD_CPPFLAGS=$CPPFLAGS
OLD_LIBS=$LIBS
LDFLAGS="$LDFLAGS $EXTRA_ICU_LIBDIR"
- CPP="$CPP $EXTRA_ICU_INCLUDE"
+ CPPFLAGS="$CPPFLAGS $EXTRA_ICU_INCLUDE -include urename.h"
if test "$with_system_icu" = yes; then
echo $ac_n "checking for ubidi_open in -licuuc""... $ac_c" 1>&6
@@ -3082,7 +3082,7 @@
fi
LDFLAGS=$OLD_LDFLAGS
- CPP=$OLD_CPP
+ CPPFLAGS=$OLD_CPPFLAGS
LIBS=$OLD_LIBS
if test "$with_system_icu" != yes; then
--- libs/icu-xetex/icu-xetex.ac
+++ libs/icu-xetex/icu-xetex.ac 2007-02-07 12:21:39.000000000 +0000
@@ -16,11 +16,11 @@
fi
OLD_LDFLAGS=$LDFLAGS
- OLD_CPP=$CPP
+ OLD_CPPFLAGS=$CPPFLAGS
OLD_LIBS=$LIBS
LDFLAGS="$LDFLAGS $EXTRA_ICU_LIBDIR"
- CPP="$CPP $EXTRA_ICU_INCLUDE"
+ CPPFLAGS="$CPPFLAGS $EXTRA_ICU_INCLUDE -include urename.h"
if test "$with_system_icu" = yes; then
AC_CHECK_LIB(icuuc, ubidi_open,,
@@ -37,7 +37,7 @@
fi
LDFLAGS=$OLD_LDFLAGS
- CPP=$OLD_CPP
+ CPPFLAGS=$OLD_CPPFLAGS
LIBS=$OLD_LIBS
if test "$with_system_icu" != yes; then
--- texk/web2c/configure
+++ texk/web2c/configure 2007-02-07 12:21:55.000000000 +0000
@@ -3018,11 +3018,11 @@
fi
OLD_LDFLAGS=$LDFLAGS
- OLD_CPP=$CPP
+ OLD_CPPFLAGS=$CPPFLAGS
OLD_LIBS=$LIBS
LDFLAGS="$LDFLAGS $EXTRA_ICU_LIBDIR"
- CPP="$CPP $EXTRA_ICU_INCLUDE"
+ CPPFLAGS="$CPPFLAGS $EXTRA_ICU_INCLUDE -include urename.h"
if test "$with_system_icu" = yes; then
echo $ac_n "checking for ubidi_open in -licuuc""... $ac_c" 1>&6
@@ -3124,7 +3124,7 @@
fi
LDFLAGS=$OLD_LDFLAGS
- CPP=$OLD_CPP
+ CPPFLAGS=$OLD_CPPFLAGS
LIBS=$OLD_LIBS
if test "$with_system_icu" != yes; then
--- configure
+++ configure 2007-02-07 12:22:06.000000000 +0000
@@ -4662,11 +4662,11 @@
fi
OLD_LDFLAGS=$LDFLAGS
- OLD_CPP=$CPP
+ OLD_CPPFLAGS=$CPPFLAGS
OLD_LIBS=$LIBS
LDFLAGS="$LDFLAGS $EXTRA_ICU_LIBDIR"
- CPP="$CPP $EXTRA_ICU_INCLUDE"
+ CPPFLAGS="$CPPFLAGS $EXTRA_ICU_INCLUDE -include urename.h"
if test "$with_system_icu" = yes; then
echo $ac_n "checking for ubidi_open in -licuuc""... $ac_c" 1>&6
@@ -4768,7 +4768,7 @@
fi
LDFLAGS=$OLD_LDFLAGS
- CPP=$OLD_CPP
+ CPPFLAGS=$OLD_CPPFLAGS
LIBS=$OLD_LIBS
if test "$with_system_icu" != yes; then
texlive-source-t1lib.patch:
--- NEW FILE texlive-source-t1lib.patch ---
--- configure
+++ configure 2006-01-17 17:25:04.000000000 +0100
@@ -3920,6 +3920,7 @@
char *p = testbuf;
int i;
int version_num;
+ memset(p, 0, sizeof(testbuf));
/* T1_GetLibIdent() might return something like '0.8-beta2';
convert the leading numbers to a single digit: */
for (i = 0; i < BUFLEN; i++) {
--- libs/configure
+++ libs/configure 2006-01-17 17:24:15.000000000 +0100
@@ -1728,6 +1728,7 @@
char *p = testbuf;
int i;
int version_num;
+ memset(p, 0, sizeof(testbuf));
/* T1_GetLibIdent() might return something like '0.8-beta2';
convert the leading numbers to a single digit: */
for (i = 0; i < BUFLEN; i++) {
--- libs/t1lib/t1lib.ac
+++ libs/t1lib/t1lib.ac 2006-01-17 17:26:13.000000000 +0100
@@ -45,6 +45,7 @@
char *p = testbuf;
int i;
int version_num;
+ memset(p, 0, sizeof(testbuf));
/* T1_GetLibIdent() might return something like '0.8-beta2';
convert the leading numbers to a single digit: */
for (i = 0; i < BUFLEN; i++) {
--- texk/dvipng/configure
+++ texk/dvipng/configure 2006-01-17 17:24:52.000000000 +0100
@@ -2659,6 +2659,7 @@
char *p = testbuf;
int i;
int version_num;
+ memset(p, 0, sizeof(testbuf));
/* T1_GetLibIdent() might return something like '0.8-beta2';
convert the leading numbers to a single digit: */
for (i = 0; i < BUFLEN; i++) {
--- texk/xdvik/configure
+++ texk/xdvik/configure 2006-01-17 17:24:32.000000000 +0100
@@ -4227,6 +4227,7 @@
char *p = testbuf;
int i;
int version_num;
+ memset(p, 0, sizeof(testbuf));
/* T1_GetLibIdent() might return something like '0.8-beta2';
convert the leading numbers to a single digit: */
for (i = 0; i < BUFLEN; i++) {
texlive-source-warns.patch:
--- NEW FILE texlive-source-warns.patch ---
--- libs/teckit/source/Compiler.cpp
+++ libs/teckit/source/Compiler.cpp 2007-03-02 10:34:35.000000000 +0000
@@ -1397,13 +1397,16 @@ Compiler::Compiler(const char* txt, UInt
if (dest != 0) {
int result = compress2(dest + 8, &destLen, compiledTable, compiledSize, Z_BEST_COMPRESSION);
if (result == Z_OK) {
- destLen += 8;
- realloc(dest, destLen);
- WRITE(((FileHeader*)dest)->type, kMagicNumberCmp);
- WRITE(((FileHeader*)dest)->version, compiledSize);
- free(compiledTable);
- compiledTable = dest;
- compiledSize = destLen;
+ if (realloc(dest, destLen+8) != NULL) {
+ destLen += 8;
+ WRITE(((FileHeader*)dest)->type, kMagicNumberCmp);
+ WRITE(((FileHeader*)dest)->version, compiledSize);
+ free(compiledTable);
+ compiledTable = dest;
+ compiledSize = destLen;
+ }
+ else
+ free(dest);
}
else
free(dest);
--- texk/kpathsea/xputenv.c
+++ texk/kpathsea/xputenv.c 2007-03-02 10:14:53.000000000 +0000
@@ -95,7 +95,7 @@ xputenv(const char *var, const char *val
if (cur_loc == saved_count) {
/* No old string. */
saved_count++;
- saved_env = XRETALLOC(saved_env, saved_count, const char *);
+ XRETALLOC(saved_env, saved_count, const char *);
} else {
/* We owned the old string. */
free(saved_env[cur_loc]);
--- texk/ps2pkm/token.c
+++ texk/ps2pkm/token.c 2007-01-10 09:26:00.000000000 +0100
@@ -108,7 +108,7 @@ static DOUBLE P10(exponent)
if (exponent < 0) {
power = 0.1;
value = (exponent & 1 ? power : 1.0);
- exponent = -(++exponent >> 1); /* portable C for -(exponent/2) */
+ exponent = -((exponent+1) >> 1); /* portable C for -(exponent/2) */
}
else {
power = 10.0;
--- texk/ps2pkm/type1.c
+++ texk/ps2pkm/type1.c 2007-01-10 17:09:30.000000000 +0100
@@ -110,11 +110,11 @@ typedef struct xobject xobject;
static DOUBLE tmpx; /* Store macro argument in tmpx to avoid re-evaluation */
static LONG tmpi; /* Store converted value in tmpi to avoid re-evaluation */
-#define FABS(x) (((tmpx = (x)) < 0.0) ? -tmpx : tmpx)
+#define FABS(x) ({ tmpx = (x); (tmpx < 0.0) ? -tmpx : tmpx; })
-#define CEIL(x) (((tmpi = (LONG) (tmpx = (x))) < tmpx) ? ++tmpi : tmpi)
+#define CEIL(x) ({ tmpi = (LONG) (tmpx = (x)); (tmpi < tmpx) ? ++tmpi : tmpi; })
-#define FLOOR(x) (((tmpi = (LONG) (tmpx = (x))) > tmpx) ? --tmpi : tmpi)
+#define FLOOR(x) ({ tmpi = (LONG) (tmpx = (x)); (tmpi > tmpx) ? --tmpi : tmpi; })
#define ROUND(x) FLOOR((x) + 0.5)
--- texk/web2c/mpware/mpto.c
+++ texk/web2c/mpware/mpto.c 2007-03-02 10:36:04.000000000 +0000
@@ -24,11 +24,7 @@
#include <stdio.h>
#include <stdlib.h>
-
-#ifdef WIN32
#include <string.h>
-#endif
-
/* MetaPost itself has a configurable max line length, but we can afford to
use smaller values than that */
--- texk/web2c/pdftexdir/utils.c
+++ texk/web2c/pdftexdir/utils.c 2007-03-02 10:16:35.000000000 +0000
@@ -1369,7 +1369,7 @@ int newcolorstack(integer s, integer lit
colstacks_size += STACK_INCREMENT;
/* If (MAX_COLORSTACKS mod STACK_INCREMENT = 0) then we don't
need to check the case that size overruns MAX_COLORSTACKS. */
- colstacks = xretalloc(colstacks, colstacks_size, colstack_type);
+ xretalloc(colstacks, colstacks_size, colstack_type);
}
/* claim new color stack */
colstack_num = colstacks_used++;
--- texk/makeindexk/genind.h
+++ texk/makeindexk/genind.h 2007-03-15 15:28:43.000000000 +0000
@@ -25,6 +25,20 @@
*
*/
+#ifndef __has_idx_printf
+#define __has_idx_printf
+#include <stdarg.h>
+static __inline__ int idx_printf(FILE *stream, const char *format, ...)
+{
+ int ret;
+ va_list ap;
+ va_start(ap, format);
+ ret = vfprintf(stream, format, ap);
+ va_end(ap);
+ return ret;
+}
+#endif
+
#define IND_ERROR(F, D) { \
if (idx_dot) { \
fprintf(ilg_fp, "\n"); \
@@ -33,7 +47,7 @@
fprintf(ilg_fp, \
"## Warning (input = %s, line = %d; output = %s, line = %d):\n -- ", \
curr->fn, curr->lc, ind_fn, ind_lc+1); \
- fprintf(ilg_fp, F, D); \
+ idx_printf(ilg_fp, F, D); \
ind_ec++; \
}
--- texk/makeindexk/mkind.h
+++ texk/makeindexk/mkind.h 2007-03-15 15:29:28.000000000 +0000
@@ -253,10 +253,24 @@
#define STREQ(A, B) (strcmp(A, B) == 0)
#define STRNEQ(A, B) (strcmp(A, B) != 0)
+#ifndef __has_idx_printf
+#define __has_idx_printf
+#include <stdarg.h>
+static __inline__ int idx_printf(FILE *stream, const char *format, ...)
+{
+ int ret;
+ va_list ap;
+ va_start(ap, format);
+ ret = vfprintf(stream, format, ap);
+ va_end(ap);
+ return ret;
+}
+#endif
+
#define MESSAGE(F, S) { \
if (verbose) \
- fprintf(stderr, F, S); \
- fprintf(ilg_fp, F, S); \
+ idx_printf(stderr, F, S); \
+ idx_printf(ilg_fp, F, S); \
}
#if USE_KPATHSEA /* kpathsea defines a different FATAL */
@@ -264,7 +278,7 @@
#endif
#define FATAL(F, S) { \
- fprintf(stderr, F, S); \
+ idx_printf(stderr, F, S); \
fprintf(stderr, USAGE, pgm_fn); \
EXIT(1); \
}
--- texk/makeindexk/scanid.h
+++ texk/makeindexk/scanid.h 2007-03-15 15:27:12.000000000 +0000
@@ -101,6 +101,20 @@
return (FALSE); \
}
+#ifndef __has_idx_printf
+#define __has_idx_printf
+#include <stdarg.h>
+static __inline__ int idx_printf(FILE *stream, const char *format, ...)
+{
+ int ret;
+ va_list ap;
+ va_start(ap, format);
+ ret = vfprintf(stream, format, ap);
+ va_end(ap);
+ return ret;
+}
+#endif
+
#define IDX_ERROR(F, D) { \
if (idx_dot) { \
fprintf(ilg_fp, "\n"); \
@@ -108,7 +122,7 @@
} \
fprintf(ilg_fp, "!! Input index error (file = %s, line = %d):\n -- ", \
idx_fn, idx_lc); \
- fprintf(ilg_fp, F, D); \
+ idx_printf(ilg_fp, F, D); \
idx_ec++; \
}
--- texk/makeindexk/scanst.h
+++ texk/makeindexk/scanst.h 2007-03-15 15:48:48.000000000 +0000
@@ -145,6 +145,20 @@
#define INDENTLEN_DEF 16
+#ifndef __has_idx_printf
+#define __has_idx_printf
+#include <stdarg.h>
+static __inline__ int idx_printf(FILE *stream, const char *format, ...)
+{
+ int ret;
+ va_list ap;
+ va_start(ap, format);
+ ret = vfprintf(stream, format, ap);
+ va_end(ap);
+ return ret;
+}
+#endif
+
#define STY_ERROR(F, D) { \
if (idx_dot) { \
fprintf(ilg_fp, "\n"); \
@@ -152,7 +166,7 @@
} \
fprintf(ilg_fp, "** Input style error (file = %s, line = %d):\n -- ", \
sty_fn, sty_lc); \
- fprintf(ilg_fp, F, D); \
+ idx_printf(ilg_fp, F, D); \
sty_ec++; \
put_dot = FALSE; \
}
texlive-source-x11r7.patch:
--- NEW FILE texlive-source-x11r7.patch ---
--- texk/xdvik/xdvi.h
+++ texk/xdvik/xdvi.h 2007-01-10 15:40:33.000000000 +0000
@@ -190,6 +190,12 @@ typedef unsigned long xuint32;
# endif
#endif
+/* redefine X11 macros for our own usage, see below */
+#ifdef __STDC__
+# undef NeedFunctionPrototypes
+# undef NeedWidePrototypes
+#endif
+
/* for unused parameters */
#ifndef UNUSED
#define UNUSED(x) ((void)(x))
texlive-source-xdvi-numlock.patch:
--- NEW FILE texlive-source-xdvi-numlock.patch ---
--- texk/xdvik/translations.h
+++ texk/xdvik/translations.h 2005-02-07 14:07:44.000000000 +0100
@@ -119,15 +119,26 @@
"<Key>Escape: discard-number()\n"
#endif
#ifdef XK_KP_Left
- "<Key>KP_Home: home()\n"
- "<Key>KP_Left: left()\n"
- "<Key>KP_Up: up()\n"
- "<Key>KP_Right: right()\n"
- "<Key>KP_Down: down()\n"
- "<Key>KP_Prior: back-page()\n"
- "<Key>KP_Next: forward-page()\n"
- "<Key>KP_Delete: up-or-previous()\n"
- "<Key>KP_Enter: forward-page()\n"
+ "~@Num_Lock<Key>KP_Home:home()\n"
+ "~@Num_Lock<Key>KP_Left:left(0.015)\n"
+ "~@Num_Lock<Key>KP_Begin:center()\n"
+ "~@Num_Lock<Key>KP_Up:up(0.015)\n"
+ "~@Num_Lock<Key>KP_Right:right(0.015)\n"
+ "~@Num_Lock<Key>KP_Down:down(0.015)\n"
+ "~@Num_Lock<Key>KP_Prior:back-page()\n"
+ "~@Num_Lock<Key>KP_Next:forward-page()\n"
+ "<Key>KP_Enter:forward-page()\n"
+ "<Key>KP_Delete:up-or-previous()\n"
+ "<Key>KP_1:digit(1)\n"
+ "<Key>KP_2:digit(2)\n"
+ "<Key>KP_3:digit(3)\n"
+ "<Key>KP_4:digit(4)\n"
+ "<Key>KP_5:digit(5)\n"
+ "<Key>KP_6:digit(6)\n"
+ "<Key>KP_7:digit(7)\n"
+ "<Key>KP_8:digit(8)\n"
+ "<Key>KP_9:digit(9)\n"
+ "<Key>KP_0:digit(0)\n"
#endif
"";
texlive-source-xdvizilla.patch:
--- NEW FILE texlive-source-xdvizilla.patch ---
--- texk/xdvik/xdvizilla
+++ texk/xdvik/xdvizilla 2005-02-07 14:18:11.000000000 +0100
@@ -61,8 +61,8 @@
trap 'do_cleanup' 1 2 3 7 13 15
### create a temporary directory only read/writable by user
-TMP_DIR=${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$
-(umask 077; mkdir "$TMP_DIR") || do_abort "Could not create directory \`$TMP_DIR'"
+TMP_DIR=${TMPDIR-${TEMP-${TMP-/tmp}}}/${progname}.XXXXXX
+TMP_DIR=$(mktemp -d "$TMP_DIR") || do_abort "Could not create directory \`$TMP_DIR'"
if [ $# -gt 1 -a "x$1" = "x-no-rm" ]; then
NO_RM=y
texlive-teckit.patch:
--- NEW FILE texlive-teckit.patch ---
diff -up texlive-2007/texk/web2c/xetexdir/xetex.mk.system_teckit texlive-2007/texk/web2c/xetexdir/xetex.mk
--- texlive-2007/texk/web2c/xetexdir/xetex.mk.system_teckit 2007-08-18 16:29:37.000000000 +0200
+++ texlive-2007/texk/web2c/xetexdir/xetex.mk 2007-08-18 16:30:06.000000000 +0200
@@ -56,8 +56,8 @@ FREETYPE2DEP = @FREETYPE2DEP@
FREETYPE2DIR = ../../libs/freetype2
FREETYPE2SRCDIR = $(srcdir)/$(FREETYPE2DIR)
-TECKITFLAGS = @TECKITCPPFLAGS@
-LDTECKIT = @LDTECKIT@
+TECKITFLAGS = -I/usr/include/teckit
+LDTECKIT = -lTECkit
TECKITDEP = @TECKITDEP@
TECKITDIR=../../libs/teckit
texlive-texdoc.patch:
--- NEW FILE texlive-texdoc.patch ---
diff -up texlive-2007/texk/tetex/texdoc.man.texdoc texlive-2007/texk/tetex/texdoc.man
--- texlive-2007/texk/tetex/texdoc.man.texdoc 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/tetex/texdoc.man 2007-08-18 19:13:50.000000000 +0200
@@ -28,12 +28,17 @@ distribution\&.
.PP
.SH "OPTIONS"
.PP
-.IP "\fB--help\fP"
+.IP "\fB\-\-help\fP"
Display a brief summary of options\&.
.IP
-.IP "\fB-l\fP"
+.IP "\fB\-l\fP"
List matching files\&. Does not start a viewer\&.
-.IP "\fB-v\fP"
+.PP
+.IP "\fB\-s\fP"
+Search the disk. From all documentation files found by texdoc, the
+ones whose names match the remaining arguments (as egrep pattern) will
+be displayed.
+.IP "\fB\-v\fP"
Sets verbose mode\&. Shows the command being used to
display the documentation\&.
.PP
@@ -42,14 +47,17 @@ display the documentation\&.
.IP "\fB$TEXDOCVIEW_dvi\fP"
DVI viewer\&. Defaults to \fBxdvi\fP(1)\&.
.IP "\fB$TEXDOCVIEW_pdf\fP"
-PDF viewer\&. Defaults to \fBacroread\fP(1)\&.
+PDF viewer\&. The default is to use the program specified
+by the freedesktop standard\&.
.IP "\fB$TEXDOCVIEW_ps\fP"
-PostScript viewer\&. Defaults to
-\fBghostview\fP(1)\&.
+PostScript viewer\&. The default is to use the program specified
+by the freedesktop standard\&.
.IP "\fB$TEXDOCVIEW_html\fP"
-HTML viewer\&. Defaults to \fBnetscape\fP(1)\&.
+HTML viewer\&. The default is to use a program through
+\fBxdg-open\fP\&.
.IP "\fB$TEXDOCVIEW_txt\fP"
-Text viewer\&. Defaults to \fB$PAGER-more\fP\&.
+Text viewer\&. Defaults is to use the program specified
+by the freedesktop standard\&.
.PP
The environment variables should be set with a ``%s\&'\&' as a placeholder
for the name of the file\&. For example,
@@ -66,10 +74,18 @@ hostname$ TEXDOCVIEW_html="mozilla %s"
hostname$ export TEXDOCVIEW_html
.EE
.PP
+.SH "SPECIFIC TO DEBIAN AND FEDORA"
+.PP
+The Debian and Fedora TeX Live packages texdoc use the mime-support package to determine
+the appropriate viewer for the respective file type except for
+\fIdvi\fP. texdoc of Debian and Fedora is able to handle gzip- and
+bzip2-compressed files. If texdoc finds more than on file for a string
+the first hit is displayed. The file extensions are regarded and the
+search order can be configured in \fItexmf.cnf\fP (\fI90TeXDoc.cnf\fP).
+.PP
.SH "SEE ALSO"
.PP
-\fBacroread\fP(1), \fBgv\fP(1), \fBkpsewhich\fP(1),
-\fBless\fP(1), \fBmore\fP(1), \fBxdvi\fP(1)
+\fBxdg-open\fP(1), \fBxdvi\fP(1)
.PP
Web page: <http://tug\&.org/teTeX/>
.PP
diff -up texlive-2007/texk/tetex/texdoc.texdoc texlive-2007/texk/tetex/texdoc
--- texlive-2007/texk/tetex/texdoc.texdoc 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/tetex/texdoc 2007-08-18 19:10:51.000000000 +0200
@@ -17,6 +17,15 @@
#
# Support for compressed documentation implemented by adopting changes
# made by debian. Thomas Esser, Dec. 2004.
+#
+# Debian specific changes:
+# Denis Barbier <barbier at imacs.polytechnique.fr>, Feb 15 2000
+# * accept gzipped files on input
+# * temporary directory set according to TMPDIR
+#
+# Frank Küster <frank at debian.org>, 2004-11-23
+# * do not uncompress dvi.gz, xdvi can handle this
+# * go to background with uncompressed files
test -f /bin/sh5 && test -z "$RUNNING_SH5" \
&& { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
@@ -30,22 +39,22 @@ unset RUNNING_BSH
export PATH
-needsCleanup=false
+# needsCleanup=false
progname=texdoc
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$
+# tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$
###############################################################################
# setupTmpDir()
# set up a temp directory and a trap to remove it
###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
+# setupTmpDir()
+# {
+# $needsCleanup && return
- trap 'cleanup --force' 1 2 3 7 13 15
- needsCleanup=true
- mkdir "$tmpdir" || abort "could not create directory \`$tmpdir'"
-}
+# trap 'cleanup --force' 1 2 3 7 13 15
+# needsCleanup=true
+# mkdir "$tmpdir" || abort "could not create directory \`$tmpdir'"
+# }
###############################################################################
# abort(errmsg)
@@ -65,15 +74,21 @@ abort()
###############################################################################
cleanup()
{
- case $1 in
- --force)
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { rm -f "$tmpdir"/*; cd /; rmdir "$tmpdir"; }
- ;;
- *) # directory might not be empty if some other viewer is still
- # running, so be quiet about it
- rmdir $tmpdir >/dev/null 2>&1;;
- esac
+# case $1 in
+# --force)
+# $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
+# && { rm -f "$tmpdir"/*; cd /; rmdir "$tmpdir"; }
+# ;;
+# *) # directory might not be empty if some other viewer is still
+# # running, so be quiet about it
+# rmdir $tmpdir >/dev/null 2>&1;;
+# esac
+ # is the temporary directory empty? If not, texdoc was called with
+ # two or more arguments, and one viewer is still running
+ if test "`echo $tmpdir/*`" = $tmpdir/'*'
+ then
+ rm -rf $tmpdir
+ fi
}
@@ -92,12 +107,11 @@ case `(uname -s) 2>/dev/null` in
;;
*)
: ${TEXDOCVIEW_dvi='(xdvi %s) &'}
- : ${TEXDOCVIEW_pdf='(acroread %s) &'}
- : ${TEXDOCVIEW_ps='(gv %s) &'}
- : ${TEXDOCVIEW_html='mozilla -remote openURL'"'(%s)'"' 2>/dev/null || mozilla %s &'}
- : ${TEXDOCVIEW_txt="${PAGER-more} %s"}
- : ${TEXDOCVIEW_="${PAGER-more} %s"} # no extension, default to pager
- extlist='.dvi .dvi.gz .dvi.bz2 .pdf .pdf.gz .pdf.bz2 .ps .ps.gz .ps.bz2 .txt .txt.gz .txt.bz2 .html'
+ : ${TEXDOCVIEW_pdf='(xdg-open %s) &'}
+ : ${TEXDOCVIEW_ps='(xdg-open %s) &'}
+ : ${TEXDOCVIEW_html='(xdg-open %s) &'}
+ : ${TEXDOCVIEW_txt='(xdg-open %s) &'}
+ : ${TEXDOCVIEW_='(xdg-open %s) &'}
# Commands run to uncompress files, according to filename extension.
: ${TEXDOCUNZIP_gz='gzip -d -c'}
@@ -105,6 +119,10 @@ case `(uname -s) 2>/dev/null` in
;;
esac
+extlist=`kpsewhich --expand-brace='$TEXDOCEXT' | tr ':' ' '`
+test -z "$extlist" && \
+extlist='.dvi .dvi.gz .dvi.bz2 .pdf .pdf.gz .pdf.bz2 .ps .ps.gz .ps.bz2 .txt .txt.gz .txt.bz2 .html'
+
mode=viewer
help='Usage: texdoc [OPTION]... [NAME]...
Search for NAME in the TeX documentation and start a viewer.
@@ -136,11 +154,14 @@ case $# in
;;
esac
+tmpdir=`mktemp -d -t texdoc.XXXXXXXX`
+trap 'rc=$?; cleanup; exit $rc' 1 2 6 13 15
+
for name
do
case $mode in
search)
- find `kpsewhich --expand-path='$TEXMF/doc' | tr : ' '` -type f -print |
+ find `kpsewhich --expand-path='$TEXDOCS' | tr : ' '` -follow -type f -print |
egrep $name
continue
;;
@@ -153,7 +174,6 @@ do
found=false
for ext in "" $extlist; do
-
filename=`kpsewhich -format='TeX system documentation' $name$ext 2>/dev/null`
test -z "$filename" && continue
found=true
@@ -177,7 +197,6 @@ do
# than once
test -f "$tmpdir/$src" && break
- setupTmpDir
eval "$uncompress $filename > $tmpdir/$src"
filename=$tmpdir/$src
viewer=`eval echo $viewer | sed -e "s|%s|$filename; rm -f $filename; cleanup|"`
texlive-xdvi-maxchar.patch:
--- NEW FILE texlive-xdvi-maxchar.patch ---
diff -up texlive-2007/texk/xdvik/dvi-draw.c.maxchar texlive-2007/texk/xdvik/dvi-draw.c
--- texlive-2007/texk/xdvik/dvi-draw.c.maxchar 2007-11-20 15:21:35.000000000 +0100
+++ texlive-2007/texk/xdvik/dvi-draw.c 2007-11-22 15:31:06.000000000 +0100
@@ -5911,6 +5911,8 @@ get_t1_glyph(
t1libid, currinf.fontp->scale,
size, currwin.shrinkfactor));
+ if (ch > maxchar)
+ return NULL;
/* Check if the glyph already has been rendered */
if ((g = &currinf.fontp->glyph[ch])->bitmap.bits == NULL) {
int bitmapbytes;
texlive-xdvi.patch:
--- NEW FILE texlive-xdvi.patch ---
--- texlive-bin-2006.svn3816.orig/build/source/texk/xdvik/gui/search-dialog.c 2006-01-17 22:41:51.000000000 +0100
+++ texlive-bin-2006.svn3816/build/source/texk/xdvik/gui/search-dialog.c 2007-01-26 04:00:04.000000000 +0100
@@ -694,6 +694,11 @@
#ifdef MOTIF
XtAddCallback(searchbox_input, XmNactivateCallback, cb_search_get_term, settings);
#endif
+
+ /* Fix for #1499566: Force input focus for text input field */
+#ifndef MOTIF
+ XtSetKeyboardFocus(find_paned, searchbox_input);
+#endif
/*
* form for left row of options checkbuttons
--- texlive-bin-2006.svn3816.orig/build/source/texk/xdvik/dvi-draw.c 2006-01-17 22:41:51.000000000 +0100
+++ texlive-bin-2006.svn3816/build/source/texk/xdvik/dvi-draw.c 2007-01-26 04:00:04.000000000 +0100
@@ -1255,6 +1255,9 @@
do_color_change();
}
#endif
+ if (pixeltbl == NULL) {
+ do_color_change();
+ }
/* TODO: rounding errors causing color fringing (see HACK comment below):
--- NEW FILE texlive.cron ---
#!/bin/bash
# Remove TeX fonts not used in 180 days
/usr/sbin/tmpwatch 4320 /var/lib/texmf
exit 0
--- NEW FILE texlive.spec ---
# This spec file is based on texjive project created by Michael A. Peters.
# Adopted and modified for Fedora by Jindrich Novy.
%define texlive_ver 2007
%define enable_japanese 1
%define ptex_src_ver 3.1.10
%define pdvipsk_ver p1.7a
%define mendexk_ver 2.6e
%define desktop_file_utils_version 0.9
%define default_letter_paper 0
# lcdf typetools can be easily built as a separate tool, so it should be
%define disable_lcdf_typetools 1
# These need to match what is in the texlive-texmf package.
# since texlive-texmf is a BuildRequires, it installs an rpm macro
# file that defines them. Change the definitions in the texlive-texmf.spec
# file and rebuild it if you do not like where things get put.
%{!?_texmf_main: %define _texmf_main %{_datadir}/texmf}
%{!?_texmf_conf: %define _texmf_conf %{_sysconfdir}/texmf}
%{!?_texmf_var: %define _texmf_var %{_var}/lib/texmf}
Name: texlive
Version: %{texlive_ver}
Release: 0.17%{?dist}
Summary: Binaries for the TeX formatting system
Group: Applications/Publishing
License: GPLv2 and BSD and Public Domain and LGPLv2+ and GPLv2+ and LPPL
URL: http://tug.org/texlive/
#####
# Source0-99: main sources
#####
#Source0: http://tug.org/svn/texlive/branches/branch2007/Master/source/source.tar.bz2
# non free source files removed with texlive-generate-tarball.sh
Source0: source-free.tar.bz2
#Source1: xpdf-3.02.tar.bz2
Source10: texlive.cron
# Source30 is http://xdvi.sourceforge.net/xdvi48x48.gif converted to png
Source30: xdvi48x48.png
# Filter out bad requirements (RH bug #59819).
Source99: texlive-filter-requires.sh
Source100: texlive-generate-tarball.sh
%define __perl_requires %{SOURCE99}
# 1000-: Japanese pTeX
Source1000: ftp://ftp.ascii.co.jp/pub/TeX/ascii-ptex/tetex/ptex-src-%{ptex_src_ver}.tar.gz
Source1001: ftp://ftp.ascii.co.jp/pub/TeX/ascii-ptex/dvips/dvipsk-jpatch-%{pdvipsk_ver}.tar.bz2
Source1002: ftp://ftp.ascii.co.jp/pub/TeX/ascii-ptex/mendex/mendexk%{mendexk_ver}.tar.gz
Source1003: vfontmap
# Don't run brp-python-bytecompile
%define __os_install_post /usr/lib/rpm/redhat/brp-compress /usr/lib/rpm/redhat/brp-strip %{__strip} /usr/lib/rpm/redhat/brp-strip-static-archive %{__strip} /usr/lib/rpm/redhat/brp-strip-comment-note %{__strip} %{__objdump} %{nil}
######
# Red Hat-specific TeX configuration patches
######
# and sane defaults to build against can be inserted via sed
Patch5: texlive-2007-browser.patch
Patch6: texlive-2007-tkdep.patch
Patch8: texlive-2007-xprint.patch
Patch9: texlive-teckit.patch
Patch21: texlive-more_paths.patch
Patch22: texlive-fedora_paths.patch
######
# TeX patches
######
Patch10: texlive-2007-dvipdfm-security.patch
Patch11: texlive-2007-makej.patch
Patch12: texlive-2007-badscript.patch
Patch15: texlive-2007-xdvi-keepflag.patch
Patch17: texlive-2007-tmpcleanup.patch
Patch19: texlive-2007-kpse-extensions.patch
Patch20: texlive-CVE-2007-4033.patch
Patch23: texlive-CVE-2007-4352-5392-5393.patch
Patch24: texlive-xdvi-maxchar.patch
Patch25: texlive-dvipsoverflow.patch
Patch26: texlive-dviljktemp.patch
Patch27: texlive-poppler.patch
######
# mpeters contributed patches
######
# fixes man pages to utf-8
Patch41: texlive-2007-kuesterei-man.patch
Patch42: texlive-2007-copyright-utf8-man.patch
# use proper shellbang
Patch43: texlive-2007-epstopdf-shellbang.patch
######
# Debian patches
######
Patch100: texlive-Build_script.patch
Patch101: texlive-mktexlsr_fixes.patch
Patch102: texlive-fix_pkfix_invocation.patch
Patch104: texlive-12a_fix_thumbpdf_invocation.patch
Patch105: texlive-12b_fix_a2ping_invocation.patch
Patch106: texlive-12c_fix_pdfcrop_invocation.patch
Patch107: texlive-12d_fix_ebong_invocation.patch
Patch108: texlive-12e_fix_vpe_invocation.patch
Patch109: texlive-texdoc.patch
Patch111: texlive-xdvi.patch
Patch114: texlive-dvips_fontbug_fix_upstream.patch
Patch115: texlive-maketexmf.patch
Patch117: texlive-fmtutil_keep_failedlog.patch
Patch119: texlive-checklib_fixes.patch
Patch120: texlive-dvipdfm_timezone.patch
Patch123: texlive-fix_makempx_installation.patch
######
# Mandriva patches
######
Patch202: texlive-pdftex.patch
######
# Suse patches
######
Patch300: texlive-source-icu.patch
Patch301: texlive-source-t1lib.patch
Patch302: texlive-source-warns.patch
Patch303: texlive-source-x11r7.patch
Patch304: texlive-source-xdvi-numlock.patch
Patch305: texlive-source-xdvizilla.patch
Patch306: texlive-source-CVE-2007-0650.patch
# 1000-: Japanese pTeX
Patch1000: dvipsk-jpatch-pdvips.patch
# prepare from http://sourceforge.jp/projects/xdvi/
# remove patch for configure because it is regenerated from autoconf2.13.
Patch1002: xdvik-22.84.10-j1.34.patch
Patch1003: texlive-2007-pxdvi.patch
Patch1004: texlive-2007-jp-platex209.patch
Patch1005: texlive-2007-pdvips.patch
Patch1006: texlive-2007-ptex-3.1.10.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: flex bison ed gawk xdg-utils
BuildRequires: desktop-file-utils >= %{desktop_file_utils_version}
BuildRequires: ncurses-devel zlib-devel libpng-devel gd-devel t1lib-devel
BuildRequires: libSM-devel libICE-devel Xaw3d-devel
BuildRequires: poppler-devel >= 0.6.2-2
# for non-modular xorg - use xorg-devel instead of above
BuildRequires: teckit-devel
# temporarily require texlive-texmf for ptex
#BuildRequires: texlive-texmf = %{version}
# pxdvi requires freetype >= 2.1.10
%if %{enable_japanese}
BuildRequires: freetype-devel >= 2.1.10
%endif
Requires: xdg-utils ruby
Requires: texlive-texmf = %{version}
Requires: texlive-fonts = %{version}-%{release}
Requires: texlive-texmf-errata = %{version}
# for a2ping
Requires: ghostscript
# for ps4pdf
Requires: texlive-dvips = %{version}-%{release}
# used to be in tetex, but is a separated project
%if %{enable_japanese}
Requires: mendexk
%endif
# needed by xetex
Requires: dvipdfmx
# make sure fonts package installed before running post - since
# fmtutil-sys is symlink to fmtutil
Requires(post): %{_bindir}/fmtutil
Obsoletes: tetex <= 3.0
Provides: tetex = 3.1
%description
TeXLive is an implementation of TeX for Linux or UNIX systems. TeX takes
a text file and a set of formatting commands as input and creates a
printable file as output. Usually, TeX is used in conjunction with
a higher level formatting package like LaTeX or PlainTeX, since TeX by
itself is not very user-friendly.
Install texlive if you want to use the TeX text formatting system. Consider
to install texlive-latex (a higher level formatting package which provides
an easier-to-use interface for TeX).
The TeX documentation is located in the texlive-doc package.
%package afm
Summary: A converter for PostScript(TM) font metric files, for use with TeX
Group: Applications/Publishing
Obsoletes: tetex-afm <= 3.0
Provides: tetex-afm = 3.1
Requires: texlive-texmf-afm = %{version}
Requires: texlive-texmf-errata = %{version}
%description afm
texlive-afm provides afm2tfm, a converter for PostScript(TM) font metric
files. PostScript fonts are accompanied by .afm font metric files
which describe the characteristics of each font. To use PostScript
fonts with TeX, TeX needs .tfm files that contain similar information.
Afm2tfm will convert .afm files to .tfm files.
If you are installing texlive in order to use the TeX text formatting
system and PostScript files, you will need to install texlive-afm. You will
also need to install texlive-dvips (for converting .dvi files to PostScript
format for printing on PostScript printers), texlive-latex (a higher level
formatting package which provides an easier-to-use interface for TeX), and
texlive-xdvi (for previewing .dvi files in X).
The TeX documentation is located in the texlive-doc package.
%package dvips
Summary: A DVI to PostScript converter for the TeX text formatting system
Group: Applications/Publishing
Requires: texlive-fonts = %{version}-%{release}
Requires: psutils
Obsoletes: tetex-dvips <= 3.0
Provides: tetex-dvips = 3.1
Requires: texlive-texmf-dvips = %{version}
Requires: texlive-texmf-errata = %{version}
%description dvips
Dvips converts .dvi files, for example those produced by the TeX text
formatting system, to PostScript(TM) format.
If you are installing texlive, so that you can use the TeX text
formatting system without direct PDF compilation, consider to install
texlive-dvips. In addition, you will need to install texlive-latex
(a higher level formatting package which provides an easier-to-use
interface for TeX), and xdvi (for previewing .dvi files in X).
%package dviutils
Summary: A collection of utilities for working with dvi files
Group: Applications/Publishing
# not positive about this requires, pretty sure though
Requires: texlive-fonts = %{version}-%{release}
# used to be in tetex, but has a separate upstream
Requires: dvipng, dvipdfm
# some dvi utilities used to be in tetex
Obsoletes: tetex <= 3.0
%description dviutils
The texlive-dviutils package includes a set of tools for working with dvi
files. You only need this package if you plan to manipulate existing dvi files.
%package fonts
Summary: The font files for the TeX text formatting system
Group: Applications/Publishing
Obsoletes: tetex-fonts <= 3.0
Provides: tetex-fonts = 3.1
# needed by allcm, allec, allneeded
Requires: texlive-dvips = %{version}-%{release}
Requires: texlive-texmf-fonts >= %{version}
Requires: texlive-texmf-errata = %{version}
%description fonts
The texlive-fonts package contains programs required to generate font files
for the TeX text formatting system.
The kpathsea related programs are also in this package, they are needed
in order to find out a file in the TeX file tree.
%package latex
Summary: The LaTeX front end for the TeX text formatting system
Group: Applications/Publishing
Requires: texlive = %{version}-%{release}, texlive-dvips = %{version}-%{release}
Requires: netpbm-progs
# make sure main and fonts package installed before running post
Requires(post): %{_bindir}/fmtutil %{_bindir}/fmtutil-sys
BuildRequires: ghostscript netpbm-progs
Obsoletes: tetex-latex <= 3.0
Provides: tetex-latex = 3.1
Requires: texlive-texmf-latex = %{version}
Requires: texlive-texmf-errata = %{version}
%description latex
LaTeX is a front end for the TeX text formatting system. Easier to
use than TeX. LaTeX is essentially a set of TeX macros which provide
convenient, predefined document formats for users. It also allows to
compile LaTeX files directly to PDF format.
The TeX documentation is located in the texlive-doc package.
%package -n kpathsea
Summary: Shared library needed by kpathsea and info files
Group: Development/Libraries
Obsoletes: tetex-fonts <= 3.0
%description -n kpathsea
Shared library needed by kpathsea and info files.
%package -n kpathsea-devel
Summary: Files needed to build software against kpathsea
Group: Development/Libraries
Requires: kpathsea = %{version}-%{release}
%description -n kpathsea-devel
This package includes the kpathsea header files and the libkpathsea.so
symbolic link.
You only need to install this package if you will be compiling software that
wants to link against the kpathsea library.
%package -n xdvi
Summary: An X viewer for DVI files
Group: Applications/Publishing
Requires: texlive-dvips = %{version}-%{release}
Requires(post): desktop-file-utils >= %{desktop_file_utils_version}
Version: 22.84.12
#Url: http://xdvi.sourceforge.net/
#Source0: http://downloads.sourceforge.net/xdvi/xdvik-%{version}.tar.gz
Obsoletes: tetex-xdvi <= 3.0
Provides: tetex-xdvi = 3.1
#Provides: texlive-xdvi = %{version}-%{release}
#Requires: texlive-texmf-errata = %{version}
%description -n xdvi
Xdvik, the kpathsea version of xdvi, is a previewer for DVI files
produced e.g. by the TeX or troff typesetting systems.
If you are installing texlive and you use PlainTeX or you are using DVI files,
you will also need to install xdvi which allows you to view DVI files.
Consider installing texlive-dvips (for converting .dvi files to PostScript
format for printing on PostScript printers), and texlive-latex (a higher level
formatting package which provides an easier-to-use interface for TeX).
%package -n dvipng
Summary: DVI-to-PNG converter
Version: 1.9
Group: Applications/Publishing
#Url: http://savannah.nongnu.org/projects/dvipng/
#Source0: http://download.savannah.gnu.org/releases/dvipng/dvipng-%{version}.tar.gz
%description -n dvipng
This program makes PNG and/or GIF graphics from DVI files as obtained
from TeX and its relatives.
%package -n mendexk
Summary: Replacement for makeindex with many enhancements
Group: Applications/Publishing
Version: %{mendexk_ver}
#Url: ftp://ftp.ascii.co.jp/pub/TeX/ascii-ptex/mendex/
#Source0: ftp://ftp.ascii.co.jp/pub/TeX/ascii-ptex/mendex/mendexk%{version}.tar.bz2
%description -n mendexk
Replacement for makeindex with many enhancements.
%package -n dvipdfm
Summary: DVI to PDF translator
Version: 0.13.2d
Group: Applications/Publishing
#Url: http://gaspra.kettering.edu/dvipdfm/
#Source0: http://gaspra.kettering.edu/dvipdfm/dvipdfm-%{version}.tar.gz
# for dvipdft
Requires: ghostscript
# for .enc files
Requires: texlive-texmf-dvips = %{texlive_ver}
%description -n dvipdfm
DVI to PDF translator.
%package -n dvipdfmx
Summary: Extended version of the dvipdfm DVI to PDF translator
Group: Applications/Publishing
Version: 0
#Url: http://project.ktug.or.kr/dvipdfmx/
# %define ver_date 20070518
#Source0: http://project.ktug.or.kr/dvipdfmx/snapshot/release/dvipdfmx-%{ver_date}.tar.gz
# for cmap files
Requires: texlive-texmf-fonts = %{texlive_ver}
Provides: texlive-dvipdfmx
%description -n dvipdfmx
The dvipdfmx (formerly dvipdfm-cjk) project provides an eXtended version
of the dvipdfm, a DVI to PDF translator developed by Mark A. Wicks.
The primary goal of this project is to support multi-byte character
encodings and large character sets for East Asian languages. The secondary
goal is to support as many features as pdfTeX developed by Han The Thanh.
This project is a combined work of the dvipdfm-jpn project by Shunsaku
Hirata and its modified one, dvipdfm-kor, by Jin-Hwan Cho.
# without this define, the version is overriden by separated subpackages
# versions
%define version %{texlive_ver}
%prep
%setup -q -T -c -a0
# replace old xpdf with 3.02 from upstream to fix CVE-2007-3387
#pushd libs
#rm -rf xpdf
#tar fxj %{SOURCE1}
#popd
# fix for debuginfo rpmlint happiness
chmod -x texk/dvipdfm/macglyphs.h
chmod -x texk/dvipdfm/ttf.c
chmod -x texk/dvipdfm/encodings.c
######
# Red Hat-specific TeX configuration patches
######
# Use htmlview first
%patch5 -p1 -b .browser
%patch6 -p1 -b .tkdep
%patch8 -p1 -b .xprint
%patch9 -p1 -b .teckit
%patch22 -p1 -b .fedora_paths
######
# TeX patches
######
# Don't use tmpnam() in dvipdfm.
%patch10 -p1 -b .dvipdfm-security
# Fix parallel builds.
%patch11 -p1 -b .makej
# Don't use PID for temporary file names in scripts (RH bug #41269)
%patch12 -p1 -b .badscript
# Fix xdvi - navigation with a spacebar does not keep position (RH bug #168124)
%patch15 -p1 -b .xdvi-keepflag
# Always cleanup temporary directories for texconfig, updmap, fmtutil
# (RH #172534)
%patch17 -p1 -b .tmpcleanup
%patch19 -p0 -b .kpse-extensions
%patch20 -p1 -b .CVE-2007-4033
%patch21 -p1 -b .more_paths
#%patch23 -p1 -b .CVE-2007-4352-5392-5393
%patch24 -p1 -b .maxchar
%patch25 -p1 -b .dvipsoverflow
%patch26 -p1 -b .dviljktemp
%patch27 -p1 -b .poppler
# fix non utf man pages
%patch41 -p1 -b .notutf8
%patch42 -p1 -b .notutf8-2
# user a proper shellbang
%patch43 -p1 -b .perl
%patch100 -p3
%patch101 -p3
%patch102 -p3
%patch104 -p3
%patch105 -p3
%patch106 -p3
%patch107 -p3
%patch108 -p3
%patch109 -p1
%patch111 -p3
%patch114 -p3
%patch115 -p3
%patch117 -p3
%patch119 -p3
%patch120 -p3
%patch123 -p3
%patch202 -p1 -b .pdftex
%patch300 -p0
%patch301 -p0
%patch302 -p0
%patch303 -p0
%patch304 -p0
%patch305 -p0
%patch306 -p0
#pushd texk/kpathsea
#%{__sed} -i 's?^TEXMF =.*?TEXMF = {\$TEXMFCONFIG,\$TEXMFVAR,\$TEXMFHOME,\$TEXMFSYSCONFIG,\!\!\$TEXMFSYSVAR,\!\!\$TEXMFLOCAL,\!\!\$TEXMFMAIN,\!\!\$TEXMFDIST}?' texmf.in
#%{__sed} -i 's?^TEXMFMAIN =.*?TEXMFMAIN = %{_texmf_main}?' texmf.in
#%{__sed} -i 's?^TEXMFDIST =.*?TEXMFDIST = %{_texmf_main}?' texmf.in
#%{__sed} -i 's?^TEXMFLOCAL =.*?TEXMFLOCAL = /usr/local/texmf?' texmf.in
#%{__sed} -i 's?^TEXMFSYSVAR =.*?TEXMFSYSVAR = %{_texmf_var}?' texmf.in
#%{__sed} -i 's?^TEXMFSYSCONFIG =.*?TEXMFSYSCONFIG = %{_texmf_conf}?' texmf.in
#popd
%if %{disable_lcdf_typetools}
pushd utils
rm -rf lcdf-typetools
popd
%endif
# allow Xaw3d enabled build of xdvi
%{__sed} -i 's|/Xaw/|/Xaw3d/|' texk/xdvik/gui/*.[ch] texk/xdvik/*.[ch]
## Japanese pTeX
%if %{enable_japanese}
# set platex to Japanese pLaTeX. original one is moved to platex-pl
sed -e s/^platex/platex-pl/g \
-e s/^pdfplatex/pdfplatex-pl/g \
-e s/platex\.ini/platex\-pl\.ini/g \
-i texk/web2c/fmtutil.in
# Prepare pTeX
tar xfz %{SOURCE1000} -C texk/web2c/
cd texk/web2c/ptex-src-%{ptex_src_ver}
sed -i -e 's|/{ptex/{platex,generic,},tex/{latex,generic,}}|/{ptex/platex,{p,}tex/latex,{p,}tex/generic,{p,}tex}|g' -e 's/| uniq//g' mkconf
%patch1004 -p1
%patch1006 -p1
cd -
# Prepare Japanese dvips
mkdir pdvipsk
tar xfj %{SOURCE1001} -C pdvipsk
cp -lR texk/dvipsk texk/pdvipsk
cd pdvipsk
%patch1005 -p0
cd -
patch -d texk/pdvipsk -p1 < pdvipsk/dvipsk-%{pdvipsk_ver}.patch
%patch1000 -p1 -b .pdvips
ln -s dvips.1 texk/pdvipsk/pdvips.1
# set up Japanese xdvi
cp -a texk/xdvik texk/pxdvik
cd texk/pxdvik
%patch1002 -p3
cd -
%patch1003 -p1 -b .pxdvi
mv texk/pxdvik/vfontmap.sample texk/pxdvik/vfontmap.sample.orig
install -p -m 644 %{SOURCE1003} texk/pxdvik/vfontmap.sample
# set up mendexk
tar xfz %{SOURCE1002} -C texk
%endif
%build
set -x
# define CCACHE_DIR to let the build pass with ccache enabled.
export CCACHE_DIR=$HOME/.ccache
unset TEXINPUTS ||:
unset HOME ||:
%{__rm} -r libs/{teckit,obsdcompat}
# Japanese pTeX
%if %{enable_japanese}
for i in texk/xdvik texk/pxdvik texk ; do
( cd ${i} ; $RPM_BUILD_DIR/%{name}-%{version}/texk/autoconf2.13 -m $RPM_BUILD_DIR/%{name}-%{version}/texk/etc/autoconf )
done
%endif
%configure \
%if %{default_letter_paper}
--disable-a4 \
%endif
--enable-shared=yes \
--with-system-ncurses \
--with-system-zlib \
--with-system-pnglib \
--with-system-gd \
--without-system-icu \
--with-icu-include=%{_includedir}/unicode \
--with-system-freetype \
--with-freetype-include=%{_includedir}/freetype \
--with-system-freetype2 \
--with-freetype2-include=%{_includedir}/freetype2 \
--with-system-t1lib \
--without-texlive \
--without-t1utils \
--without-psutils \
--without-ps2eps \
--without-pdfopen \
--without-ttf2pk \
--disable-multiplatform \
--without-dialog --without-texinfo --without-texi2html \
--without-tex4htk \
--without-detex --without-dvi2tty \
%if %{disable_lcdf_typetools}
--with-lcdf-typetools=no \
%endif
--with-mf-x-toolkit=yes \
--with-xdvi-x-toolkit=xaw3d \
--without-cxx-runtime-hack
# Remove everything except:
# icu: includes some changes
# md5: the aladdin md5 code (not a library)
%{__rm} -r libs/{curl,expat,freetype,freetype2,gd,howto,jpeg,libgnuw32,libgsw32,libpng,libttf,ncurses,regex,unzip,zlib,type1,t1lib,xpdf}/
# Japanese pTeX
# configure pxdvi with more options
%if %{enable_japanese}
cd texk/pxdvik
sh `grep "# ./con" config.status |sed -e s/^#\ //` --program-prefix=p --with-default-dvips-path=pdvips
cd -
%endif
# %%{?_smp_mflags} does not work in texlive-2007/libs/icu-xetex/common
make
%if %{enable_japanese}
cd texk/web2c/ptex-src-%{ptex_src_ver}
./configure EUC
make
cd -
# mendexk build
cd texk/mendexk%{mendexk_ver}
./configure EUC
make
cd -
%endif
%install
rm -rf %{buildroot}
export CCACHE_DIR=$HOME/.ccache
unset TEXINPUTS || :
unset HOME || :
mkdir -p %{buildroot}%{_texmf_main}
mkdir -p %{buildroot}%{_texmf_var}/web2c
mkdir -p %{buildroot}%{_texmf_conf}
export LD_LIBRARY_PATH=`pwd`/texk/kpathsea/.libs
%makeinstall \
texmf=%{buildroot}%{_texmf_main} \
texmfmain=%{buildroot}%{_texmf_main}
# desktop entry things
cat > xdvi.desktop <<EOF
[Desktop Entry]
Encoding=UTF-8
Name=DVI Viewer
Type=Application
Comment=DVI viewer for TeX DVI files
Icon=xdvi
MiniIcon=mini-doc1.xpm
Exec=%{_bindir}/xdvi
MimeType=application/x-dvi
NoDisplay=true
EOF
# remove all .la files
rm -f %{buildroot}%{_infodir}/dir
find %{buildroot} | grep -e "\\.la$" | xargs rm -f
# set executable bit for the library for debuginfo creation
chmod a+x %{buildroot}%{_libdir}/libkpathsea.so.*.*
## remove what is packages in other Fedora packages
# jadetex
rm -f %{buildroot}%{_bindir}/jadetex
rm -f %{buildroot}%{_bindir}/pdfjadetex
# xmltex
rm -f %{buildroot}%{_bindir}/xmltex
rm -f %{buildroot}%{_bindir}/pdfxmltex
# octave-forge
### looks to me like a name clash ?? Octave mex looks like it has nada to
### to with TeX
rm -f %{buildroot}%{_bindir}/mex
### not in octave-forge, nuking anyway
rm -f %{buildroot}%{_bindir}/pdfmex
rm -f %{buildroot}%{_bindir}/utf8mex
# these are owned by texmf-fonts package
rm -f %{buildroot}%{_texmf_main}/ls-R
# keep fmtutil.cnf used for the initial configuration in doc
rm -rf __fedora_kpathsea
mkdir -p __fedora_kpathsea/
mv %{buildroot}%{_texmf_main}/web2c/fmtutil.cnf __fedora_kpathsea/fmtutil.cnf-init
# this file is different from the one in texmf-fonts, since it is
# the one from kpathsea which isn't specific of texlive. It is only
# used during build and to set the kpathsea default paths, however.
# Kept as documentation together with paths.h since they describe
# what the kpathsea default paths are
mkdir -p __fedora_kpathsea/kpathsea_defaults
mv %{buildroot}%{_texmf_main}/web2c/texmf.cnf __fedora_kpathsea/kpathsea_defaults/texmf-kpathsea-defaults.cnf
cp texk/kpathsea/paths.h __fedora_kpathsea/kpathsea_defaults
# these are owned by texmf-doc package
rm -rf %{buildroot}%{_texmf_main}/doc/tetex
# install cron file
install -p -D -m755 %{SOURCE10} %{buildroot}%{_sysconfdir}/cron.daily/texlive.cron
# install the xdvi desktop file
mkdir -p %{buildroot}%{_datadir}/{applications,pixmaps}
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/
install -p -m644 %{SOURCE30} %{buildroot}%{_datadir}/pixmaps/
install -p -m644 %{SOURCE30} %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/xdvi.png
desktop-file-install --vendor tetex --delete-original \
--dir %{buildroot}%{_datadir}/applications \
--add-category Graphics \
xdvi.desktop
# Japanese pTeX
%if %{enable_japanese}
# remove %{buildroot}%{_bindir}/platex
rm -f %{buildroot}%{_bindir}/platex
# Convert documents to UTF-8
mkdir -p %{buildroot}%{_texmf_main}/doc/ptex/ptex-src \
%{buildroot}%{_texmf_main}/doc/pdvipsk \
%{buildroot}%{_texmf_main}/doc/pxdvik/READMEs
cd texk/web2c/ptex-src-%{ptex_src_ver}
iconv -f ISO-2022-JP -t UTF-8 \
COPYRIGHT.jis \
-o %{buildroot}%{_texmf_main}/doc/ptex/ptex-src/COPYRIGHT-ja
for i in README.txt Changes.txt ; do
iconv -f EUC-JP -t UTF-8 ${i} \
-o %{buildroot}%{_texmf_main}/doc/ptex/ptex-src/${i}
done
cd -
cd pdvipsk
for i in ChangeLog.jpatch README.jpatch ; do
iconv -f EUC-JP -t UTF-8 ${i} -o %{buildroot}%{_texmf_main}/doc/pdvipsk/${i}
done
cd -
cd texk/pxdvik
for i in CHANGES.xdvik-jp README.xdvik-jp READMEs/* ; do
iconv -f EUC-JP -t UTF-8 ${i} \
-o %{buildroot}%{_texmf_main}/doc/pxdvik/${i}
done
cd -
cd texk/web2c/ptex-src-%{ptex_src_ver}
%makeinstall INSTALL="install -p" prefix=%{buildroot}%{_prefix} \
texmf=%{buildroot}%{_texmf_main} \
texmfmain=%{buildroot}%{_texmf_main}
# texmf.cnf is prepared by texlive-texmf package.
rm %{buildroot}%{_texmf_main}/web2c/texmf.cnf
cd -
install -p -m 644 texk/pxdvik/vfontmap.sample.orig %{buildroot}%{_datadir}/texmf/doc/pxdvik/vfontmap.sample
# mendexk install
cd texk/mendexk%{mendexk_ver}
install -p -m 755 mendex %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_mandir}/ja/man1
iconv -f EUC-JP -t UTF-8 mendex.1 -o %{buildroot}%{_mandir}/ja/man1/mendex.1
mkdir -p %{buildroot}%{_datadir}/texmf/doc/mendexk
install -p -m 644 COPYRIGHT ChangeLog %{buildroot}%{_datadir}/texmf/doc/mendexk
iconv -f EUC-JP -t UTF-8 README -o %{buildroot}%{_datadir}/texmf/doc/mendexk/README
iconv -f ISO-2022-JP -t UTF-8 COPYRIGHT.jis -o %{buildroot}%{_datadir}/texmf/doc/mendexk/COPYRIGHT.jis
cd -
%endif
# remove useless files in texconfig
rm -rf %{buildroot}%{_texmf_main}/texconfig/{g,v,x,README,generic}
# remove pool files, they belong to texlive-texmf
rm -rf %{buildroot}%{_texmf_main}/web2c/*.pool
# move the configuration files that should be under user control
mkdir -p %{buildroot}%{_texmf_conf}/{web2c/,dvipdfm/}
mv %{buildroot}%{_texmf_main}/web2c/mktexdir.opt %{buildroot}%{_texmf_conf}/web2c/
mv %{buildroot}%{_texmf_main}/dvipdfm/cid-x.map %{buildroot}%{_texmf_conf}/dvipdfm/
# separated projects
rm %{buildroot}%{_bindir}/devnag
rm %{buildroot}%{_bindir}/afm2pl %{buildroot}%{_mandir}/man1/afm2pl.1*
%clean
rm -rf %{buildroot}
%post
%{_bindir}/texconfig-sys rehash 2> /dev/null || :
%{_bindir}/fmtutil-sys --all > /dev/null 2>&1 || :
%post afm
%{_bindir}/texconfig-sys rehash 2> /dev/null || :
%post dvips
[ -x /sbin/install-info ] && /sbin/install-info %{_infodir}/dvips.info.gz %{_infodir}/dir || :
%{_bindir}/texconfig-sys rehash 2> /dev/null || :
%post dviutils
%{_bindir}/texconfig-sys rehash 2> /dev/null || :
%post fonts
%{_bindir}/texconfig-sys rehash 2> /dev/null || :
[ -x /sbin/install-info ] && /sbin/install-info %{_infodir}/web2c.info.gz %{_infodir}/dir || :
%{_bindir}/updmap-sys --syncwithtrees > /dev/null 2>&1 || :
%post latex
[ -x /sbin/install-info ] && /sbin/install-info %{_infodir}/latex.info.gz %{_infodir}/dir || :
%{_bindir}/texconfig-sys init >/dev/null 2>&1 || :
%{_bindir}/texconfig-sys rehash 2> /dev/null || :
%{_bindir}/fmtutil-sys --all > /dev/null 2>&1 || :
%post -n xdvi
%{_bindir}/texconfig-sys rehash 2> /dev/null || :
%{_bindir}/update-desktop-database %{_datadir}/applications || :
touch --no-create %{_datadir}/icons/hicolor
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
fi
%post -n kpathsea
/sbin/ldconfig
[ -x /sbin/install-info ] && /sbin/install-info %{_infodir}/kpathsea.info.gz %{_infodir}/dir || :
%post -n dvipng
[ -x /sbin/install-info ] && /sbin/install-info %{_infodir}/dvipng.info.gz %{_infodir}/dir || :
%preun dvips
if [ "$1" = 0 ]; then
[ -x /sbin/install-info ] && /sbin/install-info --delete %{_infodir}/dvips.info.gz %{_infodir}/dir || :
fi
%preun -n dvipng
if [ "$1" = 0 ]; then
[ -x /sbin/install-info ] && /sbin/install-info --delete %{_infodir}/dvipng.info.gz %{_infodir}/dir || :
fi
%preun latex
if [ "$1" = 0 ]; then
[ -x /sbin/install-info ] && /sbin/install-info --delete %{_infodir}/latex.info.gz %{_infodir}/dir || :
fi
%preun fonts
if [ "$1" = 0 ]; then
[ -x /sbin/install-info ] && /sbin/install-info --delete %{_infodir}/web2c.info.gz %{_infodir}/dir || :
fi
%preun -n kpathsea
/sbin/ldconfig
if [ "$1" = 0 ]; then
[ -x /sbin/install-info ] && /sbin/install-info --delete %{_infodir}/kpathsea.info.gz %{_infodir}/dir || :
fi
%postun
%{_bindir}/texconfig-sys rehash 2> /dev/null || :
%postun afm
%{_bindir}/texconfig-sys rehash 2> /dev/null || :
%postun dvips
%{_bindir}/texconfig-sys rehash 2> /dev/null || :
%postun fonts
%{_bindir}/texconfig-sys rehash 2> /dev/null || :
%postun latex
%{_bindir}/texconfig-sys rehash 2> /dev/null || :
%postun -n xdvi
%{_bindir}/texconfig-sys rehash 2> /dev/null || :
touch --no-create %{_datadir}/icons/hicolor
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
fi
%postun -n kpathsea
/sbin/ldconfig
%files
%defattr(-,root,root,-)
# config files
%dir %{_texmf_conf}
%dir %{_texmf_conf}/web2c
%config(noreplace) %{_texmf_conf}/web2c/mktexdir.opt
%{_bindir}/a2ping
%{_bindir}/aleph
%{_bindir}/amstex
%{_bindir}/bibtex
%{_bindir}/ctangle
%{_bindir}/ctie
%{_bindir}/cweave
# used by makempx
%{_bindir}/dvitomp
%{_bindir}/dmp
%{_bindir}/e2pall
%{_bindir}/epstopdf
%{_bindir}/etex
%{_bindir}/fmtutil
%{_bindir}/fmtutil-sys
%{_bindir}/fontinst
%{_bindir}/kpsewhere
%{_bindir}/lambda
%{_bindir}/lamed
%{_bindir}/makeindex
%{_bindir}/makempx
%{_bindir}/makempy
%{_bindir}/mkindex
%{_bindir}/mkocp
%{_bindir}/mktexfmt
%{_bindir}/mpost
%{_bindir}/mpto
%{_bindir}/mptopdf
%{_bindir}/newer
%{_bindir}/omega
%{_bindir}/otangle
%{_bindir}/patgen
%{_bindir}/pdfcrop
%{_bindir}/pdfetex
%{_bindir}/pdftex
%{_bindir}/pooltype
%{_bindir}/ps2frag
%{_bindir}/ps4pdf
%{_bindir}/rubibtex
%{_bindir}/rumakeindex
%{_bindir}/tangle
%{_bindir}/tex
%{_bindir}/texconfig
%{_bindir}/texconfig-dialog
%{_bindir}/texconfig-sys
%{_bindir}/texdoc
%{_bindir}/texdoctk
%{_bindir}/texexec
%{_bindir}/texfont
%{_bindir}/texlinks
%{_bindir}/texutil
%{_bindir}/thumbpdf
%{_bindir}/tie
%{_bindir}/updmap
%{_bindir}/updmap-sys
%{_bindir}/weave
# new files not in Fedora tetex
%{_bindir}/bibtex8
%{_bindir}/csplain
# separated project
#%{_bindir}/detex
%{_bindir}/mltex
%{_bindir}/pdfcsplain
# not positive these belong here
%{_bindir}/bg5conv
%{_bindir}/cef5conv
%{_bindir}/cefconv
%{_bindir}/cefsconv
# separated project
# %{_bindir}/devnag
%{_bindir}/eplain
%{_bindir}/extconv
%{_bindir}/musixflx
%{_bindir}/physe
%{_bindir}/phyzzx
%{_bindir}/sjisconv
%{_bindir}/texsis
# other utilities
%{_bindir}/ctxtools
%{_bindir}/exatools
%{_bindir}/luatools
%{_bindir}/mpstools
%{_bindir}/mtxtools
%{_bindir}/pdftools
%{_bindir}/pdftosrc
%{_bindir}/pstopdf
%{_bindir}/rlxtools
%{_bindir}/runtools
%{_bindir}/texmfstart
%{_bindir}/textools
%{_bindir}/tmftools
%{_bindir}/xdvipdfmx
%{_bindir}/xetex
%{_bindir}/xmltools
# Japanese pTeX
%if %{enable_japanese}
%{_bindir}/jbibtex
%{_bindir}/ptex
%endif
# man pages
%{_mandir}/man1/amstex.1*
%{_mandir}/man1/bibtex.1*
%{_mandir}/man1/ctangle.1*
%{_mandir}/man1/ctie.1*
%{_mandir}/man1/cweave.1*
%{_mandir}/man1/cweb.1*
%{_mandir}/man1/dvitomp.1*
%{_mandir}/man1/dmp.1*
%{_mandir}/man1/e2pall.1*
%{_mandir}/man1/eplain.1*
%{_mandir}/man1/epstopdf.1*
%{_mandir}/man1/etex.1*
%{_mandir}/man1/fdf2tex.1*
%{_mandir}/man1/fmtutil.1*
%{_mandir}/man1/fmtutil-sys.1*
%{_mandir}/man1/fontinst.1*
%{_mandir}/man1/kpsewhere.1*
%{_mandir}/man1/lambda.1*
%{_mandir}/man1/makeindex.1*
%{_mandir}/man1/makempx.1*
%{_mandir}/man1/makempy.1*
%{_mandir}/man1/mf.1*
%{_mandir}/man1/mf-nowin.1*
%{_mandir}/man1/mkindex.1*
%{_mandir}/man1/mkocp.1*
%{_mandir}/man1/mktexfmt.1*
%{_mandir}/man1/mpost.1*
%{_mandir}/man1/mpto.1*
%{_mandir}/man1/newer.1*
%{_mandir}/man1/omega.1*
%{_mandir}/man1/patgen.1*
%{_mandir}/man1/pdfetex.1*
%{_mandir}/man1/pdftex.1*
%{_mandir}/man1/pooltype.1*
%{_mandir}/man1/ps2frag.1*
%{_mandir}/man1/rubibtex.1*
%{_mandir}/man1/rumakeindex.1*
%{_mandir}/man1/tangle.1*
%{_mandir}/man1/tex.1*
%{_mandir}/man1/texconfig.1*
%{_mandir}/man1/texconfig-sys.1*
%{_mandir}/man1/texdoc.1*
%{_mandir}/man1/texdoctk.1*
%{_mandir}/man1/texexec.1*
%{_mandir}/man1/texfind.1*
%{_mandir}/man1/texfont.1*
%{_mandir}/man1/texlinks.1*
%{_mandir}/man1/texutil.1*
%{_mandir}/man1/thumbpdf.1*
%{_mandir}/man1/tie.1*
%{_mandir}/man1/updmap.1*
%{_mandir}/man1/updmap-sys.1*
%{_mandir}/man1/weave.1*
# new files not in Fedora tetex
# separated project
#%{_mandir}/man1/detex.1*
%{_mandir}/man5/updmap.cfg.*
# man pages for other utilities
%{_mandir}/man1/ctxtools.1*
%{_mandir}/man1/mptopdf.1*
%{_mandir}/man1/pdftools.1*
%{_mandir}/man1/pdftosrc.1*
%{_mandir}/man1/pstopdf.1*
%{_mandir}/man1/texmfstart.1*
%{_mandir}/man1/textools.1*
# Japanese pTeX
%dir %{_texmf_main}/web2c
%{_texmf_main}/texconfig/tcfmgr*
%{_texmf_main}/bibtex/
# Japanese pTeX
%if %{enable_japanese}
%{_texmf_main}/web2c/*.fmt
%endif
%dir %{_texmf_main}/doc
%doc %{_texmf_main}/doc/bibtex8/
# Japanese pTeX
%if %{enable_japanese}
%doc %{_texmf_main}/doc/ptex/
%endif
%dir %{_texmf_var}/web2c/
%doc __fedora_kpathsea/fmtutil.cnf-init
%files afm
%defattr(-,root,root,-)
%{_bindir}/afm2tfm
%{_bindir}/ttf2afm
%{_mandir}/man1/afm2tfm.1*
%{_mandir}/man1/ttf2afm.1*
# not in fedora tetex, but a separate project
#%{_bindir}/afm2pl
#%{_mandir}/man1/afm2pl.1*
%files dvips
%defattr(-,root,root,-)
%{_bindir}/dvi2fax
%{_bindir}/dvips
%{_bindir}/dvired
%{_bindir}/odvips
%{_texmf_main}/dvips/
%{_mandir}/man1/dvi2fax.1*
%{_mandir}/man1/dvips.1*
%{_mandir}/man1/dvired.1*
%{_mandir}/man1/odvips.1*
%{_infodir}/dvips.info.*
# Japanese pTeX
%if %{enable_japanese}
%{_bindir}/pdvips
%{_bindir}/opdvips
%{_bindir}/pdvitype
%{_texmf_main}/pdvips/
%{_texmf_main}/fonts/map/pdvips/
%{_mandir}/man1/pdvips.1*
%{_mandir}/man1/opdvips.1*
%doc %{_texmf_main}/doc/pdvipsk/
%endif
%files dviutils
%defattr(-,root,root,-)
# separated project (dvi2tty)
#%{_bindir}/disdvi
%{_bindir}/dt2dv
%{_bindir}/dv2dt
# separated project (dvi2tty)
#%{_bindir}/dvi2tty
%{_bindir}/dvicopy
%{_bindir}/dvihp
%{_bindir}/dvitype
%{_bindir}/dvibook
%{_bindir}/dviconcat
%{_bindir}/dvidvi
%{_bindir}/dvilj
%{_bindir}/dvilj2p
%{_bindir}/dvilj4
%{_bindir}/dvilj4l
%{_bindir}/dvilj6
%{_bindir}/dvipos
%{_bindir}/dviselect
%{_bindir}/dvitodvi
%{_bindir}/odvicopy
%{_bindir}/odvitype
%{_mandir}/man1/dvicopy.1*
%{_mandir}/man1/dvihp.1*
%{_mandir}/man1/dvitype.1*
%{_mandir}/man1/dt2dv.1*
%{_mandir}/man1/dv2dt.1*
# separated project (dvi2tty)
#%{_mandir}/man1/dvi2tty.1*
%{_mandir}/man1/dvibook.1*
%{_mandir}/man1/dviconcat.1*
%{_mandir}/man1/dvidvi.1*
%{_mandir}/man1/dvilj.1*
%{_mandir}/man1/dvilj2p.1*
%{_mandir}/man1/dvilj4.1*
%{_mandir}/man1/dvilj4l.1*
%{_mandir}/man1/dvilj6.1*
%{_mandir}/man1/dvipos.1*
%{_mandir}/man1/dviselect.1*
%{_mandir}/man1/dvitodvi.1*
%{_mandir}/man1/odvicopy.1*
%{_mandir}/man1/odvitype.1*
%files fonts
%defattr(-,root,root,-)
%{_bindir}/allcm
%{_bindir}/allec
%{_bindir}/allneeded
%{_bindir}/gftodvi
%{_bindir}/gftopk
%{_bindir}/gftype
%{_bindir}/gsftopk
%{_bindir}/kpseaccess
%{_bindir}/kpsepath
%{_bindir}/kpsereadlink
%{_bindir}/kpsestat
%{_bindir}/kpsewhich
%{_bindir}/kpsexpand
%{_bindir}/kpsetool
%{_bindir}/mag
%{_bindir}/mf
%{_bindir}/mf-nowin
%{_bindir}/mft
%{_bindir}/mkofm
%{_bindir}/mktexlsr
%{_bindir}/mktexmf
%{_bindir}/mktexpk
%{_bindir}/mktextfm
%{_bindir}/ofm2opl
%{_bindir}/omfonts
%{_bindir}/opl2ofm
%{_bindir}/otp2ocp
%{_bindir}/outocp
%{_bindir}/ovf2ovp
%{_bindir}/ovp2ovf
%{_bindir}/pfb2pfa
%{_bindir}/pk2bm
%{_bindir}/pktogf
%{_bindir}/pktype
%{_bindir}/pltotf
%{_bindir}/ps2pk
%{_bindir}/texhash
%{_bindir}/tftopl
%{_bindir}/vftovp
%{_bindir}/vptovf
# new files (not in fedora tetex)
%{_bindir}/hbf2gf
# man pages
%{_mandir}/man1/allcm.1*
%{_mandir}/man1/allec.1*
%{_mandir}/man1/allneeded.1*
%{_mandir}/man1/gftodvi.1*
%{_mandir}/man1/gftopk.1*
%{_mandir}/man1/gftype.1*
%{_mandir}/man1/gsftopk.1*
%{_mandir}/man1/kpseaccess.1*
%{_mandir}/man1/kpsepath.1*
%{_mandir}/man1/kpsereadlink.1*
%{_mandir}/man1/kpsestat.1*
%{_mandir}/man1/kpsetool.1*
%{_mandir}/man1/kpsewhich.1*
%{_mandir}/man1/kpsexpand.1*
%{_mandir}/man1/mag.1*
%{_mandir}/man1/mft.1*
%{_mandir}/man1/mkofm.1*
%{_mandir}/man1/mktexlsr.1*
%{_mandir}/man1/mktexmf.1*
%{_mandir}/man1/mktexpk.1*
%{_mandir}/man1/mktextfm.1*
%{_mandir}/man1/ofm2opl.1*
%{_mandir}/man1/opl2ofm.1*
%{_mandir}/man1/otp2ocp.1*
%{_mandir}/man1/outocp.1*
%{_mandir}/man1/ovf2ovp.1*
%{_mandir}/man1/ovp2ovf.1*
%{_mandir}/man1/pfb2pfa.1*
%{_mandir}/man1/pk2bm.1*
%{_mandir}/man1/pktogf.1*
%{_mandir}/man1/pktype.1*
%{_mandir}/man1/pltotf.1*
%{_mandir}/man1/ps2pk.1*
%{_mandir}/man1/texhash.1*
%{_mandir}/man1/tftopl.1*
%{_mandir}/man1/vftovp.1*
%{_mandir}/man1/vptovf.1*
%{_mandir}/man5/fmtutil.cnf.5*
# man pages for new files (not in Fedora tetex)
%{_mandir}/man1/hbf2gf.1*
# other stuff
%{_sysconfdir}/cron.daily/texlive.cron
%{_infodir}/web2c.info.*
%{_texmf_main}/web2c/*.opt
%{_texmf_main}/web2c/mktexdir
%{_texmf_main}/web2c/mktexnam
%{_texmf_main}/web2c/mktexupd
%files latex
%defattr(-,root,root,-)
%{_bindir}/latex
%{_bindir}/pdflatex
%{_bindir}/xelatex
%if %{enable_japanese}
%{_bindir}/platex-pl
%else
%{_bindir}/platex
%endif
%{_bindir}/pslatex
%{_mandir}/man1/latex.1*
%{_mandir}/man1/pdflatex.1*
%{_mandir}/man1/pslatex.1*
%{_infodir}/latex.info.*
# not in fedora tetex
%{_bindir}/bg5+latex
%{_bindir}/bg5+pdflatex
%{_bindir}/bg5latex
%{_bindir}/bg5pdflatex
%{_bindir}/cef5latex
%{_bindir}/cef5pdflatex
%{_bindir}/ceflatex
%{_bindir}/cefpdflatex
%{_bindir}/cefslatex
%{_bindir}/cefspdflatex
%{_bindir}/cslatex
%{_bindir}/gbklatex
%{_bindir}/gbkpdflatex
%{_bindir}/lacheck
%{_bindir}/mllatex
%{_bindir}/pdfcslatex
%if %{enable_japanese}
%{_bindir}/pdfplatex-pl
%else
%{_bindir}/pdfplatex
%endif
%{_bindir}/sjislatex
%{_bindir}/sjispdflatex
%{_mandir}/man1/lacheck.1*
# Japanese pTeX
%if %{enable_japanese}
%{_bindir}/platex
%{_bindir}/platex209
%endif
%files -n xdvi
%defattr(-,root,root,-)
%{_bindir}/oxdvi
%{_bindir}/xdvi
%{_bindir}/xdvizilla
%{_bindir}/xdvi-xaw3d.bin
%{_texmf_main}/xdvi/
%{_mandir}/man1/oxdvi.1*
%{_mandir}/man1/xdvi.1*
%{_mandir}/man1/xdvizilla.1*
%{_datadir}/pixmaps/xdvi48x48.png
%{_datadir}/icons/hicolor/48x48/apps/xdvi.png
%{_datadir}/applications/tetex-xdvi.desktop
# Japanese pTeX
%if %{enable_japanese}
%{_bindir}/opxdvi
%{_bindir}/pxdvi
%{_bindir}/pxdvizilla
%{_bindir}/pxdvi-xaw3d.bin
%{_texmf_main}/pxdvi/
%doc %{_texmf_main}/doc/pxdvik/
%endif
%files -n kpathsea
%defattr(-,root,root,-)
%{_libdir}/libkpathsea.so.*
%{_infodir}/kpathsea.info.*
%doc __fedora_kpathsea/kpathsea_defaults/
%files -n kpathsea-devel
%defattr(-,root,root,-)
%{_includedir}/kpathsea/
%{_libdir}/libkpathsea.so
# yes - packaging the static too. Some programs apparently can't link
# against the shared. I can't name any, but so i hear.
%{_libdir}/libkpathsea.a
%files -n dvipng
%defattr(-,root,root,-)
%{_bindir}/dvipng
%{_mandir}/man1/dvipng.1*
%{_infodir}/dvipng.info*
%files -n mendexk
%defattr(-,root,root,-)
%if %{enable_japanese}
%{_bindir}/mendex
%{_mandir}/ja/man1/mendex.1*
%doc %{_texmf_main}/doc/mendexk/
%endif
%files -n dvipdfm
%defattr(-,root,root,-)
%{_bindir}/ebb
%{_bindir}/dvipdfm
%{_bindir}/dvipdft
%{_mandir}/man1/ebb.1*
%{_mandir}/man1/dvipdfm.1*
%{_mandir}/man1/dvipdft.1*
%files -n dvipdfmx
%doc texk/dvipdfmx/AUTHORS texk/dvipdfmx/ChangeLog
%doc texk/dvipdfmx/COPYING texk/dvipdfmx/README
%dir %{_texmf_conf}/dvipdfm/
%config(noreplace) %{_texmf_conf}/dvipdfm/cid-x.map
%{_bindir}/dvipdfmx
%{_texmf_main}/dvipdfm/
%changelog
* Fri Nov 30 2007 Jindrich Novy <jnovy at redhat.com> - 2007-0.17
- add .gz suffix to info pages so that they gets successfully
removed in preun phase
* Thu Nov 29 2007 Jindrich Novy <jnovy at redhat.com> - 2007-0.16
- drop Requires: poppler
- require texlive-fonts in kpathsea
- replace htmlview by xdg-open
* Fri Nov 16 2007 Jindrich Novy <jnovy at redhat.com> - 2007-0.15
- fix t1lib flaw CVE-2007-4033 (#352271)
- fix CVE-2007-4352 CVE-2007-5392 CVE-2007-5393, various xpdf flaws (#345121)
- xdvi won't segfault if DVI file contains character which
is not present in font (#243630)
- fix dvips -z buffer overflow with long href (#368591)
- fix insecure usage of temporary file in dviljk (#368611, #368641)
- link against poppler, not internal xpdf
- include arabtex
* Tue Oct 16 2007 Jindrich Novy <jnovy at redhat.com> - 2007-0.14
- xdvi won't segfault if DVI file contains character which
is not present in font (#243630)
* Wed Sep 19 2007 Jindrich Novy <jnovy at redhat.com> - 2007-0.13
- update ls-Rs to deal with the japanese support
- update ptex to 3.1.10 and mendex to 2.6e
- fix install-info in scriptlets
* Tue Sep 18 2007 Patrice Dumas <pertusus at free.fr>
- subpackage packages that have a distinct upstream
- remove non free parts from the archive
- install xdvi icon in hicolor directory
* Thu Aug 30 2007 Jindrich Novy <jnovy at redhat.com> - 2007-0.12
- update description
- BR ruby, don't obsolete tetex-tex4ht
- remove license problematic/useless stuff, based on email from Karl Berry
- move vfont.sample to doc
- preserve timestamps
- shuffle binaries between texlive and texlive-fonts, update scriptlets
* Mon Aug 27 2007 Jindrich Novy <jnovy at redhat.com> - 2007-0.11
- BR gawk, ghostscript
- incorporate path fixes by Patrice Dumas
- change in the kpathsea default paths
- don't BR the *-texmf
- ship kpathsea defaults as documentation
- disable build of ps2eps at configuration time
* Wed Aug 22 2007 MATSUURA Takanori <t.matsuu at gmail.com> - 2007-0.10.1
- add Japanese pTeX
- Polish platex and pdfplatex are moved to platex-pl and
pdfplatex respectively
* Sat Aug 18 2007 Jindrich Novy <jnovy at redhat.com> - 2007-0.10
- update License tag to licenses used in TeXLive sources
- remove ps2eps, it's a separate package
- don't remove updmap.cfg in post phase
- fix provides/obsoletes
- tetex.cron -> texlive.cron
- review fixes thanks to Patrice Dumas:
- remove .gz from installing info in scriptlets
- remove useless comments, lesstif/lesstif-devel requires
- remove X-Red-Hat-Extra category from xdvi.desktop
- update texlive-texdoc.patch
- require xdg-utils, htmlview, don't require bison, flex, ed
* Tue Aug 14 2007 Jindrich Novy <jnovy at redhat.com> - 2007-0.9
- update internal xpdf to 3.02 from upstream to fix CVE-2007-3387
- don't link statically with libstdc++
- put xdvi.xaw3d to texlive-xdvi instead of main package
* Tue Aug 07 2007 Jindrich Novy <jnovy at redhat.com> - 2007-0.8
- xdvi now compiles with Xaw3d support on i386
* Tue Jul 24 2007 Jindrich Novy <jnovy at redhat.com> - 2007-0.7
- obsolete tetex
* Wed Jul 18 2007 Jindrich Novy <jnovy at redhat.com> - 2007-0.6
- bump release to sync with texlive-texmf package changes
* Tue Jul 10 2007 Jindrich Novy <jnovy at redhat.com> - 2007-0.5
- separate kpathsea from texlive-fonts
- update filelists
- incorporate fixes from David Walluck (Mandriva, Debian, SuSE patches, etc.)
- link against system freetype2/t1lib
- remove kpathsea library building hacks
- disable ttf2pk, don't link against type1
- fix perl requires
* Tue Jun 26 2007 Jindrich Novy <jnovy at redhat.com> - 2007-0.4
- reintroduce the texlive-errata scheme
- update filelist
- cleanup patches
* Mon Jun 04 2007 Jindrich Novy <jnovy at redhat.com> - 2007-0.3
- use $TEXMFDOCS instead of $TEXMF/doc in texdoc (#232769)
* Fri Jun 01 2007 Jindrich Novy <jnovy at redhat.com> - 2007-0.2
- update to TeXLive 2007 final
- remove texlive-errata dependencies
- don't use dates in upstream tarball names
- fix invalid freetype libraries location
- disable broken parallel build
- move filelists back to the spec
* Mon Feb 12 2007 Jindrich Novy <jnovy at redhat.com> - 2007-0.1
- update to TeXLive 2007 rc
* Wed May 31 2006 Michael A. Peters <mpeters at mac.com> - 2005-0.9
- missing BuildRequires added (desktop-file-utils) - doh!
* Tue May 30 2006 Michael A. Peters <mpeters at mac.com> - 2005-0.8
- fixed some directory ownership issues.
- added icon for xdvi so I can install the desktop file
* Mon May 29 2006 Michael A. Peters <mpeters at mac.com> - 2005-0.7
- first attempt at mock build (in fc5)
* Sun May 28 2006 Michael A. Peters <mpeters at mac.com> - 2005-0.6
- ghost the texmf-var/web2c/*.{log,fmt,mem} files and create them
- during post install
* Sun May 28 2006 Michael A. Peters <mpeters at mac.com> - 2005-0.5
- The main package needs to require the fonts package
* Sat May 27 2006 Michael A. Peters <mpeters at mac.com> - 2005-0.4
- Patch 8 and Patch 19
* Sat May 27 2006 Michael A. Peters <mpeters at mac.com> - 2005-0.3
- renamed to texjive
* Wed May 24 2006 Michael A. Peters <mpeters at mac.com> - 2005-0.2
- apply Fedora/Red Hat patches (except fot japanese)
- port patches as needed
-- Some of the scripts not patched have same tmpdir issue as the
-- badscript patch fixes - so a second badscript patch IS still needed
- build shared libkpathsea
* Wed May 24 2006 Michael A. Peters <mpeters at mac.com> - 2005-0.1
- Initial attempt at something that resembles packaging.
-- Red Hat / Fedora specific patches from tetex not carried over yet
-- probably some regression
--- NEW FILE vfontmap ---
%
% Sample "vfontmap"
%
% [single style]
% "tfm" "enc" "font"
% [multi style]
% "/font/file/name"
% "tfm1" "enc"
% "tfm2" "enc"
% "enc" is one of following.
% "JIS-H" "Unicode-H" "Identity-H"
% "JIS-V" "Unicode-V" "Identity-V"
rml JIS-H /usr/share/fonts/japanese/TrueType/sazanami-mincho.ttf
rmlv JIS-V /usr/share/fonts/japanese/TrueType/sazanami-mincho.ttf
gbm JIS-H /usr/share/fonts/japanese/TrueType/sazanami-gothic.ttf
gbmv JIS-V /usr/share/fonts/japanese/TrueType/sazanami-gothic.ttf
fmin JIS-H /usr/share/fonts/japanese/TrueType/sazanami-mincho.ttf
fgoth JIS-H /usr/share/fonts/japanese/TrueType/sazanami-gothic.ttf
maru JIS-H /usr/local/share/texmf/dvipdfm/CIDFont/HiraMaruPro-W4.otf
% UTF package
unijmin-h Unicode-H /usr/share/fonts/japanese/TrueType/sazanami-mincho.ttf % \UTF font
unijmin-v Unicode-V /usr/share/fonts/japanese/TrueType/sazanami-mincho.ttf % \UTF font
cidmin-h Identity-H /usr/share/fonts/japanese/TrueType/sazanami-mincho.ttf % \CID font
cidmin-v Identity-V /usr/share/fonts/japanese/TrueType/sazanami-mincho.ttf % \CID font
hmr JIS-H /usr/share/fonts/japanese/TrueType/sazanami-mincho.ttf
hmrv JIS-V /usr/share/fonts/japanese/TrueType/sazanami-mincho.ttf
unijgoth-h Unicode-H /usr/share/fonts/japanese/TrueType/sazanami-gothic.ttf % \UTF font
unijgoth-v Unicode-V /usr/share/fonts/japanese/TrueType/sazanami-gothic.ttf % \UTF font
cidgoth-h Identity-H /usr/share/fonts/japanese/TrueType/sazanami-gothic.ttf % \CID font
cidgoth-v Identity-V /usr/share/fonts/japanese/TrueType/sazanami-gothic.ttf % \CID font
hkb JIS-H /usr/share/fonts/japanese/TrueType/sazanami-gothic.ttf
hkbv JIS-V /usr/share/fonts/japanese/TrueType/sazanami-gothic.ttf
% OTF package
otf-ujmr-h Unicode-H /usr/share/fonts/japanese/TrueType/sazanami-mincho.ttf
otf-ujmr-v Unicode-V /usr/share/fonts/japanese/TrueType/sazanami-mincho.ttf
otf-cjmr-h Identity-H /usr/share/fonts/japanese/TrueType/sazanami-mincho.ttf
otf-cjmr-v Identity-V /usr/share/fonts/japanese/TrueType/sazanami-mincho.ttf
hminr-h JIS-H /usr/share/fonts/japanese/TrueType/sazanami-mincho.ttf
hminr-v JIS-V /usr/share/fonts/japanese/TrueType/sazanami-mincho.ttf
otf-ujgr-h Unicode-H /usr/share/fonts/japanese/TrueType/sazanami-gothic.ttf
otf-ujgr-v Unicode-V /usr/share/fonts/japanese/TrueType/sazanami-gothic.ttf
otf-cjgr-h Identity-H /usr/share/fonts/japanese/TrueType/sazanami-gothic.ttf
otf-cjgr-v Identity-V /usr/share/fonts/japanese/TrueType/sazanami-gothic.ttf
hgothr-h JIS-H /usr/share/fonts/japanese/TrueType/sazanami-gothic.ttf
hgothr-v JIS-V /usr/share/fonts/japanese/TrueType/sazanami-gothic.ttf
otf-ujmb-h Unicode-H /usr/share/fonts/japanese/TrueType/sazanami-mincho.ttf
otf-ujmb-v Unicode-V /usr/share/fonts/japanese/TrueType/sazanami-mincho.ttf
otf-cjmb-h Identity-H /usr/share/fonts/japanese/TrueType/sazanami-mincho.ttf
otf-cjmb-v Identity-V /usr/share/fonts/japanese/TrueType/sazanami-mincho.ttf
hminb-h JIS-H /usr/share/fonts/japanese/TrueType/sazanami-mincho.ttf
hminb-v JIS-V /usr/share/fonts/japanese/TrueType/sazanami-mincho.ttf
otf-ujgb-h Unicode-H /usr/share/fonts/japanese/TrueType/sazanami-gothic.ttf
otf-ujgb-v Unicode-V /usr/share/fonts/japanese/TrueType/sazanami-gothic.ttf
otf-cjgb-h Identity-H /usr/share/fonts/japanese/TrueType/sazanami-gothic.ttf
otf-cjgb-v Identity-V /usr/share/fonts/japanese/TrueType/sazanami-gothic.ttf
hgothb-h JIS-H /usr/share/fonts/japanese/TrueType/sazanami-gothic.ttf
hgothb-v JIS-V /usr/share/fonts/japanese/TrueType/sazanami-gothic.ttf
otf-ujmgr-h Unicode-H /usr/local/share/texmf/dvipdfm/CIDFont/HiraMaruPro-W4.otf
otf-ujmgr-v Unicode-V /usr/local/share/texmf/dvipdfm/CIDFont/HiraMaruPro-W4.otf
otf-cjmgr-h Identity-H /usr/local/share/texmf/dvipdfm/CIDFont/HiraMaruPro-W4.otf
otf-cjmgr-v Identity-V /usr/local/share/texmf/dvipdfm/CIDFont/HiraMaruPro-W4.otf
hmgothr-h JIS-H /usr/local/share/texmf/dvipdfm/CIDFont/HiraMaruPro-W4.otf
hmgothr-v JIS-V /usr/local/share/texmf/dvipdfm/CIDFont/HiraMaruPro-W4.otf
otf-utmr-h Unicode-H /usr/share/fonts/chinese/TrueType/uming.ttf
otf-utmr-v Unicode-V /usr/share/fonts/chinese/TrueType/uming.ttf
otf-utgr-h Unicode-H /usr/share/fonts/chinese/TrueType/ukai.ttf
otf-utgr-v Unicode-V /usr/share/fonts/chinese/TrueType/ukai.ttf
otf-ucmr-h Unicode-H /usr/share/fonts/chinese/TrueType/uming.ttf
otf-ucmr-v Unicode-V /usr/share/fonts/chinese/TrueType/uming.ttf
otf-ucgr-h Unicode-H /usr/share/fonts/chinese/TrueType/ukai.ttf
otf-ucgr-v Unicode-V /usr/share/fonts/chinese/TrueType/ukai.ttf
otf-ukmr-h Unicode-H /usr/share/fonts/korean/TrueType/batang.ttf
otf-ukmr-v Unicode-V /usr/share/fonts/korean/TrueType/batang.ttf
otf-ukgr-h Unicode-H /usr/share/fonts/korean/TrueType/dotum.ttf
otf-ukgr-v Unicode-V /usr/share/fonts/korean/TrueType/dotum.ttf
xdvik-22.84.10-j1.34.patch:
--- NEW FILE xdvik-22.84.10-j1.34.patch ---
diff -N texk/xdvik/CHANGES.xdvik-jp
--- xdvik-22.84.10.orig/texk/xdvik/CHANGES.xdvik-jp 1 Jan 1970 00:00:00 -0000
+++ xdvik-22.84.10/texk/xdvik/CHANGES.xdvik-jp 8 Nov 2006 05:46:05 -0000 1.108
@@ -0,0 +1,590 @@
+2006-11-08 Nobuyuki Tsuchimura <tutimura(a)nn.iij4u.or.jp>
+
+ * ft2.c, ft2.h, Makefile.in, vfontmap.c, xdvi.c, zeit.c:
+ Renamed "vf2ft.{c,h}" -> "ft2.{c,h}".
+
+ * version.h (JPVERSION): new version j1.34.
+
+2006-11-06 Nobuyuki Tsuchimura <tutimura(a)nn.iij4u.or.jp>
+
+ * ft2vert.c (ft2vert_init): Added a detailed message
+ when FreeType2 can not handle GSUB table.
+
+ * chardef.h: Removed chardef.h which is not used.
+
+ * zeit.c (read_ZEIT_char):
+ Use struct 'glyph' mainly instead of struct 'bitmap'.
+ (read_ZEIT_index): Renamed 'j' to 'jfm'.
+ Use struct 'glyph' mainly instead of struct 'bitmap'.
+
+ * jfm.c (read_jfm): Replaced a chained pointer of struct 'jfm'
+ by an array of struct.
+ * vfontmap.c: Replaced a chained pointer of struct 'vfontmap'
+ by an array of struct.
+
+ * vfontmap.h, vfontmap.c, vf2ft.c (vfontmap):
+ Renamed 'fd' to 'ft2_index' in struct 'vfontmap'.
+ * dvi-init.h, zeit.c (font):
+ Renamed 'vf' to 'ft2_index' in struct 'font'.
+
+2006-11-05 Nobuyuki Tsuchimura <tutimura(a)nn.iij4u.or.jp>
+
+ * vf2ft.c (glyph_index, glyph_to_bitmap):
+ Separated glyph_index() and glyph_to_bitmap() from VF_GetBitmap().
+ (VF_OpenFont, VF_GetBitmap): Enabled Bold/Italic font.
+ * vfontmap.c (addfontmap): Initialized 'variant' field.
+
+ * dnpzeit.c, Makefile.in: Removed dnpzeit.c.
+ * dvi-draw.c, dvi-init.c, dvi-init.h, font-open.c, vfontmap.c,
+ vfontmap.h, xdvi-config.h, zeit.h: Removed NTTZEIT macro.
+ * README.xdvik-jp: Added an announcement that NTT JTeX (direct)
+ support was removed.
+
+ * vf2ft.c, vf2ft.h, xdvi.c, zeit.c (ft2_init, ft2_open_font,
+ ft2_get_bitmap): Renamed VF_Init() -> ft2_init(), etc.
+ Removed needless args. Let ft2_init() static.
+ * vf2ft.c (glyph_to_bitmap): Enhanced glyph_to_bitmap()
+ to fix memory leak.
+ (ft_fonts): 'ft_fonts' became an array of flexible length instead
+ of fixed length.
+ (ft_error): 'ft_error' became a locale variable.
+ (glyph_index): Simplified glyph_index().
+
+ * zeit.c, zeit.h (open_ZEIT_font, get_ZEIT_font):
+ Removed needless func open_ZEIT_font() and get_ZEIT_font().
+ Replaced xmalloc() + memset() with xcalloc().
+
+2006-06-09 Nobuyuki Tsuchimura <tutimura(a)nn.iij4u.or.jp>
+
+ * jisx0208.c (MAXJIS, jis2uni_table): Deleted category
+ 85--92 which is out of JIS X 0208.
+ * util.c, util.h, zeit.c, dnpzeit.c (order_reverse_bitmap):
+ Renamed from reverse_endian_bitmap(). In fact, this is not
+ endian problem.
+
+2006-05-17 Nobuyuki Tsuchimura <tutimura(a)nn.iij4u.or.jp>
+
+ * configure.in, configure (freetype):
+ Added a message when freetype is found.
+
+ * font-open.c (font_open): Fixed memory leak.
+ We must check iskanjifont() first.
+
+2006-05-09 Nobuyuki Tsuchimura <tutimura(a)nn.iij4u.or.jp>
+
+ * encodings.c (guess_encoding): Added support for
+ ENC_UNICODE_{H|V}.
+
+ * events.c (do_sigpoll): Cleared allocated memory
+ to avoid ill condition jump.
+ Upstreamed as Request ID 1484561.
+
+2006-05-04 Nobuyuki Tsuchimura <tutimura(a)nn.iij4u.or.jp>
+
+ * dvi-draw.c (free_bitmap2): Removed free_bitmap2()
+ which leaks memory.
+ * dvi-init.c, dvi-init.h (free_bitmap2):
+ New function derived from delete_glyphs().
+ * ft2vert.c (ft2vert_init): Fixed memory leak.
+
+ * vfontmap.c, vfontmap.h (getdnpfont, isdnpfont):
+ Surround with #ifdef NTTZEIT.
+ * font-open.c (font_open): Added #ifdef NTTZEIT condition.
+
+2006-05-03 Nobuyuki Tsuchimura <tutimura(a)nn.iij4u.or.jp>
+
+ * zeit.c, zeit.h, dnpzeit.c, util.c, util.h:
+ Moved adj_ZEIT_bitmap() in 'zeit.c' as
+ reverse_endian_bitmap() in 'util.c'.
+ * dnpzeit.c: K&R -> ANSI prototype. Removed 'register'.
+ (read_NTT_char, read_NTT_char): int -> wide_ubyte ch.
+
+ * ft2vert.c (print_offset, tag_to_string, hex_dump):
+ Surround debug part with #ifdef DEBUG .. #endif.
+
+2006-05-01 Nobuyuki Tsuchimura <tutimura(a)nn.iij4u.or.jp>
+
+ * jfm.h, zeit.c, Makefile.in: Renamed 'jtfm.h' -> 'jfm.h'.
+ * jfm.c, zeit.c (read_jfm, read_jfm0): Moved from 'zeit.c'
+ to new file 'jfm.c'.
+ * jfm.h (read_jfm0): Removed definition of internal function.
+ * jfm.h, jfm.c (jfm): Changed member variable from fn[128] to
+ *fontname.
+ * version.h (JPVERSION): new version j1.33.
+
+2006-04-29 Nobuyuki Tsuchimura <tutimura(a)nn.iij4u.or.jp>
+
+ * zeit.c (adj_ZEIT_bitmap): Makeing reverse_byte[]
+ by calculation instead of giving as data.
+
+2006-04-28 Nobuyuki Tsuchimura <tutimura(a)nn.iij4u.or.jp>
+
+ * zeit.c, dnpzeit.c: Use memset() instead of bzero().
+ * zeit.c, zeit.h: Adjusted under DEBUGZEIT condition.
+ * vf2ft.c, encodings.c, dvi-draw.c, vfontmap.h:
+ Converted space -> tab.
+ * vf2ft.c, vf2ft.h, ft2vert.c: Adjusted #include headers.
+ * vfontmap.c, encodings.c: Adjusted #ifdef KANJI condition.
+ * jisx0208.c: Added #ifdef USE_ZEIT condition.
+ * dvi-draw.c: K&R -> ANSI prototype.
+ * Makefile.in: Modified dependency of headers.
+
+2006-04-27 Nobuyuki Tsuchimura <tutimura(a)nn.iij4u.or.jp>
+
+ * vfontmap.c, vfontmap.h (first_ptr): Let 'first_ptr' private
+ variable.
+ * vfontmap.c, vfontmap.h, zeit.c, dnpzeit.c
+ (getkanjifont, getdnpfont): Renamed iskanjifont() to
+ getkanjifont() and changed its return value to the pointer of
+ structure 'vfontmap' instead of the index number.
+ Defined iskanjifont() as a macro using getkanjifont().
+ * zeit.c, zeit.h (open_ZEIT_font): Changed arg to pointer
+ instead of index number.
+
+2006-04-26 Nobuyuki Tsuchimura <tutimura(a)nn.iij4u.or.jp>
+
+ * dvi-init.c, dvi-init.h, dnpzeit.c, encodings.c, font-open.c,
+ vfontmap.c, vfontmap.h, xdvi.c, Makefile.in (iskanjifont, isdnpfont):
+ Moved iskanjifont() and isdnpfont() from dvi-init.c to
+ vfontmap.c.
+ * ft2vert.h: Removed useless comment.
+ * ft2vert.c: Added '#ifdef USE_ZEIT' condition.
+ Converted space -> tab.
+
+2006-04-25 Nobuyuki Tsuchimura <tutimura(a)nn.iij4u.or.jp>
+
+ * dvi-draw.c (oldmaxchar): Enlarged 'oldmaxchar' from ubyte
+ to wide_ubyte to save whole 'maxchar'.
+ This fixes a string search trouble for Japanese characters.
+ (upstreamed as Request ID 1475921)
+
+2006-04-19 Nobuyuki Tsuchimura <tutimura(a)nn.iij4u.or.jp>
+
+ * jisx0208.c, jisx0208.h, Mailefile.in (jisx0208): New file derived
+ from "src/VF_Ftype.c" in VFlib2-2.25.6.
+ * vf2ft.c (UnicodeTbl, jis2uni): Removed jis2uni() which overlaps
+ in jisx0208.c.
+ * ft2vert.c (ft2vert_get_gid): Fixed typo in error message.
+
+2005-11-21 Nobuyuki Tsuchimura <tutimura(a)nn.iij4u.or.jp>
+
+ * dvi-draw.c (bbox_scale_bitmap, rotate_bitmap,
+ reverse_rotate_bitmap): Reduced "#ifdef WORDS_BIGENDIAN .. #endif"
+ by using new macros EXTREME_LEFT_BIT, EXTREME_RIGHT_BIT,
+ and SHIFT_RIGHT().
+
+2005-11-19 Nobuyuki Tsuchimura <tutimura(a)nn.iij4u.or.jp>
+
+ * vf2ft.c (VF_GetBitmap): Clean bitmap earlier.
+ * util.c, utl.h (clear_bitmap, fill_bitmap): new function
+ * zeit.c (read_ZEIT_index): Use fill_bitmap() instead of bbox().
+ * dvi-draw.c (reverse_rotate_bitmap, rotate_bitmap,
+ bbox_scale_bitmap): Use clear_bitmap().
+ (rotate_bitmap, reverse_rotate_bitmap): K&R -> ANSI prototype.
+
+2005-11-17 Nobuyuki Tsuchimura <tutimura(a)nn.iij4u.or.jp>
+
+ * gui/help-window.c (default_help_general): Removed VF2FT macro.
+
+2005-11-16 Nobuyuki Tsuchimura <tutimura(a)nn.iij4u.or.jp>
+
+ * zeit.c: Converted K&R -> ANSI prototype.
+ (adj_ZEIT_bitmap): Simplified using new macro MAKE32BIT().
+ * zeit.h, jtfm.h (read_jfm0): Moved prototype.
+ * dvi-init.h (TateCorrectionTable): Removed tate adjustment.
+
[...10335 lines suppressed...]
+ ¤È¤¤¤¦Ìõ¤Ç¡¢DVISEL ¤ò define ¤¹¤ë¤È¡¢¾åµ dviselect µ¡Ç½¤òÆâÊñ¤·¡¢³°Éô
+¥¹¥¯¥ê¥×¥È(¥Ç¥Õ¥©¥ë¥È¤Ï /usr/local/bin/xdviprint¡£-xdviprint ¥ª¥×¥·¥ç¥ó¤ä
+.xdviPrint ¥ê¥½¡¼¥¹¤Ç¤âÊѹ¹²Ä)¤ËÀÚ¤ê½Ð¤·¤¿ DVI ¥Õ¥¡¥¤¥ë¤ò¥Ñ¥¤¥×¤ÇÅϤ¹¤è¤¦
+¤Ë¤Ê¤ê¤Þ¤¹¡£¥×¥ê¥ó¥¿Ì¾¤È»æ¤Î¥µ¥¤¥º¤Ï°ú¿ô¤ÇÅϤ·¤Þ¤¹¡£
+ ¥¹¥¯¥ê¥×¥È¦¤Ï DVI ¥Õ¥¡¥¤¥ë¤òɸ½àÆþÎϤ«¤éÆɤߤȤê°õºþ¤¹¤ë¥¹¥¯¥ê¥×¥È¤Ë
+¤·¤Þ¤¹¡£dvips ¤ò»È¤Ã¤¿¥µ¥ó¥×¥ë¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢¤½¤Î¤Þ¤Þ¤Ç¤â
+»È¤¨¤ë¤È¤Ï»×¤¤¤Þ¤¹¤¬¡¢¹¥¤¤ËÊÔ½¸¤·¤Æ²¼¤µ¤¤¡£:-)
+ DVISEL ¤ò define ¤¹¤ë¤È¡¢% ¥·¡¼¥±¥ó¥¹¤Î¥³¥Þ¥ó¥É»ØÄêÅù¤Ï¤Ç¤¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
+
+ ¤Ê¤ª¡¢PRINTDVI ¤Ç¤Ï¡¢landscape Åù¤Î¥ª¥×¥·¥ç¥ó¤Î°ã¤¤¤ò xdvipaper.dvips
+Åù¤ÎÊÑ´¹¥Õ¥¡¥¤¥ë¤ò»È¤Ã¤Æ¡¢xdvi ÆâÉô¤ÇÊÑ´¹¤·¤Æ¤¤¤Þ¤·¤¿¡£¤³¤ì¤â¡¢¤É¤Î¥×¥ê
+¥ó¥¿¥É¥é¥¤¥Ð¡¼¤ò»È¤¦¤«¤ò xdvi ÆâÉô¤ËËä¤á¹þ¤Þ¤Ê¤¤¤È¤¤¤¦Êý¿Ë¤«¤é¡¢xdvi
+ÆâÉô¤Ç¤Ï¤³¤ÎÊÑ´¹½èÍý¤ò¤·¤Þ¤»¤ó¡£¤³¤Î½èÍý¤Ï¥¹¥¯¥ê¥×¥È¦¤Ç¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
+¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¥µ¥ó¥×¥ë¡¦¥¹¥¯¥ê¥×¥È¤Ç¤Ï¤³¤Î½èÍý¤ò¤·¤Æ¤Þ¤¹¤Î¤Ç¡¢½¾Íè¤Î
+PRINTDVI ¤ò»È¤Ã¤Æ¤¿»þ¤ÈƱ¤¸µ¡Ç½¤¬¼Â¸½¤Ç¤¤Æ¤ë¤È¤Ï»×¤¤¤Þ¤¹¤¬¡¢¥¹¥¯¥ê¥×¥È¤Î
+¤³¤ÎÉôʬ¤â¹¥¤¤Ë½ñ¤´¹¤¨¤Æ»È¤Ã¤Æ²¼¤µ¤¤¡£:-)
+
+ Êä¤Ǥ¹¤¬¡¢DVISEL µ¡Ç½¤Ï PRINTDVI ¥ë¡¼¥Á¥ó¤òÁ´ÉôÃÖ¤´¹¤¨¤¿¤â¤Î¤Ç¤Ï¤Ê¤¯¡¢
+¤½¤Î¤Û¤È¤ó¤É¤Ï PRINTDVI ¤Î¥ë¡¼¥Á¥ó¤ò»È¤Ã¤Æ¼Â¸½¤·¤Æ¤¤¤Þ¤¹¡£dviselect ¤Î¥½¡¼¥¹
+¤Ï»È¤ï¤º°ì¤«¤é½ñ¤Â¤·¤Þ¤·¤¿¡£
+
+ ¤Þ¤¿¡¢DVISEL µ¡Ç½¤¬½ÐÎϤ¹¤ëÀÚ¤ê½Ð¤·¤¿ DVI ¤È¡¢dviselect ¥³¥Þ¥ó¥É¤¬½ÐÎϤ¹¤ë
+DVI ¤ÏƱ¤¸¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£°ã¤¤¤Ï¡¢dviselect ¤Ç¤Ï¥Õ¥©¥ó¥ÈÈÖ¹æ¤Î¥ê¥Ê¥ó¥Ð¡¼
+¤ò¹Ô¤Ê¤Ã¤Æ¤ë¤Î¤Ë¡¢¤³¤Î DVISEL µ¡Ç½¤Ï¤½¤ì¤ò¹Ô¤Ê¤Ã¤Æ¤Ê¤¤ÅÀ¤Ç¤¹¡£
+ DVI ¥Õ¥¡¥¤¥ë¤Ç¤Ï¥Õ¥©¥ó¥ÈÈÖ¹æ 0¡Á63ÈÖ¤Þ¤Ç¤Ï 1¥Ð¥¤¥È¤Ç¥Õ¥©¥ó¥È¥Á¥§¥ó¥¸¤¬
+¤Ç¤¤ë¤¬¡¢64Èְʾå¤À¤È¥Õ¥©¥ó¥È¥Á¥§¥ó¥¸¤Ë 2¥Ð¥¤¥È¤«¤«¤ë¤È¤¤¤¦»ÅÍͤˤʤäÆ
+¤Þ¤¹¡£½¾¤Ã¤Æ¡¢¥ª¥ê¥¸¥Ê¥ë¤Î DVI ¥Õ¥¡¥¤¥ë¤Ç¤Ï¥Õ¥©¥ó¥È¤ò 65¼ïÎà°Ê¾å»È¤Ã¤Æ
+¤ë¤¬¡¢»ØÄê°õºþ¥Ú¡¼¥¸¤Ç¤Ï¹ç·× 64¼ïÎà°Ê²¼¤Î¥Õ¥©¥ó¥È¤·¤«»È¤ï¤ì¤Æ¤Ê¤¤¾ì¹ç¡¢
+dviselect ¤Ç¤Ï½ÐÎÏ DVI ¤Ç»È¤ï¤ì¤Æ¤Ê¤¤·çÈ֤Υե©¥ó¥ÈÈÖ¹æ¤òËä¤á¤ÆÁ´¤Æ
+1¥Ð¥¤¥È¤Î¥Õ¥©¥ó¥È¥Á¥§¥ó¥¸¤Ë¤·¤Æ¤·¤Þ¤¦»ö¤¬¤Ç¤¤Þ¤¹¤¬¡¢¤³¤Î DVISEL µ¡Ç½¤Ï
+¥ª¥ê¥¸¥Ê¥ë¤Î DVI ¥Õ¥¡¥¤¥ë¤Î¥Õ¥©¥ó¥ÈÈÖ¹æ¤ò¤½¤Î¤Þ¤Þ»È¤¤¤Þ¤¹¡£½¾¤Ã¤Æ¡¢
+dviselect ¤Î½ÐÎϤ¹¤ë DVI ¤è¤ê¥µ¥¤¥º¤¬Â礤¯¤Ê¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
+
+ ¤â¤Ã¤È¤â¡¢»ä¤Ï 65¼ïÎà°Ê¾å¤â¤Î¥Õ¥©¥ó¥È¤ò»È¤Ã¤¿ TeX ¤Ê¤ó¤Æ¸«¤¿»ö¤Ê¤¤¤·¡¢
+¤É¤¦¤»°õºþ¤¹¤ë»þ¤Ë°ì»þŪ¤Ë»È¤Ã¤Æ¤¹¤°¾Ã¤¹ DVI ¤Î½ÐÎϤǿô¥Ð¥¤¥È¤òÀáÌó¤·¤Æ
+¤â¤·¤ç¤¦¤¬¤Ê¤¤¤Î¤Ç¡¢¥Õ¥©¥ó¥ÈÈÖ¹æ¤Î¥ê¥Ê¥ó¥Ð¡¼¤Ï¹Ô¤Ê¤ï¤Ê¤¤»ö¤Ë¤·¤Þ¤·¤¿¡£:-)
+DVI ¥Õ¥¡¥¤¥ëÃæ¤Ç»È¤ï¤ì¤Æ¤ë¥Õ¥©¥ó¥ÈÈֹ椬Èô¤ÓÈô¤Ó¤Ê¤Î¤ÏÌäÂꤢ¤ê¤Þ¤»¤ó¡£
+TeX ¼«ÂΤ½¤¦¤¤¤¦ DVI ¤òÅǤ¤Þ¤¹¡£:-)
+
+
+ 3) ¤½¤Î¾ (ÀÛºî̤ȯɽ)
+
+ 3.1) SMALL_PANEL ¤Î¿ôÃͤθ«Ä¾¤·
+
+ ²èÌ̤µ¤¤¥Î¡¼¥È¥Ñ¥½¥³¥óÅù¤Ç»È¤¦»þ¤Ë¤Ï SMALL_PANEL µ¡Ç½¤ÏÊØÍø¤Ç¤¹
+ ¤¬¡¢¾®¤µ¤¯¤¹¤ë¤¢¤Þ¤ê¥Ü¥¿¥ó¤È¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤¬½Å¤Ê¤Ã¤¿¤ê¤·¤Æ¤Æ³Ê¹¥°¤¤
+ ¤Ç¤¹¡£°ìÈÌ¤Ë SMALL_PANEL ¤ò»È¤¤¤¿¤¤¿Í¤Ï²èÌ̤νÄÊý¸þ¤Ë;͵¤¬¤Ê¤¤¤±¤É¡¢
+ ²£Êý¸þ¤Ë¤Ï¤Þ¤À;͵¤¬¤¢¤ë¤È»×¤ï¤ì¤Þ¤¹¡£¤Þ¤¿¡¢½ÄÊý¸þ¤Ë¾®¤µ²á¤®¤ë¾ì¹ç¤Ï
+ ¥¦¥£¥ó¥É¡¼¤ò¥ê¥µ¥¤¥º¤¹¤ì¤ÐºÑ¤ß¤Þ¤¹¤¬¡¢²£Êý¸þ¤Ï¥ê¥µ¥¤¥º¤·¤Æ¤â¥Ñ¥Í¥ëÉôʬ
+ ¤ÎÂ礤µ¤ÏÊѤï¤é¤Ê¤¤¤Î¤Ç¡¢²£Êý¸þ¤Ë¾®¤µ²á¤®¤Æ¸«¤Ë¤¯¤¤¤Î¤Ïľ¤·¤Ë¤¯¤¤¤Ç¤¹¡£
+ ¤È¤¤¤¦Ìõ¤Ç¡¢Á´ÂΤΥХé¥ó¥¹¤ò¸«Ä¾¤·¤Æ¤ß¤Þ¤·¤¿¡£
+
+ 3.2) ¡ÖXDvi*international: True¡×¤Ê¤ó¤Æ¡¢ÀßÄê¤ò¤¹¤ë¤È¡¢TOC ¤Ç¥Þ¥¦¥¹
+ ¿¿Ãæ¥Ü¥¿¥ó¤ò²¡¤·¤¿»þ¤Ë²¡¤·¤¿°ÌÃ֤Ȱ㤦°ÌÃÖ¤¬¥Þ¡¼¥¯¤µ¤ì¤Æ¤·¤Þ¤¦¡£
+ ¤Þ¤¿¡¢SELFILE »þ¤Ëʸ»ú²½¤±¤·¤¿¤ê¡¢É½¼¨¤¬¤º¤ì¤¿¤ê¤¹¤ë¡£
+
+ ¤³¤ó¤ÊÀßÄê¤Ë¤·¤Æ¤ë¿Í¤Ï¤¤¤Ê¤¤¤«¤âÃΤì¤Þ¤»¤ó¤¬(^^;;)¡¢Athena Widget
+ ¤Ç i18n ¤Ë¤¹¤ë»þ¤Ë¤Ï XFontStruct ¤ò»È¤Ã¤Æ¤ëÉôʬ¤ÏÁ´Éô½ñ¤´¹¤¨¤Ê¤¤ã
+ ¡Ä¤È¤¤¤¦¤ä¤Ä¤Ç¤¹¡£:-)
+ °ì±þ¡¢X11R4 °ÊÁ°¤ò»È¤Ã¤Æ¤ë¿Í¤ò¹Í¤¨¤Æ(¤¤¤ë¤Î¤«? ^^;;)¡¢#ifdef ÉÕ¤¤Ç
+ Êѹ¹¤·¤Æ¤ª¤¤Þ¤·¤¿¡£:-) ¥Æ¥¹¥È¤Ï¤·¤Æ¤Þ¤»¤ó¡£X11R4 ¤Ê¤ó¤Æ̵¤¤(¾Ð)¡£
+
+ 3.3) ¥Þ¥Ë¥å¥¢¥ë¤Î¥ª¥×¥·¥ç¥óÀâÌÀÉôʬ¤ËÉÕ¤¤¤Æ
+
+ xdvi ¤Î man ¤Î¥ª¥×¥·¥ç¥óÉôʬ¤ÎÀâÌÀ¤Ï¥ª¥×¥·¥ç¥ó¤Î¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Ë
+ µ½Ò¤µ¤ì¤Æ¤ë¤È»×¤ï¤ì¤ë¤¬¡¢PRINTDVI ¤ÇÄɲ䵤줿¥ª¥×¥·¥ç¥ó¤Ï¸å¤í¤Ë
+ Äɲ䵤ì¤Æ¤Æ¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Ë¤Ê¤Ã¤Æ¤Ê¤¤¤Î¤Ç¡¢¥½¡¼¥È¤·Ä¾¤·¤¿¡£:-)
+
+
+¡û³Ð½ñ (´º¤¨¤Æ TODO ¤È¤Ï½ñ¤«¤Ê¤¤(¾Ð))
+
+ * ¤«¤Ä¤Æ¿§¡¹¤¢¤Ã¤¿ xdvi-17 ÍѥѥåÁ¤Î¤¦¤Á¡¢xdvik-20c ÍѥѥåÁ¤Ç¤Þ¤À¼è¤ê
+ ¹þ¤Þ¤ì¤Æ¤Ê¤¤µ¡Ç½¤È¤·¤Æ¤Ï¡¢xdvi-17jp.960209 ¤Ë¤¢¤Ã¤¿¡¢
+ 5. DVI ¥Õ¥¡¥¤¥ëÃæ¤Îʸ»úÎó¤Î¸¡º÷µ¡Ç½¡£
+ 6. -remote ¥ª¥×¥·¥ç¥ó¤ÎÄɲá£
+ ¤¬µó¤²¤é¤ì¤Þ¤¹¡£
+
+
+¡ûºÇ¸å¤Ë
+
+ Ãøºî¸¢¤Ï¤½¤ì¤¾¤ì¤Î¥Ñ¥Ã¥Á¤Îºî¼Ô¤Ë¤¢¤ê¤Þ¤¹¡£¾Ü¤·¤¯¤Ï READMEs/ ¥Ç¥£¥ì¥¯
+¥È¥ê°Ê²¼¤Î¥Õ¥¡¥¤¥ë·²¤Ê¤É¤ò¸«¤Æ²¼¤µ¤¤¡£
+
+/* Takeshi WATANABE <watanabe at komadori.planet.sci.kobe-u.ac.jp> */
diff -N texk/xdvik/READMEs/README.xdvik20c-j1.0p1.patch
--- xdvik-22.84.10.orig/texk/xdvik/READMEs/README.xdvik20c-j1.0p1.patch 1 Jan 1970 00:00:00 -0000
+++ xdvik-22.84.10/texk/xdvik/READMEs/README.xdvik20c-j1.0p1.patch 18 Aug 2003 01:39:46 -0000 1.1
@@ -0,0 +1,43 @@
+xdvik20c-j1.0p1.patch ¤Ë¤Ä¤¤¤Æ
+
+ ÃÞÇÈÂç³Ø ¼Ò²ñ¹©³Ø¸¦µæ²Ê
+ Ã汦 ¹ÀÆó (knakau at sk.tsukuba.ac.jp)
+
+ÍÑÅÓ¡§
+ ¤³¤Î¥Ñ¥Ã¥Á¤Ï¡¢xdvi (xdvik-20c) ¤¬ÆüËܸì¤òɽ¼¨¤Ç¤¤ë¤è¤¦¤ËÊѹ¹¤ò
+ ²Ã¤¨¤ë¥Ñ¥Ã¥Á¤Ç¤¹¡£(ASCII-pTeX, NTT-JTeX)
+
+¼Õ¼¡§
+ ¤³¤Î¥Ñ¥Ã¥Á¤Ï xdvi-20a-j1.1p15.patch ̵¤¯¤·¤Æ¤Ï¸ºß¤·¤Þ¤»¤ó¡£
+ ¤½¤ÎÀ½ºî¤Ë¤Ï¡¢»³²ì¡÷ÀéÍÕÂ礵¤ó¤ò½é¤á¤È¤¹¤ë¿¤¯¤ÎÊý¤¬·È¤ï¤Ã¤Æ
+ ¤ª¤é¤ì¤Þ¤¹¡£¤½¤ÎÅØÎϤ˴¶¼Õ¤·¤Ä¤Ä¡¢¤³¤Î¥Ñ¥Ã¥Á¤ò»È¤¤¤Þ¤·¤ç¤¦¡£
+
+½Ð½ê¡§
+ ¤³¤Î¥Ñ¥Ã¥Á¤Ï´ðËÜŪ¤Ë xdvik20a-j1.1p15.patch ¤ËÊѹ¹¤ò²Ã¤¨¡¢
+ xdvik-20c¤ËÂбþ¤µ¤»¤¿¤â¤Î¤Ç¤¹¡£¤½¤ÎºÝ¤Î¼ç¤ÊÊѹ¹ÅÀ¤Ï¡¢
+ °Ê²¼¤ÎÆóÅÀ¤Ç¤¹¡£
+
+ ¡ü xdvik-20¦¤Î¥Õ¥¡¥¤¥ë̾¤ÎÊѹ¹¤Ëȼ¤¦¥Ñ¥Ã¥ÁÆâÍƤÎÊѹ¹¡£
+ ¡ü xdvik-20¤ÎÆâÍÆÊѹ¹¤Ëȼ¤¦¥Ñ¥Ã¥ÁÅö¤Æ¾ò·ï¤ÎÊѹ¹¡£
+
+ xdvik20c-j1.0p1¤«¤é¡¢Æ⻳¡÷·Ä±þÂ礵¤ó¤Î¹×¸¥¤Ë¤è¤ê¡¢jisx0212
+ ¤ÎÊä½õ´Á»ú¤òÍøÍѤǤ¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£¤³¤ÎÍøÍѤˤĤ¤¤Æ¤Ï¡¢
+ ²¼µ¤Î¥Ú¡¼¥¸¤¬»²¹Í¤Ë¤·¤Æ²¼¤µ¤¤¡£
+ Ê¡°æ¡÷ÅìÂ礵¤ó http://www.tooyoo.l.u-tokyo.ac.jp/fkr/makejvf.html
+ Æ⻳¡÷·ÄÂ礵¤ó http://macptex.appi.keio.ac.jp/~uchiyama/gaiji.html
+
+¥¤¥ó¥¹¥È¡¼¥ë¡§
+ ¥¤¥ó¥¹¥È¡¼¥ë¤Ë¤Ä¤¤¤Æ¤Ï¡¢linux, Digital UNIX¤Î¾ì¹ç¤Î
+ ¥¤¥ó¥¹¥È¡¼¥ë¼ê½ç¤Ë¤Ä¤¤¤Æ¡¢¾ÜºÙ¤ËµÏ¿¤·¤Æ¤ª¤¤Þ¤·¤¿¡£
+ ¾Ü¤·¤¯¤Ï¡¢²¼µ¤ÎURL¤ò¸æÍ÷¤¯¤À¤µ¤¤¡£
+ http://ecopolis.sk.tsukuba.ac.jp/~knakau/unix/
+
+ ¤Þ¤¿¡¢README.xdvik20a-j1.1.patch ¤Ë»³²ì¡÷ÀéÍÕÂ礵¤ó¤Ë¤è¤ë
+ ¾ÜºÙ¤Êµ½Ò¤¬¤¢¤ê¤Þ¤¹¡£¤½¤Á¤é¤âÊ»¤»¤Æ»²¹Í¤Ë¤·¤Æ²¼¤µ¤¤¡£
+
+Ãí°ÕÅÀ¡§
+ ¥¤¥ó¥¹¥È¡¼¥ë»þ¤ËÀßÄêÊѹ¹¤ò¹Ô¤¦¥Õ¥¡¥¤¥ë̾¤¬ 20a ¤«¤é 20c ¤Î´Ö¤Ç
+ Êѹ¹¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤´Ãí°Õ²¼¤µ¤¤¡£
+
+ ¡ü Makefile (Êѹ¹Ìµ¤·)
+ ¡ü xdvi-config.h (°ÊÁ°¤Î config.h ¤ËÁêÅö)
diff -u -r1.1.1.5 -r1.5
--- xdvik-22.84.10.orig/texk/xdvik/gui/help-window.c 1 Jan 2005 07:53:34 -0000 1.1.1.5
+++ xdvik-22.84.10/texk/xdvik/gui/help-window.c 17 Nov 2005 04:28:09 -0000 1.5
@@ -309,6 +309,9 @@
#ifdef T1LIB
"- T1lib (direct rendering of PS fonts) enabled\n",
#endif
+#ifdef USE_ZEIT
+ "- FreeType (Kanji font rendering) enabled\n",
+#endif /* USE_ZEIT */
#if HAVE_ICONV_H
"- Iconv support compiled in\n",
#if USE_LANGINFO
diff -u -r1.1.1.7 -r1.3
--- xdvik-22.84.10.orig/texk/xdvik/texmf/XDvi 22 Apr 2004 02:36:40 -0000 1.1.1.7
+++ xdvik-22.84.10/texk/xdvik/texmf/XDvi 24 Feb 2005 15:24:00 -0000 1.3
@@ -125,7 +125,7 @@
!!!------------------------------------------------------------------------------
!!! background color and font:
*tipShell.background: cornsilk
-*tipShell.fontSet: -*-helvetica-medium-r-*-*-12-*-*-*-*-*-*
+*tipShell.fontSet: -*-helvetica-medium-r-*-*-12-*-*-*-*-*-*,-*-*-medium-r-*-*-12-*-*-*-*-*-*,
!!! time the mouse needs to stay on a button until tooltips pop up,
!!! in milliseconds; set to a negative value to disable:
@@ -133,11 +133,24 @@
!!!------------------------------------------------------------------------------
+!!!-------------------------------- Xaw i18n ------------------------------------
+!!!------------------------------------------------------------------------------
+!!! note: when i18n'ed, *font and *fontSet should have same size of font
+*international: true
+*inputMethod: kinput2
+*preeditType: OverTheSpot,OffTheSpot,Root
+!!! note: xdviSelFile can not be i18n'ed (bug?)
+xdviSelFile*international: false
+
+
+!!!------------------------------------------------------------------------------
!!!------------------------------ Fonts and colors ------------------------------
!!!------------------------------------------------------------------------------
-*font: -*-helvetica-medium-r-*-*-12-*-*-*-*-*-*
+*font: -*-helvetica-medium-r-*-*-12-*-*-*-*-*-*
+*fontSet: -*-helvetica-medium-r-*-*-12-*-*-*-*-*-*,-*-*-medium-r-*-*-12-*-*-*-*-*-*
!!! Use a smaller font for the statusline in the Xaw version:
-*statusline.font: -*-helvetica-medium-r-*-*-10-*-*-*-*-*-*
+*statusline.font: -*-helvetica-medium-r-*-*-10-*-*-*-*-*-*
+*statusline.fontSet: -*-helvetica-medium-r-*-*-10-*-*-*-*-*-*,-*-*-medium-r-*-*-10-*-*-*-*-*-*
!!! Motif fonts. Meaning of the tags is:
!!! NORMAL: Ordinary text, labels etc.
@@ -147,11 +160,11 @@
!!! TOPIC_HEADING: Heading for help text in help window
!!!
*fontList: \
--*-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*=NORMAL,\
--*-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*=UNMARKED,\
--*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-*=MARKED,\
--*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-*=TOPIC_LABEL,\
--*-helvetica-bold-r-*-*-14-*-*-*-*-*-*-*=TOPIC_HEADING
+-*-*-medium-r-*-*-12-*-*-*-*-*-*-*:=NORMAL,\
+-*-*-medium-r-*-*-12-*-*-*-*-*-*-*:=UNMARKED,\
+-*-*-bold-r-*-*-12-*-*-*-*-*-*-*:=MARKED,\
+-*-*-bold-r-*-*-12-*-*-*-*-*-*-*:=TOPIC_LABEL,\
+-*-*-bold-r-*-*-14-*-*-*-*-*-*-*:=TOPIC_HEADING
!!! Color used for page border, image bounding boxes and the ruler in `Ruler mode'.
Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/texlive/devel/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore 2 Dec 2007 03:35:08 -0000 1.1
+++ .cvsignore 2 Dec 2007 08:03:19 -0000 1.2
@@ -0,0 +1,4 @@
+dvipsk-jpatch-p1.7a.tar.bz2
+mendexk2.6e.tar.gz
+ptex-src-3.1.10.tar.gz
+source-free.tar.bz2
Index: sources
===================================================================
RCS file: /cvs/extras/rpms/texlive/devel/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources 2 Dec 2007 03:35:08 -0000 1.1
+++ sources 2 Dec 2007 08:03:19 -0000 1.2
@@ -0,0 +1,4 @@
+de024c71383d35d2274f5ebc599057f7 dvipsk-jpatch-p1.7a.tar.bz2
+fe07b8b7b83d1cb13f836dc1caf7bad8 mendexk2.6e.tar.gz
+9738f48ec9d6b603b4b6550ba480876d ptex-src-3.1.10.tar.gz
+c67cdc1e1ecfeb87ccb9dfacc56a7a97 source-free.tar.bz2
More information about the fedora-extras-commits
mailing list