From bbd1056afbf2f9e61fe2e8d7fe86ff6fe6b5cee0 Mon Sep 17 00:00:00 2001 From: Dominik Riebeling Date: Tue, 28 Dec 2021 19:53:54 +0100 Subject: themeeditor: Fix dmg deploy steps. - Fix binary name in Info.plist. - Run dmgbuild as Python module, in some cases it isn't available directly. - Add missing dmgbuild configuration for themeeditor. Change-Id: I2db50959b88283f43e2203cf71b130cdb33103dd --- utils/cmake/deploy.cmake | 7 ++++--- utils/themeeditor/Info.plist | 2 +- utils/themeeditor/dmgbuild.cfg | 17 +++++++++++++++++ 3 files changed, 22 insertions(+), 4 deletions(-) create mode 100644 utils/themeeditor/dmgbuild.cfg diff --git a/utils/cmake/deploy.cmake b/utils/cmake/deploy.cmake index 34e937f5d5..4a43c033fa 100644 --- a/utils/cmake/deploy.cmake +++ b/utils/cmake/deploy.cmake @@ -73,12 +73,13 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") message(WARNING "Deploying a Debug build.") endif() - set(DMGBUILD ${CMAKE_BINARY_DIR}/venv/bin/dmgbuild) + set(DMGBUILD ${CMAKE_BINARY_DIR}/venv/bin/python3 -m dmgbuild) + set(DMGBUILD_STAMP ${CMAKE_BINARY_DIR}/dmgbuild.stamp) find_program(MACDEPLOYQT_EXECUTABLE macdeployqt HINTS "${qtbindir}") add_custom_command( COMMENT "Setting up dmgbuild virtualenv" - OUTPUT ${DMGBUILD} + OUTPUT ${DMGBUILD_STAMP} COMMAND python3 -m venv ${CMAKE_BINARY_DIR}/venv COMMAND ${CMAKE_BINARY_DIR}/venv/bin/python -m pip install -q dmgbuild ) @@ -92,7 +93,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") -Dappbundle=${target}.app ${target} ${CMAKE_BINARY_DIR}/${target}.dmg DEPENDS ${target} - ${DMGBUILD} + ${DMGBUILD_STAMP} ) add_custom_target(deploy_${target} DEPENDS ${CMAKE_BINARY_DIR}/${target}.dmg) diff --git a/utils/themeeditor/Info.plist b/utils/themeeditor/Info.plist index 95c5604604..22cf2ea1cf 100644 --- a/utils/themeeditor/Info.plist +++ b/utils/themeeditor/Info.plist @@ -3,7 +3,7 @@ CFBundleExecutable - rbthemeeditor + RockboxThemeEditor CFBundleName Theme Editor CFBundleShortVersionString diff --git a/utils/themeeditor/dmgbuild.cfg b/utils/themeeditor/dmgbuild.cfg new file mode 100644 index 0000000000..70d086c098 --- /dev/null +++ b/utils/themeeditor/dmgbuild.cfg @@ -0,0 +1,17 @@ +# Configuration for creating a dmg with dmgbuild +# (https://github.com/al45tair/dmgbuild) +# Requires at least Python 3.4 + +import os +import plistlib + +_appbundle = defines['appbundle'] +_plfile = open(os.path.join(_appbundle, 'Contents/Info.plist')) +_pldata = _plfile.read().encode() +_plist = plistlib.loads(_pldata) +_iconfile = os.path.join(_appbundle, 'Contents/Resources', _plist['CFBundleIconFile']) + +files = [ _appbundle ] +icon = _iconfile +background = '#c6d6f5' + -- cgit v1.2.3