Lines 1-8
Link Here
|
1 |
# Created by: markun@onohara.to |
|
|
2 |
# $FreeBSD: head/security/clamav/Makefile 481197 2018-10-04 01:53:09Z ler $ |
1 |
# $FreeBSD: head/security/clamav/Makefile 481197 2018-10-04 01:53:09Z ler $ |
3 |
|
2 |
|
4 |
PORTNAME= clamav |
3 |
PORTNAME= clamav |
5 |
PORTVERSION= 0.100.2 |
4 |
PORTVERSION= 0.100.2 |
|
|
5 |
PORTREVISION= 1 |
6 |
CATEGORIES= security |
6 |
CATEGORIES= security |
7 |
MASTER_SITES= http://www.clamav.net/downloads/production/ |
7 |
MASTER_SITES= http://www.clamav.net/downloads/production/ |
8 |
|
8 |
|
Lines 12-86
Link Here
|
12 |
LICENSE= GPLv2 |
12 |
LICENSE= GPLv2 |
13 |
LICENSE_FILE= ${WRKSRC}/COPYING |
13 |
LICENSE_FILE= ${WRKSRC}/COPYING |
14 |
|
14 |
|
|
|
15 |
BUILD_DEPENDS= pkg-config:devel/pkgconf |
15 |
LIB_DEPENDS= libltdl.so:devel/libltdl \ |
16 |
LIB_DEPENDS= libltdl.so:devel/libltdl \ |
16 |
libcurl.so:ftp/curl |
17 |
libcurl.so:ftp/curl |
17 |
|
18 |
|
18 |
OPTIONS_DEFINE= ARC ARJ LHA UNZOO UNRAR TESTS MILTER LDAP ICONV STDERR \ |
|
|
19 |
EXPERIMENTAL DOCS IPV6 DMG_XAR JSON PCRE |
20 |
|
21 |
ARC_DESC= Enable arch archives support |
22 |
ARJ_DESC= Enable arj archives support |
23 |
LHA_DESC= Enable lha archives support |
24 |
UNZOO_DESC= Enable zoo archives support |
25 |
TESTS_DESC= Run compile-time tests (req. python) |
26 |
MILTER_DESC= Compile the milter interface |
27 |
STDERR_DESC= Print logs to stderr instead of stdout |
28 |
EXPERIMENTAL_DESC= Build experimental code |
29 |
DMG_XAR_DESC= Enable DMG and XAR archives support |
30 |
|
31 |
OPTIONS_DEFAULT= ARC ARJ UNZOO UNRAR DMG_XAR \ |
32 |
JSON PCRE |
33 |
|
34 |
ARC_RUN_DEPENDS= arc:archivers/arc |
35 |
ARJ_RUN_DEPENDS= arj:archivers/arj |
36 |
LHA_RUN_DEPENDS= lha:archivers/lha |
37 |
UNZOO_RUN_DEPENDS= unzoo:archivers/unzoo |
38 |
JSON_LIB_DEPENDS= libjson-c.so:devel/json-c |
39 |
PCRE_LIB_DEPENDS= libpcre.so:devel/pcre |
40 |
UNRAR_CONFIGURE_ENABLE= unrar |
41 |
MILTER_CONFIGURE_ENABLE=milter |
42 |
TESTS_CONFIGURE_ENABLE= check |
43 |
JSON_CONFIGURE_WITH= libjson |
44 |
PCRE_CONFIGURE_WITH= pcre |
45 |
TESTS_BUILD_DEPENDS= ${LOCALBASE}/include/check.h:devel/check |
46 |
ICONV_CONFIGURE_ON= --with-iconv |
47 |
ICONV_CONFIGURE_OFF= --without-iconv |
48 |
ICONV_USES= iconv |
49 |
EXPERIMENTAL_CONFIGURE_ENABLE= experimental |
50 |
IPV6_CONFIGURE_ENABLE= ipv6 |
51 |
DMG_XAR_CONFIGURE_ENABLE= xml |
52 |
DMG_XAR_USE= GNOME=libxml2 |
53 |
|
54 |
USES= cpe gmake gnome libtool ncurses pathfix ssl |
19 |
USES= cpe gmake gnome libtool ncurses pathfix ssl |
55 |
GNU_CONFIGURE= yes |
|
|
56 |
USE_LDCONFIG= yes |
57 |
INSTALL_TARGET= install-strip |
58 |
USE_RC_SUBR= clamav-clamd clamav-freshclam |
20 |
USE_RC_SUBR= clamav-clamd clamav-freshclam |
|
|
21 |
USE_LDCONFIG= yes |
59 |
|
22 |
|
60 |
PORTDOCS= * |
23 |
GNU_CONFIGURE= yes |
|
|
24 |
INSTALL_TARGET= install-strip |
61 |
|
25 |
|
62 |
DBDIR= /var/db/clamav |
|
|
63 |
LOGDIR= /var/log/clamav |
64 |
RUNDIR= /var/run/clamav |
65 |
PLIST_SUB+= DBDIR=${DBDIR} \ |
26 |
PLIST_SUB+= DBDIR=${DBDIR} \ |
66 |
LOGDIR=${LOGDIR} \ |
27 |
LOGDIR=${LOGDIR} \ |
67 |
RUNDIR=${RUNDIR} \ |
28 |
RUNDIR=${RUNDIR} \ |
68 |
CLAMAVUSER=${CLAMAVUSER} \ |
29 |
CLAMAVUSER=${CLAMAVUSER} \ |
69 |
CLAMAVGROUP=${CLAMAVGROUP} |
30 |
CLAMAVGROUP=${CLAMAVGROUP} |
70 |
PY_NO_THREAD= ${WRKDIR}/.python-has-no-threads |
|
|
71 |
OPTIONS_SUB= yes |
72 |
|
31 |
|
73 |
CONFIGURE_ARGS= --libdir=${PREFIX}/lib \ |
32 |
CONFIGURE_ARGS= --libdir=${LOCALBASE}/lib \ |
74 |
--with-dbdir=${DBDIR} \ |
33 |
--with-dbdir=${DBDIR} \ |
75 |
--with-zlib=/usr \ |
|
|
76 |
--disable-clamuko \ |
34 |
--disable-clamuko \ |
77 |
--disable-clamav \ |
35 |
--disable-clamav \ |
78 |
--enable-bigstack \ |
36 |
--enable-bigstack \ |
79 |
--enable-readdir_r \ |
37 |
--enable-readdir_r \ |
80 |
--enable-gethostbyname_r \ |
38 |
--enable-gethostbyname_r \ |
81 |
--disable-dependency-tracking \ |
39 |
--disable-dependency-tracking \ |
82 |
--disable-zlib-vcheck \ |
|
|
83 |
--enable-clamdtop |
40 |
--enable-clamdtop |
|
|
41 |
|
42 |
CFLAGS_i386= -march=i486 |
84 |
CPPFLAGS+= -I${LOCALBASE}/include |
43 |
CPPFLAGS+= -I${LOCALBASE}/include |
85 |
|
44 |
|
86 |
# This port has a problem with -pthread, |
45 |
# This port has a problem with -pthread, |
Lines 89-101
Link Here
|
89 |
|
48 |
|
90 |
CONFLICTS?= clamav-milter-[0-9]* |
49 |
CONFLICTS?= clamav-milter-[0-9]* |
91 |
|
50 |
|
92 |
CLAMAVUSER?= clamav |
|
|
93 |
CLAMAVGROUP?= clamav |
94 |
|
95 |
CLAMAV_CLAMD_SOCKET?= ${RUNDIR}/clamd.sock |
96 |
CLAMAV_CLAMD_PIDFILE?= ${RUNDIR}/clamd.pid |
97 |
CLAMAV_MILTER_SOCKET?= ${RUNDIR}/clmilter.sock |
98 |
|
99 |
SUB_FILES= pkg-deinstall |
51 |
SUB_FILES= pkg-deinstall |
100 |
SUB_LIST+= DBDIR=${DBDIR} \ |
52 |
SUB_LIST+= DBDIR=${DBDIR} \ |
101 |
LOGDIR=${LOGDIR} \ |
53 |
LOGDIR=${LOGDIR} \ |
Lines 108-131
Link Here
|
108 |
CLAMAV_CLAMD_PIDFILE=${CLAMAV_CLAMD_PIDFILE} \ |
60 |
CLAMAV_CLAMD_PIDFILE=${CLAMAV_CLAMD_PIDFILE} \ |
109 |
CLAMAV_MILTER_SOCKET=${CLAMAV_MILTER_SOCKET} |
61 |
CLAMAV_MILTER_SOCKET=${CLAMAV_MILTER_SOCKET} |
110 |
|
62 |
|
111 |
SED_CONF= -E -e 's|^\#?(Example)$$|\#\1|' \ |
|
|
112 |
-e 's|^\#?((Update)?LogFile) .*/([a-z]+\.log)$$|\1 ${LOGDIR}/\3|' \ |
113 |
-e 's|^\#?(PidFile) .*/([a-z\-]+\.pid)$$|\1 ${RUNDIR}/\2|' \ |
114 |
-e 's|^\#?(LocalSocket) .*$$|\1 ${CLAMAV_CLAMD_SOCKET}|' \ |
115 |
-e 's|^\#?(User) .*$$|\1 ${CLAMAVUSER}|' \ |
116 |
-e 's|^\#?(AllowSupplementaryGroups).*$$|\1 yes|' \ |
117 |
-e 's|^\#?(ScanMail).*$$|\1 yes|' \ |
118 |
-e 's|^\#?(DatabaseDirectory) .*$$|\1 ${DBDIR}|' \ |
119 |
-e 's|^\#?(DatabaseOwner) .*$$|\1 ${CLAMAVUSER}|' \ |
120 |
-e 's|^\#?(FixStaleSocket).*$$|\1 yes|' \ |
121 |
-e 's|^\#?(NotifyClamd) .*$$|\1 ${PREFIX}/etc/clamd.conf|' \ |
122 |
-e 's|^\#?(MilterSocket) */tmp.*$$|\1 ${CLAMAV_MILTER_SOCKET}|' \ |
123 |
-e 's|^\#?(ClamdSocket).*$$|\1 unix:${CLAMAV_CLAMD_SOCKET}|' |
124 |
|
125 |
PLIST_SUB+= CLAMAVUSER=${CLAMAVUSER} \ |
63 |
PLIST_SUB+= CLAMAVUSER=${CLAMAVUSER} \ |
126 |
CLAMAVGROUP=${CLAMAVGROUP} |
64 |
CLAMAVGROUP=${CLAMAVGROUP} |
127 |
|
65 |
|
128 |
.include <bsd.port.options.mk> |
66 |
OPTIONS_DEFINE= ARC ARJ LHA UNZOO UNRAR TESTS MILTER MSPACK LDAP ICONV STDERR \ |
|
|
67 |
EXPERIMENTAL DOCS IPV6 DMG_XAR JSON PCRE |
68 |
|
69 |
OPTIONS_DEFAULT= ARC ARJ UNZOO UNRAR DMG_XAR \ |
70 |
JSON PCRE MSPACK |
71 |
OPTIONS_SUB= yes |
72 |
|
73 |
ARC_DESC= Enable arch archives support |
74 |
ARJ_DESC= Enable arj archives support |
75 |
LHA_DESC= Enable lha archives support |
76 |
UNZOO_DESC= Enable zoo archives support |
77 |
TESTS_DESC= Run compile-time tests (req. python) |
78 |
MILTER_DESC= Compile the milter interface |
79 |
MSPACK_DESC= Get mspack support from ports (otherwise use bundled) |
80 |
STDERR_DESC= Print logs to stderr instead of stdout |
81 |
EXPERIMENTAL_DESC= Build experimental code |
82 |
DMG_XAR_DESC= Enable DMG and XAR archives support |
83 |
|
84 |
ARC_RUN_DEPENDS= arc:archivers/arc |
85 |
ARJ_RUN_DEPENDS= arj:archivers/arj |
86 |
DMG_XAR_CONFIGURE_ENABLE= xml |
87 |
DMG_XAR_USE= GNOME=libxml2 |
88 |
EXPERIMENTAL_CONFIGURE_ENABLE= experimental |
89 |
ICONV_CONFIGURE_WITH= iconv |
90 |
ICONV_USES= iconv |
91 |
IPV6_CONFIGURE_ENABLE= ipv6 |
92 |
JSON_CONFIGURE_WITH= libjson |
93 |
JSON_LIB_DEPENDS= libjson-c.so:devel/json-c |
94 |
LDAP_LDFLAGS= -lldap |
95 |
LDAP_USE= OPENLDAP=yes |
96 |
LHA_RUN_DEPENDS= lha:archivers/lha |
97 |
MILTER_CONFIGURE_WITH= sendmail=/usr/sbin/sendmail |
98 |
MILTER_CONFIGURE_ENABLE=milter |
99 |
MILTER_USE= RC_SUBR=clamav-milter |
100 |
MSPACK_CONFIGURE_WITH= system-libmspack=${LOCALBASE}/lib/libmspack.so |
101 |
MSPACK_LIB_DEPENDS= libmspack.so:archivers/libmspack |
102 |
PCRE_CONFIGURE_WITH= pcre |
103 |
PCRE_LIB_DEPENDS= libpcre2-8.so:devel/pcre2 |
104 |
STDERR_EXTRA_PATCHES= ${FILESDIR}/extra-patch-shared_output.c |
105 |
TESTS_CONFIGURE_ENABLE= check |
106 |
TESTS_BUILD_DEPENDS= ${LOCALBASE}/include/check.h:devel/check |
107 |
TESTS_USES= python:build |
108 |
UNRAR_CONFIGURE_ENABLE= unrar |
109 |
UNZOO_RUN_DEPENDS= unzoo:archivers/unzoo |
110 |
|
111 |
CLAMAVUSER?= clamav |
112 |
CLAMAVGROUP?= clamav |
113 |
|
114 |
CLAMAV_CLAMD_SOCKET?= ${RUNDIR}/clamd.sock |
115 |
CLAMAV_CLAMD_PIDFILE?= ${RUNDIR}/clamd.pid |
116 |
CLAMAV_MILTER_SOCKET?= ${RUNDIR}/clmilter.sock |
129 |
|
117 |
|
130 |
.if ${CLAMAVUSER} == "clamav" |
118 |
.if ${CLAMAVUSER} == "clamav" |
131 |
USERS= clamav |
119 |
USERS= clamav |
Lines 135-169
Link Here
|
135 |
GROUPS= clamav mail |
123 |
GROUPS= clamav mail |
136 |
.endif |
124 |
.endif |
137 |
|
125 |
|
138 |
. if ${PORT_OPTIONS:MTESTS} |
126 |
DBDIR= /var/db/clamav |
139 |
USES+= python:build |
127 |
LOGDIR= /var/log/clamav |
140 |
. endif |
128 |
RUNDIR= /var/run/clamav |
141 |
|
129 |
PY_NO_THREAD= ${WRKDIR}/.python-has-no-threads |
142 |
.if ${PORT_OPTIONS:MMILTER} |
|
|
143 |
USE_RC_SUBR+= clamav-milter |
144 |
. if ${PORT_OPTIONS:MLDAP} && exists(${LOCALBASE}/lib/libldap.so) |
145 |
USE_OPENLDAP= yes |
146 |
LDFLAGS+= -lldap |
147 |
. endif |
148 |
|
149 |
. if !exists(/usr/lib/libmilter.a) || exists(${LOCALBASE}/lib/libmilter.a) |
150 |
BUILD_DEPENDS+= ${LOCALBASE}/lib/libmilter.a:mail/libmilter |
151 |
CONFIGURE_ARGS+=--with-sendmail=${LOCALBASE}/sbin/sendmail |
152 |
LDFLAGS+= -L${LOCALBASE}/lib |
153 |
. else |
154 |
CONFIGURE_ARGS+=--with-sendmail=/usr/sbin/sendmail |
155 |
. endif |
156 |
.endif |
157 |
|
158 |
.if ${PORT_OPTIONS:MSTDERR} |
159 |
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-shared_output.c |
160 |
.endif |
161 |
|
162 |
.include <bsd.port.pre.mk> |
163 |
|
130 |
|
164 |
.if ${ARCH} == "i386" |
131 |
SED_CONF= -E -e 's|^\#?(Example)$$|\#\1|' \ |
165 |
CFLAGS+= -march=i486 |
132 |
-e 's|^\#?((Update)?LogFile) .*/([a-z]+\.log)$$|\1 ${LOGDIR}/\3|' \ |
166 |
.endif |
133 |
-e 's|^\#?(PidFile) .*/([a-z\-]+\.pid)$$|\1 ${RUNDIR}/\2|' \ |
|
|
134 |
-e 's|^\#?(LocalSocket) .*$$|\1 ${CLAMAV_CLAMD_SOCKET}|' \ |
135 |
-e 's|^\#?(User) .*$$|\1 ${CLAMAVUSER}|' \ |
136 |
-e 's|^\#?(AllowSupplementaryGroups).*$$|\1 yes|' \ |
137 |
-e 's|^\#?(ScanMail).*$$|\1 yes|' \ |
138 |
-e 's|^\#?(DatabaseDirectory) .*$$|\1 ${DBDIR}|' \ |
139 |
-e 's|^\#?(DatabaseOwner) .*$$|\1 ${CLAMAVUSER}|' \ |
140 |
-e 's|^\#?(FixStaleSocket).*$$|\1 yes|' \ |
141 |
-e 's|^\#?(NotifyClamd) .*$$|\1 ${PREFIX}/etc/clamd.conf|' \ |
142 |
-e 's|^\#?(MilterSocket) */tmp.*$$|\1 ${CLAMAV_MILTER_SOCKET}|' \ |
143 |
-e 's|^\#?(ClamdSocket).*$$|\1 unix:${CLAMAV_CLAMD_SOCKET}|' |
167 |
|
144 |
|
168 |
post-patch: |
145 |
post-patch: |
169 |
@${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|-lthr|g' \ |
146 |
@${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|-lthr|g' \ |
Lines 176-183
Link Here
|
176 |
@${REINPLACE_CMD} -e 's|0x100000000|0x100000000ULL|g' \ |
153 |
@${REINPLACE_CMD} -e 's|0x100000000|0x100000000ULL|g' \ |
177 |
${WRKSRC}/libclamunrar/unrar.c |
154 |
${WRKSRC}/libclamunrar/unrar.c |
178 |
|
155 |
|
179 |
.if ${PORT_OPTIONS:MTESTS} |
156 |
pre-configure-TESTS-on: |
180 |
pre-configure: |
|
|
181 |
@if ! ${PYTHON_CMD} -c "import thread" >/dev/null 2>&1; then \ |
157 |
@if ! ${PYTHON_CMD} -c "import thread" >/dev/null 2>&1; then \ |
182 |
${ECHO_MSG} ""; \ |
158 |
${ECHO_MSG} ""; \ |
183 |
${ECHO_MSG} "==========================================================================="; \ |
159 |
${ECHO_MSG} "==========================================================================="; \ |
Lines 187-200
Link Here
|
187 |
${ECHO_MSG} ""; \ |
163 |
${ECHO_MSG} ""; \ |
188 |
${TOUCH} ${PY_NO_THREAD}; \ |
164 |
${TOUCH} ${PY_NO_THREAD}; \ |
189 |
fi |
165 |
fi |
190 |
.endif |
|
|
191 |
|
166 |
|
192 |
.if ${PORT_OPTIONS:MTESTS} |
167 |
post-build-TESTS-on: |
193 |
post-build: |
|
|
194 |
@if [ ! -f "${PY_NO_THREAD}" ]; then \ |
168 |
@if [ ! -f "${PY_NO_THREAD}" ]; then \ |
195 |
${MAKE_CMD} -C ${WRKSRC} check; \ |
169 |
${MAKE_CMD} -C ${WRKSRC} check; \ |
196 |
fi |
170 |
fi |
197 |
.endif |
|
|
198 |
|
171 |
|
199 |
post-install: |
172 |
post-install: |
200 |
${INSTALL_DATA} ${WRKSRC}/clamav-config.h ${STAGEDIR}${PREFIX}/include |
173 |
${INSTALL_DATA} ${WRKSRC}/clamav-config.h ${STAGEDIR}${PREFIX}/include |
Lines 204-207
Link Here
|
204 |
${STAGEDIR}${RUNDIR} |
177 |
${STAGEDIR}${RUNDIR} |
205 |
${INSTALL_DATA} ${WRKSRC}/docs/html/* ${STAGEDIR}${DOCSDIR}/html |
178 |
${INSTALL_DATA} ${WRKSRC}/docs/html/* ${STAGEDIR}${DOCSDIR}/html |
206 |
|
179 |
|
207 |
.include <bsd.port.post.mk> |
180 |
.include <bsd.port.mk> |