Browse Source

newsboat fix for android 5

android-5
its-pointless 6 years ago
committed by Fredrik Fornwall
parent
commit
25acb593a8
  1. 3
      packages/newsboat/build.sh
  2. 11
      packages/newsboat/fslock.cpp.patch
  3. 31
      packages/newsboat/lockf.c

3
packages/newsboat/build.sh

@ -1,7 +1,6 @@
TERMUX_PKG_HOMEPAGE=https://newsboat.org/ TERMUX_PKG_HOMEPAGE=https://newsboat.org/
TERMUX_PKG_DESCRIPTION="RSS/Atom feed reader for the text console" TERMUX_PKG_DESCRIPTION="RSS/Atom feed reader for the text console"
TERMUX_PKG_LICENSE="MIT" TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_API_LEVEL=24
TERMUX_PKG_VERSION=2.14.1 TERMUX_PKG_VERSION=2.14.1
TERMUX_PKG_REVISION=2 TERMUX_PKG_REVISION=2
TERMUX_PKG_SHA256=4bd0d3b1901a3fc7e0ef73b800587c28181a57b175c36b547dbd84636330df66 TERMUX_PKG_SHA256=4bd0d3b1901a3fc7e0ef73b800587c28181a57b175c36b547dbd84636330df66
@ -15,7 +14,7 @@ TERMUX_PKG_REPLACES=newsbeuter
termux_step_pre_configure() { termux_step_pre_configure() {
termux_setup_rust termux_setup_rust
cp $TERMUX_PKG_BUILDER_DIR/lockf.c .
# Used by newsboat Makefile: # Used by newsboat Makefile:
export CARGO_BUILD_TARGET=$CARGO_TARGET_NAME export CARGO_BUILD_TARGET=$CARGO_TARGET_NAME
} }

11
packages/newsboat/fslock.cpp.patch

@ -0,0 +1,11 @@
--- ../cache/newsboat-2.12/src/fslock.cpp 2018-06-24 19:30:30.000000000 +0000
+++ ./src/fslock.cpp 2018-07-12 01:05:07.850121184 +0000
@@ -4,7 +4,7 @@
#include <string.h>
#include <sys/stat.h>
#include <unistd.h>
-
+#include "lockf.c"
#include "logger.h"
namespace newsboat {

31
packages/newsboat/lockf.c

@ -0,0 +1,31 @@
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
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;
}
Loading…
Cancel
Save