pkgsrc/chat/ejabberd/Makefile
fhajny f08dc6752b Update chat/ejabberd to 16.04.
API Commands
- Add API versionning
- Changed error handling, based on exception
- ejabberd Command bugfixes
- Accept commands: add_commands syntax (along commands: –
  add_commands)
- Fix mod_muc_admin:get_room_options and set_room_affiliation
- mod_http_api: support 'open' ejabberd commands

Databases
- Split modules DB specific code into separate modules
- Rename "odbc" to "sql" everywhere
- Rename "internal" auth to "mnesia"
- Improve detection of databases supported by modules
- Switch to varchar(64) in mysql user.server/salt as text can't
  have default values
- 'serverkey' and 'salt' should have empty string as default

XMPP
- Drop headline messages sent to offline resources
- Don't omit bounces for messages of type "result"
- Match namespace when checking for chat states
- Fix check for standalone chat state notifications
- Disable TLS compression for s2s by default
- Make sure that ejabberd_sm sid are unique
- Send stream trailer at the very end of the processing
- Generate shorted jid for anonymous connections
- Fix anonymous SASL auth

ejabberdctl
- Add option to migration script to delete data from a table after
  they have been successfully moved to SQL database: ejabberdctl
delete_mnesia example.org
- Remove useless variable and quote EPMD and SPOOL_DIR
- Fix node ping command
- Use UUID for ctl node name
- Remove --auth in ejabberd_ctl.erl as it's useless, still
  useful for mod_rest
- Force ERL_PATH for Elixir console

Pubsub
- Fix use of pubsub node plugin when configured with
  default_node_config
- Set default value for pubsub#itemreply option
- Add subscribe/unsubscribe hooks

Internal
- Add mod_mam header file
- Replace ?ERR_* macros with ?ERRT_*
- change mod_ping Timers using maps instead of dict

Dependencies
- Update p1_utils to 1.0.4: Adds p1_time_compat:unique_timestamp()
- Update fast_tls to 1.0.3: Prevent buffer overflows and
  allocation failures
- Update stringprep to 1.0.3: Fix compilation on Windows and error
  message
- Update stun to 1.0.3: Use fast_tls 1.0.3
- Update esip to 1.0.4: Use fast_tls 1.0.3
2016-04-29 19:05:22 +00:00

111 lines
4.1 KiB
Makefile

