Index: head/mail/mutt/Makefile =================================================================== --- head/mail/mutt/Makefile (revision 497784) +++ head/mail/mutt/Makefile (revision 497785) @@ -1,259 +1,260 @@ # Created by: Udo Schweigert # $FreeBSD$ PORTNAME= mutt DISTVERSION= 1.11.4 #PORTREVISION= 0 CATEGORIES+= mail ipv6 MASTER_SITES= ftp://ftp.mutt.org/pub/mutt/ \ ftp://ftp.fu-berlin.de/pub/unix/mail/mutt/ \ https://bitbucket.org/mutt/mutt/downloads/ \ ftp://ftp.demon.co.uk/pub/mirrors/mutt/ \ http://www.mutt.org.ua/download/mutt-${VVV_PATCH_VERSION}/:vvv \ http://www2.mutt.org.ua/download/mutt-${VVV_PATCH_VERSION}/:vvv DIST_SUBDIR= mutt EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} PATCH_SITES+= http://www.mutt.org.ua/download/mutt-${VVV_PATCH_VERSION}/:vvv \ http://www2.mutt.org.ua/download/mutt-${VVV_PATCH_VERSION}/:vvv \ http://vc.org.ua/mutt/:vc PATCH_DIST_STRIP= -p1 MAINTAINER= dereks@lifeofadishwasher.com COMMENT= Small but powerful text based program for read/writing e-mail LICENSE= GPLv2+ RUN_DEPENDS= ${LOCALBASE}/etc/mime.types:misc/mime-support USES= cpe shebangfix ssl CONFLICTS= ja-mutt-[0-9]* ja-mutt-devel-[0-9]* mutt-1.4* mutt-devel-lite-[0-9]* mutt-lite-[0-9]* zh-mutt-devel-[0-9]* -CONFIGURE_ENV= CC="${CC} -I${LOCALBASE}/include" CONFIGURE_ARGS= --disable-fcntl --with-ssl=${OPENSSLBASE} \ --with-docdir=${DOCSDIR} --sysconfdir=${PREFIX}/etc \ --enable-external-dotlock --enable-pop --enable-imap \ --enable-compressed --enable-sidebar INFO= ${PORTNAME} SHEBANG_FILES= doc/gen-map-doc smime_keys.pl contrib/smime_keys_test.pl .if defined(MUTT_CONFIGURE_ARGS) CONFIGURE_ARGS+= ${MUTT_CONFIGURE_ARGS} .endif GNU_CONFIGURE= yes OPTIONS_SUB= yes OPTIONS_DEFINE= SASL DEBUG DOCS EXAMPLES FLOCK \ FORCEBASE64 GPGME GREETING_PATCH HTML ICONV IDN IFDEF_PATCH \ LOCALES_FIX MAILBOX_MANPAGES MAILDIR_MTIME_PATCH \ NLS NNTP QUOTE_PATCH REVERSE_REPLY_PATCH SMART_DATE \ SMIME_OUTLOOK_COMPAT SMTP URLVIEW XML 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 SASL_DESC= SASL authentication DEBUG_DESC= Debugging capabilities FLOCK_DESC= flock() usage FORCEBASE64_DESC= Option to force base64 encoding for compose GPGME_DESC= Gpgme interface GREETING_PATCH_DESC= Greeting support HTML_DESC= HTML documentation IDN_DESC= International Domain Names (implies ICONV) IFDEF_PATCH_DESC= ifdef feature LOCALES_FIX_DESC= Locales fix MAILBOX_MANPAGES_DESC= Install mbox.5/mmdf.5 manpages MAILDIR_MTIME_PATCH_DESC= Maildir mtime patch NCURSES_DESC= Ncurses support NLS_DESC= Native language support (implies ICONV) QUOTE_PATCH_DESC= Extended quoting REVERSE_REPLY_PATCH_DESC= Reverse_reply SLANG_DESC= SLANG support SMART_DATE_DESC= Dynamic date formatting with "%@" SMIME_OUTLOOK_COMPAT_DESC= SMIME outlook compatibility SMTP_DESC= SMTP relay support 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= GPGME HTML HCACHE_BDB ICONV IDN \ IFDEF_PATCH LOCALES_FIX MAILBOX_MANPAGES MAILDIR_MTIME_PATCH \ NLS NCURSES QUOTE_PATCH REVERSE_REPLY_PATCH SMART_DATE \ SMIME_OUTLOOK_COMPAT SASL SMTP URLVIEW XML GSSAPI_NONE ASPELL_BUILD_DEPENDS= aspell:textproc/aspell ASPELL_RUN_DEPENDS= aspell:textproc/aspell ISPELL_BUILD_DEPENDS= ispell:textproc/aspell-ispell ISPELL_RUN_DEPENDS= ispell:textproc/aspell-ispell URLVIEW_RUN_DEPENDS= urlview:textproc/urlview .ifmake makesum # for optional distfiles patchfiles PORT_DBDIR= /dev/null OPTIONS_DEFAULT+= ${OPTIONS_DEFINE} .endif DEBUG_CONFIGURE_ON= --enable-debug # Handle ncurses/ncurses-port/slang SLANG_CONFIGURE_ON= --with-slang=${LOCALBASE} SLANG_LIB_DEPENDS= libslang.so:devel/libslang2 SLANG_VARS= PKGMESSAGE=${FILESDIR}/pkg-message.slang NCURSES_USES= ncurses NLS_USES= gettext NLS_CONFIGURE_ENABLE= nls NLS_IMPLIES= ICONV # Handle GSSAPI from various places GSSAPI_BASE_USES= gssapi GSSAPI_BASE_CONFIGURE_ON= --with-gss=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS} GSSAPI_HEIMDAL_USES= gssapi:heimdal GSSAPI_HEIMDAL_CONFIGURE_ON= --with-gss=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS} 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_CONFIGURE_WITH= bdb=${LOCALBASE} HCACHE_BDB_USES= bdb:42+ -HCACHE_TOKYOCABINET_CONFIGURE_WITH= tokyocabinet +HCACHE_TOKYOCABINET_CONFIGURE_WITH= tokyocabinet=${LOCALBASE} HCACHE_TOKYOCABINET_LIB_DEPENDS= libtokyocabinet.so:databases/tokyocabinet -HCACHE_KYOTOCABINET_CONFIGURE_WITH= kyotocabinet +HCACHE_KYOTOCABINET_CONFIGURE_WITH= kyotocabinet=${LOCALBASE} 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 REVERSE_REPLY_PATCH_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-reverse_reply SASL_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2 SASL_CONFIGURE_ON= --with-sasl=${LOCALBASE} SMIME_OUTLOOK_COMPAT_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-smime-outlook SMART_DATE_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-smartdate FLOCK_CONFIGURE_ENABLE= flock LOCALES_FIX_CONFIGURE_ON= --enable-locales-fix IDN_LIB_DEPENDS= libidn2.so:dns/libidn2 \ libunistring.so:devel/libunistring -IDN_CONFIGURE_WITH= idn2 +IDN_CONFIGURE_WITH= idn2=${LOCALBASE} IDN_IMPLIES= ICONV IFDEF_PATCH_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-ifdef 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 GREETING_PATCH_PATCHFILES= mutt-${GREETING_PATCH_VERSION}.vc.greeting:vc QUOTE_PATCH_PATCHFILES= patch-${VVV_PATCH_VERSION}.vvv.initials.xz:vvv \ patch-${VVV_PATCH_VERSION}.vvv.quote.xz:vvv NNTP_PATCHFILES= patch-${VVV_PATCH_VERSION}.vvv.nntp.xz:-p1:vvv NNTP_EXTRA_PATCHES= ${PATCHDIR}/extra-nntp-depfiles NNTP_CONFIGURE_ON= --enable-nntp NNTP_VARS= XML_NEEDED=yes NNTP_CATEGORIES= news NNTP_USES= perl5 DOCS_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-doc-ref .include # un/comment as each VERSION is created for PORTVERSION VVV_PATCH_VERSION= 1.11.1 GREETING_PATCH_VERSION= 1.11.4 .if !defined(VVV_PATCH_VERSION) VVV_PATCH_VERSION= ${PORTVERSION} .endif .if !defined(GREETING_PATCH_VERSION) GREETING_PATCH_VERSION= ${PORTVERSION} .endif -LDFLAGS+= -L${LOCALBASE}/lib -Wl,-rpath=${LOCALBASE}/lib:/usr/lib -ltinfow - post-patch-NNTP-on: # Restore timestamps for autotools sources @${TOUCH} -r ${WRKSRC}/configure.ac.orig ${WRKSRC}/configure.ac @${TOUCH} -r ${WRKSRC}/Makefile.am.orig ${WRKSRC}/Makefile.am .if ${PORT_OPTIONS:MMAILDIR_MTIME_PATCH} @${PATCH} -d ${PATCH_WRKSRC} ${PATCH_ARGS} -p1 < ${PATCHDIR}/extra-patch-maildir-mtime-nntp .endif .if ${PORT_OPTIONS:MFORCEBASE64} @${PATCH} -d ${PATCH_WRKSRC} ${PATCH_ARGS} -p1 < ${PATCHDIR}/extra-patch-forcebase64-nntp .endif post-patch-NNTP-off: .if ${PORT_OPTIONS:MMAILDIR_MTIME_PATCH} @${PATCH} -d ${PATCH_WRKSRC} ${PATCH_ARGS} -p1 < ${PATCHDIR}/extra-patch-maildir-mtime .endif .if ${PORT_OPTIONS:MFORCEBASE64} @${PATCH} -d ${PATCH_WRKSRC} ${PATCH_ARGS} -p1 < ${PATCHDIR}/extra-patch-forcebase64 .endif post-install: ${INSTALL_MAN} ${FILESDIR}/mailcap.5 ${STAGEDIR}${MANPREFIX}/man/man5 post-install-NNTP-on: ${INSTALL_DATA} ${WRKSRC}/ChangeLog.nntp ${STAGEDIR}${DOCSDIR} WRKSRC= ${WRKDIR}/${DISTNAME:S/i$//} pre-configure:: @${REINPLACE_CMD} -e 's,?eimdal\*),?eimdal*|\"FreeBSD heimdal\"*),' \ ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT} @${REINPLACE_CMD} -e 's,pgp6,pgp,g' \ ${WRKSRC}/contrib/pgp6.rc @${REINPLACE_CMD} -E -e 's#(/samples|samples/)#share/examples/mutt#g' \ ${WRKSRC}/doc/reference.html \ ${WRKSRC}/doc/manual.html \ ${WRKSRC}/doc/manual.txt \ ${WRKSRC}/doc/Muttrc \ ${WRKSRC}/INSTALL \ ${WRKSRC}/init.h @${REINPLACE_CMD} -e 's#$$(docdir)/samples#${EXAMPLESDIR}#g' \ ${WRKSRC}/contrib/Makefile.in + +pre-configure-ASPELL-on: + @${REINPLACE_CMD} -e '/^# append-hook/p' \ + -e 's/^# append-hook.*$$/set ispell="aspell --mode=email check"/' \ + ${WRKSRC}/doc/Muttrc.head pre-configure-HCACHE_BDB-on: @${REINPLACE_CMD} -E -e 's/BDB_VERSIONS="/&${BDB_LIB_NAME} db${BDB_VER} /' \ ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT} .if defined (XML_NEEDED) && ${PORT_OPTIONS:MXML} BUILD_DEPENDS+= xsltproc:textproc/libxslt \ ${LOCALBASE}/share/xsl/docbook/html/docbook.xsl:textproc/docbook-xsl \ lynx:www/lynx .else pre-build:: @${REINPLACE_CMD} \ -e 's,manual.html stamp-doc-rc stamp-doc-chunked manual.txt,stamp-doc-rc,' \ ${WRKSRC}/doc/Makefile .endif .include Index: head/mail/mutt/files/extra-patch-aspell =================================================================== --- head/mail/mutt/files/extra-patch-aspell (revision 497784) +++ head/mail/mutt/files/extra-patch-aspell (nonexistent) @@ -1,11 +0,0 @@ ---- doc/Muttrc.head.orig 2018-05-19 20:33:53 UTC -+++ doc/Muttrc.head -@@ -35,6 +35,8 @@ - # close-hook '\.gz$' "gzip -c '%t' > '%f'" - # append-hook '\.gz$' "gzip -c '%t' >> '%f'" - -+set ispell="/usr/local/bin/aspell --mode=email check" -+ - # If Mutt is unable to determine your site's domain name correctly, you can - # set the default here. - # Property changes on: head/mail/mutt/files/extra-patch-aspell ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/mail/mutt/files/extra-patch-parent-child-match =================================================================== --- head/mail/mutt/files/extra-patch-parent-child-match (revision 497784) +++ head/mail/mutt/files/extra-patch-parent-child-match (nonexistent) @@ -1,171 +0,0 @@ ---- doc/manual.xml.head.orig 2017-05-30 19:27:52 UTC -+++ doc/manual.xml.head -@@ -4265,6 +4265,22 @@ variable all, which allow - their system defaults. - - -+ -+Parent and child match. -+You can tell mutt that the following pattern has to be matched against -+the parent message with < or one of its childs with >. -+This example matches all mails which have at least an unread duplicate -+message: -+ -+ -+ -+ -+ -+>(~= ~N) -+ -+ -+ -+ - - - ---- mutt.h.orig 2017-06-03 23:16:03 UTC -+++ mutt.h -@@ -865,6 +865,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; ---- pattern.c.orig 2017-05-30 19:26:40 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, pattern_cache_t *cache); - - static const struct pattern_flags - { -@@ -781,6 +782,8 @@ pattern_t *mutt_pattern_comp (/* const * - pattern_t *last = NULL; - int not = 0; - int alladdr = 0; -+ int parentmatch = 0; -+ int childsmatch = 0; - int or = 0; - int implicit = 1; /* used to detect logical AND operator */ - int isalias = 0; -@@ -810,6 +813,24 @@ pattern_t *mutt_pattern_comp (/* const * - ps.dptr++; - isalias = !isalias; - break; -+ case '<': -+ ps.dptr++; -+ if (childsmatch) { -+ snprintf (err->data, err->dsize, _("cannot use both < and > as a pattern modifier")); -+ mutt_pattern_free (&curlist); -+ return NULL; -+ } -+ parentmatch = 1; -+ break; -+ case '>': -+ ps.dptr++; -+ if (parentmatch) { -+ snprintf (err->data, err->dsize, _("cannot use both < and > as a pattern modifier")); -+ mutt_pattern_free (&curlist); -+ return NULL; -+ } -+ childsmatch = 1; -+ break; - case '|': - if (!or) - { -@@ -835,6 +856,8 @@ pattern_t *mutt_pattern_comp (/* const * - implicit = 0; - not = 0; - alladdr = 0; -+ parentmatch = 0; -+ childsmatch = 0; - isalias = 0; - break; - case '%': -@@ -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); -@@ -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) -@@ -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; -@@ -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, cache); -+ else -+ return pat->not; -+ } -+ if (pat->childsmatch) { -+ if (!h->thread) -+ return pat->not; -+ if (!h->thread->child) -+ return pat->not; -+ t = h->thread->child; -+ while (t->prev) -+ t = t->prev; -+ for (; t; t = t->next) { -+ if (!t->message) -+ continue; -+ if (pattern_exec (pat, flags, ctx, t->message, cache)) -+ return !pat->not; -+ } -+ return pat->not; -+ } -+ 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_cache_t *cache) -+{ - int result; - int *cache_entry; - Property changes on: head/mail/mutt/files/extra-patch-parent-child-match ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property