|
|
- From 5a406b06792e26a83c7346b3c2443c0bd8d4cdb2 Mon Sep 17 00:00:00 2001
- From: Eli Schwartz <eschwartz@archlinux.org>
- Date: Mon, 8 Nov 2021 18:22:47 -0500
- Subject: [PATCH] migrate from custom itstool to builtin msgfmt for creating
- translated XML
-
- gettext upstream has supported this for a very long time (since 0.19.7
- via commit b3c2a5a242c36fbbaa0c5b17f975d6c638598a23, released in 2015),
- and itstool is (mostly) a legacy of the time before gettext had proper
- support for these sorts of use cases.
-
- This is similar to the state of intltool, which is described at
- https://wiki.gnome.org/MigratingFromIntltoolToGettext
-
- During the port from autotools to meson, the legacy use of itstool was
- faithfully translated to meson in the only way possible: by jumping
- through hoops to run ninja inside ninja in order to generate the .mo
- files for itstool, because meson's i18n module used a flawed design and
- there was no "real" target to create those files, only a .PHONY
- run_target which other rules cannot depend on.
-
- Although meson 0.60.0 added support for real targets for the built .mo
- files, this changed the rules for output filenames, breaking the script.
-
- But msgfmt does not care, and anyways comes with builtin meson functions
- for convenient use with XML files. So let's take this opportunity to
- drop legacy dependencies and use the modern, builtin tooling, which
- fixes this bug as a side effect.
-
- Fixes #170
- ---
- .gitlab-ci.yml | 2 --
- README.md | 2 +-
- data/freedesktop_generate.sh | 12 ------------
- data/meson.build | 16 +++++-----------
- meson.build | 1 -
- 5 files changed, 6 insertions(+), 27 deletions(-)
- delete mode 100755 data/freedesktop_generate.sh
-
- --- a/data/meson.build
- +++ b/data/meson.build
- @@ -1,18 +1,12 @@
-
- install_man('update-mime-database.1')
-
- -freedesktop_org_xml = custom_target('freedesktop.org.xml',
- - input : files(
- - 'freedesktop.org.xml.in',
- - 'its/shared-mime-info.its',
- - 'its/shared-mime-info.loc',
- - ),
- +freedesktop_org_xml = i18n.merge_file(
- + input: 'freedesktop.org.xml.in',
- output: 'freedesktop.org.xml',
- - command: [
- - find_program('freedesktop_generate.sh'),
- - meson.source_root(),
- - meson.build_root()
- - ],
- + data_dirs: '.',
- + po_dir: '../po',
- + type: 'xml',
- install: true,
- install_dir: get_option('datadir') / 'mime' / 'packages',
- )
- --- a/meson.build
- +++ b/meson.build
- @@ -20,7 +20,6 @@ config.set_quoted('VERSION', meson.proje
- ###############################################################################
- # Find tools
-
- -itstool = find_program('itstool')
- xmllint = find_program('xmllint')
- xmlto = find_program('xmlto')
-
|