Stream: git-wasmtime

Topic: wasmtime / issue #9303 Support nested vendored dependenci...


view this post on Zulip Wasmtime GitHub notifications bot (Sep 24 2024 at 20:06):

MarinPostma opened issue #9303:

Thanks for filing a feature request! Please fill out the TODOs below.

Feature

It seems that the only way to import other packages right now is to vendor them, so I tried to do that by symlinking the dependee
into the dependant deps folder (showing dirs only for conciseness):
```
❯ tree -d -l wit
wit
└── deps -> ../../wasi-http/wit
└── deps
├── cli
├── clocks
├── filesystem
├── io
├── random
└── sockets

Then i attempt to generate bindings like so:
```rust
bindgen!({
    path: "../adhoc/wit",
    with: {
        "wasi:http/proxy@0.2.1": http_proxy,
    }
});

and I get the following compile error:

error: failed to resolve directory while parsing WIT for path [/Users/mpostma/Documents/code/rust/wasm-experiments/adhoc/wit]

       Caused by:
           0: failed to parse dependency directory: /Users/mpostma/Documents/code/rust/wasm-experiments/adhoc/wit/deps
           1: failed to parse package: /Users/mpostma/Documents/code/rust/wasm-experiments/adhoc/wit/deps/deps
           2: no `package` header was found in any WIT file for this package

It seems to be because the second level of deps doesn't contain any WIT file, but only directories.

Benefit

I'm not sure what's the current plan, or the recommended way to deal with imports right now. I suspect that all of this will converge to a more streamlined experience, but until then, it would be nice if we could just symlink components as dependency for other components.

view this post on Zulip Wasmtime GitHub notifications bot (Sep 24 2024 at 20:30):

alexcrichton commented on issue #9303:

Thanks for the report! The structure of the wit directory is mostly defined by the wasm-tools project at this time (and doesn't have the greatest documentation unfortunately). You might be interested in https://github.com/bytecodealliance/wasm-tools/issues/1461 and https://github.com/bytecodealliance/wasm-tools/issues/1462 as well.

Overall relaxing various bits of the wit directory are not the easiest thing to do as it needs to be balanced with the variety of consumers of WIT. If possible features like https://github.com/bytecodealliance/wasmtime/pull/9288 are intended to help with this, though.

view this post on Zulip Wasmtime GitHub notifications bot (Sep 24 2024 at 20:44):

MarinPostma commented on issue #9303:

thanks @alexcrichton :folded_hands:


Last updated: Dec 23 2024 at 13:07 UTC