chiark / gitweb /
Enable command-not-found for bash and zsh interactive shells
authorFredrik Fornwall <fredrik@fornwall.net>
Mon, 13 Jul 2015 23:41:08 +0000 (19:41 -0400)
committerFredrik Fornwall <fredrik@fornwall.net>
Mon, 13 Jul 2015 23:41:08 +0000 (19:41 -0400)
packages/bash/build.sh
packages/bash/config-top.h.patch [new file with mode: 0644]
packages/bash/etc-bash.bashrc [new file with mode: 0644]
packages/zsh/build.sh
packages/zsh/etc-zshrc [new file with mode: 0644]

index 672d3115ffa04842b2e9346555fd000fb4de39dd..0c79cd7e71a0bdfdc47ca11d3ddaa8953c982987 100755 (executable)
@@ -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 (file)
index 0000000..94d8b78
--- /dev/null
@@ -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 (file)
index 0000000..3d1cba1
--- /dev/null
@@ -0,0 +1,3 @@
+command_not_found_handle() {
+       @TERMUX_PREFIX@/libexec/termux/command-not-found "$1"
+}
index 606607ee564ac592913e8db769b08a7433d63dbc..6538da7d2528d11abbfb1672f458c08bd832bd0e 100644 (file)
@@ -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 (file)
index 0000000..4d78a6e
--- /dev/null
@@ -0,0 +1,3 @@
+command_not_found_handler() {
+       @TERMUX_PREFIX@/libexec/termux/command-not-found $1
+}