ruby_wasm 2.6.0-aarch64-linux → 2.6.2-aarch64-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.
data/package.json CHANGED
@@ -5,8 +5,9 @@
5
5
  "packages/npm-packages/*"
6
6
  ],
7
7
  "devDependencies": {
8
- "@playwright/test": "^1.43.1",
8
+ "@playwright/test": "^1.44.1",
9
9
  "@rollup/plugin-json": "^6.1.0",
10
- "rollup": "^4.17.2"
10
+ "rollup": "^4.18.0",
11
+ "@bytecodealliance/jco": "./vendor/jco"
11
12
  }
12
13
  }
@@ -30,9 +30,10 @@ def npm_pkg_rubies_cache_key(pkg)
30
30
  require "open3"
31
31
  cmd = build_command + ["--print-ruby-cache-key"]
32
32
  chdir = pkg[:gemfile] ? File.dirname(pkg[:gemfile]) : Dir.pwd
33
- stdout, status = Open3.capture2(*cmd, chdir: chdir)
33
+ env = { "RUBY_WASM_ROOT" => LIB_ROOT }
34
+ stdout, status = Open3.capture2(env, *cmd, chdir: chdir)
34
35
  unless status.success?
35
- raise "Command failed with status (#{status.exitstatus}): #{cmd.join ""}"
36
+ raise "Command failed with status (#{status.exitstatus}): #{cmd.join " "}"
36
37
  end
37
38
  require "json"
38
39
  JSON.parse(stdout)["hexdigest"]
@@ -79,7 +80,7 @@ namespace :npm do
79
80
  component_path = File.join(pkg_dir, "tmp", "ruby.component.wasm")
80
81
  FileUtils.mkdir_p(File.dirname(component_path))
81
82
 
82
- sh env.merge("RUBY_WASM_EXPERIMENTAL_COMPONENT_MODEL" => "1"),
83
+ sh env.merge("RUBY_WASM_EXPERIMENTAL_DYNAMIC_LINKING" => "1"),
83
84
  *build_command, "-o", component_path
84
85
  sh "npx", "jco", "transpile",
85
86
  "--no-wasi-shim", "--instantiation", "--valid-lifting-optimization",
@@ -33,6 +33,7 @@ module RubyWasm
33
33
  @source: BuildSource
34
34
 
35
35
  attr_reader toolchain: Toolchain
36
+ attr_reader baseruby: BaseRubyProduct
36
37
 
37
38
  def initialize: (
38
39
  string name,
@@ -168,7 +169,7 @@ module RubyWasm
168
169
  def feature_name: (CrossRubyProduct crossruby) -> String
169
170
 
170
171
  def make_args: (CrossRubyProduct crossruby) -> Array[String]
171
- def build: (BuildExecutor executor, CrossRubyProduct crossruby) -> void
172
+ def build: (BuildExecutor executor, CrossRubyProduct crossruby, Array[String] extra_mkargs) -> void
172
173
  def do_extconf: (BuildExecutor executor, CrossRubyProduct crossruby) -> void
173
174
  def do_install_rb: (BuildExecutor executor, CrossRubyProduct crossruby) -> void
174
175
 
@@ -14,10 +14,12 @@ module RubyWasm
14
14
  target_triplet: String,
15
15
  profile: String,
16
16
  stdlib: bool,
17
+ without_stdlib_components: Array[String],
17
18
  disable_gems: bool,
18
19
  gemfile: String?,
19
20
  patches: Array[String],
20
21
  format: String,
22
+ dest_dir: String,
21
23
  }
22
24
 
23
25
  DEFAULT_RUBIES_DIR: string
@@ -33,4 +33,12 @@ module RubyWasmExt
33
33
  def import_name_map: (Hash[String, String] map) -> void
34
34
  def encode: () -> bytes
35
35
  end
36
+
37
+ class WasiVirt
38
+ def initialize: () -> void
39
+ def allow_all: () -> void
40
+ def map_dir: (String guest_path, String host_path) -> void
41
+ def finish: () -> bytes
42
+ def compose: (bytes component_bytes) -> bytes
43
+ end
36
44
  end
@@ -23,6 +23,7 @@ class RubyWasm::Packager
23
23
  src: RubyWasm::Packager::build_source,
24
24
  default_exts: String,
25
25
  suffix: String,
26
+ gem_home: String?,
26
27
  }
27
28
 
28
29
  type bytes = String
@@ -45,7 +46,7 @@ class RubyWasm::Packager
45
46
 
46
47
  def root: () -> string
47
48
 
48
- ALL_DEFAULT_EXTS: string
49
+ ALL_DEFAULT_EXTS: String
49
50
 
50
51
  def build_options: () -> Hash[Symbol, untyped]
51
52
  def full_build_options: () -> Hash[Symbol, untyped]
@@ -56,7 +57,8 @@ class RubyWasm::Packager
56
57
  @packager: RubyWasm::Packager
57
58
  def initialize: (RubyWasm::Packager) -> void
58
59
  def build: (RubyWasm::BuildExecutor, untyped options) -> String
59
- def build_and_link_exts: (RubyWasm::BuildExecutor, bytes module_bytes) -> bytes
60
+ def build_gem_exts: (RubyWasm::BuildExecutor, string gem_home) -> void
61
+ def link_gem_exts: (RubyWasm::BuildExecutor, string ruby_root, string gem_home, bytes module_bytes) -> bytes
60
62
 
