import hexchat-2.16.0-1.el9

This commit is contained in:
CentOS Sources 2022-01-11 13:12:24 -05:00 committed by Stepan Oksanichenko
parent 6d3be469d8
commit 4e9424f2a5
8 changed files with 8 additions and 4382 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/hexchat-2.14.3.tar.xz SOURCES/hexchat-2.16.0.tar.xz

View File

@ -1 +1 @@
a219796d70023b675e5ea24af9f22beb9e855abb SOURCES/hexchat-2.14.3.tar.xz 9867719f068ae867b3ca790dcf15ef3df83c7148 SOURCES/hexchat-2.16.0.tar.xz

View File

@ -1,25 +0,0 @@
From 090fd29acf4af0d8e13fcf2861b14a356db72641 Mon Sep 17 00:00:00 2001
From: Sbgodin <christophe.henry@sbgodin.fr>
Date: Sun, 7 Mar 2021 12:51:45 +0000
Subject: [PATCH] python: Fix exception with list_pluginpref()
__decode cannot work (with Python3) because prefs_str has no attribute 'decode'.
Related to https://github.com/hexchat/hexchat/issues/2531
---
plugins/python/_hexchat.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/python/_hexchat.py b/plugins/python/_hexchat.py
index 567b34934..5e4b0c65f 100644
--- a/plugins/python/_hexchat.py
+++ b/plugins/python/_hexchat.py
@@ -319,7 +319,7 @@ def del_pluginpref(name):
def list_pluginpref():
prefs_str = ffi.new('char[4096]')
if lib.hexchat_pluginpref_list(lib.ph, prefs_str) == 1:
- return __decode(prefs_str).split(',')
+ return __decode(ffi.string(prefs_str)).split(',')
return []

View File

