[arch-commits] Commit in claws-mail/repos (5 files)

Andreas Radke andyrtr at gemini.archlinux.org
Sun May 29 16:23:15 UTC 2022


    Date: Sunday, May 29, 2022 @ 16:23:15
  Author: andyrtr
Revision: 446986

archrelease: copy trunk to staging-x86_64

Added:
  claws-mail/repos/staging-x86_64/
  claws-mail/repos/staging-x86_64/20cope_with_fix_for_1009149.patch
    (from rev 446985, claws-mail/trunk/20cope_with_fix_for_1009149.patch)
  claws-mail/repos/staging-x86_64/PKGBUILD
    (from rev 446985, claws-mail/trunk/PKGBUILD)
  claws-mail/repos/staging-x86_64/bash_completion
    (from rev 446985, claws-mail/trunk/bash_completion)
  claws-mail/repos/staging-x86_64/claws-mail.install
    (from rev 446985, claws-mail/trunk/claws-mail.install)

-----------------------------------+
 20cope_with_fix_for_1009149.patch |  454 ++++++++++++++++++++++++++++++++++++
 PKGBUILD                          |   84 ++++++
 bash_completion                   |   30 ++
 claws-mail.install                |   10 
 4 files changed, 578 insertions(+)

Copied: claws-mail/repos/staging-x86_64/20cope_with_fix_for_1009149.patch (from rev 446985, claws-mail/trunk/20cope_with_fix_for_1009149.patch)
===================================================================
--- staging-x86_64/20cope_with_fix_for_1009149.patch	                        (rev 0)
+++ staging-x86_64/20cope_with_fix_for_1009149.patch	2022-05-29 16:23:15 UTC (rev 446986)
@@ -0,0 +1,454 @@
+Description: the perl fix¹ for bug #1009149 disallows the use
+ of XSRETURN_* macros in expressions, hence all of them have to
+ be rewritten. Thanks to Andreas Rönnquist for the heads up!
+ ¹ https://salsa.debian.org/perl-team/interpreter/perl/-/commit/c949a3d4176ec66493af1aa87c1dc64fc6127bb6
+Author: Ricardo Mones <mones at debian.org>
+Last-Updated: 2022-04-12
+
+diff --git a/src/plugins/perl/perl_plugin.c b/src/plugins/perl/perl_plugin.c
+index 1ac005e1..ee9e15f2 100644
+--- a/src/plugins/perl/perl_plugin.c
++++ b/src/plugins/perl/perl_plugin.c
+@@ -577,76 +577,182 @@ static XS(XS_ClawsMail_filter_init)
+ 
+     /* msginfo */
+   case  1:
+-    msginfo->size       ? XSRETURN_UV(msginfo->size)       : XSRETURN_UNDEF;
++    if (msginfo->size) {
++      XSRETURN_UV(msginfo->size);
++    }
++    else {
++      XSRETURN_UNDEF;
++    }
+   case  2:
+-    msginfo->date       ? XSRETURN_PV(msginfo->date)       : XSRETURN_UNDEF;
++    if (msginfo->date) {
++      XSRETURN_PV(msginfo->date);
++    }
++    else {
++      XSRETURN_UNDEF;
++    }
+   case  3:
+-    msginfo->from       ? XSRETURN_PV(msginfo->from)       : XSRETURN_UNDEF;
++    if (msginfo->from) {
++      XSRETURN_PV(msginfo->from);
++    }
++    else {
++      XSRETURN_UNDEF;
++    }
+   case  4:
+-    msginfo->to         ? XSRETURN_PV(msginfo->to)         : XSRETURN_UNDEF;
++    if (msginfo->to) {
++      XSRETURN_PV(msginfo->to);
++    }
++    else {
++      XSRETURN_UNDEF;
++    }
+   case  5:
+-    msginfo->cc         ? XSRETURN_PV(msginfo->cc)         : XSRETURN_UNDEF;
++    if (msginfo->cc) {
++      XSRETURN_PV(msginfo->cc);
++    }
++    else {
++      XSRETURN_UNDEF;
++    }
+   case  6:
+-    msginfo->newsgroups ? XSRETURN_PV(msginfo->newsgroups) : XSRETURN_UNDEF;
++    if (msginfo->newsgroups) {
++      XSRETURN_PV(msginfo->newsgroups);
++    }
++    else {
++      XSRETURN_UNDEF;
++    }
+   case  7:
+-    msginfo->subject    ? XSRETURN_PV(msginfo->subject)    : XSRETURN_UNDEF;
++    if (msginfo->subject) {
++      XSRETURN_PV(msginfo->subject);
++    }
++    else {
++      XSRETURN_UNDEF;
++    }
+   case  8:
+-    msginfo->msgid      ? XSRETURN_PV(msginfo->msgid)      : XSRETURN_UNDEF;
++    if (msginfo->msgid) {
++      XSRETURN_PV(msginfo->msgid);
++    }
++    else {
++      XSRETURN_UNDEF;
++    }
+   case  9:
+-    msginfo->inreplyto  ? XSRETURN_PV(msginfo->inreplyto)  : XSRETURN_UNDEF;
++    if (msginfo->inreplyto) {
++      XSRETURN_PV(msginfo->inreplyto);
++    }
++    else {
++      XSRETURN_UNDEF;
++    }
+   case 10:
+-    msginfo->xref       ? XSRETURN_PV(msginfo->xref)       : XSRETURN_UNDEF;
++    if (msginfo->xref) {
++      XSRETURN_PV(msginfo->xref);
++    }
++    else {
++      XSRETURN_UNDEF;
++    }
+   case 11:
+     xface = procmsg_msginfo_get_avatar(msginfo, AVATAR_XFACE);
+-    xface               ? XSRETURN_PV(xface)               : XSRETURN_UNDEF;
++    if (xface) {
++      XSRETURN_PV(xface);
++    }
++    else {
++      XSRETURN_UNDEF;
++    }
+   case 12:
+-    (msginfo->extradata && msginfo->extradata->dispositionnotificationto) ?
+-      XSRETURN_PV(msginfo->extradata->dispositionnotificationto) : XSRETURN_UNDEF;
++    if (msginfo->extradata && msginfo->extradata->dispositionnotificationto) {
++      XSRETURN_PV(msginfo->extradata->dispositionnotificationto);
++    }
++    else {
++      XSRETURN_UNDEF;
++    }
+   case 13:
+-    (msginfo->extradata && msginfo->extradata->returnreceiptto) ?
+-      XSRETURN_PV(msginfo->extradata->returnreceiptto)     : XSRETURN_UNDEF;
++    if (msginfo->extradata && msginfo->extradata->returnreceiptto) {
++      XSRETURN_PV(msginfo->extradata->returnreceiptto);
++    }
++    else {
++      XSRETURN_UNDEF;
++    }
+   case 14:
+     EXTEND(SP, g_slist_length(msginfo->references));
+     ii = 0;
+     for(walk = msginfo->references; walk != NULL; walk = g_slist_next(walk))
+       XST_mPV(ii++,walk->data ? (gchar*) walk->data: "");
+-    ii ? XSRETURN(ii) : XSRETURN_UNDEF;
++    if (ii) {
++      XSRETURN(ii);
++    }
++    else {
++      XSRETURN_UNDEF;
++    }
+   case 15:
+-    msginfo->score      ? XSRETURN_IV(msginfo->score)      : XSRETURN_UNDEF;
++    if (msginfo->score) {
++      XSRETURN_IV(msginfo->score);
++    }
++    else {
++      XSRETURN_UNDEF;
++    }
+   case 17:
+-    msginfo->plaintext_file ?
+-      XSRETURN_PV(msginfo->plaintext_file)                 : XSRETURN_UNDEF;
++    if (msginfo->plaintext_file) {
++      XSRETURN_PV(msginfo->plaintext_file);
++    }
++    else {
++      XSRETURN_UNDEF;
++    }
+   case 19:
+-    msginfo->hidden     ? XSRETURN_IV(msginfo->hidden)     : XSRETURN_UNDEF;
++    if (msginfo->hidden) {
++      XSRETURN_IV(msginfo->hidden);
++    }
++    else {
++      XSRETURN_UNDEF;
++    }
+   case 20:
+     if((charp = procmsg_get_message_file_path(msginfo)) != NULL) {
+       strncpy2(buf,charp,sizeof(buf));
+       g_free(charp);
+       XSRETURN_PV(buf);
+     }
+-    else
++    else {
+       XSRETURN_UNDEF;
++    }
+   case 21:
+-    (msginfo->extradata && msginfo->extradata->partial_recv) ?
+-      XSRETURN_PV(msginfo->extradata->partial_recv)        : XSRETURN_UNDEF;
++    if (msginfo->extradata && msginfo->extradata->partial_recv)  {
++      XSRETURN_PV(msginfo->extradata->partial_recv);
++    }
++    else {
++      XSRETURN_UNDEF;
++    }
+   case 22:
+-    msginfo->total_size ? XSRETURN_IV(msginfo->total_size) : XSRETURN_UNDEF;
++    if (msginfo->total_size) {
++      XSRETURN_IV(msginfo->total_size);
++    }
++    else {
++      XSRETURN_UNDEF;
++    }
+   case 23:
+-    (msginfo->extradata && msginfo->extradata->account_server) ?
+-      XSRETURN_PV(msginfo->extradata->account_server)      : XSRETURN_UNDEF;
++    if (msginfo->extradata && msginfo->extradata->account_server) {
++      XSRETURN_PV(msginfo->extradata->account_server);
++    }
++    else {
++      XSRETURN_UNDEF;
++    }
+   case 24:
+-    (msginfo->extradata && msginfo->extradata->account_login) ?
+-      XSRETURN_PV(msginfo->extradata->account_login)       : XSRETURN_UNDEF;
++    if (msginfo->extradata && msginfo->extradata->account_login) {
++      XSRETURN_PV(msginfo->extradata->account_login);
++    }
++    else {
++      XSRETURN_UNDEF;
++    }
+   case 25:
+-    msginfo->planned_download ?
+-      XSRETURN_IV(msginfo->planned_download)               : XSRETURN_UNDEF;
++    if (msginfo->planned_download) {
++      XSRETURN_IV(msginfo->planned_download);
++    }
++    else {
++      XSRETURN_UNDEF;
++    }
+ 
+     /* general */
+   case 100:
+-    if(manual_filtering)
++    if(manual_filtering) {
+       XSRETURN_YES;
+-    else
++    }
++    else {
+       XSRETURN_NO;
++    }
+   default:
+     g_warning("Perl plugin: wrong argument to ClawsMail::C::init");
+     XSRETURN_UNDEF;    
+@@ -664,8 +770,9 @@ static XS(XS_ClawsMail_open_mail_file)
+     XSRETURN_UNDEF;
+   }
+   file = procmsg_get_message_file_path(msginfo);
+-  if(!file)
++  if(!file) {
+     XSRETURN_UNDEF;
++  }
+   if((message_file = claws_fopen(file, "rb")) == NULL) {
+     FILE_OP_ERROR(file, "claws_fopen");
+     g_warning("Perl plugin: file open error in ClawsMail::C::open_mail_file");
+@@ -718,8 +825,9 @@ static XS(XS_ClawsMail_get_next_header)
+     g_free(buf);
+     XSRETURN(2);
+   }
+-  else
++  else {
+     XSRETURN_EMPTY;
++  }
+ }
+ 
+ /* ClawsMail::C::get_next_body_line */
+@@ -736,10 +844,12 @@ static XS(XS_ClawsMail_get_next_body_line)
+     g_warning("Perl plugin: message file not open. Use ClawsMail::C::open_message_file first");
+     XSRETURN_UNDEF;
+   }
+-  if(claws_fgets(buf, sizeof(buf), message_file) != NULL)
++  if(claws_fgets(buf, sizeof(buf), message_file) != NULL) {
+     XSRETURN_PV(buf);
+-  else
++  }
++  else {
+     XSRETURN_UNDEF;
++  }
+ }
+ 
+ 
+@@ -772,57 +882,65 @@ static XS(XS_ClawsMail_check_flag)
+       filter_log_write(LOG_MATCH,"marked");
+       XSRETURN_YES;
+     }
+-    else
++    else {
+       XSRETURN_NO;
++    }
+   case 2:
+     if(MSG_IS_UNREAD(msginfo->flags)) {
+       filter_log_write(LOG_MATCH,"unread");
+       XSRETURN_YES;
+     }
+-    else
++    else {
+       XSRETURN_NO;
++    }
+   case 3:
+     if(MSG_IS_DELETED(msginfo->flags)) {
+       filter_log_write(LOG_MATCH,"deleted");
+       XSRETURN_YES;
+     }
+-    else
++    else {
+       XSRETURN_NO;
++    }
+   case 4:
+     if(MSG_IS_NEW(msginfo->flags)) {
+       filter_log_write(LOG_MATCH,"new");
+       XSRETURN_YES;
+     }
+-    else
++    else {
+       XSRETURN_NO;
++    }
+   case 5:
+     if(MSG_IS_REPLIED(msginfo->flags)) {
+       filter_log_write(LOG_MATCH,"replied");
+       XSRETURN_YES;
+     }
+-    else
++    else {
+       XSRETURN_NO;
++    }
+   case 6:
+     if(MSG_IS_FORWARDED(msginfo->flags)) {
+       filter_log_write(LOG_MATCH,"forwarded");
+       XSRETURN_YES;
+     }
+-    else
++    else {
+       XSRETURN_NO;
++    }
+   case 7:
+     if(MSG_IS_LOCKED(msginfo->flags)) {
+       filter_log_write(LOG_MATCH,"locked");
+       XSRETURN_YES;
+     }
+-    else
++    else {
+       XSRETURN_NO;
++    }
+   case 8:
+     if(MSG_IS_IGNORE_THREAD(msginfo->flags)) {
+       filter_log_write(LOG_MATCH,"ignore_thread");
+       XSRETURN_YES;
+     }
+-    else
++    else {
+       XSRETURN_NO;
++    }
+   default:
+     g_warning("Perl plugin: unknown argument to ClawsMail::C::check_flag");
+     XSRETURN_UNDEF;
+@@ -845,8 +963,9 @@ static XS(XS_ClawsMail_colorlabel)
+     filter_log_write(LOG_MATCH,"colorlabel");
+     XSRETURN_YES;
+   }
+-  else
++  else {
+     XSRETURN_NO;
++  }
+ }
+ 
+ /* ClawsMail::C::age_greater(int) */
+@@ -866,8 +985,9 @@ static XS(XS_ClawsMail_age_greater)
+     filter_log_write(LOG_MATCH,"age_greater");
+     XSRETURN_YES;
+   }
+-  else
++  else {
+     XSRETURN_NO;
++  }
+ }
+ 
+ /* ClawsMail::C::age_lower(int) */
+@@ -887,8 +1007,9 @@ static XS(XS_ClawsMail_age_lower)
+     filter_log_write(LOG_MATCH,"age_lower");
+     XSRETURN_YES;
+   }
+-  else
++  else {
+     XSRETURN_NO;
++  }
+ }
+ 
+ /* ClawsMail::C::tagged() */
+@@ -900,7 +1021,12 @@ static XS(XS_ClawsMail_tagged)
+     XSRETURN_UNDEF;
+   }
+ 
+-  return msginfo->tags ? XSRETURN_YES : XSRETURN_NO;
++  if (msginfo->tags) {
++    XSRETURN_YES;
++  }
++  else {
++    XSRETURN_NO;
++  }
+ }
+ 
+ /* ClawsMail::C::get_tags() */
+@@ -1032,10 +1158,12 @@ static XS(XS_ClawsMail_make_sure_folder_exists)
+ 
+   identifier = SvPV_nolen(ST(0));
+   item = folder_get_item_from_identifier(identifier);
+-  if(item)
++  if(item) {
+     XSRETURN_YES;
+-  else
++  }
++  else {
+     XSRETURN_NO;
++  }
+ }
+ 
+ 
+@@ -1066,8 +1194,9 @@ static XS(XS_ClawsMail_addr_in_addressbook)
+     filter_log_write(LOG_MATCH,"addr_in_addressbook");
+     XSRETURN_YES;
+   }
+-  else
++  else {
+     XSRETURN_NO;
++  }
+ }
+ 
+ 
+@@ -1348,8 +1477,9 @@ static XS(XS_ClawsMail_forward)
+ 
+     XSRETURN_YES;
+   }
+-  else
++  else {
+     XSRETURN_UNDEF;
++  }
+ }
+ 
+ /* ClawsMail::C::redirect(int,char*) */
+@@ -1373,8 +1503,9 @@ static XS(XS_ClawsMail_redirect)
+   account = account_find_from_id(account_id);
+   compose = compose_redirect(account, msginfo, TRUE);
+   
+-  if (compose->account->protocol == A_NNTP)
++  if (compose->account->protocol == A_NNTP) {
+     XSRETURN_UNDEF;
++  }
+   else
+     compose_entry_append(compose, dest, COMPOSE_TO, PREF_NONE);
+ 
+@@ -1389,8 +1520,9 @@ static XS(XS_ClawsMail_redirect)
+ 
+     XSRETURN_YES;
+   }
+-  else
++  else {
+     XSRETURN_UNDEF;
++  }
+ }
+ 
+ 
+@@ -1472,8 +1604,9 @@ static XS(XS_ClawsMail_get_attribute_value)
+     attribute_value = get_attribute_value(addr,attr,bookname);
+   }
+ 
+-  if(attribute_value)
++  if(attribute_value) {
+     XSRETURN_PV(attribute_value);
++  }
+   XSRETURN_PV("");
+ }
+ 

