Download raw body.
Update mail/mutt-wizard to latest upstream commit
Hello,
Please find attached a patch that updates the mail/mutt-wizard port
from the v3.3.1 release to the latest upstream commit:
b4a28b2548e94c167bb74fcb5e8c44c34d2be842
Upstream has not published a new tagged release since v3.3.1, so the
port now follows the current upstream commit instead.
The changes since v3.3.1 can be reviewed at:
https://github.com/LukeSmithxyz/mutt-wizard/compare/v3.3.1...b4a28b2548e94c167bb74fcb5e8c44c34d2be842
There have been a number of useful improvements since the last release.
These include support for goimapnotify push notifications, basic Zsh
completion, improved XDG directory handling, and moving the msmtp log
to XDG_STATE_HOME.
Mail synchronization and notifications have also received several
fixes. These include more reliable display detection, fixes for
notify-send and multiline subjects, better handling of synchronization
errors, and avoiding mailsync attempts with a locked GPG key in
non-interactive sessions.
Account configuration has also been improved. Upstream now avoids
prompting for a password when one is already stored, pipes passwords
directly to pass, has more robust mbsync version detection, and fixes
several problems in account setup and command-line option handling.
There are also improvements to the notmuch integration, including
correct XDG_CACHE_HOME handling and escaping of message IDs, as well as
support for LMDB when available.
More recent changes improve portability by replacing non-portable
command usage with POSIX-compatible alternatives, allow PREFIX to be
set by the user, fix goimapnotify configuration and directory creation,
and improve general error handling.
For the OpenBSD port, I also removed the sysutils/ggrep dependency.
The only remaining GNU grep-specific expression used "\S", which is
replaced by the equivalent POSIX "[^[:space:]]" expression, allowing
the base system grep to be used instead.
I refreshed the existing OpenBSD-specific patches for the new upstream
code while preserving the account switching, account deletion, dynamic
mailbox loading, GPG WKS, pgrep, and sed compatibility adjustments.
Finally, I updated the package list for the new upstream configuration
templates and Zsh completion file and regenerated distinfo for the
selected commit.
Thank you for your time and consideration.
Best regards,
David.
Index: mail/mutt-wizard/Makefile
===================================================================
RCS file: /cvs/ports/mail/mutt-wizard/Makefile,v
diff -u -p -u -p -r1.10 Makefile
--- mail/mutt-wizard/Makefile 24 Feb 2023 22:14:17 -0000 1.10
+++ mail/mutt-wizard/Makefile 9 Aug 2026 14:51:27 -0000
@@ -3,10 +3,8 @@ CATEGORIES = mail
GH_ACCOUNT = LukeSmithxyz
GH_PROJECT = mutt-wizard
-GH_TAGNAME = v3.3.1
-
-EPOCH = 0
-REVISION = 0
+GH_COMMIT = b4a28b2548e94c167bb74fcb5e8c44c34d2be842
+DISTNAME = mutt-wizard-3.3.2
MAINTAINER = Aisha Tammy <aisha@openbsd.org>
@@ -16,17 +14,12 @@ PERMIT_PACKAGE = Yes
RUN_DEPENDS = mail/neomutt,gpgme,sasl,notmuch \
mail/isync \
mail/msmtp \
- security/password-store \
- sysutils/ggrep
+ security/password-store
NO_BUILD = Yes
NO_TEST = Yes
USE_GMAKE = Yes
FAKE_FLAGS = PREFIX=${TRUEPREFIX} MANPREFIX=${PREFIX}/man
-
-post-extract:
- cd ${WRKSRC} && \
- sed -e "s/\<grep\>/ggrep/g" -i bin/mw
.include <bsd.port.mk>
Index: mail/mutt-wizard/distinfo
===================================================================
RCS file: /cvs/ports/mail/mutt-wizard/distinfo,v
diff -u -p -u -p -r1.8 distinfo
--- mail/mutt-wizard/distinfo 13 May 2022 14:49:56 -0000 1.8
+++ mail/mutt-wizard/distinfo 9 Aug 2026 14:51:27 -0000
@@ -1,2 +1,2 @@
-SHA256 (mutt-wizard-3.3.1.tar.gz) = QJH7oFN4bUFDJJ5h3939Z5wV9WHsNK8X8TCjyoDDm1M=
-SIZE (mutt-wizard-3.3.1.tar.gz) = 34813
+SHA256 (mutt-wizard-3.3.2-b4a28b25.tar.gz) = vzo20h3NU9AazgpH+wlDGKHczZjvmXTAKUEH0TtIRac=
+SIZE (mutt-wizard-3.3.2-b4a28b25.tar.gz) = 37434
Index: mail/mutt-wizard/patches/patch-bin_mailsync
===================================================================
RCS file: /cvs/ports/mail/mutt-wizard/patches/patch-bin_mailsync,v
diff -u -p -u -p -r1.3 patch-bin_mailsync
--- mail/mutt-wizard/patches/patch-bin_mailsync 13 May 2022 14:49:56 -0000 1.3
+++ mail/mutt-wizard/patches/patch-bin_mailsync 9 Aug 2026 14:51:27 -0000
@@ -1,12 +1,16 @@
+$OpenBSD$
+
+OpenBSD pgrep does not support -ax, use -x instead
+
Index: bin/mailsync
--- bin/mailsync.orig
+++ bin/mailsync
-@@ -42,7 +42,7 @@ case "$(uname)" in
- *systemd*|*openrc*) export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u)/bus ;;
- esac
- # remember if a display server is running since `ps` doesn't always contain a display
-- pgrepoutput="$(pgrep -a X\(org\|wayland\))"
-+ pgrepoutput="$(pgrep X\(org\|wayland\))"
- displays="$(echo "$pgrepoutput" | grep -wo "[0-9]*:[0-9]\+" | sort -u)"
- notify() { [ -n "$pgrepoutput" ] && for x in ${displays:-0:}; do
- export DISPLAY=$x
+@@ -42,7 +42,7 @@
+ *systemd*|*openrc*) export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u)/bus ;;
+ esac
+ # remember if a display server is running since `ps` doesn't always contain a display
+- pgrepoutput="$(pgrep -ax X\(\|org\|wayland\))"
++ pgrepoutput="$(pgrep X\(\|org\|wayland\))"
+ displays="$(echo "$pgrepoutput" | grep -wo "[0-9]*:[0-9]\+" | sort -u)"
+ [ -z "$displays" ] && [ -d /tmp/.X11-unix ] && displays=$(cd /tmp/.X11-unix && for x in X*; do echo ":${x#X}"; done)
+
Index: mail/mutt-wizard/patches/patch-bin_mw
===================================================================
RCS file: /cvs/ports/mail/mutt-wizard/patches/patch-bin_mw,v
diff -u -p -u -p -r1.2 patch-bin_mw
--- mail/mutt-wizard/patches/patch-bin_mw 11 Mar 2022 19:34:43 -0000 1.2
+++ mail/mutt-wizard/patches/patch-bin_mw 9 Aug 2026 14:51:27 -0000
@@ -1,31 +1,55 @@
+$OpenBSD$
+
fix account number switch macro
fix account deletion
publish gpg using gpg-wks protocol
dynamically load mailboxes
+replace GNU grep \S with POSIX [^[:space:]]
Index: bin/mw
--- bin/mw.orig
+++ bin/mw
-@@ -173,7 +173,7 @@ delete() { if [ -z "${fulladdr+x}" ]; then
+@@ -64,7 +64,7 @@
+ }
+ }
+
+-getaccounts() { accounts="$(find -L "$accdir" -type f 2>/dev/null | grep -o "\S*.muttrc" | sed "s|.*/\([0-9]-\)*||;s/\.muttrc$//" | nl)"; }
++getaccounts() { accounts="$(find -L "$accdir" -type f 2>/dev/null | grep -o "[^[:space:]]*.muttrc" | sed "s|.*/\([0-9]-\)*||;s/\.muttrc$//" | nl)"; }
+
+ list() { getaccounts && [ -n "$accounts" ] && echo "$accounts" || exit 1; }
- sed -ibu "/IMAPStore $fulladdr-remote$/,/# End profile/d" "$mbsyncrc" 2>/dev/null ; rm -f "$mbsyncrc"bu
- rm -rf "${cachedir:?}/${fulladdr:?}" "$accdir/$fulladdr.muttrc" "$accdir/"[0-9]-"$fulladdr.muttrc"
-- sed -ibu "/\([0-9]-\)\?$fulladdr.muttrc/d" "$muttrc" 2>/dev/null; rm -f "$muttrc"bu
-+ sed -ibu "/macro.*i[0-9].*$fulladdr.muttrc/d" "$muttrc" 2>/dev/null; rm -f "$muttrc"bu
- sed -ibu "/account $fulladdr$/,/^\(\s*$\|account\)/d" "$msmtprc" 2>/dev/null; rm -f "$msmtprc"bu
- sed -ibu "/account $fulladdr$/,/^\(\s*$\|account\)/d" "$mpoprc" 2>/dev/null; rm -f "$mpoprc"bu
- pass rm -f "$fulladdr" >/dev/null 2>&1
-@@ -224,11 +224,11 @@ getboxes() { if [ -n "${force+x}" ] ; then
- mailboxes="$(echo "$info" | ggrep -v HasChildren | sed "s/.*\" //;s/\"//g" | tr -d '\r')"
+@@ -152,7 +152,7 @@
+ sed -ibu "/IMAPStore $fulladdr-remote$/,/# End profile/d" "$mbsyncrc" 2>/dev/null
+ rm -f "$mbsyncrc"bu
+ rm -rf "${cachedir:?}/${fulladdr:?}" "$accdir/$fulladdr.muttrc" "$accdir/"[0-9]-"$fulladdr.muttrc"
+- sed -ibu "/\([0-9]-\)\?$fulladdr.muttrc/d" "$muttrc" 2>/dev/null
++ sed -ibu "/macro.*i[0-9].*$fulladdr.muttrc/d" "$muttrc" 2>/dev/null
+ rm -f "$muttrc"bu
+ sed -ibu "/account $fulladdr$/,/^\(\s*$\|account\)/d" "$msmtprc" 2>/dev/null
+ rm -f "$msmtprc"bu
+@@ -225,14 +225,11 @@
+ mailboxes="$(echo "$info" | grep -v HasChildren | sed "s/.*\" //;s/\"//g" | tr -d '\r')"
fi
[ "$type" = "pop" ] && mailboxes="INBOX"
-- for x in $(sed -n "/^macro.* i[0-9] / s/\(^macro.* i\| .*\)//gp " "$muttrc" | sort -u; echo 0); do
-+ for x in $(ggrep -Eo "^macro.* i[0-9] " "$muttrc" | sed "s/^macro.* i//g" | sort -u; echo 0); do
+- for x in $(
+- sed -n "/^macro.* i[0-9] / s/\(^macro.* i\| .*\)//gp " "$muttrc" 2>/dev/null | sort -u
+- echo 0
+- ); do
++ for x in $(grep -Eo "^macro.* i[0-9] " "$muttrc" | sed "s/^macro.* i//g" | sort -u; echo 0); do
idnum=$((idnum + 1))
[ "$idnum" -eq "$x" ] || break
done
-- toappend="mailboxes $(echo "$mailboxes" | sed "s/^/\"=/;s/$/\"/" | paste -sd ' ' - )"
+- toappend="mailboxes $(echo "$mailboxes" | sed "s/^/\"=/;s/$/\"/;s/'/\\\'/g" | paste -sd ' ' -)"
+ toappend="mailboxes \`mdir=$maildir/$fulladdr/; find \$mdir -mindepth 1 -type d -name cur | sed -e 's:/cur\$:\":' -e \"s:\$mdir:\\\"=:\" | sort | tr '\\\n' ' '\`"
}
- finalize() { echo "$toappend" >> "$accdir/$fulladdr.muttrc"
+ finalize() {
+@@ -318,7 +315,7 @@
+ / i[0-9] / s?\(.* i\|'<sync.*/\|\.muttrc.*\)??g p
+ " "$muttrc" >>"$tempfile"
+ ${EDITOR:-vim} "$tempfile" || exit 1
+- sed -i -e 's/#.*//' -e '/^$/d' "$tempfile"
++ sed -i '' -e 's/#.*//' -e '/^$/d' "$tempfile"
+ default="$(sort -n "$tempfile" | head -n 1)"
+ default="${default#* }"
+ sed -ibu "
Index: mail/mutt-wizard/patches/patch-share_mutt-wizard_muttrc
===================================================================
RCS file: /cvs/ports/mail/mutt-wizard/patches/patch-share_mutt-wizard_muttrc,v
diff -u -p -u -p -r1.1 patch-share_mutt-wizard_muttrc
--- mail/mutt-wizard/patches/patch-share_mutt-wizard_muttrc 13 May 2022 14:49:56 -0000 1.1
+++ mail/mutt-wizard/patches/patch-share_mutt-wizard_muttrc 9 Aug 2026 14:51:27 -0000
@@ -1,9 +1,11 @@
+$OpenBSD$
+
add ctrl-l for open, as default ctrl-o is set to discard in shell
Index: share/mutt-wizard.muttrc
--- share/mutt-wizard.muttrc.orig
+++ share/mutt-wizard.muttrc
-@@ -109,6 +109,7 @@ set sidebar_format = '%D%?F? [%F]?%* %?N?%N/? %?S?%S?'
+@@ -114,6 +114,7 @@
bind index,pager \Ck sidebar-prev
bind index,pager \Cj sidebar-next
bind index,pager \Co sidebar-open
Index: mail/mutt-wizard/pkg/PLIST
===================================================================
RCS file: /cvs/ports/mail/mutt-wizard/pkg/PLIST,v
diff -u -p -u -p -r1.5 PLIST
--- mail/mutt-wizard/pkg/PLIST 13 May 2022 14:49:56 -0000 1.5
+++ mail/mutt-wizard/pkg/PLIST 9 Aug 2026 14:51:27 -0000
@@ -6,6 +6,14 @@ lib/mutt-wizard/openfile
@man man/man1/mw.1
share/mutt-wizard/
share/mutt-wizard/domains.csv
+share/mutt-wizard/imapnotify-temp
share/mutt-wizard/mailcap
+share/mutt-wizard/mbsync-temp
+share/mutt-wizard/mpop-temp
+share/mutt-wizard/msmtp-temp
+share/mutt-wizard/mutt-temp
share/mutt-wizard/mutt-wizard.muttrc
+share/mutt-wizard/notmuch-temp
+share/mutt-wizard/online-temp
share/mutt-wizard/switch.muttrc
+share/zsh/site-functions/_mutt-wizard.zsh
Update mail/mutt-wizard to latest upstream commit