-
Notifications
You must be signed in to change notification settings - Fork 123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update Qt (to 6.8.2) and other dependencies #739
base: master
Are you sure you want to change the base?
Conversation
fi | ||
|
||
echo "Running codesign" | ||
if [[ "$APPLE_NOTARIZE_REQUESTED" == "true" ]]; then | ||
APP_IDENTIFIER=$(/usr/libexec/PlistBuddy -c "Print CFBundleIdentifier" "qView.app/Contents/Info.plist") | ||
codesign --sign "$CODESIGN_CERT_NAME" --deep --options runtime --timestamp "qView.app" | ||
codesign --sign "$CODESIGN_CERT_NAME" --deep --force --options runtime --timestamp "qView.app" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Qt changed something about the way they sign the macOS binaries in 6.8 and I found I needed to use --force
here otherwise it ends up invalid in some way and rejected if sent to Apple for notarization.
$isCrossCompile = $env:buildArch -eq 'Arm64' | ||
$winDeployQt = $isCrossCompile ? "$(qmake -query QT_HOST_PREFIX)\bin\windeployqt" : "windeployqt" | ||
$argQtPaths = $isCrossCompile ? "--qtpaths=$env:QT_ROOT_DIR\bin\qtpaths.bat" : $null | ||
$argForceOpenSsl = $qtVersion -ge [version]'6.8' ? "--force-openssl" : $null |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Aside from some cleanup/refactoring in this area, the real change was passing --force-openssl
since Qt no longer ships the OpenSSL backend plugin by default as of the 6.8 version of windeployqt
.
rm "qView.app/Contents/PlugIns/imageformats/libqmacheif.dylib" | ||
rm "$IMF_DIR/libqmacheif.dylib" | ||
fi | ||
if [[ (-f "$IMF_DIR/kimg_tga.dylib" || -f "$IMF_DIR/kimg_tga.so") && -f "$IMF_DIR/libqtga.dylib" ]]; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was more of a pre-existing fix since I realized we were also shipping duplicate TGA plugins even prior to the updates.
Goes with jurplel/kimageformats-binaries#10, build will fail until that's merged.
Main benefit of Qt 6.8 is CMYK support. Also brings some styling fixes (of arguable significance w/ the current settings UI) for the windows11 style, and would allow Windows 10 users to have this style (dark mode finally!) if they wanted, assuming they install Segoe Fluent Icons font and set
QT_STYLE_OVERRIDE
environment variable towindows11
:NOTE: Raises minimum macOS version on non-legacy build from 11 to 12.