You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is one of the main problems we have with RustPython, as the environment we are deploying to is a non-browser strict wasm32-unknown-unknown environment without wasm-bindgen support.
RustPython by default expects wasm32-unknown-unknown to support wasm-bindgen, thus in our fork of RustPython we have to make the following changes that can be seen in this pull request: https://github.com/demergent-labs/RustPython/pull/1/files
1
In vm/Cargo.toml:
We need to change this:
getrandom = { version = "0.2.6", features = ["js"] }
To this:
getrandom = { version = "0.2.6", features = ["custom"] }
The js feature assumes wasm-bindgen support.
2
In vm/Cargo.toml:
We need to change this:
chrono = { version = "0.4.19", features = ["wasmbind"] }
To this, or to a newer version without the wasmbind feature:
chrono = { version = "=0.4.19" }
3
In vm/Cargo.toml we need to comment out the following:
In vm/src/stdlib/time.rs we need to comment out everything from line 94-102, basically get rid of all of the wasm_bindgen stuff. We also need a way to provide our own time functionality, which comes from a crate called ic_cdk, which has an API ic_cdk::api::time that will give us system time for our environment.
5
In vm/src/vm/vm_object we need to comment out all wasm_bindgen functionality, from lines 45-55.
Assuming wasm-bindgen support requires us to maintain a fork with these many changes, it would be great to upstream the ability to turn off wasm-bindgen so that our fork can be much smaller or even disappear.
Thanks!
The text was updated successfully, but these errors were encountered:
We'd better to add "wasm-bindgen" feature and disable them without the features.
On the other hand, we need to package the dependency reversed way to allow outer project can inject their own implementation. And then wasm-bindgen impl can be one of them.
Any update on this? It's difficult for us to update to the latest RustPython because we have to track down all of the wasm-bindgen dependencies and manually turn them off.
wasm32-unknown-unknown != wasm-bindgen support.
This is one of the main problems we have with RustPython, as the environment we are deploying to is a non-browser strict wasm32-unknown-unknown environment without wasm-bindgen support.
RustPython by default expects wasm32-unknown-unknown to support wasm-bindgen, thus in our fork of RustPython we have to make the following changes that can be seen in this pull request: https://github.com/demergent-labs/RustPython/pull/1/files
1
In
vm/Cargo.toml
:We need to change this:
To this:
The
js
feature assumes wasm-bindgen support.2
In
vm/Cargo.toml
:We need to change this:
To this, or to a newer version without the
wasmbind
feature:3
In
vm/Cargo.toml
we need to comment out the following:4
In
vm/src/stdlib/time.rs
we need to comment out everything from line 94-102, basically get rid of all of thewasm_bindgen
stuff. We also need a way to provide our own time functionality, which comes from a crate calledic_cdk
, which has an APIic_cdk::api::time
that will give us system time for our environment.5
In
vm/src/vm/vm_object
we need to comment out allwasm_bindgen
functionality, from lines 45-55.Assuming
wasm-bindgen
support requires us to maintain a fork with these many changes, it would be great to upstream the ability to turn off wasm-bindgen so that our fork can be much smaller or even disappear.Thanks!
The text was updated successfully, but these errors were encountered: