public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Florian Schmaus <flow@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Cc: Anna Vyalkova <cyber+gentoo@sysrq.in>,
	Matthew Smith <matthew@gentoo.org>,
	Florian Schmaus <flow@gentoo.org>
Subject: [gentoo-dev] [PATCH 0/2] Introduce rebar3.eclass
Date: Tue, 16 Jul 2024 11:35:29 +0200	[thread overview]
Message-ID: <20240716093532.349861-1-flow@gentoo.org> (raw)

[This patchset was initially send with the wrong 'from' address to gentoo-dev@ and therefore never arrived at this mailing list]

The Erlang/OTP ecosystem, or at least parts of it, are moving away
from Rebar2 and towards Rebar3. While Rebar3 is packaged in Gentoo as
dev-util/rebar:3, the current rebar.eclass only supports building
projects with Rebar2.

This is becoming more and more of a problem.

For example, Ejabberd upstream is so kind to support building with
Rebar2 and Rebar3. However, I've been told by upstream that sooner or
later, probably sooner rather than later, support for Rebar2 will be
dropped.

We should prepare for this future and support Rebar3 via an eclass.

Fortunately, ::guru already has a rebar3.eclass, which was used as
starting point for this patchset. Not much needed to be changed, and
tests in an overlay showed that, for example, ejabberd could be simply
build by swapping rebar.eclass with rebar3.eclass (no further changes
where necessary).

I briefly considered adding support for Rebar3 to rebar.eclass,
however, after examining the eclass' code and considering the
consequences of doing so, I concluded that a new rebar3.eclass is the
best approach.

Florian Schmaus (2):
  rebar.eclass: factor out common functions into rebar-utils.eclass
  rebar3.eclass: add new eclass

 eclass/rebar-utils.eclass | 154 ++++++++++++++++++++++++++++
 eclass/rebar.eclass       |  99 +-----------------
 eclass/rebar3.eclass      | 204 ++++++++++++++++++++++++++++++++++++++
 3 files changed, 361 insertions(+), 96 deletions(-)
 create mode 100644 eclass/rebar-utils.eclass
 create mode 100644 eclass/rebar3.eclass

-- 
2.44.2



             reply	other threads:[~2024-07-16  9:36 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-16  9:35 Florian Schmaus [this message]
2024-07-16  9:35 ` [gentoo-dev] [PATCH 1/2] rebar.eclass: factor out common functions into rebar-utils.eclass Florian Schmaus
2024-07-16  9:35 ` [gentoo-dev] [PATCH 2/2] rebar3.eclass: add new eclass Florian Schmaus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240716093532.349861-1-flow@gentoo.org \
    --to=flow@gentoo.org \
    --cc=cyber+gentoo@sysrq.in \
    --cc=gentoo-dev@lists.gentoo.org \
    --cc=matthew@gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox