Skip to main content

Introducing Gleam to meta-erlang layer

· 5 min read
João Henrique Ferreira de Freitas
Maintainer of meta-erlang

Gleam is a new language that runs on Erlang VM. As one the aims of meta-erlang layer is to offer support to BEAM ecosystem in YP/OE ecosystem gleam support has been added to meta-erlang.

I'm not a gleam programming. Actually, I recently discovered gleam (and its purposes). And I'm still learning it. After watching the talk Keynote: Gleam's Journey on the BEAM - Hayleigh Thompson & Louis Pilfold at Code BEAM Europe 2024, I give a try and add it to meta-erlang layer.

Anatomy of erlang and elixir packages for YP/OE

· 8 min read
João Henrique Ferreira de Freitas
Maintainer of meta-erlang

Usually, when designing a linux distribution using YP/OE we want a slim image with only what we need to run a specific application (or applications). In this post we'll discuss a bit about erlang and elixir packages that meta-erlang layer provides.

It's important to know how the packages are divided into smaller ones in order to offer a better composition when creating linux distributions with YP/OE.

New Erlang releases 27.0

· One min read
João Henrique Ferreira de Freitas
Maintainer of meta-erlang

We've added support for the following new Erlang/OTP releases:

meta-erlang branchErlang/OTP version
scarthgap25.3.2.12, 26.2.5, 27.0
master25.3.2.12, 26.2.5, 27.0

And the following Elixir releases:

meta-erlang branchElixir version
scarthgap1.13.4, 1.14.4, 1.15.7, 1.16.3
master1.13.4, 1.14.4, 1.15.7, 1.16.3

I was planing to also add Erlang/OTP 27.0 to LTS kirkstone release. However it is not feasible as Erlang/OTP 27 uses autoconf 2.72 and kirkstone uses 2.71. Thus, there is an incompatible related to build system.

New Erlang releases 24.3.4.15, 25.3.2.8, 26.2.1

· One min read
João Henrique Ferreira de Freitas
Maintainer of meta-erlang

We've added support for the following new Erlang/OTP releases:

meta-erlang branchErlang/OTP version
dunfell24.3.4.15
kirkstone24.3.4.15, 25.3.2.8, 26.2.1
master25.3.2.8, 26.2.1

In additional to those new versions, now it's possible to read Erlang/OTP documentation in Erlang shell. The docs .chunk files get generated during build time and one could easily install it by adding the package erlang-modules-dev.

meta-erlang meets atomvm

· 4 min read
João Henrique Ferreira de Freitas
Maintainer of meta-erlang

Intro

From atomvm.net website, atomvm is:

AtomVM is a lightweight implementation of the the Bogdan Erlang Abstract Machine (aka, the BEAM), a virtual machine that can execute byte-code instructions compiled from Erlang or Elixir source code. AtomVM supports a limited but functional subset of the BEAM opcodes, and also includes a small subset of the Erlang/OTP standard libraries, all optimized to run on tiny micro-controllers. With AtomVM, you can write your IoT applications in a functional programming language, using a modern actor-based concurrency model, making them vastly easier to write and understand!

One of the atomvm goals is the possibility to run BEAM code on really small systems like MCUs.

Exploring x32 psABI for Erlang/OTP

· 4 min read
João Henrique Ferreira de Freitas
Maintainer of meta-erlang

Intro

According to Wikipedia X32 ABI page:

The x32 ABI is an application binary interface (ABI) and one of the interfaces of the Linux kernel. The x32 ABI provides 32-bit integers, long and pointers (ILP32) on Intel and AMD 64-bit hardware. The ABI allows programs to take advantage of the benefits of x86-64 instruction set (larger number of CPU registers, better floating-point performance, faster position-independent code, shared libraries, function parameters passed via registers, faster syscall instruction) while using 32-bit pointers and thus avoiding the overhead of 64-bit pointers.

So, I'm wondering if it would be possible to enable x32 support in Erlang/OTP build. That way, I could make a Yocto image for x32 that runs on x86-64 machines.

New Erlang releases 24.3.4.13, 25.3.2.3, 26.0.2

· One min read
João Henrique Ferreira de Freitas
Maintainer of meta-erlang

We've added support for the following new Erlang/OTP releases:

meta-erlang branchErlang/OTP version
dunfell24.3.4.13
kirkstone24.3.4.13, 25.3.2.3, 26.0.2
mickledore25.3.2.3, 26.0.2

In additional to those new versions, a new beamtools is available here.

This new version was made with Yocto mickledore release and brings Erlang/OTP 26.0.2 and Elixir 1.15.2.

New meta-erlang branch mickledore

· One min read
João Henrique Ferreira de Freitas
Maintainer of meta-erlang

Yocto Project has released a new version 4.2 (Mickledore). As consequence meta-erlang brings a new branch mickledore updating most of the recipes. mickledore release is not a LTS release and community support will be available until November 2023.

We've also upgraded to the latest Erlang/OTP and Elixir releases supporting the following new Erlang/OTP releases:

  • Erlang/OTP 26.0.1
  • Erlang/OTP 25.3.2.2
  • Elixir 1.14.4

It's worth mentioning the meta-erlang master has also been updated.

New Erlang releases 24.3.4.11, 25.3.2 and recipe updates

· One min read
João Henrique Ferreira de Freitas
Maintainer of meta-erlang

We've added support for the following new Erlang/OTP releases:

meta-erlang branchErlang/OTP version
dunfell24.3.4.11
kirkstone24.3.4.11, 25.3.2
langdale25.3.2

Removed recipes:

  • For langdale the recipes ejabberd and emqx have been removed due the lack of supporting cross-compilation build in a stable way.

Updated recipes:

  • For langdale the following recipes have been updated: lux, vernemq, yaws, tsung, riak, couchdb. It is important to mention about langdale EOL in May 2023. So, this branch will not receive updates.

It has been decided:

  • Dropped support to Erlang/OTP 24 in langdale. Due the lack of deterministic build flags in 24. Elixir 1.12 has also been dropped (because it dependes on Erlang/OTP 24).

New Erlang releases 24.3.4.8, 25.1.2.1, 25.2.1

· One min read
João Henrique Ferreira de Freitas
Maintainer of meta-erlang

We've added support for the following new Erlang/OTP releases:

meta-erlang branchErlang/OTP version
dunfell24.3.4.8
kirkstone24.3.4.8, 25.1.2.1, 25.2.1
langdale24.3.4.8, 25.1.2.1, 25.2.1

Fixed bugs:

To be decided:

  • Yocto Langdale release has enabled reproducible build checks. Erlang/OTP from 25 and later implements special flags to fix reproducible issues. But Erlang/OTP 24 does not have these special flags as a consequence langdale Erlang/OTP 24 builds warns about: packages contains reference to TMPDIR [buildpaths]. There are two paths that we could get. One is to drop Erlang/OTP 24 support OR disable QA buildpaths checking.

Welcome

· One min read
João Henrique Ferreira de Freitas
Maintainer of meta-erlang

This new website is based on Docusaurus documentation framework. The previous site was using docsify, which is also great. But Docusaurus address others concerns when writing documentation for open source project.

So, the site has a new frontend page and a blog session where we want to add latest meta-erlang release highlights. The documentation session is pretty much the same plus some improvements on Introduction chapter.