--- /dev/null
+diff --git a/configure.ac b/configure.ac
+index f03569e..53a9de6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -650,6 +650,7 @@ for c in $CHAT_MODULES; do
+ done
+
+ FE_COMMON_LIBS="$FE_COMMON_LIBS../fe-common/core/libfe_common_core.a"
++AC_SUBST(FE_COMMON_LIBS)
+
+ dnl ** common libraries needed by frontends
+ COMMON_NOUI_LIBS="$CHAT_LIBS $CORE_LIBS"
+diff --git a/src/fe-none/Makefile.am b/src/fe-none/Makefile.am
+index bbcd63f..e8ce8d6 100644
+--- a/src/fe-none/Makefile.am
++++ b/src/fe-none/Makefile.am
+@@ -4,12 +4,13 @@ AM_CPPFLAGS = \
+ -I$(top_builddir) \
+ $(GLIB_CFLAGS)
+
+-botti_DEPENDENCIES = @COMMON_NOUI_LIBS@
++botti_DEPENDENCIES = @COMMON_NOUI_LIBS@ @FE_COMMON_LIBS@
+
+ botti_LDADD = \
+ @COMMON_NOUI_LIBS@ \
+ @PERL_LINK_LIBS@ \
+ @PERL_LINK_FLAGS@ \
++ @FE_COMMON_LIBS@ \
+ @PROG_LIBS@
+
+ botti_SOURCES = \
+diff --git a/src/fe-none/meson.build b/src/fe-none/meson.build
+index 58df15f..8e32b94 100644
+--- a/src/fe-none/meson.build
++++ b/src/fe-none/meson.build
+@@ -11,6 +11,7 @@ executable('botti',
+ libconfig_a,
+ libcore_a,
+ libirc_a,
++ libfe_common_core_a,
+ ],
+ install : true,
+ dependencies : dep
--- /dev/null
+From c7728ea5aa2f4e584159b3d12ad815294c44ca6a Mon Sep 17 00:00:00 2001
+From: Ailin Nemui <ailin@z30a.localdomain>
+Date: Tue, 17 Mar 2020 14:32:52 +0100
+Subject: [PATCH] add compatibility code to GTimeVal -> gint64 transition
+Origin: https://github.com/cdidier/irssi-xmpp/pull/53
+Reviewed-By: Simon Chopin <schopin@ubuntu.com>
+Last-Update: 2022-07-29
+
+this is for irssi/irssi#1145
+---
+ src/core/xep/ping.c | 50 +++++++++++++++++++++++++++++++++------------
+ 1 file changed, 37 insertions(+), 13 deletions(-)
+
+diff --git a/src/core/xep/ping.c b/src/core/xep/ping.c
+index d51930a..7b811cb 100644
+--- a/src/core/xep/ping.c
++++ b/src/core/xep/ping.c
+@@ -36,15 +36,40 @@
+
+ #define XMLNS_PING "urn:xmpp:ping"
+
++#if defined(IRSSI_ABI_VERSION) && IRSSI_ABI_VERSION >= 25
++#define NO_TIMEVAL
++#define TimeType gint64
++#else
++#define TimeType GTimeVal
++#endif
++
+ struct ping_data {
+- char *id;
+- GTimeVal time;
++ char *id;
++ TimeType time;
+ };
+
+ static int timeout_tag;
+ static GSList *supported_servers;
+ static DATALIST *pings;
+
++#ifdef NO_TIMEVAL
++
++#define set_current_time(var) (var) = g_get_real_time()
++#define clear_time(var) (var) = 0
++#define has_time(var) ((var) != 0)
++#define get_time_sec(var) ((var) / G_TIME_SPAN_SECOND)
++#define get_time_diff(to, from) (to) - (from)
++
++#else
++
++#define set_current_time(var) g_get_current_time(&(var))
++#define clear_time(var) memset(&(var), 0, sizeof((var)))
++#define has_time(var) ((var).tv_sec != 0)
++#define get_time_sec(var) ((var).tv_sec)
++#define get_time_diff(to, from) (int) get_timeval_diff(&(to), &(from))
++
++#endif
++
+ static void
+ request_ping(XMPP_SERVER_REC *server, const char *dest)
+ {
+@@ -63,13 +88,13 @@ request_ping(XMPP_SERVER_REC *server, const char *dest)
+ g_free(server->ping_id);
+ server->ping_id =
+ g_strdup(lm_message_node_get_attribute(lmsg->node, "id"));
+- g_get_current_time(&server->lag_sent);
++ set_current_time(server->lag_sent);
+ server->lag_last_check = time(NULL);
+ } else {
+ pd = g_new0(struct ping_data, 1);
+ pd->id =
+ g_strdup(lm_message_node_get_attribute(lmsg->node, "id"));
+- g_get_current_time(&pd->time);
++ set_current_time(pd->time);
+ datalist_add(pings, server, dest, pd);
+ }
+ signal_emit("xmpp send iq", 2, server, lmsg);
+@@ -98,7 +123,7 @@ sig_recv_iq(XMPP_SERVER_REC *server, LmMessage *lmsg, const int type,
+ {
+ DATALIST_REC *rec;
+ LmMessageNode *node;
+- GTimeVal now;
++ TimeType now;
+ struct ping_data *pd;
+
+ if (type == LM_MESSAGE_SUB_TYPE_RESULT) {
+@@ -106,19 +131,18 @@ sig_recv_iq(XMPP_SERVER_REC *server, LmMessage *lmsg, const int type,
+ if (server->ping_id != NULL
+ && (*from == '\0' || strcmp(from, server->domain) == 0)
+ && strcmp(id, server->ping_id) == 0) {
+- g_get_current_time(&now);
+- server->lag =
+- (int)get_timeval_diff(&now, &server->lag_sent);
+- memset(&server->lag_sent, 0, sizeof(server->lag_sent));
++ set_current_time(now);
++ server->lag = get_time_diff(now, server->lag_sent);
++ clear_time(server->lag_sent);
+ g_free_and_null(server->ping_id);
+ signal_emit("server lag", 1, server);
+ } else if (lmsg->node->children == NULL
+ && (rec = datalist_find(pings, server, from)) != NULL) {
+ pd = rec->data;
+ if (strcmp(id, pd->id) == 0) {
+- g_get_current_time(&now);
++ set_current_time(now);
+ signal_emit("xmpp ping", 3, server, from,
+- get_timeval_diff(&now, &pd->time));
++ get_time_diff(now, pd->time));
+ }
+ }
+ } else if (type == LM_MESSAGE_SUB_TYPE_GET) {
+@@ -166,10 +190,10 @@ check_ping_func(void)
+ now = time(NULL);
+ for (tmp = supported_servers; tmp != NULL; tmp = tmp->next) {
+ server = XMPP_SERVER(tmp->data);
+- if (server->lag_sent.tv_sec != 0) {
++ if (has_time(server->lag_sent)) {
+ /* waiting for lag reply */
+ if (max_lag > 1 &&
+- (now - server->lag_sent.tv_sec) > max_lag) {
++ (now - get_time_sec(server->lag_sent)) > max_lag) {
+ /* too much lag - disconnect */
+ signal_emit("server lag disconnect", 1,
+ server);
%define idea_ver 0.1.46
%define xmpp_ver 0.53
-%define irssi_perl_version 20210409
+%define irssi_perl_version 20220717
Summary: Irssi is a IRC client
Summary(fr.UTF-8): Irssi est un client IRC
Summary(hu.UTF-8): Irssi egy IRC kliens
Summary(pl.UTF-8): Irssi - wygodny w użyciu klient IRC
Name: irssi
-Version: 1.2.3
-Release: 5
+Version: 1.4.2
+Release: 1
License: GPL
Group: Applications/Communications
Source0: https://github.com/irssi/irssi/releases/download/%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: ebbf455d8e9c847fc8106591088024ab
+# Source0-md5: 8bf8aa19e6c08553d9bd05b89158df71
Source1: %{name}.desktop
Source2: %{name}.png
# NXDOMAIN
Patch0: %{name}-dcc-send-limit.patch
Patch1: %{name}-home_etc.patch
Patch2: %{name}-idea-listlen.patch
-Patch3: %{name}-gcc4.patch
+Patch3: bug-1374.patch
Patch4: %{name}-dynamic.patch
-
+Patch5: gtimeval-build-fix.patch
Patch6: %{name}-color_support_for_gui_entry.patch
Patch7: %{name}-libs-nopoison.patch
Patch8: am.patch
%patch1 -p1
%patch2 -p1
%patch3 -p1
+
%if %{with dynamic}
%patch4 -p1
%endif
mv irssi-idea{-%{idea_ver},}
mv irssi-xmpp{-%{xmpp_ver},}
+
+cd irssi-xmpp
+%patch5 -p1
+cd ..
+
%if %{with dynamic}
%patch8 -p1
%endif