diff options
author | martti <martti@pkgsrc.org> | 2008-03-10 08:58:32 +0000 |
---|---|---|
committer | martti <martti@pkgsrc.org> | 2008-03-10 08:58:32 +0000 |
commit | 4aceb6ecf594d953fd2132f9ac4d58eef097632a (patch) | |
tree | 2291b7fb74b37807b4958f48fafda2d8318039be | |
parent | 37bdcae9e53cea4c4c95999cfa297a79a20abc51 (diff) | |
download | pkgsrc-4aceb6ecf594d953fd2132f9ac4d58eef097632a.tar.gz |
ejabberd is a Free and Open Source distributed fault-tolerant Jabber server.
It is writen mostly in Erlang.
-rw-r--r-- | chat/ejabberd/DESCR | 22 | ||||
-rw-r--r-- | chat/ejabberd/MESSAGE | 15 | ||||
-rw-r--r-- | chat/ejabberd/Makefile | 112 | ||||
-rw-r--r-- | chat/ejabberd/PLIST | 198 | ||||
-rw-r--r-- | chat/ejabberd/distinfo | 10 | ||||
-rw-r--r-- | chat/ejabberd/files/ejabberd.sh | 79 | ||||
-rw-r--r-- | chat/ejabberd/patches/patch-aa | 23 | ||||
-rw-r--r-- | chat/ejabberd/patches/patch-ab | 24 | ||||
-rw-r--r-- | chat/ejabberd/patches/patch-ac | 51 | ||||
-rw-r--r-- | chat/ejabberd/patches/patch-ad | 140 | ||||
-rw-r--r-- | chat/ejabberd/patches/patch-ae | 37 |
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 |