about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2017-03-25 22:33:29 +0000
committerbors <bors@rust-lang.org>2017-03-25 22:33:29 +0000
commit0e4b4eb6ab632a1d0ad32f5260235b39f88b6866 (patch)
tree62f1f79051466e50d8b7347edefd69603dc5941d
parent49c67bd632e961a57863805e5d0a400f97da9b93 (diff)
parent935d84a272a8b637e13c54b18a1571994e962e5c (diff)
downloadrust-0e4b4eb6ab632a1d0ad32f5260235b39f88b6866.tar.gz
rust-0e4b4eb6ab632a1d0ad32f5260235b39f88b6866.zip
Auto 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