aboutsummaryrefslogtreecommitdiffstats
path: root/mail/dovecot/Makefile
blob: 348d0058c6674a74074377f6b9893ceb79116b07 (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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
# ex:ts=8
# 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.6
CATEGORIES= mail ipv6
MASTER_SITES=   http://www.dovecot.org/

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

USE_ICONV=  yes
USE_REINPLACE=  yes
USE_RC_SUBR=    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-mysql.conf dovecot-openssl.cnf securecoding.txt

OPTIONS=    SASL2       "SASL2 support"     off \
        VPOPMAIL    "VPopMail support"  off \
        LDAP        "OpenLDAP support"  off \
        PGSQL       "PostgreSQL support"    off \
        MYSQL       "MySQL support"     off

.include <bsd.port.pre.mk>

## SASL2 support
#
# 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
#
# 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
#
# 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
#
# 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

## MySQL Support
#
# MySQL is another SQL database that can be
# used to store user tables.
#
.if defined(WITH_MYSQL)
USE_MYSQL=      yes
CONFIGURED_ARGS+=   --with-mysql
.endif

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

post-build:
    @${SED} -e 's,%%PREFIX%%,${PREFIX},g' \
        -e 's,%%RC_SUBR%%,${RC_SUBR},g' \
        ${FILESDIR}/dovecot.sh >${WRKDIR}/dovecot.sh

pre-install:
    @${SETENV} ${SCRIPTS_ENV} ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL

do-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/
    ${INSTALL_SCRIPT} ${WRKDIR}/dovecot.sh ${PREFIX}/etc/rc.d/
.if !defined(NOPORTDOCS)
    @${MKDIR} ${DOCSDIR}
    cd ${WRKSRC}/doc && ${INSTALL_DATA} ${DOCS} ${DOCSDIR}
    ${INSTALL_DATA} ${FILESDIR}/README.FreeBSD ${DOCSDIR}
.endif

post-install:
    @${SETENV} ${SCRIPTS_ENV} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
    @${SED} -e 's,%%PREFIX%%,${PREFIX},g' \
        -e 's,%%DOCSDIR%%,${DOCSDIR},g' \
        ${.CURDIR}/pkg-message >${PKGMESSAGE}
    @${CAT} ${PKGMESSAGE}

.include <bsd.port.post.mk>