Hi, I've attached an update of mutt-wizard to latest commit. Along with that, I've added openbsd specific patches for account ordering and mailbox loading.
Another addition is to add gpg-wks functions. That part of the patch has been sent upstream. Things I've checked to work: - adding multiple accounts - switching accounts - mail searching using notmuch - publishing keys to wkd Cheers, Aisha diff --git a/mail/mutt-wizard/Makefile b/mail/mutt-wizard/Makefile index 531c01d268b..2e18298200c 100644 --- a/mail/mutt-wizard/Makefile +++ b/mail/mutt-wizard/Makefile @@ -2,11 +2,11 @@ COMMENT = neomutt and isync configuration with good defaults CATEGORIES = mail -DISTNAME = mutt-wizard-3.2.1.20211006 +DISTNAME = mutt-wizard-3.2.1.20211101 GH_ACCOUNT = LukeSmithxyz GH_PROJECT = mutt-wizard -GH_COMMIT = 85c5d01dcd09058094a8a180c38751e88416b1f4 +GH_COMMIT = e6087481ad26e7a328a11d9537dcce18982bbc5e EPOCH = 0 @@ -27,7 +27,7 @@ USE_GMAKE = Yes FAKE_FLAGS = PREFIX=${TRUEPREFIX} MANPREFIX=${PREFIX}/man -post-patch: +post-extract: cd ${WRKSRC} && \ sed -e "s/\<grep\>/ggrep/g" -i bin/mw diff --git a/mail/mutt-wizard/distinfo b/mail/mutt-wizard/distinfo index f69e69329eb..ad45b93ada1 100644 --- a/mail/mutt-wizard/distinfo +++ b/mail/mutt-wizard/distinfo @@ -1,2 +1,2 @@ -SHA256 (mutt-wizard-3.2.1.20211006-85c5d01d.tar.gz) = NzpGCHDzOL48MRwgueOaZmMCW3eSWHmpSYIZSjcdUIA= -SIZE (mutt-wizard-3.2.1.20211006-85c5d01d.tar.gz) = 34101 +SHA256 (mutt-wizard-3.2.1.20211101-e6087481.tar.gz) = 2uqXKp9WtNpYOG8LaoOxft3/fUJmp7gP9lH6+x489Bs= +SIZE (mutt-wizard-3.2.1.20211101-e6087481.tar.gz) = 34067 diff --git a/mail/mutt-wizard/patches/patch-bin_mailsync b/mail/mutt-wizard/patches/patch-bin_mailsync new file mode 100644 index 00000000000..0c9028919cb --- /dev/null +++ b/mail/mutt-wizard/patches/patch-bin_mailsync @@ -0,0 +1,14 @@ +$OpenBSD$ + +Index: bin/mailsync +--- bin/mailsync.orig ++++ bin/mailsync +@@ -39,7 +39,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 diff --git a/mail/mutt-wizard/patches/patch-bin_mw b/mail/mutt-wizard/patches/patch-bin_mw new file mode 100644 index 00000000000..4bef544482e --- /dev/null +++ b/mail/mutt-wizard/patches/patch-bin_mw @@ -0,0 +1,42 @@ +$OpenBSD$ + +fix account number switch macro +fix account deletion +publish gpg using gpg-wks protocol +dynamically load mailboxes + +Index: bin/mw +--- bin/mw.orig ++++ bin/mw +@@ -108,6 +108,8 @@ set trash = "+Trash" + set record = "+Sent" + $extra + $synccmd ++macro index \eg \"<enter-command>unset wait_key<enter><shell-escape>gpg --list-secret-keys; printf 'Enter email ID of user to publish: '; read eID; printf 'Enter fingerprint of GPG key to publish: '; read eFGPT; $prefix/libexec/gpg-wks-client --create \\\$eFGPT \\\$eID | msmtp --read-envelope-from --read-recipients -a $fulladdr<enter>\" \"publish GPG key to WKS provider\" ++macro index \eh \"<pipe-message>$prefix/libexec/gpg-wks-client --receive | msmtp --read-envelope-from --read-recipients -a $fulladdr<enter>\" \"confirm GPG publication\" + " > "$accdir/$fulladdr.muttrc" + + [ ! -f "$muttrc" ] && echo "# vim: filetype=neomuttrc" > "$muttrc" +@@ -171,7 +173,7 @@ delete() { if [ -z "${fulladdr+x}" ]; then + + 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 +@@ -222,11 +224,11 @@ getboxes() { if [ -n "${force+x}" ] ; then + mailboxes="$(echo "$info" | ggrep -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 $(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 \`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" diff --git a/mail/mutt-wizard/patches/patch-bin_mw.orig b/mail/mutt-wizard/patches/patch-bin_mw.orig new file mode 100644 index 00000000000..510f2a312c8 --- /dev/null +++ b/mail/mutt-wizard/patches/patch-bin_mw.orig @@ -0,0 +1,32 @@ +$OpenBSD$ + +fix account number ordering +fix account deletion +dynamically load mailboxes + +Index: bin/mw +--- bin/mw.orig ++++ bin/mw +@@ -171,7 +171,7 @@ delete() { if [ -z "${fulladdr+x}" ]; then + + 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 +@@ -222,11 +222,11 @@ getboxes() { if [ -n "${force+x}" ] ; then + mailboxes="$(echo "$info" | ggrep -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 $(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 \`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"