Fixup fromcvs/togit conversion
[pkgsrcv2.git] / mail / cyrus-imapd24 / Makefile
1 # $NetBSD: Makefile,v 1.28 2013/03/02 20:33:26 wiz Exp $
2
3 DISTNAME=       cyrus-imapd-2.4.17
4 PKGREVISION=    4
5 CATEGORIES=     mail
6 MASTER_SITES=   http://cyrusimap.org/releases/ \
7                 ftp://ftp.cyrusimap.org/cyrus-imapd/ \
8                 ftp://ftp.cyrusimap.org/cyrus-imapd/OLD-VERSIONS/
9
10 MAINTAINER=     obache@NetBSD.org
11 HOMEPAGE=       http://www.cyrusimap.org/
12 COMMENT=        Cyrus IMAP server
13 #LICENSE=       original-bsd # like license
14
15 USE_TOOLS+=             perl:run makedepend
16 USE_PKGLOCALEDIR=       yes
17 GNU_CONFIGURE=          yes
18 PERL5_CONFIGURE=        no
19
20 BUILD_DEFS+=            VARBASE
21
22 CHECK_PORTABILITY_SKIP= configure.lineno
23
24 .include "../../mk/bsd.prefs.mk"
25
26 # CYRUS_USER            username of the Cyrus administrator
27 # CYRUS_GROUP           group of the Cyrus administrator
28 #
29 CYRUS_USER?=            cyrus
30 CYRUS_GROUP?=           mail
31
32 BUILD_DEFS+=            CYRUS_USER CYRUS_GROUP
33 FILES_SUBST+=           CYRUS_USER=${CYRUS_USER}
34 FILES_SUBST+=           CYRUS_GROUP=${CYRUS_GROUP}
35
36 CONFIGURE_ARGS+=        --sysconfdir=${PKG_SYSCONFDIR}
37 CONFIGURE_ARGS+=        --with-cyrus-user=${CYRUS_USER}
38 CONFIGURE_ARGS+=        --with-cyrus-group=${CYRUS_GROUP}
39 CONFIGURE_ARGS+=        --with-cyrus-prefix=${PREFIX}/cyrus
40 CONFIGURE_ARGS+=        --with-pidfile=${VARBASE}/run/cyrus-master.pid
41 CONFIGURE_ARGS+=        --with-openssl=${SSLBASE:Q}
42 CONFIGURE_ARGS+=        --with-sasl=${BUILDLINK_PREFIX.cyrus-sasl}
43 CONFIGURE_ARGS+=        --with-perl=${PERL5:Q}
44 CONFIGURE_ARGS+=        --with-libwrap=${BUILDLINK_PREFIX.tcp_wrappers}
45 CONFIGURE_ENV+=         ac_cv_lib_wrap_request_init=yes
46
47 CONFIGURE_ARGS+=        --enable-idled
48 CONFIGURE_ARGS+=        --enable-murder
49 CONFIGURE_ARGS+=        --enable-nntp
50 CONFIGURE_ARGS+=        --enable-replication
51
52 .include "options.mk"
53
54 MAKE_ENV+=              PERL=${PERL5:Q}
55
56 HTMLDIR=                ${PREFIX}/share/doc/cyrus-imapd
57 EGDIR=                  ${PREFIX}/share/examples/cyrus-imapd
58 CONF_FILES=             ${EGDIR}/imapd.conf ${PKG_SYSCONFDIR}/imapd.conf
59 CONF_FILES+=            ${EGDIR}/normal.conf ${PKG_SYSCONFDIR}/cyrus.conf
60 RCD_SCRIPTS=            cyrus
61 FILES_SUBST+=           IMAPDCONF=${PKG_SYSCONFDIR}/imapd.conf
62
63 REPLACE_PERL+=          tools/rehash
64
65 PERL5_PACKLIST= \
66         auto/Cyrus/IMAP/.packlist                       \
67         auto/Cyrus/SIEVE/managesieve/.packlist
68
69 pre-build:
70         ${RUN}${_ULIMIT_CMD} \
71         cd ${WRKSRC} && ${BUILD_MAKE_CMD} depend
72
73 .include "../../lang/perl5/module.mk"
74 BUILDLINK_API_DEPENDS.cyrus-sasl+=      cyrus-sasl>=2.1.17
75 .include "../../security/cyrus-sasl/buildlink3.mk"
76 .include "../../security/openssl/buildlink3.mk"
77
78 # NetBSD's libssl is built without bn/bn_const.c (PR#37505)
79 .if !empty(MACHINE_PLATFORM:MNetBSD-4.*-*)
80 #.  if !empty(USE_BUILTIN.openssl:M[yY][eE][sS])
81 CFLAGS+=        -DOPENSSL_LACK_BN_CONST
82 #.  endif
83 .endif
84
85 .include "../../security/tcp_wrappers/buildlink3.mk"
86
87 # Only imap/mupdate needs to be build with pthreads support, so selectively
88 # enable it via patches for just that one program.
89 #
90 .include "../../mk/pthread.buildlink3.mk"
91
92 # Change references of some manpages from foo.8 to cyrus-foo.8 to avoid
93 # manpage conflicts with other packages.  Also change references to
94 # "/etc/{cyrus,imapd}.conf" into "${PKG_SYSCONFDIR}/{cyrus,imapd}.conf".
95 #
96 post-patch:
97         cd ${WRKSRC}/man;                                               \
98         set --  deliver 8 fetchnews 8 idled 8 imapd 8 lmtpd 8 master 8  \
99                 nntpd 8 notifyd 8 pop3d 8 quota 8;                      \
100         while [ $$# -gt 0 ]; do                                         \
101                 man=$$1.$$2;                                            \
102                 for file in Makefile.in *.[0-9]; do                     \
103                         sed     -e "s|\(\$$(srcdir)/\)\($$man\)|\1cyrus-\2|g" \
104                                 -e "s|\(\\\fB\)\($$1($$2)\\\fR\)|\1cyrus-\2|g" \
105                                 $$file > $$file.fixed;                  \
106                         mv -f $$file.fixed $$file;                      \
107                 done;                                                   \
108                 if [ -f $$man ]; then                                   \
109                         mv $$man cyrus-$$man;                   \
110                 fi;                                                     \
111                 shift 2;                                                \
112         done
113         find ${WRKSRC} -type f -print |                                 \
114         xargs -n 1 ${GREP} -l -e /etc/imapd\.conf -e /etc/cyrus\.conf | \
115         while read file; do                                             \
116                 sed     -e "s|/etc/\(cyrus\.conf\)|${PKG_SYSCONFDIR}/\1|g" \
117                         -e "s|/etc/\(imapd\.conf\)|${PKG_SYSCONFDIR}/\1|g" \
118                         $${file} > $${file}.fixed;                      \
119                 mv -f $${file}.fixed $${file};                  \
120         done
121
122 post-install:
123         ${INSTALL_SCRIPT} ${WRKSRC}/tools/masssievec ${DESTDIR}${PREFIX}/cyrus/bin
124         ${INSTALL_SCRIPT} ${WRKSRC}/tools/migrate-metadata ${DESTDIR}${PREFIX}/cyrus/bin
125         ${INSTALL_SCRIPT} ${WRKSRC}/tools/mkimap ${DESTDIR}${PREFIX}/cyrus/bin
126         ${INSTALL_SCRIPT} ${WRKSRC}/tools/mknewsgroups ${DESTDIR}${PREFIX}/cyrus/bin
127         ${INSTALL_SCRIPT} ${WRKSRC}/tools/translatesieve ${DESTDIR}${PREFIX}/cyrus/bin
128         ${INSTALL_SCRIPT} ${WRKSRC}/tools/rehash ${DESTDIR}${PREFIX}/cyrus/bin
129         ${INSTALL_DATA_DIR} ${DESTDIR}${EGDIR}
130         ${INSTALL_DATA} ${FILESDIR}/imapd.conf ${DESTDIR}${EGDIR}
131         cd ${WRKSRC}/master/conf; for file in *.conf; do                \
132                 ${INSTALL_DATA} $${file} ${DESTDIR}${EGDIR};            \
133         done
134         ${INSTALL_DATA_DIR} ${DESTDIR}${HTMLDIR}
135         cd ${WRKSRC}/doc; for file in *.html cyrusv2.mc; do             \
136                 ${INSTALL_DATA} $${file} ${DESTDIR}${HTMLDIR};          \
137         done
138
139 .include "../../devel/zlib/buildlink3.mk"
140 CONFIGURE_ARGS+=        --with-zlib=${BUILDLINK_PREFIX.zlib}
141 .include "../../mk/bsd.pkg.mk"