diff --git a/mail/dovecot/Makefile b/mail/dovecot/Makefile new file mode 100644 index 0000000000..fdc29303d5 --- /dev/null +++ b/mail/dovecot/Makefile @@ -0,0 +1,76 @@ +# +# Copyright (C) 2006-2014 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=dovecot +PKG_VERSION:=2.2.13 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=http://www.dovecot.org/releases/2.2 +PKG_MD5SUM:=a3eb1c0b1822c4f2b0fe9247776baa71 + +PKG_BUILD_DEPENDS:=libiconv + +PKG_FIXUP:=autoreconf +PKG_INSTALL:=1 + +include $(INCLUDE_DIR)/package.mk + +define Package/dovecot + SECTION:=mail + CATEGORY:=Mail + DEPENDS:=+libopenssl +librt +zlib +libbz2 +libcap + TITLE:=An IMAP and POP3 daemon + MAINTAINER:=Peter Wagner + URL:=http://www.dovecot.org/ +endef + +define Package/dovecot/description + Dovecot is a program which provides POP3 and IMAP services. +endef + +CONFIGURE_ARGS += \ + --without-gssapi \ + --without-pam \ + --with-moduledir=/usr/lib/dovecot/modules \ + --with-notify=dnotify \ + --without-lzma \ + --without-lz4 + +CONFIGURE_VARS += \ + RPCGEN= \ + i_cv_signed_size_t=no \ + i_cv_signed_time_t=no \ + i_cv_gmtime_max_time_t=32 \ + 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_copy=yes \ + lib_cv_va_val_copy=yes + +define Package/dovecot/install + $(INSTALL_DIR) $(1)/etc/init.d \ + $(1)/etc/dovecot \ + $(1)/usr/share/doc/dovecot/example-config \ + $(1)/usr/lib/dovecot \ + $(1)/usr/bin \ + $(1)/usr/sbin + $(CP) $(PKG_INSTALL_DIR)/etc/dovecot/* $(1)/etc/dovecot/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/dovecot/* $(1)/usr/lib/dovecot/ + $(CP) $(PKG_INSTALL_DIR)/usr/share/doc/dovecot/example-config $(1)/usr/share/doc/dovecot/example-config + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/doveconf $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/* $(1)/usr/sbin/ + $(INSTALL_BIN) ./files/dovecot.init $(1)/etc/init.d/dovecot + rm $(1)/usr/lib/dovecot/dovecot-config + find $(1)/usr/lib/dovecot/ -name "*.a" -o -name "*.la" | xargs rm +endef + +$(eval $(call BuildPackage,dovecot)) diff --git a/mail/dovecot/files/dovecot.init b/mail/dovecot/files/dovecot.init new file mode 100644 index 0000000000..7739cd15a1 --- /dev/null +++ b/mail/dovecot/files/dovecot.init @@ -0,0 +1,18 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2006-2013 OpenWrt.org + +START=75 +STOP=75 + +USE_PROCD=1 + +start_service() { + user_exists dovecot 59 || user_add dovecot 59 + group_exists dovecot 59 || group_add dovecot 59 + mkdir -p -m 0755 /var/lib/dovecot + mkdir -p -m 0755 /var/run/dovecot + chmod 0750 /var/lib/dovecot + procd_open_instance + procd_set_param command /usr/sbin/dovecot -F + procd_close_instance +} diff --git a/mail/dovecot/patches/001-configure_in.patch b/mail/dovecot/patches/001-configure_in.patch new file mode 100644 index 0000000000..69328cb7dc --- /dev/null +++ b/mail/dovecot/patches/001-configure_in.patch @@ -0,0 +1,31 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -504,9 +504,9 @@ have_ioloop=no + + if test "$ioloop" = "best" || test "$ioloop" = "epoll"; then + AC_CACHE_CHECK([whether we can use epoll],i_cv_epoll_works,[ +- AC_TRY_RUN([ ++ AC_TRY_LINK([ + #include +- ++ ], [ + int main() + { + return epoll_create(5) < 1; +@@ -675,7 +675,7 @@ fi + dnl * Old glibcs have broken posix_fallocate(). Make sure not to use it. + dnl * It may also be broken in AIX. + AC_CACHE_CHECK([whether posix_fallocate() works],i_cv_posix_fallocate_works,[ +- AC_TRY_RUN([ ++ AC_TRY_LINK([ + #define _XOPEN_SOURCE 600 + #include + #include +@@ -684,6 +684,7 @@ AC_CACHE_CHECK([whether posix_fallocate( + #if defined(__GLIBC__) && (__GLIBC__ < 2 || __GLIBC_MINOR__ < 7) + possibly broken posix_fallocate + #endif ++ ], [ + int main() { + int fd = creat("conftest.temp", 0600); + int ret;