Testing/development edition of chat/mu-conference.

A new version, 0.7 has been available for over a year, so 
I'm going to debug it here, and then ask it be imported into the
mainline trees.
This commit is contained in:
Eric Schnoebelen 2008-06-25 04:27:59 +00:00 committed by Thomas Klausner
parent cae318dfa5
commit 059441c15a
6 changed files with 164 additions and 0 deletions

3
mu-conference/DESCR Normal file
View file

@ -0,0 +1,3 @@
Implementation of the Multi-User Chat protocol, as defined in JEP-0045
Will work against jabberd or jabberd2

64
mu-conference/Makefile Normal file
View file

@ -0,0 +1,64 @@
# $NetBSD: Makefile,v 1.1.1.1 2008/06/25 04:27:59 schnoebe Exp $
#
DISTNAME= mu-conference_0.7
PKGNAME= ${DISTNAME:S/_/-/}
# PKGREVISION= 6
CATEGORIES= chat
MASTER_SITES= http://download.gna.org/mu-conference/
MAINTAINER= eric@cirr.com
HOMEPAGE= http://gna.org/projects/mu-conference/
COMMENT= Implementation of the JEP-0045 Multi-User Chat protocol
# DEPENDS+= jabberd-[0-9]*:../../chat/jabberd2
PKG_DESTDIR_SUPPORT= user-destdir
WRKSRC= ${WRKDIR}/${DISTNAME}/src
# USE_TOOLS+= gmake pax pkg-config
USE_TOOLS+= pkg-config
PKG_SYSCONFSUBDIR= jabberd
RCD_SCRIPTS= muc
.include "../../wip/jabberd/transports.mk"
.include "../../mk/bsd.prefs.mk"
BUILD_DEFS+= JABBERD_LOGDIR JABBERD_PIDDIR
JABBERD_USER?= jabberd
PKG_USERS_VARS+= JABBERD_USER
FILES_SUBST+= JABBERD_PIDDIR=${JABBERD_PIDDIR:Q}
FILES_SUBST+= JABBERD_USER=${JABBERD_USER:Q}
EGDIR= ${PREFIX}/share/examples/jabberd
CONF_FILES+= ${EGDIR}/muc-jcr.xml ${PKG_SYSCONFDIR:Q}/muc-jcr.xml
INSTALLATION_DIRS= bin share/examples/jabberd
# post-extract:
# @${MV} ${XMLCONFIG:Q} ${XMLCONFIG:Q}.in
# pre-configure:
# @${SED} -e 's|\(<logdir>\)[^<]*|\1${JABBERD_LOGDIR}|g' \
# -e 's|\(<pidfile>\).|\1${JABBERD_PIDDIR}|g' \
# -e 's|\(<spool>\).|\1${JABBERD_SPOOLDIR}|g' \
# ${XMLCONFIG:Q}.in > ${XMLCONFIG:Q}
# pre-build:
# cd ${WRKDIR:Q} && pax -rw -pe ${DISTNAME:Q} ${WRKSRC:Q}
# post-build:
# ${CP} ${WRKSRC:Q}/src/main.c ${WRKSRC:Q}/src/jcomp.mk ${SUBWRKSRC:Q}
# cd ${SUBWRKSRC:Q} && ${SETENV} ${MAKE_ENV} ${GMAKE} -f jcomp.mk
# do-install:
# ${INSTALL_PROGRAM} ${SUBWRKSRC:Q}/mu-conference ${DESTDIR}${PREFIX}/bin
# ${INSTALL_DATA} ${WRKSRC:Q}/${DISTNAME:Q}/muc-jcr.xml ${DESTDIR}${EGDIR}
.include "../../devel/libidn/buildlink3.mk"
.include "../../textproc/expat/buildlink3.mk"
.include "../../devel/glib2/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

1
mu-conference/PLIST Normal file
View file

@ -0,0 +1 @@
@comment $NetBSD: PLIST,v 1.1.1.1 2008/06/25 04:27:59 schnoebe Exp $

6
mu-conference/distinfo Normal file
View file

@ -0,0 +1,6 @@
$NetBSD: distinfo,v 1.1.1.1 2008/06/25 04:27:59 schnoebe Exp $
SHA1 (mu-conference_0.7.tar.gz) = eb8e21f708587a02042f425a814db6fff6e0ba7e
RMD160 (mu-conference_0.7.tar.gz) = 82a02434414ec3eb925959401b5c847912088e6b
Size (mu-conference_0.7.tar.gz) = 112381 bytes
SHA1 (patch-aa) = 2db01e45740e75a192b9f69f55c51107e2c09be6

