mirror of
git://code.qt.io/qt/qt5.git
synced 2026-04-03 04:06:34 +08:00
If there is an error in emsdk scripts when running ".\emsdk install", the provisioning would still continue. This change will make the script exit and stop provisioning when the install command fails. Also remove the attempt to use Python 2 and make sure the installation finds Python 3 instead. Pick-to: 6.8 6.5 Task-number: QTQAINFRA-5453 Change-Id: If052adcd446537b0eeb6261e4a297e9aeb292c6e Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
58 lines
1.7 KiB
Bash
Executable File
58 lines
1.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Copyright (C) 2023 The Qt Company Ltd.
|
|
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
|
|
|
# shellcheck source=./SetEnvVar.sh
|
|
source "${BASH_SOURCE%/*}/SetEnvVar.sh"
|
|
|
|
# shellcheck source=./DownloadURL.sh
|
|
source "${BASH_SOURCE%/*}/DownloadURL.sh"
|
|
|
|
version="3.1.56"
|
|
versionNode="v16.20.0"
|
|
tarBallVersion="${version//./_}"
|
|
if uname -a | grep -q Darwin; then
|
|
tarBallPackage="emsdk_macos_${tarBallVersion}.tar.gz"
|
|
sha="24c49db971da4fd7c68f6b71984c3d7775fdfb84"
|
|
else
|
|
tarBallPackage="emsdk_linux_${tarBallVersion}.tar.gz"
|
|
sha="410c93bb2ab3b244190c2cb5f0ff1ce5d6ac4eb5"
|
|
fi
|
|
cacheUrl="https://ci-files01-hki.ci.qt.io/input/emsdk/${tarBallPackage}"
|
|
target="/tmp/${tarBallPackage}"
|
|
|
|
mkdir -p /opt
|
|
cd /opt || exit
|
|
echo "URL: $cacheUrl"
|
|
|
|
if DownloadURL "$cacheUrl" "" "$sha" "$target"; then
|
|
sudo tar -xzf "$target" -C /opt/
|
|
sudo rm -f "$target"
|
|
else
|
|
echo "Emsdk isn't cached. Cloning it"
|
|
sudo git clone https://github.com/emscripten-core/emsdk.git
|
|
cd emsdk || exit
|
|
if ! sudo ./emsdk install "$version"; then
|
|
echo "Error: emsdk installation failed"
|
|
exit 1
|
|
fi
|
|
sudo ./emsdk activate "$version"
|
|
fi
|
|
|
|
# platform-specific toolchain and node binaries. urls obtained from "emsdk install"
|
|
if uname -a | grep -q Darwin; then
|
|
pathNodeExecutable="node-$versionNode-darwin-x64/bin/node"
|
|
else
|
|
pathNodeExecutable="node-$versionNode-linux-x64/bin/node"
|
|
fi
|
|
|
|
emsdkPath="/opt/emsdk/"
|
|
emscriptenPath="${emsdkPath}upstream/emscripten/"
|
|
|
|
SetEnvVar "PATH" "\"\$PATH:${emscriptenPath}\""
|
|
SetEnvVar "EMSCRIPTEN" "${emscriptenPath}"
|
|
SetEnvVar "EMSDK" "${emsdkPath}"
|
|
SetEnvVar "EMSDK_NODE" "${emsdkPath}${pathNodeExecutable}"
|
|
|
|
echo "Emsdk = $version" >> ~/versions.txt
|