X-Git-Url: https://git.distorted.org.uk/~mdw/termux-packages/blobdiff_plain/cb2a32e4df48c5bc15b3f7aeb85ea8e87b53ad34..aa605e89016d0302d73c8632fadf374e4532b8d7:/packages/texlive/build.sh diff --git a/packages/texlive/build.sh b/packages/texlive/build.sh index b8d25e29..7f2f472b 100644 --- a/packages/texlive/build.sh +++ b/packages/texlive/build.sh @@ -1,55 +1,100 @@ TERMUX_PKG_HOMEPAGE=https://www.tug.org/texlive/ TERMUX_PKG_DESCRIPTION="TeX Live is a distribution of the TeX typesetting system." -TERMUX_PKG_VERSION=20160523 -TERMUX_PKG_SRCURL=ftp://tug.org/historic/systems/texlive/${TERMUX_PKG_VERSION:0:4}/texlive-${TERMUX_PKG_VERSION}b-source.tar.xz -TERMUX_PKG_SHA256="a8b32ca47f0a403661a09e202f4567a995beb718c18d8f81ca6d76daa1da21ed" -TERMUX_PKG_DEPENDS="libpng,libgd,freetype,poppler,libluajit,libicu" -TERMUX_PKG_FOLDERNAME=texlive-${TERMUX_PKG_VERSION}-source -TERMUX_PKG_EXTRA_CONFIGURE_ARGS="\ -AR=ar \ -RANLIB=ranlib \ -BUILDAR=ar \ -BUILDRANLIB=ranlib \ ---prefix=$TERMUX_PREFIX/local/texlive/${TERMUX_PKG_VERSION:0:4} \ ---bindir=$TERMUX_PREFIX/local/texlive/${TERMUX_PKG_VERSION:0:4}/bin/pkg \ ---libdir=$TERMUX_PREFIX/lib \ ---build=$TERMUX_BUILD_TUPLE \ ---disable-native-texlive-build \ ---without-x \ ---disable-multiplatform \ ---disable-dialog \ ---disable-psutils \ ---disable-t1utils \ ---disable-bibtexu \ ---disable-xz \ ---without-texinfo \ ---without-xdvipdfmx \ ---without-texi2html \ ---with-system-icu \ ---with-system-poppler \ ---with-system-gd \ ---with-system-luajit \ ---with-system-xpdf \ ---enable-luatex \ ---enable-ttfdump=no \ ---enable-makeindexk=no --enable-makejvf=no --enable-mendexk=no --enable-musixtnt=no --enable-ps2pk=no \ ---enable-seetexk=no --enable-gregorio=no \ ---with-banner-add=/termux \ - " +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 -termux_step_post_extract_package () { - rm -r $TERMUX_PKG_SRCDIR/utils/pmx +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_post_make_install () { - cp $TERMUX_PKG_BUILDER_DIR/termux-install-tl $TERMUX_PREFIX/bin - chmod +x $TERMUX_PREFIX/bin/termux-install-tl - sed -E -i "s@/bin/sh@$PREFIX/bin/sh@" "$TERMUX_PREFIX/local/texlive/${TERMUX_PKG_VERSION:0:4}/bin/pkg/tlmgr" +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 () { - echo 'echo "retrieving texlive..."' > postinst - echo "termux-install-tl" >> postinst - echo "exit 0" >> postinst - chmod 0755 postinst + # Clean texlive's folder if needed (run on upgrade) + echo "#!$TERMUX_PREFIX/bin/sh" > preinst + 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 "#!$TERMUX_PREFIX/bin/sh" > postinst + 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 "#!$TERMUX_PREFIX/bin/sh" > prerm + 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 }