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!