PageRenderTime 24ms CodeModel.GetById 23ms RepoModel.GetById 0ms app.codeStats 0ms

/japanese/p5-Mail-SpamAssassin/Makefile

https://github.com/johnnywalker/freebsd-ports
Makefile | 343 lines | 297 code | 39 blank | 7 comment | 10 complexity | 4c5754a47ae1f9d3e607986617c091b3 MD5 | raw file
  1. # New ports collection makefile for: ja-p5-Mail-SpamAssassin
  2. # Date created: Jun 24 2007
  3. # Whom: TAOKA Fumiyoshi
  4. #
  5. # $FreeBSD$
  6. #
  7. PORTNAME= Mail-SpamAssassin
  8. PORTVERSION= 3.3.2
  9. PORTREVISION= 1
  10. CATEGORIES= japanese mail perl5
  11. MASTER_SITES= ${MASTER_SITE_APACHE:S/$/:apache/} ${MASTER_SITE_PERL_CPAN:S/$/:cpan/} \
  12. ${PATCH_SITES}
  13. MASTER_SITE_SUBDIR= spamassassin/source/:apache Mail/:cpan
  14. PKGNAMEPREFIX= ja-p5-
  15. DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:apache,cpan \
  16. ${TOKENIZER_PRE}:JA ${DOCJA}:JA
  17. DIST_SUBDIR= ja-spamassassin
  18. EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
  19. PATCH_SITES= http://spamassassin.emaillab.jp/pub/ja-patch/sa${PORTVERSION:R}/:JA
  20. PATCHFILES= spamassassin-${PORTVERSION}-ja-${PATCHLEVEL}.patch:JA
  21. PATCHLEVEL= 1
  22. PATCH_DIST_STRIP= -p1
  23. MAINTAINER= fmysh@iijmio-mail.jp
  24. COMMENT= SpamAssassin with Japanese tokenizer
  25. RUN_DEPENDS= p5-NetAddr-IP>=4.00.7:${PORTSDIR}/net-mgmt/p5-NetAddr-IP \
  26. p5-Net-DNS>=0.63:${PORTSDIR}/dns/p5-Net-DNS \
  27. p5-HTML-Parser>=3.46:${PORTSDIR}/www/p5-HTML-Parser \
  28. p5-libwww>=0:${PORTSDIR}/www/p5-libwww \
  29. p5-Encode-Detect>=0:${PORTSDIR}/converters/p5-Encode-Detect \
  30. p5-Mail-Tools>=0:${PORTSDIR}/mail/p5-Mail-Tools \
  31. ja-p5-MeCab>=0.98:${PORTSDIR}/japanese/p5-MeCab
  32. BUILD_DEPENDS= p5-NetAddr-IP>=4.00.7:${PORTSDIR}/net-mgmt/p5-NetAddr-IP \
  33. p5-Net-DNS>=0.63:${PORTSDIR}/dns/p5-Net-DNS \
  34. p5-HTML-Parser>=3.46:${PORTSDIR}/www/p5-HTML-Parser \
  35. p5-libwww>=0:${PORTSDIR}/www/p5-libwww \
  36. p5-Encode-Detect>=0:${PORTSDIR}/converters/p5-Encode-Detect \
  37. p5-Mail-Tools>=0:${PORTSDIR}/mail/p5-Mail-Tools
  38. CONFLICTS= p5-Mail-SpamAssassin-[0-9]*
  39. PERL_CONFIGURE= yes
  40. USE_PERL5_RUN= 5.8.8+
  41. USE_LDCONFIG= yes
  42. CONFIGURE_ARGS= SYSCONFDIR="${PREFIX}/etc" \
  43. CONTACT_ADDRESS="${CONTACT_ADDRESS}" \
  44. LOCALSTATEDIR="/var/db/spamassassin"
  45. USERS= spamd
  46. GROUPS= spamd
  47. # You can override it if you like
  48. CONTACT_ADDRESS?= The administrator of that system
  49. OPTIONS= AS_ROOT "Run spamd as root (recommended)" on \
  50. SPAMC "Build spamd/spamc (not for amavisd)" on \
  51. SACOMPILE "sa-compile" off \
  52. DKIM "DKIM/DomainKeys Identified Mail" on \
  53. SSL "Build with SSL support for spamd/spamc" on \
  54. GNUPG "Install GnuPG (for sa-update)" on \
  55. MYSQL "Add MySQL support" off \
  56. PGSQL "Add PostreSQL support" off \
  57. RAZOR "Add Vipul's Razor support" on \
  58. SPF_QUERY "Add SPF query support" off \
  59. RELAY_COUNTRY "Relay country support" off \
  60. DCC "Add DCC support (see LICENSE)" off
  61. .if !defined(WITHOUT_SSL)
  62. USE_OPENSSL= yes
  63. .endif
  64. .include <bsd.port.pre.mk>
  65. .if ${PERL_LEVEL} < 500903
  66. RUN_DEPENDS+= p5-IO-Compress>=2.017:${PORTSDIR}/archivers/p5-IO-Compress
  67. .endif
  68. .if ${PERL_LEVEL} < 501000
  69. RUN_DEPENDS+= p5-Archive-Tar>=1.23:${PORTSDIR}/archivers/p5-Archive-Tar \
  70. p5-IO-Zlib>=1.04:${PORTSDIR}/archivers/p5-IO-Zlib \
  71. p5-Test-Harness>=3.16:${PORTSDIR}/devel/p5-Test-Harness
  72. .endif
  73. .if defined (WITH_SPAMC)
  74. CONFIGURE_ARGS+= BUILD_SPAMC=yes
  75. .else
  76. CONFIGURE_ARGS+= BUILD_SPAMC=no
  77. WITH_AS_ROOT=
  78. WITHOUT_SSL=1
  79. .endif
  80. .if defined(WITH_SPF_QUERY)
  81. RUN_DEPENDS+= ${SITE_PERL}/Mail/SPF.pm:${PORTSDIR}/mail/p5-Mail-SPF
  82. .endif
  83. .if !defined(WITHOUT_IPV6)
  84. RUN_DEPENDS+= ${SITE_PERL}/IO/Socket/INET6.pm:${PORTSDIR}/net/p5-IO-Socket-INET6
  85. .endif
  86. .if !defined(WITHOUT_SSL)
  87. .include "${PORTSDIR}/Mk/bsd.openssl.mk"
  88. RUN_DEPENDS+= ${SITE_PERL}/IO/Socket/SSL.pm:${PORTSDIR}/security/p5-IO-Socket-SSL
  89. CFLAGS+= -I${OPENSSLINC}
  90. LDFLAGS+= -L${OPENSSLLIB}
  91. CONFIGURE_ARGS+= ENABLE_SSL=yes
  92. PLIST_SUB+= SSL=""
  93. .else
  94. CONFIGURE_ARGS+= ENABLE_SSL=no
  95. PLIST_SUB+= SSL="@comment "
  96. .endif
  97. .if !defined(WITHOUT_GNUPG)
  98. RUN_DEPENDS+= gnupg>=1.4.7:${PORTSDIR}/security/gnupg
  99. .endif
  100. .if defined(WITH_MYSQL)
  101. RUN_DEPENDS+= ${SITE_PERL}/${PERL_ARCH}/DBD/mysql.pm:${PORTSDIR}/databases/p5-DBD-mysql
  102. .endif
  103. .if defined(WITH_PGSQL)
  104. RUN_DEPENDS+= ${SITE_PERL}/${PERL_ARCH}/DBD/Pg.pm:${PORTSDIR}/databases/p5-DBD-Pg
  105. .endif
  106. .if defined(WITH_RAZOR)
  107. RUN_DEPENDS+= razor-agents>=2.84:${PORTSDIR}/mail/razor-agents
  108. .else
  109. .if ${PERL_LEVEL} < 501000
  110. .if !defined(WITH_DKIM)
  111. RUN_DEPENDS+= p5-Digest-SHA1>=2.11:${PORTSDIR}/security/p5-Digest-SHA1
  112. .endif
  113. .endif
  114. .endif
  115. .if defined(WITH_DKIM)
  116. RUN_DEPENDS+= ${SITE_PERL}/IO/Socket/SSL.pm:${PORTSDIR}/security/p5-IO-Socket-SSL
  117. . if ${PERL_LEVEL} < 501000
  118. RUN_DEPENDS+= ${SITE_PERL}/${PERL_ARCH}/Digest/SHA.pm:${PORTSDIR}/security/p5-Digest-SHA
  119. . endif
  120. RUN_DEPENDS+= p5-Mail-DKIM>=0.37:${PORTSDIR}/mail/p5-Mail-DKIM
  121. RUN_DEPENDS+= p5-Crypt-OpenSSL-RSA>=0.26_1:${PORTSDIR}/security/p5-Crypt-OpenSSL-RSA
  122. .endif
  123. .if defined(WITH_SACOMPILE)
  124. RUN_DEPENDS+= re2c>=.12.0:${PORTSDIR}/devel/re2c
  125. .endif
  126. .if defined(WITH_RELAY_COUNTRY)
  127. RUN_DEPENDS+= ${SITE_PERL}/IP/Country/Fast.pm:${PORTSDIR}/net/p5-IP-Country
  128. .endif
  129. .if defined(WITH_DCC)
  130. RUN_DEPENDS+= dcc-dccd>=1.3.111:${PORTSDIR}/mail/dcc-dccd
  131. .endif
  132. MAN3= Mail::SpamAssassin.3 \
  133. Mail::SpamAssassin::AICache.3 \
  134. Mail::SpamAssassin::ArchiveIterator.3 \
  135. Mail::SpamAssassin::AsyncLoop.3 \
  136. Mail::SpamAssassin::AutoWhitelist.3 \
  137. Mail::SpamAssassin::Bayes.3 \
  138. Mail::SpamAssassin::BayesStore.3 \
  139. Mail::SpamAssassin::BayesStore::BDB.3 \
  140. Mail::SpamAssassin::BayesStore::MySQL.3 \
  141. Mail::SpamAssassin::BayesStore::PgSQL.3 \
  142. Mail::SpamAssassin::BayesStore::SQL.3 \
  143. Mail::SpamAssassin::Client.3 \
  144. Mail::SpamAssassin::Conf.3 \
  145. Mail::SpamAssassin::Conf::LDAP.3 \
  146. Mail::SpamAssassin::Conf::Parser.3 \
  147. Mail::SpamAssassin::Conf::SQL.3 \
  148. Mail::SpamAssassin::DnsResolver.3 \
  149. Mail::SpamAssassin::Logger.3 \
  150. Mail::SpamAssassin::Logger::File.3 \
  151. Mail::SpamAssassin::Logger::Stderr.3 \
  152. Mail::SpamAssassin::Logger::Syslog.3 \
  153. Mail::SpamAssassin::Message.3 \
  154. Mail::SpamAssassin::Message::Metadata.3 \
  155. Mail::SpamAssassin::Message::Node.3 \
  156. Mail::SpamAssassin::PerMsgLearner.3 \
  157. Mail::SpamAssassin::PerMsgStatus.3 \
  158. Mail::SpamAssassin::PersistentAddrList.3 \
  159. Mail::SpamAssassin::Plugin.3 \
  160. Mail::SpamAssassin::Plugin::ASN.3 \
  161. Mail::SpamAssassin::Plugin::AWL.3 \
  162. Mail::SpamAssassin::Plugin::AccessDB.3 \
  163. Mail::SpamAssassin::Plugin::AntiVirus.3 \
  164. Mail::SpamAssassin::Plugin::AutoLearnThreshold.3 \
  165. Mail::SpamAssassin::Plugin::Bayes.3 \
  166. Mail::SpamAssassin::Plugin::BodyRuleBaseExtractor.3 \
  167. Mail::SpamAssassin::Plugin::Check.3 \
  168. Mail::SpamAssassin::Plugin::DCC.3 \
  169. Mail::SpamAssassin::Plugin::DKIM.3 \
  170. Mail::SpamAssassin::Plugin::Hashcash.3 \
  171. Mail::SpamAssassin::Plugin::MIMEHeader.3 \
  172. Mail::SpamAssassin::Plugin::OneLineBodyRuleType.3 \
  173. Mail::SpamAssassin::Plugin::PhishTag.3 \
  174. Mail::SpamAssassin::Plugin::Pyzor.3 \
  175. Mail::SpamAssassin::Plugin::Razor2.3 \
  176. Mail::SpamAssassin::Plugin::RelayCountry.3 \
  177. Mail::SpamAssassin::Plugin::ReplaceTags.3 \
  178. Mail::SpamAssassin::Plugin::Reuse.3 \
  179. Mail::SpamAssassin::Plugin::Rule2XSBody.3 \
  180. Mail::SpamAssassin::Plugin::SPF.3 \
  181. Mail::SpamAssassin::Plugin::Shortcircuit.3 \
  182. Mail::SpamAssassin::Plugin::SpamCop.3 \
  183. Mail::SpamAssassin::Plugin::Test.3 \
  184. Mail::SpamAssassin::Plugin::TextCat.3 \
  185. Mail::SpamAssassin::Plugin::Tokenizer.3 \
  186. Mail::SpamAssassin::Plugin::Tokenizer::MeCab.3 \
  187. Mail::SpamAssassin::Plugin::Tokenizer::SimpleJA.3 \
  188. Mail::SpamAssassin::Plugin::URIDNSBL.3 \
  189. Mail::SpamAssassin::Plugin::URIDetail.3 \
  190. Mail::SpamAssassin::Plugin::VBounce.3 \
  191. Mail::SpamAssassin::Plugin::WhiteListSubject.3 \
  192. Mail::SpamAssassin::PluginHandler.3 \
  193. Mail::SpamAssassin::SQLBasedAddrList.3 \
  194. Mail::SpamAssassin::SubProcBackChannel.3 \
  195. Mail::SpamAssassin::Timeout.3 \
  196. Mail::SpamAssassin::Util.3 \
  197. Mail::SpamAssassin::Util::Charset.3 \
  198. Mail::SpamAssassin::Util::DependencyInfo.3 \
  199. Mail::SpamAssassin::Util::Progress.3 \
  200. Mail::SpamAssassin::Util::RegistrarBoundaries.3 \
  201. spamassassin-run.3
  202. MAN1= spamd.1 spamassassin.1 spamc.1 sa-learn.1 sa-update.1 \
  203. spamassassin-run.1 sa-compile.1 sa-awl.1
  204. DOCSDIR= ${PREFIX}/share/doc/${PKGNAMEPREFIX}${PORTNAME}
  205. DATADIR= ${PREFIX}/share/spamassassin
  206. DOCS= CREDITS Changes INSTALL LICENSE NOTICE PACKAGING README TRADEMARK UPGRADE USAGE procmailrc.example
  207. DOCSSQL= README README.awl README.bayes awl_mysql.sql awl_pg.sql bayes_mysql.sql bayes_pg.sql userpref_mysql.sql userpref_pg.sql
  208. DOCSLDAP= README README.testing sa_test.ldif
  209. PORTDOCS= ${DOCS} sql ldap ${DOCJA}
  210. DOCJA= ${PATCHFILES:S/.patch:JA/.txt/}
  211. TOKENIZER_PRE= tokenizer.pre
  212. USE_RC_SUBR= sa-spamd.sh
  213. .if defined(WITH_MYSQL) || defined(WITH_PGSQL)
  214. SUB_LIST+= SQL_FLAG="-Q"
  215. .else
  216. SUB_LIST+= SQL_FLAG=""
  217. .endif
  218. .if !defined(WITH_AS_ROOT)
  219. SUB_LIST+= RUN_AS_USER="-u ${USERS} -H /var/spool/spamd"
  220. .else
  221. SUB_LIST+= RUN_AS_USER=""
  222. .endif
  223. post-patch:
  224. @${FIND} ${WRKSRC} -name \*.orig -delete
  225. @${REINPLACE_CMD} -e 's#B_CONFDIR)/local.cf#B_CONFDIR)/local.cf.sample#g' \
  226. -e 's#B_CONFDIR)/init.pre#B_CONFDIR)/init.pre.sample#g' \
  227. -e 's#B_CONFDIR)/v310.pre#B_CONFDIR)/v310.pre.sample#g' \
  228. -e 's#B_CONFDIR)/v312.pre#B_CONFDIR)/v312.pre.sample#g' \
  229. -e 's#B_CONFDIR)/v320.pre#B_CONFDIR)/v320.pre.sample#g' \
  230. -e 's#B_CONFDIR)/v330.pre#B_CONFDIR)/v330.pre.sample#g' \
  231. -e 's/require DBI/0/' \
  232. ${WRKSRC}/Makefile.PL
  233. @${REINPLACE_CMD} -e '/^CC =/d; \
  234. s|@SSLCFLAGS@|& $${CFLAGS}|g' ${WRKSRC}/spamc/Makefile.in
  235. .if defined(WITH_RAZOR)
  236. ${REINPLACE_CMD} -e '/Razor2/s/^#loadplugin/loadplugin/' ${WRKSRC}/rules/v312.pre
  237. .endif
  238. .if defined(WITH_RELAY_COUNTRY)
  239. ${REINPLACE_CMD} -e '/RelayCountry/s/^# ?loadplugin/loadplugin/' ${WRKSRC}/rules/init.pre
  240. .endif
  241. .if !defined(WITH_DKIM)
  242. ${REINPLACE_CMD} -e '/DKIM/s/^loadplugin/#loadplugin/' ${WRKSRC}/rules/v312.pre
  243. .endif
  244. .if !defined(WITH_SPF_QUERY)
  245. ${REINPLACE_CMD} -e '/SPF/s/^loadplugin/#loadplugin/' ${WRKSRC}/rules/init.pre
  246. .endif
  247. .if defined(WITH_DCC)
  248. ${REINPLACE_CMD} -e '/DCC/s/^#loadplugin/loadplugin/' ${WRKSRC}/rules/v310.pre
  249. .endif
  250. .if !defined(WITH_AWL)
  251. ${REINPLACE_CMD} -e '/AWL/s/^loadplugin/#loadplugin/' ${WRKSRC}/rules/v310.pre
  252. .endif
  253. .if defined(WITH_SACOMPILE)
  254. ${REINPLACE_CMD} -e '/Rule2XSBody/s/^# loadplugin/loadplugin/' ${WRKSRC}/rules/v320.pre
  255. .endif
  256. pre-install:
  257. @${MKDIR} ${DATADIR}
  258. post-build:
  259. @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} spamc/libspamc.so)
  260. .if !defined(WITHOUT_SSL)
  261. @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} spamc/libsslspamc.so)
  262. .endif
  263. pre-su-install:
  264. @USER=${USERS} GROUP=${GROUPS} ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
  265. @${INSTALL_PROGRAM} ${WRKSRC}/spamc/libspamc.so ${PREFIX}/lib/libspamc.so.0
  266. @${LN} -sf libspamc.so.0 ${PREFIX}/lib/libspamc.so
  267. .if !defined(WITHOUT_SSL)
  268. @${INSTALL_PROGRAM} ${WRKSRC}/spamc/libsslspamc.so ${PREFIX}/lib/libsslspamc.so.0
  269. @${LN} -sf libsslspamc.so.0 ${PREFIX}/lib/libsslspamc.so
  270. .endif
  271. @${INSTALL_DATA} ${WRKSRC}/spamc/libspamc.h ${PREFIX}/include
  272. post-install:
  273. .if defined (WITH_SPAMC)
  274. @${STRIP_CMD} ${PREFIX}/bin/spamc
  275. .endif
  276. @[ -f ${PREFIX}/etc/mail/spamassassin/init.pre ] || \
  277. ${CP} ${PREFIX}/etc/mail/spamassassin/init.pre.sample \
  278. ${PREFIX}/etc/mail/spamassassin/init.pre
  279. @[ -f ${PREFIX}/etc/mail/spamassassin/v310.pre ] || \
  280. ${CP} ${PREFIX}/etc/mail/spamassassin/v310.pre.sample \
  281. ${PREFIX}/etc/mail/spamassassin/v310.pre
  282. @[ -f ${PREFIX}/etc/mail/spamassassin/v312.pre ] || \
  283. ${CP} ${PREFIX}/etc/mail/spamassassin/v312.pre.sample \
  284. ${PREFIX}/etc/mail/spamassassin/v312.pre
  285. @[ -f ${PREFIX}/etc/mail/spamassassin/v320.pre ] || \
  286. ${CP} ${PREFIX}/etc/mail/spamassassin/v320.pre.sample \
  287. ${PREFIX}/etc/mail/spamassassin/v320.pre
  288. @PKG_PREFIX=${PREFIX} BATCH=${BATCH} SU_CMD="${SU_CMD}" USER=${USERS} GROUP=${GROUPS} ${SH} ${PKGDIR}/pkg-install ${PKGNAME} POST-INSTALL
  289. @[ -f ${PREFIX}/etc/mail/spamassassin/v330.pre ] || \
  290. ${CP} ${PREFIX}/etc/mail/spamassassin/v330.pre.sample \
  291. ${PREFIX}/etc/mail/spamassassin/v330.pre
  292. @${CP} ${DISTDIR}/${DIST_SUBDIR}/${TOKENIZER_PRE} ${PREFIX}/etc/mail/spamassassin/${TOKENIZER_PRE}.sample
  293. @[ -f ${PREFIX}/etc/mail/spamassassin/${TOKENIZER_PRE} ] || \
  294. ${CP} ${PREFIX}/etc/mail/spamassassin/${TOKENIZER_PRE}.sample \
  295. ${PREFIX}/etc/mail/spamassassin/${TOKENIZER_PRE}
  296. .if !defined(NOPORTDOCS)
  297. @${MKDIR} ${DOCSDIR} ${DOCSDIR}/sql ${DOCSDIR}/ldap
  298. @${INSTALL_DATA} ${DOCS:S|^|${WRKSRC}/|} ${DOCSDIR}
  299. @${INSTALL_DATA} ${DOCSSQL:S|^|${WRKSRC}/sql/|} ${DOCSDIR}/sql
  300. @${INSTALL_DATA} ${DOCSLDAP:S|^|${WRKSRC}/ldap/|} ${DOCSDIR}/ldap
  301. @${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/${DOCJA} ${DOCSDIR}
  302. .endif
  303. @${SED} -e 's#PREFIX#${PREFIX}#' ${PKGMESSAGE}
  304. .include <bsd.port.post.mk>