diff options
Diffstat (limited to 'mail/cyrus-imapd23/Makefile')
-rw-r--r-- | mail/cyrus-imapd23/Makefile | 148 |
1 files changed, 148 insertions, 0 deletions
diff --git a/mail/cyrus-imapd23/Makefile b/mail/cyrus-imapd23/Makefile new file mode 100644 index 00000000000..397c55f9a04 --- /dev/null +++ b/mail/cyrus-imapd23/Makefile @@ -0,0 +1,148 @@ +# $NetBSD: Makefile,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $ + +DISTNAME= cyrus-imapd-2.3.16 +CATEGORIES= mail +MASTER_SITES= 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://cyrusimap.web.cmu.edu/imapd/ +COMMENT= Cyrus IMAP server + +PKG_DESTDIR_SUPPORT= user-destdir + +USE_TOOLS+= perl +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-listext +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 + +.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" +.include "../../mk/bdb.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 "../../mk/bsd.pkg.mk" |