termux-packages/packages/texlive-bin/build.sh
Henrik Grimler ce1c64ca2d Properly package texlive and split package into texlive & texlive-bin (#1203)
* texlive: enable makeindex and put man files and headers in proper location.

* texlive: upgrade to 2017

* texlive: split into texlive-bin and arch independent texlive-base.

Download texmf-dist and other tarballs and package necessary files instead of
using tlnet installer on device.

* texlive-base: extract only a minimal set of files from texmf-dist, do complete
uninstall on removal. Patch some files.

The texmf-dist tar is quite large so use --checkpoint to indicate progress.

* texlive: use gnupg2 instead of gnupg

* texlive: fix texlive profile

* texlive: added TL_BINDIR variable to simplify build scripts

* texlive: replace tlmgr symlink with small wrapper.

After `tlmgr update --self` has been run, the shebang of tlmgr.pl is
none-working and there is a reference to /bin/sh in TLUtils.pm. This wrapper
fixes this (if needed) before tlmgr is run.

* texlive: update command-not-found with a few common texlive commands.

* remove un-needed minimal.list

* Format generation working. xelatex activated.

Remove all texmf-dist files created by texlive-bin package.

* texlive: fix installation and removal of texlive-{bin,base}. All essential
fixes done.

Only thing remaining to fix is figuring out how to deal with the transition
texlive -> texlive-{bin,base}.

* texlive: use Breaks instead of Conflicts

* texlive: properly fix split into two packages [WIP]

* delete old termux-install-tl.sh

* texlive: Fix so that the upgrade from texlive 20170524-2 goes smoothly and
works as it should (with Breaks and Replaces). Also major clean up of texlive/build.sh.

* texlive: minor clean up of texlive/build.sh. Update patches to avoid (silent)
complaints from patching. Add previously forgotten install-tl.list with list
of files to take from install-tl-unx.tar.gz.

* texlive: make texlive-bin-dev properly replace texlive-dev.

Everything is done now, just need to wait for breaks and subpkg_replaces
before opening a pull request.

* texlive: skip format generation on install, rm old files in texlive-bin
as well.

Also decrease verbosity of installation

* texlive: when deleting old files, leave texmf-dist alone

* texlive: fix typo, correctly remove files from old texlive version
2017-08-09 23:09:01 +02:00

103 lines
3.6 KiB
Bash

TERMUX_PKG_HOMEPAGE=https://www.tug.org/texlive/
TERMUX_PKG_DESCRIPTION="TeX Live is a distribution of the TeX typesetting system."
TERMUX_PKG_MAINTAINER="Henrik Grimler @Grimler91"
_MAJOR_VERSION=20170524
_MINOR_VERSION=
TERMUX_PKG_VERSION=${_MAJOR_VERSION}${_MINOR_VERSION}
TERMUX_PKG_SRCURL=ftp://tug.org/historic/systems/texlive/${TERMUX_PKG_VERSION:0:4}/texlive-${TERMUX_PKG_VERSION}-source.tar.xz
TERMUX_PKG_SHA256="0161695304e941334dc0b3b5dabcf8edf46c09b7bc33eea8229b5ead7ccfb2aa"
TERMUX_PKG_DEPENDS="freetype, libpng, libgd, libgmp, libmpfr, libicu, liblua, poppler, libgraphite, harfbuzz-icu, perl"
TERMUX_PKG_FOLDERNAME=texlive-${_MAJOR_VERSION}-source
TERMUX_PKG_BREAKS="texlive (<< 20170524-3)"
TERMUX_PKG_REPLACES="texlive (<< 20170524-3)"
TERMUX_PKG_NO_DEVELSPLIT=yes
TL_ROOT=$TERMUX_PREFIX/opt/texlive/${TERMUX_PKG_VERSION:0:4}
TL_BINDIR=$TL_ROOT/bin/custom
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
AR=ar \
RANLIB=ranlib \
BUILDAR=ar \
BUILDRANLIB=ranlib \
ac_cv_c_bigendian=no \
--prefix=$TL_ROOT \
--bindir=$TL_BINDIR \
--datarootdir=$TL_ROOT \
--datadir=$TERMUX_PREFIX/share \
--mandir=$TERMUX_PREFIX/share/man \
--docdir=$TERMUX_PREFIX/share/doc \
--infodir=$TERMUX_PREFIX/share/info \
--libdir=$TERMUX_PREFIX/lib \
--includedir=$TERMUX_PREFIX/include \
--build=$TERMUX_BUILD_TUPLE \
--enable-ttfdump=no \
--enable-makeindexk=yes \
--enable-makejvf=no \
--enable-mendexk=no \
--enable-musixtnt=no \
--enable-ps2pk=no \
--enable-seetexk=no \
--enable-gregorio=no \
--disable-native-texlive-build \
--disable-bibtexu \
--disable-dvisvgm \
--disable-dialog \
--disable-psutils \
--disable-multiplatform \
--disable-t1utils \
--enable-luatex \
--disable-luajittex \
--disable-mflua \
--disable-mfluajit \
--disable-xz \
--disable-pmx \
--without-texinfo \
--without-xdvipdfmx \
--without-texi2html \
--with-system-cairo \
--with-system-graphite2 \
--with-system-harfbuzz \
--with-system-gd \
--with-system-gmp \
--with-system-icu \
--with-system-lua \
--with-system-mpfr \
--with-system-poppler \
--with-system-zlib \
--with-system-xpdf \
--with-system-lua \
--without-x \
--with-banner-add=/Termux"
TERMUX_PKG_RM_AFTER_INSTALL="opt/texlive/${TERMUX_PKG_VERSION:0:4}/texmf-dist"
termux_step_pre_configure() {
# When building against libicu 59.1 or later we need c++11:
CXXFLAGS+=" -std=c++11"
}
termux_step_post_make_install () {
mkdir -p $TERMUX_PREFIX/etc/profile.d/
echo "export PATH=\$PATH:$TL_BINDIR" > $TERMUX_PREFIX/etc/profile.d/texlive.sh
echo "export TMPDIR=$TERMUX_PREFIX/tmp/" >> $TERMUX_PREFIX/etc/profile.d/texlive.sh
chmod 0744 $TERMUX_PREFIX/etc/profile.d/texlive.sh
mv $TL_BINDIR/tlmgr $TL_BINDIR/tlmgr.ln
echo "#!$TERMUX_PREFIX/bin/sh" > $TL_BINDIR/tlmgr
echo "termux-fix-shebang $TL_ROOT/texmf-dist/scripts/texlive/tlmgr.pl" >> $TL_BINDIR/tlmgr
echo "sed -E -i '"'s@`/bin/sh@`'$TERMUX_PREFIX"/bin/sh@g' ${TL_ROOT}/tlpkg/TeXLive/TLUtils.pm" >> $TL_BINDIR/tlmgr
echo 'tlmgr.ln "$@"' >> $TL_BINDIR/tlmgr
chmod 0744 $TL_BINDIR/tlmgr
}
termux_step_create_debscripts () {
# Clean texlive's folder if needed (run on fresh install)
echo "if [ ! -f $TERMUX_PREFIX/opt/texlive/2016/install-tl -a ! -f $TERMUX_PREFIX/opt/texlive/2017/install-tl ]; then exit 0; else echo 'Removing residual files from old version of TeX Live for Termux'; fi" > preinst
echo "rm -rf $TERMUX_PREFIX/etc/profile.d/texlive.sh" >> preinst
echo "rm -rf $TERMUX_PREFIX/opt/texlive/2016"
# Let's not delete the previous texmf-dist so that people who have installed a full distribution won't need to download everything again
echo "rm -rf $TERMUX_PREFIX/opt/texlive/2017/!(texmf-dist)" >> preinst
echo "exit 0" >> preinst
chmod 0755 preinst
}