Skip to main content
Version: kirkstone

Bitbake classes

The meta-erlang layer provides additional bitbake classes to handle and help making releases for Erlang and Elixir applications.

rebar3.bbclass

The rebar3.bbclass exports the following environment variables:

  • REBAR3_TARGET_INCLUDE_ERTS, target include ERTS path
  • REBAR3_TARGET_SYSTEM_LIBS, target system ERTS path
  • ERLANG_ERTS, the version of ERTS

When configuring rebar3 to use the above variables, rebar3 can find the correct ERTS to make a proper release.

rebar3-brokensep.bbclass

Supports brokensep projects, that is the project builds with B == S. See additional details for brokensep context here.

rebar.bbclass

Legacy and deprecated rebar2 support throught rebar.bbclass.

mix.bbclass

The mix.bbclass exports the following environment variables:

  • MIX_TARGET_INCLUDE_ERTS, target include ERTS path
  • MIX_ENV, the default value is prod

mix-phoenix.bbclass

The mix-phoenix.bbclass appends addional steps in order to make Phoenix releases. Also adds nodejs-native as DEPENDS variable.

mix-rebar3.bbclass

Instead of letting mix tool fetching rebar3 binary, the class mix-rebar3.bbclass configures the variable MIX_REBAR3 pointing it to the rebar3 binary from rebar3-native recipe.

mix-rustler.bbclass

Supports building Elixir projects that uses Erlang NIFs written in Rust language. The class mix-rustler.bbclass exports the variable RUST_TARGET with the correct Rust target triple. An example getting the correct target triple from the environment is shown here: rustler_nifi.ex.