[evolution-rss/f21] Rebuild against newer evolution-data-server and evolution + added usptream patches
Milan Crha
mcrha at fedoraproject.org
Wed Jul 30 14:16:30 UTC 2014
commit bc2b25f6c7b511521e865b2ec97acaf7d40cfed7
Author: Milan Crha <mcrha at redhat.com>
Date: Wed Jul 30 16:03:35 2014 +0200
Rebuild against newer evolution-data-server and evolution + added usptream patches
evolution-rss-0.3.94-message-presend.patch | 240 ++++++++++++++++++++++++++++
evolution-rss-0.3.94-metainfo-file.patch | 71 ++++++++
evolution-rss.spec | 12 ++-
3 files changed, 322 insertions(+), 1 deletions(-)
---
diff --git a/evolution-rss-0.3.94-message-presend.patch b/evolution-rss-0.3.94-message-presend.patch
new file mode 100644
index 0000000..c31ffe4
--- /dev/null
+++ b/evolution-rss-0.3.94-message-presend.patch
@@ -0,0 +1,240 @@
+diff -up evolution-rss-0.3.94/src/e-mail-formatter-evolution-rss.c.message-presend evolution-rss-0.3.94/src/e-mail-formatter-evolution-rss.c
+--- evolution-rss-0.3.94/src/e-mail-formatter-evolution-rss.c.message-presend 2013-09-23 01:33:36.000000000 +0200
++++ evolution-rss-0.3.94/src/e-mail-formatter-evolution-rss.c 2014-07-30 16:01:25.582450411 +0200
+@@ -91,13 +91,23 @@ emfe_evolution_rss_format (EMailFormatte
+ EMailFormatter *formatter,
+ EMailFormatterContext *context,
+ EMailPart *part,
++#if EVOLUTION_VERSION < 31191
+ CamelStream *stream,
++#else
++ GOutputStream *stream,
++#endif
+ GCancellable *cancellable)
+ {
+- CamelStream *decoded_stream;
+ CamelDataWrapper *dw;
+ gchar *str;
++#if EVOLUTION_VERSION < 31191
++ CamelStream *decoded_stream;
+ GByteArray *ba;
++#else
++ GOutputStream *decoded_stream;
++ gpointer data;
++ gsize len;
++#endif
+ gchar *src;
+ CamelMimePart *message = e_mail_part_ref_mime_part (part);
+ gchar *website, *subject, *category, *feedid, *comments;
+@@ -123,8 +133,13 @@ emfe_evolution_rss_format (EMailFormatte
+ "height=\"0\" width=\"100%%\" data=\"%s\" id=\"%s\"></object>",
+ e_mail_part_get_id(part),
+ e_mail_part_get_id(part));
++#if EVOLUTION_VERSION < 31191
+ camel_stream_write_string (
+ stream, str, cancellable, NULL);
++#else
++ g_output_stream_write_all(stream, str,
++ strlen(str), NULL, cancellable, NULL);
++#endif
+ gchar *h = g_strdup(e_web_view_get_html (E_WEB_VIEW (rss_get_display())));
+
+ website = camel_medium_get_header (
+@@ -189,25 +204,53 @@ emfe_evolution_rss_format (EMailFormatte
+ text_col & 0xffffff,
+ iconfile, website, subject);
+
++#if EVOLUTION_VERSION < 31191
+ camel_stream_write_string (
+ stream, str, cancellable, NULL);
++#else
++ g_output_stream_write_all(stream, str,
++ strlen(str), NULL, cancellable, NULL);
++#endif
+
++#if EVOLUTION_VERSION < 31191
+ decoded_stream = camel_stream_mem_new ();
++#else
++ decoded_stream = g_memory_output_stream_new_resizable ();
++#endif
+
+ e_mail_formatter_format_text (
+ formatter, part, decoded_stream, cancellable);
+
++#if EVOLUTION_VERSION < 31191
+ g_seekable_seek (G_SEEKABLE (decoded_stream), 0, G_SEEK_SET, cancellable, NULL);
+
+ ba = camel_stream_mem_get_byte_array (CAMEL_STREAM_MEM (decoded_stream));
+ src = rss_process_feed((gchar *)ba->data, ba->len);
++#else
++ data = g_memory_output_stream_get_data (
++ G_MEMORY_OUTPUT_STREAM (decoded_stream));
++ len = g_memory_output_stream_get_data_size (
++ G_MEMORY_OUTPUT_STREAM (decoded_stream));
++ src = rss_process_feed((gchar *)data, len);
++#endif
+
++#if EVOLUTION_VERSION < 31191
+ camel_stream_write_string(stream, src, cancellable, NULL);
++#else
++ g_output_stream_write_all(stream, src, strlen(src), NULL, cancellable, NULL);
++#endif
+ g_free(src);
+ g_object_unref (decoded_stream);
+
++#if EVOLUTION_VERSION < 31191
+ camel_stream_write_string (
+ stream, "</div></div>", cancellable, NULL);
++#else
++ gchar *tstr = g_strdup("</div></div>");
++ g_output_stream_write_all(stream, tstr,
++ strlen(tstr), NULL, cancellable, NULL);
++ g_free(tstr);
++#endif
+ } else {
+ GError *err = NULL;
+ gchar *str;
+@@ -226,12 +269,27 @@ emfe_evolution_rss_format (EMailFormatte
+ frame_col & 0xffffff,
+ cont_col & 0xffffff,
+ text_col & 0xffffff);
++#if EVOLUTION_VERSION < 31191
+ camel_stream_write_string (stream, str, cancellable, NULL);
+- g_free (str);
+ camel_stream_write_string (stream, "<div style=\"border: solid 0px; padding: 4px;\">\n", cancellable, NULL);
+ camel_stream_write_string (stream, "<h3>Error!</h3>", cancellable, NULL);
+ camel_stream_write_string (stream, err->message, cancellable, NULL);
+ camel_stream_write_string (stream, "</div>", cancellable, NULL);
++#else
++ g_output_stream_write_all(stream, str, strlen(str), NULL, cancellable, NULL);
++ gchar *tstr;
++ tstr = g_strdup("<div style=\"border: solid 0px; padding: 4px;\">\n");
++ g_output_stream_write_all(stream, tstr, strlen(tstr), NULL, cancellable, NULL);
++ g_free(tstr);
++ tstr = g_strdup("<h3>Error!</h3>");
++ g_output_stream_write_all(stream, tstr, strlen(tstr), NULL, cancellable, NULL);
++ g_free(tstr);
++ g_output_stream_write_all(stream, err->message, strlen(err->message), NULL, cancellable, NULL);
++ tstr = g_strdup("</div>");
++ g_output_stream_write_all(stream, tstr, strlen(tstr), NULL, cancellable, NULL);
++ g_free(tstr);
++#endif
++ g_free (str);
+ goto success;
+ }
+
+diff -up evolution-rss-0.3.94/src/parser.c.message-presend evolution-rss-0.3.94/src/parser.c
+--- evolution-rss-0.3.94/src/parser.c.message-presend 2014-07-30 16:01:25.568450412 +0200
++++ evolution-rss-0.3.94/src/parser.c 2014-07-30 16:01:25.581450411 +0200
+@@ -89,6 +89,7 @@ rss_html_url_decode(const char *html, in
+ xmlDoc *doc = NULL;
+ gchar *url;
+ gchar *duri = NULL;
++ gboolean any_changed = FALSE;
+
+ src = (xmlDoc *)parse_html_sux(html, len);
+
+@@ -106,6 +107,7 @@ rss_html_url_decode(const char *html, in
+ #else
+ duri = g_strconcat("evo-file://", tmp, NULL);
+ #endif
++ any_changed = TRUE;
+ g_free(tmp);
+ xmlSetProp(
+ (xmlNodePtr)doc,
+@@ -115,6 +117,12 @@ rss_html_url_decode(const char *html, in
+ xmlFree(url);
+ }
+ }
++
++ if (!any_changed) {
++ xmlFreeDoc(src);
++ src = NULL;
++ }
++
+ return src;
+ }
+
+diff -up evolution-rss-0.3.94/src/rss-config-factory.c.message-presend evolution-rss-0.3.94/src/rss-config-factory.c
+--- evolution-rss-0.3.94/src/rss-config-factory.c.message-presend 2014-07-30 16:01:25.574450411 +0200
++++ evolution-rss-0.3.94/src/rss-config-factory.c 2014-07-30 16:01:25.581450411 +0200
+@@ -552,11 +552,18 @@ folder_cb (GtkWidget *widget, gpointer d
+ model = em_folder_tree_model_get_default ();
+ #endif
+ #if EVOLUTION_VERSION >= 30303
++#if EVOLUTION_VERSION >= 31301
++ dialog = em_folder_selector_new (window, model);
++ em_folder_selector_set_can_create (EM_FOLDER_SELECTOR (dialog), TRUE);
++ em_folder_selector_set_caption (EM_FOLDER_SELECTOR (dialog), _("Move to Folder"));
++ em_folder_selector_set_default_button_label (EM_FOLDER_SELECTOR (dialog), _("M_ove"));
++#else
+ dialog = em_folder_selector_new (
+ window,
+ model,
+ EM_FOLDER_SELECTOR_CAN_CREATE,
+ _("Move to Folder"), NULL, _("M_ove"));
++#endif
+ #else
+ dialog = em_folder_selector_new (
+ window,
+diff -up evolution-rss-0.3.94/src/rss.c.message-presend evolution-rss-0.3.94/src/rss.c
+--- evolution-rss-0.3.94/src/rss.c.message-presend 2014-07-30 16:01:25.569450412 +0200
++++ evolution-rss-0.3.94/src/rss.c 2014-07-30 16:01:25.582450411 +0200
+@@ -1298,20 +1298,37 @@ org_gnome_evolution_presend (EPlugin *ep
+ gsize length;
+ gchar *text;
+
++#if EVOLUTION_VERSION >= 31303
++ EHTMLEditor *editor;
++ EHTMLEditorView *view;
++
++ editor = e_msg_composer_get_editor (t->composer);
++ view = e_html_editor_get_view (editor);
++ text = e_html_editor_view_get_text_html (view);
++ length = strlen (text);
++#else
+ /* unfortunately e_msg_composer does not have raw get/set text body
+ * so it is far easier using gtkhtml_editor_* functions rather than
+ * procesing CamelMimeMessage or GByteArray
+ */
+ text = gtkhtml_editor_get_text_html ((GtkhtmlEditor *)t->composer, &length);
++#endif
+
+ doc = rss_html_url_decode(text, length);
+ if (doc) {
+ htmlDocDumpMemory(doc, &buff, &size);
+ xmlFreeDoc(doc);
++#if EVOLUTION_VERSION >= 31303
++ g_free (text);
++ text = g_strndup ((gchar *) buff, size);
++ editor = e_msg_composer_get_editor (t->composer);
++ view = e_html_editor_get_view (editor);
++ e_html_editor_view_set_text_html (view, text);
++#else
+ gtkhtml_editor_set_text_html((GtkhtmlEditor *)t->composer, (gchar *)buff, size);
++#endif
+ xmlFree (buff);
+- } else
+- gtkhtml_editor_set_text_html((GtkhtmlEditor *)t->composer, (gchar *)text, length);
++ } /* Do not touch mesage body */
+
+ g_free (text);
+ #endif
+@@ -1386,7 +1403,7 @@ void org_gnome_cooly_folder_refresh(void
+ gchar *ofolder, *name, *fname, *key, *rss_folder;
+ gboolean online;
+ #if EVOLUTION_VERSION > 22900 //kb//
+- CamelFolder *folder;
++ CamelFolder *folder = NULL;
+ #if EVOLUTION_VERSION >= 30505
+ CamelStore *selected_store = NULL;
+ gchar *selected_folder_name = NULL;
+@@ -4160,7 +4177,7 @@ get_real_channel_name(gchar *uri, gchar
+ CamelMimePart *
+ file_to_message(const char *filename)
+ {
+- const char *type;
++ const char *type = NULL;
+ CamelStreamFs *file;
+ CamelMimePart *msg = camel_mime_part_new();
+ CamelDataWrapper *content;
diff --git a/evolution-rss-0.3.94-metainfo-file.patch b/evolution-rss-0.3.94-metainfo-file.patch
new file mode 100644
index 0000000..b57ffe9
--- /dev/null
+++ b/evolution-rss-0.3.94-metainfo-file.patch
@@ -0,0 +1,71 @@
+From c118c1c4374f06b28aeb9629b3811930e042cd18 Mon Sep 17 00:00:00 2001
+From: Igor Gnatenko <i.gnatenko.brain at gmail.com>
+Date: Thu, 12 Jun 2014 12:29:33 +0400
+Subject: [PATCH] Bug 731553 - add metainfo files
+
+Reference: https://bugzilla.gnome.org/show_bug.cgi?id=731553
+Signed-off-by: Igor Gnatenko <i.gnatenko.brain at gmail.com>
+---
+ Makefile.am | 6 ++++++
+ evolution-rss.metainfo.xml.in | 12 ++++++++++++
+ po/POTFILES.in | 1 +
+ 3 files changed, 19 insertions(+)
+ create mode 100644 evolution-rss.metainfo.xml.in
+
+diff --git a/Makefile.am b/Makefile.am
+index a3ae193..382a926 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -5,6 +5,11 @@ desktopdir = $(datadir)/applications
+ desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
+ @INTLTOOL_DESKTOP_RULE@
+
++appdata_in_files = evolution-rss.metainfo.xml.in
++appdatadir = $(datadir)/appdata
++appdata_DATA = $(appdata_in_files:.xml.in=.xml)
++ at INTLTOOL_XML_RULE@
++
+ INTLTOOL = \
+ intltool-extract.in \
+ intltool-merge.in \
+@@ -22,6 +27,7 @@ EXTRA_DIST = \
+ DISTCLEANFILES = \
+ evolution-rss.desktop \
+ evolution-rss.desktop.in \
++ evolution-rss.metainfo.xml \
+ intltool-extract \
+ intltool-merge \
+ intltool-update
+diff --git a/evolution-rss.metainfo.xml.in b/evolution-rss.metainfo.xml.in
+new file mode 100644
+index 0000000..beb9c60
+--- /dev/null
++++ b/evolution-rss.metainfo.xml.in
+@@ -0,0 +1,12 @@
++<?xml version="1.0" encoding="UTF-8"?>
++<!-- Copyright 2014 Igor Gnatenko <i.gnatenko.brain at gmail.com> -->
++<component type="addon">
++<id>evolution-rss</id>
++<extends>evolution.desktop</extends>
++<_name>RSS Reader</_name>
++<_summary>Read rss feeds</_summary>
++<url type="homepage">http://gnome.eu.org/evo/index.php/Evolution_RSS_Reader_Plugin</url>
++<metadata_license>CC0-1.0</metadata_license>
++<project_license>GPL-2.0 and GPL-2.0+</project_license>
++<updatecontact>i.gnatenko.brain at gmail.com</updatecontact>
++</component>
+diff --git a/po/POTFILES.in b/po/POTFILES.in
+index 238de1d..96936bd 100644
+--- a/po/POTFILES.in
++++ b/po/POTFILES.in
+@@ -1,6 +1,7 @@
+ # List of source files containing translatable strings.
+ # Please keep this file sorted alphabetically.
+ evolution-rss.desktop.in.in
++evolution-rss.metainfo.xml.in
+ src/dbus.c
+ src/e-mail-formatter-evolution-rss.c
+ src/evolution-import-rss.c
+--
+2.0.0
+
diff --git a/evolution-rss.spec b/evolution-rss.spec
index 7a0ae6c..60c711c 100644
--- a/evolution-rss.spec
+++ b/evolution-rss.spec
@@ -6,7 +6,7 @@ Name: evolution-rss
Summary: Evolution RSS Reader
Epoch: 1
Version: 0.3.94
-Release: 7%{?dist}
+Release: 8%{?dist}
Group: Applications/Internet
License: GPLv2 and GPLv2+
URL: http://gnome.eu.org/evo/index.php/Evolution_RSS_Reader_Plugin
@@ -21,6 +21,8 @@ Patch02: eds-evo-3.11.2-changes.patch
Patch03: evo-3.11.3-changes.patch
Patch04: evo-3.11.91-changes.patch
Patch05: rss-runtime.patch
+Patch06: evolution-rss-0.3.94-metainfo-file.patch
+Patch07: evolution-rss-0.3.94-message-presend.patch
Requires(pre): GConf2
Requires(post): GConf2
@@ -48,6 +50,8 @@ This is an evolution plugin which enables evolution to read rss feeds.
%patch03 -p1 -b .evo-3.11.3-changes
%patch04 -p1 -b .evo-3.11.91-changes
%patch05 -p1 -b .rss-runtime
+%patch06 -p1 -b .metainfo-file
+%patch07 -p1 -b .message-presend
%build
autoreconf --force --install
@@ -103,6 +107,7 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || :
# parts are under GPLv2+.
%{_bindir}/evolution-import-rss
%{_datadir}/applications/%{name}.desktop
+%{_datadir}/appdata/evolution-rss.metainfo.xml
%{_datadir}/evolution/*/errors/org-gnome-evolution-rss.error
%{_datadir}/evolution/*/ui/*.ui
%{_datadir}/evolution/*/images/*.png
@@ -112,6 +117,11 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || :
%{_libdir}/evolution/*/modules/evolution-module-rss.so
%changelog
+* Wed Jul 30 2014 Milan Crha <mcrha at redhat.com> - 1:0.3.94-8
+- Rebuild against newer evolution-data-server and evolution
+- Add patch for GNOME bug #731553 (Add metainfo file)
+- Add patch for GNOME bug #733139 (Crash on message send + some more upstream fixes)
+
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1:0.3.94-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
More information about the scm-commits
mailing list