{"id":38991798,"url":"https://github.com/3mdeb/meta-ocaml","last_synced_at":"2026-01-17T17:04:16.274Z","repository":{"id":77148887,"uuid":"314687554","full_name":"3mdeb/meta-ocaml","owner":"3mdeb","description":"Forked from https://gitlab.com/wtolkien/meta-vyos","archived":false,"fork":false,"pushed_at":"2020-11-20T22:50:15.000Z","size":33,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2023-09-21T15:12:34.438Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"BitBake","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/3mdeb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2020-11-20T22:47:58.000Z","updated_at":"2023-09-28T00:46:44.559Z","dependencies_parsed_at":null,"dependency_job_id":"3bcb4ddd-6623-4a2a-8bc5-00ef227e9cff","html_url":"https://github.com/3mdeb/meta-ocaml","commit_stats":{"total_commits":29,"total_committers":3,"mean_commits":9.666666666666666,"dds":0.06896551724137934,"last_synced_commit":"9604f9460a86c2b2ae806bcae1aafd0e621f0a9a"},"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"purl":"pkg:github/3mdeb/meta-ocaml","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3mdeb%2Fmeta-ocaml","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3mdeb%2Fmeta-ocaml/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3mdeb%2Fmeta-ocaml/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3mdeb%2Fmeta-ocaml/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/3mdeb","download_url":"https://codeload.github.com/3mdeb/meta-ocaml/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3mdeb%2Fmeta-ocaml/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28511876,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T13:38:16.342Z","status":"ssl_error","status_checked_at":"2026-01-17T13:37:44.060Z","response_time":85,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2026-01-17T17:04:15.452Z","updated_at":"2026-01-17T17:04:16.249Z","avatar_url":"https://github.com/3mdeb.png","language":"BitBake","funding_links":[],"categories":[],"sub_categories":[],"readme":"# meta-ocaml\nA Yocto Software Layer to support the OCaml Language\n\n__(08/2018) This Repo is still very much 'Work In Progress'!__\n\n_Note:_\nThis repo was started to support the [meta-vyos](https://gitlab.com/wtolkien/meta-vyos) \nproject, which requires OCaml starting with release 1.2\n\nI'm not an OCaml developer, so expect problems. Any help is very much appreciated!\n\nI'm intentionally focussing on OCaml 4.03.0 since that version is used with VyOS, however\nthe resulting code should be portable enough to upgrade to newer versions later. \n\n## Status:\n\n* ocaml-native produces working native compiler (for host system)\n* ocaml-cross produces working cross compiler (tried for ARM)\n\n* lots of work to do to compile libraries and actually OCaml applications\n\n# Build Instructions:\n\nDevelopment is currently using OpenEmbedded/Yocto, release 'sumo'\n\nIf you are not familiar with OpenEmbedded (or the 'Yocto' derivative), extensive documentation can be found here:\n\nhttps://www.yoctoproject.org/documentation\n\n* make sure you meet the required prerequisites as described here:\n\nhttps://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html#ref-manual-system-requirements\n\n\n* get the Yocto core packages, plus this `meta-ocaml` layer:\n```\ngit clone -b sumo git://git.yoctoproject.org/poky.git yocto-sumo\ncd yocto-sumo\ngit clone https://gitlab.com/wtolkien/meta-ocaml\n```\n\n* from the `yocto-sumo` directory, initialize the build-environment:\n```\nsource oe-init-build-env\n```\n\n* if you want to play it safe, just try and build a 'vanila' Yocto image without\n  OCaml to make sure everything else works. I suggest building an ARM image for the\n  'qemuarm' target to get some cross-compile action going:\n\n  Uncomment the following line in ```conf/local.conf```:\n```\nMACHINE ?= \"qemuarm\"\n```\n  Build a minimal image (this can take an hour during first build):\n```\nbitbake core-image-minimal\n```\n  Run the new created image using QEmu:\n```\nrunqemu\n```\n\n* now edit the Yocto layer configuration file ```conf/bblayers.conf``` to include\n  the `meta-ocaml` layer.\n  Your `BBLAYERS` variable should look as below, however you may have to adjust\n  your path\n```\nBBLAYERS ?= \" \\\n  [your existing path]/yocto-sumo/meta \\\n  [your existing path]/yocto-sumo/meta-poky \\\n  [your existing path]/yocto-sumo/meta-yocto-bsp \\\n  \\\n  ${TOPDIR}/../meta-ocaml \\\n  \"\n```\n\n* you can now build individual OCaml packages such as:\n```\nbitbake ocaml-native\nbitbake ocaml-cross\n[...]\n```\n\nYocto's directory structure can be confusing to newcomers, the actual build of the two packages \nabove will take place in the following directories:\n```\n~/sumo-test/build/tmp/work/x86_64-linux/ocaml-native\n~/sumo-test/build/tmp/work/x86_64-linux/ocaml-cross\n```\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3mdeb%2Fmeta-ocaml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F3mdeb%2Fmeta-ocaml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3mdeb%2Fmeta-ocaml/lists"}