[gimp/gimp-2-8] Update osx build scripts, readme, and fix font issue



commit 15c8b3f850047c238278dfe6a8ba1eda4bd949e4
Author: Clayton Walker <blender3dartist gmail com>
Date:   Sat Aug 4 18:19:38 2012 -0400

    Update osx build scripts, readme, and fix font issue

 build/osx/Info.plist         |    2 +
 build/osx/README             |    6 +-
 build/osx/gimp-python.bundle |  177 ++++++++++++++++++++++++++++++++
 build/osx/gimp.modules       |  229 +++++++++++++++++++++++++++++++++++++-----
 build/osx/gtkrc              |    2 +-
 build/osx/jhbuildrc-gimp     |    2 +-
 build/osx/launcher-python.sh |   75 ++++++++++++++
 build/osx/launcher.sh        |   19 +++-
 8 files changed, 478 insertions(+), 34 deletions(-)
---
diff --git a/build/osx/Info.plist b/build/osx/Info.plist
index 314dcc6..ef6cdac 100644
--- a/build/osx/Info.plist
+++ b/build/osx/Info.plist
@@ -6,6 +6,8 @@
 	<string>English</string>
 	<key>CFBundleExecutable</key>
 	<string>GIMP</string>
+	<key>CFBundleName</key>
+	<string>GIMP</string>
 	<key>CFBundleGetInfoString</key>
 	<string>2.8, Copyright 2012</string>
 	<key>CFBundleIconFile</key>
diff --git a/build/osx/README b/build/osx/README
index 3246f95..e6a3d1c 100644
--- a/build/osx/README
+++ b/build/osx/README
@@ -29,7 +29,9 @@ $ curl -o $HOME/.jhbuildrc-gimp http://git.gnome.org/browse/gimp/plain/build/osx
 Now you can download and install gimp, where 'gimp' is the directory prefix, and '10.6' is the minimum version you are building gimp for. As it stands, you should be able to leave the values as they are.
 
 $ JHB=gimp GIMP_SDK=10.6 jhbuild bootstrap --ignore-system
-$ JHB=gimp GIMP_SDK=10.6 jhbuild build meta-gimp
+$ JHB=gimp GIMP_SDK=10.6 jhbuild build gimp-python
+
+This should work. However, in the odd change that, during the compiling of gimp, docbook.make (or the like) is not found, you should copy and paste the configure script and options in the gimp source folder. Note, all you need to do is configure gimp once, then jhbuild will be able to handle gimp by itself.
 
 In order to create a .app you'll need to download an install gtk-mac-bundler.
 This will install gtk-mac-bundler into ~/.local/bin.
@@ -42,7 +44,7 @@ $ make install
 Now create the gimp.app.
 
 $ cd $HOME/gimp/10.6/source/gimp/build/osx
-$ gtk-mac-bundler gimp.bundle
+$ gtk-mac-bundler gimp-python.bundle
 
 Please note that this is not a finished process, and there are a few issues that still need to be fixed. Please joing #gimp on irc.gimp.org if you have any questions.
 
