diff options
21 files changed, 216 insertions, 31 deletions
diff --git a/coin/provisioning/common/linux/cmake_linux.sh b/coin/provisioning/common/linux/cmake_linux.sh index a3b2a9cc..f03bd16c 100755 --- a/coin/provisioning/common/linux/cmake_linux.sh +++ b/coin/provisioning/common/linux/cmake_linux.sh @@ -33,7 +33,7 @@ ## ############################################################################# -# This script installs CMake 3.7.2 +# This script installs CMake # CMake is needed for autotests that verify that Qt can be built with CMake @@ -42,10 +42,11 @@ source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh" # shellcheck source=../unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" -version="3.7.2" -PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/cmake/cmake-3.7.2-Linux-x86_64.tar.gz" -AltUrl="https://cmake.org/files/v3.7/cmake-3.7.2-Linux-x86_64.tar.gz" -SHA1="915bc981aab354821fb9fd28374a720fdb3aa180" +majorminorversion="3.16" +version="3.16.0-rc4" +PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/cmake/cmake-$version-Linux-x86_64.tar.gz" +AltUrl="https://cmake.org/files/v$majorminorversion/cmake-$version-Linux-x86_64.tar.gz" +SHA1="def260a8f27d3b1b9c3d042ec936236598bea52a" targetFolder="/opt/cmake-$version" appPrefix="cmake-$version-Linux-x86_64" diff --git a/coin/provisioning/common/linux/vcpkg.sh b/coin/provisioning/common/linux/vcpkg.sh new file mode 100755 index 00000000..35f2ece8 --- /dev/null +++ b/coin/provisioning/common/linux/vcpkg.sh @@ -0,0 +1,73 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2019 The Qt Company Ltd. +## Contact: https://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$ +## +############################################################################# + +set -ex + +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" + +# This script installs VcPkg. It is used to provide third-party libraries when cross-compiling +# for example for Emscripten or Android. + +# Refresh to make sure we have the EMSCRIPTEN environment variable, needed for the vcpkg wasm build. +source ~/.bashrc + +source "${BASH_SOURCE%/*}/../shared/vcpkg_version.txt" + +officialUrl="https://codeload.github.com/tronical/vcpkg/tar.gz/$vcpkg_version" +targetFile="vcpkg.tar.gz" +targetFolder="$HOME/vcpkg" + +wget --tries=5 --waitretry=5 --progress=dot:giga --output-document="$targetFile" "$officialUrl" + +if [ ! -d "${targetFolder}" ]; then + mkdir -p $targetFolder +fi + +tar -C $targetFolder --strip-components=1 -xvzf $targetFile +rm -rf $targetFile + +SetEnvVar "VCPKG_ROOT" "$targetFolder" + +cd $targetFolder +./bootstrap-vcpkg.sh + +./vcpkg install --triplet arm-android @qt-packages-android.txt +./vcpkg install --triplet arm64-android @qt-packages-android.txt +./vcpkg install --triplet x86-android @qt-packages-android.txt +./vcpkg install --triplet x64-android @qt-packages-android.txt + +rm -rf packages buildtrees downloads + +echo "VCPKG = $vcpkg_version" >> ~/versions.txt diff --git a/coin/provisioning/common/macos/cmake.sh b/coin/provisioning/common/macos/cmake.sh index e22425b7..8e20586b 100755 --- a/coin/provisioning/common/macos/cmake.sh +++ b/coin/provisioning/common/macos/cmake.sh @@ -42,13 +42,15 @@ source "${BASH_SOURCE%/*}/InstallAppFromCompressedFileFromURL.sh" # shellcheck source=../unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" -PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.13_high_sierra/cmake-3.11.3-Darwin-x86_64.tar.gz" -AltUrl="https://cmake.org/files/v3.11/cmake-3.11.3-Darwin-x86_64.tar.gz" -SHA1="3d13de8020ce560159fa5cecb669498c48552d96" -appPrefix="cmake-3.11.3-Darwin-x86_64" +majorminorversion="3.16" +version="3.16.0-rc4" +PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/cmake/cmake-$version-Darwin-x86_64.tar.gz" +AltUrl="https://cmake.org/files/v$majorminorversion/cmake-$version-Darwin-x86_64.tar.gz" +SHA1="a2727f4f01329b5b8154840e9ba0de37e3fb14d5" +appPrefix="cmake-$version-Darwin-x86_64" InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" SetEnvVar "PATH" "/Applications/CMake.app/Contents/bin:\$PATH" -echo "CMake = 3.11.3" >> ~/versions.txt +echo "CMake = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/macos/python3.sh b/coin/provisioning/common/macos/python3.sh index 35bccc93..185c3b01 100755 --- a/coin/provisioning/common/macos/python3.sh +++ b/coin/provisioning/common/macos/python3.sh @@ -2,7 +2,7 @@ ############################################################################# ## -## Copyright (C) 2017 The Qt Company Ltd. +## Copyright (C) 2019 The Qt Company Ltd. ## Copyright (C) 2017 Pelagicore AG ## Contact: http://www.qt.io/licensing/ ## @@ -43,23 +43,23 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" # shellcheck source=./pip.sh source "${BASH_SOURCE%/*}/pip.sh" -PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/python-3.6.1-macosx10.6.pkg" -AltUrl="https://www.python.org/ftp/python/3.6.1/python-3.6.1-macosx10.6.pkg" -SHA1="ae0c749544c2d573c3cc29c4c2d7d9a595db28f9" +PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/python-3.7.4-macosx10.9.pkg" +AltUrl="https://www.python.org/ftp/python/3.7.4/python-3.7.4-macosx10.9.pkg" +SHA1="ef8a6b1abba6a6e8553916a881af440705653fa8" DestDir="/" InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir" -InstallPip python3.6 +InstallPip python3.7 -/Library/Frameworks/Python.framework/Versions/3.6/bin/pip3 install virtualenv wheel +/Library/Frameworks/Python.framework/Versions/3.7/bin/pip3 install virtualenv wheel -SetEnvVar "PYTHON3_PATH" "/Library/Frameworks/Python.framework/Versions/3.6/bin" -SetEnvVar "PIP3_PATH" "/Library/Frameworks/Python.framework/Versions/3.6/bin" +SetEnvVar "PYTHON3_PATH" "/Library/Frameworks/Python.framework/Versions/3.7/bin" +SetEnvVar "PIP3_PATH" "/Library/Frameworks/Python.framework/Versions/3.7/bin" # Install all needed packages in a special wheel cache directory -/Library/Frameworks/Python.framework/Versions/3.6/bin/pip3 wheel --wheel-dir $HOME/python3-wheels -r ${BASH_SOURCE%/*}/../shared/requirements.txt +/Library/Frameworks/Python.framework/Versions/3.7/bin/pip3 wheel --wheel-dir $HOME/python3-wheels -r ${BASH_SOURCE%/*}/../shared/requirements.txt SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels" -echo "python3 = 3.6.1" >> ~/versions.txt +echo "python3 = 3.7.4" >> ~/versions.txt diff --git a/coin/provisioning/common/shared/vcpkg_version.txt b/coin/provisioning/common/shared/vcpkg_version.txt new file mode 100644 index 00000000..7bff414a --- /dev/null +++ b/coin/provisioning/common/shared/vcpkg_version.txt @@ -0,0 +1 @@ +vcpkg_version=qt-snapshot-2019-12-05 diff --git a/coin/provisioning/common/unix/install_protobuff.sh b/coin/provisioning/common/unix/install_protobuff.sh index a9b2cfd0..9a1d9508 100755 --- a/coin/provisioning/common/unix/install_protobuff.sh +++ b/coin/provisioning/common/unix/install_protobuff.sh @@ -53,7 +53,7 @@ sudo rm "$targetFile" # devtoolset is needed when running configuration if uname -a |grep -qv "Darwin"; then - export PATH="/opt/rh/devtoolset-4/root/usr/bin:$PATH" + export PATH="/opt/rh/devtoolset-7/root/usr/bin:$PATH" fi echo "Configuring and building protobuf" diff --git a/coin/provisioning/common/windows/cmake.ps1 b/coin/provisioning/common/windows/cmake.ps1 index 9d3d6aef..bbec4b4f 100644 --- a/coin/provisioning/common/windows/cmake.ps1 +++ b/coin/provisioning/common/windows/cmake.ps1 @@ -1,6 +1,6 @@ ############################################################################# ## -## Copyright (C) 2017 The Qt Company Ltd. +## Copyright (C) 2019 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## ## This file is part of the provisioning scripts of the Qt Toolkit. @@ -33,8 +33,8 @@ . "$PSScriptRoot\helpers.ps1" -$majorminorversion = "3.7" -$version = "3.7.2" +$majorminorversion = "3.16" +$version = "3.16.0-rc4" $zip = Get-DownloadLocation ("cmake-" + $version + "-win32-x86.zip") $officialurl = "https://cmake.org/files/v" + $majorminorversion + "/cmake-" + $version + "-win32-x86.zip" @@ -44,7 +44,7 @@ Write-Host "Removing old cmake" Remove-Item "C:\CMake" -Force -Recurse -ErrorAction SilentlyContinue Download $officialurl $cachedurl $zip -Verify-Checksum $zip "c80c17e858ecfebfaf16fe8af18b174d2600c4e6" +Verify-Checksum $zip "989e5c6384870a77425f2ddbbf305bd3f6dad426" Extract-7Zip $zip C: $defaultinstallfolder = "C:\cmake-" + $version + "-win32-x86" diff --git a/coin/provisioning/common/windows/install-vcpkg.ps1 b/coin/provisioning/common/windows/install-vcpkg.ps1 new file mode 100644 index 00000000..52f1518f --- /dev/null +++ b/coin/provisioning/common/windows/install-vcpkg.ps1 @@ -0,0 +1,69 @@ +############################################################################# +## +## Copyright (C) 2019 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 vcpkg + +Write-Host "Installing vcpkg" + +$n = Get-Content "$PSScriptRoot\..\shared\vcpkg_version.txt" +$n = $n.Split('=') +New-Variable -Name $n[0] -Value $n[1] + +$officialUrl = "https://codeload.github.com/tronical/vcpkg/zip/$vcpkg_version" +$zip = "C:\Utils\vcpkg.zip" + +Download "$officialUrl" "" "$zip" +Extract-7Zip "$zip" c:\utils +Remove-Item $zip + +$installationFolder = "c:\utils\vcpkg-$vcpkg_version" + +cd $installationFolder + +cmd /c bootstrap-vcpkg.bat + +if(![System.IO.File]::Exists("$installationFolder\vcpkg.exe")){ + Write-Host "Can't find $installationFolder\vcpkg.exe. Installation probably failed!" + exit 1 +} + +Set-EnvironmentVariable VCPKG_DEFAULT_TRIPLET "qt-x64-windows-static" +Set-EnvironmentVariable VCPKG_ROOT "$installationFolder" + +cmd /c $installationFolder\vcpkg.exe install --triplet qt-x64-windows-static @qt-packages-windows.txt +cmd /c $installationFolder\vcpkg.exe install --triplet qt-x86-windows-static @qt-packages-windows.txt + +Remove-Item -Recurse -Force packages +Remove-Item -Recurse -Force buildtrees +Remove-Item -Recurse -Force downloads diff --git a/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/03-install-devtoolset.sh b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/03-install-devtoolset.sh index ebc7cac6..5d37a53a 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/03-install-devtoolset.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/03-install-devtoolset.sh @@ -35,7 +35,7 @@ set -ex -sudo yum -y install devtoolset-4 +sudo yum -y install devtoolset-7 -echo "source /opt/rh/devtoolset-4/enable" >> ~/.bashrc +echo "source /opt/rh/devtoolset-7/enable" >> ~/.bashrc 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 b956d6a3..6b569552 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 @@ -38,13 +38,20 @@ set -ex # Remove update notifications and packagekit running in the background sudo yum -y remove PackageKit gnome-software +sudo yum-config-manager --enable rhel-server-rhscl-7-rpms + installPackages=() -installPackages+=(git) +installPackages+=(rh-git29) installPackages+=(zlib-devel) installPackages+=(glib2-devel) installPackages+=(openssl-devel) installPackages+=(freetype-devel) installPackages+=(fontconfig-devel) +# cmake build +installPackages+=(ninja-build) +installPackages+=(pcre2-devel) +installPackages+=(double-conversion-devel) +installPackages+=(zstd) # EGL support installPackages+=(mesa-libEGL-devel) installPackages+=(mesa-libGL-devel) @@ -118,6 +125,9 @@ installPackages+=(vulkan-devel) sudo yum -y install "${installPackages[@]}" +scl enable rh-git29 bash +sudo ln -s /opt/rh/rh-git29/root/usr/bin/git /usr/local/bin/git + sudo ln -s /opt/rh/rh-python36/root/usr/bin/python3 /usr/local/bin/python3 sudo ln -s /opt/rh/rh-python36/root/usr/bin/pip3 /usr/local/bin/pip3 # We shouldn't use yum to install virtualenv. The one found from package repo is not diff --git a/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/06-cmake.sh b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/40-install-cmake.sh index 062b2790..062b2790 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/06-cmake.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/40-install-cmake.sh diff --git a/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/56-vcpkg.sh b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/56-vcpkg.sh new file mode 100755 index 00000000..5c7f3f1d --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/56-vcpkg.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -ex + +"$(dirname "$0")/../common/linux/vcpkg.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15-x86_64/02-zypperpackages.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/02-zypperpackages.sh index 080bc43b..7c9520d7 100755 --- a/coin/provisioning/qtci-linux-SLES-15-x86_64/02-zypperpackages.sh +++ b/coin/provisioning/qtci-linux-SLES-15-x86_64/02-zypperpackages.sh @@ -35,7 +35,7 @@ set -ex -sudo zypper -nq install git gcc gcc-c++ +sudo zypper -nq install git gcc gcc-c++ ninja sudo zypper -nq install bison flex gperf \ zlib-devel \ 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 d5f9ef7a..15d41b8a 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 @@ -171,6 +171,12 @@ installPackages+=(gawk) installPackages+=(texinfo) # Needed for Poppler test in QtWebEngine installPackages+=(libpoppler-cpp-dev) +# Needed for QtCore +installPackages+=(libdouble-conversion-dev) +installPackages+=(libpcre2-dev) +# Needed for qtgampepad +installPackages+=(libsdl2-2.0) +installPackages+=(libsdl2-dev) echo "Running update for apt" waitLoop diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-cmake.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-install-cmake.sh index db8a3ff5..db8a3ff5 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-cmake.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-install-cmake.sh diff --git a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/02-zypperpackages.sh b/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/02-zypperpackages.sh index d1f3050f..9da9ed0f 100755 --- a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/02-zypperpackages.sh +++ b/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/02-zypperpackages.sh @@ -2,7 +2,7 @@ set -ex -sudo zypper -nq install git gcc7 gcc7-c++ +sudo zypper -nq install git gcc7 gcc7-c++ ninja sudo /usr/sbin/update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 1 \ --slave /usr/bin/g++ g++ /usr/bin/g++-7 \ --slave /usr/bin/cc cc /usr/bin/gcc-7 \ @@ -17,7 +17,8 @@ sudo zypper -nq install bison flex gperf \ fontconfig-devel \ sqlite3-devel \ libxkbcommon-devel \ - libxkbcommon-x11-devel + libxkbcommon-x11-devel \ + pcre2-devel libpng16-devel # EGL support sudo zypper -nq install Mesa-libEGL-devel Mesa-libGL-devel diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/25-cmake.sh b/coin/provisioning/qtci-macos-10.13-x86_64/25-install-cmake.sh index 4f4d405e..4f4d405e 100755 --- a/coin/provisioning/qtci-macos-10.13-x86_64/25-cmake.sh +++ b/coin/provisioning/qtci-macos-10.13-x86_64/25-install-cmake.sh diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/26-freetype.sh b/coin/provisioning/qtci-macos-10.13-x86_64/26-freetype.sh new file mode 100755 index 00000000..0faec4b4 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/26-freetype.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -ex + +brew install freetype diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/26-ninja.sh b/coin/provisioning/qtci-macos-10.13-x86_64/26-ninja.sh new file mode 100755 index 00000000..c9d3e309 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/26-ninja.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -ex + +brew install ninja diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/26-pcre2.sh b/coin/provisioning/qtci-macos-10.13-x86_64/26-pcre2.sh new file mode 100755 index 00000000..f8af516b --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/26-pcre2.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -ex + +brew install pcre2 diff --git a/coin/provisioning/qtci-windows-10-x86_64/90-install-vcpkg.ps1 b/coin/provisioning/qtci-windows-10-x86_64/90-install-vcpkg.ps1 new file mode 100644 index 00000000..c898da22 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86_64/90-install-vcpkg.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\install-vcpkg.ps1" + |