forked from qt-creator/qt-creator
COIN: Add instructions for oldest supported Qt version
And fix installation of ICU, that was installed at the wrong location (the toplevel Qt directory instead of lib/, which didn't matter on systems where the right ICU version was preinstalled anyway) Change-Id: I53dcd6126b7b46358dd9aa0622e58a8c614bff3f Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -2,8 +2,32 @@ type: Group
|
||||
instructions:
|
||||
- type: Group
|
||||
instructions:
|
||||
# Currently used Qt version for packaging ...
|
||||
- type: Group
|
||||
instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: QTC_QT_BASE_URL
|
||||
variableValue: "https://ci-files02-hki.ci.qt.io/packages/jenkins/qt/6.8.0/release_content/"
|
||||
- type: EnvironmentVariable
|
||||
variableName: MACOSX_DEPLOYMENT_TARGET
|
||||
variableValue: 12.0
|
||||
enable_if:
|
||||
condition: property
|
||||
property: features
|
||||
not_contains_value: "OldestQt"
|
||||
# ... or oldest supported Qt version
|
||||
- type: Group
|
||||
instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: QTC_QT_BASE_URL
|
||||
variableValue: "https://ci-files02-hki.ci.qt.io/packages/jenkins/qt/6.4.3/release_content/"
|
||||
- type: EnvironmentVariable
|
||||
variableName: MACOSX_DEPLOYMENT_TARGET
|
||||
variableValue: 11.0
|
||||
enable_if:
|
||||
condition: property
|
||||
property: features
|
||||
contains_value: "OldestQt"
|
||||
- type: SetBuildDirectory
|
||||
directory: "{{.AgentWorkingDir}}/build"
|
||||
- type: MakeDirectory
|
||||
@@ -14,15 +38,9 @@ instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: LLVM_BASE_URL
|
||||
variableValue: https://ci-files02-hki.ci.qt.io/packages/jenkins/qtcreator_libclang/libclang-release_19.1.0-based
|
||||
- type: EnvironmentVariable
|
||||
variableName: QTC_QT_BASE_URL
|
||||
variableValue: "https://ci-files02-hki.ci.qt.io/packages/jenkins/qt/6.8.0/release_content/"
|
||||
- type: EnvironmentVariable
|
||||
variableName: QTC_QT_MODULES
|
||||
variableValue: "qt5compat qtbase qtdeclarative qtimageformats qtquick3d qtquicktimeline qtserialport qtshadertools qtsvg qttools qttranslations qtwebengine"
|
||||
- type: EnvironmentVariable
|
||||
variableName: MACOSX_DEPLOYMENT_TARGET
|
||||
variableValue: 11.0
|
||||
- type: EnvironmentVariable
|
||||
variableName: SDKTOOL_MACOSX_DEPLOYMENT_TARGET
|
||||
variableValue: 11.0
|
||||
@@ -37,6 +55,17 @@ instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: QTC_QT_POSTFIX
|
||||
variableValue: "-Windows-Windows_11_23H2-MSVC2022-Windows-Windows_11_23H2-X86_64.7z"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: features
|
||||
not_contains_value: "OldestQt"
|
||||
- type: EnvironmentVariable
|
||||
variableName: QTC_QT_POSTFIX
|
||||
variableValue: "-Windows-Windows_11_22H2-MSVC2019-Windows-Windows_11_22H2-X86_64.7z"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: features
|
||||
contains_value: "OldestQt"
|
||||
- type: EnvironmentVariable
|
||||
variableName: QTC_SDKTOOL_QT_EXT
|
||||
variableValue: ".zip"
|
||||
@@ -53,11 +82,32 @@ instructions:
|
||||
condition: property
|
||||
property: target.os
|
||||
equals_value: Windows
|
||||
- type: Group
|
||||
instructions:
|
||||
- type: Group
|
||||
instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: QTC_QT_POSTFIX
|
||||
variableValue: "-Linux-RHEL_8_8-GCC-Linux-RHEL_8_8-X86_64.7z"
|
||||
- type: EnvironmentVariable
|
||||
variableName: QTC_ICU_URL
|
||||
variableValue: "https://ci-files02-hki.ci.qt.io/packages/jenkins/development_releases/prebuilt/icu/prebuilt/73.2/icu-linux-g++-Rhel8.6-x64.7z"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: features
|
||||
not_contains_value: "OldestQt"
|
||||
- type: Group
|
||||
instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: QTC_QT_POSTFIX
|
||||
variableValue: "-Linux-RHEL_8_4-GCC-Linux-RHEL_8_4-X86_64.7z"
|
||||
- type: EnvironmentVariable
|
||||
variableName: QTC_ICU_URL
|
||||
variableValue: "https://ci-files02-hki.ci.qt.io/packages/jenkins/development_releases/prebuilt/icu/prebuilt/56.1/icu-linux-g++-Rhel7.2-x64.7z"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: features
|
||||
contains_value: "OldestQt"
|
||||
- type: EnvironmentVariable
|
||||
variableName: QTC_SDKTOOL_QT_EXT
|
||||
variableValue: ".tar.xz"
|
||||
@@ -67,9 +117,6 @@ instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: QTC_LLVM_POSTFIX
|
||||
variableValue: "-linux-Rhel8.8-gcc10.3-x86_64.7z"
|
||||
- type: EnvironmentVariable
|
||||
variableName: QTC_ICU_URL
|
||||
variableValue: "https://ci-files02-hki.ci.qt.io/packages/jenkins/development_releases/prebuilt/icu/prebuilt/56.1/icu-linux-g++-Rhel7.2-x64.7z"
|
||||
- type: EnvironmentVariable
|
||||
variableName: PYTHON_EXECUTABLE
|
||||
variableValue: "python3"
|
||||
@@ -124,6 +171,17 @@ instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: QTC_QT_POSTFIX
|
||||
variableValue: "-MacOS-MacOS_14-Clang-MacOS-MacOS_14-X86_64-ARM64.7z"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: features
|
||||
not_contains_value: "OldestQt"
|
||||
- type: EnvironmentVariable
|
||||
variableName: QTC_QT_POSTFIX
|
||||
variableValue: "-MacOS-MacOS_12-Clang-MacOS-MacOS_12-X86_64-ARM64.7z"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: features
|
||||
contains_value: "OldestQt"
|
||||
- type: EnvironmentVariable
|
||||
variableName: QTC_SDKTOOL_QT_EXT
|
||||
variableValue: ".tar.xz"
|
||||
|
@@ -1,4 +1,3 @@
|
||||
dependencies:
|
||||
../../qt/qt5.git:
|
||||
ref: "6.8"
|
||||
|
||||
|
@@ -142,22 +142,26 @@ async def download(url: str, target: Path) -> None:
|
||||
|
||||
|
||||
def download_and_extract(urls: list[str], target: Path, temp: Path) -> None:
|
||||
download_and_extract_tuples([(url, target) for url in urls], temp)
|
||||
|
||||
|
||||
def download_and_extract_tuples(urls_and_targets: list[tuple[str, Path]], temp: Path) -> None:
|
||||
temp.mkdir(parents=True, exist_ok=True)
|
||||
target_files = []
|
||||
target_tuples : list[tuple[Path, Path]] = []
|
||||
# TODO make this work with file URLs, which then aren't downloaded
|
||||
# but just extracted
|
||||
async def impl():
|
||||
tasks : list[asyncio.Task] = []
|
||||
for url in urls:
|
||||
for (url, target_path) in urls_and_targets:
|
||||
u = urlparse(url)
|
||||
filename = Path(u.path).name
|
||||
target_file = temp / filename
|
||||
target_files.append(target_file)
|
||||
target_tuples.append((target_file, target_path))
|
||||
tasks.append(asyncio.create_task(download(url, target_file)))
|
||||
for task in tasks:
|
||||
await task
|
||||
asyncio.run(impl())
|
||||
for file in target_files:
|
||||
for (file, target) in target_tuples:
|
||||
extract_file(file, target)
|
||||
|
||||
|
||||
|
@@ -4,7 +4,7 @@
|
||||
|
||||
from __future__ import annotations
|
||||
import argparse
|
||||
from common import download_and_extract
|
||||
from common import download_and_extract_tuples
|
||||
from pathlib import Path
|
||||
import subprocess
|
||||
import sys
|
||||
@@ -73,10 +73,10 @@ def install_qt(
|
||||
|
||||
with TemporaryDirectory() as temporary_dir:
|
||||
if need_to_install_qt:
|
||||
urls = qt_modules
|
||||
url_target_tuples = [(url, qt_path) for url in qt_modules]
|
||||
if icu_url:
|
||||
qt_modules.append(icu_url)
|
||||
download_and_extract(urls, qt_path, Path(temporary_dir))
|
||||
url_target_tuples.append((icu_url, qt_path / 'lib'))
|
||||
download_and_extract_tuples(url_target_tuples, Path(temporary_dir))
|
||||
patch_qt(qt_path)
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user