61
63
  extend Forwardable
62
64
 
@@ -72,16 +74,19 @@ class RubyWasm::Packager
72
74
  def initialize: (RubyWasm::Packager) -> void
73
75
  def build: (RubyWasm::BuildExecutor, untyped options) -> String
74
76
  def specs_with_extensions: () -> Array[[untyped, Array[string]]]
75
- def build_and_link_exts: (RubyWasm::BuildExecutor, bytes module_bytes) -> bytes
77
+ def build_gem_exts: (RubyWasm::BuildExecutor, string gem_home) -> void
78
+ def link_gem_exts: (RubyWasm::BuildExecutor, string ruby_root, string gem_home, bytes module_bytes) -> bytes
79
+ def wasi_exec_model: () -> String
80
+ def with_unbundled_env: () { () -> void } -> void
76
81
  end
77
82
 
78
83
  class DynamicLinking < RubyWasm::Packager::Core::BuildStrategy
79
84
  @build: RubyWasm::Build
80
85
  def derive_build: () -> RubyWasm::Build
81
- def build_exts: (RubyWasm::BuildExecutor, RubyWasm::Build) -> void
82
86
  def name: () -> string
83
87
 
84
- private def link_exts: (RubyWasm::BuildExecutor, RubyWasm::Build) -> bytes
88
+ private def _build_gem_exts: (RubyWasm::BuildExecutor, RubyWasm::Build, string gem_home) -> void
89
+ private def _link_gem_exts: (RubyWasm::BuildExecutor, RubyWasm::Build, string ruby_root, string gem_home, bytes module_bytes) -> bytes
85
90
  end
86
91
 
87
92
  class StaticLinking < RubyWasm::Packager::Core::BuildStrategy
@@ -102,6 +107,7 @@ class RubyWasm::Packager
102
107
  def initialize: (string dest_dir, RubyWasm::Packager) -> void
103
108
  def package_ruby_root: (String tarball, RubyWasm::BuildExecutor) -> void
104
109
  def remove_stdlib: (RubyWasm::BuildExecutor) -> void
110
+ def remove_stdlib_component: (RubyWasm::BuildExecutor, string) -> void
105
111
  def package_gems: () -> void
106
112
 
107
113
  def setup_rb_content: () -> String
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_wasm
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.6.0
4
+ version: 2.6.2
5
5
  platform: aarch64-linux
6
6
  authors:
7
7
  - Yuta Saito
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-05-05 00:00:00.000000000 Z
11
+ date: 2024-06-29 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Ruby to WebAssembly toolkit. This gem takes Ruby code and Gemfile, and
14
14
  packages them with Ruby runtime into a WebAssembly binary.
@@ -32,9 +32,7 @@ files:
32
32
  - docs/cheat_sheet.md
33
33
  - docs/faq.md
34
34
  - exe/rbwasm
35
- - ext/.gitignore
36
- - ext/README.md
37
- - ext/extinit.c.erb
35
+ - ext/ruby_wasm/README.md
38
36
  - lib/ruby_wasm.rb
39
37
  - lib/ruby_wasm/3.1/ruby_wasm.so
40
38
  - lib/ruby_wasm/3.2/ruby_wasm.so
@@ -46,6 +44,7 @@ files:
46
44
  - lib/ruby_wasm/build/product.rb
47
45
  - lib/ruby_wasm/build/product/baseruby.rb
48
46
  - lib/ruby_wasm/build/product/crossruby.rb
47
+ - lib/ruby_wasm/build/product/crossruby/extinit.c.erb
49
48
  - lib/ruby_wasm/build/product/libyaml.rb
50
49
  - lib/ruby_wasm/build/product/openssl.rb
51
50
  - lib/ruby_wasm/build/product/product.rb
data/ext/.gitignore DELETED
@@ -1,2 +0,0 @@
1
- *.o
2
- link.filelist
data/ext/README.md DELETED
@@ -1,11 +0,0 @@
1
- # Ruby extensions
2
- `ruby.wasm` uses two C extensions to turn Ruby in to a guest module.
3
- The `js` extension enables Ruby to use JavaScript APIs.
4
- The `witapi` extension exports Ruby's interpreter interface to allow the host to use the Ruby interpreter.
5
- In other words, `js` allows Ruby to talk to Javascript and `witapi` allows a host to talk to Ruby.
6
-
7
- Under each subdirectory, there is a `bindgen/*.wit` file outlining the interfaces for each form of communication.
8
- Specifically, `bindgen/rb-js-abi-host.wit` describes embedder's requirements and `bindgen/rb-js-abi-guest.wit` describes exported API from Ruby interpreter.
9
- The `.c` and `.h` files are autogenerated from [wit-bindgen](https://github.com/bytecodealliance/wit-bindgen#host-runtimes-for-components).
10
- You can read more about it in the [contributing guide](/CONTRIBUTING.md#re-bindgen-from-wit-files).
11
- Note that we currently do not use the latest version of wit-bindgen because of how fast it is changing, with features being changed or even [removed](https://github.com/bytecodealliance/wit-bindgen/pull/346) at times.