aboutsummaryrefslogtreecommitdiffstats
path: root/net-im/mu-conference/Makefile
blob: 245c0012e8f221add736582303311f12cef05520 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# Created by: Denis Shaposhnikov <dsh@vlink.ru>
# $FreeBSD$

PORTNAME=   mu-conference
PORTVERSION=    0.8
PORTREVISION=   6
CATEGORIES= net-im
MASTER_SITES=   http://download.gna.org/mu-conference/
DISTNAME=   ${PORTNAME}_${PORTVERSION}

MAINTAINER= mm@FreeBSD.org
COMMENT=    Multi-User Conferencing component for Jabber

LICENSE=    GPLv2
LICENSE_FILE=   ${WRKSRC}/COPYING

LIB_DEPENDS=    libexpat.so:textproc/expat2 \
        libidn.so:dns/libidn

USES=       pkgconfig shebangfix
SHEBANG_FILES=  scripts/roommaker.pl scripts/roomname.pl
USE_GNOME=  glib20
USE_RC_SUBR=    ${PORTNAME}

OPTIONS_DEFINE= MYSQL DOCS
OPTIONS_DEFAULT=DAEMON
OPTIONS_SINGLE= SERVER
OPTIONS_SINGLE_SERVER=  JABBERD EJABBERD DAEMON

JABBERD_DESC=   Use with jabberd 2.x (net-im/jabberd)
EJABBERD_DESC=  Use with ejabberd (net-im/ejabberd)
DAEMON_DESC=    Use builtin daemon

SUB_FILES+= pkg-message README.FreeBSD.jabberd14 \
        README.FreeBSD.jabberd2 README.FreeBSD.external

DOCFILES=   AUTHORS ChangeLog FAQ LICENSE README TODO \
        XEP0045_SUPPORT muc-default.xml style.css

PORTDOCS=   *

MAKE_JOBS_UNSAFE=   yes

.include <bsd.port.options.mk>

.if ${PORT_OPTIONS:MMYSQL}
USE_MYSQL=  yes
CFLAGS+=    -DHAVE_MYSQL
LIBS+=      `${LOCALBASE}/bin/mysql_config --libs`
DOCFILES+=  README.sql mu-conference.sql
.endif

MUC_LOGDIR?=    /var/log/mu-conference

.if ${PORT_OPTIONS:MJABBERD}
JABBER_REQUIRE?=        jabberd
JABBER_USER?=           jabber
JABBER_PIDDIR?=         /var/jabberd/pid
JABBER_SPOOLDIR?=       /var/spool/jabber
RUN_DEPENDS+=           jabberd:net-im/jabberd
.elif ${PORT_OPTIONS:MEJABBERD}
JABBER_REQUIRE?=        ejabberd
JABBER_USER?=           ejabberd
JABBER_PIDDIR?=         /var/jabberd/pid
JABBER_SPOOLDIR?=       /var/spool/jabber
RUN_DEPENDS+=           ejabberdctl:net-im/ejabberd
.elif ${PORT_OPTIONS:MDAEMON}
JABBER_REQUIRE?=        DAEMON
JABBER_USER?=           nobody
JABBER_PIDDIR?=         /var/run/mu-conference
JABBER_SPOOLDIR?=       /var/spool/mu-conference
.endif

SUB_LIST+=  JABBER_REQUIRE="${JABBER_REQUIRE}" \
        JABBER_PIDDIR="${JABBER_PIDDIR}" \
        JABBER_SPOOLDIR="${JABBER_SPOOLDIR}" \
        JABBER_USER=${JABBER_USER} \
        MUC_LOGDIR=${MUC_LOGDIR}

post-patch:
    @${REINPLACE_CMD} -e 's/=$$(CFLAGS)/=/g;s/^CFLAGS[:]*=/CFLAGS+=/g' \
        -e 's/^CC:*=/CC?=/g;s|gcc |$$(CC) |;s|-O2||g' \
        -e 's#`pkg-config#-I${LOCALBASE}/include `${LOCALBASE}/bin/pkg-config#g' \
        ${WRKSRC}/Makefile ${WRKSRC}/*/Makefile \
        ${WRKSRC}/*/*/Makefile
    @${REINPLACE_CMD} -e 's#<spool>\./spool/chat.localhost#<spool>${JABBER_SPOOLDIR}/conference.localhost#g' \
        -e 's#<logdir>\./syslogs#<logdir>${LOGDIR}#g' \
        -e 's#<logdir>\./logs#<logdir>${JABBER_SPOOLDIR}/conference.localhost/logs#g' \
        -e 's#<pidfile>\.#<pidfile>${JABBER_PIDDIR}#g' \
        ${WRKSRC}/muc-default.xml

do-install:
    ${INSTALL_PROGRAM} ${WRKSRC}/src/mu-conference ${STAGEDIR}${PREFIX}/bin
    ${INSTALL_DATA} ${WRKSRC}/muc-default.xml ${STAGEDIR}${PREFIX}/etc/muc.xml.sample
.if ${PORT_OPTIONS:MDOCS}
    @${MKDIR} ${STAGEDIR}${DOCSDIR}/scripts
.for FILE in README.FreeBSD.jabberd14 README.FreeBSD.jabberd2 README.FreeBSD.external
    @${INSTALL_DATA} ${WRKDIR}/${FILE} ${STAGEDIR}${DOCSDIR}
.endfor
.for FILE in ${DOCFILES}
    @${INSTALL_DATA} ${WRKSRC}/${FILE} ${STAGEDIR}${DOCSDIR}
.endfor
    ${INSTALL_DATA} ${WRKSRC}/scripts/README ${STAGEDIR}${DOCSDIR}/scripts
.for FILE in roommaker.pl roomname.pl
    ${INSTALL_SCRIPT} ${WRKSRC}/scripts/${FILE} ${STAGEDIR}${DOCSDIR}/scripts
.endfor
.endif

.include <bsd.port.mk>