From 078ae2be46b6cb7f9bd6ef48129571e15f905d1f Mon Sep 17 00:00:00 2001 From: falkTX Date: Sat, 16 May 2020 01:44:16 +0200 Subject: [PATCH] Fixup macOS 10.12 packaging --- data/macos/Carla-Control_Info.plist | 16 +++++++++++++++ data/macos/Carla_Info.plist | 16 +++++++++++++++ data/macos/build.sh | 32 +++++++++++++++++++++++++++-- data/macos/bundle.py | 7 ++++++- 4 files changed, 68 insertions(+), 3 deletions(-) create mode 100644 data/macos/Carla-Control_Info.plist create mode 100644 data/macos/Carla_Info.plist diff --git a/data/macos/Carla-Control_Info.plist b/data/macos/Carla-Control_Info.plist new file mode 100644 index 000000000..741d7d271 --- /dev/null +++ b/data/macos/Carla-Control_Info.plist @@ -0,0 +1,16 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + CarlaControl + CFBundleIconFile + icon.icns + CFBundleIdentifier + CarlaControl + NSHighResolutionCapable + + + diff --git a/data/macos/Carla_Info.plist b/data/macos/Carla_Info.plist new file mode 100644 index 000000000..c0daaea90 --- /dev/null +++ b/data/macos/Carla_Info.plist @@ -0,0 +1,16 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + Carla + CFBundleIconFile + icon.icns + CFBundleIdentifier + Carla + NSHighResolutionCapable + + + diff --git a/data/macos/build.sh b/data/macos/build.sh index 2e721848f..c219bd59e 100755 --- a/data/macos/build.sh +++ b/data/macos/build.sh @@ -15,7 +15,7 @@ fi # --------------------------------------------------------------------------------------------------------------------- # set variables -PKG_FOLDER="Carla_2.1-macos" +PKG_FOLDER="Carla_2.2b-macos" source data/macos/common.env @@ -113,7 +113,6 @@ rm -f build/Carla.app/Contents/MacOS/carla-bridge-lv2-modgui rm -f build/Carla.app/Contents/MacOS/carla-bridge-lv2-qt5 find build/ -type f -name "*.py" -delete -find build/ -type f -name "*.pyc" -delete find build/ -type f -name "*.pyi" -delete find build/ -type f -name "pylupdate.so" -delete find build/ -type f -name "pyrcc.so" -delete @@ -122,6 +121,9 @@ find build/ -type f -name "QtNetwork*" -delete find build/ -type f -name "QtSql*" -delete find build/ -type f -name "QtTest*" -delete find build/ -type f -name "QtXml*" -delete +if [ "${MACOS_VERSION_MIN}" != "10.12" ]; then +find build/ -type f -name "*.pyc" -delete +fi rm -rf build/Carla.app/Contents/MacOS/lib/PyQt5/uic rm -rf build/Carla.app/Contents/MacOS/resources/__pycache__ rm -rf build/Carla.app/Contents/MacOS/resources/patchcanvas @@ -132,10 +134,17 @@ rm -rf build/Carla-Control.app/Contents/MacOS/resources/__pycache__ # missed by cx-freeze mkdir build/Carla.app/Contents/MacOS/iconengines cp ${TARGETDIR}/carla/lib/qt5/plugins/iconengines/libqsvgicon.dylib build/Carla.app/Contents/MacOS/iconengines/ +if [ "${MACOS_VERSION_MIN}" = "10.12" ]; then +mkdir build/Carla.app/Contents/MacOS/imageformats +mkdir build/Carla.app/Contents/MacOS/platforms +cp ${TARGETDIR}/carla/lib/qt5/plugins/imageformats/libq{jpeg,svg}.dylib build/Carla.app/Contents/MacOS/imageformats/ +cp ${TARGETDIR}/carla/lib/qt5/plugins/platforms/libq{cocoa,minimal,offscreen}.dylib build/Carla.app/Contents/MacOS/platforms/ +fi # continuing... cd build/Carla.app/Contents/MacOS for f in `find . -type f | grep -e Q -e libq -e carlastyle.dylib`; do +if [ "${MACOS_VERSION_MIN}" = "10.12" ] && (echo "$f" | grep -q pyc); then continue; fi install_name_tool -change "@rpath/QtCore.framework/Versions/5/QtCore" @executable_path/QtCore $f install_name_tool -change "@rpath/QtGui.framework/Versions/5/QtGui" @executable_path/QtGui $f install_name_tool -change "@rpath/QtOpenGL.framework/Versions/5/QtOpenGL" @executable_path/QtOpenGL $f @@ -144,10 +153,20 @@ install_name_tool -change "@rpath/QtSvg.framework/Versions/5/QtSvg" install_name_tool -change "@rpath/QtWidgets.framework/Versions/5/QtWidgets" @executable_path/QtWidgets $f install_name_tool -change "@rpath/QtMacExtras.framework/Versions/5/QtMacExtras" @executable_path/QtMacExtras $f done +if [ "${MACOS_VERSION_MIN}" = "10.12" ]; then +cp ${TARGETDIR}/carla/lib/QtCore.framework/Versions/5/QtCore . +cp ${TARGETDIR}/carla/lib/QtGui.framework/Versions/5/QtGui . +cp ${TARGETDIR}/carla/lib/QtOpenGL.framework/Versions/5/QtOpenGL . +cp ${TARGETDIR}/carla/lib/QtPrintSupport.framework/Versions/5/QtPrintSupport . +cp ${TARGETDIR}/carla/lib/QtSvg.framework/Versions/5/QtSvg . +cp ${TARGETDIR}/carla/lib/QtWidgets.framework/Versions/5/QtWidgets . +cp ${TARGETDIR}/carla/lib/QtMacExtras.framework/Versions/5/QtMacExtras . +fi cd ../../../.. cd build/Carla-Control.app/Contents/MacOS for f in `find . -type f | grep -e Q -e libq -e carlastyle.dylib`; do +if [ "${MACOS_VERSION_MIN}" = "10.12" ] && (echo "$f" | grep -q pyc); then continue; fi install_name_tool -change "@rpath/QtCore.framework/Versions/5/QtCore" @executable_path/QtCore $f install_name_tool -change "@rpath/QtGui.framework/Versions/5/QtGui" @executable_path/QtGui $f install_name_tool -change "@rpath/QtOpenGL.framework/Versions/5/QtOpenGL" @executable_path/QtOpenGL $f @@ -156,6 +175,15 @@ install_name_tool -change "@rpath/QtSvg.framework/Versions/5/QtSvg" install_name_tool -change "@rpath/QtWidgets.framework/Versions/5/QtWidgets" @executable_path/QtWidgets $f install_name_tool -change "@rpath/QtMacExtras.framework/Versions/5/QtMacExtras" @executable_path/QtMacExtras $f done +if [ "${MACOS_VERSION_MIN}" = "10.12" ]; then +cp ${TARGETDIR}/carla/lib/QtCore.framework/Versions/5/QtCore . +cp ${TARGETDIR}/carla/lib/QtGui.framework/Versions/5/QtGui . +cp ${TARGETDIR}/carla/lib/QtOpenGL.framework/Versions/5/QtOpenGL . +cp ${TARGETDIR}/carla/lib/QtPrintSupport.framework/Versions/5/QtPrintSupport . +cp ${TARGETDIR}/carla/lib/QtSvg.framework/Versions/5/QtSvg . +cp ${TARGETDIR}/carla/lib/QtWidgets.framework/Versions/5/QtWidgets . +cp ${TARGETDIR}/carla/lib/QtMacExtras.framework/Versions/5/QtMacExtras . +fi cd ../../../.. mv build/carla-plugin.app/Contents/MacOS/carla-plugin build/Carla.app/Contents/MacOS/resources/ diff --git a/data/macos/bundle.py b/data/macos/bundle.py index e585cbbc4..7b0896abb 100644 --- a/data/macos/bundle.py +++ b/data/macos/bundle.py @@ -14,6 +14,8 @@ from carla_host import VERSION # ------------------------------------------------------------------------------------------------------------ +SCRIPT_NAME = getenv("SCRIPT_NAME") + options = { "zip_include_packages": ["*"], "zip_exclude_packages": ["PyQt5"], @@ -25,10 +27,13 @@ boptions = { "iconfile": "./resources/ico/carla.icns" } +if SCRIPT_NAME in ("Carla", "Carla-Control"): + boptions["custom_info_plist"] = "./data/macos/%s_Info.plist" % SCRIPT_NAME + setup(name = "Carla", version = VERSION, description = "Carla Plugin Host", options = {"build_exe": options, "bdist_mac": boptions}, - executables = [Executable("./source/frontend/%s.pyw" % getenv("SCRIPT_NAME"))]) + executables = [Executable("./source/frontend/%s.pyw" % SCRIPT_NAME)]) # ------------------------------------------------------------------------------------------------------------