blob: 3e483772be98a63e943756da1075d8fe6b051dc6 (
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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
|
######################################################################
# Anytime PORTVERSION changes please bump PORTREVISION of: #
# - mail/dovecot-pigeonhole. See ports/146029 for an explanation. #
# - mail/dovecot-fts-flatcurve. #
# - mail/dovecot-fts-xapian. #
# - mail/dovecot-fts-elastic. #
# - mail/dovecot-coi. #
# - mail/dovecot-xaps. #
######################################################################
PORTNAME= dovecot
DISTVERSION= 2.3.21.1
PORTREVISION= 3
CATEGORIES= mail
MASTER_SITES= https://dovecot.org/releases/2.3/
MAINTAINER= ler@FreeBSD.org
COMMENT= Secure, fast and powerful IMAP and POP3 server
WWW= https://www.dovecot.org/
LICENSE= LGPL21 MIT
LICENSE_COMB= dual
FLAVORS= default mysql pgsql
FLAVOR?= ${FLAVORS[1]}
mysql_PKGNAMESUFFIX= -mysql
pgsql_PKGNAMESUFFIX= -pgsql
LIB_DEPENDS= libzstd.so:archivers/zstd
USES= cpe iconv libtool pkgconfig ssl
USE_LDCONFIG= ${PREFIX}/lib/${PORTNAME}
USE_RC_SUBR= ${PORTNAME}
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --localstatedir=/var \
--with-docs \
--with-ssl=openssl \
--with-statedir=/var/db/${PORTNAME} \
--with-shadow=no \
--with-systemd=no
INSTALL_TARGET= install-strip
CPPFLAGS+= -I${LOCALBASE}/include -I${OPENSSLINC}
LDFLAGS+= -L${LOCALBASE}/lib -L${OPENSSLLIB}
SUB_FILES+= pkg-message
SUB_LIST+= REQUIRE="${_REQUIRE}"
# Default requirement for dovecot rc script
_REQUIRE= LOGIN
USERS= ${PORTNAME} dovenull
GROUPS= ${USERS}
DOCS= AUTHORS COPYING INSTALL NEWS TODO README
PORTDOCS= *
PORTEXAMPLES= *
OPTIONS_DEFINE= LIBSODIUM LIBUNWIND LIBWRAP LUA LZ4 DOCS EXAMPLES
OPTIONS_DEFAULT= GSSAPI_NONE LDAP LIBWRAP
OPTIONS_GROUP= DB FTS
OPTIONS_GROUP_DB= CDB LDAP MYSQL PGSQL SQLITE
OPTIONS_GROUP_FTS= ICU LUCENE SOLR TEXTCAT
OPTIONS_SINGLE= GSSAPI
OPTIONS_SINGLE_GSSAPI= GSSAPI_BASE GSSAPI_HEIMDAL GSSAPI_MIT GSSAPI_NONE
OPTIONS_SUB= yes
CDB_DESC= CDB database support
DB_DESC= Database support
FTS_DESC= Full text search plugins
GSSAPI_BASE_DESC= Use GSSAPI from base
GSSAPI_HEIMDAL_DESC= Use Heimdal GSSAPI from security/heimdal
GSSAPI_MIT_DESC= Use MIT GSSAPI from security/krb5
GSSAPI_NONE_DESC= Build without GSSAPI support
ICU_DESC= Use libicu for FTS unicode normalization
LIBSODIUM_DESC= Support libsodium based crypts (ARGON2I/ARGON2ID)
LIBUNWIND_DESC= Get backtraces using libunwind
LUCENE_DESC= CLucene FTS support
SOLR_DESC= Solr FTS support
TEXTCAT_DESC= Libexttextcat FTS support
CDB_LIB_DEPENDS= libcdb.so:databases/tinycdb
CDB_CONFIGURE_WITH= cdb
GSSAPI_BASE_USES= gssapi
GSSAPI_HEIMDAL_USES= gssapi:heimdal
GSSAPI_MIT_USES= gssapi:mit
GSSAPI_NONE_CONFIGURE_ON= --without-gssapi
GSSAPI_NONE_CONFIGURE_OFF= --with-gssapi ${GSSAPI_CONFIGURE_ARGS}
ICU_LIB_DEPENDS= libicui18n.so:devel/icu \
libicuuc.so:devel/icu
ICU_CONFIGURE_WITH= icu
ICU_LDFLAGS= -licuuc
LDAP_USES= ldap
LDAP_CONFIGURE_WITH= ldap
LDAP_VARS= _REQUIRE+=slapd
LIBSODIUM_LIB_DEPENDS= libsodium.so:security/libsodium
LIBSODIUM_CONFIGURE_WITH= sodium
LIBUNWIND_LIB_DEPENDS= libunwind.so:devel/libunwind
LIBUNWIND_CONFIGURE_ON= --with-libunwind=yes
LIBUNWIND_CONFIGURE_OFF= --with-libunwind=no
LIBWRAP_CONFIGURE_WITH= libwrap
LUA_USES= lua:51,53
LUA_CONFIGURE_WITH= lua
LUCENE_LIB_DEPENDS= libclucene-core.so:textproc/clucene
LUCENE_CONFIGURE_WITH= lucene stemmer
LZ4_LIB_DEPENDS= liblz4.so:archivers/liblz4
LZ4_CONFIGURE_WITH= lz4
.if ${FLAVOR:U} == mysql
OPTIONS_DEFAULT+= MYSQL
.endif
MYSQL_USES= mysql
MYSQL_CONFIGURE_WITH= mysql
MYSQL_VARS= _REQUIRE+=mysql
.if ${FLAVOR:U} == pgsql
OPTIONS_DEFAULT+= PGSQL
.endif
PGSQL_USES= pgsql
PGSQL_CONFIGURE_WITH= pgsql
PGSQL_VARS= _REQUIRE+=postgresql
SOLR_LIB_DEPENDS= libcurl.so:ftp/curl \
libexpat.so:textproc/expat2
SOLR_CONFIGURE_WITH= solr
SQLITE_USES= sqlite
SQLITE_CONFIGURE_WITH= sqlite
TEXTCAT_LIB_DEPENDS= libexttextcat-2.0.so:textproc/libexttextcat
TEXTCAT_CONFIGURE_WITH= textcat
post-patch:
@${REINPLACE_CMD} -e 's,/etc/dovecot,${ETCDIR},g; \
s,sysconfdir=/etc,sysconfdir=${PREFIX}/etc,g' \
${WRKSRC}/doc/example-config/*.conf ${WRKSRC}/doc/example-config/conf.d/* \
${WRKSRC}/doc/example-config/*.conf.ext
@${REINPLACE_CMD} -e '/^LIBS =/s/$$/ @LTLIBICONV@/' \
${WRKSRC}/src/lib-mail/Makefile.in
# Install the sample config files into ETCDIR/example-config/
@${REINPLACE_CMD} -e '/^exampledir =/s|\$$(docdir)|${ETCDIR}|' \
${WRKSRC}/doc/example-config/Makefile.in \
${WRKSRC}/doc/example-config/conf.d/Makefile.in
post-patch-LUA-on:
@${REINPLACE_CMD} -e '/^libdovecot_lua_la_DEPENDENCIES =/ s|LUA_LIBS|true|' \
${WRKSRC}/src/lib-lua/Makefile.in
post-install:
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
${MV} ${STAGEDIR}${DOCSDIR}/dovecot-openssl.cnf ${STAGEDIR}${EXAMPLESDIR}
${MV} ${STAGEDIR}${DOCSDIR}/mkcert.sh ${STAGEDIR}${EXAMPLESDIR}
post-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
(cd ${WRKSRC} && ${INSTALL_DATA} ${DOCS} ${STAGEDIR}${DOCSDIR})
.include <bsd.port.mk>
|