diff mbox series

[meta-oe,v2] pidgin: Upgrade to 2.14.13

Message ID 20240709071954.910488-1-yoann.congal@smile.fr
State Accepted
Headers show
Series [meta-oe,v2] pidgin: Upgrade to 2.14.13 | expand

Commit Message

Yoann Congal July 9, 2024, 7:19 a.m. UTC
From: Yoann Congal <yoann.congal@smile.fr>

Upstream changelog: https://www.pidgin.im/ChangeLog

Recipe changes:
* Add a patch (in review) to support building on gcc-14
* Drop OE branding patch (code supporting this has disapeared or is
  disabled)
* Remove vv and farsight2 PACKAGECONFIGs (depend on the removed
  farsight2 recipe[0])
* Fixed an obvious reproducibility issue with TMPDIR in binary

[0]: https://git.openembedded.org/meta-openembedded/commit/?id=ec9e5ed06256ad92c818474cdb490dc0d3a0d0a3

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
v1->v2: Update Upstream-Status after patch merge
---
 ...or_gtkitemfactorycallbacks_on_gcc-14.patch | 177 ++++++++++++++++++
 .../pidgin/pidgin/purple-OE-branding-25.patch |  26 ---
 .../{pidgin_2.14.2.bb => pidgin_2.14.13.bb}   |  19 +-
 3 files changed, 190 insertions(+), 32 deletions(-)
 create mode 100644 meta-oe/recipes-support/pidgin/pidgin/fix_incompatible_pointer_types_for_gtkitemfactorycallbacks_on_gcc-14.patch
 delete mode 100644 meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch
 rename meta-oe/recipes-support/pidgin/{pidgin_2.14.2.bb => pidgin_2.14.13.bb} (89%)
diff mbox series

Patch

diff --git a/meta-oe/recipes-support/pidgin/pidgin/fix_incompatible_pointer_types_for_gtkitemfactorycallbacks_on_gcc-14.patch b/meta-oe/recipes-support/pidgin/pidgin/fix_incompatible_pointer_types_for_gtkitemfactorycallbacks_on_gcc-14.patch
new file mode 100644
index 0000000000..b8e3d479fe
--- /dev/null
+++ b/meta-oe/recipes-support/pidgin/pidgin/fix_incompatible_pointer_types_for_gtkitemfactorycallbacks_on_gcc-14.patch
@@ -0,0 +1,177 @@ 
+# 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: Submitted [https://reviews.imfreedom.org/r/3282/]
+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 =
diff --git a/meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch b/meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch
deleted file mode 100644
index 1c4daa9f67..0000000000
--- a/meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch
+++ /dev/null
@@ -1,26 +0,0 @@ 
-From 43e9db656431ffb22b429d5fca4ce3b4af21bc9e Mon Sep 17 00:00:00 2001
-From: Herrie <github.com@herrie.org>
-Date: Mon, 24 Jul 2017 21:30:16 +0200
-
----
-Upstream-Status: Pending
-
- libpurple/protocols/irc/irc.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/libpurple/protocols/irc/irc.h b/libpurple/protocols/irc/irc.h
-index 596ddaf..b70f3a9 100644
---- a/libpurple/protocols/irc/irc.h
-+++ b/libpurple/protocols/irc/irc.h
-@@ -40,9 +40,9 @@
- 
- #define IRC_DEFAULT_CHARSET "UTF-8"
- #define IRC_DEFAULT_AUTODETECT FALSE
--#define IRC_DEFAULT_ALIAS "purple"
-+#define IRC_DEFAULT_ALIAS "OE-user"
- 
--#define IRC_DEFAULT_QUIT "Leaving."
-+#define IRC_DEFAULT_QUIT "Powered by OE: www.openembedded.org"
- 
- #define IRC_BUFSIZE_INCREMENT 1024
- #define IRC_MAX_BUFSIZE 16384
diff --git a/meta-oe/recipes-support/pidgin/pidgin_2.14.2.bb b/meta-oe/recipes-support/pidgin/pidgin_2.14.13.bb
similarity index 89%
rename from meta-oe/recipes-support/pidgin/pidgin_2.14.2.bb
rename to meta-oe/recipes-support/pidgin/pidgin_2.14.13.bb
index ae251b5a08..ac62863f5c 100644
--- a/meta-oe/recipes-support/pidgin/pidgin_2.14.2.bb
+++ b/meta-oe/recipes-support/pidgin/pidgin_2.14.13.bb
@@ -10,10 +10,10 @@  inherit autotools gettext pkgconfig gconf perlnative python3native
 SRC_URI = "\
     ${SOURCEFORGE_MIRROR}/pidgin/pidgin-${PV}.tar.bz2 \
     file://sanitize-configure.ac.patch \
-    file://purple-OE-branding-25.patch \
+    file://fix_incompatible_pointer_types_for_gtkitemfactorycallbacks_on_gcc-14.patch \
 "
 
