Gentoo Archives: gentoo-commits

From: Mike Gilbert <floppym@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: x11-misc/shared-mime-info/files/, x11-misc/shared-mime-info/
Date: Sun, 21 Nov 2021 23:39:05
Message-Id: 1637537938.40fb79f4c69cdc4331ba21d12b65d70c8175b7e8.floppym@gentoo
1 commit: 40fb79f4c69cdc4331ba21d12b65d70c8175b7e8
2 Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
3 AuthorDate: Sun Nov 21 23:36:15 2021 +0000
4 Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
5 CommitDate: Sun Nov 21 23:38:58 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=40fb79f4
7
8 x11-misc/shared-mime-info: avoid calling broken translation script
9
10 Closes: https://bugs.gentoo.org/824142
11 Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
12
13 .../files/shared-mime-info-2.1-itstool.patch | 82 ++++++++++++++++++++++
14 .../shared-mime-info/shared-mime-info-2.1.ebuild | 5 +-
15 2 files changed, 86 insertions(+), 1 deletion(-)
16
17 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
18 new file mode 100644
19 index 000000000000..dedeb61e29cf
20 --- /dev/null
21 +++ b/x11-misc/shared-mime-info/files/shared-mime-info-2.1-itstool.patch
22 @@ -0,0 +1,82 @@
23 +From 5a406b06792e26a83c7346b3c2443c0bd8d4cdb2 Mon Sep 17 00:00:00 2001
24 +From: Eli Schwartz <eschwartz@×××××××××.org>
25 +Date: Mon, 8 Nov 2021 18:22:47 -0500
26 +Subject: [PATCH] migrate from custom itstool to builtin msgfmt for creating
27 + translated XML
28 +
29 +gettext upstream has supported this for a very long time (since 0.19.7
30 +via commit b3c2a5a242c36fbbaa0c5b17f975d6c638598a23, released in 2015),
31 +and itstool is (mostly) a legacy of the time before gettext had proper
32 +support for these sorts of use cases.
33 +
34 +This is similar to the state of intltool, which is described at
35 +https://wiki.gnome.org/MigratingFromIntltoolToGettext
36 +
37 +During the port from autotools to meson, the legacy use of itstool was
38 +faithfully translated to meson in the only way possible: by jumping
39 +through hoops to run ninja inside ninja in order to generate the .mo
40 +files for itstool, because meson's i18n module used a flawed design and
41 +there was no "real" target to create those files, only a .PHONY
42 +run_target which other rules cannot depend on.
43 +
44 +Although meson 0.60.0 added support for real targets for the built .mo
45 +files, this changed the rules for output filenames, breaking the script.
46 +
47 +But msgfmt does not care, and anyways comes with builtin meson functions
48 +for convenient use with XML files. So let's take this opportunity to
49 +drop legacy dependencies and use the modern, builtin tooling, which
50 +fixes this bug as a side effect.
51 +
52 +Fixes #170
53 +---
54 + .gitlab-ci.yml | 2 --
55 + README.md | 2 +-
56 + data/freedesktop_generate.sh | 12 ------------
57 + data/meson.build | 16 +++++-----------
58 + meson.build | 1 -
59 + 5 files changed, 6 insertions(+), 27 deletions(-)
60 + delete mode 100755 data/freedesktop_generate.sh
61 +
62 +diff --git a/data/meson.build b/data/meson.build
63 +index 24361c9..09ed7a9 100644
64 +--- a/data/meson.build
65 ++++ b/data/meson.build
66 +@@ -1,18 +1,12 @@
67 +
68 + install_man('update-mime-database.1')
69 +
70 +-freedesktop_org_xml = custom_target('freedesktop.org.xml',
71 +- input : files(
72 +- 'freedesktop.org.xml.in',
73 +- 'its/shared-mime-info.its',
74 +- 'its/shared-mime-info.loc',
75 +- ),
76 ++freedesktop_org_xml = i18n.merge_file(
77 ++ input: 'freedesktop.org.xml.in',
78 + output: 'freedesktop.org.xml',
79 +- command: [
80 +- find_program('freedesktop_generate.sh'),
81 +- meson.source_root(),
82 +- meson.build_root()
83 +- ],
84 ++ data_dirs: '.',
85 ++ po_dir: '../po',
86 ++ type: 'xml',
87 + install: true,
88 + install_dir: get_option('datadir') / 'mime' / 'packages',
89 + )
90 +diff --git a/meson.build b/meson.build
91 +index 0d08c8a..60f17ae 100644
92 +--- a/meson.build
93 ++++ b/meson.build
94 +@@ -20,7 +20,6 @@
95 + ###############################################################################
96 + # Find tools
97 +
98 +-itstool = find_program('itstool')
99 + xmllint = find_program('xmllint')
100 + xmlto = find_program('xmlto')
101 +
102 +--
103 +GitLab
104 +
105
106 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
107 index 440f28e1465b..0957f1fa1a14 100644
108 --- a/x11-misc/shared-mime-info/shared-mime-info-2.1.ebuild
109 +++ b/x11-misc/shared-mime-info/shared-mime-info-2.1.ebuild
110 @@ -20,7 +20,6 @@ RESTRICT="test"
111 BDEPEND="
112 app-text/docbook-xml-dtd:4.1.2
113 app-text/xmlto
114 - dev-util/itstool
115 sys-devel/gettext
116 virtual/pkgconfig
117 "
118 @@ -32,6 +31,10 @@ DEPEND="${RDEPEND}"
119
120 DOCS=( HACKING.md NEWS README.md )
121
122 +PATCHES=(
123 + "${FILESDIR}/shared-mime-info-2.1-itstool.patch"
124 +)
125 +
126 src_install() {
127 meson_src_install