import ports/mail/neomutt, ok stsp@

This is the neomutt.org patched version of Mutt, currently based on 1.7.1,
and includes maintained versions of various third-party patches (sidebar,
compressed folders, etc).
This commit is contained in:
sthen 2016-10-18 10:47:15 +00:00
parent 3ec84cb8cf
commit 90c25b3601
7 changed files with 344 additions and 0 deletions

101
mail/neomutt/Makefile Normal file
View File

@ -0,0 +1,101 @@
# $OpenBSD: Makefile,v 1.1.1.1 2016/10/18 10:47:15 sthen Exp $
COMMENT= tty-based e-mail client, Mutt with patches
V= 20161014
DISTNAME= neomutt-$V
CATEGORIES= mail
HOMEPAGE= http://www.neomutt.org/
MAINTAINER= Stuart Henderson <sthen@openbsd.org>
# GPLv2+
PERMIT_PACKAGE_CDROM= Yes
# uses pledge()
WANTLIB+= c crypto iconv idn intl ncurses ssl z
MASTER_SITES= https://github.com/neomutt/neomutt/releases/download/neomutt-$V/
LIB_DEPENDS+= devel/gettext \
devel/libidn
BUILD_DEPENDS+= textproc/docbook-xsl \
www/lynx
FLAVORS= gpgme sasl
FLAVOR?=
FLAVOR_COMMA= ${FLAVOR_EXT:S/-/,/g}
SUBST_VARS= FLAVOR_COMMA
CONFIGURE_ARGS+= --enable-compressed \
--enable-external_dotlock \
--disable-fcntl \
--enable-flock \
--enable-hcache \
--enable-imap \
--enable-nntp \
--disable-notmuch \
--enable-pop \
--enable-sidebar \
--enable-smtp \
--mandir=${PREFIX}/man \
--with-curses \
--with-docdir="${PREFIX}/share/doc/mutt" \
--without-tokyocabinet \
--without-gdbm \
--with-idn \
--with-ssl
CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
LDFLAGS="-L${LOCALBASE}/lib" \
ISPELL="${LOCALBASE}/bin/ispell"
SYSCONFDIR= ${BASESYSCONFDIR}/mutt
FAKE_FLAGS= sysconfdir="${PREFIX}/share/examples/mutt"
DEBUG+= -g
#CONFIGURE_ARGS+= --enable-debug
.if ${FLAVOR:Mgpgme}
CONFIGURE_ARGS+= --enable-gpgme
LIB_DEPENDS+= security/gpgme
WANTLIB+= assuan gpg-error gpgme
.endif
.if ${FLAVOR:Msasl}
CONFIGURE_ARGS+= --with-sasl=${LOCALBASE}
LIB_DEPENDS+= security/cyrus-sasl2
WANTLIB+= sasl2
.endif
.include <bsd.port.arch.mk>
.if ${ARCH} == arm || ${ARCH} == hppa || ${ARCH} == powerpc
LIB_DEPENDS+= databases/qdbm
WANTLIB+= qdbm
CONFIGURE_ARGS+= --without-kyotocabinet \
--with-qdbm
.else
LIB_DEPENDS+= databases/kyotocabinet
WANTLIB+= kyotocabinet pthread
CONFIGURE_ARGS+= --with-kyotocabinet \
--without-qdbm
.endif
post-install:
@mv -f ${PREFIX}/share/doc/mutt/samples/* ${PREFIX}/share/examples/mutt
@perl -pi -e "s,/usr/bin/gpg,${LOCALBASE}/bin/gpg," \
${PREFIX}/share/examples/mutt/gpg.rc
## non-tarball
AUTOCONF_VERSION= 2.69
AUTOMAKE_VERSION= 1.15
CONFIGURE_STYLE= autoconf
BUILD_DEPENDS+= ${MODGNU_AUTOCONF_DEPENDS} \
${MODGNU_AUTOMAKE_DEPENDS}
post-patch:
cd ${WRKSRC}; AUTOCONF_VERSION=${AUTOCONF_VERSION} \
AUTOMAKE_VERSION=${AUTOMAKE_VERSION} autoreconf --install
.include <bsd.port.mk>

2
mail/neomutt/distinfo Normal file
View File

@ -0,0 +1,2 @@
SHA256 (neomutt-20161014.tar.gz) = vWyGPVQmpsP6dZ7Zlx9h8vG+IcIZ1QimULuy1F5583s=
SIZE (neomutt-20161014.tar.gz) = 4428504

View File

@ -0,0 +1,37 @@
$OpenBSD: patch-main_c,v 1.1.1.1 2016/10/18 10:47:15 sthen Exp $
Pledge
--- main.c.orig Thu Sep 15 15:45:23 2016
+++ main.c Sun Sep 18 19:51:26 2016
@@ -380,6 +380,30 @@ int main (int argc, char **argv)
}
}
+#ifdef USE_SASL
+ {
+ int ret;
+ if ((ret = mutt_sasl_start()) != SASL_OK) {
+ fprintf(stderr, "%s: mutt_sasl_start: %d\n", argv[0], ret);
+ exit(1);
+ }
+ }
+#endif
+
+#ifdef CRYPT_BACKEND_GPGME
+ if (pledge("stdio rpath wpath cpath flock fattr getpw tty inet dns "
+ "proc exec sendfd recvfd", NULL) == -1) {
+ fprintf(stderr, "%s: pledge: %s\n", argv[0], strerror(errno));
+ exit(1);
+ }
+#else
+ if (pledge("stdio rpath wpath cpath flock fattr getpw tty inet dns "
+ "proc exec", NULL) == -1) {
+ fprintf(stderr, "%s: pledge: %s\n", argv[0], strerror(errno));
+ exit(1);
+ }
+#endif /* CRYPT_BACKEND_GPGME */
+
/* collapse remaining argv */
while (optind < argc)
argv[nargc++] = argv[optind++];

