claws-mail: Update to 3.6.1 + libetpan: update to 0.57:
authorStanislav Brabec <utx@penguin.cz>
Sat, 15 Nov 2008 23:57:53 +0000 (23:57 +0000)
committerutx@penguin.cz <utx@penguin.cz>
Sun, 16 Nov 2008 00:30:37 +0000 (00:30 +0000)
* added claws-mail-g_strcmp0.patch
* added libetpan-autoreconf.patch
* removed libetpan from preferred-om-2008-versions.inc (must follow claws-mail)
* added translation fix patch

conf/checksums.ini
conf/distro/include/preferred-om-2008-versions.inc
packages/libetpan/files/libetpan-autoreconf.patch [new file with mode: 0644]
packages/libetpan/libetpan_0.57.bb [moved from packages/libetpan/libetpan_0.52.bb with 83% similarity]
packages/sylpheed/claws-mail_3.3.0.bb [deleted file]
packages/sylpheed/claws-mail_3.6.1.bb [new file with mode: 0644]
packages/sylpheed/files/claws-mail-g_strcmp0.patch [new file with mode: 0644]

index afe5c0d..1eacaf2 100644 (file)
@@ -2890,6 +2890,14 @@ sha256=16d4a9ef3a2c62f879c688b7949f4d0b834b26c9905d16fee7d76432df29d8fd
 md5=646fea69bfa82be5f507e72e055957b6
 sha256=16d4a9ef3a2c62f879c688b7949f4d0b834b26c9905d16fee7d76432df29d8fd
 
