summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick McLean <chutzpah@gentoo.org>2013-06-20 16:45:51 -0700
committerPatrick McLean <chutzpah@gentoo.org>2013-06-20 16:45:51 -0700
commit618975b3c1cb81971452a2264f1b710f2d503cf8 (patch)
treee3754554605eec3441d01582ef5ae7753cbec8d8
parentupdate pidgin (diff)
downloadchutzpah-618975b3c1cb81971452a2264f1b710f2d503cf8.tar.gz
chutzpah-618975b3c1cb81971452a2264f1b710f2d503cf8.tar.bz2
chutzpah-618975b3c1cb81971452a2264f1b710f2d503cf8.zip
add in the eds patch from upstream, un-bzipped (?!?!)
-rw-r--r--net-im/pidgin/Manifest3
-rw-r--r--net-im/pidgin/files/pidgin-eds-3.6.patch330
-rw-r--r--net-im/pidgin/pidgin-2.10.7-r2.ebuild2
3 files changed, 333 insertions, 2 deletions
diff --git a/net-im/pidgin/Manifest b/net-im/pidgin/Manifest
index 8b116b8..74ab887 100644
--- a/net-im/pidgin/Manifest
+++ b/net-im/pidgin/Manifest
@@ -3,6 +3,7 @@ AUX pidgin-2.10.0-networkmanager-0.9.patch 1994 SHA256 d91ce4a7236ea9b0bc730ec07
AUX pidgin-2.10.0-utf8-validation.patch 908 SHA256 288acd1f638fa1e21e216d48f308ef5f0397ddea2c1309e767391411ab02fbf4 SHA512 605f95955a7b813465607966dece36db7b8e91b27c8d73caeb29159f4b3de0b6906be718aab537dbab1f1f9fca8afc7b0ca7b5827122dd30503e19fae02e9bcd WHIRLPOOL 01b1985dd8b9985dd2331c316d74823eb7a0cf2bd7bdbac2a1da232bf96a363f89b2b6ccf0c20d6bd7eb67c9299ed5b27018b23e87154d90a33ebbd6c0ea9242
AUX pidgin-2.10.7-fix-cap.patch 692 SHA256 4dbf4e8123d7b7550f99fb5b8fb97e98b44551750436ca5327f8257438400dcd SHA512 0a1dc0ceaf78416ecd409a4bdcecef83a48cbdea50314d55a6cb1e1cad06775e1e8ac23f069ef4ed8ca8b4f3bb99f184804fddf7812adfcba8c8920a9c6efdbc WHIRLPOOL 8beca2bcb10380034ccd461559e7504922613de19649ca045e88c19de452bc4beb4b47c4b9976cf24854edf502ce11e74de00f5add86025c4bd066e17e85a962
AUX pidgin-2.10.7-link_sasl_in_irc_plugin.patch 642 SHA256 8f91df48549004c80d5989bfdcc11f7a7805f3770b6aa2a5676d86eb334cf5b8 SHA512 3bc39f994473e01ab532e804481a858b0e1ddc3252a27fc29cb32c550e207699ee39da0057b6e86f4a33870b29f44b701a1614e93ff223930208ef0e8061fed1 WHIRLPOOL 5d0ce684e06fbe8c507310947696fed1910f631f93b0e71fc44610e06c6b1d93b966af89d4def15d8fcaa1b11001ab7066e94c732f58423046bc9e645816a91e
+AUX pidgin-eds-3.6.patch 9895 SHA256 f7dcb08b14cbb2320a01afb59a815f8e11890cf9c4134e59f5551d60950b0feb SHA512 a936ef9c92f90ae6f82b41637bfb5434aaec459b5ebaf679676e1a5035a84ff88edad9a55aa09e8939c47b8634018036a62457b5dee6db821c63aba104b938a0 WHIRLPOOL 89b915ca597a44af6775c40a99e0cdd169c3e2737e356d6ecaf1eefb82439062ba2c902650c8fa82efbbce1fb6d14086204bd52abdf6da29de8d11576f1b26dd
AUX pidgin-gnome-keyring-2.patch 7680 SHA256 aae63e57a7dc50b1232a606f7824dc655f561ed5ff7ef36607e18a18c98aa221 SHA512 e6c93e4c5fc0ea283b8e5b9d660cfb5e8ab502ebda115a95d900f8d864d35098658b3b98b79e26e8aa26f60e63a89bc748778c5188d5c1013c861148b786d669 WHIRLPOOL 09104c9f2dde20e034272b940a92a9339a3fb5e253d265a489c68f27ccb6d9195835a97aefcb29db3f5f9553e3a230b9daf3c4dfa2be1cfb00787402b3406456
DIST pidgin-2.10.7.tar.bz2 10069279 SHA256 eba32994eca20d1cf24a4261b059b2de71a1ec2dd0926e904074b0db49f7f192 SHA512 0f0d421f91be3b1577527f3609bff164d7c57a94338e18dca5d8b7d911634a98b9c0e8860f3e62026eba09a6afb3112a8cd6770a90c89afdb9fb40f83dd6f3e4 WHIRLPOOL 025a392ab069817e2fea07d0e9e7efeee006eaf4ce2e6571c49b851735309f3346bfdbf34c874f55b440b71fbbba0ac55029da727b1f731175d72efb2e74f3b4
-EBUILD pidgin-2.10.7-r2.ebuild 7402 SHA256 0a6a7906df1d135e32224da6ba8dab510bf5f899b684a08cf9058d82fb8f8678 SHA512 f31d7e40d98da70a0f6984e8426a1c61732bfbe863b1fe3d54cb677920d0f197a98dd02794438b7d1d11b3c90e04bef9952d005222bb8b4009fbe7a90c37863c WHIRLPOOL 657edb183841f37081ee0516bf8bb1489bb8b2f09536fe2f9e56b2d3be242212d4d11d1cca18bd047685c08151c2dabf30216c40bd73a00743dc1e91357d5518
+EBUILD pidgin-2.10.7-r2.ebuild 7398 SHA256 293abf9d22387c476eb121b876aa7224b713b54c27a871c49928320f067f6ff9 SHA512 dc730b1b2fd3fbeed19a87a918dba1a48dec9c09693c01f4a5fe912a824fbe2886d77929eb16be0567921323a24a11b45348bea9c8460edea041e71bb9a8e657 WHIRLPOOL 222d863c0ac110bcaffac671204bfa66dd642d3f871bd2fbfef1d336d838311ede5fdfab130e44e3eb83b3711cf8b10972374dfe9ff7ac087048f678393e1de0
diff --git a/net-im/pidgin/files/pidgin-eds-3.6.patch b/net-im/pidgin/files/pidgin-eds-3.6.patch
new file mode 100644
index 0000000..b217907
--- /dev/null
+++ b/net-im/pidgin/files/pidgin-eds-3.6.patch
@@ -0,0 +1,330 @@
+diff --git a/pidgin/plugins/gevolution/add_buddy_dialog.c b/pidgin/plugins/gevolution/add_buddy_dialog.c
+index 0169847..216bce2 100644
+--- a/pidgin/plugins/gevolution/add_buddy_dialog.c
++++ b/pidgin/plugins/gevolution/add_buddy_dialog.c
+@@ -227,7 +227,7 @@ add_ims(GevoAddBuddyDialog *dialog, EContact *contact, const char *name,
+ }
+
+ static void
+-populate_treeview(GevoAddBuddyDialog *dialog, const gchar *uri)
++populate_treeview(GevoAddBuddyDialog *dialog, const gchar *uid)
+ {
+ EBookQuery *query;
+ EBook *book;
+@@ -250,7 +250,7 @@ populate_treeview(GevoAddBuddyDialog *dialog, const gchar *uri)
+
+ gtk_list_store_clear(dialog->model);
+
+- if (!gevo_load_addressbook(uri, &book, &err))
++ if (!gevo_load_addressbook(uid, &book, &err))
+ {
+ purple_debug_error("evolution",
+ "Error retrieving default addressbook: %s\n", err->message);
+@@ -333,16 +333,16 @@ static void
+ addrbook_change_cb(GtkComboBox *combo, GevoAddBuddyDialog *dialog)
+ {
+ GtkTreeIter iter;
+- const char *esource_uri;
++ const char *esource_uid;
+
+ if (!gtk_combo_box_get_active_iter(combo, &iter))
+ return;
+
+ gtk_tree_model_get(GTK_TREE_MODEL(dialog->addrbooks), &iter,
+- ADDRBOOK_COLUMN_URI, &esource_uri,
++ ADDRBOOK_COLUMN_UID, &esource_uid,
+ -1);
+
+- populate_treeview(dialog, esource_uri);
++ populate_treeview(dialog, esource_uid);
+ }
+
+ static void
+diff --git a/pidgin/plugins/gevolution/assoc-buddy.c b/pidgin/plugins/gevolution/assoc-buddy.c
+index cbe5f90..ae18feb 100644
+--- a/pidgin/plugins/gevolution/assoc-buddy.c
++++ b/pidgin/plugins/gevolution/assoc-buddy.c
+@@ -130,7 +130,7 @@ add_columns(GevoAssociateBuddyDialog *dialog)
+ }
+
+ static void
+-populate_treeview(GevoAssociateBuddyDialog *dialog, const gchar *uri)
++populate_treeview(GevoAssociateBuddyDialog *dialog, const gchar *uid)
+ {
+ EBook *book;
+ EBookQuery *query;
+@@ -154,7 +154,7 @@ populate_treeview(GevoAssociateBuddyDialog *dialog, const gchar *uri)
+
+ gtk_list_store_clear(dialog->model);
+
+- if (!gevo_load_addressbook(uri, &book, &err))
++ if (!gevo_load_addressbook(uid, &book, &err))
+ {
+ purple_debug_error("evolution",
+ "Error retrieving addressbook: %s\n", err->message);
+@@ -241,16 +241,16 @@ static void
+ addrbook_change_cb(GtkComboBox *combo, GevoAssociateBuddyDialog *dialog)
+ {
+ GtkTreeIter iter;
+- const char *esource_uri;
++ const char *esource_uid;
+
+ if (!gtk_combo_box_get_active_iter(combo, &iter))
+ return;
+
+ gtk_tree_model_get(GTK_TREE_MODEL(dialog->addrbooks), &iter,
+- ADDRBOOK_COLUMN_URI, &esource_uri,
++ ADDRBOOK_COLUMN_UID, &esource_uid,
+ -1);
+
+- populate_treeview(dialog, esource_uri);
++ populate_treeview(dialog, esource_uid);
+ }
+
+ static void
+diff --git a/pidgin/plugins/gevolution/eds-utils.c b/pidgin/plugins/gevolution/eds-utils.c
+index 0ecb286..dbd9b76 100644
+--- a/pidgin/plugins/gevolution/eds-utils.c
++++ b/pidgin/plugins/gevolution/eds-utils.c
+@@ -52,9 +52,9 @@ gevo_addrbooks_model_unref(GtkTreeModel *model)
+ void
+ gevo_addrbooks_model_populate(GtkTreeModel *model)
+ {
+- ESourceList *addressbooks;
++ ESourceRegistry *registry;
+ GError *err = NULL;
+- GSList *groups, *g;
++ GList *sources, *s;
+ GtkTreeIter iter;
+ GtkListStore *list;
+
+@@ -63,7 +63,9 @@ gevo_addrbooks_model_populate(GtkTreeModel *model)
+
+ list = GTK_LIST_STORE(model);
+
+- if (!e_book_get_addressbooks(&addressbooks, &err))
++ registry = e_source_registry_new_sync(NULL, &err);
++
++ if (!registry)
+ {
+ purple_debug_error("evolution",
+ "Unable to fetch list of address books.\n");
+@@ -71,57 +73,53 @@ gevo_addrbooks_model_populate(GtkTreeModel *model)
+ gtk_list_store_append(list, &iter);
+ gtk_list_store_set(list, &iter,
+ ADDRBOOK_COLUMN_NAME, _("None"),
+- ADDRBOOK_COLUMN_URI, NULL,
++ ADDRBOOK_COLUMN_UID, NULL,
+ -1);
+
++ g_clear_error(&err);
+ return;
+ }
+
+- groups = e_source_list_peek_groups(addressbooks);
++ sources = e_source_registry_list_sources(registry, E_SOURCE_EXTENSION_ADDRESS_BOOK);
+
+- if (groups == NULL)
++ if (sources == NULL)
+ {
++ g_object_unref(registry);
+ gtk_list_store_append(list, &iter);
+ gtk_list_store_set(list, &iter,
+ ADDRBOOK_COLUMN_NAME, _("None"),
+- ADDRBOOK_COLUMN_URI, NULL,
++ ADDRBOOK_COLUMN_UID, NULL,
+ -1);
+
+ return;
+ }
+
+- for (g = groups; g != NULL; g = g->next)
++ for (s = sources; s != NULL; s = s->next)
+ {
+- GSList *sources, *s;
+-
+- sources = e_source_group_peek_sources(g->data);
+-
+- for (s = sources; s != NULL; s = s->next)
+- {
+- ESource *source = E_SOURCE(s->data);
++ ESource *source = E_SOURCE(s->data);
+
+- g_object_ref(source);
++ g_object_ref(source);
+
+- gtk_list_store_append(list, &iter);
+- gtk_list_store_set(list, &iter,
+- ADDRBOOK_COLUMN_NAME, e_source_peek_name(source),
+- ADDRBOOK_COLUMN_URI, e_source_get_uri(source),
+- -1);
+- }
++ gtk_list_store_append(list, &iter);
++ gtk_list_store_set(list, &iter,
++ ADDRBOOK_COLUMN_NAME, e_source_get_display_name(source),
++ ADDRBOOK_COLUMN_UID, e_source_get_uid(source),
++ -1);
+ }
+
+- g_object_unref(addressbooks);
++ g_object_unref(registry);
++ g_list_free_full(sources, g_object_unref);
+ }
+
+ static EContact *
+-gevo_run_query_in_uri(const gchar *uri, EBookQuery *query)
++gevo_run_query_in_source(ESource *source, EBookQuery *query)
+ {
+ EBook *book;
+ gboolean status;
+ GList *cards;
+ GError *err = NULL;
+
+- if (!gevo_load_addressbook(uri, &book, &err))
++ if (!gevo_load_addressbook_from_source(source, &book, &err))
+ {
+ purple_debug_error("evolution",
+ "Error retrieving addressbook: %s\n", err->message);
+@@ -172,10 +170,10 @@ gevo_run_query_in_uri(const gchar *uri, EBookQuery *query)
+ EContact *
+ gevo_search_buddy_in_contacts(PurpleBuddy *buddy, EBookQuery *query)
+ {
+- ESourceList *addressbooks;
++ ESourceRegistry *registry;
+ GError *err = NULL;
+ EBookQuery *full_query;
+- GSList *groups, *g;
++ GList *sources, *s;
+ EContact *result;
+ EContactField protocol_field = gevo_prpl_get_field(buddy->account, buddy);
+
+@@ -207,7 +205,9 @@ gevo_search_buddy_in_contacts(PurpleBuddy *buddy, EBookQuery *query)
+ }
+ }
+
+- if (!e_book_get_addressbooks(&addressbooks, &err))
++ registry = e_source_registry_new_sync(NULL, &err);
++
++ if (!registry)
+ {
+ purple_debug_error("evolution",
+ "Unable to fetch list of address books.\n");
+@@ -217,30 +217,21 @@ gevo_search_buddy_in_contacts(PurpleBuddy *buddy, EBookQuery *query)
+ return NULL;
+ }
+
+- groups = e_source_list_peek_groups(addressbooks);
+- if (groups == NULL)
+- {
+- g_object_unref(addressbooks);
+- e_book_query_unref(full_query);
+- return NULL;
+- }
++ sources = e_source_registry_list_sources(registry, E_SOURCE_EXTENSION_ADDRESS_BOOK);
+
+- for (g = groups; g != NULL; g = g->next)
++ for (s = sources; s != NULL; s = s->next)
+ {
+- GSList *sources, *s;
+- sources = e_source_group_peek_sources(g->data);
+- for (s = sources; s != NULL; s = s->next)
+- {
+- result = gevo_run_query_in_uri(e_source_get_uri(E_SOURCE(s->data)), full_query);
+- if (result != NULL) {
+- g_object_unref(addressbooks);
+- e_book_query_unref(full_query);
+- return result;
+- }
++ result = gevo_run_query_in_source(E_SOURCE(s->data), full_query);
++ if (result != NULL) {
++ g_object_unref(registry);
++ g_list_free_full(sources, g_object_unref);
++ e_book_query_unref(full_query);
++ return result;
+ }
+ }
+
+- g_object_unref(addressbooks);
++ g_object_unref(registry);
++ g_list_free_full(sources, g_object_unref);
+ e_book_query_unref(full_query);
+ return NULL;
+ }
+diff --git a/pidgin/plugins/gevolution/gevo-util.c b/pidgin/plugins/gevolution/gevo-util.c
+index 8f97a7d..23ac7ed 100644
+--- a/pidgin/plugins/gevolution/gevo-util.c
++++ b/pidgin/plugins/gevolution/gevo-util.c
+@@ -124,16 +124,39 @@ gevo_prpl_is_supported(PurpleAccount *account, PurpleBuddy *buddy)
+ }
+
+ gboolean
+-gevo_load_addressbook(const gchar* uri, EBook **book, GError **error)
++gevo_load_addressbook(const gchar* uid, EBook **book, GError **error)
+ {
+ gboolean result = FALSE;
++ ESourceRegistry *registry;
++ ESource *source;
+
+ g_return_val_if_fail(book != NULL, FALSE);
+
+- if (uri == NULL)
+- *book = e_book_new_system_addressbook(error);
++ registry = e_source_registry_new_sync(NULL, error);
++
++ if (!registry)
++ return FALSE;
++
++ if (uid == NULL)
++ source = e_source_registry_ref_default_address_book(registry);
+ else
+- *book = e_book_new_from_uri(uri, error);
++ source = e_source_registry_ref_source(registry, uid);
++
++ g_object_unref(registry);
++
++ result = gevo_load_addressbook_from_source(source, book, error);
++
++ g_object_unref(source);
++
++ return result;
++}
++
++gboolean
++gevo_load_addressbook_from_source(ESource *source, EBook **book, GError **error)
++{
++ gboolean result = FALSE;
++
++ *book = e_book_new(source, error);
+
+ if (*book == NULL)
+ return FALSE;
+diff --git a/pidgin/plugins/gevolution/gevolution.h b/pidgin/plugins/gevolution/gevolution.h
+index 1b92b2b..1bd5208 100644
+--- a/pidgin/plugins/gevolution/gevolution.h
++++ b/pidgin/plugins/gevolution/gevolution.h
+@@ -25,12 +25,12 @@
+ # include "config.h"
+ #endif
+
+-#include <libebook/e-book.h>
++#include <libebook/libebook.h>
+
+ enum
+ {
+ ADDRBOOK_COLUMN_NAME,
+- ADDRBOOK_COLUMN_URI,
++ ADDRBOOK_COLUMN_UID,
+ NUM_ADDRBOOK_COLUMNS
+ };
+
+@@ -123,7 +123,9 @@ GList *gevo_get_groups(void);
+
+ EContactField gevo_prpl_get_field(PurpleAccount *account, PurpleBuddy *buddy);
+ gboolean gevo_prpl_is_supported(PurpleAccount *account, PurpleBuddy *buddy);
+-gboolean gevo_load_addressbook(const gchar *uri, EBook **book, GError **error);
++gboolean gevo_load_addressbook(const gchar *uid, EBook **book, GError **error);
++gboolean gevo_load_addressbook_from_source(ESource *source, EBook **book,
++ GError **error);
+ char *gevo_get_email_for_buddy(PurpleBuddy *buddy);
+
+ GevoAssociateBuddyDialog *gevo_associate_buddy_dialog_new(PurpleBuddy *buddy);
diff --git a/net-im/pidgin/pidgin-2.10.7-r2.ebuild b/net-im/pidgin/pidgin-2.10.7-r2.ebuild
index 8ec0371..338cf44 100644
--- a/net-im/pidgin/pidgin-2.10.7-r2.ebuild
+++ b/net-im/pidgin/pidgin-2.10.7-r2.ebuild
@@ -141,7 +141,7 @@ src_prepare() {
epatch "${FILESDIR}/${PN}-2.10.0-gold.patch" \
"${FILESDIR}/${P}-fix-cap.patch" \
"${FILESDIR}/${P}-link_sasl_in_irc_plugin.patch" \
- "${FILESDIR}/${PN}-eds-3.6.patch.bz2"
+ "${FILESDIR}/${PN}-eds-3.6.patch"
epatch_user