From 4133a77c80fe0b8d6d980b7c11312a002159b321 Mon Sep 17 00:00:00 2001 From: its-pointless Date: Wed, 16 Jan 2019 14:24:08 +1100 Subject: [PATCH] vifm for api 21 --- packages/vifm/build.sh | 3 ++- packages/vifm/gmux_nix.c.patch | 11 +++++++++++ packages/vifm/lockf.c | 31 +++++++++++++++++++++++++++++++ packages/vifm/pthread.c.patch | 11 +++++++++++ packages/vifm/pthread.h.patch | 11 +++++++++++ 5 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 packages/vifm/gmux_nix.c.patch create mode 100644 packages/vifm/lockf.c create mode 100644 packages/vifm/pthread.c.patch create mode 100644 packages/vifm/pthread.h.patch diff --git a/packages/vifm/build.sh b/packages/vifm/build.sh index 3aa4277b0..186c8cc76 100644 --- a/packages/vifm/build.sh +++ b/packages/vifm/build.sh @@ -1,7 +1,7 @@ TERMUX_PKG_HOMEPAGE=https://vifm.info/ TERMUX_PKG_DESCRIPTION="File manager with vi like keybindings" TERMUX_PKG_LICENSE="GPL-2.0" -TERMUX_PKG_API_LEVEL=24 +TERMUX_PKG_REVISION=1 TERMUX_PKG_VERSION=0.10 TERMUX_PKG_SHA256=e5681c9e560e23d9deeec3b5b12e0ccad82612d9592c00407f3dd75cf5066548 TERMUX_PKG_SRCURL=https://github.com/vifm/vifm/archive/v${TERMUX_PKG_VERSION}.tar.gz @@ -15,4 +15,5 @@ termux_step_pre_configure() { # saved_umask = umask(~0600); export CFLAGS=${CFLAGS/-D_FORTIFY_SOURCE=2/} fi + cp $TERMUX_PKG_BUILDER_DIR/lockf.c src/utils/lockf.c } diff --git a/packages/vifm/gmux_nix.c.patch b/packages/vifm/gmux_nix.c.patch new file mode 100644 index 000000000..dcfccf830 --- /dev/null +++ b/packages/vifm/gmux_nix.c.patch @@ -0,0 +1,11 @@ +--- ../cache/vifm-0.10/src/utils/gmux_nix.c 2018-11-11 15:20:19.000000000 +0000 ++++ ./src/utils/gmux_nix.c 2019-01-16 03:17:11.261518251 +0000 +@@ -27,7 +27,7 @@ + + #include "path.h" + #include "str.h" +- ++#include "lockf.c" + /* Data of a single gmux instance. */ + struct gmux_t + { diff --git a/packages/vifm/lockf.c b/packages/vifm/lockf.c new file mode 100644 index 000000000..7019d3719 --- /dev/null +++ b/packages/vifm/lockf.c @@ -0,0 +1,31 @@ +#include +#include +#include + +int lockf(int fd, int op, off_t size) +{ + struct flock l = { + .l_type = F_WRLCK, + .l_whence = SEEK_CUR, + .l_len = size, + }; + switch (op) { + case F_TEST: + l.l_type = F_RDLCK; + if (fcntl(fd, F_GETLK, &l) < 0) + return -1; + if (l.l_type == F_UNLCK || l.l_pid == getpid()) + return 0; + errno = EACCES; + return -1; + case F_ULOCK: + l.l_type = F_UNLCK; + case F_TLOCK: + return fcntl(fd, F_SETLK, &l); + case F_LOCK: + return fcntl(fd, F_SETLKW, &l); + } + errno = EINVAL; + return -1; +} + diff --git a/packages/vifm/pthread.c.patch b/packages/vifm/pthread.c.patch new file mode 100644 index 000000000..71b344069 --- /dev/null +++ b/packages/vifm/pthread.c.patch @@ -0,0 +1,11 @@ +--- ../cache/vifm-0.10/src/compat/pthread.c 2018-11-11 15:20:19.000000000 +0000 ++++ ./src/compat/pthread.c 2019-01-16 03:08:28.369761090 +0000 +@@ -18,7 +18,7 @@ + + #include "pthread.h" + +-#ifdef __APPLE__ ++#ifdef __ANDROID__ + + #include /* assert() */ + #include /* EBUSY */ diff --git a/packages/vifm/pthread.h.patch b/packages/vifm/pthread.h.patch new file mode 100644 index 000000000..f0216aa45 --- /dev/null +++ b/packages/vifm/pthread.h.patch @@ -0,0 +1,11 @@ +--- ../cache/vifm-0.10/src/compat/pthread.h 2018-11-11 15:20:19.000000000 +0000 ++++ ./src/compat/pthread.h 2019-01-16 03:21:20.171148938 +0000 +@@ -21,7 +21,7 @@ + + #include + +-#ifdef __APPLE__ ++#ifdef __ANDROID__ + + typedef int pthread_spinlock_t; +