summaryrefslogtreecommitdiff
path: root/mail/cyrus-imapd24
diff options
context:
space:
mode:
authorobache <obache@pkgsrc.org>2010-10-30 12:12:35 +0000
committerobache <obache@pkgsrc.org>2010-10-30 12:12:35 +0000
commita3070b99174d9e7ee95d081ba18c4123a8c8f83b (patch)
tree20a42d29918a348315c6ee68d2c4386d8975d89b /mail/cyrus-imapd24
parent937033bc6338dc1f7b8acd26d71780c743c6e335 (diff)
downloadpkgsrc-a3070b99174d9e7ee95d081ba18c4123a8c8f83b.tar.gz
Import cyrus-imapd-2.4.2 as mail/cyrus-imapd24.
IMAP (Internet Message Access Protocol) is an Internet standards-track protocol for accessing messages (mail, bboards, news, etc). The Cyrus IMAP server differs from other IMAP server implementations in that it is generally intended to be run on "sealed" servers, where normal users are not permitted to log in. The mailbox database is stored in parts of the filesystem that are private to the Cyrus IMAP system. All user access to mail is through the IMAP, POP3, or KPOP protocols.
Diffstat (limited to 'mail/cyrus-imapd24')
-rw-r--r--mail/cyrus-imapd24/DEINSTALL38
-rw-r--r--mail/cyrus-imapd24/DESCR7
-rw-r--r--mail/cyrus-imapd24/MESSAGE17
-rw-r--r--mail/cyrus-imapd24/Makefile155
-rw-r--r--mail/cyrus-imapd24/PLIST190
-rw-r--r--mail/cyrus-imapd24/distinfo23
-rw-r--r--mail/cyrus-imapd24/files/cyrus.sh80
-rw-r--r--mail/cyrus-imapd24/files/imapd.conf25
-rw-r--r--mail/cyrus-imapd24/options.mk90
-rw-r--r--mail/cyrus-imapd24/patches/patch-aa18
-rw-r--r--mail/cyrus-imapd24/patches/patch-ab20
-rw-r--r--mail/cyrus-imapd24/patches/patch-ac35
-rw-r--r--mail/cyrus-imapd24/patches/patch-ad14
-rw-r--r--mail/cyrus-imapd24/patches/patch-ae14
-rw-r--r--mail/cyrus-imapd24/patches/patch-af15
-rw-r--r--mail/cyrus-imapd24/patches/patch-ag25
-rw-r--r--mail/cyrus-imapd24/patches/patch-ah13
-rw-r--r--mail/cyrus-imapd24/patches/patch-ai13
-rw-r--r--mail/cyrus-imapd24/patches/patch-aj14
-rw-r--r--mail/cyrus-imapd24/patches/patch-ak15
-rw-r--r--mail/cyrus-imapd24/patches/patch-al15
-rw-r--r--mail/cyrus-imapd24/patches/patch-am19
-rw-r--r--mail/cyrus-imapd24/patches/patch-an22
-rw-r--r--mail/cyrus-imapd24/patches/patch-ao17
-rw-r--r--mail/cyrus-imapd24/patches/patch-ap51
-rw-r--r--mail/cyrus-imapd24/patches/patch-aq15
-rw-r--r--mail/cyrus-imapd24/patches/patch-ar15
27 files changed, 975 insertions, 0 deletions
diff --git a/mail/cyrus-imapd24/DEINSTALL b/mail/cyrus-imapd24/DEINSTALL
new file mode 100644
index 00000000000..ad2ea1606ea
--- /dev/null
+++ b/mail/cyrus-imapd24/DEINSTALL
@@ -0,0 +1,38 @@
+# $NetBSD: DEINSTALL,v 1.1.1.1 2010/10/30 12:12:35 obache Exp $
+
+IMAPDCONF=@IMAPDCONF@
+
+case ${STAGE} in
+DEINSTALL)
+ if [ -f ${IMAPDCONF} ]; then
+ IMAPDIRS=`
+ ${AWK} '/configdirectory:/ { print $2 }; \
+ /partition-.*:/ { print $2 }; \
+ /sievedir:/ { print $2 }' \
+ ${IMAPDCONF} | ${SORT} -ur`
+ _IMAPDIRS=
+ for dir in ${IMAPDIRS}; do
+ ${RMDIR} -p ${dir} 2>/dev/null || ${TRUE}
+ if [ -d ${dir} ]; then
+ _IMAPDIRS="${_IMAPDIRS} ${dir}"
+ fi
+ done
+ if [ -n "${_IMAPDIRS}" ]; then
+ ${CAT} << EOF
+===========================================================================
+If you won't be using ${PKGNAME} any longer, you may want to remove
+the following directories:
+
+EOF
+ for dir in ${_IMAPDIRS}; do
+ if [ -d "${dir}" ]; then
+ ${ECHO} " ${dir}"
+ fi
+ done
+ ${CAT} << EOF
+===========================================================================
+EOF
+ fi
+ fi
+ ;;
+esac
diff --git a/mail/cyrus-imapd24/DESCR b/mail/cyrus-imapd24/DESCR
new file mode 100644
index 00000000000..e742d558a95
--- /dev/null
+++ b/mail/cyrus-imapd24/DESCR
@@ -0,0 +1,7 @@
+IMAP (Internet Message Access Protocol) is an Internet standards-track
+protocol for accessing messages (mail, bboards, news, etc). The Cyrus
+IMAP server differs from other IMAP server implementations in that it
+is generally intended to be run on "sealed" servers, where normal users
+are not permitted to log in. The mailbox database is stored in parts of
+the filesystem that are private to the Cyrus IMAP system. All user
+access to mail is through the IMAP, POP3, or KPOP protocols.
diff --git a/mail/cyrus-imapd24/MESSAGE b/mail/cyrus-imapd24/MESSAGE
new file mode 100644
index 00000000000..ccbca0f04a8
--- /dev/null
+++ b/mail/cyrus-imapd24/MESSAGE
@@ -0,0 +1,17 @@
+===========================================================================
+$NetBSD: MESSAGE,v 1.1.1.1 2010/10/30 12:12:35 obache Exp $
+
+Please refer to:
+
+ ${PREFIX}/share/doc/cyrus-imapd/install.html
+
+for more detailed instructions on setting up the environment before
+starting the Cyrus IMAP server. In particular, several services may
+need to be added to /etc/services.
+
+Anyone upgrading from an earlier version of the Cyrus IMAP server should
+read:
+
+ ${PREFIX}/share/doc/cyrus-imapd/install-upgrade.html
+
+===========================================================================
diff --git a/mail/cyrus-imapd24/Makefile b/mail/cyrus-imapd24/Makefile
new file mode 100644
index 00000000000..fe4f213158d
--- /dev/null
+++ b/mail/cyrus-imapd24/Makefile
@@ -0,0 +1,155 @@
+# $NetBSD: Makefile,v 1.1.1.1 2010/10/30 12:12:35 obache Exp $
+
+DISTNAME= cyrus-imapd-2.4.2
+CATEGORIES= mail
+MASTER_SITES= ftp://ftp.cyrusimap.org/cyrus-imapd/ \
+ ftp://ftp.cyrusimap.org/cyrus-imapd/OLD-VERSIONS/ \
+ ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/ \
+ ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/OLD-VERSIONS/imap/ \
+ http://www.t.ring.gr.jp/archives/net/mail/cyrus-mail/ \
+ ftp://ftp.t.ring.gr.jp/pub/net/mail/cyrus-mail/
+
+MAINTAINER= obache@NetBSD.org
+HOMEPAGE= http://www.cyrusimap.org/
+COMMENT= Cyrus IMAP server
+#LICENSE= original-bsd # like license
+
+PKG_DESTDIR_SUPPORT= user-destdir
+
+USE_TOOLS+= perl makedepend
+USE_PKGLOCALEDIR= yes
+GNU_CONFIGURE= yes
+PERL5_CONFIGURE= no
+
+BUILD_DEFS+= VARBASE
+
+CHECK_PORTABILITY_SKIP= configure.lineno
+
+.include "../../mk/bsd.prefs.mk"
+
+# CYRUS_USER username of the Cyrus administrator
+# CYRUS_GROUP group of the Cyrus administrator
+#
+CYRUS_USER?= cyrus
+CYRUS_GROUP?= mail
+
+BUILD_DEFS+= CYRUS_USER CYRUS_GROUP
+FILES_SUBST+= CYRUS_USER=${CYRUS_USER}
+FILES_SUBST+= CYRUS_GROUP=${CYRUS_GROUP}
+
+CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}
+CONFIGURE_ARGS+= --with-cyrus-user=${CYRUS_USER}
+CONFIGURE_ARGS+= --with-cyrus-group=${CYRUS_GROUP}
+CONFIGURE_ARGS+= --with-cyrus-prefix=${PREFIX}/cyrus
+CONFIGURE_ARGS+= --with-pidfile=${VARBASE}/run/cyrus-master.pid
+CONFIGURE_ARGS+= --with-openssl=${SSLBASE:Q}
+CONFIGURE_ARGS+= --with-sasl=${BUILDLINK_PREFIX.cyrus-sasl}
+CONFIGURE_ARGS+= --with-perl=${PERL5:Q}
+CONFIGURE_ARGS+= --with-libwrap=${BUILDLINK_PREFIX.tcp_wrappers}
+CONFIGURE_ENV+= ac_cv_lib_wrap_request_init=yes
+
+CONFIGURE_ARGS+= --enable-idled
+CONFIGURE_ARGS+= --enable-murder
+CONFIGURE_ARGS+= --enable-nntp
+CONFIGURE_ARGS+= --enable-replication
+
+.include "options.mk"
+
+.if exists(/usr/bin/compile_et)
+COMERRBASE?= /usr
+.endif
+.if defined(COMERRBASE)
+. if exists(${COMERRBASE}/include/krb5/com_err.h)
+CPPFLAGS+= -I${COMERRBASE}/include/krb5
+. endif
+CONFIGURE_ENV+= COMPILE_ET=${COMERRBASE}/bin/compile_et
+.else
+CONFIGURE_ARGS+= --with-com-err=yes
+.endif
+
+MAKE_ENV+= PERL=${PERL5:Q}
+
+HTMLDIR= ${PREFIX}/share/doc/cyrus-imapd
+EGDIR= ${PREFIX}/share/examples/cyrus-imapd
+CONF_FILES= ${EGDIR}/imapd.conf ${PKG_SYSCONFDIR}/imapd.conf
+CONF_FILES+= ${EGDIR}/normal.conf ${PKG_SYSCONFDIR}/cyrus.conf
+RCD_SCRIPTS= cyrus
+FILES_SUBST+= IMAPDCONF=${PKG_SYSCONFDIR}/imapd.conf
+
+PERL5_PACKLIST= \
+ auto/Cyrus/IMAP/.packlist \
+ auto/Cyrus/SIEVE/managesieve/.packlist
+
+pre-build:
+ ${RUN}${_ULIMIT_CMD} \
+ cd ${WRKSRC} && ${BUILD_MAKE_CMD} depend
+
+.include "../../lang/perl5/module.mk"
+BUILDLINK_API_DEPENDS.cyrus-sasl+= cyrus-sasl>=2.1.17
+.include "../../security/cyrus-sasl/buildlink3.mk"
+.include "../../security/openssl/buildlink3.mk"
+
+# NetBSD's libssl is built without bn/bn_const.c (PR#37505)
+.if !empty(MACHINE_PLATFORM:MNetBSD-4.*-*)
+#. if !empty(USE_BUILTIN.openssl:M[yY][eE][sS])
+CFLAGS+= -DOPENSSL_LACK_BN_CONST
+#. endif
+.endif
+
+.include "../../security/tcp_wrappers/buildlink3.mk"
+
+# Only imap/mupdate needs to be build with pthreads support, so selectively
+# enable it via patches for just that one program.
+#
+.include "../../mk/pthread.buildlink3.mk"
+
+# Change references of some manpages from foo.8 to cyrus-foo.8 to avoid
+# manpage conflicts with other packages. Also change references to
+# "/etc/{cyrus,imapd}.conf" into "${PKG_SYSCONFDIR}/{cyrus,imapd}.conf".
+#
+post-patch:
+ cd ${WRKSRC}/man; \
+ set -- deliver 8 fetchnews 8 idled 8 imapd 8 lmtpd 8 master 8 \
+ nntpd 8 notifyd 8 pop3d 8 quota 8; \
+ while [ $$# -gt 0 ]; do \
+ man=$$1.$$2; \
+ for file in Makefile.in *.[0-9]; do \
+ sed -e "s|\(\$$(srcdir)/\)\($$man\)|\1cyrus-\2|g" \
+ -e "s|\(\\\fB\)\($$1($$2)\\\fR\)|\1cyrus-\2|g" \
+ $$file > $$file.fixed; \
+ mv -f $$file.fixed $$file; \
+ done; \
+ if [ -f $$man ]; then \
+ mv $$man cyrus-$$man; \
+ fi; \
+ shift 2; \
+ done
+ find ${WRKSRC} -type f -print | \
+ xargs -n 1 ${GREP} -l -e /etc/imapd\.conf -e /etc/cyrus\.conf | \
+ while read file; do \
+ sed -e "s|/etc/\(cyrus\.conf\)|${PKG_SYSCONFDIR}/\1|g" \
+ -e "s|/etc/\(imapd\.conf\)|${PKG_SYSCONFDIR}/\1|g" \
+ $${file} > $${file}.fixed; \
+ mv -f $${file}.fixed $${file}; \
+ done
+
+post-install:
+ ${INSTALL_SCRIPT} ${WRKSRC}/tools/masssievec ${DESTDIR}${PREFIX}/cyrus/bin
+ ${INSTALL_SCRIPT} ${WRKSRC}/tools/migrate-metadata ${DESTDIR}${PREFIX}/cyrus/bin
+ ${INSTALL_SCRIPT} ${WRKSRC}/tools/mkimap ${DESTDIR}${PREFIX}/cyrus/bin
+ ${INSTALL_SCRIPT} ${WRKSRC}/tools/mknewsgroups ${DESTDIR}${PREFIX}/cyrus/bin
+ ${INSTALL_SCRIPT} ${WRKSRC}/tools/translatesieve ${DESTDIR}${PREFIX}/cyrus/bin
+ ${INSTALL_SCRIPT} ${WRKSRC}/tools/rehash ${DESTDIR}${PREFIX}/cyrus/bin
+ ${INSTALL_DATA_DIR} ${DESTDIR}${EGDIR}
+ ${INSTALL_DATA} ${FILESDIR}/imapd.conf ${DESTDIR}${EGDIR}
+ cd ${WRKSRC}/master/conf; for file in *.conf; do \
+ ${INSTALL_DATA} $${file} ${DESTDIR}${EGDIR}; \
+ done
+ ${INSTALL_DATA_DIR} ${DESTDIR}${HTMLDIR}
+ cd ${WRKSRC}/doc; for file in *.html cyrusv2.mc; do \
+ ${INSTALL_DATA} $${file} ${DESTDIR}${HTMLDIR}; \
+ done
+
+.include "../../devel/zlib/buildlink3.mk"
+CONFIGURE_ARGS+= --with-zlib=${BUILDLINK_PREFIX.zlib}
+.include "../../mk/bsd.pkg.mk"
diff --git a/mail/cyrus-imapd24/PLIST b/mail/cyrus-imapd24/PLIST
new file mode 100644
index 00000000000..327e4d85a82
--- /dev/null
+++ b/mail/cyrus-imapd24/PLIST
@@ -0,0 +1,190 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2010/10/30 12:12:35 obache Exp $
+bin/imtest
+bin/installsieve
+bin/lmtptest
+bin/mupdatetest
+bin/nntptest
+bin/pop3test
+bin/sieveshell
+bin/sivtest
+bin/smtptest
+bin/synctest
+cyrus/bin/arbitron
+cyrus/bin/chk_cyrus
+cyrus/bin/ctl_cyrusdb
+cyrus/bin/ctl_deliver
+cyrus/bin/ctl_mboxlist
+cyrus/bin/cvt_cyrusdb
+cyrus/bin/cyr_dbtool
+cyrus/bin/cyr_df
+cyrus/bin/cyr_expire
+cyrus/bin/cyr_sequence
+cyrus/bin/cyr_synclog
+cyrus/bin/cyr_userseen
+cyrus/bin/cyrdump
+cyrus/bin/deliver
+cyrus/bin/fetchnews
+cyrus/bin/fud
+cyrus/bin/idled
+cyrus/bin/imapd
+cyrus/bin/ipurge
+cyrus/bin/lmtpd
+cyrus/bin/lmtpproxyd
+cyrus/bin/masssievec
+cyrus/bin/master
+cyrus/bin/mbexamine
+cyrus/bin/mbpath
+cyrus/bin/migrate-metadata
+cyrus/bin/mkimap
+cyrus/bin/mknewsgroups
+cyrus/bin/mupdate
+cyrus/bin/nntpd
+cyrus/bin/notifyd
+cyrus/bin/pop3d
+cyrus/bin/pop3proxyd
+cyrus/bin/proxyd
+${PLIST.ldap}cyrus/bin/ptdump
+${PLIST.ldap}cyrus/bin/ptexpire
+${PLIST.ldap}cyrus/bin/ptloader
+cyrus/bin/quota
+cyrus/bin/reconstruct
+cyrus/bin/rehash
+cyrus/bin/sievec
+cyrus/bin/sieved
+cyrus/bin/smmapd
+cyrus/bin/squatter
+cyrus/bin/sync_client
+cyrus/bin/sync_reset
+cyrus/bin/sync_server
+cyrus/bin/timsieved
+cyrus/bin/tls_prune
+cyrus/bin/translatesieve
+cyrus/bin/unexpunge
+include/cyrus/acl.h
+include/cyrus/assert.h
+include/cyrus/auth.h
+include/cyrus/bsearch.h
+include/cyrus/byteorder64.h
+include/cyrus/charset.h
+include/cyrus/crc32.h
+include/cyrus/cyrusdb.h
+include/cyrus/glob.h
+include/cyrus/gmtoff.h
+include/cyrus/hash.h
+include/cyrus/hmac-md5.h
+include/cyrus/imapopts.h
+include/cyrus/imapurl.h
+include/cyrus/imclient.h
+include/cyrus/imparse.h
+include/cyrus/iptostring.h
+include/cyrus/libconfig.h
+include/cyrus/libcyr_cfg.h
+include/cyrus/lock.h
+include/cyrus/lsort.h
+include/cyrus/map.h
+include/cyrus/md5.h
+include/cyrus/mkgmtime.h
+include/cyrus/mpool.h
+include/cyrus/nonblock.h
+include/cyrus/parseaddr.h
+include/cyrus/prot.h
+include/cyrus/retry.h
+include/cyrus/rfc822date.h
+include/cyrus/signals.h
+include/cyrus/strhash.h
+include/cyrus/stristr.h
+include/cyrus/sysexits.h
+include/cyrus/util.h
+include/cyrus/xmalloc.h
+include/cyrus/xstrlcat.h
+include/cyrus/xstrlcpy.h
+lib/libcyrus.a
+lib/libcyrus_min.a
+man/man1/imtest.1
+man/man1/installsieve.1
+man/man1/lmtptest.1
+man/man1/mupdatetest.1
+man/man1/nntptest.1
+man/man1/pop3test.1
+man/man1/sieveshell.1
+man/man1/sivtest.1
+man/man1/smtptest.1
+man/man3/imclient.3
+man/man5/cyrus.conf.5
+man/man5/imapd.conf.5
+man/man5/krb.equiv.5
+man/man8/arbitron.8
+man/man8/chk_cyrus.8
+man/man8/ctl_cyrusdb.8
+man/man8/ctl_deliver.8
+man/man8/ctl_mboxlist.8
+man/man8/cvt_cyrusdb.8
+man/man8/cyr_dbtool.8
+man/man8/cyr_df.8
+man/man8/cyr_expire.8
+man/man8/cyr_synclog.8
+man/man8/cyrus-deliver.8
+man/man8/cyrus-fetchnews.8
+man/man8/cyrus-idled.8
+man/man8/cyrus-imapd.8
+man/man8/cyrus-lmtpd.8
+man/man8/cyrus-master.8
+man/man8/cyrus-nntpd.8
+man/man8/cyrus-notifyd.8
+man/man8/cyrus-pop3d.8
+man/man8/cyrus-quota.8
+man/man8/fud.8
+man/man8/ipurge.8
+man/man8/mbexamine.8
+man/man8/mbpath.8
+man/man8/reconstruct.8
+man/man8/rmnews.8
+man/man8/smmapd.8
+man/man8/squatter.8
+man/man8/sync_client.8
+man/man8/sync_reset.8
+man/man8/sync_server.8
+man/man8/syncnews.8
+man/man8/timsieved.8
+man/man8/tls_prune.8
+man/man8/unexpunge.8
+share/doc/cyrus-imapd/altnamespace.html
+share/doc/cyrus-imapd/anoncvs.html
+share/doc/cyrus-imapd/bugs.html
+share/doc/cyrus-imapd/changes.html
+share/doc/cyrus-imapd/cyrusv2.mc
+share/doc/cyrus-imapd/faq.html
+share/doc/cyrus-imapd/feedback.html
+share/doc/cyrus-imapd/index.html
+share/doc/cyrus-imapd/install-admin-mb.html
+share/doc/cyrus-imapd/install-auth.html
+share/doc/cyrus-imapd/install-compile.html
+share/doc/cyrus-imapd/install-configure.html
+share/doc/cyrus-imapd/install-murder.html
+share/doc/cyrus-imapd/install-netnews.html
+share/doc/cyrus-imapd/install-perf.html
+share/doc/cyrus-imapd/install-prereq.html
+share/doc/cyrus-imapd/install-replication.html
+share/doc/cyrus-imapd/install-sieve.html
+share/doc/cyrus-imapd/install-snmpmon.html
+share/doc/cyrus-imapd/install-testing.html
+share/doc/cyrus-imapd/install-upgrade.html
+share/doc/cyrus-imapd/install-virtdomains.html
+share/doc/cyrus-imapd/install.html
+share/doc/cyrus-imapd/mailing-list.html
+share/doc/cyrus-imapd/man.html
+share/doc/cyrus-imapd/notes.html
+share/doc/cyrus-imapd/os.html
+share/doc/cyrus-imapd/overview.html
+share/doc/cyrus-imapd/questions.html
+share/doc/cyrus-imapd/readme.html
+share/doc/cyrus-imapd/sieve-protocol.html
+share/doc/cyrus-imapd/sieve.html
+share/doc/cyrus-imapd/specs.html
+share/examples/cyrus-imapd/cmu-backend.conf
+share/examples/cyrus-imapd/cmu-frontend.conf
+share/examples/cyrus-imapd/imapd.conf
+share/examples/cyrus-imapd/normal.conf
+share/examples/cyrus-imapd/prefork.conf
+share/examples/cyrus-imapd/small.conf
+share/examples/rc.d/cyrus
diff --git a/mail/cyrus-imapd24/distinfo b/mail/cyrus-imapd24/distinfo
new file mode 100644
index 00000000000..44bf2a554aa
--- /dev/null
+++ b/mail/cyrus-imapd24/distinfo
@@ -0,0 +1,23 @@
+$NetBSD: distinfo,v 1.1.1.1 2010/10/30 12:12:35 obache Exp $
+
+SHA1 (cyrus-imapd-2.4.2.tar.gz) = 8281785b2ba00dbe440e9d3ed3a104d13a0635b0
+RMD160 (cyrus-imapd-2.4.2.tar.gz) = 0988df34fe2080fcc4215737074d5a2012b63a42
+Size (cyrus-imapd-2.4.2.tar.gz) = 2360589 bytes
+SHA1 (patch-aa) = a4f15e5f07327037219f7ef2169edb9d795ff167
+SHA1 (patch-ab) = bab504f2cf2cf9b9901e253bf6cf6d6d0954371a
+SHA1 (patch-ac) = d6b2e8c00a3605773bf7718d29ccfb0b82f59323
+SHA1 (patch-ad) = 9c97c99996271c5a123d58e94eb7b16bc9086ebb
+SHA1 (patch-ae) = 9bee786ad3f0237ee15302c2954e3e90b6fe69fb
+SHA1 (patch-af) = 51ffc6cc37822ea4828eb987039593900f2f1ef0
+SHA1 (patch-ag) = 533f146e9ee276af7b8ab716da2f3d4af5f60639
+SHA1 (patch-ah) = 4bc62dfdeafdca83ddac02aff0ffd05db28fe0b9
+SHA1 (patch-ai) = 9167678988f411479d187b232eb10ad8622b4151
+SHA1 (patch-aj) = 14f293489a816d2282f0d1a7b289d5a775c74c24
+SHA1 (patch-ak) = 2e8a105b30d2c0c38f523020bf79d7e26cfa235b
+SHA1 (patch-al) = 0eaef55760e9a071802bba157a00bdacc84c1932
+SHA1 (patch-am) = e100e13d5137116f5bd7674e954031b2615e5ab1
+SHA1 (patch-an) = 31d008c732f71e0b6960f8e4206ce466a689c558
+SHA1 (patch-ao) = c01c9d32b4d73cbc32d2ad8bfca8b8b021ca2474
+SHA1 (patch-ap) = c736e36f2bbe9e2026044a3ab0d13bec57d951a6
+SHA1 (patch-aq) = 8afd83691256cfb32b8ae0370185635bcff90283
+SHA1 (patch-ar) = 4ac95c029794afba0f4d398643f354b71efd9ac3
diff --git a/mail/cyrus-imapd24/files/cyrus.sh b/mail/cyrus-imapd24/files/cyrus.sh
new file mode 100644
index 00000000000..caeedd5b6c1
--- /dev/null
+++ b/mail/cyrus-imapd24/files/cyrus.sh
@@ -0,0 +1,80 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: cyrus.sh,v 1.1.1.1 2010/10/30 12:12:35 obache Exp $
+#
+# PROVIDE: cyrus
+# REQUIRE: DAEMON
+# BEFORE: mail
+# KEYWORD: shutdown
+#
+# To start cyrus-imapd at startup, copy this script to /etc/rc.d and set
+# cyrus=YES in /etc/rc.conf.
+
+if [ -f /etc/rc.subr ]; then
+ . /etc/rc.subr
+fi
+
+rcd_dir=`@DIRNAME@ $0`
+
+name="cyrus"
+rcvar=$name
+command="@PREFIX@/cyrus/bin/master"
+command_args="-d"
+pidfile="@VARBASE@/run/cyrus-master.pid"
+sig_stop=QUIT
+required_files="@PKG_SYSCONFDIR@/cyrus.conf @IMAPDCONF@"
+extra_commands="mkimap reload"
+
+mkimap_cmd="cyrus_mkimap"
+start_precmd="cyrus_prestart"
+
+cyrus_prestart()
+{
+ # Check to see if "configdirectory" is present before we start
+ # the Cyrus IMAP server. Otherwise, we run mkimap to generate
+ # the necessary directories.
+ #
+ if [ -f @IMAPDCONF@ ]; then
+ configdir=` \
+ @AWK@ '/^configdirectory:/ { print $2; exit };' \
+ @IMAPDCONF@ \
+ `
+ if [ -z "$configdir" ]; then
+ @ECHO@ "@IMAPDCONF@ missing 'configdirectory' setting"
+ exit 1
+ fi
+ if [ ! -d "$configdir" ]; then
+ $rcd_dir/cyrus mkimap
+ fi
+ fi
+}
+
+cyrus_mkimap()
+{
+ # Generate the prerequisite directory structure for Cyrus IMAP.
+ if [ -f @IMAPDCONF@ ]; then
+ @AWK@ '/^configdirectory:/ { print $2 }; \
+ /^partition-.*:/ { print $2 }; \
+ /^sievedir:/ { print $2 }' \
+ @IMAPDCONF@ | \
+ while read dir; do
+ if [ ! -d "$dir" ]; then
+ @MKDIR@ "$dir"
+ @CHMOD@ 750 "$dir"
+ @CHOWN@ @CYRUS_USER@ "$dir"
+ @CHGRP@ @CYRUS_GROUP@ "$dir"
+ fi
+ done
+ @SU@ -m @CYRUS_USER@ -c "@PREFIX@/cyrus/bin/mkimap"
+ fi
+}
+
+if [ -f /etc/rc.subr -a -f /etc/rc.conf \
+ -a -d /etc/rc.d -a -f /etc/rc.d/DAEMON ]; then
+ load_rc_config $name
+ run_rc_command "$1"
+else
+ @ECHO@ -n " ${name}"
+ eval ${start_precmd}
+ ${command} ${cyrus_flags} ${command_args}
+fi
diff --git a/mail/cyrus-imapd24/files/imapd.conf b/mail/cyrus-imapd24/files/imapd.conf
new file mode 100644
index 00000000000..b42e26267f5
--- /dev/null
+++ b/mail/cyrus-imapd24/files/imapd.conf
@@ -0,0 +1,25 @@
+# $NetBSD: imapd.conf,v 1.1.1.1 2010/10/30 12:12:35 obache Exp $
+#
+# Cyrus IMAP server configuration file. Refer to imapd.conf(5) for
+# more options.
+
+configdirectory: /var/imap
+partition-default: /var/spool/imap
+sieveusehomedir: false
+sievedir: /var/sieve
+hashimapspool: false
+
+admins: cyrus
+
+# If use the saslauthd daemon to verify plaintext passwords, please ensure that
+# the saslauthd daemon is running before trying to authenticate.
+#
+#sasl_pwcheck_method: saslauthd
+sasl_pwcheck_method: auxprop
+
+# The server certificate and key files must be specified for the
+# server to repond to IMAPS or POP3S requests. See imapd.conf(5) for
+# a complete listing of tls_* options.
+#
+#tls_cert_file: /var/imap/server.pem
+#tls_key_file: /var/imap/server.pem
diff --git a/mail/cyrus-imapd24/options.mk b/mail/cyrus-imapd24/options.mk
new file mode 100644
index 00000000000..36fc7ed579f
--- /dev/null
+++ b/mail/cyrus-imapd24/options.mk
@@ -0,0 +1,90 @@
+# $NetBSD: options.mk,v 1.1.1.1 2010/10/30 12:12:35 obache Exp $
+#
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.cyrus-imapd
+PKG_SUPPORTED_OPTIONS= gssapi kerberos kerberos4 ldap snmp
+PKG_SUPPORTED_OPTIONS+= bdb mysql pgsql sqlite
+PKG_SUGGESTED_OPTIONS= bdb
+
+.include "../../mk/bsd.options.mk"
+
+PLIST_VARS+= ldap
+
+.if !empty(PKG_OPTIONS:Mkerberos)
+. if empty(PKG_OPTIONS:Mgssapi)
+PKG_OPTIONS+= gssapi
+. endif
+.endif
+
+.if !empty(PKG_OPTIONS:Mkerberos4)
+. if exists(/usr/include/kerberosIV/krb.h)
+PKG_USE_KERBEROS= yes
+CONFIGURE_ARGS+= --with-krb=/usr
+. endif
+.elif !empty(PKG_OPTIONS:Mgssapi)
+. include "../../mk/krb5.buildlink3.mk"
+CONFIGURE_ARGS+= --enable-gssapi=${KRB5BASE}
+CONFIGURE_ARGS+= --with-gss_impl=${GSSIMPL.${KRB5_TYPE}}
+CONFIGURE_ARGS+= --enable-krb5afspts
+GSSIMPL.heimdal= heimdal
+GSSIMPL.mit-krb5= mit
+CONFIGURE_ENV+= COMPILE_ET=${KRB5BASE}/bin/compile_et
+COMERRBASE= ${KRB5BASE}
+.else
+CONFIGURE_ARGS+= --without-krb
+CONFIGURE_ARGS+= --disable-gssapi
+.endif
+
+.if !empty(PKG_OPTIONS:Mldap)
+. include "../../databases/openldap-client/buildlink3.mk"
+CONFIGURE_ARGS+= --with-ldap=${BUILDLINK_PREFIX.openldap-client}
+PLIST.ldap= yes
+.else
+CONFIGURE_ARGS+= --without-ldap
+.endif
+
+.if !empty(PKG_OPTIONS:Msnmp)
+. include "../../net/net-snmp/buildlink3.mk"
+CONFIGURE_ARGS+= --with-snmp=${BUILDLINK_PREFIX.net-snmp}
+USE_TOOLS+= perl:run
+.else
+CONFIGURE_ARGS+= --without-snmp
+.endif
+
+.if !empty(PKG_OPTIONS:Mzephyr)
+. include "../../chat/zephyr/buildlink3.mk"
+CONFIGURE_ARGS+= --with-zephyr=${BUILDLINK_PREFIX.zephyr}
+.else
+CONFIGURE_ARGS+= --without-zephyr
+.endif
+
+.if !empty(PKG_OPTIONS:Mbdb)
+BDB_ACCEPTED= db3 db4 db5
+. include "../../mk/bdb.buildlink3.mk"
+CONFIGURE_ARGS+= --with-bdb=${BDB_TYPE}
+CONFIGURE_ARGS+= --with-bdb-incdir=${BDBBASE}/include/${BDB_TYPE}
+CONFIGURE_ARGS+= --with-bdb-libdir=${BDBBASE}/lib
+.else
+CONFIGURE_ARGS+= --without-bdb
+.endif
+
+.if !empty(PKG_OPTIONS:Mmysql)
+. include "../../mk/mysql.buildlink3.mk"
+CONFIGURE_ARGS+= --with-mysql=${BUILDLINK_PREFIX.mysql-client}
+.else
+CONFIGURE_ARGS+= --without-mysql
+.endif
+
+.if !empty(PKG_OPTIONS:Mpgsql)
+. include "../../mk/pgsql.buildlink3.mk"
+CONFIGURE_ARGS+= --with-pgsql=${PGSQL_PREFIX}
+.else
+CONFIGURE_ARGS+= --without-pgsql
+.endif
+
+.if !empty(PKG_OPTIONS:Msqlite)
+. include "../../databases/sqlite3/buildlink3.mk"
+CONFIGURE_ARGS+= --with-sqlite=${BUILDLINK_PREFIX.sqlite3}
+.else
+CONFIGURE_ARGS+= --without-sqlite
+.endif
diff --git a/mail/cyrus-imapd24/patches/patch-aa b/mail/cyrus-imapd24/patches/patch-aa
new file mode 100644
index 00000000000..d6f529132d6
--- /dev/null
+++ b/mail/cyrus-imapd24/patches/patch-aa
@@ -0,0 +1,18 @@
+$NetBSD: patch-aa,v 1.1.1.1 2010/10/30 12:12:35 obache Exp $
+
+--- configure.in.orig 2010-10-19 03:08:28.000000000 +0000
++++ configure.in
+@@ -391,11 +391,11 @@ if test "$sievedir" != "no"; then
+ AC_CHECK_LIB(fl,main)
+
+ AC_CHECK_HEADERS(pcreposix.h rxposix.h)
+- if test "$ac_cv_header_pcreposix_h" == "yes"; then
++ if test "$ac_cv_header_pcreposix_h" = "yes"; then
+ LIBS="$LIBS -lpcre -lpcreposix";
+ AC_DEFINE(ENABLE_REGEX, [], [Do we have a regex library?])
+ else
+- if test "$ac_cv_header_rxposix_h" == "yes"; then
++ if test "$ac_cv_header_rxposix_h" = "yes"; then
+ LIBS="$LIBS -lrx"
+ AC_DEFINE(ENABLE_REGEX, [],
+ [Do we have a regex library?])
diff --git a/mail/cyrus-imapd24/patches/patch-ab b/mail/cyrus-imapd24/patches/patch-ab
new file mode 100644
index 00000000000..8a592f11387
--- /dev/null
+++ b/mail/cyrus-imapd24/patches/patch-ab
@@ -0,0 +1,20 @@
+$NetBSD: patch-ab,v 1.1.1.1 2010/10/30 12:12:35 obache Exp $
+
+--- configure.orig 2010-10-19 09:58:48.000000000 +0000
++++ configure
+@@ -7145,13 +7145,13 @@ fi
+
+ done
+
+- if test "$ac_cv_header_pcreposix_h" == "yes"; then
++ if test "$ac_cv_header_pcreposix_h" = "yes"; then
+ LIBS="$LIBS -lpcre -lpcreposix";
+
+ $as_echo "#define ENABLE_REGEX /**/" >>confdefs.h
+
+ else
+- if test "$ac_cv_header_rxposix_h" == "yes"; then
++ if test "$ac_cv_header_rxposix_h" = "yes"; then
+ LIBS="$LIBS -lrx"
+
+ $as_echo "#define ENABLE_REGEX /**/" >>confdefs.h
diff --git a/mail/cyrus-imapd24/patches/patch-ac b/mail/cyrus-imapd24/patches/patch-ac
new file mode 100644
index 00000000000..d6c816767b9
--- /dev/null
+++ b/mail/cyrus-imapd24/patches/patch-ac
@@ -0,0 +1,35 @@
+$NetBSD: patch-ac,v 1.1.1.1 2010/10/30 12:12:35 obache Exp $
+
+--- imap/Makefile.in.orig 2010-10-19 03:08:28.000000000 +0000
++++ imap/Makefile.in
+@@ -179,6 +179,9 @@ mupdate_err.c: mupdate_err.et
+
+ mupdate_err.h: mupdate_err.c
+
++mutex_pthread.o: mutex_pthread.c
++ $(CC) -c $(CPPFLAGS) $(DEFS) $(CFLAGS) $(PTHREAD_CFLAGS) $<
++
+ ### Services
+ idled: idled.o mutex_fake.o libimap.a $(DEPLIBS)
+ $(CC) $(LDFLAGS) -o idled \
+@@ -213,16 +216,16 @@ imapd.quant: $(IMAPDOBJS) mutex_fake.o l
+
+ mupdate: mupdate.o mupdate-slave.o mupdate-client.o mutex_pthread.o tls.o \
+ libimap.a $(DEPLIBS)
+- $(CC) $(LDFLAGS) -o mupdate \
++ $(CC) $(LDFLAGS) $(PTHREAD_LDFLAGS) -o mupdate \
+ $(SERVICETHREAD) mupdate.o mupdate-slave.o mupdate-client.o \
+ mutex_pthread.o tls.o libimap.a \
+- $(DEPLIBS) $(LIBS) $(LIB_WRAP) -lpthread
++ $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(PTHREAD_LIBS)
+
+ mupdate.pure: mupdate.o mupdate-slave.o mupdate-client.o mutex_pthread.o \
+ libimap.a $(DEPLIBS)
+- $(PURIFY) $(PUREOPT) $(CC) $(LDFLAGS) -o mupdate.pure \
++ $(PURIFY) $(PUREOPT) $(CC) $(LDFLAGS) $(PTHREAD_LDFLAGS) -o mupdate.pure \
+ $(SERVICETHREAD) mupdate.o mupdate-slave.o mupdate-client.o \
+- mutex_pthread.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) -lpthread
++ mutex_pthread.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(PTHREAD_LIBS)
+
+ pop3d: pop3d.o proxy.o backend.o tls.o mutex_fake.o libimap.a \
+ $(DEPLIBS) $(SERVICE)
diff --git a/mail/cyrus-imapd24/patches/patch-ad b/mail/cyrus-imapd24/patches/patch-ad
new file mode 100644
index 00000000000..1c46325bdec
--- /dev/null
+++ b/mail/cyrus-imapd24/patches/patch-ad
@@ -0,0 +1,14 @@
+$NetBSD: patch-ad,v 1.1.1.1 2010/10/30 12:12:35 obache Exp $
+
+--- imap/cvt_cyrusdb.c.orig 2010-10-19 03:08:28.000000000 +0000
++++ imap/cvt_cyrusdb.c
+@@ -59,7 +59,9 @@
+ #include <syslog.h>
+
+ #include <sys/ipc.h>
++#if !defined(__APPLE__)
+ #include <sys/msg.h>
++#endif
+
+ #include "acl.h"
+ #include "assert.h"
diff --git a/mail/cyrus-imapd24/patches/patch-ae b/mail/cyrus-imapd24/patches/patch-ae
new file mode 100644
index 00000000000..02e8c1aa999
--- /dev/null
+++ b/mail/cyrus-imapd24/patches/patch-ae
@@ -0,0 +1,14 @@
+$NetBSD: patch-ae,v 1.1.1.1 2010/10/30 12:12:35 obache Exp $
+
+--- imap/mboxlist.c.orig 2010-10-19 03:08:28.000000000 +0000
++++ imap/mboxlist.c
+@@ -59,7 +59,9 @@
+ #include <syslog.h>
+
+ #include <sys/ipc.h>
++#if !defined(__APPLE__)
+ #include <sys/msg.h>
++#endif
+
+ #include "acl.h"
+ #include "annotate.h"
diff --git a/mail/cyrus-imapd24/patches/patch-af b/mail/cyrus-imapd24/patches/patch-af
new file mode 100644
index 00000000000..9f655ed67b2
--- /dev/null
+++ b/mail/cyrus-imapd24/patches/patch-af
@@ -0,0 +1,15 @@
+$NetBSD: patch-af,v 1.1.1.1 2010/10/30 12:12:35 obache Exp $
+
+--- imap/message.c.orig 2010-10-19 03:08:28.000000000 +0000
++++ imap/message.c
+@@ -76,6 +76,10 @@
+ #include "global.h"
+ #include "retry.h"
+
++#ifdef __APPLE__
++struct et_list *_et_list = NULL;
++#endif
++
+ /* Message being parsed */
+ struct msg {
+ const char *base;
diff --git a/mail/cyrus-imapd24/patches/patch-ag b/mail/cyrus-imapd24/patches/patch-ag
new file mode 100644
index 00000000000..c527504b55c
--- /dev/null
+++ b/mail/cyrus-imapd24/patches/patch-ag
@@ -0,0 +1,25 @@
+$NetBSD: patch-ag,v 1.1.1.1 2010/10/30 12:12:35 obache Exp $
+
+--- imtest/imtest.c.orig 2010-10-19 03:08:28.000000000 +0000
++++ imtest/imtest.c
+@@ -49,7 +49,9 @@
+ #include <sys/time.h>
+ #include <sys/types.h>
+ #include <sys/ipc.h>
++#if !defined(__APPLE__)
+ #include <sys/msg.h>
++#endif
+ #include <sys/stat.h>
+ #include <fcntl.h>
+
+@@ -74,6 +76,10 @@
+ #include <netinet/in.h>
+ #include <netdb.h>
+
++#ifdef HAVE_SYS_PARAM_H
++#include <sys/param.h>
++#endif
++
+ #include <sasl/sasl.h>
+ #include <sasl/saslutil.h>
+
diff --git a/mail/cyrus-imapd24/patches/patch-ah b/mail/cyrus-imapd24/patches/patch-ah
new file mode 100644
index 00000000000..b9c79ca6f58
--- /dev/null
+++ b/mail/cyrus-imapd24/patches/patch-ah
@@ -0,0 +1,13 @@
+$NetBSD: patch-ah,v 1.1.1.1 2010/10/30 12:12:35 obache Exp $
+
+--- perl/Makefile.in.orig 2010-10-19 03:08:28.000000000 +0000
++++ perl/Makefile.in
+@@ -86,7 +86,7 @@ all::
+ BDB_LIB="$(BDB_LIB)" BDB_INC="$(BDB_INC)" \
+ OPENSSL_LIB="$(OPENSSL_LIB)" OPENSSL_INC="$(OPENSSL_INC)" \
+ SASL_LIB="$(SASL_LIB)" SASL_INC="$(SASL_INC)" CC="$(CC)" \
+- $(PERL) Makefile.PL PREFIX=$(prefix); \
++ $(PERL) Makefile.PL INSTALLDIRS=vendor PREFIX=$(prefix); \
+ fi; \
+ $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) all) || exit 1; \
+ done
diff --git a/mail/cyrus-imapd24/patches/patch-ai b/mail/cyrus-imapd24/patches/patch-ai
new file mode 100644
index 00000000000..c6b717bfedf
--- /dev/null
+++ b/mail/cyrus-imapd24/patches/patch-ai
@@ -0,0 +1,13 @@
+$NetBSD: patch-ai,v 1.1.1.1 2010/10/30 12:12:35 obache Exp $
+
+--- perl/sieve/Makefile.in.orig 2010-10-19 03:08:28.000000000 +0000
++++ perl/sieve/Makefile.in
+@@ -86,7 +86,7 @@ all::
+ BDB_LIB="$(BDB_LIB)" BDB_INC="$(BDB_INC)" \
+ OPENSSL_LIB="$(OPENSSL_LIB)" OPENSSL_INC="$(OPENSSL_INC)" \
+ SASL_LIB="$(SASL_LIB)" SASL_INC="$(SASL_INC)" CC="$(CC)" \
+- $(PERL) Makefile.PL PREFIX=$(prefix); \
++ $(PERL) Makefile.PL INSTALLDIRS=vendor PREFIX=$(prefix); \
+ fi; \
+ $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) all) || exit 1; \
+ done
diff --git a/mail/cyrus-imapd24/patches/patch-aj b/mail/cyrus-imapd24/patches/patch-aj
new file mode 100644
index 00000000000..321acb39dc4
--- /dev/null
+++ b/mail/cyrus-imapd24/patches/patch-aj
@@ -0,0 +1,14 @@
+$NetBSD: patch-aj,v 1.1.1.1 2010/10/30 12:12:35 obache Exp $
+
+--- perl/sieve/lib/request.c.orig 2010-10-19 03:08:28.000000000 +0000
++++ perl/sieve/lib/request.c
+@@ -52,7 +52,9 @@
+ #include <sys/stat.h>
+ #include <sys/types.h>
+ #include <sys/ipc.h>
++#if !defined(__APPLE__)
+ #include <sys/msg.h>
++#endif
+
+ #include <stdlib.h>
+ #include <stdio.h>
diff --git a/mail/cyrus-imapd24/patches/patch-ak b/mail/cyrus-imapd24/patches/patch-ak
new file mode 100644
index 00000000000..06a3a75d14d
--- /dev/null
+++ b/mail/cyrus-imapd24/patches/patch-ak
@@ -0,0 +1,15 @@
+$NetBSD: patch-ak,v 1.1.1.1 2010/10/30 12:12:35 obache Exp $
+
+--- sieve/sievec.c.orig 2010-10-19 03:08:28.000000000 +0000
++++ sieve/sievec.c
+@@ -63,6 +63,10 @@
+ #include <sys/stat.h>
+ #include <fcntl.h>
+
++#ifdef __APPLE__
++struct et_list *_et_list = NULL;
++#endif
++
+ /* config.c stuff */
+ const int config_need_data = 0;
+
diff --git a/mail/cyrus-imapd24/patches/patch-al b/mail/cyrus-imapd24/patches/patch-al
new file mode 100644
index 00000000000..4144574e4b4
--- /dev/null
+++ b/mail/cyrus-imapd24/patches/patch-al
@@ -0,0 +1,15 @@
+$NetBSD: patch-al,v 1.1.1.1 2010/10/30 12:12:35 obache Exp $
+
+--- sieve/sieved.c.orig 2010-10-19 03:08:28.000000000 +0000
++++ sieve/sieved.c
+@@ -63,6 +63,10 @@
+
+ #include "map.h"
+
++#ifdef __APPLE__
++struct et_list *_et_list = NULL;
++#endif
++
+ /* config.c stuff */
+ const int config_need_data = 0;
+
diff --git a/mail/cyrus-imapd24/patches/patch-am b/mail/cyrus-imapd24/patches/patch-am
new file mode 100644
index 00000000000..d7500fdf2c4
--- /dev/null
+++ b/mail/cyrus-imapd24/patches/patch-am
@@ -0,0 +1,19 @@
+$NetBSD: patch-am,v 1.1.1.1 2010/10/30 12:12:35 obache Exp $
+
+--- tools/config2header.orig 2010-10-19 03:08:28.000000000 +0000
++++ tools/config2header
+@@ -79,6 +79,14 @@ while ($#ARGV >= 0) {
+
+ my $use_gcc_extension = ($CC and $CC eq 'gcc');
+
++#
++# Skip any CC options such as -pipe
++# The last two parameters are the .c and .h files
++#
++while ($#ARGV > 1) {
++ shift @ARGV;
++}
++
+ die "wrong number of arguments" if ($#ARGV != 1);
+ my ($cfile, $hfile) = @ARGV;
+
diff --git a/mail/cyrus-imapd24/patches/patch-an b/mail/cyrus-imapd24/patches/patch-an
new file mode 100644
index 00000000000..9013b4eb056
--- /dev/null
+++ b/mail/cyrus-imapd24/patches/patch-an
@@ -0,0 +1,22 @@
+$NetBSD: patch-an,v 1.1.1.1 2010/10/30 12:12:35 obache Exp $
+
+--- imap/tls.c.orig 2010-10-19 03:08:28.000000000 +0000
++++ imap/tls.c
+@@ -223,7 +223,7 @@ static RSA *tmp_rsa_cb(SSL * s __attribu
+ return (rsa_tmp);
+ }
+
+-#if (OPENSSL_VERSION_NUMBER >= 0x0090800fL)
++#if (OPENSSL_VERSION_NUMBER >= 0x0090800fL) && !defined(OPENSSL_LACK_BN_CONST)
+ /* Logic copied from OpenSSL apps/s_server.c: give the TLS context
+ * DH params to work with DHE-* cipher suites. Hardcoded fallback
+ * in case no DH params in tls_key_file or tls_cert_file.
+@@ -734,7 +734,7 @@ int tls_init_serverengine(const char
+ }
+ SSL_CTX_set_tmp_rsa_callback(s_ctx, tmp_rsa_cb);
+
+-#if (OPENSSL_VERSION_NUMBER >= 0x0090800fL)
++#if (OPENSSL_VERSION_NUMBER >= 0x0090800fL) && !defined(OPENSSL_LACK_BN_CONST)
+ /* Load DH params for DHE-* key exchanges */
+ SSL_CTX_set_tmp_dh(s_ctx, load_dh_param(s_key_file, s_cert_file));
+ /* FIXME: Load ECDH params for ECDHE suites when 0.9.9 is released */
diff --git a/mail/cyrus-imapd24/patches/patch-ao b/mail/cyrus-imapd24/patches/patch-ao
new file mode 100644
index 00000000000..13845710810
--- /dev/null
+++ b/mail/cyrus-imapd24/patches/patch-ao
@@ -0,0 +1,17 @@
+$NetBSD: patch-ao,v 1.1.1.1 2010/10/30 12:12:35 obache Exp $
+
+--- imap/imap_err.et.orig 2010-10-19 03:08:28.000000000 +0000
++++ imap/imap_err.et
+@@ -201,10 +201,10 @@ ec IMAP_NO_MSGGONE,
+ "Message %d no longer exists"
+
+ ec IMAP_NO_CHECKSEEN,
+- "Unable to checkpoint \\Seen state"
++ "Unable to checkpoint \\\\Seen state"
+
+ ec IMAP_NO_CHECKPRESERVE,
+- "Unable to preserve \\Seen state"
++ "Unable to preserve \\\\Seen state"
+
+ ec IMAP_NO_NOSUCHMSG,
+ "No matching messages"
diff --git a/mail/cyrus-imapd24/patches/patch-ap b/mail/cyrus-imapd24/patches/patch-ap
new file mode 100644
index 00000000000..b157e682681
--- /dev/null
+++ b/mail/cyrus-imapd24/patches/patch-ap
@@ -0,0 +1,51 @@
+$NetBSD: patch-ap,v 1.1.1.1 2010/10/30 12:12:35 obache Exp $
+
+Fix building with db5.
+
+--- lib/cyrusdb_berkeley.c.orig 2010-10-19 03:08:28.000000000 +0000
++++ lib/cyrusdb_berkeley.c
+@@ -108,7 +108,7 @@ static void db_panic(DB_ENV *dbenv __att
+ exit(EC_TEMPFAIL);
+ }
+
+-#if (DB_VERSION_MAJOR == 4) && (DB_VERSION_MINOR >= 3)
++#if (DB_VERSION_MAJOR > 4) || ((DB_VERSION_MAJOR == 4) && (DB_VERSION_MINOR >= 3))
+ static void db_err(const DB_ENV *dbenv __attribute__((unused)),
+ const char *db_prfx, const char *buffer)
+ #else
+@@ -163,7 +163,7 @@ static int init(const char *dbdir, int m
+ #endif
+ }
+
+-#if (DB_VERSION_MAJOR == 4) && (DB_VERSION_MINOR >= 3)
++#if (DB_VERSION_MAJOR > 4) || ((DB_VERSION_MAJOR == 4) && (DB_VERSION_MINOR >= 3))
+ dbenv->set_msgcall(dbenv, db_msg);
+ #endif
+ dbenv->set_errcall(dbenv, db_err);
+@@ -281,7 +281,7 @@ static int mysync(void)
+
+ assert(dbinit);
+
+-#if !(DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1)
++#if !((DB_VERSION_MAJOR > 4) || ((DB_VERSION_MAJOR == 4) && (DB_VERSION_MINOR >= 1)))
+ do {
+ #endif
+ #if (DB_VERSION_MAJOR > 3) || ((DB_VERSION_MAJOR == 3) && (DB_VERSION_MINOR > 0))
+@@ -289,7 +289,7 @@ static int mysync(void)
+ #else
+ r = txn_checkpoint(dbenv, 0, 0);
+ #endif
+-#if !(DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1)
++#if !((DB_VERSION_MAJOR > 4) || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1))
+ } while (r == DB_INCOMPLETE); /* Never returned by BDB 4.1 */
+ #endif
+ if (r) {
+@@ -412,7 +412,7 @@ static int myopen(const char *fname, DBT
+ /* xxx set comparator! */
+ if (flags & CYRUSDB_MBOXSORT) db->set_bt_compare(db, mbox_compar);
+
+-#if DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1
++#if (DB_VERSION_MAJOR > 4) || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1)
+ r = (db->open)(db, NULL, fname, NULL, type, dbflags | DB_AUTO_COMMIT, 0664);
+ #else
+ r = (db->open)(db, fname, NULL, type, dbflags, 0664);
diff --git a/mail/cyrus-imapd24/patches/patch-aq b/mail/cyrus-imapd24/patches/patch-aq
new file mode 100644
index 00000000000..e0b0156723f
--- /dev/null
+++ b/mail/cyrus-imapd24/patches/patch-aq
@@ -0,0 +1,15 @@
+$NetBSD: patch-aq,v 1.1.1.1 2010/10/30 12:12:35 obache Exp $
+
+--- imap/sync_client.c.orig 2010-10-19 03:08:28.000000000 +0000
++++ imap/sync_client.c
+@@ -92,6 +92,10 @@
+ #include "signals.h"
+ #include "cyrusdb.h"
+
++#ifndef SOL_TCP
++#define SOL_TCP IPPROTO_TCP
++#endif
++
+ /* signal to config.c */
+ const int config_need_data = 0; /* YYY */
+
diff --git a/mail/cyrus-imapd24/patches/patch-ar b/mail/cyrus-imapd24/patches/patch-ar
new file mode 100644
index 00000000000..08d346dc56b
--- /dev/null
+++ b/mail/cyrus-imapd24/patches/patch-ar
@@ -0,0 +1,15 @@
+$NetBSD: patch-ar,v 1.1.1.1 2010/10/30 12:12:35 obache Exp $
+
+--- master/service.c.orig 2010-10-19 03:08:28.000000000 +0000
++++ master/service.c
+@@ -76,6 +76,10 @@
+ #include "xstrlcat.h"
+ #include "signals.h"
+
++#ifndef SOL_TCP
++#define SOL_TCP IPPROTO_TCP
++#endif
++
+ extern int optind, opterr;
+ extern char *optarg;
+