aboutsummaryrefslogblamecommitdiff
path: root/mail/mutt/Makefile
blob: 30e700b51515a778f96632eeeebf7775a715e572 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
                    
                     
                    
                                              
                                                            
                                                                                
                                                                               
                    

                                          


                                                                                 
                           
 

                                                                             
                                    

                      
 

                                                             

                                        
 
                                                                        
 
                   








                                            
 


                                              
 

                                                                           
 
                           
 


                                                                               
                                                                         
                                                                                 

                                                                            

                                                                              
 
                                                 
                                                                         

                                                                                
                                                       
                                     
                           
 




                                                                
                                                              
                                                    
                                        
                                                 
                                        
                                                    
                                        
                                                 




                                                                          
                                                   


                                                                       
                                             


                                                           

                                                                 
                                                              


                                                                     
                                         

                                                    
                                        
                                         


                                                           
 
                                              
 
                                     
                                     
 
                             
 


                                                               
 


                                                                             
 
                                   








                                                           

                                             
                                              

                                                                      

                                                                   

                                                                 
                                                                                 
                                                                 

                                                                 

                                                        

                                                                 

                                                                                 
 
                                      

                                              
 
                             

                                                          
                                         
 

                                                             
                                                    
 

                                                                             




                               
 
                                                                        
                                                                   
 

                                                                             



                                                                




















                                                                 

                              
                              
                             
 


                                                                             
               
                                    


                                                                                   
                                                              

                                                                             
                                           
                                                                      
                                             
 





                                                          
                      
PORTNAME=	mutt
DISTVERSION=	2.2.9
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
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/

LICENSE=	GPLv2+

RUN_DEPENDS=	${LOCALBASE}/etc/mime.types:misc/mime-support

USES=		cpe perl5 shebangfix ssl
USE_PERL5=	build

SHEBANG_FILES=	contrib/smime_keys_test.pl doc/gen-map-doc smime_keys.pl

GNU_CONFIGURE=	yes
CONFIGURE_ARGS=	--disable-fcntl \
		--enable-compressed \
		--enable-external-dotlock \
		--enable-imap \
		--enable-pop \
		--enable-sidebar \
		--sysconfdir=${PREFIX}/etc \
		--with-docdir=${DOCSDIR} \
		--with-ssl=${OPENSSLBASE}

.if defined(MUTT_CONFIGURE_ARGS)
CONFIGURE_ARGS+=	${MUTT_CONFIGURE_ARGS}
.endif

CONFLICTS=	ja-mutt ja-mutt-devel mutt-1.4* mutt-devel-lite mutt-lite \
		zh-mutt-devel

INFO=		${PORTNAME}

OPTIONS_DEFINE=		AUTOCRYPT DEBUG_LOGS DOCS EXAMPLES FLOCK GPGME \
			GREETING_PATCH HTML ICONV IDN IFDEF_PATCH LOCALES_FIX \
			MAILBOX_MANPAGES MAILDIR_MTIME_PATCH NLS QUOTE_PATCH \
			REVERSE_REPLY_PATCH SMART_DATE SMIME SMTP URLVIEW
OPTIONS_DEFAULT=	AUTOCRYPT DEBUG_LOGS GPGME GSSAPI_NONE HCACHE_LMDB HTML \
			ICONV IDN IFDEF_PATCH LOCALES_FIX MAILBOX_MANPAGES \
			MAILDIR_MTIME_PATCH NCURSES NLS QUOTE_PATCH \
			REVERSE_REPLY_PATCH SASL_CYRUS SMART_DATE SMIME SMTP \
			URLVIEW

OPTIONS_SINGLE=		GSSAPI HCACHE SASL SCREEN
OPTIONS_SINGLE_GSSAPI=	GSSAPI_BASE GSSAPI_HEIMDAL GSSAPI_MIT GSSAPI_NONE
OPTIONS_SINGLE_HCACHE=	HCACHE_BDB HCACHE_GDBM HCACHE_KYOTOCABINET HCACHE_LMDB \
			HCACHE_NONE HCACHE_QDBM HCACHE_TOKYOCABINET
OPTIONS_SINGLE_SASL=	SASL_CYRUS SASL_GSASL SASL_NONE
OPTIONS_SINGLE_SCREEN=	NCURSES SLANG
OPTIONS_SUB=		yes

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
HCACHE_KYOTOCABINET_DESC=	Use Kyoto Cabinet
HCACHE_LMDB_DESC=		Use LMDB
HCACHE_NONE_DESC=		Disable Header Cache
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
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
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

