[gnome-build-meta/alatiera/41-alpha] add g-c-c patch
- From: Jordan Petridis <jpetridis src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-build-meta/alatiera/41-alpha] add g-c-c patch
- Date: Sat, 17 Jul 2021 02:05:36 +0000 (UTC)
commit 3b542fb80e86fb0f392f8605095fc5d7c2c4154a
Author: Jordan Petridis <jordan centricular com>
Date: Sat Jul 17 04:51:51 2021 +0300
add g-c-c patch
elements/core/gnome-control-center.bst | 2 +
files/gnome-control-center/981.patch | 1383 ++++++++++++++++++++++++++++++++
2 files changed, 1385 insertions(+)
---
diff --git a/elements/core/gnome-control-center.bst b/elements/core/gnome-control-center.bst
index 0d1c4c89..13bd04d9 100644
--- a/elements/core/gnome-control-center.bst
+++ b/elements/core/gnome-control-center.bst
@@ -3,6 +3,8 @@ sources:
- kind: tar
url: gnome_downloads:gnome-control-center/40/gnome-control-center-40.0.tar.xz
ref: ccc9a5736517385109ae5a59906c258244dd879b7503ad5984cf41655cb302f1
+- kind: patch
+ path: files/gnome-control-center/981.patch
build-depends:
- sdk/gtk-doc.bst
- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
diff --git a/files/gnome-control-center/981.patch b/files/gnome-control-center/981.patch
new file mode 100644
index 00000000..9e85f558
--- /dev/null
+++ b/files/gnome-control-center/981.patch
@@ -0,0 +1,1383 @@
+From f85750274c2bbabac9ff6ee03150aeb1fdc8bc3d Mon Sep 17 00:00:00 2001
+From: Debarshi Ray <debarshir gnome org>
+Date: Tue, 20 Apr 2021 23:00:28 +0200
+Subject: [PATCH] background: Drop the unused build dependency on Grilo
+
+The code that uses Grilo to fetch the user's Flickr photos isn't
+actually used by the Background panel, to the extent that the final
+binary doesn't even link against Grilo. Getting rid of this unused code
+will ensure that distributors aren't needlessly pulling in this
+dependency.
+
+https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1345
+---
+ .gitlab-ci.yml | 1 -
+ build-aux/flatpak/org.gnome.Settings.json | 17 -
+ panels/background/bg-pictures-source.c | 855 ------------------
+ panels/background/bg-pictures-source.h | 46 -
+ panels/background/cc-background-chooser.c | 1 -
+ panels/background/cc-background-grilo-miner.c | 315 -------
+ panels/background/cc-background-grilo-miner.h | 31 -
+ panels/background/cc-background-panel.c | 2 -
+ panels/background/meson.build | 4 -
+ 9 files changed, 1272 deletions(-)
+ delete mode 100644 panels/background/bg-pictures-source.c
+ delete mode 100644 panels/background/bg-pictures-source.h
+ delete mode 100644 panels/background/cc-background-grilo-miner.c
+ delete mode 100644 panels/background/cc-background-grilo-miner.h
+
+diff --git a/build-aux/flatpak/org.gnome.Settings.json b/build-aux/flatpak/org.gnome.Settings.json
+index 3e19894b0..b64b4c2fd 100644
+--- a/build-aux/flatpak/org.gnome.Settings.json
++++ b/build-aux/flatpak/org.gnome.Settings.json
+@@ -485,23 +485,6 @@
+ }
+ ]
+ },
+- {
+- "name" : "grilo",
+- "buildsystem" : "meson",
+- "config-opts" : [
+- "-Denable-grl-pls=false",
+- "-Denable-gtk-doc=false",
+- "-Denable-introspection=false",
+- "-Denable-test-ui=false",
+- "-Denable-vala=false"
+- ],
+- "sources" : [
+- {
+- "type" : "git",
+- "url" : "https://gitlab.gnome.org/GNOME/grilo.git"
+- }
+- ]
+- },
+ {
+ "name" : "openldap",
+ "buildsystem" : "autotools",
+diff --git a/panels/background/bg-pictures-source.c b/panels/background/bg-pictures-source.c
+deleted file mode 100644
+index 3a3027b13..000000000
+--- a/panels/background/bg-pictures-source.c
++++ /dev/null
+@@ -1,855 +0,0 @@
+-/* bg-pictures-source.c */
+-/*
+- * Copyright (C) 2010 Intel, Inc
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program; if not, see <http://www.gnu.org/licenses/>.
+- *
+- * Author: Thomas Wood <thomas wood intel com>
+- *
+- */
+-
+-#include <config.h>
+-
+-#include "bg-pictures-source.h"
+-
+-#include "cc-background-grilo-miner.h"
+-#include "cc-background-item.h"
+-
+-#include <string.h>
+-#include <cairo-gobject.h>
+-#include <gio/gio.h>
+-#include <grilo.h>
+-#include <libgnome-desktop/gnome-desktop-thumbnail.h>
+-#include <gdesktop-enums.h>
+-
+-#define ATTRIBUTES G_FILE_ATTRIBUTE_STANDARD_NAME "," \
+- G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE "," \
+- G_FILE_ATTRIBUTE_TIME_MODIFIED
+-
+-struct _BgPicturesSource
+-{
+- BgSource parent_instance;
+-
+- GCancellable *cancellable;
+-
+- CcBackgroundGriloMiner *grl_miner;
+-
+- GFileMonitor *picture_dir_monitor;
+- GFileMonitor *cache_dir_monitor;
+-
+- GHashTable *known_items;
+-};
+-
+-G_DEFINE_TYPE (BgPicturesSource, bg_pictures_source, BG_TYPE_SOURCE)
+-
+-const char * const content_types[] = {
+- "image/png",
+- "image/jp2",
+- "image/jpeg",
+- "image/bmp",
+- "image/svg+xml",
+- "image/x-portable-anymap",
+- NULL
+-};
+-
+-const char * const screenshot_types[] = {
+- "image/png",
+- NULL
+-};
+-
+-static char *bg_pictures_source_get_unique_filename (const char *uri);
+-
+-static void picture_opened_for_read (GObject *source_object, GAsyncResult *res, gpointer user_data);
+-
+-static void
+-bg_pictures_source_dispose (GObject *object)
+-{
+- BgPicturesSource *source = BG_PICTURES_SOURCE (object);
+-
+- if (source->cancellable)
+- {
+- g_cancellable_cancel (source->cancellable);
+- g_clear_object (&source->cancellable);
+- }
+-
+- g_clear_object (&source->grl_miner);
+-
+- G_OBJECT_CLASS (bg_pictures_source_parent_class)->dispose (object);
+-}
+-
+-static void
+-bg_pictures_source_finalize (GObject *object)
+-{
+- BgPicturesSource *bg_source = BG_PICTURES_SOURCE (object);
+-
+- g_clear_pointer (&bg_source->known_items, g_hash_table_destroy);
+-
+- g_clear_object (&bg_source->picture_dir_monitor);
+- g_clear_object (&bg_source->cache_dir_monitor);
+-
+- G_OBJECT_CLASS (bg_pictures_source_parent_class)->finalize (object);
+-}
+-
+-static void
+-bg_pictures_source_class_init (BgPicturesSourceClass *klass)
+-{
+- GObjectClass *object_class = G_OBJECT_CLASS (klass);
+-
+- object_class->dispose = bg_pictures_source_dispose;
+- object_class->finalize = bg_pictures_source_finalize;
+-}
+-
+-static void
+-remove_placeholder (BgPicturesSource *bg_source,
+- CcBackgroundItem *item)
+-{
+- GListStore *store;
+- guint i;
+-
+- store = bg_source_get_liststore (BG_SOURCE (bg_source));
+-
+- for (i = 0; i < g_list_model_get_n_items (G_LIST_MODEL (store)); i++)
+- {
+- g_autoptr(CcBackgroundItem) item_n = NULL;
+-
+- item_n = g_list_model_get_item (G_LIST_MODEL (store), i);
+-
+- if (item_n == item)
+- {
+- g_list_store_remove (store, i);
+- break;
+- }
+- }
+-}
+-
+-static gboolean
+-picture_needs_rotation (GdkPixbuf *pixbuf)
+-{
+- const gchar *str;
+-
+- str = gdk_pixbuf_get_option (pixbuf, "orientation");
+- if (str == NULL)
+- return FALSE;
+-
+- if (*str == '5' || *str == '6' || *str == '7' || *str == '8')
+- return TRUE;
+-
+- return FALSE;
+-}
+-
+-static GdkPixbuf *
+-swap_rotated_pixbuf (GdkPixbuf *pixbuf)
+-{
+- GdkPixbuf *tmp_pixbuf;
+-
+- tmp_pixbuf = gdk_pixbuf_apply_embedded_orientation (pixbuf);
+- if (tmp_pixbuf == NULL)
+- return pixbuf;
+-
+- g_object_unref (pixbuf);
+- return tmp_pixbuf;
+-}
+-
+-static int
+-sort_func (gconstpointer a,
+- gconstpointer b,
+- gpointer user_data)
+-{
+- CcBackgroundItem *item_a;
+- CcBackgroundItem *item_b;
+- guint64 modified_a;
+- guint64 modified_b;
+- int retval;
+-
+- item_a = (CcBackgroundItem *) a;
+- item_b = (CcBackgroundItem *) b;
+- modified_a = cc_background_item_get_modified (item_a);
+- modified_b = cc_background_item_get_modified (item_b);
+-
+- retval = modified_b - modified_a;
+-
+- return retval;
+-}
+-
+-static void
+-picture_scaled (GObject *source_object,
+- GAsyncResult *res,
+- gpointer user_data)
+-{
+- BgPicturesSource *bg_source;
+- CcBackgroundItem *item;
+- g_autoptr(GError) error = NULL;
+- g_autoptr(GdkPixbuf) pixbuf = NULL;
+- const char *software;
+- const char *uri;
+- GListStore *store;
+- cairo_surface_t *surface = NULL;
+- int scale_factor;
+- gboolean rotation_applied;
+-
+- item = g_object_get_data (source_object, "item");
+- pixbuf = gdk_pixbuf_new_from_stream_finish (res, &error);
+- if (pixbuf == NULL)
+- {
+- if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
+- {
+- g_warning ("Failed to load image: %s", error->message);
+- remove_placeholder (BG_PICTURES_SOURCE (user_data), item);
+- }
+-
+- return;
+- }
+-
+- /* since we were not cancelled, we can now cast user_data
+- * back to BgPicturesSource.
+- */
+- bg_source = BG_PICTURES_SOURCE (user_data);
+- store = bg_source_get_liststore (BG_SOURCE (bg_source));
+- uri = cc_background_item_get_uri (item);
+- if (uri == NULL)
+- uri = cc_background_item_get_source_url (item);
+-
+- /* Ignore screenshots */
+- software = gdk_pixbuf_get_option (pixbuf, "tEXt::Software");
+- if (software != NULL &&
+- g_str_equal (software, "gnome-screenshot"))
+- {
+- g_debug ("Ignored URL '%s' as it's a screenshot from gnome-screenshot", uri);
+- remove_placeholder (BG_PICTURES_SOURCE (user_data), item);
+- return;
+- }
+-
+- /* Process embedded orientation */
+- rotation_applied = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (item), "rotation-applied"));
+-
+- if (!rotation_applied && picture_needs_rotation (pixbuf))
+- {
+- /* the width and height of pixbuf we requested are wrong for EXIF
+- * orientations 5, 6, 7 and 8. the file has to be reloaded. */
+- g_autoptr(GFile) file = NULL;
+-
+- file = g_file_new_for_uri (uri);
+- g_object_set_data (G_OBJECT (item), "needs-rotation", GINT_TO_POINTER (TRUE));
+- g_object_set_data_full (G_OBJECT (file), "item", g_object_ref (item), g_object_unref);
+- g_file_read_async (G_FILE (file), G_PRIORITY_DEFAULT,
+- bg_source->cancellable,
+- picture_opened_for_read, bg_source);
+- return;
+- }
+-
+- pixbuf = swap_rotated_pixbuf (pixbuf);
+-
+- scale_factor = bg_source_get_scale_factor (BG_SOURCE (bg_source));
+- surface = gdk_cairo_surface_create_from_pixbuf (pixbuf, scale_factor, NULL);
+- cc_background_item_load (item, NULL);
+-
+- /* insert the item into the liststore */
+- g_list_store_insert_sorted (store, item, sort_func, bg_source);
+-
+- g_hash_table_insert (bg_source->known_items,
+- bg_pictures_source_get_unique_filename (uri),
+- GINT_TO_POINTER (TRUE));
+-
+- g_clear_pointer (&surface, cairo_surface_destroy);
+-}
+-
+-static void
+-picture_opened_for_read (GObject *source_object,
+- GAsyncResult *res,
+- gpointer user_data)
+-{
+- BgPicturesSource *bg_source;
+- CcBackgroundItem *item;
+- g_autoptr(GFileInputStream) stream = NULL;
+- g_autoptr(GError) error = NULL;
+- gint thumbnail_height;
+- gint thumbnail_width;
+- gboolean needs_rotation;
+-
+- item = g_object_get_data (source_object, "item");
+- stream = g_file_read_finish (G_FILE (source_object), res, &error);
+- if (stream == NULL)
+- {
+- if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
+- {
+- g_autofree gchar *filename = g_file_get_path (G_FILE (source_object));
+- g_warning ("Failed to load picture '%s': %s", filename, error->message);
+- remove_placeholder (BG_PICTURES_SOURCE (user_data), item);
+- }
+-
+- return;
+- }
+-
+- /* since we were not cancelled, we can now cast user_data
+- * back to BgPicturesSource.
+- */
+- bg_source = BG_PICTURES_SOURCE (user_data);
+-
+- needs_rotation = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (item), "needs-rotation"));
+- if (needs_rotation)
+- {
+- /* swap width and height for EXIF orientations that need it */
+- thumbnail_width = bg_source_get_thumbnail_height (BG_SOURCE (bg_source));
+- thumbnail_height = bg_source_get_thumbnail_width (BG_SOURCE (bg_source));
+- g_object_set_data (G_OBJECT (item), "rotation-applied", GINT_TO_POINTER (TRUE));
+- }
+- else
+- {
+- thumbnail_width = bg_source_get_thumbnail_width (BG_SOURCE (bg_source));
+- thumbnail_height = bg_source_get_thumbnail_height (BG_SOURCE (bg_source));
+- }
+-
+- g_object_set_data_full (G_OBJECT (stream), "item", g_object_ref (item), g_object_unref);
+- gdk_pixbuf_new_from_stream_at_scale_async (G_INPUT_STREAM (stream),
+- thumbnail_width, thumbnail_height,
+- TRUE,
+- bg_source->cancellable,
+- picture_scaled, bg_source);
+-}
+-
+-static void
+-picture_copied_for_read (GObject *source_object,
+- GAsyncResult *res,
+- gpointer user_data)
+-{
+- BgPicturesSource *bg_source;
+- CcBackgroundItem *item;
+- g_autoptr(GError) error = NULL;
+- GFile *thumbnail_file = G_FILE (source_object);
+- GFile *native_file;
+-
+- if (!g_file_copy_finish (thumbnail_file, res, &error))
+- {
+- if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
+- return;
+- else if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_EXISTS))
+- {
+- g_autofree gchar *uri = NULL;
+-
+- uri = g_file_get_uri (thumbnail_file);
+- g_warning ("Failed to download '%s': %s", uri, error->message);
+- return;
+- }
+- }
+-
+- bg_source = BG_PICTURES_SOURCE (user_data);
+-
+- native_file = g_object_get_data (G_OBJECT (thumbnail_file), "native-file");
+- item = g_object_get_data (G_OBJECT (thumbnail_file), "item");
+- g_object_set_data_full (G_OBJECT (native_file), "item", g_object_ref (item), g_object_unref);
+- g_file_read_async (native_file,
+- G_PRIORITY_DEFAULT,
+- bg_source->cancellable,
+- picture_opened_for_read,
+- bg_source);
+-}
+-
+-static gboolean
+-in_content_types (const char *content_type)
+-{
+- guint i;
+- for (i = 0; content_types[i]; i++)
+- if (g_str_equal (content_types[i], content_type))
+- return TRUE;
+- return FALSE;
+-}
+-
+-static GFile *
+-bg_pictures_source_get_cache_file (void)
+-{
+- g_autofree gchar *path = NULL;
+- GFile *file;
+-
+- path = bg_pictures_source_get_cache_path ();
+- file = g_file_new_for_path (path);
+-
+- return file;
+-}
+-
+-static gboolean
+-add_single_file (BgPicturesSource *bg_source,
+- GFile *file,
+- const gchar *content_type,
+- guint64 mtime)
+-{
+- g_autoptr(CcBackgroundItem) item = NULL;
+- CcBackgroundItemFlags flags = 0;
+- g_autofree gchar *source_uri = NULL;
+- g_autofree gchar *uri = NULL;
+- gboolean needs_download;
+- gboolean retval = FALSE;
+- const gchar *pictures_path;
+- g_autoptr(GFile) pictures_dir = NULL;
+- g_autoptr(GFile) cache_dir = NULL;
+- GrlMedia *media;
+-
+- /* find png and jpeg files */
+- if (!content_type)
+- goto out;
+- if (!in_content_types (content_type))
+- goto out;
+-
+- /* create a new CcBackgroundItem */
+- uri = g_file_get_uri (file);
+-
+- pictures_path = g_get_user_special_dir (G_USER_DIRECTORY_PICTURES);
+- if (pictures_path == NULL)
+- pictures_path = g_get_home_dir ();
+- pictures_dir = g_file_new_for_path (pictures_path);
+- cache_dir = bg_pictures_source_get_cache_file ();
+- needs_download = !g_file_has_parent (file, pictures_dir) &&
+- !g_file_has_parent (file, cache_dir);
+-
+- if (!needs_download)
+- {
+- source_uri = g_strdup (uri);
+- flags |= CC_BACKGROUND_ITEM_HAS_URI;
+- }
+- else
+- {
+- source_uri = g_steal_pointer (&uri);
+- }
+-
+- item = cc_background_item_new (uri);
+- flags |= CC_BACKGROUND_ITEM_HAS_SHADING | CC_BACKGROUND_ITEM_HAS_PLACEMENT;
+- g_object_set (G_OBJECT (item),
+- "flags", flags,
+- "shading", G_DESKTOP_BACKGROUND_SHADING_SOLID,
+- "placement", G_DESKTOP_BACKGROUND_STYLE_ZOOM,
+- "modified", mtime,
+- "needs-download", needs_download,
+- "source-url", source_uri,
+- NULL);
+-
+- media = g_object_get_data (G_OBJECT (file), "grl-media");
+- if (media == NULL)
+- {
+- g_object_set_data_full (G_OBJECT (file), "item", g_object_ref (item), g_object_unref);
+- g_file_read_async (file, G_PRIORITY_DEFAULT,
+- bg_source->cancellable,
+- picture_opened_for_read, bg_source);
+- }
+- else
+- {
+- g_autoptr(GFile) native_file = NULL;
+- g_autoptr(GFile) thumbnail_file = NULL;
+- g_autofree gchar *native_dir = NULL;
+- g_autofree gchar *native_path = NULL;
+- const gchar *title;
+- const gchar *thumbnail_uri;
+-
+- title = grl_media_get_title (media);
+- g_object_set (G_OBJECT (item), "name", title, NULL);
+-
+- thumbnail_uri = grl_media_get_thumbnail (media);
+- thumbnail_file = g_file_new_for_uri (thumbnail_uri);
+-
+- native_path = gnome_desktop_thumbnail_path_for_uri (source_uri, GNOME_DESKTOP_THUMBNAIL_SIZE_LARGE);
+- native_file = g_file_new_for_path (native_path);
+-
+- native_dir = g_path_get_dirname (native_path);
+- g_mkdir_with_parents (native_dir, USER_DIR_MODE);
+-
+- g_object_set_data_full (G_OBJECT (thumbnail_file), "item", g_object_ref (item), g_object_unref);
+- g_object_set_data_full (G_OBJECT (thumbnail_file),
+- "native-file",
+- g_object_ref (native_file),
+- g_object_unref);
+- g_file_copy_async (thumbnail_file,
+- native_file,
+- G_FILE_COPY_ALL_METADATA,
+- G_PRIORITY_DEFAULT,
+- bg_source->cancellable,
+- NULL,
+- NULL,
+- picture_copied_for_read,
+- bg_source);
+- }
+-
+- retval = TRUE;
+-
+- out:
+- return retval;
+-}
+-
+-static gboolean
+-add_single_file_from_info (BgPicturesSource *bg_source,
+- GFile *file,
+- GFileInfo *info)
+-{
+- const gchar *content_type;
+- guint64 mtime;
+-
+- content_type = g_file_info_get_content_type (info);
+- mtime = g_file_info_get_attribute_uint64 (info, G_FILE_ATTRIBUTE_TIME_MODIFIED);
+- return add_single_file (bg_source, file, content_type, mtime);
+-}
+-
+-static gboolean
+-add_single_file_from_media (BgPicturesSource *bg_source,
+- GFile *file,
+- GrlMedia *media)
+-{
+- GDateTime *mtime;
+- const gchar *content_type;
+- gint64 mtime_unix;
+-
+- content_type = grl_media_get_mime (media);
+-
+- /* only GRL_METADATA_KEY_CREATION_DATE is implemented in the Flickr
+- * plugin, GRL_METADATA_KEY_MODIFICATION_DATE is not
+- */
+- mtime = grl_media_get_creation_date (media);
+- if (!mtime)
+- mtime = grl_media_get_modification_date (media);
+- if (mtime)
+- mtime_unix = g_date_time_to_unix (mtime);
+- else
+- mtime_unix = g_get_real_time () / G_USEC_PER_SEC;
+-
+- return add_single_file (bg_source, file, content_type, (guint64) mtime_unix);
+-}
+-
+-gboolean
+-bg_pictures_source_add (BgPicturesSource *bg_source,
+- const char *uri,
+- GtkTreeRowReference **ret_row_ref)
+-{
+- g_autoptr(GFile) file = NULL;
+- GFileInfo *info;
+- gboolean retval;
+-
+- file = g_file_new_for_uri (uri);
+- info = g_file_query_info (file, ATTRIBUTES, G_FILE_QUERY_INFO_NONE, NULL, NULL);
+- if (info == NULL)
+- return FALSE;
+-
+- retval = add_single_file_from_info (bg_source, file, info);
+-
+- return retval;
+-}
+-
+-gboolean
+-bg_pictures_source_remove (BgPicturesSource *bg_source,
+- const char *uri)
+-{
+- GListStore *store;
+- gboolean retval;
+- guint i;
+-
+- retval = FALSE;
+- store = bg_source_get_liststore (BG_SOURCE (bg_source));
+-
+- for (i = 0; i < g_list_model_get_n_items (G_LIST_MODEL (store)); i++)
+- {
+- g_autoptr(CcBackgroundItem) tmp_item = NULL;
+- const char *tmp_uri;
+-
+- tmp_item = g_list_model_get_item (G_LIST_MODEL (store), i);
+- tmp_uri = cc_background_item_get_uri (tmp_item);
+- if (g_str_equal (tmp_uri, uri))
+- {
+- char *uuid;
+- uuid = bg_pictures_source_get_unique_filename (uri);
+- g_hash_table_insert (bg_source->known_items,
+- uuid, NULL);
+-
+- g_list_store_remove (store, i);
+- retval = TRUE;
+- break;
+- }
+- }
+- return retval;
+-}
+-
+-static int
+-file_sort_func (gconstpointer a,
+- gconstpointer b)
+-{
+- GFileInfo *file_a = G_FILE_INFO (a);
+- GFileInfo *file_b = G_FILE_INFO (b);
+- guint64 modified_a, modified_b;
+-
+- modified_a = g_file_info_get_attribute_uint64 (file_a, G_FILE_ATTRIBUTE_TIME_MODIFIED);
+-
+- modified_b = g_file_info_get_attribute_uint64 (file_b, G_FILE_ATTRIBUTE_TIME_MODIFIED);
+-
+- return modified_b - modified_a;
+-}
+-
+-static void
+-file_info_async_ready (GObject *source,
+- GAsyncResult *res,
+- gpointer user_data)
+-{
+- BgPicturesSource *bg_source;
+- GList *files, *l;
+- g_autoptr(GError) err = NULL;
+- GFile *parent;
+-
+- files = g_file_enumerator_next_files_finish (G_FILE_ENUMERATOR (source),
+- res,
+- &err);
+- if (err)
+- {
+- if (!g_error_matches (err, G_IO_ERROR, G_IO_ERROR_CANCELLED))
+- g_warning ("Could not get pictures file information: %s", err->message);
+-
+- g_list_foreach (files, (GFunc) g_object_unref, NULL);
+- g_list_free (files);
+- return;
+- }
+-
+- bg_source = BG_PICTURES_SOURCE (user_data);
+-
+- parent = g_file_enumerator_get_container (G_FILE_ENUMERATOR (source));
+-
+- files = g_list_sort (files, file_sort_func);
+-
+- /* iterate over the available files */
+- for (l = files; l; l = g_list_next (l))
+- {
+- GFileInfo *info = l->data;
+- g_autoptr(GFile) file = NULL;
+-
+- file = g_file_get_child (parent, g_file_info_get_name (info));
+-
+- add_single_file_from_info (bg_source, file, info);
+- }
+-
+- g_list_foreach (files, (GFunc) g_object_unref, NULL);
+- g_list_free (files);
+-}
+-
+-static void
+-dir_enum_async_ready (GObject *s,
+- GAsyncResult *res,
+- gpointer user_data)
+-{
+- BgPicturesSource *source = (BgPicturesSource *) user_data;
+- g_autoptr(GFileEnumerator) enumerator = NULL;
+- g_autoptr(GError) err = NULL;
+-
+- enumerator = g_file_enumerate_children_finish (G_FILE (s), res, &err);
+-
+- if (err)
+- {
+- if (!g_error_matches (err, G_IO_ERROR, G_IO_ERROR_CANCELLED))
+- g_warning ("Could not fill pictures source: %s", err->message);
+- return;
+- }
+-
+- /* get the files */
+- g_file_enumerator_next_files_async (enumerator,
+- G_MAXINT,
+- G_PRIORITY_LOW,
+- source->cancellable,
+- file_info_async_ready,
+- user_data);
+-}
+-
+-char *
+-bg_pictures_source_get_cache_path (void)
+-{
+- return g_build_filename (g_get_user_cache_dir (),
+- "gnome-control-center",
+- "backgrounds",
+- NULL);
+-}
+-
+-static char *
+-bg_pictures_source_get_unique_filename (const char *uri)
+-{
+- g_autoptr(GChecksum) csum = NULL;
+- char *ret;
+-
+- csum = g_checksum_new (G_CHECKSUM_SHA256);
+- g_checksum_update (csum, (guchar *) uri, -1);
+- ret = g_strdup (g_checksum_get_string (csum));
+-
+- return ret;
+-}
+-
+-char *
+-bg_pictures_source_get_unique_path (const char *uri)
+-{
+- g_autoptr(GFile) parent = NULL;
+- g_autoptr(GFile) file = NULL;
+- g_autofree gchar *cache_path = NULL;
+- g_autofree gchar *filename = NULL;
+-
+- cache_path = bg_pictures_source_get_cache_path ();
+- parent = g_file_new_for_path (cache_path);
+-
+- filename = bg_pictures_source_get_unique_filename (uri);
+- file = g_file_get_child (parent, filename);
+-
+- return g_file_get_path (file);
+-}
+-
+-gboolean
+-bg_pictures_source_is_known (BgPicturesSource *bg_source,
+- const char *uri)
+-{
+- g_autofree gchar *uuid = NULL;
+-
+- uuid = bg_pictures_source_get_unique_filename (uri);
+-
+- return GPOINTER_TO_INT (g_hash_table_lookup (bg_source->known_items, uuid));
+-}
+-
+-static void
+-file_info_ready (GObject *object,
+- GAsyncResult *res,
+- gpointer user_data)
+-{
+- GFileInfo *info;
+- GError *error = NULL;
+- GFile *file = G_FILE (object);
+-
+- info = g_file_query_info_finish (file, res, &error);
+-
+- if (!info)
+- {
+- if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
+- g_warning ("Problem looking up file info: %s", error->message);
+- g_clear_error (&error);
+- return;
+- }
+-
+- add_single_file_from_info (BG_PICTURES_SOURCE (user_data), file, info);
+-}
+-
+-static void
+-file_added (GFile *file,
+- BgPicturesSource *self)
+-{
+- g_autofree gchar *uri = NULL;
+- uri = g_file_get_uri (file);
+-
+- if (!bg_pictures_source_is_known (self, uri))
+- {
+- g_file_query_info_async (file,
+- ATTRIBUTES,
+- G_FILE_QUERY_INFO_NONE,
+- G_PRIORITY_LOW,
+- NULL,
+- file_info_ready,
+- self);
+- }
+-}
+-
+-static void
+-files_changed_cb (BgPicturesSource *self,
+- GFile *file,
+- GFile *other_file,
+- GFileMonitorEvent event_type)
+-{
+- g_autofree gchar *uri = NULL;
+-
+- switch (event_type)
+- {
+- case G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT:
+- file_added (file, self);
+- break;
+-
+- case G_FILE_MONITOR_EVENT_DELETED:
+- uri = g_file_get_uri (file);
+- bg_pictures_source_remove (self, uri);
+- break;
+-
+- default:
+- return;
+- }
+-}
+-
+-static GFileMonitor *
+-monitor_path (BgPicturesSource *self,
+- const char *path)
+-{
+- GFileMonitor *monitor;
+- g_autoptr(GFile) dir = NULL;
+-
+- g_mkdir_with_parents (path, USER_DIR_MODE);
+-
+- dir = g_file_new_for_path (path);
+- g_file_enumerate_children_async (dir,
+- ATTRIBUTES,
+- G_FILE_QUERY_INFO_NONE,
+- G_PRIORITY_LOW, self->cancellable,
+- dir_enum_async_ready, self);
+-
+- monitor = g_file_monitor_directory (dir,
+- G_FILE_MONITOR_NONE,
+- self->cancellable,
+- NULL);
+-
+- if (monitor)
+- g_signal_connect_object (monitor,
+- "changed",
+- G_CALLBACK (files_changed_cb),
+- self, G_CONNECT_SWAPPED);
+-
+- return monitor;
+-}
+-
+-static void
+-media_found_cb (BgPicturesSource *self, GrlMedia *media)
+-{
+- g_autoptr(GFile) file = NULL;
+- const gchar *uri;
+-
+- uri = grl_media_get_url (media);
+- file = g_file_new_for_uri (uri);
+- g_object_set_data_full (G_OBJECT (file), "grl-media", g_object_ref (media), g_object_unref);
+- add_single_file_from_media (self, file, media);
+-}
+-
+-static void
+-bg_pictures_source_init (BgPicturesSource *self)
+-{
+- const gchar *pictures_path;
+- g_autofree gchar *cache_path = NULL;
+-
+- self->cancellable = g_cancellable_new ();
+- self->known_items = g_hash_table_new_full (g_str_hash,
+- g_str_equal,
+- (GDestroyNotify) g_free,
+- NULL);
+-
+- pictures_path = g_get_user_special_dir (G_USER_DIRECTORY_PICTURES);
+- if (pictures_path == NULL)
+- pictures_path = g_get_home_dir ();
+-
+- self->picture_dir_monitor = monitor_path (self, pictures_path);
+-
+- cache_path = bg_pictures_source_get_cache_path ();
+- self->cache_dir_monitor = monitor_path (self, cache_path);
+-
+- self->grl_miner = cc_background_grilo_miner_new ();
+- g_signal_connect_object (self->grl_miner, "media-found", G_CALLBACK (media_found_cb), self,
G_CONNECT_SWAPPED);
+- cc_background_grilo_miner_start (self->grl_miner);
+-}
+-
+-BgPicturesSource *
+-bg_pictures_source_new (GtkWidget *widget)
+-{
+- return g_object_new (BG_TYPE_PICTURES_SOURCE, "widget", widget, NULL);
+-}
+-
+-const char * const *
+-bg_pictures_get_support_content_types (void)
+-{
+- return content_types;
+-}
+diff --git a/panels/background/bg-pictures-source.h b/panels/background/bg-pictures-source.h
+deleted file mode 100644
+index f62cbe532..000000000
+--- a/panels/background/bg-pictures-source.h
++++ /dev/null
+@@ -1,46 +0,0 @@
+-/* bg-pictures-source.h */
+-/*
+- * Copyright (C) 2010 Intel, Inc
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program; if not, see <http://www.gnu.org/licenses/>.
+- *
+- * Author: Thomas Wood <thomas wood intel com>
+- *
+- */
+-
+-#pragma once
+-
+-#include <gtk/gtk.h>
+-#include "bg-source.h"
+-#include "cc-background-item.h"
+-
+-G_BEGIN_DECLS
+-
+-#define BG_TYPE_PICTURES_SOURCE (bg_pictures_source_get_type ())
+-G_DECLARE_FINAL_TYPE (BgPicturesSource, bg_pictures_source, BG, PICTURES_SOURCE, BgSource)
+-
+-BgPicturesSource *bg_pictures_source_new (GtkWidget *widget);
+-char *bg_pictures_source_get_cache_path (void);
+-char *bg_pictures_source_get_unique_path(const char *uri);
+-gboolean bg_pictures_source_add (BgPicturesSource *bg_source,
+- const char *uri,
+- GtkTreeRowReference **ret_row_ref);
+-gboolean bg_pictures_source_remove (BgPicturesSource *bg_source,
+- const char *uri);
+-gboolean bg_pictures_source_is_known (BgPicturesSource *bg_source,
+- const char *uri);
+-
+-const char * const * bg_pictures_get_support_content_types (void);
+-
+-G_END_DECLS
+diff --git a/panels/background/cc-background-chooser.c b/panels/background/cc-background-chooser.c
+index 6c8f56136..04fd85c47 100644
+--- a/panels/background/cc-background-chooser.c
++++ b/panels/background/cc-background-chooser.c
+@@ -25,7 +25,6 @@
+ #include <libgnome-desktop/gnome-desktop-thumbnail.h>
+
+ #include "bg-colors-source.h"
+-#include "bg-pictures-source.h"
+ #include "bg-recent-source.h"
+ #include "bg-wallpapers-source.h"
+ #include "cc-background-chooser.h"
+diff --git a/panels/background/cc-background-grilo-miner.c b/panels/background/cc-background-grilo-miner.c
+deleted file mode 100644
+index 85c09daf6..000000000
+--- a/panels/background/cc-background-grilo-miner.c
++++ /dev/null
+@@ -1,315 +0,0 @@
+-/*
+- * Copyright (C) 2014 Red Hat, Inc.
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program; if not, see <http://www.gnu.org/licenses/>.
+- */
+-
+-#include <config.h>
+-
+-#include <gio/gio.h>
+-#include <grilo.h>
+-
+-#define GOA_API_IS_SUBJECT_TO_CHANGE
+-#include <goa/goa.h>
+-
+-#include "bg-pictures-source.h"
+-#include "cc-background-grilo-miner.h"
+-
+-struct _CcBackgroundGriloMiner
+-{
+- GObject parent_instance;
+-
+- GCancellable *cancellable;
+- GList *accounts;
+-};
+-
+-G_DEFINE_TYPE (CcBackgroundGriloMiner, cc_background_grilo_miner, G_TYPE_OBJECT)
+-
+-enum
+-{
+- MEDIA_FOUND,
+- LAST_SIGNAL
+-};
+-
+-static guint signals[LAST_SIGNAL] = { 0 };
+-
+-#define REMOTE_ITEM_COUNT 50
+-
+-static gchar *
+-get_grilo_id (GoaObject *goa_object)
+-{
+- GoaAccount *account;
+-
+- account = goa_object_peek_account (goa_object);
+- return g_strdup_printf ("grl-flickr-%s", goa_account_get_id (account));
+-}
+-
+-static void
+-is_online_data_cached (GObject *object,
+- GAsyncResult *res,
+- gpointer user_data)
+-{
+- CcBackgroundGriloMiner *self;
+- GError *error = NULL;
+- GFileInfo *info = NULL;
+- GFile *cache_file = G_FILE (object);
+- GrlMedia *media;
+- const gchar *uri;
+-
+- info = g_file_query_info_finish (cache_file, res, &error);
+- if (info == NULL)
+- {
+- if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
+- goto out;
+- }
+-
+- self = CC_BACKGROUND_GRILO_MINER (user_data);
+-
+- media = g_object_get_data (G_OBJECT (cache_file), "grl-media");
+- uri = grl_media_get_url (media);
+-
+- if (info != NULL)
+- {
+- g_debug ("Ignored URL '%s' as it is already in the cache", uri);
+- goto out;
+- }
+-
+- g_signal_emit (self, signals[MEDIA_FOUND], 0, media);
+-
+- out:
+- g_clear_object (&info);
+- g_clear_error (&error);
+-}
+-
+-static void
+-searched_online_source (GrlSource *source,
+- guint operation_id,
+- GrlMedia *media,
+- guint remaining,
+- gpointer user_data,
+- const GError *error)
+-{
+- CcBackgroundGriloMiner *self = CC_BACKGROUND_GRILO_MINER (user_data);
+- g_autoptr(GFile) cache_file = NULL;
+- const gchar *uri;
+- g_autofree gchar *cache_path = NULL;
+-
+- if (error != NULL)
+- {
+- const gchar *source_id;
+-
+- source_id = grl_source_get_id (source);
+- g_warning ("Error searching %s: %s", source_id, error->message);
+- grl_operation_cancel (operation_id);
+- remaining = 0;
+- goto out;
+- }
+-
+- uri = grl_media_get_url (media);
+- cache_path = bg_pictures_source_get_unique_path (uri);
+- cache_file = g_file_new_for_path (cache_path);
+- g_object_set_data_full (G_OBJECT (cache_file), "grl-media", media, g_object_unref);
+- g_file_query_info_async (cache_file,
+- G_FILE_ATTRIBUTE_STANDARD_TYPE,
+- G_FILE_QUERY_INFO_NONE,
+- G_PRIORITY_DEFAULT,
+- self->cancellable,
+- is_online_data_cached,
+- self);
+-
+- out:
+- if (remaining == 0)
+- g_object_unref (self);
+-}
+-
+-static void
+-query_online_source (CcBackgroundGriloMiner *self, GrlSource *source)
+-{
+- const GList *keys;
+- GrlCaps *caps;
+- GrlOperationOptions *options;
+-
+- keys = grl_source_supported_keys (source);
+- caps = grl_source_get_caps (source, GRL_OP_BROWSE);
+- options = grl_operation_options_new (caps);
+- grl_operation_options_set_count (options, REMOTE_ITEM_COUNT);
+- grl_operation_options_set_resolution_flags (options, GRL_RESOLVE_FAST_ONLY);
+- grl_operation_options_set_type_filter (options, GRL_TYPE_FILTER_IMAGE);
+-
+- grl_source_search (source, NULL, keys, options, searched_online_source, g_object_ref (self));
+- g_object_unref (options);
+-}
+-
+-static void
+-add_online_source_cb (CcBackgroundGriloMiner *self,
+- GrlSource *source)
+-{
+- GList *l;
+- gboolean found = FALSE;
+- const gchar *source_id;
+-
+- source_id = grl_source_get_id (source);
+- for (l = self->accounts; l != NULL && !found; l = l->next)
+- {
+- GoaObject *goa_object = GOA_OBJECT (l->data);
+- g_autofree gchar *account_id = NULL;
+-
+- account_id = get_grilo_id (goa_object);
+- if (g_strcmp0 (source_id, account_id) == 0)
+- {
+- query_online_source (self, source);
+- found = TRUE;
+- }
+- }
+-}
+-
+-static void
+-client_async_ready (GObject *source,
+- GAsyncResult *res,
+- gpointer user_data)
+-{
+- CcBackgroundGriloMiner *self;
+- g_autoptr(GError) error = NULL;
+- GList *accounts = NULL;
+- GList *photo_accounts = NULL;
+- GList *l;
+- GoaClient *client = NULL;
+- GrlRegistry *registry;
+-
+- client = goa_client_new_finish (res, &error);
+- if (client == NULL)
+- {
+- if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
+- g_warning ("Failed to create GoaClient: %s", error->message);
+- goto out;
+- }
+-
+- self = CC_BACKGROUND_GRILO_MINER (user_data);
+-
+- accounts = goa_client_get_accounts (client);
+- for (l = accounts; l != NULL; l = l->next)
+- {
+- GoaObject *goa_object = GOA_OBJECT (l->data);
+- GoaAccount *account;
+- GoaPhotos *photos;
+- const gchar *provider_type;
+-
+- account = goa_object_peek_account (goa_object);
+- provider_type = goa_account_get_provider_type (account);
+-
+- photos = goa_object_peek_photos (goa_object);
+- if (photos != NULL && g_strcmp0 (provider_type, "flickr") == 0)
+- photo_accounts = g_list_prepend (photo_accounts, g_object_ref (goa_object));
+- }
+-
+- if (photo_accounts == NULL)
+- goto out;
+-
+- registry = grl_registry_get_default ();
+-
+- for (l = photo_accounts; l != NULL; l = l->next)
+- {
+- GoaObject *goa_object = GOA_OBJECT (l->data);
+- GrlSource *source;
+- g_autofree gchar *account_id = NULL;
+-
+- account_id = get_grilo_id (goa_object);
+- source = grl_registry_lookup_source (registry, account_id);
+- if (source != NULL)
+- query_online_source (self, source);
+- }
+-
+- self->accounts = photo_accounts;
+- photo_accounts = NULL;
+-
+- g_signal_connect_object (registry, "source-added", G_CALLBACK (add_online_source_cb), self,
G_CONNECT_SWAPPED);
+-
+- out:
+- g_list_free_full (photo_accounts, g_object_unref);
+- g_list_free_full (accounts, g_object_unref);
+- g_clear_object (&client);
+-}
+-
+-static void
+-setup_online_accounts (CcBackgroundGriloMiner *self)
+-{
+- goa_client_new (self->cancellable, client_async_ready, self);
+-}
+-
+-static void
+-cc_background_grilo_miner_dispose (GObject *object)
+-{
+- CcBackgroundGriloMiner *self = CC_BACKGROUND_GRILO_MINER (object);
+-
+- if (self->cancellable)
+- {
+- g_cancellable_cancel (self->cancellable);
+- g_clear_object (&self->cancellable);
+- }
+-
+- if (self->accounts)
+- {
+- g_list_free_full (self->accounts, g_object_unref);
+- self->accounts = NULL;
+- }
+-
+- G_OBJECT_CLASS (cc_background_grilo_miner_parent_class)->dispose (object);
+-}
+-
+-static void
+-cc_background_grilo_miner_init (CcBackgroundGriloMiner *self)
+-{
+- self->cancellable = g_cancellable_new ();
+-}
+-
+-static void
+-cc_background_grilo_miner_class_init (CcBackgroundGriloMinerClass *klass)
+-{
+- g_autoptr(GError) error = NULL;
+- GObjectClass *object_class = G_OBJECT_CLASS (klass);
+- GrlRegistry *registry;
+-
+- object_class->dispose = cc_background_grilo_miner_dispose;
+-
+- signals[MEDIA_FOUND] = g_signal_new ("media-found",
+- G_TYPE_FROM_CLASS (klass),
+- G_SIGNAL_RUN_LAST,
+- 0, /* class_offset */
+- NULL, /* accumulator */
+- NULL, /* accu_data */
+- g_cclosure_marshal_VOID__OBJECT,
+- G_TYPE_NONE,
+- 1,
+- GRL_TYPE_MEDIA);
+-
+- grl_init (NULL, NULL);
+- registry = grl_registry_get_default ();
+-
+- error = NULL;
+- if (!grl_registry_load_all_plugins (registry, FALSE, &error) ||
+- !grl_registry_activate_plugin_by_id (registry, "grl-flickr", &error))
+- g_warning ("%s", error->message);
+-}
+-
+-CcBackgroundGriloMiner *
+-cc_background_grilo_miner_new (void)
+-{
+- return g_object_new (CC_TYPE_BACKGROUND_GRILO_MINER, NULL);
+-}
+-
+-void
+-cc_background_grilo_miner_start (CcBackgroundGriloMiner *self)
+-{
+- setup_online_accounts (self);
+-}
+diff --git a/panels/background/cc-background-grilo-miner.h b/panels/background/cc-background-grilo-miner.h
+deleted file mode 100644
+index b018129ae..000000000
+--- a/panels/background/cc-background-grilo-miner.h
++++ /dev/null
+@@ -1,31 +0,0 @@
+-/*
+- * Copyright (C) 2014 Red Hat, Inc.
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program; if not, see <http://www.gnu.org/licenses/>.
+- */
+-
+-#pragma once
+-
+-#include <glib-object.h>
+-
+-G_BEGIN_DECLS
+-
+-#define CC_TYPE_BACKGROUND_GRILO_MINER (cc_background_grilo_miner_get_type ())
+-G_DECLARE_FINAL_TYPE (CcBackgroundGriloMiner, cc_background_grilo_miner, CC, BACKGROUND_GRILO_MINER,
GObject);
+-
+-CcBackgroundGriloMiner *cc_background_grilo_miner_new (void);
+-
+-void cc_background_grilo_miner_start (CcBackgroundGriloMiner *self);
+-
+-G_END_DECLS
+diff --git a/panels/background/cc-background-panel.c b/panels/background/cc-background-panel.c
+index 29dedf165..3e50f506b 100644
+--- a/panels/background/cc-background-panel.c
++++ b/panels/background/cc-background-panel.c
+@@ -35,8 +35,6 @@
+ #include "cc-background-resources.h"
+ #include "cc-background-xml.h"
+
+-#include "bg-pictures-source.h"
+-
+ #define WP_PATH_ID "org.gnome.desktop.background"
+ #define WP_LOCK_PATH_ID "org.gnome.desktop.screensaver"
+ #define WP_URI_KEY "picture-uri"
+diff --git a/panels/background/meson.build b/panels/background/meson.build
+index e9fa398d4..eb5e9ec84 100644
+--- a/panels/background/meson.build
++++ b/panels/background/meson.build
+@@ -76,12 +76,10 @@ common_sources += gnome.compile_resources(
+
+ sources = common_sources + files(
+ 'bg-colors-source.c',
+- 'bg-pictures-source.c',
+ 'bg-recent-source.c',
+ 'bg-source.c',
+ 'bg-wallpapers-source.c',
+ 'cc-background-chooser.c',
+- 'cc-background-grilo-miner.c',
+ 'cc-background-item.c',
+ 'cc-background-panel.c',
+ 'cc-background-preview.c',
+@@ -91,10 +89,8 @@ sources = common_sources + files(
+ deps = common_deps + [
+ gdk_pixbuf_dep,
+ gnome_desktop_dep,
+- goa_dep,
+ libxml_dep,
+ dependency('cairo-gobject'),
+- dependency('grilo-0.3', version: '>= 0.3.0')
+ ]
+
+ cflags += [
+--
+GitLab
+
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]