From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 571951581C1 for ; Tue, 16 Jul 2024 09:36:29 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id A94FD2BC0D2; Tue, 16 Jul 2024 09:35:58 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 3031B2BC0C3 for ; Tue, 16 Jul 2024 09:35:58 +0000 (UTC) From: Florian Schmaus To: gentoo-dev@lists.gentoo.org Cc: Anna Vyalkova , Matthew Smith , Florian Schmaus Subject: [gentoo-dev] [PATCH 0/2] Introduce rebar3.eclass Date: Tue, 16 Jul 2024 11:35:29 +0200 Message-ID: <20240716093532.349861-1-flow@gentoo.org> X-Mailer: git-send-email 2.44.2 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Archives-Salt: 53c669d6-9d48-41dc-b02a-6c543e6c8e03 X-Archives-Hash: 7e22a38e1a6f9409b7a0018450334c4a [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