summaryrefslogtreecommitdiff
path: root/libre/texlive-bin/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'libre/texlive-bin/PKGBUILD')
-rw-r--r--libre/texlive-bin/PKGBUILD535
1 files changed, 152 insertions, 383 deletions
diff --git a/libre/texlive-bin/PKGBUILD b/libre/texlive-bin/PKGBUILD
index 411f55384..7f321e4d3 100644
--- a/libre/texlive-bin/PKGBUILD
+++ b/libre/texlive-bin/PKGBUILD
@@ -1,407 +1,176 @@
-# Maintainer (Arch): Rémy Oudompheng <remy@archlinux.org>
-# Contributor (Arch): francois <francois.archlinux.org>
+# Maintainer (arch): Antonio Rojas <arojas@archlinux.org>
+# Contributor: Rémy Oudompheng <remy@archlinux.org>
+# Contributor: francois <francois.archlinux.org>
# Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe>
# Contributor: André Silva <emulatorman@hyperbola.info>
# Contributor: Michał Masłowski <mtjm@mtjm.eu>
# Contributor: Isaac David <isacdaavid(at)isacdaavid!info>
# Contributor: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
# Contrbutor: bill-auger <bill-auger@programmer.net>
+# Maintainer (archarm): Kevin Mihelich <kevin@archlinuxarm.org>
# parabola changes and rationale:
-# - rebrand for parabola
-# - pin versioned dependencies to mitigate breakage from Arch's .so bumps
-# - disable xindy on armv7h
-
-
-pkgname=('texlive-bin' 'libsynctex')
-pkgver=2020.54586
-pkgrel=5
-pkgrel+=.parabola2
-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' 'clisp' 'ffcall' 'libxcrypt')
-[[ "${CARCH}" == 'armv7h' ]] && makedepends=( $(sed -E 's/clisp|ffcall//g' <<<${deps[@]}) )
+# technical:
+# - re-brand for parabola (due to changes in texlive-{core,fontsextra,latexextra})
+# - pin to strongly-coupled dependency versions
+# - disable texindy/xindy on armv7h
+# - build from upstream sourve-ball, rather than VCS
+# archarm changes:
+# -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=17
+pkgrel+=.parabola1
+license=(GPL)
+arch=(x86_64)
+arch+=(armv7h i686)
+makedepends=(git cairo pixman graphite t1lib gd libsigsegv zziplib libpng libjpeg freetype2
+ icu harfbuzz-icu mpfr potrace libpaper perl clisp ffcall libxcrypt subversion
+ glibc zlib bash libxaw fontconfig icu readline libxmu libxpm libunistring libxt
+ libx11 ncurses gcc-libs harfbuzz)
+makedepends=( ${makedepends[*]/git/} )
+[[ "${CARCH}" == 'armv7h' ]] && makedepends=( $(sed -E 's/clisp|ffcall//g' <<<${makedepends[@]}) )
url='https://tug.org/texlive/'
-_commit=8e5e0e89d413d09cca133c8966d1a3af8a2ac440 # svn://tug.org/texlive/trunk/Build/source@54586
-source=("git+https://github.com/Tex-Live/texlive-source.git#commit=${_commit}")
-sha256sums=('SKIP')
+# we use source-ball
+source=(texlive-bin-${_rev}.tar.gz::https://github.com/TeX-Live/texlive-source/archive/refs/tags/build-svn${_rev}.tar.gz
+ ptex-debug-print.patch
+ context-luatex-1.17.patch)
+sha256sums=('SKIP'
+ 'aa838f09003c62c2efb5770a8de66f99b409df049fbd65098d80fd1957d06c50'
+ 'a56838d19c3bd820781693b5a2e058e1a22378b37ea199bac426d97fcc420920')
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
- cp -pv texk/web2c/pdftexdir/pdftoepdf{-poppler0.86.0,}.cc
- cp -pv texk/web2c/pdftexdir/pdftosrc{-poppler0.83.0,}.cc
+ ln -s texlive-source-build-svn${_rev} texlive-source # minimize diff
+ 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 "$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
- ../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 \
- $(case "$CARCH" in
- armv7h ) echo '--disable-xindy --disable-cxx-runtime-hack' ;;
- x86_64|i686) echo '--enable-xindy --disable-xindy-rules --disable-xindy-docs' ;;
- esac)
- #############################################################
- ### make
- echo "-------------------------------------------------------"
- echo "--> Building the whole beast ..."
- echo "-------------------------------------------------------"
- make
+ 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 \
+ $([[ "${CARCH}" != armv7h ]] || printf -- '--disable-cxx-runtime-hack') \
+ --disable-native-texlive-build \
+ --with-banner-add="/Parabola GNU/Linux-libre" \
+ --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 \
+ $([[ "${CARCH}" == armv7h ]] && echo -n --disable-xindy || echo -n --enable-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')
+ pkgdesc='Library for synchronization between TeX files and resulting file'
+ depends=(glibc zlib)
- cd "${srcdir}/texlive-source/Work"
- make -C texk/web2c DESTDIR="${pkgdir}" \
+ 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"
- pkgdesc+=" (Parabola rebranded)"
- 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')
- options=('!strip')
-
- # pin to current 'icu' and 'poppler' libs
- local poppler_ver=$(pacman -S --print-format='%v' poppler)
- depends+=('libicui18n.so' 'libicuuc.so' "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 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
-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
-chklref
-chkweb
-cjk-gs-integrate
-cluttex
-cllualatex
-clxelatex
-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
-ketcindy
-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
-luaotfload-tool
-luatools
-lwarpmk
-make4ht
-match_parens
-mf2pt1
-mk4ht
-mkjobtexmf
-mkt1font
-mktexfmt
-mktexlsr
-mktexmf
-mktexpk
-mktextfm
-mptopdf
-mtxrun
-mtxrunjit
-ot2kpx
-pamphletangler
-pdfatfi
-pdfbook2
-pdfcrop
-pdfjam
-pdflatexpicscale
-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
-texhash
-texindy
-texlinks
-texliveonfly
-texloganalyser
-texmfstart
-texosquery
-texosquery-jre5
-texosquery-jre8
-texplate
-thumbpdf
-tlcockpit
-tlshell
-typeoutfileinfo
-updmap
-updmap-sys
-updmap-user
-vpl2ovp
-vpl2vpl
-xhlatex
-xindex
-$( [[ "$CARCH" != "armv7h" ]] && echo 'xindy')
-"
- _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.*
+ pkgdesc='TeX Live binaries'
+ depends=(cairo pixman graphite t1lib gd poppler ffcall libsigsegv zziplib libpng libjpeg freetype2 libxcrypt
+ harfbuzz-icu mpfr potrace libpaper libsynctex glibc zlib bash libxaw fontconfig icu readline libxmu
+ libxpm libunistring libxt libx11 ncurses gcc-libs harfbuzz)
+ provides=(lcdf-typetools kpathsea xindy)
+ optdepends=('psutils: to manipulate the output of dvips')
+
+ case "$CARCH" in
+ armv7h)
+ depends=( ${depends[*]/ffcall/} )
+ provides=( ${provides[*]/xindy/} )
+ esac
+
+ # pin to strongly-coupled dependency versions
+ depends+=('libicui18n.so' 'libicuuc.so')
+
+ 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
}