wiki:WebKitGtkExtendingJHBuild

Extending the WebKitGTK+ JHBuild

If for some reason you would like to have JHBuild build more modules, or simply newer versions of some of them - which is very useful if you are hacking Epiphany, you can extend the moduleset used by our JHBuild setup with a custom moduleset . To do that create your new moduleset file, set a couple environment variables (discussed bellow), and run ./Tools/Scripts/update-webkitgtk-libs to build and install your new modules. The file may look like this:

<?xml version="1.0"?>
<!DOCTYPE moduleset SYSTEM "moduleset.dtd">
<?xml-stylesheet type="text/xsl" href="moduleset.xsl"?>
<moduleset>

  <repository type="git" name="git.gnome.org"
      href="git://git.gnome.org/"/>
  <repository type="tarball" name="ftp.gnome.org"
      href="http://ftp.gnome.org"/>
  <repository type="git" name="entropywave"
      href="git://code.entropywave.com/git/"/>
  <repository type="git" name="gstreamer"
      href="git://anongit.freedesktop.org/git/gstreamer/"/>

  <autotools id="gtk+">
    <dependencies>
      <dep package="glib"/>
      <dep package="cairo"/>
    </dependencies>
    <branch module="/pub/GNOME/sources/gtk+/3.0/gtk+-3.3.10.tar.xz" version="3.3.10"
            repo="ftp.gnome.org"
            hash="sha256:9808d509bfd42fce692b041a60f3fbb668e43324613c304724e7a727bb44a2a0"
            md5sum="5872bacb3778c954d3cc0eaf9cdc53ab"/>
  </autotools>

  <autotools id="glib">
    <dependencies>
      <dep package="libffi"/>
    </dependencies>
    <branch module="/pub/GNOME/sources/glib/2.31/glib-2.31.8.tar.xz" version="2.31.8"
            repo="ftp.gnome.org"
            hash="sha256:1ce3d275189000e1c50e92efcdb6447bc260b1e5c41699b7a1959e3e1928fbaa"
            md5sum="6909664f29fae2f00cc3181c8c6a6aa7"/>
  </autotools>

  <autotools id="libsoup">
    <dependencies>
      <dep package="glib-networking"/>
    </dependencies>
    <branch module="libsoup" version="2.37.5"
            repo="git.gnome.org"
            tag="5eddf1a9d2e041de95012ece3cf97fbc2236306d"/>
  </autotools>

  <autotools id="orc">
    <branch repo="entropywave" module="orc" checkoutdir="orc" />
  </autotools>

  <autotools id="gstreamer">
    <branch repo="gstreamer" module="gstreamer" checkoutdir="gstreamer" />
  </autotools>

  <autotools id="gst-plugins-base" autogenargs="--disable-examples" makeargs="ERROR_CFLAGS=">
    <dependencies>
      <dep package="gstreamer"/>
      <dep package="orc"/>
    </dependencies>
    <branch repo="gstreamer" module="gst-plugins-base" checkoutdir="gst-plugins-base"/>
  </autotools>

  <autotools id="gst-plugins-good" autogenargs="--disable-examples">
    <dependencies>
      <dep package="gstreamer"/>
      <dep package="gst-plugins-base"/>
      <dep package="libsoup"/>
    </dependencies>
    <branch repo="gstreamer" module="gst-plugins-good" checkoutdir="gst-plugins-good"/>
  </autotools>

</moduleset>

To let the WebKit jhbuild environment know about the new files set the WEBKIT_EXTRA_MODULESETS to a file:// URI pointing to your file, like this:

$ export WEBKIT_EXTRA_MODULESETS=file:///home/user/my.modules

If you added new modules, set the WEBKIT_EXTRA_MODULES variable to a comma-separated list with their names. Please note: you have to run ./Tools/Scripts/update-webkitgtk-libs with these environment variables set for the modules to be taken into consideration.

Last modified 4 years ago Last modified on Mar 13, 2013 12:52:06 PM