ports/mail/postfix/Makefile.inc

141 lines
4.2 KiB
PHP
Raw Normal View History

2023-08-16 22:26:55 +00:00
COMMENT= fast, secure sendmail replacement
DISTNAME= postfix-${VERSION}
PKGNAME= postfix-${VERSION:S/-/./}
CATEGORIES= mail
2023-09-26 17:06:53 +00:00
SITE_POSTFIX= \
2023-08-16 22:26:55 +00:00
https://archive.mgm51.com/mirrors/postfix-source/ \
https://de.postfix.org/ftpmirror/ \
https://postfix-mirror.horus-it.com/postfix-release/ \
ftp://ftp.porcupine.org/mirrors/postfix-release/
DIST_SUBDIR= postfix
HOMEPAGE= https://www.postfix.org/
MAINTAINER= Brad Smith <brad@comstyle.com>
# IBM Public License 1.0 / Eclipse Public License 2.0
PERMIT_PACKAGE= Yes
MAKE_DEBUG?=
MAKE_CCARGS+= -I. -I../../include
MAKE_CCARGS+= -DDEF_CONFIG_DIR=\"${SYSCONFDIR}/postfix\"
MAKE_CCARGS+= -DDEF_DATA_DIR=\"/var/postfix\"
MAKE_CCARGS+= -DHAS_SQLITE
MAKE_CCARGS+= -DUSE_TLS
MAKE_CCARGS+= -DUSE_SASL_AUTH
# no UTF-8 support for now
MAKE_CCARGS+= -DNO_EAI
MAKE_AUXLIBS+= -lsqlite3 -pthread
WANTLIB+= c pthread sqlite3
LIB_DEPENDS+= databases/sqlite3
.if ${VERSION:M3.5*}
WANTLIB+= pcre
LIB_DEPENDS+= devel/pcre
.else
WANTLIB+= pcre2-8
LIB_DEPENDS+= devel/pcre2
.endif
ALL_TARGET= default
NO_TEST= Yes
FLAVORS+= sasl2 ldap mysql pgsql
FLAVOR?=
# TLS support in Postfix 3.6+ requires OpenSSL 1.1.1+ and does require
# APIs which are not available in LibreSSL. It is linked statically
# to avoid conflicting with shared libssl/libcrypto from the base OS
# pulled in via dependencies (for ldap/mysql/pgsql).
#
# Kept behind a variable to simplify building against libressl for
# development work.
NEEDS_OPENSSL?= No
.if ${FLAVOR:Msasl2}
LIB_DEPENDS+= security/cyrus-sasl2
WANTLIB+= sasl2
MAKE_CCARGS+= -DUSE_CYRUS_SASL -I${LOCALBASE}/include -I${LOCALBASE}/include/sasl
MAKE_AUXLIBS+= -L${LOCALBASE}/lib -lsasl2
.endif
.if ${NEEDS_OPENSSL:L:Myes}
. if ${MACHINE_ARCH} != aarch64 && ${MACHINE_ARCH} != amd64 && ${MACHINE_ARCH} != riscv64
USE_NOEXECONLY= Yes
. endif
BUILD_DEPENDS+= security/openssl/3.0
MAKE_CCARGS+= -I${LOCALBASE}/include/eopenssl30
MAKE_AUXLIBS+= ${LOCALBASE}/lib/eopenssl30/libssl.a \
${LOCALBASE}/lib/eopenssl30/libcrypto.a
.else
MAKE_AUXLIBS+= -lssl -lcrypto
WANTLIB+= crypto ssl
.endif
.if ${FLAVOR:Mldap}
LIB_DEPENDS+= databases/openldap
WANTLIB+= ldap>=2 lber
MAKE_CCARGS+= -DHAS_LDAP -I${LOCALBASE}/include
MAKE_AUXLIBS+= -L${LOCALBASE}/lib -lldap -llber
.endif
.if ${FLAVOR:Mmysql}
LIB_DEPENDS+= databases/mariadb
WANTLIB+= lib/mysql/mariadb
MAKE_CCARGS+= -DHAS_MYSQL -I${LOCALBASE}/include/mysql
MAKE_AUXLIBS+= -L${LOCALBASE}/lib/mysql -lmariadb
.endif
.if ${FLAVOR:Mpgsql}
LIB_DEPENDS+= databases/postgresql
WANTLIB+= pq>=3
MAKE_CCARGS+= -DHAS_PGSQL -I${LOCALBASE}/include/postgresql
MAKE_AUXLIBS+= -L${LOCALBASE}/lib -lpq
.endif
pre-configure:
@perl -pi -e 's,/cyrus/bin,${LOCALBASE}/libexec/cyrus-imapd,g' \
${WRKSRC}/conf/master.cf
do-configure:
@cd ${WRKSRC}; ${MAKE_PROGRAM} makefiles \
CC="${CC}" OPT="${CFLAGS}" DEBUG="${MAKE_DEBUG}" \
CCARGS='${MAKE_CCARGS}' AUXLIBS="${MAKE_AUXLIBS}"
do-install:
${INSTALL_DATA_DIR} ${PREFIX}/share/examples/postfix
@(cd ${WRKSRC}; sh postfix-install \
-non-interactive \
mail_owner=_postfix \
setgid_group=_postdrop \
install_root=${WRKINST} \
data_directory=/var/postfix \
queue_directory=/var/spool/postfix \
daemon_directory=${TRUEPREFIX}/libexec/postfix \
command_directory=${TRUEPREFIX}/sbin \
sendmail_path=${TRUEPREFIX}/sbin/sendmail \
newaliases_path=${TRUEPREFIX}/sbin/newaliases \
mailq_path=${TRUEPREFIX}/sbin/mailq \
manpage_directory=${TRUEPREFIX}/man \
readme_directory=${TRUEPREFIX}/share/doc/postfix/readme \
html_directory=${TRUEPREFIX}/share/doc/postfix/html \
)
${INSTALL_SCRIPT} ${FILESDIR}/postfix-enable ${PREFIX}/sbin
${INSTALL_SCRIPT} ${FILESDIR}/postfix-disable ${PREFIX}/sbin
${INSTALL_SCRIPT} ${FILESDIR}/postfix-install ${PREFIX}/sbin
${INSTALL_SCRIPT} ${WRKSRC}/auxiliary/qshape/qshape.pl ${PREFIX}/sbin/qshape
${INSTALL_PROGRAM} ${WRKSRC}/bin/posttls-finger ${PREFIX}/sbin
${INSTALL_MAN} ${WRKSRC}/man/man1/{qshape,posttls-finger}.1 ${PREFIX}/man/man1
@mv ${WRKINST}${SYSCONFDIR}/postfix/* ${PREFIX}/share/examples/postfix
@rm -fr ${WRKINST}/var/postfix
@rm -fr ${WRKINST}/var/spool/postfix
@chown -h ${BINOWN}:${BINGRP} ${PREFIX}/{sbin,libexec/postfix}/*
@chown -R ${MANOWN}:${MANGRP} ${PREFIX}/man
@chown -R ${SHAREOWN}:${SHAREGRP} ${PREFIX}/share