diff options
Diffstat (limited to 'abs/extra/texlive-bin/PKGBUILD')
-rw-r--r-- | abs/extra/texlive-bin/PKGBUILD | 381 |
1 files changed, 381 insertions, 0 deletions
diff --git a/abs/extra/texlive-bin/PKGBUILD b/abs/extra/texlive-bin/PKGBUILD new file mode 100644 index 0000000..9c289ab --- /dev/null +++ b/abs/extra/texlive-bin/PKGBUILD @@ -0,0 +1,381 @@ +# $Id$ +# Maintainer: Rémy Oudompheng <remy@archlinux.org> +# Contributor: francois <francois.archlinux.org> + +pkgname=('texlive-bin' 'libsynctex') +pkgver=2017.44590 +pkgrel=10 +license=('GPL') +arch=('x86_64') +makedepends=('cairo' 'pixman' 'graphite' 't1lib' 'gd' 'poppler' + 'libsigsegv' 'zziplib' 'libpng' 'libjpeg' 'freetype2' + 'icu' 'harfbuzz' 'harfbuzz-icu' 'gmp' 'mpfr' 'potrace' 'libpaper' + 'perl' 'clisp' 'ffcall') +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-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 \ + --enable-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 +texindy +texlinks +texliveonfly +texloganalyser +texmfstart +texosquery +texosquery-jre5 +texosquery-jre8 +thumbpdf +typeoutfileinfo +updmap +updmap-sys +updmap-user +vpl2ovp +vpl2vpl +xhlatex +xindy +" + _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.* +} + |