aboutsummaryrefslogtreecommitdiff
path: root/package
diff options
context:
space:
mode:
authorGravatar Bernd Kuhls <bernd.kuhls@t-online.de>2014-10-29 21:14:04 +0100
committerGravatar Thomas Petazzoni <thomas.petazzoni@free-electrons.com>2014-10-30 22:18:52 +0100
commitb94e18ecda66cd8b280a1fb5d1a060fd4e635658 (patch)
treece13b8c3e531281fa814f925d8d852ef8f018c4c /package
parent746116d1eb2ec11f9d477e8fddfb41fc63ed86b6 (diff)
downloadbuildroot-b94e18ecda66cd8b280a1fb5d1a060fd4e635658.tar.gz
buildroot-b94e18ecda66cd8b280a1fb5d1a060fd4e635658.tar.bz2
package/dovecot: New package
[Thomas: - slightly adjust the prompt of options in the Config.in file - fix license: it's just LGPLv2.1, no exceptions. Parts of the code are under public domain, or under the MIT license, but the combination is under LGPLv2.1. - rewrap one comment in the .mk file.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package')
-rw-r--r--package/Config.in1
-rw-r--r--package/dovecot/Config.in56
-rw-r--r--package/dovecot/dovecot.mk97
3 files changed, 154 insertions, 0 deletions
diff --git a/package/Config.in b/package/Config.in
index 5de4df9fef..5d5a9eeab6 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -955,6 +955,7 @@ menu "Miscellaneous"
endmenu
menu "Mail"
+ source "package/dovecot/Config.in"
source "package/exim/Config.in"
source "package/fetchmail/Config.in"
source "package/heirloom-mailx/Config.in"
diff --git a/package/dovecot/Config.in b/package/dovecot/Config.in
new file mode 100644
index 0000000000..43a0bbf5e9
--- /dev/null
+++ b/package/dovecot/Config.in
@@ -0,0 +1,56 @@
+config BR2_PACKAGE_DOVECOT
+ bool "dovecot"
+ depends on BR2_INET_IPV6
+ depends on BR2_USE_MMU # fork()
+ help
+ Dovecot is an open source IMAP and POP3 email server for Linux/UNIX-
+ like systems, written with security primarily in mind. Dovecot is an
+ excellent choice for both small and large installations. It's fast,
+ simple to set up, requires no special administration and it uses very
+ little memory.
+
+ http://www.dovecot.org
+
+if BR2_PACKAGE_DOVECOT
+
+config BR2_PACKAGE_DOVECOT_BZIP2
+ bool "bzip2 support"
+ select BR2_PACKAGE_BZIP2
+ help
+ Enable bzip2 support.
+
+config BR2_PACKAGE_DOVECOT_MYSQL
+ bool "mysql support"
+ select BR2_PACKAGE_MYSQL
+ depends on BR2_INSTALL_LIBSTDCPP
+ depends on BR2_TOOLCHAIN_HAS_THREADS
+ help
+ Enable MySQL support.
+
+comment "mysql support needs a toolchain w/ C++, threads"
+ depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
+
+config BR2_PACKAGE_DOVECOT_OPENSSL
+ bool "openssl support"
+ select BR2_PACKAGE_OPENSSL
+ select BR2_PACKAGE_ZLIB
+ help
+ Enable OpenSSL support.
+
+config BR2_PACKAGE_DOVECOT_SQLITE
+ bool "sqlite support"
+ select BR2_PACKAGE_SQLITE
+ help
+ Enable SQLite support.
+
+config BR2_PACKAGE_DOVECOT_ZLIB
+ bool "zlib support"
+ select BR2_PACKAGE_ZLIB
+ help
+ Enable zlib support.
+
+endif # BR2_PACKAGE_DOVECOT
+
+comment "dovecot needs a toolchain w/ IPv6"
+ depends on BR2_USE_MMU
+ depends on !BR2_INET_IPV6
diff --git a/package/dovecot/dovecot.mk b/package/dovecot/dovecot.mk
new file mode 100644
index 0000000000..fd597ee92d
--- /dev/null
+++ b/package/dovecot/dovecot.mk
@@ -0,0 +1,97 @@
+################################################################################
+#
+# dovecot
+#
+################################################################################
+
+DOVECOT_VERSION_MAJOR = 2.2
+DOVECOT_VERSION = $(DOVECOT_VERSION_MAJOR).15
+DOVECOT_SITE = http://www.dovecot.org/releases/$(DOVECOT_VERSION_MAJOR)
+DOVECOT_INSTALL_STAGING = YES
+DOVECOT_LICENSE = LGPLv2.1
+DOVECOT_LICENSE_FILES = COPYING COPYING.LGPL COPYING.MIT
+DOVECOT_DEPENDENCIES = host-pkgconf $(if $(BR2_PACKAGE_LIBICONV),libiconv)
+
+DOVECOT_CONF_ENV = \
+ RPCGEN=__disable_RPCGEN_rquota \
+ i_cv_epoll_works=yes \
+ i_cv_inotify_works=yes \
+ i_cv_posix_fallocate_works=no \
+ i_cv_signed_size_t=no \
+ i_cv_gmtime_max_time_t=32 \
+ i_cv_signed_time_t=yes \
+ i_cv_mmap_plays_with_write=yes \
+ i_cv_fd_passing=yes \
+ i_cv_c99_vsnprintf=yes \
+ lib_cv_va_copy=yes \
+ lib_cv___va_copy=yes \
+ lib_cv_va_val_copy=yes
+
+DOVECOT_CONF_OPTS = --without-docs
+
+ifeq ($(BR2_PACKAGE_DOVECOT_MYSQL)$(BR2_PACKAGE_DOVECOT_SQLITE),)
+DOVECOT_CONF_OPTS += --without-sql
+endif
+
+ifeq ($(BR2_PACKAGE_DOVECOT_BZIP2),y)
+DOVECOT_CONF_OPTS += --with-bzlib
+DOVECOT_DEPENDENCIES += bzip2
+else
+DOVECOT_CONF_OPTS += --without-bzlib
+endif
+
+ifeq ($(BR2_PACKAGE_LIBCAP),y)
+DOVECOT_CONF_OPTS += --with-libcap
+DOVECOT_DEPENDENCIES += libcap
+else
+DOVECOT_CONF_OPTS += --without-libcap
+endif
+
+ifeq ($(BR2_PACKAGE_DOVECOT_MYSQL),y)
+DOVECOT_CONF_ENV += MYSQL_CONFIG="$(STAGING_DIR)/usr/bin/mysql_config"
+DOVECOT_CONF_OPTS += --with-mysql
+DOVECOT_DEPENDENCIES += mysql
+else
+DOVECOT_CONF_OPTS += --without-mysql
+endif
+
+ifeq ($(BR2_PACKAGE_DOVECOT_OPENSSL),y)
+DOVECOT_CONF_OPTS += --with-ssl=openssl
+DOVECOT_DEPENDENCIES += openssl
+else
+DOVECOT_CONF_OPTS += --with-ssl=no
+endif
+
+ifeq ($(BR2_PACKAGE_DOVECOT_SQLITE),y)
+DOVECOT_CONF_OPTS += --with-sqlite
+DOVECOT_DEPENDENCIES += sqlite
+else
+DOVECOT_CONF_OPTS += --without-sqlite
+endif
+
+ifeq ($(BR2_PACKAGE_DOVECOT_ZLIB),y)
+DOVECOT_CONF_OPTS += --with-zlib
+DOVECOT_DEPENDENCIES += zlib
+else
+DOVECOT_CONF_OPTS += --without-zlib
+endif
+
+# fix paths to avoid using /usr/lib/dovecot
+define DOVECOT_POST_CONFIGURE
+ for i in $$(find $(@D) -name "Makefile"); do \
+ $(SED) 's%^pkglibdir =.*%pkglibdir = \$$(libdir)%' $$i; \
+ $(SED) 's%^pkglibexecdir =.*%pkglibexecdir = \$$(libexecdir)%' $$i; \
+ done
+endef
+
+DOVECOT_POST_CONFIGURE_HOOKS += DOVECOT_POST_CONFIGURE
+
+# dovecot installs dovecot-config in usr/lib/, therefore
+# DOVECOT_CONFIG_SCRIPTS can not be used to rewrite paths
+define DOVECOT_FIX_STAGING_DOVECOT_CONFIG
+ $(SED) 's,^LIBDOVECOT_INCLUDE=.*$$,LIBDOVECOT_INCLUDE=\"-I$(STAGING_DIR)/usr/include/dovecot\",' $(STAGING_DIR)/usr/lib/dovecot-config
+endef
+
+DOVECOT_POST_INSTALL_STAGING_HOOKS += DOVECOT_FIX_STAGING_DOVECOT_CONFIG
+
+$(eval $(autotools-package))