@ -1,48 +0,0 @@
From 163608d7fd861c2c4911a38f45be484c88626bdc Mon Sep 17 00:00:00 2001
From: John Levon <levon@movementarian.org>
Date: Mon, 7 Sep 2020 17:53:31 +0100
Subject: [PATCH] Use pango_font_metrics_get_height() to calculate font height
(#2500)
---
src/fe-gtk/xtext.c | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/src/fe-gtk/xtext.c b/src/fe-gtk/xtext.c
index fac0c4e6d..418bb4da5 100644
--- a/src/fe-gtk/xtext.c
+++ b/src/fe-gtk/xtext.c
@@ -283,8 +283,24 @@ backend_font_open (GtkXText *xtext, char *name)
metrics = pango_context_get_metrics (context, xtext->font->font, lang);
xtext->font->ascent = pango_font_metrics_get_ascent (metrics) / PANGO_SCALE;
xtext->font->descent = pango_font_metrics_get_descent (metrics) / PANGO_SCALE;
+
+ /*
+ * In later versions of pango, a font's height should be calculated like
+ * this to account for line gap; a typical symptom of not doing so is
+ * cutting off the underscore on some fonts.
+ */
+#if PANGO_VERSION_CHECK(1, 44, 0)
+ xtext->fontsize = pango_font_metrics_get_height (metrics) / PANGO_SCALE + 1;
+
+ if (xtext->fontsize == 0)
+ xtext->fontsize = xtext->font->ascent + xtext->font->descent;
+#else
+ xtext->fontsize = xtext->font->ascent + xtext->font->descent;
+#endif
+
pango_font_metrics_unref (metrics);
}
+
static int
backend_get_text_width_emph (GtkXText *xtext, guchar *str, int len, int emphasis)
{
@@ -3479,8 +3495,6 @@ gtk_xtext_set_font (GtkXText *xtext, char *name)
if (xtext->font == NULL)
return FALSE;
- xtext->fontsize = xtext->font->ascent + xtext->font->descent;
-
{
char *time_str;
int stamp_size = xtext_get_stamp_str (time(0), &time_str);

View File

@ -1,28 +0,0 @@
From 5deb69591992d4fede9090b60d3dc847612a4d60 Mon Sep 17 00:00:00 2001
From: Patrick Griffis <tingping@tingping.se>
Date: Wed, 11 Mar 2020 11:07:56 -0700
Subject: [PATCH] build: Better support building against python 3.8+
Closes #2441
---
plugins/python/meson.build | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/plugins/python/meson.build b/plugins/python/meson.build
index 2ad5128e5..eb762134a 100644
--- a/plugins/python/meson.build
+++ b/plugins/python/meson.build
@@ -1,6 +1,12 @@
python_opt = get_option('with-python')
if python_opt.startswith('python3')
- python_dep = dependency(python_opt, version: '>= 3.3')
+ # Python 3.8 introduced a new -embed variant
+ if not python_opt.endswith('-embed')
+ python_dep = dependency(python_opt + '-embed', version: '>= 3.3', required: false)
+ endif
+ if not python_dep.found()
+ python_dep = dependency(python_opt, version: '>= 3.3')
+ endif
else
python_dep = dependency(python_opt, version: '>= 2.7')
endif

View File

@ -1,199 +0,0 @@
From 54321bae1feaf0845d75f67245c95795651277f5 Mon Sep 17 00:00:00 2001
From: Michael Catanzaro <mcatanzaro@redhat.com>
Date: Mon, 12 Jul 2021 08:38:02 -0500
Subject: [PATCH] Avoid direct use of libproxy
Since hexchat already depends on GLib, it's better to use GProxyResolver
instead. This might use libproxy, or not, as appropriate.
P.S. This removes a memory safety issue because proxy_list is allocated
using malloc(), not g_malloc(), and therefore using g_strfreev() is
incorrect. The proper way to free the proxy list returned by libproxy
is to use px_proxy_factory_free_proxies() (but nobody does that because
it was added in libproxy 0.4.16, which is somewhat recent).
---
meson.build | 1 -
meson_options.txt | 3 ---
src/common/hexchat.c | 16 ----------------
src/common/meson.build | 4 ----
src/common/server.c | 26 ++++++++++++++++----------
src/fe-gtk/setup.c | 2 --
6 files changed, 16 insertions(+), 36 deletions(-)
diff --git a/meson.build b/meson.build
index 18baf26e126e..381e3fd87ac6 100644
--- a/meson.build
+++ b/meson.build
@@ -33,7 +33,6 @@ config_h.set10('ENABLE_NLS', true)
# Optional features
config_h.set('USE_OPENSSL', get_option('with-ssl'))
-config_h.set('USE_LIBPROXY', get_option('with-libproxy'))
config_h.set('USE_LIBCANBERRA', get_option('with-libcanberra'))
config_h.set('USE_DBUS', get_option('with-dbus'))
config_h.set('USE_PLUGIN', get_option('with-plugin'))
diff --git a/meson_options.txt b/meson_options.txt
index 100a5ee72ad7..ad03d6bc58ef 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -13,9 +13,6 @@ option('with-plugin', type: 'boolean',
option('with-dbus', type: 'boolean',
description: 'Support used for single-instance and scripting interface, Unix only'
)
-option('with-libproxy', type: 'boolean',
- description: 'Support for getting proxy information, Unix only'
-)
option('with-libnotify', type: 'boolean',
description: 'Support for freedesktop notifications, Unix only'
)
diff --git a/src/common/hexchat.c b/src/common/hexchat.c
index e9a9a7fc9fcd..a98fcafba2f7 100644
--- a/src/common/hexchat.c
+++ b/src/common/hexchat.c
@@ -57,10 +57,6 @@
#include <glib-object.h> /* for g_type_init() */
#endif
-#ifdef USE_LIBPROXY
-#include <proxy.h>
-#endif
-
GSList *popup_list = 0;
GSList *button_list = 0;
GSList *dlgbutton_list = 0;
@@ -111,10 +107,6 @@ struct session *current_tab;
struct session *current_sess = 0;
struct hexchatprefs prefs;
-#ifdef USE_LIBPROXY
-pxProxyFactory *libproxy_factory;
-#endif
-
/*
* Update the priority queue of the "interesting sessions"
* (sess_list_by_lastact).
@@ -1101,10 +1093,6 @@ main (int argc, char *argv[])
hexchat_remote ();
#endif
-#ifdef USE_LIBPROXY
- libproxy_factory = px_proxy_factory_new ();
-#endif
-
#ifdef WIN32
coinit_result = CoInitializeEx (NULL, COINIT_APARTMENTTHREADED);
if (SUCCEEDED (coinit_result))
@@ -1147,10 +1135,6 @@ main (int argc, char *argv[])
}
#endif
-#ifdef USE_LIBPROXY
- px_proxy_factory_free (libproxy_factory);
-#endif
-
#ifdef WIN32
WSACleanup ();
#endif
diff --git a/src/common/meson.build b/src/common/meson.build
index bbb646459522..5885ec9e47c1 100644
--- a/src/common/meson.build
+++ b/src/common/meson.build
@@ -77,10 +77,6 @@ if get_option('with-ssl')
common_deps += libssl_dep
endif
-if get_option('with-libproxy')
- common_deps += dependency('libproxy-1.0')
-endif
-
if get_option('with-libcanberra')
common_deps += dependency('libcanberra', version: '>= 0.22')
endif
diff --git a/src/common/server.c b/src/common/server.c
index 3db0a9635fc5..a96e81f43d15 100644
--- a/src/common/server.c
+++ b/src/common/server.c
@@ -61,10 +61,6 @@
#include "ssl.h"
#endif
-#ifdef USE_LIBPROXY
-#include <proxy.h>
-#endif
-
#ifdef USE_OPENSSL
/* local variables */
static struct session *g_sess = NULL;
@@ -78,9 +74,15 @@ static void server_disconnect (session * sess, int sendquit, int err);
static int server_cleanup (server * serv);
static void server_connect (server *serv, char *hostname, int port, int no_login);
-#ifdef USE_LIBPROXY
-extern pxProxyFactory *libproxy_factory;
-#endif
+static void
+write_error (char *message, GError **error)
+{
+ if (error == NULL || *error == NULL) {
+ return;
+ }
+ g_printerr ("%s: %s\n", message, (*error)->message);
+ g_clear_error (error);
+}
/* actually send to the socket. This might do a character translation or
send via SSL. server/dcc both use this function. */
@@ -1365,14 +1367,16 @@ server_child (server * serv)
if (!serv->dont_use_proxy) /* blocked in serverlist? */
{
-#ifdef USE_LIBPROXY
if (prefs.hex_net_proxy_type == 5)
{
char **proxy_list;
char *url, *proxy;
+ GProxyResolver *resolver;
+ GError *error = NULL;
+ resolver = g_proxy_resolver_get_default ();
url = g_strdup_printf ("irc://%s:%d", hostname, port);
- proxy_list = px_proxy_factory_get_proxies (libproxy_factory, url);
+ proxy_list = g_proxy_resolver_lookup (resolver, url, NULL, &error);
if (proxy_list) {
/* can use only one */
@@ -1385,6 +1389,8 @@ server_child (server * serv)
proxy_type = 3;
else if (!strncmp (proxy, "socks", 5))
proxy_type = 2;
+ } else {
+ write_error ("Failed to lookup proxy", &error);
}
if (proxy_type) {
@@ -1399,7 +1405,7 @@ server_child (server * serv)
g_strfreev (proxy_list);
g_free (url);
}
-#endif
+
if (prefs.hex_net_proxy_host[0] &&
prefs.hex_net_proxy_type > 0 &&
prefs.hex_net_proxy_use != 2) /* proxy is NOT dcc-only */
diff --git a/src/fe-gtk/setup.c b/src/fe-gtk/setup.c
index 3d003eefc776..a7e3a15cac52 100644
--- a/src/fe-gtk/setup.c
+++ b/src/fe-gtk/setup.c
@@ -614,9 +614,7 @@ static const char *const proxytypes[] =
N_("SOCKS4"),
N_("SOCKS5"),
N_("HTTP"),
-#ifdef USE_LIBPROXY
N_("Auto"),
-#endif
NULL
};
--
2.31.1

File diff suppressed because it is too large Load Diff

View File

@ -2,22 +2,12 @@
Summary: A popular and easy to use graphical IRC (chat) client Summary: A popular and easy to use graphical IRC (chat) client
Name: hexchat Name: hexchat
Version: 2.14.3 Version: 2.16.0
Release: 17%{?dist} Release: 1%{?dist}
License: GPLv2+ License: GPLv2+
URL: https://hexchat.github.io URL: https://hexchat.github.io
Source: https://dl.hexchat.net/hexchat/%{name}-%{version}.tar.xz Source: https://dl.hexchat.net/hexchat/%{name}-%{version}.tar.xz
# Patch to link better to python 3.8
Patch1: https://github.com/hexchat/hexchat/commit/5deb69591992d4fede9090b60d3dc847612a4d60.patch
Patch2: python-plugin-from-master.patch
Patch3: https://github.com/hexchat/hexchat/commit/163608d7fd861c2c4911a38f45be484c88626bdc.patch
Patch4: https://github.com/hexchat/hexchat/commit/090fd29acf4af0d8e13fcf2861b14a356db72641.patch
# https://github.com/hexchat/hexchat/pull/2609
# https://bugzilla.redhat.com/show_bug.cgi?id=1981509
Patch5: hexchat-Avoid-direct-use-of-libproxy.patch
BuildRequires: gcc BuildRequires: gcc
BuildRequires: meson BuildRequires: meson
BuildRequires: hicolor-icon-theme BuildRequires: hicolor-icon-theme
@ -25,7 +15,6 @@ BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gtk+-2.0) BuildRequires: pkgconfig(gtk+-2.0)
BuildRequires: pkgconfig(dbus-glib-1) BuildRequires: pkgconfig(dbus-glib-1)
BuildRequires: pkgconfig(libcanberra) BuildRequires: pkgconfig(libcanberra)
BuildRequires: pkgconfig(libnotify)
BuildRequires: pkgconfig(iso-codes) BuildRequires: pkgconfig(iso-codes)
BuildRequires: pkgconfig(openssl) BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(python3) BuildRequires: pkgconfig(python3)
@ -84,6 +73,10 @@ This package contains the development files for %{name}.
%{_libdir}/pkgconfig/hexchat-plugin.pc %{_libdir}/pkgconfig/hexchat-plugin.pc
%changelog %changelog
* Mon Dec 13 2021 Debarshi Ray <rishi@fedoraproject.org> - 2.16.0-1
- Update to 2.16.0
Resolves: #1965883
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 2.14.3-17 * Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 2.14.3-17
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags - Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688 Related: rhbz#1991688