diff options
author | Mart Raudsepp <leio@gentoo.org> | 2020-12-23 23:38:04 +0200 |
---|---|---|
committer | Mart Raudsepp <leio@gentoo.org> | 2020-12-23 23:38:14 +0200 |
commit | 15071bf1c50b95c626054e03422def09d4580ac6 (patch) | |
tree | ce302cddd7b1d3dc8bdaee2fd0fe74826f7645c9 /app-misc | |
parent | kde-frameworks/kio: Drop 5.77.0 (r0) (diff) | |
download | gentoo-15071bf1c50b95c626054e03422def09d4580ac6.tar.gz gentoo-15071bf1c50b95c626054e03422def09d4580ac6.tar.bz2 gentoo-15071bf1c50b95c626054e03422def09d4580ac6.zip |
app-misc/tracker-miners: bump to 2.3.5 for glib-2.66 compat
* glib-2.66 started using statx syscall for some operations that
tracker-miners uses, causing SIGSYS aborts on ~arch systems. This
version allows statx in tracker-miners sandbox, but also makes it
not autostart in the first place, therefore:
* Keep autostart as we don't have tracker-3 yet (and grab a patch to
have the build work better with it enabled). When we add tracker-3,
we need to revbump tracker-miners to disable autostart and drop the
tracker-miners-3 blocker
* Prepare app-misc/tracker dep atom for upcoming parallel-installable
tracker-3
Closes: https://bugs.gentoo.org/754315
Package-Manager: Portage-3.0.12, Repoman-3.0.2
Signed-off-by: Mart Raudsepp <leio@gentoo.org>
Diffstat (limited to 'app-misc')
-rw-r--r-- | app-misc/tracker-miners/Manifest | 1 | ||||
-rw-r--r-- | app-misc/tracker-miners/files/2.3.5-fix-autostart-build.patch | 80 | ||||
-rw-r--r-- | app-misc/tracker-miners/tracker-miners-2.3.5.ebuild | 162 |
3 files changed, 243 insertions, 0 deletions
diff --git a/app-misc/tracker-miners/Manifest b/app-misc/tracker-miners/Manifest index 3c7d6656ac90..cb04f7150941 100644 --- a/app-misc/tracker-miners/Manifest +++ b/app-misc/tracker-miners/Manifest @@ -1,2 +1,3 @@ DIST tracker-miners-2.3.3.tar.xz 3144712 BLAKE2B a5789cce89dedd7cf35548b730acc80eb9b8bcbc8338c4ee55b07c97af4b9fbadc46bf0fdc552a3384e995d71aca0defe2d57dc21d99f775dee6f33f69e0aa9b SHA512 1e845aaa5412125df84298a05f29888b3872c0f4d9251f026dd51846831fcd4aa0c6965c85752d7b6ed6548268d21f0fd2a8427c922a5dc0afcd294286c607e2 DIST tracker-miners-2.3.4.tar.xz 3128484 BLAKE2B f52c46123c95252f8f16df824ff7498a8f44698cea13fa78653d7733590bef0a502139fea686b4fd9012f7569a6f946e1dbf8e053a16c474230c733d37103a3f SHA512 ceddddfa6c3151b5caeb197a4ae4dbe24fa2674e807bf66a9cc72227b60ee295171b52c2edb35236a3fbf9d8803678f55f8b990864a7a3a32bf362b0739d03ba +DIST tracker-miners-2.3.5.tar.xz 3128428 BLAKE2B a45c642fb03433a6cf12d0904a82498aa6645f97ac70b1cfe04cc3b739b33b5d3fe307cd96f45a5a4af8927f029b4eade60195d2f72c1a684aa26ee723025d8a SHA512 13da1106bc1bc8a550093c4d1bf4336a205f636e0487dc9d42cee9ce2666eca73ead479fd04f03ccf15acb4e3b27a1c898860f63bdfa69ca74b02aa041731fa9 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 new file mode 100644 index 000000000000..85f201bcf051 --- /dev/null +++ b/app-misc/tracker-miners/files/2.3.5-fix-autostart-build.patch @@ -0,0 +1,80 @@ +From e7b6d5f8b7541a4693c61be5d210fad85a5c9d06 Mon Sep 17 00:00:00 2001 +From: Carlos Garnacho <carlosg@gnome.org> +Date: Sat, 12 Sep 2020 13:37:11 +0200 +Subject: [PATCH] build: Fix -Dautostart=true + +Meson doesn't seem to like that we use install_data() with custom target +results. Make this option toggle the "install" keyword argument in the +custom target itself. +--- + src/miners/fs/meson.build | 10 +++------- + src/miners/rss/meson.build | 10 +++------- + src/tracker-extract/meson.build | 10 +++------- + 3 files changed, 9 insertions(+), 21 deletions(-) + +diff --git a/src/miners/fs/meson.build b/src/miners/fs/meson.build +index a770516c9..5a23bd06c 100644 +--- a/src/miners/fs/meson.build ++++ b/src/miners/fs/meson.build +@@ -54,13 +54,9 @@ desktop_file_untranslated = configure_file( + desktop_file = custom_target('tracker-miner-fs-desktop-file', + input: desktop_file_untranslated, + output: 'tracker-miner-fs.desktop', +- command: ['intltool-merge', '--quiet', '--desktop-style', '--utf8', join_paths(meson.source_root(), 'po'), '@INPUT@', '@OUTPUT@']) +- +-if get_option('autostart') +- install_data(desktop_file, +- install: true, +- install_dir: join_paths(get_option('sysconfdir'), 'xdg/autostart')) +-endif ++ command: ['intltool-merge', '--quiet', '--desktop-style', '--utf8', join_paths(meson.source_root(), 'po'), '@INPUT@', '@OUTPUT@'], ++ install: get_option('autostart'), ++ install_dir: join_paths(get_option('sysconfdir'), 'xdg/autostart')) + + if install_systemd_user_services + configure_file( +diff --git a/src/miners/rss/meson.build b/src/miners/rss/meson.build +index f540befe2..0bf0bb765 100644 +--- a/src/miners/rss/meson.build ++++ b/src/miners/rss/meson.build +@@ -31,13 +31,9 @@ desktop_file_untranslated = configure_file( + desktop_file = custom_target('tracker-miner-rss-desktop-file', + input: desktop_file_untranslated, + output: 'tracker-miner-rss.desktop', +- command: ['intltool-merge', '--quiet', '--desktop-style', '--utf8', join_paths(meson.source_root(), 'po'), '@INPUT@', '@OUTPUT@']) +- +-if get_option('autostart') +- install_data(desktop_file, +- install: true, +- install_dir: join_paths(get_option('sysconfdir'), 'xdg/autostart')) +-endif ++ command: ['intltool-merge', '--quiet', '--desktop-style', '--utf8', join_paths(meson.source_root(), 'po'), '@INPUT@', '@OUTPUT@'], ++ install: get_option('autostart'), ++ install_dir: join_paths(get_option('sysconfdir'), 'xdg/autostart')) + + if install_systemd_user_services + configure_file( +diff --git a/src/tracker-extract/meson.build b/src/tracker-extract/meson.build +index 239907179..aec37bfcc 100644 +--- a/src/tracker-extract/meson.build ++++ b/src/tracker-extract/meson.build +@@ -189,13 +189,9 @@ desktop_file_untranslated = configure_file( + desktop_file = custom_target('tracker-extract-desktop-file', + input: desktop_file_untranslated, + output: 'tracker-extract.desktop', +- command: ['intltool-merge', '--quiet', '--desktop-style', '--utf8', join_paths(meson.source_root(), 'po'), '@INPUT@', '@OUTPUT@']) +- +-if get_option('autostart') +- install_data(desktop_file, +- install: true, +- install_dir: join_paths(get_option('sysconfdir'), 'xdg/autostart')) +-endif ++ command: ['intltool-merge', '--quiet', '--desktop-style', '--utf8', join_paths(meson.source_root(), 'po'), '@INPUT@', '@OUTPUT@'], ++ install: get_option('autostart'), ++ install_dir: join_paths(get_option('sysconfdir'), 'xdg/autostart')) + + if install_systemd_user_services + configure_file( +-- +2.27.0 + diff --git a/app-misc/tracker-miners/tracker-miners-2.3.5.ebuild b/app-misc/tracker-miners/tracker-miners-2.3.5.ebuild new file mode 100644 index 000000000000..a6259ef3ba7e --- /dev/null +++ b/app-misc/tracker-miners/tracker-miners-2.3.5.ebuild @@ -0,0 +1,162 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +PYTHON_COMPAT=( python3_{6,7,8} ) + +inherit gnome.org gnome2-utils meson python-any-r1 systemd xdg + +DESCRIPTION="Collection of data extractors for Tracker/Nepomuk" +HOMEPAGE="https://wiki.gnome.org/Projects/Tracker" + +LICENSE="GPL-2+ LGPL-2.1+" +SLOT="0" +IUSE="cue exif ffmpeg gif gsf +gstreamer iptc +iso +jpeg +pdf +playlist raw +rss seccomp test +tiff upower +xml xmp xps" + +REQUIRED_USE="cue? ( gstreamer )" # cue is currently only supported via gstreamer, not ffmpeg +RESTRICT="!test? ( test )" + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" + +# 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) +RDEPEND=" + >=dev-libs/glib-2.46:2 + >=app-misc/tracker-2.2.0:0= + gstreamer? ( + media-libs/gstreamer:1.0 + media-libs/gst-plugins-base:1.0 + media-plugins/gst-plugins-meta:1.0 ) + !gstreamer? ( + ffmpeg? ( media-video/ffmpeg:0= ) ) + + >=sys-apps/dbus-1.3.1 + xmp? ( >=media-libs/exempi-2.1.0:= ) + raw? ( media-libs/gexiv2 ) + >=dev-libs/icu-4.8.1.2:= + cue? ( media-libs/libcue:= ) + exif? ( >=media-libs/libexif-0.6 ) + gsf? ( >=gnome-extra/libgsf-1.14.24:= ) + xps? ( app-text/libgxps ) + iptc? ( media-libs/libiptcdata ) + jpeg? ( virtual/jpeg:0 ) + iso? ( >=sys-libs/libosinfo-0.2.10 ) + >=media-libs/libpng-1.2:0= + seccomp? ( >=sys-libs/libseccomp-2.0 ) + tiff? ( media-libs/tiff:0 ) + xml? ( >=dev-libs/libxml2-2.6 ) + pdf? ( >=app-text/poppler-0.16.0[cairo] ) + playlist? ( >=dev-libs/totem-pl-parser-3:= ) + upower? ( >=sys-power/upower-0.9.0 ) + sys-libs/zlib:0 + gif? ( media-libs/giflib:= ) + + rss? ( >=net-libs/libgrss-0.7:0 ) + app-arch/gzip +" +DEPEND="${RDEPEND}" +BDEPEND=" + dev-util/glib-utils + dev-util/gdbus-codegen + + >=dev-util/intltool-0.40.0 + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig + test? ( ${PYTHON_DEPS} + gstreamer? ( + media-libs/gstreamer:1.0[introspection] + || ( media-plugins/gst-plugins-libav:1.0 + media-plugins/gst-plugins-openh264:1.0 ) + ) ) +" +# intltool-merge manually called in meson.build in 2.3.5; might be properly gone by 3.0 +RDEPEND="${RDEPEND} + !>=app-misc/tracker-miners-2.99 +" # 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 + +PATCHES=( + "${FILESDIR}"/${PV}-fix-autostart-build.patch +) + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_prepare() { + # Avoid gst-inspect calls that may trigger sandbox; instead assume the detection will succeed and add the needed test deps for that + if use gstreamer; then + sed -i -e 's:detect-h264-codec.sh:/bin/true:' tests/functional-tests/meson.build || die + else + sed -i -e 's:detect-h264-codec.sh:/bin/false:' tests/functional-tests/meson.build || die + fi + xdg_src_prepare + gnome2_environment_reset # sets gstreamer safety variables +} + +src_configure() { + local media_extractor="none" + if use gstreamer ; then + media_extractor="gstreamer" + elif use ffmpeg ; then + media_extractor="libav" + fi + + local emesonargs=( + -Dtracker_core=system + + -Ddocs=true + -Dextract=true + -Dfunctional_tests=false # currently broken, may fare better in 2.2.3 or 2.3; if re-enabled re-add dconf test dep + #$(meson_use test functional_tests) + -Dminer_fs=true + $(meson_use rss miner_rss) + -Dwriteback=true + -Dabiword=true + -Ddvi=true + -Dicon=true + -Dmp3=true + -Dps=true + -Dtext=true + -Dunzip_ps_gz_files=true # spawns gunzip + + $(meson_feature cue) + $(meson_feature exif) + -Dflac=disabled # never use external flac extractor - gst-plugins-flac is for that; ffmpeg one is maybe worse, but that's non-default + $(meson_feature gif) + $(meson_feature gsf) + $(meson_feature iptc) + $(meson_feature iso) + $(meson_feature jpeg) + $(meson_feature pdf) + $(meson_feature playlist) + -Dpng=enabled + $(meson_feature raw) + $(meson_feature tiff) + -Dvorbis=disabled # never use external vorbis extractor - gst-plugins-base[vorbis] is for that; ffmpeg one is maybe worse, but that's non-default + $(meson_feature xml) + $(meson_feature xmp) + $(meson_feature xps) + + -Dbattery_detection=$(usex upower upower none) + -Dcharset_detection=icu # enca is a possibility, but right now we have tracker core always dep on icu and icu is preferred over enca + -Dgeneric_media_extractor=${media_extractor} + # gupnp gstreamer_backend is in bad state, upstream suggests to use discoverer, which is the default + -Dautostart=true # turn to false to co-exist with tracker-miners-3 + -Dsystemd_user_services="$(systemd_get_userunitdir)" + ) + meson_src_configure +} + +src_test() { + export GSETTINGS_BACKEND="dconf" # Tests require dconf and explicitly check for it (env_reset set it to "memory") + dbus-run-session meson test -C "${BUILD_DIR}" || die 'tests failed' +} + +pkg_postinst() { + xdg_pkg_postinst + gnome2_schemas_update +} + +pkg_postrm() { + xdg_pkg_postrm + gnome2_schemas_update +} |