aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAku Pietikäinen <aku.pietikainen@qt.io>2023-06-09 12:21:18 +0300
committerAku Pietikäinen <aku.pietikainen@qt.io>2023-08-16 16:06:23 +0300
commit2de9e59be6ddc12cae57c7b0948248aac72306bd (patch)
treee337fe24d9a586671a959f6f9a1288ce24f13665
parent28e1b89e42184bf8a268c217411cb9f45a89e999 (diff)
Provisioning: macOS 14 x86_64 support
Change-Id: I369beb7a790fbb94bf2c1e9a823734434ea3b3da Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
-rw-r--r--coin/platform_configs/nightly_macos14.yaml20
-rwxr-xr-xcoin/provisioning/common/macos/telegraf-ioping.sh4
-rwxr-xr-xcoin/provisioning/common/macos/telegraf_install.sh15
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/01-disable-net-lso.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/01-disable-notifications_and_warnings.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/01-disable-updates.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/01-increase_limits.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/01-sha1sum-compatibility.sh47
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/03-bashprofile.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/05-systemsetup.sh121
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/06-crashreporter.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/06-disable_spotlight.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/06-disable_update_downloads.sh4
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/07-SSL_keychain.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/15-xz.sh58
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/20-java.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/20-xcode.sh59
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/21-install-commandlinetools.sh51
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/24-sccache.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/25-cmake.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/25-homebrew.sh63
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/25-mysql.sh64
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/25-pip.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/25-postgresql.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/25-python2.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/25-python3.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/26-freetype.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/26-ninja.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/26-odbc.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/26-p7zip.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/26-pcre2.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/27-libclang.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/28-libclang-v100-dyn.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/29-libusb.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/30-android.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/30-fbx.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/30-install-conan.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/30-nodejs.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/35-install-breakpad.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/35-install_protobuf.sh46
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/35-openssl.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/36-emsdk.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/50-openssl_for_android_darwin.sh44
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/80-screenresolution.sh4
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/81-bluetooth.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/90-install-ffmpeg.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/90-squish.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/97-set-locale.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/99-mac-version.sh6
50 files changed, 795 insertions, 9 deletions
diff --git a/coin/platform_configs/nightly_macos14.yaml b/coin/platform_configs/nightly_macos14.yaml
new file mode 100644
index 00000000..81b040e5
--- /dev/null
+++ b/coin/platform_configs/nightly_macos14.yaml
@@ -0,0 +1,20 @@
+Version: 2
+Module only: True
+Configurations:
+-
+ Id: 'macos-14-x86_64-developer-build'
+ Template: 'qtci-macos-14-x86_64-103'
+ Compiler: 'Clang'
+ Features: ['Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure']
+ Configure arguments: '-developer-build -release -force-debug-info -no-pch -no-framework -qtnamespace TestNamespace -make examples'
+ Environment variables: [
+ 'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}',
+ 'Protobuf_ROOT=/usr/local/lib/cmake/protobuf',
+ ]
+-
+ Id: 'macos-14-x86_64-developer-build-tests'
+ Template: 'qtci-macos-14-x86_64-103'
+ Compiler: 'Clang'
+ Features: ['Sccache', 'TestOnly']
+ Platform dependency: 'macos-14-x86_64-developer-build'
diff --git a/coin/provisioning/common/macos/telegraf-ioping.sh b/coin/provisioning/common/macos/telegraf-ioping.sh
index eee1372b..139103ad 100755
--- a/coin/provisioning/common/macos/telegraf-ioping.sh
+++ b/coin/provisioning/common/macos/telegraf-ioping.sh
@@ -12,7 +12,7 @@
set -e
-[ x"$1" = x ] && echo "$0 takes a path as a first argument" && exit 1
+[ -z "$1" ] && echo "$0 takes a path as a first argument" && exit 1
# Try to run in high priority to avoid slow-downs because of
# factors other than I/O.
@@ -23,4 +23,4 @@ rlatency="$(/usr/local/bin/ioping -B -k -c 3 -i 0.1 "$1" | cut -d " " -f 5)"
wlatency="$(/usr/local/bin/ioping -B -k -c 3 -i 0.1 -W "$1" | cut -d " " -f 5)"
printf "ioping,path=$1 read_latency_ns=%u,write_latency_ns=%u\n" \
- $rlatency $wlatency
+ "$rlatency" "$wlatency"
diff --git a/coin/provisioning/common/macos/telegraf_install.sh b/coin/provisioning/common/macos/telegraf_install.sh
index a3028913..a3d7eb90 100755
--- a/coin/provisioning/common/macos/telegraf_install.sh
+++ b/coin/provisioning/common/macos/telegraf_install.sh
@@ -1,5 +1,5 @@
-#!/bin/sh
-# Copyright (C) 2019 The Qt Company Ltd.
+#!/bin/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
@@ -15,11 +15,12 @@
######################## BOILERPLATE ###########################
set -e
-
PROVISIONING_DIR="$(dirname "$0")/../../"
-. "$PROVISIONING_DIR"/common/unix/common.sourced.sh
-. "$PROVISIONING_DIR"/common/unix/DownloadURL.sh
+# shellcheck source=../unix/common.sourced.sh
+source "${BASH_SOURCE%/*}/../unix/common.sourced.sh"
+# shellcheck source=../unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
is_script_executed telegraf_install.sh \
|| fatal "Script telegraf_install.sh should be executed, not sourced"
@@ -41,8 +42,8 @@ $CMD_INSTALL -m 755 "$PROVISIONING_DIR"/common/macos/telegraf-ioping.sh /usr/l
# 3. Download and install telegraf
-[ x"$PROVISIONING_OS" = xmacos ] && os=darwin || os=linux
-[ x"$PROVISIONING_ARCH" = xx86 ] && arch=i386 || arch=amd64
+[ "$PROVISIONING_OS" = macos ] && os=darwin || os=linux
+[ "$PROVISIONING_ARCH" = x86 ] && arch=i386 || arch=amd64
package_filename=telegraf-1.12.6_${os}_${arch}.tar.gz
package_sha256_list="$PROVISIONING_DIR"/common/shared/telegraf/telegraf_packages.sha256.txt
package_sha256=$(sed -n "s/.*$package_filename *//p" "$package_sha256_list")
diff --git a/coin/provisioning/qtci-macos-14-x86_64/01-disable-net-lso.sh b/coin/provisioning/qtci-macos-14-x86_64/01-disable-net-lso.sh
new file mode 100755
index 00000000..659ebe96
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/01-disable-net-lso.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/disable_net_lso.sh
diff --git a/coin/provisioning/qtci-macos-14-x86_64/01-disable-notifications_and_warnings.sh b/coin/provisioning/qtci-macos-14-x86_64/01-disable-notifications_and_warnings.sh
new file mode 100755
index 00000000..27efbb62
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/01-disable-notifications_and_warnings.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/disable-notifications_and_warnings.sh
diff --git a/coin/provisioning/qtci-macos-14-x86_64/01-disable-updates.sh b/coin/provisioning/qtci-macos-14-x86_64/01-disable-updates.sh
new file mode 100755
index 00000000..10efb43e
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/01-disable-updates.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/system_updates.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/01-increase_limits.sh b/coin/provisioning/qtci-macos-14-x86_64/01-increase_limits.sh
new file mode 100755
index 00000000..08669e52
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/01-increase_limits.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/increase_limits.sh
diff --git a/coin/provisioning/qtci-macos-14-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-macos-14-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..abd9ba0d
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/telegraf_install.sh
diff --git a/coin/provisioning/qtci-macos-14-x86_64/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-macos-14-x86_64/01-sha1sum-compatibility.sh
new file mode 100755
index 00000000..c6171e57
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/01-sha1sum-compatibility.sh
@@ -0,0 +1,47 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2023 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:LGPL$
+## 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 https://www.qt.io/terms-conditions. For further
+## information use the contact form at https://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 3 as published by the Free Software
+## Foundation and appearing in the file LICENSE.LGPL3 included in the
+## packaging of this file. Please review the following information to
+## ensure the GNU Lesser General Public License version 3 requirements
+## will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+##
+## GNU General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU
+## General Public License version 2.0 or (at your option) the GNU General
+## Public license version 3 or any later version approved by the KDE Free
+## Qt Foundation. The licenses are as published by the Free Software
+## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+## included in the packaging of this file. Please review the following
+## information to ensure the GNU General Public License requirements will
+## be met: https://www.gnu.org/licenses/gpl-2.0.html and
+## https://www.gnu.org/licenses/gpl-3.0.html.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+#!/usr/bin/env bash
+
+set -ex
+
+# shellcheck source=../common/macos/sha1sum-compatibility.sh
+source "${BASH_SOURCE%/*}/../common/macos/sha1sum-compatibility.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/03-bashprofile.sh b/coin/provisioning/qtci-macos-14-x86_64/03-bashprofile.sh
new file mode 100755
index 00000000..2c3e45f3
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/03-bashprofile.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env sh
+
+set -ex
+
+# Read .bashrc if exist
+printf -- "# Get the aliases and functions\nif [ -f ~/.bashrc ]; then\n . ~/.bashrc\nfi\n" >> ~/.bash_profile
+
diff --git a/coin/provisioning/qtci-macos-14-x86_64/05-systemsetup.sh b/coin/provisioning/qtci-macos-14-x86_64/05-systemsetup.sh
new file mode 100755
index 00000000..dd7e6f9c
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/05-systemsetup.sh
@@ -0,0 +1,121 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2023 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:LGPL$
+## 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 https://www.qt.io/terms-conditions. For further
+## information use the contact form at https://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 3 as published by the Free Software
+## Foundation and appearing in the file LICENSE.LGPL3 included in the
+## packaging of this file. Please review the following information to
+## ensure the GNU Lesser General Public License version 3 requirements
+## will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+##
+## GNU General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU
+## General Public License version 2.0 or (at your option) the GNU General
+## Public license version 3 or any later version approved by the KDE Free
+## Qt Foundation. The licenses are as published by the Free Software
+## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+## included in the packaging of this file. Please review the following
+## information to ensure the GNU General Public License requirements will
+## be met: https://www.gnu.org/licenses/gpl-2.0.html and
+## https://www.gnu.org/licenses/gpl-3.0.html.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+set -ex
+
+# This script modifies system settings for automated use
+
+targetFile="$HOME/vncpw.txt"
+
+# Fetch password
+curl --retry 5 --retry-delay 10 --retry-max-time 60 \
+ "http://ci-files01-hki.intra.qt.io/input/semisecure/vncpw.txt" \
+ -o "$targetFile"
+shasum "$targetFile" |grep "a795fccaa8f277e62ec08e6056c544b8b63924a0"
+
+{ VNCPassword=$(cat "$targetFile"); } 2> /dev/null
+NTS_IP=10.212.2.216
+
+echo "Disable Screensaver"
+# For current session
+defaults -currentHost write com.apple.screensaver idleTime 0
+
+echo "Disable sleep"
+sudo pmset sleep 0 displaysleep 0
+
+# For session after a reboot
+mkdir -p "$HOME/Library/LaunchAgents"
+sudo tee -a "$HOME/Library/LaunchAgents/no-screensaver.plist" <<EOT
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+
+<plist version="1.0">
+ <dict>
+ <key>Label</key>
+ <string>org.qt.io.screensaver_disable</string>
+ <key>ProgramArguments</key>
+ <array>
+ <string>defaults</string>
+ <string>-currentHost</string>
+ <string>write</string>
+ <string>com.apple.screensaver</string>
+ <string>idleTime</string>
+ <string>0</string>
+ </array>
+ <key>RunAtLoad</key>
+ <true/>
+ <key>KeepAlive</key>
+ <false/>
+ </dict>
+</plist>
+EOT
+
+defaults write com.apple.screensaver askForPassword -int 0
+
+echo "Set keyboard type rates and delays"
+# normal minimum is 15 (225 ms)
+defaults write -g InitialKeyRepeat -int 15
+# normal minimum is 2 (30 ms)
+defaults write -g KeyRepeat -int 2
+
+set +x
+echo "Enable remote desktop sharing"
+sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart \
+ -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts \
+ -setvncpw -vncpw "$VNCPassword" -restart -agent -privs -all
+set -x
+
+echo "Set Network Test Server address to $NTS_IP in /etc/hosts"
+echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
+
+sudo systemsetup settimezone GMT
+sudo systemsetup setusingnetworktime off
+sudo rm -f "$targetFile"
+
+# Enable automount for nfs shares
+sudo sed -i'.orig' -e 's:^#/net:/net:' -e 's:hidefromfinder,nosuid:hidefromfinder,nosuid,locallocks,nocallback:' /etc/auto_master
+sudo automount -cv
+
+# Disable multicast advertisements
+sudo defaults write /Library/Preferences/com.apple.mDNSResponder.plist NoMulticastAdvertisements -bool true
+
+# Enable Use keyboard navigation to move focus between controls
+defaults write -g AppleKeyboardUIMode -int 2
diff --git a/coin/provisioning/qtci-macos-14-x86_64/06-crashreporter.sh b/coin/provisioning/qtci-macos-14-x86_64/06-crashreporter.sh
new file mode 100755
index 00000000..8461c656
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/06-crashreporter.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env sh
+
+set -ex
+
+defaults write com.apple.CrashReporter DialogType server
diff --git a/coin/provisioning/qtci-macos-14-x86_64/06-disable_spotlight.sh b/coin/provisioning/qtci-macos-14-x86_64/06-disable_spotlight.sh
new file mode 100755
index 00000000..67e2c1f6
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/06-disable_spotlight.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+set -ex
+
+# shellcheck source=../common/macos/disable_spotlight.sh
+source "${BASH_SOURCE%/*}/../common/macos/disable_spotlight.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/06-disable_update_downloads.sh b/coin/provisioning/qtci-macos-14-x86_64/06-disable_update_downloads.sh
new file mode 100755
index 00000000..3c11214d
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/06-disable_update_downloads.sh
@@ -0,0 +1,4 @@
+#!/usr/bin/env bash
+set -ex
+BASEDIR=$(dirname "$0")
+"$BASEDIR"/../common/macos/disable_update_downloads.sh
diff --git a/coin/provisioning/qtci-macos-14-x86_64/07-SSL_keychain.sh b/coin/provisioning/qtci-macos-14-x86_64/07-SSL_keychain.sh
new file mode 100755
index 00000000..4f66bcbf
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/07-SSL_keychain.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+
+set -ex
+
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+# Enables the usage of temporary keychains for SSL autotests
+SetEnvVar "QT_SSL_USE_TEMPORARY_KEYCHAIN" "1"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/15-xz.sh b/coin/provisioning/qtci-macos-14-x86_64/15-xz.sh
new file mode 100755
index 00000000..e91a9b6c
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/15-xz.sh
@@ -0,0 +1,58 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2023 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:LGPL$
+## 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 https://www.qt.io/terms-conditions. For further
+## information use the contact form at https://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 3 as published by the Free Software
+## Foundation and appearing in the file LICENSE.LGPL3 included in the
+## packaging of this file. Please review the following information to
+## ensure the GNU Lesser General Public License version 3 requirements
+## will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+##
+## GNU General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU
+## General Public License version 2.0 or (at your option) the GNU General
+## Public license version 3 or any later version approved by the KDE Free
+## Qt Foundation. The licenses are as published by the Free Software
+## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+## included in the packaging of this file. Please review the following
+## information to ensure the GNU General Public License requirements will
+## be met: https://www.gnu.org/licenses/gpl-2.0.html and
+## https://www.gnu.org/licenses/gpl-3.0.html.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script installs XZ-Utils
+
+# XZ-Utils are needed for uncompressing xz-compressed files
+
+set -ex
+
+# shellcheck source=../common/macos/InstallPKGFromURL.sh
+source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh"
+
+PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/XZ.pkg"
+AltUrl="http://sourceforge.net/projects/macpkg/files/XZ/5.0.7/XZ.pkg"
+SHA1="f0c1f82ebcffe0bd4b8b57b6a77805db56b2de67"
+DestDir="/"
+
+InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir"
+
+echo "XZ = 5.0.7" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-14-x86_64/20-java.sh b/coin/provisioning/qtci-macos-14-x86_64/20-java.sh
new file mode 100755
index 00000000..dcfcb93b
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/20-java.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/java.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/20-xcode.sh b/coin/provisioning/qtci-macos-14-x86_64/20-xcode.sh
new file mode 100755
index 00000000..6f0d5cfa
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/20-xcode.sh
@@ -0,0 +1,59 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2023 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:LGPL$
+## 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 https://www.qt.io/terms-conditions. For further
+## information use the contact form at https://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 3 as published by the Free Software
+## Foundation and appearing in the file LICENSE.LGPL3 included in the
+## packaging of this file. Please review the following information to
+## ensure the GNU Lesser General Public License version 3 requirements
+## will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+##
+## GNU General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU
+## General Public License version 2.0 or (at your option) the GNU General
+## Public license version 3 or any later version approved by the KDE Free
+## Qt Foundation. The licenses are as published by the Free Software
+## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+## included in the packaging of this file. Please review the following
+## information to ensure the GNU General Public License requirements will
+## be met: https://www.gnu.org/licenses/gpl-2.0.html and
+## https://www.gnu.org/licenses/gpl-3.0.html.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script installs Xcode
+# Prerequisites: Have Xcode prefetched to local cache as xz compressed.
+# This can be achieved by fetching Xcode_9.xip from Apple Store.
+# Uncompress it with 'xar -xf Xcode_9.xip'
+# Then get https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py
+# with which you can run 'python parse_pbzx2.py Content'.
+# This will give you five files called "Content.part<00..05>.cpio.xz".
+# Extract those that have the extension .xz with xz.
+# "cat" together all the content files "cat file1, file2, file3, file4, file5 >file_new"
+# Compress the new file with xz back to something like Xcode_9.xz
+# Upload the file to temporary storage for this script to use.
+
+set -ex
+
+# shellcheck source=../common/macos/install_xcode.sh
+source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh"
+
+InstallXCode /net/ci-files01-hki.intra.qt.io/hdd/www/input/mac/Xcode_15_beta.xip 15_beta
diff --git a/coin/provisioning/qtci-macos-14-x86_64/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-14-x86_64/21-install-commandlinetools.sh
new file mode 100755
index 00000000..ea4f56fb
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/21-install-commandlinetools.sh
@@ -0,0 +1,51 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2023 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:LGPL$
+## 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 https://www.qt.io/terms-conditions. For further
+## information use the contact form at https://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 3 as published by the Free Software
+## Foundation and appearing in the file LICENSE.LGPL3 included in the
+## packaging of this file. Please review the following information to
+## ensure the GNU Lesser General Public License version 3 requirements
+## will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+##
+## GNU General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU
+## General Public License version 2.0 or (at your option) the GNU General
+## Public license version 3 or any later version approved by the KDE Free
+## Qt Foundation. The licenses are as published by the Free Software
+## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+## included in the packaging of this file. Please review the following
+## information to ensure the GNU General Public License requirements will
+## be met: https://www.gnu.org/licenses/gpl-2.0.html and
+## https://www.gnu.org/licenses/gpl-3.0.html.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+set -ex
+
+# shellcheck source=../common/macos/install-commandlinetools.sh
+source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh"
+version="15_beta"
+packageName="Command_Line_Tools_for_Xcode_$version.dmg"
+url="http://ci-files01-hki.intra.qt.io/input/mac/$packageName"
+sha1="7bdcf926322191d3c72d981eb36f80210339477a"
+
+InstallCommandLineTools $url $url $sha1 $packageName $version
diff --git a/coin/provisioning/qtci-macos-14-x86_64/24-sccache.sh b/coin/provisioning/qtci-macos-14-x86_64/24-sccache.sh
new file mode 100755
index 00000000..358b23fb
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/24-sccache.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/macos/sccache.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/25-cmake.sh b/coin/provisioning/qtci-macos-14-x86_64/25-cmake.sh
new file mode 100755
index 00000000..4f4d405e
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/25-cmake.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/cmake.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/25-homebrew.sh b/coin/provisioning/qtci-macos-14-x86_64/25-homebrew.sh
new file mode 100755
index 00000000..c0c63580
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/25-homebrew.sh
@@ -0,0 +1,63 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2023 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:LGPL$
+## 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 https://www.qt.io/terms-conditions. For further
+## information use the contact form at https://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 3 as published by the Free Software
+## Foundation and appearing in the file LICENSE.LGPL3 included in the
+## packaging of this file. Please review the following information to
+## ensure the GNU Lesser General Public License version 3 requirements
+## will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+##
+## GNU General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU
+## General Public License version 2.0 or (at your option) the GNU General
+## Public license version 3 or any later version approved by the KDE Free
+## Qt Foundation. The licenses are as published by the Free Software
+## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+## included in the packaging of this file. Please review the following
+## information to ensure the GNU General Public License requirements will
+## be met: https://www.gnu.org/licenses/gpl-2.0.html and
+## https://www.gnu.org/licenses/gpl-3.0.html.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# Will install homebrew package manager for macOS.
+# WARNING: Requires commandlinetools
+
+
+set -e
+
+. "$(dirname "$0")"/../common/unix/DownloadURL.sh
+
+DownloadURL \
+ http://ci-files01-hki.ci.qt.io/input/mac/homebrew/d8f6c666d20a3d42e007ceec161a06651ad92ba331a24a3de62912edb129a522/install.sh \
+ http://ci-files01-hki.ci.qt.io/input/mac/homebrew/d8f6c666d20a3d42e007ceec161a06651ad92ba331a24a3de62912edb129a522/install.sh \
+ d8f6c666d20a3d42e007ceec161a06651ad92ba331a24a3de62912edb129a522 \
+ /tmp/homebrew_install.sh
+
+DownloadURL "http://ci-files01-hki.intra.qt.io/input/semisecure/sign/pw" "http://ci-files01-hki.intra.qt.io/input/semisecure/sign/pw" "aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" "/Users/qt/pw"
+{ pw=$(cat "/Users/qt/pw"); } 2> /dev/null
+sudo chmod 755 /tmp/homebrew_install.sh
+{ (echo "$pw" | /tmp/homebrew_install.sh); } 2> /dev/null
+rm -f "/Users/qt/pw"
+
+# No need to manually do `brew update`, the homebrew installer script does it.
+### brew update
diff --git a/coin/provisioning/qtci-macos-14-x86_64/25-mysql.sh b/coin/provisioning/qtci-macos-14-x86_64/25-mysql.sh
new file mode 100755
index 00000000..95c96166
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/25-mysql.sh
@@ -0,0 +1,64 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2023 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:LGPL$
+## 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 https://www.qt.io/terms-conditions. For further
+## information use the contact form at https://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 3 as published by the Free Software
+## Foundation and appearing in the file LICENSE.LGPL3 included in the
+## packaging of this file. Please review the following information to
+## ensure the GNU Lesser General Public License version 3 requirements
+## will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+##
+## GNU General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU
+## General Public License version 2.0 or (at your option) the GNU General
+## Public license version 3 or any later version approved by the KDE Free
+## Qt Foundation. The licenses are as published by the Free Software
+## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+## included in the packaging of this file. Please review the following
+## information to ensure the GNU General Public License requirements will
+## be met: https://www.gnu.org/licenses/gpl-2.0.html and
+## https://www.gnu.org/licenses/gpl-3.0.html.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script installs MySQL
+
+# MySQL is needed for Qt to be able to support MySQL
+
+set -ex
+
+# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh
+source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh"
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz"
+AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz"
+SHA1="07949bd42f350b0504a1536b8830b809b4a34fca"
+appPrefix=""
+targetDir="/opt/mysql57/"
+
+sudo mkdir -p "/opt"
+
+InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir"
+
+SetEnvVar "MYSQLBINPATH" "/opt/mysql57/bin"
+echo "MySQL = 5.7.15" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-14-x86_64/25-pip.sh b/coin/provisioning/qtci-macos-14-x86_64/25-pip.sh
new file mode 100755
index 00000000..86db3e27
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/25-pip.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/pip.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/25-postgresql.sh b/coin/provisioning/qtci-macos-14-x86_64/25-postgresql.sh
new file mode 100755
index 00000000..db1f5236
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/25-postgresql.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/postgresql.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/25-python2.sh b/coin/provisioning/qtci-macos-14-x86_64/25-python2.sh
new file mode 100755
index 00000000..7ebb8825
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/25-python2.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+set -ex
+
+# shellcheck source=../common/macos/python2.sh
+source "${BASH_SOURCE%/*}/../common/macos/python2.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/25-python3.sh b/coin/provisioning/qtci-macos-14-x86_64/25-python3.sh
new file mode 100755
index 00000000..eb2a4863
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/25-python3.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+set -ex
+
+# shellcheck source=../common/macos/python3.sh
+source "${BASH_SOURCE%/*}/../common/macos/python3.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/26-freetype.sh b/coin/provisioning/qtci-macos-14-x86_64/26-freetype.sh
new file mode 100755
index 00000000..0faec4b4
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-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-14-x86_64/26-ninja.sh b/coin/provisioning/qtci-macos-14-x86_64/26-ninja.sh
new file mode 100755
index 00000000..08428b2f
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/26-ninja.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+
+set -ex
+
+# shellcheck source=../common/macos/ninja.sh
+source "${BASH_SOURCE%/*}/../common/macos/ninja.sh"
+
+
diff --git a/coin/provisioning/qtci-macos-14-x86_64/26-odbc.sh b/coin/provisioning/qtci-macos-14-x86_64/26-odbc.sh
new file mode 100755
index 00000000..821c859f
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/26-odbc.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+# Install libiodbc
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/libiodbc.sh" --with-universal
diff --git a/coin/provisioning/qtci-macos-14-x86_64/26-p7zip.sh b/coin/provisioning/qtci-macos-14-x86_64/26-p7zip.sh
new file mode 100755
index 00000000..15511332
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/26-p7zip.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+# Install 7z to be used from command line
+
+set -ex
+
+brew update
+brew install p7zip
diff --git a/coin/provisioning/qtci-macos-14-x86_64/26-pcre2.sh b/coin/provisioning/qtci-macos-14-x86_64/26-pcre2.sh
new file mode 100755
index 00000000..f8af516b
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/26-pcre2.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+set -ex
+
+brew install pcre2
diff --git a/coin/provisioning/qtci-macos-14-x86_64/27-libclang.sh b/coin/provisioning/qtci-macos-14-x86_64/27-libclang.sh
new file mode 100755
index 00000000..aad628cb
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/27-libclang.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# There is only one mac package and common script uses it as a default
+"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/28-libclang-v100-dyn.sh b/coin/provisioning/qtci-macos-14-x86_64/28-libclang-v100-dyn.sh
new file mode 100755
index 00000000..c9d6e93d
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/28-libclang-v100-dyn.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/libclang-v100-dyn.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/29-libusb.sh b/coin/provisioning/qtci-macos-14-x86_64/29-libusb.sh
new file mode 100755
index 00000000..c58274b6
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/29-libusb.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+
+"$BASEDIR/../common/macos/libusb.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/30-android.sh b/coin/provisioning/qtci-macos-14-x86_64/30-android.sh
new file mode 100755
index 00000000..c47c2e7b
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/30-android.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+# shellcheck source=../common/macos/android.sh
+source "${BASH_SOURCE%/*}/../common/macos/android.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/30-fbx.sh b/coin/provisioning/qtci-macos-14-x86_64/30-fbx.sh
new file mode 100755
index 00000000..34eefeb6
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/30-fbx.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/fbx_macos.sh"
+
diff --git a/coin/provisioning/qtci-macos-14-x86_64/30-install-conan.sh b/coin/provisioning/qtci-macos-14-x86_64/30-install-conan.sh
new file mode 100755
index 00000000..f1d084fd
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/30-install-conan.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/install-conan.sh" "macos"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/30-nodejs.sh b/coin/provisioning/qtci-macos-14-x86_64/30-nodejs.sh
new file mode 100755
index 00000000..3b88d526
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/30-nodejs.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/nodejs.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-macos-14-x86_64/35-install-breakpad.sh
new file mode 100755
index 00000000..74dd1579
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/35-install-breakpad.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+# shellcheck source=../common/unix/install-breakpad.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/35-install_protobuf.sh b/coin/provisioning/qtci-macos-14-x86_64/35-install_protobuf.sh
new file mode 100755
index 00000000..367feef7
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/35-install_protobuf.sh
@@ -0,0 +1,46 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2023 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:LGPL$
+## 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 https://www.qt.io/terms-conditions. For further
+## information use the contact form at https://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 3 as published by the Free Software
+## Foundation and appearing in the file LICENSE.LGPL3 included in the
+## packaging of this file. Please review the following information to
+## ensure the GNU Lesser General Public License version 3 requirements
+## will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+##
+## GNU General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU
+## General Public License version 2.0 or (at your option) the GNU General
+## Public license version 3 or any later version approved by the KDE Free
+## Qt Foundation. The licenses are as published by the Free Software
+## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+## included in the packaging of this file. Please review the following
+## information to ensure the GNU General Public License requirements will
+## be met: https://www.gnu.org/licenses/gpl-2.0.html and
+## https://www.gnu.org/licenses/gpl-3.0.html.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+set -ex
+
+# shellcheck source=../common/unix/install_protobuf.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh"
+
diff --git a/coin/provisioning/qtci-macos-14-x86_64/35-openssl.sh b/coin/provisioning/qtci-macos-14-x86_64/35-openssl.sh
new file mode 100755
index 00000000..eda0d831
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/35-openssl.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -ex
+
+# shellcheck source=../common/unix/install_openssl.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos-universal"
+
diff --git a/coin/provisioning/qtci-macos-14-x86_64/36-emsdk.sh b/coin/provisioning/qtci-macos-14-x86_64/36-emsdk.sh
new file mode 100755
index 00000000..7396d336
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/36-emsdk.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+# shellcheck source=../common/unix/emsdk.sh
+source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/50-openssl_for_android_darwin.sh b/coin/provisioning/qtci-macos-14-x86_64/50-openssl_for_android_darwin.sh
new file mode 100755
index 00000000..345891b3
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/50-openssl_for_android_darwin.sh
@@ -0,0 +1,44 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2023 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:LGPL$
+## 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 https://www.qt.io/terms-conditions. For further
+## information use the contact form at https://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 3 as published by the Free Software
+## Foundation and appearing in the file LICENSE.LGPL3 included in the
+## packaging of this file. Please review the following information to
+## ensure the GNU Lesser General Public License version 3 requirements
+## will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+##
+## GNU General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU
+## General Public License version 2.0 or (at your option) the GNU General
+## Public license version 3 or any later version approved by the KDE Free
+## Qt Foundation. The licenses are as published by the Free Software
+## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+## included in the packaging of this file. Please review the following
+## information to ensure the GNU General Public License requirements will
+## be met: https://www.gnu.org/licenses/gpl-2.0.html and
+## https://www.gnu.org/licenses/gpl-3.0.html.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+set -ex
+
+# shellcheck source=../common/unix/openssl_for_android.sh
+source "${BASH_SOURCE%/*}/../common/unix/openssl_for_android.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/80-screenresolution.sh b/coin/provisioning/qtci-macos-14-x86_64/80-screenresolution.sh
new file mode 100755
index 00000000..920c579c
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/80-screenresolution.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/screenresolution.sh
+
diff --git a/coin/provisioning/qtci-macos-14-x86_64/81-bluetooth.sh b/coin/provisioning/qtci-macos-14-x86_64/81-bluetooth.sh
new file mode 100755
index 00000000..e08aca4e
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/81-bluetooth.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+
+set -ex
+
+brew install blueutil
+
+#Disable Bluetooth
+blueutil -p 0
diff --git a/coin/provisioning/qtci-macos-14-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-macos-14-x86_64/90-install-ffmpeg.sh
new file mode 100755
index 00000000..a8333b36
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/90-install-ffmpeg.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+set -ex
+
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "macos-universal"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/90-squish.sh b/coin/provisioning/qtci-macos-14-x86_64/90-squish.sh
new file mode 100755
index 00000000..17a0c38e
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/90-squish.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/squishInstall.sh"
+
diff --git a/coin/provisioning/qtci-macos-14-x86_64/97-set-locale.sh b/coin/provisioning/qtci-macos-14-x86_64/97-set-locale.sh
new file mode 100755
index 00000000..fc39bd85
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/97-set-locale.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR"/../common/macos/set-locale.sh
diff --git a/coin/provisioning/qtci-macos-14-x86_64/99-mac-version.sh b/coin/provisioning/qtci-macos-14-x86_64/99-mac-version.sh
new file mode 100755
index 00000000..6eb5abae
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/99-mac-version.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR"/../common/macos/macos-version.sh