You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
1.8 KiB

[package]
name = "wasi-common"
version = "0.4.0"
authors = [
"Adam C. Foltzer <acfoltzer@fastly.com>",
"Frank Denis <github@pureftpd.org>",
"Jakub Konka <kubkon@jakubkonka.com>",
"Dan Gohman <sunfish@mozilla.com>"]
edition = "2018"
license = "Apache-2.0 WITH LLVM-exception"
description = "WASI implementation in Rust"
categories = ["wasm"]
keywords = ["webassembly", "wasm"]
repository = "https://github.com/CraneStation/wasi-common"
readme = "README.md"
[features]
# this feature requires wasm32-wasi target installed, and it enables wasm32
# integration tests when run with `cargo test --features wasm_tests`
wasm_tests = []
[dependencies]
wasi-common-cbindgen = { path = "wasi-common-cbindgen", version = "0.4.0" }
failure = "0.1"
libc = "0.2"
rand = "0.7"
cfg-if = "0.1.9"
log = "0.4"
filetime = "0.2.7"
[target.'cfg(unix)'.dependencies]
nix = "0.15"
[target.'cfg(windows)'.dependencies]
winx = { path = "winx", version = "0.4.0" }
winapi = "0.3"
[dev-dependencies]
wasmtime-runtime = { git = "https://github.com/cranestation/wasmtime", rev = "875eea6" }
wasmtime-environ = { git = "https://github.com/cranestation/wasmtime", rev = "875eea6" }
wasmtime-jit = { git = "https://github.com/cranestation/wasmtime", rev = "875eea6" }
wasmtime-wasi = { git = "https://github.com/cranestation/wasmtime", rev = "875eea6" }
wasmtime-api = { git = "https://github.com/cranestation/wasmtime", rev = "875eea6" }
cranelift-codegen = "0.46.1"
target-lexicon = "0.8.1"
Rewrite majority of impl reusing `libstd` (#34) * Rewrite FdEntry reusing as much libstd as possible * Use the new FdEntry, FdObject, Descriptor struct in *nix impl * Adapt Windows impl * Remove unnecessary check in fd_read Check `host_nread == 0` caused premature FdEntry closure and removal which ultimately was resulting in an attempt at &#34;double closing&#34; of the same file descriptor at the end of the Wasm program: ... fd_close(fd=4) -&gt; errno=WASI_ESUCCESS fd_close(fd=4) -&gt; errno=WASI_EBADF * Use libstd vectored IO * Use std::thread::yield_now to implement sched_yield * Add logging to integration tests * Add preliminary support for host-specific errors * Operate on std::fs::File in path_get on *nix * Add cross-platform RawString type encapsulating OsStrExt * Fix Windows build * Update Travis and README to Rust v1.36 * Remove unused winx::handle::close helper * Refactor Descriptor into raw handles/fds * Strip readlinkat in prep for path_get host-independent * Strip openat in prep for path_get host-independent * Move ManuallyDrop up one level from Descriptor to FdObject * Make (c)iovec host fns unsafe * Swap unwraps/expects for Results in fdentry_impl on nix * Rewrite fd_pread/write and implement for Win * Use File::sync_all to impl fd_sync * Use File::sync_data to impl fd_datasync * Rewind file cursor after fd_p{read, write} on Windows * Add fd_p{read, write} tests * Handle errors instead of panicking in path_get * Use File::set_len to impl fd_allocate * Add test for fd_allocate * Replace all panics with Results * Document the point of RawString
5 years ago
pretty_env_logger = "0.3.0"
tempfile = "3.1.0"
[patch."https://github.com/CraneStation/wasi-common"]
wasi-common = { path = "." }
[build-dependencies]
cfg-if = "0.1.9"
[lib]
name = "wasi_common"
crate-type = ["rlib", "staticlib", "cdylib"]
[workspace]
members = ["wasi-common-cbindgen"]
exclude = ["winx", "misc_testsuite"]