[gtk-osx] Add a gtk.14 module to modulesets-stable/gtk-osx.modules
- From: John Ralls <jralls src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk-osx] Add a gtk.14 module to modulesets-stable/gtk-osx.modules
- Date: Mon, 29 Jan 2018 22:45:37 +0000 (UTC)
commit 79efbbc70f2ed13c8b494300fc5d55a934657c32
Author: John Ralls <jralls ceridwen us>
Date: Mon Jan 29 14:34:21 2018 -0800
Add a gtk.14 module to modulesets-stable/gtk-osx.modules
We've discovered on Gramps that versions of Gtk+ newer than gtk+-3.14
are quite unstable, at least in a pygobject environment. This module
makes it easier to build a stable bundle for similarly impacted applications.
A companion meta-module, meta-gtk-osx-gtk3.14 is included, simply adjust
your modules list. Do note that if you have relied in the past on certain
upstream modules to "pull in" meta-gtk-osx-gtk3 that their dependencies
have been made "soft" in order to build with either so you'll need to
explicitly add meta-gtk-osx-gtk3 to ensure that everything is completely
built.
modulesets-stable/gtk-osx-javascript.modules | 1 +
modulesets-stable/gtk-osx-network.modules | 2 +
modulesets-stable/gtk-osx-python.modules | 11 ++++++-
modulesets-stable/gtk-osx-random.modules | 5 ++-
modulesets-stable/gtk-osx-themes.modules | 1 +
modulesets-stable/gtk-osx.modules | 35 ++++++++++++++++++++++
patches/gtk3-14-get-scale-factor.patch | 11 +++++++
patches/gtk3-14-gtkdesktop.patch | 40 ++++++++++++++++++++++++++
8 files changed, 102 insertions(+), 4 deletions(-)
---
diff --git a/modulesets-stable/gtk-osx-javascript.modules b/modulesets-stable/gtk-osx-javascript.modules
index 8bd5720..cf9efbf 100644
--- a/modulesets-stable/gtk-osx-javascript.modules
+++ b/modulesets-stable/gtk-osx-javascript.modules
@@ -13,6 +13,7 @@
</dependencies>
<after>
<dep package="meta-gtk-osx-gtk3"/>
+ <dep package="meta-gtk-osx-gtk3.14"/>
<dep package="meta-gtk-osx-bootstrap"/>
</after>
</metamodule>
diff --git a/modulesets-stable/gtk-osx-network.modules b/modulesets-stable/gtk-osx-network.modules
index be2a61e..f329c7c 100644
--- a/modulesets-stable/gtk-osx-network.modules
+++ b/modulesets-stable/gtk-osx-network.modules
@@ -178,6 +178,7 @@
</dependencies>
<after>
<dep package="meta-gtk-osx-gtk3"/>
+ <dep package="meta-gtk-osx-gtk3.14"/>
<dep package="meta-gstreamer"/>
</after>
</autotools>
@@ -216,6 +217,7 @@
</dependencies>
<after>
<dep package="meta-gtk-osx-gtk3"/>
+ <dep package="meta-gtk-osx-gtk3.14"/>
<dep package="meta-gstreamer"/>
</after>
</cmake>
diff --git a/modulesets-stable/gtk-osx-python.modules b/modulesets-stable/gtk-osx-python.modules
index 35226da..04ee8de 100644
--- a/modulesets-stable/gtk-osx-python.modules
+++ b/modulesets-stable/gtk-osx-python.modules
@@ -27,20 +27,26 @@
<metamodule id="meta-gtk-osx-python-gtk3">
<dependencies>
- <dep package="meta-gtk-osx-gtk3"/>
<dep package="pycairo"/>
<dep package="pygobject3"/>
<dep package="gtk-mac-integration-python"/>
</dependencies>
+ <after>
+ <dep package="meta-gtk-osx-gtk3"/>
+ <dep package="meta-gtk-osx-gtk3.14"/>
+ </after>
</metamodule>
<metamodule id="meta-gtk-osx-python3-gtk3">
<dependencies>
- <dep package="meta-gtk-osx-gtk3"/>
<dep package="pycairo"/>
<dep package="pygobject3"/>
<dep package="gtk-mac-integration-python"/>
</dependencies>
+ <after>
+ <dep package="meta-gtk-osx-gtk3"/>
+ <dep package="meta-gtk-osx-gtk3.14"/>
+ </after>
</metamodule>
<!--Note the leading ; in autogen-template. It's there on purpose in case the user has set nice_build so
that the nice prepended to the command doesn't eat the cd. -->
@@ -123,6 +129,7 @@
<dep package="python3"/>
<dep package="python"/>
<dep package="meta-gtk-osx-gtk3"/>
+ <dep package="meta-gtk-osx-gtk3.14"/>
<dep package="meta-gtk-osx-core"/>
</after>
</distutils>
diff --git a/modulesets-stable/gtk-osx-random.modules b/modulesets-stable/gtk-osx-random.modules
index 1b645ec..baa4d7e 100644
--- a/modulesets-stable/gtk-osx-random.modules
+++ b/modulesets-stable/gtk-osx-random.modules
@@ -263,9 +263,10 @@ Libglade itself is deprecated. This is the last release. -->
<branch module="goocanvas/2.0/goocanvas-2.0.2.tar.xz" version="2.0.2"
hash="sha256:f20e5fbef8d1a2633033edbd886dd13146a1b948d1813a9c353a80a29295d1d0"/>
<branch repo="git.gnome.org" module="goocanvas" checkoutdir="goocanvas2"/>
- <dependencies>
+ <after>
<dep package="gtk+-3.0"/>
- </dependencies>
+ <dep package="gtk+-3.14"/>
+ </after>
</autotools>
<!-- Libart_lgpl is deprecated by gnome. This is probably the last release. -->
diff --git a/modulesets-stable/gtk-osx-themes.modules b/modulesets-stable/gtk-osx-themes.modules
index 3972fd2..aac6766 100644
--- a/modulesets-stable/gtk-osx-themes.modules
+++ b/modulesets-stable/gtk-osx-themes.modules
@@ -99,6 +99,7 @@
<!-- Circular dependency if we depend on meta-gtk-osx or meta-gtk-osx-gtk3 -->
<dep package="gtk+"/>
<dep package="gtk+-3.0"/>
+ <dep package="gtk+-3.14"/>
</after>
</autotools>
diff --git a/modulesets-stable/gtk-osx.modules b/modulesets-stable/gtk-osx.modules
index 351097d..45cbbbe 100644
--- a/modulesets-stable/gtk-osx.modules
+++ b/modulesets-stable/gtk-osx.modules
@@ -75,6 +75,17 @@
</after>
</metamodule>
+ <metamodule id="meta-gtk-osx-gtk3.14">
+ <dependencies>
+ <dep package="gtk+-3.14"/>
+ <dep package="gtk-mac-integration"/>
+ <dep package="meta-gtk-osx-gtk3-core-themes"/>
+ </dependencies>
+ <after>
+ <dep package="meta-gtk-osx-bootstrap"/>
+ </after>
+ </metamodule>
+
<autotools id="glib" autogen-sh="autoreconf"
autogenargs="--with-pcre=internal">
<branch module="glib/2.52/glib-2.52.2.tar.xz" version="2.52.2"
@@ -185,6 +196,29 @@
</dependencies>
</autotools>
+ <autotools id="gtk+-3.14" autogen-sh="autogen.sh"
+ autogenargs="--enable-quartz-backend --enable-quartz-relocation">
+ <branch module="gtk+/3.14/gtk+-3.14.15.tar.xz" version="3.14.15"
+ hash="sha256:3ac87659112ced9e5ee5bd55d055faa881aafd040f26ca40b0d8ba0fa6509c83">
+ <patch
file="https://git.gnome.org/browse/gtk-osx/plain/patches/0001-Bug-707945-GTK2-Quartz-typeahead-find-in-GtkTreeView.patch"
strip="1"/>
+ <!-- https://bugzilla.gnome.org/show_bug.cgi?id=763779 -->
+ <patch
file="https://git.gnome.org/browse/gtk-osx/plain/patches/gtk-quartz-fix-pixelated-image-surfaces-in-retina-hidpi-.patch"
strip="1"/>
+ <patch file="https://git.gnome.org/browse/gtk-osx/plain/patches/gtk3-14-get-scale-factor.patch"
strip="1"/>
+ <patch file="https://git.gnome.org/browse/gtk-osx/plain/patches/gtk3-14-gtkdesktop.patch" strip="1"/>
+ </branch>
+ <dependencies>
+ <dep package="glib"/>
+ <dep package="pango"/>
+ <dep package="atk"/>
+ <dep package="cairo"/>
+ <dep package="gdk-pixbuf"/>
+ <dep package="gobject-introspection"/>
+ </dependencies>
+ <after>
+ <dep package="meta-gtk-osx-bootstrap"/>
+ </after>
+ </autotools>
+
<autotools id="gtk+-3.0" autogen-sh="autogen.sh"
autogenargs="--enable-quartz-backend --enable-quartz-relocation">
<branch module="gtk+/3.22/gtk+-3.22.20.tar.xz" version="3.22.20"
@@ -243,6 +277,7 @@
<after>
<dep package="gtk+"/>
<dep package="gtk+-3.0"/>
+ <dep package="gtk+-3.14"/>
<dep package="meta-gtk-osx-bootstrap"/>
</after>
</autotools>
diff --git a/patches/gtk3-14-get-scale-factor.patch b/patches/gtk3-14-get-scale-factor.patch
new file mode 100644
index 0000000..1df8983
--- /dev/null
+++ b/patches/gtk3-14-get-scale-factor.patch
@@ -0,0 +1,11 @@
+--- a/gdk/quartz/gdkwindow-quartz.c 2018-01-28 15:25:06.000000000 -0800
++++ b/gdk/quartz/gdkwindow-quartz.c 2018-01-29 13:28:42.000000000 -0800
+@@ -2931,7 +2931,7 @@
+
+ impl = GDK_WINDOW_IMPL_QUARTZ (window->impl);
+
+- if (gdk_quartz_osx_version() >= GDK_OSX_LION)
++ if (impl->toplevel != NULL && gdk_quartz_osx_version() >= GDK_OSX_LION)
+ return [(id <ScaleFactor>) impl->toplevel backingScaleFactor];
+
+ return 1;
diff --git a/patches/gtk3-14-gtkdesktop.patch b/patches/gtk3-14-gtkdesktop.patch
new file mode 100644
index 0000000..59634e5
--- /dev/null
+++ b/patches/gtk3-14-gtkdesktop.patch
@@ -0,0 +1,40 @@
+--- a/gtk/gtkapplicationwindow.c 2015-07-21 07:22:36.000000000 -0700
++++ b/gtk/gtkapplicationwindow.c 2018-01-28 16:04:38.000000000 -0800
+@@ -29,7 +29,7 @@
+ #include "gtkintl.h"
+ #include "gtksettings.h"
+
+-#ifdef HAVE_GIO_UNIX
++#if !defined(__APPLE__) && defined(HAVE_GIO_UNIX)
+ #include <gio/gdesktopappinfo.h>
+ #endif
+
+@@ -255,7 +255,7 @@
+ {
+ gchar *retval = NULL;
+
+-#ifdef HAVE_GIO_UNIX
++#if !defined(__APPLE__) && defined(HAVE_GIO_UNIX)
+ GDesktopAppInfo *app_info;
+ const gchar *app_name = NULL;
+ gchar *desktop_file;
+--- a/gtk/gtk-launch.c 2014-11-26 18:54:55.000000000 -0800
++++ b/gtk/gtk-launch.c 2018-01-28 16:03:08.000000000 -0800
+@@ -28,7 +28,7 @@
+ #include <glib.h>
+ #include <glib/gi18n.h>
+ #include <gio/gio.h>
+-#ifdef G_OS_UNIX
++#if !defined(__APPLE__) && defined(G_OS_UNIX)
+ #include <gio/gdesktopappinfo.h>
+ #endif
+ #include <gtk.h>
+@@ -109,7 +109,7 @@
+ gtk_init (&argc, &argv);
+
+ app_name = *args;
+-#ifdef G_OS_UNIX
++#if !defined(__APPLE__) && defined(G_OS_UNIX)
+ if (g_str_has_suffix (app_name, ".desktop"))
+ desktop_file_name = g_strdup (app_name);
+ else
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]