Git Product home page Git Product logo

OpenEmbedded/Yocto Project layer for Erlang and Elixir support

This layer provides support for Erlang and Elixir for use with OpenEmbedded and/or the Yocto Project build system:

Documentation

See meta-erlang documentation.

Dependencies

This layer depends on:

URI: git://git.openembedded.org/bitbake branch: master

URI: git://github.com/openembedded/oe-core.git branch: master revision: HEAD

URI: git://git.openembedded.org/openembedded-core layers: meta branch: master

For erlang odbc:

URI: https://github.com/openembedded/meta-openembedded.git layers: meta-oe branch: master

For erlang lksctp run-time support:

URI: https://github.com/openembedded/meta-openembedded.git layers: meta-networking branch: master

Usage instructions

Use the bitbake-layers add-layer command to add the meta-erlang to the configuration file:

cd ~/poky/build
bitbake-layers add-layer ../meta-erlang

Then run:

bitbake erlang-embedded-image-minimal

That will create an image with embedded erlang.

Or add IMAGE_INSTALL_append = " erlang" in conf/local.conf file and run bitbake core-image-minimal to get an image with erlang support.

Also, there are a set of recipe examples demonstrating how to integrate Erlang/Elixir projects into YP/OE. The examples tried to cover some common use cases when dealing with cross compiled applications.

Supported versions

meta-erlang tries to support a well balanced range of Erlang, Elixir and Yocto Project versions. The purpose is to provide up-to-date recipes following the latest fixes found in Erlang and Elixir projects as well keeping the old recipes to not break compatibility.

Please, before building Erlang/Elixir applications, check out the PREFERRED_VERSION for each application on the meta-erlang application documentation.

As meta-erlang provides multiple versions for the same recipes, pay attention to configure the variable PREFERRED_VERSION in one of the configuration file like local.conf, site.conf, auto.conf or distro/include files. Like this:

PREFERRED_VERSION_erlang = "27.0"
PREFERRED_VERSION_erlang-native = "27.0"

PREFERRED_VERSION_elixir = "1.16.3"
PREFERRED_VERSION_elixir-native = "1.16.3"

However if you have any specific requirements for a special recipe version, you can always add it in your application/middleware layer.

Following the OTP Versions Tree, Elixir Compatibility and Deprecations and Yocto Project releases meta-erlang supports the below versions:

Erlang:

Elixir:

Yocto:

meta-erlang provides specific branches for each YP/OE release. So, please stick with one of the supported branches to avoid compatible problems:

Even though supporting a range of versions, users are recommended to checkout specific meta-erlang branch in order to find out the correct combination between Erlang/OTP versions. Due to how Erlang/OTP and YP/OE are made, it is not possible always to keep some versions without backporting or fixing cross compilation issues.

Other Information

This layer can provide the entire Erlang installation, from the base runtime (erlang) to a full erlang development environment with all of the bells and whistles (erlang-modules).

A list of all the packages provided can be found in the manifest file, at recipes-devtools/erlang/erlang-${PV}-manifest.inc. This file needs to be re-generated and new SRCREVs need to be added whenever the version hanges.

meta-erlang's Projects

hello-world icon hello-world

Erlang and Elixir code for meta-erlang recipes-examples

meta-axon icon meta-axon

Examples and recipes showing how to use meta-erlang

meta-erlang icon meta-erlang

Erlang and Elixir support, https://meta-erlang.github.io/

mix_bitbake icon mix_bitbake

Generates a bitbake recipe from Elixir application.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.