[arch-commits] Commit in texlive-bin/trunk (4 files)

François Charette francois at archlinux.org
Fri Jun 25 09:02:27 UTC 2010


    Date: Friday, June 25, 2010 @ 05:02:27
  Author: francois
Revision: 83999

Major rewrite of PKGBUILD for TeX Live 2010

Now uses package() function
Patches for poppler and libpng no longer needed
PKGBUILD simplified due to improvements in sourceball creation scripts
Updated texmf.cnf
We now use /etc/texmf as TEXMFSYSCONFIG and /var/lib/texmf as TEXMFSYSVAR

Modified:
  texlive-bin/trunk/PKGBUILD
  texlive-bin/trunk/texmf.cnf
Deleted:
  texlive-bin/trunk/libpng14.patch
  texlive-bin/trunk/luatex-0.50-poppler.patch

---------------------------+
 PKGBUILD                  |  431 ++++++++++++++++++--------------------------
 libpng14.patch            |   44 ----
 luatex-0.50-poppler.patch |   44 ----
 texmf.cnf                 |  145 +++++++-------
 4 files changed, 257 insertions(+), 407 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2010-06-25 08:00:15 UTC (rev 83998)
+++ PKGBUILD	2010-06-25 09:02:27 UTC (rev 83999)
@@ -1,41 +1,34 @@
-# $Id$
-# Maintainer: francois at archlinux dot org
+# Maintainer: francois <francois.archlinux.org>
 
 pkgname=texlive-bin
-pkgver=2009.5
-pkgrel=5
+pkgver=2010.0
+pkgrel=1
 pkgdesc="TeX Live binaries"
 license=('GPL')
 arch=('i686' 'x86_64')
-depends=('t1lib' 'gd' 'libsigsegv' 'poppler>=0.14.0')
-makedepends=('clisp' 'ffcall')
+depends=('t1lib' 'gd' 'libgraphite' 'icu' 'poppler' 'libsigsegv')
+makedepends=('perl' 'clisp' 'ffcall')
+provides=('lcdf-typetools' 'kpathsea' 'xindy')
 options=('!makeflags' '!libtool')
 url='http://tug.org/texlive/'
