Index | Thread | Search

From:
Volker Schlecht <openbsd-ports@schlecht.dev>
Subject:
Re: net/ejabberd: update to 26.01 with erlang.port.mk workaround
To:
ports@openbsd.org, "Kirill A. Korinsky" <kirill@korins.ky>
Date:
Sun, 1 Feb 2026 15:41:19 +0100

Download raw body.

Thread
ok for erlang.port.mk - and no objections on ejabberd: I don't run it,
so I can't really test anything beyond the build.

On 1/31/26 6:36 PM, Kirill A. Korinsky wrote:
> ports@,
> 
> here a diff which updated net/ejabberd to 26.01.
> 
> Tested on my cluster, no regression.
> 
> But, unfortently, ejabberd requires forgotten to publish version of erlydtl
> into hex.pm which turns to small workaround inside erlang.port.mk
> 
> Ok?
> 
> 
> Index: lang/erlang/erlang.port.mk
> ===================================================================
> RCS file: /home/cvs/ports/lang/erlang/erlang.port.mk,v
> diff -u -p -r1.46 erlang.port.mk
> --- lang/erlang/erlang.port.mk	17 Jun 2025 18:52:09 -0000	1.46
> +++ lang/erlang/erlang.port.mk	31 Jan 2026 15:11:48 -0000
> @@ -179,35 +179,43 @@ SITES.erl ?= 		${SITE_HEX}
>   MODERL_DIST_SUBDIR ?=	hex_modules
>   
>   .  for _m _v in ${MODERL_PLUGINS}
> +.    if "${_v}" != "_none"
>   MODERL_DISTFILES += ${MODERL_DIST_SUBDIR}/{}${_m}-${_v}.tar
> +.    endif
>   .  endfor
>   
>   .  if ! empty(MODERL_PLUGINS)
>   .    for _m _v in ${MODERL_PLUGINS}
> +.      if "${_v}" != "_none"
>   MODERL_SETUP_WORKSPACE_PLUGINS += mkdir -p ${WRKDIR}/${MODERL_DIST_SUBDIR}/${_m}; \
>   		tar xf ${FULLDISTDIR}/${MODERL_DIST_SUBDIR}/${_m}-${_v}.tar -C ${WRKDIR}/${MODERL_DIST_SUBDIR}/${_m}; \
>   		mkdir -p ${WRKSRC}/_checkouts/${_m}; \
>   		mkdir -p ${WRKSRC}/_build/default/plugins; \
> -		tar xzf ${WRKDIR}/${MODERL_DIST_SUBDIR}/${_m}/contents.tar.gz -C ${WRKSRC}/_checkouts/${_m}; \
> -		ln -fs ${WRKSRC}/_checkouts/${_m} ${WRKSRC}/_build/default/plugins/${_m};
> +		tar xzf ${WRKDIR}/${MODERL_DIST_SUBDIR}/${_m}/contents.tar.gz -C ${WRKSRC}/_checkouts/${_m};
> +.      endif
> +MODERL_SETUP_WORKSPACE_PLUGINS += ln -fs ${WRKSRC}/_checkouts/${_m} ${WRKSRC}/_build/default/plugins/${_m};
>   .    endfor
>   MODERLANG_post-extract += ${MODERL_SETUP_WORKSPACE_PLUGINS}
>   .  endif
>   
>   .  for _m _v in ${MODERL_MODULES}
> +.    if "${_v}" != "_none"
>   MODERL_DISTFILES += ${MODERL_DIST_SUBDIR}/{}${_m}-${_v}.tar
> +.    endif
>   .  endfor
>   
>   .  if ! empty(MODERL_MODULES)
>   .    for _m _v in ${MODERL_MODULES}
> +.      if "${_v}" != "_none"
>   MODERL_MODULE_${_m}_VERSION = ${_v}
>   SUBST_VARS += MODERL_MODULE_${_m}_VERSION
>   MODERL_SETUP_WORKSPACE += mkdir -p ${WRKDIR}/${MODERL_DIST_SUBDIR}/${_m}; \
>   		tar xf ${FULLDISTDIR}/${MODERL_DIST_SUBDIR}/${_m}-${_v}.tar -C ${WRKDIR}/${MODERL_DIST_SUBDIR}/${_m}; \
>   		mkdir -p ${WRKSRC}/_checkouts/${_m}; \
>   		mkdir -p ${WRKSRC}/_build/default/lib; \
> -		tar xzf ${WRKDIR}/${MODERL_DIST_SUBDIR}/${_m}/contents.tar.gz -C ${WRKSRC}/_checkouts/${_m}; \
> -		ln -fs ${WRKSRC}/_checkouts/${_m} ${WRKSRC}/_build/default/lib/${_m};
> +		tar xzf ${WRKDIR}/${MODERL_DIST_SUBDIR}/${_m}/contents.tar.gz -C ${WRKSRC}/_checkouts/${_m};
> +.      endif
> +MODERL_SETUP_WORKSPACE += ln -fs ${WRKSRC}/_checkouts/${_m} ${WRKSRC}/_build/default/lib/${_m};
>   MODERL_COPY_EBINS += if [ -d ${WRKSRC}/_build/default/checkouts/${_m}/ebin ]; then \
>   		cp -r ${WRKSRC}/_build/default/checkouts/${_m}/ebin \
>   			${WRKSRC}/_build/default/lib/${_m}/ebin; fi;
> Index: net/ejabberd/Makefile
> ===================================================================
> RCS file: /home/cvs/ports/net/ejabberd/Makefile,v
> diff -u -p -r1.62 Makefile
> --- net/ejabberd/Makefile	30 Oct 2025 16:12:45 -0000	1.62
> +++ net/ejabberd/Makefile	31 Jan 2026 15:37:27 -0000
> @@ -1,6 +1,6 @@
>   COMMENT =		robust, ubiquitous and massively scalable messaging platform
>   
> -V =			25.10
> +V =			26.01
>   DIST_TUPLE +=		github processone ejabberd ${V} .
>   
>   CATEGORIES =		net
> @@ -9,6 +9,11 @@ HOMEPAGE =		https://www.process-one.net/
>   
>   MAINTAINER =		Kirill A. Korinsky <kirill@korins.ky>
>   
> +# Work around for https://github.com/erlydtl/erlydtl/issues/285
> +DIST_TUPLE += github erlydtl erlydtl 0.15.0 ./_checkouts/erlydtl
> +MODERL_MODULE_erlydtl_VERSION = 0.14.0
> +SUBST_VARS += MODERL_MODULE_erlydtl_VERSION
> +
>   # Apache2:
>   #   cache_tab, eimp, fast_xml, fast_yml, mqtree, p1_acme, p1_utils,
>   #   pkix, stringprep, stun, xmpp, yconf, unicode_util_compat, esip, ezlib
> @@ -17,7 +22,7 @@ MAINTAINER =		Kirill A. Korinsky <kirill
>   # GPLv2+:
>   #   eJabberd
>   # MIT:
> -#   base64url, p1_oauth2, jiffy, idna, jose
> +#   base64url, erlydtl, p1_oauth2, jiffy, idna, jose
>   # Erlang 1.1:
>   #   sqlite3
>   PERMIT_PACKAGE = 	Yes
> @@ -91,3 +96,4 @@ post-install:
>   .include "modules.inc"
>   
>   .include <bsd.port.mk>
> +
> Index: net/ejabberd/distinfo
> ===================================================================
> RCS file: /home/cvs/ports/net/ejabberd/distinfo,v
> diff -u -p -r1.21 distinfo
> --- net/ejabberd/distinfo	30 Oct 2025 16:12:45 -0000	1.21
> +++ net/ejabberd/distinfo	31 Jan 2026 15:13:18 -0000
> @@ -1,3 +1,4 @@
> +SHA256 (erlydtl-erlydtl-0.15.0.tar.gz) = CJ7/ognGmsoTeS5gZBcNRWTVKOzsGHrVnG/g8YpoL4U=
>   SHA256 (hex_modules/base64url-1.0.1.tar) = +bOt1HMaAqmwQQOYtHWzPnVmppU2Ujemve4btEdxn1w=
>   SHA256 (hex_modules/cache_tab-1.0.33.tar) = QlgAnrBQsiqr4MhI4jC7pYQBpolcWML/dN+2NePDWQA=
>   SHA256 (hex_modules/eimp-1.0.26.tar) = 2W1OhXK538QPJx5H8MsdiEk3O8mKISIyaHgXZe1SBEw=
> @@ -12,13 +13,13 @@ SHA256 (hex_modules/getopt-1.0.1.tar) =
>   SHA256 (hex_modules/hex_core-0.10.1.tar) = /TkVLTQrf9TOP4A6x/CEtg0byb8T5wfjXb3OJm+7ZfA=
>   SHA256 (hex_modules/idna-6.1.1.tar) = kjdut4lEEu0ZrEdeSob3tBPBufu1vRbczVeTQVeUTOo=
>   SHA256 (hex_modules/jiffy-1.1.2.tar) = u2G8Qqcgu9M8sJpBDki7eaYQEsdMuLPnXybZiEhc84E=
> -SHA256 (hex_modules/jose-1.11.10.tar) = DWzTb/i6F02ykUj8EStYQhhraKkM6fwrPsOv52WT5hQ=
> +SHA256 (hex_modules/jose-1.11.12.tar) = MekrZT6SELaWdlzdiFQ3RX3hrdKpAR2S+M9j5GQbq3s=
>   SHA256 (hex_modules/luerl-1.2.3.tar) = G0udDKXX0oDR0nh6al7p9aISZBtiv/kVVrqlOAXfOu0=
>   SHA256 (hex_modules/mqtree-1.0.19.tar) = yBBlcVxJoYgoEvgKWuLYQugN0/LRMFMN81mQJIv4zjw=
> -SHA256 (hex_modules/p1_acme-1.0.29.tar) = CP049/vi3CiiN6obOLMGtzRVaVzIiBo93WoRt8Ufe8c=
> -SHA256 (hex_modules/p1_mysql-1.0.26.tar) = 6hOAg/LFRxm5z1Sdv1gCooiwAZ6j5USbNUx0zAP6/ew=
> +SHA256 (hex_modules/p1_acme-1.0.30.tar) = KTXiCRa4BtOxFmlTpNkKaQ/YB4EJYUD+XKH2XVnr1oo=
> +SHA256 (hex_modules/p1_mysql-1.0.27.tar) = BmBR8kACenZzJUfmnZagl05w3BTe2UU77yYyIYQe2ps=
>   SHA256 (hex_modules/p1_oauth2-0.6.14.tar) = H9OsR05Dci2dWofG34029pjth697uBy7tmNhRR2Zro8=
> -SHA256 (hex_modules/p1_pgsql-1.1.36.tar) = gryouJXIT0YA641gmjLLX91yp/W9k437KReeCMZD/Qk=
> +SHA256 (hex_modules/p1_pgsql-1.1.38.tar) = Bs9kQwCBeOujh7ou6STTYgBBuuTaGyyWloAoSgXMdZ4=
>   SHA256 (hex_modules/p1_utils-1.0.28.tar) = xJvUS8SkCtmWaRr4Jt1+CqVtTQzXMIFxkKH4TRp/ADM=
>   SHA256 (hex_modules/pc-1.15.0.tar) = TA+tT2Q3yuNT1RfaIY/ng0e4/6RLmBeIdJTKquVFlbM=
>   SHA256 (hex_modules/pkix-1.0.10.tar) = 4CFk+DCUyxJMQbGrKJiKYV1Uua3DhXXwDxmll6OsXQ4=
> @@ -31,9 +32,10 @@ SHA256 (hex_modules/stringprep-1.0.33.ta
>   SHA256 (hex_modules/stun-1.2.21.tar) = PX/o77nQWyQKaqmmv4uLe/8tgCiV0XBEPFiJh9weEtk=
>   SHA256 (hex_modules/unicode_util_compat-0.7.1.tar) = s6kXhUzjriM2GXRK0eAQLgVnMTZ3b7L6diNPPgOyNkI=
>   SHA256 (hex_modules/verl-1.1.1.tar) = CSXlHNkqCovicXZbAkMLLiz/isMO8k0SO9DVhRHo+xg=
> -SHA256 (hex_modules/xmpp-1.11.2.tar) = u2gWROFePvwACKs6cXlE1nz2EaS340Q4KqY2dEe9UtI=
> +SHA256 (hex_modules/xmpp-1.12.0.tar) = AUuuc2WfuiVncesAe8U0hhiscn3R0QuasVqf74cWIsg=
>   SHA256 (hex_modules/yconf-1.0.22.tar) = rKg0V86r5wdWSEtch7p7GVX1EdSZFoaH6uqnwwDoV/E=
> -SHA256 (processone-ejabberd-25.10.tar.gz) = 9na3Hn2/FDKRcovAJHZzr7JW51kX2olSB5XAHfEVRZg=
> +SHA256 (processone-ejabberd-26.01.tar.gz) = zNuO/J6ak9VHhI343xDH1JUxh+hAmiDjiaD7NaTXF2w=
> +SIZE (erlydtl-erlydtl-0.15.0.tar.gz) = 120544
>   SIZE (hex_modules/base64url-1.0.1.tar) = 7168
>   SIZE (hex_modules/cache_tab-1.0.33.tar) = 23552
>   SIZE (hex_modules/eimp-1.0.26.tar) = 59904
> @@ -48,13 +50,13 @@ SIZE (hex_modules/getopt-1.0.1.tar) = 19
>   SIZE (hex_modules/hex_core-0.10.1.tar) = 83968
>   SIZE (hex_modules/idna-6.1.1.tar) = 183808
>   SIZE (hex_modules/jiffy-1.1.2.tar) = 1684992
> -SIZE (hex_modules/jose-1.11.10.tar) = 193024
> +SIZE (hex_modules/jose-1.11.12.tar) = 194048
>   SIZE (hex_modules/luerl-1.2.3.tar) = 252416
>   SIZE (hex_modules/mqtree-1.0.19.tar) = 29696
> -SIZE (hex_modules/p1_acme-1.0.29.tar) = 26112
> -SIZE (hex_modules/p1_mysql-1.0.26.tar) = 29696
> +SIZE (hex_modules/p1_acme-1.0.30.tar) = 26112
> +SIZE (hex_modules/p1_mysql-1.0.27.tar) = 29696
>   SIZE (hex_modules/p1_oauth2-0.6.14.tar) = 18432
> -SIZE (hex_modules/p1_pgsql-1.1.36.tar) = 24576
> +SIZE (hex_modules/p1_pgsql-1.1.38.tar) = 24576
>   SIZE (hex_modules/p1_utils-1.0.28.tar) = 45056
>   SIZE (hex_modules/pc-1.15.0.tar) = 18944
>   SIZE (hex_modules/pkix-1.0.10.tar) = 147968
> @@ -67,6 +69,6 @@ SIZE (hex_modules/stringprep-1.0.33.tar)
>   SIZE (hex_modules/stun-1.2.21.tar) = 43008
>   SIZE (hex_modules/unicode_util_compat-0.7.1.tar) = 104960
>   SIZE (hex_modules/verl-1.1.1.tar) = 15360
> -SIZE (hex_modules/xmpp-1.11.2.tar) = 387584
> +SIZE (hex_modules/xmpp-1.12.0.tar) = 389120
>   SIZE (hex_modules/yconf-1.0.22.tar) = 22016
> -SIZE (processone-ejabberd-25.10.tar.gz) = 2701783
> +SIZE (processone-ejabberd-26.01.tar.gz) = 2908713
> Index: net/ejabberd/modules.inc
> ===================================================================
> RCS file: /home/cvs/ports/net/ejabberd/modules.inc,v
> diff -u -p -r1.7 modules.inc
> --- net/ejabberd/modules.inc	30 Oct 2025 16:12:45 -0000	1.7
> +++ net/ejabberd/modules.inc	31 Jan 2026 15:13:00 -0000
> @@ -8,10 +8,11 @@ MODERL_PLUGINS =	provider_asn1		0.4.1 \
>   			hex_core		0.10.1
>   
>   MODERL_MODULES =	base64url		1.0.1 \
> -			cache_tab		1.0.33 \
> +	       		cache_tab		1.0.33 \
>   			eimp			1.0.26 \
>   			epam			1.0.14 \
>   			eredis			1.7.1 \
> +			erlydtl			_none \
>   			esip			1.0.59 \
>   			ezlib			1.0.15 \
>   			fast_tls		1.1.25 \
> @@ -19,18 +20,18 @@ MODERL_MODULES =	base64url		1.0.1 \
>   			fast_yaml		1.0.39 \
>   			idna			6.1.1 \
>   			jiffy			1.1.2 \
> -			jose			1.11.10 \
> +			jose			1.11.12 \
>   			luerl			1.2.3 \
>   			mqtree			1.0.19 \
> -			p1_acme			1.0.29 \
> -			p1_mysql		1.0.26 \
> +			p1_acme			1.0.30 \
> +			p1_mysql		1.0.27 \
>   			p1_oauth2		0.6.14 \
> -			p1_pgsql		1.1.36 \
> +			p1_pgsql		1.1.38 \
>   			p1_utils		1.0.28 \
>   			pkix			1.0.10 \
>   			sqlite3			1.1.15 \
>   			stringprep		1.0.33 \
>   			stun			1.2.21 \
>   			unicode_util_compat	0.7.1 \
> -			xmpp			1.11.2 \
> +			xmpp			1.12.0 \
>   			yconf			1.0.22
> Index: net/ejabberd/patches/patch-ejabberdctl_cfg_example
> ===================================================================
> RCS file: /home/cvs/ports/net/ejabberd/patches/patch-ejabberdctl_cfg_example,v
> diff -u -p -r1.1 patch-ejabberdctl_cfg_example
> --- net/ejabberd/patches/patch-ejabberdctl_cfg_example	15 Dec 2024 22:27:18 -0000	1.1
> +++ net/ejabberd/patches/patch-ejabberdctl_cfg_example	31 Jan 2026 14:43:11 -0000
> @@ -3,7 +3,7 @@ Do not use epmd out of the box to preven
>   Index: ejabberdctl.cfg.example
>   --- ejabberdctl.cfg.example.orig
>   +++ ejabberdctl.cfg.example
> -@@ -62,7 +62,7 @@
> +@@ -50,7 +50,7 @@
>    #
>    # Default: not defined
>    #
> @@ -11,4 +11,4 @@ Index: ejabberdctl.cfg.example
>   +ERL_DIST_PORT=5210
>    
>    #.
> - #' ERL_EPMD_ADDRESS: IP addresses where EPMD listens for connections
> + #' FIREWALL_WINDOW: Range of allowed ports to pass through a firewall
> Index: net/ejabberd/patches/patch-ejabberdctl_template
> ===================================================================
> RCS file: net/ejabberd/patches/patch-ejabberdctl_template
> diff -N net/ejabberd/patches/patch-ejabberdctl_template
> --- net/ejabberd/patches/patch-ejabberdctl_template	30 Oct 2025 16:12:45 -0000	1.4
> +++ /dev/null	1 Jan 1970 00:00:00 -0000
> @@ -1,16 +0,0 @@
> -OpenBSD su treats -c before username as class, and doesn't require --
> -
> -See: https://github.com/processone/ejabberd/pull/4320
> -
> -Index: ejabberdctl.template
> ---- ejabberdctl.template.orig
> -+++ ejabberdctl.template
> -@@ -133,7 +133,7 @@ set_dist_client()
> - exec_cmd()
> - {
> -     case $EXEC_CMD in
> --        as_install_user) su -s /bin/sh -c 'exec "$0" "$@"' "$INSTALLUSER" -- "$@" ;;
> -+        as_install_user) su -s /bin/sh "$INSTALLUSER" -c 'exec "$0" "$@"' "$@" ;;
> -         as_current_user) "$@" ;;
> -     esac
> - }
> Index: net/ejabberd/pkg/PLIST
> ===================================================================
> RCS file: /home/cvs/ports/net/ejabberd/pkg/PLIST,v
> diff -u -p -r1.25 PLIST
> --- net/ejabberd/pkg/PLIST	30 Oct 2025 16:12:45 -0000	1.25
> +++ net/ejabberd/pkg/PLIST	31 Jan 2026 15:37:39 -0000
> @@ -62,6 +62,7 @@ lib/ejabberd/ejabberd-${V}/ebin/ejabberd
>   lib/ejabberd/ejabberd-${V}/ebin/ejabberd_config.beam
>   lib/ejabberd/ejabberd-${V}/ebin/ejabberd_config_transformer.beam
>   lib/ejabberd/ejabberd-${V}/ebin/ejabberd_ctl.beam
> +lib/ejabberd/ejabberd-${V}/ebin/ejabberd_db_serialize.beam
>   lib/ejabberd/ejabberd-${V}/ebin/ejabberd_db_sup.beam
>   lib/ejabberd/ejabberd-${V}/ebin/ejabberd_doc.beam
>   lib/ejabberd/ejabberd-${V}/ebin/ejabberd_hooks.beam
> @@ -121,7 +122,6 @@ lib/ejabberd/ejabberd-${V}/ebin/eldap_fi
>   lib/ejabberd/ejabberd-${V}/ebin/eldap_filter_yecc.beam
>   lib/ejabberd/ejabberd-${V}/ebin/eldap_pool.beam
>   lib/ejabberd/ejabberd-${V}/ebin/eldap_utils.beam
> -lib/ejabberd/ejabberd-${V}/ebin/elixir_logger_backend.beam
>   lib/ejabberd/ejabberd-${V}/ebin/ext_mod.beam
>   lib/ejabberd/ejabberd-${V}/ebin/extauth.beam
>   lib/ejabberd/ejabberd-${V}/ebin/extauth_sup.beam
> @@ -187,6 +187,13 @@ lib/ejabberd/ejabberd-${V}/ebin/mod_http
>   lib/ejabberd/ejabberd-${V}/ebin/mod_http_upload_opt.beam
>   lib/ejabberd/ejabberd-${V}/ebin/mod_http_upload_quota.beam
>   lib/ejabberd/ejabberd-${V}/ebin/mod_http_upload_quota_opt.beam
> +lib/ejabberd/ejabberd-${V}/ebin/mod_invites.beam
> +lib/ejabberd/ejabberd-${V}/ebin/mod_invites_http.beam
> +lib/ejabberd/ejabberd-${V}/ebin/mod_invites_http_erlylib.beam
> +lib/ejabberd/ejabberd-${V}/ebin/mod_invites_mnesia.beam
> +lib/ejabberd/ejabberd-${V}/ebin/mod_invites_opt.beam
> +lib/ejabberd/ejabberd-${V}/ebin/mod_invites_register.beam
> +lib/ejabberd/ejabberd-${V}/ebin/mod_invites_sql.beam
>   lib/ejabberd/ejabberd-${V}/ebin/mod_jidprep.beam
>   lib/ejabberd/ejabberd-${V}/ebin/mod_jidprep_opt.beam
>   lib/ejabberd/ejabberd-${V}/ebin/mod_last.beam
> @@ -345,6 +352,7 @@ lib/ejabberd/ejabberd-${V}/include/bosh.
>   lib/ejabberd/ejabberd-${V}/include/ejabberd_auth.hrl
>   lib/ejabberd/ejabberd-${V}/include/ejabberd_commands.hrl
>   lib/ejabberd/ejabberd-${V}/include/ejabberd_ctl.hrl
> +lib/ejabberd/ejabberd-${V}/include/ejabberd_db_serialize.hrl
>   lib/ejabberd/ejabberd-${V}/include/ejabberd_http.hrl
>   lib/ejabberd/ejabberd-${V}/include/ejabberd_oauth.hrl
>   lib/ejabberd/ejabberd-${V}/include/ejabberd_router.hrl
> @@ -358,6 +366,7 @@ lib/ejabberd/ejabberd-${V}/include/logge
>   lib/ejabberd/ejabberd-${V}/include/mod_announce.hrl
>   lib/ejabberd/ejabberd-${V}/include/mod_antispam.hrl
>   lib/ejabberd/ejabberd-${V}/include/mod_caps.hrl
> +lib/ejabberd/ejabberd-${V}/include/mod_invites.hrl
>   lib/ejabberd/ejabberd-${V}/include/mod_last.hrl
>   lib/ejabberd/ejabberd-${V}/include/mod_mam.hrl
>   lib/ejabberd/ejabberd-${V}/include/mod_matrix_gw.hrl
> @@ -447,6 +456,31 @@ lib/ejabberd/eredis-${MODERL_MODULE_ered
>   lib/ejabberd/eredis-${MODERL_MODULE_eredis_VERSION}/include/
>   lib/ejabberd/eredis-${MODERL_MODULE_eredis_VERSION}/include/eredis.hrl
>   lib/ejabberd/eredis-${MODERL_MODULE_eredis_VERSION}/include/eredis_sub.hrl
> +lib/ejabberd/erlydtl-${MODERL_MODULE_erlydtl_VERSION}/
> +lib/ejabberd/erlydtl-${MODERL_MODULE_erlydtl_VERSION}/ebin/
> +lib/ejabberd/erlydtl-${MODERL_MODULE_erlydtl_VERSION}/ebin/erlydtl.app
> +lib/ejabberd/erlydtl-${MODERL_MODULE_erlydtl_VERSION}/ebin/erlydtl.beam
> +lib/ejabberd/erlydtl-${MODERL_MODULE_erlydtl_VERSION}/ebin/erlydtl_beam_compiler.beam
> +lib/ejabberd/erlydtl-${MODERL_MODULE_erlydtl_VERSION}/ebin/erlydtl_compiler.beam
> +lib/ejabberd/erlydtl-${MODERL_MODULE_erlydtl_VERSION}/ebin/erlydtl_compiler_utils.beam
> +lib/ejabberd/erlydtl-${MODERL_MODULE_erlydtl_VERSION}/ebin/erlydtl_contrib_humanize.beam
> +lib/ejabberd/erlydtl-${MODERL_MODULE_erlydtl_VERSION}/ebin/erlydtl_dateformat.beam
> +lib/ejabberd/erlydtl-${MODERL_MODULE_erlydtl_VERSION}/ebin/erlydtl_deps.beam
> +lib/ejabberd/erlydtl-${MODERL_MODULE_erlydtl_VERSION}/ebin/erlydtl_filters.beam
> +lib/ejabberd/erlydtl-${MODERL_MODULE_erlydtl_VERSION}/ebin/erlydtl_library.beam
> +lib/ejabberd/erlydtl-${MODERL_MODULE_erlydtl_VERSION}/ebin/erlydtl_parser.beam
> +lib/ejabberd/erlydtl-${MODERL_MODULE_erlydtl_VERSION}/ebin/erlydtl_runtime.beam
> +lib/ejabberd/erlydtl-${MODERL_MODULE_erlydtl_VERSION}/ebin/erlydtl_scanner.beam
> +lib/ejabberd/erlydtl-${MODERL_MODULE_erlydtl_VERSION}/ebin/erlydtl_slice.beam
> +lib/ejabberd/erlydtl-${MODERL_MODULE_erlydtl_VERSION}/ebin/erlydtl_time_compat.beam
> +lib/ejabberd/erlydtl-${MODERL_MODULE_erlydtl_VERSION}/ebin/erlydtl_unparser.beam
> +lib/ejabberd/erlydtl-${MODERL_MODULE_erlydtl_VERSION}/ebin/i18n_manager.beam
> +lib/ejabberd/erlydtl-${MODERL_MODULE_erlydtl_VERSION}/ebin/po_generator.beam
> +lib/ejabberd/erlydtl-${MODERL_MODULE_erlydtl_VERSION}/ebin/po_scanner.beam
> +lib/ejabberd/erlydtl-${MODERL_MODULE_erlydtl_VERSION}/ebin/sources_parser.beam
> +lib/ejabberd/erlydtl-${MODERL_MODULE_erlydtl_VERSION}/include/
> +lib/ejabberd/erlydtl-${MODERL_MODULE_erlydtl_VERSION}/include/erlydtl_ext.hrl
> +lib/ejabberd/erlydtl-${MODERL_MODULE_erlydtl_VERSION}/include/erlydtl_preparser.hrl
>   lib/ejabberd/esip-${MODERL_MODULE_esip_VERSION}/
>   lib/ejabberd/esip-${MODERL_MODULE_esip_VERSION}/ebin/
>   lib/ejabberd/esip-${MODERL_MODULE_esip_VERSION}/ebin/esip.app
> @@ -563,6 +597,7 @@ lib/ejabberd/jose-${MODERL_MODULE_jose_V
>   lib/ejabberd/jose-${MODERL_MODULE_jose_VERSION}/ebin/jose_json_jsone.beam
>   lib/ejabberd/jose-${MODERL_MODULE_jose_VERSION}/ebin/jose_json_jsx.beam
>   lib/ejabberd/jose-${MODERL_MODULE_jose_VERSION}/ebin/jose_json_ojson.beam
> +lib/ejabberd/jose-${MODERL_MODULE_jose_VERSION}/ebin/jose_json_otp.beam
>   lib/ejabberd/jose-${MODERL_MODULE_jose_VERSION}/ebin/jose_json_poison.beam
>   lib/ejabberd/jose-${MODERL_MODULE_jose_VERSION}/ebin/jose_json_poison_compat_encoder.beam
>   lib/ejabberd/jose-${MODERL_MODULE_jose_VERSION}/ebin/jose_json_poison_lexical_encoder.beam
> @@ -863,6 +898,7 @@ lib/ejabberd/xmpp-${MODERL_MODULE_xmpp_V
>   lib/ejabberd/xmpp-${MODERL_MODULE_xmpp_VERSION}/ebin/xep0363.beam
>   lib/ejabberd/xmpp-${MODERL_MODULE_xmpp_VERSION}/ebin/xep0369.beam
>   lib/ejabberd/xmpp-${MODERL_MODULE_xmpp_VERSION}/ebin/xep0377.beam
> +lib/ejabberd/xmpp-${MODERL_MODULE_xmpp_VERSION}/ebin/xep0379.beam
>   lib/ejabberd/xmpp-${MODERL_MODULE_xmpp_VERSION}/ebin/xep0386.beam
>   lib/ejabberd/xmpp-${MODERL_MODULE_xmpp_VERSION}/ebin/xep0388.beam
>   lib/ejabberd/xmpp-${MODERL_MODULE_xmpp_VERSION}/ebin/xep0402.beam
> @@ -875,6 +911,7 @@ lib/ejabberd/xmpp-${MODERL_MODULE_xmpp_V
>   lib/ejabberd/xmpp-${MODERL_MODULE_xmpp_VERSION}/ebin/xep0425.beam
>   lib/ejabberd/xmpp-${MODERL_MODULE_xmpp_VERSION}/ebin/xep0430.beam
>   lib/ejabberd/xmpp-${MODERL_MODULE_xmpp_VERSION}/ebin/xep0440.beam
> +lib/ejabberd/xmpp-${MODERL_MODULE_xmpp_VERSION}/ebin/xep0445.beam
>   lib/ejabberd/xmpp-${MODERL_MODULE_xmpp_VERSION}/ebin/xep0480.beam
>   lib/ejabberd/xmpp-${MODERL_MODULE_xmpp_VERSION}/ebin/xep0484.beam
>   lib/ejabberd/xmpp-${MODERL_MODULE_xmpp_VERSION}/ebin/xep0485.beam
> @@ -941,6 +978,7 @@ share/doc/ejabberd/base64url-${MODERL_MO
>   share/doc/ejabberd/cache_tab-${MODERL_MODULE_cache_tab_VERSION}-LICENSE.txt
>   share/doc/ejabberd/eimp-${MODERL_MODULE_eimp_VERSION}-LICENSE.txt
>   share/doc/ejabberd/eredis-${MODERL_MODULE_eredis_VERSION}-LICENSE
> +share/doc/ejabberd/erlydtl-${MODERL_MODULE_erlydtl_VERSION}-LICENSE
>   share/doc/ejabberd/esip-${MODERL_MODULE_esip_VERSION}-LICENSE.txt
>   share/doc/ejabberd/ezlib-${MODERL_MODULE_ezlib_VERSION}-LICENSE.txt
>   share/doc/ejabberd/fast_tls-${MODERL_MODULE_fast_tls_VERSION}-LICENSE.txt
> 
>