From 29e83345c868ec128c9411452b2a03a6084d3b1b Mon Sep 17 00:00:00 2001 From: Mart Raudsepp Date: Wed, 27 Feb 2019 15:18:44 +0200 Subject: app-misc/tracker-miners: bump to 2.1.6, workaround gst sandbox issues Disables guarantee_metadata option by default, otherwise mainly just most of the patches we needed for 2.1.5 are included now, plus translation updates. Workaround gstreamer sandbox issues by avoiding the gst-inspect checking and patching the detection result to true or false, depending on if gstreamer is used or not. Theoretically the test should succeed always with ffmpeg, but not bothering to figure out if there is some USE flags on ffmpeg needed to ensure that or not, etc, so just skipping them with ffmpeg for the time being. Closes: https://bugs.gentoo.org/678442 Package-Manager: Portage-2.3.52, Repoman-2.3.12 Signed-off-by: Mart Raudsepp --- app-misc/tracker-miners/Manifest | 1 + .../files/2.1.6-cue-meson-fixes.patch | 67 ++++++++++ .../tracker-miners/tracker-miners-2.1.6.ebuild | 146 +++++++++++++++++++++ 3 files changed, 214 insertions(+) create mode 100644 app-misc/tracker-miners/files/2.1.6-cue-meson-fixes.patch create mode 100644 app-misc/tracker-miners/tracker-miners-2.1.6.ebuild (limited to 'app-misc/tracker-miners') diff --git a/app-misc/tracker-miners/Manifest b/app-misc/tracker-miners/Manifest index 30724f741a2..b60566f68f5 100644 --- a/app-misc/tracker-miners/Manifest +++ b/app-misc/tracker-miners/Manifest @@ -1 +1,2 @@ DIST tracker-miners-2.1.5.tar.xz 3455264 BLAKE2B 1e9149ae0767166fc8e936922e4e02d4391f7af3faf59525e32098fb10cb6c5f6970f13bdb35f675efc9f131672b3feb84cbdcd8d0f01c86d05880919fba463a SHA512 37bf6d44635843037613cfe681cd536a8b33ba34c092183d9d66289713deaaff5322d09028b447484e6bf72a01199c041fb295d6431d2f7cff3498ef8983f605 +DIST tracker-miners-2.1.6.tar.xz 3456848 BLAKE2B 60b4af9ea755b79c2d31150d744468c6b980238eef542b9be382316eaf7310e137c501f9f705319e203ac3fba11e554202f6d1ee8e5a1ebcdf9b0d59aaa5e380 SHA512 3ded014c98f7be2b610fbe76c3a2b006a9ec85b090d2d3ca3e943e89b58b520da291ebfebe9efd579fe330fd49fced8f792eeba3b8e56f91fd2358bdaff4cdf2 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 new file mode 100644 index 00000000000..07d6ae9b649 --- /dev/null +++ b/app-misc/tracker-miners/files/2.1.6-cue-meson-fixes.patch @@ -0,0 +1,67 @@ +From 5d24ba00a7735ab3b7b381a102dc5536c12c8133 Mon Sep 17 00:00:00 2001 +From: Ernestas Kulik +Date: Sun, 7 Oct 2018 11:40:41 +0300 +Subject: [PATCH 1/2] build: Fix libcue version comparison +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +It currently performs a string comparison, as opposed to using +version_compare(), which leads to results like +“unknown >= 2.0.0 == True” when the dependency was not found. + +Fixes https://gitlab.gnome.org/GNOME/tracker-miners/issues/32 + +(cherry picked from commit 6e281037a5f0abc12e5e8902e445f264200980b0) +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 4273638dd..c30ada4ed 100644 +--- a/meson.build ++++ b/meson.build +@@ -317,7 +317,7 @@ conf.set('GSTREAMER_BACKEND_DISCOVERER', gstreamer_backend_name == 'Discoverer') + conf.set('GSTREAMER_BACKEND_GUPNP_DLNA', gstreamer_backend_name == 'GUPnP-DLNA') + conf.set('HAVE_HAL', battery_detection_library_name == 'hal') + conf.set('HAVE_LIBCUE', libcue.found()) +-conf.set('HAVE_LIBCUE2', libcue.version() >= '2.0.0') ++conf.set('HAVE_LIBCUE2', libcue.version().version_compare('>= 2.0.0')) + conf.set('HAVE_LIBICU_CHARSET_DETECTION', charset_library_name == 'icu') + conf.set('HAVE_LIBEXIF', libexif.found()) + conf.set('HAVE_LIBIPTCDATA', libiptcdata.found()) +-- +2.17.0 + + +From ff6a076330ba1b5a383196795b18e2c069ac54c6 Mon Sep 17 00:00:00 2001 +From: Sam Thursfield +Date: Sun, 7 Oct 2018 23:42:28 +0200 +Subject: [PATCH 2/2] build: Fix breakage when libcue isn't found + +Commit 6e281037a5f0abc introduced a regression on systems where libcue +is not available. + +Fixes https://gitlab.gnome.org/GNOME/tracker-miners/issues/33 + +(cherry picked from commit fd0eb3cd98f279591cbe8635eadf42027dd5ddae) +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index c30ada4ed..28072646a 100644 +--- a/meson.build ++++ b/meson.build +@@ -317,7 +317,7 @@ conf.set('GSTREAMER_BACKEND_DISCOVERER', gstreamer_backend_name == 'Discoverer') + conf.set('GSTREAMER_BACKEND_GUPNP_DLNA', gstreamer_backend_name == 'GUPnP-DLNA') + conf.set('HAVE_HAL', battery_detection_library_name == 'hal') + conf.set('HAVE_LIBCUE', libcue.found()) +-conf.set('HAVE_LIBCUE2', libcue.version().version_compare('>= 2.0.0')) ++conf.set('HAVE_LIBCUE2', libcue.found() and libcue.version().version_compare('>= 2.0.0')) + conf.set('HAVE_LIBICU_CHARSET_DETECTION', charset_library_name == 'icu') + conf.set('HAVE_LIBEXIF', libexif.found()) + conf.set('HAVE_LIBIPTCDATA', libiptcdata.found()) +-- +2.17.0 + diff --git a/app-misc/tracker-miners/tracker-miners-2.1.6.ebuild b/app-misc/tracker-miners/tracker-miners-2.1.6.ebuild new file mode 100644 index 00000000000..5153b47c8e8 --- /dev/null +++ b/app-misc/tracker-miners/tracker-miners-2.1.6.ebuild @@ -0,0 +1,146 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6,3_7} ) + +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 flac gif gsf +gstreamer iptc +iso +jpeg libav +pdf +playlist raw +rss seccomp test +taglib +tiff upower +vorbis +xml xmp xps" + +REQUIRED_USE="cue? ( gstreamer )" # cue is currently only supported via gstreamer, not ffmpeg/libav + +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.1.0:= + gstreamer? ( + media-libs/gstreamer:1.0 + media-libs/gst-plugins-base:1.0 ) + !gstreamer? ( + ffmpeg? ( + libav? ( media-video/libav:0= ) + !libav? ( media-video/ffmpeg:0= ) ) ) + + >=sys-apps/dbus-1.3.1 + xmp? ( >=media-libs/exempi-2.1.0:= ) + flac? ( >=media-libs/flac-1.2.1 ) + 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 ) + vorbis? ( >=media-libs/libvorbis-0.22 ) + pdf? ( >=app-text/poppler-0.16.0[cairo] ) + taglib? ( >=media-libs/taglib-1.6 ) + 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} + dev-util/glib-utils + + >=dev-util/intltool-0.40.0 + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig + test? ( ${PYTHON_DEPS} + gstreamer? ( || ( media-plugins/gst-plugins-libav:1.0 + media-plugins/gst-plugins-openh264:1.0 ) ) ) +" +# intltool-merge manually called in meson.build in 2.1.5; might be properly gone by 2.2.0 (MR !29) + +PATCHES=( + "${FILESDIR}"/${PV}-cue-meson-fixes.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 + $(meson_use test functional_tests) + -Dminer_apps=true + -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 + + -Dcue=$(usex cue enabled disabled) + -Dexif=$(usex exif enabled disabled) + -Dflac=$(usex flac enabled disabled) + -Dgif=$(usex gif enabled disabled) + -Dgsf=$(usex gsf enabled disabled) + -Diptc=$(usex iptc enabled disabled) + -Diso=$(usex iso enabled disabled) + -Djpeg=$(usex jpeg enabled disabled) + -Dpdf=$(usex pdf enabled disabled) + -Dplaylist=$(usex playlist enabled disabled) + -Dpng=enabled + -Draw=$(usex raw enabled disabled) + -Dtaglib=$(usex taglib enabled disabled) + -Dtiff=$(usex tiff enabled disabled) + -Dvorbis=$(usex vorbis enabled disabled) + -Dxml=$(usex xml enabled disabled) + -Dxmp=$(usex xmp enabled disabled) + -Dxps=$(usex xps enabled disabled) + + -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 + -Dsystemd_user_services="$(systemd_get_userunitdir)" + ) + meson_src_configure +} + +src_test() { + dbus-run-session meson test -C "${BUILD_DIR}" || die 'tests failed' +} -- cgit v1.2.1