unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: "Pierre-Henry Fröhring" <contact@phfrohring.com>
To: 67877@debbugs.gnu.org
Cc: Liliana Marie Prikler <liliana.prikler@gmail.com>
Subject: [bug#67877] [PATCH 0/7] Enable Elixir packages that depend on Erlang packages to build
Date: Mon, 18 Dec 2023 14:02:04 +0100	[thread overview]
Message-ID: <871qbjlkw1.fsf@phfrohring.com> (raw)

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>

[skip_deps] <https://git.savannah.gnu.org/cgit/guix.git/tree/guix/build-system/rebar.scm?id=f410d49eb24db4eecae054dfe136464bc92ba8a3#n103>

[issue 66801] <https://issues.guix.gnu.org/66801#75>




             reply	other threads:[~2023-12-18 13:08 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-18 13:02 Pierre-Henry Fröhring [this message]
2023-12-18 14:49 ` [bug#67877] [PATCH 0/7] Enable Elixir packages that depend on Erlang packages to build Liliana Marie Prikler
2023-12-20 10:57   ` Pierre-Henry Fröhring
2024-07-13 11:45 ` Hartmut Goebel
2024-07-14 10:47 ` Pierre-Henry Fröhring

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

  List information: https://guix.gnu.org/

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

  git send-email \
    --in-reply-to=871qbjlkw1.fsf@phfrohring.com \
    --to=contact@phfrohring.com \
    --cc=67877@debbugs.gnu.org \
    --cc=liliana.prikler@gmail.com \
    /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.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).