[gtk-osx] Add a gtk.14 module to modulesets-stable/gtk-osx.modules



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]