AUTOCRYPT_IMPLIES=		GPGME IDN
AUTOCRYPT_BUILD_DEPENDS=	${AUTOCRYPT_DEPENDS}
AUTOCRYPT_RUN_DEPENDS=		${AUTOCRYPT_DEPENDS}
AUTOCRYPT_USES=			sqlite:3
AUTOCRYPT_CONFIGURE_ENABLE=	autocrypt
AUTOCRYPT_CONFIGURE_WITH=	sqlite3=${LOCALBASE}
AUTOCRYPT_DEPENDS=		gnupg>=2.1:security/gnupg \
				gpgme>=1.8:security/gpgme

DEBUG_LOGS_CONFIGURE_ON=	--enable-debug

DOCS_BUILD_DEPENDS=	lynx:www/lynx
DOCS_CONFIGURE_OFF=	--disable-doc

FLOCK_CONFIGURE_ENABLE=	flock

GPGME_LIB_DEPENDS+=	libassuan.so:security/libassuan \
			libgpg-error.so:security/libgpg-error \
			libgpgme.so:security/gpgme

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} \
				--with-gss=${GSSAPIBASEDIR}
GSSAPI_HEIMDAL_USES=		gssapi:heimdal
GSSAPI_HEIMDAL_CONFIGURE_ON=	${GSSAPI_CONFIGURE_ARGS} \
				--with-gss=${GSSAPIBASEDIR}
GSSAPI_MIT_USES=		gssapi:mit
GSSAPI_MIT_CONFIGURE_ON=	${GSSAPI_CONFIGURE_ARGS} \
				--with-gss=${GSSAPIBASEDIR}
GSSAPI_NONE_CONFIGURE_ON=	--without-gss

HCACHE_BDB_USES=			bdb:18
HCACHE_BDB_CONFIGURE_WITH=		bdb=${LOCALBASE}
HCACHE_BDB_VARS=			CFLAGS+=-I${BDB_INCLUDE_DIR} \
					LDFLAGS+=-L${BDB_LIB_DIR} \
					LICENSE=AGPLv3
HCACHE_GDBM_LIB_DEPENDS=		libgdbm.so:databases/gdbm
HCACHE_GDBM_CONFIGURE_WITH=		gdbm=${LOCALBASE}
HCACHE_KYOTOCABINET_LIB_DEPENDS=	libkyotocabinet.so:databases/kyotocabinet
HCACHE_KYOTOCABINET_CONFIGURE_WITH=	kyotocabinet=${LOCALBASE}
HCACHE_LMDB_LIB_DEPENDS=		liblmdb.so:databases/lmdb
HCACHE_LMDB_CONFIGURE_WITH=		lmdb=${LOCALBASE}
HCACHE_NONE_CONFIGURE_ON=		--disable-hcache
HCACHE_NONE_CONFIGURE_OFF=		--enable-hcache
HCACHE_QDBM_LIB_DEPENDS=		libqdbm.so:databases/qdbm
HCACHE_QDBM_CONFIGURE_WITH=		qdbm=${LOCALBASE}
HCACHE_TOKYOCABINET_LIB_DEPENDS=	libtokyocabinet.so:databases/tokyocabinet
HCACHE_TOKYOCABINET_CONFIGURE_WITH=	tokyocabinet=${LOCALBASE}

ICONV_USES=		iconv:translit
ICONV_CONFIGURE_ON=	${ICONV_CONFIGURE_ARG}
ICONV_CONFIGURE_OFF=	--disable-iconv

IDN_IMPLIES=		ICONV
IDN_LIB_DEPENDS=	libidn2.so:dns/libidn2 \
			libunistring.so:devel/libunistring
IDN_CONFIGURE_WITH=	idn2=${LOCALBASE}

IFDEF_PATCH_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-ifdef

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

QUOTE_PATCH_PATCHFILES=	patch-${VVV_PATCH_VERSION}.vvv.initials.xz:vvv \
			mutt-${GREETING_PATCH_VERSION}.vvv.quote:vc

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
SASL_GSASL_CONFIGURE_WITH=	gsasl=${LOCALBASE}

# Handle ncurses/ncurses-port/slang
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

pre-configure::
# Stop make from setgid mutt_dotlock
	@${REINPLACE_CMD} \
		-e '/if test.*mutt_dotlock.*DOTLOCK_GROUP/s/if/if ${FALSE} \&\&/' \
		${WRKSRC}/Makefile.in
# Base FreeBSD krb5-config --version returns "FreeBSD heimdal"
	@${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' \
		${WRKSRC}/contrib/Makefile.in

# Undo some dist. installed files
post-stage::
	@${MV} ${STAGEDIR}/${LOCALBASE}/etc/Muttrc.dist \
	    	${STAGEDIR}/${LOCALBASE}/etc/Muttrc.sample
	@${RM} ${STAGEDIR}/${LOCALBASE}/etc/mime.types*

.include <bsd.port.mk>