Gentoo Archives: gentoo-commits

From: Mart Raudsepp <leio@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-misc/tracker-miners/, app-misc/tracker-miners/files/
Date: Wed, 27 Feb 2019 13:21:33
Message-Id: 1551273658.29e83345c868ec128c9411452b2a03a6084d3b1b.leio@gentoo
1 commit: 29e83345c868ec128c9411452b2a03a6084d3b1b
2 Author: Mart Raudsepp <leio <AT> gentoo <DOT> org>
3 AuthorDate: Wed Feb 27 13:18:44 2019 +0000
4 Commit: Mart Raudsepp <leio <AT> gentoo <DOT> org>
5 CommitDate: Wed Feb 27 13:20:58 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=29e83345
7
8 app-misc/tracker-miners: bump to 2.1.6, workaround gst sandbox issues
9
10 Disables guarantee_metadata option by default, otherwise mainly just
11 most of the patches we needed for 2.1.5 are included now, plus
12 translation updates.
13 Workaround gstreamer sandbox issues by avoiding the gst-inspect
14 checking and patching the detection result to true or false, depending
15 on if gstreamer is used or not. Theoretically the test should succeed
16 always with ffmpeg, but not bothering to figure out if there is some
17 USE flags on ffmpeg needed to ensure that or not, etc, so just skipping
18 them with ffmpeg for the time being.
19
20 Closes: https://bugs.gentoo.org/678442
21 Package-Manager: Portage-2.3.52, Repoman-2.3.12
22 Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>
23
24 app-misc/tracker-miners/Manifest | 1 +
25 .../files/2.1.6-cue-meson-fixes.patch | 67 ++++++++++
26 .../tracker-miners/tracker-miners-2.1.6.ebuild | 146 +++++++++++++++++++++
27 3 files changed, 214 insertions(+)
28
29 diff --git a/app-misc/tracker-miners/Manifest b/app-misc/tracker-miners/Manifest
30 index 30724f741a2..b60566f68f5 100644
31 --- a/app-misc/tracker-miners/Manifest
32 +++ b/app-misc/tracker-miners/Manifest
33 @@ -1 +1,2 @@
34 DIST tracker-miners-2.1.5.tar.xz 3455264 BLAKE2B 1e9149ae0767166fc8e936922e4e02d4391f7af3faf59525e32098fb10cb6c5f6970f13bdb35f675efc9f131672b3feb84cbdcd8d0f01c86d05880919fba463a SHA512 37bf6d44635843037613cfe681cd536a8b33ba34c092183d9d66289713deaaff5322d09028b447484e6bf72a01199c041fb295d6431d2f7cff3498ef8983f605
35 +DIST tracker-miners-2.1.6.tar.xz 3456848 BLAKE2B 60b4af9ea755b79c2d31150d744468c6b980238eef542b9be382316eaf7310e137c501f9f705319e203ac3fba11e554202f6d1ee8e5a1ebcdf9b0d59aaa5e380 SHA512 3ded014c98f7be2b610fbe76c3a2b006a9ec85b090d2d3ca3e943e89b58b520da291ebfebe9efd579fe330fd49fced8f792eeba3b8e56f91fd2358bdaff4cdf2
36
37 diff --git a/app-misc/tracker-miners/files/2.1.6-cue-meson-fixes.patch b/app-misc/tracker-miners/files/2.1.6-cue-meson-fixes.patch
38 new file mode 100644
39 index 00000000000..07d6ae9b649
40 --- /dev/null
41 +++ b/app-misc/tracker-miners/files/2.1.6-cue-meson-fixes.patch
42 @@ -0,0 +1,67 @@
43 +From 5d24ba00a7735ab3b7b381a102dc5536c12c8133 Mon Sep 17 00:00:00 2001
44 +From: Ernestas Kulik <ernestask@×××××.org>
45 +Date: Sun, 7 Oct 2018 11:40:41 +0300
46 +Subject: [PATCH 1/2] build: Fix libcue version comparison
47 +MIME-Version: 1.0
48 +Content-Type: text/plain; charset=UTF-8
49 +Content-Transfer-Encoding: 8bit
50 +
51 +It currently performs a string comparison, as opposed to using
52 +version_compare(), which leads to results like
53 +“unknown >= 2.0.0 == True” when the dependency was not found.
54 +
55 +Fixes https://gitlab.gnome.org/GNOME/tracker-miners/issues/32
56 +
57 +(cherry picked from commit 6e281037a5f0abc12e5e8902e445f264200980b0)
58 +---
59 + meson.build | 2 +-
60 + 1 file changed, 1 insertion(+), 1 deletion(-)
61 +
62 +diff --git a/meson.build b/meson.build
63 +index 4273638dd..c30ada4ed 100644
64 +--- a/meson.build
65 ++++ b/meson.build
66 +@@ -317,7 +317,7 @@ conf.set('GSTREAMER_BACKEND_DISCOVERER', gstreamer_backend_name == 'Discoverer')
67 + conf.set('GSTREAMER_BACKEND_GUPNP_DLNA', gstreamer_backend_name == 'GUPnP-DLNA')
68 + conf.set('HAVE_HAL', battery_detection_library_name == 'hal')
69 + conf.set('HAVE_LIBCUE', libcue.found())
70 +-conf.set('HAVE_LIBCUE2', libcue.version() >= '2.0.0')
71 ++conf.set('HAVE_LIBCUE2', libcue.version().version_compare('>= 2.0.0'))
72 + conf.set('HAVE_LIBICU_CHARSET_DETECTION', charset_library_name == 'icu')
73 + conf.set('HAVE_LIBEXIF', libexif.found())
74 + conf.set('HAVE_LIBIPTCDATA', libiptcdata.found())
75 +--
76 +2.17.0
77 +
78 +
79 +From ff6a076330ba1b5a383196795b18e2c069ac54c6 Mon Sep 17 00:00:00 2001
80 +From: Sam Thursfield <sam@×××××××××.uk>
81 +Date: Sun, 7 Oct 2018 23:42:28 +0200
82 +Subject: [PATCH 2/2] build: Fix breakage when libcue isn't found
83 +
84 +Commit 6e281037a5f0abc introduced a regression on systems where libcue
85 +is not available.
86 +
87 +Fixes https://gitlab.gnome.org/GNOME/tracker-miners/issues/33
88 +
89 +(cherry picked from commit fd0eb3cd98f279591cbe8635eadf42027dd5ddae)
90 +---
91 + meson.build | 2 +-
92 + 1 file changed, 1 insertion(+), 1 deletion(-)
93 +
94 +diff --git a/meson.build b/meson.build
95 +index c30ada4ed..28072646a 100644
96 +--- a/meson.build
97 ++++ b/meson.build
98 +@@ -317,7 +317,7 @@ conf.set('GSTREAMER_BACKEND_DISCOVERER', gstreamer_backend_name == 'Discoverer')
99 + conf.set('GSTREAMER_BACKEND_GUPNP_DLNA', gstreamer_backend_name == 'GUPnP-DLNA')
100 + conf.set('HAVE_HAL', battery_detection_library_name == 'hal')
101 + conf.set('HAVE_LIBCUE', libcue.found())
102 +-conf.set('HAVE_LIBCUE2', libcue.version().version_compare('>= 2.0.0'))
103 ++conf.set('HAVE_LIBCUE2', libcue.found() and libcue.version().version_compare('>= 2.0.0'))
104 + conf.set('HAVE_LIBICU_CHARSET_DETECTION', charset_library_name == 'icu')
105 + conf.set('HAVE_LIBEXIF', libexif.found())
106 + conf.set('HAVE_LIBIPTCDATA', libiptcdata.found())
107 +--
108 +2.17.0
109 +
110
111 diff --git a/app-misc/tracker-miners/tracker-miners-2.1.6.ebuild b/app-misc/tracker-miners/tracker-miners-2.1.6.ebuild
112 new file mode 100644
113 index 00000000000..5153b47c8e8
114 --- /dev/null
115 +++ b/app-misc/tracker-miners/tracker-miners-2.1.6.ebuild
116 @@ -0,0 +1,146 @@
117 +# Copyright 1999-2019 Gentoo Authors
118 +# Distributed under the terms of the GNU General Public License v2
119 +
120 +EAPI=6
121 +PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6,3_7} )
122 +
123 +inherit gnome.org gnome2-utils meson python-any-r1 systemd xdg
124 +
125 +DESCRIPTION="Collection of data extractors for Tracker/Nepomuk"
126 +HOMEPAGE="https://wiki.gnome.org/Projects/Tracker"
127 +
128 +LICENSE="GPL-2+ LGPL-2.1+"
129 +SLOT="0"
130 +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"
131 +
132 +REQUIRED_USE="cue? ( gstreamer )" # cue is currently only supported via gstreamer, not ffmpeg/libav
133 +
134 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
135 +
136 +# 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)
137 +RDEPEND="
138 + >=dev-libs/glib-2.46:2
139 + >=app-misc/tracker-2.1.0:=
140 + gstreamer? (
141 + media-libs/gstreamer:1.0
142 + media-libs/gst-plugins-base:1.0 )
143 + !gstreamer? (
144 + ffmpeg? (
145 + libav? ( media-video/libav:0= )
146 + !libav? ( media-video/ffmpeg:0= ) ) )
147 +
148 + >=sys-apps/dbus-1.3.1
149 + xmp? ( >=media-libs/exempi-2.1.0:= )
150 + flac? ( >=media-libs/flac-1.2.1 )
151 + raw? ( media-libs/gexiv2 )
152 + >=dev-libs/icu-4.8.1.2:=
153 + cue? ( media-libs/libcue )
154 + exif? ( >=media-libs/libexif-0.6 )
155 + gsf? ( >=gnome-extra/libgsf-1.14.24:= )
156 + xps? ( app-text/libgxps )
157 + iptc? ( media-libs/libiptcdata )
158 + jpeg? ( virtual/jpeg:0 )
159 + iso? ( >=sys-libs/libosinfo-0.2.10 )
160 + >=media-libs/libpng-1.2:0=
161 + seccomp? ( >=sys-libs/libseccomp-2.0 )
162 + tiff? ( media-libs/tiff:0 )
163 + xml? ( >=dev-libs/libxml2-2.6 )
164 + vorbis? ( >=media-libs/libvorbis-0.22 )
165 + pdf? ( >=app-text/poppler-0.16.0[cairo] )
166 + taglib? ( >=media-libs/taglib-1.6 )
167 + playlist? ( >=dev-libs/totem-pl-parser-3:= )
168 + upower? ( >=sys-power/upower-0.9.0 )
169 + sys-libs/zlib:0
170 + gif? ( media-libs/giflib:= )
171 +
172 + rss? ( >=net-libs/libgrss-0.7:0 )
173 + app-arch/gzip
174 +"
175 +DEPEND="${RDEPEND}
176 + dev-util/glib-utils
177 +
178 + >=dev-util/intltool-0.40.0
179 + >=sys-devel/gettext-0.19.8
180 + virtual/pkgconfig
181 + test? ( ${PYTHON_DEPS}
182 + gstreamer? ( || ( media-plugins/gst-plugins-libav:1.0
183 + media-plugins/gst-plugins-openh264:1.0 ) ) )
184 +"
185 +# intltool-merge manually called in meson.build in 2.1.5; might be properly gone by 2.2.0 (MR !29)
186 +
187 +PATCHES=(
188 + "${FILESDIR}"/${PV}-cue-meson-fixes.patch
189 +)
190 +
191 +pkg_setup() {
192 + use test && python-any-r1_pkg_setup
193 +}
194 +
195 +src_prepare() {
196 + # Avoid gst-inspect calls that may trigger sandbox; instead assume the detection will succeed and add the needed test deps for that
197 + if use gstreamer; then
198 + sed -i -e 's:detect-h264-codec.sh:/bin/true:' tests/functional-tests/meson.build || die
199 + else
200 + sed -i -e 's:detect-h264-codec.sh:/bin/false:' tests/functional-tests/meson.build || die
201 + fi
202 + xdg_src_prepare
203 + gnome2_environment_reset # sets gstreamer safety variables
204 +}
205 +
206 +src_configure() {
207 + local media_extractor="none"
208 + if use gstreamer ; then
209 + media_extractor="gstreamer"
210 + elif use ffmpeg ; then
211 + media_extractor="libav"
212 + fi
213 +
214 + local emesonargs=(
215 + -Dtracker_core=system
216 +
217 + -Ddocs=true
218 + -Dextract=true
219 + $(meson_use test functional_tests)
220 + -Dminer_apps=true
221 + -Dminer_fs=true
222 + $(meson_use rss miner_rss)
223 + -Dwriteback=true
224 + -Dabiword=true
225 + -Ddvi=true
226 + -Dicon=true
227 + -Dmp3=true
228 + -Dps=true
229 + -Dtext=true
230 + -Dunzip_ps_gz_files=true # spawns gunzip
231 +
232 + -Dcue=$(usex cue enabled disabled)
233 + -Dexif=$(usex exif enabled disabled)
234 + -Dflac=$(usex flac enabled disabled)
235 + -Dgif=$(usex gif enabled disabled)
236 + -Dgsf=$(usex gsf enabled disabled)
237 + -Diptc=$(usex iptc enabled disabled)
238 + -Diso=$(usex iso enabled disabled)
239 + -Djpeg=$(usex jpeg enabled disabled)
240 + -Dpdf=$(usex pdf enabled disabled)
241 + -Dplaylist=$(usex playlist enabled disabled)
242 + -Dpng=enabled
243 + -Draw=$(usex raw enabled disabled)
244 + -Dtaglib=$(usex taglib enabled disabled)
245 + -Dtiff=$(usex tiff enabled disabled)
246 + -Dvorbis=$(usex vorbis enabled disabled)
247 + -Dxml=$(usex xml enabled disabled)
248 + -Dxmp=$(usex xmp enabled disabled)
249 + -Dxps=$(usex xps enabled disabled)
250 +
251 + -Dbattery_detection=$(usex upower upower none)
252 + -Dcharset_detection=icu # enca is a possibility, but right now we have tracker core always dep on icu and icu is preferred over enca
253 + -Dgeneric_media_extractor=${media_extractor}
254 + # gupnp gstreamer_backend is in bad state, upstream suggests to use discoverer, which is the default
255 + -Dsystemd_user_services="$(systemd_get_userunitdir)"
256 + )
257 + meson_src_configure
258 +}
259 +
260 +src_test() {
261 + dbus-run-session meson test -C "${BUILD_DIR}" || die 'tests failed'
262 +}