Commit d64504e7 authored by Michael Schumacher's avatar Michael Schumacher

Applying patch by Quentin Pradet. Fixes bug #691437

parent dc3c093e
<!--#include virtual="/includes/wgo-xhtml-init.xhtml" --> <!--#include virtual="/includes/wgo-xhtml-init.xhtml" -->
<title>GIMP - Building GIMP from Git</title> <title>GIMP - Building GIMP from Git</title>
<!--#include virtual="/includes/wgo-look-feel.xhtml" --> <!--#include virtual="/includes/wgo-look-feel.xhtml" -->
<!--#include virtual="/includes/wgo-page-init.xhtml" --> <!--#include virtual="/includes/wgo-page-init.xhtml" -->
<h1>Best way to keep up with GIMP from git</h1> <h1>Best way to keep up with GIMP from git</h1>
<p>Author: Martin Nordholts</p> <p>Author: Martin Nordholts</p>
<p>The more people that use the latest GIMP code from git the <p>The more people that use the latest GIMP code from git the
better. It keeps the required effort to contribute code upstreams better. It keeps the required effort to contribute code upstreams
small, which in turn increases the likelihood of upstream small, which in turn increases the likelihood of upstream
contributions, and it makes bugs more vulnerable to early discovery contributions, and it makes bugs more vulnerable to early discovery
which minimizes their impact.</p> 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> <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> <ol>
<li>I use autoconf's config.site feature instead of setting up environment variables manually</li> <li>I use autoconf's config.site feature instead of setting up environment variables manually</li>
<li>I install in my home directory</li> <li>I install in my home directory</li>
</ol>
<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>
<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" <pre class="code">
export PKG_CONFIG_PATH="$PREFIX/lib/pkgconfig:$PKG_CONFIG_PATH" export PATH="$PREFIX/bin:$PATH"
export LD_LIBRARY_PATH="$PREFIX/lib:$LD_LIBRARY_PATH" export PKG_CONFIG_PATH="$PREFIX/lib/pkgconfig:$PKG_CONFIG_PATH"
export ACLOCAL_FLAGS="-I $PREFIX/share/aclocal $ACLOCAL_FLAGS" export LD_LIBRARY_PATH="$PREFIX/lib:$LD_LIBRARY_PATH"
</code> export ACLOCAL_FLAGS="-I $PREFIX/share/aclocal $ACLOCAL_FLAGS"
</pre>
<p>Then, assuming you have all the dependencies, you build GIMP the
first time with:</p> <p>Then, assuming you have all the dependencies, you build GIMP the
first time with:</p>
<code>
git clone git://git.gnome.org/gimp <pre class="code">
cd gimp git clone git://git.gnome.org/gimp
./autogen.sh --prefix=$PREFIX cd gimp
make ./autogen.sh --prefix=$PREFIX
make install make
</code> make install
</pre>
<p>and then to get updated with the latest changes from the constantly
moving code base you regularly do</p> <p>and then to get updated with the latest changes from the constantly
moving code base you regularly do</p>
<code>
git pull --rebase <pre class="code">
make git pull --rebase
make install make
</code> make install
</pre>
<p>Note that the latter works without requiring any environment
variables to be set since configure will source config.site. And <p>Note that the latter works without requiring any environment
because autogen.sh passes --enable-maintainer-mode to configure, it variables to be set since configure will source config.site. And
will also work when Makefile.am's or configure.ac are changed. In because autogen.sh passes --enable-maintainer-mode to configure, it
those rare occasions where things break, just run git clean -xdf which will also work when Makefile.am's or configure.ac are changed. In
removes all non-version-controlled files so that you can start over those rare occasions where things break, just run git clean -xdf which
from autogen.sh.</p> 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 <p>The above approach works for as good as all GNOME projects,
GIMP's build requirements of these and other libraries even if your including GLib, babl, GEGL and GTK+. This makes it easy to adapt to
distro doesn't meet them. Let me know if you have problems!</p> 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> <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" --> <!--#include virtual="/includes/wgo-page-fini.xhtml" -->
<!--#include virtual="/includes/wgo-xhtml-fini.xhtml" -->
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment