aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHeikki Halmet <heikki.halmet@qt.io>2020-06-05 10:48:51 +0300
committerHeikki Halmet <heikki.halmet@qt.io>2020-06-10 20:50:30 +0300
commit30714c7cb7d6f6820c9abde676137ff63832fd04 (patch)
treed4567c065a063d9b8400da22537d288713a09285
parenta7654f4a033e732ab86c12eb925bb14a720471ac (diff)
Provisioning: Install Node.js
Node.js is needed by QtWebengine Task-number: QTQAINFRA-3729 Change-Id: I23ece8567c569d8376eff52b7845589c60d069b8 Reviewed-by: Toni Saario <toni.saario@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit 122cf4cc0ea3433512d58937d483d42717892d51)
-rw-r--r--coin/provisioning/common/windows/nodejs.ps161
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.6-x86_64/04-install-packages.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.1-x86_64/02-zypperpackages.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/30-nodejs.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-10.14-x86_64/30-nodejs.sh6
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/03-nodejs.ps11
7 files changed, 81 insertions, 1 deletions
diff --git a/coin/provisioning/common/windows/nodejs.ps1 b/coin/provisioning/common/windows/nodejs.ps1
new file mode 100644
index 00000000..c56f6db6
--- /dev/null
+++ b/coin/provisioning/common/windows/nodejs.ps1
@@ -0,0 +1,61 @@
+#############################################################################
+##
+## Copyright (C) 2020 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+. "$PSScriptRoot\helpers.ps1"
+
+# This script will install Node.js
+# Needed by QtWebengine
+
+$version = "12.18.0"
+$package = "C:\Windows\temp\nodejs-$version.zip"
+$targetFolder = "C:\Utils\nodejs"
+$arch = "$((Get-WmiObject Win32_Processor).AddressWidth)"
+$externalUrl = "https://nodejs.org/dist/v$version/node-v$version-win-x$arch.zip"
+$internalUrl = "http://ci-files01-hki.intra.qt.io/input/windows/node-v$version-win-x$arch.zip"
+
+if ( $arch -eq 64 ) {
+ $sha1 = "457b1527d249ee471a9445953a906cb10c75378d"
+} else {
+ $sha1 = "58801900f5bddca9c00feed6b84fed729426fc92"
+
+}
+
+Write-Host "Installing Node.js"
+Download $externalUrl $internalUrl $package
+Verify-Checksum $package $sha1
+mkdir $targetFolder
+Extract-7Zip $package $targetFolder
+Add-Path $targetFolder
+Remove $package
+
+Write-Output "Node.js = $version" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/04-install-packages.sh
index b3ecceea..c5304b21 100755
--- a/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/04-install-packages.sh
+++ b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/04-install-packages.sh
@@ -80,6 +80,8 @@ installPackages+=(pulseaudio-libs-devel)
installPackages+=(libXtst-devel)
installPackages+=(nspr-devel)
installPackages+=(nss-devel)
+installPackages+=(rh-nodejs12-nodejs)
+installPackages+=(rh-nodejs12-nodejs-devel)
# For Android builds
installPackages+=(java-1.8.0-openjdk-devel)
# For receiving shasum
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh
index 639c82fd..ac35c278 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh
@@ -84,6 +84,9 @@ installPackages+=(libudev-dev)
installPackages+=(libegl1-mesa-dev)
installPackages+=(libfontconfig1-dev)
installPackages+=(libxss-dev)
+installPackages+=(nodejs)
+# NOTE! Can't install nodejs-dev because libssl1.0-dev conflicts with libssl1.0-dev which is depandency of nodejs-dev.
+
# Common event loop handling
installPackages+=(libglib2.0-dev)
# MySQL support
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/02-zypperpackages.sh b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/02-zypperpackages.sh
index d1f3050f..b509ff6c 100755
--- a/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/02-zypperpackages.sh
+++ b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/02-zypperpackages.sh
@@ -36,7 +36,7 @@ sudo zypper -nq install libicu-devel libicu60_2
# qtwebengine
sudo zypper -nq install alsa-devel dbus-1-devel \
libXcomposite-devel libXcursor-devel libXrandr-devel libXtst-devel \
- mozilla-nspr-devel mozilla-nss-devel
+ mozilla-nspr-devel mozilla-nss-devel nodejs10 nodejs10-devel
# qtwebkit
sudo zypper -nq install libxml2-devel libxslt-devel
@@ -49,3 +49,4 @@ sudo zypper -nq install cups-devel
#speech-dispatcher
sudo zypper -nq install libspeechd-devel
+
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/30-nodejs.sh b/coin/provisioning/qtci-macos-10.13-x86_64/30-nodejs.sh
new file mode 100755
index 00000000..ab992405
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/30-nodejs.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+brew install nodejs
+
diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/30-nodejs.sh b/coin/provisioning/qtci-macos-10.14-x86_64/30-nodejs.sh
new file mode 100755
index 00000000..ab992405
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.14-x86_64/30-nodejs.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+brew install nodejs
+
diff --git a/coin/provisioning/qtci-windows-10-x86_64/03-nodejs.ps1 b/coin/provisioning/qtci-windows-10-x86_64/03-nodejs.ps1
new file mode 100644
index 00000000..6032e945
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/03-nodejs.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\nodejs.ps1"