aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerek Schrock <dereks@lifeofadishwasher.com>2023-06-28 10:42:52 +0000
committerFernando Apesteguía <fernape@FreeBSD.org>2023-06-29 11:46:02 +0000
commitee5c5804ddf665c74e8da4d14242b12afab3d5e9 (patch)
treeb1baa502105c809125d6f26af9ebecd02b7dc55f
parentda510041c696da12e6fe40355ab615c98f317f30 (diff)
downloadports-ee5c5804ddf665c74e8da4d14242b12afab3d5e9.tar.gz
ports-ee5c5804ddf665c74e8da4d14242b12afab3d5e9.zip
mail/mutt: Remove feature patches
* As mentioned in efe2cf37e6 UPDATING and pkg-message to keep mail/mutt inline with upstream removing addtional ports patches. * Update post-install sed to be more vim make.vim syntax friendly. It is making any # a make comments. Some of these patches PR: 272194 Reported by: dereks@lifeofadishwasher.com (maintainer) Differential Revision: https://reviews.freebsd.org/D40754
-rw-r--r--mail/mutt/Makefile57
-rw-r--r--mail/mutt/files/extra-patch-ifdef77
-rw-r--r--mail/mutt/files/extra-patch-maildir-mtime52
-rw-r--r--mail/mutt/files/extra-patch-quote18
-rw-r--r--mail/mutt/files/extra-patch-reverse_reply93
-rw-r--r--mail/mutt/files/extra-patch-smartdate126
-rw-r--r--mail/mutt/files/extra-smime-sender39
-rw-r--r--mail/mutt/files/patch-date-conditional97
-rw-r--r--mail/mutt/files/patch-dgc-deepif30
-rw-r--r--mail/mutt/pkg-message18
10 files changed, 7 insertions, 600 deletions
diff --git a/mail/mutt/Makefile b/mail/mutt/Makefile
index bf9a5d68b059..4a32a9d78dbe 100644
--- a/mail/mutt/Makefile
+++ b/mail/mutt/Makefile
@@ -1,19 +1,12 @@
PORTNAME= mutt
DISTVERSION= 2.2.10
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES+= mail
MASTER_SITES= ftp://ftp.mutt.org/pub/mutt/ \
- https://bitbucket.org/mutt/mutt/downloads/ \
- http://www.mutt.org.ua/download/mutt-${VVV_PATCH_VERSION}/:vvv \
- http://www2.mutt.org.ua/download/mutt-${VVV_PATCH_VERSION}/:vvv
+ https://bitbucket.org/mutt/mutt/downloads/
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
WWW= http://www.mutt.org/
@@ -47,16 +40,11 @@ CONFLICTS= ja-mutt ja-mutt-devel mutt-1.4* mutt-devel-lite mutt-lite \
INFO= ${PORTNAME}
-OPTIONS_DEFINE= AUTOCRYPT DEBUG_LOGS DOCS EXAMPLES FLOCK GPGME \
- GREETING_PATCH HTML ICONV IDN IFDEF_PATCH \
- INITIALS_PATCH LOCALES_FIX MAILBOX_MANPAGES \
- MAILDIR_MTIME_PATCH NLS REVERSE_REPLY_PATCH SMART_DATE \
- SMIME SMTP URLVIEW
+OPTIONS_DEFINE= AUTOCRYPT DEBUG_LOGS DOCS EXAMPLES FLOCK GPGME HTML \
+ ICONV IDN LOCALES_FIX MAILBOX_MANPAGES NLS SMTP URLVIEW
OPTIONS_DEFAULT= AUTOCRYPT DEBUG_LOGS GPGME GSSAPI_NONE HCACHE_LMDB HTML \
- ICONV IDN IFDEF_PATCH INITIALS_PATCH LOCALES_FIX \
- MAILBOX_MANPAGES MAILDIR_MTIME_PATCH NCURSES NLS \
- REVERSE_REPLY_PATCH SASL_CYRUS SMART_DATE SMIME SMTP \
- URLVIEW
+ ICONV IDN LOCALES_FIX MAILBOX_MANPAGES NCURSES NLS \
+ SASL_CYRUS SMTP URLVIEW
OPTIONS_SINGLE= GSSAPI HCACHE SASL SCREEN
OPTIONS_SINGLE_GSSAPI= GSSAPI_BASE GSSAPI_HEIMDAL GSSAPI_MIT GSSAPI_NONE
@@ -70,7 +58,6 @@ AUTOCRYPT_DESC= Convenient End-to-End Encryption
DEBUG_LOGS_DESC= Debugging capabilities
FLOCK_DESC= flock() usage
GPGME_DESC= Gpgme interface
-GREETING_PATCH_DESC= Greeting support
HCACHE_BDB_DESC= Use Berkeley DB (BDB) (AGPLv3)
HCACHE_DESC= Header Cache support
HCACHE_GDBM_DESC= Use GDBM
@@ -81,20 +68,14 @@ HCACHE_QDBM_DESC= Use QDBM
HCACHE_TOKYOCABINET_DESC= Use Tokyo Cabinet
HTML_DESC= HTML documentation
IDN_DESC= International Domain Names (implies ICONV)
-IFDEF_PATCH_DESC= ifdef feature
-INITIALS_PATCH_DESC= Adds exando '%I' initials of author
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)
-REVERSE_REPLY_PATCH_DESC= Reverse_reply
SASL_CYRUS_DESC= Cyrus SASL Authentication
SASL_GSASL_DESC= GNU SASL Authentication
SASL_NONE_DESC= Disable SASL Authentication
SLANG_DESC= SLANG support
-SMART_DATE_DESC= Dynamic date formatting with "%@"
-SMIME_DESC= SMIME email check option patch
SMTP_DESC= SMTP relay support
URLVIEW_DESC= Use urlview for the URL selector menu
@@ -120,8 +101,6 @@ GPGME_LIB_DEPENDS+= libassuan.so:security/libassuan \
GPGME_CONFIGURE_ENABLE= gpgme
-GREETING_PATCH_PATCHFILES= mutt-${GREETING_PATCH_VERSION}.vc.greeting:vc
-
# Handle GSSAPI from various places
GSSAPI_BASE_USES= gssapi
GSSAPI_BASE_CONFIGURE_ON= ${GSSAPI_CONFIGURE_ARGS} \
@@ -161,22 +140,14 @@ IDN_LIB_DEPENDS= libidn2.so:dns/libidn2 \
libunistring.so:devel/libunistring
IDN_CONFIGURE_WITH= idn2=${LOCALBASE}
-IFDEF_PATCH_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-ifdef
-
-INITIALS_PATCH_PATCHFILES= patch-${VVV_PATCH_VERSION}.vvv.initials.xz:vvv
-
LOCALES_FIX_CONFIGURE_ON= --enable-locales-fix
-MAILDIR_MTIME_PATCH_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-maildir-mtime
-
NCURSES_USES= ncurses
NLS_IMPLIES= ICONV
NLS_USES= gettext
NLS_CONFIGURE_ENABLE= nls
-REVERSE_REPLY_PATCH_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-reverse_reply
-
SASL_CYRUS_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2
SASL_CYRUS_CONFIGURE_WITH= sasl=${LOCALBASE}
SASL_GSASL_LIB_DEPENDS= libgsasl.so:security/libgsasl
@@ -189,26 +160,12 @@ SLANG_LIB_DEPENDS= libslang.so:devel/libslang2
SLANG_CONFIGURE_ON= --with-slang=${LOCALBASE}
SLANG_VARS= PKGMESSAGE+=${FILESDIR}/pkg-message.slang
-SMART_DATE_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-smartdate
-
-SMIME_EXTRA_PATCHES= ${PATCHDIR}/extra-smime-sender
-
SMTP_CONFIGURE_ENABLE= smtp
URLVIEW_RUN_DEPENDS= urlview:textproc/urlview
-.ifnmake portclippy
-.ifmake makesum # for optional distfiles patchfiles
-OPTIONS_OVERRIDE= ${OPTIONS_DEFAULT} ${OPTIONS_DEFINE}
-.MAKEOVERRIDES+= OPTIONS_OVERRIDE
-.endif
-.endif
-
.include <bsd.port.options.mk>
-VVV_PATCH_VERSION= 1.13.0
-GREETING_PATCH_VERSION= 2.2.0
-
post-install:
${INSTALL_MAN} ${FILESDIR}/mailcap.5 ${STAGEDIR}${MANPREFIX}/man/man5
@@ -221,7 +178,7 @@ pre-configure::
@${REINPLACE_CMD} -e 's,?eimdal\*),?eimdal*|\"FreeBSD heimdal\"*),' \
${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
# Install contrib samples to ${EXAMPLESDIR}
- @${REINPLACE_CMD} -e 's#$$(docdir)/samples#${EXAMPLESDIR}#g' \
+ @${REINPLACE_CMD} -e 's,$$(docdir)/samples,${EXAMPLESDIR},g' \
${WRKSRC}/contrib/Makefile.in
# Undo some dist. installed files
diff --git a/mail/mutt/files/extra-patch-ifdef b/mail/mutt/files/extra-patch-ifdef
deleted file mode 100644
index fffca3233f09..000000000000
--- a/mail/mutt/files/extra-patch-ifdef
+++ /dev/null
@@ -1,77 +0,0 @@
---- PATCHES.orig 2023-05-05 18:53:08 UTC
-+++ PATCHES
-@@ -0,0 +1 @@
-+patch-1.5.4.cd.ifdef.1
---- init.c.orig 2023-01-02 04:42:19 UTC
-+++ init.c
-@@ -715,6 +715,52 @@ static mbchar_table *parse_mbchar_table (const char *s
- return t;
- }
-
-+static int parse_ifdef (BUFFER *tmp, BUFFER *s, union pointer_long_t data, BUFFER *err)
-+{
-+ int i, j, res = 0;
-+ BUFFER token;
-+
-+ memset (&token, 0, sizeof (token));
-+ mutt_extract_token (tmp, s, 0);
-+
-+ /* is the item defined as a variable or a function? */
-+ if (!(res = (mutt_option_index (tmp->data) != -1)))
-+ for (i = 0; !res && i < MENU_MAX; i++)
-+ {
-+ const struct menu_func_op_t *b = km_get_table (Menus[i].value);
-+
-+ if (!b)
-+ continue;
-+
-+ for (j = 0; b[j].name; j++)
-+ if (!ascii_strncasecmp (tmp->data, b[j].name, mutt_strlen (tmp->data))
-+ && (mutt_strlen (b[j].name) == mutt_strlen (tmp->data)))
-+ {
-+ res = 1;
-+ break;
-+ }
-+ }
-+
-+ if (!MoreArgs (s))
-+ {
-+ snprintf (err->data, err->dsize, _("ifdef: too few arguments"));
-+ return (-1);
-+ }
-+ mutt_extract_token (tmp, s, MUTT_TOKEN_SPACE);
-+
-+ if (res)
-+ {
-+ if (mutt_parse_rc_buffer (tmp, &token, err) == -1)
-+ {
-+ mutt_error ("Erreur: %s", err->data);
-+ FREE (&token.data);
-+ return (-1);
-+ }
-+ FREE (&token.data);
-+ }
-+ return 0;
-+}
-+
- static int parse_unignore (BUFFER *buf, BUFFER *s, union pointer_long_t udata, BUFFER *err)
- {
- do
---- init.h.orig 2023-03-25 19:50:20 UTC
-+++ init.h
-@@ -4926,6 +4926,7 @@ static int parse_lists (BUFFER *, BUFFER *, union poin
- static int parse_unlists (BUFFER *, BUFFER *, union pointer_long_t, BUFFER *);
- static int parse_alias (BUFFER *, BUFFER *, union pointer_long_t, BUFFER *);
- static int parse_unalias (BUFFER *, BUFFER *, union pointer_long_t, BUFFER *);
-+static int parse_ifdef (BUFFER *, BUFFER *, union pointer_long_t, BUFFER *);
- static int parse_echo (BUFFER *, BUFFER *, union pointer_long_t, BUFFER *);
- static int parse_ignore (BUFFER *, BUFFER *, union pointer_long_t, BUFFER *);
- static int parse_unignore (BUFFER *, BUFFER *, union pointer_long_t, BUFFER *);
-@@ -4993,6 +4994,7 @@ const struct command_t Commands[] = {
- { "hdr_order", parse_list, {.p=&HeaderOrderList} },
- #ifdef HAVE_ICONV
- { "iconv-hook", mutt_parse_hook, {.l=MUTT_ICONVHOOK} },
-+ { "ifdef", parse_ifdef, {.l=0} },
- #endif
- { "ignore", parse_ignore, {.l=0} },
- { "index-format-hook",mutt_parse_idxfmt_hook, {.l=MUTT_IDXFMTHOOK} },
diff --git a/mail/mutt/files/extra-patch-maildir-mtime b/mail/mutt/files/extra-patch-maildir-mtime
deleted file mode 100644
index ca79a416a04c..000000000000
--- a/mail/mutt/files/extra-patch-maildir-mtime
+++ /dev/null
@@ -1,52 +0,0 @@
---- PATCHES.orig 2023-05-05 18:53:08 UTC
-+++ PATCHES
-@@ -0,0 +1 @@
-+patch-1.5.7.ust.maildir-mtime.2
---- browser.c.orig 2023-03-25 19:50:20 UTC
-+++ browser.c
-@@ -32,6 +32,7 @@
- #ifdef USE_IMAP
- #include "imap.h"
- #endif
-+#include "mx.h"
-
- #include <stdlib.h>
- #include <dirent.h>
-@@ -531,6 +532,21 @@ static void init_state (struct browser_state *state, M
- menu->data = state->entry;
- }
-
-+static void check_maildir_times (BUFFY *buf, struct stat *st)
-+{
-+ char buffer[_POSIX_PATH_MAX + SHORT_STRING];
-+ struct stat s;
-+
-+ if(!buf || buf->magic != MUTT_MAILDIR)
-+ return;
-+
-+ snprintf (buffer, sizeof (buffer), "%s/tmp", mutt_b2s(buf->pathbuf));
-+ if (lstat (buffer, &s) != 0)
-+ return;
-+
-+ st->st_mtime = s.st_mtime;
-+}
-+
- static int examine_directory (MUTTMENU *menu, struct browser_state *state,
- const char *d, const char *prefix)
- {
-@@ -597,6 +613,7 @@ static int examine_directory (MUTTMENU *menu, struct b
- tmp = Incoming;
- while (tmp && mutt_strcmp (mutt_b2s (full_path), mutt_b2s (tmp->pathbuf)))
- tmp = tmp->next;
-+ check_maildir_times (tmp, &s);
- if (tmp && Context && !tmp->nopoll &&
- !mutt_strcmp (tmp->realpath, Context->realpath))
- {
-@@ -684,6 +701,7 @@ static int examine_mailboxes (MUTTMENU *menu, struct b
- s.st_mtime = st2.st_mtime;
- }
-
-+ check_maildir_times (tmp, &s);
- add_folder (menu, state, mutt_b2s (mailbox), mutt_b2s (tmp->pathbuf), &s, tmp);
- }
- while ((tmp = tmp->next));
diff --git a/mail/mutt/files/extra-patch-quote b/mail/mutt/files/extra-patch-quote
deleted file mode 100644
index 33dc9010ae03..000000000000
--- a/mail/mutt/files/extra-patch-quote
+++ /dev/null
@@ -1,18 +0,0 @@
---- init.h.orig 2022-09-14 14:12:12 UTC
-+++ init.h
-@@ -3163,13 +3163,13 @@ struct option_t MuttVars[] = {
- ** have no effect, and if it is set to \fIask-yes\fP or \fIask-no\fP, you are
- ** prompted for confirmation when you try to quit.
- */
-- { "quote_empty", DT_BOOL, R_NONE, OPTQUOTEEMPTY, 1 },
-+ { "quote_empty", DT_BOOL, R_NONE, {.l=OPTQUOTEEMPTY}, {.l=1} },
- /*
- ** .pp
- ** Controls whether or not empty lines will be quoted using
- ** ``$indent_string''.
- */
-- { "quote_quoted", DT_BOOL, R_NONE, OPTQUOTEQUOTED, 0 },
-+ { "quote_quoted", DT_BOOL, R_NONE, {.l=OPTQUOTEQUOTED}, {.l=0} },
- /*
- ** .pp
- ** Controls how quoted lines will be quoted. If set, one quote
diff --git a/mail/mutt/files/extra-patch-reverse_reply b/mail/mutt/files/extra-patch-reverse_reply
deleted file mode 100644
index f781b96e31db..000000000000
--- a/mail/mutt/files/extra-patch-reverse_reply
+++ /dev/null
@@ -1,93 +0,0 @@
---- PATCHES.orig 2023-05-05 18:53:09 UTC
-+++ PATCHES
-@@ -0,0 +1 @@
-+patch-1.5.6.cb.reverse_reply.2
---- init.h.orig 2023-05-05 18:53:08 UTC
-+++ init.h
-@@ -3422,6 +3422,13 @@ struct option_t MuttVars[] = {
- ** In either case, a missing real name will be filled in afterwards
- ** using the value of $$realname.
- */
-+ { "reverse_reply", DT_BOOL, R_NONE, {.l=OPTREVREPLY}, {.l=0} },
-+ /*
-+ ** .pp
-+ ** When set, this variable uses the name from your aliases in the To and Cc
-+ ** headers of reply mails you send, like $reverse_alias does in the index.
-+ ** When unset, the headers taken from the original mail are left unchanged.
-+ */
- { "rfc2047_parameters", DT_BOOL, R_NONE, {.l=OPTRFC2047PARAMS}, {.l=1} },
- /*
- ** .pp
---- mutt.h.orig 2023-03-25 19:50:20 UTC
-+++ mutt.h
-@@ -535,6 +535,7 @@ enum
- OPTREVALIAS,
- OPTREVNAME,
- OPTREVREAL,
-+ OPTREVREPLY,
- OPTRFC2047PARAMS,
- OPTSAVEADDRESS,
- OPTSAVEEMPTY,
---- protos.h.orig 2023-03-06 23:17:21 UTC
-+++ protos.h
-@@ -86,6 +86,7 @@ char* mutt_extract_message_id (const char *, const cha
- ADDRESS *mutt_get_address (ENVELOPE *, char **);
- ADDRESS *mutt_lookup_alias (const char *s);
- ADDRESS *mutt_remove_duplicates (ADDRESS *);
-+ADDRESS *mutt_reverse_address (ADDRESS *);
- ADDRESS *mutt_remove_adrlist_group_delimiters (ADDRESS *);
- ADDRESS *mutt_expand_aliases (ADDRESS *);
- ADDRESS *mutt_parse_adrlist (ADDRESS *, const char *);
---- send.c.orig 2023-01-02 04:42:19 UTC
-+++ send.c
-@@ -744,6 +744,10 @@ void mutt_fix_reply_recipients (ENVELOPE *env)
- /* the CC field can get cluttered, especially with lists */
- env->to = mutt_remove_duplicates (env->to);
- env->cc = mutt_remove_duplicates (env->cc);
-+ if (option (OPTREVREPLY)){
-+ env->to = mutt_reverse_address (env->to);
-+ env->cc = mutt_reverse_address (env->cc);
-+ }
- env->cc = mutt_remove_xrefs (env->to, env->cc);
-
- if (env->cc && !env->to)
---- sendlib.c.orig 2023-03-06 23:17:21 UTC
-+++ sendlib.c
-@@ -3117,6 +3117,37 @@ static void set_noconv_flags (BODY *b, short flag)
- }
- }
-
-+/* given a list of addresses, return a list of reverse_alias'ed addresses */
-+ADDRESS *mutt_reverse_address (ADDRESS *addr)
-+{
-+ ADDRESS *top,*tmp,*alias;
-+
-+ if (addr == NULL)
-+ return NULL;
-+
-+ if ((alias = alias_reverse_lookup (addr)) && alias->personal) {
-+ tmp = rfc822_cpy_adr_real(alias);
-+ tmp->next = addr->next;
-+ addr->next = NULL;
-+ rfc822_free_address(&addr);
-+ addr = tmp;
-+ }
-+
-+ for (top = addr; top->next != NULL; top = tmp) {
-+ tmp = top->next;
-+ if ((alias = alias_reverse_lookup (tmp)) && alias->personal) {
-+ top->next = rfc822_cpy_adr_real(alias);
-+ top->next->next = tmp->next;
-+ tmp->next = NULL;
-+ rfc822_free_address(&tmp);
-+ tmp = top->next;
-+ }
-+ }
-+ return addr;
-+}
-+
-+
-+
- int mutt_write_fcc (const char *path, SEND_CONTEXT *sctx, const char *msgid, int post, const char *fcc)
- {
- HEADER *hdr;
diff --git a/mail/mutt/files/extra-patch-smartdate b/mail/mutt/files/extra-patch-smartdate
deleted file mode 100644
index 5279fca8f238..000000000000
--- a/mail/mutt/files/extra-patch-smartdate
+++ /dev/null
@@ -1,126 +0,0 @@
---- hdrline.c.orig 2023-05-05 18:53:08 UTC
-+++ hdrline.c
-@@ -249,6 +249,89 @@ static char *apply_subject_mods (ENVELOPE *env)
- * %Y = `x-label:' field (if present, tree unfolded, and != parent's x-label)
- * %Z = status flags */
-
-+static void
-+format_smartdate( char *buf, size_t max, struct tm *tm, smartdate_type type )
-+{
-+ char *strftime_fmt = NULL;
-+
-+ switch( type ) {
-+ case FUTURE: /* Date in the future */
-+ strftime_fmt = "%d%h%y!";
-+ break;
-+ case SMARTTIME: /* Today */
-+ strftime_fmt = "%I:%M %p";
-+ break;
-+ case YESTERDAY: /* Yesterday */
-+ strncpy( buf, "Yesterday", max );
-+ break;
-+ case WEEKDAY: /* Within the last 7 days */
-+ strftime_fmt = "%A";
-+ break;
-+ case STANDARD: /* Within the last six months */
-+ strftime_fmt = "%h %d";
-+ break;
-+ case ANCIENT: /* Older than 6 months */
-+ strftime_fmt = "%h %Y";
-+ break;
-+ }
-+
-+ if( strftime_fmt != NULL ) {
-+ strftime( buf, max, strftime_fmt, tm );
-+ }
-+}
-+
-+static void
-+smartdate( char *buf, size_t max, struct tm *tm )
-+{
-+ smartdate_type type = 0;
-+
-+ struct tm now;
-+
-+ time_t sse = mktime( tm ); /* Seconds since epoch */
-+ time_t sse_now = time(NULL); /* Seconds since epoch until now */
-+
-+ int dse = 0; /* Days since epoch */
-+ int dse_now = 0; /* Days since epoch until today */
-+
-+ /* Calculate the number of days since epoch */
-+ dse = sse / (60*60*24);
-+ dse_now = sse_now / (60*60*24);
-+
-+ /* Default display type */
-+ type = STANDARD;
-+
-+ /* Check if the date is in the future */
-+ if( dse > dse_now ) {
-+ type = FUTURE;
-+ }
-+ else {
-+ int diff = dse_now - dse;
-+ if( diff == 0 ) type = SMARTTIME;
-+ else if( diff == 1 ) type = YESTERDAY;
-+ else if( diff < 7 ) type = WEEKDAY;
-+ else if( diff > 215 ) type = ANCIENT; /* Surely older than six
-+ months */
-+ else if( diff > 180 ) {
-+ /*
-+ * Slightly heavy calculation to check if the date is more
-+ * than six months in the past. This calculation uses
-+ * calendar months and not the exact number of days. So,
-+ * January 31, 2003 would be considered more than six months
-+ * old whether today's date is August 1 or August 31, 2003
-+ */
-+ int monthdiff;
-+ localtime_r( &sse_now, &now );
-+ monthdiff = ( now.tm_mon - tm->tm_mon )
-+ + ( ( now.tm_year - tm->tm_year ) * 12 );
-+ if( monthdiff > 6 ) {
-+ type = ANCIENT;
-+ }
-+ }
-+ }
-+
-+ format_smartdate( buf, max, tm, type );
-+}
-+
- static const char *
- hdr_format_str (char *dest,
- size_t destlen,
-@@ -422,7 +505,13 @@ hdr_format_str (char *dest,
-
- 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, "");
-
---- mutt.h.orig 2023-05-05 18:53:09 UTC
-+++ mutt.h
-@@ -168,6 +168,16 @@ typedef enum
- MUTT_WRITE_HEADER_MIME
- } mutt_write_header_mode;
-
-+/* 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)
diff --git a/mail/mutt/files/extra-smime-sender b/mail/mutt/files/extra-smime-sender
deleted file mode 100644
index 175dd525aade..000000000000
--- a/mail/mutt/files/extra-smime-sender
+++ /dev/null
@@ -1,39 +0,0 @@
---- commands.c.orig 2023-01-02 04:42:19 UTC
-+++ commands.c
-@@ -302,7 +302,7 @@ int mutt_display_message (HEADER *cur)
- {
- if (cur->security & GOODSIGN)
- {
-- if (!crypt_smime_verify_sender(cur))
-+ if (option(OPTSMIMENOSENDER) || !crypt_smime_verify_sender(cur))
- mutt_message ( _("S/MIME signature successfully verified."));
- else
- mutt_error ( _("S/MIME certificate owner does not match sender."));
---- init.h.orig 2023-05-05 18:53:09 UTC
-+++ init.h
-@@ -3926,6 +3926,15 @@ struct option_t MuttVars[] = {
- ** to determine the key to use. It will ask you to supply a key, if it can't find one.
- ** (S/MIME only)
- */
-+ { "smime_dont_check_sender", DT_BOOL, R_NONE, {.l=OPTSMIMENOSENDER}, {.l=0} },
-+ /*
-+ ** .pp
-+ ** This flag controls wether you want the skip the check for the sender's
-+ ** email address against the email address stored in the certificate.
-+ ** This can be useful if most of your email senders use SMIMEv3 which no
-+ ** longer needs email-addresses as part of the certificates.
-+ ** It is not set by default.
-+ */
- { "smime_self_encrypt_as", DT_SYN, R_NONE, {.p="smime_default_key"}, {.p=0} },
- { "smime_default_key", DT_STR, R_NONE, {.p=&SmimeDefaultKey}, {.p=0} },
- /*
---- mutt.h.orig 2023-05-05 18:53:09 UTC
-+++ mutt.h
-@@ -619,6 +619,7 @@ enum
- OPTSMIMEISDEFAULT,
- OPTSMIMESELFENCRYPT,
- OPTASKCERTLABEL,
-+ OPTSMIMENOSENDER,
- OPTSDEFAULTDECRYPTKEY,
- OPTPGPIGNORESUB,
- OPTPGPCHECKEXIT,
diff --git a/mail/mutt/files/patch-date-conditional b/mail/mutt/files/patch-date-conditional
deleted file mode 100644
index 50ba71f97bd0..000000000000
--- a/mail/mutt/files/patch-date-conditional
+++ /dev/null
@@ -1,97 +0,0 @@
---- PATCHES.orig 2023-05-05 18:53:09 UTC
-+++ PATCHES
-@@ -0,0 +1 @@
-+patch-1.5.0.ats.date_conditional.1
---- hdrline.c.orig 2023-05-05 18:53:09 UTC
-+++ hdrline.c
-@@ -428,6 +428,53 @@ hdr_format_str (char *dest,
- const char *cp;
- struct tm *tm;
- time_t T;
-+ int i = 0, invert = 0;
-+
-+ if (optional && (op == '[' || op == '(')) {
-+ char *is;
-+ T = time(NULL);
-+ T -= (op == '(') ? hdr->received : hdr->date_sent;
-+
-+ is = (char *)prefix;
-+ if( *is == '>' ) {
-+ invert = 1;
-+ ++is;
-+ }
-+
-+ while( *is && *is != '?' ) {
-+ int t = strtol (is, &is, 10);
-+ switch (*(is++)) {
-+ case '?':
-+ break;
-+ case 'y':
-+ t *= 365 * 24 * 60 * 60;
-+ break;
-+ case 'M':
-+ t *= 30 * 24 * 60 * 60;
-+ break;
-+ case 'w':
-+ t *= 7 * 24 * 60 * 60;
-+ break;
-+ case 'd':
-+ t *= 24 * 60 * 60;
-+ break;
-+ case 'h':
-+ t *= 60 * 60;
-+ break;
-+ case 'm':
-+ t *= 60;
-+ break;
-+ }
-+ i += t;
-+ }
-+
-+ if (i < 0)
-+ i *= -1;
-+
-+ if( (T > i || T < -1*i) ^ invert )
-+ optional = 0;
-+ break;
-+ }
-
- p = dest;
-
---- muttlib.c.orig 2023-01-02 04:42:19 UTC
-+++ muttlib.c
-@@ -1701,7 +1701,16 @@ void mutt_FormatString (char *dest, /* output buffer
- if (*src == '?')
- {
- flags |= MUTT_FORMAT_OPTIONAL;
-- src++;
-+ ch = *(++src); /* save the character to switch on */
-+ cp = prefix;
-+ ++src;
-+ count = 0;
-+ while (count < sizeof (prefix) && *src != '?')
-+ {
-+ *cp++ = *src++;
-+ count++;
-+ }
-+ *cp = 0;
- }
- else
- {
-@@ -1717,12 +1726,12 @@ void mutt_FormatString (char *dest, /* output buffer
- count++;
- }
- *cp = 0;
-- }
-
-- if (!*src)
-- break; /* bad format */
-+ if (!*src)
-+ break; /* bad format */
-
-- ch = *src++; /* save the character to switch on */
-+ ch = *src++; /* save the character to switch on */
-+ }
-
- if (flags & MUTT_FORMAT_OPTIONAL)
- {
diff --git a/mail/mutt/files/patch-dgc-deepif b/mail/mutt/files/patch-dgc-deepif
deleted file mode 100644
index 91a7673908e3..000000000000
--- a/mail/mutt/files/patch-dgc-deepif
+++ /dev/null
@@ -1,30 +0,0 @@
---- muttlib.c.orig 2023-05-05 18:53:09 UTC
-+++ muttlib.c
-@@ -1744,6 +1744,12 @@ void mutt_FormatString (char *dest, /* output buffer
- count = 0;
- while (count < sizeof (ifstring) && *src && *src != '?' && *src != '&')
- {
-+ if (*src == '\\')
-+ {
-+ src++;
-+ if (!*src)
-+ break;
-+ }
- *cp++ = *src++;
- count++;
- }
-@@ -1756,7 +1762,13 @@ void mutt_FormatString (char *dest, /* output buffer
- count = 0;
- while (count < sizeof (elsestring) && *src && *src != '?')
- {
-- *cp++ = *src++;
-+ if (*src == '\\')
-+ {
-+ src++;
-+ if (!*src)
-+ break;
-+ }
-+ *cp++ = *src++;
- count++;
- }
- *cp = 0;
diff --git a/mail/mutt/pkg-message b/mail/mutt/pkg-message
deleted file mode 100644
index 9376d168a883..000000000000
--- a/mail/mutt/pkg-message
+++ /dev/null
@@ -1,18 +0,0 @@
-[
-{ type: install
- message: <<EOM
-The patches included in the mail/mutt port will be removed in approximately a
-month making the port more inline with upstream. If you require any of these
-features most are available in mail/neomutt or it's possible to use
-EXTRA_PATCH_TREE to patch a port when building locally.
-EOM
-}
-{ type: upgrade
- message: <<EOM
-The patches included in the mail/mutt port will be removed in approximately a
-month making the port more inline with upstream. If you require any of these
-features most are available in mail/neomutt or it's possible to use
-EXTRA_PATCH_TREE to patch a port when building locally.
-EOM
-}
-]