Merge and tweak lots of changes from upstream via an external patch file.

The plugin now works much better.
This commit is contained in:
ajacoutot 2010-10-01 13:42:57 +00:00
parent f0b71e9f3e
commit e2b25fa6f6
7 changed files with 11 additions and 394 deletions

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.20 2010/09/30 16:13:32 ajacoutot Exp $ # $OpenBSD: Makefile,v 1.21 2010/10/01 13:42:57 ajacoutot Exp $
SHARED_ONLY= Yes SHARED_ONLY= Yes
@ -8,6 +8,10 @@ GNOME_PROJECT= evolution-rss
GNOME_VERSION= 0.2.0 GNOME_VERSION= 0.2.0
PKGNAME= evolution-plugin-rss-${GNOME_VERSION} PKGNAME= evolution-plugin-rss-${GNOME_VERSION}
# XXX merged and tweaked from upstream
MASTER_SITES0= http://www.bsdfrog.org/OpenBSD/distfiles/
PATCHFILES= ep-rss-20101001.diff:0
CATEGORIES= mail CATEGORIES= mail
EVO_VERSION= 2.32 EVO_VERSION= 2.32

View File

@ -1,5 +1,10 @@
MD5 (ep-rss-20101001.diff) = eDRMpPs/oLT9R+RCyz8AXw==
MD5 (evolution-rss-0.2.0.tar.gz) = jVuhzOUIHcd35pqDaVp5Yg== MD5 (evolution-rss-0.2.0.tar.gz) = jVuhzOUIHcd35pqDaVp5Yg==
RMD160 (ep-rss-20101001.diff) = HCzPesTEhnOFDHt2z8MWctM3Ino=
RMD160 (evolution-rss-0.2.0.tar.gz) = O9Dq8bA614tAf5BQzGqY41xogq0= RMD160 (evolution-rss-0.2.0.tar.gz) = O9Dq8bA614tAf5BQzGqY41xogq0=
SHA1 (ep-rss-20101001.diff) = SKfvjkbhPgCqfBMKDmUvLF0Ocvk=
SHA1 (evolution-rss-0.2.0.tar.gz) = ii7crMdJgyLpGBbg6uc2oR2LC00= SHA1 (evolution-rss-0.2.0.tar.gz) = ii7crMdJgyLpGBbg6uc2oR2LC00=
SHA256 (ep-rss-20101001.diff) = qihKT2lmgF8DhO81q+jG4w6v1RDq7ykssFTerTkfOGc=
SHA256 (evolution-rss-0.2.0.tar.gz) = H4ppDpclulwJzla1m+6kyRygAI+We3cPJBXCXlEsPr8= SHA256 (evolution-rss-0.2.0.tar.gz) = H4ppDpclulwJzla1m+6kyRygAI+We3cPJBXCXlEsPr8=
SIZE (ep-rss-20101001.diff) = 54465
SIZE (evolution-rss-0.2.0.tar.gz) = 662994 SIZE (evolution-rss-0.2.0.tar.gz) = 662994

View File

@ -1,7 +1,6 @@
$OpenBSD: patch-configure,v 1.6 2010/09/30 16:13:32 ajacoutot Exp $ $OpenBSD: patch-configure,v 1.7 2010/10/01 13:42:57 ajacoutot Exp $
XXX make it compile with gtk+2 2.22 (*_DISABLE_DEPRECATED) XXX make it compile with gtk+2 2.22 (*_DISABLE_DEPRECATED)
XXX make it compile with newer e-d-s (-Werror-implicit-function-declaration)
--- configure.orig Wed Jul 21 06:57:38 2010 --- configure.orig Wed Jul 21 06:57:38 2010
+++ configure Thu Sep 30 17:40:56 2010 +++ configure Thu Sep 30 17:40:56 2010
@ -13,24 +12,3 @@ XXX make it compile with newer e-d-s (-Werror-implicit-function-declaration)
-DG_DISABLE_SINGLE_INCLUDES -DG_DISABLE_SINGLE_INCLUDES
-DGTK_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_SINGLE_INCLUDES
-Wall -Wextra -Wall -Wextra
@@ -4258,7 +4257,6 @@ fi
-Wno-sign-compare
-Wno-unused-parameter
-Wdeclaration-after-statement
- -Werror-implicit-function-declaration
-Wformat-security -Winit-self
-Wmissing-declarations -Wmissing-include-dirs
-Wmissing-noreturn -Wnested-externs -Wpointer-arith
@@ -16428,11 +16426,8 @@ if test -n "$EVOLUTION_VERSION"; then
EVOLUTION_BASE_VERSION=$EVOLUTION_VERSION
EVOLUTION_BASE_VERSION_S=""
EVOLUTION_EXEC_VERSION=`$PKG_CONFIG --variable=execversion evolution-shell 2>/dev/null`
- if test -n "$EVOLUTION_EXEC_VERSION"; then
- break;
- else
+ if test -z "$EVOLUTION_EXEC_VERSION"; then
EVOLUTION_EXEC_VERSION=$EVOLUTION_BASE_VERSION
- break;
fi
else
evo_versions='12 11 10 8 6 4'

