Tweak net-im/mu-conference version 0.8_4
[dports.git] / net-im / mu-conference / Makefile
1 # Created by: Denis Shaposhnikov <dsh@vlink.ru>
2 # $FreeBSD$
3
4 PORTNAME=       mu-conference
5 PORTVERSION=    0.8
6 PORTREVISION=   4
7 CATEGORIES=     net-im
8 MASTER_SITES=   http://download.gna.org/mu-conference/
9 DISTNAME=       ${PORTNAME}_${PORTVERSION}
10
11 MAINTAINER=     ports@FreeBSD.org
12 COMMENT=        Multi-User Conferencing component for Jabber
13
14 LICENSE=        GPLv2
15
16 LIB_DEPENDS=    libexpat.so:${PORTSDIR}/textproc/expat2 \
17                 libidn.so:${PORTSDIR}/dns/libidn
18
19 USES=           pkgconfig
20 USE_GNOME=      glib20
21 USE_RC_SUBR=    ${PORTNAME}
22
23 OPTIONS_DEFINE= MYSQL DOCS
24 OPTIONS_DEFAULT=DAEMON
25 OPTIONS_SINGLE= SERVER
26 OPTIONS_SINGLE_SERVER=  JABBER JABBERD EJABBERD DAEMON
27
28 JABBER_DESC=    Use with jabberd14 (net-im/jabber)
29 JABBERD_DESC=   Use with jabberd 2.x (net-im/jabberd)
30 EJABBERD_DESC=  Use with ejabberd (net-im/ejabberd)
31 DAEMON_DESC=    Use builtin daemon
32
33 SUB_FILES+=     pkg-message README.FreeBSD.jabberd14 \
34                 README.FreeBSD.jabberd2 README.FreeBSD.external
35
36 DOCFILES=       AUTHORS ChangeLog FAQ LICENSE README TODO \
37                 XEP0045_SUPPORT muc-default.xml style.css
38
39 PORTDOCS=       *
40
41 MAKE_JOBS_UNSAFE=       yes
42
43 .include <bsd.port.options.mk>
44
45 .if ${PORT_OPTIONS:MMYSQL}
46 USE_MYSQL=      yes
47 CFLAGS+=        -DHAVE_MYSQL
48 LIBS+=          `${LOCALBASE}/bin/mysql_config --libs`
49 DOCFILES+=      README.sql mu-conference.sql
50 .endif
51
52 MUC_LOGDIR?=    /var/log/mu-conference
53
54 .if ${PORT_OPTIONS:MJABBER}
55 JABBER_REQUIRE?=        jabber
56 JABBER_USER?=           jabber
57 JABBER_PIDDIR?=         /var/run/jabberd
58 JABBER_SPOOLDIR?=       /var/spool/jabberd
59 RUN_DEPENDS+=           jabberd14:${PORTSDIR}/net-im/jabber
60 .elif ${PORT_OPTIONS:MJABBERD}
61 JABBER_REQUIRE?=        jabberd
62 JABBER_USER?=           jabber
63 JABBER_PIDDIR?=         /var/jabberd/pid
64 JABBER_SPOOLDIR?=       /var/spool/jabber
65 RUN_DEPENDS+=           jabberd:${PORTSDIR}/net-im/jabberd
66 .elif ${PORT_OPTIONS:MEJABBERD}
67 JABBER_REQUIRE?=        ejabberd
68 JABBER_USER?=           ejabberd
69 JABBER_PIDDIR?=         /var/jabberd/pid
70 JABBER_SPOOLDIR?=       /var/spool/jabber
71 RUN_DEPENDS+=           ejabberdctl:${PORTSDIR}/net-im/ejabberd
72 .elif ${PORT_OPTIONS:MDAEMON}
73 JABBER_REQUIRE?=        DAEMON
74 JABBER_USER?=           nobody
75 JABBER_PIDDIR?=         /var/run/mu-conference
76 JABBER_SPOOLDIR?=       /var/spool/mu-conference
77 .endif
78
79 SUB_LIST+=      JABBER_REQUIRE="${JABBER_REQUIRE}" \
80                 JABBER_PIDDIR="${JABBER_PIDDIR}" \
81                 JABBER_SPOOLDIR="${JABBER_SPOOLDIR}" \
82                 JABBER_USER=${JABBER_USER} \
83                 MUC_LOGDIR=${MUC_LOGDIR}
84
85 post-patch:
86         @${REINPLACE_CMD} -e 's/=$$(CFLAGS)/=/g;s/^CFLAGS[:]*=/CFLAGS+=/g' \
87                 -e 's/^CC:*=/CC?=/g;s|gcc |$$(CC) |;s|-O2||g' \
88                 -e 's#`pkg-config#-I${LOCALBASE}/include `${LOCALBASE}/bin/pkg-config#g' \
89                 ${WRKSRC}/Makefile ${WRKSRC}/*/Makefile \
90                 ${WRKSRC}/*/*/Makefile
91         @${REINPLACE_CMD} -e 's#<spool>\./spool/chat.localhost#<spool>${JABBER_SPOOLDIR}/conference.localhost#g' \
92                 -e 's#<logdir>\./syslogs#<logdir>${LOGDIR}#g' \
93                 -e 's#<logdir>\./logs#<logdir>${JABBER_SPOOLDIR}/conference.localhost/logs#g' \
94                 -e 's#<pidfile>\.#<pidfile>${JABBER_PIDDIR}#g' \
95                 ${WRKSRC}/muc-default.xml
96
97 do-install:
98         ${INSTALL_PROGRAM} ${WRKSRC}/src/mu-conference ${STAGEDIR}${PREFIX}/bin
99         ${INSTALL_DATA} ${WRKSRC}/muc-default.xml ${STAGEDIR}${PREFIX}/etc/muc.xml.sample
100 .if ${PORT_OPTIONS:MDOCS}
101         @${MKDIR} ${STAGEDIR}${DOCSDIR}/scripts
102 .for FILE in README.FreeBSD.jabberd14 README.FreeBSD.jabberd2 README.FreeBSD.external
103         @${INSTALL_DATA} ${WRKDIR}/${FILE} ${STAGEDIR}${DOCSDIR}
104 .endfor
105 .for FILE in ${DOCFILES}
106         @${INSTALL_DATA} ${WRKSRC}/${FILE} ${STAGEDIR}${DOCSDIR}
107 .endfor
108         ${INSTALL_DATA} ${WRKSRC}/scripts/README ${STAGEDIR}${DOCSDIR}/scripts
109 .for FILE in roommaker.pl roomname.pl
110         ${INSTALL_SCRIPT} ${WRKSRC}/scripts/${FILE} ${STAGEDIR}${DOCSDIR}/scripts
111 .endfor
112 .endif
113
114 .include <bsd.port.mk>