nixpkgs already has infrastructure to compile to wasi the same way you compile to other platforms like arm, darwin (macOS), musl, etc.
nix-build -A pkgsCross.wasi32.$pkg
i haven’t found any $pkg there that actually builds though. coreutils depends on posix stuff, busybox tries to include a non-existent netdb.h file. even hello barfs inside i think some autotools-generated wrapper around fcntl.
i don’t understand enough about wasm to know if it really is reasonable to think of it as a “system” the same was x86_64-linux or aarch64-multiplatform is a “system”, but if so i’d love the equivalent of this blog post showing how to use (or fix) the wasi32 system!
nixpkgs already has infrastructure to compile to wasi the same way you compile to other platforms like arm, darwin (macOS), musl, etc.
nix-build -A pkgsCross.wasi32.$pkg
i haven’t found any
$pkg
there that actually builds though.coreutils
depends on posix stuff,busybox
tries to include a non-existentnetdb.h
file. evenhello
barfs inside i think some autotools-generated wrapper aroundfcntl
.i don’t understand enough about wasm to know if it really is reasonable to think of it as a “system” the same was
x86_64-linux
oraarch64-multiplatform
is a “system”, but if so i’d love the equivalent of this blog post showing how to use (or fix) the wasi32 system!