3 releases
Uses old Rust 2015
0.1.2 | Jul 11, 2015 |
---|---|
0.1.1 | Jan 14, 2015 |
0.1.0 | Jan 14, 2015 |
0.0.1 |
|
0.0.0 |
|
#7 in #na-cl
690KB
14K
SLoC
Rusted Pepper
Rust idiomatic bindings to the Pepper API. This API is experimental. Expect it to change somewhat.
Build
You'll need to build and install the PNaCl/NaCl Rust fork first. Then run:
export NACL_SDK_ROOT=path/to/pepper_39
Lastly, run:
cargo build --target le32-unknown-nacl
And profit!
Don't run build.sh
. It is used to update FFI bindings.
Getting Started
Taken from pnacl-hello-world:
#![crate_name = "pnacl-hello-world"]
#![crate_type = "bin"]
#![no_main]
extern crate ppapi;
use std::collections::HashMap;
#[no_mangle]
#[cfg(target_os = "nacl")]
// Called when an instance is created.
// This is called from a new task. It is perfectly "safe" to panic!() here, or in
// any callback (though it will result in instance termination).
pub extern fn ppapi_instance_created(_instance: ppapi::Instance,
_args: HashMap<String, String>) {
println!("Hello, world!");
}
#[no_mangle]
pub extern fn ppapi_instance_destroyed() {
}
Pepper.js
Unsupported due to rust-ppapi's use of threads.
Dependencies
~7–14MB
~174K SLoC