X-Git-Url: https://git.distorted.org.uk/~mdw/termux-packages/blobdiff_plain/1af04c0ed64b4bbe9956e7d94eeb1aec876708cf..f547c930a23c0101f1f80e40e2528b619d995063:/packages/texlive/build.sh diff --git a/packages/texlive/build.sh b/packages/texlive/build.sh index 68fd22fa..3fd6c246 100644 --- a/packages/texlive/build.sh +++ b/packages/texlive/build.sh @@ -1,106 +1,155 @@ 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=1 -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, xz-utils, wget, gnupg" -TERMUX_PKG_FOLDERNAME=texlive-${_MAJOR_VERSION}-source +_MAJOR_VERSION=20180414 +TERMUX_PKG_VERSION=${_MAJOR_VERSION} +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=("bae2fa05ea1858b489f8138bea855c6d65829cf595c1fb219c5d65f4fe8b1fad" +"5b4397854723405f20df7172e73a04cee2d3ab712f78b064a7f523d6ab9f0329" +"82c13110852af162c4c5ef1579fa2f4f51c2040850ec02fb7f97497da45eb446") +TERMUX_PKG_DEPENDS="perl, texlive-bin (>= 20180414)" +TERMUX_PKG_CONFLICTS="texlive (<< 20170524-5), texlive-bin (<< 20180414)" +TERMUX_PKG_RECOMMENDS="texlive-tlmgr" +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_ROOT=$TERMUX_PREFIX/share/texlive +TL_BINDIR=$TERMUX_PREFIX/bin -TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" -AR=ar \ -RANLIB=ranlib \ -BUILDAR=ar \ -BUILDRANLIB=ranlib \ -ac_cv_c_bigendian=no \ ---prefix=$TL_ROOT \ ---bindir=$TL_ROOT/bin/pkg \ ---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_step_pre_configure() { - # When building against libicu 59.1 or later we need c++11: - CXXFLAGS+=" -std=c++11" +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.sh $TERMUX_PREFIX/bin/termux-install-tl - mkdir -p $TERMUX_PREFIX/etc/profile.d/ - echo "export PATH=\$PATH:$TERMUX_PREFIX/opt/texlive/${TERMUX_PKG_VERSION:0:4}/bin/custom/" >> $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 +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 + + # Replace tlmgr link with a small wrapper that prevents error on "tlmgr update --self" + rm -rf $TL_BINDIR/tlmgr + ln -sf ../share/texlive/texmf-dist/scripts/texlive/tlmgr.pl $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 -i 's%\`kpsewhich -var-value=SELFAUTOPARENT\`);%\`kpsewhich -var-value=TEXMFROOT\`);%g' $TL_ROOT/texmf-dist/scripts/texlive/tlmgr.pl" >> $TL_BINDIR/tlmgr + echo "sed -i 's%TEXMFROOT = \$SELFAUTOPARENT%TEXMFROOT = \$SELFAUTODIR/share/texlive%gb' $TL_ROOT/texmf-dist/web2c/texmf.cnf" >> $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 () { - echo 'echo "========================================================"' > postinst - echo 'echo "retrieving texlive..."' >> postinst - echo 'echo "you can start this manually by calling termux-install-tl"' >> postinst - echo 'echo "========================================================"' >> postinst - echo "termux-install-tl" >> postinst - echo "exit 0" >> postinst - chmod 0755 postinst - - # Clean texlive's folder if needed. - echo "if [ ! -f $TERMUX_PREFIX/opt/texlive/2016/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,opt/texlive}" >> preinst + # Clean texlive's folder if needed (run on upgrade) + echo "#!$TERMUX_PREFIX/bin/bash" > preinst + echo "if [ -d $TERMUX_PREFIX/opt/texlive ]; then echo 'Removing residual files from old version of TeX Live for Termux'; rm -rf $PREFIX/opt/texlive; fi" >> preinst echo "exit 0" >> preinst chmod 0755 preinst + + echo "#!$TERMUX_PREFIX/bin/bash" > postinst + echo "mkdir -p $TL_ROOT/{tlpkg/{backups,tlpobj},texmf-var/{web2c,tex/generic/config}}" >> postinst + echo "export TMPDIR=$TERMUX_PREFIX/tmp" >> 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 "exit 0" >> postinst + chmod 0755 postinst - # Remove all files installed/downloaded through termux-install-tl - echo 'if [ $1 != "remove" ]; then exit 0; fi' > prerm + # Remove all files installed through tlmgr on removal + echo "#!$TERMUX_PREFIX/bin/bash" > prerm + echo 'if [ $1 != "remove" ]; then exit 0; fi' >> prerm echo "echo Running texlinks --unlink" >> prerm echo "texlinks --unlink" >> prerm - echo "echo Removing bin/custom and texmf-dist" >> prerm - echo "rm -rf $TL_ROOT/{bin/custom,texmf-dist}" >> 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 } + +# Files to rm, first from texlive-$_MAJOR_VERSION-extra and then from install-tl-unx +TERMUX_PKG_RM_AFTER_INSTALL=" +share/texlive/README +share/texlive/README.usergroups +share/texlive/autorun.inf +share/texlive/doc.html +share/texlive/index.html +share/texlive/install-tl +share/texlive/install-tl-advanced.bat +share/texlive/install-tl-windows.bat +share/texlive/readme-html.dir/readme.ja.html +share/texlive/readme-html.dir/readme.ru.html +share/texlive/readme-html.dir/readme.zh-cn.html +share/texlive/readme-html.dir/readme.it.html +share/texlive/readme-html.dir/readme.es.html +share/texlive/readme-html.dir/readme.pl.html +share/texlive/readme-html.dir/readme.de.html +share/texlive/readme-html.dir/readme.fr.html +share/texlive/readme-html.dir/readme.sr.html +share/texlive/readme-html.dir/readme.pt-br.html +share/texlive/readme-html.dir/readme.en.html +share/texlive/readme-html.dir/readme.cs.html +share/texlive/readme-txt.dir/README.RU-koi8 +share/texlive/readme-txt.dir/README.EN +share/texlive/readme-txt.dir/README.FR +share/texlive/readme-txt.dir/README.SK-il2 +share/texlive/readme-txt.dir/README.SK-ascii +share/texlive/readme-txt.dir/README.RU +share/texlive/readme-txt.dir/README.IT +share/texlive/readme-txt.dir/README.CS +share/texlive/readme-txt.dir/README.JA +share/texlive/readme-txt.dir/README.ES +share/texlive/readme-txt.dir/README.ZH-CN +share/texlive/readme-txt.dir/README.DE +share/texlive/readme-txt.dir/README.PL +share/texlive/readme-txt.dir/README.SK-cp1250 +share/texlive/readme-txt.dir/README.SR +share/texlive/readme-txt.dir/README.PT-BR +share/texlive/readme-txt.dir/README.RU-cp1251 +share/texlive/tl-tray-menu.exe +share/texlive/tlpkg/tlpostcode/xetex.pl +share/texlive/tlpkg/tlpostcode/xetex/conf/fonts.conf +share/texlive/tlpkg/tlpostcode/xetex/conf/fonts.dtd +share/texlive/tlpkg/tlpostcode/xetex/conf/conf.d/51-local.conf +share/texlive/tlpkg/tlpostcode/xetex/cache/readme.txt +share/texlive/tlpkg/tlpostcode/ptex2pdf-tlpost.pl +share/texlive/texmf-dist/web2c/texmf.cnf +share/texlive/texmf-dist/scripts/texlive/fmtutil-user.sh +share/texlive/texmf-dist/scripts/texlive/rungs.tlu +share/texlive/texmf-dist/scripts/texlive/updmap-user.sh"