diff --git a/build/osx/gimp-python.bundle b/build/osx/gimp-python.bundle
new file mode 100644
index 0000000..960546d
--- /dev/null
+++ b/build/osx/gimp-python.bundle
@@ -0,0 +1,177 @@
+<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
+<app-bundle>
+
+  <meta>
+    <!-- Where to pick up the GTK+ installation, icon themes,
+         etc. Note that "${env:JHBUILD_PREFIX}" is evaluated to the
+         value of the environment variable JHBUILD_PREFIX. You can
+         define additional prefixes and refer to them in paths
+         throughout this file on the form "${prefix:name}". This is
+         useful for installing certain libraries or even the
+         application itself separately. Note that JHBUILD_PREFIX is
+         defined by jhbuild, so it you are not using jhbuild you can
+         either define your own or just hardcode the path here.
+    -->
+    <!-- <prefix name="default">${env:JHBUILD_PREFIX}</prefix> -->
+    <prefix name="default">${env:JHBUILD_PREFIX}</prefix>
+
+    <!-- The project directory is the default location of the created
+         app. If you leave out the path, the current directory is
+         used. Note the usage of an environment variable here again.
+    -->
+    <destination overwrite="yes">${env:HOME}</destination>
+
+    <image>
+      <!-- Not implemented yet (DMG image). -->
+    </image>
+
+    <!-- Comment this out to keep the install names in binaries -->
+    <run-install-name-tool/>
+ 
+    <!-- Optionally specify a launcher script to use. If the
+         application sets up everything needed itself, like
+         environment variable, linker paths, etc, a launcher script is
+         not needed. If the source path is left out, the default
+         script will be used.
+    -->
+    <!-- <launcher-script>${project}/launcher.sh</launcher-script > -->
+    <launcher-script>
+      ${project}/launcher-python.sh
+    </launcher-script>
+
+    <!-- Not implemented: Optional runtime, could be python or mono
+         for example.
+    -->
+    <!-- runtime copy="yes">/usr/bin/python</runtime -->
+    <!-- Indicate the active gtk version to use. This is needed only
+         for gtk+-3.0 projects. -->
+    <gtk>gtk+-2.0</gtk>
+  </meta>
+
+  <!-- We need to pack our own Python to avoid compatibility problems. -->
+  <binary dest="${bundle}/Contents/MacOS">
+    ${prefix}/bin/python
+  </binary>
+
+  <!-- Copy in Info.plist -->
+  <plist>${project}/Info.plist</plist>
+
+  <!-- Copy in libpyglib, which will pull in other dependencies we need -->
+  <binary>
+    ${prefix}/lib/libpyglib-2.0-python.0.dylib
+  </binary>
+  <!-- Gtk+ is required by python modules which aren't searched for
+       dependencies, so we have to pull it in explicitly. It will
+       bring Pango and Cairo with it. Note the use of ${gtkversion},
+       which expands to either 2.0 or 3.0, depending on which value of
+       gtk is specified.-->
+  <binary>
+    ${prefix}/lib/libgtk-quartz-${gtkversion}.0.dylib
+  </binary>
+
+  <!-- We have to pull in the python modules, which are mixed python
+       and loadable modules.  -->
+  <data>
+    ${prefix}/lib/python2.7/
+  </data>
+
+  <data>
+    ${prefix}/lib/pygtk/2.0/
+  </data>
+
+  <data>
+    ${prefix}/include/python2.7/
+  </data>
+
+  <!-- Name of main gimp binary -->
+  <main-binary>${prefix}/bin/gimp</main-binary>
+
+  <!-- Copy in GTK+ modules -->
+  <binary>${prefix}/lib/${gtkdir}/modules/*.so</binary>
+
+  <!-- Copy in babl modules -->
+  <binary>${prefix}/lib/babl-0.1/*.so</binary>
+
+  <!-- Copy in gegl modules -->
+  <binary>${prefix}/lib/gegl-0.2/*.so</binary>
+
+  <!-- Copy in GTK+ themeing engines-->
+  <binary>${prefix}/lib/${gtkdir}/${pkg:${gtk}:gtk_binary_version}/engines/*.so</binary>
+
+  <!-- Copy in GTK+ printer backends-->
+  <binary>${prefix}/lib/${gtkdir}/${pkg:${gtk}:gtk_binary_version}/printbackends/*.so</binary>
+
+  <!-- Copy in GTK+ printer backends-->
+  <binary>${prefix}/lib/${gtkdir}/${pkg:${gtk}:gtk_binary_version}/immodules/*.so</binary>
+
+  <!-- Copy in pango modules -->
+  <binary>${prefix}/lib/pango/${pkg:pango:pango_module_version}/modules/*.so</binary>
+
+  <!-- Starting with 2.24, gdk-pixbuf installs into its own directory. -->
+  <binary>${prefix}/lib/gdk-pixbuf-2.0/${pkg:${gtk}:gtk_binary_version}/loaders/*.so</binary>
+
+  <!-- Translation filenames-->
+  <translations name="gtk20">
+    ${prefix}/share/locale
+  </translations>
+
+  <!-- data>
+    ${prefix}/share/gtk-demo
+  </data -->
+
+  <!-- Missing dylibs -->
+  <binary>${prefix}/lib/libgimpui-2.0.0.dylib</binary>
+  
+  <!-- Where plugin dylibs need to be explicitly defined -->
+  <binary>${prefix}/lib/liblqr-1.0.dylib</binary>
+  <binary>${prefix}/lib/libexif.12.dylib</binary>
+  <binary>${prefix}/lib/liblcms.1.dylib</binary>
+
+  <!-- GTK+2 data -->
+  <data>${prefix}/etc/gtk-2.0/*</data>
+
+  <!-- Fontconfig data; requires clean up -->
+  <data>${prefix}/etc/fonts/fonts.conf</data>
+  <!--<data>${prefix}/etc/fonts/fonts.conf.bak</data>-->
+  <data>${prefix}/etc/fonts/fonts.dtd</data>
+  <data>${prefix}/etc/fonts/conf.avail/*</data>
+  <data>${prefix}/etc/fonts/conf.d/*</data>
+
+  <!-- Gimp data -->
+  <data>${prefix}/etc/gimp/2.0/*</data>
+  <data dest="${bundle}/Contents/Resources/share/gimp">${prefix}/share/gimp</data>
+  <data>${prefix}/lib/gimp/2.0/modules/*.so</data>
+  <data>${prefix}/lib/gimp/2.0/plug-ins/*</data>
+  <data>${prefix}/lib/gimp/2.0/python/*</data>
+
+  <!-- Pango data -->
+  <data>${prefix}/etc/pango/pango.modules</data>
+
+  <!-- XML data -->
+  <data>${prefix}/etc/xml/catalog</data>
+
+  <!-- locale (TODO: trim) -->
+  <data>${prefix}/share/locale</data>
+  <data>${prefix}/lib/charset.alias</data>
+
+  <!-- Theme data-->
+  <data>${prefix}/share/themes</data>
+
+  <!-- GTK+ theme data -->
+  <data>${prefix}/share/gtk-engines/*.xml</data>
+
+  <!-- mitch says this will change default theme, didn't work. -->
+  <data dest="${bundle}/Contents/Resources/etc/${gtkdir}/gtkrc">
+    ${project}/gtkrc
+  </data>
+
+  <!-- Icons -->
+  <data dest="${bundle}/Contents/Resources">${project}/gimp.icns</data>
+  <data dest="${bundle}/Contents/Resources">${project}/xcf.icns</data>
+
+  <!-- Icon theme, both tango and hicolor are required? -->
+  <icon-theme icons="auto">
+    Tango
+  </icon-theme>
+
+</app-bundle>
diff --git a/build/osx/gimp.modules b/build/osx/gimp.modules
index 2bc8291..50ffbd9 100644
--- a/build/osx/gimp.modules
+++ b/build/osx/gimp.modules
@@ -25,6 +25,8 @@
               href="ftp://sourceware.org/pub/"/>
   <repository type="tarball" name="cairographics"
               href="http://cairographics.org/releases/"/>
+  <repository type="tarball" name="cairographics.org"
+              href="http://cairographics.org/releases/"/>
   <repository type="git" name="git.gnome.org"
               href="git://git.gnome.org/"/>
   <repository type="tarball" name="ftp.gtk.org" 
@@ -37,6 +39,19 @@
 	      href="http://icon-theme.freedesktop.org/releases"/>
   <repository type="git" name="freedesktop.git"
 	      href="git://anongit.freedesktop.org/git/"/>
+  <repository type="tarball" name="python"
+	      href="http://www.python.org/ftp/python/"/>
+  <repository type="tarball" name="oracle"
+	      href="http://download.oracle.com/"/>
+
+  <repository type="tarball" name="poppler"
+	      href="http://poppler.freedesktop.org/"/>
+
+  <repository type="tarball" name="jasper"
+	      href="http://www.ece.uvic.ca/~mdadams/jasper/software/"/>
+
+  <repository type="git" name="git.cairographics.org"
+              href="git://git.cairographics.org/git"/>
 
   <!-- These will be the initial image loading libraries. librsvg, jasper, and libopenraw may be added later. -->
   <autotools id="libpng" autogenargs="--enable-shared" autogen-sh="configure">
@@ -60,6 +75,20 @@
     </dependencies>
   </autotools>
 
+  <!-- Required by some things -->
+  <!--<autotools id="librsvg">
+    <branch module="librsvg/2.32/librsvg-2.32.1.tar.bz2" version="2.32.1"
+	    hash="sha256:91b98051f352fab8a6257688d6b2fd665b4648ed66144861f2f853ccf876d334"/>
+  </autotools>
+
+  <autotools id="libcroco">
+    <branch module="libcroco/0.6/libcroco-0.6.2.tar.bz2" version="0.6.2"
+	    hash="sha256:be24853f64c09b63d39e563fb0222e29bae1a33c3d9f6cbffc0bc27669371749"/>
+    <dependencies>
+      <dep package="librsvg"/>
+    </dependencies>
+  </autotools>-->
+
   <!-- This is the beginning of the dependencies for gtk-doc -->
   <autotools id="libxml2" autogen-sh="configure">
     <branch version="2.7.8" module="libxml2-2.7.8.tar.gz"
@@ -159,9 +188,6 @@
             version="3.0.11" checkoutdir="atgreen-libffi-873d687"/>
   </autotools>
 
-  <!-- For now, libiconv will also be built -->
-  <!-- Secondary note, libiconv is not required after an upgrade to a newer glib version. This also fixed libpng. -->
-
   <!-- This is glib -->
   <autotools id="glib" autogen-sh="configure" autogenargs="--with-libiconv=native">
     <branch module="glib/2.32/glib-2.32.3.tar.xz"  version="2.32.3"
@@ -176,8 +202,8 @@
 
   <!-- This is atk -->
   <autotools id="atk" autogen-sh="configure">
-    <branch module="atk/2.2/atk-2.2.0.tar.bz2" version="2.2.0"
-            hash="sha256:d201e3f5808aef0b1aec2277bfa61074f68863e405428adb57a73aab5c838450"/>
+    <branch module="atk/2.5/atk-2.5.4.tar.xz" version="2.5.4"
+            hash="sha256:af6d6d8ec4543f338bf2476974de69891b7419913dd1cf4a94d53696bcc14aab"/>
     <dependencies>
     </dependencies>
     <after>
@@ -188,9 +214,9 @@
 
   <!-- This is pixman for cairo -->
   <autotools id="pixman" autogenargs="--disable-gtk" autogen-sh="configure">
-    <branch version="0.24.4" module="pixman-0.24.4.tar.gz"
+    <branch version="0.26.2" module="pixman-0.26.2.tar.gz"
             repo="cairographics"
-            hash="sha1:efaa09789128ebc42d17a11d2e350b7217a7cd05"/>
+            hash="sha1:3c7d72b5b52e6d301efc68aa480f0737a641bdd3"/>
     <after>
       <dep package="gtk-doc"/>
       <dep package="fontconfig"/>
@@ -217,13 +243,12 @@
     </after>
   </autotools>
 
-  <!-- Ah pango, the most painful dependency of them all -->
   <autotools id="pango"  autogen-sh="configure"
-             autogenargs="--without-x --with-included-modules=basic-coretext"
+             autogenargs="--without-x --with-included-modules=basic-coretext --enable-introspection=no --enable-shared --disable-silent-rules --with-included-modules"
              makeargs="-k -C modules; make">
-    <!-- The last version that will build on Tiger is 1.24.5, but who gives a crap -->
-    <branch version="1.30.0" module="pango/1.30/pango-1.30.0.tar.xz"
-            hash="sha256:7c6d2ab024affaed0e942f9279b818235f9c6a36d9fc50688f48d387f4102dff">
+    <!-- The last version that will build on Tiger is 1.24.5 -->
+    <branch version="1.30.1" module="pango/1.30/pango-1.30.1.tar.xz"
+            hash="sha256:3a8c061e143c272ddcd5467b3567e970cfbb64d1d1600a8f8e62435556220cbe">
     <!--<branch version="1.24.5" module="pango/1.24/pango-1.24.5.tar.bz2"
             hash="sha256:0f733d1ec3e8dafcae152d7ac58f1090bee1fd856176c8fee0e81b0e42392f4e">-->
     </branch>
@@ -251,10 +276,10 @@
     </after>
   </autotools>
 
-  <!-- The notorious gtk+. I loathe it so. Almost as much as gtk-doc.-->
+  <!-- gtk+ requires some tweaking before it compiles properly-->
   <!--<autotools id="gtk+" autogen-sh="configure"-->
   <autotools id="gtk+" autogen-sh="autogen.sh"
-             autogenargs="--with-gdktarget=quartz --disable-gtk-doc --enable-gtk-doc=no --enable-gtk-doc-html=no --enable-gtk-doc-pdf=no --enable-quartz-relocation --without-x --with-xinput --enable-xinerama"
+             autogenargs="--with-gdktarget=quartz --disable-gtk-doc --enable-gtk-doc=no --enable-gtk-doc-html=no --enable-gtk-doc-pdf=no --enable-quartz-relocation --without-x --with-xinput --enable-xinerama --disable-introspection"
              autogen-template="autoreconf -fis &amp;&amp; %(srcdir)s/%(autogen-sh)s --prefix %(prefix)s --libdir %(libdir)s %(autogenargs)s">
     <branch repo="git.gnome.org" module="gtk+" revision="gtk-2-24"/>
     <dependencies>
@@ -272,7 +297,7 @@
     </after>
   </autotools>
 
-  <!-- Now that all of that is taken care of, we can focus on the gimp libraries -->
+  <!-- Gimp libraries -->
   <autotools id="babl" >
     <!--<branch repo="ftp.gtk.org" version="0.1.10"
             module="babl/0.1/babl-0.1.10.tar.bz2"/>-->
@@ -293,14 +318,68 @@
   </autotools>
 
   <autotools id="lcms" autogen-sh="configure">
-    <branch module="lcms/lcms2-2.3.tar.gz" version="2.3" repo="sourceforge"
+    <branch module="lcms/lcms-1.19.tar.gz" version="1.19" repo="sourceforge"
             />
   </autotools>
 
-  <!-- Taken care of in gimp.modules -->
+  <autotools id="poppler" autogen-sh="configure">
+    <branch module="poppler-0.20.0.tar.gz" version="0.20.0" repo="poppler"
+            />
+    <dependencies>
+      <dep package="lcms"/>
+      <dep package="libjpeg"/>
+      <dep package="cairo"/>
+      <dep package="gtk+"/>
+      <dep package="libtiff"/>
+      <dep package="libxml"/>
+    </dependencies>
+  </autotools>
+
+  <autotools id="jasper" autogen-sh="configure"
+             autogenargs="--enable-shared">
+    <branch module="jasper-1.900.1.zip" version="1.900.1" repo="jasper"
+            />
+    <dependencies>
+      <dep package="libjpeg"/>
+    </dependencies>
+  </autotools>
+
+  <autotools id="exif" autogen-sh="configure">
+    <branch module="libexif/libexif-0.6.20.tar.bz2" version="0.6.20" repo="sourceforge"
+            />
+    <dependencies>
+      <dep package="gtk+"/>
+    </dependencies>
+  </autotools>
+
   <autotools id="gimp"  autogen-sh="autogen.sh"
-             autogenargs="--disable-python --without-x --disable-docs
-                          --without-dbus --without-gnomevfs --without-wmf --enable-binreloc" skip-autogen="never"
+             autogenargs="--without-x --disable-docs --without-dbus --without-gnomevfs --without-wmf --enable-binreloc --disable-python" skip-autogen="never"
+	     autogen-template="autoreconf -fis &amp;&amp; %(srcdir)s/%(autogen-sh)s --prefix %(prefix)s --libdir %(libdir)s %(autogenargs)s"
+             makeargs='LDFLAGS="-framework Carbon"'>
+    <!--<branch module="gimp/v2.8/gimp-2.8.0.tar.bz2" version="2.8.0"
+            md5sum="28997d14055f15db063eb92e1c8a7ebb" repo="gimp">
+    </branch>-->
+    <branch repo="git.gnome.org" module="gimp" revision="gimp-2-8"/>
+    <after>
+      <dep package="gtk-doc"/>
+      <dep package="libpng"/>
+      <dep package="libjpeg"/>
+      <dep package="libtiff"/>
+    </after>
+    <dependencies>
+      <dep package="exif"/>
+      <dep package="lcms"/>
+      <dep package="fontconfig"/>
+      <dep package="gegl"/>
+      <dep package="glib"/>
+      <dep package="gtk+"/>
+      <dep package="popper"/>
+      <dep package="jasper"/>
+    </dependencies>
+  </autotools>
+
+  <autotools id="gimp-python"  autogen-sh="autogen.sh"
+             autogenargs="--without-x --disable-docs --without-dbus --without-gnomevfs --without-wmf --enable-binreloc" skip-autogen="never"
 	     autogen-template="autoreconf -fis &amp;&amp; %(srcdir)s/%(autogen-sh)s --prefix %(prefix)s --libdir %(libdir)s %(autogenargs)s"
              makeargs='LDFLAGS="-framework Carbon"'>
     <!--<branch module="gimp/v2.8/gimp-2.8.0.tar.bz2" version="2.8.0"
@@ -314,6 +393,7 @@
       <dep package="libtiff"/>
     </after>
     <dependencies>
+      <dep package="exif"/>
       <dep package="lcms"/>
       <dep package="fontconfig"/>
       <dep package="gegl"/>
@@ -322,16 +402,12 @@
     </dependencies>
   </autotools>
 
+
   <autotools id="murrine-engine" autogen-sh="configure">
     <branch module="murrine/0.98/murrine-0.98.2.tar.xz" version="0.98.2"
 	    hash="sha256:e9c68ae001b9130d0f9d1b311e8121a94e5c134b82553ba03971088e57d12c89"/>
   </autotools>
 
-  <autotools id="librsvg">
-    <branch module="librsvg/2.32/librsvg-2.32.1.tar.bz2" version="2.32.1"
-	    hash="sha256:91b98051f352fab8a6257688d6b2fd665b4648ed66144861f2f853ccf876d334"/>
-  </autotools>
-
   <autotools id="tango-icon-theme" autogenargs="--disable-icon-framing"
              autogen-sh="configure">
     <branch repo="tango.freedesktop.org" version="0.8.90"
@@ -350,6 +426,14 @@
     </after>
   </autotools>
 
+  <autotools id="gtk-quartz-engine" autogen-sh="autogen.sh">
+    <branch module="gtk-osx/gtk-quartz-engine-0.2.tar.gz"
+            repo="sourceforge" version="0.2" />
+    <after>
+      <dep package="gtk+"/>
+    </after>
+  </autotools>
+
   <metamodule id="meta-gimp">
     <dependencies>
       <dep package="libpng"/>
@@ -367,4 +451,101 @@
     </dependencies>
   </metamodule>
 
+  <!-- Python modules -->
+  <metamodule id="meta-gtk-osx-python">
+    <dependencies>
+      <dep package="python"/>
+      <dep package="py2cairo"/>
+      <dep package="pygobject"/>
+      <dep package="pygtk"/>
+      <dep package="gtk-mac-integration-python"/>
+    </dependencies>
+  </metamodule>
+
+  <autotools id="berkeleydb" autogen-sh="dist/configure"
+         autogen-template="cd build_unix; ../%(autogen-sh)s --prefix %(prefix)s --libdir %(libdir)s %(autogenargs)s" makeargs="-C build_unix"
+         makeinstallargs="-C build_unix install">
+
+    <branch module="berkeley-db/db-4.8.30.NC.tar.gz" version="4.8.30"
+        repo="oracle" />
+  </autotools>
+
+  <autotools id="python" autogenargs="--enable-shared" autogen-sh="configure">
+    <branch repo="python"
+	    module="2.7.2/Python-2.7.2.tar.bz2" version="2.7.2">
+    </branch>
+    <after>
+      <dep package="berkeleydb"/>
+    </after>
+  </autotools>
+
+  <autotools id="py2cairo" autogen-sh="autogen.sh">
+    <branch repo="git.cairographics.org" module="py2cairo" revision="master"/>
+    <dependencies>
+      <dep package="cairo"/>
+    </dependencies>
+    <after>
+      <dep package="python"/>
+      <dep package="gtk+"/>
+    </after>
+  </autotools>
+
+<!-- This is the latest 0.10 version. Later versions are 1.29 and intended to work with glib 2.29; the minor version of gobject-introspection will track the minor version of glib that it's intended to work with. -->
+  <autotools id="gobject-introspection">
+    <branch module="gobject-introspection/0.10/gobject-introspection-0.10.8.tar.bz2"
+            version="0.10.8"
+            hash="sha256:5b1387ff37f03db880a2b1cbd6c6b6dfb923a29468d4d8367c458abf7704c61e">
+      <patch file="http://git.gnome.org/browse/gtk-osx/plain/patches/girscanner-objc.patch"; strip="1"/>
+    </branch>
+    <dependencies>
+      <dep package="glib"/>
+      <dep package="cairo"/>
+     <dep package="libffi"/>
+    </dependencies>
+  </autotools>
+
+<!-- PyGObject 2.28 is the last series for Gtk+-2; for co-installation
+     with later versions it installs as pygobject2 and PyGObject 3
+     installs as pygobject3. Introspection is disabled here, because
+     gir-scanner isn't smart enough to co-install them. -->
+  <autotools id="pygobject" autogen-sh="configure" >
+    <branch version="2.28.6" module="pygobject/2.28/pygobject-2.28.6.tar.bz2"
+            hash="sha256:e4bfe017fa845940184c82a4d8949db3414cb29dfc84815fb763697dc85bdcee"/>
+    <dependencies>
+      <dep package="gtk+"/>
+      <dep package="gobject-introspection"/>
+    </dependencies>
+    <after>
+      <dep package="python"/>
+    </after>
+  </autotools>
+
+ <autotools id="pygtk" autogen-sh="configure" 
+	     autogenargs="CFLAGS=&quot;$CFLAGS -xobjective-c&quot; lt_cv_sys_global_symbol_pipe=&quot;'sed -n -e '\''s/^.*[ ]\([BCDEGRST][BCDEGRST]*\)[ ][ ]*_\([_A-Za-z][_A-Za-z0-9]*\)$/\1 _\2 \2/p'\'' | sed '\''/ __gnu_lto/d'\'''&quot;">
+    <branch version="2.24.0" module="pygtk/2.24/pygtk-2.24.0.tar.bz2"
+            hash="sha256:cd1c1ea265bd63ff669e92a2d3c2a88eb26bcd9e5363e0f82c896e649f206912">
+      <patch file="http://git.gnome.org/browse/gtk-osx/plain/patches/pygtk-libtool.patch"; strip="1"/>
+    </branch>
+    <dependencies>
+      <dep package="gtk+"/>
+      <dep package="py2cairo"/>
+    </dependencies>
+    <after>
+      <dep package="libglade"/>
+    </after>
+  </autotools>
+
+  <autotools id="gtk-mac-integration-python" autogen-sh="configure"
+             autogenargs="--enable-python">
+    <branch module="gtk-mac-integration/1.0/gtk-mac-integration-1.0.1.tar.bz2"
+            version="1.0.1"
+	    hash="sha256:417773d32be5304839f6f917a6ce4637d9a642829105ce8f9527f663830b8089"/>
+    <dependencies>
+    </dependencies>
+    <after>
+      <dep package="pygtk"/>
+      <dep package="pygobject"/>
+    </after>
+  </autotools>
+
 </moduleset>
diff --git a/build/osx/gtkrc b/build/osx/gtkrc
index 8f8c64c..7c0dda5 100644
--- a/build/osx/gtkrc
+++ b/build/osx/gtkrc
@@ -1 +1 @@
-gtk-theme-name = "Zukitwo"
\ No newline at end of file
+# gtk-theme-name = "Zukitwo"
\ No newline at end of file
diff --git a/build/osx/jhbuildrc-gimp b/build/osx/jhbuildrc-gimp
index 516bebb..32bd3d4 100644
--- a/build/osx/jhbuildrc-gimp
+++ b/build/osx/jhbuildrc-gimp
@@ -41,4 +41,4 @@ os.environ['MAKE'] = 'make -j3'
 skip.append("libiconv")
 
 # Main module set
-moduleset = "http://git.gnome.org/browse/gimp/plain/build/osx/gimp.modules?h=gimp-2-8";
+moduleset = "~/gimp/directory/jhbuild/gimp.modules"
diff --git a/build/osx/launcher-python.sh b/build/osx/launcher-python.sh
new file mode 100755
index 0000000..1699c0d
--- /dev/null
+++ b/build/osx/launcher-python.sh
@@ -0,0 +1,75 @@
+#!/bin/bash
+
+# Inherited from gtk-mac-bundler example launcher script
+if test "x$GTK_DEBUG_LAUNCHER" != x; then
+	set -x
+fi
+
+if test "x$GTK_DEBUG_GDB" != x; then
+	EXEC="gdb --args"
+elif test "x$GTK_DEBUG_DTRUSS" != x; then
+	EXEC="dtruss"
+else
+	EXEC=exec
+fi
+
+# Where we get the paths from
+name=$(basename "$0")
+echo $name
+
+dirn=$(dirname "$0")
+echo $dirn
+
+bundle=$(cd "$dirn/../../" && pwd)
+bundle_contents="$bundle"/Contents
+bundle_res="$bundle_contents"/Resources
+bundle_lib="$bundle_res"/lib
+bundle_bin="$bundle_res"/bin
+bundle_data="$bundle_res"/share
+bundle_etc="$bundle_res"/etc
+
+export PATH="$bundle_bin:$PATH"
+echo $PATH
+
+# Set $PYTHON to point inside the bundle
+export PYTHON="$bundle_contents/MacOS/python"
+# Add the bundle's python modules
+PYTHONPATH="$bundle_lib/python2.7:$PYTHONPATH"
+PYTHONPATH="$bundle_lib/python2.7/site-packages:$PYTHONPATH"
+PYTHONPATH="$bundle_lib/gimp/2.0/python:$PYTHONPATH"
+# Add our program's modules to $PYTHONPATH. 
+PYTHONPATH="$bundle_lib/pygtk/2.0:$PYTHONPATH"
+export PYTHONPATH
+
+# Use fallback instead of normal dlyd path, may not be required
+export DYLD_FALLBACK_LIBRARY_PATH="$bundle_lib:$DYLD_FALLBACK_LIBRARY_PATH"
+
+# Help fontconfig find its configuration file
+export FONTCONFIG_FILE="$bundle_etc/fonts/fonts.conf"
+
+# Help gdk find its loader modules
+export GDK_PIXBUF_MODULE_FILE="$bundle_etc/gtk-2.0/gdk-pixbuf.loaders"
+
+# Fix for the theme engine paths is no longer required
+# export GTK_PATH="$bundle_lib/gtk-2.0/2.10.0"
+
+# GTK path no longer required
+# export GTK_IM_MODULE_FILE="$bundle_etc/gtk-2.0/gtk.immodules"
+
+# Pango path no longer required
+# export PANGO_RC_FILE="$bundle_etc/pango/pangorc"
+
+# Define gtkrc file
+# export GTK2_RC_FILES="$bundle_etc/gtk-2.0/gtkrc"
+
+# Strip out arguments added by the OS
+if [ x`echo "x$1" | sed -e "s/^x-psn_.*//"` == x ]; then
+	shift 1
+fi
+
+if [ "x$GTK_DEBUG_SHELL" != "x" ]; then
+	exec bash
+
+else
+	$EXEC "$bundle_contents/MacOS/$name-bin"
+fi
diff --git a/build/osx/launcher.sh b/build/osx/launcher.sh
index 730e140..6640d16 100755
--- a/build/osx/launcher.sh
+++ b/build/osx/launcher.sh
@@ -1,5 +1,6 @@
 #!/bin/bash
 
