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 |
|
#19 in #nacl
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
~6–8.5MB
~180K SLoC