From 30714c7cb7d6f6820c9abde676137ff63832fd04 Mon Sep 17 00:00:00 2001 From: Heikki Halmet Date: Fri, 5 Jun 2020 10:48:51 +0300 Subject: Provisioning: Install Node.js Node.js is needed by QtWebengine Task-number: QTQAINFRA-3729 Change-Id: I23ece8567c569d8376eff52b7845589c60d069b8 Reviewed-by: Toni Saario Reviewed-by: Allan Sandfeld Jensen (cherry picked from commit 122cf4cc0ea3433512d58937d483d42717892d51) --- coin/provisioning/common/windows/nodejs.ps1 | 61 ++++++++++++++++++++++ .../04-install-packages.sh | 2 + .../qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh | 3 ++ .../02-zypperpackages.sh | 3 +- .../qtci-macos-10.13-x86_64/30-nodejs.sh | 6 +++ .../qtci-macos-10.14-x86_64/30-nodejs.sh | 6 +++ .../qtci-windows-10-x86_64/03-nodejs.ps1 | 1 + 7 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 coin/provisioning/common/windows/nodejs.ps1 create mode 100755 coin/provisioning/qtci-macos-10.13-x86_64/30-nodejs.sh create mode 100755 coin/provisioning/qtci-macos-10.14-x86_64/30-nodejs.sh create mode 100644 coin/provisioning/qtci-windows-10-x86_64/03-nodejs.ps1 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" -- cgit v1.2.3