--- /dev/null
+From 5083b22669f0d2102b72956a2b8afd9432303ce5 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Tue, 27 Nov 2012 08:46:51 +0100
+Subject: [PATCH] soup: adapt to new libxml2 API from 2.9.0
+
+* for more info see
+ https://mail.gnome.org/archives/xml/2012-August/msg00005.html
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ calendar/backends/caldav/e-cal-backend-caldav.c | 21 +++++++++++++++++++++
+ servers/google/libgdata/gdata-entry.c | 8 ++++++++
+ 2 files changed, 29 insertions(+)
+
+diff --git a/calendar/backends/caldav/e-cal-backend-caldav.c b/calendar/backends/caldav/e-cal-backend-caldav.c
+index 5e7ecc4..b7f4afb 100644
+--- a/calendar/backends/caldav/e-cal-backend-caldav.c
++++ b/calendar/backends/caldav/e-cal-backend-caldav.c
+@@ -1038,8 +1038,13 @@ check_calendar_changed_on_server (ECalBackendCalDAV *cbdav)
+ soup_message_set_request (message,
+ "application/xml",
+ SOUP_MEMORY_COPY,
++#ifdef LIBXML2_NEW_BUFFER
++ (gchar *) xmlOutputBufferGetContent(buf),
++ xmlOutputBufferGetSize(buf));
++#else
+ (gchar *) buf->buffer->content,
+ buf->buffer->use);
++#endif
+
+ /* Send the request now */
+ send_and_handle_redirection (priv->session, message, NULL);
+@@ -1180,8 +1185,13 @@ caldav_server_list_objects (ECalBackendCalDAV *cbdav, CalDAVObject **objs, gint
+ soup_message_set_request (message,
+ "application/xml",
+ SOUP_MEMORY_COPY,
++#ifdef LIBXML2_NEW_BUFFER
++ (gchar *) xmlOutputBufferGetContent(buf),
++ xmlOutputBufferGetSize(buf));
++#else
+ (gchar *) buf->buffer->content,
+ buf->buffer->use);
++#endif
+
+ /* Send the request now */
+ send_and_handle_redirection (priv->session, message, NULL);
+@@ -1502,8 +1512,14 @@ caldav_receive_schedule_outbox_url (ECalBackendCalDAV *cbdav)
+ soup_message_set_request (message,
+ "application/xml",
+ SOUP_MEMORY_COPY,
++#ifdef LIBXML2_NEW_BUFFER
++ (gchar *) xmlOutputBufferGetContent(buf),
++ xmlOutputBufferGetSize(buf));
++#else
+ (gchar *) buf->buffer->content,
+ buf->buffer->use);
++#endif
++
+
+ /* Send the request now */
+ send_and_handle_redirection (priv->session, message, NULL);
+@@ -1552,8 +1568,13 @@ caldav_receive_schedule_outbox_url (ECalBackendCalDAV *cbdav)
+ soup_message_set_request (message,
+ "application/xml",
+ SOUP_MEMORY_COPY,
++#ifdef LIBXML2_NEW_BUFFER
++ (gchar *) xmlOutputBufferGetContent(buf),
++ xmlOutputBufferGetSize(buf));
++#else
+ (gchar *) buf->buffer->content,
+ buf->buffer->use);
++#endif
+
+ /* Send the request now */
+ send_and_handle_redirection (priv->session, message, NULL);
+diff --git a/servers/google/libgdata/gdata-entry.c b/servers/google/libgdata/gdata-entry.c
+index ab69eb0..3f05b17 100644
+--- a/servers/google/libgdata/gdata-entry.c
++++ b/servers/google/libgdata/gdata-entry.c
+@@ -877,9 +877,17 @@ gdata_entry_new_from_xmlptr (xmlDocPtr doc, xmlNodePtr cur)
+ xmlOutputBufferFlush (buf);
+
+ if (buf->conv == NULL)
++#ifdef LIBXML2_NEW_BUFFER
++ xmlString = g_strdup ((gchar *) xmlOutputBufferGetContent(buf));
++#else
+ xmlString = g_strdup ((gchar *)buf->buffer->content);
++#endif
+ else
++#ifdef LIBXML2_NEW_BUFFER
++ xmlString = g_strdup ((gchar *) xmlBufContent(buf));
++#else
+ xmlString = g_strdup ((gchar *)buf->conv->content);
++#endif
+ xmlOutputBufferClose (buf);
+ }
+
+--
+1.8.0
+