From 3cc4ef712eecd6723efccb686cbfa76c74e224fb Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Mon, 13 Jul 2015 19:41:08 -0400 Subject: [PATCH] Enable command-not-found for bash and zsh interactive shells --- packages/bash/build.sh | 6 ++++-- packages/bash/config-top.h.patch | 12 ++++++++++++ packages/bash/etc-bash.bashrc | 3 +++ packages/zsh/build.sh | 9 +++++++-- packages/zsh/etc-zshrc | 3 +++ 5 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 packages/bash/config-top.h.patch create mode 100644 packages/bash/etc-bash.bashrc create mode 100644 packages/zsh/etc-zshrc diff --git a/packages/bash/build.sh b/packages/bash/build.sh index 672d3115..0c79cd7e 100755 --- a/packages/bash/build.sh +++ b/packages/bash/build.sh @@ -1,10 +1,10 @@ TERMUX_PKG_HOMEPAGE=http://www.gnu.org/software/bash/ TERMUX_PKG_DESCRIPTION="A sh-compatible shell that incorporates useful features from the Korn shell (ksh) and C shell (csh)" -TERMUX_PKG_DEPENDS="ncurses, readline, libandroid-support, termux-tools" +TERMUX_PKG_DEPENDS="ncurses, readline, libandroid-support, termux-tools, command-not-found" _MAIN_VERSION=4.3 _PATCH_VERSION=39 TERMUX_PKG_VERSION=${_MAIN_VERSION}.${_PATCH_VERSION} -TERMUX_PKG_BUILD_REVISION=2 +TERMUX_PKG_BUILD_REVISION=4 TERMUX_PKG_SRCURL=http://ftp.gnu.org/gnu/bash/bash-${_MAIN_VERSION}.tar.gz TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--enable-multibyte --without-bash-malloc --with-installed-readline ac_cv_header_grp_h=no ac_cv_header_pwd_h=no ac_cv_rl_version=6.3" @@ -21,4 +21,6 @@ termux_step_pre_configure () { termux_step_post_make_install () { sed "s|@TERMUX_PREFIX@|$TERMUX_PREFIX|" $TERMUX_PKG_BUILDER_DIR/etc-profile > $TERMUX_PREFIX/etc/profile + # /etc/bash.bashrc - System-wide .bashrc file for interactive shells. (config-top.h in bash source, patched to enable): + sed "s|@TERMUX_PREFIX@|$TERMUX_PREFIX|" $TERMUX_PKG_BUILDER_DIR/etc-bash.bashrc > $TERMUX_PREFIX/etc/bash.bashrc } diff --git a/packages/bash/config-top.h.patch b/packages/bash/config-top.h.patch new file mode 100644 index 00000000..94d8b782 --- /dev/null +++ b/packages/bash/config-top.h.patch @@ -0,0 +1,12 @@ +diff -u -r ../bash-4.3/config-top.h ./config-top.h +--- ../bash-4.3/config-top.h 2012-08-18 20:51:30.000000000 -0400 ++++ ./config-top.h 2015-07-13 19:19:51.094508470 -0400 +@@ -80,7 +80,7 @@ + #define KSH_COMPATIBLE_SELECT + + /* System-wide .bashrc file for interactive shells. */ +-/* #define SYS_BASHRC "/etc/bash.bashrc" */ ++#define SYS_BASHRC "@TERMUX_PREFIX@/etc/bash.bashrc" + + /* System-wide .bash_logout for login shells. */ + /* #define SYS_BASH_LOGOUT "/etc/bash.bash_logout" */ diff --git a/packages/bash/etc-bash.bashrc b/packages/bash/etc-bash.bashrc new file mode 100644 index 00000000..3d1cba14 --- /dev/null +++ b/packages/bash/etc-bash.bashrc @@ -0,0 +1,3 @@ +command_not_found_handle() { + @TERMUX_PREFIX@/libexec/termux/command-not-found "$1" +} diff --git a/packages/zsh/build.sh b/packages/zsh/build.sh index 606607ee..6538da7d 100644 --- a/packages/zsh/build.sh +++ b/packages/zsh/build.sh @@ -1,8 +1,13 @@ TERMUX_PKG_HOMEPAGE="http://www.zsh.org/" TERMUX_PKG_DESCRIPTION="Shell designed for interactive use, although it is also a powerful scripting language" TERMUX_PKG_VERSION=5.0.8 -TERMUX_PKG_BUILD_REVISION=3 +TERMUX_PKG_BUILD_REVISION=4 TERMUX_PKG_SRCURL="http://downloads.sourceforge.net/project/zsh/zsh/${TERMUX_PKG_VERSION}/zsh-${TERMUX_PKG_VERSION}.tar.bz2" TERMUX_PKG_RM_AFTER_INSTALL="bin/zsh-${TERMUX_PKG_VERSION}" -TERMUX_PKG_DEPENDS="libandroid-support, ncurses, termux-tools" +TERMUX_PKG_DEPENDS="libandroid-support, ncurses, termux-tools, command-not-found" TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--enable-etcdir=$TERMUX_PREFIX/etc --disable-gdbm --disable-pcre ac_cv_header_utmp_h=no" + +termux_step_post_make_install () { + # /etc/zshrc - Run for interactive shells (http://zsh.sourceforge.net/Guide/zshguide02.html): + sed "s|@TERMUX_PREFIX@|$TERMUX_PREFIX|" $TERMUX_PKG_BUILDER_DIR/etc-zshrc > $TERMUX_PREFIX/etc/zshrc +} diff --git a/packages/zsh/etc-zshrc b/packages/zsh/etc-zshrc new file mode 100644 index 00000000..4d78a6ec --- /dev/null +++ b/packages/zsh/etc-zshrc @@ -0,0 +1,3 @@ +command_not_found_handler() { + @TERMUX_PREFIX@/libexec/termux/command-not-found $1 +} -- 2.11.0