# 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=2023.66539 pkgrel=1 license=('GPL') arch=('x86_64') makedepends=('git' 'cairo' 'pixman' 'graphite' 't1lib' 'gd' 'libsigsegv' 'zziplib' 'libpng' 'libjpeg' 'freetype2' 'icu' 'harfbuzz' 'harfbuzz-icu' 'gmp' 'mpfr' 'potrace' 'libpaper' 'perl' 'libxcrypt') url='https://tug.org/texlive/' _commit=0d0bb3a2401e8825b4987eee51e8ef469eb8c3fc # tags/texlive-2023.0 source=("git+https://github.com/Tex-Live/texlive-source.git#commit=${_commit}" "ptex-debug-print.patch") sha256sums=('SKIP' 'aa838f09003c62c2efb5770a8de66f99b409df049fbd65098d80fd1957d06c50') prepare() { cd "$srcdir/texlive-source" # bibtex-x needs kpathsea flags sed -i '/AC_SEARCH_LIBS/a KPSE_KPATHSEA_FLAGS' texk/bibtex-x/configure.ac (cd texk/bibtex-x && autoreconf) # t4ht expects to be un /usr/share/texmf/bin/t4ht (FS#27251) sed -i s/SELFAUTOPARENT/TEXMFROOT/ texk/tex4htk/t4ht.c # remove spurious ptex "guessed encoding" print patch -Np1 -i "${srcdir}/ptex-debug-print.patch" } 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 # # Preset float endianness to avoid a crash in cairo configure # with recent toolchains. We are not building cairo anyway. ax_cv_c_float_words_bigendian=no \ ../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-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}/texlive-source/Work" make -C texk/web2c DESTDIR="${pkgdir}" \ install-data-am install-libLTLIBRARIES rm -f "$pkgdir"/usr/share/man/man1/hi*.* } package_texlive-bin() { pkgdesc="TeX Live binaries" 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') 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 bibcop bibdoiadd bibexport bibmradd biburl2doi bibzbladd citeproc-lua convertgls2bib listbib ltx2crossrefxml multibibliography urlbst " _core_scripts=" a2ping a5toa4 adhocfilelist afm2afm albatross allcm allec allneeded arara arlatex autoinst bundledoc checkcites checklistings chklref chkweb cjk-gs-integrate cluttex cllualatex clxelatex ctanbib ctanify ctanupload ctan-o-mat de-macro depythontex deweb digestif dosepsbin dtxgen dvi2fax dviasm dviinfox dvired e2pall epstopdf findhyph fmtutil fmtutil-sys fmtutil-user fontinst fragmaster git-latexdiff 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 llmk ltxfileinfo ltximg luafindfont luaotfload-tool lwarpmk make4ht match_parens mf2pt1 mk4ht mkjobtexmf mkt1font mktexfmt mktexlsr mktexmf mktexpk mktextfm mptopdf optexcount ot2kpx pamphletangler pdfatfi pdfbook2 pdfcrop pdfjam pdflatexpicscale pdftex-quiet pdfxup pfarrei pkfix pkfix-helper ps2eps ps2frag pslatex purifyeps pythontex repstopdf rpdfcrop rungs simpdftex spix srcredact sty2dtx tex4ebook texaccents texconfig texconfig-dialog texconfig-sys texcount texdef texdiff texdirflatten texdoc texdoctk texfot texhash texlinks texliveonfly texloganalyser texlogfilter texlogsieve texosquery texosquery-jre5 texosquery-jre8 texplate thumbpdf tlcockpit tlshell typeoutfileinfo updmap updmap-sys updmap-user vpl2ovp vpl2vpl xelatex-unsafe xetex-unsafe xhlatex xindex " _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 hyperxmp-add-bytecount l3build makedtx makeglossaries makeglossaries-lite pagelayoutapi pdfannotextractor perltex ps4pdf splitindex svn-multi textestvis 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 tikztosvg" _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 if [[ -f "$pkgdir/usr/share/man/man1/${s%.*}.1" ]]; then rm -vf "$pkgdir/usr/share/man/man1/${s%.*}.1" fi done ################################################################### # Install old ConTeXt stubs cd "$srcdir/texlive-source" for stub in context contextjit luatools mtxrun mtxrunjit texexec texmfstart; do install -m755 texk/texlive/linked_scripts/context/stubs/unix/"$stub" "$pkgdir/usr/bin/$stub" 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.* }