Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vagrant or Docker #22

Open
boneskull opened this issue Feb 6, 2018 · 0 comments
Open

Vagrant or Docker #22

boneskull opened this issue Feb 6, 2018 · 0 comments

Comments

@boneskull
Copy link
Contributor

To build this project, you need:

  1. The xtensa build toolchain
  2. the build-essential (or equivalent) toolchain
  3. Python (2.7, I think)
  4. ESP-IDF & its submodule(s)
  5. Some stuff in $PATH and $IDF_PATH must be set
  6. duktape working copy or tarball
  7. Node.js & userland modules for tooling
  8. Some misc tooling such as mkspiffs and mkespfsimage which may need to be (re-)compiled

This is pretty painful, and some may not appreciate any potential version conflicts with already-installed software on their system. To mitigate this, how about we:

  • Use Vagrant and a preconfigured Linux "box" with all of the prerequisites installed. This would necessitate use of hypervisor-specific utils that'd allow the user to "share" any COM ports / USB devices from the host to guest OS. VirtualBox is free (as free as Oracle software gets, anyway) and adequate for our purposes. OR:
  • Instead of Vagrant & a VM, use container(s) and Docker. I know very little about containers other than running and configuring a few via GUIs, but the JerryScript folks went this route, and perhaps we can steal their ideas.

A solution like the above has some added wins:

  1. We can standardize the development environment, so we avoid hitting a certain class of development difficulties.
  2. Any hardcoded paths which currently exist in the codebase (e.g., pointing to @nkolban's home directory 😉) can instead use this environment
  3. Windows users can build this project
  4. Eliminate need for separate development documentation for Mac users (who have somewhat different prereqs and pre-built/compiled executables in bin/) and Windows users
  5. Easy to update the environment as needed

Thoughts?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant