Compare commits

...

8 Commits

Author SHA1 Message Date
Qt Submodule Update Bot
41d5d04f71 Update submodules on '6.8.1 in qt/qt5'
Change-Id: I95e16fc614bf4bc757077ccfbb35149ea1313406
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-11-22 09:21:51 +00:00
Qt Submodule Update Bot
c809a5d3f1 Update submodules on '6.8.1 in qt/qt5'
Change-Id: I7c39fdd66c755bbc0da5c5f481306269d70d13fd
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-11-21 17:07:22 +00:00
Timur Pocheptsov
d1a7a0fd84 Build ffmpeg for iOS as frameworks
While dylibs embedded in app bundle work locally on a device,
Apple Connect rejects such an app complaining about missing
Swift Runtime Support. Instead we must create frameworks.

Task-number: QTBUG-130813
Change-Id: Ifd6eed227478bc29702b3b59968fcbfe2839ca82
Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io>
2024-11-21 05:16:08 +00:00
Qt Submodule Update Bot
a19c435e9a Update submodules on '6.8.1 in qt/qt5'
Change-Id: I4adc3203675e8779ea41c6a06e25623eb2ed9453
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-11-19 22:35:02 +00:00
Qt Submodule Update Bot
a3011295ba Update submodules on '6.8.1 in qt/qt5'
Change-Id: Iff9b54f423610bc938ce007cb0fcee8d920f674c
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-11-18 06:02:51 +00:00
Qt Submodule Update Bot
d302ec578f Update submodules on '6.8.1 in qt/qt5'
Change-Id: Idfe862588f04878e4429844583b274d725e046c4
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-11-15 16:44:51 +00:00
Qt Submodule Update Bot
926df2bae3 Update submodules on '6.8.1 in qt/qt5'
Change-Id: Ife82930fb7f028c03c3835022a24cafa7ab18e5d
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-11-14 01:28:20 +00:00
Jani Heikkinen
bc6afc444c Adjust submodule branches
Change-Id: Ia206589813d7c2a3285c2b6be9047b6e200a9468
2024-11-11 06:16:48 +00:00
45 changed files with 199 additions and 125 deletions

84
.gitmodules vendored
View File

