aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlli Hauer <ohauer@FreeBSD.org>2016-02-28 08:16:49 +0000
committerOlli Hauer <ohauer@FreeBSD.org>2016-02-28 08:16:49 +0000
commite69906ddc509389f4b0b0073ac489b9a14b1ac9c (patch)
tree95e0cd473d276636f7d248fe2e70216d0c58964b
parentb66d807b3e7f6a9b9b236d3b56b28a3fffcd00f8 (diff)
downloadports-e69906ddc509389f4b0b0073ac489b9a14b1ac9c.tar.gz
ports-e69906ddc509389f4b0b0073ac489b9a14b1ac9c.zip
Notes
-rw-r--r--mail/Makefile2
-rw-r--r--mail/postfix211-sasl/Makefile14
-rw-r--r--mail/postfix211/Makefile358
-rw-r--r--mail/postfix211/distinfo6
-rw-r--r--mail/postfix211/files/mailer.conf.postfix.in7
-rw-r--r--mail/postfix211/files/patch-makedefs12
-rw-r--r--mail/postfix211/files/patch-src__util__sys_defs.h10
-rw-r--r--mail/postfix211/files/pkg-install.in190
-rw-r--r--mail/postfix211/files/pkg-message.in25
-rw-r--r--mail/postfix211/files/postfix.in52
-rw-r--r--mail/postfix211/pkg-descr15
-rw-r--r--mail/postfix211/pkg-help15
-rw-r--r--mail/postfix211/pkg-plist157
13 files changed, 863 insertions, 0 deletions
diff --git a/mail/Makefile b/mail/Makefile
index 23c35e445052..6a9554a4fef1 100644
--- a/mail/Makefile
+++ b/mail/Makefile
@@ -497,6 +497,8 @@
SUBDIR += postfix-policyd-weight
SUBDIR += postfix-postfwd
SUBDIR += postfix-sasl
+ SUBDIR += postfix211
+ SUBDIR += postfix211-sasl
SUBDIR += postfixadmin
SUBDIR += postgrey
SUBDIR += postsrsd
diff --git a/mail/postfix211-sasl/Makefile b/mail/postfix211-sasl/Makefile
new file mode 100644
index 000000000000..dbf1600f88d7
--- /dev/null
+++ b/mail/postfix211-sasl/Makefile
@@ -0,0 +1,14 @@
+# $FreeBSD$
+
+PKGNAMESUFFIX?= -sasl
+
+MAINTAINER= ohauer@FreeBSD.org
+COMMENT= Postfix with Cyrus SASL support
+
+MASTERDIR= ${.CURDIR}/../postfix211
+
+OPTIONS_SLAVE= SASL
+
+SASL_SLAVE= yes
+
+.include "${MASTERDIR}/Makefile"
diff --git a/mail/postfix211/Makefile b/mail/postfix211/Makefile
new file mode 100644
index 000000000000..69449459e688
--- /dev/null
+++ b/mail/postfix211/Makefile
@@ -0,0 +1,358 @@
+# Created by: Torsten Blum <torstenb@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= postfix
+PORTVERSION= 2.11.7
+PORTREVISION= 2
+PORTEPOCH= 1
+CATEGORIES= mail ipv6
+MASTER_SITES= ftp://ftp.porcupine.org/mirrors/postfix-release/ \
+ http://de.postfix.org/ftpmirror/ \
+ http://cdn.postfix.johnriley.me/mirrors/postfix-release/ \
+ http://www.artfiles.org/postfix.org/postfix-release/ \
+ http://mirror.lhsolutions.nl/postfix-release/ \
+ ftp://postfix.mirrors.pair.com/
+MASTER_SITES:= ${MASTER_SITES:S|$|official/|}
+DIST_SUBDIR= ${PORTNAME}
+
+MAINTAINER= ohauer@FreeBSD.org
+COMMENT= Secure alternative to widely-used Sendmail
+
+LICENSE= IPL10
+LICENSE_NAME= IBM PUBLIC LICENSE VERSION 1.0
+LICENSE_FILE= ${WRKSRC}/LICENSE
+LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
+
+PORTSCOUT= limit:^2\.11\.
+
+VDAVERSION= 2.10.0
+CONFLICTS_INSTALL?= courier-0.* opensmtpd-[0-9]* \
+ sendmail-8.* sendmail+*-8.* smail-3.* zmailer-2.* \
+ postfix2?-* postfix-3.* postfix-current-*
+
+USERS= postfix
+GROUPS= mail maildrop postfix
+USES= shebangfix cpe
+SHEBANG_FILES= auxiliary/qshape/qshape.pl
+
+USE_RC_SUBR= postfix
+USE_SUBMAKE= yes
+SCRIPTS_ENV+= POSTFIX_DEFAULT_MTA="${POSTFIX_DEFAULT_MTA}"
+
+OPTIONS_SUB= yes
+OPTIONS_DEFINE= BDB CDB DOCS INST_BASE LDAP LDAP_SASL LMDB MYSQL \
+ NIS PCRE PGSQL SASL SPF SQLITE TEST TLS VDA
+
+OPTIONS_RADIO= RG1
+OPTIONS_RADIO_RG1= SASLKRB5 SASLKMIT
+OPTIONS_DEFAULT= PCRE TLS
+
+BDB_USE= BDB=yes
+CDB_LIB_DEPENDS= libcdb.so:${PORTSDIR}/databases/tinycdb
+LDAP_USE= OPENLDAP=yes
+LMDB_LIB_DEPENDS= liblmdb.so:${PORTSDIR}/databases/lmdb
+MYSQL_USE= MYSQL=yes
+PCRE_LIB_DEPENDS= libpcre.so:${PORTSDIR}/devel/pcre
+PGSQL_USES= pgsql
+SASLKMIT_LIB_DEPENDS= libkrb5.so:${PORTSDIR}/security/krb5
+SASL_LIB_DEPENDS= libsasl2.so:${PORTSDIR}/security/cyrus-sasl2
+SPF_LIB_DEPENDS= libspf2.so:${PORTSDIR}/mail/libspf2
+SQLITE_USES= sqlite
+TLS_USE= OPENSSL=yes
+
+CDB_DESC= CDB maps lookups
+INST_BASE_DESC= Install into /usr and /etc/postfix
+LDAP_DESC= LDAP maps (uses WITH_OPENLDAP_VER)
+LDAP_SASL_DESC= LDAP client-to-server SASL auth
+LMDB_DESC= LMDB maps
+SPF_DESC= SPF support (via libspf2 1.2.x)
+TEST_DESC= SMTP/LMTP test server and generator
+VDA_DESC= VDA (Virtual Delivery Agent)
+
+SASL_DESC= Cyrus SASL support (Dovecot SASL is always built in)
+RG1_DESC= Kerberos network authentication protocol type
+SASLKRB5_DESC= If your SASL req. Kerberos5, select this
+SASLKMIT_DESC= If your SASL req. MIT Kerberos5, select this
+
+.include <bsd.port.options.mk>
+
+HTML1= body_checks.5.html bounce.5.html postfix-power.png \
+ scache.8.html tlsmgr.8.html
+
+STRIP_LIBEXEC= anvil bounce cleanup discard dnsblog error flush lmtp local master \
+ nqmgr oqmgr pickup pipe postscreen proxymap qmgr qmqpd scache showq \
+ smtp smtpd spawn tlsmgr tlsproxy trivial-rewrite verify virtual
+
+.if !defined(BATCH) && !defined(PACKAGE_BUILDING) && exists(/etc/mail/mailer.conf)
+OLD_MAILER!= ${GREP} -m 1 '^purgestat' /etc/mail/mailer.conf || ${ECHO_CMD}
+.if !empty(OLD_MAILER)
+IS_INTERACTIVE= yes
+.endif
+.endif
+
+.if !defined(DEBUG)
+MAKEFILEFLAGS+= DEBUG=
+.endif
+
+MAKEFILEFLAGS+= CC="${CC}" OPT="${CFLAGS}"
+
+.if ${PORT_OPTIONS:MINST_BASE}
+.if defined(SASL_SLAVE)
+PKGNAMESUFFIX= -base-sasl
+.else
+PKGNAMESUFFIX= -base
+.endif
+PREFIX= /usr
+ETCDIR= /etc/postfix
+PLIST_SUB+= BMAN="share/"
+.else
+PLIST_SUB+= BMAN=""
+.endif
+
+PLIST_SUB+= PFETC=${ETCDIR}
+
+# check if mailwrapper supports $LOCALBASE
+.if ${OPSYS} == FreeBSD && (${OSVERSION} >= 1002506 || ${OSVERSION} >= 1100094)
+SUB_LIST+= USE_LOCALBASE_MAILER_CONF="yes" MC_PREFIX=${LOCALBASE}
+.else
+SUB_LIST+= USE_LOCALBASE_MAILER_CONF="no" MC_PREFIX=""
+.endif
+
+.if ${PORT_OPTIONS:MDOCS}
+PORTDOCS= *
+READMEDIR= ${DOCSDIR}
+.else
+READMEDIR= no
+.endif
+
+DAEMONDIR= ${PREFIX}/libexec/postfix
+
+SUB_LIST+= REQUIRE="${_REQUIRE}" READMEDIR="${READMEDIR}" \
+ DAEMONDIR="${DAEMONDIR}"
+SUB_FILES+= pkg-install pkg-message mailer.conf.postfix
+
+POSTFIX_CCARGS+= -DDEF_CONFIG_DIR=\\\"${ETCDIR}\\\" \
+ -DDEF_DAEMON_DIR=\\\"${DAEMONDIR}\\\" \
+ -DDEF_COMMAND_DIR=\\\"${PREFIX}/sbin\\\" \
+ -DDEF_SENDMAIL_PATH=\\\"${PREFIX}/sbin/sendmail\\\" \
+ -DDEF_NEWALIAS_PATH=\\\"${PREFIX}/bin/newaliases\\\" \
+ -DDEF_MAILQ_PATH=\\\"${PREFIX}/bin/mailq\\\" \
+ -DDEF_MANPAGE_DIR=\\\"${MANPREFIX}/man\\\" \
+ -DDEF_README_DIR=\\\"${READMEDIR}\\\" \
+ -DDEF_HTML_DIR=\\\"${READMEDIR}\\\" \
+ -DDEF_QUEUE_DIR=\\\"/var/spool/postfix\\\" \
+ -DDEF_DATA_DIR=\\\"/var/db/postfix\\\" \
+ -DDEF_MAIL_OWNER=\\\"postfix\\\" \
+ -DDEF_SGID_GROUP=\\\"maildrop\\\" \
+ -Wmissing-prototypes -Wformat -Wno-comment
+
+# Default requirement for postfix rc script
+_REQUIRE= LOGIN cleanvar dovecot
+
+# Always build with Dovecot SASL support, Cyrus is optional
+# see Postfix HISTORY 20051222
+POSTFIX_CCARGS+= -DUSE_SASL_AUTH
+
+.if ${PORT_OPTIONS:MPCRE}
+POSTFIX_CCARGS+= -DHAS_PCRE -I${LOCALBASE}/include
+POSTFIX_AUXLIBS+= -L${LOCALBASE}/lib -lpcre
+.else
+POSTFIX_CCARGS+= -DNO_PCRE
+.endif
+
+.if ${PORT_OPTIONS:MSASL}
+POSTFIX_CCARGS+= -DUSE_CYRUS_SASL -I${LOCALBASE}/include -I${LOCALBASE}/include/sasl
+POSTFIX_AUXLIBS+= -L${LOCALBASE}/lib -lsasl2 -lpam -lcrypt
+.else
+POSTFIX_CCARGS+= -DDEF_SERVER_SASL_TYPE=\\\"dovecot\\\"
+.endif
+
+.if ${PORT_OPTIONS:MSASLKRB5}
+POSTFIX_AUXLIBS+= -lkrb5 -lhx509 -lcrypto -lcrypt -lcom_err -lasn1 -lroken
+.endif
+
+.if ${PORT_OPTIONS:MSASLKMIT}
+POSTFIX_AUXLIBS+= -Wl,--rpath,$${KRB5_HOME:-${LOCALBASE}}/lib -lkrb5 -lcrypto -lcrypt -lcom_err
+.endif
+
+.if ${PORT_OPTIONS:MTLS}
+POSTFIX_CCARGS+= -DUSE_TLS -I${OPENSSLINC}
+POSTFIX_AUXLIBS+= -L${OPENSSLLIB} ${LDFLAGS} -lssl -lcrypto
+.else
+POSTFIX_CCARGS+= -DNO_TLS
+.endif
+
+.if ${PORT_OPTIONS:MSPF}
+PATCH_SITES+= LOCAL/mm
+PATCHFILES+= postfix-2.8.0-libspf2-1.2.x-0.patch.gz:-p1
+POSTFIX_CCARGS+= -DHAVE_NS_TYPE -DHAS_SPF -I${LOCALBASE}/include
+POSTFIX_AUXLIBS+= -L${LOCALBASE}/lib -lspf2
+.endif
+
+.if ${PORT_OPTIONS:MBDB}
+INVALID_BDB_VER= 6
+POSTFIX_CCARGS+= -I${BDB_INCLUDE_DIR}
+POSTFIX_AUXLIBS+= -L${BDB_LIB_DIR} -l${BDB_LIB_NAME}
+.endif
+
+.if ${PORT_OPTIONS:MMYSQL}
+POSTFIX_CCARGS+= -DHAS_MYSQL -I${LOCALBASE}/include/mysql
+POSTFIX_AUXLIBS+= -L${LOCALBASE}/lib/mysql -lmysqlclient -lz -lcrypt -lm
+_REQUIRE+= mysql
+.endif
+
+.if ${PORT_OPTIONS:MPGSQL}
+POSTFIX_CCARGS+= -DHAS_PGSQL -I${LOCALBASE}/include -I${LOCALBASE}/pgsql/include
+POSTFIX_AUXLIBS+= -L${LOCALBASE}/lib -L${LOCALBASE}/pgsql/lib -lpq -lcrypt
+_REQUIRE+= postgresql
+.endif
+
+.if ${PORT_OPTIONS:MSQLITE}
+POSTFIX_CCARGS+= -DHAS_SQLITE -I${LOCALBASE}/include
+POSTFIX_AUXLIBS+= -L${LOCALBASE}/lib -lsqlite3
+.endif
+
+.if ${PORT_OPTIONS:MLDAP}
+. if defined(WITH_OPENLDAP_VER)
+WANT_OPENLDAP_VER= ${WITH_OPENLDAP_VER}
+. endif
+POSTFIX_CCARGS+= -DHAS_LDAP -I${LOCALBASE}/include
+POSTFIX_AUXLIBS+= -L${LOCALBASE}/lib -lldap -llber
+_REQUIRE+= slapd
+. if ${PORT_OPTIONS:MLDAP_SASL}
+. if ! ${PORT_OPTIONS:MSASL}
+LIB_DEPENDS+= libsasl2.so:${PORTSDIR}/security/cyrus-sasl2
+. endif
+WANT_OPENLDAP_SASL= yes
+POSTFIX_CCARGS+= -I${LOCALBASE}/include/sasl -DUSE_LDAP_SASL
+. endif
+.endif
+
+.if ${PORT_OPTIONS:MCDB}
+POSTFIX_CCARGS+= -DHAS_CDB -I${LOCALBASE}/include
+POSTFIX_AUXLIBS+= -L${LOCALBASE}/lib -lcdb
+.endif
+
+.if ${PORT_OPTIONS:MNIS}
+POSTFIX_CCARGS+= -DHAS_NIS
+_REQUIRE+= ypserv
+.endif
+
+.if ${PORT_OPTIONS:MVDA}
+PATCH_SITES+= http://vda.sourceforge.net/VDA/:vda
+PATCHFILES+= postfix-vda-v13-${VDAVERSION}.patch:-p1:vda
+.endif
+
+.if ${PORT_OPTIONS:MTEST}
+BINTEST= qmqp-sink qmqp-source smtp-sink smtp-source
+MANTEST= qmqp-sink.1 qmqp-source.1 smtp-sink.1 smtp-source.1
+.endif
+
+.if ${PORT_OPTIONS:MLMDB}
+POSTFIX_CCARGS+= -DHAS_LMDB -I${LOCALBASE}/include
+POSTFIX_AUXLIBS+= -L${LOCALBASE}/lib -llmdb
+.endif
+
+# sed script for files in ${WRKSRC}/README_FILES ${WRKSRC}/conf ${WRKSRC}/man
+REINPLACE= s!^PATH=.*!PATH=/bin:/sbin:/usr/bin:/usr/sbin:${PREFIX}/bin:${PREFIX}/sbin!;\
+ s!(_directory = )/usr/!\1${PREFIX}/!g;\
+ s!^(data_directory = /var/)lib/!\1db/!g;\
+ s!^\#(mynetworks_style = host)!\1!g;\
+ s!^(sendmail_path =)!\1 ${PREFIX}/sbin/sendmail!g;\
+ s!^(newaliases_path =)!\1 ${PREFIX}/bin/newaliases!g;\
+ s!^(mailq_path =)!\1 ${PREFIX}/bin/mailq!g;\
+ s!^(setgid_group =)!\1 maildrop!g;\
+ s!^(manpage_directory =)!\1 ${MANPREFIX}/man!g;\
+ s!^((html|readme)_directory =)!\1 ${READMEDIR}!g;\
+ \!^\#alias_database = dbm:/etc/mail/aliases$$!d;\
+ s!(:|= )/etc/postfix!\1$$config_directory!g;\
+ s!/etc/postfix!${ETCDIR}!g;\
+ s!^(sample_directory =)!\1 ${ETCDIR}!g;\
+ s!($config_directory/(access|aliases|canonical|generic|header_checks|relocated|transport|virtual):f:root:-:644:)p1!\1o!;
+
+pre-patch:
+.if ${PORT_OPTIONS:MSASL} && ! ${PORT_OPTIONS:MMYSQL} && exists(${LOCALBASE}/lib/libsasl2.a)
+ @if /usr/bin/nm ${LOCALBASE}/lib/libsasl2.a | ${GREP} -wq "mysql_init"; then \
+ ${ECHO_MSG}; \
+ ${ECHO_MSG} "Your SASL library it's compiled with MYSQL"; \
+ ${ECHO_MSG} "If you use MYSQL in ${PORTNAME} consider CTRL+C and"; \
+ ${ECHO_MSG} "select MYSQL OPTION in config menu."; \
+ ${ECHO_MSG} "# make clean config"; \
+ ${ECHO_MSG}; \
+ sleep 5; \
+ fi
+.endif
+
+ @${ECHO} '<HTML><BODY>See <A HREF="header_checks.5.html">header_checks.5.html</A></BODY></HTML>' \
+ > ${WRKSRC}/html/body_checks.5.html
+ @${REINPLACE_CMD} -E -e 's!^(#define DEF_SGID_GROUP[^"]+)"postdrop"$$!\1"maildrop"!' \
+ ${WRKSRC}/src/global/mail_params.h
+ @${FIND} -X ${WRKSRC}/README_FILES ${WRKSRC}/conf ${WRKSRC}/man \
+ -type f -a ! \( -name INSTALL -o -name aliases \) | ${XARGS} \
+ ${REINPLACE_CMD} -E -e '${REINPLACE}'
+
+post-patch:
+.for f in ${HTML1}
+ @${ECHO} '$$html_directory/$f:f:root:-:644' \
+ >> ${WRKSRC}/conf/postfix-files
+.endfor
+ @${ECHO} '$$manpage_directory/man1/posttls-finger.1:f:root:-:644' \
+ >> ${WRKSRC}/conf/postfix-files
+ @${ECHO} '$$command_directory/posttls-finger:f:root:-:755' \
+ >> ${WRKSRC}/conf/postfix-files
+
+post-patch-SPF-on:
+ @${ECHO} '$$readme_directory/SPF_README:f:root:-:644' \
+ >> ${WRKSRC}/conf/postfix-files
+ @${REINPLACE_CMD} -E -e '${REINPLACE}' \
+ ${WRKSRC}/README_FILES/SPF_README
+
+post-patch-VDA-on:
+ @${ECHO} '$$readme_directory/VDA_README:f:root:-:644' \
+ >> ${WRKSRC}/conf/postfix-files
+ @${REINPLACE_CMD} -E -e '${REINPLACE}' \
+ ${WRKSRC}/README_FILES/VDA_README
+
+do-configure:
+ (cd ${WRKSRC} && ${MAKE} -f Makefile.init makefiles \
+ ${MAKEFILEFLAGS} CCARGS="${POSTFIX_CCARGS}" \
+ AUXLIBS="${POSTFIX_AUXLIBS}" && \
+ ${ECHO} "all: default" >> Makefile)
+
+pre-install-INST_BASE-on:
+ ${MKDIR} ${STAGEDIR}/etc/rc.d
+
+do-install:
+ @(cd ${WRKSRC} && ${MAKE} non-interactive-package \
+ install_root=${STAGEDIR} tempdir=${WRKDIR} \
+ config_directory=${ETCDIR} \
+ command_directory=${PREFIX}/sbin \
+ daemon_directory=${DAEMONDIR} \
+ html_directory=${READMEDIR} \
+ mailq_path=${PREFIX}/bin/mailq \
+ manpage_directory=${MANPREFIX}/man \
+ newaliases_path=${PREFIX}/bin/newaliases \
+ readme_directory=${READMEDIR} \
+ sendmail_path=${PREFIX}/sbin/sendmail )
+
+ ${INSTALL_SCRIPT} ${WRKSRC}/auxiliary/rmail/rmail ${STAGEDIR}${PREFIX}/bin/rmail
+ ${INSTALL_SCRIPT} ${WRKSRC}/auxiliary/qshape/qshape.pl ${STAGEDIR}${PREFIX}/bin/qshape
+ ${INSTALL_MAN} ${WRKSRC}/man/man1/qshape.1 ${STAGEDIR}${MANPREFIX}/man/man1
+
+do-install-TEST-on:
+ ${INSTALL_PROGRAM} ${BINTEST:S|^|${WRKSRC}/bin/|} ${STAGEDIR}${PREFIX}/bin
+ ${INSTALL_MAN} ${MANTEST:S|^|${WRKSRC}/man/man1/|} ${STAGEDIR}${MANPREFIX}/man/man1
+
+post-stage:
+# == do not overwrite existing config
+ ${MV} ${STAGEDIR}${ETCDIR}/main.cf ${STAGEDIR}${ETCDIR}/main.cf.sample
+ ${MV} ${STAGEDIR}${ETCDIR}/master.cf ${STAGEDIR}${ETCDIR}/master.cf.sample
+ ${MKDIR} ${STAGEDIR}${DATADIR}
+ ${INSTALL_DATA} ${WRKDIR}/mailer.conf.postfix ${STAGEDIR}${DATADIR}
+
+# Fix compressed man pages and strip executables
+ ${SED} -i '' -E -e "s|(man[158]/.*.[158]):|\1.gz:|g" ${STAGEDIR}${DAEMONDIR}/postfix-files
+ -@${STRIP_CMD} ${STRIP_LIBEXEC:S|^|${STAGEDIR}${DAEMONDIR}/|}
+ -@${STRIP_CMD} ${STAGEDIR}${PREFIX}/sbin/*
+
+.include <bsd.port.mk>
diff --git a/mail/postfix211/distinfo b/mail/postfix211/distinfo
new file mode 100644
index 000000000000..3b8795de141e
--- /dev/null
+++ b/mail/postfix211/distinfo
@@ -0,0 +1,6 @@
+SHA256 (postfix/postfix-2.11.7.tar.gz) = 05828b5b846e48fdc80db67d85409066010614af521070df4733459fbf447e20
+SIZE (postfix/postfix-2.11.7.tar.gz) = 4031689
+SHA256 (postfix/postfix-2.8.0-libspf2-1.2.x-0.patch.gz) = e5c38e5bc226cab109c02a4e530ab1aefd3bb06f2169f3e052bdf83d2727aacc
+SIZE (postfix/postfix-2.8.0-libspf2-1.2.x-0.patch.gz) = 8191
+SHA256 (postfix/postfix-vda-v13-2.10.0.patch) = 6208021eb0b37ac6482e334e538ed5700cc22c4d4dd66ed9e975ae5f20bf935f
+SIZE (postfix/postfix-vda-v13-2.10.0.patch) = 55701
diff --git a/mail/postfix211/files/mailer.conf.postfix.in b/mail/postfix211/files/mailer.conf.postfix.in
new file mode 100644
index 000000000000..08f2b2c00f35
--- /dev/null
+++ b/mail/postfix211/files/mailer.conf.postfix.in
@@ -0,0 +1,7 @@
+#
+# Execute the Postfix sendmail program, named %%PREFIX%%/sbin/sendmail
+#
+sendmail %%PREFIX%%/sbin/sendmail
+send-mail %%PREFIX%%/sbin/sendmail
+mailq %%PREFIX%%/sbin/sendmail
+newaliases %%PREFIX%%/sbin/sendmail
diff --git a/mail/postfix211/files/patch-makedefs b/mail/postfix211/files/patch-makedefs
new file mode 100644
index 000000000000..56b0c3830fb5
--- /dev/null
+++ b/mail/postfix211/files/patch-makedefs
@@ -0,0 +1,12 @@
+--- makedefs.orig 2015-04-19 10:19:57 UTC
++++ makedefs
+@@ -161,6 +161,9 @@ case "$SYSTEM.$RELEASE" in
+ FreeBSD.10*) SYSTYPE=FREEBSD10
+ : ${CC=cc}
+ ;;
++ FreeBSD.11*) SYSTYPE=FREEBSD11
++ : ${CC=cc}
++ ;;
+ DragonFly.*) SYSTYPE=DRAGONFLY
+ ;;
+ OpenBSD.2*) SYSTYPE=OPENBSD2
diff --git a/mail/postfix211/files/patch-src__util__sys_defs.h b/mail/postfix211/files/patch-src__util__sys_defs.h
new file mode 100644
index 000000000000..d977481d19a1
--- /dev/null
+++ b/mail/postfix211/files/patch-src__util__sys_defs.h
@@ -0,0 +1,10 @@
+--- src/util/sys_defs.h.orig 2015-04-19 10:22:40 UTC
++++ src/util/sys_defs.h
+@@ -26,6 +26,7 @@
+ #if defined(FREEBSD2) || defined(FREEBSD3) || defined(FREEBSD4) \
+ || defined(FREEBSD5) || defined(FREEBSD6) || defined(FREEBSD7) \
+ || defined(FREEBSD8) || defined(FREEBSD9) || defined(FREEBSD10) \
++ || defined(FREEBSD11) \
+ || defined(BSDI2) || defined(BSDI3) || defined(BSDI4) \
+ || defined(OPENBSD2) || defined(OPENBSD3) || defined(OPENBSD4) \
+ || defined(OPENBSD5) \
diff --git a/mail/postfix211/files/pkg-install.in b/mail/postfix211/files/pkg-install.in
new file mode 100644
index 000000000000..73f621e3c934
--- /dev/null
+++ b/mail/postfix211/files/pkg-install.in
@@ -0,0 +1,190 @@
+#!/bin/sh
+#
+# $FreeBSD: /tmp/pcvs/ports/mail/postfix/files/pkg-install.in,v 1.6 2012-02-11 05:14:34 sahil Exp $
+#
+
+# If the POSTFIX_DEFAULT_MTA environment variable is set to YES, it
+# will make the port/package use defaults which make postfix replace
+# sendmail as much as possible.
+
+# allowed vars during package installation
+BATCH=${BATCH:=no}
+POSTFIX_DEFAULT_MTA=${POSTFIX_DEFAULT_MTA:=no}
+
+# fixed vars
+PREFIX="%%PREFIX%%"
+ETCDIR="%%ETCDIR%%"
+DAEMONDIR="%%DAEMONDIR%%"
+READMEDIR="%%READMEDIR%%"
+MC_TEMPLATE="%%DATADIR%%/mailer.conf.postfix"
+
+# FreeBSD <= 10.3
+MC_BASE="/etc/mail/mailer.conf"
+# FreeBSD >= 10.3 (and current)
+MC_LOCALBASE="%%LOCALBASE%%/etc/mail/mailer.conf"
+USE_LOCALBASE_MAILER_CONF="%%USE_LOCALBASE_MAILER_CONF%%"
+
+if [ "${POSTFIX_DEFAULT_MTA}" = "no" ]; then
+ DEFAULT_REPLACE_MAILERCONF=n
+else
+ DEFAULT_REPLACE_MAILERCONF=y
+fi
+
+ask() {
+ local question default answer
+
+ question=$1
+ default=$2
+ if [ -z "${PACKAGE_BUILDING}" -a "${BATCH}" = "no" ]; then
+ read -p "${question} [${default}]? " answer
+ fi
+ if [ -z "${answer}" ]; then
+ answer=${default}
+ fi
+ echo ${answer}
+}
+
+yesno() {
+ local question default answer
+
+ question=$1
+ default=$2
+ while :; do
+ answer=$(ask "${question}" "${default}")
+ case "${answer}" in
+ [Yy]*) return 0;;
+ [Nn]*) return 1;;
+ esac
+ echo "Please answer yes or no."
+ done
+}
+
+# ==============================================================================
+# Respect POSTFIX_DEFAULT_MTA, do not ask for confirmation!
+# (This helps tools like salt, ansible or puppet on new installations)
+# ==============================================================================
+install_choise(){
+ local mailerconf
+ mailerconf=$1
+
+ if [ "${DEFAULT_REPLACE_MAILERCONF}" = "y" ]; then
+ install_mailer_conf ${mailerconf}
+ elif [ "${DEFAULT_REPLACE_MAILERCONF}" = "n" -a -t 0 ]; then
+ if yesno "Would you like to activate Postfix in ${mailerconf}" ${DEFAULT_REPLACE_MAILERCONF:="n"}; then
+ install_mailer_conf ${mailerconf}
+ else
+ show_not_activated_msg ${mailerconf}
+ fi
+ else
+ show_not_activated_msg ${mailerconf}
+ fi
+}
+
+show_not_activated_msg() {
+ local mailerconf
+
+ mailerconf=$1
+ echo
+ echo "==============================================================="
+ echo "Postfix was *not* activated in ${mailerconf}! "
+ echo
+ echo "To finish installation run the following commands:"
+ echo
+ if [ "${USE_LOCALBASE_MAILER_CONF}" = "yes" ]; then
+ echo " mkdir -p %%LOCALBASE%%/etc/mail"
+ else
+ echo " mv -f ${mailerconf} ${mailerconf}.old"
+ fi
+ echo " install -m 0644 ${MC_TEMPLATE} ${mailerconf}"
+ echo "==============================================================="
+ echo
+}
+
+show_activated_msg() {
+ local mailerconf
+
+ mailerconf=$1
+ echo "==============================================================="
+ echo "Postfix already activated in ${mailerconf}"
+ echo "==============================================================="
+}
+
+cmp_mailer() {
+ local mailerconf
+
+ mailerconf=$1
+ cmp -s ${mailerconf} ${MC_TEMPLATE}
+ return $?
+}
+
+install_mailer_conf() {
+ local mailerconf
+
+ mailerconf=$1
+ echo "Activate Postfix in ${mailerconf}"
+ if [ "${USE_LOCALBASE_MAILER_CONF}" = "yes" ]; then
+ [ -d %%LOCALBASE%%/etc/mail ] || mkdir -p %%LOCALBASE%%/etc/mail
+ fi
+ [ -f ${mailerconf} ] && mv -f ${mailerconf} ${mailerconf}.old
+ install -m 644 ${MC_TEMPLATE} ${mailerconf}
+}
+
+# ==============================================================================
+# Run postfix reload
+# This is a candidate for a dedicated pkg-post-upgrade script, but it seems
+# this not fully implemented in pkg :(see upstream PR 941)
+# ==============================================================================
+try_reload(){
+ ${PREFIX}/sbin/postfix status 2>/dev/null
+if [ $? -eq 0 ]; then
+ ${PREFIX}/sbin/postfix reload
+else
+ echo "postfix not running"
+fi
+}
+
+# ==============================================================================
+# Run postfix post-install to fix permissions and new config values
+# ==============================================================================
+if [ "$2" = "POST-INSTALL" ]; then
+ /bin/sh ${DAEMONDIR}/post-install tempdir=/tmp \
+ daemon_directory=${DAEMONDIR} \
+ html_directory=${READMEDIR} \
+ readme_directory=${READMEDIR} \
+ upgrade-package
+fi
+
+# ==============================================================================
+# If FreeBSD <= 10.2 is deprecated check only LOCALBASE and remove BASE checks,
+# regardless if installed in BASE or LOCALBASE
+# Iff postfix is activated in BASE, also activate postfix in LOCALBASE!
+# ==============================================================================
+if [ "$2" = "POST-INSTALL" -a -z "${PACKAGE_BUILDING}" ]; then
+if [ -f "${MC_BASE}" ]; then
+ if [ "${USE_LOCALBASE_MAILER_CONF}" = "yes" ]; then
+ cmp_mailer ${MC_BASE}
+ if [ $? -eq 0 ]; then
+ show_activated_msg ${MC_BASE}
+ cmp_mailer ${MC_LOCALBASE} || install_mailer_conf ${MC_LOCALBASE}
+ try_reload
+ else
+ cmp_mailer ${MC_LOCALBASE} || install_choise ${MC_LOCALBASE}
+ fi
+ else
+ cmp_mailer ${MC_BASE}
+ if [ $? -ne 0 ]; then
+ install_choise ${MC_BASE}
+ else
+ show_activated_msg ${MC_BASE}
+ try_reload
+ fi
+ fi
+
+else
+ if [ "${USE_LOCALBASE_MAILER_CONF}" = "yes" ]; then
+ show_not_activated_msg ${MC_LOCALBASE}
+ else
+ show_not_activated_msg ${MC_BASE}
+ fi
+fi # -f "${MC_BASE}"
+fi # "$2" = "POST-INSTALL" -a -z "${PACKAGE_BUILDING}"
diff --git a/mail/postfix211/files/pkg-message.in b/mail/postfix211/files/pkg-message.in
new file mode 100644
index 000000000000..6ba402774402
--- /dev/null
+++ b/mail/postfix211/files/pkg-message.in
@@ -0,0 +1,25 @@
+To use postfix instead of sendmail:
+ - clear sendmail queue and stop the sendmail daemons
+
+Run the following commands to enable postfix during startup:
+ - sysrc postfix_enable="YES"
+ - sysrc sendmail_enable="NONE"
+
+If postfix is *not* already activated in %%MC_PREFIX%%/etc/mail/mailer.conf
+ - mv %%MC_PREFIX%%/etc/mail/mailer.conf %%MC_PREFIX%%/etc/mail/mailer.conf.old
+ - install -m 0644 %%DATADIR%%/mailer.conf.postfix %%MC_PREFIX%%/etc/mail/mailer.conf
+
+Disable sendmail(8) specific tasks,
+add the following lines to /etc/periodic.conf(.local):
+ daily_clean_hoststat_enable="NO"
+ daily_status_mail_rejects_enable="NO"
+ daily_status_include_submit_mailq="NO"
+ daily_submit_queuerun="NO"
+
+If you are using SASL, you need to make sure that postfix has access to read
+the sasldb file. This is accomplished by adding postfix to group mail and
+making the %%PREFIX%%/etc/sasldb* file(s) readable by group mail (this should
+be the default for new installs).
+
+If you are upgrading from prior postfix version, review the RELEASE_NOTES to
+familiarize yourself with new features and incompatabilities.
diff --git a/mail/postfix211/files/postfix.in b/mail/postfix211/files/postfix.in
new file mode 100644
index 000000000000..74c1550bf984
--- /dev/null
+++ b/mail/postfix211/files/postfix.in
@@ -0,0 +1,52 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+# PROVIDE: postfix mail
+# REQUIRE: %%REQUIRE%%
+# KEYWORD: shutdown
+#
+# Add the following lines to /etc/rc.conf to enable postfix:
+# postfix_enable (bool): Set it to "YES" to enable postfix.
+# Default is "NO".
+# postfix_pidfile (path): Set full path to master.pid.
+# Default is "/var/spool/postfix/pid/master.pid".
+# postfix_procname (command): Set command that start master. Used to verify if
+# postfix is running.
+# Default is "%%PREFIX%%/libexec/postfix/master".
+# postfix_flags (str): Flags passed to postfix-script on startup.
+# Default is "".
+#
+
+. /etc/rc.subr
+
+name="postfix"
+rcvar=postfix_enable
+
+load_rc_config $name
+
+: ${postfix_enable:="NO"}
+: ${postfix_pidfile:="/var/spool/postfix/pid/master.pid"}
+: ${postfix_procname:="%%PREFIX%%/libexec/postfix/master"}
+
+start_cmd=${name}_start
+stop_cmd=${name}_stop
+extra_commands="reload"
+reload_cmd="${name}_reload"
+
+pidfile=${postfix_pidfile}
+procname=${postfix_procname}
+
+postfix_start() {
+ %%PREFIX%%/sbin/postfix ${postfix_flags} start
+}
+
+postfix_stop() {
+ %%PREFIX%%/sbin/postfix ${postfix_flags} stop
+}
+
+postfix_reload() {
+ %%PREFIX%%/sbin/postfix ${postfix_flags} reload
+}
+
+run_rc_command "$1"
diff --git a/mail/postfix211/pkg-descr b/mail/postfix211/pkg-descr
new file mode 100644
index 000000000000..bcbf2703fea9
--- /dev/null
+++ b/mail/postfix211/pkg-descr
@@ -0,0 +1,15 @@
+Postfix attempts to be fast, easy to administer, and secure, while at the same
+time being sendmail compatible enough to not upset existing users. Thus, the
+outside has a sendmail-ish flavor, but the inside is completely different.
+
+Some feautures:
+
+Connection cache for SMTP, DSN status notifications, IP version 6, Plug-in
+support for multiple SASL implementations (Cyrus, Dovecot), TLS encryption and
+authentication, Configurable status notification message text, Access control
+per client/sender/recipient/etc, Content filter (built-in, external before
+queue, external after queue), Berkeley DB database, LDAP database, MySQL
+database, PostgreSQL database, Maildir and mailbox format, Virtual domains,
+VERP envelope return addresses and others.
+
+WWW: http://www.postfix.org/
diff --git a/mail/postfix211/pkg-help b/mail/postfix211/pkg-help
new file mode 100644
index 000000000000..f28015a0b496
--- /dev/null
+++ b/mail/postfix211/pkg-help
@@ -0,0 +1,15 @@
+Readme SASL:
+
+Dovecot uses its own daemon process for authentication. Because there is no
+need to link extra libraries into Postfix, Dovecot SASL will be build into
+Postfix by default.
+
+Cyrus SASL is optional and will be the default if build with SASL=on
+
+To find out what SASL implementations are compiled into Postfix, use the
+following commands:
+
+ % postconf -a (SASL support in the SMTP server)
+ % postconf -A (SASL support in the SMTP+LMTP client)
+ % postconf smtpd_sasl_type (show default SASL)
+
diff --git a/mail/postfix211/pkg-plist b/mail/postfix211/pkg-plist
new file mode 100644
index 000000000000..38c2fcff4592
--- /dev/null
+++ b/mail/postfix211/pkg-plist
@@ -0,0 +1,157 @@
+bin/mailq
+bin/newaliases
+%%TEST%%bin/qmqp-sink
+%%TEST%%bin/qmqp-source
+bin/qshape
+bin/rmail
+%%TEST%%bin/smtp-sink
+%%TEST%%bin/smtp-source
+%%PFETC%%/LICENSE
+%%PFETC%%/TLS_LICENSE
+%%PFETC%%/bounce.cf.default
+%%PFETC%%/main.cf.default
+@sample %%PFETC%%/main.cf.sample
+%%PFETC%%/makedefs.out
+@sample %%PFETC%%/master.cf.sample
+libexec/postfix/anvil
+libexec/postfix/bounce
+libexec/postfix/cleanup
+libexec/postfix/discard
+libexec/postfix/dnsblog
+libexec/postfix/error
+libexec/postfix/flush
+libexec/postfix/lmtp
+libexec/postfix/local
+libexec/postfix/main.cf
+libexec/postfix/master
+libexec/postfix/master.cf
+libexec/postfix/nqmgr
+libexec/postfix/oqmgr
+libexec/postfix/pickup
+libexec/postfix/pipe
+libexec/postfix/post-install
+libexec/postfix/postfix-files
+libexec/postfix/postfix-script
+libexec/postfix/postfix-wrapper
+libexec/postfix/postmulti-script
+libexec/postfix/postscreen
+libexec/postfix/proxymap
+libexec/postfix/qmgr
+libexec/postfix/qmqpd
+libexec/postfix/scache
+libexec/postfix/showq
+libexec/postfix/smtp
+libexec/postfix/smtpd
+libexec/postfix/spawn
+libexec/postfix/tlsmgr
+libexec/postfix/tlsproxy
+libexec/postfix/trivial-rewrite
+libexec/postfix/verify
+libexec/postfix/virtual
+%%BMAN%%man/man1/mailq.1.gz
+%%BMAN%%man/man1/newaliases.1.gz
+%%BMAN%%man/man1/postalias.1.gz
+%%BMAN%%man/man1/postcat.1.gz
+%%BMAN%%man/man1/postconf.1.gz
+%%BMAN%%man/man1/postdrop.1.gz
+%%BMAN%%man/man1/postfix.1.gz
+%%BMAN%%man/man1/postkick.1.gz
+%%BMAN%%man/man1/postlock.1.gz
+%%BMAN%%man/man1/postlog.1.gz
+%%BMAN%%man/man1/postmap.1.gz
+%%BMAN%%man/man1/postmulti.1.gz
+%%BMAN%%man/man1/postqueue.1.gz
+%%BMAN%%man/man1/postsuper.1.gz
+%%BMAN%%man/man1/posttls-finger.1.gz
+%%TEST%%%%BMAN%%man/man1/qmqp-sink.1.gz
+%%TEST%%%%BMAN%%man/man1/qmqp-source.1.gz
+%%BMAN%%man/man1/qshape.1.gz
+%%BMAN%%man/man1/sendmail.1.gz
+%%TEST%%%%BMAN%%man/man1/smtp-sink.1.gz
+%%TEST%%%%BMAN%%man/man1/smtp-source.1.gz
+%%BMAN%%man/man5/access.5.gz
+%%BMAN%%man/man5/aliases.5.gz
+%%BMAN%%man/man5/body_checks.5.gz
+%%BMAN%%man/man5/bounce.5.gz
+%%BMAN%%man/man5/canonical.5.gz
+%%BMAN%%man/man5/cidr_table.5.gz
+%%BMAN%%man/man5/generic.5.gz
+%%BMAN%%man/man5/header_checks.5.gz
+%%BMAN%%man/man5/ldap_table.5.gz
+%%BMAN%%man/man5/lmdb_table.5.gz
+%%BMAN%%man/man5/master.5.gz
+%%BMAN%%man/man5/memcache_table.5.gz
+%%BMAN%%man/man5/mysql_table.5.gz
+%%BMAN%%man/man5/nisplus_table.5.gz
+%%BMAN%%man/man5/pcre_table.5.gz
+%%BMAN%%man/man5/pgsql_table.5.gz
+%%BMAN%%man/man5/postconf.5.gz
+%%BMAN%%man/man5/postfix-wrapper.5.gz
+%%BMAN%%man/man5/regexp_table.5.gz
+%%BMAN%%man/man5/relocated.5.gz
+%%BMAN%%man/man5/socketmap_table.5.gz
+%%BMAN%%man/man5/sqlite_table.5.gz
+%%BMAN%%man/man5/tcp_table.5.gz
+%%BMAN%%man/man5/transport.5.gz
+%%BMAN%%man/man5/virtual.5.gz
+%%BMAN%%man/man8/anvil.8.gz
+%%BMAN%%man/man8/bounce.8.gz
+%%BMAN%%man/man8/cleanup.8.gz
+%%BMAN%%man/man8/defer.8.gz
+%%BMAN%%man/man8/discard.8.gz
+%%BMAN%%man/man8/dnsblog.8.gz
+%%BMAN%%man/man8/error.8.gz
+%%BMAN%%man/man8/flush.8.gz
+%%BMAN%%man/man8/lmtp.8.gz
+%%BMAN%%man/man8/local.8.gz
+%%BMAN%%man/man8/master.8.gz
+%%BMAN%%man/man8/oqmgr.8.gz
+%%BMAN%%man/man8/pickup.8.gz
+%%BMAN%%man/man8/pipe.8.gz
+%%BMAN%%man/man8/postscreen.8.gz
+%%BMAN%%man/man8/proxymap.8.gz
+%%BMAN%%man/man8/qmgr.8.gz
+%%BMAN%%man/man8/qmqpd.8.gz
+%%BMAN%%man/man8/scache.8.gz
+%%BMAN%%man/man8/showq.8.gz
+%%BMAN%%man/man8/smtp.8.gz
+%%BMAN%%man/man8/smtpd.8.gz
+%%BMAN%%man/man8/spawn.8.gz
+%%BMAN%%man/man8/tlsmgr.8.gz
+%%BMAN%%man/man8/tlsproxy.8.gz
+%%BMAN%%man/man8/trace.8.gz
+%%BMAN%%man/man8/trivial-rewrite.8.gz
+%%BMAN%%man/man8/verify.8.gz
+%%BMAN%%man/man8/virtual.8.gz
+sbin/postalias
+sbin/postcat
+sbin/postconf
+@(,maildrop,2755) sbin/postdrop
+sbin/postfix
+sbin/postkick
+sbin/postlock
+sbin/postlog
+sbin/postmap
+sbin/postmulti
+@(,maildrop,2755) sbin/postqueue
+sbin/postsuper
+sbin/posttls-finger
+sbin/sendmail
+%%DATADIR%%/mailer.conf.postfix
+@dir %%PFETC%%
+@dir(postfix,,700) /var/db/postfix
+@dir(postfix,,700) /var/spool/postfix/active
+@dir(postfix,,700) /var/spool/postfix/bounce
+@dir(postfix,,700) /var/spool/postfix/corrupt
+@dir(postfix,,700) /var/spool/postfix/defer
+@dir(postfix,,700) /var/spool/postfix/deferred
+@dir(postfix,,700) /var/spool/postfix/flush
+@dir(postfix,,700) /var/spool/postfix/hold
+@dir(postfix,,700) /var/spool/postfix/incoming
+@dir(postfix,maildrop,730) /var/spool/postfix/maildrop
+@dir(,postfix,755) /var/spool/postfix/pid
+@dir(postfix,,700) /var/spool/postfix/private
+@dir(postfix,maildrop,710) /var/spool/postfix/public
+@dir(postfix,,700) /var/spool/postfix/saved
+@dir(postfix,,700) /var/spool/postfix/trace
+@dir(,,755) /var/spool/postfix