[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