pidgin: upgrade to 2.14.14 to fix build with gcc-15

* http://errors.yoctoproject.org/Errors/Details/848756/

* fixed in:
  https://keep.imfreedom.org/pidgin/pidgin/rev/10ae9c0f0cbf

* drop backported patch

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Martin Jansa
2025-03-25 13:26:07 +01:00
committed by Khem Raj
parent 7211d1fec1
commit 04dafcf663
2 changed files with 1 additions and 179 deletions
@@ -1,177 +0,0 @@
# HG changeset patch
# User Yoann Congal <yoann.congal@smile.fr>
# Date 1720270125 -7200
# Sat Jul 06 14:48:45 2024 +0200
# Branch gcc-14-incompatible-pointer-types
# Node ID 06721b86a5a8e6fb8163d9411a7778d2a0274b26
# Parent 21a56db5f9987efb88d76ab26ee1eadf316f3d7d
Fix incompatible pointer types for GtkItemFactoryCallbacks on gcc-14
The GtkItemFactoryEntry struct callback is of type GtkItemFactoryCallbacks
(aka void (*)(void)) but is initialised with GtkItemFactoryCallback1 types
(aka void (*)(void *, guint, GtkWidget *)).
This is coherent with the gtk-2 documentation:
> gtk_item_factory_create_items(..., GtkItemFactoryEntry *entries,...)
> entries : an array of GtkItemFactoryEntrys whose callback members must by of
> type GtkItemFactoryCallback1
But, under gcc-14, the implicit cast from GtkItemFactoryCallback1 to
GtkItemFactoryCallback triggers an incompatible-pointer-types error (See [0]).
An exemple of this error:
pidgin/gtkconv.c:3096:66: error: initialization of 'void (*)(void)' from incompatible pointer type 'void (*)(void *, guint, GtkWidget *)' {aka 'void (*)(void *, unsigned int, struct _GtkWidget *)'} [-Wincompatible-pointer-types]
3096 | { N_("/Conversation/New Instant _Message..."), "<CTL>M", menu_new_conv_cb,
| ^~~~~~~~~~~~~~~~
pidgin/gtkconv.c:3096:66: note: (near initialization for 'menu_items[1].callback')
To fix this, explicitely cast to GtkItemFactoryCallback where needed.
Testing Done:
Built with gcc-14, started and clicked on some affected menus
[0]: https://gcc.gnu.org/gcc-14/porting_to.html#incompatible-pointer-types
Upstream-Status: Backport [https://keep.imfreedom.org/pidgin/pidgin/rev/210f318db492]
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
diff --git a/pidgin/gtkblist.c b/pidgin/gtkblist.c
--- a/pidgin/gtkblist.c
+++ b/pidgin/gtkblist.c
@@ -3624,11 +3624,11 @@ static GtkItemFactoryEntry blist_menu[]
{ N_("/Buddies/View User _Log..."), "<CTL>L", pidgin_dialogs_log, 0, "<Item>", NULL },
{ "/Buddies/sep1", NULL, NULL, 0, "<Separator>", NULL },
{ N_("/Buddies/Sh_ow"), NULL, NULL, 0, "<Branch>", NULL},
- { N_("/Buddies/Show/_Offline Buddies"), NULL, pidgin_blist_edit_mode_cb, 1, "<CheckItem>", NULL },
- { N_("/Buddies/Show/_Empty Groups"), NULL, pidgin_blist_show_empty_groups_cb, 1, "<CheckItem>", NULL },
- { N_("/Buddies/Show/Buddy _Details"), NULL, pidgin_blist_buddy_details_cb, 1, "<CheckItem>", NULL },
- { N_("/Buddies/Show/Idle _Times"), NULL, pidgin_blist_show_idle_time_cb, 1, "<CheckItem>", NULL },
- { N_("/Buddies/Show/_Protocol Icons"), NULL, pidgin_blist_show_protocol_icons_cb, 1, "<CheckItem>", NULL },
+ { N_("/Buddies/Show/_Offline Buddies"), NULL, (GtkItemFactoryCallback)pidgin_blist_edit_mode_cb, 1, "<CheckItem>", NULL },
+ { N_("/Buddies/Show/_Empty Groups"), NULL, (GtkItemFactoryCallback)pidgin_blist_show_empty_groups_cb, 1, "<CheckItem>", NULL },
+ { N_("/Buddies/Show/Buddy _Details"), NULL, (GtkItemFactoryCallback)pidgin_blist_buddy_details_cb, 1, "<CheckItem>", NULL },
+ { N_("/Buddies/Show/Idle _Times"), NULL, (GtkItemFactoryCallback)pidgin_blist_show_idle_time_cb, 1, "<CheckItem>", NULL },
+ { N_("/Buddies/Show/_Protocol Icons"), NULL, (GtkItemFactoryCallback)pidgin_blist_show_protocol_icons_cb, 1, "<CheckItem>", NULL },
{ N_("/Buddies/_Sort Buddies"), NULL, NULL, 0, "<Branch>", NULL },
{ "/Buddies/sep2", NULL, NULL, 0, "<Separator>", NULL },
{ N_("/Buddies/_Add Buddy..."), "<CTL>B", pidgin_blist_add_buddy_cb, 0, "<StockItem>", GTK_STOCK_ADD },
@@ -3651,11 +3651,11 @@ static GtkItemFactoryEntry blist_menu[]
{ N_("/Tools/Pr_ivacy"), NULL, pidgin_privacy_dialog_show, 0, "<Item>", NULL },
{ N_("/Tools/Set _Mood"), "<CTL>D", set_mood_show, 0, "<Item>", NULL },
{ "/Tools/sep2", NULL, NULL, 0, "<Separator>", NULL },
- { N_("/Tools/_File Transfers"), "<CTL>T", pidgin_xfer_dialog_show, 0, "<StockItem>", PIDGIN_STOCK_TOOLBAR_TRANSFER },
+ { N_("/Tools/_File Transfers"), "<CTL>T", (GtkItemFactoryCallback)pidgin_xfer_dialog_show, 0, "<StockItem>", PIDGIN_STOCK_TOOLBAR_TRANSFER },
{ N_("/Tools/R_oom List"), NULL, pidgin_roomlist_dialog_show, 0, "<Item>", NULL },
{ N_("/Tools/System _Log"), NULL, gtk_blist_show_systemlog_cb, 3, "<Item>", NULL },
{ "/Tools/sep3", NULL, NULL, 0, "<Separator>", NULL },
- { N_("/Tools/Mute _Sounds"), NULL, pidgin_blist_mute_sounds_cb, 0, "<CheckItem>", NULL },
+ { N_("/Tools/Mute _Sounds"), NULL, (GtkItemFactoryCallback)pidgin_blist_mute_sounds_cb, 0, "<CheckItem>", NULL },
/* Help */
{ N_("/_Help"), NULL, NULL, 0, "<Branch>", NULL },
{ N_("/Help/Online _Help"), "F1", gtk_blist_show_onlinehelp_cb, 0, "<StockItem>", GTK_STOCK_HELP },
diff --git a/pidgin/gtkconv.c b/pidgin/gtkconv.c
--- a/pidgin/gtkconv.c
+++ b/pidgin/gtkconv.c
@@ -3093,76 +3093,76 @@ static GtkItemFactoryEntry menu_items[]
/* Conversation menu */
{ N_("/_Conversation"), NULL, NULL, 0, "<Branch>", NULL },
- { N_("/Conversation/New Instant _Message..."), "<CTL>M", menu_new_conv_cb,
+ { N_("/Conversation/New Instant _Message..."), "<CTL>M", (GtkItemFactoryCallback)menu_new_conv_cb,
0, "<StockItem>", PIDGIN_STOCK_TOOLBAR_MESSAGE_NEW },
- { N_("/Conversation/Join a _Chat..."), NULL, menu_join_chat_cb,
+ { N_("/Conversation/Join a _Chat..."), NULL, (GtkItemFactoryCallback)menu_join_chat_cb,
0, "<StockItem>", PIDGIN_STOCK_CHAT },
{ "/Conversation/sep0", NULL, NULL, 0, "<Separator>", NULL },
- { N_("/Conversation/_Find..."), NULL, menu_find_cb, 0,
+ { N_("/Conversation/_Find..."), NULL, (GtkItemFactoryCallback)menu_find_cb, 0,
"<StockItem>", GTK_STOCK_FIND },
- { N_("/Conversation/View _Log"), NULL, menu_view_log_cb, 0, "<Item>", NULL },
- { N_("/Conversation/_Save As..."), NULL, menu_save_as_cb, 0,
+ { N_("/Conversation/View _Log"), NULL, (GtkItemFactoryCallback)menu_view_log_cb, 0, "<Item>", NULL },
+ { N_("/Conversation/_Save As..."), NULL, (GtkItemFactoryCallback)menu_save_as_cb, 0,
"<StockItem>", GTK_STOCK_SAVE_AS },
- { N_("/Conversation/Clea_r Scrollback"), "<CTL>L", menu_clear_cb, 0, "<StockItem>", GTK_STOCK_CLEAR },
+ { N_("/Conversation/Clea_r Scrollback"), "<CTL>L", (GtkItemFactoryCallback)menu_clear_cb, 0, "<StockItem>", GTK_STOCK_CLEAR },
{ "/Conversation/sep1", NULL, NULL, 0, "<Separator>", NULL },
#ifdef USE_VV
{ N_("/Conversation/M_edia"), NULL, NULL, 0, "<Branch>", NULL },
- { N_("/Conversation/Media/_Audio Call"), NULL, menu_initiate_media_call_cb, 0,
+ { N_("/Conversation/Media/_Audio Call"), NULL, (GtkItemFactoryCallback)menu_initiate_media_call_cb, 0,
"<StockItem>", PIDGIN_STOCK_TOOLBAR_AUDIO_CALL },
- { N_("/Conversation/Media/_Video Call"), NULL, menu_initiate_media_call_cb, 1,
+ { N_("/Conversation/Media/_Video Call"), NULL, (GtkItemFactoryCallback)menu_initiate_media_call_cb, 1,
"<StockItem>", PIDGIN_STOCK_TOOLBAR_VIDEO_CALL },
- { N_("/Conversation/Media/Audio\\/Video _Call"), NULL, menu_initiate_media_call_cb, 2,
+ { N_("/Conversation/Media/Audio\\/Video _Call"), NULL, (GtkItemFactoryCallback)menu_initiate_media_call_cb, 2,
"<StockItem>", PIDGIN_STOCK_TOOLBAR_VIDEO_CALL },
#endif
- { N_("/Conversation/Se_nd File..."), NULL, menu_send_file_cb, 0, "<StockItem>", PIDGIN_STOCK_TOOLBAR_SEND_FILE },
- { N_("/Conversation/Get _Attention"), NULL, menu_get_attention_cb, 0, "<StockItem>", PIDGIN_STOCK_TOOLBAR_SEND_ATTENTION },
- { N_("/Conversation/Add Buddy _Pounce..."), NULL, menu_add_pounce_cb,
+ { N_("/Conversation/Se_nd File..."), NULL, (GtkItemFactoryCallback)menu_send_file_cb, 0, "<StockItem>", PIDGIN_STOCK_TOOLBAR_SEND_FILE },
+ { N_("/Conversation/Get _Attention"), NULL, (GtkItemFactoryCallback)menu_get_attention_cb, 0, "<StockItem>", PIDGIN_STOCK_TOOLBAR_SEND_ATTENTION },
+ { N_("/Conversation/Add Buddy _Pounce..."), NULL, (GtkItemFactoryCallback)menu_add_pounce_cb,
0, "<Item>", NULL },
- { N_("/Conversation/_Get Info"), "<CTL>O", menu_get_info_cb, 0,
+ { N_("/Conversation/_Get Info"), "<CTL>O", (GtkItemFactoryCallback)menu_get_info_cb, 0,
"<StockItem>", PIDGIN_STOCK_TOOLBAR_USER_INFO },
- { N_("/Conversation/In_vite..."), NULL, menu_invite_cb, 0,
+ { N_("/Conversation/In_vite..."), NULL, (GtkItemFactoryCallback)menu_invite_cb, 0,
"<Item>", NULL },
{ N_("/Conversation/M_ore"), NULL, NULL, 0, "<Branch>", NULL },
{ "/Conversation/sep2", NULL, NULL, 0, "<Separator>", NULL },
- { N_("/Conversation/Al_ias..."), NULL, menu_alias_cb, 0,
+ { N_("/Conversation/Al_ias..."), NULL, (GtkItemFactoryCallback)menu_alias_cb, 0,
"<Item>", NULL },
- { N_("/Conversation/_Block..."), NULL, menu_block_cb, 0,
+ { N_("/Conversation/_Block..."), NULL, (GtkItemFactoryCallback)menu_block_cb, 0,
"<StockItem>", PIDGIN_STOCK_TOOLBAR_BLOCK },
- { N_("/Conversation/_Unblock..."), NULL, menu_unblock_cb, 0,
+ { N_("/Conversation/_Unblock..."), NULL, (GtkItemFactoryCallback)menu_unblock_cb, 0,
"<StockItem>", PIDGIN_STOCK_TOOLBAR_UNBLOCK },
- { N_("/Conversation/_Add..."), NULL, menu_add_remove_cb, 0,
+ { N_("/Conversation/_Add..."), NULL, (GtkItemFactoryCallback)menu_add_remove_cb, 0,
"<StockItem>", GTK_STOCK_ADD },
- { N_("/Conversation/_Remove..."), NULL, menu_add_remove_cb, 0,
+ { N_("/Conversation/_Remove..."), NULL, (GtkItemFactoryCallback)menu_add_remove_cb, 0,
"<StockItem>", GTK_STOCK_REMOVE },
{ "/Conversation/sep3", NULL, NULL, 0, "<Separator>", NULL },
- { N_("/Conversation/Insert Lin_k..."), NULL, menu_insert_link_cb, 0,
+ { N_("/Conversation/Insert Lin_k..."), NULL, (GtkItemFactoryCallback)menu_insert_link_cb, 0,
"<StockItem>", PIDGIN_STOCK_TOOLBAR_INSERT_LINK },
- { N_("/Conversation/Insert Imag_e..."), NULL, menu_insert_image_cb, 0,
+ { N_("/Conversation/Insert Imag_e..."), NULL, (GtkItemFactoryCallback)menu_insert_image_cb, 0,
"<StockItem>", PIDGIN_STOCK_TOOLBAR_INSERT_IMAGE },
{ "/Conversation/sep4", NULL, NULL, 0, "<Separator>", NULL },
- { N_("/Conversation/_Close"), NULL, menu_close_conv_cb, 0,
+ { N_("/Conversation/_Close"), NULL, (GtkItemFactoryCallback)menu_close_conv_cb, 0,
"<StockItem>", GTK_STOCK_CLOSE },
/* Options */
{ N_("/_Options"), NULL, NULL, 0, "<Branch>", NULL },
- { N_("/Options/Enable _Logging"), NULL, menu_logging_cb, 0, "<CheckItem>", NULL },
- { N_("/Options/Enable _Sounds"), NULL, menu_sounds_cb, 0, "<CheckItem>", NULL },
+ { N_("/Options/Enable _Logging"), NULL, (GtkItemFactoryCallback)menu_logging_cb, 0, "<CheckItem>", NULL },
+ { N_("/Options/Enable _Sounds"), NULL, (GtkItemFactoryCallback)menu_sounds_cb, 0, "<CheckItem>", NULL },
{ "/Options/sep0", NULL, NULL, 0, "<Separator>", NULL },
- { N_("/Options/Show Formatting _Toolbars"), NULL, menu_toolbar_cb, 0, "<CheckItem>", NULL },
- { N_("/Options/Show Ti_mestamps"), NULL, menu_timestamps_cb, 0, "<CheckItem>", NULL },
+ { N_("/Options/Show Formatting _Toolbars"), NULL, (GtkItemFactoryCallback)menu_toolbar_cb, 0, "<CheckItem>", NULL },
+ { N_("/Options/Show Ti_mestamps"), NULL, (GtkItemFactoryCallback)menu_timestamps_cb, 0, "<CheckItem>", NULL },
};
static const int menu_item_count =
@@ -10,10 +10,9 @@ inherit autotools gettext pkgconfig gconf perlnative python3native
SRC_URI = "\
${SOURCEFORGE_MIRROR}/pidgin/pidgin-${PV}.tar.bz2 \
file://sanitize-configure.ac.patch \
file://fix_incompatible_pointer_types_for_gtkitemfactorycallbacks_on_gcc-14.patch \
"
SRC_URI[sha256sum] = "120049dc8e17e09a2a7d256aff2191ff8491abb840c8c7eb319a161e2df16ba8"
SRC_URI[sha256sum] = "0ffc9994def10260f98a55cd132deefa8dc4a9835451cc0e982747bd458e2356"
CVE_STATUS[CVE-2010-1624] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
CVE_STATUS[CVE-2011-3594] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."