Last summer, at GUADEC here in Birmingham, the cool young dudes first integrated Webkit as an experimental toolkit for the Epiphany web browser. Now they are working to make WebKit as the main backend for Epiphany. It is a very small team indeed, but their aim is to finish the migration by GNOME 2.26 in March 2009; if we are lucky they may have finished by GNOME 2.24 this September. The old branch with the Mozilla gecko back end is very stable and will be released as 2.24 if the Webkit migration is not finished.
This is exciting for a number of reasons, firstly we will have a fast and light, GNOME integrated browser. Secondly, and perhaps more importantly, if Webkit becomes a default GNOME library then the same browser toolkit is available in KDE desktops, GNOME desktops and Apple OS X desktops, allowing a new generation of rich client web mashup applications.
I tried Epiphany with the Webkit backend last year, it was pretty raw then. The centre of the window worked as a web browser, but it ignored the toolbars and buttons at the top of the application. So how is it 10 months later?
Pretty good I say. Of course, it is still early days, and they need a lot of help removing the old unneeded code and binding the interface to Webkit. If you know C and want to get in to an interesting open source project, this might be a good project to join as they are basically restarting a lot of it.
My adventure installing Epiphany
I wish I had a spare Gentoo machine that I could use for this, but they are all busy with important things. On Gentoo they have made ebuilds for it in the overlays that take the latest version down.
So I used a spare Ubuntu machine, I started by getting rid of anything to do with WebKit or epiphany that has been installed via Ubuntu, at time of writing these are all too old.
Then I checked out all the development versions I need:
svn co http://svn.gnome.org/svn/libsoup/trunk libsoup
svn co http://svn.gnome.org/svn/epiphany/trunk epiphany
svn co http://svn.webkit.org/repository/webkit/trunk webkit
The last took a while as it checks out the complete source tree for every platform, I didn't actually need a lot of this, so another time, if time or badwidth is a concern then I might want to try to work out a more specific checkout command.
Then while that is running, I got the other required dependencies.
sudo apt-get install libicu-dev libxslt1-dev libsqlite3-dev libjpeg62-dev \
libpng12-dev gperf bison libcurl4-gnutls-dev flex gtk-doc-tools
Then I went into the libsoup directory and compiled it:
cd libsoup
./autogen.sh
make
sudo make install
Then webkit had finished downloading by the time libsoup is done. So I went into the Webkit directory and tried to compile it with this:
cd ../webkit
./autogen.sh --prefix=/usr/local --enable-svg-experimental --with-font-backend=pango \
--with-http-backend=soup
make
sudo make install
This didn't work, so (after make distclean), I googled and tried the method used by guy called Peter Upfold. This uses QT's qmake to build WebKit-gtk, bit of a contradiction, but it works at least:
export PREFIX=/usr/local
./WebKitTools/Scripts/build-webkit --qmakearg=WEBKIT_INC_DIR=$PREFIX/include/WebKit \
--qmakearg=WEBKIT_LIB_DIR=$PREFIX/lib --gtk --qmake=qmake-qt4
cd WebKitBuild/Release/
sudo make install
Then I waited a while again.
Next update the shared library cache:
sudo ldconfig
Then I did epiphany, this was pretty quick,
cd ../epiphany
./autogen.sh --prefix=/usr/local
make
sudo make install
Then epiphany worked like a charm.
Acid2 Test, no problem:
In the Acid3 Test, Firefox 3 only scored 71. What about Epiphany, well still no problem:
Anyhow, should be interesting what they come up with in the first Epiphany WebKit release.
Please do Digg or StumbleUpon this article,
Discuss this post - Leave a commentMay 18, 2008 09:50 PM :: West Midlands, England 













