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, 23 Dec 2020 21:38:31
Message-Id: 1608759494.15071bf1c50b95c626054e03422def09d4580ac6.leio@gentoo
1 commit: 15071bf1c50b95c626054e03422def09d4580ac6
2 Author: Mart Raudsepp <leio <AT> gentoo <DOT> org>
3 AuthorDate: Wed Dec 23 21:38:04 2020 +0000
4 Commit: Mart Raudsepp <leio <AT> gentoo <DOT> org>
5 CommitDate: Wed Dec 23 21:38:14 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=15071bf1
7
8 app-misc/tracker-miners: bump to 2.3.5 for glib-2.66 compat
9
10 * glib-2.66 started using statx syscall for some operations that
11 tracker-miners uses, causing SIGSYS aborts on ~arch systems. This
12 version allows statx in tracker-miners sandbox, but also makes it
13 not autostart in the first place, therefore:
14 * Keep autostart as we don't have tracker-3 yet (and grab a patch to
15 have the build work better with it enabled). When we add tracker-3,
16 we need to revbump tracker-miners to disable autostart and drop the
17 tracker-miners-3 blocker
18 * Prepare app-misc/tracker dep atom for upcoming parallel-installable
19 tracker-3
20
21 Closes: https://bugs.gentoo.org/754315
22 Package-Manager: Portage-3.0.12, Repoman-3.0.2
23 Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>
24
25 app-misc/tracker-miners/Manifest | 1 +
26 .../files/2.3.5-fix-autostart-build.patch | 80 ++++++++++
27 .../tracker-miners/tracker-miners-2.3.5.ebuild | 162 +++++++++++++++++++++
28 3 files changed, 243 insertions(+)
29
30 diff --git a/app-misc/tracker-miners/Manifest b/app-misc/tracker-miners/Manifest
31 index 3c7d6656ac9..cb04f715094 100644
32 --- a/app-misc/tracker-miners/Manifest
33 +++ b/app-misc/tracker-miners/Manifest
34 @@ -1,2 +1,3 @@
35 DIST tracker-miners-2.3.3.tar.xz 3144712 BLAKE2B a5789cce89dedd7cf35548b730acc80eb9b8bcbc8338c4ee55b07c97af4b9fbadc46bf0fdc552a3384e995d71aca0defe2d57dc21d99f775dee6f33f69e0aa9b SHA512 1e845aaa5412125df84298a05f29888b3872c0f4d9251f026dd51846831fcd4aa0c6965c85752d7b6ed6548268d21f0fd2a8427c922a5dc0afcd294286c607e2
36 DIST tracker-miners-2.3.4.tar.xz 3128484 BLAKE2B f52c46123c95252f8f16df824ff7498a8f44698cea13fa78653d7733590bef0a502139fea686b4fd9012f7569a6f946e1dbf8e053a16c474230c733d37103a3f SHA512 ceddddfa6c3151b5caeb197a4ae4dbe24fa2674e807bf66a9cc72227b60ee295171b52c2edb35236a3fbf9d8803678f55f8b990864a7a3a32bf362b0739d03ba
37 +DIST tracker-miners-2.3.5.tar.xz 3128428 BLAKE2B a45c642fb03433a6cf12d0904a82498aa6645f97ac70b1cfe04cc3b739b33b5d3fe307cd96f45a5a4af8927f029b4eade60195d2f72c1a684aa26ee723025d8a SHA512 13da1106bc1bc8a550093c4d1bf4336a205f636e0487dc9d42cee9ce2666eca73ead479fd04f03ccf15acb4e3b27a1c898860f63bdfa69ca74b02aa041731fa9
38
39 diff --git a/app-misc/tracker-miners/files/2.3.5-fix-autostart-build.patch b/app-misc/tracker-miners/files/2.3.5-fix-autostart-build.patch
40 new file mode 100644
41 index 00000000000..85f201bcf05
42 --- /dev/null
43 +++ b/app-misc/tracker-miners/files/2.3.5-fix-autostart-build.patch
44 @@ -0,0 +1,80 @@
45 +From e7b6d5f8b7541a4693c61be5d210fad85a5c9d06 Mon Sep 17 00:00:00 2001
46 +From: Carlos Garnacho <carlosg@×××××.org>
47 +Date: Sat, 12 Sep 2020 13:37:11 +0200
48 +Subject: [PATCH] build: Fix -Dautostart=true
49 +
50 +Meson doesn't seem to like that we use install_data() with custom target
51 +results. Make this option toggle the "install" keyword argument in the
52 +custom target itself.
53 +---
54 + src/miners/fs/meson.build | 10 +++-------
55 + src/miners/rss/meson.build | 10 +++-------
56 + src/tracker-extract/meson.build | 10 +++-------
57 + 3 files changed, 9 insertions(+), 21 deletions(-)
58 +
59 +diff --git a/src/miners/fs/meson.build b/src/miners/fs/meson.build
60 +index a770516c9..5a23bd06c 100644
61 +--- a/src/miners/fs/meson.build
62 ++++ b/src/miners/fs/meson.build
63 +@@ -54,13 +54,9 @@ desktop_file_untranslated = configure_file(
64 + desktop_file = custom_target('tracker-miner-fs-desktop-file',
65 + input: desktop_file_untranslated,
66 + output: 'tracker-miner-fs.desktop',
67 +- command: ['intltool-merge', '--quiet', '--desktop-style', '--utf8', join_paths(meson.source_root(), 'po'), '@INPUT@', '@OUTPUT@'])
68 +-
69 +-if get_option('autostart')
70 +- install_data(desktop_file,
71 +- install: true,
72 +- install_dir: join_paths(get_option('sysconfdir'), 'xdg/autostart'))
73 +-endif
74 ++ command: ['intltool-merge', '--quiet', '--desktop-style', '--utf8', join_paths(meson.source_root(), 'po'), '@INPUT@', '@OUTPUT@'],
75 ++ install: get_option('autostart'),
76 ++ install_dir: join_paths(get_option('sysconfdir'), 'xdg/autostart'))
77 +
78 + if install_systemd_user_services
79 + configure_file(
80 +diff --git a/src/miners/rss/meson.build b/src/miners/rss/meson.build
81 +index f540befe2..0bf0bb765 100644
82 +--- a/src/miners/rss/meson.build
83 ++++ b/src/miners/rss/meson.build
84 +@@ -31,13 +31,9 @@ desktop_file_untranslated = configure_file(
85 + desktop_file = custom_target('tracker-miner-rss-desktop-file',
86 + input: desktop_file_untranslated,
87 + output: 'tracker-miner-rss.desktop',
88 +- command: ['intltool-merge', '--quiet', '--desktop-style', '--utf8', join_paths(meson.source_root(), 'po'), '@INPUT@', '@OUTPUT@'])
89 +-
90 +-if get_option('autostart')
91 +- install_data(desktop_file,
92 +- install: true,
93 +- install_dir: join_paths(get_option('sysconfdir'), 'xdg/autostart'))
94 +-endif
95 ++ command: ['intltool-merge', '--quiet', '--desktop-style', '--utf8', join_paths(meson.source_root(), 'po'), '@INPUT@', '@OUTPUT@'],
96 ++ install: get_option('autostart'),
97 ++ install_dir: join_paths(get_option('sysconfdir'), 'xdg/autostart'))
98 +
99 + if install_systemd_user_services
100 + configure_file(
101 +diff --git a/src/tracker-extract/meson.build b/src/tracker-extract/meson.build
102 +index 239907179..aec37bfcc 100644
103 +--- a/src/tracker-extract/meson.build
104 ++++ b/src/tracker-extract/meson.build
105 +@@ -189,13 +189,9 @@ desktop_file_untranslated = configure_file(
106 + desktop_file = custom_target('tracker-extract-desktop-file',
107 + input: desktop_file_untranslated,
108 + output: 'tracker-extract.desktop',
109 +- command: ['intltool-merge', '--quiet', '--desktop-style', '--utf8', join_paths(meson.source_root(), 'po'), '@INPUT@', '@OUTPUT@'])
110 +-
111 +-if get_option('autostart')
112 +- install_data(desktop_file,
113 +- install: true,
114 +- install_dir: join_paths(get_option('sysconfdir'), 'xdg/autostart'))
115 +-endif
116 ++ command: ['intltool-merge', '--quiet', '--desktop-style', '--utf8', join_paths(meson.source_root(), 'po'), '@INPUT@', '@OUTPUT@'],
117 ++ install: get_option('autostart'),
118 ++ install_dir: join_paths(get_option('sysconfdir'), 'xdg/autostart'))
119 +
120 + if install_systemd_user_services
121 + configure_file(
122 +--
123 +2.27.0
124 +
125
126 diff --git a/app-misc/tracker-miners/tracker-miners-2.3.5.ebuild b/app-misc/tracker-miners/tracker-miners-2.3.5.ebuild
127 new file mode 100644
128 index 00000000000..a6259ef3ba7
129 --- /dev/null
130 +++ b/app-misc/tracker-miners/tracker-miners-2.3.5.ebuild
131 @@ -0,0 +1,162 @@
132 +# Copyright 1999-2020 Gentoo Authors
133 +# Distributed under the terms of the GNU General Public License v2
134 +
135 +EAPI=7
136 +PYTHON_COMPAT=( python3_{6,7,8} )
137 +
138 +inherit gnome.org gnome2-utils meson python-any-r1 systemd xdg
139 +
140 +DESCRIPTION="Collection of data extractors for Tracker/Nepomuk"
141 +HOMEPAGE="https://wiki.gnome.org/Projects/Tracker"
142 +
143 +LICENSE="GPL-2+ LGPL-2.1+"
144 +SLOT="0"
145 +IUSE="cue exif ffmpeg gif gsf +gstreamer iptc +iso +jpeg +pdf +playlist raw +rss seccomp test +tiff upower +xml xmp xps"
146 +
147 +REQUIRED_USE="cue? ( gstreamer )" # cue is currently only supported via gstreamer, not ffmpeg
148 +RESTRICT="!test? ( test )"
149 +
150 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
151 +
152 +# 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)
153 +RDEPEND="
154 + >=dev-libs/glib-2.46:2
155 + >=app-misc/tracker-2.2.0:0=
156 + gstreamer? (
157 + media-libs/gstreamer:1.0
158 + media-libs/gst-plugins-base:1.0
159 + media-plugins/gst-plugins-meta:1.0 )
160 + !gstreamer? (
161 + ffmpeg? ( media-video/ffmpeg:0= ) )
162 +
163 + >=sys-apps/dbus-1.3.1
164 + xmp? ( >=media-libs/exempi-2.1.0:= )
165 + raw? ( media-libs/gexiv2 )
166 + >=dev-libs/icu-4.8.1.2:=
167 + cue? ( media-libs/libcue:= )
168 + exif? ( >=media-libs/libexif-0.6 )
169 + gsf? ( >=gnome-extra/libgsf-1.14.24:= )
170 + xps? ( app-text/libgxps )
171 + iptc? ( media-libs/libiptcdata )
172 + jpeg? ( virtual/jpeg:0 )
173 + iso? ( >=sys-libs/libosinfo-0.2.10 )
174 + >=media-libs/libpng-1.2:0=
175 + seccomp? ( >=sys-libs/libseccomp-2.0 )
176 + tiff? ( media-libs/tiff:0 )
177 + xml? ( >=dev-libs/libxml2-2.6 )
178 + pdf? ( >=app-text/poppler-0.16.0[cairo] )
179 + playlist? ( >=dev-libs/totem-pl-parser-3:= )
180 + upower? ( >=sys-power/upower-0.9.0 )
181 + sys-libs/zlib:0
182 + gif? ( media-libs/giflib:= )
183 +
184 + rss? ( >=net-libs/libgrss-0.7:0 )
185 + app-arch/gzip
186 +"
187 +DEPEND="${RDEPEND}"
188 +BDEPEND="
189 + dev-util/glib-utils
190 + dev-util/gdbus-codegen
191 +
192 + >=dev-util/intltool-0.40.0
193 + >=sys-devel/gettext-0.19.8
194 + virtual/pkgconfig
195 + test? ( ${PYTHON_DEPS}
196 + gstreamer? (
197 + media-libs/gstreamer:1.0[introspection]
198 + || ( media-plugins/gst-plugins-libav:1.0
199 + media-plugins/gst-plugins-openh264:1.0 )
200 + ) )
201 +"
202 +# intltool-merge manually called in meson.build in 2.3.5; might be properly gone by 3.0
203 +RDEPEND="${RDEPEND}
204 + !>=app-misc/tracker-miners-2.99
205 +" # Incompatible revision for (upcoming) parallel-installable tracker-miners-3 due to autostart; a revision that disables autostart and drops the blocker to be added together with v3
206 +
207 +PATCHES=(
208 + "${FILESDIR}"/${PV}-fix-autostart-build.patch
209 +)
210 +
211 +pkg_setup() {
212 + use test && python-any-r1_pkg_setup
213 +}
214 +
215 +src_prepare() {
216 + # Avoid gst-inspect calls that may trigger sandbox; instead assume the detection will succeed and add the needed test deps for that
217 + if use gstreamer; then
218 + sed -i -e 's:detect-h264-codec.sh:/bin/true:' tests/functional-tests/meson.build || die
219 + else
220 + sed -i -e 's:detect-h264-codec.sh:/bin/false:' tests/functional-tests/meson.build || die
221 + fi
222 + xdg_src_prepare
223 + gnome2_environment_reset # sets gstreamer safety variables
224 +}
225 +
226 +src_configure() {
227 + local media_extractor="none"
228 + if use gstreamer ; then
229 + media_extractor="gstreamer"
230 + elif use ffmpeg ; then
231 + media_extractor="libav"
232 + fi
233 +
234 + local emesonargs=(
235 + -Dtracker_core=system
236 +
237 + -Ddocs=true
238 + -Dextract=true
239 + -Dfunctional_tests=false # currently broken, may fare better in 2.2.3 or 2.3; if re-enabled re-add dconf test dep
240 + #$(meson_use test functional_tests)
241 + -Dminer_fs=true
242 + $(meson_use rss miner_rss)
243 + -Dwriteback=true
244 + -Dabiword=true
245 + -Ddvi=true
246 + -Dicon=true
247 + -Dmp3=true
248 + -Dps=true
249 + -Dtext=true
250 + -Dunzip_ps_gz_files=true # spawns gunzip
251 +
252 + $(meson_feature cue)
253 + $(meson_feature exif)
254 + -Dflac=disabled # never use external flac extractor - gst-plugins-flac is for that; ffmpeg one is maybe worse, but that's non-default
255 + $(meson_feature gif)
256 + $(meson_feature gsf)
257 + $(meson_feature iptc)
258 + $(meson_feature iso)
259 + $(meson_feature jpeg)
260 + $(meson_feature pdf)
261 + $(meson_feature playlist)
262 + -Dpng=enabled
263 + $(meson_feature raw)
264 + $(meson_feature tiff)
265 + -Dvorbis=disabled # never use external vorbis extractor - gst-plugins-base[vorbis] is for that; ffmpeg one is maybe worse, but that's non-default
266 + $(meson_feature xml)
267 + $(meson_feature xmp)
268 + $(meson_feature xps)
269 +
270 + -Dbattery_detection=$(usex upower upower none)
271 + -Dcharset_detection=icu # enca is a possibility, but right now we have tracker core always dep on icu and icu is preferred over enca
272 + -Dgeneric_media_extractor=${media_extractor}
273 + # gupnp gstreamer_backend is in bad state, upstream suggests to use discoverer, which is the default
274 + -Dautostart=true # turn to false to co-exist with tracker-miners-3
275 + -Dsystemd_user_services="$(systemd_get_userunitdir)"
276 + )
277 + meson_src_configure
278 +}
279 +
280 +src_test() {
281 + export GSETTINGS_BACKEND="dconf" # Tests require dconf and explicitly check for it (env_reset set it to "memory")
282 + dbus-run-session meson test -C "${BUILD_DIR}" || die 'tests failed'
283 +}
284 +
285 +pkg_postinst() {
286 + xdg_pkg_postinst
287 + gnome2_schemas_update
288 +}
289 +
290 +pkg_postrm() {
291 + xdg_pkg_postrm
292 + gnome2_schemas_update
293 +}