This code now lives at https://github.com/h-be/acorn in the electron
folder and releases are published there.
A distributable version of the peer-to-peer Acorn holochain system packaged as a native application for Linux and Mac.
Acorn can be built and run on:
- Mac OS X
- Ubuntu et al. linux flavours
- Nix (dev only)
It can't run on Windows because holochain conductors don't run on Windows (yet).
High level, there are a few ways to interact with Acorn from this repo:
- Run it via a "packaged" electron installation built with
electron-packager
- Built an aforementioned package for some target platform with
electron-packager
The different interactions work differently across mac/ubuntu/nix and generally are NOT compatible with each other.
Pick a workflow that you like and stick with it.
These will need to be run, before other commands like "running" and "packaging" will succeed. It needs to know which versions you want to be running or packaging.
You can pass in a version number of an acorn-hc release, like 0.3.6
nix-shell --run 'acorn-bundle-dna x.y.z'
or just use the latest default
nix-shell --run acorn-bundle-dna
This will result in there being
- a
dna/profiles.dna.gz
file which contains the profiles WASM and full DNA - a
dna/projects.dna.gz
file which contains the projects WASM and full DNA
You can pass in a version number of an acorn-ui release, like 0.3.11
Just run
nix-shell --run 'acorn-bundle-ui x.y.z'
or just use the latest default
nix-shell --run acorn-bundle-ui
This will result in there being a ui
folder locally, which contains all the html/css/js files for the user interface.
Run nix-shell --run acorn
- Run
Acorn-darwin-x64/Acorn
- Run
Acorn-linux-x64/Acorn
Not supported! :(
Electron packager tries to ship its own version of electron, which is not nix friendly.
This will produce an Acorn.app file within Acorn-$platform-$arch
folder. This can be zipped and shared.
main.js
is a primary point of development.
Signed and Notarized (Distribute as a Verified Developer)
To create a codesigned and notarized build depends on having purchased an Apple developer account and acquiring Apple Developer Certificates, so you will need to have special access to those to make this process work.
Set the following environment variables, before running the following.
APPLE_DEV_IDENTITY=Developer ID Application: Happy Coders, Inc. (XYZABCNOP)
[email protected]
APPLE_ID_PASSWORD=...
nix-shell --run acorn-build-mac
To get extra details on this build process, or to debug, set the following environment variable:
DEBUG=electron-osx-sign*,electron-notarize*
This relates to the nodejs/npm package debug.
Unsigned (Distribute as an Unverified Developer)
This version will require the special step that Mac Gatekeeper enforces, which is to allow unverified apps generally,
or to allow this specific app. This can be done by holding ctrl
and clicking on the Acorn
application,
and then clicking Open
, and then Open
when it asks about the Unidentified Developer.
nix-shell --run acorn-build-mac-unsigned
For linux defaults, run
nix-shell --run acorn-build-linux
or for specific linux platform or arch
nix-shell --run "acorn-build $platform $arch"
- Connor Turland Connoropolous
- David Meister
- Sam Cooley
This project is licensed under the CAL-1.0 Beta 4, see LICENSE.md for details.