[gimp/gimp-2-8] Files required for building gimp on osx



commit 6b54e919f49692553434bad7c22799a4882d489c
Author: Clayton Walker <blender3dartist gmail com>
Date:   Sat May 19 17:41:45 2012 +0200

    Files required for building gimp on osx

 build/osx/README.txt     |   36 +++++
 build/osx/gimp.icns      |  Bin 0 -> 159919 bytes
 build/osx/gimp.modules   |  370 ++++++++++++++++++++++++++++++++++++++++++++++
 build/osx/jhbuildrc-gimp |   41 +++++
 build/osx/xcf.icns       |  Bin 0 -> 120928 bytes
 5 files changed, 447 insertions(+), 0 deletions(-)
---
diff --git a/build/osx/README.txt b/build/osx/README.txt
new file mode 100644
index 0000000..b8f2979
--- /dev/null
+++ b/build/osx/README.txt
@@ -0,0 +1,36 @@
+How to build gimp 2.8.0 on Mac OSX.
+
+The dollar sign precedes terminal commands.
+
+Download and install jhbuild from this location:
+http://git.gnome.org/browse/gtk-osx/plain/gtk-osx-build-setup.sh
+
+$ curl -O http://git.gnome.org/browse/gtk-osx/plain/gtk-osx-build-setup.sh
+$ sh gtk-osx-build-setup.sh
+
+If you're not running Lion, you'll have to either download git in the form of a binary package, or compile it yourself. If you want complete control, I would suggest downloading it and installing it from source, in ~/.local/.
+
+Add ~/.local/ to your $PATH env either via terminal command:
+
+$ export $PATH=$HOME/.local:$PATH
+
+or by adding that command to your ~/.profile.
+
+Download and place jhbuildrc-gimp and gimp.modules into your home directory, and rename jhbuildrc-gimp as .jhbuildrc-gimp.
+
+Now you can download and install gimp:
+
+$ JHB=gimp GIMP_SDK=10.6 jhbuild bootstrap --ignore-system
+$ JHB=gimp GIMP_SDK=10.6 jhbuild build meta-gimp
+
+In order to create a .app you'll need to download an install gtk-mac-bundler.
+
+$ cd ~/Source/
+$ git clone https://github.com/jralls/gtk-mac-bundler.git
+$ cd gtk-mac-bundler/
+$ make install
+
+And then enter the gimp/build/osx directory and create the app:
+
+$ gtk-mac-bundler gimp.bundle
+
diff --git a/build/osx/gimp.icns b/build/osx/gimp.icns
new file mode 100644
index 0000000..418acf3
Binary files /dev/null and b/build/osx/gimp.icns differ
diff --git a/build/osx/gimp.modules b/build/osx/gimp.modules
new file mode 100644
index 0000000..79f7387
--- /dev/null
+++ b/build/osx/gimp.modules
@@ -0,0 +1,370 @@
+<?xml version="1.0"?>
+<!DOCTYPE moduleset SYSTEM "moduleset.dtd">
+<?xml-stylesheet type="text/xsl" href="moduleset.xsl"?>
+<moduleset>
+
+  <repository type="tarball" name="sourceforge"
+	      href="http://downloads.sourceforge.net/sourceforge/"/>
+  <repository type="tarball" name="jpeg"
+	      href="http://www.ijg.org/files/"/>
+  <repository type="tarball" name="libtiff"
+	      href="http://download.osgeo.org/"/>
+  <repository type="tarball" name="xmlsoft.org"
+	      href="ftp://xmlsoft.org/libxml2/"/>
+  <repository type="tarball" name="ftp.gnome.org" default="yes"
+	      href="ftp://ftp.gnome.org/pub/gnome/sources/"/>
+  <repository type="tarball" name="ftp.gnu.org"
+              href="ftp://ftp.gnu.org/gnu/"/>
+  <repository type="tarball" name="intltool"
+	       href="http://launchpad.net/intltool/trunk/"/>
+  <repository type="tarball" name="fontconfig"
+	      href="http://www.freedesktop.org/software/fontconfig/release/"/>
+  <repository type="tarball" name="icon-theme"
+	      href="http://icon-theme.freedesktop.org/releases/"/>
+  <repository type="tarball" name="sourceware.org"
+              href="ftp://sourceware.org/pub/"/>
+  <repository type="tarball" name="cairographics"
+              href="http://cairographics.org/releases/"/>
+  <repository type="git" name="git.gnome.org"
+              href="git://git.gnome.org/"/>
+  <repository type="tarball" name="ftp.gtk.org" 
+	      href="ftp://ftp.gtk.org/pub/"/>
+  <repository type="tarball" name="gimp"
+              href="ftp://ftp.gimp.org/pub/"/>
+  <repository type="tarball" name="tango.freedesktop.org"
+              href="http://tango.freedesktop.org/releases/"/>
+  <repository type="tarball" name="icon-theme.freedesktop.org"
+	      href="http://icon-theme.freedesktop.org/releases"/>
+  <repository type="git" name="freedesktop.git"
+	      href="git://anongit.freedesktop.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">
+    <branch version="1.5.10" module="libpng/libpng-1.5.10.tar.bz2"
+	    repo="sourceforge"/>
+  </autotools>
+
+  <autotools id="libjpeg">
+    <branch module="jpegsrc.v8d.tar.gz" version="8d"
+            repo="jpeg"
+            checkoutdir="jpeg-8">
+    </branch>
+  </autotools>
+
+  <autotools id="libtiff" autogen-sh="configure"
+	     autogenargs="--without-x --without-apple-opengl-framework">
+    <branch version="4.0.1" module="libtiff/tiff-4.0.1.tar.gz"
+	    repo="libtiff"/>
+    <dependencies>
+      <dep package="libjpeg"/>
+    </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"
+	    repo="xmlsoft.org"/>
+  </autotools>
+
+  <autotools id="libxslt" autogen-sh="configure">
+    <branch version="1.1.26" module="libxslt-1.1.26.tar.gz"
+	    repo="xmlsoft.org"/>
+    <dependencies>
+      <dep package="libxml2"/>
+    </dependencies>
+  </autotools>
+
+  <autotools id="xmlcatmgr" autogen-sh="configure">
+    <branch module="xmlcatmgr/xmlcatmgr-2.2.tar.gz" version="2.2"
+	    repo="sourceforge"/>
+    <dependencies>
+      <dep package="libxml2"/>
+      <dep package="libxslt"/>
+    </dependencies>
+  </autotools>
+
+  <autotools id="intltool" autogen-sh="configure">
+    <branch repo="intltool" module="0.41.1/+download/intltool-0.41.1.tar.gz"
+	    version="0.41.1"
+	    hash="sha256:06d02133a85b9d6f29cd763050dc9267a6d73ef3008993f5b917cafc7ece96c0"/>
+  </autotools>
+
+  <autotools id="gtk-osx-docbook" autogen-sh="configure" >
+     <branch repo="sourceforge" module="gtk-osx/gtk-osx-docbook-1.1.tar.gz"
+	     version="1.1"/>
+  </autotools>
+
+  <autotools id="gnome-common">
+    <branch module="gnome-common/2.34/gnome-common-2.34.0.tar.bz2" version="2.34.0"
+	    hash="sha256:7a9c4f9ab975501c36be3192aa61641abca045a215d519d7d00527706f1de1df"/>
+  </autotools>
+
+  <autotools id="gnome-doc-utils" autogenargs="--disable-scrollkeeper">
+    <branch module="gnome-doc-utils/0.20/gnome-doc-utils-0.20.6.tar.bz2" version="0.20.6"
+	    hash="sha256:091486e370480bf45349ad09dac799211092a02938b26a0d68206172cb6cebbf"/>
+    <dependencies>
+      <dep package="gnome-common"/>
+      <dep package="libxslt"/>
+      <dep package="intltool"/>
+    </dependencies>
+  </autotools>
+
+  <!-- If this honestly works for you, well then you're a better man/woman than I -->
+  <autotools id="gtk-doc" autogenargs="--disable-scrollkeeper --with-xml-catalog=$JHBUILD_PREFIX/etc/xml/catalog"
+	     makeargs="-k -i" makeinstallargs="-k -i install"
+	     autogen-sh="configure">
+    <branch version="1.18" module="gtk-doc/1.18/gtk-doc-1.18.tar.bz2"
+	    hash="sha256:a634d2e93d70468237033c06a17c97f29cf71a35ac5cc01c016324c965d42f73"/>
+    <dependencies>
+      <dep package="libxml2"/>
+      <dep package="libxslt"/>
+      <dep package="gtk-osx-docbook"/>
+      <dep package="gnome-doc-utils"/>
+    </dependencies>
+  </autotools>
+
+  <!-- This will configure everything required for fontconfig -->
+  <autotools id="expat" autogen-sh="configure">
+    <branch module="expat/expat-2.1.0.tar.gz" version="2.1.0"
+	    repo="sourceforge"/>
+  </autotools>
+
+  <!-- For some messed up reason, all of the default modules in jhbuild decide that the configure step isn't needed for freetype. Well, it is. -->
+  <autotools id="freetype" autogen-sh="configure" skip-autogen="never"
+	     autogen-template="%(srcdir)s/configure --prefix %(prefix)s %(autogenargs)s">
+    <branch module="freetype/freetype-2.4.6.tar.gz" version="2.4.6"
+            repo="sourceforge">
+    </branch>
+  </autotools>
+
+  <autotools id="fontconfig" autogen-sh="configure"
+	     autogenargs="--disable-docs">
+    <branch repo="fontconfig" version="2.8.0" module="fontconfig-2.8.0.tar.gz"/>
+    <dependencies>
+      <dep package="expat"/>
+      <dep package="freetype"/>
+      <dep package="intltool"/> <!-- this is just so that intltool is actually built-->
+    </dependencies>
+  </autotools>
+
+  <!-- This icon theme may or may not be entirely necessary -->
+  <autotools id="hicolor-icon-theme" autogen-sh="configure">
+    <branch module="hicolor-icon-theme-0.11.tar.gz" repo="icon-theme"
+	    version="0.11" />
+  </autotools>
+
+  <!-- libffi is required for glib -->
+  <autotools id="libffi" autogenargs="--disable-builddir">
+    <branch module="libffi/libffi-3.0.11.tar.gz" repo="sourceware.org"
+            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"
+            hash="sha256:b65ceb462807e4a2f91c95e4293ce6bbefca308cb44a1407bcfdd9e40363ff4d"/>
+    <dependencies>
+      <dep package="libffi"/>
+    </dependencies>
+    <after>
+      <dep package="gtk-doc"/>
+    </after>
+  </autotools>
+
+  <!-- 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"/>
+    <dependencies>
+    </dependencies>
+    <after>
+      <dep package="glib"/>
+      <dep package="gtk-doc"/>
+    </after>
+  </autotools>
+
+  <!-- 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"
+            repo="cairographics"
+            hash="sha1:efaa09789128ebc42d17a11d2e350b7217a7cd05"/>
+    <after>
+      <dep package="gtk-doc"/>
+      <dep package="fontconfig"/>
+      <dep package="libpng"/>
+      <dep package="libjpeg"/>
+      <dep package="libtiff"/>
+    </after>
+  </autotools>
+
+  <!-- This is cairo, now we must modify it to use git -->
+  <autotools id="cairo"  autogen-sh="configure"
+             autogenargs="--enable-pdf --enable-quartz --enable-xlib=no --without-x">
+    <branch module="cairo-1.12.2.tar.xz"  version="1.12.2"
+            repo="cairographics"
+            hash="sha1:bc2ee50690575f16dab33af42a2e6cdc6451e3f9">
+    </branch>
+    <dependencies>
+      <dep package="pixman"/>
+    </dependencies>
+    <after>
+      <dep package="gtk-doc"/>
+      <dep package="fontconfig"/>
+      <dep package="freetype"/>
+    </after>
+  </autotools>
+
+  <!-- Ah pango, the most painful dependency of them all -->
+  <autotools id="pango"  autogen-sh="configure"
+             autogenargs="--without-x --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">
+    <!--<branch version="1.24.5" module="pango/1.24/pango-1.24.5.tar.bz2"
+            hash="sha256:0f733d1ec3e8dafcae152d7ac58f1090bee1fd856176c8fee0e81b0e42392f4e">-->
+    </branch>
+    <dependencies>
+      <dep package="cairo"/>
+      <dep package="fontconfig"/>
+      <dep package="glib"/>
+    </dependencies>
+    <after>
+      <dep package="gtk-doc"/>
+    </after>
+  </autotools>
+
+  <autotools id="gdk-pixbuf">
+    <branch module="gdk-pixbuf/2.26/gdk-pixbuf-2.26.1.tar.xz" version="2.26.1"
+            hash="sha256:a60af12b58d9cc15ba4c680c6730ce5d38e8d664af1d575a379385b94b4ec7ba"/>
+    <dependencies>
+      <dep package="libpng"/>
+      <dep package="libjpeg"/>
+      <dep package="libtiff"/>
+      <dep package="gtk-doc"/>
+    </dependencies>
+    <after>
+      <dep package="pango"/>
+    </after>
+  </autotools>
+
+  <!-- The notorious gtk+. I loathe it so. Almost as much as gtk-doc.-->
+  <!--<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"
+             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>
+      <dep package="glib"/>
+      <dep package="pango"/>
+      <dep package="atk"/>
+      <dep package="gdk-pixbuf"/>
+      <dep package="freetype"/>
+    </dependencies>
+    <after>
+      <dep package="gtk-doc"/>
+      <dep package="libpng"/>
+      <dep package="libjpeg"/>
+      <dep package="libtiff"/>
+    </after>
+  </autotools>
+
+  <!-- Now that all of that is taken care of, we can focus on the gimp libraries -->
+  <autotools id="babl" >
+    <!--<branch repo="ftp.gtk.org" version="0.1.10"
+            module="babl/0.1/babl-0.1.10.tar.bz2"/>-->
+    <branch repo="git.gnome.org" module="babl" revision="master"/>
+    <after>
+      <!-- This is only to keep the proper build order -->
+      <dep package="gtk+"/>
+    </after>
+  </autotools>
+
+  <autotools id="gegl" autogen-sh="autogen.sh" autogenargs="--disable-docs">
+    <!--<branch repo="ftp.gtk.org" version="0.2.0"
+            module="gegl/0.2/gegl-0.2.0.tar.bz2"/>-->
+    <branch repo="git.gnome.org" module="gegl" revision="master"/>
+    <dependencies>
+      <dep package="babl"/>
+    </dependencies>
+  </autotools>
+
+  <autotools id="lcms" autogen-sh="configure">
+    <branch module="lcms/lcms2-2.3.tar.gz" version="2.3" repo="sourceforge"
+            />
+  </autotools>
+
+  <!-- Taken care of in gimp.modules -->
+  <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"
+	     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="lcms"/>
+      <dep package="fontconfig"/>
+      <dep package="gegl"/>
+      <dep package="glib"/>
+      <dep package="gtk+"/>
+    </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"
+            module="tango-icon-theme-0.8.90.tar.gz"/>
+    <dependencies>
+      <dep package="icon-naming-utils"/>
+      <dep package="hicolor-icon-theme"/>
+    </dependencies>
+  </autotools>
+
+  <autotools id="icon-naming-utils" autogen-sh="configure">
+    <branch repo="tango.freedesktop.org"  version="0.8.90"
+            module="icon-naming-utils-0.8.90.tar.gz"/>
+    <after>
+      <dep package="gtk-doc"/>
+    </after>
+  </autotools>
+
+  <metamodule id="meta-gimp">
+    <dependencies>
+      <dep package="libpng"/>
+      <dep package="gtk-doc"/>
+      <dep package="libjpeg"/>
+      <dep package="libtiff"/>
+      <dep package="gimp"/>
+      <dep package="gtk+"/>
+      <dep package="glib"/>
+      <dep package="gegl"/>
+      <dep package="hicolor-icon-theme"/>
+      <dep package="tango-icon-theme"/>
+      <dep package="murrine-engine"/>
+      <dep package="intltool"/>
+    </dependencies>
+  </metamodule>
+
+</moduleset>
diff --git a/build/osx/jhbuildrc-gimp b/build/osx/jhbuildrc-gimp
new file mode 100644
index 0000000..4bfa861
--- /dev/null
+++ b/build/osx/jhbuildrc-gimp
@@ -0,0 +1,41 @@
+# -*- mode: python -*-
+
+import sys
+
+_gsdk = os.environ.get('GIMP_SDK', None)
+
+if not _gsdk:
+    sys.stderr.write("No GIMP_SDK environment given. Please provide 10.x\n")
+    sys.exit(1)
+
+_sdkversion = _gsdk
+_architecture = _default_arch
+
+if _gsdk == '10.4':
+    _sdkversion = "10.4u"
+    os.environ["OBJC"] = "/usr/bin/gcc-4.0"
+    _architecture = "i386"
+    append_autogenargs('--with-libiconv=gnu')
+else:
+    _architecture = "x86_64"
+    append_autogenargs('--with-libiconv=native')
+
+checkoutroot = os.path.expanduser("~/gimp/" + _gsdk + "/source")
+prefix = os.path.expanduser("~/gimp/" + _gsdk + "/inst")
+tarballdir = os.path.expanduser("~/gimp/" + _gsdk + "/pkgs")
+
+# Main setup
+setup_sdk(target=_gsdk, sdk_version=_sdkversion, architectures=[_architecture])
+
+# Set OBJCFLAGS
+_sdkdir = get_sdkdir(make_sdk_name(_sdkversion))
+
+environ_prepend("OBJCFLAGS", "-I" + _sdkdir + "/usr/include")
+environ_append("OBJCFLAGS", "-isysroot " + _sdkdir)
+environ_prepend("OBJCFLAGS", "-arch " + _architecture)
+environ_append("OBJCFLAGS", "-mmacosx-version-min=" + _gsdk)
+
+skip.append("libiconv")
+
+# Main module set
+moduleset = "~/gimp.modules"
diff --git a/build/osx/xcf.icns b/build/osx/xcf.icns
new file mode 100644
index 0000000..881d868
Binary files /dev/null and b/build/osx/xcf.icns differ



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