Skip to content

elct9620/beni

Repository files navigation

Beni

mruby toolchain monorepo — a Ruby gem that manages the mruby build chain and Rust crates that bind the mruby C API, extracted from the kobako project.

Status: under active development. The published 0.0.0 versions reserve the package names while the build chain and binding crates are extracted from kobako; no usable API ships yet.

Packages

Package Registry Role
beni gem rubygems.org mruby dependency manager — vendors mruby source, builds libmruby.a, future mrbgem management
beni-sys crate crates.io bindgen FFI surface over the mruby C API
beni crate crates.io typed Rust wrapper over beni-sys (magnus analog)

Toolchain

beni targets plain mruby and is not bound to WebAssembly. rust-toolchain.toml keeps wasm32-wasip1 only as a build-verification target for downstream wasi consumers (kobako). For that target the Rust channel and the wasi-sdk version move in lockstep (the wasm32-wasip1 crt1-command.o references __wasi_init_tp from Rust 1.96 onward; wasi-sdk 33's libc.a supplies that symbol) — bump the pair together, in both this repo and kobako. Host builds are unaffected by the pairing.

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake test to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

The Rust crates live under crates/ in a Cargo workspace at the repo root; cargo check --workspace covers both.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/elct9620/beni.

License

The gem and crates are available as open source under the terms of the Apache License 2.0.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors