[gtk-osx] Bring modulesets gstreamer and gtkmm modules up to speed with modulesets-stable and set up gtkmm3 to



commit 48d08b2603f8cb5029fcb4aceeed64aa2e7a2c75
Author: John Ralls <jralls ceridwen us>
Date:   Fri Oct 28 16:47:20 2011 -0700

    Bring modulesets gstreamer and gtkmm modules up to speed with modulesets-stable and set up gtkmm3 to build for gtk+-3.
    
    
    Gtkmm3 turned out to require a patch to build on quartz (see Bug 662975), so the patch is included in the modulesets-stable gtkmm moduleset.

 modulesets-stable/gtk-osx-gtkmm.modules         |   16 +++-
 modulesets/gtk-osx-gstreamer.modules            |   12 ++--
 modulesets/gtk-osx-gtkmm.modules                |   53 ++++++++++--
 patches/0001-Gtkmm-won-t-build-for-Quartz.patch |  105 +++++++++++++++++++++++
 4 files changed, 168 insertions(+), 18 deletions(-)
---
diff --git a/modulesets-stable/gtk-osx-gtkmm.modules b/modulesets-stable/gtk-osx-gtkmm.modules
index 957fbbc..bd21fc7 100644
--- a/modulesets-stable/gtk-osx-gtkmm.modules
+++ b/modulesets-stable/gtk-osx-gtkmm.modules
@@ -33,6 +33,15 @@
     </dependencies>
   </autotools>
 
+  <autotools id="glibmm3" autogen-sh="configure">
+    <branch module="glibmm/2.28/glibmm-2.28.2.tar.bz2" version="2.28.2"
+            hash="sha256:7b67178363f8494c94f8b3dd704a4c8db7ad75a253fc84a4ad229e5e179ec192"/>
+    <dependencies>
+      <dep package="glib-gtk3"/>
+      <dep package="libsigc++2"/>
+    </dependencies>
+  </autotools>
+
   <autotools id="pangomm" autogen-sh="configure">
     <branch module="pangomm/2.28/pangomm-2.28.2.tar.bz2" version="2.28.2"
             hash="sha256:ec1d97245eada5cf18d0e7af3f6e31498f25623b4a354589d631d2dff92fd88f"/>
@@ -61,13 +70,14 @@
 
   <autotools id="gtkmm3" autogen-sh="configure">
     <branch module="gtkmm/3.0/gtkmm-3.0.1.tar.bz2" version="3.0.1"
-            hash="sha256:fb2d982095919e58ab5757042bf72e2a6243e77825c8ae6f46c41ab66cb68498"/>
+            hash="sha256:fb2d982095919e58ab5757042bf72e2a6243e77825c8ae6f46c41ab66cb68498">
+      <patch file="http://git.gnome.org/browse/gtk-osx/plain/patches/0001-Gtkmm-won-t-build-for-Quartz.patch"; strip="1"/>
     <dependencies>
-      <dep package="glibmm"/>
+      <dep package="glibmm3"/>
       <dep package="cairomm"/>
       <dep package="pangomm"/>
       <dep package="atkmm"/>
-      <dep package="gtk+"/>
+      <dep package="gtk+-3.0"/>
     </dependencies>
   </autotools>
 
diff --git a/modulesets/gtk-osx-gstreamer.modules b/modulesets/gtk-osx-gstreamer.modules
index fc8bbf6..5122367 100644
--- a/modulesets/gtk-osx-gstreamer.modules
+++ b/modulesets/gtk-osx-gstreamer.modules
@@ -28,7 +28,7 @@
   <autotools id="gstreamer" autogenargs="-- --disable-tests"
              supports-non-srcdir-builds="no"
     makeargs="ERROR_CFLAGS=" >
-    <branch tag="RELEASE-0.10.32"/>
+    <branch tag="RELEASE-0.10.35"/>
     <after>
       <dep package="glib"/>
       <dep package="libxml2"/>
@@ -38,7 +38,7 @@
   <autotools id="gst-plugins-base" supports-non-srcdir-builds="no"
              autogenargs="-- --disable-tests --disable-x --disable-xvideo"
              makeargs="ERROR_CFLAGS=" >
-    <branch tag="RELEASE-0.10.32"/>
+    <branch tag="RELEASE-0.10.35"/>
     <dependencies>
       <dep package="gstreamer"/>
       <!--dep package="gtk+"/-->
@@ -52,7 +52,7 @@
   <autotools id="gst-plugins-good" supports-non-srcdir-builds="no"
              autogenargs="-- --disable-tests --disable-x --disable-xvideo --disable-osx-video"
              makeargs="ERROR_CFLAGS=" >
-    <branch tag="RELEASE-0.10.27"/>
+    <branch tag="RELEASE-0.10.30"/>
     <dependencies>
       <dep package="gstreamer"/>
       <dep package="gst-plugins-base"/>
