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 |