[gtk-osx] Some more patches required for gtkmm modules.



commit 3d36760edab8ff37e4f072aaff4be4724abaf8ca
Author: John Ralls <jralls ceridwen us>
Date:   Sun Apr 30 15:53:47 2017 -0700

    Some more patches required for gtkmm modules.
    
    Partly because of another bug, partly because glibmm's tarball includes
    a generated file that also requires patching.

 modulesets-stable/gtk-osx-gtkmm.modules            |   11 +++-
 ...94-Cairomm-compile-failure-if-no-cairo-ft.patch |   32 +++++++++
 ...Build-fails-on-MacOS-because-glib-doesn-t.patch |   69 +++++++++++++++++++-
 3 files changed, 107 insertions(+), 5 deletions(-)
---
diff --git a/modulesets-stable/gtk-osx-gtkmm.modules b/modulesets-stable/gtk-osx-gtkmm.modules
index dcad4f5..dd807be 100644
--- a/modulesets-stable/gtk-osx-gtkmm.modules
+++ b/modulesets-stable/gtk-osx-gtkmm.modules
@@ -21,16 +21,22 @@
     </dependencies>
   </metamodule>
 
+  <autotools id="mm-common" autogen-sh="configure">
+    <branch module="mm-common/0.9/mm-common-0.9.10.tar.xz" version="0.9.10"/>
+  </autotools>
+
   <autotools id="cairomm" autogen-sh="configure">
     <branch module="cairomm-1.12.2.tar.gz" version="1.12.2"
            hash="sha1:621546f32221a2ddc079167a13ce5b5409bed704"
-            repo="cairographics" />
+            repo="cairographics">
+      <patch 
file="https://git.gnome.org/browse/gtk-osx/plain/patches/cairomm-Bug-100894-Cairomm-compile-failure-if-no-cairo-ft.patch";
 strip="1"/>
+    </branch>
     <dependencies>
       <dep package="cairo"/>
     </dependencies>
   </autotools>
 
-  <autotools id="glibmm" autogen-sh="configure">
+  <autotools id="glibmm" autogen-sh="autoreconf">
     <branch module="glibmm/2.50/glibmm-2.50.1.tar.xz" version="2.50.1"
             hash="sha256:1fd85051da9cb402cc8348cec72dfe4d79f9345df4a1dbf68703a4ded45846a4">
             <patch 
file="https://git.gnome.org/browse/gtk-osx/plain/patches/glibmm-Bug-781947-Build-fails-on-MacOS-because-glib-doesn-t.patch";
 strip="1"/>
@@ -38,6 +44,7 @@
     <dependencies>
       <dep package="glib"/>
       <dep package="libsigc++2"/>
+      <dep package="mm-common"/>
     </dependencies>
   </autotools>
 