View File

@ -0,0 +1,14 @@
$OpenBSD: patch-mutt_sasl_c,v 1.1.1.1 2016/10/18 10:47:15 sthen Exp $
Pledge
--- mutt_sasl.c.orig Fri Aug 26 23:53:14 2016
+++ mutt_sasl.c Thu Sep 1 18:11:34 2016
@@ -86,7 +86,6 @@ static sasl_callback_t mutt_sasl_callbacks[5];
static sasl_secret_t *secret_ptr = NULL;
-static int mutt_sasl_start (void);
/* callbacks */
static int mutt_sasl_cb_log (void* context, int priority, const char* message);

View File

@ -0,0 +1,14 @@
$OpenBSD: patch-mutt_sasl_h,v 1.1.1.1 2016/10/18 10:47:15 sthen Exp $
Pledge
--- mutt_sasl.h.orig Sun Jan 17 05:20:10 2016
+++ mutt_sasl.h Sun Jan 17 05:19:32 2016
@@ -25,6 +25,7 @@
#include "mutt_socket.h"
+int mutt_sasl_start (void);
int mutt_sasl_client_new (CONNECTION*, sasl_conn_t**);
sasl_callback_t* mutt_sasl_get_callbacks (ACCOUNT*);
int mutt_sasl_interact (sasl_interact_t*);

16
mail/neomutt/pkg/DESCR Normal file
View File

@ -0,0 +1,16 @@
Mutt is a small but very powerful text-based mail client for Unix-like
operating systems. Features include support for multiple mailbox formats
(including IMAP, POP3, mbox, MMDF, MH, Maildir), MIME/RFC2047, message
threading, encryption and signing with PGP/GPG and S/MIME, and many
operations can use regular expressions. It's highly customizable with
many options for colours, key bindings, display formats etc.
NeoMutt tracks mainstream Mutt release, but adds extra functionality
previously available through separate patchsets. Bug reports should go
to NeoMutt and not Mutt upstream.
Flavors:
gpgme - build with support for GPGME, simplifying use with GnuPG:
"set crypt_use_gpgme = yes" in muttrc, and run gpg-agent:
"export GPG_TTY=$(tty); eval $(gpg-agent --daemon)"
sasl - build with SASL authentication support

