aboutsummaryrefslogtreecommitdiffstats
path: root/security/clamav/Makefile
blob: b02ff2a0930338a45cfa9897a6bc406bde30a413 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# New ports collection makefile for:    clamav
# Date created:     15 July 2002
# Whom:         markun@onohara.to
#
# $FreeBSD$
#

PORTNAME=   clamav
PORTVERSION=    0.60
PORTREVISION=   4
CATEGORIES= security
MASTER_SITES=   ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= clamav

MAINTAINER= markun@onohara.to
COMMENT=    Command line virus scanner written entirely in C

RUN_DEPENDS=    lha:${PORTSDIR}/archivers/lha \
        unarj:${PORTSDIR}/archivers/unarj \
        unrar:${PORTSDIR}/archivers/unrar \
        zoo:${PORTSDIR}/archivers/zoo \
        arc:${PORTSDIR}/archivers/arc \
        unzip:${PORTSDIR}/archivers/unzip

USE_REINPLACE=  yes
USE_GMAKE=  yes
GNU_CONFIGURE=  yes
CONFIGURE_TARGET=--build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
#USE_LIBTOOL_VER=14
INSTALLS_SHLIB= yes

PKGINSTALL= ${WRKDIR}/pkg-install

CONFIGURE_ARGS= --with-dbdir=${DATADIR} \
        --disable-clamav --enable-bigstack
CFLAGS+=    -I${LOCALBASE}/include
LDFLAGS+=   ${PTHREAD_LIBS}
CONFIGURE_ENV+= LDFLAGS="${LDFLAGS}"
MAN1=       clamscan.1 freshclam.1 sigtool.1 clamdscan.1 clamav-milter.1
MAN5=       clamav.conf.5
MAN8=       clamd.8

CLAMD_SOCKET?=  /var/run/clamav/clamd

CONFLICTS=  clamav-devel-*

SED_SCRIPT= -e 's|%%PREFIX%%|${PREFIX}|g' \
        -e 's|%%DATADIR%%|${DATADIR}|g' \
        -e 's|%%CLAMD_SOCKET%%|${CLAMD_SOCKET}|g'

SED_CONF=   -E -e 's|^\#?(Example)$$|\#\1|' \
        -e 's|^\#?(LogFile) .*$$|\1 /var/log/clamav/clamd.log|' \
        -e 's|^\#?(PidFile) .*$$|\1 /var/run/clamav/clamd.pid|' \
        -e 's|^\#?(LocalSocket) .*$$|\1 /var/run/clamav/clamd|' \
        -e 's|^\#?(User) .*$$|\1 clamav|' \
        -e 's|^\#?(AllowSupplementaryGroups)$$|\1|' \
        -e 's|^\#?(ScanMail)$$|\1|'

.include <bsd.port.pre.mk>

USE_RC_SUBR=    yes
RC_DIR=     ${PREFIX}/etc/rc.d
RC_SUFX=    .sh
SED_SCRIPT+=    -e 's|%%RC_SUBR%%|${RC_SUBR}|g' \
        -e 's|%%RC_DIR%%|${RC_DIR}|g' \
        -e 's|%%RC_SUFX%%|${RC_SUFX}|g'
PLIST_SUB+= RC_DIR=${RC_DIR} \
        RC_SUFX=${RC_SUFX}

.if ${OSVERSION} < 501100
# compiles only with optimizer
CFLAGS+=    -O
LDFLAGS+=   -lcipher
.endif

.if defined(WITH_MILTER)
USE_GETOPT_LONG=    yes
CONFIGURE_ARGS+=    --enable-milter
PLIST_SUB+= CLAMAV-MILTER=""
.else
PLIST_SUB+= CLAMAV-MILTER="@comment "
.endif

post-patch:
    @${REINPLACE_CMD} -e 's|-pthread|${PTHREAD_LIBS}|g' \
        ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}

pre-configure:
    @${REINPLACE_CMD} -e 's|clamav.conf|&.default|' \
        ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT} \
        ${CONFIGURE_WRKSRC}/etc/Makefile.in
.ifdef USE_LIBTOOL_VER
    @${REINPLACE_CMD} -e '/^LIBTOOL=/s|\$$(top_builddir)/libtool|${LIBTOOL}|' \
        ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
.endif

post-build:
    @${SED} ${SED_CONF} ${BUILD_WRKSRC}/etc/clamav.conf \
        >${BUILD_WRKSRC}/etc/clamav.conf.default
    @${SED} ${SED_SCRIPT} ${PKGDIR}/pkg-install >${PKGINSTALL}
    @${SED} ${SED_SCRIPT} ${FILESDIR}/clamd.sh >${WRKDIR}/clamd.sh

pre-install:
    @${SETENV} PKG_PREFIX=${PREFIX} \
        ${SH} ${PKGINSTALL} ${PREFIX} PRE-INSTALL

post-install:
    @${INSTALL_SCRIPT} ${WRKDIR}/clamd.sh ${RC_DIR}/clamd${RC_SUFX}
    @${CHOWN} -R clamav:clamav ${DATADIR}
    @[ -f ${PREFIX}/etc/clamav.conf ] || \
        ${CP} ${PREFIX}/etc/clamav.conf.default ${PREFIX}/etc/clamav.conf
    @${SETENV} PKG_PREFIX=${PREFIX} \
        ${SH} ${PKGINSTALL} ${PREFIX} POST-INSTALL

.include <bsd.port.post.mk>