import hexchat-2.16.0-1.el9
This commit is contained in:
		
							parent
							
								
									6d3be469d8
								
							
						
					
					
						commit
						4e9424f2a5
					
				
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -1 +1 @@ | |||||||
| SOURCES/hexchat-2.14.3.tar.xz | SOURCES/hexchat-2.16.0.tar.xz | ||||||
|  | |||||||
| @ -1 +1 @@ | |||||||
| a219796d70023b675e5ea24af9f22beb9e855abb SOURCES/hexchat-2.14.3.tar.xz | 9867719f068ae867b3ca790dcf15ef3df83c7148 SOURCES/hexchat-2.16.0.tar.xz | ||||||
|  | |||||||
| @ -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 [] |  | ||||||
|   |  | ||||||
| @ -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); |  | ||||||
| @ -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 |  | ||||||
| @ -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
											
										
									
								
							| @ -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 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user