160
mail/neomutt/pkg/PLIST Normal file
View File

@ -0,0 +1,160 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2016/10/18 10:47:15 sthen Exp $
@conflict mutt-*
@bin bin/mutt
@bin bin/mutt_dotlock
@bin bin/pgpewrap
@bin bin/pgpring
bin/smime_keys
@man man/man1/mutt.1
@man man/man1/mutt_dotlock.1
@man man/man1/pgpewrap.1
@man man/man1/pgpring.1
@man man/man1/smime_keys.1
@man man/man5/mbox.5
@man man/man5/mmdf.5
@man man/man5/muttrc.5
share/doc/mutt/
share/doc/mutt/COPYRIGHT
share/doc/mutt/ChangeLog
share/doc/mutt/ChangeLog.neomutt
share/doc/mutt/INSTALL
share/doc/mutt/LICENSE.md
share/doc/mutt/NEWS
share/doc/mutt/PGP-Notes.txt
share/doc/mutt/README
share/doc/mutt/README.SECURITY
share/doc/mutt/README.SSL
share/doc/mutt/README.neomutt
share/doc/mutt/README.notmuch
share/doc/mutt/TODO
share/doc/mutt/advancedusage.html
share/doc/mutt/applying-patches.txt
share/doc/mutt/configuration.html
share/doc/mutt/devel-notes.txt
share/doc/mutt/gettingstarted.html
share/doc/mutt/index.html
share/doc/mutt/intro.html
share/doc/mutt/keybase/
share/doc/mutt/keybase/LICENSE
share/doc/mutt/keybase/README.md
share/doc/mutt/keybase/attachmentView.png
share/doc/mutt/keybase/decrypt.sh
share/doc/mutt/keybase/install.sh
share/doc/mutt/keybase/keybase.py
share/doc/mutt/keybase/muttrc
share/doc/mutt/keybase/pagerMode.png
share/doc/mutt/keybase/pgpdecrypt.sh
share/doc/mutt/keybase/pgpverify.sh
share/doc/mutt/keybase/verify.sh
share/doc/mutt/manual.html
share/doc/mutt/manual.txt
share/doc/mutt/mimesupport.html
share/doc/mutt/miscellany.html
share/doc/mutt/muttrc.attach-headers-color
share/doc/mutt/muttrc.compress
share/doc/mutt/muttrc.cond-date
share/doc/mutt/muttrc.encrypt-to-self
share/doc/mutt/muttrc.forgotten-attachment
share/doc/mutt/muttrc.ifdef
share/doc/mutt/muttrc.index-color
share/doc/mutt/muttrc.initials
share/doc/mutt/muttrc.keywords
share/doc/mutt/muttrc.limit-current-thread
share/doc/mutt/muttrc.nested-if
share/doc/mutt/muttrc.new-mail
share/doc/mutt/muttrc.nntp
share/doc/mutt/muttrc.notmuch
share/doc/mutt/muttrc.progress
share/doc/mutt/muttrc.quasi-delete
share/doc/mutt/muttrc.reply-with-xorig
share/doc/mutt/muttrc.sidebar
share/doc/mutt/muttrc.skip-quoted
share/doc/mutt/muttrc.status-color
share/doc/mutt/muttrc.timeout
share/doc/mutt/neomutt-syntax.vim
share/doc/mutt/optionalfeatures.html
share/doc/mutt/patch-notes.txt
share/doc/mutt/reference.html
share/doc/mutt/samples/
share/doc/mutt/security.html
share/doc/mutt/smime-notes.txt
share/doc/mutt/tuning.html
share/doc/mutt/vim-keybindings/
share/doc/mutt/vim-keybindings/README.md
share/doc/mutt/vim-keybindings/vim-keybindings.rc
share/examples/mutt/
@sample ${SYSCONFDIR}/
share/examples/mutt/Mush.rc
@comment share/examples/mutt/Muttrc
share/examples/mutt/Muttrc.dist
@sample ${SYSCONFDIR}/Muttrc
share/examples/mutt/Pine.rc
share/examples/mutt/Tin.rc
share/examples/mutt/ca-bundle.crt
share/examples/mutt/colors.default
share/examples/mutt/colors.linux
share/examples/mutt/gpg.rc
share/examples/mutt/iconv/
share/examples/mutt/iconv/iconv.aix-3.2.5.rc
share/examples/mutt/iconv/iconv.aix-4.1.5.rc
share/examples/mutt/iconv/iconv.aix-4.2.0.rc
share/examples/mutt/iconv/iconv.aix-4.3.2.rc
share/examples/mutt/iconv/iconv.freebsd-3.3.rc
share/examples/mutt/iconv/iconv.glibc-2.1.3.rc
share/examples/mutt/iconv/iconv.glibc-2.1.90.rc
share/examples/mutt/iconv/iconv.hpux-10.01.rc
share/examples/mutt/iconv/iconv.hpux-10.20.rc
share/examples/mutt/iconv/iconv.hpux-11.00.rc
share/examples/mutt/iconv/iconv.irix-6.5.rc
share/examples/mutt/iconv/iconv.osf1-4.0a.rc
share/examples/mutt/iconv/iconv.osf1-4.0d.rc
share/examples/mutt/iconv/iconv.solaris-2.4.rc
share/examples/mutt/iconv/iconv.solaris-2.5.1.rc
share/examples/mutt/iconv/iconv.solaris-2.6-cjk.rc
share/examples/mutt/iconv/iconv.solaris-2.6.rc
share/examples/mutt/iconv/iconv.solaris-2.7.rc
@comment share/examples/mutt/mime.types
share/examples/mutt/mime.types.dist
@sample ${SYSCONFDIR}/mime.types
share/examples/mutt/mutt_xtitle
share/examples/mutt/pgp2.rc
share/examples/mutt/pgp5.rc
share/examples/mutt/pgp6.rc
share/examples/mutt/sample.mailcap
share/examples/mutt/sample.muttrc
share/examples/mutt/sample.muttrc-sidebar
share/examples/mutt/sample.muttrc-tlr
share/examples/mutt/sample.vimrc-sidebar
share/examples/mutt/smime.rc
share/examples/mutt/smime_keys_test.pl
share/locale/bg/LC_MESSAGES/mutt.mo
share/locale/ca/LC_MESSAGES/mutt.mo
share/locale/cs/LC_MESSAGES/mutt.mo
share/locale/da/LC_MESSAGES/mutt.mo
share/locale/de/LC_MESSAGES/mutt.mo
share/locale/el/LC_MESSAGES/mutt.mo
share/locale/eo/LC_MESSAGES/mutt.mo
share/locale/es/LC_MESSAGES/mutt.mo
share/locale/et/LC_MESSAGES/mutt.mo
share/locale/eu/LC_MESSAGES/mutt.mo
share/locale/fr/LC_MESSAGES/mutt.mo
share/locale/ga/LC_MESSAGES/mutt.mo
share/locale/gl/LC_MESSAGES/mutt.mo
share/locale/hu/LC_MESSAGES/mutt.mo
share/locale/id/LC_MESSAGES/mutt.mo
share/locale/it/LC_MESSAGES/mutt.mo
share/locale/ja/LC_MESSAGES/mutt.mo
share/locale/ko/LC_MESSAGES/mutt.mo
share/locale/lt/
share/locale/lt/LC_MESSAGES/
share/locale/lt/LC_MESSAGES/mutt.mo
share/locale/nl/LC_MESSAGES/mutt.mo
share/locale/pl/LC_MESSAGES/mutt.mo
share/locale/pt_BR/LC_MESSAGES/mutt.mo
share/locale/ru/LC_MESSAGES/mutt.mo
share/locale/sk/LC_MESSAGES/mutt.mo
share/locale/sv/LC_MESSAGES/mutt.mo
share/locale/tr/LC_MESSAGES/mutt.mo
share/locale/uk/LC_MESSAGES/mutt.mo
share/locale/zh_CN/LC_MESSAGES/mutt.mo
share/locale/zh_TW/LC_MESSAGES/mutt.mo