Mon Mar 10 08:58:32 2008 UTC ()
ejabberd is a Free and Open Source distributed fault-tolerant Jabber server.
It is writen mostly in Erlang.

Status:

Vendor Tag:	TNF
Release Tags:	pkgsrc-base


(martti)
diff -r0 -r1.1.1.1 pkgsrc/chat/ejabberd/MESSAGE
diff -r0 -r1.1.1.1 pkgsrc/chat/ejabberd/DESCR
diff -r0 -r1.1.1.1 pkgsrc/chat/ejabberd/Makefile
diff -r0 -r1.1.1.1 pkgsrc/chat/ejabberd/PLIST
diff -r0 -r1.1.1.1 pkgsrc/chat/ejabberd/distinfo
diff -r0 -r1.1.1.1 pkgsrc/chat/ejabberd/files/ejabberd.sh
diff -r0 -r1.1.1.1 pkgsrc/chat/ejabberd/patches/patch-ad
diff -r0 -r1.1.1.1 pkgsrc/chat/ejabberd/patches/patch-ac
diff -r0 -r1.1.1.1 pkgsrc/chat/ejabberd/patches/patch-aa
diff -r0 -r1.1.1.1 pkgsrc/chat/ejabberd/patches/patch-ab
diff -r0 -r1.1.1.1 pkgsrc/chat/ejabberd/patches/patch-ae

File Added: pkgsrc/chat/ejabberd/Attic/MESSAGE
===========================================================================
$NetBSD: MESSAGE,v 1.1.1.1 2008/03/10 08:58:32 martti Exp $

You will need to customize the following files to configure ejabberd for
local use:

    ${PKG_SYSCONFDIR}/ejabberd.cfg

Note: this package includes an unofficial patch to support multiples listeners
on the same port number, which enables IPv4 and IPv6 concurrently.

Quick start for ejabberd:
	ejabberdctl start

===========================================================================

File Added: pkgsrc/chat/ejabberd/DESCR
ejabberd is a Free and Open Source distributed fault-tolerant Jabber server.
It is writen mostly in Erlang.

The main features of ejabberd are:
	- Works on most of popular platforms: *nix
	  (tested on Linux, FreeBSD and NetBSD)
	- Distributed
	- Fault-tolerance:
	- Built-in Multi-User Chat service
	- Built-in IRC transport
	- Built-in Publish-Subscribe service
	- Built-in Jabber Users Directory service based on users vCards
	- SSL support
	- Ability to interface with external components
			(JIT, MSN-t, Yahoo-t, etc)
	- Migration from jabberd14 is possible
	- Mostly XMPP-compliant
	- Support for JEP-0030 (Service Discovery).
	- Support for JEP-0039 (Statistics Gathering).
	- Support for xml:lang attribute in many XML elements

WWW: http://www.ejabberd.im/

File Added: pkgsrc/chat/ejabberd/Makefile
# $NetBSD: Makefile,v 1.1.1.1 2008/03/10 08:58:32 martti Exp $

DISTNAME=	ejabberd-2.0.0
#PKGREVISION=	1
CATEGORIES=	chat
MASTER_SITES=	http://www.process-one.net/downloads/ejabberd/2.0.0/

MAINTAINER=	martti@NetBSD.org
HOMEPAGE=	http://www.ejabberd.im/
COMMENT=	Free and Open Source distributed fault-tolerant Jabber server

CONFLICTS+=	jabberd-[0-9]*

GNU_CONFIGURE=	yes
USE_TOOLS+=	gmake

# much prefer to be explicit about the configure settings rather than
# depending on the defaults to continue to be sane or same between versions
CONFIGURE_ARGS+=	--enable-odbc
CONFIGURE_ARGS+=	--enable-mod_irc
CONFIGURE_ARGS+=	--enable-mod_muc
CONFIGURE_ARGS+=	--enable-eldap
CONFIGURE_ARGS+=	--enable-web
CONFIGURE_ARGS+=	--enable-tls
CONFIGURE_ARGS+=	--enable-odbc
CONFIGURE_ARGS+=	--enable-ejabberd_zlib
CONFIGURE_ARGS+=	--with-openssl=${BUILDLINK_PREFIX.openssl}
CONFIGURE_ARGS+=	--with-zlib=${BUILDLINK_PREFIX.zlib}
CONFIGURE_ARGS+=	--with-expat=${BUILDLINK_PREFIX.expat}
CONFIGURE_ARGS+=	--with-libiconv=${BUILDLINK_PREFIX.iconv}
CONFIGURE_ARGS+=	--with-erlang=${BUILDLINK_PREFIX.erlang}

