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

Leave a Reply