ce1c64ca2d
* 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
98 lines
4.3 KiB
Bash
98 lines
4.3 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_REVISION=3
|
|
TERMUX_PKG_SRCURL=("ftp://ftp.tug.org/texlive/historic/${TERMUX_PKG_VERSION:0:4}/"\
|
|
{"texlive-$_MAJOR_VERSION-texmf.tar.xz",\
|
|
"texlive-$_MAJOR_VERSION-extra.tar.xz",\
|
|
"install-tl-unx.tar.gz"})
|
|
TERMUX_PKG_SHA256=("3f63708b77f8615ec6f2f7c93259c5f584d1b89dd335a28f2362aef9e6f0c9ec"
|
|
"afe49758c26fb51c2fae2e958d3f0c447b5cc22342ba4a4278119d39f5176d7f"
|
|
"d4e07ed15dace1ea7fabe6d225ca45ba51f1cb7783e17850bc9fe3b890239d6d")
|
|
TERMUX_PKG_DEPENDS="wget, perl, xz-utils, gnupg2, texlive-bin (>= 20170524)"
|
|
TERMUX_PKG_FOLDERNAME=("texlive-$_MAJOR_VERSION-texmf"
|
|
"texlive-$_MAJOR_VERSION-extra"
|
|
"install-tl-$_MAJOR_VERSION")
|
|
TL_FILE_LISTS=("texlive-texmf.list"
|
|
"texlive-extra.list"
|
|
"install-tl.list")
|
|
TERMUX_PKG_PLATFORM_INDEPENDENT=yes
|
|
|
|
TL_ROOT=$TERMUX_PREFIX/opt/texlive/${TERMUX_PKG_VERSION:0:4}
|
|
TL_BINDIR=$TL_ROOT/bin/custom
|
|
|
|
termux_step_extract_package() {
|
|
mkdir -p "$TERMUX_PKG_SRCDIR"
|
|
|
|
cd "$TERMUX_PKG_TMPDIR"
|
|
for index in $(seq 0 2); do
|
|
local filename
|
|
filename=$(basename "${TERMUX_PKG_SRCURL[$index]}")
|
|
local file="$TERMUX_PKG_CACHEDIR/$filename"
|
|
termux_download "${TERMUX_PKG_SRCURL[$index]}" "$file" "${TERMUX_PKG_SHA256[$index]}"
|
|
|
|
folder=${TERMUX_PKG_FOLDERNAME[$index]}
|
|
|
|
rm -Rf $folder
|
|
echo "Extracting files listed in ${TL_FILE_LISTS[$index]} from $folder"
|
|
tar xf "$file" $(paste -d'\0' <(for i in $(seq 1 $( wc -l < $TERMUX_PKG_BUILDER_DIR/${TL_FILE_LISTS[$index]} )); do echo ${TERMUX_PKG_FOLDERNAME[$index]}/; done ) $TERMUX_PKG_BUILDER_DIR/${TL_FILE_LISTS[$index]} )
|
|
done
|
|
cp -r ${TERMUX_PKG_FOLDERNAME[@]} "$TERMUX_PKG_SRCDIR"
|
|
}
|
|
|
|
termux_step_make() {
|
|
for index in $( seq 0 2 ); do
|
|
cp -r $TERMUX_PKG_SRCDIR/${TERMUX_PKG_FOLDERNAME[$index]}/* $TL_ROOT/
|
|
done
|
|
|
|
mkdir -p $TL_ROOT/{tlpkg/{backups,tlpobj},texmf-var/web2c}
|
|
cp $TERMUX_PKG_BUILDER_DIR/texlive.tlpdb $TL_ROOT/tlpkg/
|
|
|
|
perl -I$TL_ROOT/tlpkg/ $TL_ROOT/texmf-dist/scripts/texlive/mktexlsr.pl $TL_ROOT/texmf-dist
|
|
}
|
|
|
|
termux_step_create_debscripts () {
|
|
# Clean texlive's folder if needed (run on upgrade)
|
|
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" >> preinst
|
|
# 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
|
|
|
|
echo "mkdir -p $TL_ROOT/{tlpkg/{backups,tlpobj},texmf-var/{web2c,tex/generic/config}}" > postinst
|
|
echo "export PATH=\$PATH:$TL_BINDIR" >> postinst
|
|
echo "echo Updating tlmgr" >> postinst
|
|
echo "tlmgr update --self" >> postinst
|
|
echo "echo Generating language files and setting up symlinks" >> postinst
|
|
echo "tlmgr -q generate language" >> postinst
|
|
echo "mktexlsr $TL_ROOT/texmf-var" >> postinst
|
|
echo "texlinks" >> postinst
|
|
echo "echo ''" >> postinst
|
|
echo "echo Welcome to TeX Live!" >> postinst
|
|
echo "echo ''" >> postinst
|
|
echo "echo 'TeX Live is a joint project of the TeX user groups around the world;'" >> postinst
|
|
echo "echo 'please consider supporting it by joining the group best for you.'" >> postinst
|
|
echo "echo 'The list of groups is available on the web at http://tug.org/usergroups.html.'" >> postinst
|
|
echo "echo ''" >> postinst
|
|
echo "echo 'Please run \"source $PREFIX/etc/profile.d/texlive.sh\" to add texlive'\''s binaries to your current shell'\''s PATH.'" >> postinst
|
|
echo "exit 0" >> postinst
|
|
chmod 0755 postinst
|
|
|
|
# Remove all files installed through tlmgr on removal
|
|
echo 'if [ $1 != "remove" ]; then exit 0; fi' > prerm
|
|
#echo "tlmgr remove --dry-run "
|
|
echo "echo Running texlinks --unlink" >> prerm
|
|
echo "texlinks --unlink" >> prerm
|
|
echo "echo Removing texmf-dist" >> prerm
|
|
echo "rm -rf $TL_ROOT/texmf-dist" >> prerm
|
|
echo "echo Removing texmf-var and tlpkg" >> prerm
|
|
echo "rm -rf $TL_ROOT/{texmf-var,tlpkg/{texlive.tlpdb.*,tlpobj,backups}}" >> prerm
|
|
echo "exit 0" >> prerm
|
|
chmod 0755 prerm
|
|
}
|