mirror of
https://github.com/GoldenCheetah/GoldenCheetah.git
synced 2026-04-13 12:42:20 +00:00
Add script to generate macOS dmg using Qt6
[skip ci] It was tested on an old Intel MacBook with macOS 12.7 (Monterrey) and Xcode 14.2, for newer version we need to figure out how to manage code signing.
This commit is contained in:
43
src/Resources/mac/MakeAppDmgQt6.sh
Normal file
43
src/Resources/mac/MakeAppDmgQt6.sh
Normal file
@@ -0,0 +1,43 @@
|
||||
#!/bin/bash
|
||||
set -ev
|
||||
|
||||
echo "About to create dmg file and fix up"
|
||||
mkdir GoldenCheetah.app/Contents/Frameworks
|
||||
|
||||
# This is a hack to include libicudata.*.dylib, not handled by macdployqt[fix]
|
||||
cp /usr/local/opt/icu4c/lib/libicudata.*.dylib GoldenCheetah.app/Contents/Frameworks
|
||||
|
||||
# Copy python framework and change permissions to fix paths
|
||||
cp -R /Library/Frameworks/Python.framework GoldenCheetah.app/Contents/Frameworks
|
||||
chmod -R +w GoldenCheetah.app/Contents/Frameworks
|
||||
# Update deployed Python framework path
|
||||
install_name_tool -id @executable_path/../Frameworks/Python.framework/Versions/3.7/Python ./GoldenCheetah.app/Contents/Frameworks/Python.framework/Versions/3.7/Python
|
||||
# Update GoldenCheetah binary to reference deployed lib
|
||||
install_name_tool -change /Library/Frameworks/Python.framework/Versions/3.7/Python @executable_path/../Frameworks/Python.framework/Versions/3.7/Python ./GoldenCheetah.app/Contents/MacOS/GoldenCheetah
|
||||
# Update Python binary to reference deployed lib instead of the Cellar one
|
||||
OLD_PATH=`otool -L GoldenCheetah.app/Contents/Frameworks/Python.framework/Versions/3.7/bin/python3.7 | grep "Library" | cut -f 1 -d ' '`
|
||||
echo $OLD_PATH
|
||||
install_name_tool -change $OLD_PATH "@executable_path/../Python" GoldenCheetah.app/Contents/Frameworks/Python.framework/Versions/3.7/bin/python3.7
|
||||
install_name_tool -change $OLD_PATH "@executable_path/../../../../Python" GoldenCheetah.app/Contents/Frameworks/Python.framework/Versions/3.7/Resources/Python.app/Contents/MacOS/Python
|
||||
# Add mandatory Python dependencies
|
||||
rm -r GoldenCheetah.app/Contents/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages
|
||||
cp -R ../../site-packages GoldenCheetah.app/Contents/Frameworks/Python.framework/Versions/3.7/lib/python3.7
|
||||
|
||||
# Initial deployment using macdeployqt
|
||||
macdeployqt GoldenCheetah.app -verbose=2 -executable=GoldenCheetah.app/Contents/MacOS/GoldenCheetah
|
||||
|
||||
# Final deployment to generate dmg
|
||||
macdeployqt GoldenCheetah.app -verbose=2 -fs=hfs+ -dmg
|
||||
|
||||
echo "Renaming dmg file to branch and build number ready for deploy"
|
||||
export FINAL_NAME=GoldenCheetah_v3.7_x64Qt6.dmg
|
||||
mv GoldenCheetah.dmg $FINAL_NAME
|
||||
ls -l $FINAL_NAME
|
||||
|
||||
# Add version information, last commit message and SHA256 to txt file
|
||||
echo "Generating companion txt file"
|
||||
GoldenCheetah.app/Contents/MacOS/GoldenCheetah --version 2>GCversionMacOSQt6.txt
|
||||
git log -1 >> GCversionMacOSQt6.txt
|
||||
echo "SHA256 hash of $FINAL_NAME:" >> GCversionMacOSQt6.txt
|
||||
shasum -a 256 $FINAL_NAME | cut -f 1 -d ' ' >> GCversionMacOSQt6.txt
|
||||
cat GCversionMacOSQt6.txt
|
||||
Reference in New Issue
Block a user