@@ -1,40 +1,40 @@
[submodule "qtbase"]
path = qtbase
url = ../qtbase.git
branch = 6.8
branch = 6.8.1
status = essential
[submodule "qtsvg"]
depends = qtbase
path = qtsvg
url = ../qtsvg.git
branch = 6.8
branch = 6.8.1
status = addon
[submodule "qtdeclarative"]
depends = qtbase
recommends = qtimageformats qtshadertools qtsvg qtlanguageserver
path = qtdeclarative
url = ../qtdeclarative.git
branch = 6.8
branch = 6.8.1
status = essential
[submodule "qtactiveqt"]
depends = qtbase
path = qtactiveqt
url = ../qtactiveqt.git
branch = 6.8
branch = 6.8.1
status = addon
[submodule "qtmultimedia"]
depends = qtbase qtshadertools
recommends = qtdeclarative qtquick3d
path = qtmultimedia
url = ../qtmultimedia.git
branch = 6.8
branch = 6.8.1
status = addon
[submodule "qttools"]
depends = qtbase
recommends = qtdeclarative qtactiveqt
path = qttools
url = ../qttools.git
branch = 6.8
branch = 6.8.1
status = essential
[submodule "qtxmlpatterns"]
depends = qtbase
@@ -47,7 +47,7 @@
depends = qttools
path = qttranslations
url = ../qttranslations.git
branch = 6.8
branch = 6.8.1
status = essential
priority = 30
[submodule "qtdoc"]
@@ -55,7 +55,7 @@
recommends = qtmultimedia qtshadertools qtwebengine
path = qtdoc
url = ../qtdoc.git
branch = 6.8
branch = 6.8.1
status = essential
priority = 40
[submodule "qtrepotools"]
@@ -76,21 +76,21 @@
recommends = qtdeclarative
path = qtlocation
url = ../qtlocation.git
branch = 6.8
branch = 6.8.1
status = preview
[submodule "qtpositioning"]
depends = qtbase
recommends = qtdeclarative qtserialport
path = qtpositioning
url = ../qtpositioning.git
branch = 6.8
branch = 6.8.1
status = addon
[submodule "qtsensors"]
depends = qtbase
recommends = qtdeclarative
path = qtsensors
url = ../qtsensors.git
branch = 6.8
branch = 6.8.1
status = addon
[submodule "qtsystems"]
depends = qtbase
@@ -117,61 +117,61 @@
recommends = qtdeclarative
path = qtconnectivity
url = ../qtconnectivity.git
branch = 6.8
branch = 6.8.1
status = addon
[submodule "qtwayland"]
depends = qtbase
recommends = qtdeclarative
path = qtwayland
url = ../qtwayland.git
branch = 6.8
branch = 6.8.1
status = addon
[submodule "qt3d"]
depends = qtbase
recommends = qtdeclarative qtshadertools qtmultimedia
path = qt3d
url = ../qt3d.git
branch = 6.8
branch = 6.8.1
status = deprecated
[submodule "qtimageformats"]
depends = qtbase
path = qtimageformats
url = ../qtimageformats.git
branch = 6.8
branch = 6.8.1
status = addon
[submodule "qtserialbus"]
depends = qtbase
recommends = qtserialport
path = qtserialbus
url = ../qtserialbus.git
branch = 6.8
branch = 6.8.1
status = addon
[submodule "qtserialport"]
depends = qtbase
path = qtserialport
url = ../qtserialport.git
branch = 6.8
branch = 6.8.1
status = addon
[submodule "qtwebsockets"]
depends = qtbase
recommends = qtdeclarative
path = qtwebsockets
url = ../qtwebsockets.git
branch = 6.8
branch = 6.8.1
status = addon
[submodule "qtwebchannel"]
depends = qtbase
recommends = qtdeclarative qtwebsockets
path = qtwebchannel
url = ../qtwebchannel.git
branch = 6.8
branch = 6.8.1
status = addon
[submodule "qtwebengine"]
depends = qtdeclarative
recommends = qtwebchannel qttools qtpositioning
path = qtwebengine
url = ../qtwebengine.git
branch = 6.8
branch = 6.8.1
status = addon
priority = 10
[submodule "qtcanvas3d"]
@@ -185,28 +185,28 @@
recommends = qtwebengine
path = qtwebview
url = ../qtwebview.git
branch = 6.8
branch = 6.8.1
status = addon
[submodule "qtcharts"]
depends = qtbase
recommends = qtdeclarative qtmultimedia
path = qtcharts
url = ../qtcharts.git
branch = 6.8
branch = 6.8.1
status = addon
[submodule "qtdatavis3d"]
depends = qtbase
recommends = qtdeclarative qtmultimedia
path = qtdatavis3d
url = ../qtdatavis3d.git
branch = 6.8
branch = 6.8.1
status = addon
[submodule "qtvirtualkeyboard"]
depends = qtbase qtdeclarative qtsvg
recommends = qtmultimedia
path = qtvirtualkeyboard
url = ../qtvirtualkeyboard.git
branch = 6.8
branch = 6.8.1
status = addon
[submodule "qtgamepad"]
depends = qtbase
@@ -219,27 +219,27 @@
depends = qtbase qtdeclarative
path = qtscxml
url = ../qtscxml.git
branch = 6.8
branch = 6.8.1
status = addon
[submodule "qtspeech"]
depends = qtbase qtmultimedia
recommends = qtdeclarative
path = qtspeech
url = ../qtspeech.git
branch = 6.8
branch = 6.8.1
status = addon
[submodule "qtnetworkauth"]
depends = qtbase
path = qtnetworkauth
url = ../qtnetworkauth.git
branch = 6.8
branch = 6.8.1
status = addon
[submodule "qtremoteobjects"]
depends = qtbase
recommends = qtdeclarative
path = qtremoteobjects
url = ../qtremoteobjects.git
branch = 6.8
branch = 6.8.1
status = addon
[submodule "qtwebglplugin"]
depends = qtbase qtwebsockets
@@ -252,87 +252,87 @@
depends = qtbase qtdeclarative
path = qtlottie
url = ../qtlottie.git
branch = 6.8
branch = 6.8.1
status = addon
[submodule "qtquicktimeline"]
depends = qtbase qtdeclarative
path = qtquicktimeline
url = ../qtquicktimeline
branch = 6.8
branch = 6.8.1
status = addon
[submodule "qtquick3d"]
depends = qtbase qtdeclarative qtshadertools
recommends = qtquicktimeline
path = qtquick3d
url = ../qtquick3d.git
branch = 6.8
branch = 6.8.1
status = addon
[submodule "qtshadertools"]
depends = qtbase
path = qtshadertools
url = ../qtshadertools.git
branch = 6.8
branch = 6.8.1
status = addon
[submodule "qt5compat"]
depends = qtbase qtdeclarative
path = qt5compat
url = ../qt5compat.git
branch = 6.8
branch = 6.8.1
status = deprecated
[submodule "qtcoap"]
depends = qtbase
path = qtcoap
url = ../qtcoap.git
branch = 6.8
branch = 6.8.1
status = addon
[submodule "qtmqtt"]
depends = qtbase qtdeclarative
path = qtmqtt
url = ../qtmqtt.git
branch = 6.8
branch = 6.8.1
status = addon
[submodule "qtopcua"]
depends = qtbase qtdeclarative
path = qtopcua
url = ../qtopcua.git
branch = 6.8
branch = 6.8.1
status = addon
[submodule "qtlanguageserver"]
depends = qtbase
path = qtlanguageserver
url = ../qtlanguageserver.git
branch = 6.8
branch = 6.8.1
status = preview
[submodule "qthttpserver"]
depends = qtbase
recommends = qtwebsockets
path = qthttpserver
url = ../qthttpserver.git
branch = 6.8
branch = 6.8.1
status = addon
[submodule "qtquick3dphysics"]
depends = qtbase qtdeclarative qtquick3d qtshadertools
path = qtquick3dphysics
url = ../qtquick3dphysics.git
branch = 6.8
branch = 6.8.1
status = addon
[submodule "qtgrpc"]
depends = qtbase
recommends = qtdeclarative
path = qtgrpc
url = ../qtgrpc.git
branch = 6.8
branch = 6.8.1
status = addon
[submodule "qtquickeffectmaker"]
depends = qtbase qtdeclarative qtshadertools
recommends = qtquick3d
path = qtquickeffectmaker
url = ../qtquickeffectmaker.git
branch = 6.8
branch = 6.8.1
status = addon
[submodule "qtgraphs"]
depends = qtbase qtdeclarative qtquick3d
path = qtgraphs
url = ../qtgraphs.git
branch = 6.8
branch = 6.8.1
status = addon