diff --git a/patches/cairomm-Bug-100894-Cairomm-compile-failure-if-no-cairo-ft.patch 
b/patches/cairomm-Bug-100894-Cairomm-compile-failure-if-no-cairo-ft.patch
new file mode 100644
index 0000000..564f845
--- /dev/null
+++ b/patches/cairomm-Bug-100894-Cairomm-compile-failure-if-no-cairo-ft.patch
@@ -0,0 +1,32 @@
+diff -u /Users/john/Development/gtk-build/gtk-stable-10.9-x86_64/src/cairomm-1.12.2/cairomm/enums.h\~ 
/Users/john/Development/gtk-build/gtk-stable-10.9-x86_64/src/cairomm-1.12.2/cairomm/enums.h
+--- a/cairomm/enums.h  2015-08-12 02:27:20.000000000 -0700
++++ b/cairomm/enums.h  2017-04-30 14:08:29.000000000 -0700
+@@ -20,7 +20,9 @@
+ #define __CAIROMM_ENUMS_H
+ 
+ #include <cairo.h>
++#ifdef CAIRO_HAS_FT_FONT
+ #include <cairo-ft.h>
++#endif //CAIRO_HAS_FT_FONT
+ 
+ namespace Cairo
+ {
+@@ -828,6 +830,7 @@
+  *
+  * @since 1.12
+  */
++#ifdef CAIRO_HAS_FT_FONT
+ enum FtSynthesize {
+ 
+     /// Embolden the glyphs (redraw with a pixel offset)
+@@ -846,7 +849,7 @@
+ {
+     return static_cast<FtSynthesize>(static_cast<int>(a) & static_cast<int>(b));
+ }
+-
++#endif //CAIRO_HAS_FT_FONT
+ } // namespace Cairo
+ 
+ #endif //__CAIROMM_ENUMS_H
+
+Diff finished.  Sun Apr 30 15:22:11 2017
diff --git a/patches/glibmm-Bug-781947-Build-fails-on-MacOS-because-glib-doesn-t.patch 
b/patches/glibmm-Bug-781947-Build-fails-on-MacOS-because-glib-doesn-t.patch
index 465d9f5..32ee881 100644
--- a/patches/glibmm-Bug-781947-Build-fails-on-MacOS-because-glib-doesn-t.patch
+++ b/patches/glibmm-Bug-781947-Build-fails-on-MacOS-because-glib-doesn-t.patch
@@ -14,7 +14,7 @@ diff --git a/configure.ac b/configure.ac
 index 02352bd..e19f212 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -55,6 +55,18 @@ AS_CASE([$host_os], [mingw*], [glibmm_host_windows=yes], [glibmm_host_windows=no
+@@ -55,6 +55,22 @@ AS_CASE([$host_os], [mingw*], [glibmm_host_windows=yes], [glibmm_host_windows=no
  AC_MSG_RESULT([$glibmm_host_windows])
  AM_CONDITIONAL([HOST_WINDOWS_NATIVE], [test "x$glibmm_host_windows" = xyes])
  
@@ -29,10 +29,25 @@ index 02352bd..e19f212 100644
 +
 +AC_MSG_RESULT([$glib_have_cocoa])
 +AM_CONDITIONAL(OS_COCOA, [test "$glib_have_cocoa" = "yes"])
++AS_IF([test "x$glib_have_cocoa" = "xyes"],
++[
++AC_DEFINE([GLIBMM_OS_COCOA], [1], [Define if building with Cocoa, to disable building DestopAppInfo])
++])
 +
  # TODO: This makes no sense. --danielk
  AS_IF([test "x$enable_static" = xyes],
  [
+--- a/glib/glibmmconfig.h.in   2017-04-04 09:37:56.000000000 -0700
++++ b/glib/glibmmconfig.h.in   2017-04-30 10:18:29.000000000 -0700
+@@ -95,6 +95,8 @@
+ /* Define if glibmm is built as a static library */
+ #undef GLIBMM_STATIC_LIB
+ 
++/* Define if building with Cocoa, to disable building DestopAppInfo. */
++#undef GLIBMM_OS_COCOA
+ 
+ #endif /* GLIBMM_CONFIGURE */
+ 
 diff --git a/gio/src/filelist.am b/gio/src/filelist.am
 index 0095128..31339d3 100644
 --- a/gio/src/filelist.am
@@ -45,7 +60,7 @@ index 0095128..31339d3 100644
        unixconnection.hg               \
        unixcredentialsmessage.hg       \
        unixfdlist.hg                   \
-@@ -145,10 +144,17 @@ giomm_files_posix_hg =                   \
+@@ -145,11 +144,18 @@ giomm_files_posix_hg =                   \
        unixoutputstream.hg             \
        unixsocketaddress.hg
  
@@ -63,6 +78,54 @@ index 0095128..31339d3 100644
  endif
  giomm_files_used_hg = $(giomm_files_any_hg) $(giomm_files_arch_hg)
  
--- 
+--- a/gio/giomm/wrap_init.cc   2017-04-04 11:00:01.000000000 -0700
++++ b/gio/giomm/wrap_init.cc   2017-04-30 10:18:58.000000000 -0700
+@@ -52,7 +52,7 @@
+ #include "dbussubtreevtable.h"
+ #include "dbusutils.h"
+ #include "dbuswatchname.h"
+-#ifndef G_OS_WIN32
++#if !(defined(G_OS_WIN32) || defined(GLIBMM_OS_COCOA))
+ #include "desktopappinfo.h"
+ #endif // ifndef G_OS_WIN32
+ #include "drive.h"
+@@ -186,7 +186,7 @@
+ GType g_dbus_method_invocation_get_type(void);
+ GType g_dbus_proxy_get_type(void);
+ GType g_dbus_server_get_type(void);
+-#ifndef G_OS_WIN32
++#if !(defined(G_OS_WIN32) || defined(GLIBMM_OS_COCOA))
+ GType g_desktop_app_info_get_type(void);
+ #endif // ifndef G_OS_WIN32
+ GType g_emblem_get_type(void);
+@@ -302,7 +302,7 @@
+ namespace DBus { class MethodInvocation_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
+ namespace DBus { class Proxy_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
+ namespace DBus { class Server_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
+-#ifndef G_OS_WIN32
++#if !(defined(G_OS_WIN32) || defined(GLIBMM_OS_COCOA))
+ class DesktopAppInfo_Class { public: static Glib::ObjectBase* wrap_new(GObject*); };
+ #endif // ifndef G_OS_WIN32
+ class Emblem_Class { public: static Glib::ObjectBase* wrap_new(GObject*); };
+@@ -429,7 +429,7 @@
+   Glib::wrap_register(g_dbus_method_invocation_get_type(), &DBus::MethodInvocation_Class::wrap_new);
+   Glib::wrap_register(g_dbus_proxy_get_type(), &DBus::Proxy_Class::wrap_new);
+   Glib::wrap_register(g_dbus_server_get_type(), &DBus::Server_Class::wrap_new);
+-#ifndef G_OS_WIN32
++#if !(defined(G_OS_WIN32) || defined(GLIBMM_OS_COCOA))
+   Glib::wrap_register(g_desktop_app_info_get_type(), &DesktopAppInfo_Class::wrap_new);
+ #endif // ifndef G_OS_WIN32
+   Glib::wrap_register(g_emblem_get_type(), &Emblem_Class::wrap_new);
+@@ -533,7 +533,7 @@
+   DBus::MethodInvocation::get_type();
+   DBus::Proxy::get_type();
+   DBus::Server::get_type();
+-#ifndef G_OS_WIN32
++#if !(defined(G_OS_WIN32) || defined(GLIBMM_OS_COCOA))
+   DesktopAppInfo::get_type();
+ #endif // ifndef G_OS_WIN32
+   Emblem::get_type();
+
+
 2.2.2
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]