(address . guix-patches@gnu.org)(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)
Hello lylip,
It's great to see progress!
I suggest the next objective is to enable Elixir packages that depend on Erlang
packages to build. For instance, the Elixir package [telemetry_metrics] depends on the
Erlang telemetry package and is a dependency of the Elixir Phoenix package.
While reviewing the code of the Rebar build system, we noticed the use of the
[skip_deps] Rebar flag, which is ignored by Rebar:
?????
? $ guix shell rebar3 -- rebar3 help compile
? […]
? -d, --deps_only Only compile dependencies, no project apps will be
? built.
?????
So, to build Elixir packages that depend on Erlang, the necessary steps inlcude:
1) Updating the Rebar build system to align with the current usages of Rebar.
2) Allowing Elixir to access Erlang compiled libraries as discussed in [issue 66801].
If the following plan is agreed upon, then we will have an Elixir package that
depends on an Erlang package to build, specifically `telemetry_metrics'. Patches in the
series will have these objectives:
1. ? Update the Rebar build system to align with the current usages of Rebar.
2. ? Update the Erlang build system to install libraries under `lib/erlang/X.Y' as discussed in issue 66801.
3. ? Update the Erlang package so that `GUIX_ERL_LIBS' gather all libraries installed under `lib/erlang/X.Y'.
4. ? Update the Erlang package to wrap its binaires so that they have access to
compiled libraries represented by `GUIX_ERL_LIBS'.
5. ? Add the Erlang Telemetry package.
6. ? Update the Elixir package so that it has access to Erlang packages represented by `GUIX_ERL_LIBS'.
7. ? Add the Elixir package `telemetry_metrics'.
If the corresponding patch series is merged, additional packages (whether Erlang,
Elixir, or other types) will be incorporated until Phoenix package builds.
What do you think of this plan?
–
Regards,
phf
[telemetry_metrics] https://hex.pm/packages/telemetry_metrics
[issue 66801] https://issues.guix.gnu.org/66801#75