Le Thu, 14 May 2020 16:32:07 +0200, Solene Rapenne <sol...@perso.pw> a écrit :
> 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 > ping I'm using it since 3 weeks.