mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-05 01:55:52 +00:00
Update to 1.8.0 o Compressed Folders is now part of main line
Fix missing lib depends with libgpg-errors and libassuan Move Header Cache to a BSD ports single radio Remove redundent sidebar var VVV updated to 1.8.0 GREETING updated to 1.7.2 extra-patch-parent-child-match converted to a makepatch Changes: https://dev.mutt.org/hg/mutt/file/stable/UPDATING#l11 Differential Revision: https://reviews.freebsd.org/D9819 Submitted by: maintainer (dereks lifeofadishwasher com)
This commit is contained in:
parent
1ff0961d7c
commit
4754ef4148
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=435416
@ -2,7 +2,7 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= mutt
|
||||
PORTVERSION= 1.7.2
|
||||
PORTVERSION= 1.8.0
|
||||
PORTREVISION?= 0
|
||||
CATEGORIES+= mail ipv6
|
||||
MASTER_SITES= ftp://ftp.mutt.org/pub/mutt/ \
|
||||
@ -58,17 +58,16 @@ OPTIONS_EXCLUDE= NLS DOCS EXAMPLES
|
||||
.else
|
||||
OPTIONS_DEFINE= COMPRESSED_FOLDERS SASL DEBUG DOCS EXAMPLES FLOCK \
|
||||
FORCEBASE64 GPGME GREETING_PATCH HTML ICONV IDN IFDEF_PATCH \
|
||||
IMAP_HEADER_CACHE LOCALES_FIX MAILBOX_MANPAGES \
|
||||
MAILDIR_HEADER_CACHE MAILDIR_MTIME_PATCH \
|
||||
MIXMASTER NLS NNTP PARENT_CHILD_MATCH_PATCH \
|
||||
QUOTE_PATCH REVERSE_REPLY_PATCH SIDEBAR \
|
||||
SMART_DATE SMIME_OUTLOOK_COMPAT SMTP TOKYOCABINET \
|
||||
URLVIEW XML
|
||||
LOCALES_FIX MAILBOX_MANPAGES MAILDIR_MTIME_PATCH MIXMASTER \
|
||||
NLS NNTP PARENT_CHILD_MATCH_PATCH QUOTE_PATCH \
|
||||
REVERSE_REPLY_PATCH SIDEBAR SMART_DATE SMIME_OUTLOOK_COMPAT \
|
||||
SMTP URLVIEW XML
|
||||
|
||||
OPTIONS_SINGLE= GSSAPI SCREEN
|
||||
OPTIONS_SINGLE= GSSAPI HCACHE SCREEN
|
||||
OPTIONS_RADIO= SPELL
|
||||
OPTIONS_RADIO_SPELL= ASPELL ISPELL
|
||||
OPTIONS_SINGLE_GSSAPI= GSSAPI_BASE GSSAPI_HEIMDAL GSSAPI_MIT GSSAPI_NONE
|
||||
OPTIONS_SINGLE_HCACHE= HCACHE_BDB HCACHE_TOKYOCABINET HCACHE_KYOTOCABINET HCACHE_NONE
|
||||
OPTIONS_SINGLE_SCREEN= NCURSES SLANG
|
||||
|
||||
COMPRESSED_FOLDERS_DESC= Compressed folders
|
||||
@ -81,10 +80,8 @@ GREETING_PATCH_DESC= Greeting support
|
||||
HTML_DESC= HTML documentation
|
||||
IDN_DESC+= International Domain Names (implies ICONV)
|
||||
IFDEF_PATCH_DESC= ifdef feature
|
||||
IMAP_HEADER_CACHE_DESC= IMAP header cache
|
||||
LOCALES_FIX_DESC= Locales fix
|
||||
MAILBOX_MANPAGES_DESC= Install mbox.5/mmdf.5 manpages
|
||||
MAILDIR_HEADER_CACHE_DESC= Maildir header cache
|
||||
MAILDIR_MTIME_PATCH_DESC= Maildir mtime patch
|
||||
MIXMASTER_DESC= Mixmaster support
|
||||
NCURSES_DESC= Ncurses support
|
||||
@ -97,16 +94,19 @@ SLANG_DESC= SLANG support
|
||||
SMART_DATE_DESC= Dynamic date formatting with "%@"
|
||||
SMIME_OUTLOOK_COMPAT_DESC= SMIME outlook compatibility
|
||||
SMTP_DESC= SMTP relay support
|
||||
TOKYOCABINET_DESC= Use tokyocabinet instead of Berkley DB
|
||||
HCACHE_DESC= Header Cache support
|
||||
HCACHE_BDB_DESC= Use Berkeley DB (BDB)
|
||||
HCACHE_TOKYOCABINET_DESC= Use Tokyo Cabinet
|
||||
HCACHE_KYOTOCABINET_DESC= Use Kyoto Cabinet
|
||||
HCACHE_NONE_DESC= Disable Header Cache
|
||||
URLVIEW_DESC= Use urlview for the URL selector menu
|
||||
XML_DESC= Use XML tools for rebuilding documentation
|
||||
|
||||
OPTIONS_DEFAULT= COMPRESSED_FOLDERS GPGME HTML ICONV IDN IFDEF_PATCH \
|
||||
IMAP_HEADER_CACHE LOCALES_FIX MAILBOX_MANPAGES \
|
||||
MAILDIR_HEADER_CACHE MAILDIR_MTIME_PATCH NLS \
|
||||
NCURSES PARENT_CHILD_MATCH_PATCH QUOTE_PATCH \
|
||||
REVERSE_REPLY_PATCH SMART_DATE SMIME_OUTLOOK_COMPAT \
|
||||
SASL SMTP URLVIEW XML GSSAPI_NONE
|
||||
OPTIONS_DEFAULT= COMPRESSED_FOLDERS GPGME HTML HCACHE_BDB ICONV IDN \
|
||||
IFDEF_PATCH LOCALES_FIX MAILBOX_MANPAGES MAILDIR_MTIME_PATCH \
|
||||
NLS NCURSES PARENT_CHILD_MATCH_PATCH QUOTE_PATCH \
|
||||
REVERSE_REPLY_PATCH SMART_DATE SMIME_OUTLOOK_COMPAT SASL SMTP \
|
||||
URLVIEW XML GSSAPI_NONE
|
||||
.endif
|
||||
|
||||
RUN_DEPENDS+= ${LOCALBASE}/etc/mime.types:misc/mime-support
|
||||
@ -160,12 +160,24 @@ GSSAPI_MIT_USES= gssapi:mit
|
||||
GSSAPI_MIT_CONFIGURE_ON= --with-gss=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS}
|
||||
GSSAPI_NONE_CONFIGURE_ON= --without-gss
|
||||
|
||||
HCACHE_NONE_CONFIGURE_ON= --disable-hcache
|
||||
HCACHE_NONE_CONFIGURE_OFF= --enable-hcache --without-qdbm --without-gdbm
|
||||
|
||||
HCACHE_BDB_CONFIGURE_WITH= bdb
|
||||
HCACHE_BDB_USES= bdb:42+
|
||||
|
||||
HCACHE_TOKYOCABINET_CONFIGURE_WITH= tokyocabinet
|
||||
HCACHE_TOKYOCABINET_LIB_DEPENDS= libtokyocabinet.so:databases/tokyocabinet
|
||||
|
||||
HCACHE_KYOTOCABINET_CONFIGURE_WITH= kyotocabinet
|
||||
HCACHE_KYOTOCABINET_LIB_DEPENDS= libkyotocabinet.so:databases/kyotocabinet
|
||||
|
||||
ICONV_USES= iconv:translit
|
||||
ICONV_CONFIGURE_ON= ${ICONV_CONFIGURE_ARG}
|
||||
ICONV_CONFIGURE_OFF= --disable-iconv
|
||||
|
||||
ASPELL_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-aspell
|
||||
##PARENT_CHILD_MATCH_PATCH_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-parent-child-match
|
||||
PARENT_CHILD_MATCH_PATCH_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-parent-child-match
|
||||
REVERSE_REPLY_PATCH_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-reverse_reply
|
||||
|
||||
SASL_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2
|
||||
@ -186,18 +198,18 @@ IDN_LIB_DEPENDS= libidn.so:dns/libidn
|
||||
IDN_CONFIGURE_WITH= idn
|
||||
IDN_IMPLIES= ICONV
|
||||
|
||||
GPGME_LIB_DEPENDS= libgpgme.so:security/gpgme
|
||||
GPGME_LIB_DEPENDS+= libgpgme.so:security/gpgme
|
||||
GPGME_LIB_DEPENDS+= libgpg-error.so:security/libgpg-error
|
||||
GPGME_LIB_DEPENDS+= libassuan.so:security/libassuan
|
||||
GPGME_CONFIGURE_ENABLE= gpgme
|
||||
|
||||
SMTP_CONFIGURE_ENABLE= smtp
|
||||
|
||||
MAILDIR_HEADER_CACHE_CONFIGURE_OFF= --without-qdbm
|
||||
|
||||
GREETING_PATCH_PATCHFILES= mutt-${GREETING_PATCH_VERSION}.vc.greeting:vc
|
||||
|
||||
COMPRESSED_FOLDERS_DISTFILES= patch-${RR_PATCH_VERSION}.rr.compressed.gz:vvv
|
||||
COMPRESSED_FOLDERS_CONFIGURE_ON= --enable-compressed
|
||||
COMPRESSED_FOLDERS_VARS= XML_NEEDED=yes
|
||||
COMPRESSED_FOLDERS_ENABLE= compressed
|
||||
COMPRESSED_FOLDERS_VARS= XML_NEEDED=yes \
|
||||
COMPRESSED_FOLDERS_PLIST_FILES=%%PORTEXAMPLES%%%%EXAMPLESDIR%%/sample.muttrc-compress
|
||||
|
||||
QUOTE_PATCH_PATCHFILES= patch-${VVV_PATCH_VERSION}.vvv.initials.gz:vvv \
|
||||
patch-${VVV_PATCH_VERSION}.vvv.quote.gz:vvv
|
||||
@ -210,7 +222,6 @@ NNTP_VARS= XML_NEEDED=yes
|
||||
NNTP_CATEGORIES= news
|
||||
|
||||
SIDEBAR_CONFIGURE_ENABLE= sidebar
|
||||
SIDEBAR_CONFIGURE_ON= --enable-sidebar
|
||||
SIDEBAR_VARS= XML_NEEDED=yes
|
||||
|
||||
DOCS_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-doc-ref
|
||||
@ -218,9 +229,9 @@ DOCS_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-doc-ref
|
||||
.include <bsd.port.options.mk>
|
||||
|
||||
# un/comment as each VERSION is created for PORTVERSION
|
||||
VVV_PATCH_VERSION= 1.7.1
|
||||
RR_PATCH_VERSION= 1.7.1
|
||||
#GREETING_PATCH_VERSION= 1.7.0
|
||||
VVV_PATCH_VERSION= 1.8.0
|
||||
RR_PATCH_VERSION= 1.7.2
|
||||
GREETING_PATCH_VERSION= 1.7.2
|
||||
|
||||
.if !defined(VVV_PATCH_VERSION)
|
||||
VVV_PATCH_VERSION= ${PORTVERSION}
|
||||
@ -246,15 +257,6 @@ LDFLAGS+= -L${LOCALBASE}/lib -Wl,-rpath=${LOCALBASE}/lib:/usr/lib -ltinfow
|
||||
CFLAGS+= ${CFLAGS_ADD}
|
||||
LDFLAGS+= ${LDFLAGS_ADD}
|
||||
|
||||
pre-patch-PARENT_CHILD_MATCH_PATCH-on:
|
||||
@${PATCH} -d ${PATCH_WRKSRC} ${PATCH_ARGS} -p1 < ${PATCHDIR}/extra-patch-parent-child-match
|
||||
|
||||
pre-patch-COMPRESSED_FOLDERS-on:
|
||||
@${GUNZIP_CMD} -c ${DISTDIR}/${DIST_SUBDIR}/patch-${RR_PATCH_VERSION}.rr.compressed.gz > ${WRKDIR}/patch-compressed
|
||||
@${REINPLACE_CMD} -E '/^diff.*\/doc\/manual.txt$$/,/^diff/d' \
|
||||
${WRKDIR}/patch-compressed
|
||||
@${PATCH} -d ${PATCH_WRKSRC} ${PATCH_ARGS} -p1 < ${WRKDIR}/patch-compressed
|
||||
|
||||
pre-patch-NNTP-on:
|
||||
@${GUNZIP_CMD} -c ${DISTDIR}/${DIST_SUBDIR}/patch-${VVV_PATCH_VERSION}.vvv.nntp.gz > ${WRKDIR}/patch-nntp
|
||||
@${REINPLACE_CMD} -E '/^diff.*\/doc\/manual.txt$$/,/^diff/d' \
|
||||
@ -288,7 +290,7 @@ post-patch-IFDEF_PATCH-on:
|
||||
|
||||
WRKSRC= ${WRKDIR}/${DISTNAME:S/i$//}
|
||||
|
||||
post-patch::
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} -e 's,/usr/bin/gpg,${LOCALBASE}/bin/gpg,g' \
|
||||
${WRKSRC}/contrib/gpg.rc
|
||||
@${REINPLACE_CMD} -e 's,pgp6,pgp,g' \
|
||||
@ -304,20 +306,11 @@ pre-configure::
|
||||
${WRKSRC}/imap/auth_gss.c
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MIMAP_HEADER_CACHE} || ${PORT_OPTIONS:MMAILDIR_HEADER_CACHE}
|
||||
.if ${PORT_OPTIONS:MTOKYOCABINET}
|
||||
CONFIGURE_ARGS+= --enable-hcache --without-gdbm --without-bdb --with-tokyocabinet
|
||||
LIB_DEPENDS+= libtokyocabinet.so:databases/tokyocabinet
|
||||
.else
|
||||
USES+= bdb:42+
|
||||
CONFIGURE_ARGS+= --enable-hcache --without-gdbm --with-bdb
|
||||
.if ${PORT_OPTIONS:MHCACHE_BDB}
|
||||
CONFIGURE_SED= -e 's/BDB_VERSIONS="/&${BDB_LIB_NAME} db${BDB_VER} /'
|
||||
pre-configure::
|
||||
@${REINPLACE_CMD} -E ${CONFIGURE_SED} ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}.ac
|
||||
.endif
|
||||
.else
|
||||
CONFIGURE_ARGS+= --disable-hcache
|
||||
.endif
|
||||
|
||||
.if defined (XML_NEEDED) && ${PORT_OPTIONS:MXML}
|
||||
BUILD_DEPENDS+= xsltproc:textproc/libxslt \
|
||||
|
@ -1,19 +1,17 @@
|
||||
TIMESTAMP = 1481676540
|
||||
SHA256 (mutt/mutt-1.7.2.tar.gz) = 1553501687cd22d5b8aaee4dc5a7d9dcf6cc61d7956f6aabaadd252d10cd5ff9
|
||||
SIZE (mutt/mutt-1.7.2.tar.gz) = 4025880
|
||||
SHA256 (mutt/patch-1.7.1.rr.compressed.gz) = 97bc56bbc6b0312b87e8dfb68dd9b551edb9d6771bb1b52b1c6f63f51d0bd05b
|
||||
SIZE (mutt/patch-1.7.1.rr.compressed.gz) = 9985
|
||||
SHA256 (mutt/patch-1.7.1.vvv.nntp.gz) = 798db983e3d63d954bfd88e0b8771f806afddf0ae07cc9a03d27def355675687
|
||||
SIZE (mutt/patch-1.7.1.vvv.nntp.gz) = 61201
|
||||
SHA256 (mutt/patch-1.7.1.vvv.nntp_ru.gz) = 497f96c19ff17330404667a63c1abd6a5b309004c4dc5100f73973012ad8a2c1
|
||||
SIZE (mutt/patch-1.7.1.vvv.nntp_ru.gz) = 5494
|
||||
TIMESTAMP = 1488157778
|
||||
SHA256 (mutt/mutt-1.8.0.tar.gz) = 45841eda12804b460260adff8f3f39cc977744e832486a3c49e182eda967adab
|
||||
SIZE (mutt/mutt-1.8.0.tar.gz) = 4116223
|
||||
SHA256 (mutt/patch-1.8.0.vvv.nntp.gz) = 1bd4b83708bb664749a34a188f01bc541cc7ab51628a163d87da119152ed00b9
|
||||
SIZE (mutt/patch-1.8.0.vvv.nntp.gz) = 60675
|
||||
SHA256 (mutt/patch-1.8.0.vvv.nntp_ru.gz) = ec9be57cdd516748f9ee7ee27b137d6ef7d3346258198940cb3d1eabb12d13ea
|
||||
SIZE (mutt/patch-1.8.0.vvv.nntp_ru.gz) = 3465
|
||||
SHA256 (mutt/patch-1.5.1.dgc.deepif.1) = d655a2f0003bdb2efb7ee5a8c77c113da661110e9c63289f03eb622773fc7a34
|
||||
SIZE (mutt/patch-1.5.1.dgc.deepif.1) = 767
|
||||
SHA256 (mutt/patch-1.7.0.ats.date_conditional.1) = a7f65e0b6e59713582b3b0a1c3d3c0e54e5875f5dfe3bda285e51a5b6d96e14e
|
||||
SIZE (mutt/patch-1.7.0.ats.date_conditional.1) = 2415
|
||||
SHA256 (mutt/mutt-1.7.2.vc.greeting) = 05dce466675c8692ab4a2c34d309de06e98e965241249e3cfccbb8d10873b9a3
|
||||
SIZE (mutt/mutt-1.7.2.vc.greeting) = 4175
|
||||
SHA256 (mutt/patch-1.7.1.vvv.initials.gz) = 1405104d8929d672dc5ffebbca8ea5601a88c515e862ec2f89e5b92bfdb53ad0
|
||||
SIZE (mutt/patch-1.7.1.vvv.initials.gz) = 675
|
||||
SHA256 (mutt/patch-1.7.1.vvv.quote.gz) = de0e47fb8ffe1ab6587aba37438c90443bee6508759bf82d8aa5da27317b3cc7
|
||||
SIZE (mutt/patch-1.7.1.vvv.quote.gz) = 1258
|
||||
SHA256 (mutt/patch-1.8.0.vvv.initials.gz) = 98c667c86028691ee0e9a8022977a7ba16972854c1f2fd87f83899c30598fedd
|
||||
SIZE (mutt/patch-1.8.0.vvv.initials.gz) = 686
|
||||
SHA256 (mutt/patch-1.8.0.vvv.quote.gz) = 18d50110ab38a4338284691e081aa06b1b52301eca49633d2c7639b46acf7e2c
|
||||
SIZE (mutt/patch-1.8.0.vvv.quote.gz) = 1282
|
||||
|
@ -1,7 +1,7 @@
|
||||
--- mutt-1.5.20/doc/manual.xml.head 2009-05-30 19:20:08.000000000 +0200
|
||||
+++ mutt-1.5.20-parentchildmatch/doc/manual.xml.head 2009-07-18 01:09:23.000000000 +0200
|
||||
@@ -3947,6 +3947,22 @@ With the <command>reset</command> comman
|
||||
which allows you to reset all variables to their system defaults.
|
||||
--- doc/manual.xml.head.orig 2017-02-24 18:29:36 UTC
|
||||
+++ doc/manual.xml.head
|
||||
@@ -4259,6 +4259,22 @@ variable <quote>all</quote>, which allow
|
||||
their system defaults.
|
||||
</para>
|
||||
|
||||
+<para>
|
||||
@ -23,30 +23,28 @@
|
||||
</sect2>
|
||||
|
||||
<sect2 id="set-myvar">
|
||||
diff -urNp mutt-1.5.20/mutt.h mutt-1.5.20-parentchildmatch/mutt.h
|
||||
--- mutt-1.5.20/mutt.h 2009-06-13 00:15:42.000000000 +0200
|
||||
+++ mutt-1.5.20-parentchildmatch/mutt.h 2009-07-18 01:14:21.000000000 +0200
|
||||
@@ -819,6 +819,8 @@ typedef struct pattern_t
|
||||
--- mutt.h.orig 2017-02-24 18:29:36 UTC
|
||||
+++ mutt.h
|
||||
@@ -863,6 +863,8 @@ typedef struct pattern_t
|
||||
unsigned int alladdr : 1;
|
||||
unsigned int stringmatch : 1;
|
||||
unsigned int groupmatch : 1;
|
||||
+ unsigned int parentmatch : 1;
|
||||
+ unsigned int childsmatch : 1;
|
||||
unsigned int ign_case : 1; /* ignore case for local stringmatch searches */
|
||||
unsigned int isalias : 1;
|
||||
int min;
|
||||
int max;
|
||||
diff -urNp mutt-1.5.20/pattern.c mutt-1.5.20-parentchildmatch/pattern.c
|
||||
--- mutt-1.5.20/pattern.c 2009-06-03 22:48:31.000000000 +0200
|
||||
+++ mutt-1.5.20-parentchildmatch/pattern.c 2009-07-18 01:09:23.000000000 +0200
|
||||
@@ -45,6 +45,7 @@ static int eat_regexp (pattern_t *pat, B
|
||||
--- pattern.c.orig 2017-02-24 18:29:37 UTC
|
||||
+++ pattern.c
|
||||
@@ -46,6 +46,7 @@ static int eat_regexp (pattern_t *pat, B
|
||||
static int eat_date (pattern_t *pat, BUFFER *, BUFFER *);
|
||||
static int eat_range (pattern_t *pat, BUFFER *, BUFFER *);
|
||||
static int patmatch (const pattern_t *pat, const char *buf);
|
||||
+static int pattern_exec (struct pattern_t *pat, pattern_exec_flag flags, CONTEXT *ctx, HEADER *h);
|
||||
+static int pattern_exec (struct pattern_t *pat, pattern_exec_flag flags, CONTEXT *ctx, HEADER *h, pattern_cache_t *cache);
|
||||
|
||||
static struct pattern_flags
|
||||
static const struct pattern_flags
|
||||
{
|
||||
@@ -769,6 +770,8 @@ pattern_t *mutt_pattern_comp (/* const *
|
||||
@@ -781,6 +782,8 @@ pattern_t *mutt_pattern_comp (/* const *
|
||||
pattern_t *last = NULL;
|
||||
int not = 0;
|
||||
int alladdr = 0;
|
||||
@ -54,10 +52,10 @@ diff -urNp mutt-1.5.20/pattern.c mutt-1.5.20-parentchildmatch/pattern.c
|
||||
+ int childsmatch = 0;
|
||||
int or = 0;
|
||||
int implicit = 1; /* used to detect logical AND operator */
|
||||
struct pattern_flags *entry;
|
||||
@@ -793,6 +796,24 @@ pattern_t *mutt_pattern_comp (/* const *
|
||||
int isalias = 0;
|
||||
@@ -810,6 +813,24 @@ pattern_t *mutt_pattern_comp (/* const *
|
||||
ps.dptr++;
|
||||
not = !not;
|
||||
isalias = !isalias;
|
||||
break;
|
||||
+ case '<':
|
||||
+ ps.dptr++;
|
||||
@ -80,65 +78,68 @@ diff -urNp mutt-1.5.20/pattern.c mutt-1.5.20-parentchildmatch/pattern.c
|
||||
case '|':
|
||||
if (!or)
|
||||
{
|
||||
@@ -818,6 +839,8 @@ pattern_t *mutt_pattern_comp (/* const *
|
||||
@@ -835,6 +856,8 @@ pattern_t *mutt_pattern_comp (/* const *
|
||||
implicit = 0;
|
||||
not = 0;
|
||||
alladdr = 0;
|
||||
+ parentmatch = 0;
|
||||
+ childsmatch = 0;
|
||||
isalias = 0;
|
||||
break;
|
||||
case '%':
|
||||
case '=':
|
||||
@@ -841,8 +864,12 @@ pattern_t *mutt_pattern_comp (/* const *
|
||||
@@ -865,9 +888,13 @@ pattern_t *mutt_pattern_comp (/* const *
|
||||
last = tmp;
|
||||
tmp->not ^= not;
|
||||
tmp->alladdr |= alladdr;
|
||||
+ tmp->parentmatch |= parentmatch;
|
||||
+ tmp->childsmatch |= childsmatch;
|
||||
tmp->isalias |= isalias;
|
||||
not = 0;
|
||||
alladdr = 0;
|
||||
+ parentmatch = 0;
|
||||
+ childsmatch = 0;
|
||||
isalias = 0;
|
||||
/* compile the sub-expression */
|
||||
buf = mutt_substrdup (ps.dptr + 1, p);
|
||||
if ((tmp2 = mutt_pattern_comp (buf, flags, err)) == NULL)
|
||||
@@ -870,10 +897,14 @@ pattern_t *mutt_pattern_comp (/* const *
|
||||
@@ -896,11 +923,15 @@ pattern_t *mutt_pattern_comp (/* const *
|
||||
tmp = new_pattern ();
|
||||
tmp->not = not;
|
||||
tmp->alladdr = alladdr;
|
||||
+ tmp->parentmatch = parentmatch;
|
||||
+ tmp->childsmatch = childsmatch;
|
||||
tmp->isalias = isalias;
|
||||
tmp->stringmatch = (*ps.dptr == '=') ? 1 : 0;
|
||||
tmp->groupmatch = (*ps.dptr == '%') ? 1 : 0;
|
||||
not = 0;
|
||||
alladdr = 0;
|
||||
+ parentmatch = 0;
|
||||
+ childsmatch = 0;
|
||||
isalias = 0;
|
||||
|
||||
if (last)
|
||||
last->next = tmp;
|
||||
@@ -939,8 +970,12 @@ pattern_t *mutt_pattern_comp (/* const *
|
||||
@@ -967,9 +998,13 @@ pattern_t *mutt_pattern_comp (/* const *
|
||||
last = tmp;
|
||||
tmp->not ^= not;
|
||||
tmp->alladdr |= alladdr;
|
||||
+ tmp->parentmatch |= parentmatch;
|
||||
+ tmp->childsmatch |= childsmatch;
|
||||
tmp->isalias |= isalias;
|
||||
not = 0;
|
||||
alladdr = 0;
|
||||
+ parentmatch = 0;
|
||||
+ childsmatch = 0;
|
||||
isalias = 0;
|
||||
ps.dptr = p + 1; /* restore location */
|
||||
break;
|
||||
default:
|
||||
@@ -1081,6 +1116,36 @@ static int match_threadcomplete(struct p
|
||||
int
|
||||
mutt_pattern_exec (struct pattern_t *pat, pattern_exec_flag flags, CONTEXT *ctx, HEADER *h)
|
||||
@@ -1137,6 +1172,37 @@ int
|
||||
mutt_pattern_exec (struct pattern_t *pat, pattern_exec_flag flags, CONTEXT *ctx, HEADER *h,
|
||||
pattern_cache_t *cache)
|
||||
{
|
||||
+ THREAD *t;
|
||||
+
|
||||
+ if (pat->parentmatch) {
|
||||
+ if (h->thread && h->thread->parent && h->thread->parent->message)
|
||||
+ return pattern_exec (pat, flags, ctx, h->thread->parent->message);
|
||||
+ return pattern_exec (pat, flags, ctx, h->thread->parent->message, cache);
|
||||
+ else
|
||||
+ return pat->not;
|
||||
+ }
|
||||
@ -153,17 +154,18 @@ diff -urNp mutt-1.5.20/pattern.c mutt-1.5.20-parentchildmatch/pattern.c
|
||||
+ for (; t; t = t->next) {
|
||||
+ if (!t->message)
|
||||
+ continue;
|
||||
+ if (pattern_exec (pat, flags, ctx, t->message))
|
||||
+ if (pattern_exec (pat, flags, ctx, t->message, cache))
|
||||
+ return !pat->not;
|
||||
+ }
|
||||
+ return pat->not;
|
||||
+ }
|
||||
+ return pattern_exec (pat, flags, ctx, h);
|
||||
+ return pattern_exec (pat, flags, ctx, h, cache);
|
||||
+}
|
||||
+
|
||||
+static int
|
||||
+pattern_exec (struct pattern_t *pat, pattern_exec_flag flags, CONTEXT *ctx, HEADER *h)
|
||||
+pattern_exec (struct pattern_t *pat, pattern_exec_flag flags, CONTEXT *ctx, HEADER *h,
|
||||
+ pattern_cache_t *cache)
|
||||
+{
|
||||
switch (pat->op)
|
||||
{
|
||||
case M_AND:
|
||||
int result;
|
||||
int *cache_entry;
|
||||
|
||||
|
@ -1,25 +1,6 @@
|
||||
--- mutt.h
|
||||
+++ mutt.h
|
||||
@@ -133,6 +133,16 @@
|
||||
M_FORMAT_NOFILTER = (1<<7) /* do not allow filtering on this pass */
|
||||
} format_flag;
|
||||
|
||||
+/* flags for SmartDate */
|
||||
+typedef enum {
|
||||
+ FUTURE = 1,
|
||||
+ SMARTTIME = 2,
|
||||
+ YESTERDAY = 3,
|
||||
+ WEEKDAY = 4,
|
||||
+ STANDARD = 5,
|
||||
+ ANCIENT = 6
|
||||
+} smartdate_type;
|
||||
+
|
||||
/* types for mutt_add_hook() */
|
||||
#define M_FOLDERHOOK 1
|
||||
#define M_MBOXHOOK (1<<1)
|
||||
--- hdrline.c
|
||||
--- hdrline.c.orig 2017-02-24 18:29:36 UTC
|
||||
+++ hdrline.c
|
||||
@@ -231,6 +231,89 @@
|
||||
@@ -248,6 +248,89 @@ static char *apply_subject_mods (ENVELOP
|
||||
* %Y = `x-label:' field (if present, tree unfolded, and != parent's x-label)
|
||||
* %Z = status flags */
|
||||
|
||||
@ -109,18 +90,37 @@
|
||||
static const char *
|
||||
hdr_format_str (char *dest,
|
||||
size_t destlen,
|
||||
@@ -462,7 +545,13 @@
|
||||
tm = gmtime (&T);
|
||||
}
|
||||
@@ -421,7 +504,13 @@ hdr_format_str (char *dest,
|
||||
|
||||
- strftime (buf2, sizeof (buf2), dest, tm);
|
||||
+ /* Identify the non-strftime smartdate pattern (%@) */
|
||||
+ if( strncmp( dest, "%@", 2 ) == 0 ) {
|
||||
+ smartdate( buf2, sizeof( buf2 ), tm );
|
||||
+ }
|
||||
+ else {
|
||||
+ strftime (buf2, sizeof (buf2), dest, tm);
|
||||
+ }
|
||||
if (!do_locales)
|
||||
setlocale (LC_TIME, "C");
|
||||
- strftime (buf2, sizeof (buf2), dest, tm);
|
||||
+ /* Identify the non-strftime smartdate pattern (%@) */
|
||||
+ if( strncmp( dest, "%@", 2 ) == 0 ) {
|
||||
+ smartdate( buf2, sizeof( buf2 ), tm );
|
||||
+ }
|
||||
+ else {
|
||||
+ strftime (buf2, sizeof (buf2), dest, tm);
|
||||
+ }
|
||||
if (!do_locales)
|
||||
setlocale (LC_TIME, "");
|
||||
|
||||
if (do_locales)
|
||||
setlocale (LC_TIME, "C");
|
||||
--- mutt.h.orig 2017-02-24 18:29:36 UTC
|
||||
+++ mutt.h
|
||||
@@ -134,6 +134,16 @@ typedef enum
|
||||
MUTT_FORMAT_NOFILTER = (1<<7) /* do not allow filtering on this pass */
|
||||
} format_flag;
|
||||
|
||||
+/* flags for SmartDate */
|
||||
+typedef enum {
|
||||
+ FUTURE = 1,
|
||||
+ SMARTTIME = 2,
|
||||
+ YESTERDAY = 3,
|
||||
+ WEEKDAY = 4,
|
||||
+ STANDARD = 5,
|
||||
+ ANCIENT = 6
|
||||
+} smartdate_type;
|
||||
+
|
||||
/* types for mutt_add_hook() */
|
||||
#define MUTT_FOLDERHOOK 1
|
||||
#define MUTT_MBOXHOOK (1<<1)
|
||||
|
@ -1,15 +1,15 @@
|
||||
--- Makefile.am.orig 2016-10-08 19:30:21 UTC
|
||||
--- Makefile.am.orig 2017-02-27 01:12:49 UTC
|
||||
+++ Makefile.am
|
||||
@@ -10,7 +10,7 @@ IMAP_SUBDIR = imap
|
||||
@@ -14,7 +14,7 @@ IMAP_SUBDIR = imap
|
||||
IMAP_INCLUDES = -I$(top_srcdir)/imap
|
||||
endif
|
||||
|
||||
-SUBDIRS = m4 po intl doc contrib $(IMAP_SUBDIR)
|
||||
+SUBDIRS = m4 po intl contrib $(IMAP_SUBDIR) . doc
|
||||
-SUBDIRS = m4 po intl $(DOC_SUBDIR) contrib $(IMAP_SUBDIR)
|
||||
+SUBDIRS = m4 po intl contrib $(IMAP_SUBDIR) . $(DOC_SUBDIR)
|
||||
|
||||
bin_SCRIPTS = muttbug flea $(SMIMEAUX_TARGET)
|
||||
|
||||
@@ -157,18 +157,9 @@ install-exec-hook:
|
||||
@@ -161,18 +161,9 @@ install-exec-hook:
|
||||
rm -f $(DESTDIR)$(bindir)/mutt.dotlock ; \
|
||||
ln -sf $(DESTDIR)$(bindir)/mutt_dotlock $(DESTDIR)$(bindir)/mutt.dotlock ; \
|
||||
fi
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- mutt.h.orig 2016-10-08 19:30:21 UTC
|
||||
--- mutt.h.orig 2017-02-27 01:20:29 UTC
|
||||
+++ mutt.h
|
||||
@@ -190,6 +190,7 @@ enum
|
||||
@@ -201,6 +201,7 @@ enum
|
||||
MUTT_EXPIRED,
|
||||
MUTT_SUPERSEDED,
|
||||
MUTT_TRASH,
|
||||
@ -8,7 +8,7 @@
|
||||
|
||||
/* actions for mutt_pattern_comp/mutt_pattern_exec */
|
||||
MUTT_AND,
|
||||
--- pattern.c.orig 2016-10-08 19:30:21 UTC
|
||||
--- pattern.c.orig 2017-02-27 01:20:06 UTC
|
||||
+++ pattern.c
|
||||
@@ -56,6 +56,7 @@ static const struct pattern_flags
|
||||
}
|
||||
@ -18,10 +18,10 @@
|
||||
{ 'A', MUTT_ALL, 0, NULL },
|
||||
{ 'b', MUTT_BODY, MUTT_FULL_MSG, eat_regexp },
|
||||
{ 'B', MUTT_WHOLE_MSG, MUTT_FULL_MSG, eat_regexp },
|
||||
@@ -1185,6 +1186,16 @@ mutt_pattern_exec (struct pattern_t *pat
|
||||
2, h->env->to, h->env->cc));
|
||||
case MUTT_LIST: /* known list, subscribed or not */
|
||||
return (pat->not ^ mutt_is_list_cc (pat->alladdr, h->env->to, h->env->cc));
|
||||
@@ -1236,6 +1237,16 @@ mutt_pattern_exec (struct pattern_t *pat
|
||||
else
|
||||
result = mutt_is_list_cc (pat->alladdr, h->env->to, h->env->cc);
|
||||
return (pat->not ^ result);
|
||||
+ case MUTT_THREADCOMPLETE:
|
||||
+ { static pattern_t tmp;
|
||||
+ static short pattern_set = 0;
|
||||
@ -33,5 +33,5 @@
|
||||
+ return (pat->not ^ (h->env && match_threadcomplete(&tmp, flags, ctx, h->thread, 1, 1, 1, 1)));
|
||||
+ }
|
||||
case MUTT_SUBSCRIBED_LIST:
|
||||
return (pat->not ^ mutt_is_list_recipient (pat->alladdr, h->env->to, h->env->cc));
|
||||
case MUTT_PERSONAL_RECIP:
|
||||
if (cache)
|
||||
{
|
||||
|
@ -45,7 +45,6 @@ man/man5/muttrc.5.gz
|
||||
%%HTML%%%%PORTDOCS%%%%DOCSDIR%%/reference.html
|
||||
%%HTML%%%%PORTDOCS%%%%DOCSDIR%%/security.html
|
||||
%%HTML%%%%PORTDOCS%%%%DOCSDIR%%/tuning.html
|
||||
%%XML%%%%HTML%%%%COMPRESSED_FOLDERS%%%%PORTDOCS%%%%DOCSDIR%%/compressed-folders.html
|
||||
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/Mush.rc
|
||||
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/Pine.rc
|
||||
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/Tin.rc
|
||||
|
Loading…
Reference in New Issue
Block a user