On 2015/09/12 10:00, Daniel Jakots wrote:
> A few days after this email, I made a new claws-mail package on my
> laptop without the patches that were containing the link of the bug id
> 2640 or 2642 (hard way ...). I don't really understand what the patches
> should do but I haven't encountered any problem.

So how about this with those extra patches (i.e. the ones that upstream
rejected) removed?

I'm updating packages so I can test it now.

Index: Makefile
===================================================================
RCS file: /cvs/ports/mail/claws-mail/Makefile,v
retrieving revision 1.80
diff -u -p -r1.80 Makefile
--- Makefile    19 Jul 2015 02:14:57 -0000      1.80
+++ Makefile    12 Sep 2015 12:32:47 -0000
@@ -10,7 +10,7 @@ COMMENT-htmlviewer=   fancy htmlviewer plu
 COMMENT-pdfviewer=     pdfviewer plugin
 COMMENT-gdata=         gdata plugin
 
-V=                     3.11.1
+V=                     3.12.0
 DISTNAME=              claws-mail-${V}
 PKGNAME-main=          ${DISTNAME}
 PKGNAME-bogofilter=    claws-mail-bogofilter-${V}
@@ -18,22 +18,16 @@ PKGNAME-spamassassin=       claws-mail-spamass
 PKGNAME-htmlviewer=    claws-mail-htmlviewer-${V}
 PKGNAME-pdfviewer=     claws-mail-pdfviewer-${V}
 PKGNAME-gdata=         claws-mail-gdata-${V}
-REVISION-main=         2
-REVISION-bogofilter=   2
-REVISION-spamassassin= 2
-REVISION-htmlviewer=   2
-REVISION-pdfviewer=    2
-REVISION-gdata=                2
 
 CATEGORIES=            mail news
 
 HOMEPAGE=              http://www.claws-mail.org/
+MAINTAINER=            Daniel Jakots <[email protected]>
 
 # GPLv3+
 PERMIT_PACKAGE_CDROM=  Yes
 
-MASTER_SITES=          ${MASTER_SITE_SOURCEFORGE:=claws-mail/}
-EXTRACT_SUFX=          .tar.bz2
+MASTER_SITES=          http://www.claws-mail.org/releases/
 
 DIST_SUBDIR=           claws
 
