summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-misc/tracker-miners/Manifest1
-rw-r--r--app-misc/tracker-miners/tracker-miners-3.5.0_rc.ebuild179
2 files changed, 180 insertions, 0 deletions
diff --git a/app-misc/tracker-miners/Manifest b/app-misc/tracker-miners/Manifest
index 9f212c14260d..96155f218b6b 100644
--- a/app-misc/tracker-miners/Manifest
+++ b/app-misc/tracker-miners/Manifest
@@ -1 +1,2 @@
DIST tracker-miners-3.4.3.tar.xz 7244744 BLAKE2B e018e8e80c5b87eda7ef50b00fe87b4d555806a1d630c147dd4c5a11bdf7140c28f68ef0724ec281f11acd5b63d9857eae8d23e51ed5607136c90d783c7a205b SHA512 b7287bd14be9c14be582109b660166b38c515199b809503a7b06e411f4cc1e0c1f59ce95ab70e1b404d7440b7f23312f1150a4e033e38cabfc0f396e3c1edc3c
+DIST tracker-miners-3.5.0.rc.tar.xz 7503452 BLAKE2B 769c7a28deeb1e8698bde22918b0b24c68c11aca2d690297ec55d891b6fcb978640fa50c5558b8f0a38e437ca9d5b893fb49f50d30c12acea207d2bdf6393ca6 SHA512 43285cdd0d43c19934995dcd1479dc7cd596eaa2e3e6be010c8789acac9f0bdec2930bec60d78ee551024f4cdb3789233e9e275eaec9157aa922f3f5d272db54
diff --git a/app-misc/tracker-miners/tracker-miners-3.5.0_rc.ebuild b/app-misc/tracker-miners/tracker-miners-3.5.0_rc.ebuild
new file mode 100644
index 000000000000..0ae7be5286e0
--- /dev/null
+++ b/app-misc/tracker-miners/tracker-miners-3.5.0_rc.ebuild
@@ -0,0 +1,179 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit flag-o-matic 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"
+SRC_URI="https://download.gnome.org/sources/${PN}/3.5/${PN}-3.5.0.rc.tar.xz"
+S="${WORKDIR}/${PN}-3.5.0.rc"
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="3"
+IUSE="cue exif ffmpeg gif gsf +gstreamer iptc +iso +jpeg networkmanager +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 ~loong ~ppc ~ppc64 ~riscv ~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.70:2
+ >=app-misc/tracker-3.4.0:3
+
+ >=sys-apps/dbus-1.3.1
+ xmp? ( >=media-libs/exempi-2.1.0:= )
+ raw? ( media-libs/gexiv2 )
+ 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? ( media-libs/libjpeg-turbo:0= )
+ iso? ( >=sys-libs/libosinfo-1.10.0-r1 )
+ >=media-libs/libpng-1.2:0=
+ seccomp? ( >=sys-libs/libseccomp-2.0 )
+ tiff? ( media-libs/tiff:= )
+ xml? ( >=dev-libs/libxml2-2.6 )
+ pdf? ( >=app-text/poppler-0.16.0:=[cairo] )
+ playlist? ( >=dev-libs/totem-pl-parser-3:= )
+ sys-apps/util-linux
+
+ gif? ( media-libs/giflib:= )
+
+ networkmanager? ( net-misc/networkmanager )
+
+ rss? ( >=net-libs/libgrss-0.7:0 )
+ app-arch/gzip
+
+ upower? ( >=sys-power/upower-0.9.0:= )
+
+ >=dev-libs/icu-4.8.1.1:=
+
+ gstreamer? (
+ >=media-libs/gstreamer-1.20:1.0
+ >=media-libs/gst-plugins-base-1.20:1.0
+ >=media-plugins/gst-plugins-meta-1.20:1.0 )
+ !gstreamer? (
+ ffmpeg? ( media-video/ffmpeg:0= ) )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-text/asciidoc
+ dev-libs/libxslt
+ dev-util/glib-utils
+ dev-util/gdbus-codegen
+
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ test? (
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep 'dev-python/pygobject[${PYTHON_USEDEP}]')
+ $(python_gen_any_dep 'dev-python/tappy[${PYTHON_USEDEP}]')
+ gstreamer? (
+ media-libs/gstreamer:1.0[introspection]
+ || (
+ media-plugins/gst-plugins-libav:1.0
+ media-plugins/gst-plugins-openh264:1.0
+ )
+ )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/3.4.2-functional-tests-Run-png-region-of-interest-only-if-.patch
+)
+
+python_check_deps() {
+ python_has_version -b \
+ "dev-python/pygobject[${PYTHON_USEDEP}]" \
+ "dev-python/tappy[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # 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
+ gnome2_environment_reset # sets gstreamer safety variables
+}
+
+src_configure() {
+ append-cflags -DTRACKER_DEBUG -DG_DISABLE_CAST_CHECKS
+
+ local media_extractor="none"
+ if use gstreamer ; then
+ media_extractor="gstreamer"
+ elif use ffmpeg ; then
+ media_extractor="libav"
+ fi
+
+ local emesonargs=(
+ -Dtracker_core=system
+
+ -Dman=true
+ -Dextract=true
+ $(meson_use test functional_tests)
+ $(meson_use test tests_tap_protocol)
+ -Dminer_fs=true
+ $(meson_use rss miner_rss)
+ -Dwriteback=true
+ -Dabiword=true
+ -Dicon=true
+ -Dmp3=true
+ -Dps=true
+ -Dtext=true
+ -Dunzip_ps_gz_files=true # spawns gunzip
+
+ $(meson_feature networkmanager network_manager)
+ $(meson_feature cue)
+ $(meson_feature exif)
+ $(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)
+ $(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
+ -Dsystemd_user_services_dir="$(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
+}