newsboat: Update to 2.27

This commit is contained in:
Tee KOBAYASHI 2022-05-05 10:32:57 +09:00 committed by buttaface
parent 9c3934d88f
commit 80bb277168
7 changed files with 49 additions and 79 deletions

View File

@ -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.

View File

@ -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"

View File

@ -1,23 +0,0 @@
commit dcced88a134f79cc5ccbe36ed5be51d73bd8f356
Author: mcz <emcze@ya.ru>
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<wchar_t>(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 "

View File

@ -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"

View File

@ -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()
)));

View File

@ -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")),

View File

@ -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("<filename containing invalid UTF-8 codepoint>")),
+ .unwrap_or("<filename containing invalid UTF-8 codepoint>"),
PRIi64,
*pid as i64
&(*pid).to_string()
))
}