Index: distinfo
===================================================================
RCS file: /cvs/ports/mail/claws-mail/distinfo,v
retrieving revision 1.26
diff -u -p -r1.26 distinfo
--- distinfo    14 Jan 2015 12:18:42 -0000      1.26
+++ distinfo    12 Sep 2015 12:32:47 -0000
@@ -1,2 +1,2 @@
-SHA256 (claws/claws-mail-3.11.1.tar.bz2) = 
PL8P2vf3k/huYk57SlYctj/gwostuK5xMWG0FPPvI3A=
-SIZE (claws/claws-mail-3.11.1.tar.bz2) = 10292022
+SHA256 (claws/claws-mail-3.12.0.tar.gz) = 
/cgTUqMLT4LlDG3Qv1zLKOonEzk05txvGo00wnAQO4E=
+SIZE (claws/claws-mail-3.12.0.tar.gz) = 12071748
Index: patches/patch-src_common_defs_h
===================================================================
RCS file: patches/patch-src_common_defs_h
diff -N patches/patch-src_common_defs_h
--- patches/patch-src_common_defs_h     21 Apr 2014 17:40:19 -0000      1.3
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-$OpenBSD: patch-src_common_defs_h,v 1.3 2014/04/21 17:40:19 sthen Exp $
-http://www.thewildbeast.co.uk/claws-mail/bugzilla/show_bug.cgi?id=2642
---- src/common/defs.h.orig     Sat Dec 14 10:15:06 2013
-+++ src/common/defs.h  Mon Apr 21 18:40:02 2014
-@@ -133,6 +133,9 @@
- 
- #define BUFFSIZE                      8192
- 
-+/* according to RFC 821 1000 characters including CRLF */
-+#define MAXSMTPTEXTLEN                        1000
-+
- #ifndef MAXPATHLEN
- #  define MAXPATHLEN                  4095
- #endif
Index: patches/patch-src_common_quoted-printable_c
===================================================================
RCS file: patches/patch-src_common_quoted-printable_c
diff -N patches/patch-src_common_quoted-printable_c
--- patches/patch-src_common_quoted-printable_c 25 Sep 2013 08:03:14 -0000      
1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,135 +0,0 @@
-$OpenBSD: patch-src_common_quoted-printable_c,v 1.2 2013/09/25 08:03:14 landry 
Exp $
-http://www.thewildbeast.co.uk/claws-mail/bugzilla/show_bug.cgi?id=2640
---- src/common/quoted-printable.c.orig Tue Mar 19 02:31:04 2013
-+++ src/common/quoted-printable.c      Sun Sep 22 23:00:10 2013
-@@ -22,66 +22,79 @@
- 
- #include "utils.h"
- 
-+
- #define MAX_LINELEN   76
- 
- #define IS_LBREAK(p) \
--      (*(p) == '\0' || *(p) == '\n' || (*(p) == '\r' && *((p) + 1) == '\n'))
-+      ((p)[0] == '\n' ? 1 : ((p)[0] == '\r' && (p)[1] == '\n') ? 2 : 0)
- 
--#define SOFT_LBREAK_IF_REQUIRED(n)                                    \
--      if (len + (n) > MAX_LINELEN ||                                  \
--          (len + (n) == MAX_LINELEN && (!IS_LBREAK(inp + 1)))) {      \
--              *outp++ = '=';                                          \
--              *outp++ = '\n';                                         \
--              len = 0;                                                \
--      }
--
--void qp_encode_line(gchar *out, const guchar *in)
-+gint qp_encode(gboolean text, gchar *out, const guchar *in, gint len)
- {
--      const guchar *inp = in;
--      gchar *outp = out;
--      guchar ch;
--      gint len = 0;
--
--      while (*inp != '\0') {
--              ch = *inp;
--
--              if (IS_LBREAK(inp)) {
--                      *outp++ = '\n';
--                      len = 0;
--                      if (*inp == '\r')
--                              inp++;
--                      inp++;
--              } else if (ch == '\t' || ch == ' ') {
--                      if (IS_LBREAK(inp + 1)) {
--                              SOFT_LBREAK_IF_REQUIRED(3);
--                              *outp++ = '=';
--                              get_hex_str(outp, ch);
--                              outp += 2;
--                              len += 3;
--                              inp++;
--                      } else {
--                              SOFT_LBREAK_IF_REQUIRED(1);
--                              *outp++ = *inp++;
--                              len++;
-+      /* counters of input/output characters */
-+      gint inc = 0;
-+      gint outc = 1; /* one character reserved for '=' soft line break */
-+      while(inc < len) {
-+              /* allow literal linebreaks in text */
-+              if(text) {
-+                      if(IS_LBREAK(in)) {
-+                              /* inserting linebreaks is the job of our 
caller */
-+                              g_assert(outc <= MAX_LINELEN);
-+                              *out = '\0';
-+                              return inc + IS_LBREAK(in);
-                       }
--              } else if ((ch >= 33 && ch <= 60) || (ch >= 62 && ch <= 126)) {
--                      SOFT_LBREAK_IF_REQUIRED(1);
--                      *outp++ = *inp++;
--                      len++;
--              } else {
--                      SOFT_LBREAK_IF_REQUIRED(3);
--                      *outp++ = '=';
--                      get_hex_str(outp, ch);
--                      outp += 2;
--                      len += 3;
--                      inp++;
-+                      if(IS_LBREAK(in+1)) {
-+                              /* free the reserved character since no 
softbreak
-+                               * will be needed after the current character */
-+                              outc--;
-+                              /* guard against whitespace before a literal 
linebreak */
-+                              if(*in == ' ' || *in == '\t') {
-+                                      goto escape;
-+                              }
-+                      }
-               }
-+              if(*in == '=') {
-+                      goto escape;
-+              }
-+              /* Cave: Whitespace is unconditionally output literally,
-+               * but according to the RFC it must not be output before a
-+               * linebreak.
-+               * This requirement is obeyed by quoting all linebreaks
-+               * and therefore ending all lines with '='. */
-+              else if((*in >= ' ' && *in <= '~') || *in == '\t') {
-+                      if(outc + 1 <= MAX_LINELEN) {
-+                              *out++ = *in++;
-+                              outc++;
-+                              inc++;
-+                      }
-+                      else break;
-+              }
-+              else {
-+escape:
-+                      if(outc + 3 <= MAX_LINELEN) {
-+                              *out++ = '=';
-+                              outc++;
-+                              get_hex_str(out, *in);
-+                              out += 2;
-+                              outc += 2;
-+                              in++;
-+                              inc++;
-+                      }
-+                      else break;
-+              }
-       }
-+      g_assert(outc <= MAX_LINELEN);
-+      *out++ = '=';
-+      *out = '\0';
-+      return inc;
-+}
- 
--      if (len > 0)
--              *outp++ = '\n';
--
--      *outp = '\0';
-+void qp_encode_line(gchar *out, const guchar *in) {
-+      while (*in != '\0') {
-+              in += qp_encode(TRUE, out, in, strlen(in));
-+              while(*out != '\0') out++;
-+              *out++ = '\n';
-+              *out++ = '\0';
-+      }
- }
- 
- gint qp_decode_line(gchar *str)
Index: patches/patch-src_common_quoted-printable_h
===================================================================
RCS file: patches/patch-src_common_quoted-printable_h
diff -N patches/patch-src_common_quoted-printable_h
--- patches/patch-src_common_quoted-printable_h 25 Sep 2013 08:03:14 -0000      
1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,23 +0,0 @@
-$OpenBSD: patch-src_common_quoted-printable_h,v 1.2 2013/09/25 08:03:14 landry 
Exp $
-http://www.thewildbeast.co.uk/claws-mail/bugzilla/show_bug.cgi?id=2640
---- src/common/quoted-printable.h.orig Tue Mar 19 02:31:04 2013
-+++ src/common/quoted-printable.h      Sun Sep 22 23:00:10 2013
-@@ -22,6 +22,18 @@
- 
- #include <glib.h>
- 
-+/* Processes at most 78 characters from in buffer,
-+ * and stores one NULL-terminated line of at most 76 characters (excl. \0) of
-+ * quoted-printable output without terminating newline characters in out 
buffer.
-+ * Except when encoding text, every output line ends in a soft line break.
-+ * Therefore the caller can chain multiple lines of encoded data resulting 
from
-+ * sequential runs by glueing them together with line breaks.
-+ * The number of processed input characters is returned. */
-+gint qp_encode                 (gboolean       text,
-+                              gchar          *out,
-+                              const guchar   *in,
-+                              gint           len);
-+/* Deprecated */
- void qp_encode_line           (gchar          *out,
-                                const guchar   *in);
- gint qp_decode_line           (gchar          *str);
Index: patches/patch-src_messageview_c
===================================================================
RCS file: patches/patch-src_messageview_c
diff -N patches/patch-src_messageview_c
--- patches/patch-src_messageview_c     14 Jan 2015 12:18:43 -0000      1.4
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,16 +0,0 @@
-$OpenBSD: patch-src_messageview_c,v 1.4 2015/01/14 12:18:43 landry Exp $
-http://www.thewildbeast.co.uk/claws-mail/bugzilla/show_bug.cgi?id=2640
---- src/messageview.c.orig     Mon Oct 27 19:58:12 2014
-+++ src/messageview.c  Mon Jan 12 23:00:15 2015
-@@ -1005,8 +1005,9 @@ static gint disposition_notification_send(MsgInfo *msg
-               extract_address(orig_to);
-       }
-       if (msginfo->subject && *(msginfo->subject)) {
--              enc_sub = g_malloc0(strlen(msginfo->subject)*8);
--              qp_encode_line(enc_sub, (const guchar *)msginfo->subject);
-+              gint len = strlen(msginfo->subject);
-+              enc_sub = g_malloc0(len*8);
-+              qp_encode(TRUE, enc_sub, (const guchar *)msginfo->subject, len);
-               g_strstrip(enc_sub);
-       }
-       ok = fprintf(fp,"MIME-Version: 1.0\n"
Index: patches/patch-src_procmime_c
===================================================================
RCS file: patches/patch-src_procmime_c
diff -N patches/patch-src_procmime_c
--- patches/patch-src_procmime_c        14 Jan 2015 12:18:43 -0000      1.11
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,158 +0,0 @@
-$OpenBSD: patch-src_procmime_c,v 1.11 2015/01/14 12:18:43 landry Exp $
-http://www.thewildbeast.co.uk/claws-mail/bugzilla/show_bug.cgi?id=2640
-http://www.thewildbeast.co.uk/claws-mail/bugzilla/show_bug.cgi?id=2641
-http://www.thewildbeast.co.uk/claws-mail/bugzilla/show_bug.cgi?id=2642
-http://www.thewildbeast.co.uk/claws-mail/bugzilla/show_bug.cgi?id=2743
---- src/procmime.c.orig        Mon Oct 27 19:58:13 2014
-+++ src/procmime.c     Mon Jan 12 23:00:15 2015
-@@ -634,10 +634,22 @@ gboolean procmime_encode_content(MimeInfo *mimeinfo, E
-                       g_free(tmp_file);
-               }
-       } else if (encoding == ENC_QUOTED_PRINTABLE) {
--              gchar inbuf[BUFFSIZE], outbuf[BUFFSIZE * 4];
-+              gchar inbuf[79], outbuf[77];
-+              gint n, len = 0;
-+              gboolean firstrun = TRUE;
- 
--              while (SC_FGETS(inbuf, sizeof(inbuf), infp) != NULL) {
--                      qp_encode_line(outbuf, inbuf);
-+              while ((len += fread(inbuf + len, 1,
-+                      sizeof(inbuf) - len - 1,
-+                      infp)) > 0)
-+              {
-+                      if (firstrun == FALSE)
-+                              if (fputs("\r\n", outfp) == EOF)
-+                                      err = TRUE;
-+                      inbuf[len] = '\0';
-+                      n = qp_encode(mimeinfo->type == MIMETYPE_TEXT,
-+                                      outbuf, inbuf, len);
-+                      len -= n;
-+                      memmove(inbuf, inbuf + n, len);
- 
-                       if (!strncmp("From ", outbuf, sizeof("From ")-1)) {
-                               gchar *tmpbuf = outbuf;
-@@ -652,14 +664,39 @@ gboolean procmime_encode_content(MimeInfo *mimeinfo, E
-                               if (SC_FPUTS(outbuf, outfp) == EOF)
-                                       err = TRUE;
-                       }
-+                      firstrun = FALSE;
-               }
-       } else {
--              gchar buf[BUFFSIZE];
-+              gchar buf[MAXSMTPTEXTLEN+1];
-+              gint leftover = 0;
- 
--              while (SC_FGETS(buf, sizeof(buf), infp) != NULL) {
--                      strcrchomp(buf);
--                      if (SC_FPUTS(buf, outfp) == EOF)
-+              while (fgets(buf + leftover,
-+                              sizeof(buf) - leftover,
-+                              infp) != NULL)
-+              {
-+                      gchar *l, *c = buf;
-+                      leftover = 0;
-+
-+                      while (*c != '\0') {
-+                              if (
-+                                      *c == '\n'
-+                                      || (*c == '\r' && *(c+1) == '\n'))
-+                              {
-+                                      *c = '\0';
-+                                      break;
-+                              }
-+                              c++;
-+                      }
-+                      while (c - buf > MAXSMTPTEXTLEN - 2) {
-+                              *c = *(c-1);
-+                              *--c = '\0';
-+                              leftover++;
-+                      }
-+                      if (fputs(buf, outfp) == EOF || putc('\n', outfp) == 
EOF)
-+
-                               err = TRUE;
-+                      for (l = buf; l-buf < leftover; l++)
-+                              *l = *++c;
-               }
-       }
- 
-@@ -1203,7 +1240,7 @@ GList *procmime_get_mime_type_list(void)
- #endif
-       {
-               fp_is_glob_file = FALSE;
--              if ((fp = procmime_fopen("/etc/mime.types", "rb")) == NULL) {
-+              if ((fp = procmime_fopen("/var/www/conf/mime.types", "rb")) == 
NULL) {
-                       if ((fp = procmime_fopen(SYSCONFDIR "/mime.types", 
"rb")) 
-                               == NULL) {
-                               FILE_OP_ERROR(SYSCONFDIR "/mime.types", 
-@@ -1283,11 +1320,12 @@ EncodingType procmime_get_encoding_for_text_file(const
- {
-       FILE *fp;
-       guchar buf[BUFFSIZE];
-+      gboolean cr = FALSE;
-       size_t len;
-+      gint linelen = 0, maxlinelen = 0;
-       size_t octet_chars = 0;
-       size_t total_len = 0;
-       gfloat octet_percentage;
--      gboolean force_b64 = FALSE;
- 
-       if ((fp = procmime_fopen(file, "rb")) == NULL) {
-               FILE_OP_ERROR(file, "fopen");
-@@ -1299,11 +1337,27 @@ EncodingType procmime_get_encoding_for_text_file(const
-               gint i;
- 
-               for (p = buf, i = 0; i < len; ++p, ++i) {
--                      if (*p & 0x80)
--                              ++octet_chars;
--                      if (*p == '\0') {
--                              force_b64 = TRUE;
--                              *has_binary = TRUE;
-+                      switch (*p) {
-+                              case '\n':
-+                                      if (cr) linelen--;
-+                                      maxlinelen = MAX(linelen, maxlinelen);
-+                                      linelen = 0;
-+                                      cr = FALSE;
-+                                      break;
-+                              case '\r':
-+                                      cr = TRUE;
-+                                      linelen++;
-+                                      break;
-+                              case '\0':
-+                                      *has_binary = TRUE;
-+                                      maxlinelen = G_MAXINT;
-+                                      cr = FALSE;
-+                                      break;
-+                              default:
-+                                      if (*p & 0x80)
-+                                              octet_chars++;
-+                                      linelen++;
-+                                      cr = FALSE;
-                       }
-               }
-               total_len += len;
-@@ -1317,15 +1371,20 @@ EncodingType procmime_get_encoding_for_text_file(const
-               octet_percentage = 0.0;
- 
-       debug_print("procmime_get_encoding_for_text_file(): "
--                  "8bit chars: %zd / %zd (%f%%)\n", octet_chars, total_len,
--                  100.0 * octet_percentage);
-+                      "8bit chars: %zd / %zd (%f%%). "
-+                      "maximum line length: %d chars\n",
-+                      octet_chars, total_len, 100.0 * octet_percentage,
-+                      maxlinelen);
- 
--      if (octet_percentage > 0.20 || force_b64) {
-+      if (octet_percentage > 0.20) {
-               debug_print("using BASE64\n");
-               return ENC_BASE64;
--      } else if (octet_chars > 0) {
-+      } else if (maxlinelen > MAXSMTPTEXTLEN-2) {
-               debug_print("using quoted-printable\n");
-               return ENC_QUOTED_PRINTABLE;
-+      } else if (octet_chars > 0) {
-+              debug_print("using 8bit\n");
-+              return ENC_8BIT;
-       } else {
-               debug_print("using 7bit\n");
-               return ENC_7BIT;
Index: pkg/PLIST-main
===================================================================
RCS file: /cvs/ports/mail/claws-mail/pkg/PLIST-main,v
retrieving revision 1.30
diff -u -p -r1.30 PLIST-main
--- pkg/PLIST-main      14 Jan 2015 12:18:43 -0000      1.30
+++ pkg/PLIST-main      12 Sep 2015 12:32:47 -0000
@@ -41,7 +41,6 @@ include/claws-mail/browseldap.h
 include/claws-mail/claws-features.h
 include/claws-mail/codeconv.h
 include/claws-mail/common/
-include/claws-mail/common/base64.h
 include/claws-mail/common/claws.h
 include/claws-mail/common/defs.h
 include/claws-mail/common/hooks.h
@@ -285,6 +284,8 @@ lib/claws-mail/plugins/libravatar.la
 lib/claws-mail/plugins/libravatar.so
 lib/claws-mail/plugins/mailmbox.la
 lib/claws-mail/plugins/mailmbox.so
+lib/claws-mail/plugins/managesieve.la
+lib/claws-mail/plugins/managesieve.so
 lib/claws-mail/plugins/newmail.la
 lib/claws-mail/plugins/newmail.so
 lib/claws-mail/plugins/notification.la
@@ -373,22 +374,13 @@ share/locale/hu/LC_MESSAGES/claws-mail.m
 share/locale/id_ID/
 share/locale/id_ID/LC_MESSAGES/
 share/locale/id_ID/LC_MESSAGES/claws-mail.mo
-share/locale/it/LC_MESSAGES/claws-mail.mo
-share/locale/ja/LC_MESSAGES/claws-mail.mo
 share/locale/lt/LC_MESSAGES/claws-mail.mo
 share/locale/nb/LC_MESSAGES/claws-mail.mo
 share/locale/nl/LC_MESSAGES/claws-mail.mo
 share/locale/pl/LC_MESSAGES/claws-mail.mo
 share/locale/pt_BR/LC_MESSAGES/claws-mail.mo
-share/locale/pt_PT/
-share/locale/pt_PT/LC_MESSAGES/
-share/locale/pt_PT/LC_MESSAGES/claws-mail.mo
-share/locale/ru/LC_MESSAGES/claws-mail.mo
 share/locale/sk/LC_MESSAGES/claws-mail.mo
 share/locale/sv/LC_MESSAGES/claws-mail.mo
-share/locale/uk/LC_MESSAGES/claws-mail.mo
-share/locale/zh_CN/LC_MESSAGES/claws-mail.mo
-share/locale/zh_TW/LC_MESSAGES/claws-mail.mo
 @exec %D/bin/update-desktop-database
 @unexec-delete %D/bin/update-desktop-database
 @exec %D/bin/gtk-update-icon-cache -q -t %D/share/icons/hicolor

Reply via email to