Subject: [bug#66801] [PATCH] build-system: Add mix-build-system.

From: Pierre-Henry Fröhring <[email-masked]>
Date: Fri, 08 Dec 2023 09:01:06 +0100

Hello lilyp,

      Would you be so nice as to send a complete series as a revision?  We
      have focused quite a lot on the intricacies of rebar-build-system and
      mix-build-system in the past review, but for testing purposes, it would
      be nice to have some (minimal set of) packages that we can build with
      those improvements.

All of them will be sent.  I cannot send you all the patches at once — /i.e./ those
linked to Erlang and Elixir — as it has proved to be too time-consuming given my
inexperience in the Guix code base among other things.

Thanks to your patient feedback, I hope to be able to send all the patches — more
that 70 of them — but let us agree on the sequence before end as I do not want to
bother you with contingent errors.

Please, tell me if these sequences of patches work with you:
1. Send patches linked to Elixir, independently of Erlang.
2. Send patches linked to Erlang, independently of Elixir.
3. Send remaining patches where Elixir packages rely on Erlang packages.

For completeness, the case where Erlang packages rely on Elixir packages should be
addressed too, but I do not have code testing that case so far.  We will probably
take care of this case afterward.

The first sequence of commits allows to build the elixir-machete package which is one
of the few packages that have tests.  This sequence of commits does not need any
modification to the rebar build system or the Erlang package.  These commits are on a
local branch at the moment:

┌────
│ f50ed258f * gnu: Add elixir-machete.
│ 8b1cd4584 * gnu: Add elixir-dialyxir.
│ 04f1a0488 * gnu: Add elixir-erlex.
│ 51f3ea964 * gnu: Add elixir-credo.
│ c635210a2 * gnu: Add elixir-excoveralls.
│ 2ed400127 * gnu: Add elixir-castore.
│ fa45db5f6 * gnu: Add elixir-inch-ex.
│ 780e57c56 * gnu: Add elixir-bunt.
│ 52c57d6a7 * gnu: Add elixir-file-system.
│ 6b1f61851 * gnu: Add elixir-jason.
│ 283d647cf * gnu: Add elixir-makeup.
│ a2dd3114c * gnu: Add elixir-nimble-parsec.
│ 0e6d80e9d * gnu: Add elixir-hex.
│ 9e842f9c9 * gnu: elixir: Wrap binaries.
│ 5b40ab6fd * build-system: Add mix-build-system.
└────

So, is it OK if we manage this sequence of patches above before proceeding further?
If it is the case, then I will send them one by one so that your suggestions on one patch will
help me fix the next before sending it.

Cheers.

P.S. My last message that you received yesterday does not appear in this
thread <https://issues.guix.gnu.org/66801>.