Closed totaam closed 3 years ago
./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:
needs to link against fontconfig
, tweaked the ninja build file to add it
fontconfig
required an older version of the freetype
dylib?
rebuilt both then:
../../../../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]
rebuilt cairo and then pycairo
error building gtk3 versions 3.24.11 to 3.24.13:
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"
pyobjc (still todo)
liborc:
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
* on the older system, itstool moaned about libxml2 until I rebuilt libxml2 against python2:
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 Xpra-org/xpra#2422.
Regression spotted: Xpra-org/xpra#2680
GTK3 bug forced a downgrade: Xpra-org/xpra#2672
Use 10.14.x (Mojave)? Require 10.?
Record steps to setup the dev env.