{"id":13723391,"url":"https://github.com/meta-erlang/meta-erlang","last_synced_at":"2025-12-24T13:58:26.708Z","repository":{"id":10904219,"uuid":"13200017","full_name":"meta-erlang/meta-erlang","owner":"meta-erlang","description":"Erlang and Elixir support, https://meta-erlang.github.io/","archived":false,"fork":false,"pushed_at":"2025-04-27T00:40:33.000Z","size":1822,"stargazers_count":55,"open_issues_count":4,"forks_count":39,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-27T01:27:57.582Z","etag":null,"topics":["beam","bitbake","elixir","erlang","yocto","yocto-layer"],"latest_commit_sha":null,"homepage":"","language":"BitBake","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/meta-erlang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING.MIT","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2013-09-29T21:07:50.000Z","updated_at":"2025-04-20T23:32:12.000Z","dependencies_parsed_at":"2024-01-05T00:55:58.320Z","dependency_job_id":"fb8097b2-44c6-4184-b8b8-276e9e17582a","html_url":"https://github.com/meta-erlang/meta-erlang","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meta-erlang%2Fmeta-erlang","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meta-erlang%2Fmeta-erlang/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meta-erlang%2Fmeta-erlang/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meta-erlang%2Fmeta-erlang/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/meta-erlang","download_url":"https://codeload.github.com/meta-erlang/meta-erlang/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252915555,"owners_count":21824595,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["beam","bitbake","elixir","erlang","yocto","yocto-layer"],"created_at":"2024-08-03T01:01:40.537Z","updated_at":"2025-12-24T13:58:26.702Z","avatar_url":"https://github.com/meta-erlang.png","language":"BitBake","funding_links":[],"categories":["Erlang Specific"],"sub_categories":[],"readme":"# OpenEmbedded/Yocto Project layer for Erlang, Elixir and Gleam support\n\n\u003ctable border=\"0\" rules=\"none\"\u003e\n\u003ctr border=\"0\"\u003e\n\u003ctd width=\"140\" height=\"100\" align=\"center\"\u003e\n  \u003cbr /\u003e\n  \u003ca href=\"https://www.yoctoproject.org/ecosystem/branding/\"\u003e\n    \u003cimg alt=\"Yocto Project Layer Compatible\" src=\"img/YoctoCompatibleBadge.png\"\u003e\n  \u003c/a\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\nThis layer provides support for the following BEAM languages:\n\n* [Erlang](https://www.erlang.org/)\n* [Elixir](https://elixir-lang.org/)\n* [Gleam](https://gleam.run/)\n\nFor use with [OpenEmbedded](http://www.openembedded.org/wiki/Main_Page) and/or\nthe [Yocto Project](https://www.yoctoproject.org/) build system.\n\n## Documentation\n\nSee [meta-erlang documentation](https://meta-erlang.github.io/docs/master/).\n\n## Yocto Project Compatible Layer\n\nThis layer is officially approved as part of the `Yocto Project Compatible\nLayers Program`. You can find details of that on the official Yocto Project\n[website](https://www.yoctoproject.org/development/yocto-project-compatible-layers/).\n\n## Dependencies\n\nThis layer depends on:\n\n  URI: git://git.openembedded.org/bitbake\n  branch: master\n\n  URI: git://github.com/openembedded/oe-core.git\n  branch: master\n  revision: HEAD\n\n  URI: git://git.openembedded.org/openembedded-core\n  layers: meta\n  branch: master\n\nFor erlang odbc:\n\n  URI: https://github.com/openembedded/meta-openembedded.git\n  layers: meta-oe\n  branch: master\n\nFor erlang lksctp run-time support:\n\n  URI: https://github.com/openembedded/meta-openembedded.git\n  layers: meta-networking\n  branch: master\n\n## Usage instructions\n\nUse the _bitbake-layers add-layer_ command to add the meta-erlang to the configuration file:\n\n```\ncd ~/poky/build\nbitbake-layers add-layer ../meta-erlang\n```\n\nThen run:\n\n```\nbitbake erlang-embedded-image-minimal\n```\n\nThat will create an image with embedded erlang.\n\nOr add ```IMAGE_INSTALL_append = \" erlang\"``` in _conf/local.conf_ file and run\n```bitbake core-image-minimal``` to get an image with erlang support.\n\nAlso, there are a set of [recipe examples](recipes-examples) demonstrating how to integrate Erlang/Elixir\nprojects into YP/OE. The examples tried to cover some common use cases when dealing with cross compiled\napplications.\n\n## Supported versions\n\nmeta-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.\n\nPlease, before building Erlang/Elixir applications, check out the PREFERRED_VERSION for each application on the [meta-erlang application documentation](https://meta-erlang.github.io/docs/master/category/applications/).\n\nAs meta-erlang provides multiple versions for the same recipes, pay attention to configure the variable [PREFERRED_VERSION](https://docs.yoctoproject.org/ref-manual/ref-variables.html?highlight=preferred_version#term-PREFERRED_VERSION) in one of the configuration file like _local.conf_, _site.conf_, _auto.conf_ or _distro/include_ files. Like this:\n\n```\nPREFERRED_VERSION_erlang = \"27.0\"\nPREFERRED_VERSION_erlang-native = \"27.0\"\n\nPREFERRED_VERSION_elixir = \"1.16.3\"\nPREFERRED_VERSION_elixir-native = \"1.16.3\"\n\nPREFERRED_VERSION_gleam-native = \"1.5.1\"\n```\n\nHowever if you have any specific requirements for a special recipe version, you can always add it in your application/middleware layer.\n\nFollowing the [OTP Versions Tree](http://erlang.org/download/otp_versions_tree.html),\n[Elixir Compatibility and Deprecations](https://hexdocs.pm/elixir/compatibility-and-deprecations.html)\n and [Yocto Project releases](https://wiki.yoctoproject.org/wiki/Releases) meta-erlang supports the below versions:\n\nErlang:\n\n * [maint-28](https://github.com/erlang/otp/tree/maint-28)\n * [maint-27](https://github.com/erlang/otp/tree/maint-27)\n * [maint-26](https://github.com/erlang/otp/tree/maint-26)\n * [maint-25](https://github.com/erlang/otp/tree/maint-25)\n\nElixir:\n\n* [v1.18](https://github.com/elixir-lang/elixir/tree/v1.18)\n* [v1.17](https://github.com/elixir-lang/elixir/tree/v1.17)\n* [v1.16](https://github.com/elixir-lang/elixir/tree/v1.16)\n* [v1.15](https://github.com/elixir-lang/elixir/tree/v1.15)\n* [v1.14](https://github.com/elixir-lang/elixir/tree/v1.14)\n\nGleam:\n\n* [1.10](https://github.com/gleam-lang/gleam/releases/tag/v1.10.0)\n\nYocto:\n\nmeta-erlang provides specific branches for each YP/OE release. So, please stick with one of the supported branches\nto avoid compatible problems:\n\n* [walnascar](https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=walnascar)\n* [styhead](https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=styhead)\n* [scarthgap](https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=scarthgap)\n* [nanbield](https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=nanbield)\n* [mickledore](https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=mickledore)\n* [langdale](https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=langdale)\n* [kirkstone](https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=kirkstone)\n* [honister](https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=honister)\n* [hardknott](https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=hardknott)\n* [gatesgarth](https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/?h=gatesgarth)\n* [dunfell](https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/?h=dunfell)\n* [zeus](https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/?h=zeus)\n* [warrior](https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/?h=warrior)\n\nEven 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\npossible always to keep some versions without backporting or fixing cross compilation issues.\n\n## Other Information\n\nThis layer can provide the entire Erlang installation, from the base\nruntime (erlang) to a full erlang development environment with all\nof the bells and whistles (erlang-modules).\n\nA list of all the packages provided can be found in the manifest file,\nat recipes-devtools/erlang/erlang-${PV}-manifest.inc. This file needs\nto be re-generated and new SRCREVs need to be added whenever the version\nhanges.\n\n## Contributing\n\nYou can send patches using the GitHub pull request process.\n\n## Maintainers\n\n* João Henrique Ferreira de Freitas `\u003cjoaohf@gmail.com\u003e`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeta-erlang%2Fmeta-erlang","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmeta-erlang%2Fmeta-erlang","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeta-erlang%2Fmeta-erlang/lists"}