# $NetBSD: Makefile,v 1.65 2016/04/29 19:05:22 fhajny Exp $
DISTNAME= ejabberd-16.04
CATEGORIES= chat
MASTER_SITES= http://www.process-one.net/downloads/ejabberd/${PKGVERSION_NOREV}/
EXTRACT_SUFX= .tgz
MAINTAINER= filip@joyent.com
HOMEPAGE= http://www.ejabberd.im/
COMMENT= Free and Open Source distributed fault-tolerant Jabber server
LICENSE= gnu-gpl-v2
DEPENDS+= erlang-cache_tab>=1.0.2:../../devel/erlang-cache_tab
DEPENDS+= erlang-esip>=1.0.4:../../net/erlang-esip
DEPENDS+= erlang-ezlib>=1.0.1:../../devel/erlang-ezlib
DEPENDS+= erlang-fast_tls>=1.0.3:../../security/erlang-fast_tls
DEPENDS+= erlang-fast_xml>=1.1.3:../../textproc/erlang-fast_xml
DEPENDS+= erlang-fast_yaml>=1.0.3:../../textproc/erlang-fast_yaml
DEPENDS+= erlang-iconv>=1.0.0:../../converters/erlang-iconv
DEPENDS+= erlang-jiffy>=0.14.7:../../textproc/erlang-jiffy
DEPENDS+= erlang-lager>=3.0.2:../../sysutils/erlang-lager
DEPENDS+= erlang-luerl>=0.2:../../lang/erlang-luerl
DEPENDS+= erlang-p1_mysql>=1.0.1:../../databases/erlang-p1_mysql
DEPENDS+= erlang-p1_oauth2>=0.6.1:../../security/erlang-p1_oauth2
DEPENDS+= erlang-p1_pam>=1.0.0:../../security/erlang-p1_pam
DEPENDS+= erlang-p1_pgsql>=1.1.0:../../databases/erlang-p1_pgsql
DEPENDS+= erlang-p1_utils>=1.0.4:../../misc/erlang-p1_utils
DEPENDS+= erlang-p1_xmlrpc>=1.15.1:../../textproc/erlang-p1_xmlrpc
DEPENDS+= erlang-stringprep>=1.0.3:../../textproc/erlang-stringprep
DEPENDS+= erlang-stun>=1.0.3:../../net/erlang-stun
CONFLICTS+= jabberd-[0-9]*
GNU_CONFIGURE= yes
USE_GCC_RUNTIME= yes
USE_TOOLS+= bash:run gmake patch
CONFIGURE_ARGS+= --disable-debug
CONFIGURE_ARGS+= --enable-iconv
CONFIGURE_ARGS+= --enable-lager
CONFIGURE_ARGS+= --enable-mysql
CONFIGURE_ARGS+= --enable-odbc
CONFIGURE_ARGS+= --enable-pam
CONFIGURE_ARGS+= --enable-pgsql
CONFIGURE_ARGS+= --enable-zlib
CONFIGURE_ARGS+= --enable-user=${EJABBERD_USER}
CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFBASEDIR}
RCD_SCRIPTS= ejabberd
BUILD_DEFS+= EJABBERD_USER EJABBERD_GROUP EJABBERD_LOGDIR
BUILD_DEFS+= EJABBERD_PIDDIR EJABBERD_DB EJABBERD_TRANSDIR
BUILD_DEFS+= VARBASE
PKG_SYSCONFSUBDIR= ejabberd
.include "../../mk/bsd.prefs.mk"
.include "options.mk"
EJABBERD_USER?= ejabberd
EJABBERD_GROUP?= ejabberd
EJABBERD_PIDDIR?= ${VARBASE}/run/ejabberd
EJABBERD_LOGDIR?= ${VARBASE}/log/ejabberd
EJABBERD_DB?= ${VARBASE}/spool/ejabberd
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+= EJABBERD_USER=${EJABBERD_USER}
FILES_SUBST+= EJABBERD_GROUP=${EJABBERD_GROUP}
FILES_SUBST+= EJABBERD_DB=${EJABBERD_DB}
PKG_GROUPS+= ${EJABBERD_GROUP}
PKG_USERS+= ${EJABBERD_USER}:${EJABBERD_GROUP}
PKG_GECOS.${EJABBERD_USER}= ejabberd user
PKG_HOME.${EJABBERD_USER}= ${EJABBERD_DB}
PKG_SHELL.${EJABBERD_USER}= ${SH}
EGDIR= share/examples/ejabberd
INSTALLATION_DIRS+= share/doc/${PKGBASE} ${EGDIR} share/bash-completion.d
INSTALLATION_DIRS+= lib/erlang/lib/${DISTNAME}/priv/sql
CONF_FILES_PERMS= ${EGDIR}/ejabberd.yml ${PKG_SYSCONFDIR}/ejabberd.yml \
${ROOT_USER} ${EJABBERD_GROUP} 0640
CONF_FILES_PERMS+= ${EGDIR}/ejabberdctl.cfg ${PKG_SYSCONFDIR}/ejabberdctl.cfg \
${ROOT_USER} ${EJABBERD_GROUP} 0640
CONF_FILES_PERMS+= ${EGDIR}/inetrc ${PKG_SYSCONFDIR}/inetrc \
${ROOT_USER} ${EJABBERD_GROUP} 0640
SPECIAL_PERMS+= sbin/ejabberdctl ${ROOT_USER} ${EJABBERD_GROUP} 0750
REPLACE_BASH= ejabberdctl.template tools/captcha.sh
SUBST_CLASSES+= paths
SUBST_MESSAGE.paths= Localizing paths
SUBST_STAGE.paths= pre-configure
SUBST_FILES.paths= Makefile.in ejabberd.yml.example ejabberdctl.template
SUBST_FILES.paths+= tools/ejabberdctl.bc
SUBST_VARS.paths= DISTNAME EJABBERD_DB EJABBERD_LOGDIR EJABBERD_PIDDIR
SUBST_VARS.paths+= PKG_SYSCONFDIR PREFIX
post-extract:
cd ${WRKSRC} && ${MKDIR} deps && ${TOUCH} deps/.got deps/.built
post-install:
${INSTALL_DATA} ${WRKSRC}/tools/ejabberdctl.bc \
${DESTDIR}${PREFIX}/share/bash-completion.d/ejabberd
cd ${WRKSRC}/sql && ${INSTALL_DATA} *.sql \
${DESTDIR}${PREFIX}/lib/erlang/lib/${DISTNAME}/priv/sql
.include "../../lang/erlang/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"