From 80bb2771686802d084be995be00307afea9270d1 Mon Sep 17 00:00:00 2001 From: Tee KOBAYASHI Date: Thu, 5 May 2022 10:32:57 +0900 Subject: [PATCH] newsboat: Update to 2.27 --- packages/newsboat/Makefile.patch | 6 ++-- packages/newsboat/build.sh | 7 ++--- packages/newsboat/mbc_write.patch | 23 -------------- .../rust-libnewsboat-Cargo.toml.patch | 17 +++++------ ...ust-libnewsboat-src-cliargsparser.rs.patch | 30 +++++++++---------- ...rust-libnewsboat-src-filterparser.rs.patch | 27 ++++++++--------- .../rust-libnewsboat-src-fslock.rs.patch | 18 +++++------ 7 files changed, 49 insertions(+), 79 deletions(-) delete mode 100644 packages/newsboat/mbc_write.patch diff --git a/packages/newsboat/Makefile.patch b/packages/newsboat/Makefile.patch index 250d5db47..09f2a0636 100644 --- a/packages/newsboat/Makefile.patch +++ b/packages/newsboat/Makefile.patch @@ -1,9 +1,9 @@ ---- ./Makefile.orig 2021-05-17 17:50:10.616157051 +0000 -+++ ./Makefile 2021-05-17 17:50:26.808091973 +0000 +--- a/Makefile ++++ b/Makefile @@ -51,7 +51,7 @@ WARNFLAGS=-Werror -Wall -Wextra -Wunreachable-code - INCLUDES=-Iinclude -Istfl -Ifilter -I. -Irss -I$(relative_cargo_target_dir)/cxxbridge/libnewsboat-ffi/src/ + INCLUDES=-Iinclude -Istfl -Ifilter -I. -Irss -I$(relative_cargo_target_dir)/cxxbridge/ -BARE_CXXFLAGS=-std=c++11 -O2 -ggdb $(INCLUDES) +BARE_CXXFLAGS=-std=c++11 -O2 $(INCLUDES) LDFLAGS+=-L. diff --git a/packages/newsboat/build.sh b/packages/newsboat/build.sh index 3dc78efe1..d39a31af3 100644 --- a/packages/newsboat/build.sh +++ b/packages/newsboat/build.sh @@ -2,11 +2,10 @@ TERMUX_PKG_HOMEPAGE=https://newsboat.org/ TERMUX_PKG_DESCRIPTION="RSS/Atom feed reader for the text console" TERMUX_PKG_LICENSE="MIT" TERMUX_PKG_MAINTAINER="@termux" -TERMUX_PKG_VERSION=2.24 -TERMUX_PKG_REVISION=5 +TERMUX_PKG_VERSION=2.27 TERMUX_PKG_SRCURL=https://newsboat.org/releases/${TERMUX_PKG_VERSION}/newsboat-${TERMUX_PKG_VERSION}.tar.xz -TERMUX_PKG_SHA256=62420688cca25618859548d10ff6df9ac75b9cf766699f37edd3e324d67c6ffb -TERMUX_PKG_DEPENDS="libc++, libiconv, libandroid-support, libandroid-glob, json-c, libsqlite, libcurl, libxml2, stfl, ncurses, openssl" +TERMUX_PKG_SHA256=fd5a40096689d4fc0f18441319197769fa377709821b1a3f1b2ba1f006625285 +TERMUX_PKG_DEPENDS="json-c, libandroid-glob, libandroid-support, libc++, libcurl, libiconv, libsqlite, libxml2, ncurses, openssl, stfl" TERMUX_PKG_BUILD_IN_SRC=true TERMUX_PKG_RM_AFTER_INSTALL="share/locale" TERMUX_PKG_EXTRA_CONFIGURE_ARGS="ac_cv_lib_bsd_main=no" diff --git a/packages/newsboat/mbc_write.patch b/packages/newsboat/mbc_write.patch deleted file mode 100644 index ea4db7fb3..000000000 --- a/packages/newsboat/mbc_write.patch +++ /dev/null @@ -1,23 +0,0 @@ -commit dcced88a134f79cc5ccbe36ed5be51d73bd8f356 -Author: mcz -Date: Sun Aug 22 20:50:26 2021 +0200 - - Fix write outside of bounds - - Adding terminating '\0' to the mbc results in a crash when pos == MB_LEN_MAX, - which is true for 4-byte characters and musl. - -diff --git a/src/tagsouppullparser.cpp b/src/tagsouppullparser.cpp -index de62d3ec..da0aabed 100644 ---- a/src/tagsouppullparser.cpp -+++ b/src/tagsouppullparser.cpp -@@ -485,8 +485,7 @@ std::string TagSoupPullParser::decode_entity(std::string s) - - const int pos = wcrtomb(mbc, static_cast(wc), &mb_state); - if (pos > 0) { -- mbc[pos] = '\0'; -- result.append(mbc); -+ result.append(mbc, pos); - } - LOG(Level::DEBUG, - "TagSoupPullParser::decode_entity: wc = %u pos = %d " diff --git a/packages/newsboat/rust-libnewsboat-Cargo.toml.patch b/packages/newsboat/rust-libnewsboat-Cargo.toml.patch index d8034bdf2..9cefd016c 100644 --- a/packages/newsboat/rust-libnewsboat-Cargo.toml.patch +++ b/packages/newsboat/rust-libnewsboat-Cargo.toml.patch @@ -1,18 +1,15 @@ -diff -uNr newsboat-2.24/rust/libnewsboat/Cargo.toml newsboat-2.24.mod/rust/libnewsboat/Cargo.toml ---- newsboat-2.24/rust/libnewsboat/Cargo.toml 2021-06-20 20:40:09.000000000 +0300 -+++ newsboat-2.24.mod/rust/libnewsboat/Cargo.toml 2021-07-17 22:24:18.930766657 +0300 -@@ -17,7 +17,7 @@ +--- a/rust/libnewsboat/Cargo.toml ++++ b/rust/libnewsboat/Cargo.toml +@@ -17,18 +17,12 @@ backtrace = "= 0.3" - unicode-width = "0.1.8" - nom = "6" + unicode-width = "0.1.9" + nom = "7" -libc = "0.2" +libc = "0.2.94" natord = "1.0.9" + md5 = "0.7.0" - [dependencies.clap] -@@ -31,12 +31,6 @@ - # I want as little dependencies as practically possible. - default-features = false + lexopt = "0.2.0" -[dependencies.gettext-rs] -version = "0.7.0" diff --git a/packages/newsboat/rust-libnewsboat-src-cliargsparser.rs.patch b/packages/newsboat/rust-libnewsboat-src-cliargsparser.rs.patch index 199ded685..76f7700b5 100644 --- a/packages/newsboat/rust-libnewsboat-src-cliargsparser.rs.patch +++ b/packages/newsboat/rust-libnewsboat-src-cliargsparser.rs.patch @@ -1,18 +1,16 @@ -diff -u -r ../newsboat-2.20.1/rust/libnewsboat/src/cliargsparser.rs ./rust/libnewsboat/src/cliargsparser.rs ---- ../newsboat-2.20.1/rust/libnewsboat/src/cliargsparser.rs 2020-06-24 09:51:43.000000000 +0000 -+++ ./rust/libnewsboat/src/cliargsparser.rs 2020-08-12 07:29:06.630175000 +0000 -@@ -1,5 +1,4 @@ - use clap::{App, Arg}; +--- a/rust/libnewsboat/src/cliargsparser.rs ++++ b/rust/libnewsboat/src/cliargsparser.rs +@@ -1,4 +1,3 @@ -use gettextrs::gettext; + use lexopt::{Parser, ValueExt}; use libc::{EXIT_FAILURE, EXIT_SUCCESS}; - use std::path::PathBuf; - -@@ -286,7 +285,7 @@ - } - _ => { - args.display_msg = fmt!( -- &gettext("%s: %s: invalid loglevel value"), -+ "%s: %s: invalid loglevel value", - &opts[0], - log_level_str - ); + use std::ffi::{OsStr, OsString}; +@@ -205,7 +204,7 @@ + } + Err(()) => { + return Err(CliParseError::InvalidLogLevel(fmt!( +- &gettext("%s: %s: invalid loglevel value"), ++ "%s: %s: invalid loglevel value", + &args.program_name, + log_level_str.to_string_lossy().to_string() + ))); diff --git a/packages/newsboat/rust-libnewsboat-src-filterparser.rs.patch b/packages/newsboat/rust-libnewsboat-src-filterparser.rs.patch index f070ba14f..817347af3 100644 --- a/packages/newsboat/rust-libnewsboat-src-filterparser.rs.patch +++ b/packages/newsboat/rust-libnewsboat-src-filterparser.rs.patch @@ -1,5 +1,5 @@ ---- ./rust/libnewsboat/src/filterparser.rs.orig 2021-05-17 15:52:16.226226704 +0000 -+++ ./rust/libnewsboat/src/filterparser.rs 2021-05-17 15:53:32.474081081 +0000 +--- a/rust/libnewsboat/src/filterparser.rs ++++ b/rust/libnewsboat/src/filterparser.rs @@ -1,6 +1,5 @@ //! Parses filter expressions. @@ -22,22 +22,21 @@ } } -@@ -425,19 +424,19 @@ - let err = match error { +@@ -423,18 +422,18 @@ Error::TrailingCharacters(pos, tail) => fmt!( - // The "%{}" thing is a number, a zero-based offset into a string. -- &gettext("Parse error: trailing characters after position %{}: %s"), -+ "Parse error: trailing characters after position %{}: %s", - PRIu64, - pos as u64, + // The first %s is an integer offset at which trailing characters start, the + // second %s is the tail itself. +- &gettext("Parse error: trailing characters after position %s: %s"), ++ "Parse error: trailing characters after position %s: %s", + &pos.to_string(), tail ), Error::AtPos(pos, expected) => fmt!( - // The "%{}" thing is a number, a zero-based offset into a string. -- &gettext("Parse error at position %{}: expected %s"), -+ "Parse error at position %{}: expected %s", - PRIu64, - pos as u64, + // The first %s is a zero-based offset into the string, the second %s is the + // description of what the program expected at that point. +- &gettext("Parse error at position %s: expected %s"), ++ "Parse error at position %s: expected %s", + &pos.to_string(), &translate_expected(expected) ), - Error::Internal => fmt!(&gettext("Internal parse error")), diff --git a/packages/newsboat/rust-libnewsboat-src-fslock.rs.patch b/packages/newsboat/rust-libnewsboat-src-fslock.rs.patch index 22a024f4f..d24ea0a5c 100644 --- a/packages/newsboat/rust-libnewsboat-src-fslock.rs.patch +++ b/packages/newsboat/rust-libnewsboat-src-fslock.rs.patch @@ -1,5 +1,5 @@ ---- ./rust/libnewsboat/src/fslock.rs.orig 2021-05-17 16:33:46.781835254 +0000 -+++ ./rust/libnewsboat/src/fslock.rs 2021-05-17 16:34:30.623855213 +0000 +--- a/rust/libnewsboat/src/fslock.rs ++++ b/rust/libnewsboat/src/fslock.rs @@ -1,5 +1,4 @@ use crate::logger::{self, Level}; -use gettextrs::gettext; @@ -19,8 +19,8 @@ reason.to_string() )) } -@@ -77,10 +76,10 @@ - { +@@ -74,10 +73,10 @@ + if let Err(reason) = file.set_len(0).and_then(|_| file.write_all(pid.as_bytes())) { log!(Level::Debug, "FsLock: Failed to write PID"); return Err(fmt!( - &gettext("Failed to write PID to lock file '%s': %s"), @@ -32,16 +32,16 @@ reason.to_string() )); } -@@ -109,10 +108,10 @@ +@@ -106,10 +105,10 @@ pid ); Err(fmt!( -- &gettext("Failed to lock '%s', already locked by process with PID %{}"), -+ "Failed to lock '%s', already locked by process with PID %{}", +- &gettext("Failed to lock '%s', already locked by process with PID %s"), ++ "Failed to lock '%s', already locked by process with PID %s", new_lock_path .to_str() - .unwrap_or(&gettext("")), + .unwrap_or(""), - PRIi64, - *pid as i64 + &(*pid).to_string() )) + }