Port desktop and appdata files to use Meson's i18n.merge_file()

Wed, 23 May 2018 17:40:17 -0500

author
Mike Ruprecht <cmaiku@gmail.com>
date
Wed, 23 May 2018 17:40:17 -0500
changeset 39104
6a230ca87406
parent 39103
6581a9fa90d4
child 39105
67be6a8c7a59

Port desktop and appdata files to use Meson's i18n.merge_file()

This patch ports desktop and app file internationalization creation
to use i18n.merge_file(). This internally uses msgfmt instead of
intltool-merge. As a result, we now depend on gettext 0.19.6.

libpurple/data/purple-url-handler.desktop.in.in file | annotate | diff | comparison | revisions
libpurple/meson.build file | annotate | diff | comparison | revisions
pidgin/data/im.pidgin.Pidgin.appdata.xml.in file | annotate | diff | comparison | revisions
pidgin/data/im.pidgin.Pidgin.desktop.in.in file | annotate | diff | comparison | revisions
pidgin/meson.build file | annotate | diff | comparison | revisions
--- a/libpurple/data/purple-url-handler.desktop.in.in	Wed May 23 17:36:05 2018 -0500
+++ b/libpurple/data/purple-url-handler.desktop.in.in	Wed May 23 17:40:17 2018 -0500
@@ -1,7 +1,7 @@
 [Desktop Entry]
-_Name=Pidgin
-_GenericName=Internet Messenger
-_Comment=Chat over IM.  Supports AIM, Google Talk, Jabber/XMPP, and more
+Name=Pidgin
+GenericName=Internet Messenger
+Comment=Chat over IM.  Supports AIM, Google Talk, Jabber/XMPP, and more
 Exec=purple-url-handler %u
 TryExec=purple-url-handler
 Icon=pidgin
--- a/libpurple/meson.build	Wed May 23 17:36:05 2018 -0500
+++ b/libpurple/meson.build	Wed May 23 17:40:17 2018 -0500
@@ -440,12 +440,11 @@
 	    input : 'data/' + DESKTOP_FILE + '.in.in',
 	    output : DESKTOP_FILE + '.in',
 	    configuration : conf)
-	desktop_file = custom_target(DESKTOP_FILE,
+	desktop_file = i18n.merge_file(
 	    input : desktop_file_in,
 	    output : DESKTOP_FILE,
-	    command : [intltool_merge, '--desktop-style', '-u',
-	               '-c', '@BUILD_DIR@/po/.intltool-merge-cache',
-	               meson.source_root() + '/po', '@INPUT@', '@OUTPUT@'],
+	    po_dir : meson.source_root() + '/po',
+	    type : 'desktop',
 	    install : true,
 	    install_dir : get_option('datadir') + '/applications')
 endif  # INSTALL_I18N
--- a/pidgin/data/im.pidgin.Pidgin.appdata.xml.in	Wed May 23 17:36:05 2018 -0500
+++ b/pidgin/data/im.pidgin.Pidgin.appdata.xml.in	Wed May 23 17:40:17 2018 -0500
@@ -7,15 +7,15 @@
   <metadata_license>CC0-1.0</metadata_license>
   <project_license>GPL-2.0</project_license>
   <description>
-    <_p>
+    <p>
       Pidgin is a chat program which lets you log in to accounts on multiple
       chat networks simultaneously.
-    </_p>
-    <_p>
+    </p>
+    <p>
       This means that you can be chatting with friends on AIM, talking to a
       friend on Google Talk, and sitting in an IRC chat room all at the same
       time.
-    </_p>
+    </p>
   </description>
 
   <launchable type="desktop-id">im.pidgin.Pidgin.desktop</launchable>
@@ -26,7 +26,7 @@
   <screenshots>
     <screenshot type="default">
       <image>https://www.pidgin.im/shared/img/contact_window.png</image>
-      <_caption>Buddy list showing friends on different networks</_caption>
+      <caption>Buddy list showing friends on different networks</caption>
     </screenshot>
   </screenshots>
 
--- a/pidgin/data/im.pidgin.Pidgin.desktop.in.in	Wed May 23 17:36:05 2018 -0500
+++ b/pidgin/data/im.pidgin.Pidgin.desktop.in.in	Wed May 23 17:40:17 2018 -0500
@@ -1,7 +1,7 @@
 [Desktop Entry]
-_Name=Pidgin
-_GenericName=Internet Messenger
-_Comment=Chat over IM.  Supports AIM, Google Talk, Jabber/XMPP, and more
+Name=Pidgin
+GenericName=Internet Messenger
+Comment=Chat over IM.  Supports AIM, Google Talk, Jabber/XMPP, and more
 Exec=pidgin
 Icon=pidgin
 StartupNotify=true
--- a/pidgin/meson.build	Wed May 23 17:36:05 2018 -0500
+++ b/pidgin/meson.build	Wed May 23 17:40:17 2018 -0500
@@ -203,21 +203,18 @@
 		    input : 'data/' + DESKTOP_FILE + '.in.in',
 		    output : DESKTOP_FILE + '.in',
 		    configuration : conf)
-		desktop_file = custom_target(DESKTOP_FILE,
+		desktop_file = i18n.merge_file(
 		    input : desktop_file_in,
 		    output : DESKTOP_FILE,
-		    command : [intltool_merge, '--desktop-style', '-u',
-		               '-c', '@BUILD_DIR@/po/.intltool-merge-cache',
-		               meson.source_root() + '/po', '@INPUT@', '@OUTPUT@'],
+		    po_dir : meson.source_root() + '/po',
+		    type : 'desktop',
 		    install : true,
 		    install_dir : get_option('datadir') + '/applications')
 
-		appdata = custom_target('im.pidgin.Pidgin.appdata.xml',
+		appdata = i18n.merge_file(
 		    input : 'data/im.pidgin.Pidgin.appdata.xml.in',
 		    output : 'im.pidgin.Pidgin.appdata.xml',
-			command : [intltool_merge, '--xml-style', '-u',
-		               '-c', '@BUILD_DIR@/po/.intltool-merge-cache',
-		               meson.source_root() + '/po', '@INPUT@', '@OUTPUT@'],
+		    po_dir : meson.source_root() + '/po',
 		    install : true,
 		    install_dir : get_option('datadir') + '/metainfo')
 	endif  # INSTALL_I18N

mercurial