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) \
