The KiCad maintains a custom wxWidgets repo for macos builds so these
patches are not longer required. The KiCad macos wxWidgets repo can be
found at:
https://github.com/KiCad/wxWidgets
OSX activates windows before telling the application, so there's
no good way to implement wxWidgets window enable/disable. This
patch keeps the quasi-modal dialog and its parent windows order
in the z-list fixed, and re-activates the quasi-modal dialog
whenever the OS activates the parent window.
This patch is only known to work with OCE version 0.17.3 on mingw. It
should not be used for any other purpose. It breaks all other OCE builds
except mingw.
Calling external applications with wxWidgets failed when the file name
contained non-ASCII characters.
Please note that this patch does not require wxWidgets to be recompiled.
It only changes a header file which means the patch can be applied to
an existing wxWidgets install. However, KiCad does need to be rebuilt
after this patch is applied. This patch is not required if you do not
need non-ASCII character file name support.
OSX Sierra has removed QuickTime entirely (because Apple needs to break
at least one thing every major OS revision). This prevents wxWidgets
from compiling at all, and as of right now, there is only a workaround,
but a true upstream fix will require rewriting portions of wx to use
AVKit, which is more or less the replacement for QuickTime, instead.
KiCad doesn't use any parts of wx involved, so the work around seems to
be fine for us. I am using the latest commit of KiCad on 10.12 as I write
this, with this patch applied, and I'm not having any problems (at least
new ones anyway).
The workaround is this patch (which is not a direct copy of the upstream
fix, which simply removes the include entirely. I made it where if this
patch gets applied, it won't effect anything except when being built
against the 10.12 SDK). Additionally, wxWidgets configure must be given
the --disable-mediactrl flag. This is a temporary workaround, but as far
as I know, KiCad doesn't use that control?
* Make patches/wxwidgets-3.0.2_macosx_yosemite.patch usable. There were
complaints here before that the patch does not work because it is a
"metapatch" that tries to patch another patch (which is not in the tree
and therefore fails). With this change, it becomes a normal patch again,
that can be applied to the wxWidgets source tree as described in
Documentation/compiling/mac-osx.txt.
* Make scripts/library-repos-install.sh compatible with OSX: This involves
checking for the correct option to enable extended regular expressions in
sed during detect_pretty_repos, as the script uses "-r", which is only
available in GNU sed. The sed shipped with Mac OSX is an older BSD descendant
sed which needs "-E". This change has been tested to work on Mac OSX 10.10.1
and on an up-to-date Arch Linux. I also changed the error message during
--install-prerequisites to inform users without apt-get or yum which programs
need to be installed to use the script.
* Add the execute flag to scripts/osx_build_wx.sh: At the moment, after
fetching the source with bzr, one has to chmod the file by hand. This
change change ensures consistency between the script and the build docs
for OSX, which assumes the script to be executable.
* Compile all binaries into a single application bundle.
* Use CMake BundleUtilities to make application bundle relocatable.
* Restructure build output to directly create an image file.
* Fix default search paths.
* Set KIGITHUB environment variable.
* Added patch to fix wxWidgets so names for OSX.
* Patch Boost interlocked.hpp from version 1.56.
* Fix segfault in Eeschema when auto save event occurs before root sheet is initialized.
* Add assertion when SCH_SHEET_PATH::BuildSheetList is called with NULL pointer.