From 5ca815cb79f64fab9cbb428b95a861fc0c30c116 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, and using it
means we don't need to jump through hoops to run ninja inside ninja in
order to generate the .mo files for itstool.

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.

Fixes #170
Upstream-Status: Submitted [https://gitlab.freedesktop.org/xdg/shared-mime-info/-/merge_requests/162]
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 data/freedesktop_generate.sh | 12 ------------
 data/meson.build             | 16 +++++-----------
 2 files changed, 5 insertions(+), 23 deletions(-)
 delete mode 100755 data/freedesktop_generate.sh

diff --git a/data/freedesktop_generate.sh b/data/freedesktop_generate.sh
deleted file mode 100755
index ff13e75..0000000
--- a/data/freedesktop_generate.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh -e
-
-src_root="$1"
-build_root="$2"
-
-ninja -C "${build_root}" shared-mime-info-gmo
-
-itstool \
-    --its "${src_root}/data/its/shared-mime-info.its" \
-    --join "${src_root}/data/freedesktop.org.xml.in" \
-    -o "${build_root}/data/freedesktop.org.xml" \
-    "${build_root}/po/"*".gmo"
diff --git a/data/meson.build b/data/meson.build
index 263567d..c5696f2 100644
--- 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',
 )