-source=('texmf.cnf' 
-        'ftp://ftp.archlinux.org/other/texlive/texlive-bin-source-20100112.tar.xz'
-        'ftp://ftp.archlinux.org/other/texlive/texlive-bin-texmf-20100112.tar.xz'
-        'http://foundry.supelec.fr/gf/download/frsrelease/364/1424/luatex-beta-0.50.0.tar.bz2'
+source=('texmf.cnf'
         'fix-fontforge-encoding.patch'
-        'luatex-0.50-poppler.patch' libpng14.patch)
-md5sums=('04aff1501d9a8418903dd7342b6db87f' 'bed5410ff12bb62da1064b306af0baa2'\
-         '8c4eb9b70a3abc86339c285b01439e1f' '125a21f67ff54440606660306106d331'\
-         'bfb9716aa00c86c08cd31e5b32edeb98' 'c5c12aa500e54286b30db0dbb28d4e81'\
-         '20135b3f569477a58fbdd96b6b498943')
-sha1sums=('98806c7e48db2da9ac9092d1e729b3bf316408df' 'f1b2557d00bb557a752509e71ca87b6020db3e5f'\
-         '5eef8f36bc3d8007cdf08fccfe38954fae9c619a' '9fd23438c546b27e6be725bb900cd083fa5b2056'\
-         '5301263529702ccfda0adb3706f461888dea22eb' 'e7a3110fa13a232b85305a01444aae11cf672956'\
-         '985c574fbf7d9d5cc7fcfa08d5ffeda70f34fbbf')
-backup=(usr/share/texmf/web2c/texmf.cnf \
-	usr/share/texmf-config/web2c/mktex.cnf \
-	usr/share/texmf-config/web2c/updmap.cfg \
-	usr/share/texmf-config/web2c/fmtutil.cfg \
-	usr/share/texmf-config/tex/generic/config/language.dat \
-	usr/share/texmf-config/tex/generic/config/pdftexconfig.tex \
-	usr/share/texmf-config/ttf2pk/ttf2pk.cfg \
-	usr/share/texmf-config/dvips/config/config.ps \
-	usr/share/texmf-config/dvipdfm/dvipdfmx.cfg \
-	usr/share/texmf-config/dvipdfm/config/config \
-	usr/share/texmf-config/xdvi/XDvi)
+        'ftp://ftp.archlinux.org/other/texlive/texlive-bin-source-20100623.tar.xz'
+        'ftp://ftp.archlinux.org/other/texlive/texlive-bin-texmf-20100623.tar.xz')
+backup=(etc/texmf/web2c/texmf.cnf \
+  etc/texmf/chktex/chktexrc \
+	etc/texmf/web2c/mktex.cnf \
+	etc/texmf/web2c/updmap.cfg \
+	etc/texmf/web2c/fmtutil.cnf \
+	etc/texmf/tex/generic/config/language.dat \
+	etc/texmf/tex/generic/config/language.def \
+	etc/texmf/tex/generic/config/pdftexconfig.tex \
+	etc/texmf/ttf2pk/ttf2pk.cfg \
+	etc/texmf/dvips/config/config.ps \
+	etc/texmf/dvipdfmx/dvipdfmx.cfg \
+	etc/texmf/dvipdfm/config/config \
+	etc/texmf/xdvi/XDvi)
+
 build() {
    if [ "${CARCH}" = "x86_64" ]; then
      export CFLAGS="${CFLAGS} -fPIC"
@@ -43,145 +36,142 @@
    fi
 
    cd $srcdir
+   # this patch removes spurious error message with locale "xx_YY.utf8"
+   patch -p0 -i fix-fontforge-encoding.patch || return 1
 
-   patch -p0 < libpng14.patch
-
-   install -m755 -d $pkgdir/usr/share
-   cp -r texmf $pkgdir/usr/share/
-
-   ### provisory: we configure and build luatex 0.50 separately, because 
-   # it is needed for latest ConTeXT in texlive-core, but it fails to build
-   # when integrated in the texlive build tree
-   cd luatex-beta-0.50.0
-   patch -p0 -i ../fix-fontforge-encoding.patch
-   patch -p1 -i ../luatex-0.50-poppler.patch
-   mkdir build
-   cd build
-   ../source/configure --prefix=/usr \
-    --enable-cxx-runtime-hack \
-    --disable-afm2pl \
-    --disable-aleph \
-    --disable-bibtex \
-    --disable-bibtex8 \
-    --disable-cfftot1 \
-    --disable-cjkutils \
-    --disable-detex \
-    --disable-devnag \
-    --disable-dialog \
-    --disable-dtl \
-    --disable-dump-share \
-    --disable-dvi2tty \
-    --disable-dvidvi \
-    --disable-dviljk \
-    --disable-dvipdfm \
-    --disable-dvipdfmx \
-    --disable-dvipos \
-    --disable-dvipsk \
-    --disable-gsftopk \
-    --disable-lacheck \
-    --disable-lcdf-typetools \
-    --disable-makeindexk \
-    --disable-mf \
-    --disable-mmafm \
-    --disable-mmpfb \
-    --disable-musixflx \
-    --disable-otfinfo \
-    --disable-otftotfm \
-    --disable-pdfopen \
-    --disable-pdftex \
-    --disable-ps2eps \
-    --disable-ps2pkm \
-    --disable-psutils \
-    --disable-seetexk \
-    --disable-t1dotlessj \
-    --disable-t1lint \
-    --disable-t1rawafm \
-    --disable-t1reencode \
-    --disable-t1testpage \
-    --disable-t1utils \
-    --disable-tex \
-    --disable-tex4htk \
-    --disable-tpic2pdftex \
-    --disable-ttf2pk \
-    --disable-ttfdump \
-    --disable-ttftotype42 \
-    --disable-vlna \
-    --disable-web-progs \
-    --disable-xdv2pdf \
-    --disable-xdvipdfmx \
-    --without-system-kpathsea \
-    --with-system-freetype2 \
-    --with-system-xpdf \
-    --with-freetype2-libdir=/usr/lib \
-    --with-freetype2-include=/usr/include/freetype2 \
-    --with-system-gd \
-    --with-system-libpng \
-    --without-system-teckit \
-    --with-system-zlib \
-    --with-system-t1lib \
-    --disable-shared \
-    --disable-largefile \
-    --disable-ipc \
-    --without-mf-x-toolkit \
-    --without-x
-   make
-
-   ## install luatex binary
-   install -d -m755 $pkgdir/usr/bin
-   install -m755 texk/web2c/luatex $pkgdir/usr/bin/
-   cd $pkgdir/usr/bin
-   /bin/ln -s luatex texlua
-   cd $srcdir
-   ##################################
-   # TODO don't forget to remove --disable-luatex below 
-   # once luatex is updated in TeXLive...
-
+   #############################################################
+   ### configure
    cd source
    ## prevent compiling Xdvi with libXp
    sed -i~ 's|-lXp ||' texk/xdvik/configure
    test ! -d Work && mkdir Work
    cd Work
    echo "--> Initial configuration..."
+   # we use temporary prefix to avoid messing the existing $pkgdir/usr/share/texmf tree
    ../configure --prefix=/usr \
-    --datarootdir=$pkgdir/usr/share \
-    --datadir=$pkgdir/usr/share \
-    --mandir=$pkgdir/usr/share/man \
-    --disable-native-texlive-build \
-    --with-tex-banner="TeX Live 2009/Arch Linux" \
-    --disable-multiplatform \
-    --disable-dialog \
-    --disable-psutils \
-    --disable-t1utils \
-    --disable-xz \
-    --with-system-zlib \
-    --with-system-pnglib \
-    --with-system-ncurses \
-    --with-system-t1lib \
-    --with-system-gd \
-    --with-system-xpdf \
-    --with-system-freetype2 \
-    --with-freetype2-libdir=/usr/lib \
-    --with-freetype2-include=/usr/include/freetype2 \
-    --with-xdvi-x-toolkit=xaw \
-    --disable-dump-share  \
-    --disable-aleph \
-    --disable-luatex \
-    --without-graphite \
-    --enable-xindy
+     --datarootdir=$srcdir/inst/usr/share \
+     --datadir=$srcdir/inst/usr/share \
+     --mandir=$srcdir/inst/usr/share/man \
+     --disable-native-texlive-build \
+     --with-tex-banner="TeX Live 2010/Arch Linux" \
+     --disable-multiplatform \
+     --disable-dialog \
+     --disable-psutils \
+     --disable-t1utils \
+     --disable-xz \
+     --with-system-icu \
+     --with-system-zlib \
+     --with-system-pnglib \
+     --with-system-ncurses \
+     --with-system-t1lib \
+     --with-system-gd \
+     --with-system-xpdf \
+     --with-system-freetype2 \
+     --with-system-graphite \
+     --with-freetype2-libdir=/usr/lib \
+     --with-freetype2-include=/usr/include/freetype2 \
+     --with-xdvi-x-toolkit=xaw \
+     --disable-dump-share \
+     --disable-aleph \
+     --enable-xindy --disable-xindy-rules --disable-xindy-docs || return 1
    #############################################################
-   #############################################################
+   ### make
    echo "-------------------------------------------------------"
    echo "--> Building the whole beast ..."
-   make
+   echo "-------------------------------------------------------"
+   make || return 1
+}
+
+package() {
+   cd $srcdir
    #############################################################
+   ### install texmf tree
+   echo "-------------------------------------------------------"
+   echo "--> installing the texmf tree"
+   echo "-------------------------------------------------------"
+   install -m755 -d $pkgdir/usr/share || return 1
+   cp -r texmf $pkgdir/usr/share/ || return 1
+   install -d -m755 $pkgdir/etc/texmf/web2c
+   install -d -m755 $pkgdir/etc/texmf/chktex
+   install -d -m755 $pkgdir/etc/texmf/dvips/config
+   install -d -m755 $pkgdir/etc/texmf/dvipdfm/config
+   install -d -m755 $pkgdir/etc/texmf/dvipdfmx
+   install -d -m755 $pkgdir/etc/texmf/tex/generic/config
+   install -d -m755 $pkgdir/etc/texmf/ttf2pk
+   install -d -m755 $pkgdir/etc/texmf/xdvi
+   # replace upstream texmf.cnf with ours
+   rm -f $pkgdir/usr/share/texmf/web2c/texmf.cnf
+   install -m644 $srcdir/texmf.cnf $pkgdir/etc/texmf/web2c/texmf.cnf || return 1
+   # since the location of texmf.cnf is hard-wired to be under /usr/share/texmf/web2c
+   # we make a symlink from /etc/texmf/web2c/texmf.cnf to the latter
+   ln -s /etc/texmf/web2c/texmf.cnf $pkgdir/usr/share/texmf/web2c/texmf.cnf || return 1
+   ## remove aleph from fmtutil.cnf
+   sed -i -e '/aleph/d' $pkgdir/usr/share/texmf/web2c/fmtutil.cnf || return 1
+   # move man files to /usr/share/man
+   for i in 1 5; do
+     install -d -m755 $pkgdir/usr/share/man/man$i
+     mv $pkgdir/usr/share/texmf/doc/man/man$i/*.$i $pkgdir/usr/share/man/man$i/
+   done
+   # move info files to /usr/share/info
+   install -d -m755 $pkgdir/usr/share/info
+   mv $pkgdir/usr/share/texmf/doc/info/*.info $pkgdir/usr/share/info/
+   rm -rf $pkgdir/usr/share/texmf/doc/{man,info}
+   # move xindy modules to /usr/share/xindy
+   mv $pkgdir/usr/share/texmf/xindy $pkgdir/usr/share/
+   # copy config files to $TEXMFCONFIG tree
+   cp -a $pkgdir/usr/share/texmf/chktex/chktexrc \
+     	$pkgdir/etc/texmf/chktex/
+   cp -a $pkgdir/usr/share/texmf/web2c/mktex.cnf \
+   	  $pkgdir/etc/texmf/web2c/
+   cp -a $pkgdir/usr/share/texmf/web2c/updmap.cfg \
+   	  $pkgdir/etc/texmf/web2c/
+   cp -a $pkgdir/usr/share/texmf/web2c/fmtutil.cnf \
+   	  $pkgdir/etc/texmf/web2c/
+   cp -a $pkgdir/usr/share/texmf/dvips/config/config.ps \
+   	  $pkgdir/etc/texmf/dvips/config/
+   cp -a $pkgdir/usr/share/texmf/dvipdfm/config/config \
+   	  $pkgdir/etc/texmf/dvipdfm/config/
+   cp -a $pkgdir/usr/share/texmf/dvipdfmx/dvipdfmx.cfg \
+   	  $pkgdir/etc/texmf/dvipdfmx/
+   cp -a $pkgdir/usr/share/texmf/tex/generic/config/pdftexconfig.tex \
+   	  $pkgdir/etc/texmf/tex/generic/config/
+   cp -a $pkgdir/usr/share/texmf/tex/generic/config/language.dat \
+   	  $pkgdir/etc/texmf/tex/generic/config/
+   cp -a $pkgdir/usr/share/texmf/tex/generic/config/language.def \
+   	  $pkgdir/etc/texmf/tex/generic/config/
+   cp -a $pkgdir/usr/share/texmf/ttf2pk/ttf2pk.cfg \
+   	  $pkgdir/etc/texmf/ttf2pk/
+   cp -a $pkgdir/usr/share/texmf/xdvi/XDvi \
+   	  $pkgdir/etc/texmf/xdvi/
+   # remove TL specific warnings in the language.{dat,def} files:
+   sed -i -e '/DO NOT EDIT/,+3 d' $pkgdir/etc/texmf/tex/generic/config/language.*
+   # clean updmap.cfg
+   sed -i '/^\(Map\|MixedMap\)/d' $pkgdir/etc/texmf/web2c/updmap.cfg
+   sed -i '/^#! \(Map\|MixedMap\)/d' $pkgdir/etc/texmf/web2c/updmap.cfg
 
-   ### fixes for xindy
-   find utils/xindy -name Makefile -exec sed -i -e "s|^prefix =.\+$|prefix = $pkgname/usr|" -e "s|^mandir =.\+$|mandir = \${prefix}/share/man|" -e "s|^datadir =.\+$|datadir = \${datarootdir}/texmf|" -e "s|^docdir =.\+$|docdir = \${datadir}/doc/xindy|" '{}' \;
+   #############################################################
+   ### install
+   cd source
+   # fixes for xindy
+   find utils/xindy -name Makefile -exec sed -i -e "s|^prefix =.\+$|prefix = $pkgdir/usr|" -e "s|^mandir =.\+$|mandir = \${prefix}/share/man|" -e "s|^datadir =.\+$|datadir = \${datarootdir}/texmf|" -e "s|^docdir =.\+$|docdir = \${datadir}/doc/xindy|" '{}' \; || return 1
+
    echo "-------------------------------------------------------"
    echo "--> Proceeding with make install ..."
-   install -d -m755 $pkgdir/usr/share/man/man5
-   make prefix=$pkgdir/usr texmf=$pkgdir/usr/share/texmf install
    echo "-------------------------------------------------------"
+   cd Work
+   make prefix=$srcdir/inst/usr texmf=$pkgdir/usr/share/texmf install || return 1
+
+   # restore install location of bin/lib/include
+   mv -f $srcdir/inst/usr/bin $pkgdir/usr/bin || return 1
+   mv -f $srcdir/inst/usr/lib $pkgdir/usr/lib || return 1
+   mv -f $srcdir/inst/usr/include $pkgdir/usr/include || return 1
+   # add symlinks to manpages since they are not included in the original texmf tree
+   for m in $srcdir/inst/usr/share/man/man1/*; do
+     bm=$(basename $m)
+     test -f $pkgdir/usr/share/man/man1/$bm || mv -f $m $pkgdir/usr/share/man/man1/
+   done
+
+   # symlinks in $pkgdir/usr/bin are incorrect
    echo "--> Fixing symlinks for scripts ..."
    for f in $pkgdir/usr/bin/* ; do
 	   if [ -L $f ]; then
@@ -195,103 +185,48 @@
 	   fi
    done
 
-   ## create symlinks for formats 
+   # create symlinks for formats 
    echo "--> Create symlinks for TeX formats ..."
-   PATH="$PATH:${pkgdir}/usr/bin" texlinks -f $pkgdir/usr/share/texmf/web2c/fmtutil.cnf $pkgdir/usr/bin/
+   PATH="$PATH:${pkgdir}/usr/bin" texlinks -f $pkgdir/usr/share/texmf/web2c/fmtutil.cnf $pkgdir/usr/bin/ || return 1
    #############################################################
-   
-   ## CLEAN UP... 
-   echo "--> ...Cleaning up installation"
-   # remove tlmgr from PATH
-   rm -f $pkgdir/usr/bin/tlmgr
-   # spurious symlink
-   rm -f $pkgdir/usr/bin/man
-
-   # remove symlinks to scripts that are not in texlive-core:
-   for s in cachepic ht htcontext htlatex htmex httex httexi htxelatex htxetex mk4ht \
-     mkgrkindex epspdftk pst2pdf epspdf ulqda ebong makeglossaries \
-     pdfannotextractor perltex pdfthumb ppower4 ps4pdf splitindex svn-multi vpe; do
-     rm $pkgdir/usr/bin/$s
+   # remove symlinks to scripts that are not in texlive-bin or texlive-core:
+   SYMLINKS_TO_REMOVE="authorindex \
+ebong \
+bibexport \
+cachepic \
+epspdf \
+epspdftk \
+epstopdf \
+fig4latex \
+makeglossaries \
+mathspic \
+mkgrkindex \
+pdfannotextractor \
+perltex \
+pdfthumb \
+ppower4 \
+pst2pdf \
+ps4pdf \
+splitindex \
+svn-multi \
+htcontext \
+htlatex \
+htmex \
+ht \
+httexi \
+httex \
+htxelatex \
+htxetex \
+mk4ht \
+ulqda \
+vpe"
+   for s in $SYMLINKS_TO_REMOVE; do
+     rm -f $pkgdir/usr/bin/$s
    done
-   
-   # the mandirs contain Makefiles ...
-   find $pkgdir -name Makefile -delete
-
-   rm -f $pkgdir/usr/share/texmf/scripts/texlive/*-{win32,w32}*
-   rm -rf $pkgdir/usr/share/texmf/scripts/tlgs
-   rm -rf $pkgdir/usr/share/texmf/asymptote
-
-   # make install targets are somewhat chaotic :)
-   mv -n  $pkgdir/usr/texmf/* $pkgdir/usr/share/texmf/
-   mv -n  $pkgdir/usr/texmf-dist/* $pkgdir/usr/share/texmf/
-   rm -rf $pkgdir/usr/{texmf,texmf-dist}
-   rmdir  $pkgdir/usr/share/lcdf-typetools
-
-   # most man files went to two different places:
-   for i in 1 5; do
-	   # remove pdf versions of manpages:
-     rm -f $pkgdir/usr/share/texmf/doc/man/man$i/*.pdf
-     # move to 
-     mv -n $pkgdir/usr/share/texmf/doc/man/man$i/*.$i $pkgdir/usr/share/man/man$i/
-   done
-   # remove all doc (essentially xindy and duplicated man files)
-   rm -rf $pkgdir/usr/share/texmf/doc
-   # those files are also in base, but "make install" duplicated them here:
-   rm -rf $pkgdir/usr/share/texmf/bibtex/
-   # remove files that belong to asymptote
-   rm -rf $pkgdir/usr/share/texmf/tex/latex/asymptote
-   for f in asy xasy; do
-	   rm -f $pkgdir/usr/share/man/man1/$f.1
-   done
-   # remove files that belong to t1utils
-   for f in t1ascii t1asm t1binary t1disasm t1mac t1unmac; do
-	   rm -f $pkgdir/usr/share/man/man1/$f.1
-   done
-   # remove files that belong to psutils
-   for f in epsffit extractres fixdlsrps fixfmps fixmacps fixpsditps fixpspps fixscribeps fixtpps fixwfwps fixwpps fixwwps getafm includeres psbook psmerge psnup psresize psselect pstops; do
-	   rm -f $pkgdir/usr/share/man/man1/$f.1
-   done
-   # remove man files that belong to omega/aleph
-   for f in lambda odvicopy odvitype ofm2opl opl2ofm otp2ocp outocp ovf2ovp ovp2ovf ; do
-	   rm -f $pkgdir/usr/share/man/man1/$f.1
-   done
-   # replace upstream texmf.cnf with ours
-   rm -f $pkgdir/usr/share/texmf/web2c/texmf.cnf
-   install -m644 $srcdir/texmf.cnf $pkgdir/usr/share/texmf/web2c/texmf.cnf
-   ## remove aleph from fmtutil.cnf
-   sed -i -e '/aleph/d' $pkgdir/usr/share/texmf/web2c/fmtutil.cnf
    ###################################################################
-   # copy config files to texmf-config tree
-   install -d -m755 $pkgdir/usr/share/texmf-config/web2c
-   install -d -m755 $pkgdir/usr/share/texmf-config/dvips/config
-   install -d -m755 $pkgdir/usr/share/texmf-config/dvipdfm/config
-   install -d -m755 $pkgdir/usr/share/texmf-config/dvipdfmx
-   install -d -m755 $pkgdir/usr/share/texmf-config/tex/generic/config
-   install -d -m755 $pkgdir/usr/share/texmf-config/xdvi
-   cp -a $pkgdir/usr/share/texmf/web2c/mktex.cnf \
-   	$pkgdir/usr/share/texmf-config/web2c/
-   cp -a $pkgdir/usr/share/texmf/web2c/updmap.cfg \
-   	$pkgdir/usr/share/texmf-config/web2c/
-   cp -a $pkgdir/usr/share/texmf/web2c/fmtutil.cnf \
-   	$pkgdir/usr/share/texmf-config/web2c/
-   cp -a $pkgdir/usr/share/texmf/dvips/config/config.ps \
-   	$pkgdir/usr/share/texmf-config/dvips/config/
-   cp -a $pkgdir/usr/share/texmf/dvipdfm/config/config \
-   	$pkgdir/usr/share/texmf-config/dvipdfm/config/
-   cp -a $pkgdir/usr/share/texmf/dvipdfmx/dvipdfmx.cfg \
-   	$pkgdir/usr/share/texmf-config/dvipdfmx/
-   cp -a $pkgdir/usr/share/texmf/tex/generic/config/pdftexconfig.tex \
-   	$pkgdir/usr/share/texmf-config/tex/generic/config/
-   cp -a $pkgdir/usr/share/texmf/tex/generic/config/language.dat \
-   	$pkgdir/usr/share/texmf-config/tex/generic/config/
-   cp -a $pkgdir/usr/share/texmf/xdvi/XDvi \
-   	$pkgdir/usr/share/texmf-config/xdvi/
-   # clean updmap.cfg
-   sed -i '/^\(Map\|MixedMap\)/d' $pkgdir/usr/share/texmf-config/web2c/updmap.cfg
-   sed -i '/^#! \(Map\|MixedMap\)/d' $pkgdir/usr/share/texmf-config/web2c/updmap.cfg
-   # fix hard-coded paths in xindy.pl
-   sed -i "s|'/.\+/pkg/usr|'/usr|" $pkgdir/usr/share/texmf/scripts/xindy/xindy.pl
-   # move xindy modules to /usr/share/xindy
-   rm -rf $pkgdir/usr/share/xindy
-   mv $pkgdir/usr/share/texmf/xindy $pkgdir/usr/share/
 }
+
+md5sums=('f848bb8e2a87ceef49cfd0eac6b140c9'
+         'bfb9716aa00c86c08cd31e5b32edeb98'
+         'e32fd2e192ec4cba148ed97c712d3c95'
+         '758c144a68b788343462e050ca461a2f')

Deleted: libpng14.patch
===================================================================
--- libpng14.patch	2010-06-25 08:00:15 UTC (rev 83998)
+++ libpng14.patch	2010-06-25 09:02:27 UTC (rev 83999)
@@ -1,44 +0,0 @@
---- source/texk/web2c/xetexdir/pngimage.c.orig	2010-01-20 18:50:16.000000000 -0500
-+++ source/texk/web2c/xetexdir/pngimage.c	2010-01-20 18:56:45.000000000 -0500
-@@ -101,7 +101,7 @@
-   rewind (png_file);
-   if (fread (sigbytes, 1, sizeof(sigbytes), png_file) !=
-       sizeof(sigbytes) ||
--      (!png_check_sig (sigbytes, sizeof(sigbytes))))
-+      (png_sig_cmp (sigbytes, 0, sizeof(sigbytes))))
-     return 0;
-   else
-     return 1;
---- source/texk/dvipdfmx/src/pngimage.c.orig	2010-01-20 19:55:20.000000000 -0500
-+++ source/texk/dvipdfmx/src/pngimage.c	2010-01-20 19:56:39.000000000 -0500
-@@ -148,7 +148,7 @@
-   rewind (png_file);
-   if (fread (sigbytes, 1, sizeof(sigbytes), png_file) !=
-       sizeof(sigbytes) ||
--      (!png_check_sig (sigbytes, sizeof(sigbytes))))
-+      (png_sig_cmp (sigbytes, 0, sizeof(sigbytes))))
-     return 0;
-   else
-     return 1;
---- source/texk/xdvipdfmx/src/pngimage.c.orig	2010-01-20 19:59:18.000000000 -0500
-+++ source/texk/xdvipdfmx/src/pngimage.c	2010-01-20 19:59:53.000000000 -0500
-@@ -146,7 +146,7 @@
-   rewind (png_file);
-   if (fread (sigbytes, 1, sizeof(sigbytes), png_file) !=
-       sizeof(sigbytes) ||
--      (!png_check_sig (sigbytes, sizeof(sigbytes))))
-+      (png_sig_cmp (sigbytes, 0, sizeof(sigbytes))))
-     return 0;
-   else
-     return 1;
---- source/texk/xdvipdfmx/src/xbb.c.orig	2010-01-20 20:45:24.000000000 -0500
-+++ source/texk/xdvipdfmx/src/xbb.c	2010-01-20 20:46:07.000000000 -0500
-@@ -246,7 +246,7 @@
-   unsigned char sigbytes[4];
-   rewind (png_file);
-   if (fread(sigbytes, 1, sizeof(sigbytes), png_file) != sizeof(sigbytes) ||
--      (!png_check_sig (sigbytes, sizeof(sigbytes)))) return 0;
-+      (png_sig_cmp (sigbytes, 0, sizeof(sigbytes)))) return 0;
-   else return 1;
- }             
- 

Deleted: luatex-0.50-poppler.patch
===================================================================
--- luatex-0.50-poppler.patch	2010-06-25 08:00:15 UTC (rev 83998)
+++ luatex-0.50-poppler.patch	2010-06-25 09:02:27 UTC (rev 83999)
@@ -1,44 +0,0 @@
---- luatex-beta-0.50.0/source/texk/web2c/luatexdir/image/pdftoepdf.cc.orig	2009-12-24 19:50:48.000000000 +0100
-+++ luatex-beta-0.50.0/source/texk/web2c/luatexdir/image/pdftoepdf.cc	2010-01-14 08:53:58.086685489 +0100
-@@ -560,7 +560,12 @@
-     int rotate;
-     char *checksum;
-     PDFRectangle *pagebox;
-+#ifdef POPPLER_VERSION
-+    int pdf_major_version_found, pdf_minor_version_found;
-+    float xsize, ysize, xorig, yorig;
-+#else
-     float pdf_version_found, pdf_version_wanted, xsize, ysize, xorig, yorig;
-+#endif
-     assert(idict != NULL);
-     assert(img_type(idict) == IMG_TYPE_PDF);
-     assert(readtype == IMG_CLOSEINBETWEEN);     // only this is implemented
-@@ -583,6 +588,20 @@
-     // this works only for PDF 1.x -- but since any versions of PDF newer
-     // than 1.x will not be backwards compatible to PDF 1.x, pdfTeX will
-     // then have to changed drastically anyway.
-+#ifdef POPPLER_VERSION
-+    pdf_major_version_found = pdf_doc->doc->getPDFMajorVersion();
-+    pdf_minor_version_found = pdf_doc->doc->getPDFMinorVersion();
-+    if ((pdf_major_version_found > 1)
-+     || (pdf_minor_version_found > minor_pdf_version_wanted)) {
-+        const char *msg =
-+            "PDF inclusion: found PDF version <%d.%d>, but at most version <1.%d> allowed";
-+        if (pdf_inclusion_errorlevel > 0) {
-+            pdftex_fail(msg, pdf_major_version_found, pdf_minor_version_found, minor_pdf_version_wanted);
-+        } else {
-+            pdftex_warn(msg, pdf_major_version_found, pdf_minor_version_found, minor_pdf_version_wanted);
-+        }
-+    }
-+#else
-     pdf_version_found = pdf_doc->doc->getPDFVersion();
-     pdf_version_wanted = 1 + (minor_pdf_version_wanted * 0.1);
-     if (pdf_version_found > pdf_version_wanted + 0.01) {
-@@ -594,6 +613,7 @@
-             pdftex_warn(msg, pdf_version_found, pdf_version_wanted);
-         }
-     }
-+#endif
-     img_totalpages(idict) = pdf_doc->doc->getCatalog()->getNumPages();
-     if (img_pagename(idict)) {
-         // get page by name

Modified: texmf.cnf
===================================================================
--- texmf.cnf	2010-06-25 08:00:15 UTC (rev 83998)
+++ texmf.cnf	2010-06-25 09:02:27 UTC (rev 83999)
@@ -1,6 +1,6 @@
-% texmf.cnf -- runtime path configuration file for kpathsea.
+% texmf.cnf for TeXLive/Arch Linux -- runtime path configuration file for kpathsea.
 % Public domain.
-%
+% 
 % What follows is a super-summary of what this .cnf file can
 % contain. Please read the Kpathsea manual for more information.
 %
@@ -61,41 +61,18 @@
 TEXMFLOCAL = /usr/local/share/texmf
 
 % TEXMFSYSVAR, where texconfig-sys stores variable runtime data.
-% With teTeX-3.0 or later, this must be set.
-% For sharing this tree with $TEXMFMAIN:
-%   TEXMFSYSVAR = $TEXMFMAIN
-% For using a separate tree:
-%   TEXMFSYSVAR = /usr/share/texmf-var
-TEXMFSYSVAR = /usr/share/texmf-var
+TEXMFSYSVAR = /var/lib/texmf
 
 % TEXMFSYSCONFIG, where texconfig-sys stores configuration data.
-% With teTeX-3.0 or later, this must be set.
-% For sharing this tree with $TEXMFMAIN:
-%   TEXMFSYSCONFIG = $TEXMFMAIN
-% For using a separate tree:
-%   TEXMFSYSCONFIG = /usr/share/texmf-config
-TEXMFSYSCONFIG = /usr/share/texmf-config
+TEXMFSYSCONFIG = /etc/texmf
 
 % User texmf trees are allowed as follows.
-% This used to be HOMETEXMF.
 TEXMFHOME = ~/texmf
 
 % TEXMFVAR, where texconfig stores variable runtime data.
-% With teTeX-3.0 or later, this must be set.
-% For sharing this tree with $TEXMFMAIN:
-%   TEXMFVAR = $TEXMFMAIN
-% For using a separate tree:
-%   TEXMFVAR = ~/.texmf-var  # teTeX 3.0 default
 TEXMFVAR = ~/.texlive/texmf-var
 
 % TEXMFCONFIG, where texconfig stores configuration data.
-% With teTeX-3.0 or later, this must be set.
-% For sharing this tree with $TEXMFMAIN:
-%   TEXMFCONFIG = $TEXMFMAIN
-% For using a separate tree:
-%   TEXMFCONFIG = ~/.texmf-config  # teTeX 3.0 default
-% For using a separate tree:
-%   TEXMFCONFIG = /usr/share/texmf-config
 TEXMFCONFIG = ~/.texlive/texmf-config
 
 % Now, list all the texmf trees. If you have multiple trees you can
@@ -106,7 +83,7 @@
 % For texconfig to work properly, TEXMFCONFIG and TEXMFVAR should be named
 % explicitly and before all other trees.
 % 
-% TEXMFLOCAL follows TEXMFMAIN (and precedes TEXMFDIST) because the only
+% TEXMFLOCAL follows TEXMFMAIN (and precedes TEXMFDIST) because the
 % files in TEXMFMAIN are tightly coupled with the particular version of
 % the distribution, such as format files.  Overriding them would be more
 % likely to cause trouble than help.  On the other hand, all the
@@ -116,6 +93,14 @@
 % whatever the trees, so try to avoid it).
 TEXMF = {$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST}
 
+% Where to look for ls-R files.  There need not be an ls-R in the
+% directories in this path, but if there is one, Kpathsea will use it.
+% By default, this is only the !! elements of TEXMF, so that mktexlsr
+% does not create ls-R files in the non-!! elements -- because if an
+% ls-R is present, it will be used, and the disk will not be searched.
+% This is arguably a bug in kpathsea.
+TEXMFDBS = {!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$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
 % VARTEXFONTS for generated files, if the original tree isn't writable;
@@ -127,15 +112,6 @@
 % varfonts feature was enabled in MT_FEATURES in mktex.cnf.
 VARTEXFONTS = $TEXMFVAR/fonts
 
-% Where to look for ls-R files.  There need not be an ls-R in the
-% directories in this path, but if there is one, Kpathsea will use it.
-% By default, this is only the !! elements of TEXMF, so that mktexlsr
-% does not create ls-R files in the non-!! elements -- because if an
-% ls-R is present, it will be used, and the disk will not be searched.
-% This is arguably a bug in kpathsea.
-%
-TEXMFDBS = {!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST}
-
 % On some systems, there will be a system tree which contains all the font
 % files that may be created as well as the formats.  For example
 %   TEXMFVAR = /var/lib/texmf
@@ -213,14 +189,14 @@
 TEXINPUTS.pdfxtex       = .;$TEXMF/tex/{plain,generic,}//
 
 % LuaTeX.
-TEXINPUTS.lualatex      = .;$TEXMF/tex/{lualatex,latex,generic,}//
+TEXINPUTS.lualatex      = .;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
 TEXINPUTS.luatex        = .;$TEXMF/tex/{luatex,plain,generic,}//
-TEXINPUTS.pdflualatex   = .;$TEXMF/tex/{lualatex,latex,generic,}//
-TEXINPUTS.pdfluatex     = .;$TEXMF/tex/{luatex,plain,generic,}//
+TEXINPUTS.dvilualatex   = .;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
+TEXINPUTS.dviluatex     = .;$TEXMF/tex/{luatex,plain,generic,}//
 
 % XeTeX.
-TEXINPUTS.xelatex       = .;$TEXMF/tex/{xelatex,latex,generic,}//
-TEXINPUTS.xeplain       = .;$TEXMF/tex/{xeplain,eplain,plain,generic,}//
+TEXINPUTS.xelatex       = .;$TEXMF/tex/{xelatex,latex,xetex,generic,}//
+TEXINPUTS.xeplain       = .;$TEXMF/tex/{xeplain,eplain,plain,xetex,generic,}//
 TEXINPUTS.xetex         = .;$TEXMF/tex/{xetex,plain,generic,}//
 
 
@@ -251,13 +227,6 @@
 MFINPUTS = .;$TEXMF/metafont//;{$TEXMF/fonts,$VARTEXFONTS}/source//
 MPINPUTS = .;$TEXMF/metapost//
 
-% The following are not needed any more here. 
-% Moved to texdoc.cnf (and hard-coded default), see the texdoc manual.
-% See texdoc's source too if you need to allow compressed documentation.
-% TEXDOCSSUFFIX   = ;.pdf;.ps;.dvi;.html;.txt;.tex
-% TEXDOCSCOMPRESS = ;.gz;.bz2;.zip;.Z
-% TEXDOCEXT       = {$TEXDOCSSUFFIX}{$TEXDOCSCOMPRESS}
-
 % Dump files (fmt/base/mem) for vir{tex,mf,mp} to read.
 % We want to find the engine-specific file, e.g., cont-en.fmt can
 % exist under both pdftex/ and xetex/.  But just in case some formats
@@ -389,9 +358,8 @@
 FONTCONFIG_PATH=$TEXMFSYSVAR/fonts/conf
 FC_CACHEDIR=$TEXMFSYSVAR/fonts/cache
 
-% TeX documentation and source files, for use with kpsewhich (and texdoc).
-% Find non-man pages first, better than random in case of conflict.
-TEXDOCS = .;$TEXMF/doc{,/man}//
+% TeX documentation and source files, for use with texdoc and kpsewhich.
+TEXDOCS = $TEXMF/doc//
 TEXSOURCES = .;$TEXMF/source//
 
 % Web and CWeb input paths.
@@ -415,13 +383,20 @@
 TEX4HTFONTSET=alias,iso8859,unicode
 TEX4HTINPUTS = .;$TEXMF/tex4ht/base//;$TEXMF/tex4ht/ht-fonts/{$TEX4HTFONTSET}//
 
+% TeXworks editor configuration and settings
+TW_LIBPATH = $TEXMFCONFIG/texworks
+TW_INIPATH = $TW_LIBPATH
+
 % Find scripts that are distributed/installed in the texmf tree.
 
 % Lua needs to look in TEXINPUTS for lua scripts distributed with packages.
-LUAINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/lua//;$TEXINPUTS
+LUAINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXINPUTS
 
+% Lua needs to look for binary lua libraries distributed with packages.
+CLUAINPUTS = .;$SELFAUTOLOC/lib/{$progname,$engine,}/lua//
+
 % Architecture independent executables.
-TEXMFSCRIPTS = $TEXMF/scripts/{$engine,$progname,}//
+TEXMFSCRIPTS = $TEXMF/scripts/{$progname,$engine,}//
 
 % Other languages.
 JAVAINPUTS   = .;$TEXMF/scripts/{$progname,$engine,}/java//
@@ -447,11 +422,11 @@
 % 
 % For security reasons, it is better not to include . in this path.
 %
-TEXMFCNF = {$SELFAUTOLOC,$SELFAUTODIR,/usr}{,{/share,/local/share,}/texmf/web2c}
+TEXMFCNF = {$SELFAUTOLOC,$SELFAUTODIR,$SELFAUTOPARENT}{,{/share,}/texmf{-local,}/web2c}
 
-# kpathsea 3.5.3 and later sets these at runtime. To avoid empty
-# expansions from binaries linked against an earlier version of the
-# library, we set $progname and $engine to something non-empty:
+% kpathsea 3.5.3 and later sets these at runtime. To avoid empty
+% expansions from binaries linked against an earlier version of the
+% library, we set $progname and $engine to something non-empty:
 progname = unsetprogname
 engine = unsetengine
 
@@ -476,33 +451,40 @@
 try_std_extension_first = t
 
 % Enable system commands via \write18{...}.  When enabled fully (set to
-% 1), obviously insecure.  When enabled partially (set to p), only the
+% t), obviously insecure.  When enabled partially (set to p), only the
 % commands listed in shell_escape_commands are allowed.  Although this
 % is not fully secure either, it is much better, and so useful that we
 % enable it for everything but bare tex.
 shell_escape = p
 
-% Special: convert is the standard command name for ImageMagick, but it
-% is also the name of a dangerous filesystem-changing command on
-% Windows.  So enable imgconvert (used in w32tex), but not convert.
-
 % No spaces in this command list.
+% 
+% The programs listed here are as safe as any we know: they either do
+% not write any output files, respect openout_any, or have hard-coded
+% restrictions similar or higher to openout_any=p.  They also have no
+% features to invoke arbitrary other programs, and no known exploitable
+% bugs.  All to the best of our knowledge.  They also have practical use
+% for being called from TeX.
+% 
 shell_escape_commands = \
-bibtex,bibtex8,epstopdf,epspdf,fc-match,\
-kpsewhich,makeindex,\
-ps2pdf,pstopdf,pygmentize,\
-rpdfcrop,\
+bibtex,bibtex8,\
+kpsewhich,\
+makeindex,\
+repstopdf,\
 
 % we'd like to allow:
 % dvips - but external commands can be executed, need at least -R1.
+% epspdf, ps2pdf, pstopdf - need to respect openout_any,
+%   and gs -dSAFER must be used and check for shell injection with filenames.
 % (img)convert (ImageMagick) - delegates.mgk possible misconfig, besides,
 %   without Unix convert it hardly seems worth it, and Windows convert
-%   is something completely different that destroys filesystems, so
-%   skip it.
+%   is something completely different that destroys filesystems, so skip.
 % pygmentize - but is the filter feature insecure?
 % ps4pdf - but it calls an unrestricted latex.
+% rpdfcrop - maybe ok, but let's get experience with repstopdf first.
 % texindy,xindy - but is the module feature insecure?
 % ulqda - but requires optional SHA1.pm, so why bother.
+% tex, latex, etc. - need to forbid --shell-escape, and inherit openout_any.
 
 % plain TeX should remain unenhanced.
 shell_escape.tex = f
@@ -572,6 +554,10 @@
 %MFEDIT = ${TEXEDIT}
 %MPEDIT = ${TEXEDIT}
 
+% The default `codepage and sort order' file for BibTeX8, when none is
+% given as command line option or environment variable.
+BIBTEX_CSFILE = 88591lat.csf
+
 % 
 Part 3: Array and other sizes for TeX (and Metafont).
 %
 % If you want to change some of these sizes only for a certain TeX
@@ -603,7 +589,7 @@
 extra_mem_bot.context = 4000000
 
 % Words of font info for TeX (total size of all TFM files, approximately).
-% Must be >= 20000 and <= 4000000 (without tex.ch changes).
+% Must be >= 20000 and <= 147483647 (without tex.ch changes).
 font_mem_size = 3000000
 
 % Total number of fonts. Must be >= 50 and <= 9000 (without tex.ch changes).
@@ -634,7 +620,7 @@
 % for all known free hyphenation patterns to be loaded simultaneously
 % (as TeX Live does).
 %
-trie_size = 700000
+trie_size = 1000000
 
 hyph_size = 8191        % prime number of hyphenation exceptions, >610, <32767.
                         % http://primes.utm.edu/curios/page.php/8191.html
@@ -658,3 +644,20 @@
 error_line = 79
 half_error_line = 50
 max_print_line = 79
+
+% Metafont only.
+screen_width.mf = 1664
+screen_depth.mf = 1200
+
+% BibTeX only (max_strings also determines hash_size and hash_prime).
+ent_str_size =  250
+glob_str_size = 5000
+max_strings.bibtex = 35307
+max_strings.bibtex8 = 35307
+max_strings.bibtexu = 35307
+max_strings.pbibtex = 35307
+
+% GFtype only.
+line_length.gftype = 500
+max_rows.gftype = 8191
+max_cols.gftype = 8191




More information about the arch-commits mailing list