{"id":15136972,"url":"https://github.com/includeos/nacl","last_synced_at":"2025-07-11T15:38:13.647Z","repository":{"id":74424395,"uuid":"105885268","full_name":"includeos/NaCl","owner":"includeos","description":null,"archived":false,"fork":false,"pushed_at":"2019-04-11T13:37:22.000Z","size":931,"stargazers_count":10,"open_issues_count":1,"forks_count":9,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-06T17:04:41.225Z","etag":null,"topics":["conan"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/includeos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-10-05T12:07:01.000Z","updated_at":"2022-07-27T06:51:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"293f91f5-9b4b-4e2e-a775-7bfa6b9304ae","html_url":"https://github.com/includeos/NaCl","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/includeos/NaCl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/includeos%2FNaCl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/includeos%2FNaCl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/includeos%2FNaCl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/includeos%2FNaCl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/includeos","download_url":"https://codeload.github.com/includeos/NaCl/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/includeos%2FNaCl/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264841967,"owners_count":23671907,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["conan"],"created_at":"2024-09-26T06:42:22.765Z","updated_at":"2025-07-11T15:38:13.606Z","avatar_url":"https://github.com/includeos.png","language":"Python","readme":"# NaCl\n\nNaCl is a configuration language for IncludeOS that you can use to add for example interfaces and firewall rules to your service.\n\nDocumentation: http://includeos.readthedocs.io/en/latest/NaCl.html\n\n1. Install antlr4 exactly like described under Quick start: http://www.antlr.org/\n2. `pip install antlr4-python2-runtime`\n3. `pip install pystache`\n4. Generate python parser / lexer for `NaCl.g4` grammar WITH visitor (NaClVisitor.py): `antlr4 -Dlanguage=Python2 NaCl.g4 -visitor`\n5. Make transpiler program executable: `chmod u+x NaCl.py`\n6. run with `cat examples/nacl.nacl | ./NaCl.py`\n7. For testing, using the `grun` program (alias really) is nice. This requires that you generate the java lexer / parser\n8. `antlr4 NaCl.g4 \u0026\u0026 javac NaCl*.java`\n9. `cat examples/nacl.nacl | grun NaCl prog -gui`\n\n### NaCl Packages\n\nThe latest packages for NaCl can be found on [Bintray](https://bintray.com/includeos/includeos/NaCl%3Aincludeos)\n\n#### Creating NaCl conan package\n\nThe [conanfile.py](conanfile.py) contains the recipe for building a conan package.\n\nYou can set up your remotes and profiles from [conan_config](https://github.com/includeos/conan_config)\n\nTo build the NaCl package:\n\n```\n  conan create \u003cpath to NaCl repo\u003e includeos/latest -pr \u003cprofile name\u003e\n```\n\nTo upload the package:\n\n```\n  conan upload --all -r includeos NaCl/\u003cversion\u003e@includeos/\u003cchannel\u003e\n```\n\n\u003e **Note:** To get the NaCl package into editable mode for development checkout [editable_packages](https://docs.conan.io/en/latest/developing_packages/editable_packages.html)\n\nPackages are uploaded to two channels:\n- `latest`: the latest upload\n- `stable`: the last stable upload\n\n\u003e **Note:** For more information checkout the [Jenkinsfile](Jenkinsfile)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fincludeos%2Fnacl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fincludeos%2Fnacl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fincludeos%2Fnacl/lists"}