1 # Maintainer: Rémy Oudompheng <remy@archlinux.org>
2 # Contributor: francois <francois.archlinux.org>
4 pkgname=('texlive-bin' 'libsynctex')
9 makedepends=('git' 'cairo' 'pixman' 'graphite' 't1lib' 'gd'
10 'libsigsegv' 'zziplib' 'libpng' 'libjpeg' 'freetype2'
11 'icu' 'harfbuzz' 'harfbuzz-icu' 'gmp' 'mpfr' 'potrace' 'libpaper'
12 'perl' 'clisp' 'ffcall' 'libxcrypt')
13 url='https://tug.org/texlive/'
14 _commit=f398692b64d6462c35939ec9489694d0828edee5 # svn://tug.org/texlive/tags/texlive-2022.0/Build/source@62885
15 source=("git+https://github.com/Tex-Live/texlive-source.git#commit=${_commit}")
19 cd "$srcdir/texlive-source"
21 # bibtex-x needs kpathsea flags
22 sed -i '/AC_SEARCH_LIBS/a KPSE_KPATHSEA_FLAGS' texk/bibtex-x/configure.ac
23 (cd texk/bibtex-x && autoreconf)
24 # t4ht expects to be un /usr/share/texmf/bin/t4ht (FS#27251)
25 sed -i s/SELFAUTOPARENT/TEXMFROOT/ texk/tex4htk/t4ht.c
29 cd "$srcdir/texlive-source"
31 #############################################################
35 echo "--> Initial configuration..."
36 # we use temporary prefix to avoid messing the existing
37 # $pkgdir/usr/share/texmf tree
39 # Preset float endianness to avoid a crash in cairo configure
40 # with recent toolchains. We are not building cairo anyway.
41 ax_cv_c_float_words_bigendian=no \
42 ../configure --prefix=/usr -C \
44 --datarootdir=/usr/share \
45 --datadir=/usr/share \
46 --mandir=/usr/share/man \
47 --disable-native-texlive-build \
48 --with-banner-add="/Arch Linux" \
49 --disable-multiplatform \
58 --with-system-zziplib \
59 --with-system-pnglib \
60 --with-system-ncurses \
63 --with-system-freetype2 \
64 --with-system-pixman \
66 --with-system-harfbuzz \
67 --with-system-graphite \
71 --with-system-potrace \
72 --with-system-libpaper \
73 --with-freetype2-libdir=/usr/lib \
74 --with-freetype2-include=/usr/include/freetype2 \
75 --with-xdvi-x-toolkit=xaw \
76 --disable-dump-share \
79 --with-clisp-runtime=default \
80 --enable-xindy --disable-xindy-rules --disable-xindy-docs
81 #############################################################
83 echo "-------------------------------------------------------"
84 echo "--> Building the whole beast ..."
85 echo "-------------------------------------------------------"
89 package_libsynctex() {
90 pkgdesc='Library for synchronization between TeX files and resulting file'
91 depends=('glibc' 'zlib')
93 cd "${srcdir}/texlive-source/Work"
94 make -C texk/web2c DESTDIR="${pkgdir}" \
95 install-data-am install-libLTLIBRARIES
97 rm -f "$pkgdir"/usr/share/man/man1/hi*.*
100 package_texlive-bin() {
101 pkgdesc="TeX Live binaries"
102 depends=('cairo' 'pixman' 'graphite' 't1lib' 'gd' 'poppler' 'ffcall'
103 'libsigsegv' 'zziplib' 'libpng' 'libjpeg' 'freetype2' 'libxcrypt'
104 'icu' 'harfbuzz' 'harfbuzz-icu' 'gmp' 'mpfr' 'potrace' 'libpaper'
106 provides=('lcdf-typetools' 'kpathsea' 'xindy')
107 optdepends=('ed: for texconfig'
108 'biber: for bibliography processing')
111 cd "$srcdir/texlive-source"
113 #############################################################
116 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|" '{}' \;
118 echo "-------------------------------------------------------"
119 echo "--> Proceeding with make install ..."
120 echo "-------------------------------------------------------"
122 make DESTDIR="${pkgdir}" texmf="$pkgdir"/usr/share/texmf install
123 rm -rf "${pkgdir}"/usr/{texmf,share/texmf-dist}
125 ## symlink engines by hand. texlinks has moved to texlive-core...
126 mkdir -p "${pkgdir}"/usr/bin
127 ln -s eptex "${pkgdir}"/usr/bin/platex
128 ln -s euptex "${pkgdir}"/usr/bin/uplatex
129 ln -s luatex "${pkgdir}"/usr/bin/dvilualatex
130 ln -s luatex "${pkgdir}"/usr/bin/dviluatex
131 ln -s luahbtex "${pkgdir}"/usr/bin/lualatex
132 ln -s pdftex "${pkgdir}"/usr/bin/amstex
133 ln -s pdftex "${pkgdir}"/usr/bin/cslatex
134 ln -s pdftex "${pkgdir}"/usr/bin/csplain
135 ln -s pdftex "${pkgdir}"/usr/bin/eplain
136 ln -s pdftex "${pkgdir}"/usr/bin/etex
137 ln -s pdftex "${pkgdir}"/usr/bin/jadetex
138 ln -s pdftex "${pkgdir}"/usr/bin/latex
139 ln -s tex "${pkgdir}"/usr/bin/lollipop
140 ln -s pdftex "${pkgdir}"/usr/bin/mex
141 ln -s pdftex "${pkgdir}"/usr/bin/mllatex
142 ln -s pdftex "${pkgdir}"/usr/bin/mltex
143 ln -s pdftex "${pkgdir}"/usr/bin/pdfetex
144 ln -s pdftex "${pkgdir}"/usr/bin/pdfcslatex
145 ln -s pdftex "${pkgdir}"/usr/bin/pdfcsplain
146 ln -s pdftex "${pkgdir}"/usr/bin/pdfjadetex
147 ln -s pdftex "${pkgdir}"/usr/bin/pdflatex
148 ln -s pdftex "${pkgdir}"/usr/bin/pdfmex
149 ln -s pdftex "${pkgdir}"/usr/bin/pdfxmltex
150 ln -s pdftex "${pkgdir}"/usr/bin/texsis
151 ln -s pdftex "${pkgdir}"/usr/bin/utf8mex
152 ln -s pdftex "${pkgdir}"/usr/bin/xmltex
153 ln -s xetex "${pkgdir}"/usr/bin/xelatex
155 #############################################################
156 # remove dangling symlinks
157 _bibtexextra_scripts="
330 _games_scripts="rubikrotation"
331 _humanities_scripts="diadia"
332 _langcyrillic_scripts="rubibtex rumakeindex"
333 _langextra_scripts="ebong"
334 _langgreek_scripts="mkgrkindex"
335 _langjapanese_scripts="convbkmk ptex2pdf
336 kanji-fontmap-creator
338 kanji-config-updmap-sys
339 kanji-config-updmap-user
341 _langkorean_scripts="jamo-normalize komkindex ttf2kotexfont"
342 _latexextra_scripts="
345 hyperxmp-add-bytecount
359 _music_scripts="lily-glyph-commands lily-image-commands lily-rebuild-pdfs
374 _pstricks_scripts="pedigree pst2pdf"
375 _science_scripts="pygmentex ulqda"
377 ${_bibtexextra_scripts} \
380 ${_htmlxml_scripts} \
381 ${_humanities_scripts} \
382 ${_langcyrillic_scripts} \
383 ${_langextra_scripts} \
384 ${_langgreek_scripts} \
385 ${_langjapanese_scripts} \
386 ${_langkorean_scripts} \
387 ${_latexextra_scripts} \
389 ${_pictures_scripts} \
390 ${_pstricks_scripts} \
391 ${_science_scripts} \
393 ! readlink -e "$pkgdir"/usr/bin/$s && rm "$pkgdir"/usr/bin/$s
394 if [[ -f "$pkgdir/usr/share/man/man1/${s%.*}.1" ]]; then
395 rm -vf "$pkgdir/usr/share/man/man1/${s%.*}.1"
398 ###################################################################
401 rm -f "$pkgdir"/usr/include/synctex/*
402 rm -f "$pkgdir"/usr/lib/libsynctex.*
403 rm -f "$pkgdir"/usr/lib/pkgconfig/synctex.pc
404 rm -f "$pkgdir"/usr/share/man/man*/synctex.*