[totem/gbsneto/i18n-merge] build: Use i18n.merge_file() for plugin files




commit 810647988c97e012b674cef231df1b981fb53ead
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Wed Oct 19 11:36:41 2022 -0300

    build: Use i18n.merge_file() for plugin files
    
    Even though we still need to preserve the *.plugin.desktop.in
    workaround, we can easily use Meson's native i18.merge_file()
    to generate translations, instead of the custom_target(). This
    isn't groundbreaking, but it's a nice little cleanup.
    
    Switch plugins to generate translations using i18.merge_file().
    This can be tested with "$ ninja totem-update-po" in the build
    directory, the translation files still contain strings from
    the *.plugin.desktop.in files.

 src/plugins/apple-trailers/meson.build     |  7 +++----
 src/plugins/autoload-subtitles/meson.build |  7 +++----
 src/plugins/im-status/meson.build          |  7 +++----
 src/plugins/meson.build                    | 12 ------------
 src/plugins/mpris/meson.build              |  7 +++----
 src/plugins/open-directory/meson.build     |  7 +++----
 src/plugins/opensubtitles/meson.build      |  7 +++----
 src/plugins/properties/meson.build         |  7 +++----
 src/plugins/pythonconsole/meson.build      |  7 +++----
 src/plugins/recent/meson.build             |  7 +++----
 src/plugins/rotation/meson.build           |  7 +++----
 src/plugins/samplepython/meson.build       | 20 +++++++-------------
 src/plugins/save-file/meson.build          |  7 +++----
 src/plugins/screensaver/meson.build        |  7 +++----
 src/plugins/screenshot/meson.build         |  7 +++----
 src/plugins/skipto/meson.build             |  7 +++----
 src/plugins/variable-rate/meson.build      |  7 +++----
 src/plugins/vimeo/meson.build              |  7 +++----
 18 files changed, 55 insertions(+), 89 deletions(-)
