pkgsrc/mail/cyrus-imapd23/Makefile
obache e851678e1c Import cyrus-imapd-2.3.16 as mail/cyrus-imapd23.
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.
2010-02-11 08:27:09 +00:00

148 lines
4.8 KiB
Makefile

# $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"