Download raw body.
net/ejabberd: new port (version 24.10)
On Tue, 12 Nov 2024 16:16:26 +0100,
Kirill A. Korinsky <kirill@korins.ky> wrote:
>
> On Sat, 09 Nov 2024 12:54:08 +0100,
> Kirill A. Korinsky <kirill@korins.ky> wrote:
> >
> > ports@,
> >
> > I'd like to import net/ejabberd back into the ports and take care of it.
> >
> > To import it, I need to add small hacks inside lang/erlang/erlang.port.mk to
> > overstep the extreme fragile behavior of rebar on offline builds.
> >
> > I'd like to import net/ejabberd back to the ports and take care of it.
> >
> > To import it I need to add small hacks inside lang/erlang/erlang.port.mk to
> > overstep extream fragiel behaviour of rebar on offline builds.
> >
> > As part of my testing I've rebuild and check that it doesn't change PLIST:
> > - lang/lfe
> > - lang/gleam
> > - lang/elixir
> > - devel/rebar3
> > - benchmarks/tsung
> > - net/rabbitmq
> > or all ports which depends on erlang.port.mk.
> >
>
> Here a bit polished ports:
> - better rc script which handle reload
> - moved ejabberd data into /var/db/ejabberd
> - some very minor tweaks.
>
After some using of this port I had realized that support of sqlite should
be enabled for archive of messages, for example.
So, here an updated tgz with inlined required patches:
Index: infrastructure/db/user.list
===================================================================
RCS file: /home/cvs/ports/infrastructure/db/user.list,v
diff -u -p -r1.452 user.list
--- infrastructure/db/user.list 8 Nov 2024 16:05:20 -0000 1.452
+++ infrastructure/db/user.list 8 Nov 2024 17:55:30 -0000
@@ -102,7 +102,7 @@ id user group port
591 _bacula _bacula sysutils/bacula
592 _imapproxy _imapproxy mail/imapproxy
#593 _nginx _nginx www/nginx
-#594 _ejabberd _ejabberd net/ejabberd
+594 _ejabberd _ejabberd net/ejabberd
595 _poppassd _poppassd sysutils/openpoppassd
#596 _heartbeat _heartbeat sysutils/heartbeat
597 _spotifyd _spotifyd audio/spotifyd
Index: lang/erlang/erlang.port.mk
===================================================================
RCS file: /home/cvs/ports/lang/erlang/erlang.port.mk,v
diff -u -p -r1.41 erlang.port.mk
--- lang/erlang/erlang.port.mk 28 May 2024 19:53:48 -0000 1.41
+++ lang/erlang/erlang.port.mk 12 Nov 2024 22:50:10 -0000
@@ -72,7 +72,12 @@ _MODERL_FLAVOR ?= ${_MODERL_DEFAULT_FLAV
CONFIGURE_STYLE = rebar3
.endif
+MODERL_USE_REBAR3 ?= No
.if ${CONFIGURE_STYLE} == "rebar3"
+MODERL_USE_REBAR3 = Yes
+.endif
+
+.if ${MODERL_USE_REBAR3:L} == yes
MODERL_BUILD_DEPENDS += devel/rebar3,${_MODERL_FLAVOR}
REBAR_BIN ?= ${LOCALBASE}/bin/rebar3-${MODERL_VERSION}
# Make sure rebar gets called as 'rebar3', otherwise escript tries to call the
@@ -125,6 +130,7 @@ MODERL_LIBROOT ?= lib/erlang${MODERL_VER
ERL_LIBDIR ?= ${ERL_LIBROOT}/${DISTNAME}
# Common program shortcuts
+MODERL_EPMD = ${LOCALBASE}/bin/epmd${MODERL_VERSION}
MODERL_ERL = ${LOCALBASE}/bin/erl${MODERL_VERSION}
MODERL_ERLC = ${LOCALBASE}/bin/erlc${MODERL_VERSION}
@@ -172,20 +178,42 @@ SITE_HEX = https://repo.hex.pm/tarballs
SITES.erl ?= ${SITE_HEX}
MODERL_DIST_SUBDIR ?= hex_modules
+. for _m _v in ${MODERL_PLUGINS}
+MODERL_DISTFILES += ${MODERL_DIST_SUBDIR}/{}${_m}-${_v}.tar
+. endfor
+
+. if ! empty(MODERL_PLUGINS)
+. for _m _v in ${MODERL_PLUGINS}
+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};
+. endfor
+MODERLANG_post-extract += ${MODERL_SETUP_WORKSPACE_PLUGINS}
+. endif
+
. for _m _v in ${MODERL_MODULES}
MODERL_DISTFILES += ${MODERL_DIST_SUBDIR}/{}${_m}-${_v}.tar
. endfor
. if ! empty(MODERL_MODULES)
. for _m _v in ${MODERL_MODULES}
+MODERL_MODULE_${_n}_VERSION = ${_v}
+SUBST_VARS += MODERL_MODULE_${_n}_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}; \
- cp -r ${WRKSRC}/_checkouts/${_m} ${WRKSRC}/_build/default/lib/;
+ 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;
. endfor
MODERLANG_post-extract += ${MODERL_SETUP_WORKSPACE}
+MODERLANG_pre-fake += ${MODERL_COPY_EBINS}
. endif
. if defined(MODERL_DISTFILES)
--
wbr, Kirill
net/ejabberd: new port (version 24.10)