summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'gnome-extra/evolution-data-server/files/evolution-data-server-2.32.1-libgdata07.patch')
-rw-r--r--gnome-extra/evolution-data-server/files/evolution-data-server-2.32.1-libgdata07.patch221
1 files changed, 0 insertions, 221 deletions
diff --git a/gnome-extra/evolution-data-server/files/evolution-data-server-2.32.1-libgdata07.patch b/gnome-extra/evolution-data-server/files/evolution-data-server-2.32.1-libgdata07.patch
deleted file mode 100644
index 7c33d9f8dae5..000000000000
--- a/gnome-extra/evolution-data-server/files/evolution-data-server-2.32.1-libgdata07.patch
+++ /dev/null
@@ -1,221 +0,0 @@
-From a4d5bf861af058b02e9ebf97136126643da0b738 Mon Sep 17 00:00:00 2001
-From: Milan Crha <mcrha@redhat.com>
-Date: Wed, 13 Oct 2010 12:22:21 +0200
-Subject: [PATCH] Bug #630358 - Google contacts doesn't sync birthday and URL
-
----
- .../backends/google/e-book-backend-google.c | 20 ++++-
- addressbook/backends/google/util.c | 82 ++++++++++++++++++++
- configure.ac | 8 +-
- 3 files changed, 105 insertions(+), 5 deletions(-)
-
-diff --git a/addressbook/backends/google/e-book-backend-google.c b/addressbook/backends/google/e-book-backend-google.c
-index 58302e3..2498f67 100644
---- a/addressbook/backends/google/e-book-backend-google.c
-+++ b/addressbook/backends/google/e-book-backend-google.c
-@@ -511,7 +511,11 @@ get_new_contacts_in_chunks (EBookBackend *backend, gint chunk_size, GError **err
- GTimeVal updated;
-
- g_assert (g_time_val_from_iso8601 (last_updated, &updated) == TRUE);
-+ #ifdef HAVE_GDATA_07
-+ gdata_query_set_updated_min (query, updated.tv_sec);
-+ #else
- gdata_query_set_updated_min (query, &updated);
-+ #endif
- gdata_contacts_query_set_show_deleted (GDATA_CONTACTS_QUERY (query), TRUE);
- }
-
-@@ -788,11 +792,18 @@ e_book_backend_google_modify_contact (EBookBackendSync *backend, EDataBook *book
- g_free (xml);
-
- /* Update the contact on the server */
-+ #ifdef HAVE_GDATA_07
-+ new_entry = gdata_service_update_entry (
-+ GDATA_SERVICE (priv->service),
-+ entry,
-+ NULL, &error);
-+ #else
- new_entry = GDATA_ENTRY (
- gdata_contacts_service_update_contact (
- GDATA_CONTACTS_SERVICE (priv->service),
- GDATA_CONTACTS_CONTACT (entry),
- NULL, &error));
-+ #endif
- g_object_unref (entry);
-
- if (!new_entry) {
-@@ -1189,6 +1200,11 @@ e_book_backend_google_get_supported_fields (EBookBackendSync *backend, EDataBook
- E_CONTACT_ORG_UNIT,
- E_CONTACT_TITLE,
- E_CONTACT_ROLE,
-+ #ifdef HAVE_GDATA_07
-+ E_CONTACT_HOMEPAGE_URL,
-+ E_CONTACT_BLOG_URL,
-+ E_CONTACT_BIRTH_DATE,
-+ #endif
- E_CONTACT_NOTE
- };
-
-@@ -1470,7 +1486,7 @@ data_book_error_from_gdata_error (GError **dest_err, GError *error)
- g_propagate_error (dest_err, EDB_ERROR (REPOSITORY_OFFLINE));
- return;
- case GDATA_SERVICE_ERROR_PROTOCOL_ERROR:
-- g_propagate_error (dest_err, EDB_ERROR (INVALID_QUERY));
-+ g_propagate_error (dest_err, e_data_book_create_error (E_DATA_BOOK_STATUS_INVALID_QUERY, error->message));
- return;
- case GDATA_SERVICE_ERROR_ENTRY_ALREADY_INSERTED:
- g_propagate_error (dest_err, EDB_ERROR (CONTACTID_ALREADY_EXISTS));
-@@ -1488,7 +1504,7 @@ data_book_error_from_gdata_error (GError **dest_err, GError *error)
- g_propagate_error (dest_err, EDB_ERROR (QUERY_REFUSED));
- return;
- case GDATA_SERVICE_ERROR_BAD_QUERY_PARAMETER:
-- g_propagate_error (dest_err, EDB_ERROR (INVALID_QUERY));
-+ g_propagate_error (dest_err, e_data_book_create_error (E_DATA_BOOK_STATUS_INVALID_QUERY, error->message));
- return;
- default:
- break;
-diff --git a/addressbook/backends/google/util.c b/addressbook/backends/google/util.c
-index e3e7166..56c5367 100644
---- a/addressbook/backends/google/util.c
-+++ b/addressbook/backends/google/util.c
-@@ -20,6 +20,7 @@
- * Author: Joergen Scheibengruber <joergen.scheibengruber AT googlemail.com>
- */
-
-+#include <config.h>
- #include <string.h>
- #include <libsoup/soup.h>
- #include <gdata/gdata.h>
-@@ -69,6 +70,10 @@ _gdata_entry_update_from_e_contact (GDataEntry *entry, EContact *contact)
- gboolean have_postal_primary = FALSE;
- gboolean have_org_primary = FALSE;
- const gchar *title, *role, *note;
-+ #ifdef HAVE_GDATA_07
-+ EContactDate *bdate;
-+ const gchar *url;
-+ #endif
-
- attributes = e_vcard_get_attributes (E_VCARD (contact));
-
-@@ -214,6 +219,40 @@ _gdata_entry_update_from_e_contact (GDataEntry *entry, EContact *contact)
- gdata_gd_organization_set_job_description (org, role);
- }
-
-+ #ifdef HAVE_GDATA_07
-+ gdata_contacts_contact_remove_all_websites (GDATA_CONTACTS_CONTACT (entry));
-+
-+ url = e_contact_get_const (contact, E_CONTACT_HOMEPAGE_URL);
-+ if (url && *url) {
-+ GDataGContactWebsite *website = gdata_gcontact_website_new (url, GDATA_GCONTACT_WEBSITE_HOME_PAGE, NULL, FALSE);
-+ if (website) {
-+ gdata_contacts_contact_add_website (GDATA_CONTACTS_CONTACT (entry), website);
-+ g_object_unref (website);
-+ }
-+ }
-+
-+ url = e_contact_get_const (contact, E_CONTACT_BLOG_URL);
-+ if (url && *url) {
-+ GDataGContactWebsite *website = gdata_gcontact_website_new (url, GDATA_GCONTACT_WEBSITE_BLOG, NULL, FALSE);
-+ if (website) {
-+ gdata_contacts_contact_add_website (GDATA_CONTACTS_CONTACT (entry), website);
-+ g_object_unref (website);
-+ }
-+ }
-+
-+ gdata_contacts_contact_set_birthday (GDATA_CONTACTS_CONTACT (entry), NULL, TRUE);
-+ bdate = e_contact_get (contact, E_CONTACT_BIRTH_DATE);
-+ if (bdate) {
-+ GDate *gdate = g_date_new_dmy (bdate->day, bdate->month, bdate->year);
-+
-+ if (gdate) {
-+ gdata_contacts_contact_set_birthday (GDATA_CONTACTS_CONTACT (entry), gdate, TRUE);
-+ g_date_free (gdate);
-+ }
-+ e_contact_date_free (bdate);
-+ }
-+ #endif
-+
- return TRUE;
- }
-
-@@ -241,6 +280,11 @@ _e_contact_new_from_gdata_entry (GDataEntry *entry)
- GDataGDPostalAddress *postal_address;
- GDataGDOrganization *org;
- GHashTable *extended_props;
-+ #ifdef HAVE_GDATA_07
-+ GList *websites;
-+ GDate bdate;
-+ gboolean bdate_has_year;
-+ #endif
-
- uid = gdata_entry_get_id (entry);
- if (NULL == uid)
-@@ -352,6 +396,44 @@ _e_contact_new_from_gdata_entry (GDataEntry *entry)
- extended_props = gdata_contacts_contact_get_extended_properties (GDATA_CONTACTS_CONTACT (entry));
- g_hash_table_foreach (extended_props, (GHFunc) foreach_extended_props_cb, vcard);
-
-+ #ifdef HAVE_GDATA_07
-+ websites = gdata_contacts_contact_get_websites (GDATA_CONTACTS_CONTACT (entry));
-+ for (itr = websites; itr != NULL; itr = itr->next) {
-+ GDataGContactWebsite *website = itr->data;
-+ const gchar *uri, *reltype;
-+
-+ if (!website)
-+ continue;
-+
-+ uri = gdata_gcontact_website_get_uri (website);
-+ reltype = gdata_gcontact_website_get_relation_type (website);
-+
-+ if (!uri || !*uri || !reltype)
-+ continue;
-+
-+ if (g_str_equal (reltype, GDATA_GCONTACT_WEBSITE_HOME_PAGE))
-+ e_contact_set (E_CONTACT (vcard), E_CONTACT_HOMEPAGE_URL, uri);
-+ else if (g_str_equal (reltype, GDATA_GCONTACT_WEBSITE_BLOG))
-+ e_contact_set (E_CONTACT (vcard), E_CONTACT_BLOG_URL, uri);
-+ }
-+
-+ g_date_clear (&bdate, 1);
-+ bdate_has_year = gdata_contacts_contact_get_birthday (GDATA_CONTACTS_CONTACT (entry), &bdate);
-+ /* ignore birthdays without year */
-+ if (g_date_valid (&bdate) && bdate_has_year) {
-+ EContactDate *date = e_contact_date_new ();
-+
-+ if (date) {
-+ date->day = g_date_get_day (&bdate);
-+ date->month = g_date_get_month (&bdate);
-+ date->year = g_date_get_year (&bdate);
-+
-+ e_contact_set (E_CONTACT (vcard), E_CONTACT_BIRTH_DATE, date);
-+ e_contact_date_free (date);
-+ }
-+ }
-+ #endif
-+
- return E_CONTACT (vcard);
- }
-
-diff --git a/configure.ac b/configure.ac
-index 88b6811..b41fbcc 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -325,11 +325,13 @@ PKG_CHECK_MODULES(GNOME_PLATFORM,
- libsoup-2.4 >= libsoup_minimum_version
- libgdata >= libgdata_minimum_version])
-
--dnl libgdata 0.7 will break API. We're not going to deal with
--dnl that on a stable branch, so cap the supported version.
-+ac_cv_have_gdata_07=no
-+dnl libgdata 0.7 breaks API, thus deal with it.
- if $PKG_CONFIG --atleast-version=0.7 libgdata; then
-- AC_MSG_ERROR([libgdata 0.7 is not supported, use 0.6 instead])
-+ ac_cv_have_gdata_07=yes
-+ AC_DEFINE(HAVE_GDATA_07, 1, [libgdata is 0.7 or higher])
- fi
-+AC_MSG_RESULT([$ac_cv_have_gdata_07])
-
- LIBICAL_REQUIRED=libical_minimum_version
- AC_SUBST(LIBICAL_REQUIRED)
---
-1.7.3.4
-