# Maintainer: Antonio Rojas # Maintainer: Caleb Maclennan # 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=2024.0 pkgrel=1 license=(GPL-2.0-or-later) arch=(x86_64) makedepends=(bash cairo fontconfig freetype2 gcc-libs gd git glibc gmp graphite harfbuzz icu libjpeg libpaper libpng libsigsegv libunistring libx11 libxaw libxcrypt libxmu libxpm libxt mpfr ncurses perl pixman potrace readline subversion t1lib zlib zziplib) url='https://tug.org/texlive/' _commit=3f43289c20ca846ddbe7fc92d4495082069950c3 # tags/texlive-2024.0 source=(git+https://github.com/Tex-Live/texlive-source.git#commit=$_commit ptex-debug-print.patch) sha256sums=('SKIP' 'aa838f09003c62c2efb5770a8de66f99b409df049fbd65098d80fd1957d06c50') 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 } 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 # prevent excessive overlinking due to libtool sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool make } package_libsynctex() { pkgdesc='Library for synchronization between TeX files and resulting file' depends=(glibc zlib) provides=(libsynctex.so) 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=(bash cairo libcairo.so fontconfig libfontconfig.so freetype2 libfreetype.so gcc-libs # libgcc_s.so libstdc++.so gd # libgd.so glibc # ld-linux-x86-64.so libc.so libm.so gmp graphite libgraphite2.so harfbuzz libharfbuzz.so icu libicui18n.so libicuuc.so libpaper # libpaper.so libpng libpng16.so libsigsegv # libsigsegv.so libsynctex libsynctex.so libunistring libunistring.so libx11 # libX11.so libxaw # libXaw.so libxcrypt libcrypt.so libxmu # libXmu.so libxpm # libXpm.so libxt # libXt.so mpfr libmpfr.so ncurses libncursesw.so perl pixman libpixman-1.so potrace # libpotrace.so readline libreadline.so zlib libz.so zziplib) # libzzip-0.so provides=(lcdf-typetools libptexenc.so libtexlua53.so libtexluajit.so 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 # 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 }