1 # $NetBSD: Makefile,v 1.17 2011/12/09 02:16:13 sbd Exp $
3 DISTNAME= cyrus-imapd-2.3.18
5 MASTER_SITES= http://cyrusimap.org/releases/ \
6 ftp://ftp.cyrusimap.org/cyrus-imapd/ \
7 ftp://ftp.cyrusimap.org/cyrus-imapd/OLD-VERSIONS/
9 MAINTAINER= obache@NetBSD.org
10 HOMEPAGE= http://www.cyrusimap.org/
11 COMMENT= Cyrus IMAP server
12 #LICENSE= original-bsd # like license
14 BUILD_DEPENDS+= p5-Digest-SHA1-[0-9]*:../../security/p5-Digest-SHA1
16 PKG_DESTDIR_SUPPORT= user-destdir
18 USE_TOOLS+= perl makedepend
25 CHECK_PORTABILITY_SKIP= configure.lineno
27 .include "../../mk/bsd.prefs.mk"
29 # CYRUS_USER username of the Cyrus administrator
30 # CYRUS_GROUP group of the Cyrus administrator
35 BUILD_DEFS+= CYRUS_USER CYRUS_GROUP
36 FILES_SUBST+= CYRUS_USER=${CYRUS_USER}
37 FILES_SUBST+= CYRUS_GROUP=${CYRUS_GROUP}
39 CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}
40 CONFIGURE_ARGS+= --with-cyrus-user=${CYRUS_USER}
41 CONFIGURE_ARGS+= --with-cyrus-group=${CYRUS_GROUP}
42 CONFIGURE_ARGS+= --with-cyrus-prefix=${PREFIX}/cyrus
43 CONFIGURE_ARGS+= --with-pidfile=${VARBASE}/run/cyrus-master.pid
44 CONFIGURE_ARGS+= --with-openssl=${SSLBASE:Q}
45 CONFIGURE_ARGS+= --with-sasl=${BUILDLINK_PREFIX.cyrus-sasl}
46 CONFIGURE_ARGS+= --with-perl=${PERL5:Q}
47 CONFIGURE_ARGS+= --with-libwrap=${BUILDLINK_PREFIX.tcp_wrappers}
48 CONFIGURE_ENV+= ac_cv_lib_wrap_request_init=yes
50 CONFIGURE_ARGS+= --enable-idled
51 CONFIGURE_ARGS+= --enable-listext
52 CONFIGURE_ARGS+= --enable-murder
53 CONFIGURE_ARGS+= --enable-nntp
54 CONFIGURE_ARGS+= --enable-replication
58 MAKE_ENV+= PERL=${PERL5:Q}
60 HTMLDIR= ${PREFIX}/share/doc/cyrus-imapd
61 EGDIR= ${PREFIX}/share/examples/cyrus-imapd
62 CONF_FILES= ${EGDIR}/imapd.conf ${PKG_SYSCONFDIR}/imapd.conf
63 CONF_FILES+= ${EGDIR}/normal.conf ${PKG_SYSCONFDIR}/cyrus.conf
65 FILES_SUBST+= IMAPDCONF=${PKG_SYSCONFDIR}/imapd.conf
68 auto/Cyrus/IMAP/.packlist \
69 auto/Cyrus/SIEVE/managesieve/.packlist
72 ${RUN}${_ULIMIT_CMD} \
73 cd ${WRKSRC} && ${BUILD_MAKE_CMD} depend
75 .include "../../lang/perl5/module.mk"
76 BUILDLINK_API_DEPENDS.cyrus-sasl+= cyrus-sasl>=2.1.17
77 .include "../../security/cyrus-sasl/buildlink3.mk"
78 .include "../../security/openssl/buildlink3.mk"
80 # NetBSD's libssl is built without bn/bn_const.c (PR#37505)
81 .if !empty(MACHINE_PLATFORM:MNetBSD-4.*-*)
82 #. if !empty(USE_BUILTIN.openssl:M[yY][eE][sS])
83 CFLAGS+= -DOPENSSL_LACK_BN_CONST
87 .include "../../security/tcp_wrappers/buildlink3.mk"
89 # Only imap/mupdate needs to be build with pthreads support, so selectively
90 # enable it via patches for just that one program.
92 .include "../../mk/pthread.buildlink3.mk"
94 # Change references of some manpages from foo.8 to cyrus-foo.8 to avoid
95 # manpage conflicts with other packages. Also change references to
96 # "/etc/{cyrus,imapd}.conf" into "${PKG_SYSCONFDIR}/{cyrus,imapd}.conf".
100 set -- deliver 8 fetchnews 8 idled 8 imapd 8 lmtpd 8 master 8 \
101 nntpd 8 notifyd 8 pop3d 8 quota 8; \
102 while [ $$# -gt 0 ]; do \
104 for file in Makefile.in *.[0-9]; do \
105 sed -e "s|\(\$$(srcdir)/\)\($$man\)|\1cyrus-\2|g" \
106 -e "s|\(\\\fB\)\($$1($$2)\\\fR\)|\1cyrus-\2|g" \
107 $$file > $$file.fixed; \
108 mv -f $$file.fixed $$file; \
110 if [ -f $$man ]; then \
111 mv $$man cyrus-$$man; \
115 find ${WRKSRC} -type f -print | \
116 xargs -n 1 ${GREP} -l -e /etc/imapd\.conf -e /etc/cyrus\.conf | \
117 while read file; do \
118 sed -e "s|/etc/\(cyrus\.conf\)|${PKG_SYSCONFDIR}/\1|g" \
119 -e "s|/etc/\(imapd\.conf\)|${PKG_SYSCONFDIR}/\1|g" \
120 $${file} > $${file}.fixed; \
121 mv -f $${file}.fixed $${file}; \
125 ${INSTALL_SCRIPT} ${WRKSRC}/tools/masssievec ${DESTDIR}${PREFIX}/cyrus/bin
126 ${INSTALL_SCRIPT} ${WRKSRC}/tools/migrate-metadata ${DESTDIR}${PREFIX}/cyrus/bin
127 ${INSTALL_SCRIPT} ${WRKSRC}/tools/mkimap ${DESTDIR}${PREFIX}/cyrus/bin
128 ${INSTALL_SCRIPT} ${WRKSRC}/tools/mknewsgroups ${DESTDIR}${PREFIX}/cyrus/bin
129 ${INSTALL_SCRIPT} ${WRKSRC}/tools/translatesieve ${DESTDIR}${PREFIX}/cyrus/bin
130 ${INSTALL_SCRIPT} ${WRKSRC}/tools/rehash ${DESTDIR}${PREFIX}/cyrus/bin
131 ${INSTALL_DATA_DIR} ${DESTDIR}${EGDIR}
132 ${INSTALL_DATA} ${FILESDIR}/imapd.conf ${DESTDIR}${EGDIR}
133 cd ${WRKSRC}/master/conf; for file in *.conf; do \
134 ${INSTALL_DATA} $${file} ${DESTDIR}${EGDIR}; \
136 ${INSTALL_DATA_DIR} ${DESTDIR}${HTMLDIR}
137 cd ${WRKSRC}/doc; for file in *.html cyrusv2.mc; do \
138 ${INSTALL_DATA} $${file} ${DESTDIR}${HTMLDIR}; \
141 .include "../../mk/bsd.pkg.mk"