Accepting request 989603 from server:irc

OBS-URL: https://build.opensuse.org/request/show/989603
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/irssi?expand=0&rev=63
This commit is contained in:
Richard Brown 2022-07-18 16:34:30 +00:00 committed by Git OBS Bridge
commit adccd7f875
9 changed files with 32 additions and 306 deletions

View File

@ -1,28 +0,0 @@
From 4864c334fcb45d64441ddafdec814b787829fc10 Mon Sep 17 00:00:00 2001
From: ailin-nemui <ailin-nemui@users.noreply.github.com>
Date: Mon, 13 Jun 2022 07:39:29 +0200
Subject: [PATCH] Merge pull request #1388 from ailin-nemui/default-hash-chan
default to hash channels
(cherry picked from commit a5f5ea7d79274fcf547ef81f019b0c38c6863051)
---
src/irc/core/irc-channels.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/irc/core/irc-channels.c b/src/irc/core/irc-channels.c
index b0fba9b1..24f57f8d 100644
--- a/src/irc/core/irc-channels.c
+++ b/src/irc/core/irc-channels.c
@@ -71,7 +71,7 @@ static char *force_channel_name(IRC_SERVER_REC *server, const char *name)
return g_strdup(name);
chantypes = g_hash_table_lookup(server->isupport, "chantypes");
- if (chantypes == NULL || *chantypes == '\0')
+ if (chantypes == NULL || *chantypes == '\0' || strchr(chantypes, '#') != NULL)
chantypes = "#";
return g_strdup_printf("%c%s", *chantypes, name);
--
2.36.1

View File