---
diff --git a/src/plugins/apple-trailers/meson.build b/src/plugins/apple-trailers/meson.build
index db8390909..60c131197 100644
--- a/src/plugins/apple-trailers/meson.build
+++ b/src/plugins/apple-trailers/meson.build
@@ -14,11 +14,10 @@ shared_module(
 
 plugin_data = plugin_name + '.plugin'
 
-custom_target(
-  plugin_data,
+i18n.merge_file(
   input: plugin_data + '.desktop.in',
   output: plugin_data,
-  command: msgfmt_plugin_cmd,
-  install: true,
+  type: 'desktop',
+  po_dir: po_dir,
   install_dir: plugin_dir
 )
diff --git a/src/plugins/autoload-subtitles/meson.build b/src/plugins/autoload-subtitles/meson.build
index 2644d0531..87a72a59d 100644
--- a/src/plugins/autoload-subtitles/meson.build
+++ b/src/plugins/autoload-subtitles/meson.build
@@ -14,11 +14,10 @@ shared_module(
 
 plugin_data = plugin_name + '.plugin'
 
-custom_target(
-  plugin_data,
+i18n.merge_file(
   input: plugin_data + '.desktop.in',
   output: plugin_data,
-  command: msgfmt_plugin_cmd,
-  install: true,
+  type: 'desktop',
+  po_dir: po_dir,
   install_dir: plugin_dir
 )
diff --git a/src/plugins/im-status/meson.build b/src/plugins/im-status/meson.build
index 24281ad14..801c857e9 100644
--- a/src/plugins/im-status/meson.build
+++ b/src/plugins/im-status/meson.build
@@ -14,11 +14,10 @@ shared_module(
 
 plugin_data = plugin_name + '.plugin'
 
-custom_target(
-  plugin_data,
+i18n.merge_file(
   input: plugin_data + '.desktop.in',
   output: plugin_data,
-  command: msgfmt_plugin_cmd,
-  install: true,
+  type: 'desktop',
+  po_dir: po_dir,
   install_dir: plugin_dir
 )
diff --git a/src/plugins/meson.build b/src/plugins/meson.build
index e78e70e28..5009c9cc3 100644
--- a/src/plugins/meson.build
+++ b/src/plugins/meson.build
@@ -71,18 +71,6 @@ endif
 
 pylint_flags = ['-d', 'C0111', '-d', 'W0511', '-d', 'F0401', '-d', 'C0326' ]
 
-# FIXME: Move custom_target to i18n.merge_file when gettext acquires plugin support.
-#        http://lists.gnu.org/archive/html/bug-gettext/2017-06/msg00001.html
-msgfmt_plugin_cmd = [
-  find_program('msgfmt'),
-  '--desktop',
-  '--keyword=Name',
-  '--keyword=Description',
-  '--template=@INPUT@',
-  '-d', po_dir,
-  '--output=@OUTPUT@'
-]
-
 foreach plugin: plugins
   subdir(plugin)
 endforeach
diff --git a/src/plugins/mpris/meson.build b/src/plugins/mpris/meson.build
index 5de3f4b32..804389675 100644
--- a/src/plugins/mpris/meson.build
+++ b/src/plugins/mpris/meson.build
@@ -16,11 +16,10 @@ shared_module(
 
 plugin_data = plugin_name + '.plugin'
 
-custom_target(
-  plugin_data,
+i18n.merge_file(
   input: plugin_data + '.desktop.in',
   output: plugin_data,
-  command: msgfmt_plugin_cmd,
-  install: true,
+  type: 'desktop',
+  po_dir: po_dir,
   install_dir: plugin_dir
 )
diff --git a/src/plugins/open-directory/meson.build b/src/plugins/open-directory/meson.build
index 604c8c1a7..04ee64b3e 100644
--- a/src/plugins/open-directory/meson.build
+++ b/src/plugins/open-directory/meson.build
@@ -17,11 +17,10 @@ shared_module(
 
 plugin_data = plugin_name + '.plugin'
 
-custom_target(
-  plugin_data,
+i18n.merge_file(
   input: plugin_data + '.desktop.in',
   output: plugin_data,
-  command: msgfmt_plugin_cmd,
-  install: true,
+  type: 'desktop',
+  po_dir: po_dir,
   install_dir: plugin_dir
 )
diff --git a/src/plugins/opensubtitles/meson.build b/src/plugins/opensubtitles/meson.build
index 689722daf..41a8b96d6 100644
--- a/src/plugins/opensubtitles/meson.build
+++ b/src/plugins/opensubtitles/meson.build
@@ -15,12 +15,11 @@ install_data(
 
 plugin_data = plugin_name + '.plugin'
 
-custom_target(
-  plugin_data,
+i18n.merge_file(
   input: plugin_data + '.desktop.in',
   output: plugin_data,
-  command: msgfmt_plugin_cmd,
-  install: true,
+  type: 'desktop',
+  po_dir: po_dir,
   install_dir: plugin_dir
 )
 
diff --git a/src/plugins/properties/meson.build b/src/plugins/properties/meson.build
index b3c3f1fa0..46e8c215c 100644
--- a/src/plugins/properties/meson.build
+++ b/src/plugins/properties/meson.build
@@ -24,11 +24,10 @@ shared_module(
 
 plugin_data = plugin_name + '.plugin'
 
-custom_target(
-  plugin_data,
+i18n.merge_file(
   input: plugin_data + '.desktop.in',
   output: plugin_data,
-  command: msgfmt_plugin_cmd,
-  install: true,
+  type: 'desktop',
+  po_dir: po_dir,
   install_dir: plugin_dir
 )
diff --git a/src/plugins/pythonconsole/meson.build b/src/plugins/pythonconsole/meson.build
index 46c15a0fa..3a12046c9 100644
--- a/src/plugins/pythonconsole/meson.build
+++ b/src/plugins/pythonconsole/meson.build
@@ -14,12 +14,11 @@ install_data(
 
 plugin_data = plugin_name + '.plugin'
 
-custom_target(
-  plugin_data,
+i18n.merge_file(
   input: plugin_data + '.desktop.in',
   output: plugin_data,
-  command: msgfmt_plugin_cmd,
-  install: true,
+  type: 'desktop',
+  po_dir: po_dir,
   install_dir: plugin_dir
 )
 
diff --git a/src/plugins/recent/meson.build b/src/plugins/recent/meson.build
index 070fdc42a..34e17a2df 100644
--- a/src/plugins/recent/meson.build
+++ b/src/plugins/recent/meson.build
@@ -14,11 +14,10 @@ shared_module(
 
 plugin_data = plugin_name + '.plugin'
 
-custom_target(
-  plugin_data,
+i18n.merge_file(
   input: plugin_data + '.desktop.in',
   output: plugin_data,
-  command: msgfmt_plugin_cmd,
-  install: true,
+  type: 'desktop',
+  po_dir: po_dir,
   install_dir: plugin_dir
 )
diff --git a/src/plugins/rotation/meson.build b/src/plugins/rotation/meson.build
index fc3a1b12f..c47ead358 100644
--- a/src/plugins/rotation/meson.build
+++ b/src/plugins/rotation/meson.build
@@ -14,11 +14,10 @@ shared_module(
 
 plugin_data = plugin_name + '.plugin'
 
-custom_target(
-  plugin_data,
+i18n.merge_file(
   input: plugin_data + '.desktop.in',
   output: plugin_data,
-  command: msgfmt_plugin_cmd,
-  install: true,
+  type: 'desktop',
+  po_dir: po_dir,
   install_dir: plugin_dir
 )
diff --git a/src/plugins/samplepython/meson.build b/src/plugins/samplepython/meson.build
index be68bb580..ed4de022a 100644
--- a/src/plugins/samplepython/meson.build
+++ b/src/plugins/samplepython/meson.build
@@ -5,23 +5,17 @@ plugin_install = false
 plugin_dir = join_paths(totem_pluginsdir, 'sample-python')
 
 if plugin_install
-  install_data(
-    plugin_name + '.py',
+  plugin_data = plugin_name + '.plugin'
+
+  i18n.merge_file(
+    input: plugin_data + '.desktop.in',
+    output: plugin_data,
+    type: 'desktop',
+    po_dir: po_dir,
     install_dir: plugin_dir
   )
 endif
 
-plugin_data = plugin_name + '.plugin'
-
-custom_target(
-  plugin_data,
-  input: plugin_data + '.desktop.in',
-  output: plugin_data,
-  command: msgfmt_plugin_cmd,
-  install: plugin_install,
-  install_dir: plugin_dir
-)
-
 if pylint.found()
   test('pylint-' + plugin_name, pylint, args: pylint_flags + files([ plugin_name + '.py' ]))
 endif
diff --git a/src/plugins/save-file/meson.build b/src/plugins/save-file/meson.build
index 6d46648b8..2c5fd7002 100644
--- a/src/plugins/save-file/meson.build
+++ b/src/plugins/save-file/meson.build
@@ -16,11 +16,10 @@ shared_module(
 
 plugin_data = plugin_name + '.plugin'
 
-custom_target(
-  plugin_data,
+i18n.merge_file(
   input: plugin_data + '.desktop.in',
   output: plugin_data,
-  command: msgfmt_plugin_cmd,
-  install: true,
+  type: 'desktop',
+  po_dir: po_dir,
   install_dir: plugin_dir
 )
diff --git a/src/plugins/screensaver/meson.build b/src/plugins/screensaver/meson.build
index 08c17a735..de240d779 100644
--- a/src/plugins/screensaver/meson.build
+++ b/src/plugins/screensaver/meson.build
@@ -14,11 +14,10 @@ shared_module(
 
 plugin_data = plugin_name + '.plugin'
 
-custom_target(
-  plugin_data,
+i18n.merge_file(
   input: plugin_data + '.desktop.in',
   output: plugin_data,
-  command: msgfmt_plugin_cmd,
-  install: true,
+  type: 'desktop',
+  po_dir: po_dir,
   install_dir: plugin_dir
 )
diff --git a/src/plugins/screenshot/meson.build b/src/plugins/screenshot/meson.build
index 70d5fe3f8..7a6d87f00 100644
--- a/src/plugins/screenshot/meson.build
+++ b/src/plugins/screenshot/meson.build
@@ -42,11 +42,10 @@ shared_module(
 
 plugin_data = plugin_name + '.plugin'
 
-custom_target(
-  plugin_data,
+i18n.merge_file(
   input: plugin_data + '.desktop.in',
   output: plugin_data,
-  command: msgfmt_plugin_cmd,
-  install: true,
+  type: 'desktop',
+  po_dir: po_dir,
   install_dir: plugin_dir
 )
diff --git a/src/plugins/skipto/meson.build b/src/plugins/skipto/meson.build
index c5056a839..351967a04 100644
--- a/src/plugins/skipto/meson.build
+++ b/src/plugins/skipto/meson.build
@@ -28,11 +28,10 @@ shared_module(
 
 plugin_data = plugin_name + '.plugin'
 
-custom_target(
-  plugin_data,
+i18n.merge_file(
   input: plugin_data + '.desktop.in',
   output: plugin_data,
-  command: msgfmt_plugin_cmd,
-  install: true,
+  type: 'desktop',
+  po_dir: po_dir,
   install_dir: plugin_dir
 )
diff --git a/src/plugins/variable-rate/meson.build b/src/plugins/variable-rate/meson.build
index 0a5aeabec..178c83426 100644
--- a/src/plugins/variable-rate/meson.build
+++ b/src/plugins/variable-rate/meson.build
@@ -14,11 +14,10 @@ shared_module(
 
 plugin_data = plugin_name + '.plugin'
 
-custom_target(
-  plugin_data,
+i18n.merge_file(
   input: plugin_data + '.desktop.in',
   output: plugin_data,
-  command: msgfmt_plugin_cmd,
-  install: true,
+  type: 'desktop',
+  po_dir: po_dir,
   install_dir: plugin_dir
 )
diff --git a/src/plugins/vimeo/meson.build b/src/plugins/vimeo/meson.build
index 0bea9a949..4da215baa 100644
--- a/src/plugins/vimeo/meson.build
+++ b/src/plugins/vimeo/meson.build
@@ -14,11 +14,10 @@ shared_module(
 
 plugin_data = plugin_name + '.plugin'
 
-custom_target(
-  plugin_data,
+i18n.merge_file(
   input: plugin_data + '.desktop.in',
   output: plugin_data,
-  command: msgfmt_plugin_cmd,
-  install: true,
+  type: 'desktop',
+  po_dir: po_dir,
   install_dir: plugin_dir
 )


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]