Compilare e installare Epiphany con backend WebKit, o quasi

Non so se la lettura del post “Ti saluto con l’altra mano¹” vi ha incuriositi come me, che non vedevo l’ora di poter provare a compilare la nuova bestiola. Oggi l’ho fatto, anche se purtroppo non tutto funziona sempre alla perfezione:


Believe it or not, I’m walking on air! Oggi sarò il vostro “supermaxieroe”

Infatti il backend WebKit compila e si installa senza alcun problema, anche se la procedura non è per niente standard e anzi un po’ astrusa (utilizza qmake). Il problema è proprio Epiphany da svn, che dipende dalle GTK+ >= 2.11.6 e non mi va proprio di aggiornare le GTK per così poco. Certo che se avete Gutsy… ;)

Attenzione: questo post è catalogato come “Avanzati, per Guru!“. Si suggeriscono procedure che potrebbero sputtanare la vostra distribuzione, quindi non avventuratevi se non sapete cosa state facendo! Avvisati ;)

WebKit – il backend (e la demo)

Ok vi consiglio di cominciare subito a scaricare vostra copia di WebKit, perché il download è lunghetto :)

$: svn co http://svn.webkit.org/repository/webkit/trunk WebKit

Questo vi creerà la directory WebKit con Michelle Hunzicker dentro¹ e vi permetterà di cominciare a sferragliare sul “backend”, ossia il motore di resa html, che però contiene anche due mini browser dimostrativi, uno scritto in Qt e l’altro GTK+:

pollycoke-webkit-gdklauncher.jpg
Il browser dimostrativo di WebKit, in GTK+ (notare le due vecchie schermate del post “scegliamo la grafica del nuovo sito?“)

Ok, per cominciare a compilare dovrete soddisfare ogni sorta di strana dipendenza, e dovrete farlo prima di cominciare, o altrimenti sarete costretti a cancellare tutto, riscaricare e riprovare. Ora vi indico un po’ di dipendenze che dovrete soddisfare, nel frattempo vi do un consiglio extra: createvi un archivio con la directory WebKit (qualcosa tipo `tar czf webkit-backup.tar.gz WebKit`. Ecco come soddisfare le dipendenze più “evidenti”:

$: sudo apt-get install gperf libiconv-hook-dev libqt4-dev libicu-dev libxslt-dev libcurl3-dev libsqlite3-dev libjpeg62-dev libpng12-dev bison flex

Ho abbondato ma va bene, probabilmente alcune di queste le avete già, dipende da quanto spesso compiliate con la vostra box… e se non lo fate spesso vi consiglierei di lasciare perdere proprio questa compilazione :)

Una volta soddisfatte le dipendenze potrete cominciare a fare la magia, spostandovi nella directory contenente Michelle e i sorci, e cominciando a compilare:

$: cd WebKit/WebKitTools/Scripts/
$: QTDIR=/usr/share/qt4 ./build-webkit --qmakearg=WEBKIT_INC_DIR=$PREFIX/include/WebKit --qmakearg=WEBKIT_LIB_DIR=$PREFIX/lib --gdk

Questo processo prenderà un bel po’ di tempo, che voi potreste ad esempio impiegare con il famoso giochino “Leggi un post di pollycoke a caso”, che ne so.

Dopo aver atteso tutto il tempo necessario alla compilazione, vi verrà sputato un messaggio di successo, che vi inciterà a lanciare il browser dimostrativo. Per adesso ignorate il messaggio e installate WebKit sul vostro HD. Sappiate che questa procedura è comodamente reversibile, anche se non esattamente “pulita”.

$: cd  ../../WebKitBuild/Release
$: sudo make install

Così facendo avrete installato quasi tutto: infatti manca all’appello la copiatura del file pkg-config, che per un piccolo bug (noto) non viene installato. Potete ovviare con questo semplice comando:

$: sudo cp lib/pkgconfig/WebKitGdk.pc /usr/share/pkgconfig

Ok, è tutto per l’installazione di WebKit, adesso vediamo di lanciare il browser dimostrativo:

$: cd  WebKitTools/GdkLauncher
$: ./GdkLauncher