CONFIGURE_DIRS+=	src
BUILD_DIRS+=		src

MAKE_ENV=		PKGVERSION=${PKGVERSION}
PLIST_SUBST+=		DISTNAME=${DISTNAME} PKGBASE=${PKGBASE}

FILES_SUBST+=		DISTNAME=${DISTNAME} PKGBASE=${PKGBASE}
FILES_SUBST+=		PKG_SYSCONFDIR=${PKG_SYSCONFDIR}
FILES_SUBST+=		EGDIR=${EGDIR}

RCD_SCRIPTS=		ejabberd

BUILD_DEFS+=		EJABBERD_USER EJABBERD_GROUP EJABBERD_LOGDIR
BUILD_DEFS+=		EJABBERD_PIDDIR EJABBERD_DB EJABBERD_TRANSDIR
BUILD_DEFS+=		EJABBERD_EXDIR
BUILD_DEFS+=		VARBASE
PKG_SYSCONFSUBDIR=	ejabberd

.include "../../mk/bsd.prefs.mk"

EJABBERD_USER=		ejabberd
EJABBERD_GROUP=		ejabberd
EJABBERD_PIDDIR=	${VARBASE}/run/ejabberd
EJABBERD_LOGDIR=	${VARBASE}/log/ejabberd
EJABBERD_DB=		${VARBASE}/spool/ejabberd
EJABBERD_EXDIR=		share/examples/ejabberd

OWN_DIRS+=		${EJABBERD_PIDDIR}
OWN_DIRS+=		${EJABBERD_LOGDIR}
OWN_DIRS+=		${EJABBERD_DB}

OWN_DIRS_PERMS+=	${EJABBERD_PIDDIR} ${EJABBERD_USER} ${EJABBERD_GROUP} 0770
OWN_DIRS_PERMS+=	${EJABBERD_LOGDIR} ${EJABBERD_USER} ${EJABBERD_GROUP} 0770
OWN_DIRS_PERMS+=	${EJABBERD_DB} ${EJABBERD_USER} ${EJABBERD_GROUP} 0770

FILES_SUBST+=		JABBERD_USER=${EJABBERD_USER}
FILES_SUBST+=		JABBERD_LOGDIR=${EJABBERD_LOGDIR}

PLIST_SUBST+=		EJABBERD_EXDIR=${EJABBERD_EXDIR}

PKG_GROUPS+=		${EJABBERD_GROUP}
PKG_USERS+=		${EJABBERD_USER}:${EJABBERD_GROUP}

EGDIR=			${PREFIX}/${EJABBERD_EXDIR}

INSTALLATION_DIRS+=	${PREFIX}/share/doc/${DISTNAME}
INSTALLATION_DIRS+=	${PREFIX}/share/doc/${DISTNAME}/api
INSTALLATION_DIRS+=	${EGDIR}

CONF_FILES=		${EGDIR}/ejabberd.cfg
CONF_FILES+=		${PKG_SYSCONFDIR}/ejabberd.cfg
CONF_FILES+=		${PKG_SYSCONFDIR}/inetrc

