The newer versions of eslint require 14.17.0 or above. This
updates our node version to the latest in the 14.XX series.
I don't expect any user-visible changes.
Apparently 10.11 is no longer good enough to run the latest version of
binaryen. Specifically since binaryen switched to using std::variant it
now fails to build with this set to 10.11.
This is also the version used on the emscripten-releases CI which builds
the emsdk binaries:
https://chromium.googlesource.com/emscripten-releases/+/refs/heads/main/src/build.py#673
* Makes provided bazel rules look up @emsdk workspace instead of local workspace
* Uses system-specific emscripten binaries instead of defaulting to linux
* Provides macros for loading emsdk dependencies (nodejs and emscripten binaries)
* Unhardcodes paths in bazel rules and .sh wrappers
* `update_bazel_workspace.sh` now updates `revisions.bzl`
* `emscripten_deps()` can be fed with specific emscripten version
* Adds external usage test
Addresses #650 and #696
* Fix support for Apple M1. Node.js will still run via Rosetta 2 emulation since they do not yet have M1 support, but Python, LLVM, Emscripten and Binaryen will be native.
* Update M1 python version and URL
* Remove .gitignore additions
* Move python first in the manifest (#441)
* Use macosx-version-min when building python
* Update Intel macOS python package name
This is done by detecting the 40 character git sha in the SDK version
and creating a new set of tools based on this SHA. This works for any
command that uses expand_sdk_name (i.e. install activate and update) but
it wont show up in the output of `list`.
For example:
./emsdk install sdk-releases-upstream-b0cfdb236483b6828ee2e3f263fd94f011ed1863-64bit
Or just:
./emsdk install releases-upstream-b0cfdb236483b6828ee2e3f263fd94f011ed1863
For Java we use the value in the config file so it doesn't need to be in
the PATH.
For python, all our tools should launch via scripts that check for
EMSDK_PYTHON so having python in the PATH for emsdk users should not be
needed.
The motivation for this is that we don't want to clobber any existing
python or java versions that users might already have in their PATH.
This is the easy part of #705.
This change comes with fairly major change to the bazel toolchain.
- Use pre-built cache that comes with emsdk
- Mark cache as readonly using FROZEN_CACHE
- Pass `--sysroot` to match upstream emscripten change
We have mac linux and windows bots that run this script
on each of those platforms. This script already runs
`install latest` so there is no need to re-download these
three different archives on each platform.
I have no idea why this argument was included when this
script was first added. `emsdk_env.bat` does not even pass
its argument into `emsdk.py` so this argument has no effect
here.
This PR has three changes:
1) Fixing --permanent flag:
The previous algorithm looped over the values of PATH 4 times to check conditions while these conditions are the opposite of each other. Also, the result did not include all the parts in the whole_path.
I have combined these loops and fixed the algorithm, so no path is lost. Now using --permanent the PATH and Env variables are correctly updated.
2) Fixing --system flag:
Now, the system flag does not cause the PATH values to be overwritten/clobbered. The PATH/Env variables are correctly updated.
3) Fixing flagless flag:
When no flag is provided the value of process/shell is correctly updated and preserved.
This adds the tests for all the situations.
Fixes#634Fixes#645
Also switch PostMessage to SendMessageWithTimeout and only send one if
environment variables actually changed.
Also, enable and fix --permanent unit tests.
* update bazel workspace for emscripten 2.0.3
* test to make sure WORKSPACE is up to date
* make it clear what happened when WORKSPACE is out of date
* intentionally add error to make sure circleci fails properly
* revert intentionally bad commit
* increase visibility of failure message
Co-authored-by: Mitch Foley <mitchfoley@google.com>
This change allows sourcing emsdk_env.sh from bash, zsh and
ksh.
The script works out the true location of the emsdk directory,
even if it is a symlink or the script itself is a symlink.
Added a test in scripts/test_source_env.sh to try sourcing via
all the shells and with various paths.
Co-authored-by: Bob Tolbert <bob@tolbert.org>
I think this is less surprising than continuing to support latest-fastcomp
with the last fastcomp release. That's technically correct - the last release
is 1.40.1, and always will be - but when a user asks for "latest" I think they
want something up to date. Instead, give a clear error that indicates how
they can get an actually up to date build, by using upstream.
The problem is that python can have trouble finding the default
certifcate set on macOS. The actual bundle is installed by the certifi
package which the requests module uses under the hood.
Fixes: #588
This expands on #460 which added a file in each install dir
with the version, that lets us know not to re-download it. That
didn't integrate with is_installed, so it wasn't reported properly,
which this PR fixes.
With this we can remove a hack for python, as we can simply
not install anything if it's already installed (see line 1859).
Also add the "INSTALLED" indicators on the main listings in
"emsdk list".
Bug was reported in #477
It was working previously by accident because the tests were
using the defaults such as `$HOME/.emscripten`. However usage of the
emsdk should really only happen in the emsdk environment where
EM_CONFIG dictates the config location (not just using the default).
This change is needed as precursor to making `--embedded` the default
(in this case the config doesn't live in `$HOME/.emscripten`).