aboutsummaryrefslogtreecommitdiffstats
path: root/mail/dovecot/Makefile
blob: 995f4aaa030863135b3178eab18eae150785c508 (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
116
117
118
119
120
121
122
# New ports collection makefile for:    dovecot
# Date created:             12/08/2002
# Whom:         Dominic Marks <dominic.marks@btinternet.com>
#
# $FreeBSD$
#

PORTNAME=   dovecot
PORTVERSION=    0.99.10.4
CATEGORIES= mail ipv6
MASTER_SITES=   http://dovecot.procontrol.fi/

MAINTAINER= robin@isometry.net
COMMENT=    Secure and compact IMAP and POP3 servers

LIB_DEPENDS=    iconv.3:${PORTSDIR}/converters/libiconv

USE_REINPLACE=  yes
GNU_CONFIGURE=  yes
CONFIGURE_TARGET=   --build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
CONFIGURE_ARGS= --without-shadow --enable-ipv6 \
        --localstatedir=/var --with-ssl=openssl \
        --with-ssldir=/var/dovecot/ssl --with-pop3d \
        --with-pam
CONFIGURE_ENV=  CPPFLAGS="-I${LOCALBASE}/include" \
        LDFLAGS="-L${LOCALBASE}/lib"

PKGMESSAGE= ${WRKDIR}/pkg-message

DOCS=       auth.txt configuration.txt design.txt \
        index.txt mail-storages.txt mkcert.sh multiaccess.txt \
        nfs.txt dovecot-ldap.conf dovecot-pgsql.conf \
        dovecot-openssl.cnf securecoding.txt

#.include <bsd.port.pre.mk>

## SASL2 support      -> WITH_SASL2=1
#
# SASL provides authentication support to
# session-based protocols. This is can be
# used by dovecot for authentication sources.
#
.if defined(WITH_SASL2)
LIB_DEPENDS+=   sasl2.2:${PORTSDIR}/security/cyrus-sasl2
CONFIGURE_ARGS+=    --with-cyrus-sasl2
.endif

## VPopMail Support   -> WITH_VPOPMAIL=1
#
# vpopmail provides easy authentication and
# multi-domain features. It was originally
# created for use with Qmail.
#
.if defined(WITH_VPOPMAIL)
VPOPMAIL=   ${LOCALBASE}/vpopmail/bin/vchkpw
BUILD_DEPENDS+= ${VPOPMAIL}:${PORTSDIR}/mail/vpopmail
CONFIGURE_ARGS+=    --with-vpopmail
.endif

## OpenLDAP Support   -> WITH_LDAP=1
#
# LDAP is the light-weight directory access
# protocol and can be used by Dovecot for its
# user database.
#
.if defined(WITH_LDAP)
USE_OPENLDAP=   yes
CONFIGURE_ARGS+=    --with-ldap
.endif

## PostgreSQL Support -> WITH_PGSQL=1
#
# PostgreSQL is a powerful SQL database that
# can be used to store user tables.
#
.if defined(WITH_PGSQL)
LIB_DEPENDS+=   pq.3:${PORTSDIR}/databases/postgresql7
CONFIGURE_ARGS+=    --with-pgsql
.endif

pre-everything::
    @${ECHO_MSG} "==> Dovecot options: see ${MAKEFILE} for descriptions"
    @${SED} -ne 's,^##,==> ,p' ${MAKEFILE}

pre-build:
    @${REINPLACE_CMD} -e 's,%%SSLDIR%%,/var/dovecot/ssl,' \
        ${WRKSRC}/doc/mkcert.sh \
        ${WRKSRC}/dovecot-example.conf
    @${REINPLACE_CMD} -e 's,%%PREFIX%%,${PREFIX},' \
        ${WRKSRC}/dovecot-example.conf

do-install:
    @${SETENV} ${SCRIPTS_ENV} \
        ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
    @${MKDIR} ${PREFIX}/libexec/dovecot
    ${INSTALL_PROGRAM} \
        ${WRKSRC}/src/imap/imap \
        ${WRKSRC}/src/pop3/pop3 \
        ${WRKSRC}/src/auth/dovecot-auth \
        ${WRKSRC}/src/imap-login/imap-login \
        ${WRKSRC}/src/pop3-login/pop3-login \
            ${PREFIX}/libexec/dovecot/
    ${INSTALL_DATA} ${WRKSRC}/dovecot-example.conf ${PREFIX}/etc/
    ${INSTALL_PROGRAM} ${WRKSRC}/src/master/dovecot ${PREFIX}/sbin/
    @${SETENV} ${SCRIPTS_ENV} \
        ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
    ${INSTALL_SCRIPT} -m 751 ${FILESDIR}/dovecot.sh.sample \
        ${PREFIX}/etc/rc.d/dovecot.sh.sample
.if !defined(NOPORTDOCS)
    @${MKDIR} ${DOCSDIR}
.for document in ${DOCS}
    @${INSTALL_DATA} ${WRKSRC}/doc/${document} ${DOCSDIR}
.endfor
    @${INSTALL_DATA} ${FILESDIR}/README.FreeBSD ${DOCSDIR}
.endif
    @${SED} -e 's,%%PREFIX%%,${PREFIX},g' \
        -e 's,%%DOCSDIR%%,${DOCSDIR},g' \
        ${.CURDIR}/pkg-message >${PKGMESSAGE}
    @${CAT} ${PKGMESSAGE}

#.include <bsd.port.post.mk>
.include <bsd.port.mk>