# $Id$ # Maintainer: Rémy Oudompheng # Contributor: francois # ALARM: Kevin Mihelich # -fPIC for v6 and v7 # --disable-xindy, remove xindy stuff, segfaults with clisp # --disable-cxx-runtime-hack # drop clisp and ffcall makedepends pkgname=('texlive-bin' 'libsynctex') pkgver=2017.44590 pkgrel=5 license=('GPL') arch=('i686' 'x86_64') makedepends=('cairo' 'pixman' 'graphite' 't1lib' 'gd' 'poppler' 'libsigsegv' 'zziplib' 'libpng' 'libjpeg' 'freetype2' 'icu' 'harfbuzz' 'harfbuzz-icu' 'gmp' 'mpfr' 'potrace' 'libpaper' 'perl') url='http://tug.org/texlive/' source=("http://mirrors.kernel.org/archlinux/other/texlive/texlive-bin-source-${pkgver}.tar.xz" "luatex-gcc7.patch" "texlive-poppler-0.59.patch") sha256sums=('4645b4d55fc500ba9be7156a6a330afb44fbf7fda40dfd73fe9cb16d207f2038' 'ee97f3e07e235dee4ad6d0c3e85c2260914c965e94d5ffbf481fa506df5f01ec' '76bc0528da33b1f980f85464c95d00736d9997ba7f8d11475c88f03e099e91b0') prepare() { cd "$srcdir/source" # t4ht expects to be un /usr/share/texmf/bin/t4ht (FS#27251) sed -i s/SELFAUTOPARENT/TEXMFROOT/ texk/tex4htk/t4ht.c ## prevent compiling Xdvi with libXp sed -i~ 's|-lXp ||' texk/xdvik/configure # Luatex crashes when compiled with GCC7.1 patch -Np0 -i "${srcdir}/luatex-gcc7.patch" # Poppler 0.58 introduces API changes by hiding internal object # management. patch -Np1 -i "${srcdir}/texlive-poppler-0.59.patch" } build() { cd "$srcdir" ############################################################# ### configure cd source mkdir -p Work cd Work echo "--> Initial configuration..." # we use temporary prefix to avoid messing the existing # $pkgdir/usr/share/texmf tree ../configure --prefix=/usr -C \ --sysconfdir=/etc \ --datarootdir=/usr/share \ --datadir=/usr/share \ --mandir=/usr/share/man \ --disable-native-texlive-build \ --with-banner-add="/Arch Linux" \ --disable-cxx-runtime-hack \ --disable-multiplatform \ --disable-dialog \ --disable-psutils \ --disable-t1utils \ --disable-bibtexu \ --disable-xz \ --enable-shared \ --disable-static \ --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-pixman \ --with-system-cairo \ --with-system-harfbuzz \ --with-system-graphite \ --with-system-icu \ --with-system-gmp \ --with-system-mpfr \ --with-system-potrace \ --with-system-libpaper \ --with-freetype2-libdir=/usr/lib \ --with-freetype2-include=/usr/include/freetype2 \ --with-xdvi-x-toolkit=xaw \ --disable-dump-share \ --disable-aleph \ --enable-luatex \ --with-clisp-runtime=default \ --disable-xindy --disable-xindy-rules --disable-xindy-docs ############################################################# ### make echo "-------------------------------------------------------" echo "--> Building the whole beast ..." echo "-------------------------------------------------------" make } package_libsynctex() { pkgdesc='Library for synchronization between TeX files and resulting file' depends=('glibc' 'zlib') cd "${srcdir}/source/Work" make -C texk/web2c DESTDIR="${pkgdir}" \ install-data-am install-libLTLIBRARIES } package_texlive-bin() { pkgdesc="TeX Live binaries" depends=('cairo' 'pixman' 'graphite' 't1lib' 'gd' 'poppler' 'libsigsegv' 'zziplib' 'libpng' 'libjpeg' 'freetype2' 'icu' 'harfbuzz' 'harfbuzz-icu' 'gmp' 'mpfr' 'potrace' 'libpaper' 'libsynctex') provides=('lcdf-typetools' 'kpathsea' 'xindy') optdepends=('ed: for texconfig' 'biber: for bibliography processing') options=('!strip') cd "$srcdir" ############################################################# ### 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,share/texmf-dist} ## symlink engines by hand. texlinks has moved to texlive-core... mkdir -p ${pkgdir}/usr/bin ln -s eptex ${pkgdir}/usr/bin/platex ln -s euptex ${pkgdir}/usr/bin/uplatex ln -s luatex ${pkgdir}/usr/bin/dvilualatex ln -s luatex ${pkgdir}/usr/bin/dviluatex ln -s luatex ${pkgdir}/usr/bin/lualatex ln -s pdftex ${pkgdir}/usr/bin/amstex ln -s pdftex ${pkgdir}/usr/bin/cslatex ln -s pdftex ${pkgdir}/usr/bin/csplain ln -s pdftex ${pkgdir}/usr/bin/eplain ln -s pdftex ${pkgdir}/usr/bin/etex ln -s pdftex ${pkgdir}/usr/bin/jadetex ln -s pdftex ${pkgdir}/usr/bin/latex ln -s tex ${pkgdir}/usr/bin/lollipop ln -s pdftex ${pkgdir}/usr/bin/mex ln -s pdftex ${pkgdir}/usr/bin/mllatex ln -s pdftex ${pkgdir}/usr/bin/mltex ln -s pdftex ${pkgdir}/usr/bin/pdfetex ln -s pdftex ${pkgdir}/usr/bin/pdfcslatex ln -s pdftex ${pkgdir}/usr/bin/pdfcsplain ln -s pdftex ${pkgdir}/usr/bin/pdfjadetex ln -s pdftex ${pkgdir}/usr/bin/pdflatex ln -s pdftex ${pkgdir}/usr/bin/pdfmex ln -s pdftex ${pkgdir}/usr/bin/pdfxmltex ln -s pdftex ${pkgdir}/usr/bin/texsis ln -s pdftex ${pkgdir}/usr/bin/utf8mex ln -s pdftex ${pkgdir}/usr/bin/xmltex ln -s xetex ${pkgdir}/usr/bin/xelatex ############################################################# # remove dangling symlinks _bibtexextra_scripts=" bbl2bib bibdoiadd bibexport bibmradd bibzbladd listbib ltx2crossrefxml multibibliography urlbst " _core_scripts=" a2ping a5toa4 adhocfilelist afm2afm allcm allec allneeded arara arlatex autoinst bundledoc checkcites checklistings chkweb cjk-gs-integrate context contextjit ctanify ctanupload de-macro depythontex deweb dosepsbin dtxgen dvi2fax dviasm dvired e2pall epstopdf findhyph fmtutil fmtutil-sys fmtutil-user fontinst fragmaster ht htcontext htlatex htmex httex httexi htxelatex htxetex installfont-tl kpsepath kpsetool kpsewhere kpsexpand latex-git-log latex-papersize latex2man latex2nemeth latexdiff latexdiff-vc latexfileversion latexindent latexmk latexpand latexrevise listings-ext.sh ltxfileinfo ltximg lua2dox_filter luaotfload-tool luatools lwarpmk make4ht match_parens mf2pt1 mk4ht mkjobtexmf mkt1font mktexfmt mptopdf mtxrun mtxrunjit ot2kpx pdf180 pdf270 pdf90 pdfatfi pdfbook pdfbook2 pdfcrop pdfflip pdfjam pdfjam-pocketmod pdfjam-slides3up pdfjam-slides6up pdfjoin pdflatexpicscale pdfnup pdfpun pdfxup pfarrei pkfix pkfix-helper ps2eps ps2frag pslatex purifyeps pythontex repstopdf rpdfcrop rungs simpdftex srcredact sty2dtx tex4ebook texconfig texconfig-dialog texconfig-sys texcount texdef texdiff texdirflatten texdoc texdoctk texexec texfot texlinks texliveonfly texloganalyser texmfstart texosquery texosquery-jre5 texosquery-jre8 thumbpdf typeoutfileinfo updmap updmap-sys updmap-user vpl2ovp vpl2vpl xhlatex " _games_scripts="rubikrotation" _humanities_scripts="diadia" _langcyrillic_scripts="rubibtex rumakeindex" _langextra_scripts="ebong" _langgreek_scripts="mkgrkindex" _langjapanese_scripts="convbkmk ptex2pdf kanji-fontmap-creator kanji-config-updmap kanji-config-updmap-sys kanji-config-updmap-user " _langkorean_scripts="jamo-normalize komkindex ttf2kotexfont" _latexextra_scripts=" authorindex exceltex makedtx makeglossaries makeglossaries-lite pdfannotextractor perltex ps4pdf splitindex svn-multi vpe yplan" _music_scripts="lily-glyph-commands lily-image-commands lily-rebuild-pdfs m-tx musixtex musixflx pmxchords" _pictures_scripts=" cachepic epspdf epspdftk fig4latex getmapdl mathspic mkpic pn2pdf" _pstricks_scripts="pedigree pst2pdf" _science_scripts="pygmentex ulqda" for s in \ ${_bibtexextra_scripts} \ ${_core_scripts} \ ${_games_scripts} \ ${_htmlxml_scripts} \ ${_humanities_scripts} \ ${_langcyrillic_scripts} \ ${_langextra_scripts} \ ${_langgreek_scripts} \ ${_langjapanese_scripts} \ ${_langkorean_scripts} \ ${_latexextra_scripts} \ ${_music_scripts} \ ${_pictures_scripts} \ ${_pstricks_scripts} \ ${_science_scripts} \ tlmgr; do ! readlink -e "$pkgdir"/usr/bin/$s && rm "$pkgdir"/usr/bin/$s done ################################################################### # remove libsynctex rm -f "$pkgdir"/usr/include/synctex/* rm -f "$pkgdir"/usr/lib/libsynctex.* rm -f "$pkgdir"/usr/lib/pkgconfig/synctex.pc rm -f "$pkgdir"/usr/share/man/man*/synctex.* }