Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package irssi for openSUSE:Factory checked in at 2022-06-16 18:19:56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/irssi (Old) and /work/SRC/openSUSE:Factory/.irssi.new.1548 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "irssi" Thu Jun 16 18:19:56 2022 rev:62 rq:982652 version:1.4.1 Changes: -------- --- /work/SRC/openSUSE:Factory/irssi/irssi.changes 2022-06-12 17:43:22.178504528 +0200 +++ /work/SRC/openSUSE:Factory/.irssi.new.1548/irssi.changes 2022-06-16 18:20:13.580081174 +0200 @@ -1,0 +2,11 @@ +Tue Jun 14 14:52:59 UTC 2022 - Ailin Nemui <ailin.ne...@gmail.com> + +- backport first set of fixes: + - add use-isystem-for-include.patch, fixes build with perl 5.36 + (#1381) + - add fix-textbuffer-view.patch, fixes lost lines on display + (#1382) + - add default-hash-chan.patch, default to joining #-channels + again (#1385) + +------------------------------------------------------------------- New: ---- default-hash-chan.patch fix-textbuffer-view.patch use-isystem-for-include.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ irssi.spec ++++++ --- /var/tmp/diff_new_pack.kJcZbW/_old 2022-06-16 18:20:14.284082175 +0200 +++ /var/tmp/diff_new_pack.kJcZbW/_new 2022-06-16 18:20:14.292082187 +0200 @@ -29,6 +29,12 @@ 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 @@ -72,6 +78,7 @@ %prep %setup -q +%autopatch -p1 %build %meson \ @@ -83,6 +90,7 @@ %if 0%{?suse_version} > 1330 -Dwith-otr=yes \ %endif + -DPACKAGE_VERSION="%{version}-oS1" \ # %meson_build ++++++ default-hash-chan.patch ++++++ >From 4864c334fcb45d64441ddafdec814b787829fc10 Mon Sep 17 00:00:00 2001 From: ailin-nemui <ailin-ne...@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 ++++++ fix-textbuffer-view.patch ++++++ >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 ++++++ use-isystem-for-include.patch ++++++ >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