Skip to content

macOS: Build and install python support to macOS builds and packages

Ivan Yossi requested to merge ivany/krita:D20009_osxPython into master

This patch installs python as Python.Framework to better bundling capabilities (dmg)

  • ext_python
  • ext_sip
  • ext_pyqt

Need to be rebuilt for the dependencies to install correctly

  • ext_python: installs to Frameworks/Python.Framework packaging all .py files needed and precompiling regular and optimized bytecode along with it.
  • ext_sip: install does not change, but cmake step copies files to appropieate places
  • ext_pyqt: installs to site-packages inside Python.Framwork

Patch adds new files to deal with some quirks

  • osx_fixappinstall.diff : forces extra Applications to be installed in BUILDROOT. Without it python framework install creates a directory in /Applications, which is not desired.
  • sitecustomize.py : Fixes missing site includes. Python.Framework with krita looks for sites-packages always in lib/python3.5/site-packages regardless of given configure options. This file installs in Python.Framework/Versions/3.5/lib/python3.5 as instructed by python documentation and adds missing sites on krita loading.

Changes to packaging scripts.

  • osxbuild: just added python step and enviromental variables for krita build step, needed by FindPython on cmake as it always find system python first.
  • osxdeploy: Fix all libraries and @ rpath on framework to work inside the bundle. And precompile all .py files inside the krita.app

Merge request reports