231 lines
7.2 KiB
Makefile
231 lines
7.2 KiB
Makefile
# $NetBSD: Makefile,v 1.18 2013/03/02 10:43:36 trontor Exp $
|
|
|
|
DISTNAME= Mail-SpamAssassin-${_SA_CVS_VER}
|
|
PKGNAME= spamassassin-cvs-${_SA_CVS_DATE}
|
|
PKGREVISION= 2
|
|
SVR4_PKGNAME= sa
|
|
CATEGORIES= mail
|
|
MASTER_SITES= http://www.spamassassin.org/devel/ \
|
|
http://eu.spamassassin.org/devel/ \
|
|
http://au.spamassassin.org/devel/
|
|
|
|
MAINTAINER= tom@replic8.net
|
|
HOMEPAGE= http://spamassassin.apache.org/
|
|
COMMENT= Mail filter to identify spam (CVS snapshot)
|
|
|
|
DEPENDS+= p5-Net-DNS>=0.29:../../net/p5-Net-DNS
|
|
DEPENDS+= p5-HTML-Parser>=3.29:../../www/p5-HTML-Parser
|
|
DEPENDS+= p5-Digest-SHA1-[0-9]*:../../security/p5-Digest-SHA1
|
|
DEPENDS+= p5-MIME-Base64>=2.11:../../converters/p5-MIME-Base64
|
|
DEPENDS+= p5-DB_File-[0-9]*:../../databases/p5-DB_File
|
|
|
|
CONFLICTS= p5-Mail-SpamAssassin-[1-9]* \
|
|
spamassassin-[1-9]*
|
|
|
|
PKG_DESTDIR_SUPPORT= none
|
|
PKG_INSTALLATION_TYPES= overwrite pkgviews
|
|
|
|
EXTRACT_SUFX?= .tar.bz2
|
|
NO_CHECKSUM= YES
|
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
|
|
# which version of SA is current in CVS
|
|
_SA_CVS_VER?= 3.000000-cvs
|
|
_SA_CVS_DATE!= ${DATE} +%Y%m%d
|
|
|
|
WRKSRC= ${WRKDIR}/${DISTNAME:S/-cvs//}
|
|
|
|
PERL5_REQD+= 5.6.1 # MakeMaker >= 5.45 needed, >= 6.16 recommended
|
|
|
|
PKG_SYSCONFSUBDIR= spamassassin
|
|
|
|
# Set contact address (e-mail, URL, ...) for use in spam report messages
|
|
# See "perldoc Mail::SpamAssassin::Conf" for option "report_contact"
|
|
SPAMASSASSIN_CONTACT_ADDRESS?= 'postmaster'
|
|
|
|
# Use "NO" to turn off warnings and taint checks in spamd/spamassassin
|
|
SPAMASSASSIN_PERL_WARNINGS?= YES
|
|
SPAMASSASSIN_PERL_TAINT_CHECKS?= YES
|
|
|
|
# Enable test for Razor/Pyzor during 'make test'?
|
|
SPAMASSASSIN_NET_TESTS?= NO
|
|
|
|
# Use "NO" to disable OpenSSL support
|
|
SPAMASSASSIN_USE_SSL?= YES
|
|
|
|
# Enable MySQL support using p5-DBI/DBD?
|
|
SPAMASSASSIN_USE_MYSQL?= NO
|
|
|
|
# Enable razor-agents support?
|
|
SPAMASSASSIN_USE_RAZOR?= YES
|
|
|
|
# Enable pyzor support?
|
|
SPAMASSASSIN_USE_PYZOR?= NO
|
|
|
|
.if !empty(SPAMASSASSIN_USE_SSL:M[yY][eE][sS])
|
|
. include "../../security/openssl/buildlink3.mk"
|
|
DEPENDS+= p5-IO-Socket-SSL>=0.92:../../security/p5-IO-Socket-SSL
|
|
CONFIGURE_ARGS+= --enable-ssl
|
|
MAKE_PARAMS= ENABLE_SSL=yes
|
|
SA_SSLCERTS= ${SSLCERTS}
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-ssl
|
|
MAKE_PARAMS= ENABLE_SSL=no
|
|
SA_SSLCERTS= '$$LOCAL_RULES_DIR/certs'
|
|
.endif
|
|
|
|
.if !empty(SPAMASSASSIN_USE_MYSQL:M[yY][eE][sS])
|
|
.include "../../databases/p5-DBI/buildlink3.mk"
|
|
DEPENDS+= p5-DBI>=1.37:../../databases/p5-DBI
|
|
DEPENDS+= p5-DBD-mysql>=2.1017:../../databases/p5-DBD-mysql
|
|
.endif
|
|
|
|
.if !empty(SPAMASSASSIN_USE_RAZOR:M[yY][eE][sS])
|
|
DEPENDS+= p5-razor-agents>=2.36:../../mail/p5-razor-agents
|
|
SPAMASSASSIN_NET_TESTS?= YES
|
|
.endif
|
|
|
|
.if !empty(SPAMASSASSIN_USE_PYZOR:M[yY][eE][sS])
|
|
#DEPENDS+= pyzor>=0.4.0:../../mail/pyzor
|
|
DEPENDS+= pyzor>=0.4.0:../../wip/pyzor
|
|
SPAMASSASSIN_NET_TESTS?= YES
|
|
.endif
|
|
|
|
BUILD_DEFS+= SPAMASSASSIN_USE_SSL
|
|
BUILD_DEFS+= SPAMASSASSIN_USE_MYSQL
|
|
BUILD_DEFS+= SPAMASSASSIN_USE_RAZOR
|
|
BUILD_DEFS+= SPAMASSASSIN_USE_PYZOR
|
|
BUILD_DEFS+= SPAMASSASSIN_CONTACT_ADDRESS
|
|
BUILD_DEFS+= SPAMASSASSIN_PERL_WARNINGS
|
|
BUILD_DEFS+= SPAMASSASSIN_PERL_TAINT_CHECKS
|
|
|
|
PLIST_ADD= ${WRKSRC}/.PLIST_ADD
|
|
PLIST_SRC= ${PKGDIR}/PLIST ${PLIST_ADD}
|
|
PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Mail/SpamAssassin/.packlist
|
|
|
|
#GNU_CONFIGURE= YES
|
|
CONFIGURE_DIRS= ${WRKSRC}/spamd
|
|
PERL5_CONFIGURE= NO # we need the default "do-configure" target
|
|
PERL5_CONFIGURE_DIRS= ${WRKSRC}
|
|
|
|
MAKE_PARAMS+= SYSCONFDIR="${PKG_SYSCONFDIR}"
|
|
MAKE_PARAMS+= LOCALRULESDIR="${PKG_SYSCONFDIR}"
|
|
MAKE_PARAMS+= DEFRULESDIR="${RULESDIR}"
|
|
MAKE_PARAMS+= RUN_NET_TESTS="${SPAMASSASSIN_NET_TESTS}"
|
|
MAKE_PARAMS+= PERL_WARN="${SPAMASSASSIN_PERL_WARNINGS}"
|
|
MAKE_PARAMS+= PERL_TAINT="${SPAMASSASSIN_PERL_TAINT_CHECKS}"
|
|
|
|
RCD_SCRIPTS= spamd
|
|
RCD_SCRIPT_SRC.spamd= ${WRKSRC}/spamd/netbsd-rc-script.sh
|
|
|
|
EGDIR= ${PREFIX}/share/examples/spamassassin
|
|
DOCDIR= ${PREFIX}/share/doc/spamassassin
|
|
DOC_SUBDIR= ${DOCDIR:S,^${PREFIX}/,,}
|
|
HTMLDIR= ${PREFIX}/share/doc/html/spamassassin
|
|
RULESDIR= ${PREFIX}/share/spamassassin
|
|
RULE_SUBDIR= ${RULESDIR:S,^${PREFIX}/,,}
|
|
|
|
CONF_FILES+= ${EGDIR}/local.cf ${PKG_SYSCONFDIR}/local.cf \
|
|
${RULESDIR}/user_prefs.template \
|
|
${PKG_SYSCONFDIR}/user_prefs.template
|
|
SUPPORT_FILES_PERMS+= ${EGDIR}/netbsd_lists.cf \
|
|
${PKG_SYSCONFDIR}/netbsd_lists.cf ${SHAREOWN} \
|
|
${SHAREGRP} ${SHAREMODE}
|
|
|
|
OWN_DIRS+= ${EGDIR} ${DOCDIR} ${DOCDIR}/spamd ${HTMLDIR}
|
|
|
|
SUBST_CLASSES+= sa1 sa2 sa3
|
|
|
|
SUBST_STAGE.sa1= post-patch
|
|
SUBST_FILES.sa1= Makefile.PL
|
|
SUBST_SED.sa1= -e s!@SA_CONTACT_ADDRESS@!${SPAMASSASSIN_CONTACT_ADDRESS}!
|
|
|
|
SUBST_STAGE.sa2= post-patch
|
|
SUBST_FILES.sa2= README spamd/spamd.raw
|
|
SUBST_SED.sa2= -e s!@PREFIX@!${PREFIX}!g \
|
|
-e s!@PKG_SYSCONFDIR@!${PKG_SYSCONFDIR}!g \
|
|
-e s!@SA_SSLCERTS@!${SA_SSLCERTS}!g
|
|
|
|
SUBST_STAGE.sa3= post-patch
|
|
SUBST_FILES.sa3= INSTALL USAGE lib/Mail/SpamAssassin/Conf.pm \
|
|
spamd/README spamd/README.vpopmail \
|
|
sql/README sql/README.awl sql/README.bayes
|
|
SUBST_SED.sa3= -e s!/usr/share!${PREFIX}/share!g \
|
|
-e s!/usr/bin!${PREFIX}/bin!g \
|
|
-e s!/usr/lib!${PREFIX}/lib!g \
|
|
-e s!/etc/mail/spamassassin!${PKG_SYSCONFDIR}!g
|
|
|
|
.if ${OPSYS} == "NetBSD"
|
|
# the 'spamd' RCD_SCRIPT behaves differently if we run NetBSD 1.6 or later
|
|
. if ${OS_VERSION:M1.[0-5]*}
|
|
INTERPRETER_SUPPORT= NO
|
|
. else
|
|
INTERPRETER_SUPPORT= YES
|
|
. endif
|
|
.endif
|
|
|
|
# These values are substituted into netbsd-rc-script.sh.
|
|
FILES_SUBST+= INTERPRETER_SUPPORT=${INTERPRETER_SUPPORT:Q}
|
|
FILES_SUBST+= OPSYS=${OPSYS:Q}
|
|
|
|
pre-configure: perl5-configure
|
|
|
|
pre-install:
|
|
${FIND} ${WRKSRC} -name "*.orig" -print -o \
|
|
-name "*.subst.sav" -print | ${XARGS} ${RM} -f
|
|
|
|
post-install:
|
|
@${TEST} -r ${PLIST_ADD} && ${RM} ${PLIST_ADD} ; :
|
|
@ # ninja image is in the static PLIST
|
|
@${INSTALL_DATA} ${WRKSRC}/ninjabutton.png ${HTMLDIR}/
|
|
.for f in COPYRIGHT INSTALL LICENSE README TRADEMARK USAGE \
|
|
CREDITS PACKAGING STATUS BUGS Changes \
|
|
sample-nonspam.txt sample-spam.txt spamd/README \
|
|
spamd/README.vpopmail
|
|
@${INSTALL_DATA} ${WRKSRC}/${f} ${DOCDIR}/${f}
|
|
@${ECHO} "${DOC_SUBDIR}/${f}" >> ${PLIST_ADD}
|
|
.endfor
|
|
.for f in STATISTICS.txt STATISTICS-set1.txt STATISTICS-set2.txt \
|
|
STATISTICS-set3.txt
|
|
@${INSTALL_DATA} ${WRKSRC}/rules/${f} ${DOCDIR}/
|
|
@${ECHO} "${DOC_SUBDIR}/${f}" >> ${PLIST_ADD}
|
|
.endfor
|
|
.for DIR in masses sql ldap tools
|
|
@cd ${WRKSRC}; \
|
|
for d in `${FIND} ${DIR} -type d -print`; do \
|
|
${INSTALL_DATA_DIR} ${DOCDIR}/$$d; \
|
|
done; \
|
|
for f in `${FIND} ${DIR} -type f -print`; do \
|
|
if ${TEST} -f $$f; then \
|
|
: ; \
|
|
else \
|
|
continue; \
|
|
fi; \
|
|
if ${TEST} -x $$f ; then \
|
|
${SED} -e "1s,#!.*/bin/perl,#!${PERL5}," < $$f \
|
|
> $${f}.fixed && \
|
|
${MV} $${f}.fixed $$f && \
|
|
${CHMOD} +x $$f && \
|
|
${INSTALL_SCRIPT} $$f ${DOCDIR}/$$f; \
|
|
else \
|
|
${INSTALL_DATA} $$f ${DOCDIR}/$$f; \
|
|
fi; \
|
|
${ECHO} "${DOC_SUBDIR}/$$f" >> ${PLIST_ADD}; \
|
|
done; \
|
|
| ${SORT} -r >> ${PLIST_ADD};
|
|
.endfor
|
|
@cd ${WRKSRC}/rules; \
|
|
for f in [0-9]*.cf; do \
|
|
${ECHO} "${RULE_SUBDIR}/$$f" >> ${PLIST_ADD}; \
|
|
done
|
|
@# examples are in the static PLIST
|
|
@${INSTALL_DATA} ${WRKSRC}/procmailrc.example ${EGDIR}/
|
|
@${INSTALL_DATA} ${WRKSRC}/rules/local.cf ${EGDIR}/
|
|
@${INSTALL_DATA} ${FILESDIR}/netbsd_lists.cf ${EGDIR}/
|
|
@${CHOWN} ${SHAREOWN} ${RULESDIR}/*
|
|
@${CHGRP} ${SHAREGRP} ${RULESDIR}/*
|
|
@${CHMOD} a=r ${RULESDIR}/*
|
|
|
|
.include "../../lang/perl5/module.mk"
|
|
.include "../../mk/bsd.pkg.mk"
|