[gimp-web] A guide on how to build GIMP from Git



commit b51b1d3abb89224af672f6c3d5bf430b740b7ebf
Author: Michael Schumacher <schumaml gmx de>
Date:   Wed Dec 29 19:41:31 2010 +0100

    A guide on how to build GIMP from Git
    
    This is Martin Nordholts' blog entry:
    http://www.chromecode.com/2009/12/best-way-to-keep-up-with-gimp-from-git_26.html
    
    Converted 1:1 into a page for www.gimp.org, to supersede all existing guides.

 source/howtos/gimp-git-build.htrw |   68 +++++++++++++++++++++++++++++++++++++
 1 files changed, 68 insertions(+), 0 deletions(-)
---
diff --git a/source/howtos/gimp-git-build.htrw b/source/howtos/gimp-git-build.htrw
new file mode 100644
index 0000000..afae5f5
--- /dev/null
+++ b/source/howtos/gimp-git-build.htrw
@@ -0,0 +1,68 @@
+<!--#include virtual="/includes/wgo-xhtml-init.xhtml" -->
+<title>GIMP - Building GIMP from Git</title>
+<!--#include virtual="/includes/wgo-look-feel.xhtml" -->
+<!--#include virtual="/includes/wgo-page-init.xhtml" -->
+
+<h1>Best way to keep up with GIMP from git</h1>
+
+<p>Author: Martin Nordholts</p>
+
+<p>The more people that use the latest GIMP code from git the
+better. It keeps the required effort to contribute code upstreams
+small, which in turn increases the likelihood of upstream
+contributions, and it makes bugs more vulnerable to early discovery
+which minimizes their impact.</p> 
+
+<p>However, keeping up with GIMP from git means extra work compared to using prebuilt packages. Unless you know of an easy way you might not withstand it. What follows is a description of how I do it, which is almost effortless once setup. I assume you know how to install necessary dependencies (note you can use the method I describe for the key dependencies, including babl, GLib, GEGL and GTK+), what "the install prefix" means, and that you run Linux. The approach I use differs in two principal way compared to the many guides found on the net:</p>
+
+<ol>
+   <li>I use autoconf's config.site feature instead of setting up environment variables manually</li>
+   <li>I install in my home directory</li>
+
+<p>Making use of config.site nullifies the need to manually manage environment variables, and installing in the home directory makes it easy to tinker with an installation since you don't need to be root. So, put this in $PREFIX/share/config.site where $PREFIX is in your home directory such as PREFIX=/home/martin/gimp-git, either manually or using this script:</p>
+
+<code>
+export PATH="$PREFIX/bin:$PATH"
+export PKG_CONFIG_PATH="$PREFIX/lib/pkgconfig:$PKG_CONFIG_PATH"
+export LD_LIBRARY_PATH="$PREFIX/lib:$LD_LIBRARY_PATH"
+export ACLOCAL_FLAGS="-I $PREFIX/share/aclocal $ACLOCAL_FLAGS"
+</code>
+
+<p>Then, assuming you have all the dependencies, you build GIMP the
+first time with:</p> 
+
+<code>
+git clone git://git.gnome.org/gimp
+cd gimp
+./autogen.sh --prefix=$PREFIX
+make
+make install
+</code>
+
+<p>and then to get updated with the latest changes from the constantly
+moving code base you regularly do</p> 
+
+<code>
+git pull --rebase
+make
+make install
+</code>
+
+<p>Note that the latter works without requiring any environment
+variables to be set since configure will source config.site. And
+because autogen.sh passes --enable-maintainer-mode to configure, it
+will also work when Makefile.am's or configure.ac are changed. In
+those rare occasions where things break, just run git clean -xdf which
+removes all non-version-controlled files so that you can start over
+from autogen.sh.</p>
+
+<p>The above approach works for as good as all GNOME projects,
+including GLib, babl, GEGL and GTK+. This makes it easy to adapt to
+GIMP's build requirements of these and other libraries even if your
+distro doesn't meet them. Let me know if you have problems!</p> 
+
+<p>Originally published at:<br/>
+<a href="http://www.chromecode.com/2009/12/best-way-to-keep-up-with-gimp-from-git_26.html";>http://www.chromecode.com/2009/12/best-way-to-keep-up-with-gimp-from-git_26.html</a></p>
+ 
+<!--#include virtual="/includes/wgo-page-fini.xhtml" -->
+<!--#include virtual="/includes/wgo-xhtml-fini.xhtml" -->



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