Great potential for EFL based browsers
Last week we say yet another release in the WebKit series. After GTK and Qt it was now time for the enlightenment foundation libraries to have its own version of WebKit, WebKit/EFL. The original announcement made by Antonio, including some videos of it running on a n810, can be found here. WebKit/EFL is currently in heavy development and is not yet upstreamed. It does however follow WebKit trunk as much as possible, maybe lagging a week or two behind at times.
With the development of the EFL backend we also say the development of Eve, an EWL based frontend for it. Currently Eve has only basic functionality, so no bookmarks, history management or whatsoever. It does however feature amazing speeds. I haven’t clocked any times but I certainly get the impression it does start even faster than a basic terminal! Also the appearing/disappearing scroll-bars are quite nice, especially on small screens so you don’t lose space.
It will be great to see where this is going once Eve is getting more mature and feature complete, and WebKit/EFL is getting upstreamed. For now there is not much more to do than compile it ourselves. PKGBUILD files for the two needed packages are included below. Grab a drink or two when you compile webkit-efl-git, it may take a while.
webkit-efl-git: PKGBUILD
pkgname=webkit-efl-git
pkgver=20090623
pkgrel=1
pkgdesc="An opensource web content engine"
arch=('i686' 'x86_64')
url="git://gitorious.org/webkit-efl"
license=('custom')
depends=('libxt' 'libxslt' 'curl' 'sqlite3' 'icu>=4.0' 'edje-svn')
makedepends=('git' 'gperf')
provides=('webkitgtk-svn' 'libwebkit')
conflicts=('libwebkit')
options=('!libtool')
_gitroot=" git://gitorious.org/webkit-efl/webkit-efl.git"
_gitname="webkit"
build() {
cd "$srcdir"
if [ -d $_gitname ]; then
msg "Updating from git ..."
cd $_gitname
git fetch origin
git merge origin/master
else
msg "Cloning git Tree ..."
git clone $_gitroot $_gitname
fi
msg "House keeping ..."
rm -rf "$srcdir/$_gitname-build"
cp -r "$srcdir/$_gitname" "$srcdir/$_gitname-build"
cd "$srcdir/$_gitname-build/"
msg "Starting build ..."
./autogen.sh --prefix=/usr \
--with-port=efl --disable-video \
--with-font-backend=freetype \
--enable-jit --enable-glib-support
make || return 1
make DESTDIR=${pkgdir} install
# install license
install -Dm644 ${srcdir}/webkit-build/WebKit/LICENSE \
${pkgdir}/usr/share/licenses/$pkgname/LICENSE
}
eve-svn: PKGBULD
pkgname=eve-svn
pkgver=41151
pkgrel=1
pkgdesc="EFL webkit browser"
arch=('i686' 'x86_64')
groups=('e17-extra-svn')
url="http://www.enlightenment.org"
license=('BSD')
depends=('webkit-efl-git' 'ewl-svn' 'libexif')
makedepends=('subversion')
conflicts=('eve')
provides=('eve')
options=('!libtool')
source=('eve.desktop')
_svntrunk="http://svn.enlightenment.org/svn/e/trunk/PROTO/eve"
_svnmod="eve"
build() {
cd ${srcdir}
msg "Connecting to $_svntrunk SVN server...."
if [ -d ${_svnmod}/.svn ]; then
(cd ${_svnmod} && svn up -r ${pkgver})
else
svn co ${_svntrunk} --config-dir ./ -r ${pkgver} ${_svnmod}
fi
msg "SVN checkout done or server timeout"
msg "Starting make..."
cp -r ${_svnmod} ${_svnmod}-build
cd ${_svnmod}-build
./autogen.sh --prefix=/usr
make || return 1
make DESTDIR=${pkgdir} install || return 1
# install license files
install -Dm644 $srcdir/$_svnmod-build/COPYING \
${pkgdir}/usr/share/licenses/${pkgname}/COPYING
# install desktop file / icon
install -Dm644 ${srcdir}/eve.desktop \
${pkgdir}/usr/share/applications/eve.desktop
install -Dm644 data/theme/default/logo.png \
${pkgdir}/usr/share/icons/eve.png
rm -r ${srcdir}/${_svnmod}-build
}
eve-svn: eve.desktop
[Desktop Entry] Version=1.0 Encoding=UTF-8 Type=Application Name=EVE Web Browser GenericName=Web Browser Comment=Lightweight EFL web browser Categories=Network; MimeType=text/html;text/xml;application/xhtml+xml;application/xml Exec=eve %u Icon=eve.png Terminal=false StartupNotify=true
