Pierre-Henry Fröhring wrote 1 years ago
(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