From e3d28f59b1f53d922ce1c72c97765c569cbfba7c Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Wed, 19 Oct 2022 11:36:41 -0300 Subject: 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(). Switch plugins to generate translations using i18.merge_file(), and make sure to generate and install those files by setting the `install` argument to true. --- src/plugins/apple-trailers/meson.build | 10 +++++----- src/plugins/autoload-subtitles/meson.build | 10 +++++----- src/plugins/im-status/meson.build | 10 +++++----- src/plugins/meson.build | 12 ------------ src/plugins/mpris/meson.build | 10 +++++----- src/plugins/open-directory/meson.build | 10 +++++----- src/plugins/opensubtitles/meson.build | 10 +++++----- src/plugins/properties/meson.build | 10 +++++----- src/plugins/pythonconsole/meson.build | 10 +++++----- src/plugins/recent/meson.build | 10 +++++----- src/plugins/rotation/meson.build | 10 +++++----- src/plugins/samplepython/meson.build | 23 +++++++++-------------- src/plugins/save-file/meson.build | 10 +++++----- src/plugins/screensaver/meson.build | 10 +++++----- src/plugins/screenshot/meson.build | 10 +++++----- src/plugins/skipto/meson.build | 10 +++++----- src/plugins/variable-rate/meson.build | 10 +++++----- src/plugins/vimeo/meson.build | 10 +++++----- 18 files changed, 89 insertions(+), 106 deletions(-) diff --git a/src/plugins/apple-trailers/meson.build b/src/plugins/apple-trailers/meson.build index db8390909..afd24276a 100644 --- a/src/plugins/apple-trailers/meson.build +++ b/src/plugins/apple-trailers/meson.build @@ -14,11 +14,11 @@ 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, - install_dir: plugin_dir + type: 'desktop', + po_dir: po_dir, + install_dir: plugin_dir, + install: true ) diff --git a/src/plugins/autoload-subtitles/meson.build b/src/plugins/autoload-subtitles/meson.build index 2644d0531..ddf16c81e 100644 --- a/src/plugins/autoload-subtitles/meson.build +++ b/src/plugins/autoload-subtitles/meson.build @@ -14,11 +14,11 @@ 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, - install_dir: plugin_dir + type: 'desktop', + po_dir: po_dir, + install_dir: plugin_dir, + install: true ) diff --git a/src/plugins/im-status/meson.build b/src/plugins/im-status/meson.build index 24281ad14..e55e96cc9 100644 --- a/src/plugins/im-status/meson.build +++ b/src/plugins/im-status/meson.build @@ -14,11 +14,11 @@ 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, - install_dir: plugin_dir + type: 'desktop', + po_dir: po_dir, + install_dir: plugin_dir, + install: true ) 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..f377513a5 100644 --- a/src/plugins/mpris/meson.build +++ b/src/plugins/mpris/meson.build @@ -16,11 +16,11 @@ 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, - install_dir: plugin_dir + type: 'desktop', + po_dir: po_dir, + install_dir: plugin_dir, + install: true ) diff --git a/src/plugins/open-directory/meson.build b/src/plugins/open-directory/meson.build index 604c8c1a7..4d0dc8d0d 100644 --- a/src/plugins/open-directory/meson.build +++ b/src/plugins/open-directory/meson.build @@ -17,11 +17,11 @@ 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, - install_dir: plugin_dir + type: 'desktop', + po_dir: po_dir, + install_dir: plugin_dir, + install: true ) diff --git a/src/plugins/opensubtitles/meson.build b/src/plugins/opensubtitles/meson.build index 689722daf..38fcc93fb 100644 --- a/src/plugins/opensubtitles/meson.build +++ b/src/plugins/opensubtitles/meson.build @@ -15,13 +15,13 @@ 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, - install_dir: plugin_dir + type: 'desktop', + po_dir: po_dir, + install_dir: plugin_dir, + install: true ) schema = 'org.gnome.totem.plugins.' + plugin_name + '.gschema.xml' diff --git a/src/plugins/properties/meson.build b/src/plugins/properties/meson.build index b3c3f1fa0..d158b16ac 100644 --- a/src/plugins/properties/meson.build +++ b/src/plugins/properties/meson.build @@ -24,11 +24,11 @@ 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, - install_dir: plugin_dir + type: 'desktop', + po_dir: po_dir, + install_dir: plugin_dir, + install: true ) diff --git a/src/plugins/pythonconsole/meson.build b/src/plugins/pythonconsole/meson.build index 46c15a0fa..4c3307763 100644 --- a/src/plugins/pythonconsole/meson.build +++ b/src/plugins/pythonconsole/meson.build @@ -14,13 +14,13 @@ 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, - install_dir: plugin_dir + type: 'desktop', + po_dir: po_dir, + install_dir: plugin_dir, + install: true ) schema = 'org.gnome.totem.plugins.' + plugin_name + '.gschema.xml' diff --git a/src/plugins/recent/meson.build b/src/plugins/recent/meson.build index 070fdc42a..8021c4e43 100644 --- a/src/plugins/recent/meson.build +++ b/src/plugins/recent/meson.build @@ -14,11 +14,11 @@ 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, - install_dir: plugin_dir + type: 'desktop', + po_dir: po_dir, + install_dir: plugin_dir, + install: true ) diff --git a/src/plugins/rotation/meson.build b/src/plugins/rotation/meson.build index fc3a1b12f..39de13153 100644 --- a/src/plugins/rotation/meson.build +++ b/src/plugins/rotation/meson.build @@ -14,11 +14,11 @@ 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, - install_dir: plugin_dir + type: 'desktop', + po_dir: po_dir, + install_dir: plugin_dir, + install: true ) diff --git a/src/plugins/samplepython/meson.build b/src/plugins/samplepython/meson.build index be68bb580..40b1b1042 100644 --- a/src/plugins/samplepython/meson.build +++ b/src/plugins/samplepython/meson.build @@ -5,23 +5,18 @@ plugin_install = false plugin_dir = join_paths(totem_pluginsdir, 'sample-python') if plugin_install - install_data( - plugin_name + '.py', - install_dir: plugin_dir + 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, + install: true ) 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..ef5bde3b4 100644 --- a/src/plugins/save-file/meson.build +++ b/src/plugins/save-file/meson.build @@ -16,11 +16,11 @@ 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, - install_dir: plugin_dir + type: 'desktop', + po_dir: po_dir, + install_dir: plugin_dir, + install: true ) diff --git a/src/plugins/screensaver/meson.build b/src/plugins/screensaver/meson.build index 08c17a735..2c3e21878 100644 --- a/src/plugins/screensaver/meson.build +++ b/src/plugins/screensaver/meson.build @@ -14,11 +14,11 @@ 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, - install_dir: plugin_dir + type: 'desktop', + po_dir: po_dir, + install_dir: plugin_dir, + install: true ) diff --git a/src/plugins/screenshot/meson.build b/src/plugins/screenshot/meson.build index 70d5fe3f8..a921112e2 100644 --- a/src/plugins/screenshot/meson.build +++ b/src/plugins/screenshot/meson.build @@ -42,11 +42,11 @@ 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, - install_dir: plugin_dir + type: 'desktop', + po_dir: po_dir, + install_dir: plugin_dir, + install: true ) diff --git a/src/plugins/skipto/meson.build b/src/plugins/skipto/meson.build index c5056a839..a1751a3ec 100644 --- a/src/plugins/skipto/meson.build +++ b/src/plugins/skipto/meson.build @@ -28,11 +28,11 @@ 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, - install_dir: plugin_dir + type: 'desktop', + po_dir: po_dir, + install_dir: plugin_dir, + install: true ) diff --git a/src/plugins/variable-rate/meson.build b/src/plugins/variable-rate/meson.build index 0a5aeabec..c56486d07 100644 --- a/src/plugins/variable-rate/meson.build +++ b/src/plugins/variable-rate/meson.build @@ -14,11 +14,11 @@ 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, - install_dir: plugin_dir + type: 'desktop', + po_dir: po_dir, + install_dir: plugin_dir, + install: true ) diff --git a/src/plugins/vimeo/meson.build b/src/plugins/vimeo/meson.build index 0bea9a949..8cce6a94d 100644 --- a/src/plugins/vimeo/meson.build +++ b/src/plugins/vimeo/meson.build @@ -14,11 +14,11 @@ 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, - install_dir: plugin_dir + type: 'desktop', + po_dir: po_dir, + install_dir: plugin_dir, + install: true ) -- cgit v1.2.1