# Maintainer: Antonio Rojas # Contributor: 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) _rev=66984 pkgver=2023.$_rev pkgrel=15 license=(GPL) arch=(x86_64) makedepends=(git cairo pixman graphite t1lib gd libsigsegv zziplib libpng libjpeg freetype2 icu harfbuzz-icu mpfr potrace libpaper perl libxcrypt subversion) url='https://tug.org/texlive/' _commit=871c7a2856d70e1a9703d1f72f0587b9995dba5f # tags/texlive-2023.0 source=(git+https://github.com/Tex-Live/texlive-source.git#commit=$_commit ptex-debug-print.patch context-luatex-1.17.patch) sha256sums=('SKIP' 'aa838f09003c62c2efb5770a8de66f99b409df049fbd65098d80fd1957d06c50' 'a56838d19c3bd820781693b5a2e058e1a22378b37ea199bac426d97fcc420920') prepare() { cd 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 -p1 -i ../ptex-debug-print.patch # update context to work with luatex 1.17 patch -p1 -i ../context-luatex-1.17.patch } build() { cd texlive-source mkdir -p build cd build ax_cv_c_float_words_bigendian=no \ ../configure --prefix=/usr -C \ --sysconfdir=/etc \ --datarootdir=/usr/share \ --datadir=/usr/share \ --mandir=/usr/share/man \ --disable-cxx-runtime-hack \ --disable-native-texlive-build \ --with-banner-add="/Arch Linux" \ --disable-multiplatform \ --disable-dialog \ --disable-psutils \ --disable-t1utils \ --disable-bibtexu \ --disable-dvisvgm \ --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 \ --with-clisp-runtime=default \ --disable-xindy \ --disable-xindy-rules \ --disable-xindy-docs make } package_libsynctex() { pkgdesc='Library for synchronization between TeX files and resulting file' depends=(glibc zlib) cd texlive-source/build make -C texk/web2c DESTDIR="$pkgdir" \ install-data-am install-libLTLIBRARIES # remove docs included in texlive-doc rm -r "$pkgdir"/usr/share/man } package_texlive-bin() { pkgdesc='TeX Live binaries' depends=(cairo pixman graphite t1lib gd poppler libsigsegv zziplib libpng libjpeg freetype2 libxcrypt harfbuzz-icu mpfr potrace libpaper libsynctex) provides=(lcdf-typetools kpathsea) optdepends=('psutils: to manipulate the output of dvips') cd texlive-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|" '{}' \; cd build make DESTDIR="$pkgdir" texmf="$pkgdir"/usr/share/texmf install LD_PRELOAD="$pkgdir"/usr/lib/libkpathsea.so.6 \ make DESTDIR="$pkgdir" texlinks # install old ConTeXt stubs cd "$srcdir"/texlive-source for _stub in `ls texk/texlive/linked_scripts/context/stubs/unix`; do install -m755 texk/texlive/linked_scripts/context/stubs/unix/$_stub "$pkgdir"/usr/bin/$_stub done # remove stuff included in texlive-texmf rm -r "$pkgdir"/usr/share/texmf-dist # remove docs included in texlive-doc rm -r "$pkgdir"/usr/share/{info,man} # remove links to scripts for _link in $(ls "$pkgdir"/usr/bin); do [[ $(readlink -m "$pkgdir"/usr/bin/$_link) == */scripts/* ]] && _rmlinks+="$pkgdir/usr/bin/$_link " done rm $_rmlinks # remove libsynctex rm "$pkgdir"/usr/include/synctex/* rm "$pkgdir"/usr/lib/libsynctex.* rm "$pkgdir"/usr/lib/pkgconfig/synctex.pc }