# Maintainer (Arch): Rémy Oudompheng # Contributor (Arch): francois # Maintainer: Omar Vega Ramos # Contributor: André Silva # Contributor: Michał Masłowski # Contributor: Isaac David # Contributor: Denis 'GNUtoo' Carikli # Contrbutor: bill-auger # parabola changes and rationale: # - rebrand for parabola # - pin versioned dependencies to mitigate breakage from Arch's .so bumps # - disable xindy on armv7h pkgname=('texlive-bin' 'libsynctex') pkgver=2020.54586 pkgrel=7 pkgrel+=.parabola2 license=('GPL') arch=('x86_64') arch+=('i686' 'armv7h') makedepends=('git' 'cairo' 'pixman' 'graphite' 't1lib' 'gd' 'poppler' 'libsigsegv' 'zziplib' 'libpng' 'libjpeg' 'freetype2' 'icu' 'harfbuzz' 'harfbuzz-icu' 'gmp' 'mpfr' 'potrace' 'libpaper' 'perl' 'clisp' 'ffcall' 'libxcrypt') [[ "${CARCH}" == 'armv7h' ]] && makedepends=( $(sed -E 's/clisp|ffcall//g' <<<${deps[@]}) ) url='https://tug.org/texlive/' _commit=8e5e0e89d413d09cca133c8966d1a3af8a2ac440 # svn://tug.org/texlive/trunk/Build/source@54586 source=("git+https://github.com/Tex-Live/texlive-source.git#commit=${_commit}") sha256sums=('SKIP') prepare() { cd "$srcdir/texlive-source" # t4ht expects to be un /usr/share/texmf/bin/t4ht (FS#27251) sed -i s/SELFAUTOPARENT/TEXMFROOT/ texk/tex4htk/t4ht.c # pdftex poppler compatibility cp -pv texk/web2c/pdftexdir/pdftoepdf{-poppler0.86.0,}.cc cp -pv texk/web2c/pdftexdir/pdftosrc{-poppler0.83.0,}.cc } build() { cd "$srcdir/texlive-source" ############################################################# ### configure 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="/Parabola GNU/Linux-libre" \ --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 \ $(case "$CARCH" in armv7h ) echo '--disable-xindy --disable-cxx-runtime-hack' ;; x86_64|i686) echo '--enable-xindy --disable-xindy-rules --disable-xindy-docs' ;; esac) ############################################################# ### 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}/texlive-source/Work" make -C texk/web2c DESTDIR="${pkgdir}" \ install-data-am install-libLTLIBRARIES } package_texlive-bin() { pkgdesc="TeX Live binaries" pkgdesc+=" (Parabola rebranded)" depends=('cairo' 'pixman' 'graphite' 't1lib' 'gd' 'poppler' 'libsigsegv' 'zziplib' 'libpng' 'libjpeg' 'freetype2' 'libxcrypt' 'icu' 'harfbuzz' 'harfbuzz-icu' 'gmp' 'mpfr' 'potrace' 'libpaper' 'libsynctex') provides=('lcdf-typetools' 'kpathsea' 'xindy') optdepends=('ed: for texconfig' 'biber: for bibliography processing') options=('!strip') # pin to current 'icu' and 'poppler' libs local poppler_ver=$(pacman -S --print-format='%v' poppler) depends+=('libicui18n.so' 'libicuuc.so' "poppler=${poppler_ver}") cd "$srcdir/texlive-source" ############################################################# ### install # 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 luahbtex "${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 bib2gls bibdoiadd bibexport bibmradd biburl2doi bibzbladd convertgls2bib listbib ltx2crossrefxml multibibliography urlbst " _core_scripts=" a2ping a5toa4 adhocfilelist afm2afm allcm allec allneeded arara arlatex autoinst bundledoc checkcites checklistings chklref chkweb cjk-gs-integrate cluttex cllualatex clxelatex context contextjit ctanbib ctanify ctanupload ctan-o-mat de-macro depythontex deweb dosepsbin dtxgen dvi2fax dviasm dviinfox dvired e2pall epstopdf findhyph fmtutil fmtutil-sys fmtutil-user fontinst fragmaster ht htcontext htlatex htmex httex httexi htxelatex htxetex installfont-tl jfmutil ketcindy kpsepath kpsetool kpsewhere kpsexpand latex-git-log latex-papersize latex2man latex2nemeth latexdef latexdiff latexdiff-vc latexfileversion latexindent latexmk latexpand latexrevise listings-ext.sh ltxfileinfo ltximg luaotfload-tool luatools lwarpmk make4ht match_parens mf2pt1 mk4ht mkjobtexmf mkt1font mktexfmt mktexlsr mktexmf mktexpk mktextfm mptopdf mtxrun mtxrunjit ot2kpx pamphletangler pdfatfi pdfbook2 pdfcrop pdfjam pdflatexpicscale pdftex-quiet 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 texhash texindy texlinks texliveonfly texloganalyser texmfstart texosquery texosquery-jre5 texosquery-jre8 texplate thumbpdf tlcockpit tlshell typeoutfileinfo updmap updmap-sys updmap-user vpl2ovp vpl2vpl xhlatex xindex $( [[ "$CARCH" != "armv7h" ]] && echo '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 l3build makedtx makeglossaries makeglossaries-lite pdfannotextractor perltex ps4pdf splitindex svn-multi vpe webquiz wordcount 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.* }