[evolution-rss] Rebuild against newer evolution-data-server and evolution + added usptream patches

Milan Crha mcrha at fedoraproject.org
Wed Jul 30 14:03:51 UTC 2014


commit d7aa57065c43daff4c9e960f849c7311efb91f15
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