commit:     b5b579892433c8fafd8b528a63b5fd74592ab2fc
Author:     Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
AuthorDate: Sun May 27 12:39:16 2018 +0000
Commit:     Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
CommitDate: Sun May 27 12:47:01 2018 +0000
URL:        https://gitweb.gentoo.org/proj/gnome.git/commit/?id=b5b57989

gnome-base/nautilus: restore optional tracker support

Disable gtk-doc building as it seems broken.

Package-Manager: Portage-2.3.40, Repoman-2.3.9
Manifest-Sign-Key: 0x5A56C8CD0C13248A

 .../files/3.26.2-tracker-support-optional.patch    | 273 +++++++++++++++++++++
 gnome-base/nautilus/nautilus-3.26.2.ebuild         |  18 +-
 2 files changed, 284 insertions(+), 7 deletions(-)

diff --git a/gnome-base/nautilus/files/3.26.2-tracker-support-optional.patch 
b/gnome-base/nautilus/files/3.26.2-tracker-support-optional.patch
new file mode 100644
index 00000000..4363cbbf
--- /dev/null
+++ b/gnome-base/nautilus/files/3.26.2-tracker-support-optional.patch
@@ -0,0 +1,273 @@
+From 3e3d7621c6f8ec72e626701e3f55afc900a04a68 Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <[email protected]>
+Date: Sun, 27 May 2018 13:54:38 +0200
+Subject: [PATCH] Make tracker support optional
+
+---
+ config.h.meson                      |  1 +
+ meson.build                         | 15 ++++++++++++---
+ meson_options.txt                   |  5 +++++
+ src/meson.build                     | 21 +++++++++++++--------
+ src/nautilus-file-undo-operations.c |  4 ++++
+ src/nautilus-file.c                 |  2 ++
+ src/nautilus-files-view.c           |  4 ++++
+ src/nautilus-search-engine.c        | 14 ++++++++++++++
+ 8 files changed, 55 insertions(+), 11 deletions(-)
+
+diff --git a/config.h.meson b/config.h.meson
+index 4f5cb5848..58d71e96f 100644
+--- a/config.h.meson
++++ b/config.h.meson
+@@ -4,6 +4,7 @@
+ #mesondefine HAVE_EXEMPI
+ #mesondefine HAVE_EXIF
+ #mesondefine HAVE_SELINUX
++#mesondefine HAVE_TRACKER
+ #mesondefine ENABLE_DESKTOP
+ #mesondefine ENABLE_PACKAGEKIT
+ #mesondefine LOCALEDIR
+diff --git a/meson.build b/meson.build
+index 7b8f15cf5..b2f2ef438 100644
+--- a/meson.build
++++ b/meson.build
+@@ -81,9 +81,18 @@ if get_option ('enable-selinux')
+     conf.set10 ('HAVE_SELINUX', true)
+ endif
+ 
+-tracker_sparql = dependency ('tracker-sparql-2.0', required: false)
+-if not tracker_sparql.found()
+-  tracker_sparql = dependency ('tracker-sparql-1.0')
++tracker_api = get_option ('tracker')
++if tracker_api == 'disabled'
++    # pass
++elif tracker_api == 'auto'
++    tracker_sparql = dependency ('tracker-sparql-2.0', required: false)
++    if not tracker_sparql.found()
++        tracker_sparql = dependency ('tracker-sparql-1.0')
++    endif
++    conf.set10 ('HAVE_TRACKER', true)
++else
++    tracker_sparql = dependency ('tracker-sparql-@0@'.format(tracker_api))
++    conf.set10 ('HAVE_TRACKER', true)
+ endif
+ 
+ if get_option ('enable-xmp')
+diff --git a/meson_options.txt b/meson_options.txt
+index c934dd8b1..d2ba885a2 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -8,6 +8,11 @@ option ('enable-exif',
+         type: 'boolean',
+         value: false,
+         description: 'enable EXIF support')
++option ('tracker',
++        type: 'combo',
++        choices: ['auto', '1.0', '2.0', 'disabled'],
++        value: 'auto',
++        description: 'enable bulk renames and search using Tracker')
+ option ('enable-xmp',
+         type: 'boolean',
+         value: false,
+diff --git a/src/meson.build b/src/meson.build
+index 9f01f5ba2..c55f39c7d 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -254,12 +254,6 @@ libnautilus_sources = [
+     'nautilus-file-undo-operations.h',
+     'nautilus-file-undo-manager.c',
+     'nautilus-file-undo-manager.h',
+-    'nautilus-batch-rename-dialog.c',
+-    'nautilus-batch-rename-dialog.h',
+-    'nautilus-batch-rename-utilities.c',
+-    'nautilus-batch-rename-utilities.h',
+-    'nautilus-search-engine-tracker.c',
+-    'nautilus-search-engine-tracker.h'
+ ]
+ 
+ nautilus_deps = [glib,
+@@ -273,8 +267,7 @@ nautilus_deps = [glib,
+                  eel_2,
+                  nautilus_extension,
+                  x11,
+-                 gmodule_no_export,
+-                 tracker_sparql]
++                 gmodule_no_export]
+ 
+ if get_option ('enable-exif')
+     nautilus_deps += exif
+@@ -288,6 +281,18 @@ if get_option ('enable-xmp')
+     nautilus_deps += exempi
+ endif
+ 
++if get_option ('tracker') != 'disabled'
++    libnautilus_sources += [
++        'nautilus-batch-rename-dialog.c',
++        'nautilus-batch-rename-dialog.h',
++        'nautilus-batch-rename-utilities.c',
++        'nautilus-batch-rename-utilities.h',
++        'nautilus-search-engine-tracker.c',
++        'nautilus-search-engine-tracker.h'
++    ]
++    nautilus_deps += tracker_sparql
++endif
++
+ libnautilus = static_library ('nautilus',
+                               libnautilus_sources,
+                               dependencies: nautilus_deps,
+diff --git a/src/nautilus-file-undo-operations.c 
b/src/nautilus-file-undo-operations.c
+index e833d0578..d6e407ca5 100644
+--- a/src/nautilus-file-undo-operations.c
++++ b/src/nautilus-file-undo-operations.c
+@@ -31,8 +31,10 @@
+ #include "nautilus-file-operations.h"
+ #include "nautilus-file.h"
+ #include "nautilus-file-undo-manager.h"
++#ifdef HAVE_TRACKER
+ #include "nautilus-batch-rename-dialog.h"
+ #include "nautilus-batch-rename-utilities.h"
++#endif
+ 
+ 
+ /* Since we use g_get_current_time for setting "orig_trash_time" in the undo
+@@ -1087,6 +1089,7 @@ nautilus_file_undo_info_rename_set_data_post 
(NautilusFileUndoInfoRename *self,
+ }
+ 
+ /* batch rename */
++#ifdef HAVE_TRACKER
+ G_DEFINE_TYPE (NautilusFileUndoInfoBatchRename, 
nautilus_file_undo_info_batch_rename, NAUTILUS_TYPE_FILE_UNDO_INFO);
+ 
+ struct _NautilusFileUndoInfoBatchRenameDetails
+@@ -1303,6 +1306,7 @@ nautilus_file_undo_info_batch_rename_set_data_post 
(NautilusFileUndoInfoBatchRen
+ 
+     self->priv->new_display_names = g_list_reverse 
(self->priv->new_display_names);
+ }
++#endif
+ 
+ /* trash */
+ G_DEFINE_TYPE (NautilusFileUndoInfoTrash, nautilus_file_undo_info_trash, 
NAUTILUS_TYPE_FILE_UNDO_INFO)
+diff --git a/src/nautilus-file.c b/src/nautilus-file.c
+index 536f83541..247334d5d 100644
+--- a/src/nautilus-file.c
++++ b/src/nautilus-file.c
+@@ -2392,6 +2392,7 @@ real_batch_rename (GList                         *files,
+         }
+     }
+ 
++#ifdef HAVE_TRACKER
+     /* Tell the undo manager a batch rename is taking place if at least
+      * a file has been renamed*/
+     if (!nautilus_file_undo_manager_is_operating () && op->skipped_files != 
g_list_length (files))
+@@ -2406,6 +2407,7 @@ real_batch_rename (GList                         *files,
+ 
+         nautilus_file_undo_manager_set_action (op->undo_info);
+     }
++#endif
+ 
+     if (op->skipped_files == g_list_length (files))
+     {
+diff --git a/src/nautilus-files-view.c b/src/nautilus-files-view.c
+index a79ecf20d..3b7bd4166 100644
+--- a/src/nautilus-files-view.c
++++ b/src/nautilus-files-view.c
+@@ -28,8 +28,10 @@
+ #include "nautilus-files-view.h"
+ 
+ #include "nautilus-application.h"
++#ifdef HAVE_TRACKER
+ #include "nautilus-batch-rename-dialog.h"
+ #include "nautilus-batch-rename-utilities.h"
++#endif
+ #include "nautilus-error-reporting.h"
+ #include "nautilus-file-undo-manager.h"
+ #include "nautilus-floating-bar.h"
+@@ -6209,6 +6211,7 @@ real_action_rename (NautilusFilesView *view)
+             {
+                 invoke_external_bulk_rename_utility (view, selection);
+             }
++#ifdef HAVE_TRACKER
+             else
+             {
+                 GdkCursor *cursor;
+@@ -6226,6 +6229,7 @@ real_action_rename (NautilusFilesView *view)
+ 
+                 gtk_widget_show (GTK_WIDGET (dialog));
+             }
++#endif
+         }
+         else
+         {
+diff --git a/src/nautilus-search-engine.c b/src/nautilus-search-engine.c
+index 209bd4f80..436cd7471 100644
+--- a/src/nautilus-search-engine.c
++++ b/src/nautilus-search-engine.c
+@@ -28,11 +28,15 @@
+ #include "nautilus-search-engine-model.h"
+ #define DEBUG_FLAG NAUTILUS_DEBUG_SEARCH
+ #include "nautilus-debug.h"
++#ifdef HAVE_TRACKER
+ #include "nautilus-search-engine-tracker.h"
++#endif
+ 
+ typedef struct
+ {
++#ifdef HAVE_TRACKER
+     NautilusSearchEngineTracker *tracker;
++#endif
+     NautilusSearchEngineSimple *simple;
+     NautilusSearchEngineModel *model;
+ 
+@@ -73,7 +77,9 @@ nautilus_search_engine_set_query (NautilusSearchProvider 
*provider,
+     engine = NAUTILUS_SEARCH_ENGINE (provider);
+     priv = nautilus_search_engine_get_instance_private (engine);
+ 
++#ifdef HAVE_TRACKER
+     nautilus_search_provider_set_query (NAUTILUS_SEARCH_PROVIDER 
(priv->tracker), query);
++#endif
+     nautilus_search_provider_set_query (NAUTILUS_SEARCH_PROVIDER 
(priv->model), query);
+     nautilus_search_provider_set_query (NAUTILUS_SEARCH_PROVIDER 
(priv->simple), query);
+ }
+@@ -95,8 +101,10 @@ search_engine_start_real (NautilusSearchEngine *engine)
+ 
+     g_object_ref (engine);
+ 
++#ifdef HAVE_TRACKER
+     nautilus_search_provider_start (NAUTILUS_SEARCH_PROVIDER (priv->tracker));
+     priv->providers_running++;
++#endif
+ 
+     if (nautilus_search_engine_model_get_model (priv->model))
+     {
+@@ -158,7 +166,9 @@ nautilus_search_engine_stop (NautilusSearchProvider 
*provider)
+ 
+     DEBUG ("Search engine stop");
+ 
++#ifdef HAVE_TRACKER
+     nautilus_search_provider_stop (NAUTILUS_SEARCH_PROVIDER (priv->tracker));
++#endif
+     nautilus_search_provider_stop (NAUTILUS_SEARCH_PROVIDER (priv->model));
+     nautilus_search_provider_stop (NAUTILUS_SEARCH_PROVIDER (priv->simple));
+ 
+@@ -333,7 +343,9 @@ nautilus_search_engine_finalize (GObject *object)
+ 
+     g_hash_table_destroy (priv->uris);
+ 
++#ifdef HAVE_TRACKER
+     g_clear_object (&priv->tracker);
++#endif
+     g_clear_object (&priv->model);
+     g_clear_object (&priv->simple);
+ 
+@@ -387,8 +399,10 @@ nautilus_search_engine_init (NautilusSearchEngine *engine)
+     priv = nautilus_search_engine_get_instance_private (engine);
+     priv->uris = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, 
NULL);
+ 
++#ifdef HAVE_TRACKER
+     priv->tracker = nautilus_search_engine_tracker_new ();
+     connect_provider_signals (engine, NAUTILUS_SEARCH_PROVIDER 
(priv->tracker));
++#endif
+ 
+     priv->model = nautilus_search_engine_model_new ();
+     connect_provider_signals (engine, NAUTILUS_SEARCH_PROVIDER (priv->model));
+-- 
+2.17.0
+

diff --git a/gnome-base/nautilus/nautilus-3.26.2.ebuild 
b/gnome-base/nautilus/nautilus-3.26.2.ebuild
index 7e62ef46..ac07418d 100644
--- a/gnome-base/nautilus/nautilus-3.26.2.ebuild
+++ b/gnome-base/nautilus/nautilus-3.26.2.ebuild
@@ -9,11 +9,9 @@ inherit gnome-meson readme.gentoo-r1 virtualx
 DESCRIPTION="A file manager for the GNOME desktop"
 HOMEPAGE="https://wiki.gnome.org/Apps/Nautilus";
 
-#FIXME: shoudln't this be GPL-3+?
 LICENSE="GPL-2+ LGPL-2+ FDL-1.1"
 SLOT="0"
-#FIXME: tracker is needed
-IUSE="exif gnome +introspection packagekit +previewer selinux sendto xmp"
+IUSE="exif gnome +introspection packagekit +previewer selinux sendto tracker 
xmp"
 
 KEYWORDS="~amd64"
 
@@ -38,10 +36,10 @@ COMMON_DEPEND="
        x11-libs/libXext
        x11-libs/libXrender
 
-       >=app-misc/tracker-1:=
        exif? ( >=media-libs/libexif-0.6.20 )
        introspection? ( >=dev-libs/gobject-introspection-0.6.4:= )
        selinux? ( >=sys-libs/libselinux-2 )
+       tracker? ( >=app-misc/tracker-1:= )
        xmp? ( >=media-libs/exempi-2.1.0:2 )
 "
 DEPEND="${COMMON_DEPEND}
@@ -50,7 +48,7 @@ DEPEND="${COMMON_DEPEND}
        >=dev-util/gtk-doc-1.10
        >=sys-devel/gettext-0.19.7
        virtual/pkgconfig
-       x11-proto/xproto
+       x11-base/xorg-proto
 "
 RDEPEND="${COMMON_DEPEND}
        packagekit? ( app-admin/packagekit-base )
@@ -62,13 +60,18 @@ RDEPEND="${COMMON_DEPEND}
 
 PDEPEND="
        gnome? ( x11-themes/adwaita-icon-theme )
-       >=gnome-extra/nautilus-tracker-tags-0.12
+       tracker? ( >=gnome-extra/nautilus-tracker-tags-0.12 )
        previewer? ( >=gnome-extra/sushi-0.1.9 )
        sendto? ( >=gnome-extra/nautilus-sendto-3.0.1 )
        >=gnome-base/gvfs-1.14[gtk]
 "
 # Need gvfs[gtk] for recent:/// support
 
+PATCHES=(
+       # Keep tracker optional
+       "${FILESDIR}"/${PV}-tracker-support-optional.patch
+)
+
 src_prepare() {
        if use previewer; then
                DOC_CONTENTS="nautilus uses gnome-extra/sushi to preview media 
files.
@@ -82,8 +85,9 @@ src_configure() {
        # FIXME no doc useflag??
        gnome-meson_src_configure \
                -Denable-desktop=true \
-               -Denable-gtk-doc=true \
+               -Denable-gtk-doc=false \
                -Denable-profiling=false \
+               -Dtracker=$(usex tracker 1.0 disabled) \
                $(meson_use exif enable-exif) \
                $(meson_use packagekit enable-packagekit) \
                $(meson_use sendto nst-extension) \

Reply via email to