xref: /OK3568_Linux_fs/buildroot/package/dovecot/dovecot.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun################################################################################
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# dovecot
4*4882a593Smuzhiyun#
5*4882a593Smuzhiyun################################################################################
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunDOVECOT_VERSION_MAJOR = 2.3
8*4882a593SmuzhiyunDOVECOT_VERSION = $(DOVECOT_VERSION_MAJOR).16
9*4882a593SmuzhiyunDOVECOT_SITE = https://dovecot.org/releases/$(DOVECOT_VERSION_MAJOR)
10*4882a593SmuzhiyunDOVECOT_INSTALL_STAGING = YES
11*4882a593SmuzhiyunDOVECOT_LICENSE = LGPL-2.1, MIT, Public Domain, BSD-3-Clause, Unicode-DFS-2015
12*4882a593SmuzhiyunDOVECOT_LICENSE_FILES = COPYING COPYING.LGPL COPYING.MIT
13*4882a593SmuzhiyunDOVECOT_CPE_ID_VENDOR = dovecot
14*4882a593SmuzhiyunDOVECOT_SELINUX_MODULES = dovecot
15*4882a593SmuzhiyunDOVECOT_DEPENDENCIES = \
16*4882a593Smuzhiyun	host-pkgconf \
17*4882a593Smuzhiyun	$(if $(BR2_PACKAGE_LIBICONV),libiconv) \
18*4882a593Smuzhiyun	openssl
19*4882a593Smuzhiyun
20*4882a593Smuzhiyun# CVE-2016-4983 is an issue in a postinstall script in the dovecot rpm, which
21*4882a593Smuzhiyun# is part of the Red Hat packaging and not part of upstream dovecot
22*4882a593SmuzhiyunDOVECOT_IGNORE_CVES += CVE-2016-4983
23*4882a593Smuzhiyun
24*4882a593SmuzhiyunDOVECOT_CONF_ENV = \
25*4882a593Smuzhiyun	RPCGEN=__disable_RPCGEN_rquota \
26*4882a593Smuzhiyun	i_cv_epoll_works=yes \
27*4882a593Smuzhiyun	i_cv_inotify_works=yes \
28*4882a593Smuzhiyun	i_cv_posix_fallocate_works=no \
29*4882a593Smuzhiyun	i_cv_signed_size_t=no \
30*4882a593Smuzhiyun	i_cv_gmtime_max_time_t=32 \
31*4882a593Smuzhiyun	i_cv_signed_time_t=yes \
32*4882a593Smuzhiyun	i_cv_mmap_plays_with_write=yes \
33*4882a593Smuzhiyun	i_cv_fd_passing=yes \
34*4882a593Smuzhiyun	i_cv_c99_vsnprintf=yes \
35*4882a593Smuzhiyun	lib_cv_va_copy=yes \
36*4882a593Smuzhiyun	lib_cv___va_copy=yes \
37*4882a593Smuzhiyun	lib_cv_va_val_copy=yes
38*4882a593Smuzhiyun
39*4882a593SmuzhiyunDOVECOT_CONF_OPTS = --without-docs --with-ssl=openssl
40*4882a593Smuzhiyun
41*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_DOVECOT_MYSQL)$(BR2_PACKAGE_DOVECOT_SQLITE),)
42*4882a593SmuzhiyunDOVECOT_CONF_OPTS += --without-sql
43*4882a593Smuzhiyunendif
44*4882a593Smuzhiyun
45*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_BZIP2),y)
46*4882a593SmuzhiyunDOVECOT_CONF_OPTS += --with-bzlib
47*4882a593SmuzhiyunDOVECOT_DEPENDENCIES += bzip2
48*4882a593Smuzhiyunelse
49*4882a593SmuzhiyunDOVECOT_CONF_OPTS += --without-bzlib
50*4882a593Smuzhiyunendif
51*4882a593Smuzhiyun
52*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_ICU),y)
53*4882a593SmuzhiyunDOVECOT_CONF_OPTS += --with-icu
54*4882a593SmuzhiyunDOVECOT_DEPENDENCIES += icu
55*4882a593Smuzhiyunelse
56*4882a593SmuzhiyunDOVECOT_CONF_OPTS += --without-icu
57*4882a593Smuzhiyunendif
58*4882a593Smuzhiyun
59*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBCAP),y)
60*4882a593SmuzhiyunDOVECOT_CONF_OPTS += --with-libcap
61*4882a593SmuzhiyunDOVECOT_DEPENDENCIES += libcap
62*4882a593Smuzhiyunelse
63*4882a593SmuzhiyunDOVECOT_CONF_OPTS += --without-libcap
64*4882a593Smuzhiyunendif
65*4882a593Smuzhiyun
66*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBSODIUM),y)
67*4882a593SmuzhiyunDOVECOT_CONF_OPTS += --with-sodium
68*4882a593SmuzhiyunDOVECOT_DEPENDENCIES += libsodium
69*4882a593Smuzhiyunelse
70*4882a593SmuzhiyunDOVECOT_CONF_OPTS += --without-sodium
71*4882a593Smuzhiyunendif
72*4882a593Smuzhiyun
73*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LINUX_PAM),y)
74*4882a593SmuzhiyunDOVECOT_CONF_OPTS += --with-pam
75*4882a593SmuzhiyunDOVECOT_DEPENDENCIES += linux-pam
76*4882a593Smuzhiyunelse
77*4882a593SmuzhiyunDOVECOT_CONF_OPTS += --without-pam
78*4882a593Smuzhiyunendif
79*4882a593Smuzhiyun
80*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_DOVECOT_MYSQL),y)
81*4882a593SmuzhiyunDOVECOT_CONF_ENV += MYSQL_CONFIG="$(STAGING_DIR)/usr/bin/mysql_config"
82*4882a593SmuzhiyunDOVECOT_CONF_OPTS += --with-mysql
83*4882a593SmuzhiyunDOVECOT_DEPENDENCIES += mysql
84*4882a593Smuzhiyunelse
85*4882a593SmuzhiyunDOVECOT_CONF_OPTS += --without-mysql
86*4882a593Smuzhiyunendif
87*4882a593Smuzhiyun
88*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_DOVECOT_SQLITE),y)
89*4882a593SmuzhiyunDOVECOT_CONF_OPTS += --with-sqlite
90*4882a593SmuzhiyunDOVECOT_DEPENDENCIES += sqlite
91*4882a593Smuzhiyunelse
92*4882a593SmuzhiyunDOVECOT_CONF_OPTS += --without-sqlite
93*4882a593Smuzhiyunendif
94*4882a593Smuzhiyun
95*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LZ4),y)
96*4882a593SmuzhiyunDOVECOT_CONF_OPTS += --with-lz4
97*4882a593SmuzhiyunDOVECOT_DEPENDENCIES += lz4
98*4882a593Smuzhiyunelse
99*4882a593SmuzhiyunDOVECOT_CONF_OPTS += --without-lz4
100*4882a593Smuzhiyunendif
101*4882a593Smuzhiyun
102*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_XZ),y)
103*4882a593SmuzhiyunDOVECOT_CONF_OPTS += --with-lzma
104*4882a593SmuzhiyunDOVECOT_DEPENDENCIES += xz
105*4882a593Smuzhiyunelse
106*4882a593SmuzhiyunDOVECOT_CONF_OPTS += --without-lzma
107*4882a593Smuzhiyunendif
108*4882a593Smuzhiyun
109*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_ZLIB),y)
110*4882a593SmuzhiyunDOVECOT_CONF_OPTS += --with-zlib
111*4882a593SmuzhiyunDOVECOT_DEPENDENCIES += zlib
112*4882a593Smuzhiyunelse
113*4882a593SmuzhiyunDOVECOT_CONF_OPTS += --without-zlib
114*4882a593Smuzhiyunendif
115*4882a593Smuzhiyun
116*4882a593Smuzhiyun# fix paths to avoid using /usr/lib/dovecot
117*4882a593Smuzhiyundefine DOVECOT_POST_CONFIGURE
118*4882a593Smuzhiyun	for i in $$(find $(@D) -name "Makefile"); do \
119*4882a593Smuzhiyun		$(SED) 's%^pkglibdir =.*%pkglibdir = \$$(libdir)%' $$i; \
120*4882a593Smuzhiyun		$(SED) 's%^pkglibexecdir =.*%pkglibexecdir = \$$(libexecdir)%' $$i; \
121*4882a593Smuzhiyun	done
122*4882a593Smuzhiyunendef
123*4882a593Smuzhiyun
124*4882a593SmuzhiyunDOVECOT_POST_CONFIGURE_HOOKS += DOVECOT_POST_CONFIGURE
125*4882a593Smuzhiyun
126*4882a593Smuzhiyun# dovecot installs dovecot-config in usr/lib/, therefore
127*4882a593Smuzhiyun# DOVECOT_CONFIG_SCRIPTS can not be used to rewrite paths
128*4882a593Smuzhiyundefine DOVECOT_FIX_STAGING_DOVECOT_CONFIG
129*4882a593Smuzhiyun	$(SED) 's,^LIBDOVECOT_INCLUDE=.*$$,LIBDOVECOT_INCLUDE=\"-I$(STAGING_DIR)/usr/include/dovecot\",' $(STAGING_DIR)/usr/lib/dovecot-config
130*4882a593Smuzhiyun	$(SED) 's,^LIBDOVECOT=.*$$,LIBDOVECOT=\"-L$(STAGING_DIR)/usr/lib -ldovecot\",' $(STAGING_DIR)/usr/lib/dovecot-config
131*4882a593Smuzhiyunendef
132*4882a593Smuzhiyun
133*4882a593SmuzhiyunDOVECOT_POST_INSTALL_STAGING_HOOKS += DOVECOT_FIX_STAGING_DOVECOT_CONFIG
134*4882a593Smuzhiyun
135*4882a593Smuzhiyun$(eval $(autotools-package))
136