From bfebedcd7457223eaa6f0e36c1b2ba1fed27db9f Mon Sep 17 00:00:00 2001 From: Vlad Date: Sun, 28 Sep 2025 09:44:49 +0300 Subject: [PATCH 1/2] fix build of multiple locales --- locale/meson.build | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/locale/meson.build b/locale/meson.build index eea7f1f..dca7ce8 100644 --- a/locale/meson.build +++ b/locale/meson.build @@ -3,25 +3,20 @@ wayfire_locale_dir = join_paths(share_dir, 'locale') fs = import('fs') -mo_targets = [] - po_files_raw = run_command('find', '.', '-name', '*.po', check : true).stdout().strip().split('\n') po_files = files(po_files_raw) foreach po_file : po_files language = fs.name(fs.parent(fs.parent(po_file))) - mo_file = fs.stem(po_file) + '.mo' - t = custom_target('mo-' + language, - input : po_file, - output : mo_file, - command : ['msgfmt', '@INPUT@', '-o', '@OUTPUT@'], - install : true, - install_dir : join_paths( - wayfire_locale_dir, - language, - 'LC_MESSAGES' - ) + install_path = join_paths( + wayfire_locale_dir, + language, + 'LC_MESSAGES' ) - - mo_targets += t -endforeach + run_command('mkdir', '-p', meson.project_build_root() + '/locale/' + language + '/LC_MESSAGES', check : true) + run_command('msgfmt', po_file, '-o', meson.project_build_root() + '/locale/' + language + '/LC_MESSAGES/' + fs.stem(po_file) + '.mo', check : true) + install_data( + meson.project_build_root() + '/locale/' + language + '/LC_MESSAGES/' + fs.stem(po_file) + '.mo', + install_dir : install_path + ) +endforeach \ No newline at end of file From 1360a3c32325957bd5ca41a56db973857c61b281 Mon Sep 17 00:00:00 2001 From: Vlad Date: Sun, 28 Sep 2025 17:14:08 +0300 Subject: [PATCH 2/2] make the meson nicer --- locale/meson.build | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/locale/meson.build b/locale/meson.build index dca7ce8..ab63b2b 100644 --- a/locale/meson.build +++ b/locale/meson.build @@ -8,15 +8,11 @@ po_files = files(po_files_raw) foreach po_file : po_files language = fs.name(fs.parent(fs.parent(po_file))) - install_path = join_paths( - wayfire_locale_dir, - language, - 'LC_MESSAGES' - ) - run_command('mkdir', '-p', meson.project_build_root() + '/locale/' + language + '/LC_MESSAGES', check : true) - run_command('msgfmt', po_file, '-o', meson.project_build_root() + '/locale/' + language + '/LC_MESSAGES/' + fs.stem(po_file) + '.mo', check : true) - install_data( - meson.project_build_root() + '/locale/' + language + '/LC_MESSAGES/' + fs.stem(po_file) + '.mo', - install_dir : install_path - ) -endforeach \ No newline at end of file + install_path = join_paths(wayfire_locale_dir, language, 'LC_MESSAGES') + mo_dir = join_paths(meson.project_build_root(), 'locale', language, 'LC_MESSAGES') + mo_file = fs.stem(po_file) + '.mo' + mo_path = join_paths(mo_dir, mo_file) + run_command('mkdir', '-p', mo_dir, check : true) + run_command('msgfmt', po_file, '-o', mo_path, check : true) + install_data(mo_path, install_dir : install_path) +endforeach