Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 9 Feb 2004 16:43:35 +0300 (MSK)
From:      Denis Shaposhnikov <dsh@vlink.ru>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/62585: New port: net/mu-conference (Multi-User Conferencing component for Jabber)
Message-ID:  <200402091343.i19DhZij028889@neva.vlink.ru>
Resent-Message-ID: <200402091350.i19Do2Vm037692@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         62585
>Category:       ports
>Synopsis:       New port: net/mu-conference (Multi-User Conferencing component for Jabber)
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Mon Feb 09 05:50:01 PST 2004
>Closed-Date:
>Last-Modified:
>Originator:     Denis Shaposhnikov
>Release:        FreeBSD 4.9-STABLE i386
>Organization:
>Environment:
System: FreeBSD neva.vlink.ru 4.9-STABLE FreeBSD 4.9-STABLE #0: Thu Nov 27 10:39:57 MSK 2003 dsh@neva.vlink.ru:/var/FreeBSD/src/sys/compile/NEVA i386

>Description:

An implemention of the conference server using the protocol defined in
JEP-0045.

WWW: http://www.jabberstudio.org/projects/mu-conference

>How-To-Repeat:
>Fix:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	mu-conference/
#	mu-conference/Makefile
#	mu-conference/distinfo
#	mu-conference/pkg-descr
#	mu-conference/files
#	mu-conference/files/patch-src-jcomp.mk
#	mu-conference/files/patch-jcomp-jcr_elements.c
#	mu-conference/files/patch-src-main.c
#	mu-conference/pkg-plist
#
echo c - mu-conference/
mkdir -p mu-conference/ > /dev/null 2>&1
echo x - mu-conference/Makefile
sed 's/^X//' >mu-conference/Makefile << 'END-of-mu-conference/Makefile'
X# New ports collection makefile for:	mu-conference
X# Date created:			Mon Feb  9 15:34:59 MSK 2004
X# Whom:				Denis Shaposhnikov <dsh@vlink.ru>
X#
X# $FreeBSD$
X
XPORTNAME=	mu-conference
XPORTVERSION=	0.6.0
XCATEGORIES=	net
XMASTER_SITES=	http://www.jabberstudio.org/projects/${PORTNAME}/releases/download.php?file= \
X		http://jabber.terrapin.com/JCR
XDISTFILES=	${DISTNAME}${EXTRACT_SUFX} jcr-${JCR_VER}.tar.gz
X
XMAINTAINER=	dsh@vlink.ru
XCOMMENT=	Multi-User Conferencing component for Jabber
X
XUSE_GNOME=	glib20
XWRKSRC=		${WRKDIR}/jcr-${JCR_VER}
X
XJCR_VER?=	0.1.2
X
Xpost-extract:
X	${MV} ${WRKDIR}/${DISTNAME} ${WRKSRC}
X
Xpost-build:
X.for i in jcomp.mk main.c
X	${CP} ${WRKSRC}/src/${i} ${WRKSRC}/${DISTNAME}/src/
X.endfor
X	(cd ${WRKSRC}/${DISTNAME}/src; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} jcomp.mk)
X
Xdo-install:
X	${INSTALL_PROGRAM} ${WRKSRC}/${DISTNAME}/src/mu-conference \
X		${PREFIX}/bin/
X	${INSTALL_DATA} ${WRKSRC}/${DISTNAME}/muc-jcr.xml \
X		${PREFIX}/etc/muc.xml-dist
X.if !defined(NOPORTDOCS)
X	${MKDIR} ${PREFIX}/share/doc/${PORTNAME}
X.for i in FAQ README
X	${INSTALL_DATA} ${WRKSRC}/${DISTNAME}/${i} \
X		${PREFIX}/share/doc/${PORTNAME}/
X.endfor
X.endif
X
X.include <bsd.port.mk>
END-of-mu-conference/Makefile
echo x - mu-conference/distinfo
sed 's/^X//' >mu-conference/distinfo << 'END-of-mu-conference/distinfo'
XMD5 (mu-conference-0.6.0.tar.gz) = e97433bf4a978329d639ce872bee3223
XSIZE (mu-conference-0.6.0.tar.gz) = 56272
XMD5 (jcr-0.1.2.tar.gz) = 622a1bf538d5adc92a516c7ef4bfbf57
XSIZE (jcr-0.1.2.tar.gz) = 147439
END-of-mu-conference/distinfo
echo x - mu-conference/pkg-descr
sed 's/^X//' >mu-conference/pkg-descr << 'END-of-mu-conference/pkg-descr'
XAn implemention of the conference server using the protocol defined in
XJEP-0045.
X
XWWW: http://www.jabberstudio.org/projects/mu-conference
END-of-mu-conference/pkg-descr
echo c - mu-conference/files
mkdir -p mu-conference/files > /dev/null 2>&1
echo x - mu-conference/files/patch-src-jcomp.mk
sed 's/^X//' >mu-conference/files/patch-src-jcomp.mk << 'END-of-mu-conference/files/patch-src-jcomp.mk'
X--- src/jcomp.mk.orig	Sun Oct 26 15:35:19 2003
X+++ src/jcomp.mk	Mon Feb  9 16:03:18 2004
X@@ -25,7 +25,7 @@
X #CFLAGS:=$(CFLAGS) -pipe -Os -I../../jabberd -I../include 
X #LIBS:=$(LIBS) /usr/local/lib/ccmalloc-gcc.o -lccmalloc 
X #LIBS:=$(LIBS) -lmemusage
X-LIBS:=$(LIBS) -ljcomp -lm `pkg-config --libs glib-2.0` `pkg-config --libs gthread-2.0`
X+LIBS:=-ljcomp -lm `pkg-config --libs glib-2.0` `pkg-config --libs gthread-2.0`
X LDFLAGS:=-L../../lib 
X 
X conference_OBJECTS=conference.o conference_room.o conference_user.o utils.o xdata.o admin.o roles.o xdb.o hash.o main.o
END-of-mu-conference/files/patch-src-jcomp.mk
echo x - mu-conference/files/patch-jcomp-jcr_elements.c
sed 's/^X//' >mu-conference/files/patch-jcomp-jcr_elements.c << 'END-of-mu-conference/files/patch-jcomp-jcr_elements.c'
X--- jcomp/jcr_elements.c.orig	Wed Nov  5 06:42:42 2003
X+++ jcomp/jcr_elements.c	Mon Feb  9 16:07:17 2004
X@@ -30,6 +30,8 @@
X 
X   case _STREAM_INIT_STATE:
X     if (strncasecmp(name, "stream:stream", 13) == 0) {
X+      char hashbuf[41];
X+      xmlnode cur;
X       char *pass = xmlnode_get_data(xmlnode_get_tag(jcr->config,"secret"));
X       int i = 0;
X       if (attrib == NULL) return;
X@@ -39,12 +41,11 @@
X         i += 2;
X       }
X       p = pool_new();
X-      char hashbuf[41];
X       //    log_debug(JDBG, "%s = '%s'", attrib[i], attrib[i+1]);
X       shahash_r(spools(p, attrib[i + 1], pass, p), hashbuf);
X 
X       /* Build a handshake packet */
X-      xmlnode cur = xmlnode_new_tag("handshake");
X+      cur = xmlnode_new_tag("handshake");
X       xmlnode_insert_cdata(cur, hashbuf, -1);
X 
X       /* Transmit handshake */
X@@ -91,6 +92,7 @@
X     if (jcr->current == NULL) {
X       g_io_channel_close(jcr->gio);
X     } else {
X+      xmlnode parent;
X       if (strncasecmp(name, "stream:error", 12) == 0) {
X         log_warn(JDBG, "%s", xmlnode2str(jcr->current));
X         g_io_channel_write_chars(jcr->gio, "</stream:stream>", 15, &bytes, NULL);
X@@ -100,7 +102,7 @@
X         break;
X       }
X 
X-      xmlnode parent = xmlnode_get_parent(jcr->current);
X+      parent = xmlnode_get_parent(jcr->current);
X       if (parent == NULL) {
X         x = xmlnode_dup(jcr->current);
X         to = jid_new(x->p, xmlnode_get_attrib(x, "to"));
END-of-mu-conference/files/patch-jcomp-jcr_elements.c
echo x - mu-conference/files/patch-src-main.c
sed 's/^X//' >mu-conference/files/patch-src-main.c << 'END-of-mu-conference/files/patch-src-main.c'
X--- src/main.c.orig	Sun Nov  2 01:27:21 2003
X+++ src/main.c	Mon Feb  9 14:45:16 2004
X@@ -34,11 +34,12 @@
X   struct stat st;
X   char *config_file = NULL;
X   pool p;
X-  jcr = (jcr_instance)malloc(sizeof(_jcr_instance));
X 
X   GThread       *dthread; /* the packet delivery thread */
X   GMainLoop     *gmain;   /* the receive packet event loop */
X 
X+  jcr = (jcr_instance)malloc(sizeof(_jcr_instance));
X+
X 
X   fprintf(stderr, "%s -- %s\n%s\n\n", _JCOMP_NAME, _JCOMP_VERS, _JCOMP_COPY);
X 
X@@ -119,6 +120,7 @@
X 
X 
X   if (inBackground == 1) {
X+    int fdlimit, fd;
X     if ((pid = fork()) == -1) {
X       fprintf(stderr, "%s: Could not start in background\n", JDBG);
X       exit(1);
X@@ -128,8 +130,8 @@
X 
X     /* in child process .... process and terminal housekeeping */
X     setsid();
X-    int fdlimit = sysconf(_SC_OPEN_MAX);
X-    int fd = 0;
X+    fdlimit = sysconf(_SC_OPEN_MAX);
X+    fd = 0;
X     while (fd < fdlimit)
X       close(fd++);
X     open("/dev/null",O_RDWR);
END-of-mu-conference/files/patch-src-main.c
echo x - mu-conference/pkg-plist
sed 's/^X//' >mu-conference/pkg-plist << 'END-of-mu-conference/pkg-plist'
Xbin/mu-conference
Xetc/muc.xml-dist
X%%PORTDOCS%%share/doc/mu-conference/FAQ
X%%PORTDOCS%%share/doc/mu-conference/README
X%%PORTDOCS%%@dirrm share/doc/mu-conference
END-of-mu-conference/pkg-plist
exit

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200402091343.i19DhZij028889>