+# Stuff the Mac dev of gedit wrote.
 if test "x$GTK_DEBUG_LAUNCHER" != x; then
 	set -x
 fi
@@ -12,10 +13,12 @@ else
 	EXEC=exec
 fi
 
-# Where is GIMP.app located
+# Where we get all of our paths from.
 name=$(basename "$0")
+echo $name
 
 dirn=$(dirname "$0")
+echo $dirn
 
 bundle=$(cd "$dirn/../../" && pwd)
 bundle_contents="$bundle"/Contents
@@ -26,24 +29,28 @@ bundle_data="$bundle_res"/share
 bundle_etc="$bundle_res"/etc
 
 export PATH="$bundle_bin:$PATH"
+echo $PATH
 
-# This is a compromise between clashing with system libs and no libs; it may no longer be needed
+# Works for most stuff.
 export DYLD_FALLBACK_LIBRARY_PATH="$bundle_lib:$DYLD_FALLBACK_LIBRARY_PATH"
 
-# The fontconfig file needs to be explicitly defined
+# Some more bullcrap to get fontconfig to actually LOOK for the freaking files.
 export FONTCONFIG_FILE="$bundle_etc/fonts/fonts.conf"
 
-# Gdk needs it's own specifications
+# How about some bullcrap to fix the gdk crap.
 export GDK_PIXBUF_MODULE_FILE="$bundle_etc/gtk-2.0/gdk-pixbuf.loaders"
 
+# Ok, so that gdk crap failed, let's try some new stuff. EDIT: WORKS NOW.
+# export GDK_PIXBUF_MODULEDIR="$bundle_lib/gdk-pixbuf-2.0/2.10.0/loaders"
+# echo $GDK_PIXBUF_MODULEDIR
+
 # Fix the theme engine paths
 export GTK_PATH="$bundle_lib/gtk-2.0/2.10.0"
 
-# Backup paths
 # export GTK_IM_MODULE_FILE="$bundle_etc/gtk-2.0/gtk.immodules"
 # export PANGO_RC_FILE="$bundle_etc/pango/pangorc"
 
-# Strip out arguments added by the OS.
+# Strip out the argument added by the OS.
 if [ x`echo "x$1" | sed -e "s/^x-psn_.*//"` == x ]; then
 	shift 1
 fi



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