# Conditional build:
%bcond_without apidocs # API documentation
%bcond_without icu # libicu instead of libunistring [the latter broken since 3.1.1]
-%bcond_with libsoup3 # libsoup3 support
+%bcond_without libsoup2 # libsoup2 support module
+%bcond_without libsoup3 # libsoup3 support module
%bcond_with static_libs # static libraries
%bcond_without vala # Vala API
Summary: Tracker 3 - an indexing subsystem
Summary(pl.UTF-8): Tracker 3 - podsystem indeksujący
Name: tracker3
-Version: 3.3.1
+Version: 3.7.1
Release: 1
License: GPL v2+
Group: Applications
-Source0: https://download.gnome.org/sources/tracker/3.3/tracker-%{version}.tar.xz
-# Source0-md5: 77e1245c732eb54b2f53101d4e2cb0f4
+Source0: https://download.gnome.org/sources/tracker/3.7/tracker-%{version}.tar.xz
+# Source0-md5: 63357a4966867fa86b7f899283de075e
URL: https://wiki.gnome.org/Projects/Tracker
BuildRequires: asciidoc
BuildRequires: dbus-devel >= 1.3.1
BuildRequires: gettext-tools
+%{?with_apidocs:BuildRequires: gi-docgen}
BuildRequires: glib2-devel >= 1:2.52.0
BuildRequires: gobject-introspection-devel >= 0.10.0
-BuildRequires: graphviz
+%{?with_apidocs:BuildRequires: graphviz}
# dist tarballs contain pregenerated docs
#BuildRequires: hotdoc
BuildRequires: json-glib-devel >= 1.4
%{?with_icu:BuildRequires: libicu-devel >= 4.8.1.1}
-%{!?with_libsoup3:BuildRequires: libsoup-devel >= 2.40}
+%{?with_libsoup2:BuildRequires: libsoup-devel >= 2.40}
%{?with_libsoup3:BuildRequires: libsoup3-devel >= 2.99.2}
BuildRequires: libstemmer-devel
%{!?with_icu:BuildRequires: libunistring-devel}
BuildRequires: libuuid-devel
BuildRequires: libxml2-devel >= 1:2.6.31
BuildRequires: libxslt-progs
-BuildRequires: meson >= 0.51
+BuildRequires: meson >= 0.62
BuildRequires: ninja >= 1.5
BuildRequires: pkgconfig
BuildRequires: python3 >= 1:3.2
BuildRequires: python3-pygobject3
BuildRequires: rpm-build >= 4.6
-BuildRequires: rpmbuild(macros) >= 2.011
+BuildRequires: rpmbuild(macros) >= 2.029
BuildRequires: sqlite3-devel >= 3.35.2
BuildRequires: tar >= 1:1.22
%{?with_vala:BuildRequires: vala >= 2:0.18.0}
%{?with_libsoup3:BuildRequires: vala-libsoup3 >= 2.99.2}
+%{?with_apidocs:BuildRequires: xmlto}
BuildRequires: xz
BuildRequires: zlib-devel
Requires(post,postun): glib2 >= 1:2.52.0
Group: Libraries
Requires: glib2 >= 1:2.52.0
Requires: json-glib >= 1.4
-%{!?with_soup3:Requires: libsoup >= 2.40}
-%{?with_soup3:Requires: libsoup3 >= 2.99.2}
+%{?with_libsoup2:Requires: libsoup >= 2.40}
+%{?with_libsoup3:Requires: libsoup3 >= 2.99.2}
Requires: libxml2 >= 1:2.6.31
-Requires: sqlite3 >= 3.35.2
+Requires: sqlite3-libs >= 3.35.2
%description libs
Tracker 3 library.
Summary: Tracker 3 library API documentation
Summary(pl.UTF-8): Dokumentacja API biblioteki Trackera 3
Group: Documentation
-Requires: gtk-doc-common
BuildArch: noarch
%description apidocs
Summary(pl.UTF-8): Bashowe uzupełnianie parametrów dla polecenia tracker3
Group: Applications/Shells
Requires: %{name} = %{version}-%{release}
-Requires: bash-completion >= 2.0
+Requires: bash-completion >= 1:2.0
BuildArch: noarch
%description -n bash-completion-tracker3
%prep
%setup -q -n tracker-%{version}
-%if %{with libsoup3}
-%{__sed} -i -e 's/libsoup2\.found()/false/' meson.build src/libtracker-sparql/meson.build
-%else
-%{__sed} -i -e 's/libsoup3\.found()/false/' meson.build src/libtracker-sparql/meson.build
-%endif
-
%build
CPPFLAGS="%{rpmcppflags} -I/usr/include/libstemmer"
%meson build \
%{!?with_static_libs:--default-library=shared} \
-Dbash_completion_dir=%{bash_compdir} \
%{!?with_apidocs:-Ddocs=false} \
+ -Dsoup=%{?with_libsoup2:soup2%{?with_libsoup3:,}}%{?with_libsoup3:soup3} \
-Dsystemd_user_services_dir=%{systemduserunitdir} \
-Dunicode_support=%{?with_icu:icu}%{!?with_icu:unistring}
%{__rm} $RPM_BUILD_ROOT%{_libdir}/tracker-%{abiver}/libtracker-*.a
%endif
+%if %{with apidocs}
+install -d $RPM_BUILD_ROOT%{_gidocdir}
+%{__mv} $RPM_BUILD_ROOT%{_docdir}/Tracker-* $RPM_BUILD_ROOT%{_gidocdir}
+%endif
+
%find_lang tracker3
%clean
%files -f tracker3.lang
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/tracker3
+%attr(755,root,root) %{_bindir}/tracker3-endpoint
+%attr(755,root,root) %{_bindir}/tracker3-export
+%attr(755,root,root) %{_bindir}/tracker3-help
+%attr(755,root,root) %{_bindir}/tracker3-import
+%attr(755,root,root) %{_bindir}/tracker3-sparql
+%attr(755,root,root) %{_bindir}/tracker3-sql
%attr(755,root,root) %{_libexecdir}/tracker-xdg-portal-3
-%dir %{_libexecdir}/tracker3
-%attr(755,root,root) %{_libexecdir}/tracker3/endpoint
-%attr(755,root,root) %{_libexecdir}/tracker3/export
-%attr(755,root,root) %{_libexecdir}/tracker3/help
-%attr(755,root,root) %{_libexecdir}/tracker3/import
-%attr(755,root,root) %{_libexecdir}/tracker3/sparql
-%attr(755,root,root) %{_libexecdir}/tracker3/sql
%{_datadir}/dbus-1/services/org.freedesktop.portal.Tracker.service
%{_datadir}/tracker3
%{systemduserunitdir}/tracker-xdg-portal-3.service
%attr(755,root,root) %ghost %{_libdir}/libtracker-sparql-%{abiver}.so.0
%{_libdir}/girepository-1.0/Tracker-%{abiver}.typelib
%dir %{_libdir}/tracker-%{abiver}
+%if %{with libsoup2}
+%attr(755,root,root) %{_libdir}/tracker-%{abiver}/libtracker-http-soup2.so
+%endif
%if %{with libsoup3}
-%attr(755,root,root) %{_libdir}/tracker-%{abiver}/libtracker-remote-soup3.so
-%else
-%attr(755,root,root) %{_libdir}/tracker-%{abiver}/libtracker-remote-soup2.so
+%attr(755,root,root) %{_libdir}/tracker-%{abiver}/libtracker-http-soup3.so
%endif
+%attr(755,root,root) %{_libdir}/tracker-%{abiver}/libtracker-parser-libicu.so
%files devel
%defattr(644,root,root,755)
%files testutils
%defattr(644,root,root,755)
%dir %{_libdir}/tracker-%{abiver}/trackertestutils
+%attr(755,root,root) %{_libdir}/tracker-%{abiver}/trackertestutils/tracker-await-file
%attr(755,root,root) %{_libdir}/tracker-%{abiver}/trackertestutils/tracker-sandbox
%{_libdir}/tracker-%{abiver}/trackertestutils/*.py
+%{_libdir}/tracker-%{abiver}/trackertestutils/await_file
%{_pkgconfigdir}/tracker-testutils-%{abiver}.pc
%if %{with apidocs}
%files apidocs
%defattr(644,root,root,755)
-%{_datadir}/devhelp/books/Tracker
+%{_gidocdir}/Tracker-3.0
%endif
%files -n bash-completion-tracker3