# 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 # parabola changes and rationale: # - rebranded to parabola # - versioned dependencies to mitigate breakage from Arch's .so bumps # - diable xindy on armv7h pkgname=('texlive-bin' 'libsynctex') pkgver=2019.51075 pkgrel=6 pkgrel+=.par1 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') makedepends_x86_64=('clisp' 'ffcall') makedepends_i686=('clisp' 'ffcall') url='https://tug.org/texlive/' _commit=74c2495978a4a84ffae10252c0fd244f1140228e # texlive-2019.2 r51075 source=("git+https://github.com/Tex-Live/texlive-source.git#commit=${_commit}" "pdftex-poppler0.76.patch" texlive-poppler-0.83.patch texlive-poppler-0.84.patch) sha256sums=('SKIP' '5da9f5356ca14d950c222108b431baaf5c27667460ffab9597b29ef11b426c0f' 'ae68858b3ed60f6ef49cf29f31f601d0660908551484afe86283bc6054e9d9f8' '4a4ff82c85cecafc5bbf544e568d80022e9456c3223648fa8d64e699526646c5') 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 (upstream patches) patch -Np1 -i "$srcdir/pdftex-poppler0.76.patch" cp -pv texk/web2c/pdftexdir/pdftoepdf{-poppler0.76.0,}.cc cp -pv texk/web2c/pdftexdir/pdftosrc{-poppler0.76.0,}.cc patch -p1 -i ../texlive-poppler-0.83.patch patch -p1 -i ../texlive-poppler-0.84.patch # Gentoo patch } build() { cd "$srcdir/texlive-source" local config_extra=() case "$CARCH" in x86_64|i686) config_extra+=(--enable-xindy) ;; armv7h) config_extra+=(--disable-xindy --disable-cxx-runtime-hack) ;; esac ############################################################# ### 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 \ --disable-xindy-rules --disable-xindy-docs \ ${config_extra} ############################################################# ### 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' 'icu' 'harfbuzz' 'harfbuzz-icu' 'gmp' 'mpfr' 'potrace' 'libpaper' 'libsynctex') provides=('lcdf-typetools' 'kpathsea' 'xindy') optdepends=('ed: for texconfig' 'biber: for bibliography processing') options=('!strip') local _icu_ver _icu_ver=$(pacman -S --print-format='%v' icu) depends+=("icu>=${_icu_ver}" "icu<$((${_icu_ver%%.*} + 1))") local _poppler_ver _poppler_ver=$(pacman -S --print-format='%v' poppler) depends+=("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 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 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 chkweb cjk-gs-integrate cluttex 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 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 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 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 texindy texlinks texliveonfly texloganalyser texmfstart texosquery texosquery-jre5 texosquery-jre8 thumbpdf tlcockpit tlshell typeoutfileinfo updmap updmap-sys updmap-user vpl2ovp vpl2vpl xhlatex xindex xindy " if [ "$CARCH" = "armv7h" ]; then _core_scripts="$(echo "$_core_scripts" | sed '/xindy$/d')" fi _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.* }