commit:     0cb92221c6927133ae1bde831ea27d6617d2a7eb
Author:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 13 16:21:58 2019 +0000
Commit:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Wed Feb 13 22:53:17 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0cb92221

app-misc/tracker: bump to 2.1.7

Bug: https://bugs.gentoo.org/672308
Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>

 app-misc/tracker/Manifest                          |   1 +
 app-misc/tracker/files/2.1.7-doc-options.patch     |  66 ++++++++
 .../tracker/files/2.1.7-fix-library-symlinks.patch |  71 +++++++++
 .../tracker/files/2.1.7-glib-2.60-compat.patch     | 169 +++++++++++++++++++++
 .../files/2.1.7-prevent-stack-smashing.patch       |  39 +++++
 app-misc/tracker/files/2.1.7-test-fix.patch        |  49 ++++++
 app-misc/tracker/tracker-2.1.7.ebuild              |  94 ++++++++++++
 profiles/package.mask                              |   4 +
 8 files changed, 493 insertions(+)

diff --git a/app-misc/tracker/Manifest b/app-misc/tracker/Manifest
index c19d1c5b7f5..228b9799606 100644
--- a/app-misc/tracker/Manifest
+++ b/app-misc/tracker/Manifest
@@ -1 +1,2 @@
 DIST tracker-1.12.4.tar.xz 5051884 BLAKE2B 
99cc85fc4d49691eb0a73e4f1776d9971b5cbe5844478825e473137b4d7b13e2578065be497da57285abc2d3cf4c6d1ed1b077a01cd68dc093e18ddd7674c1f1
 SHA512 
e81af22733c7d80535c79e23a4b3edbbcf888eede1dff071d466518054e90d4c207af76bcb4d8c73dc20729ae2eab60444ca91ee7ae09e96c0da2fdab97752c1
+DIST tracker-2.1.7.tar.xz 2572740 BLAKE2B 
0db8379502a37d0fc0c4b905a55a8642011c76368a94609b71afa5b6d59fa8a9220c302588a8217ea8626faccedd6b62e8fc96b19d4fb2cbaf1b550fbc55cf0d
 SHA512 
75203af91ec43641caf2a3870100b8c5affb613e442e5a271edafe68ac7c6551256f288e435ce4fc8cb6f9ee0ea54871ebba90e085d0baeba4914815d3be15a0

diff --git a/app-misc/tracker/files/2.1.7-doc-options.patch 
b/app-misc/tracker/files/2.1.7-doc-options.patch
new file mode 100644
index 00000000000..9b25349f659
--- /dev/null
+++ b/app-misc/tracker/files/2.1.7-doc-options.patch
@@ -0,0 +1,66 @@
+From cff7f988fd2ed7894c3d16144e799d994637d3cf Mon Sep 17 00:00:00 2001
+From: Mart Raudsepp <l...@gentoo.org>
+Date: Wed, 13 Feb 2019 12:28:53 +0200
+Subject: [PATCH 1/5] build: Separate options for manpages install and gtk-doc
+ generation
+---
+ docs/meson.build  | 10 +++++++---
+ meson.build       |  6 +-----
+ meson_options.txt |  6 ++++--
+ 3 files changed, 12 insertions(+), 10 deletions(-)
+
+diff --git a/docs/meson.build b/docs/meson.build
+index 76e59797e..5e1d541bd 100644
+--- a/docs/meson.build
++++ b/docs/meson.build
+@@ -1,3 +1,7 @@
+-subdir('tools')
+-subdir('manpages')
+-subdir('reference')
++if get_option('man')
++  subdir('manpages')
++endif
++if get_option('gtk-doc')
++  subdir('tools')
++  subdir('reference')
++endif
+diff --git a/meson.build b/meson.build
+index 7d61fe1a7..0fda24151 100644
+--- a/meson.build
++++ b/meson.build
+@@ -320,11 +320,7 @@ typelib_dir = 
gobject_introspection.get_pkgconfig_variable('typelibdir',
+                                                            define_variable:  
[ 'libdir', libdir ])
+ 
+ subdir('src')
+-
+-if get_option('docs')
+-  subdir('docs')
+-endif
+-
++subdir('docs')
+ subdir('examples')
+ subdir('utils')
+ 
+diff --git a/meson_options.txt b/meson_options.txt
+index b36ba1d1e..0eb48aac4 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -1,11 +1,13 @@
+-option('docs', type: 'boolean', value: true,
+-       description: 'Enable the documentation')
+ option('fts', type: 'boolean', value: true,
+        description: 'Enable the Tracker full-text search feature')
+ option('functional_tests', type: 'boolean', value: true,
+        description: 'Enable the Tracker functional test suite')
++option('gtk-doc', type: 'boolean', value: true,
++       description: 'Generate API documentation with gtk-doc')
+ option('journal', type: 'boolean', value: true,
+        description: 'Enable database journal backup mechanism')
++option('man', type: 'boolean', value: true,
++       description: 'Install man pages')
+ 
+ option('network_manager', type: 'combo', choices: ['auto', 'no', 'yes'], 
value: 'auto',
+        description: 'Enable connection detection through NetworkManager')
+-- 
+2.17.0
+

