From fa1cfee5d136a638d4ac47cc49b2a1b9c163caff Mon Sep 17 00:00:00 2001 From: Anthony Iliopoulos Date: Mon, 31 May 2021 12:57:20 +0200 Subject: [PATCH] postfix: add build options Enable build to be more modular by making most of the dependencies optional. Specifically, mysql, pgsql, sqlite, ldap, sasl and pcre are not strictly required and are all optional dependencies. --- srcpkgs/postfix/template | 45 +++++++++++++++++++++++++++------------- 1 file changed, 31 insertions(+), 14 deletions(-) diff --git a/srcpkgs/postfix/template b/srcpkgs/postfix/template index 80d321fb726c..bec92941ad92 100644 --- a/srcpkgs/postfix/template +++ b/srcpkgs/postfix/template @@ -3,8 +3,14 @@ pkgname=postfix version=3.6.1 revision=1 hostmakedepends="perl m4" -makedepends="icu-devel libldap-devel libmariadbclient-devel pcre-devel - postgresql-libs-devel sqlite-devel" +makedepends="icu-devel openssl-devel + $(vopt_if bdb db-devel) + $(vopt_if ldap libldap-devel) + $(vopt_if mysql libmariadbclient-devel) + $(vopt_if pcre pcre-devel) + $(vopt_if pgsql postgresql-libs-devel) + $(vopt_if sasl libsasl-devel) + $(vopt_if sqlite sqlite-devel)" short_desc="High-performance mail transport agent" maintainer="Benjamín Albiñana " license="IPL-1.0, EPL-2.0" @@ -12,6 +18,14 @@ homepage="http://www.postfix.org/" distfiles="http://ftp.porcupine.org/mirrors/postfix-release/official/${pkgname}-${version}.tar.gz" checksum=20a805625601e7b95989220832c8fa14ce374f0711da054188f8cec6a92fd71c +build_options="bdb ldap mysql pcre pgsql sasl sqlite" +build_options_default="ldap mysql pcre pgsql sasl sqlite" +desc_option_bdb="Enable support for BerkeleyDB" +desc_option_pcre="Enable support for pcre" +desc_option_pgsql="Enable support for postgresql" +desc_option_mysql="Enable support for mysql" +desc_option_sqlite="Enable support for sqlite" + system_accounts="postfix" postfix_homedir="/var/spool/postfix" system_groups="postdrop" @@ -57,27 +71,30 @@ do_build() { -i makedefs make makefiles CCARGS=" \ - -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I${XBPS_CROSS_BASE}/usr/include/sasl \ + $(vopt_if bdb '' -DNO_DB) \ + $(vopt_if ldap -DHAS_LDAP) \ + $(vopt_if mysql '-DHAS_MYSQL -I${XBPS_CROSS_BASE}/usr/include/mysql') \ + $(vopt_if pgsql '-DHAS_PGSQL -I${XBPS_CROSS_BASE}/usr/include/postgresql') \ + $(vopt_if sasl '-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I${XBPS_CROSS_BASE}/usr/include/sasl') \ + $(vopt_if sqlite -DHAS_SQLITE) \ -DNO_NIS \ - -DHAS_LDAP \ -DUSE_TLS \ -DHAS_EAI -I${XBPS_CROSS_BASE}/usr/include \ - -DHAS_MYSQL -I${XBPS_CROSS_BASE}/usr/include/mysql \ - -DHAS_PGSQL -I${XBPS_CROSS_BASE}/usr/include/postgresql \ - -DHAS_SQLITE \ -DDEF_COMMAND_DIR=\\\"/usr/bin\\\" \ -DDEF_SENDMAIL_PATH=\\\"/usr/bin/sendmail\\\" \ -DDEF_README_DIR=\\\"/usr/share/doc/postfix\\\" \ -DDEF_MANPAGE_DIR=\\\"/usr/share/man\\\" \ - " AUXLIBS=' \ - -lsasl2 \ - -lldap -llber \ + " AUXLIBS=" \ + $(vopt_if ldap '-lldap -llber') \ + $(vopt_if mysql -lmysqlclient) \ + $(vopt_if pgsql -lpq) \ + $(vopt_if sasl -lsasl2) \ + $(vopt_if sqlite -lsqlite3) \ -lssl -lcrypto \ - -lmysqlclient -lz -lm \ - -lpq \ - -lsqlite3 -lpthread \ + -lm \ + -lpthread \ -licuuc \ - ' OPT="${CFLAGS} ${LDFLAGS}" + " OPT="${CFLAGS} ${LDFLAGS}" make ${makejobs} }