diff options
author | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2022-12-22 08:20:23 +0900 |
---|---|---|
committer | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2022-12-24 16:57:07 +0900 |
commit | f6620037ba1477d2c337d7b511f094d6d0fbb69c (patch) | |
tree | 4d8d38eaf97e6ca88162dd574e7871e1739f22ae /lib/bundler/templates/newgem/ext/newgem | |
parent | d5635dfe36588b04d3dd6065ab4e422f51629b11 (diff) |
Merge RubyGems-3.4.0 and Bundler-2.4.0
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/6987
Diffstat (limited to 'lib/bundler/templates/newgem/ext/newgem')
-rw-r--r-- | lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt | 15 | ||||
-rw-r--r-- | lib/bundler/templates/newgem/ext/newgem/extconf-c.rb.tt (renamed from lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt) | 0 | ||||
-rw-r--r-- | lib/bundler/templates/newgem/ext/newgem/extconf-rust.rb.tt | 6 | ||||
-rw-r--r-- | lib/bundler/templates/newgem/ext/newgem/src/lib.rs.tt | 12 |
4 files changed, 33 insertions, 0 deletions
diff --git a/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt b/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt new file mode 100644 index 0000000000..4b6e9587f7 --- /dev/null +++ b/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt @@ -0,0 +1,15 @@ +[package] +name = <%= config[:name].inspect %> +version = "0.1.0" +edition = "2021" +authors = ["<%= config[:author] %> <<%= config[:email] %>>"] +<%- if config[:mit] -%> +license = "MIT" +<%- end -%> +publish = false + +[lib] +crate-type = ["cdylib"] + +[dependencies] +magnus = { version = "0.4" } diff --git a/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt b/lib/bundler/templates/newgem/ext/newgem/extconf-c.rb.tt index e918063ddf..e918063ddf 100644 --- a/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt +++ b/lib/bundler/templates/newgem/ext/newgem/extconf-c.rb.tt diff --git a/lib/bundler/templates/newgem/ext/newgem/extconf-rust.rb.tt b/lib/bundler/templates/newgem/ext/newgem/extconf-rust.rb.tt new file mode 100644 index 0000000000..e24566a17a --- /dev/null +++ b/lib/bundler/templates/newgem/ext/newgem/extconf-rust.rb.tt @@ -0,0 +1,6 @@ +# frozen_string_literal: true + +require "mkmf" +require "rb_sys/mkmf" + +create_rust_makefile(<%= config[:makefile_path].inspect %>) diff --git a/lib/bundler/templates/newgem/ext/newgem/src/lib.rs.tt b/lib/bundler/templates/newgem/ext/newgem/src/lib.rs.tt new file mode 100644 index 0000000000..b311283997 --- /dev/null +++ b/lib/bundler/templates/newgem/ext/newgem/src/lib.rs.tt @@ -0,0 +1,12 @@ +use magnus::{define_module, function, prelude::*, Error}; + +fn hello(subject: String) -> String { + format!("Hello from Rust, {}!", subject) +} + +#[magnus::init] +fn init() -> Result<(), Error> { + let module = <%= config[:constant_array].map {|c| "define_module(#{c.dump})?"}.join(".") %>; + module.define_singleton_method("hello", function!(hello, 1))?; + Ok(()) +} |