about summary refs log tree commit diff
diff options
context:
space:
mode:
authorCorey Farwell <coreyf@rwell.org>2017-03-25 09:30:34 -0700
committerGitHub <noreply@github.com>2017-03-25 09:30:34 -0700
commitdc52625d61e11f5cbdde5debdcf9b1e1fc48324f (patch)
tree911e0a926c89bd5975cdb6574c327ba8ca0d4dd1
parentfbcb370fe81f25eca3fa03d84c509d429e05d4f3 (diff)
parent935d84a272a8b637e13c54b18a1571994e962e5c (diff)
downloadrust-dc52625d61e11f5cbdde5debdcf9b1e1fc48324f.tar.gz
rust-dc52625d61e11f5cbdde5debdcf9b1e1fc48324f.zip
Rollup merge of #40821 - arielb1:fix-emscripten, r=TimNN
try to fix the build on emscripten

The "upstream" emscripten tar.gz now extracts to `emsdk-portable` instead of `emsdk_portable`, breaking our CI. It might be better to vendor a specific version of emscripten instead of using the latest, but I could not find a good way of doing that.

r? @alexcrichton
-rwxr-xr-xsrc/ci/docker/emscripten/build-emscripten.sh19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/ci/docker/emscripten/build-emscripten.sh b/src/ci/docker/emscripten/build-emscripten.sh
index 88bf583007c..e39767357ad 100755
--- a/src/ci/docker/emscripten/build-emscripten.sh
+++ b/src/ci/docker/emscripten/build-emscripten.sh
@@ -29,7 +29,24 @@ exit 1
 }
 
 curl https://s3.amazonaws.com/mozilla-games/emscripten/releases/emsdk-portable.tar.gz | \
-      tar xzf -
+    tar xzf -
+
+# Some versions of the EMSDK archive have their contents in .emsdk-portable
+# and others in emsdk_portable. Make sure the EMSDK ends up in a fixed path.
+if [ -d emsdk-portable ]; then
+    mv emsdk-portable emsdk_portable
+fi
+
+if [ ! -d emsdk_portable ]; then
+    echo "ERROR: Invalid emsdk archive. Dumping working directory." >&2
+    ls -l
+    exit 1
+fi
+
+# Some versions of the EMSDK set the permissions of the root directory to
+# 0700. Ensure the directory is readable by all users.
+chmod 755 emsdk_portable
+
 source emsdk_portable/emsdk_env.sh
 hide_output emsdk update
 hide_output emsdk install --build=Release sdk-tag-1.37.1-32bit