summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-sato/claws-mail
diff options
context:
space:
mode:
authorMartin Jansa <Martin.Jansa@gmail.com>2012-07-30 23:46:49 +0200
committerMartin Jansa <Martin.Jansa@gmail.com>2012-07-31 00:14:55 +0200
commit5ebec60fc3ccdf082f516612c296fbd90f7b2e43 (patch)
tree74a2d92676bc6171359285f3a42f75e351cddfc2 /meta-oe/recipes-sato/claws-mail
parent5c13fc859ed4e05777a1ce5d8952c0dfbfe62278 (diff)
downloadmeta-openembedded-5ebec60fc3ccdf082f516612c296fbd90f7b2e43.tar.gz
claws-mail, sylpheed: import from meta-smartphone
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-oe/recipes-sato/claws-mail')
-rw-r--r--meta-oe/recipes-sato/claws-mail/claws-mail-3.6.1/claws-mail-g_strcmp0.patch575
-rw-r--r--meta-oe/recipes-sato/claws-mail/claws-mail-3.6.1/desktop.patch19
-rw-r--r--meta-oe/recipes-sato/claws-mail/claws-mail-3.6.1/duplicate-header.patch10
-rw-r--r--meta-oe/recipes-sato/claws-mail/claws-mail-3.6.1/glib-2.32.patch11
-rw-r--r--meta-oe/recipes-sato/claws-mail/claws-mail_3.6.1.bb62
-rw-r--r--meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer_0.31.bb19
-rw-r--r--meta-oe/recipes-sato/claws-mail/claws-plugin-mailmbox-1.14/claws-plugin-mailmbox-fixup.patch218
-rw-r--r--meta-oe/recipes-sato/claws-mail/claws-plugin-mailmbox_1.14.bb19
-rw-r--r--meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl_0.18.bb18
-rw-r--r--meta-oe/recipes-sato/claws-mail/sylpheed/glib-2.32.patch11
-rw-r--r--meta-oe/recipes-sato/claws-mail/sylpheed_2.7.1.bb37
11 files changed, 999 insertions, 0 deletions
diff --git a/meta-oe/recipes-sato/claws-mail/claws-mail-3.6.1/claws-mail-g_strcmp0.patch b/meta-oe/recipes-sato/claws-mail/claws-mail-3.6.1/claws-mail-g_strcmp0.patch
new file mode 100644
index 000000000..17c213d73
--- /dev/null
+++ b/meta-oe/recipes-sato/claws-mail/claws-mail-3.6.1/claws-mail-g_strcmp0.patch
@@ -0,0 +1,575 @@
1http://www.thewildbeast.co.uk/claws-mail/bugzilla/show_bug.cgi?id=1773
2
3However using if (g_utf8_collate(foo1, foo2)) works and gives good results (at
4least if glibc or locale data are not broken), this usage is bad.
5
6If you need to just compare strings to get equal/non-equal return value, than
7using of four-pass locale wise lexicographic collating is purely superfluous.
8
9Using simpler functions like strcmp() or g_strcmp0() will give the same result
105-50 times faster.
11
12In attached patch, I replaces all occurrences of upper mentioned use case.
13
14Stanislav Brabec
15
16diff -ur claws-mail-3.6.1.orig/src/addrcustomattr.c claws-mail-3.6.1/src/addrcustomattr.c
17--- claws-mail-3.6.1.orig/src/addrcustomattr.c 2008-07-25 23:01:29.000000000 +0200
18+++ claws-mail-3.6.1/src/addrcustomattr.c 2008-11-14 14:27:12.000000000 +0100
19@@ -353,7 +353,7 @@
20 gchar *attr;
21 gtk_tree_model_get(model, iter, CUSTOM_ATTR_NAME, &attr, -1);
22
23- if (g_utf8_collate(data->attr, attr)==0) {
24+ if (g_strcmp0(data->attr, attr)==0) {
25 data->path = path; /* signal we found it */
26 data->iter = *iter;
27 return TRUE;
28diff -ur claws-mail-3.6.1.orig/src/addressbook_foldersel.c claws-mail-3.6.1/src/addressbook_foldersel.c
29--- claws-mail-3.6.1.orig/src/addressbook_foldersel.c 2008-09-09 19:10:50.000000000 +0200
30+++ claws-mail-3.6.1/src/addressbook_foldersel.c 2008-11-14 14:27:12.000000000 +0100
31@@ -392,12 +392,19 @@
32 corresponds to what we received */
33
34 if ( path != NULL ) {
35- if ( g_utf8_collate(path, _("Any")) == 0 || strcasecmp(path, "Any") ==0 || *path == '\0' )
36+ /* FIXME: Do we really need to recognize "anY" (and translated form)? */
37+ /* It's a bit more complicated than g_utf8_collate, but still much faster */
38+ char *tmp1, *tmp2;
39+ tmp1 = g_utf8_casefold(path, -1);
40+ tmp2 = g_utf8_casefold(_("Any"), -1); /* FIXME: This should be done only once. */
41+ if ( g_strcmp0(tmp1, tmp2) == 0 || g_ascii_strcasecmp(path, "Any") ==0 || *path == '\0' )
42 /* consider "Any" (both translated or untranslated forms) and ""
43 as valid addressbook roots */
44 folder_path_match.matched = TRUE;
45 else
46 folder_path_match.folder_path = g_strsplit( path, "/", 256 );
47+ g_free(tmp1);
48+ g_free(tmp2);
49 }
50
51 addressbook_foldersel_load_data( addrIndex, &folder_path_match );
52diff -ur claws-mail-3.6.1.orig/src/addrgather.c claws-mail-3.6.1/src/addrgather.c
53--- claws-mail-3.6.1.orig/src/addrgather.c 2008-09-09 19:10:50.000000000 +0200
54+++ claws-mail-3.6.1/src/addrgather.c 2008-11-14 14:27:12.000000000 +0100
55@@ -507,7 +507,7 @@
56 for (i = 0; i < NUM_FIELDS; i++) {
57 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(addrgather_dlg.checkHeader[i]),
58 FALSE);
59- if (g_utf8_collate(_harv_headerNames_[i], HEADER_FROM) == 0)
60+ if (g_strcmp0(_harv_headerNames_[i], HEADER_FROM) == 0)
61 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(addrgather_dlg.checkHeader[i]),
62 TRUE);
63 }
64diff -ur claws-mail-3.6.1.orig/src/common/mgutils.c claws-mail-3.6.1/src/common/mgutils.c
65--- claws-mail-3.6.1.orig/src/common/mgutils.c 2007-10-15 19:19:53.000000000 +0200
66+++ claws-mail-3.6.1/src/common/mgutils.c 2008-11-14 14:27:12.000000000 +0100
67@@ -356,7 +356,7 @@
68 if( strlen( str ) > 0 ) {
69 node = list;
70 while( node ) {
71- if( g_utf8_collate( str, node->data ) == 0 )
72+ if( g_strcmp0( str, node->data ) == 0 )
73 return FALSE;
74 node = g_slist_next( node );
75 }
76@@ -380,7 +380,7 @@
77 if( strlen( str ) > 0 ) {
78 node = list;
79 while( node ) {
80- if( g_utf8_collate( str, node->data ) == 0 )
81+ if( g_strcmp0( str, node->data ) == 0 )
82 return FALSE;
83 node = g_list_next( node );
84 }
85diff -ur claws-mail-3.6.1.orig/src/compose.c claws-mail-3.6.1/src/compose.c
86--- claws-mail-3.6.1.orig/src/compose.c 2008-10-04 12:58:45.000000000 +0200
87+++ claws-mail-3.6.1/src/compose.c 2008-11-14 14:27:12.000000000 +0100
88@@ -2399,7 +2399,7 @@
89 for (h_list = compose->header_list; h_list != NULL; h_list = h_list->next) {
90 entry = GTK_ENTRY(((ComposeHeaderEntry *)h_list->data)->entry);
91 if (gtk_entry_get_text(entry) &&
92- !g_utf8_collate(gtk_entry_get_text(entry), mailto)) {
93+ !g_strcmp0(gtk_entry_get_text(entry), mailto)) {
94 if (yellow_initialised) {
95 gtk_widget_modify_base(
96 GTK_WIDGET(((ComposeHeaderEntry *)h_list->data)->entry),
97@@ -4858,7 +4858,7 @@
98 headerentry = ((ComposeHeaderEntry *)list->data);
99 headerentryname = gtk_entry_get_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN((headerentry->combo)))));
100
101- if (g_utf8_collate(headerentryname, to_hdr) == 0) {
102+ if (g_strcmp0(headerentryname, to_hdr) == 0) {
103 const gchar *entstr = gtk_entry_get_text(GTK_ENTRY(headerentry->entry));
104 Xstrdup_a(str, entstr, return -1);
105 g_strstrip(str);
106@@ -4886,7 +4886,7 @@
107 headerentry = ((ComposeHeaderEntry *)list->data);
108 headerentryname = gtk_entry_get_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN((headerentry->combo)))));
109
110- if (g_utf8_collate(headerentryname, cc_hdr) == 0) {
111+ if (g_strcmp0(headerentryname, cc_hdr) == 0) {
112 const gchar *strg = gtk_entry_get_text(GTK_ENTRY(headerentry->entry));
113 Xstrdup_a(str, strg, return -1);
114 g_strstrip(str);
115@@ -5760,7 +5760,7 @@
116 headerentry = ((ComposeHeaderEntry *)list->data);
117 headerentryname = gtk_entry_get_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN((headerentry->combo)))));
118
119- if (!g_utf8_collate(trans_fieldname, headerentryname)) {
120+ if (!g_strcmp0(trans_fieldname, headerentryname)) {
121 str = gtk_editable_get_chars(GTK_EDITABLE(headerentry->entry), 0, -1);
122 g_strstrip(str);
123 if (str[0] != '\0') {
124diff -ur claws-mail-3.6.1.orig/src/customheader.c claws-mail-3.6.1/src/customheader.c
125--- claws-mail-3.6.1.orig/src/customheader.c 2007-07-11 18:33:01.000000000 +0200
126+++ claws-mail-3.6.1/src/customheader.c 2008-11-14 14:27:12.000000000 +0100
127@@ -83,7 +83,7 @@
128
129 for (cur = header_list; cur != NULL; cur = cur->next) {
130 chdr = (CustomHeader *)cur->data;
131- if (!g_utf8_collate(chdr->name, header))
132+ if (!g_strcmp0(chdr->name, header))
133 return chdr;
134 }
135
136diff -ur claws-mail-3.6.1.orig/src/exportldif.c claws-mail-3.6.1/src/exportldif.c
137--- claws-mail-3.6.1.orig/src/exportldif.c 2007-10-04 19:36:26.000000000 +0200
138+++ claws-mail-3.6.1/src/exportldif.c 2008-11-14 14:27:12.000000000 +0100
139@@ -275,7 +275,7 @@
140 UserAttribute *attrib = node->data;
141
142 node = g_list_next( node );
143- if( g_utf8_collate( attrib->name, LDIF_TAG_DN ) == 0 ) {
144+ if( g_strcmp0( attrib->name, LDIF_TAG_DN ) == 0 ) {
145 retVal = g_strdup( attrib->value );
146 break;
147 }
148diff -ur claws-mail-3.6.1.orig/src/gtk/combobox.c claws-mail-3.6.1/src/gtk/combobox.c
149--- claws-mail-3.6.1.orig/src/gtk/combobox.c 2008-08-29 10:37:19.000000000 +0200
150+++ claws-mail-3.6.1/src/gtk/combobox.c 2008-11-14 14:27:12.000000000 +0100
151@@ -101,7 +101,7 @@
152 const gchar *curdata;
153
154 gtk_tree_model_get (GTK_TREE_MODEL(model), iter, 0, &curdata, -1);
155- if (!g_utf8_collate(data, curdata)) {
156+ if (!g_strcmp0(data, curdata)) {
157 gtk_combo_box_set_active_iter(combobox, iter);
158 return TRUE;
159 }
160diff -ur claws-mail-3.6.1.orig/src/jpilot.c claws-mail-3.6.1/src/jpilot.c
161--- claws-mail-3.6.1.orig/src/jpilot.c 2008-10-01 09:10:29.000000000 +0200
162+++ claws-mail-3.6.1/src/jpilot.c 2008-11-14 14:27:12.000000000 +0100
163@@ -1322,7 +1322,7 @@
164 }
165 }
166
167- if( g_utf8_collate( labelName, lbl ) == 0 ) {
168+ if( g_strcmp0( labelName, lbl ) == 0 ) {
169 ind = i;
170 break;
171 }
172@@ -1640,7 +1640,7 @@
173 if( labelName ) {
174 node = pilotFile->customLabels;
175 while( node ) {
176- if( g_utf8_collate( labelName, ( gchar * ) node->data ) == 0 ) {
177+ if( g_strcmp0( labelName, ( gchar * ) node->data ) == 0 ) {
178 retVal = TRUE;
179 break;
180 }
181diff -ur claws-mail-3.6.1.orig/src/ldapserver.c claws-mail-3.6.1/src/ldapserver.c
182--- claws-mail-3.6.1.orig/src/ldapserver.c 2007-08-22 18:08:33.000000000 +0200
183+++ claws-mail-3.6.1/src/ldapserver.c 2008-11-14 14:27:12.000000000 +0100
184@@ -437,7 +437,7 @@
185 /* Search backwards for query */
186 while( node ) {
187 LdapQuery *qry = node->data;
188- if( g_utf8_collate( ADDRQUERY_SEARCHVALUE(qry), searchTerm ) == 0 ) {
189+ if( g_strcmp0( ADDRQUERY_SEARCHVALUE(qry), searchTerm ) == 0 ) {
190 if( qry->agedFlag ) continue;
191 if( qry->completed ) {
192 /* Found */
193diff -ur claws-mail-3.6.1.orig/src/ldif.c claws-mail-3.6.1/src/ldif.c
194--- claws-mail-3.6.1.orig/src/ldif.c 2008-08-06 21:38:36.000000000 +0200
195+++ claws-mail-3.6.1/src/ldif.c 2008-11-14 14:27:12.000000000 +0100
196@@ -536,19 +536,19 @@
197 }
198 g_strstrip( val );
199
200- if( g_utf8_collate( nm, LDIF_TAG_COMMONNAME ) == 0 ) {
201+ if( g_strcmp0( nm, LDIF_TAG_COMMONNAME ) == 0 ) {
202 rec->listCName = g_slist_append( rec->listCName, val );
203 }
204- else if( g_utf8_collate( nm, LDIF_TAG_FIRSTNAME ) == 0 ) {
205+ else if( g_strcmp0( nm, LDIF_TAG_FIRSTNAME ) == 0 ) {
206 rec->listFName = g_slist_append( rec->listFName, val );
207 }
208- else if( g_utf8_collate( nm, LDIF_TAG_LASTNAME ) == 0 ) {
209+ else if( g_strcmp0( nm, LDIF_TAG_LASTNAME ) == 0 ) {
210 rec->listLName = g_slist_append( rec->listLName, val );
211 }
212- else if( g_utf8_collate( nm, LDIF_TAG_NICKNAME ) == 0 ) {
213+ else if( g_strcmp0( nm, LDIF_TAG_NICKNAME ) == 0 ) {
214 rec->listNName = g_slist_append( rec->listNName, val );
215 }
216- else if( g_utf8_collate( nm, LDIF_TAG_EMAIL ) == 0 ) {
217+ else if( g_strcmp0( nm, LDIF_TAG_EMAIL ) == 0 ) {
218 rec->listAddress = g_slist_append( rec->listAddress, val );
219 }
220 else {
221@@ -759,27 +759,27 @@
222 gchar *key = g_strdup( tag );
223
224 rec = ldif_create_fieldrec( tag );
225- if( g_utf8_collate( tag, LDIF_TAG_DN ) == 0 ) {
226+ if( g_strcmp0( tag, LDIF_TAG_DN ) == 0 ) {
227 rec->reserved = rec->selected = TRUE;
228 rec->userName = g_strdup( "dn" );
229 }
230- else if( g_utf8_collate( tag, LDIF_TAG_COMMONNAME ) == 0 ) {
231+ else if( g_strcmp0( tag, LDIF_TAG_COMMONNAME ) == 0 ) {
232 rec->reserved = rec->selected = TRUE;
233 rec->userName = g_strdup( _( "Display Name" ) );
234 }
235- else if( g_utf8_collate( tag, LDIF_TAG_FIRSTNAME ) == 0 ) {
236+ else if( g_strcmp0( tag, LDIF_TAG_FIRSTNAME ) == 0 ) {
237 rec->reserved = rec->selected = TRUE;
238 rec->userName = g_strdup( _( "First Name" ) );
239 }
240- else if( g_utf8_collate( tag, LDIF_TAG_LASTNAME ) == 0 ) {
241+ else if( g_strcmp0( tag, LDIF_TAG_LASTNAME ) == 0 ) {
242 rec->reserved = rec->selected = TRUE;
243 rec->userName = g_strdup( _( "Last Name" ) );
244 }
245- else if( g_utf8_collate( tag, LDIF_TAG_NICKNAME ) == 0 ) {
246+ else if( g_strcmp0( tag, LDIF_TAG_NICKNAME ) == 0 ) {
247 rec->reserved = rec->selected = TRUE;
248 rec->userName = g_strdup( _( "Nick Name" ) );
249 }
250- else if( g_utf8_collate( tag, LDIF_TAG_EMAIL ) == 0 ) {
251+ else if( g_strcmp0( tag, LDIF_TAG_EMAIL ) == 0 ) {
252 rec->reserved = rec->selected = TRUE;
253 rec->userName = g_strdup( _( "Email Address" ) );
254 }
255@@ -894,7 +894,7 @@
256 /* Add tag to list */
257 listTags = g_slist_append( listTags, tagName );
258
259- if( g_utf8_collate(
260+ if( g_strcmp0(
261 tagName, LDIF_TAG_EMAIL ) == 0 )
262 {
263 flagMail = TRUE;
264diff -ur claws-mail-3.6.1.orig/src/plugins/bogofilter/bogofilter_gtk.c claws-mail-3.6.1/src/plugins/bogofilter/bogofilter_gtk.c
265--- claws-mail-3.6.1.orig/src/plugins/bogofilter/bogofilter_gtk.c 2008-09-09 19:10:52.000000000 +0200
266+++ claws-mail-3.6.1/src/plugins/bogofilter/bogofilter_gtk.c 2008-11-14 14:27:12.000000000 +0100
267@@ -296,7 +296,7 @@
268 config->whitelist_ab_folder);
269 else
270 /* backward compatibility (when translated "Any" was stored) */
271- if (g_utf8_collate(config->whitelist_ab_folder, _("Any")) == 0)
272+ if (g_strcmp0(config->whitelist_ab_folder, _("Any")) == 0)
273 gtk_entry_set_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN((whitelist_ab_folder_combo)))),
274 config->whitelist_ab_folder);
275 else
276@@ -373,7 +373,7 @@
277 config->whitelist_ab_folder = gtk_editable_get_chars(
278 GTK_EDITABLE(gtk_bin_get_child(GTK_BIN((page->whitelist_ab_folder_combo)))), 0, -1);
279 /* store UNtranslated "Any" */
280- if (g_utf8_collate(config->whitelist_ab_folder, _("Any")) == 0) {
281+ if (g_strcmp0(config->whitelist_ab_folder, _("Any")) == 0) {
282 g_free(config->whitelist_ab_folder);
283 config->whitelist_ab_folder = g_strdup("Any");
284 }
285diff -ur claws-mail-3.6.1.orig/src/plugins/dillo_viewer/dillo_prefs.c claws-mail-3.6.1/src/plugins/dillo_viewer/dillo_prefs.c
286--- claws-mail-3.6.1.orig/src/plugins/dillo_viewer/dillo_prefs.c 2008-08-07 18:38:59.000000000 +0200
287+++ claws-mail-3.6.1/src/plugins/dillo_viewer/dillo_prefs.c 2008-11-14 14:27:12.000000000 +0100
288@@ -209,7 +209,7 @@
289 _("Any"));
290 else
291 /* backward compatibility (when translated "Any" was stored) */
292- if (g_utf8_collate(dillo_prefs.whitelist_ab_folder, _("Any")) == 0)
293+ if (g_strcmp0(dillo_prefs.whitelist_ab_folder, _("Any")) == 0)
294 gtk_entry_set_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN((whitelist_ab_folder_combo)))),
295 dillo_prefs.whitelist_ab_folder);
296 else
297@@ -272,7 +272,7 @@
298 dillo_prefs.whitelist_ab_folder = gtk_editable_get_chars(
299 GTK_EDITABLE(gtk_bin_get_child(GTK_BIN((prefs_page->whitelist_ab_folder_combo)))), 0, -1);
300 /* store UNtranslated "Any" */
301- if (g_utf8_collate(dillo_prefs.whitelist_ab_folder, _("Any")) == 0) {
302+ if (g_strcmp0(dillo_prefs.whitelist_ab_folder, _("Any")) == 0) {
303 g_free(dillo_prefs.whitelist_ab_folder);
304 dillo_prefs.whitelist_ab_folder = g_strdup("Any");
305 }
306diff -ur claws-mail-3.6.1.orig/src/plugins/spamassassin/spamassassin_gtk.c claws-mail-3.6.1/src/plugins/spamassassin/spamassassin_gtk.c
307--- claws-mail-3.6.1.orig/src/plugins/spamassassin/spamassassin_gtk.c 2008-09-09 19:10:52.000000000 +0200
308+++ claws-mail-3.6.1/src/plugins/spamassassin/spamassassin_gtk.c 2008-11-14 14:27:12.000000000 +0100
309@@ -480,7 +480,7 @@
310 config->whitelist_ab_folder);
311 else
312 /* backward compatibility (when translated "Any" was stored) */
313- if (g_utf8_collate(config->whitelist_ab_folder, _("Any")) == 0)
314+ if (g_strcmp0(config->whitelist_ab_folder, _("Any")) == 0)
315 gtk_entry_set_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN((whitelist_ab_folder_combo)))),
316 config->whitelist_ab_folder);
317 else
318@@ -603,7 +603,7 @@
319 config->whitelist_ab_folder = gtk_editable_get_chars(
320 GTK_EDITABLE(gtk_bin_get_child(GTK_BIN((page->whitelist_ab_folder_combo)))), 0, -1);
321 /* store UNtranslated "Any" */
322- if (g_utf8_collate(config->whitelist_ab_folder, _("Any")) == 0) {
323+ if (g_strcmp0(config->whitelist_ab_folder, _("Any")) == 0) {
324 g_free(config->whitelist_ab_folder);
325 config->whitelist_ab_folder = g_strdup("Any");
326 }
327diff -ur claws-mail-3.6.1.orig/src/prefs_matcher.c claws-mail-3.6.1/src/prefs_matcher.c
328--- claws-mail-3.6.1.orig/src/prefs_matcher.c 2008-10-08 20:23:51.000000000 +0200
329+++ claws-mail-3.6.1/src/prefs_matcher.c 2008-11-14 14:27:12.000000000 +0100
330@@ -1484,10 +1484,10 @@
331 if (*expr == '\0') {
332 gchar *tmp;
333
334- if (g_utf8_collate(header, Q_("Filtering Matcher Menu|All")) == 0)
335+ if (g_strcmp0(header, Q_("Filtering Matcher Menu|All")) == 0)
336 tmp = g_strdup(_("all addresses in all headers"));
337 else
338- if (g_utf8_collate(header, _("Any")) == 0)
339+ if (g_strcmp0(header, _("Any")) == 0)
340 tmp = g_strdup(_("any address in any header"));
341 else
342 tmp = g_strdup_printf(_("the address(es) in header '%s'"), header);
343@@ -1499,12 +1499,12 @@
344 return NULL;
345 }
346 /* store UNtranslated "Any"/"All" in matcher expressions */
347- if (g_utf8_collate(header, Q_("Filtering Matcher Menu|All")) == 0)
348+ if (g_strcmp0(header, Q_("Filtering Matcher Menu|All")) == 0)
349 header = "All";
350 else
351- if (g_utf8_collate(header, _("Any")) == 0)
352+ if (g_strcmp0(header, _("Any")) == 0)
353 header = "Any";
354- if (g_utf8_collate(expr, _("Any")) == 0)
355+ if (g_strcmp0(expr, _("Any")) == 0)
356 expr = "Any";
357 break;
358 }
359diff -ur claws-mail-3.6.1.orig/src/prefs_toolbar.c claws-mail-3.6.1/src/prefs_toolbar.c
360--- claws-mail-3.6.1.orig/src/prefs_toolbar.c 2008-09-09 19:10:50.000000000 +0200
361+++ claws-mail-3.6.1/src/prefs_toolbar.c 2008-11-14 14:27:12.000000000 +0100
362@@ -391,7 +391,7 @@
363 gtk_tree_model_get(model_set, &iter,
364 SET_EVENT, &entry,
365 -1);
366- if (g_utf8_collate(chosen_action, entry) == 0)
367+ if (g_strcmp0(chosen_action, entry) == 0)
368 result = TRUE;
369 g_free(entry);
370 } while (!result && gtk_tree_model_iter_next(model_set, &iter));
371@@ -551,7 +551,7 @@
372 prefs_toolbar->item_func_combo));
373
374 if (is_duplicate(prefs_toolbar, icon_event)
375- && g_utf8_collate(icon_event, set_event) != 0){
376+ && g_strcmp0(icon_event, set_event) != 0){
377 alertpanel_error(ERROR_MSG);
378 g_free(icon_event);
379 g_free(set_event);
380@@ -1179,7 +1179,7 @@
381 gtk_button_set_image(GTK_BUTTON(prefs_toolbar->icon_button),
382 gtk_image_new_from_pixbuf(pix));
383
384- if (g_utf8_collate(toolbar_ret_descr_from_val(A_SEPARATOR), descr) == 0) {
385+ if (g_strcmp0(toolbar_ret_descr_from_val(A_SEPARATOR), descr) == 0) {
386 gtk_button_set_label(GTK_BUTTON(prefs_toolbar->icon_button),
387 _("None"));
388 g_free(prefs_toolbar->item_icon_file);
389@@ -1196,7 +1196,7 @@
390 gtk_entry_set_text(GTK_ENTRY(prefs_toolbar->item_text_entry),
391 icon_text);
392
393- if (g_utf8_collate(toolbar_ret_descr_from_val(A_CLAWS_ACTIONS), descr) == 0) {
394+ if (g_strcmp0(toolbar_ret_descr_from_val(A_CLAWS_ACTIONS), descr) == 0) {
395 gtk_combo_box_set_active(GTK_COMBO_BOX(
396 prefs_toolbar->item_type_combo), ITEM_USER_ACTION);
397
398@@ -1205,7 +1205,7 @@
399 gchar *item_string;
400 get_action_name((gchar *)cur2->data, &item_string);
401
402- if(g_utf8_collate(item_string, icon_text) == 0) {
403+ if(g_strcmp0(item_string, icon_text) == 0) {
404 gtk_combo_box_set_active(
405 GTK_COMBO_BOX(prefs_toolbar->item_action_combo),
406 item_num);
407@@ -1231,7 +1231,7 @@
408 for (cur = prefs_toolbar->combo_action_list, item_num = 0; cur != NULL;
409 cur = cur->next) {
410 gchar *item_str = (gchar*)cur->data;
411- if (g_utf8_collate(item_str, descr) == 0) {
412+ if (g_strcmp0(item_str, descr) == 0) {
413 gtk_combo_box_set_active(
414 GTK_COMBO_BOX(prefs_toolbar->item_func_combo),
415 item_num);
416diff -ur claws-mail-3.6.1.orig/src/procmime.c claws-mail-3.6.1/src/procmime.c
417--- claws-mail-3.6.1.orig/src/procmime.c 2008-10-01 09:10:29.000000000 +0200
418+++ claws-mail-3.6.1/src/procmime.c 2008-11-14 14:27:12.000000000 +0100
419@@ -1020,14 +1020,6 @@
420 return hash_result;
421 }
422
423-static gint procmime_str_equal(gconstpointer gptr1, gconstpointer gptr2)
424-{
425- const char *str1 = gptr1;
426- const char *str2 = gptr2;
427-
428- return !g_utf8_collate(str1, str2);
429-}
430-
431 static GHashTable *procmime_get_mime_type_table(void)
432 {
433 GHashTable *table = NULL;
434@@ -1040,7 +1032,7 @@
435 if (!mime_type_list) return NULL;
436 }
437
438- table = g_hash_table_new(procmime_str_hash, procmime_str_equal);
439+ table = g_hash_table_new(procmime_str_hash, g_str_equal);
440
441 for (cur = mime_type_list; cur != NULL; cur = cur->next) {
442 gint i;
443diff -ur claws-mail-3.6.1.orig/src/summaryview.c claws-mail-3.6.1/src/summaryview.c
444--- claws-mail-3.6.1.orig/src/summaryview.c 2008-10-09 20:17:53.000000000 +0200
445+++ claws-mail-3.6.1/src/summaryview.c 2008-11-14 14:27:12.000000000 +0100
446@@ -4240,7 +4240,7 @@
447 g_strdup_printf("%s",
448 account->address);
449
450- if (g_utf8_collate(from_name, msginfo->from) == 0) {
451+ if (g_strcmp0(from_name, msginfo->from) == 0) {
452 g_free(from_name);
453 found = TRUE;
454 break;
455diff -ur claws-mail-3.6.1.orig/src/toolbar.c claws-mail-3.6.1/src/toolbar.c
456--- claws-mail-3.6.1.orig/src/toolbar.c 2008-09-13 12:07:43.000000000 +0200
457+++ claws-mail-3.6.1/src/toolbar.c 2008-11-14 14:39:07.000000000 +0100
458@@ -236,7 +236,7 @@
459 gint i;
460
461 for (i = 0; i < N_ACTION_VAL; i++) {
462- if (g_utf8_collate(gettext(toolbar_text[i].descr), descr) == 0)
463+ if (g_strcmp0(gettext(toolbar_text[i].descr), descr) == 0)
464 return i;
465 }
466
467@@ -255,7 +255,7 @@
468 gint i;
469
470 for (i = 0; i < N_ACTION_VAL; i++) {
471- if (g_utf8_collate(toolbar_text[i].index_str, text) == 0)
472+ if (g_strcmp0(toolbar_text[i].index_str, text) == 0)
473 return i;
474 }
475
476@@ -346,11 +346,11 @@
477 name = ((XMLAttr *)attr->data)->name;
478 value = ((XMLAttr *)attr->data)->value;
479
480- if (g_utf8_collate(name, TOOLBAR_ICON_FILE) == 0)
481+ if (g_strcmp0(name, TOOLBAR_ICON_FILE) == 0)
482 item->file = g_strdup (value);
483- else if (g_utf8_collate(name, TOOLBAR_ICON_TEXT) == 0)
484+ else if (g_strcmp0(name, TOOLBAR_ICON_TEXT) == 0)
485 item->text = g_strdup (gettext(value));
486- else if (g_utf8_collate(name, TOOLBAR_ICON_ACTION) == 0)
487+ else if (g_strcmp0(name, TOOLBAR_ICON_ACTION) == 0)
488 item->index = toolbar_ret_val_from_text(value);
489 if (item->index == -1 && !strcmp(value, "A_DELETE")) {
490 /* switch button */
491@@ -821,7 +821,7 @@
492
493 action_p = strstr(action, ": ");
494 action_p[0] = 0x00;
495- if (g_utf8_collate(act->name, action) == 0) {
496+ if (g_strcmp0(act->name, action) == 0) {
497 found = TRUE;
498 g_free(action);
499 break;
500diff -ur claws-mail-3.6.1.orig/src/vcard.c claws-mail-3.6.1/src/vcard.c
501--- claws-mail-3.6.1.orig/src/vcard.c 2008-08-06 21:38:43.000000000 +0200
502+++ claws-mail-3.6.1/src/vcard.c 2008-11-14 14:27:12.000000000 +0100
503@@ -348,7 +348,7 @@
504 str = nodeRemarks->data;
505 if( nodeRemarks ) {
506 if( str ) {
507- if( g_utf8_collate( str, "internet" ) != 0 ) {
508+ if( g_strcmp0( str, "internet" ) != 0 ) {
509 if( *str != '\0' )
510 addritem_email_set_remarks( email, str );
511 }
512@@ -442,7 +442,7 @@
513 /* g_print( "\ttype: %s\n", tagtype ); */
514 /* g_print( "\tvalue: %s\n", tagvalue ); */
515
516- if( g_utf8_collate( tagtype, VCARD_TYPE_QP ) == 0 ) {
517+ if( g_strcmp0( tagtype, VCARD_TYPE_QP ) == 0 ) {
518 gchar *tmp;
519 /* Quoted-Printable: could span multiple lines */
520 tagvalue = vcard_read_qp( cardFile, tagvalue );
521@@ -452,26 +452,26 @@
522 /* g_print( "QUOTED-PRINTABLE !!! final\n>%s<\n", tagvalue ); */
523 }
524
525- if( g_utf8_collate( tagname, VCARD_TAG_START ) == 0 &&
526+ if( g_strcmp0( tagname, VCARD_TAG_START ) == 0 &&
527 g_ascii_strcasecmp( tagvalue, VCARD_NAME ) == 0 ) {
528 /* g_print( "start card\n" ); */
529 vcard_free_lists( listName, listAddress, listRemarks, listID );
530 listName = listAddress = listRemarks = listID = NULL;
531 }
532- if( g_utf8_collate( tagname, VCARD_TAG_FULLNAME ) == 0 ) {
533+ if( g_strcmp0( tagname, VCARD_TAG_FULLNAME ) == 0 ) {
534 /* g_print( "- full name: %s\n", tagvalue ); */
535 listName = g_slist_append( listName, g_strdup( tagvalue ) );
536 }
537- if( g_utf8_collate( tagname, VCARD_TAG_EMAIL ) == 0 ) {
538+ if( g_strcmp0( tagname, VCARD_TAG_EMAIL ) == 0 ) {
539 /* g_print( "- address: %s\n", tagvalue ); */
540 listAddress = g_slist_append( listAddress, g_strdup( tagvalue ) );
541 listRemarks = g_slist_append( listRemarks, g_strdup( tagtype ) );
542 }
543- if( g_utf8_collate( tagname, VCARD_TAG_UID ) == 0 ) {
544+ if( g_strcmp0( tagname, VCARD_TAG_UID ) == 0 ) {
545 /* g_print( "- id: %s\n", tagvalue ); */
546 listID = g_slist_append( listID, g_strdup( tagvalue ) );
547 }
548- if( g_utf8_collate( tagname, VCARD_TAG_END ) == 0 &&
549+ if( g_strcmp0( tagname, VCARD_TAG_END ) == 0 &&
550 g_ascii_strcasecmp( tagvalue, VCARD_NAME ) == 0 ) {
551 /* vCard is complete */
552 /* g_print( "end card\n--\n" ); */
553@@ -659,7 +659,7 @@
554 tagtemp = NULL;
555 }
556
557- if( g_utf8_collate( tagtype, VCARD_TYPE_QP ) == 0 ) {
558+ if( g_strcmp0( tagtype, VCARD_TYPE_QP ) == 0 ) {
559 gchar *tmp;
560 /* Quoted-Printable: could span multiple lines */
561 tagvalue = vcard_read_qp( cardFile, tagvalue );
562@@ -667,11 +667,11 @@
563 g_free(tagvalue);
564 tagvalue=tmp;
565 }
566- if( g_utf8_collate( tagname, VCARD_TAG_START ) == 0 &&
567+ if( g_strcmp0( tagname, VCARD_TAG_START ) == 0 &&
568 g_ascii_strcasecmp( tagvalue, VCARD_NAME ) == 0 ) {
569 haveStart = TRUE;
570 }
571- if( g_utf8_collate( tagname, VCARD_TAG_END ) == 0 &&
572+ if( g_strcmp0( tagname, VCARD_TAG_END ) == 0 &&
573 g_ascii_strcasecmp( tagvalue, VCARD_NAME ) == 0 ) {
574 /* vCard is complete */
575 if( haveStart ) cardFile->retVal = MGU_SUCCESS;
diff --git a/meta-oe/recipes-sato/claws-mail/claws-mail-3.6.1/desktop.patch b/meta-oe/recipes-sato/claws-mail/claws-mail-3.6.1/desktop.patch
new file mode 100644
index 000000000..c5ed7a9c7
--- /dev/null
+++ b/meta-oe/recipes-sato/claws-mail/claws-mail-3.6.1/desktop.patch
@@ -0,0 +1,19 @@
1Index: claws-mail-2.9.1/claws-mail.desktop
2===================================================================
3--- claws-mail-2.9.1.orig/claws-mail.desktop 2007-04-24 17:40:20.000000000 +0100
4+++ claws-mail-2.9.1/claws-mail.desktop 2007-04-25 07:08:36.000000000 +0100
5@@ -1,11 +1,11 @@
6 [Desktop Entry]
7 Encoding=UTF-8
8-Name=Claws Mail
9+Name=Mail
10 Exec=claws-mail
11 Icon=claws-mail
12-Info="Claws Mail"
13+Info=Email Application
14 Categories=GTK;Network;Email;
15-Comment="Gtk+ based Mail Client"
16+Comment=Email Application
17 Terminal=false
18 Type=Application
19 StartupNotify=true
diff --git a/meta-oe/recipes-sato/claws-mail/claws-mail-3.6.1/duplicate-header.patch b/meta-oe/recipes-sato/claws-mail/claws-mail-3.6.1/duplicate-header.patch
new file mode 100644
index 000000000..3c25ca1da
--- /dev/null
+++ b/meta-oe/recipes-sato/claws-mail/claws-mail-3.6.1/duplicate-header.patch
@@ -0,0 +1,10 @@
1--- claws-mail-3.6.1/src/gtk/Makefile.am-orig 2008-10-10 00:17:55.000000000 -0700
2+++ claws-mail-3.6.1/src/gtk/Makefile.am 2010-03-28 16:08:40.000000000 -0700
3@@ -62,7 +62,6 @@ clawsgtkinclude_HEADERS = \
4 menu.h \
5 pluginwindow.h \
6 prefswindow.h \
7- gtkvscrollbutton.h \
8 progressdialog.h \
9 quicksearch.h \
10 sslcertwindow.h \
diff --git a/meta-oe/recipes-sato/claws-mail/claws-mail-3.6.1/glib-2.32.patch b/meta-oe/recipes-sato/claws-mail/claws-mail-3.6.1/glib-2.32.patch
new file mode 100644
index 000000000..c0faedb30
--- /dev/null
+++ b/meta-oe/recipes-sato/claws-mail/claws-mail-3.6.1/glib-2.32.patch
@@ -0,0 +1,11 @@
1--- claws-mail-3.6.1.orig/src/common/defs.h 2007-12-18 09:20:54.000000000 +0100
2+++ claws-mail-3.6.1/src/common/defs.h 2012-05-06 08:17:56.049692494 +0200
3@@ -24,8 +24,6 @@
4 # include "config.h"
5 #endif
6
7-#include <glibconfig.h>
8-
9 #ifdef G_OS_WIN32
10 # include <glib/gwin32.h>
11 #endif
diff --git a/meta-oe/recipes-sato/claws-mail/claws-mail_3.6.1.bb b/meta-oe/recipes-sato/claws-mail/claws-mail_3.6.1.bb
new file mode 100644
index 000000000..3c858d083
--- /dev/null
+++ b/meta-oe/recipes-sato/claws-mail/claws-mail_3.6.1.bb
@@ -0,0 +1,62 @@
1SECTION = "x11/network"
2DESCRIPTION = "Mail user agent"
3DEPENDS = "gtk+ libetpan openssl aspell"
4LICENSE = "GPLv3"
5LIC_FILES_CHKSUM = "file://COPYING;md5=e059bde2972c1790af786f3e86bac22e"
6
7PR = "r1"
8
9inherit autotools pkgconfig gettext
10
11# translation patch: http://www.thewildbeast.co.uk/claws-mail/bugzilla/show_bug.cgi?id=1774
12SRC_URI = "\
13 ${SOURCEFORGE_MIRROR}/sylpheed-claws/claws-mail-${PV}.tar.bz2;name=archive \
14 http://www.penguin.cz/~utx/ftp/claws-mail/claws-mail-${PV}-po-update.patch;name=patch \
15 file://desktop.patch \
16 file://claws-mail-g_strcmp0.patch \
17 file://duplicate-header.patch \
18 file://glib-2.32.patch \
19 "
20SRC_URI[archive.md5sum] = "761b8ae2d574588460a0fb1ea4931ccb"
21SRC_URI[archive.sha256sum] = "67337a4a1a5a5ce09f2a38422b7a6fc481e4747f74d4ddedd130d4fb06fc3907"
22SRC_URI[patch.md5sum] = "e8ff3fabf1ed47f3b11a9cdc36b026bd"
23SRC_URI[patch.sha256sum] = "767258dd7c966e14ed519affe4c0da93e8fff66ee5fe9158413c8d163af72db8"
24
25do_configure_append() {
26 cd po ; for PO in *.po ; do MO=`echo $PO | sed s/\\.po//`.gmo ; if ! test -f $MO ; then msgfmt $PO -o $MO ; fi ; done
27}
28
29# FIXME: maemo builds may want --enable-maemo
30# FIXME: some platforms may want --enable-generic-umpc
31EXTRA_OECONF = " \
32 --disable-aspell-test \
33 --enable-aspell \
34 --disable-manual \
35 --disable-crash-dialog \
36 --disable-jpilot \
37 --disable-trayicon-plugin \
38 --disable-spamassassin-plugin \
39 --disable-bogofilter-plugin \
40 --disable-pgpcore-plugin \
41 --disable-pgpmime-plugin \
42 --disable-pgpinline-plugin \
43 --disable-dillo-viewer-plugin \
44 --disable-clamav-plugin \
45 --disable-gnomeprint \
46 --disable-valgrind \
47 "
48
49# Remove enchant references:
50do_install_prepend() {
51 sed -i -e 's:${STAGING_INCDIR}:${includedir}:g;s:${STAGING_LIBDIR}:${libdir}:g' claws-mail.pc
52}
53
54# Work-around broken GPE icon lookup:
55do_install_append() {
56 rm -r ${D}${datadir}/icons
57 install -d ${D}${datadir}/pixmaps
58 install -m 0644 claws-mail.png ${D}${datadir}/pixmaps/
59 sed -i 's/Icon=[^.]*$/&.png/' ${D}${datadir}/applications/claws-mail.desktop
60}
61
62RSUGGESTS_${PN} = "claws-plugin-gtkhtml2-viewer claws-plugin-mailmbox claws-plugin-rssyl"
diff --git a/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer_0.31.bb b/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer_0.31.bb
new file mode 100644
index 000000000..118543bd9
--- /dev/null
+++ b/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer_0.31.bb
@@ -0,0 +1,19 @@
1SECTION = "x11/network"
2DESCRIPTION = "Mail user agent plugins"
3DEPENDS = "claws-mail gtkhtml2 curl"
4LICENSE = "GPLv3"
5LIC_FILES_CHKSUM = "file://COPYING;md5=977f04a8048c04684e521c06e2844a94"
6
7SRC_URI = "http://www.claws-mail.org/downloads/plugins/gtkhtml2_viewer-${PV}.tar.gz"
8SRC_URI[md5sum] = "a6c9dfa6f969ccd844796a5724b52167"
9SRC_URI[sha256sum] = "4d41f6d961efaac0f51705e5052bac732bc0bdafee2ef2082a9cf9d89f183ae5"
10
11inherit autotools pkgconfig gettext
12
13S = "${WORKDIR}/gtkhtml2_viewer-${PV}"
14
15FILES_${PN} = "${libdir}/claws-mail/plugins/*.so"
16FILES_${PN}-dbg += "${libdir}/claws-mail/plugins/.debug"
17FILES_${PN}-dev += "${libdir}/claws-mail/plugins/*.la"
18FILES_${PN}-staticdev = "${libdir}/claws-mail/plugins/*.a"
19
diff --git a/meta-oe/recipes-sato/claws-mail/claws-plugin-mailmbox-1.14/claws-plugin-mailmbox-fixup.patch b/meta-oe/recipes-sato/claws-mail/claws-plugin-mailmbox-1.14/claws-plugin-mailmbox-fixup.patch
new file mode 100644
index 000000000..f8cce2522
--- /dev/null
+++ b/meta-oe/recipes-sato/claws-mail/claws-plugin-mailmbox-1.14/claws-plugin-mailmbox-fixup.patch
@@ -0,0 +1,218 @@
1Index: mailmbox-1.14/src/plugin_gtk.c
2===================================================================
3--- mailmbox-1.14.orig/src/plugin_gtk.c 2008-12-04 06:18:50.000000000 +0300
4+++ mailmbox-1.14/src/plugin_gtk.c 2008-12-04 06:49:40.000000000 +0300
5@@ -35,39 +35,41 @@
6
7 #include "pluginconfig.h"
8
9-static void new_folder_cb(FolderView *folderview, guint action, GtkWidget *widget);
10-static void delete_folder_cb(FolderView *folderview, guint action, GtkWidget *widget);
11-static void rename_folder_cb(FolderView *folderview, guint action, GtkWidget *widget);
12-static void move_folder_cb(FolderView *folderview, guint action, GtkWidget *widget);
13-static void update_tree_cb(FolderView *folderview, guint action, GtkWidget *widget);
14-static void remove_mailbox_cb(FolderView *folderview, guint action, GtkWidget *widget);
15-static void add_mailbox(gpointer callback_data, guint callback_action, GtkWidget *widget);
16-
17-static GtkItemFactoryEntry claws_mailmbox_popup_entries[] =
18-{
19- {N_("/Create _new folder..."), NULL, new_folder_cb, 0, NULL},
20- {N_("/---"), NULL, NULL, 0, "<Separator>"},
21- {N_("/_Rename folder..."), NULL, rename_folder_cb, 0, NULL},
22- {N_("/M_ove folder..."), NULL, move_folder_cb, 0, NULL},
23- {N_("/Cop_y folder..."), NULL, move_folder_cb, 1, NULL},
24- {N_("/---"), NULL, NULL, 0, "<Separator>"},
25- {N_("/_Delete folder"), NULL, delete_folder_cb, 0, NULL},
26- {N_("/---"), NULL, NULL, 0, "<Separator>"},
27- {N_("/_Check for new messages"), NULL, update_tree_cb, 0, NULL},
28- {N_("/C_heck for new folders"), NULL, update_tree_cb, 1, NULL},
29- {N_("/R_ebuild folder tree"), NULL, update_tree_cb, 2, NULL},
30- {N_("/---"), NULL, NULL, 0, "<Separator>"},
31- {N_("/Remove _mailbox"), NULL, remove_mailbox_cb, 0, NULL},
32- {N_("/---"), NULL, NULL, 0, "<Separator>"},
33+static void new_folder_cb(GtkAction *action, gpointer data);
34+static void delete_folder_cb(GtkAction *action, gpointer data);
35+static void rename_folder_cb(GtkAction *action, gpointer data);
36+static void move_folder_cb(GtkAction *action, gpointer data);
37+static void update_tree_cb(GtkAction *action, gpointer data);
38+static void remove_mailbox_cb(GtkAction *action, gpointer data);
39+static void add_mailbox(gpointer callback_data, guint callback_action, gpointer data);
40+
41+static GtkActionEntry claws_mailmbox_popup_entries[] =
42+{
43+ {"FolderViewPopup/CreateNewFolder", NULL, N_("/Create _new folder..."), NULL, NULL, G_CALLBACK(new_folder_cb) },
44+ {"FolderViewPopup/---", NULL, N_("/---") },
45+ {"FolderViewPopup/RenameFolder", NULL, N_("/_Rename folder..."), NULL, NULL, G_CALLBACK(rename_folder_cb) },
46+ {"FolderViewPopup/MoveFolder", NULL, N_("/M_ove folder..."), NULL, NULL, G_CALLBACK(move_folder_cb) },
47+ {"FolderViewPopup/CopyFolder", NULL, N_("/Cop_y folder..."), NULL, NULL, G_CALLBACK(move_folder_cb) },
48+ {"FolderViewPopup/---", NULL, N_("/---") },
49+ {"FolderViewPopup/DeleteFolder", NULL, N_("/_Delete folder"), NULL, NULL, G_CALLBACK(delete_folder_cb) },
50+ {"FolderViewPopup/---", NULL, N_("/---") },
51+ {"FolderViewPopup/CheckNewMessages", NULL, N_("/_Check for new messages"), NULL, NULL, G_CALLBACK(update_tree_cb) },
52+ {"FolderViewPopup/CheckNewFolders", NULL, N_("/C_heck for new folders"), NULL, NULL, G_CALLBACK(update_tree_cb) },
53+ {"FolderViewPopup/RebuildfTree", NULL, N_("/R_ebuild folder tree"), NULL, NULL, G_CALLBACK(update_tree_cb) },
54+ {"FolderViewPopup/---", NULL, N_("/---") },
55+ {"FolderViewPopup/RemoveMailbox", NULL, N_("/Remove _mailbox"), NULL, NULL, G_CALLBACK(remove_mailbox_cb) },
56 };
57
58-static void set_sensitivity(GtkItemFactory *factory, FolderItem *item);
59+static void set_sensitivity(GtkUIManager *factory, FolderItem *item);
60
61 static FolderViewPopup claws_mailmbox_popup =
62 {
63 "mailmbox",
64 "<MailmboxFolder>",
65- NULL,
66+ claws_mailmbox_popup_entries,
67+ G_N_ELEMENTS(claws_mailmbox_popup_entries),
68+ NULL, 0,
69+ NULL, 0, 0, NULL, NULL,
70 set_sensitivity
71 };
72
73@@ -85,11 +87,6 @@
74 GtkItemFactory *ifactory;
75 MainWindow *mainwin = mainwindow_get_mainwindow();
76
77- n_entries = sizeof(claws_mailmbox_popup_entries) /
78- sizeof(claws_mailmbox_popup_entries[0]);
79- for (i = 0; i < n_entries; i++)
80- claws_mailmbox_popup.entries = g_slist_append(claws_mailmbox_popup.entries, &claws_mailmbox_popup_entries[i]);
81-
82 folderview_register_popup(&claws_mailmbox_popup);
83
84 ifactory = gtk_item_factory_from_widget(mainwin->menubar);
85@@ -115,7 +112,7 @@
86 gtk_item_factory_delete_item(ifactory, mainwindow_add_mailbox.path);
87 }
88
89-static void set_sensitivity(GtkItemFactory *factory, FolderItem *item)
90+static void set_sensitivity(GtkUIManager *factory, FolderItem *item)
91 {
92 #define SET_SENS(name, sens) \
93 menu_set_sensitive(factory, name, sens)
94@@ -132,10 +129,13 @@
95 #undef SET_SENS
96 }
97
98-static void update_tree_cb(FolderView *folderview, guint action,
99- GtkWidget *widget)
100+#define DO_ACTION(name, act) { if (!strcmp(a_name, name)) act; }
101+
102+static void update_tree_cb(GtkAction *action, gpointer data)
103 {
104+ FolderView *folderview = (FolderView *)data;
105 FolderItem *item;
106+ const gchar *a_name = gtk_action_get_name(action);
107
108 item = folderview_get_selected_item(folderview);
109 g_return_if_fail(item != NULL);
110@@ -144,16 +144,12 @@
111
112 g_return_if_fail(item->folder != NULL);
113
114- if (action == 0)
115- folderview_check_new(item->folder);
116- else if (action == 1)
117- folderview_rescan_tree(item->folder, FALSE);
118- else if (action == 2)
119- folderview_rescan_tree(item->folder, TRUE);
120+ DO_ACTION("FolderViewPopup/CheckNewMessages", folderview_check_new(item->folder));
121+ DO_ACTION("FolderViewPopup/CheckNewFolders", folderview_rescan_tree(item->folder, FALSE));
122+ DO_ACTION("FolderViewPopup/RebuildTree", folderview_rescan_tree(item->folder, FALSE));
123 }
124
125-static void add_mailbox(gpointer callback_data, guint callback_action,
126- GtkWidget *widget)
127+static void add_mailbox(gpointer callback_data, guint callback_action, gpointer data)
128 {
129 MainWindow *mainwin = (MainWindow *) callback_data;
130 gchar *path, *basename;
131@@ -193,10 +189,10 @@
132 return;
133 }
134
135-static void new_folder_cb(FolderView *folderview, guint action,
136- GtkWidget *widget)
137+static void new_folder_cb(GtkAction *action, gpointer data)
138 {
139- GtkCTree *ctree = GTK_CTREE(folderview->ctree);
140+ FolderView *folderview = (FolderView *)data;
141+ GtkCMCTree *ctree = GTK_CMCTREE(folderview->ctree);
142 FolderItem *item;
143 FolderItem *new_item;
144 gchar *new_folder;
145@@ -245,9 +241,10 @@
146 folder_write_list();
147 }
148
149-static void remove_mailbox_cb(FolderView *folderview, guint action, GtkWidget *widget)
150+static void remove_mailbox_cb(GtkAction *action, gpointer data)
151 {
152- GtkCTree *ctree = GTK_CTREE(folderview->ctree);
153+ FolderView *folderview = (FolderView *)data;
154+ GtkCMCTree *ctree = GTK_CMCTREE(folderview->ctree);
155 GtkCTreeNode *node;
156 FolderItem *item;
157 gchar *name;
158@@ -276,10 +273,10 @@
159 folder_destroy(item->folder);
160 }
161
162-static void delete_folder_cb(FolderView *folderview, guint action,
163- GtkWidget *widget)
164+static void delete_folder_cb(GtkAction *action, gpointer data)
165 {
166- GtkCTree *ctree = GTK_CTREE(folderview->ctree);
167+ FolderView *folderview = (FolderView *)data;
168+ GtkCMCTree *ctree = GTK_CMCTREE(folderview->ctree);
169 FolderItem *item;
170 gchar *message, *name;
171 AlertValue avalue;
172@@ -329,24 +326,41 @@
173
174 }
175
176-static void move_folder_cb(FolderView *folderview, guint action, GtkWidget *widget)
177+static void move_folder_cb(GtkAction *action, gpointer data)
178+{
179+ FolderView *folderview = (FolderView *)data;
180+ FolderItem *from_folder = NULL, *to_folder = NULL;
181+
182+ from_folder = folderview_get_selected_item(folderview);
183+ if (!from_folder || from_folder->folder->klass != claws_mailmbox_get_class())
184+ return;
185+
186+ to_folder = foldersel_folder_sel(from_folder->folder, FOLDER_SEL_MOVE, NULL, TRUE);
187+ if (!to_folder)
188+ return;
189+
190+ folderview_move_folder(folderview, from_folder, to_folder, 0);
191+}
192+
193+static void copy_folder_cb(GtkAction *action, gpointer data)
194 {
195+ FolderView *folderview = (FolderView *)data;
196 FolderItem *from_folder = NULL, *to_folder = NULL;
197
198 from_folder = folderview_get_selected_item(folderview);
199 if (!from_folder || from_folder->folder->klass != claws_mailmbox_get_class())
200 return;
201
202- to_folder = foldersel_folder_sel(from_folder->folder, FOLDER_SEL_MOVE, NULL);
203+ to_folder = foldersel_folder_sel(from_folder->folder, FOLDER_SEL_MOVE, NULL, TRUE);
204 if (!to_folder)
205 return;
206
207- folderview_move_folder(folderview, from_folder, to_folder, action);
208+ folderview_move_folder(folderview, from_folder, to_folder, 1);
209 }
210
211-static void rename_folder_cb(FolderView *folderview, guint action,
212- GtkWidget *widget)
213+static void rename_folder_cb(GtkAction *action, gpointer data)
214 {
215+ FolderView *folderview = (FolderView *)data;
216 FolderItem *item, *parent;
217 gchar *new_folder;
218 gchar *name;
diff --git a/meta-oe/recipes-sato/claws-mail/claws-plugin-mailmbox_1.14.bb b/meta-oe/recipes-sato/claws-mail/claws-plugin-mailmbox_1.14.bb
new file mode 100644
index 000000000..8cb7fd0ab
--- /dev/null
+++ b/meta-oe/recipes-sato/claws-mail/claws-plugin-mailmbox_1.14.bb
@@ -0,0 +1,19 @@
1SECTION = "x11/network"
2DESCRIPTION = "Mail user agent plugins"
3DEPENDS = "claws-mail"
4LICENSE = "GPLv3"
5LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
6
7SRC_URI = "http://www.claws-mail.org/downloads/plugins/mailmbox-${PV}.tar.gz\
8 file://claws-plugin-mailmbox-fixup.patch"
9SRC_URI[md5sum] = "0a5907628c1112cf8e5fe251ed1db551"
10SRC_URI[sha256sum] = "d8d948807b4a09eb6da392161564c4bcee01070c9c86483889f93f1b14fd0870"
11
12inherit autotools pkgconfig
13
14S = "${WORKDIR}/mailmbox-${PV}"
15
16FILES_${PN} = "${libdir}/claws-mail/plugins/*.so"
17FILES_${PN}-dbg += "${libdir}/claws-mail/plugins/.debug"
18FILES_${PN}-dev += "${libdir}/claws-mail/plugins/*.la"
19FILES_${PN}-staticdev = "${libdir}/claws-mail/plugins/*.a"
diff --git a/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl_0.18.bb b/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl_0.18.bb
new file mode 100644
index 000000000..767c6722c
--- /dev/null
+++ b/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl_0.18.bb
@@ -0,0 +1,18 @@
1SECTION = "x11/network"
2DESCRIPTION = "Mail user agent plugins"
3DEPENDS = "claws-mail libxml2 curl glib-2.0 gtk+"
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=0c2348e0a084e573f0220f5e45d8097e"
6
7SRC_URI = "http://www.claws-mail.org/downloads/plugins/rssyl-${PV}.tar.gz"
8SRC_URI[md5sum] = "7dfd8ae53cf1ed88d5e4150f77b9df63"
9SRC_URI[sha256sum] = "b02eff373fd66daec2ffd75afd3ad97c32c45679883ee65b21aa50fec92fc752"
10
11inherit autotools pkgconfig gettext
12
13S = "${WORKDIR}/rssyl-${PV}"
14
15FILES_${PN} = "${libdir}/claws-mail/plugins/*.so"
16FILES_${PN}-dbg += "${libdir}/claws-mail/plugins/.debug"
17FILES_${PN}-dev += "${libdir}/claws-mail/plugins/*.la"
18FILES_${PN}-staticdev = "${libdir}/claws-mail/plugins/*.a"
diff --git a/meta-oe/recipes-sato/claws-mail/sylpheed/glib-2.32.patch b/meta-oe/recipes-sato/claws-mail/sylpheed/glib-2.32.patch
new file mode 100644
index 000000000..1520e578a
--- /dev/null
+++ b/meta-oe/recipes-sato/claws-mail/sylpheed/glib-2.32.patch
@@ -0,0 +1,11 @@
1--- sylpheed-2.7.1.orig/libsylph/defs.h 2009-06-10 09:55:46.000000000 +0200
2+++ sylpheed-2.7.1/libsylph/defs.h 2012-05-06 08:28:27.514746256 +0200
3@@ -24,8 +24,6 @@
4 # include "config.h"
5 #endif
6
7-#include <glibconfig.h>
8-
9 #ifdef G_OS_WIN32
10 # include <glib/gwin32.h>
11 #endif
diff --git a/meta-oe/recipes-sato/claws-mail/sylpheed_2.7.1.bb b/meta-oe/recipes-sato/claws-mail/sylpheed_2.7.1.bb
new file mode 100644
index 000000000..d0da53251
--- /dev/null
+++ b/meta-oe/recipes-sato/claws-mail/sylpheed_2.7.1.bb
@@ -0,0 +1,37 @@
1SECTION = "x11/network"
2DESCRIPTION = "Mail user agent"
3DEPENDS = "gtk+ gpgme gnutls"
4LICENSE = "GPLv2 & LGPLv2.1"
5LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4 \
6 file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1"
7
8PR = "r1"
9
10SRC_URI = "http://sylpheed.sraoss.jp/sylpheed/v2.7/sylpheed-${PV}.tar.bz2 \
11 file://glib-2.32.patch \
12"
13SRC_URI[md5sum] = "1f470525c1fbe53253813a0978c18228"
14SRC_URI[sha256sum] = "8bb6457db4e2eea1877b487d9ac8513546372db9a6a2e4271d11229f4af84e23"
15
16FILES_${PN} += "${datadir}/pixmaps ${datadir}/applications"
17FILES_${PN}-doc += "${datadir}"
18
19EXTRA_OECONF = "--disable-ssl --enable-gnutls"
20
21CFLAGS += "-D_GNU_SOURCE"
22
23do_configure_prepend() {
24 mkdir -p m4
25 for i in $(find ${S} -name "Makefile.am") ; do
26 sed -i s:'-I$(includedir)'::g $i
27 done
28}
29
30inherit autotools
31
32do_install_append() {
33 install -d ${D}${datadir}/applications
34 install -m 0644 sylpheed.desktop ${D}${datadir}/applications/
35 install -d ${D}${datadir}/pixmaps
36 install -m 0644 sylpheed.png ${D}${datadir}/pixmaps/
37}