+[http://www.penguin.cz/~utx/ftp/claws-mail/claws-mail-3.6.1-po-update.patch]
+md5=e8ff3fabf1ed47f3b11a9cdc36b026bd
+sha256=767258dd7c966e14ed519affe4c0da93e8fff66ee5fe9158413c8d163af72db8
+
+[http://downloads.sourceforge.net/sylpheed-claws/claws-mail-3.6.1.tar.bz2]
+md5=761b8ae2d574588460a0fb1ea4931ccb
+sha256=67337a4a1a5a5ce09f2a38422b7a6fc481e4747f74d4ddedd130d4fb06fc3907
+
 [http://downloads.sourceforge.net/clearlooks/clearlooks-0.6.2.tar.bz2]
 md5=451ef33d1bffa261c5cbe01182199f97
 sha256=be080113c9e9d137ee14eaf7f731c5ae58d24924748aaa725d0f061d59265f3b
@@ -10662,6 +10670,10 @@ sha256=dddf7b94e3547436beca1ed5ed22616f350d7e79cd1d72c83b122c1707237525
 md5=0214de45b1b92277fbfc6c9a00af5316
 sha256=f4547fae43a30265dd1d1e7f88c556d067a3ba67ca7ec0d46e540e6dc561a010
 
+[http://downloads.sourceforge.net/libetpan/libetpan-0.57.tar.gz]
+md5=8ce8c6c071e81884a475b12b7f9a9cc0
+sha256=1f3fda5c9e2961d1a6298dc8aadae321493d37727d8db45bc2e8d58f20547011
+
 [http://monkey.org/~provos/libevent-1.1a.tar.gz]
 md5=6cc776458ecaf9247550863702a44d7c
 sha256=1725cd3dd9ec87a68316c36a50ab653c7e9581c91f9b1b7e9af42a9c7c499d8e
index c89b650..3701009 100644 (file)
@@ -854,7 +854,6 @@ PREFERRED_VERSION_libelf ?= "0.8.6"
 PREFERRED_VERSION_liberror-perl ?= "0.17004"
 PREFERRED_VERSION_liberror-perl-native ?= "0.17004"
 PREFERRED_VERSION_libesmtp ?= "1.0.4"
-PREFERRED_VERSION_libetpan ?= "0.52"
 PREFERRED_VERSION_libevent ?= "1.1a"
 PREFERRED_VERSION_libeventdb ?= "0.90"
 PREFERRED_VERSION_libevnet ?= "0.3.1"
diff --git a/packages/libetpan/files/libetpan-autoreconf.patch b/packages/libetpan/files/libetpan-autoreconf.patch
new file mode 100644 (file)
index 0000000..d05967d
--- /dev/null
@@ -0,0 +1,12 @@
+Index: libetpan-0.57/configure.ac
+===================================================================
+--- libetpan-0.57.orig/configure.ac    2008-10-08 19:54:20.000000000 +0000
++++ libetpan-0.57/configure.ac 2008-11-11 16:34:33.000000000 +0000
+@@ -106,6 +106,7 @@
+ # Check the C compiler.
+ AC_PROG_CC
++AC_PROG_CXX
+ # Compiler flags.
+ AC_ARG_ENABLE(debug,   [  --enable-debug          setup flags (gcc) for debugging (default=no)],
similarity index 83%
rename from packages/libetpan/libetpan_0.52.bb
rename to packages/libetpan/libetpan_0.57.bb
index 77b2cca..e0108f9 100644 (file)
@@ -6,7 +6,8 @@ DEPENDS = "gnutls"
 LICENSE = "BSD"
 PR = "r0"
 
-SRC_URI = "${SOURCEFORGE_MIRROR}/libetpan/libetpan-${PV}.tar.gz"
+SRC_URI = "${SOURCEFORGE_MIRROR}/libetpan/libetpan-${PV}.tar.gz \
+          file://libetpan-autoreconf.patch;patch=1"
 
 inherit autotools pkgconfig gettext binconfig
 
diff --git a/packages/sylpheed/claws-mail_3.3.0.bb b/packages/sylpheed/claws-mail_3.3.0.bb
deleted file mode 100644 (file)
index 29e7a5b..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-SECTION = "x11/network"
-DESCRIPTION = "Mail user agent"
-DEPENDS = "gtk+ libetpan openssl aspell"
-LICENSE = "GPL"
-PR = "r0"
-
-SRC_URI = "\
-       ${SOURCEFORGE_MIRROR}/sylpheed-claws/claws-mail-${PV}.tar.bz2   \
-       file://desktop.patch;patch=1                            \
-       "
-
-FILES_${PN} = "${bindir} ${datadir}/pixmaps ${datadir}/applications"
-
-EXTRA_OECONF = "--disable-aspell-test          \
-               --enable--aspell                \
-               --disable-manual                \
-               --disable-crash-dialog          \
-               --disable-jpilot                \
-               --disable-trayicon-plugin       \
-               --disable-spamassassin-plugin   \
-               --disable-bogofilter-plugin     \
-               --disable-pgpcore-plugin        \
-               --disable-pgpmime-plugin        \
-               --disable-pgpinline-plugin      \
-               --disable-dillo-viewer-plugin   \
-               --disable-clamav-plugin         \
-               --disable-gnomeprint            \
-               --disable-valgrind              \
-               "
-
-inherit autotools pkgconfig
-
-do_install_append() {
-       install -d ${D}${datadir}/applications
-       install -m 0644 claws-mail.desktop ${D}${datadir}/applications/
-       install -d ${D}${datadir}/pixmaps
-       install -m 0644 claws-mail.png ${D}${datadir}/pixmaps/
-}
-
-do_stage () {
-       autotools_stage_all
-}
-
diff --git a/packages/sylpheed/claws-mail_3.6.1.bb b/packages/sylpheed/claws-mail_3.6.1.bb
new file mode 100644 (file)
index 0000000..ac0ff1b
--- /dev/null
@@ -0,0 +1,51 @@
+SECTION = "x11/network"
+DESCRIPTION = "Mail user agent"
+DEPENDS = "gtk+ libetpan openssl aspell"
+LICENSE = "GPL"
+PR = "r0"
+
+inherit autotools pkgconfig
+
+# translation patch: http://www.thewildbeast.co.uk/claws-mail/bugzilla/show_bug.cgi?id=1774
+SRC_URI = "\
+       ${SOURCEFORGE_MIRROR}/sylpheed-claws/claws-mail-${PV}.tar.bz2 \
+       http://www.penguin.cz/~utx/ftp/claws-mail/claws-mail-${PV}-po-update.patch;patch=1 \
+       file://desktop.patch;patch=1 \
+       file://claws-mail-g_strcmp0.patch;patch=1 \
+       "
+
+do_configure_append() {
+       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
+}
+
+# FIXME: maemo builds may want --enable-maemo
+# FIXME: some platforms may want --enable-generic-umpc
+EXTRA_OECONF = "--disable-aspell-test          \
+               --enable-aspell                 \
+               --disable-manual                \
+               --disable-crash-dialog          \
+               --disable-jpilot                \
+               --disable-trayicon-plugin       \
+               --disable-spamassassin-plugin   \
+               --disable-bogofilter-plugin     \
+               --disable-pgpcore-plugin        \
+               --disable-pgpmime-plugin        \
+               --disable-pgpinline-plugin      \
+               --disable-dillo-viewer-plugin   \
+               --disable-clamav-plugin         \
+               --disable-gnomeprint            \
+               --disable-valgrind              \
+               "
+
+# Remove enchant references:
+do_install_prepend() {
+       sed -i -e 's:${STAGING_INCDIR}:${includedir}:g;s:${STAGING_LIBDIR}:${libdir}:g' claws-mail.pc
+}
+
+# Work-around broken GPE icon lookup:
+do_install_append() {
+       rm -r ${D}${datadir}/icons
+       install -d ${D}${datadir}/pixmaps
+       install -m 0644 claws-mail.png ${D}${datadir}/pixmaps/
+       sed -i 's/Icon=[^.]*$/&.png/' ${D}${datadir}/applications/claws-mail.desktop
+}
diff --git a/packages/sylpheed/files/claws-mail-g_strcmp0.patch b/packages/sylpheed/files/claws-mail-g_strcmp0.patch
new file mode 100644 (file)
index 0000000..17c213d
--- /dev/null
@@ -0,0 +1,575 @@
+http://www.thewildbeast.co.uk/claws-mail/bugzilla/show_bug.cgi?id=1773
+
+However using if (g_utf8_collate(foo1, foo2)) works and gives good results (at
+least if glibc or locale data are not broken), this usage is bad.
+
+If you need to just compare strings to get equal/non-equal return value, than
+using of four-pass locale wise lexicographic collating is purely superfluous.
+
+Using simpler functions like strcmp() or g_strcmp0() will give the same result
+5-50 times faster.
+
+In attached patch, I replaces all occurrences of upper mentioned use case.
+
+Stanislav Brabec
+
+diff -ur claws-mail-3.6.1.orig/src/addrcustomattr.c claws-mail-3.6.1/src/addrcustomattr.c
+--- claws-mail-3.6.1.orig/src/addrcustomattr.c 2008-07-25 23:01:29.000000000 +0200
++++ claws-mail-3.6.1/src/addrcustomattr.c      2008-11-14 14:27:12.000000000 +0100
+@@ -353,7 +353,7 @@
+       gchar *attr;
+       gtk_tree_model_get(model, iter, CUSTOM_ATTR_NAME, &attr, -1);
+-      if (g_utf8_collate(data->attr, attr)==0) {
++      if (g_strcmp0(data->attr, attr)==0) {
+               data->path = path; /* signal we found it */
+               data->iter = *iter;
+               return TRUE;
+diff -ur claws-mail-3.6.1.orig/src/addressbook_foldersel.c claws-mail-3.6.1/src/addressbook_foldersel.c
+--- claws-mail-3.6.1.orig/src/addressbook_foldersel.c  2008-09-09 19:10:50.000000000 +0200
++++ claws-mail-3.6.1/src/addressbook_foldersel.c       2008-11-14 14:27:12.000000000 +0100
+@@ -392,12 +392,19 @@
+        corresponds to what we received */
+       if ( path != NULL ) {
+-              if ( g_utf8_collate(path, _("Any")) == 0 || strcasecmp(path, "Any") ==0 || *path == '\0' )
++              /* FIXME: Do we really need to recognize "anY" (and translated form)? */
++              /* It's a bit more complicated than g_utf8_collate, but still much faster */
++              char *tmp1, *tmp2;
++              tmp1 = g_utf8_casefold(path, -1);
++              tmp2 = g_utf8_casefold(_("Any"), -1); /* FIXME: This should be done only once. */
++              if ( g_strcmp0(tmp1, tmp2) == 0 || g_ascii_strcasecmp(path, "Any") ==0 || *path == '\0' )
+                       /* consider "Any" (both translated or untranslated forms) and ""
+                          as valid addressbook roots */
+                       folder_path_match.matched = TRUE;
+               else
+                       folder_path_match.folder_path = g_strsplit( path, "/", 256 );
++              g_free(tmp1);
++              g_free(tmp2);
+       }
+       addressbook_foldersel_load_data( addrIndex, &folder_path_match );
+diff -ur claws-mail-3.6.1.orig/src/addrgather.c claws-mail-3.6.1/src/addrgather.c
+--- claws-mail-3.6.1.orig/src/addrgather.c     2008-09-09 19:10:50.000000000 +0200
++++ claws-mail-3.6.1/src/addrgather.c  2008-11-14 14:27:12.000000000 +0100
+@@ -507,7 +507,7 @@
+       for (i = 0; i < NUM_FIELDS; i++) {
+               gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(addrgather_dlg.checkHeader[i]),
+                                            FALSE);
+-              if (g_utf8_collate(_harv_headerNames_[i], HEADER_FROM) == 0)
++              if (g_strcmp0(_harv_headerNames_[i], HEADER_FROM) == 0)
+                       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(addrgather_dlg.checkHeader[i]),
+                                                   TRUE);
+       }
+diff -ur claws-mail-3.6.1.orig/src/common/mgutils.c claws-mail-3.6.1/src/common/mgutils.c
+--- claws-mail-3.6.1.orig/src/common/mgutils.c 2007-10-15 19:19:53.000000000 +0200
++++ claws-mail-3.6.1/src/common/mgutils.c      2008-11-14 14:27:12.000000000 +0100
+@@ -356,7 +356,7 @@
+               if( strlen( str ) > 0 ) {
+                       node = list;
+                       while( node ) {
+-                              if( g_utf8_collate( str, node->data ) == 0 )
++                              if( g_strcmp0( str, node->data ) == 0 )
+                                       return FALSE;
+                               node = g_slist_next( node );
+                       }
+@@ -380,7 +380,7 @@
+               if( strlen( str ) > 0 ) {
+                       node = list;
+                       while( node ) {
+-                              if( g_utf8_collate( str, node->data ) == 0 )
++                              if( g_strcmp0( str, node->data ) == 0 )
+                                       return FALSE;
+                               node = g_list_next( node );
+                       }
+diff -ur claws-mail-3.6.1.orig/src/compose.c claws-mail-3.6.1/src/compose.c
+--- claws-mail-3.6.1.orig/src/compose.c        2008-10-04 12:58:45.000000000 +0200
++++ claws-mail-3.6.1/src/compose.c     2008-11-14 14:27:12.000000000 +0100
+@@ -2399,7 +2399,7 @@
+       for (h_list = compose->header_list; h_list != NULL; h_list = h_list->next) {
+               entry = GTK_ENTRY(((ComposeHeaderEntry *)h_list->data)->entry);
+               if (gtk_entry_get_text(entry) && 
+-                  !g_utf8_collate(gtk_entry_get_text(entry), mailto)) {
++                  !g_strcmp0(gtk_entry_get_text(entry), mailto)) {
+                       if (yellow_initialised) {
+                               gtk_widget_modify_base(
+                                       GTK_WIDGET(((ComposeHeaderEntry *)h_list->data)->entry),
+@@ -4858,7 +4858,7 @@
+               headerentry = ((ComposeHeaderEntry *)list->data);
+               headerentryname = gtk_entry_get_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN((headerentry->combo)))));
+-              if (g_utf8_collate(headerentryname, to_hdr) == 0) {
++              if (g_strcmp0(headerentryname, to_hdr) == 0) {
+                       const gchar *entstr = gtk_entry_get_text(GTK_ENTRY(headerentry->entry));
+                       Xstrdup_a(str, entstr, return -1);
+                       g_strstrip(str);
+@@ -4886,7 +4886,7 @@
+               headerentry = ((ComposeHeaderEntry *)list->data);
+               headerentryname = gtk_entry_get_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN((headerentry->combo)))));
+-              if (g_utf8_collate(headerentryname, cc_hdr) == 0) {
++              if (g_strcmp0(headerentryname, cc_hdr) == 0) {
+                       const gchar *strg = gtk_entry_get_text(GTK_ENTRY(headerentry->entry));
+                       Xstrdup_a(str, strg, return -1);
+                       g_strstrip(str);
+@@ -5760,7 +5760,7 @@
+               headerentry = ((ComposeHeaderEntry *)list->data);
+               headerentryname = gtk_entry_get_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN((headerentry->combo)))));
+-              if (!g_utf8_collate(trans_fieldname, headerentryname)) {
++              if (!g_strcmp0(trans_fieldname, headerentryname)) {
+                       str = gtk_editable_get_chars(GTK_EDITABLE(headerentry->entry), 0, -1);
+                       g_strstrip(str);
+                       if (str[0] != '\0') {
+diff -ur claws-mail-3.6.1.orig/src/customheader.c claws-mail-3.6.1/src/customheader.c
+--- claws-mail-3.6.1.orig/src/customheader.c   2007-07-11 18:33:01.000000000 +0200
++++ claws-mail-3.6.1/src/customheader.c        2008-11-14 14:27:12.000000000 +0100
+@@ -83,7 +83,7 @@
+       for (cur = header_list; cur != NULL; cur = cur->next) {
+               chdr = (CustomHeader *)cur->data;
+-              if (!g_utf8_collate(chdr->name, header))
++              if (!g_strcmp0(chdr->name, header))
+                       return chdr;
+       }
+diff -ur claws-mail-3.6.1.orig/src/exportldif.c claws-mail-3.6.1/src/exportldif.c
+--- claws-mail-3.6.1.orig/src/exportldif.c     2007-10-04 19:36:26.000000000 +0200
++++ claws-mail-3.6.1/src/exportldif.c  2008-11-14 14:27:12.000000000 +0100
+@@ -275,7 +275,7 @@
+               UserAttribute *attrib = node->data;
+               node = g_list_next( node );
+-              if( g_utf8_collate( attrib->name, LDIF_TAG_DN ) == 0 ) {
++              if( g_strcmp0( attrib->name, LDIF_TAG_DN ) == 0 ) {
+                       retVal = g_strdup( attrib->value );
+                       break;
+               }
+diff -ur claws-mail-3.6.1.orig/src/gtk/combobox.c claws-mail-3.6.1/src/gtk/combobox.c
+--- claws-mail-3.6.1.orig/src/gtk/combobox.c   2008-08-29 10:37:19.000000000 +0200
++++ claws-mail-3.6.1/src/gtk/combobox.c        2008-11-14 14:27:12.000000000 +0100
+@@ -101,7 +101,7 @@
+       const gchar *curdata;
+       gtk_tree_model_get (GTK_TREE_MODEL(model), iter, 0, &curdata, -1);
+-      if (!g_utf8_collate(data, curdata)) {
++      if (!g_strcmp0(data, curdata)) {
+               gtk_combo_box_set_active_iter(combobox, iter);
+               return TRUE;
+       }
+diff -ur claws-mail-3.6.1.orig/src/jpilot.c claws-mail-3.6.1/src/jpilot.c
+--- claws-mail-3.6.1.orig/src/jpilot.c 2008-10-01 09:10:29.000000000 +0200
++++ claws-mail-3.6.1/src/jpilot.c      2008-11-14 14:27:12.000000000 +0100
+@@ -1322,7 +1322,7 @@
+                                       }
+                               }
+-                              if( g_utf8_collate( labelName, lbl ) == 0 ) {
++                              if( g_strcmp0( labelName, lbl ) == 0 ) {
+                                       ind = i;
+                                       break;
+                               }
+@@ -1640,7 +1640,7 @@
+       if( labelName ) {
+               node = pilotFile->customLabels;
+               while( node ) {
+-                      if( g_utf8_collate( labelName, ( gchar * ) node->data ) == 0 ) {
++                      if( g_strcmp0( labelName, ( gchar * ) node->data ) == 0 ) {
+                               retVal = TRUE;
+                               break;
+                       }
+diff -ur claws-mail-3.6.1.orig/src/ldapserver.c claws-mail-3.6.1/src/ldapserver.c
+--- claws-mail-3.6.1.orig/src/ldapserver.c     2007-08-22 18:08:33.000000000 +0200
++++ claws-mail-3.6.1/src/ldapserver.c  2008-11-14 14:27:12.000000000 +0100
+@@ -437,7 +437,7 @@
+       /* Search backwards for query */
+       while( node ) {
+               LdapQuery *qry = node->data;
+-              if( g_utf8_collate( ADDRQUERY_SEARCHVALUE(qry), searchTerm ) == 0 ) {
++              if( g_strcmp0( ADDRQUERY_SEARCHVALUE(qry), searchTerm ) == 0 ) {
+                       if( qry->agedFlag ) continue;
+                       if( qry->completed ) {
+                               /* Found */
+diff -ur claws-mail-3.6.1.orig/src/ldif.c claws-mail-3.6.1/src/ldif.c
+--- claws-mail-3.6.1.orig/src/ldif.c   2008-08-06 21:38:36.000000000 +0200
++++ claws-mail-3.6.1/src/ldif.c        2008-11-14 14:27:12.000000000 +0100
+@@ -536,19 +536,19 @@
+       }
+       g_strstrip( val );
+-      if( g_utf8_collate( nm, LDIF_TAG_COMMONNAME ) == 0 ) {
++      if( g_strcmp0( nm, LDIF_TAG_COMMONNAME ) == 0 ) {
+               rec->listCName = g_slist_append( rec->listCName, val );
+       }
+-      else if( g_utf8_collate( nm, LDIF_TAG_FIRSTNAME ) == 0 ) {
++      else if( g_strcmp0( nm, LDIF_TAG_FIRSTNAME ) == 0 ) {
+               rec->listFName = g_slist_append( rec->listFName, val );
+       }
+-      else if( g_utf8_collate( nm, LDIF_TAG_LASTNAME ) == 0 ) {
++      else if( g_strcmp0( nm, LDIF_TAG_LASTNAME ) == 0 ) {
+               rec->listLName = g_slist_append( rec->listLName, val );
+       }
+-      else if( g_utf8_collate( nm, LDIF_TAG_NICKNAME ) == 0 ) {
++      else if( g_strcmp0( nm, LDIF_TAG_NICKNAME ) == 0 ) {
+               rec->listNName = g_slist_append( rec->listNName, val );
+       }
+-      else if( g_utf8_collate( nm, LDIF_TAG_EMAIL ) == 0 ) {
++      else if( g_strcmp0( nm, LDIF_TAG_EMAIL ) == 0 ) {
+               rec->listAddress = g_slist_append( rec->listAddress, val );
+       }
+       else {
+@@ -759,27 +759,27 @@
+                       gchar *key = g_strdup( tag );
+                       rec = ldif_create_fieldrec( tag );
+-                      if( g_utf8_collate( tag, LDIF_TAG_DN ) == 0 ) {
++                      if( g_strcmp0( tag, LDIF_TAG_DN ) == 0 ) {
+                               rec->reserved = rec->selected = TRUE;
+                               rec->userName = g_strdup( "dn" );
+                       }
+-                      else if( g_utf8_collate( tag, LDIF_TAG_COMMONNAME ) == 0 ) {
++                      else if( g_strcmp0( tag, LDIF_TAG_COMMONNAME ) == 0 ) {
+                               rec->reserved = rec->selected = TRUE;
+                               rec->userName = g_strdup( _( "Display Name" ) );
+                       }
+-                      else if( g_utf8_collate( tag, LDIF_TAG_FIRSTNAME ) == 0 ) {
++                      else if( g_strcmp0( tag, LDIF_TAG_FIRSTNAME ) == 0 ) {
+                               rec->reserved = rec->selected = TRUE;
+                               rec->userName = g_strdup( _( "First Name" ) );
+                       }
+-                      else if( g_utf8_collate( tag, LDIF_TAG_LASTNAME ) == 0 ) {
++                      else if( g_strcmp0( tag, LDIF_TAG_LASTNAME ) == 0 ) {
+                               rec->reserved = rec->selected = TRUE;
+                               rec->userName = g_strdup( _( "Last Name" ) );
+                       }
+-                      else if( g_utf8_collate( tag, LDIF_TAG_NICKNAME ) == 0 ) {
++                      else if( g_strcmp0( tag, LDIF_TAG_NICKNAME ) == 0 ) {
+                               rec->reserved = rec->selected = TRUE;
+                               rec->userName = g_strdup( _( "Nick Name" ) );
+                       }
+-                      else if( g_utf8_collate( tag, LDIF_TAG_EMAIL ) == 0 ) {
++                      else if( g_strcmp0( tag, LDIF_TAG_EMAIL ) == 0 ) {
+                               rec->reserved = rec->selected = TRUE;
+                               rec->userName = g_strdup( _( "Email Address" ) );
+                       }
+@@ -894,7 +894,7 @@
+                                       /* Add tag to list */
+                                       listTags = g_slist_append( listTags, tagName );
+-                                      if( g_utf8_collate(
++                                      if( g_strcmp0(
+                                               tagName, LDIF_TAG_EMAIL ) == 0 )
+                                       {
+                                               flagMail = TRUE;
+diff -ur claws-mail-3.6.1.orig/src/plugins/bogofilter/bogofilter_gtk.c claws-mail-3.6.1/src/plugins/bogofilter/bogofilter_gtk.c
+--- claws-mail-3.6.1.orig/src/plugins/bogofilter/bogofilter_gtk.c      2008-09-09 19:10:52.000000000 +0200
++++ claws-mail-3.6.1/src/plugins/bogofilter/bogofilter_gtk.c   2008-11-14 14:27:12.000000000 +0100
+@@ -296,7 +296,7 @@
+                                       config->whitelist_ab_folder);
+               else
+               /* backward compatibility (when translated "Any" was stored) */
+-              if (g_utf8_collate(config->whitelist_ab_folder, _("Any")) == 0)
++              if (g_strcmp0(config->whitelist_ab_folder, _("Any")) == 0)
+                       gtk_entry_set_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN((whitelist_ab_folder_combo)))),
+                                       config->whitelist_ab_folder);
+               else
+@@ -373,7 +373,7 @@
+       config->whitelist_ab_folder = gtk_editable_get_chars(
+                               GTK_EDITABLE(gtk_bin_get_child(GTK_BIN((page->whitelist_ab_folder_combo)))), 0, -1);
+       /* store UNtranslated "Any" */
+-      if (g_utf8_collate(config->whitelist_ab_folder, _("Any")) == 0) {
++      if (g_strcmp0(config->whitelist_ab_folder, _("Any")) == 0) {
+               g_free(config->whitelist_ab_folder);
+               config->whitelist_ab_folder = g_strdup("Any");
+       }
+diff -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
+--- claws-mail-3.6.1.orig/src/plugins/dillo_viewer/dillo_prefs.c       2008-08-07 18:38:59.000000000 +0200
++++ claws-mail-3.6.1/src/plugins/dillo_viewer/dillo_prefs.c    2008-11-14 14:27:12.000000000 +0100
+@@ -209,7 +209,7 @@
+                                       _("Any"));
+               else
+               /* backward compatibility (when translated "Any" was stored) */
+-              if (g_utf8_collate(dillo_prefs.whitelist_ab_folder, _("Any")) == 0)
++              if (g_strcmp0(dillo_prefs.whitelist_ab_folder, _("Any")) == 0)
+                       gtk_entry_set_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN((whitelist_ab_folder_combo)))),
+                                       dillo_prefs.whitelist_ab_folder);
+               else
+@@ -272,7 +272,7 @@
+       dillo_prefs.whitelist_ab_folder = gtk_editable_get_chars(
+                               GTK_EDITABLE(gtk_bin_get_child(GTK_BIN((prefs_page->whitelist_ab_folder_combo)))), 0, -1);
+       /* store UNtranslated "Any" */
+-      if (g_utf8_collate(dillo_prefs.whitelist_ab_folder, _("Any")) == 0) {
++      if (g_strcmp0(dillo_prefs.whitelist_ab_folder, _("Any")) == 0) {
+               g_free(dillo_prefs.whitelist_ab_folder);
+               dillo_prefs.whitelist_ab_folder = g_strdup("Any");
+       }
+diff -ur claws-mail-3.6.1.orig/src/plugins/spamassassin/spamassassin_gtk.c claws-mail-3.6.1/src/plugins/spamassassin/spamassassin_gtk.c
+--- claws-mail-3.6.1.orig/src/plugins/spamassassin/spamassassin_gtk.c  2008-09-09 19:10:52.000000000 +0200
++++ claws-mail-3.6.1/src/plugins/spamassassin/spamassassin_gtk.c       2008-11-14 14:27:12.000000000 +0100
+@@ -480,7 +480,7 @@
+                                       config->whitelist_ab_folder);
+               else
+               /* backward compatibility (when translated "Any" was stored) */
+-              if (g_utf8_collate(config->whitelist_ab_folder, _("Any")) == 0)
++              if (g_strcmp0(config->whitelist_ab_folder, _("Any")) == 0)
+                       gtk_entry_set_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN((whitelist_ab_folder_combo)))),
+                                       config->whitelist_ab_folder);
+               else
+@@ -603,7 +603,7 @@
+       config->whitelist_ab_folder = gtk_editable_get_chars(
+                               GTK_EDITABLE(gtk_bin_get_child(GTK_BIN((page->whitelist_ab_folder_combo)))), 0, -1);
+       /* store UNtranslated "Any" */
+-      if (g_utf8_collate(config->whitelist_ab_folder, _("Any")) == 0) {
++      if (g_strcmp0(config->whitelist_ab_folder, _("Any")) == 0) {
+               g_free(config->whitelist_ab_folder);
+               config->whitelist_ab_folder = g_strdup("Any");
+       }
+diff -ur claws-mail-3.6.1.orig/src/prefs_matcher.c claws-mail-3.6.1/src/prefs_matcher.c
+--- claws-mail-3.6.1.orig/src/prefs_matcher.c  2008-10-08 20:23:51.000000000 +0200
++++ claws-mail-3.6.1/src/prefs_matcher.c       2008-11-14 14:27:12.000000000 +0100
+@@ -1484,10 +1484,10 @@
+               if (*expr == '\0') {
+                       gchar *tmp;
+-                      if (g_utf8_collate(header, Q_("Filtering Matcher Menu|All")) == 0)
++                      if (g_strcmp0(header, Q_("Filtering Matcher Menu|All")) == 0)
+                               tmp = g_strdup(_("all addresses in all headers"));
+                       else
+-                      if (g_utf8_collate(header, _("Any")) == 0)
++                      if (g_strcmp0(header, _("Any")) == 0)
+                               tmp = g_strdup(_("any address in any header"));
+                       else
+                               tmp = g_strdup_printf(_("the address(es) in header '%s'"), header);
+@@ -1499,12 +1499,12 @@
+                   return NULL;
+               }
+               /* store UNtranslated "Any"/"All" in matcher expressions */
+-              if (g_utf8_collate(header, Q_("Filtering Matcher Menu|All")) == 0)
++              if (g_strcmp0(header, Q_("Filtering Matcher Menu|All")) == 0)
+                       header = "All";
+               else
+-                      if (g_utf8_collate(header, _("Any")) == 0)
++                      if (g_strcmp0(header, _("Any")) == 0)
+                               header = "Any";
+-              if (g_utf8_collate(expr, _("Any")) == 0)
++              if (g_strcmp0(expr, _("Any")) == 0)
+                       expr = "Any";
+               break;
+       }
+diff -ur claws-mail-3.6.1.orig/src/prefs_toolbar.c claws-mail-3.6.1/src/prefs_toolbar.c
+--- claws-mail-3.6.1.orig/src/prefs_toolbar.c  2008-09-09 19:10:50.000000000 +0200
++++ claws-mail-3.6.1/src/prefs_toolbar.c       2008-11-14 14:27:12.000000000 +0100
+@@ -391,7 +391,7 @@
+               gtk_tree_model_get(model_set, &iter,
+                                  SET_EVENT, &entry, 
+                                  -1);
+-              if (g_utf8_collate(chosen_action, entry) == 0) 
++              if (g_strcmp0(chosen_action, entry) == 0) 
+                       result = TRUE;
+               g_free(entry);                  
+       } while (!result && gtk_tree_model_iter_next(model_set, &iter));
+@@ -551,7 +551,7 @@
+                                               prefs_toolbar->item_func_combo));
+                                               
+                       if (is_duplicate(prefs_toolbar, icon_event)
+-                      && g_utf8_collate(icon_event, set_event) != 0){
++                      && g_strcmp0(icon_event, set_event) != 0){
+                               alertpanel_error(ERROR_MSG);
+                               g_free(icon_event);
+                               g_free(set_event);
+@@ -1179,7 +1179,7 @@
+       gtk_button_set_image(GTK_BUTTON(prefs_toolbar->icon_button),
+                            gtk_image_new_from_pixbuf(pix));
+       
+-      if (g_utf8_collate(toolbar_ret_descr_from_val(A_SEPARATOR), descr) == 0) {
++      if (g_strcmp0(toolbar_ret_descr_from_val(A_SEPARATOR), descr) == 0) {
+               gtk_button_set_label(GTK_BUTTON(prefs_toolbar->icon_button),
+                                   _("None"));
+               g_free(prefs_toolbar->item_icon_file);
+@@ -1196,7 +1196,7 @@
+       gtk_entry_set_text(GTK_ENTRY(prefs_toolbar->item_text_entry), 
+                          icon_text);
+-      if (g_utf8_collate(toolbar_ret_descr_from_val(A_CLAWS_ACTIONS), descr) == 0) {
++      if (g_strcmp0(toolbar_ret_descr_from_val(A_CLAWS_ACTIONS), descr) == 0) {
+               gtk_combo_box_set_active(GTK_COMBO_BOX(
+                       prefs_toolbar->item_type_combo), ITEM_USER_ACTION);
+@@ -1205,7 +1205,7 @@
+                       gchar *item_string;
+                       get_action_name((gchar *)cur2->data, &item_string);
+                       
+-                      if(g_utf8_collate(item_string, icon_text) == 0) {
++                      if(g_strcmp0(item_string, icon_text) == 0) {
+                               gtk_combo_box_set_active(
+                                       GTK_COMBO_BOX(prefs_toolbar->item_action_combo),
+                                       item_num);
+@@ -1231,7 +1231,7 @@
+       for (cur = prefs_toolbar->combo_action_list, item_num = 0; cur != NULL; 
+            cur = cur->next) {
+               gchar *item_str = (gchar*)cur->data;
+-              if (g_utf8_collate(item_str, descr) == 0) {
++              if (g_strcmp0(item_str, descr) == 0) {
+                       gtk_combo_box_set_active(
+                               GTK_COMBO_BOX(prefs_toolbar->item_func_combo),
+                               item_num);
+diff -ur claws-mail-3.6.1.orig/src/procmime.c claws-mail-3.6.1/src/procmime.c
+--- claws-mail-3.6.1.orig/src/procmime.c       2008-10-01 09:10:29.000000000 +0200
++++ claws-mail-3.6.1/src/procmime.c    2008-11-14 14:27:12.000000000 +0100
+@@ -1020,14 +1020,6 @@
+       return hash_result;
+ }
+-static gint procmime_str_equal(gconstpointer gptr1, gconstpointer gptr2)
+-{
+-      const char *str1 = gptr1;
+-      const char *str2 = gptr2;
+-
+-      return !g_utf8_collate(str1, str2);
+-}
+-
+ static GHashTable *procmime_get_mime_type_table(void)
+ {
+       GHashTable *table = NULL;
+@@ -1040,7 +1032,7 @@
+               if (!mime_type_list) return NULL;
+       }
+-      table = g_hash_table_new(procmime_str_hash, procmime_str_equal);
++      table = g_hash_table_new(procmime_str_hash, g_str_equal);
+       for (cur = mime_type_list; cur != NULL; cur = cur->next) {
+               gint i;
+diff -ur claws-mail-3.6.1.orig/src/summaryview.c claws-mail-3.6.1/src/summaryview.c
+--- claws-mail-3.6.1.orig/src/summaryview.c    2008-10-09 20:17:53.000000000 +0200
++++ claws-mail-3.6.1/src/summaryview.c 2008-11-14 14:27:12.000000000 +0100
+@@ -4240,7 +4240,7 @@
+                                       g_strdup_printf("%s",
+                                                       account->address);
+                       
+-                      if (g_utf8_collate(from_name, msginfo->from) == 0) {
++                      if (g_strcmp0(from_name, msginfo->from) == 0) {
+                               g_free(from_name);
+                               found = TRUE;
+                               break;
+diff -ur claws-mail-3.6.1.orig/src/toolbar.c claws-mail-3.6.1/src/toolbar.c
+--- claws-mail-3.6.1.orig/src/toolbar.c        2008-09-13 12:07:43.000000000 +0200
++++ claws-mail-3.6.1/src/toolbar.c     2008-11-14 14:39:07.000000000 +0100
+@@ -236,7 +236,7 @@
+       gint i;
+       for (i = 0; i < N_ACTION_VAL; i++) {
+-              if (g_utf8_collate(gettext(toolbar_text[i].descr), descr) == 0)
++              if (g_strcmp0(gettext(toolbar_text[i].descr), descr) == 0)
+                               return i;
+       }
+       
+@@ -255,7 +255,7 @@
+       gint i;
+       
+       for (i = 0; i < N_ACTION_VAL; i++) {
+-              if (g_utf8_collate(toolbar_text[i].index_str, text) == 0)
++              if (g_strcmp0(toolbar_text[i].index_str, text) == 0)
+                               return i;
+       }
+@@ -346,11 +346,11 @@
+               name = ((XMLAttr *)attr->data)->name;
+               value = ((XMLAttr *)attr->data)->value;
+               
+-              if (g_utf8_collate(name, TOOLBAR_ICON_FILE) == 0) 
++              if (g_strcmp0(name, TOOLBAR_ICON_FILE) == 0) 
+                       item->file = g_strdup (value);
+-              else if (g_utf8_collate(name, TOOLBAR_ICON_TEXT) == 0)
++              else if (g_strcmp0(name, TOOLBAR_ICON_TEXT) == 0)
+                       item->text = g_strdup (gettext(value));
+-              else if (g_utf8_collate(name, TOOLBAR_ICON_ACTION) == 0)
++              else if (g_strcmp0(name, TOOLBAR_ICON_ACTION) == 0)
+                       item->index = toolbar_ret_val_from_text(value);
+               if (item->index == -1 && !strcmp(value, "A_DELETE")) {
+                       /* switch button */
+@@ -821,7 +821,7 @@
+                               action_p = strstr(action, ": ");
+                               action_p[0] = 0x00;
+-                              if (g_utf8_collate(act->name, action) == 0) {
++                              if (g_strcmp0(act->name, action) == 0) {
+                                       found = TRUE;
+                                       g_free(action);
+                                       break;
+diff -ur claws-mail-3.6.1.orig/src/vcard.c claws-mail-3.6.1/src/vcard.c
+--- claws-mail-3.6.1.orig/src/vcard.c  2008-08-06 21:38:43.000000000 +0200
++++ claws-mail-3.6.1/src/vcard.c       2008-11-14 14:27:12.000000000 +0100
+@@ -348,7 +348,7 @@
+                               str = nodeRemarks->data;
+                               if( nodeRemarks ) {
+                                       if( str ) {
+-                                              if( g_utf8_collate( str, "internet" ) != 0 ) {
++                                              if( g_strcmp0( str, "internet" ) != 0 ) {
+                                                       if( *str != '\0' )
+                                                               addritem_email_set_remarks( email, str );
+                                               }
+@@ -442,7 +442,7 @@
+               /* g_print( "\ttype:  %s\n", tagtype ); */
+               /* g_print( "\tvalue: %s\n", tagvalue ); */
+-              if( g_utf8_collate( tagtype, VCARD_TYPE_QP ) == 0 ) {
++              if( g_strcmp0( tagtype, VCARD_TYPE_QP ) == 0 ) {
+                       gchar *tmp;
+                       /* Quoted-Printable: could span multiple lines */
+                       tagvalue = vcard_read_qp( cardFile, tagvalue );
+@@ -452,26 +452,26 @@
+                       /* g_print( "QUOTED-PRINTABLE !!! final\n>%s<\n", tagvalue ); */
+               }
+-              if( g_utf8_collate( tagname, VCARD_TAG_START ) == 0 &&
++              if( g_strcmp0( tagname, VCARD_TAG_START ) == 0 &&
+                       g_ascii_strcasecmp( tagvalue, VCARD_NAME ) == 0 ) {
+                       /* g_print( "start card\n" ); */
+                       vcard_free_lists( listName, listAddress, listRemarks, listID );
+                       listName = listAddress = listRemarks = listID = NULL;
+               }
+-              if( g_utf8_collate( tagname, VCARD_TAG_FULLNAME ) == 0 ) {
++              if( g_strcmp0( tagname, VCARD_TAG_FULLNAME ) == 0 ) {
+                       /* g_print( "- full name: %s\n", tagvalue ); */
+                       listName = g_slist_append( listName, g_strdup( tagvalue ) );
+               }
+-              if( g_utf8_collate( tagname, VCARD_TAG_EMAIL ) == 0 ) {
++              if( g_strcmp0( tagname, VCARD_TAG_EMAIL ) == 0 ) {
+                       /* g_print( "- address: %s\n", tagvalue ); */
+                       listAddress = g_slist_append( listAddress, g_strdup( tagvalue ) );
+                       listRemarks = g_slist_append( listRemarks, g_strdup( tagtype ) );
+               }
+-              if( g_utf8_collate( tagname, VCARD_TAG_UID ) == 0 ) {
++              if( g_strcmp0( tagname, VCARD_TAG_UID ) == 0 ) {
+                       /* g_print( "- id: %s\n", tagvalue ); */
+                       listID = g_slist_append( listID, g_strdup( tagvalue ) );
+               }
+-              if( g_utf8_collate( tagname, VCARD_TAG_END ) == 0 &&
++              if( g_strcmp0( tagname, VCARD_TAG_END ) == 0 &&
+                       g_ascii_strcasecmp( tagvalue, VCARD_NAME ) == 0 ) {
+                       /* vCard is complete */
+                       /* g_print( "end card\n--\n" ); */
+@@ -659,7 +659,7 @@
+                               tagtemp = NULL;
+                       }
+-                      if( g_utf8_collate( tagtype, VCARD_TYPE_QP ) == 0 ) {
++                      if( g_strcmp0( tagtype, VCARD_TYPE_QP ) == 0 ) {
+                               gchar *tmp;
+                               /* Quoted-Printable: could span multiple lines */
+                               tagvalue = vcard_read_qp( cardFile, tagvalue );
+@@ -667,11 +667,11 @@
+                               g_free(tagvalue);
+                               tagvalue=tmp;
+                       }
+-                      if( g_utf8_collate( tagname, VCARD_TAG_START ) == 0 &&
++                      if( g_strcmp0( tagname, VCARD_TAG_START ) == 0 &&
+                               g_ascii_strcasecmp( tagvalue, VCARD_NAME ) == 0 ) {
+                               haveStart = TRUE;
+                       }
+-                      if( g_utf8_collate( tagname, VCARD_TAG_END ) == 0 &&
++                      if( g_strcmp0( tagname, VCARD_TAG_END ) == 0 &&
+                               g_ascii_strcasecmp( tagvalue, VCARD_NAME ) == 0 ) {
+                               /* vCard is complete */
+                               if( haveStart ) cardFile->retVal = MGU_SUCCESS;