@@ -61,7 +61,7 @@
 
   <autotools id="gst-plugins-ugly" autogenargs="-- --disable-tests" supports-non-srcdir-builds="no"
     makeargs="ERROR_CFLAGS=" >
-    <branch tag="RElEASE-0.10.17"/>
+    <branch tag="RElEASE-0.10.18"/>
     <dependencies>
       <dep package="gstreamer"/>
       <dep package="gst-plugins-base"/>
@@ -70,7 +70,7 @@
 
   <autotools id="gst-plugins-bad" autogenargs="-- --disable-tests --disable-x --disable-xvid" supports-non-srcdir-builds="no"
     makeargs="ERROR_CFLAGS=" >
-    <branch tag="RELEASE-0.10.21"/>
+    <branch tag="RELEASE-0.10.22"/>
     <dependencies>
       <dep package="gstreamer"/>
       <dep package="gst-plugins-base"/>
@@ -80,7 +80,7 @@
 
   <autotools id="gst-ffmpeg" autogenargs="-- --disable-tests --disable-mmx"
              supports-non-srcdir-builds="no" >
-    <branch tag="RELEASE-0.10.11"/>
+    <branch tag="RELEASE-0.10.12"/>
     <dependencies>
       <dep package="gstreamer"/>
       <dep package="gst-plugins-base"/>
diff --git a/modulesets/gtk-osx-gtkmm.modules b/modulesets/gtk-osx-gtkmm.modules
index b6378ea..fd48de2 100644
--- a/modulesets/gtk-osx-gtkmm.modules
+++ b/modulesets/gtk-osx-gtkmm.modules
@@ -15,11 +15,12 @@
 
 <!-- mm-common is C++ glue code needed only to build from git. -->
   <autotools id="mm-common">
-    <branch module="mm-common" tag="mm-common-0.9.2"/>
+    <branch module="mm-common" tag="0.9.5"/>
   </autotools>
 
   <autotools id="cairomm" >
-    <branch module="cairomm" tag="v1.9.8"
+<!-- 1.10.0, the latest stable release, was built from the master branch. -->
+    <branch module="cairomm" tag="1.10.0"
             repo="cairographics" />
     <dependencies>
       <dep package="cairo"/>
@@ -27,22 +28,40 @@
   </autotools>
 
   <autotools id="glibmm" >
-    <branch tag="2.27.3"/>
+    <branch tag="glibmm-2-28"/>
     <dependencies>
+      <dep package="libsigc++2"/>
+    </dependencies>
+    <after>
       <dep package="glib"/>
+    </after>
+  </autotools>
+
+  <autotools id="glibmm3" >
+    <branch tag="glibmm-2-30" module="glibmm"/>
+    <dependencies>
       <dep package="libsigc++2"/>
     </dependencies>
+    <after>
+      <dep package="glib-gtk3"/>
+    </after>
   </autotools>
-<!-- Pangomm 2.27.1 requires an untagged version of glibmm -->
+
+<!-- Pangomm's last stable branch was 2-24 -->
   <autotools id="pangomm" >
-     <branch tag="2.26.3"/>
+     <branch tag="2.28.2"/>
     <dependencies>
+       <dep package="cairomm"/>
+    </dependencies>
+    <after>
       <dep package="glibmm"/>
-      <dep package="cairomm"/>
+      <dep package="glibmm3"/>
       <dep package="pango"/>
-    </dependencies>
+      <dep package="pango-gtk3"/>
+    </after>
   </autotools>
 
+<!-- libsigc++'s last stable branch was 2-0 -->
   <autotools id="libsigc++2"  autogen-args="--disable-documentation">
     <branch tag="2.2.8"/>
     <dependencies>
@@ -50,12 +69,16 @@
     </dependencies>
   </autotools>
 
+<!-- atkmm doesn't branch -->
   <autotools id="atkmm">
-    <branch module="atkmm" tag="2.22.2"/>
+    <branch module="atkmm" tag="2.22.5"/>
+    <dependencies>
+      <dep package="atk"/>
+    </dependencies>
   </autotools>
 
   <autotools id="gtkmm" >
-    <branch revision="gtkmm-2-22"/>
+    <branch revision="gtkmm-2-24"/>
     <dependencies>
       <dep package="glibmm"/>
       <dep package="cairomm"/>
@@ -65,4 +88,16 @@
     </dependencies>
   </autotools>
 
+<!-- Note: This doesn't build at the moment. See https://bugzilla.gnome.org/show_bug.cgi?id=662975. There's a patch for modulesets-stable. -->
+  <autotools id="gtkmm3" >
+    <branch revision="gtkmm-3-2" module="gtkmm"/>
+    <dependencies>
+      <dep package="glibmm3"/>
+      <dep package="cairomm"/>
+      <dep package="pangomm"/>
+      <dep package="atkmm"/>
+      <dep package="gtk+-3.0"/>
+    </dependencies>
+  </autotools>
+
 </moduleset>