-SRC_URI[sha256sum] = "19654ad276b149646371fbdac21bc7620742f2975f7399fed0ffc1a18fbaf603"
+SRC_URI[sha256sum] = "120049dc8e17e09a2a7d256aff2191ff8491abb840c8c7eb319a161e2df16ba8"
 
 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."
@@ -21,7 +21,6 @@  CVE_STATUS[CVE-2011-3594] = "fixed-version: The CPE in the NVD database doesn't
 PACKAGECONFIG ??= "gnutls consoleui avahi dbus idn nss \
     ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 gtk startup-notification', '', d)} \
 "
-PACKAGECONFIG[farsight2] = "--enable-farstream,--disable-farstream,farsight2"
 #  --disable-gstreamer     compile without GStreamer audio support
 #  --disable-gstreamer-video
 #                          compile without GStreamer 1.0 Video Overlay support
@@ -29,8 +28,7 @@  PACKAGECONFIG[farsight2] = "--enable-farstream,--disable-farstream,farsight2"
 #                          compile without GStreamer 0.10 interface support
 #  --with-gstreamer=<version>
 #                          compile with GStreamer 0.10 or 1.0 interface
-PACKAGECONFIG[gstreamer] = "--enable-gstreamer,--disable-gstreamer,gstreamer"
-PACKAGECONFIG[vv] = "--enable-vv,--disable-vv,gstreamer"
+PACKAGECONFIG[gstreamer] = "--enable-gstreamer,--disable-gstreamer,gstreamer1.0"
 PACKAGECONFIG[idn] = "--enable-idn,--disable-idn,libidn"
 PACKAGECONFIG[gtk] = "--enable-gtkui,--disable-gtkui,gtk+"
 PACKAGECONFIG[x11] = "--with-x=yes --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--with-x=no,virtual/libx11"
@@ -51,8 +49,17 @@  EXTRA_OECONF = " \
     --disable-meanwhile \
     --disable-nm \
     --disable-screensaver \
+    --disable-farstream \
+    --disable-vv \
 "
 
+# CONFIG_ARGS is used to display build info. Replace full paths by reproducible
+# variables ($S, $WORKDIR)
+do_configure:append() {
+    sed -i -e "/CONFIG_ARGS/s|${S}|\$S|g" ${B}/config.h
+    sed -i -e "/CONFIG_ARGS/s|${WORKDIR}|\$WORKDIR|g" ${B}/config.h
+}
+
 OE_LT_RPATH_ALLOW=":${libdir}/purple-2:"
 OE_LT_RPATH_ALLOW[export]="1"
 
@@ -73,7 +80,7 @@  FILES:finch          = "${bindir}/finch"
 FILES:finch-dev      = "${libdir}/finch/*.la"
 
 FILES:${PN} = "${bindir} ${datadir}/${PN} ${libdir}/${PN}/*.so \
-           ${datadir}/applications"
+           ${datadir}/applications ${datadir}/metainfo"
 RRECOMMENDS:${PN} = "${PN}-data libpurple-protocol-irc libpurple-protocol-xmpp"
 
 FILES:${PN}-data = "${datadir}/pixmaps ${datadir}/sounds ${datadir}/icons ${datadir}/appdata"