View file

@ -0,0 +1,42 @@
#!@RCD_SCRIPTS_SHELL@
#
# $NetBSD: muc.sh,v 1.1.1.1 2008/06/25 04:27:59 schnoebe Exp $
#
# PROVIDE: muc
# REQUIRE: DAEMON
if [ -f /etc/rc.subr ]; then
. /etc/rc.subr
fi
name="muc"
rcvar=$name
command="@PREFIX@/bin/mu-conference"
required_files="@PKG_SYSCONFDIR@/${name}.xml"
extra_commands="reload"
muc_user="@JABBERD_USER@"
command_args="-c ${required_files} > /dev/null 2>&1 &"
pidfile="@JABBERD_PIDDIR@/`basename ${command}`.pid"
stop_postcmd="remove_pidfile"
start_precmd="ensure_piddir"
ensure_piddir()
{
mkdir -p @JABBERD_PIDDIR@
chown @JABBERD_USER@ @JABBERD_PIDDIR@
}
remove_pidfile()
{
if [ -f $pidfile ]; then
rm -f $pidfile
fi
}
if [ -f /etc/rc.subr ]; then
load_rc_config $name
run_rc_command "$1"
else
@ECHO@ -n " ${name}"
${command} ${muc_flags} ${command_args}
fi

View file

@ -0,0 +1,48 @@
$NetBSD: patch-aa,v 1.1.1.1 2008/06/25 04:27:59 schnoebe Exp $
--- Makefile.orig 2007-06-08 15:19:48.000000000 -0500
+++ Makefile
@@ -1,8 +1,14 @@
CC:=gcc
+
+# MYSQL_CFLAGS:= -DHAVE_MYSQL
+# MYSQL_LIBS:=$(shell mysql_config --libs)
+# MYSQL_OBJS:= mysql.o
+
+
CFLAGS:=$(CFLAGS) -O2 -Wall -I../../lib -I../include `pkg-config --cflags glib-2.0` -D_JCOMP -D_REENTRANT -DLIBIDN
#CFLAGS:=$(CFLAGS) -O2 -Wall -I../../lib -I../include `pkg-config --cflags glib-2.0` -D_JCOMP -D_REENTRANT -DLIBIDN -DHAVE_MYSQL
-LIBS:=$(LIBS) -ljcomp -lm `pkg-config --libs glib-2.0` `pkg-config --libs gthread-2.0` -lexpat -lidn `mysql_config --libs`
+LIBS:=$(LIBS) -ljcomp -lm `pkg-config --libs glib-2.0` `pkg-config --libs gthread-2.0` -lexpat -lidn $(MYSQL_LIBS)
LDFLAGS:=-L.
# Debug/Experimental
@@ -11,7 +17,7 @@ LDFLAGS:=-L.
#LIBS:=$(LIBS) -lmemusage
#LIBS:=$(LIBS) -lmcheck
-conference_OBJECTS=libjcomp.a conference.o conference_room.o conference_user.o utils.o xdata.o admin.o roles.o xdb.o hash.o iq.o main.o mysql.o
+conference_OBJECTS=libjcomp.a conference.o conference_room.o conference_user.o utils.o xdata.o admin.o roles.o xdb.o hash.o iq.o main.o $(MYSQL_OBJS)
all: mu-conference
@@ -19,8 +25,8 @@ mu-conference: $(conference_OBJECTS)
$(CC) $(CFLAGS) $(MCFLAGS) -o mu-conference $(conference_OBJECTS) $(LDFLAGS) $(LIBS)
libjcomp.a:
- cd jabberd ; make
- cd jcomp ; make lib
+ cd jabberd ; $(MAKE)
+ cd jcomp ; $(MAKE) lib
static: $(conference_OBJECTS)
@@ -28,5 +34,5 @@ single: $(conference_OBJECTS)
clean:
rm -f $(conference_OBJECTS) mu-conference *~
- cd jcomp ; make clean
- cd jabberd ; make clean
+ cd jcomp ; $(MAKE) clean
+ cd jabberd ; $(MAKE) clean