@ -1,174 +0,0 @@
From 6a4400f9041a2bb110db5fee45ad07c06172f6f6 Mon Sep 17 00:00:00 2001
From: Ailin Nemui <ailin@d5421s.localdomain>
Date: Mon, 13 Jun 2022 09:03:18 +0200
Subject: [PATCH 2/4] Merge branch 'fix-textbuffer-view-1.4.1' into
fix-textbuffer-view-1.4.1-squash
(cherry picked from commit b0979a77b2a602cb8875e23f38208af902ca10db)
---
.github/workflows/clangformat.yml | 6 ++--
src/fe-text/textbuffer-commands.c | 1 +
src/fe-text/textbuffer-view.c | 52 +++++++++++++++++++------------
3 files changed, 36 insertions(+), 23 deletions(-)
diff --git a/src/fe-text/textbuffer-commands.c b/src/fe-text/textbuffer-commands.c
index f30eab0e..6ed7c39c 100644
--- a/src/fe-text/textbuffer-commands.c
+++ b/src/fe-text/textbuffer-commands.c
@@ -393,6 +393,7 @@ static void cmd_scrollback_redraw(void)
term_refresh_freeze();
textbuffer_view_reset_cache(gui->view);
+ textbuffer_view_resize(gui->view, gui->view->width, gui->view->height);
gui_window_redraw(active_win);
term_refresh_thaw();
}
diff --git a/src/fe-text/textbuffer-view.c b/src/fe-text/textbuffer-view.c
index 79f3522c..ba353288 100644
--- a/src/fe-text/textbuffer-view.c
+++ b/src/fe-text/textbuffer-view.c
@@ -402,10 +402,9 @@ view_update_line_cache(TEXT_BUFFER_VIEW_REC *view, LINE_REC *line)
if (rec->count > 1) {
for (pos = 0; lines != NULL; pos++) {
- void *data = lines->data;
+ LINE_CACHE_SUB_REC *data = lines->data;
- memcpy(&rec->lines[pos], data,
- sizeof(LINE_CACHE_SUB_REC));
+ memcpy(&rec->lines[pos], data, sizeof(LINE_CACHE_SUB_REC));
lines = g_slist_remove(lines, data);
g_free(data);
@@ -427,7 +426,7 @@ static void view_remove_cache(TEXT_BUFFER_VIEW_REC *view, LINE_REC *line,
cache = g_hash_table_lookup(view->cache->line_cache, line);
if (cache != NULL) {
- g_free(cache);
+ line_cache_destroy(NULL, cache);
g_hash_table_remove(view->cache->line_cache, line);
}
}
@@ -438,7 +437,7 @@ static void view_update_cache(TEXT_BUFFER_VIEW_REC *view, LINE_REC *line,
view_remove_cache(view, line, update_counter);
if (view->buffer->cur_line == line)
- view->cache->last_linecount = view_get_linecount(view, line);
+ view_get_linecount(view, line);
}
void textbuffer_view_reset_cache(TEXT_BUFFER_VIEW_REC *view)
@@ -467,6 +466,7 @@ static int view_line_draw(TEXT_BUFFER_VIEW_REC *view, LINE_REC *line,
unichar chr;
int xpos, color, drawcount, first, need_move, need_clrtoeol, char_width;
unsigned int fg24, bg24;
+ fg24 = bg24 = UINT_MAX;
if (view->dirty) /* don't bother drawing anything - redraw is coming */
return 0;
@@ -767,7 +767,6 @@ static void view_unregister_indent_func(TEXT_BUFFER_VIEW_REC *view,
/* recreate cache so it won't contain references
to the indent function */
textbuffer_view_reset_cache(view);
- view->cache = textbuffer_cache_get(view->siblings, view->width);
}
void textbuffer_views_unregister_indent_func(INDENT_FUNC indent_func)
@@ -1033,13 +1032,17 @@ void textbuffer_view_clear(TEXT_BUFFER_VIEW_REC *view)
/* Scroll the view up/down */
void textbuffer_view_scroll(TEXT_BUFFER_VIEW_REC *view, int lines)
{
- int count;
+ int count, ypos;
g_return_if_fail(view != NULL);
- count = view_scroll(view, &view->startline, &view->subline,
- lines, TRUE);
- view->ypos += lines < 0 ? count : -count;
+ count = view_scroll(view, &view->startline, &view->subline, lines, TRUE);
+
+ ypos = view->ypos + (lines < 0 ? count : -count);
+ textbuffer_view_init_ypos(view);
+ if (ypos != view->ypos)
+ textbuffer_view_resize(view, view->width, view->height);
+
view->bottom = view_is_bottom(view);
if (view->bottom) view->more_text = FALSE;
@@ -1079,10 +1082,10 @@ LINE_CACHE_REC *textbuffer_view_get_line_cache(TEXT_BUFFER_VIEW_REC *view,
cache = g_hash_table_lookup(view->cache->line_cache, line);
if (cache == NULL)
cache = view_update_line_cache(view, line);
- else
+ else
cache->last_access = time(NULL);
- return cache;
+ return cache;
}
static void view_insert_line(TEXT_BUFFER_VIEW_REC *view, LINE_REC *line)
@@ -1263,12 +1266,13 @@ static void view_remove_line(TEXT_BUFFER_VIEW_REC *view, LINE_REC *line,
view_bookmarks_check(view, line);
if (view->buffer->cur_line == line) {
- /* the last line is being removed */
+ /* the last line is being removed */
LINE_REC *prevline;
- prevline = view->buffer->first_line == line ? NULL :
- textbuffer_line_last(view->buffer)->prev;
- view->cache->last_linecount = prevline == NULL ? 0 :
+ prevline = view->buffer->first_line == line ?
+ NULL :
+ textbuffer_line_last(view->buffer)->prev;
+ if (prevline != NULL)
view_get_linecount(view, prevline);
}
@@ -1474,8 +1478,10 @@ void textbuffer_view_set_window(TEXT_BUFFER_VIEW_REC *view,
if (view->window != window) {
view->window = window;
- if (window != NULL)
+ if (window != NULL) {
+ textbuffer_view_resize(view, view->width, view->height);
view->dirty = TRUE;
+ }
}
}
@@ -1504,12 +1510,18 @@ static int line_cache_check_remove(void *key, LINE_CACHE_REC *cache,
static int sig_check_linecache(void)
{
GSList *tmp, *caches;
- time_t now;
+ time_t now;
- now = time(NULL); caches = NULL;
+ now = time(NULL);
+ caches = NULL;
for (tmp = views; tmp != NULL; tmp = tmp->next) {
TEXT_BUFFER_VIEW_REC *rec = tmp->data;
+ if (rec->window != NULL) {
+ /* keep visible lines mapped */
+ view_get_lines_height(rec, rec->startline, rec->subline, NULL);
+ }
+
if (g_slist_find(caches, rec->cache) != NULL)
continue;
@@ -1519,7 +1531,7 @@ static int sig_check_linecache(void)
&now);
}
- g_slist_free(caches);
+ g_slist_free(caches);
return 1;
}
--
2.36.1

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6a7692741bba16f3ba6f97cf7246421ac57055dcedcca9a4d21663f8efe47501
size 1210772

View File

@ -1,6 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iF0EABECAB0WIQR+5l4wgqX7Bqx8No0AzLWH3b7w4QUCYp4+kwAKCRAAzLWH3b7w
4epZAJ96up4foKregNL+QNJJTr1yC6U75gCghUMxh/NHth5AgSan6znA65BqAig=
=x9sj
-----END PGP SIGNATURE-----

3
irssi-1.4.2.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:79a4765d2dfe153c440a1775b074d5d0682b96814c7cf92325b5e15ce50e26a8
size 1211740

6
irssi-1.4.2.tar.xz.asc Normal file
View File

@ -0,0 +1,6 @@
-----BEGIN PGP SIGNATURE-----
iF0EABECAB0WIQR+5l4wgqX7Bqx8No0AzLWH3b7w4QUCYs8MXQAKCRAAzLWH3b7w
4VogAJ9zQ2lkv+VUovhM0R0dpKqCqlO1NgCcD8Ta/E+0rV1Da5BO2ms4eR1Y8eA=
=WSuK
-----END PGP SIGNATURE-----

View File

@ -1,3 +1,24 @@
-------------------------------------------------------------------
Sat Jul 16 18:26:53 UTC 2022 - Ailin Nemui <ailin.nemui@gmail.com>
- drop patches; upstreamed
- drop use-isystem-for-include.patch, upstreamed
- drop fix-textbuffer-view.patch, upstreamed
- drop default-hash-chan.patch, upstreamed
- update to 1.4.2
* Add irssimoduledir to irssi-1.pc in the Meson build (#1383,
#1378)
- Use -isystem includes, limiting warnings to Irssi
code. Fixes compilation with Perl 5.36 (#1381,
gentoo#851522, #1384)
- Fix missing lines when changing dynamic textbuffer contents
(#1382, #1387). Reported by externalserver15
- Fix Perl cross compilation with Meson 0.60.0 (#1377)
- Fix default channel prefix used for /JOIN to default to `#'
(#1385, #1388)
- Fix crash in /LASTLOG by getting line texts before printing
(#1367, #1398)
-------------------------------------------------------------------
Tue Jun 14 14:52:59 UTC 2022 - Ailin Nemui <ailin.nemui@gmail.com>

View File

@ -17,7 +17,7 @@
Name: irssi
Version: 1.4.1
Version: 1.4.2
Release: 0
Summary: Modular IRC Client
License: GPL-2.0-or-later
@ -29,12 +29,6 @@ Source2: irssi.png
Source3: https://github.com/irssi/irssi/releases/download/%{version}/irssi-%{version}.tar.xz.asc
# https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x7EE65E3082A5FB06AC7C368D00CCB587DDBEF0E1
Source4: %{name}.keyring
# PATCH-FIX-UPSTREAM use-isystem-for-include.patch -- based on PR 1384
Patch1: use-isystem-for-include.patch
# PATCH-FIX-UPSTREAM fix-textbuffer-view.patch -- based on PR 1387
Patch2: fix-textbuffer-view.patch
# PATCH-FIX-UPSTREAM default-hash-chan.patch -- based on PR 1388
Patch3: default-hash-chan.patch
BuildRequires: meson
BuildRequires: glib2-devel
BuildRequires: ncurses-devel
@ -78,7 +72,6 @@ compile plugins for the irssi package.
%prep
%setup -q
%autopatch -p1
%build
%meson \
@ -90,7 +83,7 @@ compile plugins for the irssi package.
%if 0%{?suse_version} > 1330
-Dwith-otr=yes \
%endif
-DPACKAGE_VERSION="%{version}-oS1" \
-DPACKAGE_VERSION="%{version}" \
#
%meson_build

View File

@ -1,86 +0,0 @@
From 0658076c0ddee8663b2eb8f8a1bf73b0b9c95ec8 Mon Sep 17 00:00:00 2001
From: Ailin Nemui <ailin@d5421s.localdomain>
Date: Sun, 12 Jun 2022 17:13:28 +0200
Subject: [PATCH 1/4] use -isystem instead of -I for include directories
limits warnings to our own code
(cherry picked from commit 528632bba2257cd9532417163f0952275a25da1f)
---
meson.build | 21 ++++++++++++---------
1 file changed, 12 insertions(+), 9 deletions(-)
diff --git a/meson.build b/meson.build
index 71dacead..d9eb935f 100644
--- a/meson.build
+++ b/meson.build
@@ -168,7 +168,7 @@ message('*** Or alternatively install your distribution\'s package')
message('*** On Debian: sudo apt-get install libglib2.0-dev')
message('*** On Redhat: dnf install glib2-devel')
if not require_glib_internal
- glib_dep = dependency('glib-2.0', version : '>=2.32', required : not want_glib_internal, static : want_static_dependency)
+ glib_dep = dependency('glib-2.0', version : '>=2.32', required : not want_glib_internal, static : want_static_dependency, include_type : 'system')
else
glib_dep = dependency('', required : false)
endif
@@ -250,9 +250,9 @@ if not glib_dep.found()
dependencies : glib_internal_dependencies,
sources : glib_internal_build_t,
compile_args : [
- '-I' + (meson.current_source_dir() / 'subprojects' / glib_internal_version / 'glib'),
- '-I' + (meson.current_source_dir() / 'subprojects' / glib_internal_version),
- '-I' + (meson.current_build_dir() / 'build-subprojects' / 'glib' / 'glib'),
+ '-isystem' + (meson.current_source_dir() / 'subprojects' / glib_internal_version / 'glib'),
+ '-isystem' + (meson.current_source_dir() / 'subprojects' / glib_internal_version),
+ '-isystem' + (meson.current_build_dir() / 'build-subprojects' / 'glib' / 'glib'),
],
link_args : [ meson.current_build_dir() / 'build-subprojects' / 'glib' / 'glib' / 'libglib-2.0.a' ],
)
@@ -265,12 +265,12 @@ if not glib_dep.found()
gmodule_dep = declare_dependency(sources : glib_internal_build_t,
dependencies : libdl_dep,
compile_args : [
- '-I' + (meson.current_source_dir() / 'subprojects' / glib_internal_version / 'gmodule'),
+ '-isystem' + (meson.current_source_dir() / 'subprojects' / glib_internal_version / 'gmodule'),
],
link_args : [ meson.current_build_dir() / 'build-subprojects' / 'glib' / 'gmodule' / 'libgmodule-2.0.a' ],
)
else
- gmodule_dep = dependency('gmodule-2.0', static : want_static_dependency)
+ gmodule_dep = dependency('gmodule-2.0', static : want_static_dependency, include_type : 'system')
endif
dep += glib_dep
dep += gmodule_dep
@@ -279,7 +279,7 @@ if glib_internal and want_static_dependency and want_fuzzer
openssl_proj = subproject('openssl', default_options : ['default_library=static', 'asm=disabled'])
openssl_dep = openssl_proj.get_variable('openssl_dep')
else
- openssl_dep = dependency('openssl', static : want_static_dependency)
+ openssl_dep = dependency('openssl', static : want_static_dependency, include_type : 'system')
endif
dep += openssl_dep
@@ -338,6 +338,9 @@ if want_perl
endif
foreach fl : perl_ccopts
if fl.startswith('-D') or fl.startswith('-U') or fl.startswith('-I') or fl.startswith('-i') or fl.startswith('-f') or fl.startswith('-m')
+ if fl.startswith('-I')
+ fl = '-isystem' + fl.split('-I')[1]
+ endif
perl_cflags += fl
endif
endforeach
@@ -469,8 +472,8 @@ endif
have_otr = false
if want_otr
- libgcrypt = dependency('libgcrypt', version : '>=1.2.0', required : require_otr, static : want_static_dependency)
- libotr = dependency('libotr', version : '>=4.1.0', required : require_otr, static : want_static_dependency)
+ libgcrypt = dependency('libgcrypt', version : '>=1.2.0', required : require_otr, static : want_static_dependency, include_type : 'system')
+ libotr = dependency('libotr', version : '>=4.1.0', required : require_otr, static : want_static_dependency, include_type : 'system')
if libgcrypt.found() and libotr.found()
dep += libgcrypt
dep += libotr
--
2.36.1