TERMUX_PKG_HOMEPAGE=https://github.com/junegunn/fzf
TERMUX_PKG_DESCRIPTION="Command-line fuzzy finder"
-TERMUX_PKG_VERSION=0.11.2
+TERMUX_PKG_VERSION=0.16.5
TERMUX_PKG_SRCURL=https://github.com/junegunn/fzf/archive/${TERMUX_PKG_VERSION}.tar.gz
-TERMUX_PKG_FOLDERNAME=fzf-${TERMUX_PKG_VERSION}
+TERMUX_PKG_SHA256=7add1b5290af779fc1c6a3e306d696fb0e833d4efb5b60d94f9c424ac1b6f9fe
+TERMUX_PKG_FOLDERNAME=fzf-$TERMUX_PKG_VERSION
TERMUX_PKG_BUILD_IN_SRC="yes"
-TERMUX_PKG_DEPENDS="bash, ncurses"
+# Depend on findutils as fzf uses the -fstype option, which busybox
+# find does not support, when invoking find:
+TERMUX_PKG_DEPENDS="bash, findutils"
termux_step_make_install () {
- export GOPATH=$TERMUX_PKG_TMPDIR
- cd $GOPATH
- mkdir -p src/github.com/junegunn/fzf
- cp -Rf $TERMUX_PKG_SRCDIR/* src/github.com/junegunn/fzf
-
termux_setup_golang
- export CGO_CFLAGS="-I$TERMUX_PREFIX/include -L$TERMUX_PREFIX/lib"
+ export CGO_CFLAGS="-I$TERMUX_PREFIX/include"
export CGO_LDFLAGS="-L$TERMUX_PREFIX/lib"
- mkdir -p $GOPATH/src/github.com/junegunn/fzf/src/vendor/github.com/junegunn/{go-runewidth,go-shellwords}
- for file in runewidth.go runewidth_posix.go; do
- curl -o $GOPATH/src/github.com/junegunn/fzf/src/vendor/github.com/junegunn/go-runewidth/$file \
- https://raw.githubusercontent.com/junegunn/go-runewidth/master/$file
- done
- for file in shellwords.go util_posix.go; do
- curl -o $GOPATH/src/github.com/junegunn/fzf/src/vendor/github.com/junegunn/go-shellwords/$file \
- https://raw.githubusercontent.com/junegunn/go-shellwords/master/$file
- done
-
- cd $GOPATH/src/github.com/junegunn/fzf/src/fzf
- CGO_ENABLED=1 go build -a -ldflags="-extldflags=-pie" -o $TERMUX_PREFIX/bin/fzf
+ # See the fzf Makefile:
+ local _BINARY="fzf/fzf-${GOOS}_"
+ if [ $TERMUX_ARCH = "arm" ]; then
+ _BINARY+="arm7"
+ elif [ $TERMUX_ARCH = "i686" ]; then
+ _BINARY+="386"
+ elif [ $TERMUX_ARCH = "x86_64" ]; then
+ _BINARY+="amd64"
+ elif [ $TERMUX_ARCH = "aarch64" ]; then
+ _BINARY+="arm8"
+ else
+ termux_error_exit "Unsupported arch: $TERMUX_ARCH"
+ fi
+
+ cd $TERMUX_PKG_SRCDIR/src
+ LDFLAGS="-pie" make $_BINARY
+ cp $_BINARY $TERMUX_PREFIX/bin/fzf
# Install fzf-tmux, a bash script for launching fzf in a tmux pane:
cp $TERMUX_PKG_SRCDIR/bin/fzf-tmux $TERMUX_PREFIX/bin
cp $TERMUX_PKG_SRCDIR/man/man1/fzf.1 $TERMUX_PREFIX/share/man/man1/
# Install the vim plugin:
- mkdir -p $TERMUX_PREFIX/share/vim/vim74/plugin
- cp $TERMUX_PKG_SRCDIR/plugin/fzf.vim $TERMUX_PREFIX/share/vim/vim74/plugin/fzf.vim
+ mkdir -p $TERMUX_PREFIX/share/vim/vim80/plugin
+ cp $TERMUX_PKG_SRCDIR/plugin/fzf.vim $TERMUX_PREFIX/share/vim/vim80/plugin/fzf.vim
+
+ # Install bash, zsh and fish helper scripts:
+ mkdir -p "$TERMUX_PREFIX/share/fzf"
+ cp $TERMUX_PKG_SRCDIR/shell/* "$TERMUX_PREFIX/share/fzf"
# Install the nvim plugin:
mkdir -p $TERMUX_PREFIX/share/nvim/runtime/plugin
cp $TERMUX_PKG_SRCDIR/plugin/fzf.vim $TERMUX_PREFIX/share/nvim/runtime/plugin/
}
-termux_step_post_make_install () {
+termux_step_post_massage () {
# Remove so that the vim build doesn't add it to vim-runtime:
- rm $TERMUX_PREFIX/share/vim/vim74/plugin/fzf.vim
+ rm $TERMUX_PREFIX/share/vim/vim80/plugin/fzf.vim
}