View File

@@ -19,57 +19,58 @@ ffmpeg_name="FFmpeg-$version"
target_dir="$HOME"
ffmpeg_source_dir="$target_dir/$ffmpeg_name"
prefix="/usr/local/ios/ffmpeg"
dylib_regex="^@rpath/.*\.dylib$"
if [ ! -d "$ffmpeg_source_dir" ];
then
InstallFromCompressedFileFromURL "$url_cached" "$url_public" "$sha1" "$target_dir"
InstallFromCompressedFileFromURL "$url_cached" "$url_public" "$sha1" "$target_dir"
fi
ffmpeg_config_options=$(cat "${BASH_SOURCE%/*}/../shared/ffmpeg_config_options.txt")
build_ffmpeg_ios() {
local target_arch=$1
local target_arch=$1
if [ "$target_arch" == "x86_64" ]; then
target_sdk="iphonesimulator"
target_arch="x86_64"
minos="-mios-simulator-version-min=13.0"
else
target_sdk="iphoneos"
target_arch="arm64"
minos="-miphoneos-version-min=13.0"
fi
if [ "$target_arch" == "x86_64" ]; then
target_sdk="iphonesimulator"
target_arch="x86_64"
minos="-mios-simulator-version-min=14.0"
else
target_sdk="iphoneos"
target_arch="arm64"
minos="-miphoneos-version-min=14.0"
fi
local build_dir="$ffmpeg_source_dir/build_ios/$target_arch"
sudo mkdir -p "$build_dir"
pushd "$build_dir"
local build_dir="$ffmpeg_source_dir/build_ios/$target_arch"
sudo mkdir -p "$build_dir"
pushd "$build_dir"
# shellcheck disable=SC2086
sudo "$ffmpeg_source_dir/configure" $ffmpeg_config_options \
# shellcheck disable=SC2086
sudo "$ffmpeg_source_dir/configure" $ffmpeg_config_options \
--sysroot="$(xcrun --sdk "$target_sdk" --show-sdk-path)" \
--enable-cross-compile \
--enable-optimizations \
--prefix=$prefix \
--arch=$target_arch \
--cc="xcrun --sdk ${target_sdk} clang -arch $target_arch" \
--cxx="xcrun --sdk ${target_sdk} clang++ -arch $target_arch" \
--ar="$(xcrun --sdk ${target_sdk} --find ar)" \
--ranlib="$(xcrun --sdk ${target_sdk} --find ranlib)" \
--strip="$(xcrun --sdk ${target_sdk} --find strip)" \
--nm="$(xcrun --sdk ${target_sdk} --find nm)" \
--target-os=darwin \
--extra-cflags="$minos" \
--extra-cxxflags="$minos" \
--enable-cross-compile \
--enable-shared \
--disable-static \
--install-name-dir='@rpath/Frameworks' \
--enable-swscale \
--enable-pthreads \
--disable-audiotoolbox
--enable-cross-compile \
--enable-optimizations \
--prefix=$prefix \
--arch=$target_arch \
--cc="xcrun --sdk ${target_sdk} clang -arch $target_arch" \
--cxx="xcrun --sdk ${target_sdk} clang++ -arch $target_arch" \
--ar="$(xcrun --sdk ${target_sdk} --find ar)" \
--ranlib="$(xcrun --sdk ${target_sdk} --find ranlib)" \
--strip="$(xcrun --sdk ${target_sdk} --find strip)" \
--nm="$(xcrun --sdk ${target_sdk} --find nm)" \
--target-os=darwin \
--extra-cflags="$minos" \
--extra-cxxflags="$minos" \
--enable-cross-compile \
--enable-shared \
--disable-static \
--install-name-dir='@rpath/Frameworks' \
--enable-swscale \
--enable-pthreads \
--disable-audiotoolbox
sudo make install DESTDIR="$build_dir/installed" -j
popd
sudo make install DESTDIR="$build_dir/installed" -j
popd
}
install_ffmpeg() {
@@ -94,15 +95,88 @@ install_ffmpeg() {
exit 1
fi
done
echo "LS"
popd >/dev/null
done
sudo cp -r $1$prefix/include $prefix
echo "LS done."
}
build_info_plist() {
local file_path="$1"
local framework_name="$2"
local framework_id="$3"
local minimum_version_key="MinimumOSVersion"
local minimum_os_version="16.0"
local supported_platforms="iPhoneOS"
info_plist="<?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>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${framework_name}</string>
<key>CFBundleIdentifier</key>
<string>${framework_id}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${framework_name}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>7.0.2</string>
<key>CFBundleVersion</key>
<string>7.0.2</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>${minimum_version_key}</key>
<string>${minimum_os_version}</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>${supported_platforms}</string>
</array>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>"
echo $info_plist | sudo tee ${file_path} 1>/dev/null
}
create_framework() {
local framework_name="$1"
local ffmpeg_library_path="$ffmpeg_source_dir/build_ios/arm64/installed/usr/local/ios/ffmpeg"
local framework_complete_path="${ffmpeg_library_path}/framework/${framework_name}.framework/${framework_name}"
sudo mkdir -p "${ffmpeg_library_path}/framework/${framework_name}.framework"
sudo cp "${ffmpeg_library_path}/lib/${framework_name}.dylib" "${ffmpeg_library_path}/framework/${framework_name}.framework/${framework_name}"
sudo install_name_tool -id @rpath/Frameworks/${framework_name}.framework/${framework_name} "${framework_complete_path}"
sudo vtool -set-build-version ios 16.0 -input ${framework_complete_path} -output ${framework_complete_path}
build_info_plist "${ffmpeg_library_path}/framework/${framework_name}.framework/Info.plist" "${framework_name}" "io.qt.ffmpegkit."${framework_name}
otool -L "$framework_complete_path" | awk '/\t/ {print $1}' | egrep "$dylib_regex" | while read -r dependency_path; do
found_name=$(tmp=${dependency_path/*\/}; echo ${tmp/\.*})
if [ "$found_name" != "$framework_name" ]
then
sudo install_name_tool -change "$dependency_path" @rpath/Frameworks/${found_name}.framework/${found_name} "${framework_complete_path}"
fi
done
sudo mkdir -p "$prefix/framework/"
sudo cp -r "${ffmpeg_library_path}/framework/${framework_name}.framework" "$prefix/framework/"
}
build_ffmpeg_ios "x86_64"
build_ffmpeg_ios "arm64"
ffmpeg_libs="libavcodec libavdevice libavfilter libavformat libavutil libswresample libswscale"
for name in $ffmpeg_libs; do
create_framework $name
done
install_ffmpeg "$ffmpeg_source_dir/build_ios/x86_64/installed" "$ffmpeg_source_dir/build_ios/arm64/installed"
SetEnvVar "FFMPEG_DIR_IOS" $prefix

2
qt3d

Submodule qt3d updated: df973634f4...5de915bb4a

2
qtbase

Submodule qtbase updated: 075b3f16e2...0db4321f2f

2
qtcoap

Submodule qtcoap updated: 3701d622db...469fc807cb

2
qtdoc

Submodule qtdoc updated: b476afa8bb...4a1f0e06ee

2
qtgrpc

Submodule qtgrpc updated: eb25aeb683...48fa0dfe2a

2
qtmqtt

Submodule qtmqtt updated: 04d3a0fbc6...cee3efbd5f

Submodule qtopcua updated: 2b1a908eb6...3a5490f438

Submodule qtscxml updated: 54b62a5daf...243adedab2

2
qtsvg

Submodule qtsvg updated: 3a2dc47989...ab734c4e83

Submodule qttools updated: 1d446b0b09...b0d66c51cb