chiark / gitweb /
1f59662a7f775958de665e89673155f8a1f66a6e
[termux-packages] / packages / texlive / build.sh
1 TERMUX_PKG_HOMEPAGE=https://www.tug.org/texlive/
2 TERMUX_PKG_DESCRIPTION="TeX Live is a distribution of the TeX typesetting system."
3 TERMUX_PKG_MAINTAINER="Henrik Grimler @Grimler91"
4 _MAJOR_VERSION=20170524
5 TERMUX_PKG_VERSION=${_MAJOR_VERSION}
6 TERMUX_PKG_REVISION=5
7 TERMUX_PKG_SRCURL=("ftp://ftp.tug.org/texlive/historic/${TERMUX_PKG_VERSION:0:4}/"\
8 {"texlive-$_MAJOR_VERSION-texmf.tar.xz",\
9 "texlive-$_MAJOR_VERSION-extra.tar.xz",\
10 "install-tl-unx.tar.gz"})
11 TERMUX_PKG_SHA256=("3f63708b77f8615ec6f2f7c93259c5f584d1b89dd335a28f2362aef9e6f0c9ec"
12 "afe49758c26fb51c2fae2e958d3f0c447b5cc22342ba4a4278119d39f5176d7f"
13 "d4e07ed15dace1ea7fabe6d225ca45ba51f1cb7783e17850bc9fe3b890239d6d")
14 TERMUX_PKG_DEPENDS="wget, perl, xz-utils, gnupg2, texlive-bin (>= 20170524-5)"
15 TERMUX_PKG_CONFLICTS="texlive (<< 20170524-5)"
16 TERMUX_PKG_FOLDERNAME=("texlive-$_MAJOR_VERSION-texmf"
17 "texlive-$_MAJOR_VERSION-extra"
18 "install-tl-$_MAJOR_VERSION")
19 TL_FILE_LISTS=("texlive-texmf.list"
20 "texlive-extra.list"
21 "install-tl.list")
22 TERMUX_PKG_PLATFORM_INDEPENDENT=yes
23
24 TL_ROOT=$TERMUX_PREFIX/share/texlive
25 TL_BINDIR=$TERMUX_PREFIX/bin
26
27 termux_step_extract_package() {
28         mkdir -p "$TERMUX_PKG_SRCDIR"
29         
30         cd "$TERMUX_PKG_TMPDIR"
31         for index in $(seq 0 2); do
32                 local filename
33                 filename=$(basename "${TERMUX_PKG_SRCURL[$index]}")
34                 local file="$TERMUX_PKG_CACHEDIR/$filename"
35                 termux_download "${TERMUX_PKG_SRCURL[$index]}" "$file" "${TERMUX_PKG_SHA256[$index]}"
36                 
37                 folder=${TERMUX_PKG_FOLDERNAME[$index]}
38                 
39                 rm -Rf $folder
40                 echo "Extracting files listed in ${TL_FILE_LISTS[$index]} from $folder"
41                 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]} )
42         done
43         cp -r ${TERMUX_PKG_FOLDERNAME[@]} "$TERMUX_PKG_SRCDIR"
44 }
45
46 termux_step_make() {
47         for index in $( seq 0 2 ); do
48                 cp -r $TERMUX_PKG_SRCDIR/${TERMUX_PKG_FOLDERNAME[$index]}/* $TL_ROOT/
49         done
50         
51         mkdir -p $TL_ROOT/{tlpkg/{backups,tlpobj},texmf-var/web2c}
52         cp $TERMUX_PKG_BUILDER_DIR/texlive.tlpdb $TL_ROOT/tlpkg/
53         
54         perl -I$TL_ROOT/tlpkg/ $TL_ROOT/texmf-dist/scripts/texlive/mktexlsr.pl $TL_ROOT/texmf-dist
55 }
56
57 termux_step_create_debscripts () {
58         # Clean texlive's folder if needed (run on upgrade)
59         echo "#!$TERMUX_PREFIX/bin/bash" > preinst
60         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
61         echo "exit 0" >> preinst
62         chmod 0755 preinst
63         
64         echo "#!$TERMUX_PREFIX/bin/bash" > postinst
65         echo "mkdir -p $TL_ROOT/{tlpkg/{backups,tlpobj},texmf-var/{web2c,tex/generic/config}}" >> postinst
66         echo "export TMPDIR=$TERMUX_PREFIX/tmp" >> postinst
67         echo "echo Updating tlmgr" >> postinst
68         echo "tlmgr update --self" >> postinst
69         echo "echo Generating language files and setting up symlinks" >> postinst
70         echo "tlmgr -q generate language" >> postinst
71         echo "mktexlsr $TL_ROOT/texmf-var" >> postinst
72         echo "texlinks" >> postinst
73         echo "echo ''" >> postinst
74         echo "echo Welcome to TeX Live!" >> postinst
75         echo "echo ''" >> postinst
76         echo "echo 'TeX Live is a joint project of the TeX user groups around the world;'" >> postinst
77         echo "echo 'please consider supporting it by joining the group best for you.'" >> postinst
78         echo "echo 'The list of groups is available on the web at http://tug.org/usergroups.html.'" >> postinst
79         echo "exit 0" >> postinst
80         chmod 0755 postinst
81
82         # Remove all files installed through tlmgr on removal
83         echo "#!$TERMUX_PREFIX/bin/bash" > prerm
84         echo 'if [ $1 != "remove" ]; then exit 0; fi' >> prerm
85         echo "echo Running texlinks --unlink" >> prerm
86         echo "texlinks --unlink" >> prerm
87         echo "echo Removing texmf-dist" >> prerm
88         echo "rm -rf $TL_ROOT/texmf-dist" >> prerm
89         echo "echo Removing texmf-var and tlpkg" >> prerm
90         echo "rm -rf $TL_ROOT/{texmf-var,tlpkg/{texlive.tlpdb.*,tlpobj,backups}}" >> prerm
91         echo "exit 0" >> prerm
92         chmod 0755 prerm
93 }
94
95 # Files to rm, first from texlive-$_MAJOR_VERSION-extra and then from install-tl-unx
96 TERMUX_PKG_RM_AFTER_INSTALL="
97 share/texlive/README
98 share/texlive/README.usergroups
99 share/texlive/autorun.inf
100 share/texlive/doc.html
101 share/texlive/index.html
102 share/texlive/install-tl
103 share/texlive/install-tl-advanced.bat
104 share/texlive/install-tl-windows.bat
105 share/texlive/readme-html.dir/readme.ja.html
106 share/texlive/readme-html.dir/readme.ru.html
107 share/texlive/readme-html.dir/readme.zh-cn.html
108 share/texlive/readme-html.dir/readme.it.html
109 share/texlive/readme-html.dir/readme.es.html
110 share/texlive/readme-html.dir/readme.pl.html
111 share/texlive/readme-html.dir/readme.de.html
112 share/texlive/readme-html.dir/readme.fr.html
113 share/texlive/readme-html.dir/readme.sr.html
114 share/texlive/readme-html.dir/readme.pt-br.html
115 share/texlive/readme-html.dir/readme.en.html
116 share/texlive/readme-html.dir/readme.cs.html
117 share/texlive/readme-txt.dir/README.RU-koi8
118 share/texlive/readme-txt.dir/README.EN
119 share/texlive/readme-txt.dir/README.FR
120 share/texlive/readme-txt.dir/README.SK-il2
121 share/texlive/readme-txt.dir/README.SK-ascii
122 share/texlive/readme-txt.dir/README.RU
123 share/texlive/readme-txt.dir/README.IT
124 share/texlive/readme-txt.dir/README.CS
125 share/texlive/readme-txt.dir/README.JA
126 share/texlive/readme-txt.dir/README.ES
127 share/texlive/readme-txt.dir/README.ZH-CN
128 share/texlive/readme-txt.dir/README.DE
129 share/texlive/readme-txt.dir/README.PL
130 share/texlive/readme-txt.dir/README.SK-cp1250
131 share/texlive/readme-txt.dir/README.SR
132 share/texlive/readme-txt.dir/README.PT-BR
133 share/texlive/readme-txt.dir/README.RU-cp1251
134 share/texlive/tl-tray-menu.exe
135 share/texlive/tlpkg/tlpostcode/xetex.pl
136 share/texlive/tlpkg/tlpostcode/xetex/conf/fonts.conf
137 share/texlive/tlpkg/tlpostcode/xetex/conf/fonts.dtd
138 share/texlive/tlpkg/tlpostcode/xetex/conf/conf.d/51-local.conf
139 share/texlive/tlpkg/tlpostcode/xetex/cache/readme.txt
140 share/texlive/tlpkg/tlpostcode/ptex2pdf-tlpost.pl
141 share/texlive/texmf-dist/web2c/texmf.cnf"