View File

@ -1,101 +0,0 @@
$OpenBSD: patch-src_rss-config-factory_c,v 1.3 2010/09/30 16:13:32 ajacoutot Exp $
From 37ebcebeae4e85024ef6689266a611841b58da2e Mon Sep 17 00:00:00 2001
From: Lucian Langa <lucilanga@gnome.org>
Date: Fri, 09 Jul 2010 14:38:06 +0000
Subject: adapt to GError camel modifications
--- src/rss-config-factory.c.orig Tue Jul 20 22:32:03 2010
+++ src/rss-config-factory.c Thu Sep 30 17:20:07 2010
@@ -976,7 +976,7 @@ destroy_delete(GtkWidget *selector, gpointer user_data
//this function resembles emfu_delete_rec in mail/em-folder-utils.c
//which is not exported ?
static void
-rss_delete_rec (CamelStore *store, CamelFolderInfo *fi, CamelException *ex)
+rss_delete_rec (CamelStore *store, CamelFolderInfo *fi, GError **error)
{
int i;
GPtrArray *uids;
@@ -986,7 +986,7 @@ rss_delete_rec (CamelStore *store, CamelFolderInfo *fi
d("deleting folder '%s'\n", fi->full_name);
- if (!(folder = camel_store_get_folder (store, fi->full_name, 0, ex)))
+ if (!(folder = camel_store_get_folder (store, fi->full_name, 0, error)))
return;
uids = camel_folder_get_uids (folder);
@@ -1004,8 +1004,8 @@ rss_delete_rec (CamelStore *store, CamelFolderInfo *fi
d("do camel_store_delete_folder()\n");
- camel_store_delete_folder (store, fi->full_name, ex);
- if (camel_exception_is_set (ex))
+ camel_store_delete_folder (store, fi->full_name, error);
+ if (error != NULL)
return;
fi = fi->next;
@@ -1013,8 +1013,9 @@ rss_delete_rec (CamelStore *store, CamelFolderInfo *fi
}
void
-rss_delete_folders (
- CamelStore *store, const char *full_name, CamelException *ex)
+rss_delete_folders (CamelStore *store,
+ const char *full_name,
+ GError **error)
{
guint32 flags = CAMEL_STORE_FOLDER_INFO_RECURSIVE
| CAMEL_STORE_FOLDER_INFO_FAST
@@ -1025,12 +1026,12 @@ rss_delete_folders (
fi = camel_store_get_folder_info (
store,
full_name,
- flags, ex);
- if (!fi || camel_exception_is_set (ex))
+ flags, error);
+ if (!fi || error != NULL)
return;
d("call rss_delete_rec()\n");
- rss_delete_rec (store, fi, ex);
+ rss_delete_rec (store, fi, error);
camel_store_free_folder_info (store, fi);
}
@@ -1407,7 +1408,7 @@ process_dialog_edit(add_feed *feed, gchar *url, gchar
gpointer key = lookup_key(feed_name);
gchar *prefix = NULL;
hrfeed *saved_feed;
- CamelException ex;
+ GError *error = NULL;
CamelStore *store = rss_component_peek_local_store();
GtkWidget *msg_feeds, *progress;
@@ -1516,21 +1517,13 @@ process_dialog_edit(add_feed *feed, gchar *url, gchar
gchar *b = g_build_path(
G_DIR_SEPARATOR_S,
dir, feed->feed_name, NULL);
- camel_exception_init (&ex);
- camel_store_rename_folder (store, a, b, &ex);
- if (camel_exception_is_set (&ex)) {
-#if EVOLUTION_VERSION < 22904
- e_error_run(GTK_WINDOW(
- rf->preferences),
- "mail:no-rename-folder",
- a, b, ex.desc, NULL);
-#else
+ camel_store_rename_folder (store, a, b, &error);
+ if (error != NULL) {
e_alert_run_dialog_for_args(
GTK_WINDOW(rf->preferences),
"mail:no-rename-folder",
- a, b, ex.desc, NULL);
-#endif
- camel_exception_clear (&ex);
+ a, b, error->message, NULL);
+ g_clear_error(&error);
}
g_free(dir);
g_free(b);

View File

@ -1,18 +0,0 @@
$OpenBSD: patch-src_rss-config-factory_h,v 1.1 2010/09/30 16:13:32 ajacoutot Exp $
From 37ebcebeae4e85024ef6689266a611841b58da2e Mon Sep 17 00:00:00 2001
From: Lucian Langa <lucilanga@gnome.org>
Date: Fri, 09 Jul 2010 14:38:06 +0000
Subject: adapt to GError camel modifications
--- src/rss-config-factory.h.orig Tue Jul 20 22:32:03 2010
+++ src/rss-config-factory.h Thu Sep 30 17:20:07 2010
@@ -33,7 +33,7 @@ void delete_feed_folder_alloc(gchar *old_name);
void rss_delete_folders (
CamelStore *store,
const char *full_name,
- CamelException *ex);
+ GError **error);
void remove_feed_hash(gpointer name);
void init_rss_prefs(void);

View File

@ -1,68 +0,0 @@
$OpenBSD: patch-src_rss-image_c,v 1.1 2010/09/30 16:13:32 ajacoutot Exp $
From 37ebcebeae4e85024ef6689266a611841b58da2e Mon Sep 17 00:00:00 2001
From: Lucian Langa <lucilanga@gnome.org>
Date: Fri, 09 Jul 2010 14:38:06 +0000
Subject: adapt to GError camel modifications
--- src/rss-image.c.orig Tue Jul 20 22:32:03 2010
+++ src/rss-image.c Thu Sep 30 17:20:07 2010
@@ -84,7 +84,7 @@ update_feed_image(RDF *r)
if (!g_file_test(feed_file, G_FILE_TEST_EXISTS)) {
if (image) { //we need to validate image here with load_pixbuf
CamelStream *feed_fs = camel_stream_fs_new_with_name(feed_file,
- O_RDWR|O_CREAT, 0666);
+ O_RDWR|O_CREAT, 0666, NULL);
dup_auth_data(r->uri, image);
fi->feed_fs = feed_fs;
fi->key = g_strdup(key);
@@ -313,9 +313,10 @@ finish_image (SoupSession *soup_sess, SoupMessage *msg
if (msg->response_body->data) {
camel_stream_write(user_data,
msg->response_body->data,
- msg->response_body->length);
+ msg->response_body->length,
+ NULL);
#endif
- camel_stream_close(user_data);
+ camel_stream_close(user_data, NULL);
#if (DATASERVER_VERSION >= 2031001)
g_object_unref(user_data);
#else
@@ -323,8 +324,8 @@ finish_image (SoupSession *soup_sess, SoupMessage *msg
#endif
}
} else {
- camel_stream_write(user_data, pixfilebuf, pixfilelen);
- camel_stream_close(user_data);
+ camel_stream_write(user_data, pixfilebuf, pixfilelen, NULL);
+ camel_stream_close(user_data, NULL);
#if (DATASERVER_VERSION >= 2031001)
g_object_unref(user_data);
#else
@@ -340,10 +341,12 @@ finish_create_icon (SoupMessage *msg, FEED_IMAGE *user
finish_create_icon (SoupSession *soup_sess, SoupMessage *msg, FEED_IMAGE *user_data)
#endif
{
- d("finish_image(): status:%d, user_data:%s\n", msg->status_code, user_data->img_file);
+ d("finish_image(): status:%d, user_data:%s\n",
+ msg->status_code, user_data->img_file);
if (404 != msg->status_code) {
- CamelStream *feed_fs = camel_stream_fs_new_with_name(user_data->img_file,
- O_RDWR|O_CREAT, 0666);
+ CamelStream *feed_fs = camel_stream_fs_new_with_name(
+ user_data->img_file,
+ O_RDWR|O_CREAT, 0666, NULL);
finish_image(soup_sess, msg, feed_fs);
#if (EVOLUTION_VERSION >= 22703)
display_folder_icon(evolution_store, user_data->key);
@@ -468,6 +471,9 @@ decode_image_cache_filename(gchar *name)
}
gboolean image_is_valid(gchar *image);
+
+gboolean
+file_is_image(gchar *image);
gboolean
file_is_image(gchar *image)

View File

@ -1,183 +0,0 @@
$OpenBSD: patch-src_rss_c,v 1.5 2010/09/30 16:13:32 ajacoutot Exp $
From 37ebcebeae4e85024ef6689266a611841b58da2e Mon Sep 17 00:00:00 2001
From: Lucian Langa <lucilanga@gnome.org>
Date: Fri, 09 Jul 2010 14:38:06 +0000
Subject: adapt to GError camel modifications
--- src/rss.c.orig Tue Jul 20 22:32:03 2010
+++ src/rss.c Thu Sep 30 17:20:07 2010
@@ -492,7 +492,7 @@ browser_stream_write(CamelStream *stream, gchar *base)
GString *str = g_string_new(NULL);
gchar *line;
CamelStream *in = camel_stream_buffer_new(stream, CAMEL_STREAM_BUFFER_READ);
- while ((line = camel_stream_buffer_read_line((CamelStreamBuffer *)in))) {
+ while ((line = camel_stream_buffer_read_line((CamelStreamBuffer *)in, NULL))) {
gchar *tmp = line;
g_string_append(str, line);
g_free(tmp);
@@ -1101,7 +1101,7 @@ rss_browser_update_content (
d("cache read\n");
fi->create = 0;
browser_stream_write(stream, po->website);
- camel_stream_close(stream);
+ camel_stream_close(stream, NULL);
#if (DATASERVER_VERSION >= 2031001)
g_object_unref(stream);
#else
@@ -1149,13 +1149,16 @@ webkit_set_preferences(void)
g_object_set (settings, "enable-page-cache", TRUE, NULL);
//g_object_set (settings, "auto-resize-window", TRUE, NULL);
g_object_set (settings, "enable-plugins",
- gconf_client_get_bool(rss_gconf, GCONF_KEY_EMBED_PLUGIN, NULL),
+ gconf_client_get_bool(rss_gconf,
+ GCONF_KEY_EMBED_PLUGIN, NULL),
NULL);
g_object_set (settings, "enable-java-applet",
- gconf_client_get_bool(rss_gconf, GCONF_KEY_HTML_JAVA, NULL),
+ gconf_client_get_bool(rss_gconf,
+ GCONF_KEY_HTML_JAVA, NULL),
NULL);
g_object_set (settings, "enable-scripts",
- gconf_client_get_bool(rss_gconf, GCONF_KEY_HTML_JS, NULL),
+ gconf_client_get_bool(rss_gconf,
+ GCONF_KEY_HTML_JS, NULL),
NULL);
#endif
webkit_web_view_set_full_content_zoom(
@@ -2289,7 +2292,8 @@ void org_gnome_cooly_format_rss(void *ep, EMFormatHook
#endif
camel_data_wrapper_write_to_stream(
mcontent,
- (CamelStream *)stream);
+ (CamelStream *)stream,
+ NULL);
g_byte_array_append (buffer, (unsigned char *)"", 1);
//#ifdef EVOLUTION_2_12 //aparently this ("?" char parsing) is fixed in 2.12
// //then again this does not work in evo > 2.12 perhaps is gtkhtml related
@@ -2485,7 +2489,7 @@ render_body: if (category)
}
//this is required for proper charset rendering when html
- camel_data_wrapper_construct_from_stream(dw, fstream);
+ camel_data_wrapper_construct_from_stream(dw, fstream, NULL);
#if EVOLUTION_VERSION >= 23100
camel_medium_set_content((CamelMedium *)part, dw);
#else
@@ -3634,7 +3638,7 @@ finish_website (SoupSession *soup_sess, SoupMessage *m
g_free(tmsg);
if (ub->create) {
//stream remove
- camel_stream_close(ub->stream);
+ camel_stream_close(ub->stream, NULL);
#if (DATASERVER_VERSION >= 2031001)
g_object_unref(ub->stream);
#else
@@ -3643,8 +3647,8 @@ finish_website (SoupSession *soup_sess, SoupMessage *m
}
} else {
if (ub->create) {
- camel_stream_write(ub->stream, response->str, strlen(response->str));
- camel_stream_close(ub->stream);
+ camel_stream_write(ub->stream, response->str, strlen(response->str), NULL);
+ camel_stream_close(ub->stream, NULL);
#if (DATASERVER_VERSION >= 2031001)
g_object_unref(ub->stream);
#else
@@ -4102,7 +4106,7 @@ check_feed_folder(gchar *folder_name)
void
rss_delete_feed(gchar *full_path, gboolean folder)
{
- CamelException ex;
+ GError *error = NULL;
gchar *tmp, *tkey, *url;
CamelStore *store;
gchar *name, *real_name, *buf, *feed_dir, *feed_name;
@@ -4115,24 +4119,15 @@ rss_delete_feed(gchar *full_path, gboolean folder)
real_name = g_hash_table_lookup(rf->feed_folders, name);
if (!real_name)
real_name = name;
- camel_exception_init (&ex);
- rss_delete_folders (store, full_path, &ex);
- if (camel_exception_is_set (&ex)) {
-#if EVOLUTION_VERSION < 22904
- e_error_run(NULL,
- "mail:no-delete-folder",
- full_path,
- ex.desc,
- NULL);
-#else
+ rss_delete_folders (store, full_path, &error);
+ if (error != NULL) {
e_alert_run_dialog_for_args(
e_shell_get_active_window (NULL),
"mail:no-delete-folder",
full_path,
- ex.desc,
+ error->message,
NULL);
-#endif
- camel_exception_clear (&ex);
+ g_clear_error(&error);
}
//also remove status file
tkey = g_hash_table_lookup(rf->hrname,
@@ -4558,7 +4553,6 @@ void org_gnome_cooly_rss_startup(void *ep, ESEventTarg
void
check_folders(void)
{
- CamelException ex;
CamelStore *store = rss_component_peek_local_store();
CamelFolder *mail_folder, *old_folder;
@@ -4573,7 +4567,7 @@ check_folders(void)
} else if (mail_folder == NULL) {
camel_store_create_folder (
store, NULL,
- lookup_main_folder(), &ex);
+ lookup_main_folder(), NULL);
return;
}
#if (DATASERVER_VERSION >= 2031001)
@@ -5100,7 +5094,6 @@ create_mail(create_feed *CF)
CamelMimeMessage *new = camel_mime_message_new();
CamelInternetAddress *addr;
CamelMessageInfo *info;
- CamelException *ex = NULL;
struct tm tm;
time_t time, actual_time;
CamelDataWrapper *rtext;
@@ -5220,7 +5213,7 @@ create_mail(create_feed *CF)
stream = camel_stream_mem_new ();
// w/out an format argument this throws and seg fault
camel_stream_printf (stream, "%s", CF->body);
- camel_data_wrapper_construct_from_stream (rtext, stream);
+ camel_data_wrapper_construct_from_stream (rtext, stream, NULL);
#if (DATASERVER_VERSION >= 2031001)
g_object_unref (stream);
#else
@@ -5311,7 +5304,7 @@ create_mail(create_feed *CF)
camel_medium_set_content_object(CAMEL_MEDIUM(new), CAMEL_DATA_WRAPPER(rtext));
#endif
- camel_folder_append_message(mail_folder, new, info, &appended_uid, ex);
+ camel_folder_append_message(mail_folder, new, info, &appended_uid, NULL);
/* no point in filtering mails at import time as it just
* wastes time, user can setup his own afterwards
@@ -5372,12 +5365,13 @@ file_to_message(const char *filename)
file = (CamelStreamFs *)
camel_stream_fs_new_with_name(filename,
O_RDWR|O_CREAT,
- 0666);
+ 0666,
+ NULL);
if (!file)
return NULL;
- camel_data_wrapper_construct_from_stream(content, (CamelStream *)file);
+ camel_data_wrapper_construct_from_stream(content, (CamelStream *)file, NULL);
#if (DATASERVER_VERSION >= 2031001)
g_object_unref((CamelObject *)file);
#else