epiphanyKiBi’s bloghttp://mraw.org/blog/tags/epiphany/KiBi’s blogikiwiki2013-12-17T02:11:28ZCan I has a wokking copy?http://mraw.org/blog/2007/10/11/Can_I_has_a_wokking_copy/2013-12-17T02:11:28Z2007-10-10T22:00:00Z
<p><img src="http://mraw.org/blog/2007/10/11/wokking-copy.png" alt="wokking-copy.png" /></p>
<p>Getting back to a working copy of <a href="http://webkit.org/">WebKit</a>:</p>
<pre><code>$ svn up
svn: REPORT request failed on '/repository/webkit/!svn/vcc/default'
svn: REPORT of '/repository/webkit/!svn/vcc/default':…
…413 Request Entity Too Large (http://svn.webkit.org)
</code></pre>
<p>Combine svn and
<a href="http://webkit.org/building/checkout.html">http transport</a>…
And the approximate size of a working copy is around 800MB…</p>
<p>Oh. Now. <a href="http://git.debian.org/">http://git.debian.org/</a> has
<a href="http://git.debian.org/?p=pkg-webkit/upstream.git">pkg-webkit/upstream.git</a>
and
<a href="http://git.debian.org/?p=pkg-webkit/webkit.git">pkg-webkit/webkit.git</a>
(Debian packaging).</p>
<p>Considering the first one, the history from June 2007 until takes
120MB (<code>du -sh .git</code>). There are two branches: <code>filtered</code> (180MB,
<code>.git</code> included), and <code>svn</code> (460MB, <code>.git</code> included).</p>
<p>Also, checking <a href="http://packages.debian.org/ccache">ccache</a> is installed and ready to be used
(<em>e.g.</em> by prepending <code>$PATH</code> by <code>/usr/lib/ccache</code>) is always a good
idea. Using <a href="http://packages.debian.org/colormake">colormake</a> might also be interesting (once
installed, set <code>$MAKE</code> to <code>colormake</code>, done).</p>
<p>So: <em>Can I has a wokking copy?</em></p>
<p>Sure:</p>
<pre><code># Fetch
$ git-clone git://git.debian.org/git/pkg-webkit/upstream.git
$ cd upstream
# Check local branches
$ git-branch
* filtered
# Check all branches
$ git-branch -a
* filtered
origin/HEAD
origin/filtered
origin/svn
# Work on the full sources, and make sure
$ git-checkout -b svn origin/svn
$ git-branch
filtered
* svn
# Set the build environment, and build
$ ./WebKitTools/Scripts/set-webkit-configuration --release
$ ./WebKitTools/Scripts/build-webkit --gtk
# In case the build is interrupted, “make” from there
$ cd WebKitBuild/Release
$ sudo make install
</code></pre>
Epiphany hotkeys extensionhttp://mraw.org/blog/2007/09/03/Epiphany_hotkeys_extension/2013-12-17T02:11:28Z2007-09-02T22:00:00Z
<p>After some efforts related on the
<a href="http://mraw.org/projects/epiphany-accessibility">epiphany-accessibility</a> page, a
quite usable version came out, <code>0.7</code>.</p>
<h2>Debian side</h2>
<p>Debian users may want to do the following, which will clone the
<code>master</code> branch, which contains the hotkeys extension, on top of the
current <code>epiphany-extensions</code> package at the time this project was
started (<code>2.18.1-2</code>), build the package (with an unmodified version
number, which one might want to change), and install the newly created
package (it is assumed one has basic knowledge of how debian package
building works).</p>
<h3>Initial <code>git-clone</code>, and compilation</h3>
<pre><code>git-clone git://git.debian.org/git/users/kibi-guest/epiphany-extensions.git
cd epiphany-extensions
DEB_BUILD_OPTIONS=nostrip debuild -us -uc -b -nc # Some Build-Depends may
# need to be installed.
sudo debi # Installs the generated binary package
pkill epiphany && epiphany # Then Tools>Extensions, and activate Hotkeys
</code></pre>
<h3>Further updates</h3>
<pre><code>git-pull
DEB_BUILD_OPTIONS=nostrip debuild -us -uc -b -nc
sudo debi
pkill epiphany && epiphany
</code></pre>
<h2>Usage</h2>
<ul>
<li>restart epiphany</li>
<li>enable the extension</li>
<li>read the documentation (Help > Extensions)</li>
<li>adjust the custom stylesheet</li>
<li>hit <code>h</code>, enjoy</li>
<li>report bugs!</li>
</ul>
<h2>Upstream side</h2>
<p>So as to ease the merge into upstream, I had a look at using <code>git-svn</code>
but unfortunately, it is not meant to be then cloned (so as to have a
repository available online for anyone, cloned from the development
boxen), at least without
<a href="http://utsl.gen.nz/talks/git-svn/intro.html#howto-track-rebuildmeta">cheating</a>.</p>
<p>That's why the following has been chosen: <code>master</code> keeps on having the
initial tree and the initial commits. <code>upstream</code> is an equivalent of
an SVN working copy. <code>upstream-hotkeys</code> contains the <code>upstream</code> branch
augmented with the hotkeys extension.</p>
<p>At the time of this writing, bugfixes and new feature additions will
probably happen in <code>master</code> and then get pulled in the
<code>upstream-hotkeys</code> branch.</p>
<p>Next step: get epiphany 2.19 built and test the <code>upstream-hotkeys</code>
branch by building against it.</p>
<p>A
<a href="http://blog.mraw.org/projects/epiphany-accessibility/upstream-hotkeys-icons.diff">patch against current upstream SVN</a>
(<code>r1569</code>) is available, it is sufficient to do the following to
enable the hotkeys:</p>
<pre><code>wget http://blog.mraw.org/projects/epiphany-accessibility/upstream-hotkeys-icons.diff
svn co svn://svn.gnome.org/svn/epiphany-extensions/trunk hotkeys-test
cd hotkeys-test
patch -p1 < ../upstream-hotkeys-icons.diff
./autogen.sh --with-extensions=default,hotkeys
make
sudo make install
</code></pre>
Browsing documentation the gnome wayhttp://mraw.org/blog/2007/08/12/Browsing_documentation_the_gnome_way/2013-12-17T02:11:28Z2007-08-11T22:00:00Z
<p>When reading the <a href="http://www.gnome.org/projects/epiphany/documentation/extensions/">Writing Epiphany
Extensions</a>
documentation, I followed the link to <a href="http://packages.debian.org/devhelp">devhelp</a>, which is a
documentation browser, primarily designed for browsing GNOME API, but
not limited to that.</p>
<p>After having installed <a href="http://packages.debian.org/libgtk2%2E0%2Ddoc">libgtk2.0-doc</a> and <a href="http://packages.debian.org/libglib2%2E0%2Ddoc">libglib2.0-doc</a>, it looks like I'm ready to have a look at actually
writing an extension.</p>