Giocherellateci un po’ e scoprite con tutta calma che è solo una demo, non un browser inteso per essere usato tutti i giorni. E nemmeno a giorni alterni.

Epiphany – il browser

Una volta sistemato il backend dovremmo recuperare il mio browser preferito, e farglielo utilizzare. Dopo tanto parlare, dopo vari confronti con sviluppatori GNOME e dopo qualche polemicuccia (che non manca mai) ho avuto la conferma che la mia speranza di avere un Epiphany basato su WebKit anziché Gecko non era per niente peregrina.

NB: se non avete Ubuntu Gutsy (o equivalente, o insomma GTK+ >= 2.11.6) potete lasciare perdere in partenza! Io stesso – dopo qualche tentativo disonesto – mi sono dovuto fermare.

Ecco dunque come installare Epiphany/WebKit, ammesso che abbiate Gutsy. Come prima cosa bisogna recuperare il codice:

$: svn co http://svn.gnome.org/svn/epiphany/trunk/ Epiphany-WebKit

Questo creerà la directory Epiphany-WebKit con dentro il frutto dell’amore. Dovremmo modificare un po’ i sorgenti per far convivere Epiphany con WebKit, e per fare ciò bisogna recuperare la patch dal bug 459333² e applicarla, con questi così:

$: cd Epiphany-WebKit
$: cat percorso/della/patch.diff | patch -p1

Dopo aver fatto questo Epiphany è pronto ad essere compilato con il supporto a WebKit, così:

$:  ./configure --prefix=$HOME/Epiphany-WebKit --with-engine=webkit
$: make

Il prefix ovviamente sceglietelo in base alle vostre esigenze. Io purtroppo mi sono dovuto fermare qui, visto che non ho alcuna installazione di Gutsy per portare avanti la compilazione e anche prendendo in giro “configure” mi viene sputato fuori un errore che proprio non si può.

Se qualcuno avesse Gutsy e vuole provare è pregato di confermare che tutto funziona anche dopo questo passo, così bilancio la leggera frustrazione per non aver potuto farlo io. Dai, chiunque abbia Gutsy oggi può essere un vero supereroe! :D

Risorse


[¹] Ma purtroppo non funziona sempre
[²] Sappiate che la patch è in continua evoluzione, non la linko direttamente per questo

14 pensieri su “Compilare e installare Epiphany con backend WebKit, o quasi

  1. Felipe, questo è un colpo basso: mi hai fatto venire i lucciconi agli occhi con quel video!

    Ora sono su gutsy, ma credo che aspetterò un po’ prima di imbarcarmi in questa avventura.

  2. Felì mi sta venendo voglia di aggiornare a Gutsy solo per questa chiccha! *_* C’è qualcuno che già lo usa? E’ usabile? :\

  3. Io l’ho compilato su Gentoo seguendo queste istruzioni, ma è ancora completamente inusabile, funziona meglio il GdkLauncher integrato in WebKit :D
    Ecco due screenshot

  4. Secondo me è questione di “gusti”: a me WebKit non esalta particolarmente… ad esempio, lo screenshot di Epiphany nell’altro post mi ha lasciato impallidire. *MA*, se i benefici sono effettivamente una maggior integrazione e una sorta di “standard”… beh… avrei preferito una scelta diversa, sebbene – effettivamente! – quel poco che ho potuto saggiare di Granparadiso (e del nuovo Gecko) mi lasciano alquanto perplesso… ma va bene così!

    Uhmmm… no, non sono così convinto… :'(

    —–

    @stambec92: Dunno if it’s better: e.g., I don’t like *IT* much… I prefer Gecko and XUL against WebKit/KHTML. But it’s just IMHO. If Safari (I tried it on Windows, so it’s just a beta release… I know…) is the main example of a WebKit implementation… WTH… it sucks lots of RAM more than Gecko and it’s slower! And about KHTML (now abandoned for a new “unified” WebKit)… you know, I’ve never used Konqueror, nor under KDE… xD But it’s just *MY* opinion, and I’m not a “guru”… :)

    —–

    Ovviamente, la parte in inglese “integra” quella in italiano (quindi nel caso…), ma mi sembrava giusto rispondere in inglese a un commento in inglese… ^,^

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...