# Parabola maintainer: Michał Masłowski # Maintainer: Rémy Oudompheng # Contributor: francois pkgname=texlive-bin-libre pkgver=2011.1 _luatex_ver=0.70.1 pkgrel=3 pkgdesc="TeX Live binaries" license=('GPL') arch=('i686' 'x86_64') depends=('t1lib' 'gd' 'libgraphite' 'poppler' 'libsigsegv' 'zziplib') makedepends=('perl' 'clisp' 'ffcall' 'pkg-config') optdepends=('ed: for texconfig') provides=('lcdf-typetools' 'kpathsea' 'xindy' 'pdfjam' 'texlive-bin') conflicts=('pdfjam' 'texlive-bin') replaces=('texlive-bin') options=('!libtool') url='http://tug.org/texlive/' install="texlive.install" source=('texmf.cnf' 'fix-fontforge-encoding.patch' '09-texlive-fonts.conf' 'archlinux-build.patch' 'http://mirrors.kernel.org/archlinux/other/texlive/texlive-bin-source-20110724.tar.xz' 'http://mirrors.kernel.org/archlinux/other/texlive/texlive-bin-texmf-20110724.tar.xz' # "http://foundry.supelec.fr/gf/download/frsrelease/392/1730/luatex-beta-${_luatex_ver}.tar.bz2" 'http://ftp.archlinux.org/other/texlive/luatex-svn4356.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) md5sums=('ff30d6813babd2e41c414365eea9c147' 'bfb9716aa00c86c08cd31e5b32edeb98' '393a4bf67adc7ca5df2b386759d1a637' '94ef5571a54262790ab64d6d044dd10c' '58e8ab64188eaf15897b7acf472dca9f' '9f7ae1aa24afd9e34289ac10a8f9e87b' 'e7f0197559ef865d8c01683dab3b8526') build() { cd $srcdir # Remove bundled packages available in Parabola or not needed. # TODO remove also icu rm -rf source/{extra/{djgpp,xz},libs/{freetype2,gd,xpdf,libpng,zziplib,zlib,t1lib,poppler,graphite},utils/dialog} rm -rf luatex-beta-0.70.1/source/libs/{libpng,zziplib,zlib,poppler} # Building LuaTeX # cd luatex-beta-${_luatex_ver} cd luatex patch -p0 -i ../fix-fontforge-encoding.patch (cd source && ./texk/web2c/luatexdir/getluatexsvnversion.sh) mkdir build cd build ../source/configure --prefix=/usr -C \ --disable-native-texlive-build \ --with-banner-add="/Parabola GNU/Linux-libre" \ --disable-cxx-runtime-hack \ --disable-all-pkgs \ --disable-dump-share \ --disable-ptex \ --enable-luatex \ --without-system-ptexenc \ --with-system-graphite \ --without-system-icu \ --without-system-kpathsea \ --with-system-freetype2 \ --with-system-xpdf \ --with-system-poppler \ --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-zziplib \ --with-system-t1lib \ --disable-static \ --enable-shared \ --disable-largefile \ --disable-ipc \ --without-mf-x-toolkit \ --without-x make make -C libs/obsdcompat make -C texk/kpathsea make -C texk/web2c luatex cd "$srcdir" # this patch removes spurious error message with locale "xx_YY.utf8" patch -p0 -i fix-fontforge-encoding.patch ############################################################# ### configure cd source patch -Np1 -i ${srcdir}/archlinux-build.patch for _dir in texk/tetex texk/texlive texk/tex4htk \ utils/ps2eps utils/chktex utils/psutils utils/xindy; do (cd ${_dir} && automake) || true done ## 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 -C \ --datarootdir=/usr/share \ --datadir=/usr/share \ --mandir=/usr/share/man \ --disable-native-texlive-build \ --with-banner-add="/Parabola GNU/Linux-libre" \ --disable-multiplatform \ --disable-dialog \ --disable-psutils \ --disable-t1utils \ --disable-bibtexu \ --disable-xz \ --with-system-zlib \ --with-system-zziplib \ --with-system-pnglib \ --with-system-ncurses \ --with-system-t1lib \ --with-system-gd \ --with-system-poppler \ --with-system-xpdf \ --with-system-freetype2 \ --with-system-graphite \ --with-system-icu \ --with-freetype2-libdir=/usr/lib \ --with-freetype2-include=/usr/include/freetype2 \ --with-xdvi-x-toolkit=xaw \ --disable-dump-share \ --disable-aleph \ --disable-luatex \ --with-clisp-runtime=default \ --disable-static \ --enable-shared \ --enable-xindy --disable-xindy-rules --disable-xindy-docs ############################################################# ### make echo "-------------------------------------------------------" echo "--> Building the whole beast ..." echo "-------------------------------------------------------" make } package() { cd $srcdir ############################################################# ### install texmf tree echo "-------------------------------------------------------" echo "--> installing the texmf tree" echo "-------------------------------------------------------" install -m755 -d $pkgdir/usr/share cp -r texmf $pkgdir/usr/share/ 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 install -d -m755 $pkgdir/etc/fonts/conf.avail install -m644 $srcdir/09-texlive-fonts.conf $pkgdir/etc/fonts/conf.avail/ # 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 # 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 # fix location of TEXMFCACHE for luatools sed -i 's#texlive2010#texlive#' $pkgdir/usr/share/texmf/web2c/texmfcnf.lua ## remove aleph from fmtutil.cnf sed -i -e '/aleph/d' $pkgdir/usr/share/texmf/web2c/fmtutil.cnf # 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} # 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 ############################################################# ### 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|" '{}' \; echo "-------------------------------------------------------" echo "--> Proceeding with make install ..." echo "-------------------------------------------------------" cd Work make DESTDIR=${pkgdir} texmf=$pkgdir/usr/share/texmf install rm -rf ${pkgdir}/usr/{texmf,texmf-dist} ## install luatex binary cd $srcdir/luatex/build/texk/web2c ./libtool --mode=install install -m755 luatex $pkgdir/usr/bin/ cd $pkgdir/usr/bin /bin/ln -s luatex texlua /bin/ln -s luatex texluac ## install Perl libraries mkdir -p $pkgdir/usr/share/tlpkg/TeXLive install -m644 ${srcdir}/source/utils/biber/TeXLive/*.pm $pkgdir/usr/share/tlpkg/TeXLive # create symlinks for formats echo "--> Create symlinks for TeX formats ..." LD_PRELOAD="${pkgdir}/usr/lib/libkpathsea.so.6" PATH="$PATH:${pkgdir}/usr/bin" texlinks -f $pkgdir/usr/share/texmf/web2c/fmtutil.cnf $pkgdir/usr/bin/ ############################################################# # remove dangling symlinks _bibtexextra_scripts="bibexport" _core_scripts=" afm2afm arlatex autoinst bundledoc cmap2enc de-macro dviasm epstopdf findhyph font2afm fragmaster installfont-tl latex2man latexdiff latexdiff-vc latexmk latexrevise listings-ext.sh mkjobtexmf mkluatexfontdb mkt1font mptopdf ot2kpx pdf180 pdf270 pdf90 pdfatfi pdfbook pdfcrop pdfflip pdfjam pdfjam-pocketmod pdfjam-slides3up pdfjam-slides6up pdfjoin pdfnup pdfpun pfm2kpx pkfix pkfix-helper purifyeps repstopdf rpdfcrop showglyphs sty2dtx texcount texdef texdiff texdirflatten texloganalyser thumbpdf vpl2ovp vpl2vpl " _htmlxml_scripts="ht htcontext htlatex htmex httex httexi htxelatex htxetex mk4ht" _langextra_scripts="ebong" _langgreek_scripts="mkgrkindex" _latexextra_scripts="authorindex \ makeglossaries \ pdfannotextractor \ pdfthumb \ perltex \ ppower4 \ ps4pdf \ splitindex \ svn-multi \ vpe" _music_scripts="musixtex musixflx" _pictures_scripts="cachepic epspdf epspdftk fig4latex mathspic" _pstricks_scripts="pst2pdf" _science_scripts="ulqda" for s in \ ${_bibtexextra_scripts} \ ${_core_scripts} \ ${_htmlxml_scripts} \ ${_langextra_scripts} \ ${_langgreek_scripts} \ ${_latexextra_scripts} \ ${_music_scripts} \ ${_pictures_scripts} \ ${_pstricks_scripts} \ ${_science_scripts} \ tlmgr; do rm -f $pkgdir/usr/bin/$s done ################################################################### }