Le retour d’un serpent de mer : QT avec Mozilla ;)

Sous linux et autres unix, Firefox utilise le toolkit GTK. Or à une époque reculée, un port pour QT pour la suite Mozilla avait été commencé, puis abandonné. cf le bogue 178987.

Or, en lisant OSNews, j’ai pu lire que le port était de nouveau en vie. Le wiki de Mozilla propose des infos pour compiler cette version. Cependant, j’ai préféré prendre une version déjà précompilée, en l’utilisant sous une Fedora 10 alpha 32 bits avec KDE 4.1. Gain de temps ? Une bonne heure 🙂

La version proposée semble être basée sur du code compilé le 4 août 2008.

Voici donc le résultat avec Acid3 et Google :

Acid3 sous Shiretoko en version QT

Google sous Shiretoko en version QT
Pour la petite histoire, peu après la libération du code source de mozilla fin mars 1998, le premier port fut effectué sous QT par Trolltech.

http://trolltech.com/company/newsroom/announcements/00000007

Le bogue qui permet de suivre l’évolution du port est le 448989. Donc si vous êtes intéressé par l’intégration de QT, c’est le bogue à suivre.

Vladimir Vukićević explique le pourquoi du comment de ce port.

Bref, c’est une bonne nouvelle pour les utilisateurs de KDE 4.x qui auront désormais un look natif pour les widgets, du moins quand Shiretoko sortira 🙂

Des nouvelles de Shiretoko pré-alpha2 ?

Après la sortie la semaine dernière de Shiretoko Alpha1 – et alors que le tronc est étiquetté 3.1a2pre, donc ce qui laisse supposer la sortie d’une version alpha 2, on peut faire un petit bilan rapide de ce qui attend la prochaine étape de développement, même si l’ajout des fonctionnalités est loin d’être terminé.

Un meilleur score encore au test acid3 : 85 / 100. Sûrement grace au bogue 199959

acid 3 : 85 / 100 avec Shiretoko pré-alpha2

2) Un support préliminaire croissant des balises <video> et <audio> au moins pour un premier temps pour la version linux du navigateur.

Cf l’ajout des bibliothèques ogg et theora, le bogue concerné étant 422538 – . Le support de l’ajout des balises <video> et <audio> étant le bogue 382267.

Cet ajout de fonctionnalités nécessite l’ajout de la bibliothèque libasound2-dev (libalsa) sous les distributions à la débian.

La « tuyauterie » en version gstreamer : bogue 422540 ; en version quicktime (MacOS-X) : et pour MS-Windows : 435339

Pour des exemples de vidéo utilisant l’élément HTML5 <video> : http://www.double.co.nz/video_test/

Balise <video> en action dans Shiretoko pré-alpha2

Vers un coeur commun entre Shiretoko, Shredder et SeaMonkey 2 ?

C’est une idée envisageable, étant donné que le dépot du code source de Shredder et de SeaMonkey pré-2.0 viennent de migrer, abandonnant le vieux dépot CVS vers un dépot mercurial.

Si l’on veut compiler soit-même le code source dit du « tronc » des logiciels de la Fondation Mozilla, que ce soit Shiretoko, Shredder ou SeaMonkey pré-2.0, il faut maintenant passer par des dépots mercurial.

Si le développement de Shiretoko est maintenant bien ancré sur un dépot mercurial, à savoir mozilla-central, c’est loin d’être le cas pour Shredder et SeaMonkey pré-2.0. Voici donc comment compiler Shredder ou SeaMonkey en utilisant le dépôt mercurial comm-central.

Déjà, il faut avoir autoconf 2.13 et mercurial pré-installé. Pour cela, il faut se conférer à la documentation de votre distribution pour savoir comment faire.

Ensuite, il faut récupérer le code source commun à Shredder et SeaMonkey pré-2.0 :

hg clone http://hg.mozilla.org/comm-central/ src

Une fois le code récupéré, il faut récupérer le complément à savoir le code en commun avec Shiretoko :

python client.py checkout

Pour cette partie, l’outil CVS configuré correctement est indispensable. En clair, il faut que la variable CVSROOT soit définie ainsi :

export CVSROOT= »:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot »

Vient le moment stratégique, préparer le .mozconfig pour les options de compilation. Il faut ajouter les deux lignes suivantes :

ac_add_options --enable-application=mail
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-tb

Et virer un . $topsrcdir/mail/config/mozconfig qui aurait pu s’y trouver si on récupère un vieux fichier .mozconfig

Voici pour information mon .mozconfig pour Shredder :

#
# See http://www.mozilla.org/build/ for build instructions.
#

ac_add_options –enable-application=mail
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-tb

# Options for ‘configure’ (same as command-line options).
ac_add_options –enable-optimize= »-Os -march=native -w -pipe »
ac_add_options –disable-debug
ac_add_options –disable-tests
ac_add_options –enable-default-toolkit=cairo-gtk2
ac_add_options –enable-static
ac_add_options –disable-shared

Ensuite, il suffit de lancer la compilation et d’attendre.

Et voici ce que donne une boite « about » d’un Shredder compilé avec le code source du dépôt mercurial comm-central.

Shredder pré-alpha2 ?

Les pages qui m’ont aidé pour rédiger cet article :

http://wiki.mozilla.org/SeaMonkey:hg-based_build
http://developer.mozilla.org/en/docs/Mozilla_Source_Code_(Mercurial)
http://developer.mozilla.org/en/docs/Comm-central_source_code_(Mercurial)
http://developer.mozilla.org/en/docs/comm-central

Quoi de neuf avec Shiretoko Alpha 1 ?

Si on en croit ce bilan hebdomadaire de la Fondation Mozilla reproduit sur le blog « Firefox Extension Guru’s Blog« , Shiretoko alpha 1 devrait sortir le 25 juillet prochain, le code ayant été gelé à 23 h 59, heure du Pacifique, soit Paris – 9 heures.

Qu’y aura-t-il dedans, sauf changement de dernière minute ?

84 / 100 pour le test Acid3 sous Shiretoko alpha1

Bref, que du bon, et encore du meilleur à venir. Enfin, on verra bien ce que cela donnera lors de la sortie de la version finale, prévue pour fin 2008, début 2009.

Firefox se « bling-bling »iserait-il ?

On peut le penser, surtout avec l’arrivée d’un correctif pour le bogue 395980, qui introduit via le raccourci touche control + tabulation l’aperçu des onglets sans avoir besoin de changer de page.

Ce correctif ne concerne que la version de développement de Firefox 3.1, alias Shiretoko qui est prévu pour fin 2008, début 2009.

Une petite vidéo faite sur mon PC il y a quelques minutes explique mieux le principe.

Utile ? Peut-être pas outre mesure au premier abord. Bling bling ? Sûrement 😉