summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gilbert <floppym@gentoo.org>2021-11-21 18:36:15 -0500
committerMike Gilbert <floppym@gentoo.org>2021-11-21 18:38:58 -0500
commit40fb79f4c69cdc4331ba21d12b65d70c8175b7e8 (patch)
tree1f0e471d46d8ee35f64d5bb2387e907014272059 /x11-misc
parentsys-libs/libcap: add 2.61 (diff)
downloadgentoo-40fb79f4c69cdc4331ba21d12b65d70c8175b7e8.tar.gz
gentoo-40fb79f4c69cdc4331ba21d12b65d70c8175b7e8.tar.bz2
gentoo-40fb79f4c69cdc4331ba21d12b65d70c8175b7e8.zip
x11-misc/shared-mime-info: avoid calling broken translation script
Closes: https://bugs.gentoo.org/824142 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
Diffstat (limited to 'x11-misc')
-rw-r--r--x11-misc/shared-mime-info/files/shared-mime-info-2.1-itstool.patch82
-rw-r--r--x11-misc/shared-mime-info/shared-mime-info-2.1.ebuild5
2 files changed, 86 insertions, 1 deletions
diff --git a/x11-misc/shared-mime-info/files/shared-mime-info-2.1-itstool.patch b/x11-misc/shared-mime-info/files/shared-mime-info-2.1-itstool.patch
new file mode 100644
index 000000000000..dedeb61e29cf
--- /dev/null
+++ b/x11-misc/shared-mime-info/files/shared-mime-info-2.1-itstool.patch
@@ -0,0 +1,82 @@
+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
+
+diff --git a/data/meson.build b/data/meson.build
+index 24361c9..09ed7a9 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',
+ )
+diff --git a/meson.build b/meson.build
+index 0d08c8a..60f17ae 100644
+--- a/meson.build
++++ b/meson.build
+@@ -20,7 +20,6 @@
+ ###############################################################################
+ # Find tools
+
+-itstool = find_program('itstool')
+ xmllint = find_program('xmllint')
+ xmlto = find_program('xmlto')
+
+--
+GitLab
+
diff --git a/x11-misc/shared-mime-info/shared-mime-info-2.1.ebuild b/x11-misc/shared-mime-info/shared-mime-info-2.1.ebuild
index 440f28e1465b..0957f1fa1a14 100644
--- a/x11-misc/shared-mime-info/shared-mime-info-2.1.ebuild
+++ b/x11-misc/shared-mime-info/shared-mime-info-2.1.ebuild
@@ -20,7 +20,6 @@ RESTRICT="test"
BDEPEND="
app-text/docbook-xml-dtd:4.1.2
app-text/xmlto
- dev-util/itstool
sys-devel/gettext
virtual/pkgconfig
"
@@ -32,6 +31,10 @@ DEPEND="${RDEPEND}"
DOCS=( HACKING.md NEWS README.md )
+PATCHES=(
+ "${FILESDIR}/shared-mime-info-2.1-itstool.patch"
+)
+
src_install() {
meson_src_install