Add jhbuild module files and sample config
authorHolger Berndt <hb@claws-mail.org>
Thu, 4 Apr 2013 19:36:53 +0000 (21:36 +0200)
committerHolger Berndt <hb@claws-mail.org>
Sat, 6 Apr 2013 18:04:34 +0000 (20:04 +0200)
tools/jhbuild/README [new file with mode: 0644]
tools/jhbuild/claws-mail.modules [new file with mode: 0644]
tools/jhbuild/sample.jhbuildrc-claws-mail [new file with mode: 0644]

diff --git a/tools/jhbuild/README b/tools/jhbuild/README
new file mode 100644 (file)
index 0000000..b93bcc1
--- /dev/null
@@ -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
new file mode 100644 (file)
index 0000000..53151ce
--- /dev/null
@@ -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
new file mode 100644 (file)
index 0000000..c8adb47
--- /dev/null
@@ -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"} }