commit 4f1b728770f4356230445fafb28ef9dd35232519
parent 679dd60ea63ffca15052d8175779d8cc4c87402c
Author: Holger Berndt <hb@claws-mail.org>
Date: Thu, 4 Apr 2013 21:36:53 +0200
Add jhbuild module files and sample config
Diffstat:
3 files changed, 126 insertions(+), 0 deletions(-)
diff --git a/tools/jhbuild/README b/tools/jhbuild/README
@@ -0,0 +1,17 @@
+Building Claws Mail with JHBuild
+--------------------------------
+
+Claws Mail can be built with JHBuild. This way, it's easy to do
+sandboxed builds, for example in order to try out different versions
+of low-level dependencies like gtk+ or glib without messing up a production
+system. It's also useful to build older dependencies that are otherwise hard
+to get on a more recent distribution.
+
+In order to use JHBuild for building Claws Mail, first, JHBuild itself
+must be built and installed, see
+https://developer.gnome.org/jhbuild/stable/getting-started.html
+
+JHBuild needs a configuration file, either as ~/.jhbuildrc or given with the
+parameter -f on the command line. You can use the file
+sample.jhbuildrc-claws-mail as a starting point, but you'll have to modify
+it to suit your local environment.
diff --git a/tools/jhbuild/claws-mail.modules b/tools/jhbuild/claws-mail.modules
@@ -0,0 +1,64 @@
+<?xml version="1.0"?>
+<!DOCTYPE moduleset SYSTEM "moduleset.dtd">
+<?xml-stylesheet type="text/xsl" href="moduleset.xsl"?>
+<moduleset>
+
+ <repository type="git" name="git.claws-mail.org" href="git://git.claws-mail.org/" default="yes"/>
+ <repository type="git" name="git.gnome.org" href="git://git.gnome.org/"/>
+
+ <autotools id="claws-mail">
+ <branch module="claws"/>
+ <dependencies>
+ <dep package="gtk+"/>
+ </dependencies>
+ <suggests>
+ <dep package="libchamplain"/>
+ <dep package="libgdata"/>
+ </suggests>
+ </autotools>
+
+ <!-- Dependencies -->
+
+ <autotools id="gtk+">
+ <branch repo="git.gnome.org" revision="gtk-2-24"/>
+ <dependencies>
+ <dep package="glib"/>
+ </dependencies>
+ </autotools>
+
+ <autotools id="glib">
+ <branch repo="git.gnome.org"/>
+ </autotools>
+
+ <autotools id="libgdata">
+ <pkg-config>libgdata.pc</pkg-config>
+ <branch repo="git.gnome.org"/>
+ <dependencies>
+ <dep package="glib"/>
+ <dep package="liboauth"/>
+ </dependencies>
+ </autotools>
+
+ <tarball id="liboauth" version="0.9.4">
+ <pkg-config>oauth.pc</pkg-config>
+ <source href="http://downloads.sourceforge.net/liboauth/liboauth-0.9.4.tar.gz" hash="sha256:77e372359caca5375fbcc63ac638f349e6c93c98d291992d8ebb9bb8291ca549"
+ md5sum="973ded7a1af348c5bfe4e3b6b7e47bd3"
+ size="459597"/>
+ </tarball>
+
+ <tarball id="libchamplain" version="0.8.3" makeargs="LDFLAGS='-lgthread-2.0'">
+ <source href="ftp://ftp.gnome.org/pub/GNOME/sources/libchamplain/0.8/libchamplain-0.8.3.tar.gz"
+ hash="sha256:e4d7e89195ac91e1e348187be1718dbb7569d1d40fde007cd276256f92e53710"
+ size="863691"/>
+ <dependencies>
+ <dep package="clutter-gtk"/>
+ </dependencies>
+ </tarball>
+
+ <tarball id="clutter-gtk" version="0.10.8" makeargs="LDFLAGS='-lm -lgthread-2.0'">
+ <source href="ftp://ftp.gnome.org/pub/GNOME/sources/clutter-gtk/0.10/clutter-gtk-0.10.8.tar.gz"
+ hash="sha256:8ef57c1a0c6227704e89350805d10caaa9cc3f1bea6263211b05acd473fdfdc4"
+ size="391461"/>
+ </tarball>
+
+</moduleset>
diff --git a/tools/jhbuild/sample.jhbuildrc-claws-mail b/tools/jhbuild/sample.jhbuildrc-claws-mail
@@ -0,0 +1,45 @@
+# -*- mode: python -*-
+#
+# Sample jhbuildrc configuration file for building Claws Mail and
+# some of its dependencies.
+
+# Select module set to use
+moduleset = os.path.expanduser('~/src/claws-mail/claws/tools/jhbuild/claws-mail.modules')
+
+# repo login in case of write access
+#repos["git.claws-mail.org"] = 'ssh://git.claws-mail.org/home/git/'
+
+# default modules
+modules = ['claws-mail']
+
+# what directory should the source be checked out to?
+checkoutroot = os.path.expanduser('~/src/claws-mail')
+
+# the prefix to configure/install modules to (must have write access)
+prefix = '/opt/claws-mail'
+
+# make arguments (e.g. concurrent build)
+#makeargs = '-j4'
+
+# environment vars (e.g. CFLAGS)
+#os.environ['CFLAGS'] = '-g -O0'
+
+# module-specific autofoo args
+#module_autogenargs['claws-mail'] = autogenargs + "--disable-manual"
+
+# path for building (if None, build in-tree)
+#buildroot = None
+
+# skip building of dependant modules (system-installed ones will be used)
+skip = [
+ "glib"
+ , "gtk+"
+ , "libgdata"
+ , "libchamplain"
+ ]
+
+# speficif branches/tags of modules that should be built
+#branches['libgdata'] = (None, 'LIBGDATA_0_10_1')
+
+# module specific extra environment variables
+#module_extra_env = { "clutter-gtk" : {"LDFLAGS" : "-lm -lgthread-2.0"} }