diff --git a/app-misc/tracker/files/2.1.7-fix-library-symlinks.patch 
b/app-misc/tracker/files/2.1.7-fix-library-symlinks.patch
new file mode 100644
index 00000000000..85ddb6baa22
--- /dev/null
+++ b/app-misc/tracker/files/2.1.7-fix-library-symlinks.patch
@@ -0,0 +1,71 @@
+From d52a7bed9fdeef77bdcafd66c748adce14fde42d Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steff...@gmail.com>
+Date: Tue, 6 Nov 2018 07:11:37 +0000
+Subject: [PATCH 5/5] build: Restore right soversion to libraries
+
+The previous change did not leave the expected .0 symlinks.
+
+'soversion' is the actual version linked against. To match the scheme
+used by libtool, we need to give the libraries a 'version' as well.
+
+(cherry picked from commit 282cd5aa85852cc7f9e603dae435f6b528c4712a)
+---
+ meson.build                               | 3 ++-
+ src/libtracker-control/meson.build        | 1 +
+ src/libtracker-miner/meson.build          | 1 +
+ src/libtracker-sparql-backend/meson.build | 1 +
+ 4 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 0fda24151..593b9db44 100644
+--- a/meson.build
++++ b/meson.build
+@@ -15,7 +15,8 @@ tracker_interface_age = 0
+ tracker_binary_age = 100 * tracker_minor_version + tracker_micro_version - 
tracker_interface_age
+ 
+ # This the .Z used in libtracker-sparql-2.0.so.Z
+-soversion = '0.@0@.@1@'.format(tracker_binary_age - tracker_interface_age, 
tracker_interface_age)
++soversion = '0'
++libversion = '@0@.@1@.@2@'.format(soversion, tracker_binary_age - 
tracker_interface_age, tracker_interface_age)
+ 
+ libdir = join_paths(get_option('prefix'), get_option('libdir'))
+ datadir = join_paths(get_option('prefix'), get_option('datadir'))
+diff --git a/src/libtracker-control/meson.build 
b/src/libtracker-control/meson.build
+index 81578e306..533ac538e 100644
+--- a/src/libtracker-control/meson.build
++++ b/src/libtracker-control/meson.build
+@@ -10,6 +10,7 @@ libtracker_control = library('tracker-control-' + 
tracker_api_version,
+     tracker_common_enum_header,
+     c_args: tracker_c_args,
+     soversion: soversion,
++    version: libversion,
+     install: true,
+     install_rpath: tracker_internal_libs_dir,
+     # This doesn't depend on tracker_common_dep because of
+diff --git a/src/libtracker-miner/meson.build 
b/src/libtracker-miner/meson.build
+index e53b21cf9..49c879057 100644
+--- a/src/libtracker-miner/meson.build
++++ b/src/libtracker-miner/meson.build
+@@ -60,6 +60,7 @@ libtracker_miner = library(
+     miner_enums[0], miner_enums[1], miner_sources,
+     c_args: tracker_c_args,
+     soversion: soversion,
++    version: libversion,
+     install: true,
+     install_rpath: tracker_internal_libs_dir,
+     # This doesn't depend on tracker_common_dep because of
+diff --git a/src/libtracker-sparql-backend/meson.build 
b/src/libtracker-sparql-backend/meson.build
+index c8415efb8..e54333bec 100644
+--- a/src/libtracker-sparql-backend/meson.build
++++ b/src/libtracker-sparql-backend/meson.build
+@@ -8,6 +8,7 @@ libtracker_sparql = library('tracker-sparql-' + 
tracker_api_version,
+     'tracker-backend.vala',
+ 
+     soversion: soversion,
++    version: libversion,
+ 
+     install: true,
+     install_rpath: tracker_internal_libs_dir,
+-- 
+2.17.0
+

diff --git a/app-misc/tracker/files/2.1.7-glib-2.60-compat.patch 
b/app-misc/tracker/files/2.1.7-glib-2.60-compat.patch
new file mode 100644
index 00000000000..93737f79857
--- /dev/null
+++ b/app-misc/tracker/files/2.1.7-glib-2.60-compat.patch
@@ -0,0 +1,169 @@
+From 43b10233d4cce38230c357d885662291d2e5e978 Mon Sep 17 00:00:00 2001
+From: Iain Lane <ia...@gnome.org>
+Date: Mon, 11 Feb 2019 15:42:14 +0000
+Subject: [PATCH 4/5] libtracker-data: Don't rely on hash table iteration order
+ being stable
+
+This is the same problem that was fixed by
+c58f7aa419e2c3a69fa7fe583a1fd5e0b9bd0839 on master. Instead of relying
+on hash table iteration being stable, pass the GVariantBuilder down and
+add directly to it in the right order.
+
+Forwarded: https://gitlab.gnome.org/GNOME/tracker/merge_requests/55
+---
+ .../tracker-sparql-pattern.vala               |  4 +--
+ src/libtracker-data/tracker-sparql-query.vala | 31 ++++++++++++-------
+ 2 files changed, 21 insertions(+), 14 deletions(-)
+
+diff --git a/src/libtracker-data/tracker-sparql-pattern.vala 
b/src/libtracker-data/tracker-sparql-pattern.vala
+index e03ed6f16..033b138a5 100644
+--- a/src/libtracker-data/tracker-sparql-pattern.vala
++++ b/src/libtracker-data/tracker-sparql-pattern.vala
+@@ -542,7 +542,7 @@ class Tracker.Sparql.Pattern : Object {
+               } else if (accept (SparqlTokenType.BLANK_NODE)) {
+                       // _:foo
+                       expect (SparqlTokenType.COLON);
+-                      result = query.generate_bnodeid (get_last_string 
().substring (1));
++                      result = query.generate_bnodeid (get_last_string 
().substring (1), null);
+               } else if (current () == SparqlTokenType.STRING_LITERAL1) {
+                       result = expression.parse_string_literal ();
+               } else if (current () == SparqlTokenType.STRING_LITERAL2) {
+@@ -569,7 +569,7 @@ class Tracker.Sparql.Pattern : Object {
+               } else if (current () == SparqlTokenType.OPEN_BRACKET) {
+                       next ();
+ 
+-                      result = query.generate_bnodeid (null);
++                      result = query.generate_bnodeid (null, null);
+ 
+                       string old_subject = current_subject;
+                       bool old_subject_is_var = current_subject_is_var;
+diff --git a/src/libtracker-data/tracker-sparql-query.vala 
b/src/libtracker-data/tracker-sparql-query.vala
+index 7944e78e5..69a7e9eba 100644
+--- a/src/libtracker-data/tracker-sparql-query.vala
++++ b/src/libtracker-data/tracker-sparql-query.vala
+@@ -284,7 +284,7 @@ public class Tracker.Sparql.Query : Object {
+                       sha1, sha1.substring (8), sha1.substring (12), 
sha1.substring (16), sha1.substring (20));
+       }
+ 
+-      internal string generate_bnodeid (string? user_bnodeid) {
++      internal string generate_bnodeid (string? user_bnodeid, 
GLib.VariantBuilder? builder) {
+               // user_bnodeid is NULL for anonymous nodes
+               if (user_bnodeid == null) {
+                       return ":%d".printf (++bnodeid);
+@@ -310,6 +310,9 @@ public class Tracker.Sparql.Query : Object {
+                               }
+ 
+                               blank_nodes.insert (user_bnodeid, uri);
++
++                              if (builder != null)
++                                      builder.add ("{ss}", user_bnodeid, uri);
+                       }
+ 
+                       return uri;
+@@ -774,7 +777,7 @@ public class Tracker.Sparql.Query : Object {
+                       for (int i = 0; i < n_solutions; i++) {
+                               solution.solution_index = i;
+                               set_location (delete_location);
+-                              parse_construct_triples_block (solution, 
UpdateType.DELETE);
++                              parse_construct_triples_block (solution, 
UpdateType.DELETE, null);
+                               data_update.update_buffer_might_flush ();
+                       }
+ 
+@@ -790,16 +793,20 @@ public class Tracker.Sparql.Query : Object {
+                       for (int i = 0; i < n_solutions; i++) {
+                               uuid_generate (base_uuid);
+                               blank_nodes = new HashTable<string,string>.full 
(str_hash, str_equal, g_free, g_free);
++                              if (update_blank_nodes != null)
++                                      update_blank_nodes.open (new 
GLib.VariantType("a{ss}"));
++
+                               solution.solution_index = i;
+ 
+                               set_location (insert_location);
+                               parse_construct_triples_block (solution,
+                                                              insert_is_update 
?
+                                                              
UpdateType.UPDATE :
+-                                                             
UpdateType.INSERT);
++                                                             
UpdateType.INSERT,
++                                                             
update_blank_nodes);
+ 
+                               if (blank && update_blank_nodes != null) {
+-                                      update_blank_nodes.add_value 
(blank_nodes);
++                                      update_blank_nodes.close ();
+                               }
+ 
+                               data_update.update_buffer_might_flush ();
+@@ -870,7 +877,7 @@ public class Tracker.Sparql.Query : Object {
+               }
+       }
+ 
+-      private void parse_construct_triples_block (Solution var_value_map, 
UpdateType type) throws Sparql.Error, DateError {
++      private void parse_construct_triples_block (Solution var_value_map, 
UpdateType type, GLib.VariantBuilder? builder) throws Sparql.Error, DateError {
+               expect (SparqlTokenType.OPEN_BRACE);
+ 
+               while (current () != SparqlTokenType.CLOSE_BRACE) {
+@@ -878,7 +885,7 @@ public class Tracker.Sparql.Query : Object {
+ 
+                       if (accept (SparqlTokenType.GRAPH)) {
+                               var old_graph = current_graph;
+-                              current_graph = parse_construct_var_or_term 
(var_value_map, type, out is_null);
++                              current_graph = parse_construct_var_or_term 
(var_value_map, type, out is_null, builder);
+ 
+                               if (is_null) {
+                                       throw get_error ("'null' not supported 
for graph");
+@@ -887,7 +894,7 @@ public class Tracker.Sparql.Query : Object {
+                               expect (SparqlTokenType.OPEN_BRACE);
+ 
+                               while (current () != 
SparqlTokenType.CLOSE_BRACE) {
+-                                      current_subject = 
parse_construct_var_or_term (var_value_map, type, out is_null);
++                                      current_subject = 
parse_construct_var_or_term (var_value_map, type, out is_null, builder);
+ 
+                                       if (is_null) {
+                                               throw get_error ("'null' not 
supported for subject");
+@@ -906,7 +913,7 @@ public class Tracker.Sparql.Query : Object {
+ 
+                               optional (SparqlTokenType.DOT);
+                       } else {
+-                              current_subject = parse_construct_var_or_term 
(var_value_map, type, out is_null);
++                              current_subject = parse_construct_var_or_term 
(var_value_map, type, out is_null, builder);
+ 
+                               if (is_null) {
+                                       throw get_error ("'null' not supported 
for subject");
+@@ -925,7 +932,7 @@ public class Tracker.Sparql.Query : Object {
+ 
+       bool anon_blank_node_open = false;
+ 
+-      private string? parse_construct_var_or_term (Solution var_value_map, 
UpdateType type, out bool is_null) throws Sparql.Error, DateError {
++      private string? parse_construct_var_or_term (Solution var_value_map, 
UpdateType type, out bool is_null, GLib.VariantBuilder? builder) throws 
Sparql.Error, DateError {
+               string result = "";
+               is_null = false;
+               if (current () == SparqlTokenType.VAR) {
+@@ -947,7 +954,7 @@ public class Tracker.Sparql.Query : Object {
+               } else if (accept (SparqlTokenType.BLANK_NODE)) {
+                       // _:foo
+                       expect (SparqlTokenType.COLON);
+-                      result = generate_bnodeid (get_last_string ().substring 
(1));
++                      result = generate_bnodeid (get_last_string ().substring 
(1), builder);
+               } else if (current () == SparqlTokenType.MINUS) {
+                       next ();
+                       if (current () == SparqlTokenType.INTEGER ||
+@@ -994,7 +1001,7 @@ public class Tracker.Sparql.Query : Object {
+                       anon_blank_node_open = true;
+                       next ();
+ 
+-                      result = generate_bnodeid (null);
++                      result = generate_bnodeid (null, builder);
+ 
+                       string old_subject = current_subject;
+                       bool old_subject_is_var = current_subject_is_var;
+@@ -1061,7 +1068,7 @@ public class Tracker.Sparql.Query : Object {
+ 
+       private void parse_construct_object (Solution var_value_map, UpdateType 
type) throws Sparql.Error, DateError {
+               bool is_null = false;
+-              string object = parse_construct_var_or_term (var_value_map, 
type, out is_null);
++              string object = parse_construct_var_or_term (var_value_map, 
type, out is_null, null);
+               var data = manager.get_data ();
+               if (current_subject == null || current_predicate == null || 
object == null) {
+                       // the SPARQL specification says that triples 
containing unbound variables
+-- 
+2.17.0
+

diff --git a/app-misc/tracker/files/2.1.7-prevent-stack-smashing.patch 
b/app-misc/tracker/files/2.1.7-prevent-stack-smashing.patch
new file mode 100644
index 00000000000..1f25f115d41
--- /dev/null
+++ b/app-misc/tracker/files/2.1.7-prevent-stack-smashing.patch
@@ -0,0 +1,39 @@
+From 4238b0a27a3621f4181d38821a4eaee9f0ac1244 Mon Sep 17 00:00:00 2001
+From: Andrea Azzarone <andrea.azzar...@canonical.com>
+Date: Fri, 18 Jan 2019 16:14:57 +0000
+Subject: [PATCH 3/5] tracker-monitor: Prevent stack smashing
+
+Make sure to use GPOINTER_TO_UINT when using g_hash_table_lookup_extended() to
+prevent stack smashing. This will make sure that in the architectures where
+sizeof(GFileMonitorEvent) < sizeof(gpointer), g_hash_table_lookup_extended()
+will not write more bytes than prev_event_type can hold.
+
+Bug-Upstream: https://gitlab.gnome.org/GNOME/tracker/issues/71
+Origin: upstream, commit:63c0a5d4413e53cb76089fda6f56b2d623c5de15
+Applied-Upstream: 2.2.0
+---
+ src/libtracker-miner/tracker-monitor.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/src/libtracker-miner/tracker-monitor.c 
b/src/libtracker-miner/tracker-monitor.c
+index 54cd3e8fb..f2431b646 100644
+--- a/src/libtracker-miner/tracker-monitor.c
++++ b/src/libtracker-miner/tracker-monitor.c
+@@ -611,10 +611,12 @@ flush_cached_event (TrackerMonitor *monitor,
+                     GFile          *file,
+                     gboolean        is_directory)
+ {
+-      GFileMonitorEvent prev_event_type;
++      gpointer value = NULL;
+ 
+       if (g_hash_table_lookup_extended (monitor->priv->cached_events,
+-                                        file, NULL, (gpointer*) 
&prev_event_type)) {
++                                        file, NULL, &value)) {
++              GFileMonitorEvent prev_event_type = GPOINTER_TO_UINT (value);
++
+               g_hash_table_remove (monitor->priv->cached_events, file);
+               emit_signal_for_event (monitor, prev_event_type,
+                                      is_directory, file, NULL);
+-- 
+2.17.0
+

diff --git a/app-misc/tracker/files/2.1.7-test-fix.patch 
b/app-misc/tracker/files/2.1.7-test-fix.patch
new file mode 100644
index 00000000000..b3dedaa9e6e
--- /dev/null
+++ b/app-misc/tracker/files/2.1.7-test-fix.patch
@@ -0,0 +1,49 @@
+From 77059dd4b98f422c1e474b9ee53cc05dde875cce Mon Sep 17 00:00:00 2001
+From: Mart Raudsepp <l...@gentoo.org>
+Date: Wed, 13 Feb 2019 20:09:45 +0200
+Subject: [PATCH 2/5] libtracker-common: improve test_path_evaluate_name
+ environment handling
+
+Under some environments $PWD might not point where we expect, so simply
+use g_get_current_dir() instead.
+g_getenv() is documented to return a pointer that may get overwritten
+by subsequent calls to g_getenv, g_setenv of g_unsetenv. As even after
+removing the second g_getenv, there's still g_setenv calls, take a copy.
+---
+ tests/libtracker-common/tracker-file-utils-test.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/tests/libtracker-common/tracker-file-utils-test.c 
b/tests/libtracker-common/tracker-file-utils-test.c
+index d1ddf3004..71a82a5c8 100644
+--- a/tests/libtracker-common/tracker-file-utils-test.c
++++ b/tests/libtracker-common/tracker-file-utils-test.c
+@@ -131,14 +131,14 @@ test_path_list_filter_duplicates_with_exceptions ()
+ static void
+ test_path_evaluate_name (void)
+ {
+-      gchar *result, *expected;
++      gchar *result, *expected, *pwd, *home;
+ 
+-      const gchar *home = g_getenv ("HOME");
+-      const gchar *pwd = g_getenv ("PWD");
+ 
+       const gchar *test = "/one/two";
+       gchar *parent_dir;
+ 
++      home = g_strdup (g_getenv ("HOME"));
++      pwd = g_get_current_dir ();
+       g_setenv ("TEST_TRACKER_DIR", test, TRUE);
+ 
+ 
+@@ -216,6 +216,8 @@ test_path_evaluate_name (void)
+       result = tracker_path_evaluate_name (tracker_test_helpers_get_nonutf8 
());
+       g_assert_cmpstr (result, ==, tracker_test_helpers_get_nonutf8 ());
+ 
++      g_free (home);
++      g_free (pwd);
+       g_unsetenv ("TEST_TRACKER_DIR");
+ }
+ 
+-- 
+2.17.0
+

diff --git a/app-misc/tracker/tracker-2.1.7.ebuild 
b/app-misc/tracker/tracker-2.1.7.ebuild
new file mode 100644
index 00000000000..d3a2a269ab4
--- /dev/null
+++ b/app-misc/tracker/tracker-2.1.7.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python3_{4,5,6,7} )
+
+inherit bash-completion-r1 gnome.org linux-info meson python-any-r1 systemd 
vala xdg
+
+DESCRIPTION="A tagging metadata database, search tool and indexer"
+HOMEPAGE="https://wiki.gnome.org/Projects/Tracker";
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="0/2.0"
+IUSE="gtk-doc networkmanager stemmer"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+
+# In 2.2.0 util-linux should only be necessary if glib is older than 2.52 at 
compile-time
+RDEPEND="
+       >=dev-libs/glib-2.46:2
+       >=sys-apps/dbus-1.3.2
+       >=dev-libs/gobject-introspection-1.54:=
+       >=dev-libs/icu-4.8.1.2:=
+       >=dev-libs/json-glib-1.0
+       >=net-libs/libsoup-2.40.1:2.4
+       >=dev-libs/libxml2-2.7
+       >=dev-db/sqlite-3.20.0
+       networkmanager? ( >=net-misc/networkmanager-0.8 )
+       stemmer? ( dev-libs/snowball-stemmer )
+       sys-apps/util-linux
+"
+DEPEND="${RDEPEND}
+       dev-util/glib-utils
+       >=dev-util/intltool-0.40.0
+       $(vala_depend)
+       gtk-doc? ( >=dev-util/gtk-doc-1.8
+               app-text/docbook-xml-dtd:4.1.2 )
+       >=sys-devel/gettext-0.19.8
+       virtual/pkgconfig
+       ${PYTHON_DEPS}
+" # g-ir-merge needs py3; functional tests need py2, so disabled for now due 
to mixup
+# intltool-merge manually called in meson.build in 2.1.7; properly gone by 
2.2.0
+
+PATCHES=(
+       "${FILESDIR}"/${PV}-doc-options.patch # 
https://gitlab.gnome.org/GNOME/tracker/merge_requests/58
+       "${FILESDIR}"/${PV}-test-fix.patch # 
https://gitlab.gnome.org/GNOME/tracker/merge_requests/59
+       "${FILESDIR}"/${PV}-prevent-stack-smashing.patch
+       "${FILESDIR}"/${PV}-glib-2.60-compat.patch
+       "${FILESDIR}"/${PV}-fix-library-symlinks.patch
+)
+
+function inotify_enabled() {
+       if linux_config_exists; then
+               if ! linux_chkconfig_present INOTIFY_USER; then
+                       ewarn "You should enable the INOTIFY support in your 
kernel."
+                       ewarn "Check the 'Inotify support for userland' under 
the 'File systems'"
+                       ewarn "option. It is marked as CONFIG_INOTIFY_USER in 
the config"
+                       die 'missing CONFIG_INOTIFY'
+               fi
+       else
+               einfo "Could not check for INOTIFY support in your kernel."
+       fi
+}
+
+pkg_setup() {
+       linux-info_pkg_setup
+       inotify_enabled
+
+       python-any-r1_pkg_setup
+}
+
+src_prepare() {
+       xdg_src_prepare
+       vala_src_prepare
+}
+
+src_configure() {
+       local emesonargs=(
+               -Dfts=true
+               -Dfunctional_tests=false # python2, but g-ir-merge needs py3; 
https://gitlab.gnome.org/GNOME/tracker/merge_requests/40
+               $(meson_use gtk-doc)
+               -Dman=true
+               -Dnetwork_manager=$(usex networkmanager yes no)
+               -Dstemmer=$(usex stemmer yes no)
+               -Dunicode_support=icu
+               -Dbash_completion="$(get_bashcompdir)"
+               -Dsystemd_user_services="$(systemd_get_userunitdir)"
+       )
+       meson_src_configure
+}
+
+src_test() {
+       dbus-run-session meson test -C "${BUILD_DIR}" || die 'tests failed'
+}

diff --git a/profiles/package.mask b/profiles/package.mask
index 5fbf2892e08..5829d0da898 100644
--- a/profiles/package.mask
+++ b/profiles/package.mask
@@ -29,6 +29,10 @@
 
 #--- END OF EXAMPLES ---
 
+# Mart Raudsepp <l...@gentoo.org> (13 Feb 2019)
+# Ongoing preparations for clean tracker-2 bumps
+>=app-misc/tracker-2.1.7
+
 # Michał Górny <mgo...@gentoo.org> (13 Feb 2019)
 # Release candidate, masked for testing.
 =sys-devel/llvm-common-8.0.0_rc*

Reply via email to