update Wed Dec 23 18:37:00 PST 2009
[pkgsrc.git] / chat / ejabberd / Makefile
1 # $NetBSD: Makefile,v 1.15 2009/12/23 21:02:20 fhajny Exp $
2
3 DISTNAME=       ejabberd-2.1.1
4 CATEGORIES=     chat
5 MASTER_SITES=   http://www.process-one.net/downloads/ejabberd/2.1.1/
6
7 MAINTAINER=     martti@NetBSD.org
8 HOMEPAGE=       http://www.ejabberd.im/
9 COMMENT=        Free and Open Source distributed fault-tolerant Jabber server
10 LICENSE=        gnu-gpl-v2
11
12 PKG_DESTDIR_SUPPORT=    user-destdir
13
14 CONFLICTS+=     jabberd-[0-9]*
15
16 GNU_CONFIGURE=  yes
17 USE_TOOLS+=     gmake
18
19 WRKSRC=         ${WRKDIR}/${PKGNAME_NOREV}
20 # much prefer to be explicit about the configure settings rather than
21 # depending on the defaults to continue to be sane or same between versions
22 CONFIGURE_ARGS+=        --enable-odbc
23 CONFIGURE_ARGS+=        --enable-mod_irc
24 CONFIGURE_ARGS+=        --enable-mod_muc
25 CONFIGURE_ARGS+=        --enable-eldap
26 CONFIGURE_ARGS+=        --enable-web
27 CONFIGURE_ARGS+=        --enable-tls
28 CONFIGURE_ARGS+=        --enable-ejabberd_zlib
29 CONFIGURE_ARGS+=        --with-openssl=${BUILDLINK_PREFIX.openssl}
30 CONFIGURE_ARGS+=        --with-zlib=${BUILDLINK_PREFIX.zlib}
31 CONFIGURE_ARGS+=        --with-expat=${BUILDLINK_PREFIX.expat}
32 CONFIGURE_ARGS+=        --with-libiconv=${BUILDLINK_PREFIX.iconv}
33 CONFIGURE_ARGS+=        --with-erlang=${BUILDLINK_PREFIX.erlang}
34
35 CONFIGURE_DIRS+=        src
36 BUILD_DIRS+=            src
37
38 MAKE_ENV=               PKGVERSION=${PKGVERSION}
39 PLIST_SUBST+=           DISTNAME=${DISTNAME} PKGBASE=${PKGBASE}
40
41 FILES_SUBST+=           DISTNAME=${DISTNAME} PKGBASE=${PKGBASE}
42 FILES_SUBST+=           PKG_SYSCONFDIR=${PKG_SYSCONFDIR}
43 FILES_SUBST+=           EGDIR=${EGDIR}
44
45 RCD_SCRIPTS=            ejabberd
46
47 BUILD_DEFS+=            EJABBERD_USER EJABBERD_GROUP EJABBERD_LOGDIR
48 BUILD_DEFS+=            EJABBERD_PIDDIR EJABBERD_DB EJABBERD_TRANSDIR
49 BUILD_DEFS+=            EJABBERD_EXDIR
50 BUILD_DEFS+=            VARBASE
51 PKG_SYSCONFSUBDIR=      ejabberd
52
53 .include "../../mk/bsd.prefs.mk"
54
55 EJABBERD_USER=          ejabberd
56 EJABBERD_GROUP=         ejabberd
57 EJABBERD_PIDDIR=        ${VARBASE}/run/ejabberd
58 EJABBERD_LOGDIR=        ${VARBASE}/log/ejabberd
59 EJABBERD_DB=            ${VARBASE}/spool/ejabberd
60 EJABBERD_EXDIR=         share/examples/ejabberd
61
62 OWN_DIRS+=              ${EJABBERD_PIDDIR}
63 OWN_DIRS+=              ${EJABBERD_LOGDIR}
64 OWN_DIRS+=              ${EJABBERD_DB}
65 OWN_DIRS_PERMS+=        ${EJABBERD_PIDDIR} ${EJABBERD_USER} ${EJABBERD_GROUP} 0770
66 OWN_DIRS_PERMS+=        ${EJABBERD_LOGDIR} ${EJABBERD_USER} ${EJABBERD_GROUP} 0770
67 OWN_DIRS_PERMS+=        ${EJABBERD_DB} ${EJABBERD_USER} ${EJABBERD_GROUP} 0770
68
69 FILES_SUBST+=           JABBERD_USER=${EJABBERD_USER}
70 FILES_SUBST+=           JABBERD_LOGDIR=${EJABBERD_LOGDIR}
71
72 PLIST_SUBST+=           EJABBERD_EXDIR=${EJABBERD_EXDIR}
73
74 PKG_GROUPS+=            ${EJABBERD_GROUP}
75 PKG_USERS+=             ${EJABBERD_USER}:${EJABBERD_GROUP}
76 PKG_GECOS.${EJABBERD_USER}=     ejabberd user
77 PKG_HOME.${EJABBERD_USER}=      ${EJABBERD_DB}
78
79 EGDIR=                  ${PREFIX}/${EJABBERD_EXDIR}
80
81 INSTALLATION_DIRS+=     ${PREFIX}/share/doc/${PKGBASE}
82 INSTALLATION_DIRS+=     ${EGDIR}
83
84 CONF_FILES=             ${EGDIR}/ejabberd.cfg ${PKG_SYSCONFDIR}/ejabberd.cfg
85 CONF_FILES+=            ${EGDIR}/ejabberdctl.cfg ${PKG_SYSCONFDIR}/ejabberdctl.cfg
86 CONF_FILES+=            ${EGDIR}/inetrc ${PKG_SYSCONFDIR}/inetrc
87
88 REPLACE_SH=             src/ejabberdctl.template tools/captcha.sh
89
90 post-patch:
91         ${RM} -f ${WRKSRC}/doc/guide.tex.orig
92
93 post-install:
94         ${INSTALL_DATA} ${WRKSRC}/doc/dev.html ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
95         ${INSTALL_DATA} ${WRKSRC}/doc/features.html ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
96         ${INSTALL_DATA} ${WRKSRC}/doc/features.pdf ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
97         ${INSTALL_DATA} ${WRKSRC}/doc/guide.pdf ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
98
99 SUBST_CLASSES+=         paths
100 SUBST_MESSAGE.paths=    Localizing paths
101 SUBST_STAGE.paths=      pre-configure
102 SUBST_FILES.paths=      src/Makefile.in
103 SUBST_FILES.paths+=     src/ejabberd.cfg.example
104 SUBST_FILES.paths+=     src/ejabberdctl.template
105 SUBST_FILES.paths+=     doc/guide.tex
106 SUBST_SED.paths+=       -e 's,@PKG_SYSCONFDIR@,${PKG_SYSCONFDIR},g'
107 SUBST_SED.paths+=       -e 's,@JABBERD_LOGDIR@,${EJABBERD_LOGDIR},g'
108 SUBST_SED.paths+=       -e 's,@EJABBERD_LOGDIR@,${EJABBERD_LOGDIR},g'
109 SUBST_SED.paths+=       -e 's,@EJABBERD_DB@,${EJABBERD_DB},g'
110 SUBST_SED.paths+=       -e 's,@PREFIX@,${PREFIX},g'
111 SUBST_SED.paths+=       -e 's,@DISTNAME@,${DISTNAME},g'
112 SUBST_SED.paths+=       -e 's,@EJABBERD_VARDIR@,${VARBASE},g'
113
114 .include "../../converters/libiconv/buildlink3.mk"
115 .include "../../lang/erlang/buildlink3.mk"
116 .include "../../textproc/expat/buildlink3.mk"
117 .include "../../security/openssl/buildlink3.mk"
118 .include "../../devel/zlib/buildlink3.mk"
119 .include "../../mk/bsd.pkg.mk"