We're using Rust for the daemon/server. Currently v1.8.x nightly is required. As of 2016-02-04:
$ rustc -V
rustc 1.8.0-nightly (fae516277 2016-02-13)
It's recommended that you use multirust
to install and switch between versions of Rust.
We're using Node to run Selenium tests. Currently v4.x LTS. We plan to stay on
stable LTS releases. It's recommended that you use
nvm
to install and switch between
versions of Node.
We're using the Raspberry Pi 2 as a prototyping target (ARMv7). The target operating system is the latest Raspbian which is based on Debian 8.0 Jessie.
Note: We're in an iterative prototyping phase of the project. Things are moving really fast so it may be easier to contribute when the dust starts to settle. You've been warned.
You should fork the main repo and create pull requests against feature branches of your fork. If you need some guidance with this see:
$ git clone [email protected]:<username>/foxbox.git
$ cd foxbox
$ cargo run
Alternatively you can build the app without running it via:
$ cargo build
$ cargo test
You'll need to make sure you install the dependencies via:
$ npm install
Then you can run the Selenium tests via:
$ npm test
There is no one solution for this. The process will be different depending on your operating system. You may be able to build on a RPi, but the larger the applicatoin gets, the slower and more painful this will be (not recommended).
@fabricedesre has created a script to help compile a toolchain. So far it's only been tested on Ubuntu but there's nothing ubuntu specific so that should work just fine on any Linux.
For an extensive write-up about cross compiling Rust programs see:
Cross compiling on Mac hasn't been documented. A PR is welcomed. ๐
You'll need some dependencies installed to build.
$ brew install openssl
This is required to build the openssl crate using homebrew's openssl:
$ export DEP_OPENSSL_INCLUDE=/usr/local/opt/openssl/include/
$ export OPENSSL_INCLUDE_DIR=/usr/local/Cellar/openssl/1.0.2f/include/