pkgsrc/chat/ejabberd/Makefile
fhajny 505a9dca83 chat/ejabberd: Update to 18.03.
Admin
- Avoid logging IP addresses in mod_register when it's not desired
- Command 'reload-config' allows to reload certificates
- Get rid of 'fs' package dependency
- Improve log message when module startup has failed
- mod_muc_admin: New command get_room_affiliation
- prosody2ejabberd: Report meaningful error when luerl is not
  available

Configure
- Accept atoms in api_permission command lists and commands with
  numbers in them
- Validate additional listen opts: inet, inet6, backlog
- Remove 'iqdisc' option
- New option –enable-group=xxx
- New option 'negotiation_timeout'
- New option 'new_sql_schema'
- New option 'validate_stream'
- ejabberd_service: New option 'global_routes' for
- mod_avatar: New 'rate_limit' option
- mod_block_strangers: New 'access' option
- mod_block_strangers: New 'captcha' option
- mod_pubsub: New option 'force_node_config'

Miscelanea
- Simplify ejabberd_sup code
- New gen_mod mod_options/1 callback to provide known options and
  defaults
- Replace ?MYLANG with connection's language wherever possible
- sql/*: Add username to peer indexes
- cyrsasl: Simplify code for splitting auth string in cyrsasl
- ejabberd_auth: Cache 'isuser' queries to external auth program
- ejabberd_web_admin: Hardcode required ACL rules
- mod_admin_extra: Command check_password_hash supports all hash
  methods
- mod_admin_extra: Fix srg_get_info command with @all@ and @online@
- mod_avatar: Fulfill all requirements of XEP-0398 v0.2.0
- mod_avatar: Improve validation of 'convert' option
- mod_block_strangers: Bounce groupchat to bare JID
- mod_block_strangers: Fix a typo in call to create_captcha()
- mod_caps: Only store CAPS if contact is subscribed
- mod_carboncopy: Copy outgoing MUC PMs
- mod_mam: Really run use_cache/1 and cache_nodes/1 callbacks
- mod_pubsub: Remove items of unregistered user
- mod_push_keepalive: Preserve timeout on resumption
- mod_shared_roster: Try to fix ejabberd_c2s:process_info: got
  unexpected info
- mod_shared_roster_ldap: Fix processing of ldap_memberattr_format_re
  option
- mod_stream_mgmt: Abort connection on count error
- mod_stream_mgmt: Clean up on timed out resumption
2018-03-28 21:51:09 +00:00

119 lines
4.5 KiB
Makefile

# $NetBSD: Makefile,v 1.83 2018/03/28 21:51:09 fhajny Exp $
DISTNAME= ejabberd-18.03
CATEGORIES= chat
MASTER_SITES= https://www.process-one.net/downloads/ejabberd/${PKGVERSION_NOREV}/
EXTRACT_SUFX= .tgz
MAINTAINER= filip@joyent.com
HOMEPAGE= https://www.ejabberd.im/
COMMENT= Free and Open Source distributed fault-tolerant Jabber server
LICENSE= gnu-gpl-v2
DEPENDS+= erlang-cache_tab>=1.0.13:../../devel/erlang-cache_tab
DEPENDS+= erlang-epam>=1.0.4:../../security/erlang-epam
DEPENDS+= erlang-eredis>=1.0.8.20150910:../../databases/erlang-eredis
DEPENDS+= erlang-eimp>=1.0.3:../../graphics/erlang-eimp
DEPENDS+= erlang-esip>=1.0.22:../../net/erlang-esip
DEPENDS+= erlang-ezlib>=1.0.4:../../devel/erlang-ezlib
DEPENDS+= erlang-fast_tls>=1.0.21:../../security/erlang-fast_tls
DEPENDS+= erlang-fast_xml>=1.1.29:../../textproc/erlang-fast_xml
DEPENDS+= erlang-fast_yaml>=1.0.13:../../textproc/erlang-fast_yaml
DEPENDS+= erlang-iconv>=1.0.7:../../converters/erlang-iconv
DEPENDS+= erlang-jiffy>=0.14.8:../../textproc/erlang-jiffy
DEPENDS+= erlang-jose>=1.8.4:../../security/erlang-jose
DEPENDS+= erlang-lager>=3.4.2.:../../sysutils/erlang-lager
DEPENDS+= erlang-luerl>=0.3:../../lang/erlang-luerl
DEPENDS+= erlang-p1_mysql>=1.0.5:../../databases/erlang-p1_mysql
DEPENDS+= erlang-p1_oauth2>=0.6.2:../../security/erlang-p1_oauth2
DEPENDS+= erlang-p1_pgsql>=1.1.5:../../databases/erlang-p1_pgsql
DEPENDS+= erlang-p1_utils>=1.0.11:../../misc/erlang-p1_utils
DEPENDS+= erlang-stringprep>=1.0.11:../../textproc/erlang-stringprep
DEPENDS+= erlang-stun>=1.0.21:../../net/erlang-stun
DEPENDS+= erlang-xmpp>=1.1.20:../../net/erlang-xmpp
GNU_CONFIGURE= yes
USE_GCC_RUNTIME= yes
USE_TOOLS+= bash:run gmake patch
CONFIGURE_ARGS+= --disable-debug
CONFIGURE_ARGS+= --enable-system-deps
CONFIGURE_ARGS+= --enable-iconv
CONFIGURE_ARGS+= --enable-mysql
CONFIGURE_ARGS+= --enable-odbc
CONFIGURE_ARGS+= --enable-pam
CONFIGURE_ARGS+= --enable-pgsql
CONFIGURE_ARGS+= --enable-redis
CONFIGURE_ARGS+= --enable-sip
CONFIGURE_ARGS+= --enable-stun
CONFIGURE_ARGS+= --enable-zlib
CONFIGURE_ARGS+= --enable-user=${EJABBERD_USER}
CONFIGURE_ARGS+= --enable-group=${EJABBERD_GROUP}
CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFBASEDIR}
MAKE_ENV+= USE_GLOBAL_DEPS=true
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/${DISTNAME}/priv/sql
CONF_FILES_PERMS= ${EGDIR}/ejabberd.yml ${PKG_SYSCONFDIR}/ejabberd.yml \
${REAL_ROOT_USER} ${EJABBERD_GROUP} 0640
CONF_FILES_PERMS+= ${EGDIR}/ejabberdctl.cfg ${PKG_SYSCONFDIR}/ejabberdctl.cfg \
${REAL_ROOT_USER} ${EJABBERD_GROUP} 0640
CONF_FILES_PERMS+= ${EGDIR}/inetrc ${PKG_SYSCONFDIR}/inetrc \
${REAL_ROOT_USER} ${EJABBERD_GROUP} 0640
SPECIAL_PERMS+= sbin/ejabberdctl ${REAL_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 rebar.config
SUBST_VARS.paths= DISTNAME EJABBERD_DB EJABBERD_LOGDIR EJABBERD_PIDDIR
SUBST_VARS.paths+= PKG_SYSCONFDIR PREFIX LOCALBASE
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/${PKGNAME_NOREV}/priv/sql
.include "../../lang/erlang/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"