Use 10.14.x (Mojave)? Require 10.?
Record steps to setup the dev env.
./gtk-osx-setup.sh
alias jhbuild="PATH=.new_local/bin:$PATH jhbuild";jhbuild shell
cat > .config/jhbuildrc-custom <<EOF _gtk_osx_use_jhbuild_python = True setup_sdk(target="10.14", sdk_version="10.14", architectures=["x86_64"]) os.environ["CC"] = "/usr/bin/gcc" os.environ["DYLD_LIBRARY_PATH"] = "" build_policy = "updated-deps" modules = ["meta-osx-xpra-deps"] moduleset="https://xpra.org/svn/Xpra/trunk/osx/jhbuild/xpra-gtk3.modules" #os.environ["SSL_CERT_FILE"] = "/Users/osx/gtk/inst/etc/ssl/cacert.pem" EOF
jhbuild bootstrap-gtk-osx jhbuild update jhbuild build meta-gtk-osx-bootstrap meta-gtk-osx-gtk3 cd $JHBUILD_PREFIX/bin; ln -sf python3 python jhbuild buildone -f libxml jhbuild build
Still TODO:
--disable-maintainer-mode
, error building docs: man page (skip)
Updates (too many to list - important ones only):
Remaining problems:
export SDKDIR=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk export SDKROOT=$SDKDIR
others fail to detect the "os_level" - I've hardcoded it in the build file to move on.
#include <stdint.h>
to $JHBUILD_PREFIX/include/ogg/os_types.h
Needed to make python3 a symlink:
cd $JHBUILD_PREFIX/bin ln -sf python3 python ln -sf python3-config python-config
Rebuilt from scratch - building python3 early so we don't use the system one, doing libwebp early to avoid errors building libtiff 4.1:
jhbuild bootstrap-gtk-osx jhbuild buildone -f openssl jhbuild buildone -f python3 jhbuild buildone -f libwebp jhbuild meta-gtk-osx-bootstrap meta-gtk-osx-gtk3
gobject-introspection
builds against the wrong python3 and uses the system one!
Use:
PYTHON=$JHBUILD_PREFIX/bin/python3 jhbuild buildone -f gobject-introspection
Hit issues building pango:
fontconfig
, tweaked the ninja build file to add it
fontconfig
required an older version of the freetype
dylib?
../../../../gtk/source/pango-1.44.7/pango/pangocairo-fcfontmap.c:109:5: error: implicit declaration of function 'cairo_ft_font_options_substitute' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
CC gdkglobals-quartz.lo /Users/gtk3/gtk/source/gtk+-3.24.13/gdk/quartz/gdkdnd-quartz.c:24:10: fatal error: 'gdkquartz-gtk-only.h' file not found #include "gdkquartz-gtk-only.h"
ERROR: Error in gtkdoc helper script: ERROR: ['gtkdoc-fixxref', '--module=orc', '--module-dir=html'] failed with status 1 Traceback (most recent call last): File "/Users/macos/gtk/inst/bin/gtkdoc-fixxref", line 28, in <module> from gtkdoc import common, config, fixxref File "/Users/macos/gtk/inst/share/gtk-doc/python/gtkdoc/fixxref.py", line 28, in <module> from . import common, highlight File "/Users/macos/gtk/inst/share/gtk-doc/python/gtkdoc/highlight.py", line 28, in <module> from pygments import highlight ModuleNotFoundError: No module named 'pygments'
jhbuild buildone -f python2 PYTHON=/Users/gtk3/gtk/inst/bin/python2 jhbuild buildone -f libxml2 PYTHON=/Users/gtk3/gtk/inst/bin/python2 jhbuild buildone -f itstool
Despite a newer version of scons, we have to temporarily switch the symlinks to python2 to build serf...
There's a circular dependency between libtiff and libwebp..
Works well enough.
Some details in duplicate ticket #2422.
Regression spotted: #2680
GTK3 bug forced a downgrade: ticket:2672#comment:8
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/2505