This updates claws-mail to last version. I also removed bsfilter module because it requires bsfilter and we don't have it in ports.
I enabled the crash dialog because I had a few crashes when using malloc options. And of course, I never had a crash since I enabled that option. Some patches have been merged upstream. Index: Makefile =================================================================== RCS file: /cvs/ports/mail/claws-mail/Makefile,v retrieving revision 1.126 diff -u -p -r1.126 Makefile --- Makefile 12 Mar 2020 20:08:56 -0000 1.126 +++ Makefile 14 May 2020 11:51:48 -0000 @@ -6,7 +6,7 @@ COMMENT-spamassassin= spamassassin plugi COMMENT-pdfviewer= pdfviewer plugin COMMENT-gdata= gdata plugin -V= 3.17.4 +V= 3.17.5 DISTNAME= claws-mail-${V} PKGNAME-main= ${DISTNAME} PKGNAME-bogofilter= claws-mail-bogofilter-${V} @@ -14,12 +14,6 @@ PKGNAME-spamassassin= claws-mail-spamass PKGNAME-pdfviewer= claws-mail-pdfviewer-${V} PKGNAME-gdata= claws-mail-gdata-${V} -REVISION-main= 3 -REVISION-bogofilter= 0 -REVISION-pdfviewer= 1 -REVISION-spamassassin= 0 -REVISION-gdata= 1 - CATEGORIES= mail news HOMEPAGE= https://www.claws-mail.org/ @@ -110,6 +104,8 @@ CONFIGURE_ARGS+= --disable-acpi_notifier --disable-geolocation-plugin \ --disable-python-plugin \ --disable-tnef_parse-plugin \ + --disable-bsfilter-plugin \ + --enable-crash-dialog \ --enable-new-addrbook USE_GMAKE= Yes @@ -135,8 +131,7 @@ LIB_DEPENDS-main+= databases/openldap CONFIGURE_ARGS+= --disable-ldap .endif -TOOLS= OOo2claws-mail.pl \ - acroread2claws-mail.pl \ +TOOLS= acroread2claws-mail.pl \ calypso_convert.pl \ claws-mail-compose-insert-files.pl \ convert_mbox.pl \ @@ -145,7 +140,8 @@ TOOLS= OOo2claws-mail.pl \ filter_conv.pl filter_conv_new.pl \ fix_date.sh \ gif2xface.pl \ - google_msgid.pl google_search.pl \ + google_msgid.pl \ + ddg_search.pl \ kmail-mailbox2claws-mail.pl \ kmail2claws-mail.pl kmail2claws-mail_v2.pl \ mairix.sh \ Index: distinfo =================================================================== RCS file: /cvs/ports/mail/claws-mail/distinfo,v retrieving revision 1.37 diff -u -p -r1.37 distinfo --- distinfo 25 Sep 2019 00:33:55 -0000 1.37 +++ distinfo 14 May 2020 11:51:48 -0000 @@ -1,2 +1,2 @@ -SHA256 (claws/claws-mail-3.17.4.tar.gz) = rbPjYadGTZOOHW8jpiQzyJh4xuABeSxcqY0izl1O+jc= -SIZE (claws/claws-mail-3.17.4.tar.gz) = 12167751 +SHA256 (claws/claws-mail-3.17.5.tar.gz) = 955MfwidCOayszI6kLb0aZGhVM4Wi6SoKdWTt6V2jHs= +SIZE (claws/claws-mail-3.17.5.tar.gz) = 12186940 Index: patches/patch-src_compose_c =================================================================== RCS file: patches/patch-src_compose_c diff -N patches/patch-src_compose_c --- patches/patch-src_compose_c 8 Jan 2020 10:27:16 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,281 +0,0 @@ -$OpenBSD: patch-src_compose_c,v 1.1 2020/01/08 10:27:16 sthen Exp $ - -Adapted from - -From 6759b5272b412a467098d7699c767b8611cde1fd Mon Sep 17 00:00:00 2001 -From: Paul <p...@claws-mail.org> -Date: Tue, 31 Dec 2019 09:58:13 +0000 -Subject: [PATCH] revert pasting images as attachments 66fccde959a1b4addee971412b35d4b51d8272b1 - -Index: src/compose.c ---- src/compose.c.orig -+++ src/compose.c -@@ -10897,196 +10897,58 @@ static void entry_copy_clipboard(GtkWidget *entry) - gtk_clipboard_get(GDK_SELECTION_CLIPBOARD)); - } - --static void paste_text(Compose *compose, GtkWidget *entry, -- gboolean wrap, GdkAtom clip, GtkTextIter *insert_place, -- const gchar *contents) --{ -- GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(entry)); -- GtkTextMark *mark_start = gtk_text_buffer_get_insert(buffer); -- GtkTextIter start_iter, end_iter; -- gint start, end; -- -- if (contents == NULL) -- return; -- -- /* we shouldn't delete the selection when middle-click-pasting, or we -- * can't mid-click-paste our own selection */ -- if (clip != GDK_SELECTION_PRIMARY) { -- undo_paste_clipboard(GTK_TEXT_VIEW(compose->text), compose->undostruct); -- gtk_text_buffer_delete_selection(buffer, FALSE, TRUE); -- } -- -- if (insert_place == NULL) { -- /* if insert_place isn't specified, insert at the cursor. -- * used for Ctrl-V pasting */ -- gtk_text_buffer_get_iter_at_mark(buffer, &start_iter, mark_start); -- start = gtk_text_iter_get_offset(&start_iter); -- gtk_text_buffer_insert(buffer, &start_iter, contents, strlen(contents)); -- } else { -- /* if insert_place is specified, paste here. -- * used for mid-click-pasting */ -- start = gtk_text_iter_get_offset(insert_place); -- gtk_text_buffer_insert(buffer, insert_place, contents, strlen(contents)); -- if (prefs_common.primary_paste_unselects) -- gtk_text_buffer_select_range(buffer, insert_place, insert_place); -- } -- -- if (!wrap) { -- /* paste unwrapped: mark the paste so it's not wrapped later */ -- end = start + strlen(contents); -- gtk_text_buffer_get_iter_at_offset(buffer, &start_iter, start); -- gtk_text_buffer_get_iter_at_offset(buffer, &end_iter, end); -- gtk_text_buffer_apply_tag_by_name(buffer, "no_wrap", &start_iter, &end_iter); -- } else if (wrap && clip == GDK_SELECTION_PRIMARY) { -- /* rewrap paragraph now (after a mid-click-paste) */ -- mark_start = gtk_text_buffer_get_insert(buffer); -- gtk_text_buffer_get_iter_at_mark(buffer, &start_iter, mark_start); -- gtk_text_iter_backward_char(&start_iter); -- compose_beautify_paragraph(compose, &start_iter, TRUE); -- } -- compose->modified = TRUE; --} -- --static void attach_uri_list(Compose *compose, GtkSelectionData *data) --{ -- GList *list, *tmp; -- int att = 0; -- gchar *warn_files = NULL; -- -- list = uri_list_extract_filenames( -- (const gchar *)gtk_selection_data_get_data(data)); -- for (tmp = list; tmp != NULL; tmp = tmp->next) { -- gchar *utf8_filename = conv_filename_to_utf8((const gchar *)tmp->data); -- gchar *tmp_f = g_strdup_printf("%s%s\n", -- warn_files?warn_files:"", -- utf8_filename); -- g_free(warn_files); -- warn_files = tmp_f; -- att++; -- compose_attach_append -- (compose, (const gchar *)tmp->data, -- utf8_filename, NULL, NULL); -- g_free(utf8_filename); -- } -- if (list) { -- compose_changed_cb(NULL, compose); -- alertpanel_notice(ngettext( -- "The following file has been attached: \n%s", -- "The following files have been attached: \n%s", att), warn_files); -- g_free(warn_files); -- } -- list_free_strings_full(list); --} -- --int attach_image(Compose *compose, GtkSelectionData *data, const gchar *subtype) --{ -- FILE *fp; -- const guchar *contents; -- gchar *file; -- gchar *type; -- size_t len; -- int r; -- -- cm_return_val_if_fail(data != NULL, -1); -- -- contents = gtk_selection_data_get_data(data); -- len = gtk_selection_data_get_length(data); -- -- file = g_strconcat(get_tmp_file(), "-image.", subtype, NULL); -- -- debug_print("writing image to %s\n", file); -- -- if ((fp = claws_fopen(file, "wb")) == NULL) { -- FILE_OP_ERROR(file, "claws_fopen"); -- return -1; -- } -- -- if (claws_fwrite(contents, 1, len, fp) != len) { -- FILE_OP_ERROR(file, "claws_fwrite"); -- claws_fclose(fp); -- claws_unlink(file); -- return -1; -- } -- -- r = claws_safe_fclose(fp); -- -- if (r == EOF) { -- FILE_OP_ERROR(file, "claws_fclose"); -- claws_unlink(file); -- return -1; -- } -- -- type = g_strconcat("image/", subtype, NULL); -- -- compose_attach_append(compose, (const gchar *)file, -- (const gchar *)file, type, NULL); -- -- alertpanel_notice(_("The pasted image has been attached as: \n%s"), file); -- -- g_free(file); -- g_free(type); -- -- return 0; --} -- - static void entry_paste_clipboard(Compose *compose, GtkWidget *entry, -- gboolean wrap, GdkAtom clip, GtkTextIter *insert_place) -+ gboolean wrap, GdkAtom clip, GtkTextIter *insert_place) - { -- if (GTK_IS_TEXT_VIEW(entry)) { -- GdkAtom types = gdk_atom_intern ("TARGETS", FALSE); -- GdkAtom *targets = NULL; -- int n_targets = 0, i; -- gboolean paste_done = FALSE; -- GtkClipboard *clipboard = gtk_clipboard_get(clip); -+ if (GTK_IS_TEXT_VIEW(entry)) { -+ GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(entry)); -+ GtkTextMark *mark_start = gtk_text_buffer_get_insert(buffer); -+ GtkTextIter start_iter, end_iter; -+ gint start, end; -+ gchar *contents = gtk_clipboard_wait_for_text(gtk_clipboard_get(clip)); - -- GtkSelectionData *contents = gtk_clipboard_wait_for_contents( -- clipboard, types); -+ if (contents == NULL) -+ return; - -- if (contents != NULL) { -- gtk_selection_data_get_targets(contents, &targets, &n_targets); -- gtk_selection_data_free(contents); -+ /* we shouldn't delete the selection when middle-click-pasting, or we -+ * can't mid-click-paste our own selection */ -+ if (clip != GDK_SELECTION_PRIMARY) { -+ undo_paste_clipboard(GTK_TEXT_VIEW(compose->text), compose->undostruct); -+ gtk_text_buffer_delete_selection(buffer, FALSE, TRUE); - } - -- for (i = 0; i < n_targets; i++) { -- GdkAtom atom = targets[i]; -- gchar *atom_type = gdk_atom_name(atom); -- -- if (atom_type != NULL) { -- GtkSelectionData *data = gtk_clipboard_wait_for_contents( -- clipboard, atom); -- debug_print("got contents of type %s\n", atom_type); -- if (!strcmp(atom_type, "text/plain")) { -- /* let the default text handler handle it */ -- break; -- } else if (!strcmp(atom_type, "text/uri-list")) { -- attach_uri_list(compose, data); -- -- paste_done = TRUE; -- break; -- } else if (!strncmp(atom_type, "image/", strlen("image/"))) { -- gchar *subtype = g_strdup((gchar *)(strstr(atom_type, "/")+1)); -- debug_print("image of type %s\n", subtype); -- -- attach_image(compose, data, subtype); -- g_free(subtype); -- -- paste_done = TRUE; -- break; -- } -- } -- } -- if (!paste_done) { -- gchar *def_text = gtk_clipboard_wait_for_text(clipboard); -- paste_text(compose, entry, wrap, clip, -- insert_place, def_text); -- g_free(def_text); -- } -- g_free(targets); -- -- } else if (GTK_IS_EDITABLE(entry)) { -+ if (insert_place == NULL) { -+ /* if insert_place isn't specified, insert at the cursor. -+ * used for Ctrl-V pasting */ -+ gtk_text_buffer_get_iter_at_mark(buffer, &start_iter, mark_start); -+ start = gtk_text_iter_get_offset(&start_iter); -+ gtk_text_buffer_insert(buffer, &start_iter, contents, strlen(contents)); -+ } else { -+ /* if insert_place is specified, paste here. -+ * used for mid-click-pasting */ -+ start = gtk_text_iter_get_offset(insert_place); -+ gtk_text_buffer_insert(buffer, insert_place, contents, strlen(contents)); -+ if (prefs_common.primary_paste_unselects) -+ gtk_text_buffer_select_range(buffer, insert_place, insert_place); -+ } -+ -+ if (!wrap) { -+ /* paste unwrapped: mark the paste so it's not wrapped later */ -+ end = start + strlen(contents); -+ gtk_text_buffer_get_iter_at_offset(buffer, &start_iter, start); -+ gtk_text_buffer_get_iter_at_offset(buffer, &end_iter, end); -+ gtk_text_buffer_apply_tag_by_name(buffer, "no_wrap", &start_iter, &end_iter); -+ } else if (wrap && clip == GDK_SELECTION_PRIMARY) { -+ /* rewrap paragraph now (after a mid-click-paste) */ -+ mark_start = gtk_text_buffer_get_insert(buffer); -+ gtk_text_buffer_get_iter_at_mark(buffer, &start_iter, mark_start); -+ gtk_text_iter_backward_char(&start_iter); -+ compose_beautify_paragraph(compose, &start_iter, TRUE); -+ } -+ } else if (GTK_IS_EDITABLE(entry)) - gtk_editable_paste_clipboard (GTK_EDITABLE(entry)); -- compose->modified = TRUE; -- } -+ -+ compose->modified = TRUE; - } - - static void entry_allsel(GtkWidget *entry) -@@ -11746,13 +11608,25 @@ static void compose_attach_drag_received_cb (GtkWidget - gpointer user_data) - { - Compose *compose = (Compose *)user_data; -+ GList *list, *tmp; - GdkAtom type; - - type = gtk_selection_data_get_data_type(data); - if ((gdk_atom_name(type) && !strcmp(gdk_atom_name(type), "text/uri-list")) - && gtk_drag_get_source_widget(context) != - summary_get_main_widget(mainwindow_get_mainwindow()->summaryview)) { -- attach_uri_list(compose, data); -+ list = uri_list_extract_filenames( -+ (const gchar *)gtk_selection_data_get_data(data)); -+ for (tmp = list; tmp != NULL; tmp = tmp->next) { -+ gchar *utf8_filename = conv_filename_to_utf8((const gchar *)tmp->data); -+ compose_attach_append -+ (compose, (const gchar *)tmp->data, -+ utf8_filename, NULL, NULL); -+ g_free(utf8_filename); -+ } -+ if (list) -+ compose_changed_cb(NULL, compose); -+ list_free_strings_full(list); - } else if (gtk_drag_get_source_widget(context) - == summary_get_main_widget(mainwindow_get_mainwindow()->summaryview)) { - /* comes from our summaryview */ Index: pkg/PLIST-bogofilter =================================================================== RCS file: /cvs/ports/mail/claws-mail/pkg/PLIST-bogofilter,v retrieving revision 1.6 diff -u -p -r1.6 PLIST-bogofilter --- pkg/PLIST-bogofilter 2 Mar 2016 12:38:03 -0000 1.6 +++ pkg/PLIST-bogofilter 14 May 2020 11:51:48 -0000 @@ -2,4 +2,4 @@ @pkgpath mail/sylpheed-claws,-bogofilter[,compface][,pgpmime][,jpilot][,ldap] @pkgpath mail/claws-mail,-bogofilter,compface${FLAVOR_STRING} lib/claws-mail/plugins/bogofilter.la -lib/claws-mail/plugins/bogofilter.so +@so lib/claws-mail/plugins/bogofilter.so Index: pkg/PLIST-gdata =================================================================== RCS file: /cvs/ports/mail/claws-mail/pkg/PLIST-gdata,v retrieving revision 1.2 diff -u -p -r1.2 PLIST-gdata --- pkg/PLIST-gdata 2 Mar 2016 12:38:03 -0000 1.2 +++ pkg/PLIST-gdata 14 May 2020 11:51:48 -0000 @@ -1,4 +1,4 @@ @comment $OpenBSD: PLIST-gdata,v 1.2 2016/03/02 12:38:03 sthen Exp $ @pkgpath mail/claws-mail,-gdata,compface${FLAVOR_STRING} lib/claws-mail/plugins/gdata.la -lib/claws-mail/plugins/gdata.so +@so lib/claws-mail/plugins/gdata.so Index: pkg/PLIST-main =================================================================== RCS file: /cvs/ports/mail/claws-mail/pkg/PLIST-main,v retrieving revision 1.42 diff -u -p -r1.42 PLIST-main --- pkg/PLIST-main 15 Dec 2019 18:36:18 -0000 1.42 +++ pkg/PLIST-main 14 May 2020 11:51:48 -0000 @@ -251,71 +251,68 @@ include/claws-mail/wizard.h lib/claws-mail/ lib/claws-mail/plugins/ lib/claws-mail/plugins/address_keeper.la -lib/claws-mail/plugins/address_keeper.so +@so lib/claws-mail/plugins/address_keeper.so lib/claws-mail/plugins/archive.la -lib/claws-mail/plugins/archive.so +@so lib/claws-mail/plugins/archive.so lib/claws-mail/plugins/att_remover.la -lib/claws-mail/plugins/att_remover.so +@so lib/claws-mail/plugins/att_remover.so lib/claws-mail/plugins/attachwarner.la -lib/claws-mail/plugins/attachwarner.so -lib/claws-mail/plugins/bsfilter.la -lib/claws-mail/plugins/bsfilter.so +@so lib/claws-mail/plugins/attachwarner.so lib/claws-mail/plugins/clamd.la -lib/claws-mail/plugins/clamd.so +@so lib/claws-mail/plugins/clamd.so lib/claws-mail/plugins/dillo.la -lib/claws-mail/plugins/dillo.so +@so lib/claws-mail/plugins/dillo.so lib/claws-mail/plugins/fetchinfo.la -lib/claws-mail/plugins/fetchinfo.so +@so lib/claws-mail/plugins/fetchinfo.so lib/claws-mail/plugins/libravatar.la -lib/claws-mail/plugins/libravatar.so +@so lib/claws-mail/plugins/libravatar.so lib/claws-mail/plugins/litehtml_viewer.la -lib/claws-mail/plugins/litehtml_viewer.so +@so lib/claws-mail/plugins/litehtml_viewer.so lib/claws-mail/plugins/mailmbox.la -lib/claws-mail/plugins/mailmbox.so +@so lib/claws-mail/plugins/mailmbox.so lib/claws-mail/plugins/managesieve.la -lib/claws-mail/plugins/managesieve.so +@so lib/claws-mail/plugins/managesieve.so lib/claws-mail/plugins/newmail.la -lib/claws-mail/plugins/newmail.so +@so lib/claws-mail/plugins/newmail.so lib/claws-mail/plugins/notification.la -lib/claws-mail/plugins/notification.so +@so lib/claws-mail/plugins/notification.so lib/claws-mail/plugins/perl.la -lib/claws-mail/plugins/perl.so +@so lib/claws-mail/plugins/perl.so lib/claws-mail/plugins/pgpcore.la -lib/claws-mail/plugins/pgpcore.so +@so lib/claws-mail/plugins/pgpcore.so lib/claws-mail/plugins/pgpinline.deps lib/claws-mail/plugins/pgpinline.la -lib/claws-mail/plugins/pgpinline.so +@so lib/claws-mail/plugins/pgpinline.so lib/claws-mail/plugins/pgpmime.deps lib/claws-mail/plugins/pgpmime.la -lib/claws-mail/plugins/pgpmime.so +@so lib/claws-mail/plugins/pgpmime.so lib/claws-mail/plugins/rssyl.la -lib/claws-mail/plugins/rssyl.so +@so lib/claws-mail/plugins/rssyl.so lib/claws-mail/plugins/smime.deps lib/claws-mail/plugins/smime.la -lib/claws-mail/plugins/smime.so +@so lib/claws-mail/plugins/smime.so lib/claws-mail/plugins/spamreport.la -lib/claws-mail/plugins/spamreport.so +@so lib/claws-mail/plugins/spamreport.so lib/claws-mail/plugins/vcalendar.la -lib/claws-mail/plugins/vcalendar.so +@so lib/claws-mail/plugins/vcalendar.so lib/pkgconfig/claws-mail.pc @man man/man1/claws-mail.1 share/applications/claws-mail.desktop share/claws-mail/ share/claws-mail/tools/ -share/claws-mail/tools/OOo2claws-mail.pl share/claws-mail/tools/README share/claws-mail/tools/acroread2claws-mail.pl share/claws-mail/tools/calypso_convert.pl share/claws-mail/tools/claws-mail-compose-insert-files.pl share/claws-mail/tools/convert_mbox.pl share/claws-mail/tools/csv2addressbook.pl +share/claws-mail/tools/ddg_search.pl share/claws-mail/tools/eud2gc.py share/claws-mail/tools/filter_conv.pl share/claws-mail/tools/filter_conv_new.pl share/claws-mail/tools/fix_date.sh share/claws-mail/tools/gif2xface.pl share/claws-mail/tools/google_msgid.pl -share/claws-mail/tools/google_search.pl share/claws-mail/tools/kdeservicemenu/ share/claws-mail/tools/kdeservicemenu/README share/claws-mail/tools/kdeservicemenu/claws-mail-attach-files.desktop.kde4template Index: pkg/PLIST-pdfviewer =================================================================== RCS file: /cvs/ports/mail/claws-mail/pkg/PLIST-pdfviewer,v retrieving revision 1.2 diff -u -p -r1.2 PLIST-pdfviewer --- pkg/PLIST-pdfviewer 2 Mar 2016 12:38:03 -0000 1.2 +++ pkg/PLIST-pdfviewer 14 May 2020 11:51:48 -0000 @@ -1,4 +1,4 @@ @comment $OpenBSD: PLIST-pdfviewer,v 1.2 2016/03/02 12:38:03 sthen Exp $ @pkgpath mail/claws-mail,-pdfviewer,compface${FLAVOR_STRING} lib/claws-mail/plugins/pdf_viewer.la -lib/claws-mail/plugins/pdf_viewer.so +@so lib/claws-mail/plugins/pdf_viewer.so Index: pkg/PLIST-spamassassin =================================================================== RCS file: /cvs/ports/mail/claws-mail/pkg/PLIST-spamassassin,v retrieving revision 1.6 diff -u -p -r1.6 PLIST-spamassassin --- pkg/PLIST-spamassassin 2 Mar 2016 12:38:03 -0000 1.6 +++ pkg/PLIST-spamassassin 14 May 2020 11:51:48 -0000 @@ -2,4 +2,4 @@ @pkgpath mail/sylpheed-claws,-spamassassin[,compface][,pgpmime][,jpilot][,ldap] @pkgpath mail/claws-mail,-spamassassin,compface${FLAVOR_STRING} lib/claws-mail/plugins/spamassassin.la -lib/claws-mail/plugins/spamassassin.so +@so lib/claws-mail/plugins/spamassassin.so