8000 GitHub - ngroman/rb-sys: Easily build Ruby native extensions in Rust
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

ngroman/rb-sys

 
 

Repository files navigation

rb-sys

.github/workflows/ci.yml Join the discussion Crates.io Gem

The primary goal of rb-sys is to make building native Ruby extensions in Rust easier than it would be in C. If it's not easy, it's a bug.

Features

  • Battle-tested Rust bindings for the Ruby C API
  • Support for Ruby 2.4+
  • Supports all major platforms (Linux, macOS, Windows)
  • Cross compilation of gems
  • Integration with rake-compiler

New to rb-sys?

Quick links

Usage

Below are some examples of how to use rb-sys to build native Rust extensions. Use these as a starting point for your building your own gem.

Supported Toolchains

  • Ruby: 2.4+ (for full compatibility with Rubygems)
  • Rust: 1.60+

Supported Platforms

We support cross compilation to the following platforms (this information is also available in the ./data directory for automation purposes):

Platform Supported Docker Image
x86_64-linux rbsys/x86_64-linux:0.9.87
x86_64-linux-musl rbsys/x86_64-linux-musl:0.9.87
aarch64-linux rbsys/aarch64-linux:0.9.87
arm-linux rbsys/arm-linux:0.9.87
arm64-darwin rbsys/arm64-darwin:0.9.87
x64-mingw32 rbsys/x64-mingw32:0.9.87
x64-mingw-ucrt rbsys/x64-mingw-ucrt:0.9.87
mswin not available on Docker

Getting Help

We make a concerted effort to help out new users. If you have questions, please join our Slack and post your question in the #general channel. Alternatively, you can open an issue and we'll try to help you out.

Contributing

See the CONTRIBUTING.md file for information about setting up a development environment.

Bug reports and pull requests are welcome on GitHub at https://github.com/oxidize-rb/rb-sys.

License

Licensed under either of

  • Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
  • MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
  • at your option.

    Contribution

    Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

    About

    Easily build Ruby native extensions in Rust

    Resources

    License

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published

    Languages

    • Rust 70.9%
    • Ruby 23.4%
    • Shell 4.0%
    • C 1.1%
    • Dockerfile 0.6%
    0