1 |
commit: 21513d07e86f32a113457aee5987625a7c6e1745 |
2 |
Author: Mart Raudsepp <leio <AT> gentoo <DOT> org> |
3 |
AuthorDate: Fri Feb 15 10:35:17 2019 +0000 |
4 |
Commit: Mart Raudsepp <leio <AT> gentoo <DOT> org> |
5 |
CommitDate: Fri Feb 15 12:29:35 2019 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=21513d07 |
7 |
|
8 |
app-misc/tracker-miners: add upstream split tracker miners package |
9 |
|
10 |
Bug: https://bugs.gentoo.org/672308 |
11 |
Package-Manager: Portage-2.3.52, Repoman-2.3.12 |
12 |
Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org> |
13 |
|
14 |
app-misc/tracker-miners/Manifest | 1 + |
15 |
.../tracker-miners/files/2.1.5-meson-fixes.patch | 322 +++++++++++++++++++++ |
16 |
app-misc/tracker-miners/files/2.1.5-test-fix.patch | 50 ++++ |
17 |
app-misc/tracker-miners/metadata.xml | 17 ++ |
18 |
.../tracker-miners/tracker-miners-2.1.5.ebuild | 139 +++++++++ |
19 |
profiles/base/package.use.force | 1 + |
20 |
profiles/package.mask | 1 + |
21 |
7 files changed, 531 insertions(+) |
22 |
|
23 |
diff --git a/app-misc/tracker-miners/Manifest b/app-misc/tracker-miners/Manifest |
24 |
new file mode 100644 |
25 |
index 00000000000..30724f741a2 |
26 |
--- /dev/null |
27 |
+++ b/app-misc/tracker-miners/Manifest |
28 |
@@ -0,0 +1 @@ |
29 |
+DIST tracker-miners-2.1.5.tar.xz 3455264 BLAKE2B 1e9149ae0767166fc8e936922e4e02d4391f7af3faf59525e32098fb10cb6c5f6970f13bdb35f675efc9f131672b3feb84cbdcd8d0f01c86d05880919fba463a SHA512 37bf6d44635843037613cfe681cd536a8b33ba34c092183d9d66289713deaaff5322d09028b447484e6bf72a01199c041fb295d6431d2f7cff3498ef8983f605 |
30 |
|
31 |
diff --git a/app-misc/tracker-miners/files/2.1.5-meson-fixes.patch b/app-misc/tracker-miners/files/2.1.5-meson-fixes.patch |
32 |
new file mode 100644 |
33 |
index 00000000000..c8a3e6358df |
34 |
--- /dev/null |
35 |
+++ b/app-misc/tracker-miners/files/2.1.5-meson-fixes.patch |
36 |
@@ -0,0 +1,322 @@ |
37 |
+From 5bb0709044fabe496601277ab5ba11a03500babe Mon Sep 17 00:00:00 2001 |
38 |
+From: Mart Raudsepp <leio@g.o> |
39 |
+Date: Fri, 15 Feb 2019 00:15:08 +0200 |
40 |
+Subject: [PATCH 1/5] build: Add feature options for all external deps |
41 |
+ |
42 |
+Automagic dependencies are bad for distributions. Add feature options |
43 |
+for all of them that didn't have it before. If no options are specified, |
44 |
+the behavior matches with before, but now it's possible to specify |
45 |
+exactly what is linked to and what isn't. |
46 |
+ |
47 |
+Fixes: #39 |
48 |
+--- |
49 |
+ meson.build | 40 +++++++++++++++++++++------------------- |
50 |
+ meson_options.txt | 37 +++++++++++++++++++++++++++++++++++++ |
51 |
+ 2 files changed, 58 insertions(+), 19 deletions(-) |
52 |
+ |
53 |
+diff --git a/meson.build b/meson.build |
54 |
+index fd536f2e6..4f0e9a968 100644 |
55 |
+--- a/meson.build |
56 |
++++ b/meson.build |
57 |
+@@ -1,4 +1,6 @@ |
58 |
+-project('tracker-miners', 'c', 'vala', version: '2.1.5') |
59 |
++project('tracker-miners', 'c', 'vala', |
60 |
++ version: '2.1.5', |
61 |
++ meson_version: '>=0.47') |
62 |
+ |
63 |
+ gnome = import('gnome') |
64 |
+ i18n = import('i18n') |
65 |
+@@ -57,9 +59,9 @@ avcodec = dependency('libavcodec', version: '>= 0.8.4', required: false) |
66 |
+ avformat = dependency('libavformat', version: '>= 0.8.4', required: false) |
67 |
+ avutil = dependency('libavutil', version: '>= 0.8.4', required: false) |
68 |
+ dbus = dependency('dbus-1', version: '> 1.3.1') |
69 |
+-exempi = dependency('exempi-2.0', version: '> 2.1.0', required: false) |
70 |
+-flac = dependency('flac', version: '> 1.2.1', required: false) |
71 |
+-gexiv2 = dependency('gexiv2', required: false) |
72 |
++exempi = dependency('exempi-2.0', version: '> 2.1.0', required: get_option('xmp')) |
73 |
++flac = dependency('flac', version: '> 1.2.1', required: get_option('flac')) |
74 |
++gexiv2 = dependency('gexiv2', required: get_option('raw')) |
75 |
+ gio = dependency('gio-2.0', version: '>' + glib_required) |
76 |
+ gio_unix = dependency('gio-unix-2.0', version: '>' + glib_required) |
77 |
+ glib = dependency('glib-2.0', version: '>' + glib_required) |
78 |
+@@ -72,25 +74,25 @@ gupnp_dlna = dependency('gupnp-dlna-2.0', version: '> 0.9.4', required: false) |
79 |
+ gupnp_dlna_gst = dependency('gupnp-dlna-gst-2.0', version: '> 0.9.4', required: false) |
80 |
+ icu_i18n = dependency('icu-i18n', version: '> 4.8.1.1', required: false) |
81 |
+ icu_uc = dependency('icu-uc', version: '> 4.8.1.1', required: false) |
82 |
+-libcue = dependency('libcue', required: false) |
83 |
+-libexif = dependency('libexif', version: '> 0.6', required: false) |
84 |
+-libgsf = dependency('libgsf-1', version: '> 1.14.24', required: false) |
85 |
+-libgxps = dependency('libgxps', required: false) |
86 |
+-libiptcdata = dependency('libiptcdata', required: false) |
87 |
+-libjpeg = dependency('libjpeg', required: false) |
88 |
+-libosinfo = dependency('libosinfo-1.0', version: '> 0.2.9', required: false) |
89 |
+-libpng = dependency('libpng', version: '> 0.89', required: false) |
90 |
++libcue = dependency('libcue', required: get_option('cue')) |
91 |
++libexif = dependency('libexif', version: '> 0.6', required: get_option('exif')) |
92 |
++libgsf = dependency('libgsf-1', version: '> 1.14.24', required: get_option('gsf')) |
93 |
++libgxps = dependency('libgxps', required: get_option('xps')) |
94 |
++libiptcdata = dependency('libiptcdata', required: get_option('iptc')) |
95 |
++libjpeg = dependency('libjpeg', required: get_option('jpeg')) |
96 |
++libosinfo = dependency('libosinfo-1.0', version: '> 0.2.9', required: get_option('iso')) |
97 |
++libpng = dependency('libpng', version: '> 0.89', required: get_option('png')) |
98 |
+ libseccomp = dependency('libseccomp', version: '>= 2.0', required: false) |
99 |
+-libtiff = dependency('libtiff-4', required: false) |
100 |
+-libxml2 = dependency('libxml-2.0', version: '> 2.6') |
101 |
+-libvorbis = dependency('vorbisfile', version: '> 0.22') |
102 |
+-poppler = dependency('poppler-glib', version: '> 0.16.0', required: false) |
103 |
+-taglib = dependency('taglib_c', version: '> 1.6', required: false) |
104 |
+-totem_plparser = dependency('totem-plparser', required: false) |
105 |
++libtiff = dependency('libtiff-4', required: get_option('tiff')) |
106 |
++libxml2 = dependency('libxml-2.0', version: '> 2.6', required: get_option('xml')) |
107 |
++libvorbis = dependency('vorbisfile', version: '> 0.22', required: get_option('vorbis')) |
108 |
++poppler = dependency('poppler-glib', version: '> 0.16.0', required: get_option('pdf')) |
109 |
++taglib = dependency('taglib_c', version: '> 1.6', required: get_option('taglib')) |
110 |
++totem_plparser = dependency('totem-plparser', required: get_option('playlist')) |
111 |
+ upower = dependency('upower-glib', version: '> 0.9.0', required: false) |
112 |
+ zlib = dependency('zlib') |
113 |
+ |
114 |
+-libgif = cc.find_library('gif', required: false) |
115 |
++libgif = cc.find_library('gif', required: get_option('gif')) |
116 |
+ libmath = cc.find_library('m', required: false) |
117 |
+ |
118 |
+ # FIXME: here we work around a quirk todo with Meson and Vala: the 'uuid' |
119 |
+diff --git a/meson_options.txt b/meson_options.txt |
120 |
+index a91ac6c0f..5fce7a529 100644 |
121 |
+--- a/meson_options.txt |
122 |
++++ b/meson_options.txt |
123 |
+@@ -35,6 +35,43 @@ option('text', type: 'boolean', value: 'true', |
124 |
+ option('unzip_ps_gz_files', type: 'boolean', value: 'true', |
125 |
+ description: 'Enable extractor for PS.GZ metadata') |
126 |
+ |
127 |
++option('cue', type: 'feature', value: 'auto', |
128 |
++ description: 'Support cue sheet parsing') |
129 |
++option('exif', type: 'feature', value: 'auto', |
130 |
++ description: 'Support EXIF metadata') |
131 |
++option('flac', type: 'feature', value: 'auto', |
132 |
++ description: 'Support extracting metadata from Flac audio') |
133 |
++option('gif', type: 'feature', value: 'auto', |
134 |
++ description: 'Support extracting metadata from GIF images') |
135 |
++option('gsf', type: 'feature', value: 'auto', |
136 |
++ description: 'Support extracting metadata from MS & Open Office documents') |
137 |
++option('iptc', type: 'feature', value: 'auto', |
138 |
++ description: 'Support IPTC photo metadata') |
139 |
++option('iso', type: 'feature', value: 'auto', |
140 |
++ description: 'Support ISO image parsing') |
141 |
++option('jpeg', type: 'feature', value: 'auto', |
142 |
++ description: 'Support extracting metadata from JPEG images') |
143 |
++option('pdf', type: 'feature', value: 'auto', |
144 |
++ description: 'Support extracting metadata from PDF documents') |
145 |
++option('playlist', type: 'feature', value: 'auto', |
146 |
++ description: 'Support extracting metadata from playlists (w/ Totem)') |
147 |
++option('png', type: 'feature', value: 'auto', |
148 |
++ description: 'Support extracting metadata from PNG images') |
149 |
++option('raw', type: 'feature', value: 'auto', |
150 |
++ description: 'Support extracting metadata from RAW photos') |
151 |
++option('taglib', type: 'feature', value: 'auto', |
152 |
++ description: 'Support writeback for audio files using Taglib') |
153 |
++option('tiff', type: 'feature', value: 'auto', |
154 |
++ description: 'Support extracting metadata from TIFF images') |
155 |
++option('vorbis', type: 'feature', value: 'auto', |
156 |
++ description: 'Support extracting metadata from Vorbis (ogg/etc) files') |
157 |
++option('xml', type: 'feature', value: 'auto', |
158 |
++ description: 'Support extracting metadata from XML and HTML documents') |
159 |
++option('xmp', type: 'feature', value: 'auto', |
160 |
++ description: 'Support XMP metadata') |
161 |
++option('xps', type: 'feature', value: 'auto', |
162 |
++ description: 'Support extracting metadata from XPS documents') |
163 |
++ |
164 |
+ option('battery_detection', type: 'combo', choices: ['auto', 'hal', 'upower', 'none'], value: 'auto', |
165 |
+ description: 'Enable upower or HAL for battery/mains power detection') |
166 |
+ option('charset_detection', type: 'combo', choices: ['auto', 'enca', 'icu', 'none'], value: 'auto', |
167 |
+-- |
168 |
+2.17.0 |
169 |
+ |
170 |
+ |
171 |
+From b8c1768696c13275f5896374907fa192140ec922 Mon Sep 17 00:00:00 2001 |
172 |
+From: Mart Raudsepp <leio@g.o> |
173 |
+Date: Fri, 15 Feb 2019 00:18:09 +0200 |
174 |
+Subject: [PATCH 2/5] build: Fix minimum dep checks to allow the specified |
175 |
+ version too |
176 |
+ |
177 |
+Many of the minimum deps were expressed as "> x.y", but were meant to |
178 |
+allow x.y itself as well. Change all to ">= x.y". This seems to be |
179 |
+what was intended and was the case with autotools. |
180 |
+--- |
181 |
+ meson.build | 44 ++++++++++++++++++++++---------------------- |
182 |
+ 1 file changed, 22 insertions(+), 22 deletions(-) |
183 |
+ |
184 |
+diff --git a/meson.build b/meson.build |
185 |
+index 4f0e9a968..4263faf95 100644 |
186 |
+--- a/meson.build |
187 |
++++ b/meson.build |
188 |
+@@ -58,38 +58,38 @@ endif |
189 |
+ avcodec = dependency('libavcodec', version: '>= 0.8.4', required: false) |
190 |
+ avformat = dependency('libavformat', version: '>= 0.8.4', required: false) |
191 |
+ avutil = dependency('libavutil', version: '>= 0.8.4', required: false) |
192 |
+-dbus = dependency('dbus-1', version: '> 1.3.1') |
193 |
+-exempi = dependency('exempi-2.0', version: '> 2.1.0', required: get_option('xmp')) |
194 |
+-flac = dependency('flac', version: '> 1.2.1', required: get_option('flac')) |
195 |
++dbus = dependency('dbus-1', version: '>= 1.3.1') |
196 |
++exempi = dependency('exempi-2.0', version: '>= 2.1.0', required: get_option('xmp')) |
197 |
++flac = dependency('flac', version: '>= 1.2.1', required: get_option('flac')) |
198 |
+ gexiv2 = dependency('gexiv2', required: get_option('raw')) |
199 |
+-gio = dependency('gio-2.0', version: '>' + glib_required) |
200 |
+-gio_unix = dependency('gio-unix-2.0', version: '>' + glib_required) |
201 |
+-glib = dependency('glib-2.0', version: '>' + glib_required) |
202 |
+-gmodule = dependency('gmodule-2.0', version: '>' + glib_required) |
203 |
+-gobject = dependency('gobject-2.0', version: '>' + glib_required) |
204 |
++gio = dependency('gio-2.0', version: '>=' + glib_required) |
205 |
++gio_unix = dependency('gio-unix-2.0', version: '>=' + glib_required) |
206 |
++glib = dependency('glib-2.0', version: '>=' + glib_required) |
207 |
++gmodule = dependency('gmodule-2.0', version: '>=' + glib_required) |
208 |
++gobject = dependency('gobject-2.0', version: '>=' + glib_required) |
209 |
+ gstreamer = dependency('gstreamer-1.0', required: false) |
210 |
+ gstreamer_pbutils = dependency('gstreamer-pbutils-1.0', required: false) |
211 |
+ gstreamer_tag = dependency('gstreamer-tag-1.0', required: false) |
212 |
+-gupnp_dlna = dependency('gupnp-dlna-2.0', version: '> 0.9.4', required: false) |
213 |
+-gupnp_dlna_gst = dependency('gupnp-dlna-gst-2.0', version: '> 0.9.4', required: false) |
214 |
+-icu_i18n = dependency('icu-i18n', version: '> 4.8.1.1', required: false) |
215 |
+-icu_uc = dependency('icu-uc', version: '> 4.8.1.1', required: false) |
216 |
++gupnp_dlna = dependency('gupnp-dlna-2.0', version: '>= 0.9.4', required: false) |
217 |
++gupnp_dlna_gst = dependency('gupnp-dlna-gst-2.0', version: '>= 0.9.4', required: false) |
218 |
++icu_i18n = dependency('icu-i18n', version: '>= 4.8.1.1', required: false) |
219 |
++icu_uc = dependency('icu-uc', version: '>= 4.8.1.1', required: false) |
220 |
+ libcue = dependency('libcue', required: get_option('cue')) |
221 |
+-libexif = dependency('libexif', version: '> 0.6', required: get_option('exif')) |
222 |
+-libgsf = dependency('libgsf-1', version: '> 1.14.24', required: get_option('gsf')) |
223 |
++libexif = dependency('libexif', version: '>= 0.6', required: get_option('exif')) |
224 |
++libgsf = dependency('libgsf-1', version: '>= 1.14.24', required: get_option('gsf')) |
225 |
+ libgxps = dependency('libgxps', required: get_option('xps')) |
226 |
+ libiptcdata = dependency('libiptcdata', required: get_option('iptc')) |
227 |
+ libjpeg = dependency('libjpeg', required: get_option('jpeg')) |
228 |
+-libosinfo = dependency('libosinfo-1.0', version: '> 0.2.9', required: get_option('iso')) |
229 |
+-libpng = dependency('libpng', version: '> 0.89', required: get_option('png')) |
230 |
++libosinfo = dependency('libosinfo-1.0', version: '>= 0.2.9', required: get_option('iso')) |
231 |
++libpng = dependency('libpng', version: '>= 0.89', required: get_option('png')) |
232 |
+ libseccomp = dependency('libseccomp', version: '>= 2.0', required: false) |
233 |
+ libtiff = dependency('libtiff-4', required: get_option('tiff')) |
234 |
+-libxml2 = dependency('libxml-2.0', version: '> 2.6', required: get_option('xml')) |
235 |
+-libvorbis = dependency('vorbisfile', version: '> 0.22', required: get_option('vorbis')) |
236 |
+-poppler = dependency('poppler-glib', version: '> 0.16.0', required: get_option('pdf')) |
237 |
+-taglib = dependency('taglib_c', version: '> 1.6', required: get_option('taglib')) |
238 |
++libxml2 = dependency('libxml-2.0', version: '>= 2.6', required: get_option('xml')) |
239 |
++libvorbis = dependency('vorbisfile', version: '>= 0.22', required: get_option('vorbis')) |
240 |
++poppler = dependency('poppler-glib', version: '>= 0.16.0', required: get_option('pdf')) |
241 |
++taglib = dependency('taglib_c', version: '>= 1.6', required: get_option('taglib')) |
242 |
+ totem_plparser = dependency('totem-plparser', required: get_option('playlist')) |
243 |
+-upower = dependency('upower-glib', version: '> 0.9.0', required: false) |
244 |
++upower = dependency('upower-glib', version: '>= 0.9.0', required: false) |
245 |
+ zlib = dependency('zlib') |
246 |
+ |
247 |
+ libgif = cc.find_library('gif', required: get_option('gif')) |
248 |
+@@ -143,7 +143,7 @@ elif get_option('battery_detection') == 'upower' |
249 |
+ endif |
250 |
+ |
251 |
+ if battery_detection_library_name == '' |
252 |
+- hal = dependency('hal', version: '> 0.5', required: false) |
253 |
++ hal = dependency('hal', version: '>= 0.5', required: false) |
254 |
+ |
255 |
+ if hal.found() |
256 |
+ battery_detection_library = hal |
257 |
+-- |
258 |
+2.17.0 |
259 |
+ |
260 |
+ |
261 |
+From 6a215b9088abb9df4a837c1b74f281454f286ddf Mon Sep 17 00:00:00 2001 |
262 |
+From: Mart Raudsepp <leio@g.o> |
263 |
+Date: Fri, 15 Feb 2019 01:11:23 +0200 |
264 |
+Subject: [PATCH 3/5] build: Remove unnecessary vala language dependency |
265 |
+ |
266 |
+tracker-miners doesn't use any vala, but due to vala declared as |
267 |
+a used language it does error out if valac isn't found. Remove the |
268 |
+language and unused vapi helper variable. |
269 |
+--- |
270 |
+ meson.build | 3 +-- |
271 |
+ 1 file changed, 1 insertion(+), 2 deletions(-) |
272 |
+ |
273 |
+diff --git a/meson.build b/meson.build |
274 |
+index 4263faf95..bfd2d624b 100644 |
275 |
+--- a/meson.build |
276 |
++++ b/meson.build |
277 |
+@@ -1,4 +1,4 @@ |
278 |
+-project('tracker-miners', 'c', 'vala', |
279 |
++project('tracker-miners', 'c', |
280 |
+ version: '2.1.5', |
281 |
+ meson_version: '>=0.47') |
282 |
+ |
283 |
+@@ -385,7 +385,6 @@ tracker_writeback_modules_dir = join_paths(get_option('prefix'), get_option('lib |
284 |
+ tracker_uninstalled_extract_rules_dir = join_paths(meson.current_build_dir(), 'src', 'tracker-extract') |
285 |
+ |
286 |
+ gsettings_schema_dir = join_paths(get_option('prefix'), get_option('datadir'), 'glib-2.0', 'schemas') |
287 |
+-vapi_dir = join_paths(get_option('prefix'), get_option('datadir'), 'vala', 'vapi') |
288 |
+ |
289 |
+ glib_mkenums = find_program('glib-mkenums') |
290 |
+ |
291 |
+-- |
292 |
+2.17.0 |
293 |
+ |
294 |
+ |
295 |
+From a163936b590184291c6ac6b8365eb5f7e9bf3474 Mon Sep 17 00:00:00 2001 |
296 |
+From: Mart Raudsepp <leio@g.o> |
297 |
+Date: Fri, 15 Feb 2019 01:12:25 +0200 |
298 |
+Subject: [PATCH 4/5] build: Remove unnecessary uuid util-linux hard dependency |
299 |
+ |
300 |
+tracker core might use uuid, but nothing in tracker-miners needs it |
301 |
+--- |
302 |
+ meson.build | 8 -------- |
303 |
+ 1 file changed, 8 deletions(-) |
304 |
+ |
305 |
+diff --git a/meson.build b/meson.build |
306 |
+index bfd2d624b..8d23a1157 100644 |
307 |
+--- a/meson.build |
308 |
++++ b/meson.build |
309 |
+@@ -95,14 +95,6 @@ zlib = dependency('zlib') |
310 |
+ libgif = cc.find_library('gif', required: get_option('gif')) |
311 |
+ libmath = cc.find_library('m', required: false) |
312 |
+ |
313 |
+-# FIXME: here we work around a quirk todo with Meson and Vala: the 'uuid' |
314 |
+-# pkg-config component corresponds to 'libuuid.vapi', but Meson assumes that |
315 |
+-# .vapi name always matches pkg-config name, and will add `--pkg uuid` to the |
316 |
+-# Vala commandline. By finding 'uuid' using find_library() instead, we get |
317 |
+-# a dependency object back that won't cause any `--pkg` arguments to be added |
318 |
+-# to the Vala commandline, but still works as expected for C code. |
319 |
+-uuid = cc.find_library('uuid') |
320 |
+- |
321 |
+ have_tracker_extract = get_option('extract') |
322 |
+ have_tracker_miner_apps = get_option('miner_apps') |
323 |
+ have_tracker_miner_fs = get_option('miner_fs') |
324 |
+-- |
325 |
+2.17.0 |
326 |
+ |
327 |
+ |
328 |
+From cc87c22592868e700333f31f333bf850c89f0135 Mon Sep 17 00:00:00 2001 |
329 |
+From: Sam Thursfield <sam@×××××××××.uk> |
330 |
+Date: Sun, 7 Oct 2018 23:42:28 +0200 |
331 |
+Subject: [PATCH 5/5] build: Fix breakage when libcue isn't found |
332 |
+ |
333 |
+Commit 6e281037a5f0abc introduced a regression on systems where libcue |
334 |
+is not available. |
335 |
+ |
336 |
+Fixes https://gitlab.gnome.org/GNOME/tracker-miners/issues/33 |
337 |
+ |
338 |
+(cherry picked from commit fd0eb3cd98f279591cbe8635eadf42027dd5ddae) |
339 |
+--- |
340 |
+ meson.build | 2 +- |
341 |
+ 1 file changed, 1 insertion(+), 1 deletion(-) |
342 |
+ |
343 |
+diff --git a/meson.build b/meson.build |
344 |
+index 8d23a1157..d69588435 100644 |
345 |
+--- a/meson.build |
346 |
++++ b/meson.build |
347 |
+@@ -303,7 +303,7 @@ conf.set('GSTREAMER_BACKEND_DISCOVERER', gstreamer_backend_name == 'Discoverer') |
348 |
+ conf.set('GSTREAMER_BACKEND_GUPNP_DLNA', gstreamer_backend_name == 'GUPnP-DLNA') |
349 |
+ conf.set('HAVE_HAL', battery_detection_library_name == 'hal') |
350 |
+ conf.set('HAVE_LIBCUE', libcue.found()) |
351 |
+-conf.set('HAVE_LIBCUE2', libcue.version() >= '2.0.0') |
352 |
++conf.set('HAVE_LIBCUE2', libcue.found() and libcue.version().version_compare('>= 2.0.0')) |
353 |
+ conf.set('HAVE_LIBICU_CHARSET_DETECTION', charset_library_name == 'icu') |
354 |
+ conf.set('HAVE_LIBEXIF', libexif.found()) |
355 |
+ conf.set('HAVE_LIBIPTCDATA', libiptcdata.found()) |
356 |
+-- |
357 |
+2.17.0 |
358 |
+ |
359 |
|
360 |
diff --git a/app-misc/tracker-miners/files/2.1.5-test-fix.patch b/app-misc/tracker-miners/files/2.1.5-test-fix.patch |
361 |
new file mode 100644 |
362 |
index 00000000000..be979e6af05 |
363 |
--- /dev/null |
364 |
+++ b/app-misc/tracker-miners/files/2.1.5-test-fix.patch |
365 |
@@ -0,0 +1,50 @@ |
366 |
+From 02a54749117d609d75bad80331024661c2e598ce Mon Sep 17 00:00:00 2001 |
367 |
+From: Mart Raudsepp <leio@g.o> |
368 |
+Date: Fri, 15 Feb 2019 12:20:39 +0200 |
369 |
+Subject: [PATCH] libtracker-miners-common: improve path_evaluate_name |
370 |
+ environment handling |
371 |
+ |
372 |
+Under some environments $PWD might not point where we expect, so simply |
373 |
+use g_get_current_dir() instead. |
374 |
+g_getenv() is documented to return a pointer that may get overwritten |
375 |
+by subsequent calls to g_getenv, g_setenv of g_unsetenv. As even after |
376 |
+removing the second g_getenv, there's still g_setenv calls, take a copy. |
377 |
+--- |
378 |
+ .../libtracker-miners-common/tracker-file-utils-test.c | 10 ++++++---- |
379 |
+ 1 file changed, 6 insertions(+), 4 deletions(-) |
380 |
+ |
381 |
+diff --git a/tests/libtracker-miners-common/tracker-file-utils-test.c b/tests/libtracker-miners-common/tracker-file-utils-test.c |
382 |
+index 93b94472c..3f86a0cdc 100644 |
383 |
+--- a/tests/libtracker-miners-common/tracker-file-utils-test.c |
384 |
++++ b/tests/libtracker-miners-common/tracker-file-utils-test.c |
385 |
+@@ -134,14 +134,14 @@ test_path_list_filter_duplicates_with_exceptions () |
386 |
+ static void |
387 |
+ test_path_evaluate_name (void) |
388 |
+ { |
389 |
+- gchar *result, *expected; |
390 |
+- |
391 |
+- const gchar *home = g_getenv ("HOME"); |
392 |
+- const gchar *pwd = g_getenv ("PWD"); |
393 |
++ gchar *result, *expected, *home, *pwd; |
394 |
+ |
395 |
+ const gchar *test = "/one/two"; |
396 |
+ gchar *parent_dir; |
397 |
+ |
398 |
++ home = g_strdup (g_getenv ("HOME")); |
399 |
++ pwd = g_get_current_dir (); |
400 |
++ |
401 |
+ g_setenv ("TEST_TRACKER_DIR", test, TRUE); |
402 |
+ |
403 |
+ |
404 |
+@@ -219,6 +219,8 @@ test_path_evaluate_name (void) |
405 |
+ result = tracker_path_evaluate_name (tracker_test_helpers_get_nonutf8 ()); |
406 |
+ g_assert_cmpstr (result, ==, tracker_test_helpers_get_nonutf8 ()); |
407 |
+ |
408 |
++ g_free (home); |
409 |
++ g_free (pwd); |
410 |
+ g_unsetenv ("TEST_TRACKER_DIR"); |
411 |
+ } |
412 |
+ |
413 |
+-- |
414 |
+2.17.0 |
415 |
+ |
416 |
|
417 |
diff --git a/app-misc/tracker-miners/metadata.xml b/app-misc/tracker-miners/metadata.xml |
418 |
new file mode 100644 |
419 |
index 00000000000..82957eafdf0 |
420 |
--- /dev/null |
421 |
+++ b/app-misc/tracker-miners/metadata.xml |
422 |
@@ -0,0 +1,17 @@ |
423 |
+<?xml version="1.0" encoding="UTF-8"?> |
424 |
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> |
425 |
+<pkgmetadata> |
426 |
+ <maintainer type="project"> |
427 |
+ <email>gnome@g.o</email> |
428 |
+ <name>Gentoo GNOME Desktop</name> |
429 |
+ </maintainer> |
430 |
+ <use> |
431 |
+ <flag name="cue">Enable cue sheet parsing</flag> |
432 |
+ <flag name="gsf">Enable <pkg>gnome-extra/libgsf</pkg> based data extractor and |
433 |
+ for ODT.</flag> |
434 |
+ <flag name="iptc">Enable extraction of IPTC data from pictures</flag> |
435 |
+ <flag name="iso">Enable extraction of metadata from ISO disk images</flag> |
436 |
+ <flag name="playlist">Add support for playlists</flag> |
437 |
+ <flag name="xps">Add support for XPS file format through <pkg>app-text/libgxps</pkg>.</flag> |
438 |
+ </use> |
439 |
+</pkgmetadata> |
440 |
|
441 |
diff --git a/app-misc/tracker-miners/tracker-miners-2.1.5.ebuild b/app-misc/tracker-miners/tracker-miners-2.1.5.ebuild |
442 |
new file mode 100644 |
443 |
index 00000000000..3759fc10e2a |
444 |
--- /dev/null |
445 |
+++ b/app-misc/tracker-miners/tracker-miners-2.1.5.ebuild |
446 |
@@ -0,0 +1,139 @@ |
447 |
+# Copyright 1999-2019 Gentoo Authors |
448 |
+# Distributed under the terms of the GNU General Public License v2 |
449 |
+ |
450 |
+EAPI=6 |
451 |
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6,3_7} ) |
452 |
+ |
453 |
+inherit gnome.org gnome2-utils meson python-any-r1 systemd xdg |
454 |
+ |
455 |
+DESCRIPTION="A tagging metadata database, search tool and indexer" |
456 |
+HOMEPAGE="https://wiki.gnome.org/Projects/Tracker" |
457 |
+ |
458 |
+LICENSE="GPL-2+ LGPL-2.1+" |
459 |
+SLOT="0" |
460 |
+IUSE="cue exif ffmpeg flac gif gsf +gstreamer iptc +iso +jpeg libav +pdf +playlist raw +rss seccomp test +taglib +tiff upower +vorbis +xml xmp xps" |
461 |
+ |
462 |
+REQUIRED_USE="cue? ( gstreamer )" # cue is currently only supported via gstreamer, not ffmpeg/libav |
463 |
+ |
464 |
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" |
465 |
+ |
466 |
+# tracker-2.1.7 currently always depends on ICU (theoretically could be libunistring instead); so choose ICU over enca always here for the time being (ICU is preferred) |
467 |
+RDEPEND=" |
468 |
+ >=dev-libs/glib-2.46:2 |
469 |
+ >=app-misc/tracker-2.1.0:= |
470 |
+ gstreamer? ( |
471 |
+ media-libs/gstreamer:1.0 |
472 |
+ media-libs/gst-plugins-base:1.0 ) |
473 |
+ !gstreamer? ( |
474 |
+ ffmpeg? ( |
475 |
+ libav? ( media-video/libav:0= ) |
476 |
+ !libav? ( media-video/ffmpeg:0= ) ) ) |
477 |
+ |
478 |
+ >=sys-apps/dbus-1.3.1 |
479 |
+ xmp? ( >=media-libs/exempi-2.1.0:= ) |
480 |
+ flac? ( >=media-libs/flac-1.2.1 ) |
481 |
+ raw? ( media-libs/gexiv2 ) |
482 |
+ >=dev-libs/icu-4.8.1.2:= |
483 |
+ cue? ( media-libs/libcue ) |
484 |
+ exif? ( >=media-libs/libexif-0.6 ) |
485 |
+ gsf? ( >=gnome-extra/libgsf-1.14.24:= ) |
486 |
+ xps? ( app-text/libgxps ) |
487 |
+ iptc? ( media-libs/libiptcdata ) |
488 |
+ jpeg? ( virtual/jpeg:0 ) |
489 |
+ iso? ( >=sys-libs/libosinfo-0.2.10 ) |
490 |
+ >=media-libs/libpng-1.2:0= |
491 |
+ seccomp? ( >=sys-libs/libseccomp-2.0 ) |
492 |
+ tiff? ( media-libs/tiff:0 ) |
493 |
+ xml? ( >=dev-libs/libxml2-2.6 ) |
494 |
+ vorbis? ( >=media-libs/libvorbis-0.22 ) |
495 |
+ pdf? ( >=app-text/poppler-0.16.0[cairo] ) |
496 |
+ taglib? ( >=media-libs/taglib-1.6 ) |
497 |
+ playlist? ( >=dev-libs/totem-pl-parser-3:= ) |
498 |
+ upower? ( >=sys-power/upower-0.9.0 ) |
499 |
+ sys-libs/zlib:0 |
500 |
+ gif? ( media-libs/giflib:= ) |
501 |
+ |
502 |
+ rss? ( >=net-libs/libgrss-0.7:0 ) |
503 |
+ app-arch/gzip |
504 |
+" |
505 |
+DEPEND="${RDEPEND} |
506 |
+ dev-util/glib-utils |
507 |
+ |
508 |
+ >=dev-util/intltool-0.40.0 |
509 |
+ >=sys-devel/gettext-0.19.8 |
510 |
+ virtual/pkgconfig |
511 |
+ test? ( ${PYTHON_DEPS} ) |
512 |
+" |
513 |
+# intltool-merge manually called in meson.build in 2.1.5; might be properly gone by 2.2.0 (MR !29) |
514 |
+ |
515 |
+PATCHES=( |
516 |
+ "${FILESDIR}"/${PV}-meson-fixes.patch # https://gitlab.gnome.org/GNOME/tracker-miners/merge_requests/49 |
517 |
+ "${FILESDIR}"/${PV}-test-fix.patch # https://gitlab.gnome.org/GNOME/tracker-miners/merge_requests/50 |
518 |
+) |
519 |
+ |
520 |
+pkg_setup() { |
521 |
+ use test && python-any-r1_pkg_setup |
522 |
+} |
523 |
+ |
524 |
+src_prepare() { |
525 |
+ xdg_src_prepare |
526 |
+ gnome2_environment_reset # sets gstreamer safety variables |
527 |
+} |
528 |
+ |
529 |
+src_configure() { |
530 |
+ local media_extractor="none" |
531 |
+ if use gstreamer ; then |
532 |
+ media_extractor="gstreamer" |
533 |
+ elif use ffmpeg ; then |
534 |
+ media_extractor="libav" |
535 |
+ fi |
536 |
+ |
537 |
+ local emesonargs=( |
538 |
+ -Dtracker_core=system |
539 |
+ |
540 |
+ -Ddocs=true |
541 |
+ -Dextract=true |
542 |
+ $(meson_use test functional_tests) |
543 |
+ -Dminer_apps=true |
544 |
+ -Dminer_fs=true |
545 |
+ $(meson_use rss miner_rss) |
546 |
+ -Dwriteback=true |
547 |
+ -Dabiword=true |
548 |
+ -Ddvi=true |
549 |
+ -Dicon=true |
550 |
+ -Dmp3=true |
551 |
+ -Dps=true |
552 |
+ -Dtext=true |
553 |
+ -Dunzip_ps_gz_files=true # spawns gunzip |
554 |
+ |
555 |
+ -Dcue=$(usex cue enabled disabled) |
556 |
+ -Dexif=$(usex exif enabled disabled) |
557 |
+ -Dflac=$(usex flac enabled disabled) |
558 |
+ -Dgif=$(usex gif enabled disabled) |
559 |
+ -Dgsf=$(usex gsf enabled disabled) |
560 |
+ -Diptc=$(usex iptc enabled disabled) |
561 |
+ -Diso=$(usex iso enabled disabled) |
562 |
+ -Djpeg=$(usex jpeg enabled disabled) |
563 |
+ -Dpdf=$(usex pdf enabled disabled) |
564 |
+ -Dplaylist=$(usex playlist enabled disabled) |
565 |
+ -Dpng=enabled |
566 |
+ -Draw=$(usex raw enabled disabled) |
567 |
+ -Dtaglib=$(usex taglib enabled disabled) |
568 |
+ -Dtiff=$(usex tiff enabled disabled) |
569 |
+ -Dvorbis=$(usex vorbis enabled disabled) |
570 |
+ -Dxml=$(usex xml enabled disabled) |
571 |
+ -Dxmp=$(usex xmp enabled disabled) |
572 |
+ -Dxps=$(usex xps enabled disabled) |
573 |
+ |
574 |
+ -Dbattery_detection=$(usex upower upower none) |
575 |
+ -Dcharset_detection=icu # enca is a possibility, but right now we have tracker core always dep on icu and icu is preferred over enca |
576 |
+ -Dgeneric_media_extractor=${media_extractor} |
577 |
+ # gupnp gstreamer_backend is in bad state, upstream suggests to use discoverer, which is the default |
578 |
+ -Dsystemd_user_services="$(systemd_get_userunitdir)" |
579 |
+ ) |
580 |
+ meson_src_configure |
581 |
+} |
582 |
+ |
583 |
+src_test() { |
584 |
+ dbus-run-session meson test -C "${BUILD_DIR}" || die 'tests failed' |
585 |
+} |
586 |
|
587 |
diff --git a/profiles/base/package.use.force b/profiles/base/package.use.force |
588 |
index de377b60ee9..ba93feb56ae 100644 |
589 |
--- a/profiles/base/package.use.force |
590 |
+++ b/profiles/base/package.use.force |
591 |
@@ -4,6 +4,7 @@ |
592 |
# Mart Raudsepp <leio@g.o> (14 Dec 2018) |
593 |
# Security is not optional if available for the architecture/kernel. |
594 |
gnome-base/gnome-desktop seccomp |
595 |
+app-misc/tracker-miners seccomp |
596 |
|
597 |
# Andreas K. Hüttel <dilfridge@g.o> (11 Sep 2018) |
598 |
# All glibc versions that include RPC code are masked now. |
599 |
|
600 |
diff --git a/profiles/package.mask b/profiles/package.mask |
601 |
index 9423222fff4..89483f2cf6e 100644 |
602 |
--- a/profiles/package.mask |
603 |
+++ b/profiles/package.mask |
604 |
@@ -42,6 +42,7 @@ |
605 |
# Mart Raudsepp <leio@g.o> (13 Feb 2019) |
606 |
# Ongoing preparations for clean tracker-2 bumps |
607 |
>=app-misc/tracker-2.1.7 |
608 |
+>=app-misc/tracker-miners-2.1.5 |
609 |
|
610 |
# Michał Górny <mgorny@g.o> (13 Feb 2019) |
611 |
# Release candidate, masked for testing. |