wasmtime 0.2.0-x86_64-linux → 0.4.0-x86_64-linux
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/LICENSE +23 -21
- data/README.md +58 -111
- data/ext/build.rs +8 -0
- data/lib/wasmtime/2.7/wasmtime_rb.so +0 -0
- data/lib/wasmtime/3.0/wasmtime_rb.so +0 -0
- data/lib/wasmtime/3.1/wasmtime_rb.so +0 -0
- data/lib/wasmtime/version.rb +1 -1
- data/lib/wasmtime.rb +52 -4
- metadata +28 -35
- data/.cargo/config +0 -4
- data/CHANGELOG.md +0 -27
- data/Cargo.lock +0 -1197
- data/Cargo.toml +0 -14
- data/ext/wasmtime/Makefile +0 -5
- data/ext/wasmtime/Rakefile +0 -3
- data/ext/wasmtime/extconf.rb +0 -5
- data/lib/tasks/compile.rake +0 -27
- data/lib/wasmtime/native.so +0 -0
- data/lib/wasmtime/refinements.rb +0 -20
- data/lib/wasmtime/require.rb +0 -72
- data/src/export.rs +0 -19
- data/src/func.rs +0 -175
- data/src/instance.rs +0 -93
- data/src/lib.rs +0 -22
- data/src/memory.rs +0 -48
- data/src/ruby_type.rs +0 -32
- data/src/vm.rs +0 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9d4bbd6fe60e446c784f194aee2d1aa36473000237a06c1d87e7a06656ef591c
|
4
|
+
data.tar.gz: 472059120cc3f6959caebc4bca061fcd766c61ccfda4fcfbb1aa315818770b38
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5e781487208571c1c5fcb490db087953b597c20194abfa8a7653e7a108c0d1407971db1940ec5162a81ec29b24cb2d7fdd0da1eb48ae8ef55aee5613e7e82172
|
7
|
+
data.tar.gz: d8e07914fc9c09f2532a292406819bced2e356e7cb66893f028dde87536211fd92d9e97d344db24ea2282de4b14ab59076d984ada1faf4e5056018b49f740a2d
|
data/LICENSE
CHANGED
@@ -1,10 +1,11 @@
|
|
1
|
+
|
1
2
|
Apache License
|
2
3
|
Version 2.0, January 2004
|
3
4
|
http://www.apache.org/licenses/
|
4
5
|
|
5
|
-
|
6
|
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
6
7
|
|
7
|
-
|
8
|
+
1. Definitions.
|
8
9
|
|
9
10
|
"License" shall mean the terms and conditions for use, reproduction,
|
10
11
|
and distribution as defined by Sections 1 through 9 of this document.
|
@@ -63,14 +64,14 @@
|
|
63
64
|
on behalf of whom a Contribution has been received by Licensor and
|
64
65
|
subsequently incorporated within the Work.
|
65
66
|
|
66
|
-
|
67
|
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
67
68
|
this License, each Contributor hereby grants to You a perpetual,
|
68
69
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
69
70
|
copyright license to reproduce, prepare Derivative Works of,
|
70
71
|
publicly display, publicly perform, sublicense, and distribute the
|
71
72
|
Work and such Derivative Works in Source or Object form.
|
72
73
|
|
73
|
-
|
74
|
+
3. Grant of Patent License. Subject to the terms and conditions of
|
74
75
|
this License, each Contributor hereby grants to You a perpetual,
|
75
76
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
76
77
|
(except as stated in this section) patent license to make, have made,
|
@@ -86,7 +87,7 @@
|
|
86
87
|
granted to You under this License for that Work shall terminate
|
87
88
|
as of the date such litigation is filed.
|
88
89
|
|
89
|
-
|
90
|
+
4. Redistribution. You may reproduce and distribute copies of the
|
90
91
|
Work or Derivative Works thereof in any medium, with or without
|
91
92
|
modifications, and in Source or Object form, provided that You
|
92
93
|
meet the following conditions:
|
@@ -127,7 +128,7 @@
|
|
127
128
|
reproduction, and distribution of the Work otherwise complies with
|
128
129
|
the conditions stated in this License.
|
129
130
|
|
130
|
-
|
131
|
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
131
132
|
any Contribution intentionally submitted for inclusion in the Work
|
132
133
|
by You to the Licensor shall be under the terms and conditions of
|
133
134
|
this License, without any additional terms or conditions.
|
@@ -135,12 +136,12 @@
|
|
135
136
|
the terms of any separate license agreement you may have executed
|
136
137
|
with Licensor regarding such Contributions.
|
137
138
|
|
138
|
-
|
139
|
+
6. Trademarks. This License does not grant permission to use the trade
|
139
140
|
names, trademarks, service marks, or product names of the Licensor,
|
140
141
|
except as required for reasonable and customary use in describing the
|
141
142
|
origin of the Work and reproducing the content of the NOTICE file.
|
142
143
|
|
143
|
-
|
144
|
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
144
145
|
agreed to in writing, Licensor provides the Work (and each
|
145
146
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
146
147
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
@@ -150,7 +151,7 @@
|
|
150
151
|
appropriateness of using or redistributing the Work and assume any
|
151
152
|
risks associated with Your exercise of permissions under this License.
|
152
153
|
|
153
|
-
|
154
|
+
8. Limitation of Liability. In no event and under no legal theory,
|
154
155
|
whether in tort (including negligence), contract, or otherwise,
|
155
156
|
unless required by applicable law (such as deliberate and grossly
|
156
157
|
negligent acts) or agreed to in writing, shall any Contributor be
|
@@ -162,7 +163,7 @@
|
|
162
163
|
other commercial damages or losses), even if such Contributor
|
163
164
|
has been advised of the possibility of such damages.
|
164
165
|
|
165
|
-
|
166
|
+
9. Accepting Warranty or Additional Liability. While redistributing
|
166
167
|
the Work or Derivative Works thereof, You may choose to offer,
|
167
168
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
168
169
|
or other liability obligations and/or rights consistent with this
|
@@ -173,9 +174,9 @@
|
|
173
174
|
incurred by, or claims asserted against, such Contributor by reason
|
174
175
|
of your accepting any such warranty or additional liability.
|
175
176
|
|
176
|
-
|
177
|
+
END OF TERMS AND CONDITIONS
|
177
178
|
|
178
|
-
|
179
|
+
APPENDIX: How to apply the Apache License to your work.
|
179
180
|
|
180
181
|
To apply the Apache License to your work, attach the following
|
181
182
|
boilerplate notice, with the fields enclosed by brackets "[]"
|
@@ -186,19 +187,19 @@
|
|
186
187
|
same "printed page" as the copyright notice for easier
|
187
188
|
identification within third-party archives.
|
188
189
|
|
189
|
-
|
190
|
+
Copyright [yyyy] [name of copyright owner]
|
190
191
|
|
191
|
-
|
192
|
-
|
193
|
-
|
192
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
193
|
+
you may not use this file except in compliance with the License.
|
194
|
+
You may obtain a copy of the License at
|
194
195
|
|
195
196
|
http://www.apache.org/licenses/LICENSE-2.0
|
196
197
|
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
198
|
+
Unless required by applicable law or agreed to in writing, software
|
199
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
200
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
201
|
+
See the License for the specific language governing permissions and
|
202
|
+
limitations under the License.
|
202
203
|
|
203
204
|
|
204
205
|
--- LLVM Exceptions to the Apache 2.0 License ----
|
@@ -216,3 +217,4 @@ conflicts with the conditions of the GPLv2, you may retroactively and
|
|
216
217
|
prospectively choose to deem waived or otherwise exclude such Section(s) of
|
217
218
|
the License, but only in their entirety and only with respect to the Combined
|
218
219
|
Software.
|
220
|
+
|
data/README.md
CHANGED
@@ -1,147 +1,94 @@
|
|
1
1
|
<div align="center">
|
2
|
-
<h1>wasmtime-
|
2
|
+
<h1><code>wasmtime-rb</code></h1>
|
3
|
+
|
3
4
|
<p>
|
4
|
-
<strong>
|
5
|
-
|
6
|
-
</strong>
|
5
|
+
<strong>Ruby embedding of
|
6
|
+
<a href="https://github.com/bytecodealliance/wasmtime">Wasmtime</a></strong>
|
7
7
|
</p>
|
8
|
+
|
9
|
+
<strong>A <a href="https://bytecodealliance.org/">Bytecode Alliance</a> project</strong>
|
10
|
+
|
8
11
|
<p>
|
9
|
-
<a href="https://
|
10
|
-
<img src="https://
|
11
|
-
</a>
|
12
|
-
<a href="https://github.com/dtcristo/wasmtime-ruby/actions?query=workflow%3ACI">
|
13
|
-
<img src="https://img.shields.io/github/workflow/status/dtcristo/wasmtime-ruby/CI" alt="CI status badge" />
|
12
|
+
<a href="https://github.com/bytecodealliance/wasmtime-rb/actions?query=workflow%3ACI">
|
13
|
+
<img src="https://github.com/bytecodealliance/wasmtime-rb/workflows/CI/badge.svg" alt="CI status"/>
|
14
14
|
</a>
|
15
15
|
</p>
|
16
16
|
</div>
|
17
17
|
|
18
|
-
##
|
18
|
+
## Goal
|
19
19
|
|
20
|
-
|
21
|
-
a
|
22
|
-
WASM modules from within Ruby executing at near-native speeds in a safe
|
23
|
-
sandboxed environment.
|
20
|
+
`wasmtime-rb`'s goal is to expose the full power of Wasmtime in Ruby with
|
21
|
+
minimal overhead, serving as a foundation layer for other projects or gems.
|
24
22
|
|
25
|
-
|
26
|
-
a few things that aren't built yet, see [TODO](#todo) section below.
|
23
|
+
## Installation
|
27
24
|
|
28
|
-
|
29
|
-
support has been [temporarily removed](https://github.com/bytecodealliance/wasmtime/pull/1292)
|
30
|
-
from Wasmtime. Only 32 and 64-bit integers and floats are currently supported.
|
25
|
+
Add the `wasmtime` gem to your Gemfile and run `bundle install`:
|
31
26
|
|
32
|
-
|
27
|
+
```ruby
|
28
|
+
gem "wasmtime"
|
29
|
+
```
|
33
30
|
|
34
|
-
|
35
|
-
`x86_64-linux` and `x86_64-darwin-19`. Compiling the native extension requires
|
36
|
-
[Rust with rustup](https://rustup.rs/).
|
31
|
+
Alternatively, you can install the gem manually:
|
37
32
|
|
38
33
|
```sh
|
39
34
|
gem install wasmtime
|
40
35
|
```
|
41
36
|
|
42
|
-
|
43
|
-
formats are supported. With the following `fibonacci.wat` file in your current
|
44
|
-
directory.
|
45
|
-
|
46
|
-
```wat
|
47
|
-
;; fibonacci.wat
|
48
|
-
(module
|
49
|
-
(export "fib" (func $fib))
|
50
|
-
(func $fib (param $n i32) (result i32)
|
51
|
-
(if (i32.lt_s (get_local $n) (i32.const 2))
|
52
|
-
(return (i32.const 1))
|
53
|
-
)
|
54
|
-
(return
|
55
|
-
(i32.add
|
56
|
-
(call $fib (i32.sub (get_local $n) (i32.const 2)))
|
57
|
-
(call $fib (i32.sub (get_local $n) (i32.const 1)))
|
58
|
-
)
|
59
|
-
)
|
60
|
-
)
|
61
|
-
)
|
62
|
-
```
|
63
|
-
|
64
|
-
In a ruby file, `require 'wasmtime/require'` to activate the Wasmtime require
|
65
|
-
patch, allowing you to require any `.wasm` or `.wat` module as if it were a
|
66
|
-
Ruby file. Doing so will internally create a `Wasmtime::Instance` and define a
|
67
|
-
Ruby module with functions for each export.
|
68
|
-
|
69
|
-
Finally, invoke the `fib` export like so.
|
70
|
-
|
71
|
-
```rb
|
72
|
-
require 'wasmtime/require'
|
73
|
-
require_relative 'fibonacci'
|
74
|
-
|
75
|
-
puts Fibonacci.fib(11) #=> 89
|
76
|
-
```
|
77
|
-
|
78
|
-
If you don't like all the magic in the example above, you can do the same
|
79
|
-
without the require patch. If your project is going to be a dependency of others
|
80
|
-
use this approach too.
|
81
|
-
|
82
|
-
```rb
|
83
|
-
require 'wasmtime'
|
84
|
-
|
85
|
-
instance = Wasmtime::Instance.new('fibonacci.wat')
|
86
|
-
puts instance.exports['fib'].call(11) #=> 89
|
87
|
-
```
|
88
|
-
|
89
|
-
## Benchmarks
|
90
|
-
|
91
|
-
None yet. But they will be impressive.
|
92
|
-
|
93
|
-
## Examples
|
37
|
+
### Precompiled gems
|
94
38
|
|
95
|
-
|
96
|
-
need to compile the test WASM modules.
|
39
|
+
We recommend installing the `wasmtime` precompiled gems available for Linux, macOS, and Windows. Installing a precompiled gem avoids the need to compile from source code, which is generally slower and less reliable.
|
97
40
|
|
98
|
-
|
41
|
+
When installing the `wasmtime` gem for the first time using `bundle install`, Bundler will automatically download the precompiled gem for your current platform. However, you will need to inform Bundler of any additional platforms you plan to use.
|
99
42
|
|
100
|
-
|
101
|
-
- [wasm-pack](https://rustwasm.github.io/wasm-pack/installer/) - WASM module bundler
|
102
|
-
|
103
|
-
Install Ruby dependencies.
|
43
|
+
To do this, lock your Bundle to the required platforms you will need from the list of supported platforms below:
|
104
44
|
|
105
45
|
```sh
|
106
|
-
bundle
|
46
|
+
bundle lock --add-platform x86_64-linux # Standard Linux (e.g. Heroku, GitHub Actions, etc.)
|
47
|
+
bundle lock --add-platform x86_64-linux-musl # MUSL Linux deployments (i.e. Alpine Linux)
|
48
|
+
bundle lock --add-platform aarch64-linux # ARM64 Linux deployments (i.e. AWS Graviton2)
|
49
|
+
bundle lock --add-platform x86_64-darwin # Intel MacOS (i.e. pre-M1)
|
50
|
+
bundle lock --add-platform arm64-darwin # Apple Silicon MacOS (i.e. M1)
|
107
51
|
```
|
108
52
|
|
109
|
-
|
53
|
+
## Usage
|
110
54
|
|
111
|
-
|
112
|
-
bundle exec rake wasm
|
113
|
-
```
|
55
|
+
Example usage:
|
114
56
|
|
115
|
-
|
57
|
+
```ruby
|
58
|
+
require "wasmtime"
|
116
59
|
|
117
|
-
|
118
|
-
|
119
|
-
|
60
|
+
# Create an engine. Generally, you only need a single engine and can
|
61
|
+
# re-use it throughout your program.
|
62
|
+
engine = Wasmtime::Engine.new
|
120
63
|
|
121
|
-
|
122
|
-
|
123
|
-
|
64
|
+
# Compile a Wasm module from either Wasm or WAT. The compiled module is
|
65
|
+
# specific to the Engine's configuration.
|
66
|
+
mod = Wasmtime::Module.new(engine, <<~WAT)
|
67
|
+
(module
|
68
|
+
(func $hello (import "" "hello"))
|
69
|
+
(func (export "run") (call $hello))
|
70
|
+
)
|
71
|
+
WAT
|
124
72
|
|
125
|
-
|
126
|
-
|
127
|
-
```
|
73
|
+
# Create a store. Store can keep state to be re-used in Funcs.
|
74
|
+
store = Wasmtime::Store.new(engine, {count: 0})
|
128
75
|
|
129
|
-
|
76
|
+
# Define a Wasm function from Ruby code.
|
77
|
+
func = Wasmtime::Func.new(store, [], []) do |caller|
|
78
|
+
puts "Hello from Func!"
|
79
|
+
caller.store_data[:count] += 1
|
80
|
+
puts "Ran #{caller.store_data[:count]} time(s)"
|
81
|
+
end
|
130
82
|
|
131
|
-
|
132
|
-
|
133
|
-
```
|
83
|
+
# Build the Wasm instance by providing its imports.
|
84
|
+
instance = Wasmtime::Instance.new(store, mod, [func])
|
134
85
|
|
135
|
-
|
86
|
+
# Run the `run` export.
|
87
|
+
instance.invoke("run")
|
136
88
|
|
137
|
-
|
138
|
-
|
89
|
+
# Or: get the `run` export and call it.
|
90
|
+
instance.export("run").to_func.call
|
139
91
|
```
|
140
92
|
|
141
|
-
|
142
|
-
|
143
|
-
- Add support for raw memory access and other types of exports
|
144
|
-
- Add support for imports
|
145
|
-
- Implement more of the Wasmtime API
|
146
|
-
- Add benchmarks for WASM program against ones in pure Ruby and true native
|
147
|
-
- Add support for WASM Interface Types when they are supported in Wasmtime
|
93
|
+
For more, see [examples](https://github.com/bytecodealliance/wasmtime-rb/tree/main/examples)
|
94
|
+
or the [API documentation](https://bytecodealliance.github.io/wasmtime-rb/latest/).
|
data/ext/build.rs
ADDED
Binary file
|
Binary file
|
Binary file
|
data/lib/wasmtime/version.rb
CHANGED
data/lib/wasmtime.rb
CHANGED
@@ -1,7 +1,55 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
3
|
+
require_relative "wasmtime/version"
|
4
4
|
|
5
|
-
require
|
6
|
-
|
7
|
-
|
5
|
+
# Tries to require the extension for the given Ruby version first
|
6
|
+
begin
|
7
|
+
RUBY_VERSION =~ /(\d+\.\d+)/
|
8
|
+
require "wasmtime/#{Regexp.last_match(1)}/wasmtime_rb"
|
9
|
+
rescue LoadError
|
10
|
+
require "wasmtime/wasmtime_rb"
|
11
|
+
end
|
12
|
+
|
13
|
+
module Wasmtime
|
14
|
+
class Error < StandardError; end
|
15
|
+
|
16
|
+
# Raised when failing to convert the return value of a Ruby-backed Func to
|
17
|
+
# Wasm types.
|
18
|
+
class ResultError < Error; end
|
19
|
+
|
20
|
+
# Raised when converting an {Extern} to its concrete type fails.
|
21
|
+
class ConversionError < Error; end
|
22
|
+
|
23
|
+
# Raised on Wasm trap.
|
24
|
+
class Trap < Error
|
25
|
+
STACK_OVERFLOW = :stack_overflow
|
26
|
+
MEMORY_OUT_OF_BOUNDS = :memory_out_of_bounds
|
27
|
+
HEAP_MISALIGNED = :heap_misaligned
|
28
|
+
TABLE_OUT_OF_BOUNDS = :table_out_of_bounds
|
29
|
+
INDIRECT_CALL_TO_NULL = :indirect_call_to_null
|
30
|
+
BAD_SIGNATURE = :bad_signature
|
31
|
+
INTEGER_OVERFLOW = :integer_overflow
|
32
|
+
INTEGER_DIVISION_BY_ZERO = :integer_division_by_zero
|
33
|
+
BAD_CONVERSION_TO_INTEGER = :bad_conversion_to_integer
|
34
|
+
UNREACHABLE_CODE_REACHED = :unreachable_code_reached
|
35
|
+
INTERRUPT = :interrupt
|
36
|
+
ALWAYS_TRAP_ADAPTER = :always_trap_adapter
|
37
|
+
OUT_OF_FUEL = :out_of_fuel
|
38
|
+
UNKNOWN = :unknown
|
39
|
+
end
|
40
|
+
|
41
|
+
# Raised when a WASI program terminates early by calling +exit+.
|
42
|
+
class WasiExit < Error
|
43
|
+
# @return [Integer] The system exit code.
|
44
|
+
attr_reader(:code)
|
45
|
+
|
46
|
+
def initialize(code)
|
47
|
+
@code = code
|
48
|
+
end
|
49
|
+
|
50
|
+
# @return [String]
|
51
|
+
def message
|
52
|
+
"WASI exit with code #{code}"
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
metadata
CHANGED
@@ -1,67 +1,60 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wasmtime
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: x86_64-linux
|
6
6
|
authors:
|
7
|
-
-
|
8
|
-
autorequire:
|
9
|
-
bindir:
|
7
|
+
- The Wasmtime Project Developers
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-12-21 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
|
-
description:
|
13
|
+
description: A Ruby binding for Wasmtime, a WebAssembly runtime.
|
14
14
|
email:
|
15
|
-
-
|
15
|
+
- hello@bytecodealliance.org
|
16
16
|
executables: []
|
17
17
|
extensions: []
|
18
18
|
extra_rdoc_files: []
|
19
19
|
files:
|
20
|
-
- ".cargo/config"
|
21
|
-
- CHANGELOG.md
|
22
|
-
- Cargo.lock
|
23
|
-
- Cargo.toml
|
24
20
|
- LICENSE
|
25
21
|
- README.md
|
26
|
-
- ext/
|
27
|
-
- ext/wasmtime/Rakefile
|
28
|
-
- ext/wasmtime/extconf.rb
|
29
|
-
- lib/tasks/compile.rake
|
22
|
+
- ext/build.rs
|
30
23
|
- lib/wasmtime.rb
|
31
|
-
- lib/wasmtime/
|
32
|
-
- lib/wasmtime/
|
33
|
-
- lib/wasmtime/
|
24
|
+
- lib/wasmtime/2.7/wasmtime_rb.so
|
25
|
+
- lib/wasmtime/3.0/wasmtime_rb.so
|
26
|
+
- lib/wasmtime/3.1/wasmtime_rb.so
|
34
27
|
- lib/wasmtime/version.rb
|
35
|
-
|
36
|
-
- src/func.rs
|
37
|
-
- src/instance.rs
|
38
|
-
- src/lib.rs
|
39
|
-
- src/memory.rs
|
40
|
-
- src/ruby_type.rs
|
41
|
-
- src/vm.rs
|
42
|
-
homepage: https://github.com/dtcristo/wasmtime-ruby
|
28
|
+
homepage: https://github.com/BytecodeAlliance/wasmtime-rb
|
43
29
|
licenses:
|
44
|
-
- Apache-2.0
|
30
|
+
- Apache-2.0
|
45
31
|
metadata:
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
32
|
+
homepage_uri: https://github.com/BytecodeAlliance/wasmtime-rb
|
33
|
+
source_code_uri: https://github.com/BytecodeAlliance/wasmtime-rb
|
34
|
+
cargo_crate_name: ext
|
35
|
+
changelog_uri: https://github.com/bytecodealliance/wasmtime-rb/blob/main/CHANGELOG.md
|
36
|
+
post_install_message:
|
37
|
+
rdoc_options:
|
38
|
+
- "--exclude"
|
39
|
+
- vendor
|
50
40
|
require_paths:
|
51
41
|
- lib
|
52
42
|
required_ruby_version: !ruby/object:Gem::Requirement
|
53
43
|
requirements:
|
54
44
|
- - ">="
|
55
45
|
- !ruby/object:Gem::Version
|
56
|
-
version: 2.
|
46
|
+
version: '2.7'
|
47
|
+
- - "<"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: 3.2.dev
|
57
50
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
58
51
|
requirements:
|
59
52
|
- - ">="
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
62
55
|
requirements: []
|
63
|
-
rubygems_version: 3.
|
64
|
-
signing_key:
|
56
|
+
rubygems_version: 3.3.22
|
57
|
+
signing_key:
|
65
58
|
specification_version: 4
|
66
|
-
summary:
|
59
|
+
summary: Wasmtime bindings for Ruby
|
67
60
|
test_files: []
|
data/.cargo/config
DELETED
data/CHANGELOG.md
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
# Changelog
|
2
|
-
|
3
|
-
All notable changes to this project will be documented in this file.
|
4
|
-
|
5
|
-
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
6
|
-
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
7
|
-
|
8
|
-
## [Unreleased]
|
9
|
-
|
10
|
-
## [0.2.0] - 2020-05-19
|
11
|
-
|
12
|
-
- Exported functions now live on `Wasmtime::Instance#exports` instead of `#funcs`.
|
13
|
-
- Exports hash is now keyed by strings instead of symbols.
|
14
|
-
- Added support for `Wasmtime::Memory` exports with `#data_size`, `#size` and `#grow` methods.
|
15
|
-
|
16
|
-
## [0.1.0] - 2020-05-07
|
17
|
-
|
18
|
-
### Added
|
19
|
-
|
20
|
-
- Initial release.
|
21
|
-
- Support for calling exported functions on a module.
|
22
|
-
- Support for 32 and 64-bit integers and floats in arguments and as return values.
|
23
|
-
- Require patch for defining a Ruby module with functions for each export.
|
24
|
-
|
25
|
-
[unreleased]: https://github.com/dtcristo/wasmtime-ruby/compare/v0.2.0...HEAD
|
26
|
-
[0.2.0]: https://github.com/dtcristo/wasmtime-ruby/releases/tag/v0.2.0
|
27
|
-
[0.1.0]: https://github.com/dtcristo/wasmtime-ruby/releases/tag/v0.1.0
|