QT

Differences between revisions 2 and 3
Revision 2 as of 2008-09-28 18:33:33
Size: 3955
Editor: APuteaux-153-1-41-44
Comment:
Revision 3 as of 2008-09-28 19:22:08
Size: 4170
Editor: APuteaux-153-1-41-44
Comment:
Deletions are marked like this. Additions are marked like this.
Line 17: Line 17:

(Results based on my experiments within a xulrunner-1.9.1-qt.head branch)
Line 125: Line 127:

Problem, we probably don't want another transition for addons and plugins: '''firefox | firefox-3.1 | abrowser-3.1 | firefox-3.1-qt'''

Ideas for the gtk vs qt Mozilla builds

Introduction

In the Shiretoko/3.1/1.9.1 branch, Qt is now an alternative to Gtk2. In Ubuntu, this is interesting for KDE users. To avoid the proliferation of unsupported packages, the Ubuntu Mozillateam should support this.

From upstream's point of view, this is as simple as using --enable-default-toolkit=cairo-qt (we have cairo-gtk2 by default).

  • --enable-default-toolkit=cairo-qt

xulunner-1.9.1

(Results based on my experiments within a xulrunner-1.9.1-qt.head branch)

  • debian/control
    Build-Depends: ..., libqt4-dev
  • cairo:

system cairo (at least up to 1.8.0) could not be used as mozilla needs cairo-qpainter which is for now only in the mozilla branch. This is unfortunate because of the lcd-filter debacle so if we do this, we should consider porting the lcd filter patch to xul.

  • --disable-system-cairo
  • gnome:

we should at least drop gnomevfs and gnomeui from the configure switches, and drop gnomevfs from the extensions list (configure is already doing that at build time).

  • --disable-gnomevfs --disable-gnomeui --enable-extensions=default,...,-gnomevfs
  • build:

a build with the switches mentioned above goes smoothly up to the install step. From debian/xulrunner-1.9.1.install, those files are no longer built:

  • debian/tmp/usr/lib/xulrunner-1.9.1*/components/libimgicon.so
    debian/tmp/usr/lib/xulrunner-1.9.1*/components/libdbusservice.so

Note: dbus is available on kde but the configure test wants dbus + glib, and glib is ignored for non gtk2 builds.

of course, the files in the gnome-support package are missing:

  • debian/tmp/usr/lib/xulrunner-1.9.1*/components/libmozgnome.so
    debian/tmp/usr/lib/xulrunner-1.9.1*/components/libnkgnomevfs.so

The following files are also missing but do not require debian/xulrunner-1.9.1.install to be updated:

  • debian/tmp/usr/lib/xulrunner-1.9.1*/icons/*
    debian/tmp/usr/lib/xulrunner-1.9.1*/chrome/icons/*
    debian/tmp/usr/lib/xulrunner-1.9.1*/components/filepicker.xpt
    debian/tmp/usr/lib/xulrunner-1.9.1*/components/nsFilePicker.js

The following files are new:

  • debian/tmp/usr/lib/xulrunner-1.9.1*/components/gtkqticonsconverter.js
    debian/tmp/usr/lib/xulrunner-1.9.1*/components/gtkqticonsconverter.xpt
  • linker

From all the files in the new tree, only those two are linked against qt libs

  • debian/tmp/usr/lib/xulrunner-1.9.1*/libxul.so
    debian/tmp/usr/lib/xulrunner-1.9.1*/xulrunner-bin

Packaging changes - proposal

  • Build the package twice with an OBJDIR and two different configure preferences.
  • Introduce xulrunner-1.9.1-gtk and xulrunner-1.9.1-qt with
    Package: xulrunner-1.9.1
    Depends: xulrunner-1.9.1-gtk (= ${binary:Version}) | xulrunner-1.9.1-qt (= ${binary:Version}),
             ${shlibs:Depends}, ${misc:Depends}
    
    Package: xulrunner-1.9.1-gtk
    Conflicts: xulrunner-1.9.1-qt
    
    Package: xulrunner-1.9.1-qt
    Conflicts: xulrunner-1.9.1-gtk

and in xulrunner-1.9.1-gtk (from the 1st build):

  • usr/lib/xulrunner-1.9.1*/libxul.so
    usr/lib/xulrunner-1.9.1*/xulrunner-bin
    usr/lib/xulrunner-1.9.1*/components/libimgicon.so
    usr/lib/xulrunner-1.9.1*/components/libdbusservice.so
    usr/lib/xulrunner-1.9.1*/icons/*
    usr/lib/xulrunner-1.9.1*/chrome/icons/*
    usr/lib/xulrunner-1.9.1*/components/filepicker.xpt
    usr/lib/xulrunner-1.9.1*/components/nsFilePicker.js

and in xulrunner-1.9.1-qt (from the 2nd build):

  • usr/lib/xulrunner-1.9.1*/libxul.so
    usr/lib/xulrunner-1.9.1*/xulrunner-bin
    usr/lib/xulrunner-1.9.1*/components/gtkqticonsconverter.js
    usr/lib/xulrunner-1.9.1*/components/gtkqticonsconverter.xpt

or, we could assume that gtk users are also gnome users and reuse xulrunner-1.9.1-gnome-support.

firefox-3.1

it seems we need 2 source packages as we want different build-deps. This is unfortunate. Ideas??

Problem, we probably don't want another transition for addons and plugins: firefox | firefox-3.1 | abrowser-3.1 | firefox-3.1-qt

MozillaTeam/QT (last edited 2008-09-29 01:14:56 by APuteaux-153-1-41-44)