Copied: claws-mail/repos/staging-x86_64/PKGBUILD (from rev 446985, claws-mail/trunk/PKGBUILD)
===================================================================
--- staging-x86_64/PKGBUILD	                        (rev 0)
+++ staging-x86_64/PKGBUILD	2022-05-29 16:23:15 UTC (rev 446986)
@@ -0,0 +1,84 @@
+# Maintainer: Andreas Radke <andyrtr at archlinux.org>
+
+pkgname=claws-mail
+pkgver=4.1.0
+pkgrel=2
+pkgdesc="A GTK+ based e-mail client"
+arch=('x86_64')
+license=('GPL3')
+url="https://www.claws-mail.org"
+depends=('gtk3' 'gnutls' 'startup-notification' 'enchant' 'gpgme'
+         'libetpan' 'compface' 'libsm' 'dbus-glib')
+makedepends=('spamassassin' 'bogofilter' 'networkmanager' 'valgrind'
+             # dependencies for plugins
+             'libgdata' 'libnotify' 'libcanberra' 'poppler-glib' 'libytnef' 'libical'
+             'dillo' 'python' 'gumbo-parser'
+             # deps to build the docs
+             'docbook-utils' 'texlive-formatsextra')
+optdepends=('python:           needed for some tools'
+            'perl:              needed for some tools and perl plugin'
+            'spamassassin:      adds support for spamfiltering'
+            'bogofilter:        adds support for spamfiltering'
+            'libnotify:         for notification plugin'
+            'libcanberra:       for notification plugin'
+            'dbus:              for notification plugin'
+            'libxml2:           for rssyl plugins'
+            'curl:              for vcalendar, rssyl and spamreport plugins'
+            'libarchive:        for archive plugin and various other plugins'
+            'libytnef:          for tnef_parse plugin'
+            'libgdata:          for gdata plugin'
+            'poppler-glib:      for pdf viewer plugin'
+            'ghostscript:       for pdf viewer plugin'
+            'libical:           for vcalendar plugin'
+            'dillo:             for dillo html viewer plugin'
+            'webkit2gtk:        for fancy webkit html viewer plugin'
+            'gumbo-parser:      for litehtml plugin')
+provides=('claws')
+install=$pkgname.install
+source=(https://www.claws-mail.org/download.php?file=releases/claws-mail-$pkgver.tar.xz{,.asc}
+        bash_completion
+        20cope_with_fix_for_1009149.patch)
+sha256sums=('0e1a9ca0db8d2a9e058ae30cdc7fc919779214ec3c56ee0c8a7f88cc23817a8e'
+            'SKIP'
+            '3f6c248b8658cd7a62186bff572cce2525712a498f363cbbda1ed459021c28cb'
+            'fd606c966a05be36b6bf6184067b71bcdb46d08df1b64514a973b9825e69aaab')
+validpgpkeys=('8B3B297A03468356692F8D592CD716D654D6BBD4') # Paul <paul at claws-mail.org>
+#options=(!makeflags)
+
+prepare() {
+  cd "${pkgname}"-${pkgver}
+  # Debian patch fixing build errors with recent gcc/perl versions
+  # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1009473
+  patch -Np1 -i ../20cope_with_fix_for_1009149.patch
+#  # upstream fixes
+}
+
+build() {
+  cd "${pkgname}"-${pkgver}
+  ./configure --prefix=/usr --disable-static \
+    --enable-enchant \
+    --enable-gnutls \
+    --enable-ldap \
+    --enable-crash-dialog \
+    --enable-pgpmime-plugin \
+    --enable-spamassassin-plugin \
+    --enable-bogofilter-plugin \
+    --enable-fancy-plugin \
+    --enable-manual
+  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+  make
+}
+
+package() {
+  cd "${pkgname}"-${pkgver}
+  make DESTDIR="${pkgdir}" install
+
+  install -Dm 644 "$srcdir"/bash_completion "${pkgdir}"/usr/share/bash-completion/completions/claws-mail
+
+  # install extra tools
+  cd tools
+  install -m755 -d "${pkgdir}"/usr/lib/claws-mail/tools
+  for files in *.pl *.py *.sh *.conf tb2claws-mail update-po uudec uuooffice README; do
+    cp -arv $files "${pkgdir}"/usr/lib/claws-mail/tools/
+  done
+}

