python decoder workaround

This commit is contained in:
Martin Kavík 2024-07-05 02:09:26 +02:00
parent e01752ecec
commit 95450ce52a
5 changed files with 109 additions and 122 deletions

208
Cargo.lock generated
View file

@ -1031,21 +1031,29 @@ dependencies = [
[[package]] [[package]]
name = "cranelift-bforest" name = "cranelift-bforest"
version = "0.109.0" version = "0.110.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/bytecodealliance/wasmtime?rev=842fa767acdc26f096ac108605353b8b71e23169#842fa767acdc26f096ac108605353b8b71e23169"
checksum = "0b6b33d7e757a887989eb18b35712b2a67d96171ec3149d1bfb657b29b7b367c"
dependencies = [ dependencies = [
"cranelift-entity", "cranelift-entity",
] ]
[[package]]
name = "cranelift-bitset"
version = "0.110.0"
source = "git+https://github.com/bytecodealliance/wasmtime?rev=842fa767acdc26f096ac108605353b8b71e23169#842fa767acdc26f096ac108605353b8b71e23169"
dependencies = [
"serde",
"serde_derive",
]
[[package]] [[package]]
name = "cranelift-codegen" name = "cranelift-codegen"
version = "0.109.0" version = "0.110.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/bytecodealliance/wasmtime?rev=842fa767acdc26f096ac108605353b8b71e23169#842fa767acdc26f096ac108605353b8b71e23169"
checksum = "b9acf15cb22be42d07c3b57d7856329cb228b7315d385346149df2566ad5e4aa"
dependencies = [ dependencies = [
"bumpalo", "bumpalo",
"cranelift-bforest", "cranelift-bforest",
"cranelift-bitset",
"cranelift-codegen-meta", "cranelift-codegen-meta",
"cranelift-codegen-shared", "cranelift-codegen-shared",
"cranelift-control", "cranelift-control",
@ -1062,43 +1070,39 @@ dependencies = [
[[package]] [[package]]
name = "cranelift-codegen-meta" name = "cranelift-codegen-meta"
version = "0.109.0" version = "0.110.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/bytecodealliance/wasmtime?rev=842fa767acdc26f096ac108605353b8b71e23169#842fa767acdc26f096ac108605353b8b71e23169"
checksum = "e934d301392b73b3f8b0540391fb82465a0f179a3cee7c726482ac4727efcc97"
dependencies = [ dependencies = [
"cranelift-codegen-shared", "cranelift-codegen-shared",
] ]
[[package]] [[package]]
name = "cranelift-codegen-shared" name = "cranelift-codegen-shared"
version = "0.109.0" version = "0.110.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/bytecodealliance/wasmtime?rev=842fa767acdc26f096ac108605353b8b71e23169#842fa767acdc26f096ac108605353b8b71e23169"
checksum = "8afb2a2566b3d54b854dfb288b3b187f6d3d17d6f762c92898207eba302931da"
[[package]] [[package]]
name = "cranelift-control" name = "cranelift-control"
version = "0.109.0" version = "0.110.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/bytecodealliance/wasmtime?rev=842fa767acdc26f096ac108605353b8b71e23169#842fa767acdc26f096ac108605353b8b71e23169"
checksum = "0100f33b704cdacd01ad66ff41f8c5030d57cbff078e2a4e49ab1822591299fa"
dependencies = [ dependencies = [
"arbitrary", "arbitrary",
] ]
[[package]] [[package]]
name = "cranelift-entity" name = "cranelift-entity"
version = "0.109.0" version = "0.110.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/bytecodealliance/wasmtime?rev=842fa767acdc26f096ac108605353b8b71e23169#842fa767acdc26f096ac108605353b8b71e23169"
checksum = "a8cfdc315e5d18997093e040a8d234bea1ac1e118a716d3e30f40d449e78207b"
dependencies = [ dependencies = [
"cranelift-bitset",
"serde", "serde",
"serde_derive", "serde_derive",
] ]
[[package]] [[package]]
name = "cranelift-frontend" name = "cranelift-frontend"
version = "0.109.0" version = "0.110.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/bytecodealliance/wasmtime?rev=842fa767acdc26f096ac108605353b8b71e23169#842fa767acdc26f096ac108605353b8b71e23169"
checksum = "0f74b84f16af2e982b0c0c72233503d9d55cbfe3865dbe807ca28dc6642a28b5"
dependencies = [ dependencies = [
"cranelift-codegen", "cranelift-codegen",
"log", "log",
@ -1108,15 +1112,13 @@ dependencies = [
[[package]] [[package]]
name = "cranelift-isle" name = "cranelift-isle"
version = "0.109.0" version = "0.110.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/bytecodealliance/wasmtime?rev=842fa767acdc26f096ac108605353b8b71e23169#842fa767acdc26f096ac108605353b8b71e23169"
checksum = "adf306d3dde705fb94bd48082f01d38c4ededc74293a4c007805f610bf08bc6e"
[[package]] [[package]]
name = "cranelift-native" name = "cranelift-native"
version = "0.109.0" version = "0.110.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/bytecodealliance/wasmtime?rev=842fa767acdc26f096ac108605353b8b71e23169#842fa767acdc26f096ac108605353b8b71e23169"
checksum = "1ea0ebdef7aff4a79bcbc8b6495f31315f16b3bf311152f472eaa8d679352581"
dependencies = [ dependencies = [
"cranelift-codegen", "cranelift-codegen",
"libc", "libc",
@ -1125,9 +1127,8 @@ dependencies = [
[[package]] [[package]]
name = "cranelift-wasm" name = "cranelift-wasm"
version = "0.109.0" version = "0.110.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/bytecodealliance/wasmtime?rev=842fa767acdc26f096ac108605353b8b71e23169#842fa767acdc26f096ac108605353b8b71e23169"
checksum = "d549108a1942065cdbac3bb96c2952afa0e1b9a3beff4b08c4308ac72257576d"
dependencies = [ dependencies = [
"cranelift-codegen", "cranelift-codegen",
"cranelift-entity", "cranelift-entity",
@ -3423,9 +3424,9 @@ dependencies = [
[[package]] [[package]]
name = "object" name = "object"
version = "0.36.0" version = "0.36.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "576dfe1fc8f9df304abb159d767a29d0476f7750fbf8aa7ad07816004a207434" checksum = "081b846d1d56ddfc18fdf1a922e4f6e07a11768ea1b92dec44e42b72712ccfce"
dependencies = [ dependencies = [
"crc32fast", "crc32fast",
"hashbrown 0.14.5", "hashbrown 0.14.5",
@ -5926,15 +5927,6 @@ dependencies = [
"syn 2.0.61", "syn 2.0.61",
] ]
[[package]]
name = "wasm-encoder"
version = "0.209.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7b4a05336882dae732ce6bd48b7e11fe597293cb72c13da4f35d7d5f8d53b2a7"
dependencies = [
"leb128",
]
[[package]] [[package]]
name = "wasm-encoder" name = "wasm-encoder"
version = "0.211.1" version = "0.211.1"
@ -5959,9 +5951,9 @@ dependencies = [
[[package]] [[package]]
name = "wasmparser" name = "wasmparser"
version = "0.209.1" version = "0.211.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "07035cc9a9b41e62d3bb3a3815a66ab87c993c06fe1cf6b2a3f2a18499d937db" checksum = "3189cc8a91f547390e2f043ca3b3e3fe0892f7d581767fd4e4b7f3dc3fe8e561"
dependencies = [ dependencies = [
"ahash", "ahash",
"bitflags 2.5.0", "bitflags 2.5.0",
@ -5973,23 +5965,24 @@ dependencies = [
[[package]] [[package]]
name = "wasmprinter" name = "wasmprinter"
version = "0.209.1" version = "0.211.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ceca8ae6eaa8c7c87b33c25c53bdf299f8c2a764aee1179402ff7652ef3a6859" checksum = "23708dd7a986bd9b12fca26eff525bbc3659a336e947fd9ed9fdf79086825aec"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"termcolor",
"wasmparser", "wasmparser",
] ]
[[package]] [[package]]
name = "wasmtime" name = "wasmtime"
version = "22.0.0" version = "23.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/bytecodealliance/wasmtime?rev=842fa767acdc26f096ac108605353b8b71e23169#842fa767acdc26f096ac108605353b8b71e23169"
checksum = "786d8b5e7a4d54917c5ebe555b9667337e5f93383f49bddaaeec2eba68093b45"
dependencies = [ dependencies = [
"addr2line", "addr2line",
"anyhow", "anyhow",
"async-trait", "async-trait",
"bitflags 2.5.0",
"bumpalo", "bumpalo",
"cc", "cc",
"cfg-if", "cfg-if",
@ -6004,8 +5997,7 @@ dependencies = [
"log", "log",
"mach2", "mach2",
"memfd", "memfd",
"memoffset", "object 0.36.1",
"object 0.36.0",
"once_cell", "once_cell",
"paste", "paste",
"postcard", "postcard",
@ -6019,7 +6011,7 @@ dependencies = [
"smallvec 1.13.2", "smallvec 1.13.2",
"sptr", "sptr",
"target-lexicon", "target-lexicon",
"wasm-encoder 0.209.1", "wasm-encoder",
"wasmparser", "wasmparser",
"wasmtime-asm-macros", "wasmtime-asm-macros",
"wasmtime-cache", "wasmtime-cache",
@ -6039,18 +6031,16 @@ dependencies = [
[[package]] [[package]]
name = "wasmtime-asm-macros" name = "wasmtime-asm-macros"
version = "22.0.0" version = "23.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/bytecodealliance/wasmtime?rev=842fa767acdc26f096ac108605353b8b71e23169#842fa767acdc26f096ac108605353b8b71e23169"
checksum = "d697d99c341d4a9ffb72f3af7a02124d233eeb59aee010f36d88e97cca553d5e"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
] ]
[[package]] [[package]]
name = "wasmtime-cache" name = "wasmtime-cache"
version = "22.0.0" version = "23.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/bytecodealliance/wasmtime?rev=842fa767acdc26f096ac108605353b8b71e23169#842fa767acdc26f096ac108605353b8b71e23169"
checksum = "916610f9ae9a6c22deb25bba2e6247ba9f00b093d30620875203b91328a1adfa"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"base64 0.21.7", "base64 0.21.7",
@ -6068,9 +6058,8 @@ dependencies = [
[[package]] [[package]]
name = "wasmtime-component-macro" name = "wasmtime-component-macro"
version = "22.0.0" version = "23.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/bytecodealliance/wasmtime?rev=842fa767acdc26f096ac108605353b8b71e23169#842fa767acdc26f096ac108605353b8b71e23169"
checksum = "b29b462b068e73b5b27fae092a27f47e5937cabf6b26be2779c978698a52feca"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"proc-macro2", "proc-macro2",
@ -6083,15 +6072,13 @@ dependencies = [
[[package]] [[package]]
name = "wasmtime-component-util" name = "wasmtime-component-util"
version = "22.0.0" version = "23.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/bytecodealliance/wasmtime?rev=842fa767acdc26f096ac108605353b8b71e23169#842fa767acdc26f096ac108605353b8b71e23169"
checksum = "f9d2912c53d9054984b380dfbd7579f9c3681b2a73b903a56bd71a1c4f175f1e"
[[package]] [[package]]
name = "wasmtime-cranelift" name = "wasmtime-cranelift"
version = "22.0.0" version = "23.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/bytecodealliance/wasmtime?rev=842fa767acdc26f096ac108605353b8b71e23169#842fa767acdc26f096ac108605353b8b71e23169"
checksum = "a3975deafea000457ba84355c7c0fce0372937204f77026510b7b454f28a3a65"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"cfg-if", "cfg-if",
@ -6103,7 +6090,7 @@ dependencies = [
"cranelift-wasm", "cranelift-wasm",
"gimli", "gimli",
"log", "log",
"object 0.36.0", "object 0.36.1",
"target-lexicon", "target-lexicon",
"thiserror", "thiserror",
"wasmparser", "wasmparser",
@ -6113,23 +6100,24 @@ dependencies = [
[[package]] [[package]]
name = "wasmtime-environ" name = "wasmtime-environ"
version = "22.0.0" version = "23.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/bytecodealliance/wasmtime?rev=842fa767acdc26f096ac108605353b8b71e23169#842fa767acdc26f096ac108605353b8b71e23169"
checksum = "f444e900e848b884d8a8a2949b6f5b92af642a3e663ff8fbe78731143a55be61"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"cpp_demangle", "cpp_demangle",
"cranelift-bitset",
"cranelift-entity", "cranelift-entity",
"gimli", "gimli",
"indexmap 2.2.6", "indexmap 2.2.6",
"log", "log",
"object 0.36.0", "object 0.36.1",
"postcard", "postcard",
"rustc-demangle", "rustc-demangle",
"semver",
"serde", "serde",
"serde_derive", "serde_derive",
"target-lexicon", "target-lexicon",
"wasm-encoder 0.209.1", "wasm-encoder",
"wasmparser", "wasmparser",
"wasmprinter", "wasmprinter",
"wasmtime-component-util", "wasmtime-component-util",
@ -6138,9 +6126,8 @@ dependencies = [
[[package]] [[package]]
name = "wasmtime-fiber" name = "wasmtime-fiber"
version = "22.0.0" version = "23.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/bytecodealliance/wasmtime?rev=842fa767acdc26f096ac108605353b8b71e23169#842fa767acdc26f096ac108605353b8b71e23169"
checksum = "4ded58eb2d1bf0dcd2182d0ccd7055c4b10b50d711514f1d73f61515d0fa829d"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"cc", "cc",
@ -6153,11 +6140,10 @@ dependencies = [
[[package]] [[package]]
name = "wasmtime-jit-debug" name = "wasmtime-jit-debug"
version = "22.0.0" version = "23.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/bytecodealliance/wasmtime?rev=842fa767acdc26f096ac108605353b8b71e23169#842fa767acdc26f096ac108605353b8b71e23169"
checksum = "9bc54198c6720f098210a85efb3ba8c078d1de4d373cdb6778850a66ae088d11"
dependencies = [ dependencies = [
"object 0.36.0", "object 0.36.1",
"once_cell", "once_cell",
"rustix", "rustix",
"wasmtime-versioned-export-macros", "wasmtime-versioned-export-macros",
@ -6165,9 +6151,8 @@ dependencies = [
[[package]] [[package]]
name = "wasmtime-jit-icache-coherence" name = "wasmtime-jit-icache-coherence"
version = "22.0.0" version = "23.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/bytecodealliance/wasmtime?rev=842fa767acdc26f096ac108605353b8b71e23169#842fa767acdc26f096ac108605353b8b71e23169"
checksum = "5afe2f0499542f9a4bcfa1b55bfdda803b6ade4e7c93c6b99e0f39dba44b0a91"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"cfg-if", "cfg-if",
@ -6177,16 +6162,15 @@ dependencies = [
[[package]] [[package]]
name = "wasmtime-slab" name = "wasmtime-slab"
version = "22.0.0" version = "23.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/bytecodealliance/wasmtime?rev=842fa767acdc26f096ac108605353b8b71e23169#842fa767acdc26f096ac108605353b8b71e23169"
checksum = "0a7de1f2bec5bbb35d532e61c85c049dc84ae671df60492f90b954ecf21169e7"
[[package]] [[package]]
name = "wasmtime-types" name = "wasmtime-types"
version = "22.0.0" version = "23.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/bytecodealliance/wasmtime?rev=842fa767acdc26f096ac108605353b8b71e23169#842fa767acdc26f096ac108605353b8b71e23169"
checksum = "412463e9000e14cf6856be48628d2213c20c153e29ffc22b036980c892ea6964"
dependencies = [ dependencies = [
"anyhow",
"cranelift-entity", "cranelift-entity",
"serde", "serde",
"serde_derive", "serde_derive",
@ -6196,9 +6180,8 @@ dependencies = [
[[package]] [[package]]
name = "wasmtime-versioned-export-macros" name = "wasmtime-versioned-export-macros"
version = "22.0.0" version = "23.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/bytecodealliance/wasmtime?rev=842fa767acdc26f096ac108605353b8b71e23169#842fa767acdc26f096ac108605353b8b71e23169"
checksum = "de5a9bc4f44ceeb168e9e8e3be4e0b4beb9095b468479663a9e24c667e36826f"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -6207,9 +6190,8 @@ dependencies = [
[[package]] [[package]]
name = "wasmtime-wasi" name = "wasmtime-wasi"
version = "22.0.0" version = "23.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/bytecodealliance/wasmtime?rev=842fa767acdc26f096ac108605353b8b71e23169#842fa767acdc26f096ac108605353b8b71e23169"
checksum = "8abb1301089ed8e0b4840f539cba316a73ac382090f1b25d22d8c8eed8df49c7"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"async-trait", "async-trait",
@ -6238,14 +6220,13 @@ dependencies = [
[[package]] [[package]]
name = "wasmtime-winch" name = "wasmtime-winch"
version = "22.0.0" version = "23.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/bytecodealliance/wasmtime?rev=842fa767acdc26f096ac108605353b8b71e23169#842fa767acdc26f096ac108605353b8b71e23169"
checksum = "ed4db238a0241df2d15f79ad17b3a37a27f2ea6cb885894d81b42ae107544466"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"cranelift-codegen", "cranelift-codegen",
"gimli", "gimli",
"object 0.36.0", "object 0.36.1",
"target-lexicon", "target-lexicon",
"wasmparser", "wasmparser",
"wasmtime-cranelift", "wasmtime-cranelift",
@ -6255,9 +6236,8 @@ dependencies = [
[[package]] [[package]]
name = "wasmtime-wit-bindgen" name = "wasmtime-wit-bindgen"
version = "22.0.0" version = "23.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/bytecodealliance/wasmtime?rev=842fa767acdc26f096ac108605353b8b71e23169#842fa767acdc26f096ac108605353b8b71e23169"
checksum = "70dc077306b38288262e5ba01d4b21532a6987416cdc0aedf04bb06c22a68fdc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"heck 0.4.1", "heck 0.4.1",
@ -6284,7 +6264,7 @@ dependencies = [
"leb128", "leb128",
"memchr", "memchr",
"unicode-width", "unicode-width",
"wasm-encoder 0.211.1", "wasm-encoder",
] ]
[[package]] [[package]]
@ -6421,9 +6401,8 @@ dependencies = [
[[package]] [[package]]
name = "wiggle" name = "wiggle"
version = "22.0.0" version = "23.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/bytecodealliance/wasmtime?rev=842fa767acdc26f096ac108605353b8b71e23169#842fa767acdc26f096ac108605353b8b71e23169"
checksum = "29830e5d01c182d24b94092c697aa7ab0ee97d22e78a2bf40ca91eae6ebca5c2"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"async-trait", "async-trait",
@ -6436,9 +6415,8 @@ dependencies = [
[[package]] [[package]]
name = "wiggle-generate" name = "wiggle-generate"
version = "22.0.0" version = "23.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/bytecodealliance/wasmtime?rev=842fa767acdc26f096ac108605353b8b71e23169#842fa767acdc26f096ac108605353b8b71e23169"
checksum = "557567f2793508760cd855f7659b7a0b9dc4dbc451f53f1415d6943a15311ade"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"heck 0.4.1", "heck 0.4.1",
@ -6451,9 +6429,8 @@ dependencies = [
[[package]] [[package]]
name = "wiggle-macro" name = "wiggle-macro"
version = "22.0.0" version = "23.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/bytecodealliance/wasmtime?rev=842fa767acdc26f096ac108605353b8b71e23169#842fa767acdc26f096ac108605353b8b71e23169"
checksum = "cc26129a8aea20b62c961d1b9ab4a3c3b56b10042ed85d004f8678af0f21ba6e"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -6494,9 +6471,8 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
[[package]] [[package]]
name = "winch-codegen" name = "winch-codegen"
version = "0.20.0" version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/bytecodealliance/wasmtime?rev=842fa767acdc26f096ac108605353b8b71e23169#842fa767acdc26f096ac108605353b8b71e23169"
checksum = "85c6915884e731b2db0d8cf08cb64474cb69221a161675fd3c135f91febc3daa"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"cranelift-codegen", "cranelift-codegen",
@ -6856,9 +6832,9 @@ dependencies = [
[[package]] [[package]]
name = "wit-parser" name = "wit-parser"
version = "0.209.1" version = "0.211.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3e79b9e3c0b6bb589dec46317e645851e0db2734c44e2be5e251b03ff4a51269" checksum = "a3cc90c50c7ec8a824b5d2cddddff13b2dc12b7a96bf8684d11474223c2ea22f"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"id-arena", "id-arena",

View file

@ -23,5 +23,9 @@ serde = { version = "1.0", features = ["derive"] }
tauri = { version = "=2.0.0-beta.22", features = ["macos-private-api", "linux-ipc-protocol"] } tauri = { version = "=2.0.0-beta.22", features = ["macos-private-api", "linux-ipc-protocol"] }
tauri-plugin-window-state = "=2.0.0-beta.9" tauri-plugin-window-state = "=2.0.0-beta.9"
tauri-plugin-dialog = "=2.0.0-beta.9" tauri-plugin-dialog = "=2.0.0-beta.9"
wasmtime = "22.0.0"
wasmtime-wasi = "22.0.0" # wasmtime = "22.0.0"
# wasmtime-wasi = "22.0.0"
# ~23.0.0
wasmtime = { git = "https://github.com/bytecodealliance/wasmtime", rev = "842fa767acdc26f096ac108605353b8b71e23169" }
wasmtime-wasi = { git = "https://github.com/bytecodealliance/wasmtime", rev = "842fa767acdc26f096ac108605353b8b71e23169" }

View file

@ -16,19 +16,23 @@ impl WasiView for State {
} }
impl component::decoder::host::Host for State { impl component::decoder::host::Host for State {
fn log(&mut self, message: String) -> () { fn log(&mut self, message: String) {
println!("Decoder: {message}"); println!("Decoder: {message}");
} }
} }
// @TODO Remove / improve comments below
// Testing
// FW.add_decoders(["../test_files/components/rust_decoder/rust_decoder.wasm"]) // FW.add_decoders(["../test_files/components/rust_decoder/rust_decoder.wasm"])
// FW.add_decoders(["../test_files/components/javascript_decoder/javascript_decoder.wasm"]) // FW.add_decoders(["../test_files/components/javascript_decoder/javascript_decoder.wasm"])
// FW.add_decoders(["../test_files/components/python_decoder/python_decoder.wasm"]) // FW.add_decoders(["../test_files/components/python_decoder/python_decoder.wasm"])
pub fn add_decoders(decoder_paths: Vec<DecoderPath>) -> AddedDecodersCount { pub fn add_decoders(decoder_paths: Vec<DecoderPath>) -> AddedDecodersCount {
println!("decoders in Tauri: {decoder_paths:#?}"); println!("decoders in Tauri: {decoder_paths:#?}");
println!("{:#?}", std::env::current_dir()); println!("Current dir: {:#?}", std::env::current_dir().unwrap());
let decoder_paths_len = decoder_paths.len(); let decoder_paths_len = decoder_paths.len();
// New thread to prevent panics caused by running runtime in runtime
// @TODO replace with Tokio's spawn_blocking?
std::thread::spawn(move || { std::thread::spawn(move || {
if let Err(error) = add_decoder(&decoder_paths[0]) { if let Err(error) = add_decoder(&decoder_paths[0]) {
eprintln!("add_decoders error: {error:?}"); eprintln!("add_decoders error: {error:?}");
@ -52,8 +56,9 @@ fn add_decoder(path: &str) -> wasmtime::Result<()> {
table: ResourceTable::new(), table: ResourceTable::new(),
}); });
let (component, _instance) = Component::instantiate(&mut store, &wasmtime_component, &linker)?; let component = Component::instantiate(&mut store, &wasmtime_component, &linker)?;
println!("Decoder name: {}", component.component_decoder_decoder().call_name(&mut store)?);
component.component_decoder_decoder().call_init(&mut store)?; component.component_decoder_decoder().call_init(&mut store)?;
Ok(()) Ok(())

View file

@ -5,7 +5,9 @@ name = "Python Test Decoder"
class Decoder(exports.Decoder): class Decoder(exports.Decoder):
def init(self) -> None: def init(self) -> None:
host.log(f"{name} initialized") # @TODO it panics for some reasons
# host.log(f"{name} initialized")
return None
def name(self) -> str: def name(self) -> str:
return name return name