Submitted By: Ken Moffat <ken at linuxfromscratch dot org>
Date: 2021-11-12
Initial Package Version: 2.1
Upstream Status: Submitted
Origin: https://www.mail-archive.com/openembedded-core@lists.openembedded.org/msg155098.html
Description: Fix build breakage from a change in meson-0.60.

From: Eli Schwartz <eschwa...@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.

Upstream-Status: Submitted 
https://gitlab.freedesktop.org/xdg/shared-mime-info/-/merge_requests/162
Signed-off-by: Alexander Kanavin <a...@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',
 )

