aboutsummaryrefslogtreecommitdiffstats
path: root/coin/provisioning/common/unix
diff options
context:
space:
mode:
Diffstat (limited to 'coin/provisioning/common/unix')
-rwxr-xr-xcoin/provisioning/common/unix/install-conan.sh3
-rwxr-xr-xcoin/provisioning/common/unix/install-ffmpeg-android.sh28
-rwxr-xr-xcoin/provisioning/common/unix/install-ffmpeg-ios.sh40
-rwxr-xr-xcoin/provisioning/common/unix/install-ffmpeg.sh23
-rwxr-xr-xcoin/provisioning/common/unix/mqtt_broker.sh4
5 files changed, 84 insertions, 14 deletions
diff --git a/coin/provisioning/common/unix/install-conan.sh b/coin/provisioning/common/unix/install-conan.sh
index 8fc83090..e48a5bdd 100755
--- a/coin/provisioning/common/unix/install-conan.sh
+++ b/coin/provisioning/common/unix/install-conan.sh
@@ -9,9 +9,10 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
# Note! Python3 is required for Conan installation
os="$1"
+params="$2"
# Install Conan to Python user install directory (typically ~./local/)
-pip3 install conan --user
+pip3 install conan --user $params
SetEnvVar "CONAN_REVISIONS_ENABLED" "1"
SetEnvVar "CONAN_V2_MODE" "1"
diff --git a/coin/provisioning/common/unix/install-ffmpeg-android.sh b/coin/provisioning/common/unix/install-ffmpeg-android.sh
index 05d0b681..fc0084da 100755
--- a/coin/provisioning/common/unix/install-ffmpeg-android.sh
+++ b/coin/provisioning/common/unix/install-ffmpeg-android.sh
@@ -2,7 +2,7 @@
# Copyright (C) 2022 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
-# This script will build and install FFmpeg static libs
+# This script will build and install FFmpeg shared libs
set -ex
os="$1"
@@ -11,9 +11,9 @@ source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
-version="n6.1.1"
+version="n7.0"
url_public="https://github.com/FFmpeg/FFmpeg/archive/refs/tags/$version.tar.gz"
-sha1="59e0c3c4cc48e9c60073495f8c045329bb21f446"
+sha1="042260ec5013eb29c89c13443a0f42cbe6fbceaa"
url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/$version.tar.gz"
ffmpeg_name="FFmpeg-$version"
@@ -30,28 +30,36 @@ build_ffmpeg_android() {
target_arch=$1
target_dir=$2
+ shared="${3:-no}"
sudo mkdir -p "$target_dir"
openssl_include="$OPENSSL_ANDROID_HOME_DEFAULT/include"
openssl_libs=""
+ libs_prefix=""
if [ "$target_arch" == "x86_64" ]; then
target_toolchain_arch="x86_64-linux-android"
target_arch=x86_64
target_cpu=x86-64
openssl_libs="$OPENSSL_ANDROID_HOME_DEFAULT/x86_64"
+ libs_prefix="_x86_64"
elif [ "$target_arch" == "x86" ]; then
target_toolchain_arch="i686-linux-android"
target_arch=x86
target_cpu=i686
openssl_libs="$OPENSSL_ANDROID_HOME_DEFAULT/x86"
+ libs_prefix="_x86"
elif [ "$target_arch" == "arm64" ]; then
target_toolchain_arch="aarch64-linux-android"
target_arch=aarch64
target_cpu=armv8-a
openssl_libs="$OPENSSL_ANDROID_HOME_DEFAULT/arm64-v8a"
+ libs_prefix="_arm64-v8a"
fi
+ ln -s "${openssl_libs}/libcrypto_3.so" "${openssl_libs}/libcrypto.so"
+ ln -s "${openssl_libs}/libssl_3.so" "${openssl_libs}/libssl.so"
+
api_version=24
ndk_root=$ANDROID_NDK_ROOT_DEFAULT
@@ -71,6 +79,9 @@ build_ffmpeg_android() {
ffmpeg_config_options=$(cat "${BASH_SOURCE%/*}/../shared/ffmpeg_config_options.txt")
ffmpeg_config_options+=" --enable-cross-compile --target-os=android --enable-jni --enable-mediacodec --enable-openssl --enable-pthreads --enable-neon --disable-asm --disable-indev=android_camera"
+ if [[ "$shared" == "yes" ]]; then
+ ffmpeg_config_options+=" --enable-shared --disable-static"
+ fi
ffmpeg_config_options+=" --arch=$target_arch --cpu=${target_cpu} --sysroot=${sysroot} --sysinclude=${sysroot}/usr/include/"
ffmpeg_config_options+=" --cc=${cc} --cxx=${cxx} --ar=${ar} --ranlib=${ranlib}"
ffmpeg_config_options+=" --extra-cflags=-I${openssl_include} --extra-ldflags=-L${openssl_libs}"
@@ -83,6 +94,15 @@ build_ffmpeg_android() {
sudo "$ffmpeg_source_dir/configure" $ffmpeg_config_options --prefix="$target_dir"
sudo make install -j4
+
+ rm -f "${openssl_libs}/libcrypto.so"
+ rm -f "${openssl_libs}/libssl.so"
+
+ if [[ "$shared" == "yes" ]]; then
+ fix_dependencies="${BASH_SOURCE%/*}/../shared/fix_ffmpeg_dependencies.sh"
+ sudo "${fix_dependencies}" "${target_dir}" "${libs_prefix}" "no"
+ fi
+
popd
}
@@ -103,4 +123,4 @@ elif [ "$os" == "android-arm64" ]; then
SetEnvVar "FFMPEG_DIR_ANDROID_ARM64" "$target_dir"
fi
-build_ffmpeg_android "$target_arch" "$target_dir"
+build_ffmpeg_android "$target_arch" "$target_dir" "yes"
diff --git a/coin/provisioning/common/unix/install-ffmpeg-ios.sh b/coin/provisioning/common/unix/install-ffmpeg-ios.sh
index e2a401a5..49889c78 100755
--- a/coin/provisioning/common/unix/install-ffmpeg-ios.sh
+++ b/coin/provisioning/common/unix/install-ffmpeg-ios.sh
@@ -10,8 +10,8 @@ source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
-version="n6.1.1"
-sha1="59e0c3c4cc48e9c60073495f8c045329bb21f446"
+version="n7.0"
+sha1="042260ec5013eb29c89c13443a0f42cbe6fbceaa"
url_public="https://github.com/FFmpeg/FFmpeg/archive/refs/tags/$version.tar.gz"
url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/$version.tar.gz"
ffmpeg_name="FFmpeg-$version"
@@ -61,6 +61,9 @@ build_ffmpeg_ios() {
--extra-cflags="$minos" \
--extra-cxxflags="$minos" \
--enable-cross-compile \
+ --enable-shared \
+ --disable-static \
+ --install-name-dir='@rpath/Frameworks' \
--enable-swscale \
--enable-pthreads \
--disable-audiotoolbox
@@ -69,8 +72,37 @@ build_ffmpeg_ios() {
popd
}
+install_ffmpeg() {
+ for dir in "$@"; do
+ echo "Processing files in $dir ..."
+ pushd "$dir" >/dev/null
+ find . -type l -name '*.*.dylib' | while read -r f; do
+ dst="${f:1}"
+ dstdir="$(dirname "$dst")"
+ sudo mkdir -p "$dstdir"
+
+ if [[ ! -f "$dst" ]]; then
+ echo "<Copying $dir/$f to $dst"
+ sudo cp -c "$f" "$dst"
+ symlinkname="$(tmp=${f/*\/}; echo ${tmp/\.*}).dylib"
+ sudo ln -s "$(basename -- "$f")" $dstdir/"$symlinkname"
+ elif lipo -info "$f" >/dev/null 2>&1; then
+ echo "Lipoing $dir/$f into $dst"
+ sudo lipo -create -output "$dst" "$dst" "$f"
+ elif ! diff "$f" "$dst"; then
+ echo "Error: File $f in $dir doesn't match destination $dst"
+ exit 1
+ fi
+ done
+ echo "LS"
+ popd >/dev/null
+ done
+ sudo cp -r $1$prefix/include $prefix
+ echo "LS done."
+}
+
build_ffmpeg_ios "x86_64"
build_ffmpeg_ios "arm64"
-sudo "${BASH_SOURCE%/*}/../macos/makeuniversal.sh" "$ffmpeg_source_dir/build_ios/x86_64/installed" "$ffmpeg_source_dir/build_ios/arm64/installed"
-SetEnvVar "FFMPEG_DIR_IOS" $prefix
+install_ffmpeg "$ffmpeg_source_dir/build_ios/x86_64/installed" "$ffmpeg_source_dir/build_ios/arm64/installed"
+SetEnvVar "FFMPEG_DIR_IOS" $prefix
diff --git a/coin/provisioning/common/unix/install-ffmpeg.sh b/coin/provisioning/common/unix/install-ffmpeg.sh
index 94d032ed..67255e3c 100755
--- a/coin/provisioning/common/unix/install-ffmpeg.sh
+++ b/coin/provisioning/common/unix/install-ffmpeg.sh
@@ -11,9 +11,9 @@ source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
-version="n6.1.1"
+version="n7.0"
url_public="https://github.com/FFmpeg/FFmpeg/archive/$version.tar.gz"
-sha1="59e0c3c4cc48e9c60073495f8c045329bb21f446"
+sha1="042260ec5013eb29c89c13443a0f42cbe6fbceaa"
url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/$version.tar.gz"
ffmpeg_name="FFmpeg-$version"
@@ -71,11 +71,26 @@ build_ffmpeg() {
}
if [ "$os" == "linux" ]; then
+ build_type="$2"
+
install_ff_nvcodec_headers
ffmpeg_config_options+=" --enable-openssl"
+
+ if [ "$build_type" != "static" ]; then
+ ffmpeg_config_options+=" --enable-shared --disable-static"
+ fi
+
build_ffmpeg
- sudo mv "$ffmpeg_source_dir/build/installed/usr/local/$ffmpeg_name" "/usr/local"
+
+ output_dir="$ffmpeg_source_dir/build/installed/usr/local/$ffmpeg_name"
+
+ if [ "$build_type" != "static" ]; then
+ fix_dependencies="${BASH_SOURCE%/*}/../shared/fix_ffmpeg_dependencies.sh"
+ "$fix_dependencies" "$output_dir"
+ fi
+
+ sudo mv "$output_dir" "/usr/local"
SetEnvVar "FFMPEG_DIR" "/usr/local/$ffmpeg_name"
elif [ "$os" == "macos" ] || [ "$os" == "macos-universal" ]; then
@@ -111,3 +126,5 @@ elif [ "$os" == "macos" ] || [ "$os" == "macos-universal" ]; then
SetEnvVar "FFMPEG_DIR" "/usr/local/$ffmpeg_name"
fi
+
+
diff --git a/coin/provisioning/common/unix/mqtt_broker.sh b/coin/provisioning/common/unix/mqtt_broker.sh
index d3cce755..47b3944a 100755
--- a/coin/provisioning/common/unix/mqtt_broker.sh
+++ b/coin/provisioning/common/unix/mqtt_broker.sh
@@ -8,10 +8,10 @@
source "${BASH_SOURCE%/*}/InstallFromCompressedFileFromURL.sh"
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
-CommitSHA="2873885d7e840b4e06483f36f170c609eb30527d"
+CommitSHA="9d7bb80bb8b9d9cfc0b52f8cb4c1916401281103"
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mqtt_broker/paho.mqtt.testing-$CommitSHA.zip"
AltUrl="https://github.com/eclipse/paho.mqtt.testing/archive/$CommitSHA.zip"
-SHA1="1fcc4e61b12f11a1421cc8c3f379276d732e62b7"
+SHA1="c31cfd5de9329dcd25e28b306f94dccf632cc318"
targetFolder="/opt/paho_broker"
appPrefix="paho.mqtt.testing-$CommitSHA"