diff --git a/patches/0001-Gtkmm-won-t-build-for-Quartz.patch b/patches/0001-Gtkmm-won-t-build-for-Quartz.patch
new file mode 100644
index 0000000..4af3acd
--- /dev/null
+++ b/patches/0001-Gtkmm-won-t-build-for-Quartz.patch
@@ -0,0 +1,105 @@
+From 2c556afe873c540e693934b6f214f7e7e3b92b7e Mon Sep 17 00:00:00 2001
+From: John Ralls <jralls ceridwen us>
+Date: Fri, 28 Oct 2011 16:16:18 -0700
+Subject: [PATCH] Gtkmm won't build for Quartz
+
+Adds to configure a pkgconfig read of the gtk+-3.0 target variable and
+uses the result to set appropriate automake conditionals (in theory, a
+particular Gtk+-3 library can contain multiple backends, though this
+isn't strictly true in practice).
+
+Also checks (with PKG_CHECK_MODULES) that Gtk+-3 is installed and makes
+the check for HOST_WINDOWS_NATIVE conditional on having a Win32 backend.
+
+Adds a new target gtkmm_files_x11_hg to src/filelist.am, including
+plug.hg and socket.hg in it; it's added to gtkmm_files_arch_hg only if
+there's an X11 backend to build them against.
+---
+ configure.ac        |   41 ++++++++++++++++++++++++++++++++++++++---
+ gtk/src/filelist.am |    9 +++++++--
+ 2 files changed, 45 insertions(+), 5 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index a5e8df4..1515036 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -46,9 +46,44 @@ AC_PROG_CXX
+ AC_DISABLE_STATIC
+ LT_INIT([win32-dll])
+ 
+-AC_MSG_CHECKING([for native Windows host])
+-AS_CASE([$host_os], [mingw*], [gtkmm_host_windows=yes], [gtkmm_host_windows=no])
+-AC_MSG_RESULT([$gtkmm_host_windows])
++PKG_CHECK_MODULES([GTK], [gtk+-3.0])
++gdk_target_win32=no
++gdk_target_quartz=no
++gdk_target_x11=no
++gdk_target_wayland=no
++gdk_target_broadway=no
++for target in `$PKG_CONFIG --variable=targets gtk+-3.0`; do
++    case "$target" in 
++       win32)
++          gdk_target_win32=yes
++	  ;;
++       quartz)
++          gdk_target_quartz=yes
++	  ;;
++       x11)
++          gdk_target_x11=yes
++	  ;;
++       broadway)
++          gdk_target_broadway=yes
++	  ;;
++       wayland)
++          gdk_target_wayland=yes
++	  ;;
++    esac;
++done
++AM_CONDITIONAL([GDK_TARGET_WIN32], [test "x$gdk_target_win32" = xyes])
++AM_CONDITIONAL([GDK_TARGET_QUARTZ], [test "x$gdk_target_quartz" = xyes])
++AM_CONDITIONAL([GDK_TARGET_X11], [test "x$gdk_target_x11" = xyes])
++AM_CONDITIONAL([GDK_TARGET_BROADWAY], [test "x$gdk_target_broadway" = xyes])
++AM_CONDITIONAL([GDK_TARGET_WAYLAND], [test "x$gdk_target_wayland" = xyes])
++
++if [ "x$GDK_TARGET_WIN32" = xyes ]; then
++   AC_MSG_CHECKING([for native Windows host])
++   AS_CASE([$host_os], [mingw*], [gtkmm_host_windows=yes], [gtkmm_host_windows=no])
++   AC_MSG_RESULT([$gtkmm_host_windows])
++else
++    gtkmm_host_windows = no
++fi
+ AM_CONDITIONAL([HOST_WINDOWS_NATIVE], [test "x$gtkmm_host_windows" = xyes])
+ 
+ # TODO: What exactly does this do?  If both static and shared libraries
+diff --git a/gtk/src/filelist.am b/gtk/src/filelist.am
+index c3b08a1..e665e2b 100644
+--- a/gtk/src/filelist.am
++++ b/gtk/src/filelist.am
+@@ -193,10 +193,12 @@ gtkmm_files_any_hg =		\
+ 
+ gtkmm_files_posix_hg =		\
+ 	pagesetupunixdialog.hg	\
+-	plug.hg			\
+ 	printer.hg		\
+ 	printjob.hg		\
+-	printunixdialog.hg	\
++	printunixdialog.hg
++
++gtkmm_files_xll_hg =            \
++	plug.hg			\
+ 	socket.hg
+ 
+ gtkmm_files_deprecated_hg =	\
+@@ -213,6 +215,9 @@ gtkmm_files_arch_hg =
+ else
+ gtkmm_files_arch_hg = $(gtkmm_files_posix_hg)
+ endif
++if GDK_TARGET_X11
++gtkmm_files_arch_hg += $(gtkmm_files_x11_hg)
++endif
+ if DISABLE_DEPRECATED_API
+ gtkmm_files_used_hg = $(gtkmm_files_any_hg) $(gtkmm_files_arch_hg)
+ else
+-- 
+1.7.6.3.dirty
+



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