diff --git a/evolution-data-server-3.7.90-decls.patch b/evolution-data-server-3.7.90-decls.patch new file mode 100644 index 0000000..f3d8fd5 --- /dev/null +++ b/evolution-data-server-3.7.90-decls.patch @@ -0,0 +1,79 @@ +diff -up evolution-data-server-3.7.90/addressbook/libebook/e-book-types.h.decls evolution-data-server-3.7.90/addressbook/libebook/e-book-types.h +--- evolution-data-server-3.7.90/addressbook/libebook/e-book-types.h.decls 2013-02-21 10:46:34.750149942 +0100 ++++ evolution-data-server-3.7.90/addressbook/libebook/e-book-types.h 2013-02-21 10:47:00.399424482 +0100 +@@ -56,5 +56,6 @@ typedef enum { + #define E_BOOK_ERROR_CORBA_EXCEPTION E_BOOK_ERROR_DBUS_EXCEPTION + #endif + ++G_END_DECLS + + #endif /* __E_BOOK_TYPES_H__ */ +diff -up evolution-data-server-3.7.90/camel/camel-db.h.decls evolution-data-server-3.7.90/camel/camel-db.h +--- evolution-data-server-3.7.90/camel/camel-db.h.decls 2013-02-21 10:44:29.371807602 +0100 ++++ evolution-data-server-3.7.90/camel/camel-db.h 2013-02-21 10:44:41.492935929 +0100 +@@ -10,6 +10,8 @@ + #include + #include + ++G_BEGIN_DECLS ++ + /** + * CAMEL_DB_FILE: + * +@@ -320,4 +322,6 @@ gint camel_db_write_preview_record (Came + gint + camel_db_reset_folder_version (CamelDB *cdb, const gchar *folder_name, gint reset_version, GError **error); + ++G_END_DECLS ++ + #endif +diff -up evolution-data-server-3.7.90/camel/camel-imapx-conn-manager.h.decls evolution-data-server-3.7.90/camel/camel-imapx-conn-manager.h +--- evolution-data-server-3.7.90/camel/camel-imapx-conn-manager.h.decls 2013-02-21 10:44:16.892675726 +0100 ++++ evolution-data-server-3.7.90/camel/camel-imapx-conn-manager.h 2013-02-21 10:44:41.493935909 +0100 +@@ -28,6 +28,8 @@ + + #include "camel-imapx-server.h" + ++G_BEGIN_DECLS ++ + /* Standard GObject macros */ + #define CAMEL_TYPE_IMAPX_CONN_MANAGER \ + (camel_imapx_conn_manager_get_type ()) +@@ -80,4 +82,6 @@ void camel_imapx_conn_manager_update_co + CamelIMAPXServer *server, + const gchar *folder_name); + ++G_END_DECLS ++ + #endif /* _CAMEL_IMAPX_SERVER_H */ +diff -up evolution-data-server-3.7.90/camel/camel-imapx-search.h.decls evolution-data-server-3.7.90/camel/camel-imapx-search.h +--- evolution-data-server-3.7.90/camel/camel-imapx-search.h.decls 2013-02-21 10:46:52.966345012 +0100 ++++ evolution-data-server-3.7.90/camel/camel-imapx-search.h 2013-02-21 10:47:24.063681666 +0100 +@@ -76,5 +76,7 @@ CamelIMAPXServer * + void camel_imapx_search_set_server (CamelIMAPXSearch *search, + CamelIMAPXServer *server); + ++G_END_DECLS ++ + #endif /* CAMEL_IMAPX_SEARCH_H */ + +diff -up evolution-data-server-3.7.90/camel/camel-imapx-utils.h.decls evolution-data-server-3.7.90/camel/camel-imapx-utils.h +--- evolution-data-server-3.7.90/camel/camel-imapx-utils.h.decls 2013-02-21 10:44:04.866548837 +0100 ++++ evolution-data-server-3.7.90/camel/camel-imapx-utils.h 2013-02-21 10:44:41.493935909 +0100 +@@ -26,6 +26,8 @@ + + #include + ++G_BEGIN_DECLS ++ + struct _CamelIMAPXStream; + struct _CamelFlag; + struct _CamelIMAPXNamespaceList; +@@ -398,5 +400,7 @@ struct _CamelIMAPXNamespaceList * + struct _CamelIMAPXNamespaceList * + camel_imapx_namespace_list_copy (const struct _CamelIMAPXNamespaceList *nsl); + ++G_END_DECLS ++ + #endif /* CAMEL_IMAPX_UTILS_H */ + diff --git a/evolution-data-server-3.7.90-imapx.patch b/evolution-data-server-3.7.90-imapx.patch new file mode 100644 index 0000000..1199882 --- /dev/null +++ b/evolution-data-server-3.7.90-imapx.patch @@ -0,0 +1,68 @@ +diff --git a/camel/camel-imapx-command.c b/camel/camel-imapx-command.c +index de1de70..e1ebf00 100644 +--- a/camel/camel-imapx-command.c ++++ b/camel/camel-imapx-command.c +@@ -581,6 +581,8 @@ gboolean + camel_imapx_command_set_error_if_failed (CamelIMAPXCommand *ic, + GError **error) + { ++ CamelIMAPXJob *job; ++ + g_return_val_if_fail (CAMEL_IS_IMAPX_COMMAND (ic), FALSE); + + if (ic->status != NULL && ic->status->result != IMAPX_OK) { +@@ -595,6 +597,10 @@ camel_imapx_command_set_error_if_failed (CamelIMAPXCommand *ic, + return TRUE; + } + ++ job = camel_imapx_command_get_job (ic); ++ if (job && g_cancellable_set_error_if_cancelled (camel_imapx_job_get_cancellable (job), error)) ++ return TRUE; ++ + return FALSE; + } + +diff --git a/camel/camel-imapx-job.c b/camel/camel-imapx-job.c +index 244afcd..a91e0ae 100644 +--- a/camel/camel-imapx-job.c ++++ b/camel/camel-imapx-job.c +@@ -337,3 +337,14 @@ camel_imapx_job_set_folder (CamelIMAPXJob *job, + g_mutex_unlock (&real_job->folder_lock); + } + ++GCancellable * ++camel_imapx_job_get_cancellable (CamelIMAPXJob *job) ++{ ++ CamelIMAPXRealJob *real_job; ++ ++ g_return_val_if_fail (CAMEL_IS_IMAPX_JOB (job), NULL); ++ ++ real_job = (CamelIMAPXRealJob *) job; ++ ++ return real_job->cancellable; ++} +diff --git a/camel/camel-imapx-job.h b/camel/camel-imapx-job.h +index 9b12fdb..a6fbec8 100644 +--- a/camel/camel-imapx-job.h ++++ b/camel/camel-imapx-job.h +@@ -80,6 +80,7 @@ gboolean camel_imapx_job_has_folder (CamelIMAPXJob *job, + CamelFolder * camel_imapx_job_ref_folder (CamelIMAPXJob *job); + void camel_imapx_job_set_folder (CamelIMAPXJob *job, + CamelFolder *folder); ++GCancellable * camel_imapx_job_get_cancellable (CamelIMAPXJob *job); + + G_END_DECLS + +diff --git a/camel/camel-imapx-server.c b/camel/camel-imapx-server.c +index 33d5618..099f689 100644 +--- a/camel/camel-imapx-server.c ++++ b/camel/camel-imapx-server.c +@@ -6683,7 +6682,7 @@ cancel_all_jobs (CamelIMAPXServer *is, + /* Send a NULL GError since we already cancelled + * the job and we're not interested in individual + * command errors. */ +- ic->complete (is, ic, NULL, NULL); ++ ic->complete (is, ic, camel_imapx_job_get_cancellable (job), NULL); + } + + camel_imapx_command_queue_free (queue); diff --git a/evolution-data-server.spec b/evolution-data-server.spec index f3c63a6..690f925 100644 --- a/evolution-data-server.spec +++ b/evolution-data-server.spec @@ -27,7 +27,7 @@ Name: evolution-data-server Version: 3.7.90 -Release: 2%{?dist} +Release: 3%{?dist} Group: System Environment/Libraries Summary: Backend data server for Evolution License: LGPLv2+ @@ -44,6 +44,8 @@ Obsoletes: evolution-webcal < 2.24.0 Patch01: evolution-data-server-1.11.5-fix-64bit-acinclude.patch Patch02: evolution-data-server-3.7.90-pc-files-fix.patch +Patch03: evolution-data-server-3.7.90-imapx.patch +Patch04: evolution-data-server-3.7.90-decls.patch ### Build Dependencies ### @@ -121,6 +123,8 @@ This package contains developer documentation for %{name}. %patch01 -p1 -b .fix-64bit-acinclude %patch02 -p1 -b .pc-files-fix +%patch03 -p1 -b .imapx +%patch04 -p1 -b .decls mkdir -p krb5-fakeprefix/include mkdir -p krb5-fakeprefix/lib @@ -368,6 +372,10 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || : %{_datadir}/gtk-doc/html/libedataserver %changelog +* Thu Feb 21 2013 Milan Crha - 3.7.90-3 +- Add patch gor GNOME bug #693101 (IMAPx vanishes folder summary) +- Add patch for Red Hat bug #912503 (incorrect G_BEGIN/END_DECLS) + * Mon Feb 18 2013 Milan Crha - 3.7.90-2 - Add an upstream .pc files fix for a libebook split