Skip to content
Switch branches/tags
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


NaCl is a configuration language for IncludeOS that you can use to add for example interfaces and firewall rules to your service.


  1. Install antlr4 exactly like described under Quick start:
  2. pip install antlr4-python2-runtime
  3. pip install pystache
  4. Generate python parser / lexer for NaCl.g4 grammar WITH visitor ( antlr4 -Dlanguage=Python2 NaCl.g4 -visitor
  5. Make transpiler program executable: chmod u+x
  6. run with cat examples/nacl.nacl | ./
  7. For testing, using the grun program (alias really) is nice. This requires that you generate the java lexer / parser
  8. antlr4 NaCl.g4 && javac NaCl*.java
  9. cat examples/nacl.nacl | grun NaCl prog -gui

NaCl Packages

The latest packages for NaCl can be found on Bintray

Creating NaCl conan package

The contains the recipe for building a conan package.

You can set up your remotes and profiles from conan_config

To build the NaCl package:

  conan create <path to NaCl repo> includeos/latest -pr <profile name>

To upload the package:

  conan upload --all -r includeos NaCl/<version>@includeos/<channel>

Note: To get the NaCl package into editable mode for development checkout editable_packages

Packages are uploaded to two channels:

  • latest: the latest upload
  • stable: the last stable upload

Note: For more information checkout the Jenkinsfile