aboutsummaryrefslogtreecommitdiff
path: root/mail/spamassassin-devel/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'mail/spamassassin-devel/Makefile')
-rw-r--r--mail/spamassassin-devel/Makefile184
1 files changed, 184 insertions, 0 deletions
diff --git a/mail/spamassassin-devel/Makefile b/mail/spamassassin-devel/Makefile
new file mode 100644
index 000000000000..7e2691fc1e0a
--- /dev/null
+++ b/mail/spamassassin-devel/Makefile
@@ -0,0 +1,184 @@
+# Created by: Anthony Kim
+# $FreeBSD$
+
+PORTNAME= spamassassin
+PORTVERSION= ${SA_COMMIT_DATE}
+CATEGORIES?= mail perl5
+PKGNAMESUFFIX= -devel
+
+MAINTAINER?= cy@FreeBSD.org
+COMMENT?= Highly efficient mail filter for identifying spam
+
+USE_GITHUB= yes
+GH_ACCOUNT= apache
+GH_TAGNAME= f9c70ed
+SA_COMMIT_DATE= 2021.03.24
+
+LICENSE= APACHE20
+
+BUILD_DEPENDS= p5-Encode-Detect>=0:converters/p5-Encode-Detect \
+ p5-HTML-Parser>=3.46:www/p5-HTML-Parser \
+ p5-HTTP-Date>=0:www/p5-HTTP-Date \
+ p5-Net-DNS>=0.63:dns/p5-Net-DNS \
+ p5-NetAddr-IP>=4.010:net-mgmt/p5-NetAddr-IP
+RUN_DEPENDS:= ${BUILD_DEPENDS} \
+ p5-Net-CIDR-Lite>=0:net/p5-Net-CIDR-Lite \
+ p5-Net-IDN-Encode>=0:textproc/p5-Net-IDN-Encode \
+ p5-Net-LibIDN>=0:dns/p5-Net-LibIDN \
+ p5-URI>=0:net/p5-URI \
+ re2c>=.12.0:devel/re2c
+
+.for dep in DCC DKIM MYSQL PGSQL PYZOR RAZOR RELAY_COUNTRY RLIMIT SPF_QUERY SSL
+TEST_DEPENDS+= ${${dep}_RUN_DEPENDS}
+.endfor
+
+CONFLICTS?= ja-spamassassin-[0-9]* spamassassin-[0-9]*
+
+CPE_VENDOR= apache
+
+USES= cpe perl5
+USE_PERL5= configure
+USE_LDCONFIG= yes
+
+DATADIR= ${PREFIX}/share/spamassassin
+DBDIR?= /var/db
+DOCSDIR= ${PREFIX}/share/doc/${PKGNAMEPREFIX}${PORTNAME}
+ETCDIR?= ${PREFIX}/etc/mail/spamassassin
+
+SPAMASSASSIN_CONTACT_ADDRESS?= The administrator of that system
+USERS?= spamd
+GROUPS?= spamd
+CONFIGURE_ARGS= SYSCONFDIR="${PREFIX}/etc" \
+ CONTACT_ADDRESS="${SPAMASSASSIN_CONTACT_ADDRESS}" \
+ LOCALSTATEDIR="${DBDIR}/spamassassin" \
+ BUILD_SPAMC=yes
+
+OPTIONS_DEFINE= AS_ROOT DOCS SSL
+OPTIONS_GROUP= DATABASE GPG PLUGINS
+OPTIONS_GROUP_DATABASE= MYSQL PGSQL
+OPTIONS_GROUP_PLUGINS= DCC DKIM PYZOR RAZOR RELAY_COUNTRY RLIMIT SPF_QUERY
+OPTIONS_SINGLE= GPG
+OPTIONS_SINGLE_GPG= GNUPG_NONE GNUPG GNUPG2
+OPTIONS_DEFAULT= AS_ROOT DKIM GNUPG SSL SPF_QUERY
+
+AS_ROOT_DESC= Run spamd as root (recommended)
+
+DATABASE_DESC= Optional user-config/bayes database backends
+
+GPG_DESC= GnuPG (for sa-update)
+GNUPG_NONE_DESC= Do not use GnuPG
+GNUPG_DESC= GnuPG 1 (security/gnupg1)
+GNUPG2_DESC= GnuPG 2 (security/gnupg)
+
+PLUGINS_DESC= Optional SpamAssassin plugins
+DCC_DESC= DCC digest list support (mail/dcc-dccd)
+DKIM_DESC= Verify DKIM records (mail/p5-Mail-DKIM)
+PYZOR_DESC= Pyzor digest list support (mail/pyzor)
+RAZOR_DESC= Vipul's Razor digest list support (mail/razor-agents)
+RELAY_COUNTRY_DESC= Location-based scoring (net/p5-GeoIP2)
+RLIMIT_DESC= Resource limits (devel/p5-BSD-Resource)
+SPF_QUERY_DESC= Verify SPF records (mail/p5-Mail-SPF)
+
+SUB_FILES= pkg-message
+SUB_LIST+= SPAMD_OWN="${USERS}:${GROUPS}"
+PLIST_SUB+= USER=${USERS} GROUP=${GROUPS}
+OPTIONS_SUB= yes
+
+AS_ROOT_SUB_LIST= RUN_AS_USER="-u ${USERS} -H /var/spool/spamd"
+AS_ROOT_SUB_LIST_OFF= RUN_AS_USER=
+DCC_RUN_DEPENDS= dcc-dccd>=1.3.111:mail/dcc-dccd
+DKIM_RUN_DEPENDS= p5-IO-Socket-SSL>=0:security/p5-IO-Socket-SSL \
+ p5-Mail-DKIM>=0.37:mail/p5-Mail-DKIM \
+ p5-Crypt-OpenSSL-RSA>=0.26_1:security/p5-Crypt-OpenSSL-RSA
+GNUPG_RUN_DEPENDS= gnupg1>=1.4.7:security/gnupg1
+GNUPG2_RUN_DEPENDS= gpg2:security/gnupg
+MYSQL_RUN_DEPENDS= p5-DBD-mysql>=0:databases/p5-DBD-mysql
+PGSQL_RUN_DEPENDS= p5-DBD-Pg>=0:databases/p5-DBD-Pg
+PYZOR_RUN_DEPENDS= pyzor:mail/pyzor
+RAZOR_RUN_DEPENDS= razor-agents>=2.84:mail/razor-agents \
+ p5-Digest-SHA1>=2.13:security/p5-Digest-SHA1
+RLIMIT_RUN_DEPENDS= p5-BSD-Resource>=1.2911:devel/p5-BSD-Resource
+RELAY_COUNTRY_RUN_DEPENDS= p5-GeoIP2>=0:net/p5-GeoIP2 \
+ p5-IP-Country>=0:net/p5-IP-Country
+SPF_QUERY_RUN_DEPENDS= p5-Mail-SPF>=0:mail/p5-Mail-SPF
+
+SSL_USES= ssl
+SSL_RUN_DEPENDS= p5-IO-Socket-SSL>=0:security/p5-IO-Socket-SSL
+SSL_CONFIGURE_ON= ENABLE_SSL=yes
+SSL_CONFIGURE_OFF= ENABLE_SSL=no
+
+# plugin names in rules/*.pre, for enabling/disabling
+DCC_INITVAR= DCC
+DKIM_INITVAR= DKIM
+PYZOR_INITVAR= Pyzor
+RAZOR_INITVAR= Razor2
+RELAY_COUNTRY_INITVAR= RelayCountry
+RLIMIT_INITVAR= ResourceLimit
+SPF_QUERY_INITVAR= SPF
+
+DOCS= CREDITS Changes INSTALL NOTICE PACKAGING README TRADEMARK UPGRADE USAGE procmailrc.example
+DOCSSQL= README README.awl README.bayes awl_mysql.sql awl_pg.sql bayes_mysql.sql bayes_pg.sql userpref_mysql.sql userpref_pg.sql
+DOCSLDAP= README README.testing sa_test.ldif
+PORTDOCS= ${DOCS} sql ldap
+
+USE_RC_SUBR= sa-spamd
+
+ALL_TARGET= all spamc/libspamc.so
+
+.include <bsd.port.pre.mk>
+
+.if ${PORT_OPTIONS:MSSL}
+CFLAGS+= -I${OPENSSLINC}
+LDFLAGS+= -L${OPENSSLLIB}
+ALL_TARGET+= spamc/libsslspamc.so
+.endif
+
+.if ${PORT_OPTIONS:MMYSQL} || ${PORT_OPTIONS:MPGSQL}
+SUB_LIST+= SQL_FLAG="-Q"
+.else
+SUB_LIST+= SQL_FLAG=""
+.endif
+
+post-patch::
+ ${REINPLACE_CMD} -e 's,B_CONFDIR)/local.cf,B_CONFDIR)/local.cf.sample,g' \
+ -e 's,B_CONFDIR)/init.pre,B_CONFDIR)/init.pre.sample,g' \
+ -e 's,B_CONFDIR)/v310.pre,B_CONFDIR)/v310.pre.sample,g' \
+ -e 's,B_CONFDIR)/v312.pre,B_CONFDIR)/v312.pre.sample,g' \
+ -e 's,B_CONFDIR)/v320.pre,B_CONFDIR)/v320.pre.sample,g' \
+ -e 's,B_CONFDIR)/v330.pre,B_CONFDIR)/v330.pre.sample,g' \
+ -e 's,B_CONFDIR)/v340.pre,B_CONFDIR)/v340.pre.sample,g' \
+ -e 's,B_CONFDIR)/v341.pre,B_CONFDIR)/v341.pre.sample,g' \
+ -e 's,B_CONFDIR)/v342.pre,B_CONFDIR)/v342.pre.sample,g' \
+ -e 's,B_CONFDIR)/v343.pre,B_CONFDIR)/v343.pre.sample,g' \
+ -e 's,B_CONFDIR)/v400.pre,B_CONFDIR)/v400.pre.sample,g' \
+ -e 's/require DBI/0/' \
+ ${WRKSRC}/Makefile.PL
+ ${REINPLACE_CMD} -e '/^CC =/d; \
+ s|@SSLCFLAGS@|& $${CFLAGS}|g' ${WRKSRC}/spamc/Makefile.in
+
+.for var in ${OPTIONS_GROUP_PLUGINS}
+. if ${PORT_OPTIONS:M${var}}
+ ${REINPLACE_CMD} -e '/${${var}_INITVAR}/s/^\#.*loadplugin/loadplugin/' ${WRKSRC}/rules/*.pre
+. else
+ ${REINPLACE_CMD} -e '/${${var}_INITVAR}/s/^loadplugin/\# loadplugin/' ${WRKSRC}/rules/*.pre
+. endif
+.endfor
+
+pre-su-install:
+ @${MKDIR} ${STAGEDIR}${DATADIR}
+ ${INSTALL_LIB} ${WRKSRC}/spamc/libspamc.so ${STAGEDIR}${PREFIX}/lib/libspamc.so.0
+ ${LN} -sf libspamc.so.0 ${STAGEDIR}${PREFIX}/lib/libspamc.so
+.if ${PORT_OPTIONS:MSSL}
+ ${INSTALL_LIB} ${WRKSRC}/spamc/libsslspamc.so ${STAGEDIR}${PREFIX}/lib/libsslspamc.so.0
+ ${LN} -sf libsslspamc.so.0 ${STAGEDIR}${PREFIX}/lib/libsslspamc.so
+.endif
+ ${INSTALL_DATA} ${WRKSRC}/spamc/libspamc.h ${STAGEDIR}${PREFIX}/include
+
+post-install::
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/spamc
+ @${MKDIR} ${STAGEDIR}/var/lib/spamassassin ${STAGEDIR}${DBDIR}/spamassassin ${STAGEDIR}/var/run/spamd
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${DOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
+ (cd ${WRKSRC} && ${COPYTREE_SHARE} "sql ldap" ${STAGEDIR}${DOCSDIR})
+
+.include <bsd.port.post.mk>