Re: net/ejabberd: new port (version 24.10)

2024-11-24 Thread Volker Schlecht

lgtm. ok volker@

On 2024-11-19 17:08, Kirill A. Korinsky wrote:

On Sat, 09 Nov 2024 12:54:08 +0100,
Kirill A. Korinsky  wrote:


ports@,

I'd like to import net/ejabberd back into the ports and take care of it.



Here an updated version of net/ejabberd which contains polishing regarding
permission, rc scripts and small thinkgs which I had discovered during
running it for a week on cluster from two machines.

To test it on 7.6, you need erlang.port.mk from -current, or you may use my
package: https://kirill.korins.ky/pub/7.6/amd64/ejabberd-24.10.tgz

Feedback? Ok?

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 -   1.452
+++ infrastructure/db/user.list 8 Nov 2024 17:55:30 -
@@ -102,7 +102,7 @@ id  usergroup   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

--
wbr, Kirill





Re: net/ejabberd: new port (version 24.10)

2024-11-19 Thread Kirill A . Korinsky
On Sat, 09 Nov 2024 12:54:08 +0100,
Kirill A. Korinsky  wrote:
> 
> ports@,
> 
> I'd like to import net/ejabberd back into the ports and take care of it.
>

Here an updated version of net/ejabberd which contains polishing regarding
permission, rc scripts and small thinkgs which I had discovered during
running it for a week on cluster from two machines.

To test it on 7.6, you need erlang.port.mk from -current, or you may use my
package: https://kirill.korins.ky/pub/7.6/amd64/ejabberd-24.10.tgz

Feedback? Ok?

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 -   1.452
+++ infrastructure/db/user.list 8 Nov 2024 17:55:30 -
@@ -102,7 +102,7 @@ id  usergroup   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

-- 
wbr, Kirill


ejabberd.tgz
Description: Binary data


Re: net/ejabberd: new port (version 24.10)

2024-11-19 Thread Kirill A . Korinsky
On Mon, 18 Nov 2024 19:34:27 +0100,
Volker Schlecht  wrote:
> 
> I didn't find the time to really look at ejabberd, but ok volker@ for the
> changes to erlang.port.mk.
>

And I had commited it with a typo.

Ok to fix it?

Index: lang/erlang/erlang.port.mk
===
RCS file: /home/cvs/ports/lang/erlang/erlang.port.mk,v
diff -u -p -r1.42 erlang.port.mk
--- lang/erlang/erlang.port.mk  18 Nov 2024 19:53:53 -  1.42
+++ lang/erlang/erlang.port.mk  19 Nov 2024 09:53:00 -
@@ -200,8 +200,8 @@ MODERL_DISTFILES += ${MODERL_DIST_SUBDIR
 
 .  if ! empty(MODERL_MODULES)
 .for _m _v in ${MODERL_MODULES}
-MODERL_MODULE_${_n}_VERSION = ${_v}
-SUBST_VARS += MODERL_MODULE_${_n}_VERSION
+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}; \

-- 
wbr, Kirill



Re: net/ejabberd: new port (version 24.10)

2024-11-18 Thread Volker Schlecht

I didn't find the time to really look at ejabberd, but ok volker@ for the
changes to erlang.port.mk.

On 2024-11-09 12:54, Kirill A. Korinsky 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.

Feedback? Ok?

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 -   1.452
+++ infrastructure/db/user.list 8 Nov 2024 17:55:30 -
@@ -102,7 +102,7 @@ id  usergroup   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 -  1.41
+++ lang/erlang/erlang.port.mk  9 Nov 2024 10:41:42 -
@@ -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,6 +178,22 @@ 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
@@ -183,9 +205,13 @@ MODERL_SETUP_WORKSPACE += mkdir -p ${WRK
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





Re: net/ejabberd: new port (version 24.10)

2024-11-14 Thread Kirill A . Korinsky
On Tue, 12 Nov 2024 16:16:26 +0100,
Kirill A. Korinsky  wrote:
> 
> On Sat, 09 Nov 2024 12:54:08 +0100,
> Kirill A. Korinsky  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 -   1.452
+++ infrastructure/db/user.list 8 Nov 2024 17:55:30 -
@@ -102,7 +102,7 @@ id  usergroup   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 -  1.41
+++ lang/erlang/erlang.port.mk  12 Nov 2024 22:50:10 -
@@ -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

Re: net/ejabberd: new port (version 24.10)

2024-11-12 Thread Kirill A . Korinsky
On Sat, 09 Nov 2024 12:54:08 +0100,
Kirill A. Korinsky  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.

Feedback? Ok?

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 -   1.452
+++ infrastructure/db/user.list 8 Nov 2024 17:55:30 -
@@ -102,7 +102,7 @@ id  usergroup   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 -  1.41
+++ lang/erlang/erlang.port.mk  9 Nov 2024 10:41:42 -
@@ -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,6 +178,22 @@ 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
@@ -183,9 +205,13 @@ MODERL_SETUP_WORKSPACE += mkdir -p ${WRK
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


ejabberd.tgz
Description: Binary data


Re: net/ejabberd: new port (version 24.10)

2024-11-09 Thread Stuart Henderson
On 2024/11/09 12:54, Kirill A. Korinsky wrote:
> ports@,
> 
> I'd like to import net/ejabberd back into the ports and take care of it.

btw, unless you want to learn about fixing merge conflicts in cvs,
use cvs add, not import, for this.

erlang.port.mk changes don't look too bad.

ok with me (there are some whutespace nits in modules.inc that could be
tweaked)