Tweak editors/scribes version 0.4.b954_1
[dports.git] / mail / dspam-devel / Makefile
1 # Created by: Ion-Mihai "IOnut" Tetcu <itetcu@people.tecnik93.com>
2 # $FreeBSD$
3
4 # Note to commiters: If not committing a maintainer patch and as a result PKGNAME
5 # or user variables (WITH*) changes please add an entry in ${FILESDIR}/UPDATING
6 # Else the port will be broken. Thanks.
7
8 PORTNAME=       dspam
9 PORTVERSION=    ${PORTVER_MAJ}${SNAP_DATE}
10 PORTREVISION=   1
11 PORTEPOCH=      1
12 CATEGORIES=     mail
13 MASTER_SITES=   # set later
14 PKGNAMESUFFIX=  -devel
15
16 MAINTAINER=     itetcu@FreeBSD.org
17 COMMENT=        Bayesian spam filter - development version
18
19 PORTVER_MAJ=    3.10.1
20 #SNAP_DATE=     .r1
21
22 #MIN_OPTIONS_VER=       ${PORTNAME}-${PKGNAMESUFFIX}-3.10.0.
23
24 .ifdef(SNAP_DATE)
25 MASTER_SITES=   ${MASTER_SITE_LOCAL} \
26                 http://T32.TecNik93.com/FreeBSD/ports/${PORTNAME}-${PKGNAMESUFFIX}/sources/
27 MASTER_SITE_SUBDIR=     itetcu
28 WRKSRC=         ${WRKDIR}/dspam-${PORTVER_MAJ}
29 .else
30 MASTER_SITES=   SF/${PORTNAME}/${PORTNAME}/${PORTNAME}-${PORTVERSION}/ \
31         http://T32.TecNik93.com/FreeBSD/ports/${PORTNAME}/sources/
32 DISTFILES=      dspam-${PORTVER_MAJ}.tar.gz
33 WRKSRC=         ${WRKDIR}/dspam-${PORTVER_MAJ}
34 .endif
35
36 OPTIONS_DEFINE= SYSLOG DEBUG VERBOSE_DEBUG BNR_DEBUG PREF_EXT DAEMON \
37                 CLAMAV CLAMAV_DEVEL CLAMAV_LOCAL MYSQL_COMPRESS \
38                 MYSQL_LOCAL PGSQL_LOCAL HASH EXTERNAL_LOOKUP \
39                 USER_HOMEDIR TRUSTED_USERS VIRT_USERS LONG_USERNAMES \
40                 LARGE_SCALE DOMAIN_SCALE NICESENDMAIL POSTFIX_MBC \
41                 QMAIL WEBUI LIGHTTPD
42
43 OPTIONS_MULTI=  DB
44 OPTIONS_MULTI_DB=       MYSQL51 MYSQL55 PGSQL SQLITE2 SQLITE3
45
46 OPTIONS_RADIO=  LDA
47 OPTIONS_RADIO_LDA=      CYRUS21 CYRUS22 CYRUS23 CYRUS24 EXIM \
48                 MAILDROP PROCMAIL SAFECAT SENDMAIL
49
50 VERBOSE_DEBUG_DESC=     Debug in LOGDIR/dspam.debug
51 BNR_DEBUG_DESC= Debug for BNR
52 PREF_EXT_DESC=  Preferences in database not in files
53 DAEMON_DESC=    Daemonize dspam; speaks LMTP or DLMTP
54 CLAMAV_DESC=    ClamAV support
55 CLAMAV_DEVEL_DESC=      ClamAV support
56 CLAMAV_LOCAL_DESC=      RUN_DEPEND on selected ClamAV
57 MYSQL51_DESC=   MySQL 5.1.x as back-end
58 MYSQL55_DESC=   MySQL 5.5.x as back-end
59 MYSQL_COMPRESS_DESC=    Compress dspam <--> MySQL
60 MYSQL_LOCAL_DESC=       RUN_DEPEND on selected MySQL server ver.
61 PGSQL_DESC=     PostgreSQL as back-end
62 PGSQL_LOCAL_DESC=       RUN_DEPEND on PostgreSQL server
63 SQLITE2_DESC=   SQLite v2.x as back-end
64 SQLITE3_DESC=   SQLite v3.x as back-end
65 HASH_DESC=      Hash driver
66 EXTERNAL_LOOKUP_DESC=   RCPT verification via extlookup
67 USER_HOMEDIR_DESC=      Store user data in ~/.dspam
68 TRUSTED_USERS_DESC=     Disable trusted user security
69 VIRT_USERS_DESC=        Virtual users (needs SQL back-end)
70 LONG_USERNAMES_DESC=    Usernames longer that OS supports
71 LARGE_SCALE_DESC=       File structure for large scale
72 DOMAIN_SCALE_DESC=      File structure for multiple domains
73 CYRUS21_DESC=   Cyrus's 2.1 deliver as LDA
74 CYRUS22_DESC=   Cyrus's 2.2 deliver as LDA
75 CYRUS23_DESC=   Cyrus's 2.3 deliver as LDA
76 CYRUS24_DESC=   Cyrus's 2.4 deliver as LDA
77 EXIM_DESC=      Exim as local delivery agent
78 MAILDROP_DESC=  Maildrop as local delivery agent
79 PROCMAIL_DESC=  Procmail as local delivery agent
80 SAFECAT_DESC=   Safecat as local delivery agent
81 SENDMAIL_DESC=  Sendmail as local delivery agent
82 NICESENDMAIL_DESC=      Play nice with sendmail server
83 POSTFIX_MBC_DESC=       Dspam as mailbox_command in Postfix
84 QMAIL_DESC=     Play nice with Qmail mail server
85 WEBUI_DESC=     Install WebUI, pulls in Apache or see below
86
87 OPTIONS_DEFAULT=        SYSLOG DEBUG DAEMON CLAMAV CLAMAV_LOCAL MYSQL55 \
88                 PGSQL SQLITE3 HASH
89
90 USES=           perl5
91 USE_AUTOTOOLS=  libtool
92 .ifdef(SNAP_DATE)
93 USE_AUTOTOOLS+= autoconf:env automake
94 .endif
95 USE_LDCONFIG=   yes
96 GNU_CONFIGURE=  yes
97 #CONFIGURE_ENV= LDFLAGS="-L${LOCALBASE}/lib"
98 #CONFIGURE_ENV= CFLAGS="${CFLAGS} ${PTHREAD_CFLAGS}" \
99 #               CPPFLAGS="${CPPFLAGS} -I${LOCALBASE}/include" \
100 #               LDFLAGS="-L${LOCALBASE}/lib" \
101 #               LIBS="-L${LOCALBASE}/lib ${PTHREAD_LIBS}"
102
103 .ifdef(GDBS)
104 CFLAGS+=        -g -DDEBUG
105 STRIP=
106 .endif
107
108 PKGMESSAGE=      ${WRKSRC}/src/README.FreeBSD
109
110 CONFLICTS=      dspam-[0-9]*
111
112 SIGNATURE_LIFE?=        15
113
114 _VAR_DIR=       /var
115 LOG_DIR?=       ${_VAR_DIR}/log/dspam
116 LOGFILE?=       ${LOG_DIR}/dspam.log
117
118 DSPAM_MODE?=    4510
119 DSPAM_OWNER?=   root
120 DSPAM_GROUP?=   mail
121
122 DSPAM_ETC?=     ${LOCALBASE}/etc
123 DSPAM_HOME?=    ${_VAR_DIR}/db/dspam
124 DSPAM_HOME_OWNER?=      ${DSPAM_OWNER}
125 DSPAM_HOME_GROUP?=      ${DSPAM_GROUP}
126 DSPAM_HOME_MODE?=       0770
127
128 NO_STAGE=       yes
129 .include <bsd.port.pre.mk>
130
131 CONFIGURE_ARGS+=        --sysconfdir=${DSPAM_ETC}
132 CONFIGURE_ARGS+=        --with-logdir=${LOG_DIR}
133 PLIST_SUB+=     LOG_DIR=${LOG_DIR}
134
135 CONFIGURE_ARGS+=        --with-dspam-home=${DSPAM_HOME}
136 CONFIGURE_ARGS+=        --with-dspam-home-owner=${DSPAM_HOME_OWNER}
137 CONFIGURE_ARGS+=        --with-dspam-home-group=${DSPAM_HOME_GROUP}
138 CONFIGURE_ARGS+=        --with-dspam-home-mode=${DSPAM_HOME_MODE}
139 PLIST_SUB+=     DSPAM_HOME=${DSPAM_HOME}
140
141 CONFIGURE_ARGS+=        --with-dspam-owner=${DSPAM_OWNER}
142 CONFIGURE_ARGS+=        --with-dspam-group=${DSPAM_GROUP}
143 # we set DSPAM_MODE at the end as some LDAs want specific mode
144
145 _SED_SCRIPT=    -e 's,%%DOCSDIR%%,${DOCSDIR},g' \
146                 -e 's,%%EXAMPLESDIR%%,${EXAMPLESDIR},g' \
147                 -e 's,%%DSPAM_HOME%%,${DSPAM_HOME},g' \
148                 -e 's,%%PORTNAME%%,${PORTNAME}-${PKGNAMESUFFIX},g' \
149                 -e 's,%%_VAR_DIR%%,${_VAR_DIR},g' \
150                 -e '/^%%FreeBSD/D' \
151                 -e '/^%%Tecnik%%/D'
152
153 .if ${PORT_OPTIONS:MSYSLOG}
154 CONFIGURE_ARGS+=        --enable-syslog
155 .else
156 CONFIGURE_ARGS+=        --disable-syslog
157 CONFIGURE_ARGS+=        --with-logfile=${LOGFILE}
158 .endif
159
160 .if ${PORT_OPTIONS:MDEBUG}
161 CONFIGURE_ARGS+=        --enable-debug
162 .endif
163
164 .if ${PORT_OPTIONS:MVERBOSE_DEBUG}
165 CONFIGURE_ARGS+=        --enable-verbose-debug
166 .endif
167
168 .if ${PORT_OPTIONS:MBNR_DEBUG}
169 CONFIGURE_ARGS+=        --enable-bnr-debug
170 .endif
171
172 .if ${PORT_OPTIONS:MPREF_EXT}
173 CONFIGURE_ARGS+=        --enable-preferences-extension
174 .endif
175
176 .if ${PORT_OPTIONS:MDAEMON}
177 CONFIGURE_ARGS+=        --enable-daemon
178 USE_RC_SUBR=    ${PORTNAME}${PKGNAMESUFFIX}
179 _SED_SCRIPT+=   -e 's,%%DAEMON%%,,g'
180 SUB_LIST+=      DSPAM_HOME=${DSPAM_HOME}
181 .else
182 _SED_SCRIPT+=   -e '/%%DAEMON%%/D'
183 .endif
184
185 .if ${PORT_OPTIONS:MCLAMAV}
186 CONFIGURE_ARGS+=        --enable-clamav
187 .       if ${PORT_OPTIONS:MCLAMAV_LOCAL}
188 RUN_DEPENDS+=   clamav>=0:${PORTSDIR}/security/clamav
189 SUB_LIST+=      CLAMD=clamd
190 .       else
191 SUB_LIST+=      CLAMD=
192 .       endif
193 .endif
194 .if ${PORT_OPTIONS:MCLAMAV_DEVEL}
195 CONFIGURE_ARGS+=        --enable-clamav
196 .       if ${PORT_OPTIONS:MCLAMAV_LOCAL}
197 RUN_DEPENDS+=   clamav-devel>=0:${PORTSDIR}/security/clamav-devel
198 SUB_LIST+=      CLAMD=clamd
199 .       else
200 SUB_LIST+=      CLAMD=
201 .       endif
202 .endif
203
204 # we need to know if we are building statically or dynamicaly for the plist
205 _DBDRV_COUNT=   # blank, but defined so we can check against it
206 _DBDRV=         pgsql_drv,sqlite3_drv,sqlite_drv,hash_drv,mysql_drv,
207
208 .if ${PORT_OPTIONS:MPGSQL}
209 USE_PGSQL=      yes
210 CONFIGURE_ARGS+=        --with-pgsql-includes=${LOCALBASE}/include \
211                 --with-pgsql-libraries=${LOCALBASE}/lib
212 PLIST_SUB+=     PGSQL=""
213 #PKGNAMESUFFIX= -pgsql
214 _DBDRV_COUNT:= ${_DBDRV_COUNT}o
215 .       if ${PORT_OPTIONS:MPGSQL_LOCAL}
216 RUN_DEPENDS+=   postgresql-server>=0:${PORTSDIR}/databases/postgresql${PGSQL_VER}-server
217 SUB_LIST+=      PGSQL=postgresql
218 .       else
219 SUB_LIST+=      PGSQL=
220 .       endif
221 .else
222 PLIST_SUB+=     PGSQL="@comment "
223 _DBDRV:=        ${_DBDRV:S/pgsql_drv,//}
224 .endif
225
226 .if ${PORT_OPTIONS:MSQLITE3}
227 USE_SQLITE=     3
228 _DBDRV_COUNT:=  ${_DBDRV_COUNT}o
229 .else
230 _DBDRV:=        ${_DBDRV:S/sqlite3_drv,//}
231 .endif
232
233 .if ${PORT_OPTIONS:MSQLITE2}
234 USE_SQLITE=     2
235 _DBDRV_COUNT:=  ${_DBDRV_COUNT}o
236 .else
237 _DBDRV:=        ${_DBDRV:S/sqlite_drv,//}
238 .endif
239
240 .if defined(USE_SQLITE)
241 CONFIGURE_ARGS+=        --with-sqlite-includes=${LOCALBASE}/include \
242                         --with-sqlite-libraries=${LOCALBASE}/lib
243 PLIST_SUB+=     SQLITE=""
244 .else
245 PLIST_SUB+=     SQLITE="@comment "
246 .endif
247
248 .if ${PORT_OPTIONS:MHASH}
249 PLIST_SUB+=     HASH=""
250 #PKGNAMESUFFIX= -css
251 _DBDRV_COUNT:=  ${_DBDRV_COUNT}o
252 .else
253 _DBDRV:=        ${_DBDRV:S/hash_drv,//}
254 PLIST_SUB+=     HASH="@comment "
255 .endif
256
257 .ifdef(WITH_MYSQL51)
258 WANT_MYSQL_VER= 51
259 #PKGNAMESUFFIX= -mysql51
260 .elif ${PORT_OPTIONS:MMYSQL55}
261 WANT_MYSQL_VER= 55
262 #PKGNAMESUFFIX= -mysql55
263 .endif
264
265 .if defined(WITH_MYSQL51) || defined(WITH_MYSQL55)
266 USE_MYSQL=      yes
267 CONFIGURE_ARGS+=        --with-mysql-includes=${LOCALBASE}/include/mysql \
268                 --with-mysql-libraries=${LOCALBASE}/lib/mysql
269 PLIST_SUB+=     MYSQL=""
270 _DBDRV_COUNT:=  ${_DBDRV_COUNT}o
271 .       if ${PORT_OPTIONS:MMYSQL_COMPRESS}
272 CONFIGURE_ARGS+=        --enable-client-compression
273 .       endif
274 .       if ${PORT_OPTIONS:MMYSQL_LOCAL}
275 RUN_DEPENDS+=   mysql-server>=0:${PORTSDIR}/databases/mysql${WANT_MYSQL_VER}-server
276 SUB_LIST+=      MYSQL=mysql
277 .       else
278 SUB_LIST+=      MYSQL=
279 .       endif
280 .else
281 _DBDRV:=        ${_DBDRV:S/mysql_drv,//}
282 PLIST_SUB+=     MYSQL="@comment "
283 .endif
284
285 # now we have all the db backends the user wants and we remove last ','
286 CONFIGURE_ARGS+=        --with-storage-driver=${_DBDRV:S/,$//}
287
288 .if ${_DBDRV_COUNT} != "o"
289 PLIST_SUB+=     DYNAMIC=""
290 .else
291 PLIST_SUB+=     DYNAMIC="@comment "
292 .endif
293
294 .if ${PORT_OPTIONS:MEXTERNAL_LOOKUP}
295 CONFIGURE_ARGS+=        --enable-external-lookup
296 USE_OPENLDAP=   YES
297 #CPPFLAGS+=     -I${LOCALBASE}/include
298 #LDFLAGS+=      -lldap -llber
299 #CONFIGURE_ENV+=        CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}"
300 .endif
301
302 .if ${PORT_OPTIONS:MUSER_HOMEDIR}
303 CONFIGURE_ARGS+=        --enable-homedir
304 .endif
305
306 .if ${PORT_OPTIONS:MTRUSTED_USERS}
307 CONFIGURE_ARGS+=        --disable-trusted-user-security
308 .endif
309
310 .if ${PORT_OPTIONS:MVIRT_USERS}
311 CONFIGURE_ARGS+=        --enable-virtual-users
312 .endif
313
314 .if ${PORT_OPTIONS:MLONG_USERNAMES}
315 CONFIGURE_ARGS+=        --enable-long-usernames
316 .endif
317 .if ${PORT_OPTIONS:MLARGE_SCALE}
318 CONFIGURE_ARGS+=        --enable-large-scale
319 .endif
320 .if ${PORT_OPTIONS:MDOMAIN_SCALE}
321 CONFIGURE_ARGS+=        --enable-domain-scale
322 .endif
323
324 .if ${PORT_OPTIONS:MCYRUS21}
325 RUN_DEPENDS+=   ${LOCALBASE}/cyrus/bin/deliver:${PORTSDIR}/mail/cyrus-imapd2
326 CONFIGURE_ARGS+=        --with-delivery-agent='${LOCALBASE}/cyrus/bin/deliver'
327 .endif
328
329 .if ${PORT_OPTIONS:MCYRUS22}
330 RUN_DEPENDS+=   ${LOCALBASE}/cyrus/bin/deliver:${PORTSDIR}/mail/cyrus-imapd22
331 CONFIGURE_ARGS+=        --with-delivery-agent='${LOCALBASE}/cyrus/bin/deliver'
332 .endif
333
334 .if ${PORT_OPTIONS:MCYRUS23}
335 RUN_DEPENDS+=   ${LOCALBASE}/cyrus/bin/deliver:${PORTSDIR}/mail/cyrus-imapd23
336 CONFIGURE_ARGS+=        --with-delivery-agent='${LOCALBASE}/cyrus/bin/deliver'
337 .endif
338
339 .if ${PORT_OPTIONS:MCYRUS24}
340 RUN_DEPENDS+=   ${LOCALBASE}/cyrus/bin/deliver:${PORTSDIR}/mail/cyrus-imapd24
341 CONFIGURE_ARGS+=        --with-delivery-agent='${LOCALBASE}/cyrus/bin/deliver'
342 .endif
343
344 .ifdef(WITH_EXIM_LDA)
345 .       ifdef(WITH_MYSQL51) || (WITH_MYSQL55)
346 _EXIM_EXT=      -mysql
347 .       elifdef(WITH_POSTGRESQL)
348 _EXIM_EXT=      -postgresql
349 .       endif
350 RUN_DEPENDS+=   exim:${PORTSDIR}/mail/exim${_EXIM_EXT}
351 CONFIGURE_ARGS+=        --with-delivery-agent='${LOCALBASE}/sbin/exim'
352 .endif
353
354 .if ${PORT_OPTIONS:MMAILDROP}
355 RUN_DEPENDS+=   maildrop:${PORTSDIR}/mail/maildrop
356 CONFIGURE_ARGS+=        --with-delivery-agent='${LOCALBASE}/bin/maildrop'
357 .endif
358
359 .if ${PORT_OPTIONS:MPROCMAIL}
360 RUN_DEPENDS+=   procmail:${PORTSDIR}/mail/procmail
361 CONFIGURE_ARGS+=        --with-delivery-agent='${LOCALBASE}/bin/procmail'
362 .endif
363
364 .if ${PORT_OPTIONS:MSAFECAT}
365 RUN_DEPENDS+=   safecat:${PORTSDIR}/sysutils/safecat
366 CONFIGURE_ARGS+=        --with-delivery-agent='${LOCALBASE}/safecat tmp new'
367 .endif
368
369 .if ${PORT_OPTIONS:MSENDMAIL} && exists(/usr/sbin/sendmail)
370 CONFIGURE_ARGS+=        --with-delivery-agent=/usr/sbin/sendmail
371 .else
372 .if ${PORT_OPTIONS:MSENDMAIL} && exists(${LOCALBASE}/sbin/sendmail)
373 CONFIGURE_ARGS+=        --with-delivery-agent='${LOCALBASE}/sbin/sendmail'
374 .       endif
375 .endif
376
377 .if ${PORT_OPTIONS:MNICESENDMAIL}
378 DSPAM_MODE=     4511
379 .endif
380
381 .if ${PORT_OPTIONS:MPOSTFIX_MBC}
382 DSPAM_MODE=     4511
383 .endif
384
385 .if ${PORT_OPTIONS:MQMAIL}
386 DSPAM_MODE=     4511
387 .endif
388
389 .ifdef(DSPAM_MODE)
390 CONFIGURE_ARGS+=        --with-dspam-mode=${DSPAM_MODE}
391 .endif
392
393 .if ${PORT_OPTIONS:MWEBUI}
394 .       if ${PORT_OPTIONS:MLIGHTTPD}
395 RUN_DEPENDS+=   ${LOCALBASE}/sbin/lighttpd:${PORTSDIR}/www/lighttpd
396 .       else
397 USE_APACHE_RUN= 22+
398 .       endif
399 LIB_DEPENDS+=   gd.4:${PORTSDIR}/graphics/gd
400 RUN_DEPENDS+=   p5-GD>=0:${PORTSDIR}/graphics/p5-GD
401 RUN_DEPENDS+=   p5-GD-Graph>=0:${PORTSDIR}/graphics/p5-GD-Graph
402 RUN_DEPENDS+=   p5-GD-Graph3d>=0:${PORTSDIR}/graphics/p5-GD-Graph3d
403 RUN_DEPENDS+=   p5-GD-TextUtil>=0:${PORTSDIR}/graphics/p5-GD-TextUtil
404 CONFIGURE_ARGS+=--enable-logging
405 CONFIGURE_ARGS+=--enable-user-logging
406 PLIST_SUB+=     WebUI=""
407 _SED_SCRIPT+=   -e 's/%%WebUI%%//g'
408 _SED_SCRIPT+=   -e 's,%%WWWDIR%%,${WWWDIR},g'
409 PLIST_SUB+=     WWWDIR=${WWWDIR_REL}
410 .else
411 PLIST_SUB+=     WebUI="@comment "
412 _SED_SCRIPT+=   -e '/%%WebUI%%/D'
413 .endif
414
415 MAN1=   dspam.1 dspam_admin.1 dspam_clean.1 dspam_crc.1 dspam_dump.1 \
416         dspam_logrotate.1 dspam_merge.1 dspam_stats.1 dspam_train.1
417 MAN3=   dspam_clearattributes.3 libdspam.3
418 MLINKS=         libdspam.3 dspam_init.3
419 MLINKS+=        libdspam.3 dspam_create.3
420 MLINKS+=        libdspam.3 dspam_addattribute.3
421 MLINKS+=        libdspam.3 dspam_attach.3
422 MLINKS+=        libdspam.3 dspam_process.3
423 MLINKS+=        libdspam.3 dspam_getsource.3
424 MLINKS+=        libdspam.3 dspam_destroy.3
425 MLINKS+=        libdspam.3 dspam_detach.3
426
427 _DOCS=  CHANGELOG LICENSE README README.FreeBSD RELEASE.NOTES UPGRADING
428 _DOCSL= courier.txt exim.txt markov.txt mysql_drv.txt pgsql_drv.txt \
429         pop3filter.txt postfix.txt qmail.txt relay.txt sendmail.txt \
430         sqlite_drv.txt
431
432 pre-everything::
433 .ifndef(MAINT)
434         @${ECHO_CMD} ""
435         @${ECHO_CMD} "Last ${FILESDIR}/UPDATING entry:"
436         @${ECHO_CMD} "###########################################################################"
437         @${SED} -n < ${FILESDIR}/UPDATING "/^# ${PKGNAME}/,/^#####/p"
438         @${ECHO_CMD} ""
439         @sleep 5
440 .endif
441
442 pre-extract:
443 .ifndef(MAINT)
444         @${ECHO_CMD} ""
445         @${ECHO_CMD} "Define vars below before make-ing if you need:"
446         @${ECHO_CMD} ""
447         @${ECHO_CMD} "SIGNATURE_LIFE=${SIGNATURE_LIFE} (default 15)"
448         @${ECHO_CMD} "DSPAM_OWNER=${DSPAM_OWNER} (default: root)"
449         @${ECHO_CMD} "DSPAM_GROUP=${DSPAM_GROUP} (default: mail)"
450         @${ECHO_CMD} "DSPAM_MODE=${DSPAM_MODE}"
451         @${ECHO_CMD} "DSPAM_ETC=${DSPAM_ETC} (default: ${PREFIX}/etc"
452         @${ECHO_CMD} "DSPAM_HOME=${DSPAM_HOME} (default: ${_VAR_DIR}/db/dspam)"
453         @${ECHO_CMD} "DSPAM_HOME_OWNER=${DSPAM_HOME_OWNER}"
454         @${ECHO_CMD} "DSPAM_HOME_GROUP=${DSPAM_HOME_GROUP}"
455         @${ECHO_CMD} "DSPAM_HOME_MODE=${DSPAM_HOME_MODE} (default: 0770)"
456         @${ECHO_CMD} "LOG_DIR=${LOG_DIR} (default: ${_VAR_DIR}/log/dspam)"
457 .       ifdef(WITHOUT_SYSLOG)
458         @${ECHO_CMD} "LOGFILE=${LOGFILE} (default: ${_VAR_DIR}/log/dspam/dspam.log)"
459 .       endif
460 .if ${PORT_OPTIONS:MWEBUI}
461                 @${ECHO_CMD} "Define WWWDIR before making if you need the WebUI files"
462                 @${ECHO_CMD} "installed in other place that this installation's default"
463                 @${ECHO_CMD} "${WWWDIR}"
464 .       endif
465         @${ECHO_CMD} ""
466         @sleep 5
467 .endif
468
469 post-patch:
470         @${REINPLACE_CMD} -e 's|where @a-14 > to_days(created_on);|where @a-${SIGNATURE_LIFE} > to_days(created_on);|' \
471                 ${WRKSRC}/src/tools.mysql_drv/purge.sql
472         @${REINPLACE_CMD} -e 's|where @a-14 > to_days(created_on);|where @a-${SIGNATURE_LIFE} > to_days(created_on);|' \
473                 ${WRKSRC}/src/tools.mysql_drv/purge-4.1.sql
474         @${REINPLACE_CMD} -e 's|WHERE CURRENT_DATE - created_on > 14;|WHERE CURRENT_DATE - created_on > ${SIGNATURE_LIFE};|' \
475                 ${WRKSRC}/src/tools.pgsql_drv/purge.sql
476         @${REINPLACE_CMD} -e "s|where date('now')-date(created_on) > 14;|where date('now')-date(created_on) > ${SIGNATURE_LIFE};|" \
477                 ${WRKSRC}/src/tools.sqlite_drv/purge-2.sql
478         @${REINPLACE_CMD} -e "s|where julianday('now')-julianday(created_on) > 14;|where julianday('now')-julianday(created_on) > ${SIGNATURE_LIFE};|" \
479                  ${WRKSRC}/src/tools.sqlite_drv/purge-3.sql
480         @${REINPLACE_CMD} -e "s^%%PERL%%^${PERL}^" \
481                 ${WRKSRC}/src/tools/dspam_train.in ${WRKSRC}/src/tools/dspam_notify.in
482
483 pre-configure:
484 .if ${PORT_OPTIONS:MVIRT_USERS} && !(defined(USE_MYSQL) || \
485         ${PORT_OPTIONS:MPGSQL} || ${PORT_OPTIONS:MHASH} )
486         @${ECHO_CMD} "You need MySQL, POSTGRESQL or HASH for virtual users."
487         @${FALSE}
488 .endif
489 .if ${PORT_OPTIONS:MPREF_EXT} && !( defined(USE_MYSQL) || \
490         ${PORT_OPTIONS:MPGSQL} )
491         @${ECHO_CMD} "You need MySQL or Postgres for preferences extension"
492         @${FALSE}
493 .endif
494 .if ${PORT_OPTIONS:MDAEMON} && !( defined(USE_MYSQL) || \
495         ${PORT_OPTIONS:MPGSQL} || ${PORT_OPTIONS:MHASH} )
496         @${ECHO_CMD} "You need MySQL, PostgreSQL or Hash for Daemon mode, because multithreading support is needed"
497         @${FALSE}
498 .endif
499 .if (defined(WITH_MYSQL51) && defined(WITH_MYSQL55))
500         @${ECHO_CMD} "You can compile with only one MySQL version driver."
501         @${FALSE}
502 .endif
503 .if defined(WITH_EXTERNAL_LOOKUP) && !( defined(USE_MYSQL) || \
504         !defined(WITHOUT_POSTGRESQL) || defined(USE_SQLITE) )
505         @${ECHO_CMD} "You need MySQL, Postgres or SQLITE for EXTERNAL_LOOKUP."
506         @${FALSE}
507 .endif
508 .if ${PORT_OPTIONS:MUSER_HOMEDIR} && ${PORT_OPTIONS:MWEBUI}
509         @${ECHO_CMD} "USER_HOMEDIR and WebUI are incopatible"
510         @${FALSE}
511 .endif
512 .if ${PORT_OPTIONS:MDOMAIN_SCALE} && ${PORT_OPTIONS:MLARGE_SCALE}
513         @${ECHO_CMD} "DOMAIN_SCALE and LARGE_SCALE are incopatible"
514         @${FALSE}
515 .endif
516 .if ${PORT_OPTIONS:MLIGHTHTTPD} && ! ${PORT_OPTIONS:MWEBUI}
517         @${ECHO_CMD} "There's no reason to depend on LightHTTPD if you're not using WebUI"
518         @${FALSE}
519 .endif
520 .ifdef(SNAP_DATE)
521         @${ECHO_CMD}
522         @${ECHO_CMD} "You can safely ignore the following auto*  errors"
523         @${ECHO_CMD}
524         @(cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ./autogen.sh)
525 .endif
526
527 post-install:
528         ${CP} ${WRKSRC}/src/dspam.conf ${WRKSRC}/src/dspam.conf.sample
529         cd ${WRKSRC}/src/ && \
530                 ${INSTALL} -o ${DSPAM_OWNER} -g ${DSPAM_GROUP} -m 0640 \
531                         dspam.conf.sample ${PREFIX}/etc
532
533 ########
534 # stupid hack until I figure out where/how to patch
535         @${MKDIR} ${PREFIX}/libdata/pkgconfig
536         @${MV} ${PREFIX}/lib/pkgconfig/dspam.pc ${PREFIX}/libdata/pkgconfig/dspam.pc
537         ${TEST} `ls -1 ${PREFIX}/lib/pkgconfig | wc -l` -eq 0 && \
538                 ${RM} -R ${PREFIX}/lib/pkgconfig || true
539
540 #.ifndef NOPORTDATA
541 .ifdef(USE_MYSQL)
542         @${MKDIR} ${EXAMPLESDIR}/mysql
543         cd  ${WRKSRC}/src/tools.mysql_drv && \
544                 ${INSTALL_DATA} mysql_objects-4.1.sql \
545                         mysql_objects-space.sql \
546                         mysql_objects-speed.sql \
547                         purge-4.1.sql purge.sql \
548                         virtual_user_aliases.sql \
549                         virtual_users.sql ${EXAMPLESDIR}/mysql
550 .endif
551 .if ${PORT_OPTIONS:MPGSQL}
552         @${MKDIR} ${EXAMPLESDIR}/pgsql
553         @cd  ${WRKSRC}/src/tools.pgsql_drv && \
554                 ${INSTALL_DATA} *.sql ${EXAMPLESDIR}/pgsql
555 .endif
556 .ifdef(USE_SQLITE)
557         @${MKDIR} ${EXAMPLESDIR}/sqlite
558         cd ${WRKSRC}/src/tools.sqlite_drv && \
559                 ${INSTALL_DATA} *.sql ${EXAMPLESDIR}/sqlite
560 .endif
561 #.endif # NOPORTDATA
562
563 .if ${PORT_OPTIONS:MWEBUI}
564 .       for I in admin.cgi admingraph.cgi configure.pl dspam.cgi graph.cgi templates/strings.pl
565                 ${REINPLACE_CMD} -e "s,/usr/bin/perl,${PERL},g" ${WRKSRC}/webui/cgi-bin/${I}
566 .       endfor
567         ${MV} ${WRKSRC}/webui/cgi-bin/configure.pl ${WRKSRC}/webui/cgi-bin/configure.pl.sample
568         cd ${WRKSRC}/webui/cgi-bin && ${MKDIR} ${WWWDIR} && \
569                 ${INSTALL_SCRIPT} configure.pl.sample ${WWWDIR}/ && \
570                 ${INSTALL_SCRIPT} *.cgi ${WWWDIR} && \
571                 ${INSTALL_DATA} rgb.txt ${WWWDIR}/
572         cd ${WRKSRC}/webui/htdocs && \
573                 ${INSTALL_DATA} base.css dspam-logo-small.gif ${WWWDIR}/
574         cd ${WRKSRC}/webui/cgi-bin && \
575                 ${INSTALL_DATA} default.prefs ${WWWDIR}/default.prefs.sample
576         cd ${WRKSRC}/webui/cgi-bin && \
577                 ${INSTALL_DATA} admins ${WWWDIR}/admins.sample
578         ${MKDIR} ${WWWDIR}/templates && cd ${WRKSRC}/webui/cgi-bin/templates && \
579                 ${INSTALL_DATA} *.html ${WWWDIR}/templates/ && \
580                 ${INSTALL_SCRIPT} strings.pl ${WWWDIR}/templates/ &&
581                 for _dir in de es-es fr he pt-br ro; do \
582                         ${INSTALL_DATA} -d ${WWWDIR}/templates/$${_dir} && \
583                         cd ${WRKSRC}/webui/cgi-bin/templates/$${_dir} && \
584                                 ${INSTALL_DATA} *.html ${WWWDIR}/templates/$${_dir}; \
585                 done && \
586                 for _dir in de es-es pt-br; do \
587                         cd ${WRKSRC}/webui/cgi-bin/templates/$${_dir} && \
588                                 ${INSTALL_SCRIPT} strings.pl ${WWWDIR}/templates/$${_dir}/; \
589                 done
590 .endif
591
592         @${SED} ${_SED_SCRIPT} ${.CURDIR}/pkg-message > ${WRKSRC}/README.FreeBSD
593
594 .if ${PORT_OPTIONS:MDOCS}
595         @${MKDIR} ${DOCSDIR}
596         @cd ${WRKSRC} && ${INSTALL_DATA} ${_DOCS} ${DOCSDIR}
597         @cd ${WRKSRC}/doc && ${INSTALL_DATA} ${_DOCSL} ${DOCSDIR}
598         @cd ${FILESDIR} && ${INSTALL_DATA} UPDATING ${DOCSDIR}/UPDATING
599 .endif
600
601         @${MKDIR} -m ${DSPAM_HOME_MODE} ${DSPAM_HOME}
602         @${CHOWN} ${DSPAM_HOME_OWNER}:${DSPAM_HOME_GROUP} ${DSPAM_HOME}
603 .for _file in firstrun.txt firstspam.txt quarantinefull.txt
604         @if ! ${TEST} -e ${WRKSRC}/txt/${_file}.sample;\
605         then\
606                 cd ${WRKSRC}/txt && \
607                 ${MV} ${_file} ${_file}.sample;\
608         fi
609         cd ${WRKSRC}/txt && \
610                 ${INSTALL_DATA} ${_file}.sample ${DSPAM_HOME}
611 .endfor
612
613         @${MKDIR} -m ${DSPAM_HOME_MODE} ${LOG_DIR}
614
615         @${CAT} ${WRKSRC}/README.FreeBSD
616         @${ECHO_CMD} "If you haven't defined NOPORTDOCS you can review this"
617         @${ECHO_CMD} "message in ${DOCSDIR}/README.FreeBSD"
618         @${ECHO_CMD}
619
620 .include <bsd.port.post.mk>