Copied: claws-mail/repos/staging-x86_64/bash_completion (from rev 446985, claws-mail/trunk/bash_completion)
===================================================================
--- staging-x86_64/bash_completion	                        (rev 0)
+++ staging-x86_64/bash_completion	2022-05-29 16:23:15 UTC (rev 446986)
@@ -0,0 +1,30 @@
+# claws-mail(1) completion
+_claws-mail()
+{
+	local cur prev words cword
+	_init_completion || return
+
+	case $prev in
+	--help|-h|--version|-v|--version-full|-V)
+		return
+		;;
+	--alternate-config-dir)
+		COMPREPLY=( $( find . -maxdepth 2 -name clawsrc | sed 's,/clawsrc,,' ) )
+		return
+		;;
+	--select|--status|--status-full)
+		_filedir -d
+		return
+		;;
+	--compose-from-file|--attach)
+		_filedir
+		return
+		;;
+	esac
+
+	if [[ $cur == -* ]]; then
+		COMPREPLY=( $( compgen -W '$( _parse_help "$1" )' -- "$cur" ) )
+		return
+	fi
+} &&
+complete -F _claws-mail claws-mail

Copied: claws-mail/repos/staging-x86_64/claws-mail.install (from rev 446985, claws-mail/trunk/claws-mail.install)
===================================================================
--- staging-x86_64/claws-mail.install	                        (rev 0)
+++ staging-x86_64/claws-mail.install	2022-05-29 16:23:15 UTC (rev 446986)
@@ -0,0 +1,10 @@
+post_upgrade() {
+  if [ "`vercmp $2 4.0.0`" -lt 0 ]; then
+
+cat << _EOF
+  >>> If you are upgrading from the GTK+ 2 version to the GTK+ 3 version
+  >>> of Claws Mail, you will need to reload any plugins that you want to use.
+_EOF
+
+ fi
+}



More information about the arch-commits mailing list