Skip to content

Commit a3c5017

Browse files
build-system: add missing binaryen dependency in npm packaging task
1 parent 76a0047 commit a3c5017

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

lib/ruby_wasm/build_system/toolchain.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,10 @@ def install_task
111111
@task
112112
end
113113

114+
def binaryen_install_task
115+
@binaryen_install_task
116+
end
117+
114118
def download_url(version_major, version_minor)
115119
version = "#{version_major}.#{version_minor}"
116120
assets = [
@@ -176,7 +180,11 @@ def fetch_task
176180
mkdir_p @binaryen_path
177181
sh "tar -C #{@binaryen_path} --strip-component 1 -xzf #{binaryen_tarball}"
178182
end
183+
@binaryen_install_task ||= task "binaryen:install" => [binaryen]
179184
required << binaryen
185+
else
186+
# no-op when already available
187+
@binaryen_install_task ||= task "binaryen:install"
180188
end
181189
multitask "wasi-sdk:install" => required
182190
end

tasks/packaging.rake

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,17 @@ WAPM_PACKAGES = [
1111
namespace :npm do
1212
wasi_vfs = RubyWasm::WasiVfsProduct.new("build")
1313
wasi_vfs.define_task
14+
wasi_sdk = TOOLCHAINS["wasi-sdk"]
1415
tools = {
1516
"WASI_VFS_CLI" => wasi_vfs.cli_bin_path,
16-
"WASMOPT" => TOOLCHAINS["wasi-sdk"].wasm_opt,
17+
"WASMOPT" => wasi_sdk.wasm_opt,
1718
}
1819
NPM_PACKAGES.each do |pkg|
1920
base_dir = Dir.pwd
2021
pkg_dir = "#{Dir.pwd}/packages/npm-packages/#{pkg[:name]}"
2122

2223
desc "Build npm package #{pkg[:name]}"
23-
task pkg[:name] => ["build:#{pkg[:build]}", wasi_vfs.cli_install_task] do
24+
task pkg[:name] => ["build:#{pkg[:build]}", wasi_vfs.cli_install_task, wasi_sdk.binaryen_install_task] do
2425
sh "npm ci", chdir: pkg_dir
2526
sh tools, "#{pkg_dir}/build-package.sh #{base_dir}/rubies/#{pkg[:build]}"
2627
sh "npm pack", chdir: pkg_dir

0 commit comments

Comments
 (0)