post-install:
	${INSTALL_DATA_DIR} ${EGDIR}
	${INSTALL_DATA} ${WRKSRC}/src/ejabberd.cfg.example ${EGDIR}/ejabberd.cfg
	${INSTALL_DATA} ${WRKSRC}/doc/*.* ${PREFIX}/share/doc/${DISTNAME}
	${INSTALL_DATA} ${WRKSRC}/doc/Makefile ${PREFIX}/share/doc/${DISTNAME}
	${INSTALL_DATA} ${WRKSRC}/doc/COPYING ${PREFIX}/share/doc/${DISTNAME}
	${INSTALL_DATA} ${WRKSRC}/doc/api/* ${PREFIX}/share/doc/${DISTNAME}/api


SUBST_CLASSES+=		paths
SUBST_MESSAGE.paths=	Localizing paths
SUBST_STAGE.paths=	pre-configure
SUBST_FILES.paths=	src/Makefile.in
SUBST_FILES.paths+=	src/ejabberdctl.template
SUBST_SED.paths+=	-e 's,@PKG_SYSCONFDIR@,${PKG_SYSCONFDIR},g'
SUBST_SED.paths+=	-e 's,@JABBERD_LOGDIR@,${EJABBERD_LOGDIR},g'
SUBST_SED.paths+=	-e 's,@EJABBERD_LOGDIR@,${EJABBERD_LOGDIR},g'
SUBST_SED.paths+=	-e 's,@EJABBERD_DB@,${EJABBERD_DB},g'
SUBST_SED.paths+=	-e 's,@DISTNAME@,${DISTNAME},g'
SUBST_SED.paths+=	-e 's,@EJABBERD_VARDIR@,${VARBASE},g'

.include "../../converters/libiconv/buildlink3.mk"
.include "../../lang/erlang/buildlink3.mk"
.include "../../textproc/expat/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

File Added: pkgsrc/chat/ejabberd/PLIST
@comment $NetBSD: PLIST,v 1.1.1.1 2008/03/10 08:58:32 martti Exp $
${EJABBERD_EXDIR}/ejabberd.cfg
lib/erlang/lib/${DISTNAME}/ebin/ELDAPv3.beam
lib/erlang/lib/${DISTNAME}/ebin/XmppAddr.beam
lib/erlang/lib/${DISTNAME}/ebin/acl.beam
lib/erlang/lib/${DISTNAME}/ebin/adhoc.beam
lib/erlang/lib/${DISTNAME}/ebin/cyrsasl.beam
lib/erlang/lib/${DISTNAME}/ebin/cyrsasl_anonymous.beam
lib/erlang/lib/${DISTNAME}/ebin/cyrsasl_digest.beam
lib/erlang/lib/${DISTNAME}/ebin/cyrsasl_plain.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd.app
lib/erlang/lib/${DISTNAME}/ebin/ejabberd.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_admin.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_app.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_auth.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_auth_anonymous.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_auth_external.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_auth_internal.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_auth_ldap.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_auth_odbc.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_auth_pam.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_c2s.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_c2s_config.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_config.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_ctl.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_frontend_socket.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_hooks.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_http.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_http_bind.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_http_poll.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_listener.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_local.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_logger_h.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_loglevel.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_node_groups.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_odbc.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_odbc_sup.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_rdbms.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_receiver.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_router.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_s2s.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_s2s_in.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_s2s_out.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_service.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_sm.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_socket.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_sup.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_system_monitor.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_tmp_sup.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_update.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_web.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_web_admin.beam
lib/erlang/lib/${DISTNAME}/ebin/ejabberd_zlib.beam
lib/erlang/lib/${DISTNAME}/ebin/ejd2odbc.beam
lib/erlang/lib/${DISTNAME}/ebin/eldap.beam
lib/erlang/lib/${DISTNAME}/ebin/eldap_filter.beam
lib/erlang/lib/${DISTNAME}/ebin/eldap_pool.beam
lib/erlang/lib/${DISTNAME}/ebin/eldap_utils.beam
lib/erlang/lib/${DISTNAME}/ebin/extauth.beam
lib/erlang/lib/${DISTNAME}/ebin/gen_iq_handler.beam
lib/erlang/lib/${DISTNAME}/ebin/gen_mod.beam
lib/erlang/lib/${DISTNAME}/ebin/gen_pubsub_node.beam
lib/erlang/lib/${DISTNAME}/ebin/gen_pubsub_nodetree.beam
lib/erlang/lib/${DISTNAME}/ebin/iconv.beam
lib/erlang/lib/${DISTNAME}/ebin/idna.beam
lib/erlang/lib/${DISTNAME}/ebin/jd2ejd.beam
lib/erlang/lib/${DISTNAME}/ebin/jlib.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_adhoc.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_announce.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_caps.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_configure.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_configure2.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_disco.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_echo.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_http_bind.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_http_fileserver.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_irc.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_irc_connection.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_last.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_last_odbc.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_muc.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_muc_log.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_muc_room.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_offline.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_offline_odbc.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_privacy.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_privacy_odbc.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_private.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_private_odbc.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_proxy65.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_proxy65_lib.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_proxy65_service.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_proxy65_sm.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_proxy65_stream.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_pubsub.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_register.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_roster.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_roster_odbc.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_service_log.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_shared_roster.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_stats.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_time.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_vcard.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_vcard_ldap.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_vcard_odbc.beam
lib/erlang/lib/${DISTNAME}/ebin/mod_version.beam
lib/erlang/lib/${DISTNAME}/ebin/node_buddy.beam
lib/erlang/lib/${DISTNAME}/ebin/node_club.beam
lib/erlang/lib/${DISTNAME}/ebin/node_default.beam
lib/erlang/lib/${DISTNAME}/ebin/node_dispatch.beam
lib/erlang/lib/${DISTNAME}/ebin/node_pep.beam
lib/erlang/lib/${DISTNAME}/ebin/node_private.beam
lib/erlang/lib/${DISTNAME}/ebin/node_public.beam
lib/erlang/lib/${DISTNAME}/ebin/nodetree_default.beam
lib/erlang/lib/${DISTNAME}/ebin/nodetree_virtual.beam
lib/erlang/lib/${DISTNAME}/ebin/odbc_queries.beam
lib/erlang/lib/${DISTNAME}/ebin/p1_fsm.beam
lib/erlang/lib/${DISTNAME}/ebin/p1_mnesia.beam
lib/erlang/lib/${DISTNAME}/ebin/ram_file_io_server.beam
lib/erlang/lib/${DISTNAME}/ebin/randoms.beam
lib/erlang/lib/${DISTNAME}/ebin/sha.beam
lib/erlang/lib/${DISTNAME}/ebin/shaper.beam
lib/erlang/lib/${DISTNAME}/ebin/stringprep.beam
lib/erlang/lib/${DISTNAME}/ebin/stringprep_sup.beam
lib/erlang/lib/${DISTNAME}/ebin/tls.beam
lib/erlang/lib/${DISTNAME}/ebin/translate.beam
lib/erlang/lib/${DISTNAME}/ebin/xml.beam
lib/erlang/lib/${DISTNAME}/ebin/xml_stream.beam
lib/erlang/lib/${DISTNAME}/priv/lib/ejabberd_zlib_drv.so
lib/erlang/lib/${DISTNAME}/priv/lib/expat_erl.so
lib/erlang/lib/${DISTNAME}/priv/lib/iconv_erl.so
lib/erlang/lib/${DISTNAME}/priv/lib/stringprep_drv.so
lib/erlang/lib/${DISTNAME}/priv/lib/tls_drv.so
lib/erlang/lib/${DISTNAME}/priv/msgs/ca.msg
lib/erlang/lib/${DISTNAME}/priv/msgs/cs.msg
lib/erlang/lib/${DISTNAME}/priv/msgs/de.msg
lib/erlang/lib/${DISTNAME}/priv/msgs/eo.msg
lib/erlang/lib/${DISTNAME}/priv/msgs/es.msg
lib/erlang/lib/${DISTNAME}/priv/msgs/fr.msg
lib/erlang/lib/${DISTNAME}/priv/msgs/gl.msg
lib/erlang/lib/${DISTNAME}/priv/msgs/it.msg
lib/erlang/lib/${DISTNAME}/priv/msgs/ja.msg
lib/erlang/lib/${DISTNAME}/priv/msgs/nl.msg
lib/erlang/lib/${DISTNAME}/priv/msgs/no.msg
lib/erlang/lib/${DISTNAME}/priv/msgs/pl.msg
lib/erlang/lib/${DISTNAME}/priv/msgs/pt-br.msg
lib/erlang/lib/${DISTNAME}/priv/msgs/pt.msg
lib/erlang/lib/${DISTNAME}/priv/msgs/ru.msg
lib/erlang/lib/${DISTNAME}/priv/msgs/sk.msg
lib/erlang/lib/${DISTNAME}/priv/msgs/sv.msg
lib/erlang/lib/${DISTNAME}/priv/msgs/th.msg
lib/erlang/lib/${DISTNAME}/priv/msgs/tr.msg
lib/erlang/lib/${DISTNAME}/priv/msgs/uk.msg
lib/erlang/lib/${DISTNAME}/priv/msgs/vi.msg
lib/erlang/lib/${DISTNAME}/priv/msgs/wa.msg
lib/erlang/lib/${DISTNAME}/priv/msgs/zh.msg
sbin/ejabberdctl
share/doc/${DISTNAME}/Makefile
share/doc/${DISTNAME}/COPYING
share/doc/${DISTNAME}/dev.html
share/doc/${DISTNAME}/dev.tex
share/doc/${DISTNAME}/disco.png
share/doc/${DISTNAME}/discorus.png
share/doc/${DISTNAME}/features.html
share/doc/${DISTNAME}/features.tex
share/doc/${DISTNAME}/flow.dot
share/doc/${DISTNAME}/guide.html
share/doc/${DISTNAME}/guide.tex
share/doc/${DISTNAME}/guide.pdf
share/doc/${DISTNAME}/introduction.tex
share/doc/${DISTNAME}/logo.png
share/doc/${DISTNAME}/mod_http_bind.tex
share/doc/${DISTNAME}/mod_http_fileserver.tex
share/doc/${DISTNAME}/release_notes_0.9.1.txt
share/doc/${DISTNAME}/release_notes_0.9.8.txt
share/doc/${DISTNAME}/release_notes_0.9.txt
share/doc/${DISTNAME}/release_notes_1.0.0.txt
share/doc/${DISTNAME}/release_notes_1.1.0.txt
share/doc/${DISTNAME}/release_notes_1.1.1.txt
share/doc/${DISTNAME}/release_notes_1.1.2.txt
share/doc/${DISTNAME}/release_notes_1.1.3.txt
share/doc/${DISTNAME}/release_notes_1.1.4.txt
share/doc/${DISTNAME}/release_notes_2.0.0.txt
share/doc/${DISTNAME}/version.tex
share/doc/${DISTNAME}/webadmmain.png
share/doc/${DISTNAME}/webadmmainru.png
share/doc/${DISTNAME}/yozhikheader.png
share/doc/${DISTNAME}/api/Makefile
share/doc/${DISTNAME}/api/process-one.css
share/doc/${DISTNAME}/api/overview.edoc
share/examples/rc.d/ejabberd
@dirrm share/doc/${DISTNAME}/api
@dirrm share/doc/${DISTNAME}
@dirrm lib/erlang/lib/${DISTNAME}/priv/msgs
@dirrm lib/erlang/lib/${DISTNAME}/priv/lib
@dirrm lib/erlang/lib/${DISTNAME}/priv
@dirrm lib/erlang/lib/${DISTNAME}/ebin
@dirrm lib/erlang/lib/${DISTNAME}

File Added: pkgsrc/chat/ejabberd/distinfo
$NetBSD: distinfo,v 1.1.1.1 2008/03/10 08:58:32 martti Exp $

SHA1 (ejabberd-2.0.0.tar.gz) = d70257c1e75f59b7284d52c038431664cfd53e08
RMD160 (ejabberd-2.0.0.tar.gz) = 9e7bb30825f2d480d75516136fcc62a49d871255
Size (ejabberd-2.0.0.tar.gz) = 1387404 bytes
SHA1 (patch-aa) = 31040b992246471dd27c6097e76e9ad007618c12
SHA1 (patch-ab) = a083116beb37cd19a011993e009b57a0a4b202bf
SHA1 (patch-ac) = 23a7528ac5f3c9f1e7e89062e43482b8bf103e0e
SHA1 (patch-ad) = ece5a64b4beacd967bdb24d42cf105cd3bb1b7b6
SHA1 (patch-ae) = bbdd79cfac761c862d4d70d037990c3c3b99d57e

File Added: pkgsrc/chat/ejabberd/files/ejabberd.sh
#!/bin/sh
#
# $NetBSD: ejabberd.sh,v 1.1.1.1 2008/03/10 08:58:32 martti Exp $
# $FreeBSD: ejabberd.sh.in,v 1.1 2005/08/28 15:51:48 vsevolod Exp $
#
# PROVIDE: ejabberd
# REQUIRE: DAEMON
# BEFORE: LOGIN
# KEYWORD: shutdown

if [ -f /etc/rc.subr ]
then
        . /etc/rc.subr
fi

name="ejabberd"
rcvar=${name}

command=ejabberdctl
ejabberd_user="@JABBERD_USER@"
reload_cmd="ejabberd_reload"
restart_cmd="ejabberd_reload"
start_cmd="ejabberd_start"
status_cmd="ejabberd_status"
stop_cmd="ejabberd_stop"

PATH=/sbin:/bin:/usr/sbin:/usr/bin:@PREFIX@/bin:@PREFIX@/sbin
EJABBERDCTL=@PREFIX@/sbin/ejabberdctl

ejabberd_status()
{
    su -m $ejabberd_user -c "$EJABBERDCTL status >/dev/null"
}

ejabberd_start()
{
    echo -n "Starting $name: "
    if ejabberd_status; then
	echo " already running."
	exit 1
    else
	su -m $ejabberd_user -c "$EJABBERDCTL start"
    fi
    echo "$name."
}

ejabberd_stop()
{
    echo -n "Stopping $name: "
    if su -m $ejabberd_user -c "$EJABBERDCTL stop"; then
	cnt=0
        while ejabberd_status; do
            cnt=`expr $cnt + 1`
            if [ $cnt -gt 60 ]; then
                echo -n " failed "
                break
            fi
            sleep 1
            echo -n "."
        done
    else
        echo -n " failed "
    fi
    echo "$name."
}

ejabberd_reload()
{
    echo -n "Restarting $name: "
    if ejabberd_status; then
        su -m $ejabberd_user -c "$EJABBERDCTL restart"
    else
        ejabberd_start
    fi
    echo "$name."
}

load_rc_config $name
run_rc_command "$1"

File Added: pkgsrc/chat/ejabberd/patches/Attic/patch-ad
$NetBSD: patch-ad,v 1.1.1.1 2008/03/10 08:58:32 martti Exp $

Patch from Fabrice Colliot: support for multiple listeners on same port
number (eg IPv4 and IPv6 simultaneously).

--- src/ejabberd_listener.erl.orig	2008-01-16 12:33:27.000000000 +0200
+++ src/ejabberd_listener.erl	2008-02-14 15:25:12.000000000 +0200
@@ -27,12 +27,12 @@
 -module(ejabberd_listener).
 -author('alexey@process-one.net').
 
--export([start_link/0, init/1, start/3,
-	 init/3,
-	 init_ssl/4,
-	 start_listener/3,
+-export([start_link/0, init/1, start/4,
+	 init/4,
+	 init_ssl/5,
+	 start_listener/4,
 	 stop_listener/1,
-	 add_listener/3,
+	 add_listener/4,
 	 delete_listener/1
 	]).
 
@@ -49,9 +49,9 @@
 	Ls ->
 	    {ok, {{one_for_one, 10, 1},
 		  lists:map(
-		    fun({Port, Module, Opts}) ->
-			    {Port,
-			     {?MODULE, start, [Port, Module, Opts]},
+		    fun({ListenerID, Port, Module, Opts}) ->
+			    {ListenerID,
+			     {?MODULE, start, [ListenerID, Port, Module, Opts]},
 			     transient,
 			     brutal_kill,
 			     worker,
@@ -60,7 +60,7 @@
     end.
 
 
-start(Port, Module, Opts) ->
+start(ListenerID, Port, Module, Opts) ->
     SSLError = "There is a problem with your ejabberd configuration file: the option 'ssl' for listening sockets is no longer available. To get SSL encryption use the option 'tls'.",
     case lists:keysearch(ssl, 1, Opts) of
 	{value, {ssl, _SSLOpts}} ->
@@ -77,11 +77,11 @@
 		    {error, SSLError};
 		false ->
 		    {ok, proc_lib:spawn_link(?MODULE, init,
-					     [Port, Module, Opts])}
+					     [ListenerID, Port, Module, Opts])}
 	    end
     end.
 
-init(Port, Module, Opts) ->
+init(ListenerID, Port, Module, Opts) ->
     SockOpts = lists:filter(fun({ip, _}) -> true;
 			       (inet6) -> true;
 			       (inet) -> true;
@@ -100,7 +100,7 @@
 	    accept(ListenSocket, Module, Opts);
 	{error, Reason} ->
 	    ?ERROR_MSG("Failed to open socket for ~p: ~p",
-		       [{Port, Module, Opts}, Reason]),
+		       [{ListenerID, Port, Module, Opts}, Reason]),
 	    error
     end.
 
@@ -128,7 +128,7 @@
     end.
 
 
-init_ssl(Port, Module, Opts, SSLOpts) ->
+init_ssl(ListenerID, Port, Module, Opts, SSLOpts) ->
     SockOpts = lists:filter(fun({ip, _}) -> true;
 			       (inet6) -> true;
 			       (inet) -> true;
@@ -151,7 +151,7 @@
 	    accept_ssl(ListenSocket, Module, Opts);
 	{error, Reason} ->
 	    ?ERROR_MSG("Failed to open socket for ~p: ~p",
-		       [{Port, Module, Opts}, Reason]),
+		       [{ListenerID, Port, Module, Opts}, Reason]),
 	    error
     end.
 
@@ -178,8 +178,8 @@
     end.
 
 
-start_listener(Port, Module, Opts) ->
-    ChildSpec = {Port,
+start_listener(ListenerID, Port, Module, Opts) ->
+    ChildSpec = {ListenerID,
 		 {?MODULE, start, [Port, Module, Opts]},
 		 transient,
 		 brutal_kill,
@@ -187,30 +187,30 @@
 		 [?MODULE]},
     supervisor:start_child(ejabberd_listeners, ChildSpec).
 
-stop_listener(Port) ->
-    supervisor:terminate_child(ejabberd_listeners, Port),
-    supervisor:delete_child(ejabberd_listeners, Port).
+stop_listener(ListenerID) ->
+    supervisor:terminate_child(ejabberd_listeners, ListenerID),
+    supervisor:delete_child(ejabberd_listeners, ListenerID).
 
-add_listener(Port, Module, Opts) ->
+add_listener(ListenerID, Port, Module, Opts) ->
     Ports = case ejabberd_config:get_local_option(listen) of
 		undefined ->
 		    [];
 		Ls ->
 		    Ls
 	    end,
-    Ports1 = lists:keydelete(Port, 1, Ports),
-    Ports2 = [{Port, Module, Opts} | Ports1],
+    Ports1 = lists:keydelete(ListenerID, 1, Ports),
+    Ports2 = [{ListenerID, Port, Module, Opts} | Ports1],
     ejabberd_config:add_local_option(listen, Ports2),
-    start_listener(Port, Module, Opts).
+    start_listener(ListenerID, Port, Module, Opts).
 
-delete_listener(Port) ->
+delete_listener(ListenerID) ->
     Ports = case ejabberd_config:get_local_option(listen) of
 		undefined ->
 		    [];
 		Ls ->
 		    Ls
 	    end,
-    Ports1 = lists:keydelete(Port, 1, Ports),
+    Ports1 = lists:keydelete(ListenerID, 1, Ports),
     ejabberd_config:add_local_option(listen, Ports1),
-    stop_listener(Port).
+    stop_listener(ListenerID).
 

File Added: pkgsrc/chat/ejabberd/patches/Attic/patch-ac
$NetBSD: patch-ac,v 1.1.1.1 2008/03/10 08:58:32 martti Exp $

Patch from Fabrice Colliot: support for multiple listeners on same port
number (eg IPv4 and IPv6 simultaneously).

--- src/ejabberd.cfg.example.orig	2008-01-16 12:33:27.000000000 +0200
+++ src/ejabberd.cfg.example	2008-02-14 15:25:12.000000000 +0200
@@ -106,7 +106,7 @@
 {listen,
  [
 
-  {5222, ejabberd_c2s, [
+  {1, 5222, ejabberd_c2s, [
 
 			%%
 			%% If TLS is compiled and you installed a SSL
@@ -123,14 +123,14 @@
   %%
   %% To enable the old SSL connection method in port 5223:
   %%
-  %%{5223, ejabberd_c2s, [
+  %%{2, 5223, ejabberd_c2s, [
   %%			{access, c2s},
   %%			{shaper, c2s_shaper},
   %%			{certfile, "/path/to/ssl.pem"}, tls,
   %%			{max_stanza_size, 65536}
   %%		       ]},
 
-  {5269, ejabberd_s2s_in, [
+  {3, 5269, ejabberd_s2s_in, [
 			   {shaper, s2s_shaper},
 			   {max_stanza_size, 131072}
 			  ]},
@@ -138,7 +138,7 @@
   %%
   %% ejabberd_service: Interact with external components (transports...)
   %%
-  %%{8888, ejabberd_service, [
+  %%{4, 8888, ejabberd_service, [
   %%			    {access, all}, 
   %%			    {shaper_rule, fast},
   %%			    {ip, {127, 0, 0, 1}},
@@ -147,7 +147,7 @@
   %%			    }
   %%			   ]},
 
-  {5280, ejabberd_http, [
+  {5, 5280, ejabberd_http, [
 			 http_poll, 
 			 web_admin
 			]}

File Added: pkgsrc/chat/ejabberd/patches/patch-aa
$NetBSD: patch-aa,v 1.1.1.1 2008/03/10 08:58:32 martti Exp $

Modified for pkgsrc

--- src/Makefile.in.orig	2008-01-16 12:33:27.000000000 +0200
+++ src/Makefile.in	2008-02-11 13:38:21.000000000 +0200
@@ -50,13 +50,13 @@
 
 DESTDIR =
 
-EJABBERDDIR = $(DESTDIR)@prefix@/var/lib/ejabberd
+EJABBERDDIR = $(DESTDIR)@prefix@/lib/erlang/lib/@DISTNAME@
 BEAMDIR = $(EJABBERDDIR)/ebin
 PRIVDIR = $(EJABBERDDIR)/priv
 SODIR = $(PRIVDIR)/lib
 MSGSDIR = $(PRIVDIR)/msgs
-LOGDIR = $(DESTDIR)@prefix@/var/log/ejabberd
-ETCDIR = $(DESTDIR)@prefix@/etc/ejabberd
+LOGDIR = $(DESTDIR)/@JABBERD_LOGDIR@
+ETCDIR = $(DESTDIR)/@PKG_SYSCONFDIR@
 SBINDIR = $(DESTDIR)@prefix@/sbin
 
 ifeq ($(shell uname),Darwin)

File Added: pkgsrc/chat/ejabberd/patches/Attic/patch-ab
$NetBSD: patch-ab,v 1.1.1.1 2008/03/10 08:58:32 martti Exp $

What is this for?

--- src/mod_last.erl.orig	2008-01-16 12:33:27.000000000 +0200
+++ src/mod_last.erl	2008-02-11 13:46:13.000000000 +0200
@@ -133,7 +133,16 @@
 		  sub_el = [{xmlelement, "query",
 			     [{"xmlns", ?NS_LAST},
 			      {"seconds", integer_to_list(Sec)}],
-			     [{xmlcdata, Status}]}]}
+			     [{xmlcdata, Status}]}]};
+	[{last_activity, _, TimeStamp}] ->
+	    {MegaSecs, Secs, _MicroSecs} = now(),
+	    TimeStamp2 = MegaSecs * 1000000 + Secs,
+	    Sec = TimeStamp2 - TimeStamp,
+	    IQ#iq{type = result,
+		  sub_el = [{xmlelement, "query",
+			     [{"xmlns", ?NS_LAST},
+			      {"seconds", integer_to_list(Sec)}],
+			     []}]}
     end.
 
 

File Added: pkgsrc/chat/ejabberd/patches/patch-ae
$NetBSD: patch-ae,v 1.1.1.1 2008/03/10 08:58:32 martti Exp $

Keep things tidy (nothing under /usr/pkg/var)

--- src/ejabberdctl.template.orig	2008-02-22 16:42:12.000000000 +0200
+++ src/ejabberdctl.template	2008-02-22 17:45:01.000000000 +0200
@@ -13,8 +13,8 @@
 ERLANG_NODE=$NODE@$HOST
 ROOTDIR=@rootdir@
 EJABBERD_CONFIG_PATH=$ROOTDIR/etc/ejabberd/ejabberd.cfg
-LOGS_DIR=$ROOTDIR/var/log/ejabberd/
-EJABBERD_DB=$ROOTDIR/var/lib/ejabberd/db/$NODE
+LOGS_DIR=@EJABBERD_LOGDIR@
+EJABBERD_DB=@EJABBERD_VARDIR@/spool/ejabberd/db/$NODE
 
 # read custom configuration
 CONFIG=$ROOTDIR/etc/ejabberd/ejabberdctl.cfg
@@ -42,15 +42,15 @@
 ERLANG_OPTS="+K $POLL -smp $SMP +P $ERL_PROCESSES"
 
 # define additional environment variables
-EJABBERD_EBIN=$ROOTDIR/var/lib/ejabberd/ebin
-EJABBERD_MSGS_PATH=$ROOTDIR/var/lib/ejabberd/priv/msgs
-EJABBERD_SO_PATH=$ROOTDIR/var/lib/ejabberd/priv/lib
+EJABBERD_EBIN=$ROOTDIR/lib/erlang/lib/@DISTNAME@/ebin
+EJABBERD_MSGS_PATH=$ROOTDIR/lib/erlang/lib/@DISTNAME@/priv/msgs
+EJABBERD_SO_PATH=$ROOTDIR/lib/erlang/lib/@DISTNAME@/priv/lib
 EJABBERD_LOG_PATH=$LOGS_DIR/ejabberd.log
 SASL_LOG_PATH=$LOGS_DIR/sasl.log
 DATETIME=`date "+%Y%m%d-%H%M%S"`
 ERL_CRASH_DUMP=$LOGS_DIR/erl_crash_$DATETIME.dump
 ERL_INETRC=$ROOTDIR/etc/ejabberd/inetrc
-HOME=$ROOTDIR/var/lib/ejabberd
+HOME=@EJABBERD_VARDIR@/run/ejabberd
 
 # export global variables
 export EJABBERD_CONFIG_PATH