diff options
Diffstat (limited to 'mail/spamassassin-devel/Makefile')
-rw-r--r-- | mail/spamassassin-devel/Makefile | 184 |
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> |