Skip to content
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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

jdpurcell
Copy link
Contributor

@jdpurcell jdpurcell commented Feb 2, 2025

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 to windows11:

NOTE: Raises minimum macOS version on non-legacy build from 11 to 12.

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"
Copy link
Contributor Author

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
Copy link
Contributor Author

@jdpurcell jdpurcell Feb 3, 2025

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
Copy link
Contributor Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant