7d950cc3e1f96e1fd9d0eb62563a9babb516af93
[termux-packages] / packages / zsh / build.sh
1 TERMUX_PKG_HOMEPAGE=https://www.zsh.org
2 TERMUX_PKG_DESCRIPTION="Shell with lots of features"
3 TERMUX_PKG_VERSION=5.5
4 TERMUX_PKG_REVISION=1
5 TERMUX_PKG_SHA256=c3d57b92d75e29c8a49d2ff6d146ab63c5968bb7187bf1a9dd35464d22b33b6f
6 TERMUX_PKG_SRCURL=https://fossies.org/linux/misc/zsh-${TERMUX_PKG_VERSION}.tar.xz
7 # Remove hard link to bin/zsh as Android does not support hard links:
8 TERMUX_PKG_RM_AFTER_INSTALL="bin/zsh-${TERMUX_PKG_VERSION}"
9 TERMUX_PKG_DEPENDS="libandroid-support, ncurses, termux-tools, command-not-found, pcre"
10 TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
11 ac_cv_header_utmp_h=no
12 ac_cv_func_getpwuid=yes
13 --disable-gdbm
14 --enable-pcre
15 --enable-etcdir=$TERMUX_PREFIX/etc
16 "
17 TERMUX_PKG_CONFFILES="etc/zshrc"
18
19 termux_step_post_configure () {
20 # INSTALL file: "For a non-dynamic zsh, the default is to compile the complete, compctl, zle,
21 # computil, complist, sched, # parameter, zleparameter and rlimits modules into the shell,
22 # and you will need to edit config.modules to make any other modules available."
23 # Since we build zsh non-dynamically (since dynamic loading doesn't work on Android when enabled),
24 # we need to explicitly enable the additional modules we want.
25 # - The files module is needed by `compinstall` (https://github.com/termux/termux-packages/issues/61).
26 # - The regex module seems to be used by several extensions.
27 # - The curses, socket and zprof modules was desired by BrainDamage on IRC (#termux).
28 # - The deltochar and mathfunc modules is used by grml-zshrc (https://github.com/termux/termux-packages/issues/494).
29 # - The system module is needed by zplug (https://github.com/termux/termux-packages/issues/659).
30 # - The zpty is needed by zsh-async (https://github.com/termux/termux-packages/issues/672).
31 for module in files regex curses zprof socket system deltochar mathfunc zpty pcre; do
32 perl -p -i -e "s|${module}.mdd link=no|${module}.mdd link=static|" $TERMUX_PKG_BUILDDIR/config.modules
33 done
34 }
35
36 termux_step_post_make_install () {
37 # /etc/zshrc - Run for interactive shells (http://zsh.sourceforge.net/Guide/zshguide02.html):
38 sed "s|@TERMUX_PREFIX@|$TERMUX_PREFIX|" $TERMUX_PKG_BUILDER_DIR/etc-zshrc > $TERMUX_PREFIX/etc/zshrc
39
40 # Remove zsh.new/zsh.old/zsh-$version if any exists:
41 rm -f $TERMUX_PREFIX/{zsh-*,zsh.*}
42 }