newsboat: Update from 2.10.1 to 2.10.2
authorFredrik Fornwall <fredrik@fornwall.net>
Tue, 26 Dec 2017 23:48:46 +0000 (00:48 +0100)
committerFredrik Fornwall <fredrik@fornwall.net>
Tue, 26 Dec 2017 23:48:46 +0000 (00:48 +0100)
packages/newsboat/003_lockf.patch [deleted file]
packages/newsboat/Makefile.patch
packages/newsboat/build.sh
packages/newsboat/src-fslock.cpp.patch [new file with mode: 0644]
packages/newsboat/src-inoreader_api.cpp.patch [new file with mode: 0644]
packages/newsboat/src-oldreader_api.cpp.patch [new file with mode: 0644]

diff --git a/packages/newsboat/003_lockf.patch b/packages/newsboat/003_lockf.patch
deleted file mode 100644 (file)
index 11df1f5..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -u -r ../newsbeuter-2.9/src/utils.cpp ./src/utils.cpp
---- ../newsbeuter-2.9/src/utils.cpp    2015-02-19 11:56:59.000000000 +0100
-+++ ./src/utils.cpp    2017-07-01 00:13:42.783350794 +0200
-@@ -37,6 +41,13 @@
- #include <openssl/crypto.h>
- #endif
-+#ifdef __ANDROID__
-+#include <sys/file.h>
-+inline int lockf(int fd, int cmd, off_t) {
-+    return flock(fd, cmd);
-+}
-+#endif
-+
- namespace newsbeuter {
- std::vector<std::string> utils::tokenize_quoted(const std::string& str, std::string delimiters) {
index 8c072c8..3de4a6a 100644 (file)
@@ -1,43 +1,65 @@
-diff -u -r ../newsboat-2.10.1/Makefile ./Makefile
---- ../newsboat-2.10.1/Makefile        2017-09-22 22:01:50.000000000 +0200
-+++ ./Makefile 2017-11-03 23:23:52.980621011 +0100
-@@ -21,8 +21,8 @@
+diff -u -r ../newsboat-2.10.2/Makefile ./Makefile
+--- ../newsboat-2.10.2/Makefile        2017-12-25 18:49:35.000000000 +0100
++++ ./Makefile 2017-12-27 00:19:11.167077932 +0100
+@@ -9,6 +9,7 @@
+ # compiler
+ CXX?=c++
++CXX_host?=c++
+ # compiler and linker flags
+ DEFINES=-DLOCALEDIR=\"$(localedir)\"
+@@ -20,8 +21,8 @@
  WARNFLAGS=-Werror -Wall -Wextra -Wunreachable-code
  INCLUDES=-Iinclude -Istfl -Ifilter -I. -Irss
- BARE_CXXFLAGS=-std=c++11 -ggdb $(INCLUDES)
+-BARE_CXXFLAGS=-std=c++11 -ggdb $(INCLUDES)
 -CXXFLAGS+=$(BARE_CXXFLAGS) $(WARNFLAGS) $(DEFINES)
--LDFLAGS+=-L. -fprofile-arcs -ftest-coverage
-+CXXFLAGS+=$(BARE_CXXFLAGS) $(WARNFLAGS) $(DEFINES) $(CPPFLAGS) -Wno-error=sign-compare -Wno-error=unused-lambda-capture
-+LDFLAGS+=-L.
++BARE_CXXFLAGS=-std=c++11 $(INCLUDES)
++CXXFLAGS+=$(BARE_CXXFLAGS) $(WARNFLAGS) $(DEFINES) $(CPPFLAGS)
+ LDFLAGS+=-L.
  
  PACKAGE=newsboat
-@@ -45,7 +45,7 @@
- NEWSBEUTER=newsboat
- NEWSBEUTER_SOURCES:=$(shell cat mk/newsbeuter.deps)
- NEWSBEUTER_OBJS:=$(patsubst %.cpp,%.o,$(NEWSBEUTER_SOURCES))
--NEWSBEUTER_LIBS=-lbeuter -lfilter -lpthread -lrsspp
-+NEWSBEUTER_LIBS=-lbeuter -lfilter -lrsspp -landroid-glob
+@@ -46,7 +47,7 @@
+ NEWSBOAT=newsboat
+ NEWSBOAT_SOURCES:=$(shell cat mk/newsboat.deps)
+ NEWSBOAT_OBJS:=$(patsubst %.cpp,%.o,$(NEWSBOAT_SOURCES))
+-NEWSBOAT_LIBS=-lboat -lfilter -lpthread -lrsspp
++NEWSBOAT_LIBS=-lboat -lfilter -lrsspp -landroid-glob
  
  RSSPPLIB_SOURCES=$(sort $(wildcard rss/*.cpp))
  RSSPPLIB_OBJS=$(patsubst rss/%.cpp,rss/%.o,$(RSSPPLIB_SOURCES))
-@@ -55,7 +55,7 @@
- PODBEUTER=podboat
- PODBEUTER_SOURCES:=$(shell cat mk/podbeuter.deps)
- PODBEUTER_OBJS:=$(patsubst %.cpp,%.o,$(PODBEUTER_SOURCES))
--PODBEUTER_LIBS=-lbeuter -lpthread
-+PODBEUTER_LIBS=-lbeuter
+@@ -56,7 +57,7 @@
+ PODBOAT=podboat
+ PODBOAT_SOURCES:=$(shell cat mk/podboat.deps)
+ PODBOAT_OBJS:=$(patsubst %.cpp,%.o,$(PODBOAT_SOURCES))
+-PODBOAT_LIBS=-lboat -lpthread
++PODBOAT_LIBS=-lboat
  
  ifeq (, $(filter Linux GNU GNU/%, $(shell uname -s)))
- NEWSBEUTER_LIBS+=-liconv -lintl
-@@ -67,8 +67,8 @@
- INSTALL=install
- A2X=a2x
- MSGFMT=msgfmt
--RANLIB=ranlib
--AR=ar
-+RANLIB?=ranlib
-+AR?=ar
- CHMOD=chmod
- STFLHDRS:=$(patsubst %.stfl,%.h,$(wildcard stfl/*.stfl))
+ NEWSBOAT_LIBS+=-liconv -lintl
+@@ -167,13 +168,13 @@
+       echo "td > pre { margin: 0; white-space: pre-wrap; }" >> doc/xhtml/docbook-xsl.css
+ doc/generate: doc/generate.cpp doc/split.h
+-      $(CXX) $(CXXFLAGS) -o doc/generate doc/generate.cpp
++      $(CXX_host) -o doc/generate doc/generate.cpp
+ doc/newsboat-cfgcmds.txt: doc/generate doc/configcommands.dsv
+       doc/generate doc/configcommands.dsv > doc/newsboat-cfgcmds.txt
+ doc/generate2: doc/generate2.cpp
+-      $(CXX) $(CXXFLAGS) -o doc/generate2 doc/generate2.cpp
++      $(CXX_host) -o doc/generate2 doc/generate2.cpp
+ doc/newsboat-keycmds.txt: doc/generate2 doc/keycmds.dsv
+       doc/generate2 doc/keycmds.dsv > doc/newsboat-keycmds.txt
+@@ -190,7 +191,7 @@
+       $(A2X) -f manpage doc/manpage-podboat.txt
+ doc/gen-example-config: doc/gen-example-config.cpp doc/split.h
+-      $(CXX) $(CXXFLAGS) -o doc/gen-example-config doc/gen-example-config.cpp
++      $(CXX_host) -o doc/gen-example-config doc/gen-example-config.cpp
+ doc/example-config: doc/gen-example-config doc/configcommands.dsv
+       cat doc/configcommands.dsv | doc/gen-example-config > doc/example-config
index 76ffe93..6c59567 100644 (file)
@@ -1,9 +1,8 @@
 TERMUX_PKG_HOMEPAGE=https://newsboat.org/
 TERMUX_PKG_DESCRIPTION="RSS/Atom feed reader for the text console"
-TERMUX_PKG_VERSION=2.10.1
-TERMUX_PKG_REVISION=1
+TERMUX_PKG_VERSION=2.10.2
 TERMUX_PKG_SRCURL=https://newsboat.org/releases/${TERMUX_PKG_VERSION}/newsboat-${TERMUX_PKG_VERSION}.tar.xz
-TERMUX_PKG_SHA256=44d698284246ad82e32fa7cb7f07086fa1ef8406baab09d33321e1252f9cf8f5
+TERMUX_PKG_SHA256=fda6b44f5c3a23ce46c85b40a6f4f0257c024d79bb8de325aa2cd73d43ef96f4
 TERMUX_PKG_DEPENDS="libandroid-support, libandroid-glob, json-c, libsqlite, libcurl, libxml2, stfl, ncurses, openssl"
 TERMUX_PKG_BUILD_IN_SRC=yes
 TERMUX_PKG_RM_AFTER_INSTALL="share/locale"
diff --git a/packages/newsboat/src-fslock.cpp.patch b/packages/newsboat/src-fslock.cpp.patch
new file mode 100644 (file)
index 0000000..549b0a3
--- /dev/null
@@ -0,0 +1,26 @@
+diff -u -r ../newsboat-2.10.2/src/fslock.cpp ./src/fslock.cpp
+--- ../newsboat-2.10.2/src/fslock.cpp  2017-12-25 18:49:35.000000000 +0100
++++ ./src/fslock.cpp   2017-12-26 23:47:20.520356104 +0100
+@@ -5,6 +5,10 @@
+ #include <fcntl.h>
+ #include <string.h>
++#ifdef __ANDROID__
++#include <sys/file.h>
++#endif
++
+ #include <logger.h>
+ namespace newsboat {
+@@ -40,7 +44,11 @@
+       }
+       // then we lock it (returns immediately if locking is not possible)
++#ifdef __ANDROID__
++      if (flock(fd, LOCK_EX) == 0) {
++#else
+       if (lockf(fd, F_TLOCK, 0) == 0) {
++#endif
+               LOG(level::DEBUG, "FSLock: locked `%s', writing PID...", new_lock_filepath);
+               std::string pidtext = std::to_string(getpid());
+               // locking successful -> truncate file and write own PID into it
diff --git a/packages/newsboat/src-inoreader_api.cpp.patch b/packages/newsboat/src-inoreader_api.cpp.patch
new file mode 100644 (file)
index 0000000..4cbc6d9
--- /dev/null
@@ -0,0 +1,12 @@
+diff -u -r ../newsboat-2.10.2/src/inoreader_api.cpp ./src/inoreader_api.cpp
+--- ../newsboat-2.10.2/src/inoreader_api.cpp   2017-12-25 18:49:35.000000000 +0100
++++ ./src/inoreader_api.cpp    2017-12-27 00:18:36.167450052 +0100
+@@ -136,7 +136,7 @@
+               json_object_object_get_ex(sub, "categories", &node);
+               struct array_list * categories = json_object_get_array(node);
+-              for (int i = 0; i < array_list_length(categories); i++) {
++              for (size_t i = 0; i < array_list_length(categories); i++) {
+                       json_object* cat = json_object_array_get_idx(node, i);
+                       json_object* label_node {};
+                       json_object_object_get_ex(cat, "label", &label_node);
diff --git a/packages/newsboat/src-oldreader_api.cpp.patch b/packages/newsboat/src-oldreader_api.cpp.patch
new file mode 100644 (file)
index 0000000..ad1ef2f
--- /dev/null
@@ -0,0 +1,12 @@
+diff -u -r ../newsboat-2.10.2/src/oldreader_api.cpp ./src/oldreader_api.cpp
+--- ../newsboat-2.10.2/src/oldreader_api.cpp   2017-12-25 18:49:35.000000000 +0100
++++ ./src/oldreader_api.cpp    2017-12-26 23:50:14.802426368 +0100
+@@ -134,7 +134,7 @@
+                       json_object_object_get_ex(sub, "categories", &node);
+                       struct array_list * categories = json_object_get_array(node);
+-                      for (int i = 0; i < array_list_length(categories); i++) {
++                      for (size_t i = 0; i < array_list_length(categories); i++) {
+                               json_object* cat = json_object_array_get_idx(node, i);
+                               json_object* label_node {};
+                               json_object_object_get_ex(cat, "label", &label_node);