webkit-gtk, midori и немного красноглазия…

Итак некоторое время назад я познакомился с замечательным браузером midori один из его плюсов в том что он использует порт webkit на Gtk и таким образом он идеально вписывается в gnome. Об остальных плюсах ниже.

Меня долгое время останавливало то что midori казалось каким то недоделанным что ли. Но проблема оказалась вовсе не в нем. Сердце midori это webkit-gtk. Вот с него пожалуй и начну. Самые свежие “ночные” сборки webkit можно взять тут nightly webkit для linux нужно то что после Source ;) либо прямо из svn http://svn.webkit.org/repository/webkit/trunk кому как будет проще.

> cd webkit-gtk/trunk/
> ./autogen.sh

Тут будет много букв а потом

WebKit was configured with the following options:

Build configuration:
Enable debugging (slow)                                  : no
Enable GCC build optimization                            : **yes**
Code coverage support                                    : no
Unicode backend                                          : icu
Font backend                                             : freetype
Optimized memory allocator                               : **yes**
Features:
3D Transforms                                            : no
JIT compilation                                          : no (CPU 'x86_64' not supported)
Dashboard support                                        : **yes**
Geolocation support                                      : no
GNOME Keyring support                                    : no
HTML5 offline web applications support                   : **yes**
HTML5 channel messaging support                          : no
HTML5 client-side session and persistent storage support : **yes**
HTML5 client-side database storage support               : **yes**
HTML5 video element support                              : no
Icon database support                                    : **yes**
SVG support                                              : **yes**
SVG animation support                                    : **yes**
SVG filters support                                      : no
SVG fonts support                                        : **yes**
SVG foreign object support                               : **yes**
SVG as image support                                     : **yes**
SVG use element support                                  : **yes**
WML support                                              : no
Web Workers support                                      : **yes**
XPATH support                                            : **yes**
XSLT support                                             : **yes**
GTK+ configuration:
GDK target                                               : x11
Hildon UI extensions                                     : no

> ./configure && make && su -c 'make install'

Так вот таким же образом собирает webkit-gtk и ebuild. Мне удалось
собрать webkit вот с такими параметрами

WebKit was configured with the following options:

Build configuration:
Enable debugging (slow)                                  : no
Enable GCC build optimization                            : **yes**
Code coverage support                                    : **yes**
Unicode backend                                          : icu
Font backend                                             : freetype
Optimized memory allocator                               : **yes**
Features:
3D Transforms                                            : yes
JIT compilation                                          : no (CPU 'x86_64' not supported)
Dashboard support                                        : **yes**
Geolocation support                                      : **yes**
GNOME Keyring support                                    : **yes**
HTML5 offline web applications support                   : **yes**
HTML5 channel messaging support                          : **yes**
HTML5 client-side session and persistent storage support : **yes**
HTML5 client-side database storage support               : **yes**
HTML5 video element support                              : **yes**
Icon database support                                    : **yes**
SVG support                                              : **yes**
SVG animation support                                    : **yes**
SVG filters support                                      : **yes**
SVG fonts support                                        : **yes**
SVG foreign object support                               : **yes**
SVG as image support                                     : **yes**
SVG use element support                                  : **yes**
WML support                                              : no
Web Workers support                                      : **yes**
XPATH support                                            : **yes**
XSLT support                                             : **yes**
GTK+ configuration:
GDK target                                               : x11
Hildon UI extensions                                     : no

Для Geolocation support нужна библиотека x11-libs/geoclue http://git.or.cz Geoclue is a modular geoinformation service built on top of the D-Bus messaging system.

WML support это собственно dev-lang/wml http://thewml.org/ Website META Language У меня увы не собирается.

Hildon UI extensions нужно для наладонников и мобильных телефонов так что меня не интересовало.

Для этого пришлось немного добавить в ebuild несколько новых опций и теперь я собираю его так

net-libs/webkit-gtk-9999 USE="3D-transforms channel-messaging coverage geolocation gnomekeyring gstreamer -pango soup sqlite svg svg-filters video xslt -debug -wml"

Так вот pango и делает тот страшный красный крестик, который меня смущал ранее, обратите внимание на то чтобы Font backendбылfreetype а иначе увидите вот что

midori acid3 pango

Последние сборки webkit-gtk требуют net-libs/libsoup-2.25.91 Таким образом у меня процесс установки webkit, после размаскирования всех необходимых зависимостей, выглядел следующим образом

> emerge =net-libs/libsoup-2.25.91; emerge x11-libs/geoclue; emerge webkit-gtk;

После того как немного разобрались с webkit-gtk приступим к основному. Исходники Midori можно скачать либо с сайта либо из git

> git clone git://git.xfce.org/kalikiana/midori

Для gentoo все выглядит опять же банально

emerge www-client/midori

Для midori я использую такие флаги www-client/midori-9999 USE=”nls soup sqlite”

Итак после этого если вам повезет то у вас midori даже запустится! Если это так то не время расслабляться. Для начала рекомендую сходить на страницу midori faq там много полезного в частности замечательный wget.sh Остальные детали пытливый ум разглядит сам. Еще немного полезностей есть тут midori user scripts Если кому то все еще покажется этого мало то милости прошу на userscripts и userstyles и настраивайте дальше как хотите.

midori acid2, acid3

Comments