summaryrefslogtreecommitdiff
path: root/chat
diff options
context:
space:
mode:
authormartti <martti>2008-03-10 08:58:32 +0000
committermartti <martti>2008-03-10 08:58:32 +0000
commitb7a8469a73d681a026f4ee55737092e43366c12d (patch)
tree2291b7fb74b37807b4958f48fafda2d8318039be /chat
parent3e56541ca126e70376775fd71585a88aeb3a42aa (diff)
downloadpkgsrc-b7a8469a73d681a026f4ee55737092e43366c12d.tar.gz
ejabberd is a Free and Open Source distributed fault-tolerant Jabber server.
It is writen mostly in Erlang.
Diffstat (limited to 'chat')
-rw-r--r--chat/ejabberd/DESCR22
-rw-r--r--chat/ejabberd/MESSAGE15
-rw-r--r--chat/ejabberd/Makefile112
-rw-r--r--chat/ejabberd/PLIST198
-rw-r--r--chat/ejabberd/distinfo10
-rw-r--r--chat/ejabberd/files/ejabberd.sh79
-rw-r--r--chat/ejabberd/patches/patch-aa23
-rw-r--r--chat/ejabberd/patches/patch-ab24
-rw-r--r--chat/ejabberd/patches/patch-ac51
-rw-r--r--chat/ejabberd/patches/patch-ad140
-rw-r--r--chat/ejabberd/patches/patch-ae37
11 files changed, 711 insertions, 0 deletions
diff --git a/chat/ejabberd/DESCR b/chat/ejabberd/DESCR
new file mode 100644
index 00000000000..1cddab44614
--- /dev/null
+++ b/chat/ejabberd/DESCR
@@ -0,0 +1,22 @@
+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/
diff --git a/chat/ejabberd/MESSAGE b/chat/ejabberd/MESSAGE
new file mode 100644
index 00000000000..2303ec366a7
--- /dev/null
+++ b/chat/ejabberd/MESSAGE
@@ -0,0 +1,15 @@
+===========================================================================
+$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
+
+===========================================================================
diff --git a/chat/ejabberd/Makefile b/chat/ejabberd/Makefile
new file mode 100644
index 00000000000..8a77df4efa3
--- /dev/null
+++ b/chat/ejabberd/Makefile
@@ -0,0 +1,112 @@
+# $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"
diff --git a/chat/ejabberd/PLIST b/chat/ejabberd/PLIST
new file mode 100644
index 00000000000..6125c8c592d
--- /dev/null
+++ b/chat/ejabberd/PLIST
@@ -0,0 +1,198 @@
+@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}
diff --git a/chat/ejabberd/distinfo b/chat/ejabberd/distinfo
new file mode 100644
index 00000000000..40f89b7e985
--- /dev/null
+++ b/chat/ejabberd/distinfo
@@ -0,0 +1,10 @@
+$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
diff --git a/chat/ejabberd/files/ejabberd.sh b/chat/ejabberd/files/ejabberd.sh
new file mode 100644
index 00000000000..2a3b1accc5e
--- /dev/null
+++ b/chat/ejabberd/files/ejabberd.sh
@@ -0,0 +1,79 @@
+#!/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"
diff --git a/chat/ejabberd/patches/patch-aa b/chat/ejabberd/patches/patch-aa
new file mode 100644
index 00000000000..89d849a17ec
--- /dev/null
+++ b/chat/ejabberd/patches/patch-aa
@@ -0,0 +1,23 @@
+$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)
diff --git a/chat/ejabberd/patches/patch-ab b/chat/ejabberd/patches/patch-ab
new file mode 100644
index 00000000000..5f48ed139ff
--- /dev/null
+++ b/chat/ejabberd/patches/patch-ab
@@ -0,0 +1,24 @@
+$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.
+
+
diff --git a/chat/ejabberd/patches/patch-ac b/chat/ejabberd/patches/patch-ac
new file mode 100644
index 00000000000..cb6a3937cdf
--- /dev/null
+++ b/chat/ejabberd/patches/patch-ac
@@ -0,0 +1,51 @@
+$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
+ ]}
diff --git a/chat/ejabberd/patches/patch-ad b/chat/ejabberd/patches/patch-ad
new file mode 100644
index 00000000000..f8a85a71ec0
--- /dev/null
+++ b/chat/ejabberd/patches/patch-ad
@@ -0,0 +1,140 @@
+$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).
+
diff --git a/chat/ejabberd/patches/patch-ae b/chat/ejabberd/patches/patch-ae
new file mode 100644
index 00000000000..d81a61dd8b1
--- /dev/null
+++ b/chat/ejabberd/patches/patch-ae
@@ -0,0 +1,37 @@
+$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